Delegated Byzantine Fault Tolerance

By | 18th September 2017

Delegated Byzantine Fault Tolerance alternative or dBFT as it often referrer to is a derivative of Delegated Proof of Stake.

dBFT was created by Erik Zhang (Co-founder and CTO Neo), NEO formerly Antshares. A good overview for NEO is as follows:

Delegated Byzantine Fault Tolerance is a fancy and cool name for a solution to getting eventual consensus under certain conditions.

The condition is really simple: as long as less than 1/3 of bookkeeper nodes are BAD actors, you can get eventual consensus and everyone is happy.

https://www.reddit.com/r/NEO/comments/6vlatx/dbft_beginners_explanation/

Which then begs the question, what is the difference between dBFT and dPOS? Which is again summed up very well by a redditor as follows:

DPOS: elect N witnesses, each witness produced 1 block on their own.

DBFT: elect N bookkeepers, 2/3 of all bookkeepers agree on what goes in every block.

One difference in particular is with DPOS it looks like you could steal pretty easily, compared to DBFT. In DBFT you would have to get unauthorized code on 2/3 the bookkeepers. In DPOS you just need to get on the witness list, and when you are the witness just make a set of ‘all your shares belong to me’ transaction.

DPOS does take less resources though, as DBFT requires all bookkeeper nodes to work every block, where DPOS only requires one node working per block.

https://www.reddit.com/r/NEO/comments/6rkcmf/delegated_proof_of_stake_vs_delegated_byzantine/

So in essence dBFT should be a little more secure in that it will take more coercion to take over the network a the expense of nodes.

Share Button