November 22, 2021
A non-exhaustive list of key terms to help you understand the eth2 protocol
Want to learn more about eth2 and how it works? Check out the Coinbase Cloud guide to eth2.
A window of time between submission of an eth1 deposit to the eth2 deposit contract and activation of a validator in the eth2 network. The queue exists because only four validators can enter the network per epoch; it becomes longer as more validators enter.
A list of all validators with a balance greater than 32 ETH. These are the validators that are eligible to participate in validation.
Those that have completed the activation queue, are not in an exit queue, and have effective balances greater than 32 ETH.
How validators vote in eth2 to reach consensus on the state of the network. On eth2 the primary source of load on the Beacon Chain is “attestations.”
Attestations in Phase 0 are consensus votes that include information about: (i) the target slot, (ii) the last justified checkpoint (the “source” checkpoint), and (iii) the next proposed justified checkpoint (the “target” checkpoint). Every active validator must attest once in each epoch.
The central controller of the eth2 system. It holds together eth2’s shards while enabling consensus and cross-shard communication. It also maintains a registry of validator addresses, the state and balance of each validator, attestations, and links to shards (a blockchain network’s data split into small partitions to support scalability). It is the coordination mechanism of the eth2 network, implementing its proof of stake consensus mechanism.
This follows and reads the Beacon Chain, akin to an Ethereum GETH node on the 1.x proof of work chain.
The validator responsible for building a block during any given slot. The block proposer is pseudo-randomly selected by RANDAO to build a block in a slot.
This stands for Casper the Friendly Finality Gadget and makes the final decision on which blocks are part of the chain . Also provides security by finalizing epochs.
The first block of an epoch, where all the validators for the epoch are decided, along with committees of attesters for the next epoch. The eth2 protocol uses checkpoints as benchmarks for blockchain time. For example, finality is achieved by counting votes from validators towards source and target checkpoints.
A subset of randomly selected validators, assigned to a slot, who serve as attestors. eth2 committees review proposed beacon blocks and shard blocks then vote on them. Within each slot, the first committee member has the chance to propose a block, to which all others must attest.
The minimum committee size is 128 attesters, and the maximum about 5,000. As the active validator set increases, so will the number of committees. There can be a maximum of 64 committees per slot.
This smart contract on the Ethereum 1.X chain allows users to create validators in eth2 by moving ETH from Ethereum 1.X on to the eth2 Beacon Chain in 32 ETH chunks. The contract is unidirectional: once ETH is moved, it cannot be withdrawn until a later phase of the merge. You can track any activity related to the deposit contract here.
The time between a slashable offense occurring and the validator responsible having their funds slashed as a result.
eth2's detection delay is the delta between the slot or epoch in which a slashable offense was committed and the slot or epoch in which the violation was actually slashed.
The 32 ETH a validator uses for consensus, regardless of how much higher their overall ETH balance is.
The effective balance is the amount of ETH actually actively participating in consensus in an eth2 validator, equal to 32 ETH.
Because validator balances change every epoch, it is computationally expensive to continually use new balances. The effective balance is essentially the validator balance rounded (in a special way) to a whole ETH number. Even if a validator accrues 2 ETH from rewards, bringing their balance to 34 ETH, only 32 ETH will actively participate.
The main time-measurement unit in eth2. Each epoch comprises 32 slots in which blocks can be proposed. An epoch corresponds to about 6.4 minutes.
The waiting period for validators leaving the eth2 protocol. Validators exiting the protocol are put in a queue four epochs long before they can leave.
Validators in the exit queue do not actively participate in consensus but can still be slashed for violations that took place while they were active.
When a validator leaves the network on eth2. This can be voluntary or enforced by the protocol following a rule violation. Even if a validator voluntarily exits in Phase 0, they can’t withdraw locked ETH until Phase 1.5 is activated.
Voluntary exit: a 4-epoch delay and 2^8-epoch wait until balance can be withdrawn. The validator will be slashed if misbehavior is found during the delay
Insufficient balance: a validator that is penalized (e.g. for being offline too long) will have its balance decreased. Once it falls below 16 ETH, the validator is forcefully ejected from the network. It is possible to top up a validator on ETH2 through an additional deposit of at least 1 ETH into the deposit contract.
Slashed and exited: as soon as a validator has been slashed, they begin the exit process. They can only withdraw the remainder of their stake in 2^13 epochs (36 days).
The state a chain achieves when a block (and its contents — e.g. transactions) can no longer be changed without a large percentage of stake being destroyed. eth2 guarantees finality, with a target of two epochs to reach it, at any point in time. To reach finality, two thirds of active validators need to get their attestations included on chain.
The rounding factor that affects the validator balance to give the effective balance. Once the validator balance falls by .25 ETH below a whole number (i.e. from 32 ETH to 31.75 ETH), the effective balance drops from 32 ETH to 31 ETH. To bring it back to 32, the validator balance must be 1.25 ETH above the whole number (i.e. once it hits 32.25 ETH, the effective balance rises from 31 to 32 ETH).
Inactivity Leak Penalty
A countermeasure that comes into effect if the network stops finalizing blocks due to a large number of validators going offline simultaneously.
The period between a validator being called to do work and that work’s inclusion on chain. In eth2, it is the delta between the slot that a validator is called to attest in, and the slot that includes their attestation on chain. This takes a minimum value of 1 — for example, if the validator has been allocated an attestation duty on slot x in epoch y, their attestation will be included in slot x+1 (minimum).
A product of attester votes on checkpoints being included on chain. The goal of justification is to decide which checkpoint is the head of the Beacon Chain.
If two thirds of active validators agree a source and target checkpoint pair so the source epoch is justified, the target epoch is also justified. If two epochs in a row are justified — with an arbitrary gap allowed between them to allow the chain to finalize eventually, even under extreme conditions when the majority of validators have been offline for an extended period of time — the first one is deemed finalized.
This stands for Last Message Driven Greediest Heaviest Observed SubTree. It is the module that adds new blocks and decides what is the head of the chain.
The method by which eth2 achieves enough randomness for various assignments (e.g. validators, committees, and slots.)
A collection of deviations from protocol rules that result in slashing.
Double proposal: when the proposer for a specific slot signs two different blocks for the same slot. It often results from operators running multiple instances of their validators, meaning they have their signing keys in two or more machines. See here for an example.
Double vote/attestation: when two different attestations for the same source and/or target checkpoint are included in the same epoch. See here for an example.
Surround vote/attestation: when two different attestations from the same validator are included on chain, such that the source [s] and target [t] votes of the first attestation “surround” those of the second i.e. s1>s2>t2>t1. See here for an example.
A period of time in which a block proposer may propose a block. This is the most granular measurement of “on-chain” time.
The amount of ETH staked on an eth2 validator.
A node that holds validators. Technically, it can also serve simultaneously as a beacon node, but this is not advisable as it will be at risk of Denial-of-Service (DoS) attacks. The validator client will connect to public-facing beacon nodes to allow its validators to participate in consensus.
An entity that directly participates in consensus on eth2. To operate a validator, one must put 32 ETH in the eth2 deposit contract on the Ethereum 1.X chain. Each eth2 validator is primarily identified by a public_key and validator_index.
Weak subjectivity period
An arbitrarily long length of time after a slashable offense has been committed during which the validator, who committed it, can still be slashed. In practice, this means slashing proofs can be included on chain (and slashings enforced) long after the offense actually occurred.