LogUp

a lookup argument protocol that proves "set {f₁, ..., f_m} is contained in table {t₁, ..., t_n}" via an algebraic identity. used in cyber for cross-index consistency in the BBG — proving that the same edge hash appears in all required EdgeSets.

introduced by Haböck (2022). used in Polygon, Scroll, and cyber.

the problem

each cyberlink touches 3 EdgeSets (or 2 for self-links). the STARK must prove that the edge hash inserted into by_neuron is the SAME hash inserted into by_particle[from] and by_particle[to]. without LogUp, each cross-index check requires independent WHIR proofs against each EdgeSet — ~7,500 constraints per edge.

the protocol

LogUp proves containment via the algebraic identity:

Σᵢ 1/(β - fᵢ) = Σⱼ mⱼ/(β - tⱼ)

evaluated at a random challenge β via sumcheck

for cyber:

CROSS-INDEX CONSISTENCY via LogUp
─────────────────────────────────

transaction: create edge e = (neuron, from, to, weight, time)
edge hash: h = H_edge(e)

lookup statement:
  "h appears in by_neuron[neuron].EdgeSet
   AND h appears in by_particle[from].EdgeSet
   AND h appears in by_particle[to].EdgeSet"

LogUp proof:
  1. f = {h, h, h}  (the same hash, looked up 3 times)
  2. t₁ = by_neuron[neuron].EdgeSet evaluations
  3. t₂ = by_particle[from].EdgeSet evaluations
  4. t₃ = by_particle[to].EdgeSet evaluations

  prover constructs the sumcheck polynomial and commits
  verifier checks the identity at random β

cost advantage

per edge:
  LogUp:              ~500 STARK constraints (sumcheck + challenges)
  independent WHIR:    3 × 2,500 = 7,500 STARK constraints
  savings:            15×

block with 10,000 edges:
  LogUp:              ~5,000,000 constraints
  independent WHIR:    ~75,000,000 constraints

prover work:  O(k log k) where k = edges in transaction
verifier work: O(log k) — dominated by sumcheck verification

the key property: prover cost is proportional to what it touches, not to the total graph size. this is bounded locality — the third design law of BBG.

batch verification

LogUp batches naturally. a block containing B transactions with E total edges:

all E edges → one LogUp proof for all 3E lookups

prover:  O(E log E) — linear in block size
verifier: O(log E) — logarithmic in block size

this is where LogUp becomes essential: at planetary scale (10¹⁵ nodes), verifying cross-index consistency edge-by-edge is physically impossible. LogUp makes it proportional to the block, not the graph.

production heritage

LogUp lookup arguments have been deployed in production by Polygon and Scroll since 2023 for cross-table consistency in ZK rollups. cyber applies the same technique to graph index consistency rather than rollup state tables.

see BBG for the full graph architecture, EdgeSet for the polynomial commitments being looked up, WHIR for the underlying proof mechanism, NMT for the index structure containing EdgeSets

Local Graph