If you're coming to Polkadot from Ethereum – whether out of curiosity or necessity – you're probably wondering how they differ. This series will help you learn exactly that. Note that we assume basic knowledge of Ethereum 2.0.
In the first part of this series, we explained how each of the two systems approaches sharding: the splitting of transaction processing workloads across many smaller connected chains.
A followup post explored the method of on-chain governance in each system, and introduces the concept of Treasury proposals.
More recently, we explained how the two systems approach their token economics, and we explained Polkadot's on-chain Treasury in depth.
In this article we'll explain the staking model differences between Ethereum 2.0 and Polkadot.
Staking Model Differences
Both systems have their rewards and punishments.
Ethereum 2.0 will use a pure proof of stake model where in order to produce blocks for the network – that is, to become a validator – a user needs to submit 32 ether into the system as a guarantee that they will do good work. Due to requiring a fixed amount of ether as a stake, Ethereum will practically do away with large staking pools and incentivize individual stakers. By using BLS signatures – a cryptographic algorithm which allows for compression of many signatures into one – Ethereum hopes to support hundreds of thousands of validators in the system. The validators are randomly assigned to certain shards from which they get blocks to validate. Once validated, they include crosslinks (shard headers plus some other information) on the Beacon Chain.
Ether inflation will depend on the amount of stake in the system. As per this table from EthHub.io:
In short, as Ethereum 2.0 launches phase 0 – the beacon chain – it will only finalize the Proof of Work chain and have little other use. Issuance will increase slightly due to both chains creating new ether. As Phase 2 launches and shards come into play, Ethereum 1 will have a dramatically reduced issuance with most new ether being minted on Eth2.0 at a rate matching the table above. This is where the term minimum necessary issuance we've mentioned in the previous part comes from.
Polkadot uses Nominated Proof of Stake (NPoS). Validators signal their intention to become validators with a special on-chain transaction. Nominators – regular DOT / KSM holders – can then nominate validators to increase the amount of tokens staked on their target validator's account. A validator could technically be a validator with zero of their own tokens.
The nominators do not send the tokens to the validators, the validators cannot spend the nominators' tokens. However, the nominators are not without risk (see Penalties).
The top X validators by total stake (validator's stake + nominators stake behind the validator) where X is a governance-defined value will be selected as validators of the system. A subset of these validators will be selected as block producers for every era. The block reward produced by the system is split between the Treasury and the validators in a ratio which depends on the total amount of active stake in the system, as described in a previous post.
The desired inflation for Polkadot is 10% per year, and it will vary depending on the amount of stake in the system.
Ideally, at 50% of all tokens actively staked, the block reward will go 100% to the validators and nominators, and the inflation will be 10%.
Regarding rewards, the validators can set a percentage value as a fee to subtract from the block reward. This amount is awarded first, then the rest is distributed between the validator and their nominators in proportion to the stake each party has in that one pool of DOTs or KSM tokens.
The block reward given to a validator and his nominators is not proportional to the amount of stake they have active. If, for example, out of 150 validators the top two have 1000 DOT and 100 DOT staked respectively, both are given the same amount of DOT for producing a block.
At this point, this must seem similar to Delegated Proof of Stake (DPoS) if it's a system you're familiar with. The difference from DPoS is that in NPoS, nominators can also get punished when their validator is punished.
In Ethereum, there are two levels of punishment. The first level is called a penalty. It is milder and only takes a part of one's stake. This occurs when a user is offline for a long time, or if they sign illegal blocks.
The second level is called slashing in Ethereum and implies a total loss of stake. This happens when a lot of users are offline at the same time or when a lot of users execute a provable attack on the network. The phrase a lot of users is key here – a single user cannot do much harm to a network, and a mistake can happen for any reason. Ethereum is purposefully lenient in punishments in order to encourage people to run home and hobby setups with their validators. In any case, when a user's staked balance falls beneath a certain threshold, they are kicked from the validator set and need to re-qualify by topping up and re-submitting their stake into the system.
In Polkadot, there are four levels:
Misconducts that are likely to happen eventually to most validators, such as isolated cases of unresponsiveness.
Misconducts that can occur in good faith, but show bad practices. Examples are concurrent cases of unresponsiveness, and isolated cases of equivocation.
Misconducts that are unlikely to happen in good faith or by accident, but do not lead to serious security risks or resource use. They show 1) a concerning level of coordination/correlation among validators, 2) that the software of the validator node has been modified, 3) that a validator account has been hacked, or 4) that there is a bug in the software (if this last case is confirmed, any slashing is refunded). Examples are concurrent cases of equivocation, or isolated cases of unjustified voting in Grandpa.
Misconducts that 1) pose a serious security risk to the system, 2) show large levels of collusion among validators, and/or 3) force the system to spend a large amount of resources to deal with them.
The punishment in Polkadot is called slashing regardless of the amount of stake confiscated.
In Polkadot, the punishment is proportional to the stake, which means that “fatter” validators will get punished more and, by extension, their nominators will too. Such a setup encourages nominators to nominate less popular validators. This rebalancing is further augmented by Phragmen's algorithm – a process which automatically evenly distributes a nominator's stake between the selected validators in such a way that these nominated validators end up as close to the stake of the other validators in the system as possible. With these equalization methods in place, it is assumed that once Polkadot launches the validators will all have roughly equal stake.
In the next part, we'll talk about block production and finalization, explaining how each chain keeps growing and guaranteeing data consistency.
If you missed the previous parts: