Hyperledger Fabric And Hyperledger Sawtooth both are Distributed Ledger Technology (DLT) solutions, both backed by bigger technology players, like Hyperledger Fabric is under Linux Foundations and Hyperledger Sawtooth is under Intel. Even though both are drilling down the same path, there are some major differences that put these two far apart from each other.
Let’s clear the fog and point out the major differences between these two DLT frameworks:-
Nature Of Blockchain Network:
Hyperledger Fabric is more focused on fine grained governance over participation in the network by MemberShip Provider (MSP) services, an MSP identifies which Certificate Authorities are trusted to define a member of an organization, which means to be a part of the network one must have to come from a trusted CA and so the Fabric Network are permissioned network and have no support for a permissionless network. Whereas, the Hyperledger Sawtooth provide a DLT network which can be either be Permissioned or permissionless. Sawtooth defines roles and permissions for achieving much more flexible approach than Hyperledger Fabric and the authentication is handled by the combination of large number of validators in the network and a novel consensus algorithm PoET (Proof of Elapsed Time).
This Distinction among these give rise to number of other differences:
- Hyperledger Fabric supports Kafka based consensus, whereas, Hyperledger Sawtooth supports PoET consensus algorithm.
- While Hyperledger Fabric if more and more restricted in nature for participation, the Hyperledger Sawtooth is more flexible in this concern as it can be made open to join, blockchain network supported by Sawtooth can grow very large.
- Hyperledger Fabric have unique concept of channels which provide fine grained privacy controls over transactions, which best suits a B2B scenarios as well as many other scenarios where its application can be found.
- Using MSP and Different CA, Fabric has a better and tighter governance framework.
- Hyperledger supports chaincodes those can be written in either go, java and JS (soon) as well but they more or less behave like a asset based smart contracts. Whereas Sawtooth have transaction families that can be written in various languages whichever suits the developer and using them the smart contracts can be simulated in that languages, however sawtooth itself provides some out of the box transaction families it opens up window for developing many more.
- Sawtooth also have support for Ethereum Solidity based smart contracts with its Seth Framework which is not supported by Fabric at all.
- Sawtooth supports transaction batches which means all the transaction in a batch completes togather or none at all, where as in fabric transactions are processed in batches of kafka blocks, means that either no. of transactions message will be packed in a kafka block limiting either by max message count or the block cut time of kafka brokers and then all of the transactions in that block will be sent to the committing peers to be committed in a ledger.
These are some major key differences between Sawtooth and Fabric, Thanks for reading.