introduction DBFT

in dbft •  4 years ago 

Content

Considering the scalability problem of BFT algorithm, NEO adopts a proxy Byzantine fault-tolerant algorithm—DBFT (Delegated Byzantine Fault Tolerant). It is the same as EOS's DPOS consensus mechanism. The proxy bookkeeper is elected by the equity holders, and the proxy verifies and generates blocks. This greatly reduces the number of nodes in the consensus process and solves the inherent expansion of the BFT algorithm. Sexual issues.
In order to facilitate the application in the blockchain open system, NEO's DBFT improved the request response mode of the C/S (client/server) architecture in PBFT to a peer-to-peer node mode suitable for P2P networks, and adopted a static consensus Participating nodes are improved into dynamic consensus participating nodes that can dynamically enter and exit, making it suitable for the open node environment of the blockchain.
In the DBFT algorithm, the super nodes are involved in bookkeeping, and ordinary nodes can see the consensus process and synchronize the ledger information, but do not participate in bookkeeping. A total of n super nodes are divided into a speaker and n-1 members, and the speaker will be elected in turn. Every time an account is booked, the speaker first initiates a block proposal (the content of the block to be accounted). Once at least (2n+1)/3 accounting nodes (speaker plus member) agree to this proposal, then this proposal It becomes the final released block, and the block is irreversible, all transactions in it are 100% confirmed, and the block will not fork.
NEO's DBFT consensus mechanism only sets up 7 super nodes, and achieves high consensus efficiency in a weakly centralized mode. At present, these proxy nodes are statically selected and deployed completely by the project team. NEO is therefore questioned by the outside world as being too centralized.
On the one hand, the advantage of DBFT is its high efficiency. NEO generates a block every 15-20 seconds, and the transaction throughput can reach about 1000TPS. Through proper optimization, the performance can reach 10000TPS; on the other hand, its good finality. It will be forked to verify the identity of participants, protect network security, and make the blockchain applicable to real financial scenarios that require high real-time transaction confirmation.
The shortcomings of DBFT cannot be ignored. On the one hand, it is reflected in the low fault tolerance rate. When 1/3 or more of the super nodes are malicious or down, the system will not be able to provide services; on the other hand, the number of super nodes is too small. , The degree of centralization is high.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!