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
Reaching Agreement in the presence of fault (1980, Lamport) : https://lamport.azurewebsites.net/pubs/reaching.pdf
The byzantine Generals Strick again (1981, Dolev): http://infolab.stanford.edu/pub/cstr/reports/cs/tr/81/846/CS-TR-81-846.pdf
Weak byzantine General (1982, Lamport) : http://lamport.azurewebsites.net/pubs/trans.pdf -> too limited and replaced by the bizantine general problem
The bizantine General Problem (1982, Lamport): https://web.archive.org/web/20180629131206/https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals-Problem.pdf
The Weak Byzantine Generals Problem (1983, Lamport): http://lamport.azurewebsites.net/pubs/weak-byz.pdf
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