Hyperledger consensus protocol

2

1

I'm soo deep inside the consensus protocols like PoW, PoS, PoA or other variants used on permissioned/private blockchains such as JPMorgan's Quorum (Based on Raft), Istambul etc..

But I've not entered yet on the Hyperledger consensus protocols and it's implementations specifications and differences.

So my questions are:

  • What is the consensus protocol used on Hyperledger? It's inherited from any of the mentioned above? Which are it's main properties that make the difference from another consensus protocols?
  • Which are the main differences between it's variants (Fabric, Iroha, Sawtooth, and Indy)?

Please, it'll be fantastic if useful documentation links/articles/lectures were added with the answers.

Thanks.

CPereez19

Posted 2018-05-26T20:25:43.277

Reputation: 121

Answers

2

First, lets get the terminology straight. Hyperledger is composed of 5 different blockchain technologies, each with it's own consensus algorithm.

Here are two supported by Hyperledger Sawtooth blockchains:

  • PoET Proof of Elapsed Time (optional Nakamoto-style consensus algorithm used for Sawtooth). PoET with SGX has BFT. PoET Simulator has CFT. Not CPU-intensive as with PoW-style algorithms, although it still can fork and have stale blocks . See PoET specification at https://sawtooth.hyperledger.org/docs/core/releases/latest/architecture/poet.html
  • RAFT Consensus algorithm that elects a leader for a term of arbitrary time. Leader replaced if it times-out. Raft is faster than PoET, but is not BFT (Raft is CFT). Also Raft does not fork. Hyperledger Sawtooth has the advantage of having Unpluggable Consensus. An algorithm can be changed without reinitializing the blockchain or even restarting the software.

Here are some other consensus algorithms:

  • PoW Proof of Work. Completing work (CPU-intensive Nakamoto-style consensus algorithm). Usually used in permissionless blockchains
  • PoS Proof of Stake. Nakamoto-style consensus algorithm based on the most wealth or age (stake)
  • PBFT Practical Byzantine Fault Tolerance. A "classical" consensus algorithm that uses a state machine. Uses leader and block election. PBFT is a three-phase, network-intensive algorithm (n^2 messages), so is not scalable to large networks

Dan Anderson

Posted 2018-05-26T20:25:43.277

Reputation: 259

why would the same umbrella project have 5 different blockchains under it?morpheus 2019-03-16T03:57:23.540

Because Hyperledger is not a blockchain standard. One solution does not fit all use cases. If one solution is imposed, who is to choose? Having multiple blockchains allows a diverse environment where the best blockchain technologies may succeed.Dan Anderson 2019-03-18T18:13:06.760

is there a table somewhere comparing the 5 blockchains under hyperledger?morpheus 2019-03-18T18:20:42.260

in https://softwareengineering.stackexchange.com/questions/388638/hyperledger-fabric-does-it-really-come-with-consensus i argue that hyperledger fabric doesn't really come with any consensus

morpheus 2019-03-18T23:53:37.000