Table of Contents
Fetching ...

Combining GHOST and Casper

Vitalik Buterin, Diego Hernandez, Thor Kamphefner, Khiem Pham, Zhi Qiao, Danny Ryan, Juhyeok Sin, Ying Wang, Yan X Zhang

TL;DR

Gasper presents a formal, abstract PoS protocol that fuses Casper FFG with LMD GHOST to achieve safety and liveness guarantees for a beacon-chain-like system. It introduces epoch-boundary pairs, HLMD-GHOST, and slashing-based incentives, and provides safety and probabilistic liveness proofs alongside a plausible liveness argument. The work separates mathematical core from implementation details, offering insights into sharding, view management, and delays, while acknowledging practical patches that may alter assumptions. Overall, Gasper offers a rigorous foundation for consensus in Ethereum 2.0-style systems and a framework for extending PoS analyses to real-world deployments.

Abstract

We present "Gasper," a proof-of-stake-based consensus protocol, which is an idealized version of the proposed Ethereum 2.0 beacon chain. The protocol combines Casper FFG, a finality tool, with LMD GHOST, a fork-choice rule. We prove safety, plausible liveness, and probabilistic liveness under different sets of assumptions.

Combining GHOST and Casper

TL;DR

Gasper presents a formal, abstract PoS protocol that fuses Casper FFG with LMD GHOST to achieve safety and liveness guarantees for a beacon-chain-like system. It introduces epoch-boundary pairs, HLMD-GHOST, and slashing-based incentives, and provides safety and probabilistic liveness proofs alongside a plausible liveness argument. The work separates mathematical core from implementation details, offering insights into sharding, view management, and delays, while acknowledging practical patches that may alter assumptions. Overall, Gasper offers a rigorous foundation for consensus in Ethereum 2.0-style systems and a framework for extending PoS analyses to real-world deployments.

Abstract

We present "Gasper," a proof-of-stake-based consensus protocol, which is an idealized version of the proposed Ethereum 2.0 beacon chain. The protocol combines Casper FFG, a finality tool, with LMD GHOST, a fork-choice rule. We prove safety, plausible liveness, and probabilistic liveness under different sets of assumptions.

Paper Structure

This paper contains 40 sections, 13 theorems, 22 equations, 13 figures, 1 table, 3 algorithms.

Key Result

Theorem 3.2

Two checkpoints on different branches cannot both be finalized, unless a set of validators owning stake above some total provably violated the protocol (and thus can be held accountable).

Figures (13)

  • Figure 1: A graph visualization of a view (only visualizing blocks and not other messages) that occurs in the types of protocols we care about.
  • Figure 2: An ideal view with both blocks and attestations.
  • Figure 3: An example of the LMD-GHOST fork-choice rule. The number in each block $B$ is the weight (by stake), with all attestations (circles) having weight $1$ in our example. A validator using this view will conclude the blue chain to be the canonical chain, and output the latest blue block on the left, with weight $3$, to be the head of the chain.
  • Figure 4: Example of epoch boundary blocks and pairs. Blocks are labeled with their slot numbers. "$63$" is not an actual block but illustrates the perspective of $66$ needing an epoch boundary block at slot $64$ and failing to find one.
  • Figure 5: A validator's view $G$ as she writes an attestation in epoch $3$. During epoch $1$, latency issues make her not see any blocks, so block $64$ is both $\mathsf{EBB}(193,1)$ and $\mathsf{EBB}(193,2)$. She ends up writing an $\alpha$ with a "GHOST vote" for $\mathsf{block}(\alpha) = 193$ and a "FFG vote" checkpoint edge (single arc edge) $(64, 2) \xrightarrow[]{\mathsf{V}} (180, 3)$ for $\alpha$. We use slot numbers for blocks, so block $0$ is just $B_{\text{genesis}}$. Blocks in red are justified (in $G$). Double edges corresponding to supermajority links.
  • ...and 8 more figures

Theorems & Definitions (53)

  • Example 2.1
  • Example 2.2
  • Example 2.3
  • Definition 2.4
  • Remark : Syntax versus Semantics
  • Remark
  • Remark
  • Definition 3.1
  • Theorem 3.3: Plausible Liveness
  • Remark
  • ...and 43 more