This report provides a detailed description of the v2-prime protocol—an idealized variant of Cryptarchia v2-minus with unbounded window referencing—and develops a framework for defining security properties (safety/persistence and liveness) for DAG-based ledgers. We analyze these properties in the spirit of the GKL and PSS frameworks, and propose generalizations of chain growth and common prefix for the DAG setting.
1. The v2-prime Protocol: Idealized DAG Consensus
1.1. Protocol Overview
The v2-prime protocol is an idealized DAG-based consensus protocol, directly inspired by Cryptarchia v2-minus but with the following key modifications:
- Unbounded Reference Window: Each new block can reference any prior block in the DAG (i.e., the window size is infinite). This eliminates the possibility of "stranded" blocks and ensures that all honest blocks can always be referenced, regardless of age.
- Idealized Block Generation and Idealized Network: There is no network delay; in each round, a randomized process (e.g., a public-coin/Bernoulli process) determines which validators are eligible to generate blocks. Each eligible validator independently produces a block that references previous blocks. Once a block is referenced, it cannot be referenced again by future blocks. More discussions can be found in Idealized Block Generation and Idealized Network: Refined Model
- Ordering Decision Mechanism: When conflicts arise (e.g., double-spends or conflicting transactions), nodes resolve the order using the closest common ancestor (CCA) rule as defined in v2/v2-minus, or, alternatively, an idealized ordering process that decides the canonical order of conflicting transactions.
1.2. Detailed Protocol Steps
Block Production
- In each round, a set of validators is independently selected (via an idealized, unpredictable lottery) to produce blocks.
- Each block includes a set of transactions and references to a maximal antichain of prior blocks. Since the window is unbounded, the maximal antichain can include any set of blocks not reachable from each other in the full DAG.
Referencing Rule
- Every new block references as many previous blocks as possible, forming a maximal antichain in the entire existing DAG (not just a sliding window).
- There is no restriction on the age of referenced blocks; all prior blocks are eligible.
Conflict Resolution and Ordering
- If conflicting transactions or blocks are detected, nodes identify the closest common ancestor (CCA) of the conflicting blocks.
- The fork choice rule compares the cumulative weight (number of references in descendants) of each branch from the CCA; the branch with the highest weight is chosen as canonical.