Deep dive into Ethereum 2.0 rewards, penalties and slashing
Let’s now discuss how the numbers affecting your validator’s ETH balance get calculated. A key unit of account that will frequently appear is base_reward.¹
There are three ways a validator can get rewarded.
1. Proposer rewardsAfter you successfully propose a block as a validator, your rewards will be based on:
2. Attestation rewardsAfter you submit attestation votes as a validator, your rewards will be based on:
3. Whistleblower rewardsOnce a slashable offense is observed and gets reported, the whistleblower and the block proposer who includes the whistleblower’s report will be rewarded.³ Some of the rewards are diverted to the proposer in order to incentivize a swift inclusion of slashing events to the network.
- Proposer including the whistleblower’s report
Penalties are relatively minor compared to slashing and will not result in validators getting kicked out. There are two ways that validators will be penalized.
1. Offline penalty (either submitting incorrect attestations or missing attestations)
2. Inactivity leak penaltyInactivity leak is a mechanism that kicks in if the network is unable to reach finality for 4 consecutive epochs. All validators who are offline, effectively causing the finality delay, will see their balance decrease over time so that the network will have enough participating stake to reach ⅔ majority attestation votes and achieve finality.⁴
Slashing has some severe consequences. As a reminder, there are three ways a validator can get slashed: proposing two different blocks in a single slot, submitting two different Casper FFG attestations in a single epoch and submitting a Casper FFG attestation that completely surrounds another Casper FFG attestation. The amount of ETH that gets slashed is identical for all three instances.
- Amount slashed on the first block where a validator is found guilty
- Amount slashed 4,096 epochs (≈ 18 days) after the validator is first found guilty⁵
- Amount slashed every epoch until the validator gets ejected from the active set in 8,192 epochs (≈ 36 days)
Moving to the Beacon Chain from Ethereum 1.x
During Phase 0, Ethereum 1.x will coexist with the Ethereum 2.0 Beacon Chain. To get started as a validator on the Beacon Chain, ETH will need to be transferred from Ethereum 1.x to Ethereum 2.0 through the deposit contract. When interacting with the deposit contract, you will need to submit the following information: the amount of ETH you want to move, your Ethereum 2.0 public withdrawal key and Ethereum 2.0 public signing key. Any ETH you send to the deposit contract will no longer be usable on Ethereum 1.x.
Block proposers on the Beacon Chain will be observing and reporting the Ethereum 1.x state. Once more than half of the proposers agree, deposits will start to be processed on Ethereum 2.0. To reduce the risk of including re-organized blocks , Ethereum 1.x state from at least 1,024 Ethereum 1.x blocks old (≈ 4 hours) will be considered.⁶
The Beacon Chain will not begin as soon as ETH starts flowing over from Ethereum 1.x. There needs to be enough validators online in order to ensure that security is guaranteed from Genesis. There must be at least 128 committees on the network to guarantee that even if ⅓ of the network’s validators are malicious, they can not take over any single validator committee.⁷ To sum that up, that is a total of 16,384 validators (128 validators in each of the 128 committees) required to start the Beacon Chain. In ETH terms, that is 524,288 ETH staked (roughly 0.5% of all ETH).⁸
If you made it this far, you are ready to start staking ETH! There are plenty of more things to learn about Ethereum 2.0. We recommend taking a look through all the resource links we provide. We want a decentralized Ethereum 2.0, so we will share how you can run your own validators. If you are looking to delegate this task off to a third-party, we will cover some details on this part as well!