UNDERSTANDING THE TECHNICALITIES BEHIND THE PURE PROOF-OF-STAKE PROTOCOL ALGORAND USES
The Proof-of-Stake (POS) Protocol is a consensus algorithm used by blockchain networks to enable transaction validation based on the number of tokens users possess. It is a validation protocol that allows users (validators) to reach consensus and validate transactions relative to the proportion of coins they own.
Even though the Proof-of-Work (POW) protocol is the original consensus algorithm in the blockchain network, the Proof-of-Stake protocol was developed to solve the deep-rooted challenges faced by the Proof-of-Work protocol. These challenges include the huge computational power requirement, the possibility of a 51% attack, and the likelihood of forking, the slow, inefficient and expensive nature of the protocol.
To counteract the challenges of the Proof-of-Work protocol, the Proof-of-Stake protocol was developed. This Proof-of-Stake protocol solves the computational power challenge by attributing validating power to the proportion of coins possessed by a validator. Through this, the need for validators to utilize energy that solves complex puzzles is eradicated since validating power is restricted to the percentage of transactions specified by the proportion of coins the user possesses.
Also, the Proof-of-Stake protocol tackles the possibility of a 51% attack by allowing validators to receive only a percentage of the fee included in the block transaction relative to what they have previously staked. Hence, a user seeking to validate a bad block or hijack the network would need over half of all the coins in circulation to have the stake. This is unlikely as the possibility of a user possessing over half the coins in circulation is extremely low.
Although the Proof-of-Stake protocol successfully counteracted the challenges faced by the Proof-of-Work protocol, it still faced its own intrinsic issues. These issues led to the development of the different Proof-of-Stake protocol types. Basically, there are two common Proof-of-Stake protocol types;
- Delegated Proof-of-Stake protocol
- Bonded Proof-of-Stake protocol
DELEGATED PROOF-OF-STAKE (DPOS) PROTOCOL
This protocol is a Proof-of-Stake approach in which a fixed number of elected entities are selected as delegates to create blocks in a round-robin order. These delegates are voted into power by the users of the network who each get a number of votes proportional to the amount of tokens they own in the network. Compared to the Proof-of-Work protocol, the Delegated Proof-of-Stake protocol is able to handle transactions efficiently as a result of the limited number of block producers.
Although this protocol is scalable and more effective compared to the Proof-of-Work protocol, it still faces the challenges of centralization and insecurity. Since the protocol is centralized, it does not offer users a guarantee that all delegates will remain honest. Even if their honesty can be ensured, the delegates still run a risk of a fast denial of service (DOS) attack since they are all known. These challenges limit the efficiency of the Delegated Proof-of-Stake protocol.
BONDED PROOF-OF-STAKE (BPOS) PROTOCOL
This protocol is a Proof-of-Stake approach in which any number of users set aside a part of their token (stake) in order to influence block generation. These users lock up their stake as a security deposit for a certain amount of time, and in exchange they are given a chance to select the next block relative to their stakes.
In this protocol, the voting power is proportional to the stake users are willing to lock up. Once the deposit is in place, it cannot be removed until a specified time has passed. If these users are dishonest, they forfeit their deposit and the privilege of participating in the consensus process.
The major downside of the Bonded Proof-of-Stake protocol is the reduction in users' ability to spend their stakes while participating in the consensus protocol. To solve the challenges faced by the Delegated and Bonded Proof-of-Stake protocols, Silvio Micali and his team of developers designed the Pure Proof-of-Stake protocol for the highly efficient Algorand blockchain.
ALGORAND'S PURE PROOF-OF-STAKE (PPoS) PROTOCOL
The Algorand blockchain uses a Pure Proof-of-Stake protocol built on Byzantine consensus. Through this protocol, users are randomly and secretly selected to propose blocks and vote on block proposals. Each user's influence on the choice of a new block is proportional to the user's stake in the system.
Algorand PPoS approach ties the security of the whole economy to the honesty of the majority of the economy as against other approaches where a small subset of the economy determines the security of the whole economy.
In contrast to the Delegated Proof-of-Stake protocol, the Pure Proof-of-Stake protocol of Algorand does not put a small set of users in charge of block generation and users do not need to delegate their voting power to a select few. Every user can propose and vote on blocks directly, leaving no special group of users for attackers to target.
Unlike the Bonded Proof-of-Stake protocol, the Pure Proof-of-Stake protocol does not require users to set aside part of their stake to participate in the consensus protocol and participation in the consensus protocol does not reduce a user's ability to spend their stake. At any time, all stakes are kept in the users' wallets or in the various financial instruments the Algorand blockchain underlies and users can spend from it when the need arises.
FINAL THOUGHTS
With the Algorand PPoS approach, it is impossible for the owners of a small fraction of the stakes to harm the whole system as the security of the economy rests on the honesty of the majority. This helps to ensure the Decentralization, Scalability and Security of the high performance Algorand blockchain.
ABOUT THE AUTHOR
TECH Lover | Blockchain Enthusiast | Brand Ambassador | Strategic Digital Marketer: SMM, SEM, SEO | Content Writer | Community Manager | Event Planner | Crypto Trader and Analyst | Worshiper | Networker | INTEGRITY Preacher... Nice to meet you!
sources:https://community.algorand.org/u/mg9jgy/
Comments