Welcome to the Elastos Blog
Read it here first
Elastic Consensus Technical Overview
March marks a watershed moment for the Elastic Consensus mechanism. This month, the project will be technically ready to shift from DPoS (Delegated Proof of Stake) to BPoS (Bonded Proof of Stake). In late 2021, Su Yipeng, a longtime Elastos contributor, devised a Proposal that suggests a refactoring plan for the BPoS (originally called DPoS 2.0) consensus mechanism to make the Elastos blockchains more decentralized, secure, and stable. The Proposal is about changing the voting model to a staking and mining model.
Now that all the code is set and ready to be executed, a few more events must transpire for Elastic Consensus to commence fully. Let’s delve into how this new version of Consensus will function in its entirety, followed by general guidelines on how to prepare and set up your nodes/votes as a validator or ELA staker.
How Elastic Consensus Works and Operates
The Elastos main chain has three-layer consensus mechanisms: Auxiliary Proof of Work (AuxPoW), Proof of Integrity (PoI), and Bonded Proof of Stake (BPoS). These mechanisms work together to provide a secure and efficient transaction environment. ELA block rewards are proportionally allocated among the three consensus forms, with AuxPoW miners receiving 35%, BPoS accounting for 35%, and the remaining 30% going to the Elastos Cyber Republic DAO .
AuxPoW is a consensus mechanism employed by Elastos to ensure the security of its blockchain network. AuxPoW enables merged mining with Bitcoin, allowing the network to benefit from the security and mining power of Bitcoin while retaining its own integrity. As a result, miners can receive rewards in both ELA and the merged coin simultaneously.
POI, or Cyber Republic Consensus (CRC), is the third Elastic consensus mechanism designed to facilitate community governance and development, manage assets, and incentivize participation. It serves as a top-level governance model but is intended to be open and dispersed, allowing for grassroots growth through collective decision-making.
BPoS is a hybrid consensus mechanism that blends elements of delegated proof of stake and proof of stake. BPoS provides finality for PoW-solved blocks on the main chain, while on side chains it is responsible for producing and confirming blocks. It offers a few benefits with variable bonding time, improved profit sharing, and increased mobility between active nodes and stand-by nodes. Concepts used for BPoS are: staked tokens, staking rights, and equity tokens.
- Staked tokens refer to the tokens that are staked in the BPoS protocol. To take part in the BPoS, ELA tokens need to be converted into an equivalent amount of equity tokens, which are used for staking.
- Staking rights are determined by the number of tokens staked and the pledge time. To participate, one must select a node, amount of staked token, and pledge time. The longer the pledge time, the greater the staking rights earned. When the pledge time ends, the tokens are automatically redeemed.
- Equity tokens allow stakers to participate in community activities. ELA tokens can be exchanged for equity tokens of equal value, each for specific activities such as staking, election, opposition, and impeachment. One ELA token can be exchanged for all equity tokens, which are non-tradable. All equity tokens must be used collectively to exchange back into liquid ELA, and staked equity tokens cannot be exchanged.
The Elastic Consensus is highly elastic due to a range of flexible features. These include the capacity to add or remove sidechains, the ability to revert to a single PoW consensus if required, and the implementation of different consensus mechanisms simultaneously on both the side chains and main chain. Additionally, the system allows for the impeachment of Council members or even Council-approved Proposals, promoting accountability. Furthermore, the Elastic Consensus also permits a turnover of all Council nodes, ensuring the Council remains current and effective.
Elastic Consensus Similar to Government Checks and Balances
The Elastic Consensus employs a system of checks and balances among three consensus protocols: Auxiliary Proof of Work (AuxPoW), Bonded Proof of Stake (BPoS), and Proof of Integrity (PoI). This system is similar to the US government’s legislative and executive branches, with PoI acting as the judicial branch.
PoW miners assemble transactions into blocks. This action is akin to a legislative branch in the government proposing and passing bills. BPoS nodes perform a vital function to ensure these respective transactions are valid and will be rejected if not. Similar to government practices, BPoS nodes hold similar duties to an executive branch, being able to veto bills or, in this case, veto transactions trying to be passed on the blockchain.
Finally, the PoI, or CR Consensus acts as the third level of the Elastic Consensus, ruling on issues the standard system can’t reach a consensus on. It works similarly to a Judicial branch ruling on matters that haven’t been settled in previous court cases.
Upcoming Upgrade of the Elastic Consensus
BPoS Consensus Activation
The Elastos blockchain platform will shift from its current DPoS consensus mechanism to the new BPoS model. The BPoS consensus upgrade commences on March 30th and concludes upon reaching block height 1405000 (around April 15th), thereby initiating the transition phase.
During the transition phase, DPoS remains fully operational, and BPoS is implemented, while equity tokens for both DPoS and BPoS coexist, enabling normal operation of DPoS and facilitating nodes registration and staking/voting on BPoS nodes.
BPoS fully activates once at least 36 nodes attain 80,000 voting rights, after which the system will no longer revert to DPoS. Upon consensus shift to BPoS, only equity tokens for BPoS are required to participate in the consensus process.
BPoS vs DPoS
The consensus mechanisms of BPoS and DPoS share certain characteristics such as the use of ELA as a basis for consensus, selection of validators or delegates, provision of rewards for staking ELA, and penalization of misconduct. However, they differ significantly in their staking requirements, rewards distribution mechanisms, voting decentralization, validator selection criteria and others.
- Staking Requirements
In DPoS, token holders were only required to vote for delegates, and they would earn rewards based on the performance of the delegates they voted for. However, in BPoS, token holders must stake their ELA before casting their votes for Supernodes. Users can stake their ELA for a duration ranging from 10 to 1,000 days, in exchange for equity tokens that can be used to vote a node of their choice.
- Staking Rights
Unlike DPoS, where voters can select up to 36 nodes without any pledge time, BPoS requires ELA voters to pledge a certain number of tokens for one node, and a specific pledge time. The longer the pledge time, the more staking rights are gained. This provides a more robust and secure network by incentivizing ELA voters to hold onto tokens for a longer period of time.
- Pledge Time
As mentioned above, BPoS offers a minimum and maximum pledge time (10 and 1000 days) for staked ELA, presenting several advantages over DPoS’s lack of pledge time requirements. This pledge time contributes to a more stable and secure network by ensuring participants’ commitment for a specific time frame.
- Deposits for Node Registration
To register as a node in either BPoS or DPoS, a deposit is needed. In DPoS, a deposit of 5000 ELA was previously required, whereas only 2000 ELA for a minimum of 100 days is needed for BPoS. This reduction in deposit requirements substantially lowers the barrier to entry for potential nodes, enabling more participants to join the network’s consensus process. Ultimately, this decrease in the entry barrier results in a more decentralized network, which enhances the network’s security and stability.
- Nodes Activation
In the BPoS, nodes are required to obtain a minimum of 80,000 staking rights to become active and participate in the validation of blocks. This requirement serves as a threshold to ensure that only nodes with substantial support from the community can contribute to the network’s security and stability. As currently constructed in DPoS, there is no set amount of staking rights necessary for the full activation of a node.
By implementing a specific threshold for node activation in BPoS, the system aims to create a more consistent and reliable network.
- Reward Distribution
In BPoS, the ELA rewards are automatically distributed to the node owners (25%) and their stakers (75%) through blockchain code, ensuring that node owners and stakers receive their fair share of rewards. However, in DPoS, elected delegates are responsible for allocating the block rewards to their voters. This change in reward distribution reduces the risk of arbitrary yield payouts given by the elected delegates, leading to a more decentralized and fair network.
- Validator Selection
For each new cycle of 36 blocks, the DPoS model selects the top 22 voted nodes as validators with a rotation of 2 stand-by nodes from the previous cycle, providing limited opportunities for all nodes to participate. In contrast, BPoS selects 36 nodes randomly, including CR nodes, for block validation, creating a more decentralized, secure, and resilient network with equal participation opportunities for all eligible nodes.
- Equity Token System
BPoS incorporates an equity token system that enables staked ELA to engage in various community activities on the main chain during the staking period. These activities include electing CR Council members, vetoeing Proposals, impeaching CR Council members, and more.
The system enhances transparency, accountability, and decentralization by allowing the community to play an active role in community governance.
- Voting Decentralization
When choosing validators for BPoS, voters should consider various factors to optimize their staking return and reduce risks. For instance, voters should prefer validators with lower staking rights to increase mining rewards, but avoid those with less than 80,000 total staking rights as they become inactive. Additionally, voters should prioritize validators with similar or longer pledge time for the majority of staked tokens on the node.
This stands in contrast to the top-heavy voting system of DPoS, where voters typically cast their vote for the top nodes, leaving other nodes with fewer votes and less participation in consensus. The shift to BPoS is significant as it promotes more decentralization and inclusivity.
How to Participate in Elastic Consensus
As stated above, three layers are involved with the overall Elastic Consensus mechanism. AuxPoW provides additional hash power to give the main chain robust protection via Bitcoin mining. BPoS combines Elastos Supernodes and ELA stakers to give the network another layer of protection from erroneous activity. The third layer of the Elastic Consensus is PoI. This democratically elected group gives another added benefit to the Elastos blockchains. Below are ways in which people can participate in each respective aspect of the Elastic Consensus.
Auxiliary Proof of Work
The ELA coin is highly accessible to all Bitcoin Proof of Work miners all around the world. Popular Youtuber Voskcoin created a video in 2022 about the merged mining process Elastos employs with the most secure blockchain in the world, Bitcoin.
F2pool is one pool set up to mine the ELA token via their BTC mining operation. F2pool has been integrated with the Elastos main chain since 2019. Review the instructions they provided a few years ago to properly add your ELA address in F2pool and start receiving ELA rewards along with the BTC mined. ViaBTC is the other Bitcoin mining pool that participates in ELA merged mining.
Bonded Proof of Stake
There are two ways to participate in the new BPoS layer of Elastic Consensus. One aspect of this mechanism is becoming a node. The second way to engage in BPoS is becoming a staker/voter for those said validators or Supernodes.
Become a validator
The first way to join the BPoS part of Elastic Consensus is to become a Supernode. Prospective nodes should refer to the Quick Setup guide and make sure they meet the requirements on Dev Portal to set up a node for Elastic Consensus.
When a node is registered, it is inactive and cannot contribute to block consensus. However, it can begin accepting stakers who wish to stake their tokens on it. Once the total staking rights of all stakers on a particular node surpasses 80,000, the node becomes activated and can participate in the Elastic Consensus. Validators become inactive if they do not pledge their ELA in time of the expiration date.
Detailed tutorials on how to register your node on Essential wallet will be provided on the Info site soon. (Update on Mar 28th, 2023: Please find the link to the tutorial at the end of this article.)
Become a staker
Users can stake their ELA and vote using the Essentials wallet to participate in BPoS. Rewards increase with the amount of ELA staked and the specific pledge time. After pledging a certain amount of ELA for a set duration, users can vote for their preferred Supernodes. Users can also unstake their ELA and claim rewards through the Essentials wallet.
Detailed tutorials on how to stake and vote on Essential wallet will be provided on the Info site soon. (Update on Mar 28th, 2023: Please find the link to the tutorial at the end of this article.)
Proof of Integrity
Each year, Cyber Republic goes through an election to select 12 Council seats that comprise the third stage of the Elastic Consensus, Cyber Republic Consensus (CRC). This type of consensus is referred to as Proof of Integrity (PoI). The Elastos community reviews the candidates of CR Council to determine who’s fit to serve on behalf of CR DAO. Once all votes are casted, the top 12 seats are elected onto the Council.
The Council plays a crucial role in the Elastic Consensus. They are responsible for voting on Proposals that could impact the Elastos ecosystem. The Council also plays a role in promoting community suggestions into proposals. There have been plenty of proposals that have impacted the Elastos ecosystem such as Elacity, Feeds, and the BPoS consensus. To learn more about how to participate in the annual CR Council elections, please refer to this Guide on Info site.
Each Council seat operates a Supernode, and all Council nodes are active and constitute a portion of the total active nodes utilized in the daily operations of the BPoS mechanism. Moreover, the 12 CR Council nodes are responsible for participating in the consensus process of Elastos side chains.
Yipeng Su’s Proposal on BPoS stems from its ability to address fundamental issues within the Elastic Consensus. By introducing this proposed staking model, ELA can effectively be locked to increase scarcity while promoting user rotation and choice to increase competition. Additionally, this model could lower the entry cost for new participants and introduce an Elastos equity token specifically for main chain activities.
Merged mining with Bitcoin, the enhanced BPoS and trusted PoI create a multi-level consensus mechanism that provides exceptional security, decentralization, and stability to a robust Elastos network. Overall, the new Elastic Consensus has the potential to bring significant benefits to the Elastos community and ecosystem.