While there has been plenty of talk about the regulatory and privacy implications, there has been little public dialogue about the technology behind Facebook’s new digital currency. Can regulators concerns about privacy be alleviated upon closer inspection of Facebook’s new digital currency?
Facebook’s cryptocurrency Libra uses LibraBFT, a Byzantine Fault Tolerance (BFT) consensus protocol. LIbraBFT is a derivative of another consensus protocol called HotStuff, which uses classical BFT algorithm Practical Byzantine Fault Tolerance, pBFT. BFT systems are often comprised of nodes, delegates (who can approve the blocks), and a participant who proposes the next block.
David Marcus, Head of Facebook’s cryptocurrency wallet, Calibra, tweeted that Libra has 3 distinct components, including its BFT-based permissioned, scalable blockchain.
A permissioned blockchain means that node participants must be granted access to join the network. An access control layer built into the blockchain only allows known nodes to participate on the network. A node is a device on the blockchain network that is spread out across the network. Node operators contribute their computing resources to the network for the storage and validation of transactions. On some networks, nodes earn transaction fees. What do we know about PBFT?
“PBFT is a classic consensus mechanism for distributed systems,” Da Hongfei, whose NEO project adopted delegated Byzantine Fault Tolerance (dBFT) for its consensus algorithm, told HackerNoon.
Most often, pBFT employs two rounds of peer-to-peer message exchanges to achieve this goal. When a leader broadcasts its proposed (legal) state transition to request to other nodes, as an honest node in the system, it first needs to know that enough nodes have also received this state transition request. It can confirm this request is valid. This confirms there is a consensus among enough nodes about the state transition.
If the leader fails during protocol operation, nodes cannot communicate with it. The leader must then be replaced, resulting in a view change and the node broadcasting a view change request. When a node receives enough view change requests, a view change confirmation is sent to the new leader. The new view starts when the new leader receives a certain threshold of view change confirmations.
In NEO, dBFT can counter unreliable or untrustworthy participants on the blockchain more effectively than other algorithms, according to proponents. Facebook must have chosen its variation of dBFT in order to ensure that untrustworthy actors use its currency as a means of minimizing KYC and AML risks.
BFT consensus protocols help to overcome the Byzantine Generals Problem, a condition of distributed computing systems where components may fail and there is imperfect information on whether a component has failed.
This means that the holder of a NEO token holder 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.
dBFT’s feature of absolute finality ensures that, after final confirmation, a block can’t be bifurcated, so the transaction can’t be rolled back.
The dBFT consensus mechanism entails a voting process wherein token holders have the right to vote for delegates regardless of the amount of currency they hold.
Voting in the NEO network happens in real-time.
dBFT is a consensus algorithm developed with perfect finality, meaning that all transactions are final after the first confirmation. The blockchain cannot fork with dBFT, and is built with regulatory and business use cases in mind. According to NEO, the voting system of dBFT allows large-scale participation.
Libra and NEO are not the only blockchain projects using BFT consensus protocols. Ontology uses vBFT consensus protocol, as well, which combines verifiable random functions (VRF) and BFT.