Cryptocurrency officially started in 2008 with bitcoin and to date, there has been the creation of many other cryptocurrencies, each with its specific modus operandi.
However, there is one thing every cryptocurrency has in common; Blockchain. Blockchain is the key component of any cryptocurrency. It serves as an intermediary between two parties and makes transactions easier, faster, safer, and transparent.
Like other digital distribution systems, participants of a cryptocurrency network ought to agree on the existing state of the blockchain regularly and this is called consensus. However, achieving consensus on distributed networks securely and effectively is difficult.
Participants often communicate with each other in a decentralized distributed system, like blockchain. Their acts can differ and may be malicious, depending on the specific desires of each participant. Byzantine Generals’ Problem tackles this situation and leads to the Byzantine Fault Tolerance system.
Byzantine Generals’ Problem
The Byzantine Generals’ Problem (BFT) was discussed in 1982 by Shostak, Pease, and Lamport generalizes the Two Generals Problem published in 1975.
In a nutshell, the Two Generals’ problem involves two generals preparing to attack an enemy but less likely to win due to lacking in the number of armies compared to the enemy.
Both Generals will need to agree on how and when to attack through sending a messenger from one General to the other through the enemy camp. Both Generals will need to get a message and send feedback but are likely to be unsuccessful with their sending and receiving due to possibilities of the messengers caught by the enemy, thereby preventing an agreement reached.
Byzantine Generals’ Problem explains the same situation but involves more than two generals agreeing on a specific moment to attack the enemy. The extra problem in this is that one or more generals may be cunny and lie about their decision, thereby leading to failure of the attack.
Taking this situation into account in blockchain, the generals represent network nodes. These nodes need to reach a consensus regarding the system’s current state. In other words, the majority of users of a distributed network have to agree and carry out the same operation to prevent total failure.
In these forms of the distributed system, the only way to achieve consensus is by getting at least 2⁄3 or more trustworthy and reliable network nodes. This implies that the system is vulnerable to failures and assaults (such as the 51 percent attack) if most of the network is malicious with their conduct.
Byzantine Fault Tolerance is the feature that addresses the problems of the Byzantine Generals. It is the feature of a system that can combat the errors resulting from the Byzantine Generals’ Problem. This ensures that even if some of the nodes malfunction or behave maliciously, a Byzantine Fault Tolerance network will continue to operate.
There are various strategies blockchains use to achieve Byzantine fault tolerance and one of the major strategies is consensus algorithms.
Blockchain Consensus Algorithm
In Blockchain, there isn’t an existing centralized body that validates and verifies transactions; yet, transactions are carried out successfully. This is only possible due to the existence of a consensus protocol; which is a core aspect of every Blockchain network.
A consensus algorithm refers to the process by which a common agreement is reached by every participant of the network on the current state of the distributed ledger. Therefore, in a distributed computing system, consensus algorithms obtain accuracy in the Blockchain network and build trust between unknown participants. The consensus protocol essentially ensures that every new block added to the Blockchain is agreed upon by all of the nodes in the Blockchain network.
The consensus protocol for Blockchain contains certain specific functions, such as agreement, cooperation, fair rights for each node, collaboration, and the compulsory involvement of each node in the consensus protocol. As such, a consensus algorithm tries to find a common agreement that benefits the entire network.
Proof of Stake (PoS) and Proof of Work (PoW) are the most common implementations of consensus protocols in the blockchain. Let’s review Algorand’s case as an example.
Algorand’s Proof of Stake
The Algorand blockchain utilizes a decentralized Byzantine agreement protocol that uses pure proof of stake (PPOS). That means it can reach consensus without a central body easily, provided the majority of the stakes are in trustworthy hands. This protocol is extremely fast and demands minimal computing power for each node, thereby providing the ability to efficiently complete transactions.
Algorand utilizes the Verifiable Random Function to choose accounts to propose blocks for a specified block. Once a block is proposed to the blockchain, a group of voters is chosen to vote on the block proposal. The block will be verified if a vast majority of the votes come from trustworthy participants. The fact that voters are chosen based on the number of Algos in their account, makes this algorithm a Pure Proof of Stake. Hence, it is possible and likely that some accounts would have a greater number of votes than other members.
Another of the unique features of Algorand’s consensus algorithm is its ability to prevent forks. Forks result in unwanted insecurity and hesitation. You will not automatically accept payment should a transfer made to you appear in the new block introduced to the chain. With forks, a branch might bypass the current chain and your block will inevitably disappear. You will have to wait for a series of blocks to be introduced to yours before getting paid. This helps reduce the risk that your payment ends in a dead branch.
Blockchain Algorand never forks. Never can two blocks be added to the chain at a time, as only one block has the appropriate Committee voting threshold. At most, one block in a given round is approved and written into the chain.
All transactions in Algorand are final. If a block is settled on by the consensus protocol, the judgment is never modified. Every genuine user knows early about this choice and no genuine user ever assumes another block has been selected at the same height. When a block appears, participants can rely instantly on the transactions it holds, and they can be assured that the block will be part of the chain forever, which ensures the money they receive is secure.
Efficient network communication with a strong consensus protocol is crucial to the blockchain ecosystem in the cryptocurrency network. The security of such structures is a constant endeavor and certain drawbacks such as scalability do need to be resolved for the current consensus algorithms.
Proof of Work and Proof of Stake are also quite fascinating methods for Byzantine Fault Tolerance programs and with the review above, Algorand’s Pure Proof of Stake seems to be the best amongst the rest.
Get connected to Algorand
Official Website: https://www.algorand.com
Guest post contributed by Helen IMAH – Algorand Ambassador
This is a guest featured post by a third party. BlockNewsAfrica urges users to do their own research before investing in projects or using products or services.
Featured Image Source: Pexels