SAWTOOTH

Project:

Hyperledger Sawtooth

2022 Q4 Hyperledger Sawtooth





2022 Q3 Hyperledger Sawtooth

In the last quarter focus has been on the Artifact APIs in the Sawtooth Library, contributions to Sawtooth's underlying dependencies (Transact, Augrim), and extending the Go SDK to include support for consensus engines.

2022 Q2 Hyperledger Sawtooth

The following work is currently in progress:

  • Create a new consensus library that will be used by the Sawtooth validator
  • Improve Sabre performance by implementing state caching in Transact for large pieces of state, such as smart contracts.
  • Sawtooth 2 component designs
  • Migrate to Github Issues, away from JIRA.
  • Rewriting the Sawtooth CLI in Rust (paused)

2022 Q1 Hyperledger Sawtooth

Link to Q4 Report

Sawtooth Updates:

  • Stabilized SQLite and PostgresSQL support for the ReceiptStore in sawtooth-lib
  • Removed smart permission and Pike from Sabre. Pike has been moved to Grid and had a major update, and Smart Permissions are currently not used anywhere but did rely heavily on Pike.
  • Community bug fixes

Link to Q3 Quarterly report


Link to Q2 Quarterly report

Badge level for project 954 is passing

April 22

January 26

Link to Q1 Quarterly report


Quarterly Report 2020 Q4 Hyperledger Sawtooth

Project

Status
CII Badge

DescriptionDistributed ledger with Multi-Language Support


Originally contributed by Intel, Sawtooth is a blockchain suite designed for versatility and scalability. Distributed Ledger Technology has potential in many fields with use cases from IoT to Financials. This architecture recognizes the diversity of requirements across that spectrum. Sawtooth supports both permissioned and permissionless deployments. It includes a novel consensus algorithm, Proof of Elapsed Time (PoET). PoET targets large distributed validator populations with minimal resource consumption. Transaction business logic is decoupled from the consensus layer into Transaction Families that allow for restricted or unfettered semantics.

Key Characteristics

  • Pluggable consensus algorithms (Change consensus on the fly by transaction)

  • Includes Proof of Elapsed Time (PoET) consensus

  • Write smart contracts in almost any language

  • Ethereum contract support via Hyperledger Burrow integration

  • Supply Chain example out of the box

  • Parallel transaction execution for added throughput

Documentation

Project Management

Repositories

Communication

Mailing List

Chat (for questions and ephemeral discussions)

Meeting

Discussions are conducted on the mailing list to allow for worldwide participation.

In addition, sprint planning and tech forum meetings happen on a bi-weekly basis. More information can be found on the community calendar. The sprint planning and tech forum meetings are held on Zoom. Recordings of previous meetings can be found on a shared Google Drive folder.

Process Notes

  • Release Notes: Release notes will be provided for release 1.0 and thereafter.

  • The project will follow the Hyperledger security bug process and identify any security vulnerabilities fixed in the release.

    • Security bugs: Security bugs can be reported to security@hyperledger.org.

    • The Sawtooth project will follow the HyperLedger security process and will respond within 14 days.

  • Static analysis: The Sawtooth project will follow the Hyperledger security process and address bugs found by static analysis in a timely manner.

  • Dynamic analysis: The Sawtooth project will perform dynamic analysis prior to major releases will follow the Hyperledger security process and address bugs found by static analysis in a timely manner.

History

Releases

  • Sawtooth Library v0.4.0 -  8/4/2020
  • Sawtooth Library v0.5.0 -  8/13/2020
  • Sawtooth Library v0.6.0 -  9/17/2020
  • Sawtooth Library v0.6.1 -  9/24/2020
  • Sawtooth Library v0.6.2 -  9/29/2020
  • Sawtooth Library v0.6.3 -  10/05/2020
  • Sawtooth Rust SDK v0.4.5 - 8/4/2020
  • Sawtooth Rust SDK v0.5.0 - 9/3/2020
  • Sawtooth Sabre v0.6.0 - 9/8/2020
  • Sawtooth PBFT v1.03 - 8/5/2020
  • Sawtooth Devmode v1.2.4 - 8/4/2020

Maintainers are distributed across Bitwise IO, Cargill, Intel, and Walmart Labs.

The  competencies  below serve as a reference for training partners wishing to align materials and candidates preparing to take the Certified Hyperledger Sawtooth Administrator (CHSA) exam.


Install – 10%

  • Install Sawtooth packages
  • Start component services
  • Generate keys
  • Register validator
  • Configure peering
  • Verify install and fix if necessary
  • Connect transaction processor to validator
  • Create genesis block
  • Verify system meets hardware requirements

Configuration – 25%

  • Configure validator peering and network
  • Configure consensus
  • Configure logging
  • Configure REST API
  • Configure layer 3 network ports/firewall
  • Configure metrics
  • Configure transaction processor endpoint
  • Configure systemd services
  • Choose parallel / sync scheduler
  • Configure storage paths
  • Configure Sawtooth CLI

Permissioning, Identity Management, and Security – 20%

  • Identify network ID / system / peer ID
  • Permission a transaction processor
  • Policy management
  • Validator registration
  • System permissions
  • Configure validator local policy file
  • Validator key permissioning
  • Role management: transactor roles
  • Role management: network roles
  • Configure transactor permissions
  • Secure connections between components
  • Use a proxy server to authorize the REST API
  • Securing connecting between validators
  • Manage validator keys and secrets

Lifecycle – 25%

  • Create new network
  • Joining an existing network
  • Remove validator node from the network
  • Rejoin network after network failure
  • Restart validator after crash or maintenance
  • Restart components after crash or maintenance
  • Add new transaction processor
  • Changing consensus mode
  • Change network configuration
  • Update Sawtooth software
  • Update transaction processor version

Troubleshooting – 20%

  • Troubleshoot network communication
  • Troubleshoot REST API
  • Troubleshoot consensus
  • Troubleshoot transaction processor
  • Identify and resolve chain fork
  • Fix validator
  • Enable Sawtooth monitoring
  • Monitor network topology
  • Troubleshoot deployment
  • Troubleshoot resource constraints