Besides the well-known Proof-of-Work (PoW) and Proof-of-Stake (PoS) consensus algorithms, there are other ways to power blockchains. Delegated Byzantine Fault Tolerance (dBFT) is an algorithm used to achieve consensus that confuses many blockchain and cryptocurrency adopters.
It’s a complicated concept that not everyone understands like PoW or PoS. However, despite being so confusing, one of the largest cryptocurrency exchanges, Binance, decided to use this consensus mechanism for its chain.
This is because Delegated Byzantine Fault Tolerance can counter unreliable or untrustworthy participants on the blockchain more effectively than other algorithms.
What Delegated Byzantine Fault Tolerance is all about
The Delegated Byzantine Fault Tolerance consensus was introduced by NEO, often called the “Ethereum of China”. This Chinese blockchain plans to achieve the “smart economy” by digitising assets and providing smart contracts on the blockchain.
This means that the holder of a NEO token can support a specific ‘bookkeeper’ through a vote. The selected group of bookkeepers then use the Byzantine Fault Tolerance mechanism to reach a consensus and generate more blocks.
One of the strongest points of using the dBFT mechanism consists of absolute finality. After final confirmation, a block can’t be bifurcated, so the transaction can’t be revoked or rolled back. This is a two-sided weapon, however.
The finality is somehow guaranteed by the fact that NEO is not a wholly decentralised network. Despite NEO’s efforts to take this direction, there’s currently just seven nodes and a few delegates operating on the blockchain. The majority of these are connected to the NEO council.
How the dBFT mechanism works
At first glance, the dBFT consensus mechanism is similar to Delegated Proof-of-Stake. Using a voting process, NEO token holders have the right to vote for delegates. This is regardless of the amount of currency in their possession.
Anyone can become a delegate, as long as he or she meets the requirements. This means a reliable internet connection, the right equipment, a validated identity, and 1,000 GAS. GAS is the reward users receive for their activity on the network. From the delegates, a speaker is chosen randomly.
The speaker builds a new block from the transactions that waits to be validated. Then, the speaker sends the proposal to the elected delegates. They are expected to keep track of all the transactions and record them on the network.
The delegates are free to share and compare the proposal they’ve received to test data accuracy, as well as the honesty of the speaker. The block is added to the blockchain if more than two-thirds of the delegates reach a consensus and validate it.
Voting in the NEO network is a process that occurs in real time.
How dBFT counters dishonesty
As all delegates can verify the block proposal, it’s easy to understand whether the data sent by the speaker is valid or invalid. So, if the speaker is dishonest and sends invalid proposals to two-thirds of the delegates, the blocks won’t match, and node owners won’t validate it. The consensus is reached with two-thirds of the votes, and a new speaker is selected.
If one of the nodes is corrupted, the other delegates can determine the validity of the proposal by comparing their own versions of the proposal. Consensus can still be reached as only two-thirds of the delegates are required to agree to validate the block and replace the dishonest delegate.
Using the Delegated Byzantine Fault Tolerance algorithm, consensus can also be reached when both the speaker and a delegate are dishonest. When comparing blocks, delegates can see whether either the speaker or a delegate is corrupt, and they can agree to invalidate the block, which automatically leads to selecting a new speaker.
In any of these three situations, the dishonest delegates need to control two-thirds of the network to corrupt data written on the blockchain. This is hard to achieve since all NEO token holders can vote, delegates aren’t anonymous, and becoming a node owner costs 1,000 GAS.
- Generating a new block on the chain takes between 15 and 20 seconds.
- The transaction throughput is close to 1,000 TPS. NEO hopes to reach 100,000 TPS, which would allow the network to support large-scale commercial applications.
- No expenditure of energy needed (unlike the Proof-of-Work consensus algorithm).
- Total finality for transactions after their confirmation.
- There are no forks on the NEO blockchain.
- As delegates need to operate under real identities to be elected, there’s no anonymity on the blockchain.
- The mechanism requires regulated blockchains, which includes a certain level of centralisation (exactly what blockchains like Bitcoin and Ethereum are trying to achieve).
The strength of the Delegated Byzantine Fault Tolerance mechanism is its ability to reach consensus even when one or more delegates are corrupt. For a worldwide public blockchain, it could be the right tool to decrease tolerance to malicious users that could affect the network.
However, the lack of anonymity and the need for centralisation may keep adopters away from a blockchain that doesn’t guarantee privacy.