Blockchain Consensus Mechanism
Unlike a centralized thing, in which the top-down hierarchy exists, Blockchain ideally follows a flat topology. There are so many nodes that join a Blockchain Network, and all of them have the same copy of the Blockchain. For safety, security and to maintain the root-of-trust the nodes participating in a Blockchain network must reach a consensus. That is also essential to make sure that the transactions being recorded in the Blockchain are secured and verified.
How the consensus is being reached among the peers/nodes depends on the type of consensus protocol adopted in a particular Blockchain. Consensus protocol helps to establish the valid Blockchain at any given time, and the new blocks are added to the valid Blockchain, the one, and the only version that exists for a network with root-of-trust as the genesis block.
- All the nodes agree to a single history.
- The longest chain is the valid chain.
PoW consensus mechanism requires a lot of computing effort to solve the complex mathematical puzzle, and the miners are tasked to validate the transaction, record them on the public ledger, which also becomes a part of the "chain of blocks".
Whenever a transaction in the Blockchain network is initiated it will go into the unconfirmed pool, then the miners are tasked to solve the cryptographic puzzle to verify and validate the transaction. The one that is validated is added in the Block (along with a timestamp and its previous timestamp). Any second attempt to spend the same amount will be invalidated and pulled out from the network.
In case both the transactions are taken simultaneously from the unconfirmed pool, the one which got the first confirmation is considered valid.
Further, the speed depends on the Block producing time of a particular network. For Bitcoin it is 10 mins whereas for Litecoin is it 2.5 mins, both use the PoW mechanism to reach a consensus.
In PoW, the selection of miners is random. PoW ensures a better degree of decentralization but limits scaling capacity and is energy inefficient.
PoS is a deterministic approach, here the Block creator/validator is chosen based on the defined stake and in proportion to the stake, which means the higher the stake higher is the chance to become a validator to mint a Block. It does not require a mining rig, hence it is energy efficient. PoS also helps the price dynamics of the tokens as a certain percentage always remains locked.
Economic stake & incentive mechanism in PoS are key aspects to reach consensus.
The PoS model may be energy efficient and may also attract stakeholders to earn better rewards, but it tends to be centralized and less secure than PoW.
Example-- DASH, NEO, TEZOS, Etherum has already announced to switch from PoW to PoS.
In DPoS, the stakeholders can delegate their power. So a stakeholder can vote for delegates. In PoS the stakeholders directly participate to validate a network, whereas, in DPoS, the elected delegates participate to validate the network.
DPoS significantly improves the scaling capacity. The modern-day Blockchains with high scaling capacity adopt DPoS with the popular ones being Tron Blockchain, EOS, Steem Blockchain, LISK, etc.
In DPoS, those who have a higher stake in Blockchain's native coin have greater influence in determining the elected delegates(or consensus witnesses). The number of delegates(or witnesses) may vary from one network to the other. For example, Tron has 27 Super Representatives, Steem Blockchain has (20+1) consensus witnesses.
In PoW, a miner has to invest in hardware, in PoS, a validator has to invest in Blockchain's native coin. In a similar way, in PoC, a validator has to invest in hard disk space. More the hard disk space more is the chance to become a validator.
PoC works by plotting and mining. The large nos of data sets known as plots are required to be stored in the hard drive, more such plots increase the chances of mining a block.
PoC is energy efficient but susceptible to malware risk.
Example-- Burstcoin uses the PoC consensus mechanism.
In PoW, a miner invest in a mining rig, in PoB, a miner has to burn the coin to buy a virtual mining rig that allows them to become a miner. In this process, the miners are required to send the coins to an address that is unrecoverable/unspendable.
The selection of miners in PoB is also random(similar to PoW). The miners are required to burn more coins to improve the odds of mining a block.
Miners burn native coins/coins of an alternate chain to become miners and in return, they earn the network's native coin as a mining reward.
Practical Byzantine Fault Tolerant (pBFT)
pBFT is another consensus mechanism in which a network can still reach consensus even when one-third of the nodes are malicious. In other words, pBFT can work only when the maximum number of malicious nodes is not greater than one-third of all the nodes in the network.
In pBFT, the primary nodes first broadcast the messages to the secondary nodes and the secondary nodes perform the service and send back a reply. Consensus is reached when it receives m+1 replies, where m is the maximum nos of faulty nodes allowed(maximum= one-third of the total nodes).
pBFT is energy efficient, it does not require multiple confirmations either. But communication overload is significant in pBFT.
In general, pBFT is used as a combination with other consensus mechanisms.
Example-- Zilliqa (pBFT+PoW)
(1) What is the difference between PoW & PoS? Advantages & Disadvantages? Which one is better in scaling Capacity? Examples?
(2) What is the difference between PoS & DPoS? Advantages & Disadvantages? Name a few Blockchain projects which use the DPoS consensus mechanism and indicate the scaling capacity?
(3) Name a few Blockchain projects which use dBFT in combination with other consensus mechanisms? Indicate the scaling capacity? Explain dBFT along with the pros and cons?
(1) Your article should be at least 300 words.
(2) This homework task does not have an expiry, however, you can submit your assignment only once.
(3) Eligibility Criteria--
- Must have a reputation of 50 or above
- Must have at least 125 SP (excluding any SP delegated-in)
- Must have completed Achievement Task-4 in Newcomers' Community
(4) Add tag #academy-intro04 #cryptoacademy in your post and should be among the first five tags. And also make sure you post in the Steemit Crypto Academy community.
(5) You can attempt any one out of the three questions, but you must write the entire Question in Bold letter at the beginning of the post.