NEO has released a game-changing update to its current consensus mechanism. DBFT 2.0 is now available, and although it will be some time before it is fully activated, the update promises to finalize transactions much more effectively. NEO creator Erik Zhang has announced the news on Twitter:
dBFT2.0, a very important component of NEO 3.0, has been developed and released as NEO CLI v2.10.0. Soon it will be deployed to TESTNET and upgraded on MAINNET thereafter. Specifications for dBFT2.0 can be found right here: https://t.co/z4B6CPvJst
— Erik Zhang (@neoerikzhang) March 14, 2019
What Is DBFT Consensus?
All blockchains rely on consensus to decide which blocks are valid. This in turn allows transactions to be processed. Bitcoin, for example, reaches consensus thanks to the efforts of countless miners, which are always competing to find new blocks. By contrast, NEO relies on just seven trusted nodes that cooperatively reach consensus.
Because NEO relies on pre-determined trusted nodes, it uses Delegated Byzantine Fault Tolerance (DBFT) to achieve consensus. This means that consensus can even be reached indirectly: if some nodes become unavailable or are in opposition, NEO can still reach consensus so long as two-thirds of its nodes are in agreement.
What Does 2.0 Change?
DBFT 2.0 keeps true to the above principles, but it also makes some changes. According to a newly published paper, NEO has encountered previous consensus issues after its nodes were interrupted. This update forces nodes to commit to a block once they interact with it, and it also introduces a recovery mechanism that will help failed nodes get back online.
Basically, these features should make the NEO network much more stable. As NEO Global Development has noted, the changes will also make transactions “truly irreversible,” which is important for commercial applications. Although blockchains can undo errors with great effort, doing so causes major inconveniences, especially for users that handle large numbers of transactions.
Zhang has also previously commented on the upgrade in January, noting that it allows transactions to be finalized in just 15 seconds:
With this improvement, dBFT will have more strict finality. Users only need to wait for one confirmation (15 seconds) to ensure the irreversibility of the transactions and prevent double-spending. This is very suitable for financial applications.
— Erik Zhang (@neoerikzhang) January 3, 2019
Competing BFT Variants
Although Byzantine Fault Tolerance may be less recognizable than other consensus mechanisms, it was actually created in 1999 and has gained plenty of traction since then. Many blockchains and projects, including ICON, Tendermint, and Ontology have adopted variations on BFT. Soon, Bitcoin Cash may even implement BFT in a secondary capacity thanks to Avalanche.
DBFT, though, is NEO’s unique take on BFT consensus. DBFT improves on its precursor by providing one-block finality, meaning that transactions become irreversible almost immediately. Of course, every variation on BFT makes changes that are arguably ideal, and the full potential of NEO’s latest improvement will not be seen until it goes live.