Deeper dive into Ethereum 2.0: Part 2

JK | stakefish
stakefish
Published in
6 min readSep 17, 2020

Missed Part 1? Read it here.

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

Staking rewards²

There are three ways a validator can get rewarded.

1. Proposer rewards
After you successfully propose a block as a validator, your rewards will be based on:

2. Attestation rewards
After you submit attestation votes as a validator, your rewards will be based on:

3. Whistleblower rewards
Once 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.

  • Whistleblower
  • Proposer including the whistleblower’s report

Penalties

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 penalty
Inactivity 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

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.⁶

Initiating Genesis

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!

[1] Danny Ryan, “Phase 0 for Humans [v0.10.0] — process_rewards_and_penalties,” retrieved July 16, 2020, https://notes.ethereum.org/@djrtwo/Bkn3zpwxB?type=view#process_rewards_and_penalties.

[2] Carl Beekhuizen, “Validated, staking on eth2: #1 — Incentives,” January 13, 2020, https://blog.ethereum.org/2020/01/13/validated-staking-on-eth2-1-incentives/.

[3] For Phase 0, the full reward will be given to the proposer since a rational block proposer can simply present the slashing report as their own. See, Ethereum 2.0 specs issue #1631, https://github.com/ethereum/eth2.0-specs/issues/1631.

[4] It will take roughly 21.4 days for the inactivity leak to cut an offline validator’s balance by half. Ben Edgington, The Eth2 Annotated Spec, retrieved July 22, 2020, https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/configuration/#rewards-and-penalties.

[5] Correlated slashing is baked into the slashing formula. The more validators get slashed around a similar time frame, the more severe the slashing amount will be. This discourages validators from relying on identical infrastructure stacks. Read more on the motivation for this mechanism, Vitalik Buterin, Serenity Design Rationale, retrieved July 22, 2020, https://notes.ethereum.org/@vbuterin/rkhCgQteN?type=view#Slashing-and-anti-correlation-penalties.

[6] The block time for Ethereum 1.x has been hard coded into the Ethereum 2.0 spec as 14 seconds. Coinbase requires at least 35 block confirmations before processing Ethereum 1.x deposits/withdrawals. Therefore, waiting for 1,024 blocks is extremely conservative. See, https://help.coinbase.com/en/coinbase/trading-and-funding/sending-or-receiving-cryptocurrency/why-is-my-transaction-pending and https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/beacon-chain.md#genesis.

[7] The exact number of committees required is 111. However, for easier memorization and calculation, 128 (= 27) has been selected. Chih-Cheng Liang, “Minimum Committee Size Explained,” July 12, 2019, https://medium.com/@chihchengliang/minimum-committee-size-explained-67047111fa20.

[8] Prior to Genesis, the activation queue that typically applies to newly joining validators will not be applied. There will be no limit to the number of validators that can join each epoch.

--

--