Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Hyperledger Sawtooth 1.1 Adds New Consensus Algorithms and WebAssembly Smart Contracts

Hyperledger Sawtooth 1.1 Adds New Consensus Algorithms and WebAssembly Smart Contracts

Leia em Português

This item in japanese

After the initial GA release back in February, the Hyperledger project has just released version 1.1 of Sawtooth, which mostly focuses on making it simpler to add new consensus algorithms and brings WebAssembly smart contracts.

As a result of rearchitecting its consensus engine API, consensus protocols are now implemented as "consensus engines", which improves their modularity. This required creating a new implementation of the Proof of Elapsed Time (PoET) consensus algorithm, which is one of Sawtooth main tenets and strives to achieve minimal resource consumption.

PoET is a form of Nakamoto-style consensus, where a leader is elected through some form of lottery to choose a block to be added to a chain of previously committed blocks. While in Bitcoin the lottery is won by the first participant to solve a cryptographic puzzle, PoET leverages Intel Software Guard Extensions (SGX), which are becoming widely available in consumer and enterprise processors. SGX allow applications to create a trusted-code enclave. In short, each participant in PoET requests a wait time from the enclave and claims its role as a leader at the end of the wait. The first participant to claim its leader role wins.

Along with PoET, Sawtooth 1.1 also includes two other consensus protocols, albeit neither are considered stable yet: the classical Raft and Practical Byzantine Fault Tolerance (PBFT).

Another significant new feature in Sawtooth 1.1 is Sabre, a smart contract engine that enables WebAssembly smart-contract. This will make it possible for developers to choose any language that compiles to WebAssembly, including Rust, C++, Java, Go, Elixir, and others, and use it to create a smart contract that can be executed in Sawtooth 1.1. Sabre is still at version 0.1 and under active development.

Still active is the effort to port Sawtooth to Rust from its initial Python implementation. Actually, 40% of the Sawtooth validator components have already been ported based on the identification of bottlenecks that cannot be easily removed in Python.

Sawtooth 1.1 includes more changes and improvements, as well as fixes. Do not miss the release notes to get the full detail.

Hyperledger Sawtooth is a modular blockchain framework that aims to balance versatility and scalability. It supports both permissioned and permissionless models of deployment. Besides using a novel consensus algorithm (PoET), it includes many new capabilities specifically aimed to enterprise systems, including on-chain governance, which makes it possible to change the blockchain configuration; an advanced transaction execution engine enabling parallel transaction processing; and dynamic consensus algorithm selection.

Hyperledger was launched by the The Linux Foundation open blockchain consortium in 2016 after Intel, where it originated as a research project, contributed it to the Foundation.

You can get Sawtooth 1.1 from its GitHub repository.

Rate this Article