Hyperledger sawtooth or Fabric?

Dushan Devinda
Chain Analytica
Published in
3 min readApr 1, 2020

With the rise of blockchain technology and commercial adoption of blockchain, open-source frameworks started to develop under the Hyperledger ecosystem. Under the umbrella project of open-source blockchain, there are several frameworks build by the community to leverage blockchain for business. Sawtooth and fabric also include in that list of frameworks.

Source: Linux foundation

One of the main similarities between these two frameworks is that both of these support smart contracts. Apart from that, there are several differences between these two frameworks.

Consensus Algorithm

One of the main differences that anyone can notice is the consensus algorithm used in both frameworks. Sawtooth uses Proof of elapsed time(PoET) and the consensus algorithm while fabric allows users to choose the consensus algorithm. But mainly Fabric uses Kafka consensus algorithm.

Mode of Operation

source:https://hackernoon.com/

Hyperledger fabric support only permissioned network while hyperledger sawtooth support permissioned network and permissionless network. In permissioned network owner of the network decides the participants who can verify the blocks of the network while in a permissionless network, anyone can join and verify the blocks. Sawtooth is more suited to operate in a permissioned context.

Execution of transaction

Execution of parallel transaction is another main area that Sawtooth differ from Fabric. Sawtooth allows transactions to execute parallelly. But Fabric allows only serial transactions. With this difference, Sawtooth stands above the Fabric. Because parallel transaction execution saves up a lot of time. In reality, serial transactions enhance the workload of the chain and it takes up much of power as well.

Byzantine Fault Tolerance Support

Byzantine Fault Tolerance Support is also another main difference between Sawtooth and Fabric. Even though Fabric supports many consensus algorithms, every consensus algorithms operating in the Fabric isn’t competent in supplying a Byzantine Fault Tolerance support and it only supports Crash Fault Tolerance only. But Sawtooth’s consensus algorithm PoET is a Byzantine Fault Tolerance supported algorithm. That means Sawtooth comes with Byzantine Fault Tolerance support.

Smart contract support

source: blockchainhub.net

Under the list of blockchain frameworks, Sawtooth and Fabric both supports smart contract technology. A smart contract is a form of business logic. Fabric supports chain codes while Sawtooth use transaction families (sawtooth supports Ethereum solidity-based smart contracts.). Chaincodes can be written in Java, JS, and Go languages and Sawtooth supports a set of programming languages like Rust, Go, Python or JavaScript. When using Sawtooth the developer can choose the language that he/she is comfortable with which provide more flexibility for the developer.

Transaction processor

When it comes to transaction processing, Fabric uses endorsing peers and ordering services as the transaction process while Sawtooth use validators to validate the transaction and process the transactions.

--

--