Proof of Work (PoW) vs Proof of Stake (PoS)
And other Consensus Algorithms for Blockchain
A consensus algorithm attempts to bring consensus to all of the participants in a network. In a blockchain, a consensus algorithm creates blocks by grouping multiple transactions into one block. Once consensus has been reached, miners will pick up these new blocks and begin solving for a Proof-of-Work (PoW) solution through mining. In this way consensus algorithms are key to blockchains as they help maintain their integrity, security and immutability .
Proof-of-Stake (PoS) consensus algorithms began being developed in 2012 and are now widely accepted and utilized across many networks in 2021. They have been heralded as a more environmentally friendly alternative for cryptocurrencies because they do not require high energy consumption like PoW consensus algorithms.
Under a PoS consensus, instead of using incentives with rewards as PoW consensus algorithms do, the consensus algorithm adds a cost to submitting transactions in order to regulate block creation. In PoS consensus algorithms, the consensus is derived from each nodes’ relative ownership of the cryptocurrencies rather than their computing power .
In PoS consensus algorithms, each node puts up a part of their currency as collateral to make sure that they play by the rules and don’t cheat. The amount of currency you have determines how likely it is that your block will be chosen to be added to the blockchain.
PoS consensus algorithms tend to be faster than PoW consensus algorithms because they do not require solving computationally difficult problems . They are also said to be able to better withstand denial of service attacks, where criminals attempt to overload a network with spam transactions.
However, there has been concern that the lack of incentives could lower participation rates and thus reduce consensus and decentralization. This could leave more room for consensus attacks in which an attacker makes an existing consensus look incorrect, leading other nodes on the network to lose faith in consensus (rendering the blockchain useless).
PoS seems to be the current most popular choice for newer blockchain development, however, there are other “third-generation” consensus algorithms that are growing in popularity.
Practical Byzantine Fault Tolerance (pBFT):
Practical Byzantine Fault Tolerance is a consensus protocol that seeks to overcome the “Byzantine General Problem.” All nodes in pBFT are independent. They may be good or bad. All nodes are ordered under one node, which is known as the “Leader.” In order to reach a consensus, all nodes communicate with each other, and the ultimate objective is for a majority of them to agree on the system’s present condition through a majority voting. Nodes must demonstrate that a message has been sent from one peer node to another, but they must also ensure that the message’s state was not altered in the process.
pBFT uses a variation of the Byzantine Fault Tolerance algorithm known as Guided Byzantine Fault Tolerance. The ratio of malevolent nodes can’t exceed 1/3rd of the total node count, according to pBFT. As more nodes join the network, it becomes increasingly difficult to achieve this proportion. Each pBFT consensus is called a view and comprises four phases.
- A client sends a service request to the leader node.
- Leader node spreads the request to the network nodes.
- Nodes execute the request and send a reply to the client.
- The client waits for the same replies from each node and this same reply is the result of the operation.
The leader node is changed in Round Robin style on each view. This sophisticated consensus algorithm is popularly used by Ripple and Stellar.
Delegated Proof of Stake (DPoS):
Stakeholders in Delegated Proof of Stake can choose their leaders, who may verify the block on their behalf. This makes DPoS more rapid than PoS.
Most nodes operate in a round-robin manner, generating blocks one at a time. This prevents a node from producing consecutive blocks, which prevents them from performing double-spending attacks. If a witness fails to produce a block in his or her turn, the next witness is chosen and assigned the job of creating the next block. In DPoS, miners can collaborate to make blocks instead of competing like in PoW and PoS. By partially centralizing the creation of blocks, DPoS is able to run orders of magnitude faster than most other consensus algorithms.
Let’s use Tron as an example to see how it works. In TRON, there are 27 Super Representatives (SRs), each of whom generates blocks for the network. To cast a vote, you must first freeze your TRX (Tronix). As a result, you have the ability to vote for SR candidates. SRs are picked based on factors such as projects they support and distribute to voters. Tron’s DPoS consensus algorithm makes the network much more scalable, with 2000 transactions per second (TPS) as compared to Bitcoin’s 3 TPS and Ethereum’s 15 TPS. BitShares, Steemit, EOS, Lisk, and Ark all use a variant of DPoS that is distinct from others in some ways but not significantly so. EOS is the first network to achieve a block time of only 0.5 seconds! That’s fast!
Proof of Authority
Transactions and blocks are verified in PoA networks by validated accounts, known as validators. Validators run software that allows them to include transactions in blocks. The procedure is automated, and validators don’t have to be online all the time. It does, however, necessitate that the computer (the authority node) remain secure.
The three essential criteria for establishing a validator are as follows: On-chain identification must be properly verified, with the ability to cross-verify information from a publicly accessible domain. The right to validate block rewards and values must be difficult to obtain. (For example, potential validators must pass a public notary exam.) There must be uniformity in the checks and procedures used to establish an authority.
Individuals who join Proof of Authority can become validators, so there’s an incentive to keep the status they’ve acquired. Validators are incentivized to maintain the transaction procedure because they don’t want their identities linked to a negative reputation and lose their hard-earned validator position.
VeChain is a great example of a PoA network that now offers a whole suite of business tools utilizing this function such as: product lifecycle management, supply chain process control, data deposit, data certification, and process certification.
Proof of Burn (PoB):
In Proof of Stake, you must stake your coins in order to be a validator/forger. However, in Proof of Burn, you must send your funds to an address from which you will not be able to retrieve them. In essence, the zero address is one that isn’t required, however it isn’t entirely necessary. This procedure is referred to as Burning. You may earn a lifetime position as a miner on a system where miners are chosen at random by performing this action.
The more you burn, the more your chances are to be next miner. Interesting isn’t it. Although miners can burn the native currency of the Blockchain but can also burn Bitcoin or other currencies in some other cases. Over time, your stake will decay, and you’ll have to burn more coins in order for your name to be chosen at random. However, this consensus mechanism has been criticized because mining power goes to those who are prepared to lose more. Slimcoin, TGCoin (Third Generation Coin), and other intriguing consensus algorithms employ this interesting method of reaching agreement.
The consensus algorithms in blockchain are being used for many different purposes, both old and new. Proof of Work remains the original algorithm behind Bitcoin while newer ones have been created to solve other problems. It’s important to know what each one does before implementing it into your system or business process because they all vary in positives and negatives depending on the application you want them put towards.
We hope this post has given you a better understanding of how various types of consensus algorithms operate so that you can make an informed decision about which is best suited for your needs! What kind of use cases can you imagine for different consensus algorithms? Do you have any ideas for new types of protocols? Leave a comment below!