SAWTOOTH
Project:
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.
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)
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
April 22
January 26
Link to Q1 Quarterly report
Quarterly Report 2020 Q4 Hyperledger Sawtooth
Project: Hyperledger Sawtooth | Presentations | Webinar | Manual | Whitepaper |
---|---|---|---|---|
RESOURCES | Hyperledger Sawtooth v1.0: Market Significance and Technical Overview |
Project | |
Status | |
CII Badge | |
Description | Distributed 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)
- #sawtooth-consensus-dev
- #sawtooth-core-dev
- #sawtooth-governance
- #sawtooth-infra
- #sawtooth-next-dev
- #sawtooth-next-directory
- #sawtooth-next-pr-review
- #sawtooth-next-scrum
- #sawtooth-outreach
- #sawtooth-pr-review
- #sawtooth-release
- #sawtooth-sabre
- #sawtooth-sdk-dev
- #sawtooth-seth
- #sawtooth-supply-chain
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
Proposed by Mic Bowman, Intel Corporation (mic.bowman@intel.com) and Richard Gendal Brown, R3cev
Approved by the TSC on April 14, 2016
Moved out of Incubation on May 18, 2017
TSC Updates
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