Delegated Byzantine Fault Tolerance
Delegated Byzantine fault tolerance (dBFT) is a consensus mechanism for distributed ledgers. It is used primarily by NEO.[1][2]
Overview
The delegated Byzantine fault tolerance model uses nodes that serve one of two roles in the network.
Ordinary Nodes ("Citizens"): Nodes whose computing power is used to transfer and exchange data. Users of these nodes can cast votes for "Delegates," regardless of how many digital tokens they hold.
Bookkeeping Nodes ("Delegates"): Nodes used to validate transactions made on its network's blockchain. In order to be eligible to be elected a "Delegate," the node must have a reliable Internet connection, at least 1,000 of the pertinent digital tokens, and "special equipment."
(NOTE: the nature of the "special equipment" mentioned above is left ambiguous in NEO's published explanation of the model, as well as other sources unafilliated with NEO. It may refer to specialized mining machines, such as ASICs.)[3][4]
Consensus
In order to validate transactions, or add anything to a blockchain, a "Delegate" is chosen at random to serve as the "Speaker" for a particular transaction. The "Speaker" creates its own version of a block, or cluster of data, then proposes its addition to the blockchain to the rest of the "Delegates." As long as 67 percent of "Delegates" approve, the block is successfully added to the publicly-viewable blockchain, and the information it contains becomes immutably recorded.[5][6]
The Byzantine Generals Problem
The "Byzantine Generals Problem" is an abstract problem in computer network maintenance. It refers to errors in a computer network that can arise due to individual nodes failing.
The concept is represented by a hypothetical scenario: a Byzantine army has encircled Rome, intending to attack and sack the city. The success or failure of this attack rests on the performance of nine generals who control the army by working in unison, attacking and retreating as a team. If a single general fails to act in a coordinated manner with the rest of the generals due to treachery or incompetence, the attack falls apart and the Byzantine army ultimately fails.
Delegated Byzantine Fault Tolerance attempts to solve this problem using the process explained above, which NEO calls "proxy voting."[7][8]
References
- ↑ What is Delegated Byzantine Fault Tolerance?. Nulltx.
- ↑ Delegated Byzantine Fault Tolerance Consensus Mechanism. Medium.
- ↑ A Byzantine Fault Tolerance Algorithm for Blockchain. Neo.
- ↑ Delegated Byzantine Fault Tolerance Consensus Mechanism. Medium.
- ↑ A Byzantine Fault Tolerance Algorithm for Blockchain. Neo.
- ↑ Delegated Byzantine Fault Tolerance Consensus Mechanism. Medium.
- ↑ The Byzantine Generals Problem. SRI International.
- ↑ NEO White Paper. NEO.