The 2nd Community Council — All You Want to Know from PlatON’s Consensus Mechanism and Economic Model (I)
In PlatON’s 2nd community council hosted on Mar.17, 2020, PlatON Chief Architect Mr. Shenglin Li and Head of PlatON Tech Community Mr. Zhijing Fu shared further details about PlatON’s consensus mechanism, economic model and the update of LatticeX Grants program with all node partners and community members.
Introduction of PoS Consensus Mechanism
Mr. Li: There are four kinds of PoS consensus mechanisms:
1. Chain-Based, the first and second generations of PoS that choose the validators based on the token they hold to product blocks pseudorandomly. Part of the Chain-Based PoS are PoS+PoW that product blocks under PoW and choose the validators to verify newly produced blocks under PoS. Ethereum Casper 1.0 is a typical PoS+PoW consensus mechanism and helps facilitate the transformation from PoW to be PoS;
2. DPoS, each token holder can delegate the power to some representatives to produce and verify blocks;
3. VRF to select validators randomly, Dfinity, Cardano and Algorand all apply VRF consensus mechanism;
4. BFT to confirm new blocks through multiple elections after selecting validators, Tendermint, Stellar, Ontology, Zilliqa, NEO all apply BFT consensus mechanisms.
PlatON’s PPoS consensus mechanism is the combination of VRF + PoS + BFT.
Introduction of PlatON’s Consensus Mechanism
Mr. Li: There are three kinds of nodes in PlatON’s consensus mechanism:
1. Alternative candidate validators. To become an alternative candidate validator, one should stake at least 1M LAT;
2. Alternative validators. When the last block of each settlement interval (a staking interval after 10750 blocks produced, usually lasts for 3 hours) produced, we will choose 101 alternative validators from the alternative candidate validators;
3. Validators. Each settlement interval has plenty of consensus intervals (a consensus interval after 250 blocks produced), and we will select 25 validators for the next round of consensus interval after the 230th block is produced.
Staking & Delegation
Mr. Li: The whole PlatON ecosystem is open to all PlatON supporters around the globe. Everyone can stake at least 1M LAT to become an alternative candidate validator. The staked LAT will be locked in a staking interval, and will be locked in the next staking interval if not be redeemed. The staked LAT can be redeemed any time, however, in consideration of the double-sign and double-spending issue, the staked LAT will be returned to the original wallet address after 28 staking intervals.
All community members can delegate their LAT to candidate validators, alternative candidate validators, and validators in verifying. The delegated LAT will be locked in a staking interval, and will be locked in the next staking interval if not be redeemed. The staked LAT can be redeemed any time, and returned to the original wallet address immediately after the redeem required.
Selection of Alternative Validators
Mr. Li: To become an alternative candidate validator, one should initiate the transaction of creating a validator to do staking. The staking will take effect in the next settlement interval, and the staked LAT will not be locked until the next settlement interval.
The last block of each settlement interval is the settlement block, and when the last block is produced, the top 101 alternative candidate validators will be the alternative validators of the next settlement interval.
Selection of Validators
Mr. Li: There will be 250 blocks produced in each consensus interval, when the 230th block is produced, the validators for the next consensus interval will be elected from the 101 alternative validators. The validators in the first consensus interval are built in the genesis block.
To prevent the newly selected validators from effecting the efficiency of consensus due to network connection issues, block asynchronization, etc, and ensure the tolerance and continuity of consensus, only parts of 25 validators will be replaced. Currently, only 8 validators will be replaced, that is to say, the rest 17 validators will be reserved to the next settlement interval and keep producing blocks as usual. Each one of the 17 validators will be reserved to at most 3 settlement intervals, otherwise it will be replaced. The candidate validators that have been punished, not upgraded, and cancelled staking are not qualified for being selected out in the next consensus interval.
In general, the higher staking the alternative validators has done, the more likely to be selected as the validators under VRF they are. The possibility to be selected is highly related to the number of staking.
Block Production under CBFT
Mr. Li: When the 25 validators are selected out from the candidate validators, PlatON’s consensus mechanism will run CBFT protocol to produce and verify the new blocks. The features of CBFT are shown as follows:
1. In order to decrease the communication complexity, CBFT combines View change and the normal block production process. When 10 blocks are produced in each View, the next View starts;
2. Apply BLS Aggregate Signature to decrease the number of communications by integrating multiple signatures into a signature;
3. Enable quantity production of blocks in a View without any confirmation, and the parallelization of block production and block verification.
What need to be emphasized is that the 25 validators take turns to product blocks and each validator produces 10 blocks. If the number of blocks the previous validator produced are less than 10, the next validator can continue producing blocks. If there are less than 250 blocks in a consensus interval, then continue until 250 blocks are produced.
Mr. Li: All alternative validators can vote for the governance proposal, and each proposal can be voted once. Notice that each proposal is valid in multiple intervals, and all new alternative validators can vote for the proposal in each staking interval.
Concerning the governance upgrade, alternative validators can initiate the vote transactions after upgrading their nodes during the voting interval. When the proposal gets approved after voting, the alternative validators that hasn’t upgraded will be downgraded to be the alternative candidate validators and are not qualified for participating in the consensus and getting reward. However, alternative candidate validators can upgrade and announce their transaction by releasing new versions to participate in the ranking for being validators.
Redemption of Staking and Delegation
Mr. Li: It’s very easy to redeem staking, however, the reward of staking will not be distributed immediately after redemption. Validators can redeem staking any time if they want to quit, and the staked LAT will be returned to the original wallet address immediately before the next staking interval. However, if the staked LAT gets locked, it won’t be returned to the original wallet address until 28 settlement intervals later.
Mr.Li: The initial coin offering will be distributed to accounts, parts of it will be distributed through locked position contract and parts of it will come into the bonus pool with LatticeX Foundation’s subsidy. The additional issuing in each year will come into the bonus pool, and the rest will be used as the development funds for community.
Both individual accounts and validators are able to stake and delegate, and the staked or delegated LAT will be locked in the staking pool. Staking pool is a contract where the LAT will come into the bonus pool in addition to being returned to the original wallet address if nodes cancel their staking and delegation. All staking reward and block production reward will come from the bonus pool, and be distributed to validators accordingly, and to delegation profit pool according to the delegation profit ratio set by validators. Notice that the delegation profit should be claimed by delegators themselves.
Mr. Li: PlatON’s reward mechanism mainly consists of node reward and delegation reward. The number of blocks produced every year will be calculated according to the average block production time in each staking interval, to ensure that the time duration of block production in each year is close to 365.25 days. Thus, in each staking interval, the total reward amount will be adjusted accordingly, the total reward amount in each year is the total amount of bonus bool in the beginning of each year, and the remaining yearly reward amount divides the rest staking intervals is the total reward amount in each staking interval.
Rewards for nodes are as follows:
1. Block reward: validators win rewards each time they produce a block successfully. The 50% of the total staking amount will be reserved as the block reward for 10750 blocks.
2. Service fee: validators win the packaging and transaction service fees taken place in the blocks they produced.
3. Staking reward: the 50% of the total staking amount will be used as the staking reward to distribute to all candidate validators when each staking interval finished.
Delegation rewards are distributed according to the delegation reward ratio set by nodes, and the delegation profit will come into the delegation profit pool. Delegators should claim the profit themselves.
Currently, block reward will be distributed to the accounts of block producers and deposited to the delegation profit pool according to the delegation reward ratio they set; while staking reward will come into the staking pool in the last block of staking interval to distribute to 101 candidate validators, and be deposited to the delegation profit pool according to the delegation reward ratio set by the 101 candidate validators.
Notice that the delegation reward ratio can be modified any time, however it will take effect in the next staking interval.
Mr. Li: We don’t have punishment mechanism for nothing-at-stake issue, but the one for malicious nodes instead to stop the behaviors that effect the system stability including double-sign, double-spending, long-term offline, violation of consensus protocol, etc.
Currently, there are two kinds of punishment mechanisms:
1. Zero block production: Once the validators haven’t produced any blocks in any consensus interval after been selected as the validators, they will be judged as zero block production in the 230th block of the next consensus interval. Even if they produced blocks, however, if the blocks haven’t been approved by other validators due to the network asynchronization, they will be judged as zero block production as well. Under this circumstance, we will enforce the cancel of staking, and return the staked LAT after 28 staking intervals later. Besides, there will be fine to the validators with zero block production,
2. Double-Sign/Double-Spending: as each signature is broadcasted using P2P, some validators may not be able to receive the signature update. Thus, the notifications of double-sign and double-spending are performed by report. There will be a period of validity for reporting double-sign, which is 28 settlement intervals. With regard to the double-sign/double-spending, we enforce the cancel of staking and charge 0.1% of the staked LAT as the fine in addition to locking the staked LAT for 28 staking intervals. The 50% of the fine will come into the incentive pool, among which the 50% will be used to reward the reporter and the rest 50% will come into the reward pool to compensate the whole community and to prevent validators from reporting themselves to unlock staked LAT without being frozen. Furthermore, the punishment parameters can be adjusted through governance voting.