Byzantine Consensus algorithms
This article will give you a brief overview of two famous Byzentines consensus algorithms, FBA and DBFT, that are used in blockchain networks and how they compare with proof of work and proof of stake algorithms. To understand these algorithms let's first understand a little bit about a concept called Byzantine's fault tolerance.
Byzantine Fault Tolerance
Suppose there is a besieged city surrounded by an army that is lead by multiple generals. for better control over the whole army, the generals are not in one place but have a considerable distance among them in order to properly command the army. for victory, all generals should come up with the same decision about theater to attack the city or retreat. As generals have a considerable distance among them messages are passed through them using messengers, which can be intercepted by enemy forces. Furthermore, there is also a threat that some generals might be traitor and deliberately changes different messages. In order for the besieging army to win a majority general should be loyal as decisions accepted by majority generals will be implemented. This concept is Byzantine Fault Tolerance with generals replaces with nodes in blockchain networks
Federated Byzantine Agreement (FBA)
introduced in the Steller Network paper it uses the concept of quorum slices. To understand this let's take an example of a scenario in which a new member is hired in a company if all members of all departments within the company agree on it. within a department, everyone will vote whatever the majority says and they all trust each other however no one trusts anyone who is not from their department. the upper management with a representative from each department trusts each other and acts as a chain-link between other departments. so in all members of the company can come to a consensus. that is how FBA basically works with department replaced with quorum slices
here is an example of a decentralized banking system that uses the FDA approach
Benefits
Cheap transaction costs
High throughput
Network scalability
FBA vs pow
FBA requires cheap power consumption compared to proof of work.
FBA provides us with a clear assurance that the nodes will reach some consensus. No such assurance is provided by proof of work approach
Due to the possibility of block forks in proof of work its performance can suffer whereas this is not the case in federated Byzantines assurance.
FBA vs pos
proof of state algorithm suffers from the low throughput and consensus time latency which is not the case in federated Byzantines assurance. however, as federated Byzantines assurance algorithm needs to specify the nodes while running and nodes don't always remain constant it can lead to consensus failure
Delegated Byzantine Fault Tolerance (dBFT)
Initially, it might seem that Delegated Byzantines algorithm works the same way proof of stake works however it uses a voting process in which the NEO holder has a right to choose delegates and from these delegates, a speaker is chosen randomly and thus how much money NEO holds does not matter like in proof of stake. Anyone can be a candidate for being a delegate as long as he meets the following criteria that are. He must have a reliable connection, verified identity, right equipment and has 1000 GAS. after a speaker has been selected he passes a law if 66 % of delegates agree that the law is passed and is not a new speaker is selected among the delegates randomly and the cycle repeats.
Benefits
Creating a new block takes 15 to 20 seconds.
Transaction throughput is about 1000 TPS.
Finality of transactions after their conformation
Supports large scale commercial applications
dBFT vs pow and pos
No energy requirements required like in proof of work.
Unlike the POS, the random selection of a speaker does not depend on how much coins that it has.
A block can be created in 15 to 20 seconds whereas its take 10 mins to create in bitcoin that implements POS
DBFT has a certain level of centralism in which cryptocurrencies like bitcoin and Etherium that implement POW and POS try to get rid of in favour of decentralization.