Hyperledger Sawtooth 1.2

Hyperledger Sawtooth 1.2 (Chime) is now available. See the latest documentation to get started.

This page describes the new and changed features in Hyperledger Sawtooth 1.2 (since release 1.1).

New Features

  • Support for Sawtooth PBFT consensus engine version 1.0.
    • Sawtooth PBFT is the recommended consensus mechanism. It is designed to handle small to medium network sizes with finality and byzantine fault tolerance.
    • Sawtooth PoET is designed for larger networks at the expense of slower / probabilistic finality.
    • Sawtooth Raft is designed for small to medium networks but performs more slowly than Sawtooth PBFT and lacks byzantine fault tolerance.
  • Mobile SDKs for iOS (Swift) and Android (as part of the Java SDK).
  • Support for raw transaction headers, as specified in Sawtooth RFC #23. This feature is backward compatible via the use of a protocol version indicator.
  • All core transaction families are compatible with Sawtooth Sabre release 0.4.

Non-breaking changes

  • PoET has the following patches:
    • Resolve a security defect where a correctly admitted validator could game its wait times. Thanks to Huibo Wang, Guoxing Chen, Yinqian Zhang, and Zhiqiang Lin for analyzing the poet implementation and identifying the defect.
    • Support the updated attestation service API
  • A new BlockManager has been implemented, as specified in Sawtooth RFC #5. This new feature improves block management and helps remove a known race condition that can cause network nodes to fork.
  • Several core transaction families have been rewritten in Rust: Settings, Identity, and BlockInfo.
  • All SDKs are in separate repositories for improved build time and release scheduling. The following SDKs were moved to their own repositories in this release:
  • The Devmode consensus engine has been moved to a separate repository: hyperledger/sawtooth-devmode.
  • Consensus support has been modified to improve compatibility with PBFT consensus.
  • Cache performance has been improved for settings and identity state.
  • Duplicate signature validations have been eliminated.
  • Duplicate batches are now removed from the pending queue and candidate blocks
  • Transaction processors now receive a registration ACK before receiving transaction process requests.
  • Long-lived futures are expired when awaiting network message replies.
  • Logs now have fewer duplicate log messages.

Documentation changes