Phase0 - Beacon Chain Flashcards
(36 cards)
The BeaconState encapsulates all of the information relating to:
- Who the validators are
- Which state the validators are in
- Which chain in the block tree this state belongs to
What is the number of shard supported in Ethereum POS
64
The ethereum beacon chain supports how many shards per slot?
64
To enable state transitions, the beacon chain has a state_transition function which takes as input a _________ and a _______ and returns a new ___________
To enable state transitions, the beacon chain has a state_transition function which takes as input a BeaconState (pre state) and a BeaconBlock and returns a new beacon state (what we call a post state)
source: https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What is the pre state
The beacon state before a state transition
What is a post state
The beacon state after a state transition has been applied
What are needed for state transition in beacon chain?
- A pre state (Beacon state)
- A beacon block
- State transition function
When is the post state of a beacon block considered valid?
> Beginning with the genesis state, the post state of a block is considered valid if it passes all of the guards within the state_transition function
https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What does the fork choice rule do?
> Given a block tree, the fork choice rule provides a single chain (the canonical chain) and resulting state based upon recent messages from validators
> The fork choice rule consumes the block-tree along with the set of most recent attestations from active validators, and identifies a block as the current head of the chain
https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What does LMD GHOST stand for?
Largest Message Driven Greedy Heaviest Observed Sub Tree
What is the fork choice rule of the Beacon Chain?
LMD GHOST (“Latest Message Driven Greedy Heaviest-Observed Sub-Tree”),
How many attestation can a validator make within a slot within an epoch?
1
How long is a slot?
12 seconds
How many slots make an epoch?
32 slots
How long is an epoch?
12 seconds * 32 = 384 seconds = 6,4 minutes
A validator attests to what via their vote?
A beacon block
In addition to voting on the canonical chain (via the LMD GHOST algorithm), validators also contribute to deciding what? for blocks.
> In addition to voting on the canonical chain, validators also contribute to deciding finality of blocks. a process that tells us when a Beacon block can be considered final and non-revertible.
source: https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What is the difference between fork choice rule and finality?
> In other words, whereas the fork choice rule allows us to choose a single canonical blockchain through the block tree, finality provides guarantees that certain blocks will remain within the canonical chain.
source: https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What is the algorithm used by the beacon chain for finality called?
A modified version of Casper FFG.
What does Casper FFG stand for?
Casper the Friendly Finality Gadget
What is a finality gadget
> “Finality gadget” is a component that overlays any Nakamoto-inspired block proposal mechanism and provides deterministic finality with safety robust against network failure (asynchronous safety, Footnote 1). This idea is initially proposed by Casper FFG and now adopted by Polkadot (GRANDPA 5), NEAR (Nightshade Finality Gadget 6), and Concordium (Afgjort 4).
Source: https://ethresear.ch/t/hierarchical-finality-gadget/6829
What does Casper FFG provides?
> Casper provides “accountable safety” that certain blocks will always remain in the canonical chain unless some threshold of validators burn their staked capital. This is a “crypto-economic” claim of safety rather than a more traditional safety found in traditional distributed systems consensus algorithms.
source: https://notes.ethereum.org/@djrtwo/Bkn3zpwxB
What are the 3 primary responsibility of a validator?
- Attesting to the beacon chain (once per epoch).
- Aggregating attestations from validators in the same committee (occasionally).
- Creating beacon blocks when selected (infrequently).
How are validators distributed across committees, slots and epochs?
Validators are grouped into a single committee, per slot per epoch. Each validator attests to a block in a slot. If validator is not block proposer or aggregator, then each validator in the committee attests to the head of the beacon chain (and the recent data of their assigned shard) at their assigned slot.