Distributed Consensus

Good Reference

Lamport describe the byzantine general problem in a paper published in 1982 on https://web.archive.org/web/20180629131206/https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals-Problem.pdf

Lamport is one of the father of consensus mechanism for decentralized computing. All his publication are on: http://lamport.azurewebsites.net/pubs/pubs.html#weak-byz

If > 2/3 of the generals are loyal, there is a message algorithm solving the problem and guaranteeing that non corrupted generals can take a common decision , even if distributed. Say othewise one corrupted general can confound 2 non corrupted general

History of article on Algorithm/Research paper to find algorithm solving the Byzantine General Problem

IBFT

Good explanation article:

IBFT has been inspired by the first article of Liskov on PBFT in 1999 http://pmg.csail.mit.edu/papers/osdi99.pdf

Ethereum/CLick PoA: https://github.com/ethereum/EIPs/issues/225

Ethereum/IBFT: https://github.com/ethereum/EIPs/issues/650 (it has been inspired by Liskov and Click Consensus + This work is also inspired by Hyperledger's SBFT, Tendermint, HydraChain, and NCCU BFT.)

Good article from Consensys on IBFT 2.0: https://www.researchgate.net/publication/335990137_IBFT_20_A_Safe_and_Live_Variation_of_the_IBFT_Blockchain_Consensus_Protocol_for_Eventually_Synchronous_Networks#pf1e

  • BFT => identifies a class of blockchain consensus protocols that ensure blockchain consistency despite some of the nodes, referred to as Byzantine, being malicious and acting arbitrarily.

  • PoA => Another way to classify consensus protocols by the technique used to prevent an attacker from conducting a Sybil attack which consists in one node being able to gain power in the system by creating multiples pseudonymous identities

To prevent Sybil attacks you have different technics:

  • Proof of Work

  • Proof of Stake

  • PoA -> we prevent sybil attack by authorizing only authorized node to propose new blocks

So on consorsium network , we have setup the network on PoA mode for the validator node -> but it stays IBFT Robust, meaning that if a node is corrupted, IBFT 2.0 will assure network is not finished.

IBFT is a type of POA, If PoA is a color, IBFT is green, RAFT is blue, And Lamport is Picasso

Sybil attack

Last updated