Classic consensus algorithm design

in #classic4 years ago

Content

In the industry, there are two classifications for abnormal nodes

  1. A faulty, unresponsive node becomes a non-Byzantine error

  2. 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:

  1. Proposer failure

  2. More than half of the acceptor failure

Byzantine problem and BFT (Byzantine Fault Tolerant) algorithm