Hyperledger Sawtooth comes of age
Leading open source blockchain network now supports a wide range of consensus algorithms
TL;DR Here we dispel once and for all the misapprehension that Hyperledger Sawtooth somehow depends on Intel SGX supported hardware.
Introducing Hyperledger Sawtooth
Hyperledger Sawtooth is one of the leading open source frameworks for developing blockchain, or distributed ledger, applications and networks.
Originally contributed to the Hyperledger community by Intel in 2016, Sawtooth graduated in early 2018 and now powers some of the highest profile blockchain projects. Projects such as Salesforce Blockchain, a low-code development platform integrated into the Salesforce CRM, announced in May, as well as active projects at Cargill, Target and the Tel Aviv Stock Exchange, among others.
Initially Sawtooth only supported PoET which in turn leveraged Intel SGX. As Dan Middleton explained in his excellent piece Meet Sawtooth Lake,
PoET employs a form of random leader election, wherein each validator node waits a random amount of time before trying to claim a block. In other random leader election algorithms like Proof of Work, that randomness is enforced by searching for partial hash collisions. PoET replaces that work with trusted computing.
However, with the advent of its pluggable consensus mechanism Sawtooth now offers a wide range of alternative consensus algorithms that don’t depend on Intel SGX supported hardware.
One of Hyperledger Sawtooth’s strongest features is its genuinely pluggable consensus mechanism. This means that you can now chose from a range of consensus algorithms one that is appropriate for your use case or even implement your own.
At the time of writing, Practical Byzantine Fault Tolerance (PBFT), Raft and Crash Fault Tolerant PoET (PoET-CFT), which simulates the SGX enclave without requiring dedicated hardware, are available with other consensus implementations in the pipeline.
Practical Byzantine Fault Tolerance, PBFT is a non-forking, leader-based consensus mechanism with an established history of testing within the open source community. As the name clearly suggests, it features Byzantine fault tolerance not just crash fault tolerance. PBFT has capacity for a high transaction throughput and tolerates up to f = (n-1)/3 byzantine failures while still maintaining standard network performance.
Raft is an asymmetric replicated log-system model of consensus which is failed for its high throughput and low latency. Raft is only crash fault tolerant and has similar performance characteristics to PBFT, which makes it particularly useful for use-cases with no concern for bad actors on the network.
As mentioned above, the PoET consensus algorithm uses a random leader election model based on randomly allocated times to each node. Validator nodes request their wait time from an enclave but, instead of using SGX hardware, this enclave (Trusted Execution Environment) is a simulation. PoET-CFT is crash fault tolerant but not tolerant of Byzantine faults.
Sawtooth comes of age
Intel, like a parent, must be delighted to see Sawtooth grow from strength to strength but, open source projects, like children, must be allowed to develop independently. Its modular architecture and its pluggable consensus mechanism makes Sawtooth a highly adaptable blockchain protocol. The open source community continues to improve on existing and develop new consensus mechanisms to ensure that Sawtooth is performant across every use case.