Classic consensus algorithm design
Content
In the industry, there are two classifications for abnormal nodes
A faulty, unresponsive node becomes a non-Byzantine error
Nodes that respond maliciously are called non-Byzantine errors
Paxos's earliest consensus algorithm, non-Byzantine algorithm representative
Paxos has three roles:
• Proposer: propose a proposal and wait for everyone’s approval to conclude the case. The client assumes this role;
• acceptor: responsible for voting on proposals. Often the server assumes this role;
• learner: To be informed of the outcome of the case, and to agree with it, and does not participate in the voting process. Ordinary node
The operation of the system is driven by the proposer, and a consensus is reached when the legal proposal receives more than 1/2 of the votes within a certain period of time.
Therefore, it can be concluded that a consensus cannot be reached:
Proposer failure
More than half of the acceptor failure
Byzantine problem and BFT (Byzantine Fault Tolerant) algorithm