LogUp

a lookup argument protocol that proves "set {f₁, ..., f_m} is contained in table {t₁, ..., t_n}" via an algebraic identity. introduced by Haböck (2022). deployed in production by Polygon and Scroll since 2023 for cross-table consistency in ZK rollups.

the protocol

LogUp proves containment via:

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

evaluated at a random challenge β via sumcheck

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

cost

per lookup:       ~500 stark constraints (sumcheck + challenges)
prover work:      O(k log k) where k = lookups in batch
verifier work:    O(log k)

LogUp batches naturally — all lookups in a block combine into one proof. cost is proportional to what is touched, not total table size.

use in cyber

cyber applies LogUp to graph index consistency: proving that axon-particles appear consistently across particles.root, axons_out.root, and axons_in.root in the BBG. ~500 constraints per axon update vs ~7,500 for independent proofs (15× savings).

see cross-index for the full consistency specification, BBG for the graph architecture

Dimensions

LogUp

Local Graph