cross-index

consistency proofs between the three public NMTs that index axons: particles.root, axons_out.root, and axons_in.root. LogUp lookup arguments prove that these three trees contain the same set of axon-particles and that aggregate weight deltas are correct across all three.

LogUp protocol

LogUp proves "set {f₁, ..., f_m} is contained in table {t₁, ..., t_n}" via the algebraic identity:

Σ 1/(β - f_i) = Σ m_j/(β - t_j)

evaluated at a random challenge β via sumcheck.

cross-index consistency

three NMTs index the same set of axon-particles from different perspectives:

tree namespace key stores
particles.root CID all particles including axon-particles
axons_out.root source particle outgoing axon references
axons_in.root target particle incoming axon references

the lookup statement:

"every axon in axons_out.root exists in particles.root,
 AND every axon in axons_in.root exists in particles.root,
 AND every axon-particle in particles.root appears in both
     axons_out.root and axons_in.root"

LogUp proof structure:

given axon-particle a = H(from, to) with weight A_{pq}:

  1. f = {a, a, a}  (same axon hash, looked up in 3 trees)
  2. t₁ = particles.root leaf evaluations (axon-particles subset)
  3. t₂ = axons_out.root leaf evaluations
  4. t₃ = axons_in.root leaf evaluations

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

aggregate weight consistency

when a cyberlink updates an axon's aggregate weight, LogUp proves the delta is correct across all three trees:

transaction: new cyberlink adds weight δ to axon H(p, q)

lookup statement:
  "the weight delta +δ applied to axon H(p,q) in particles.root
   equals the delta applied in axons_out.root[p]
   equals the delta applied in axons_in.root[q]"

the prover commits:
  1. old weight A_{pq} in all three trees (must match)
  2. delta δ (from the cyberlink's public aggregate contribution)
  3. new weight A_{pq} + δ in all three trees (must match)

LogUp verifies all three trees transition from the same old value
to the same new value via the same delta.

batch verification

LogUp batches naturally. a block containing B transactions updating K distinct axons:

all K axon updates → one LogUp proof for all 3K lookups

prover: O(K log K) — linear in number of affected axons
verifier: O(log K) — logarithmic in number of affected axons

constraints for cross-index consistency of entire block:
  ~500 × K + O(log K) amortization

for a block updating 10,000 axons:
  ~5,000,000 constraints (vs. 75,000,000 without LogUp)

cost is proportional to the number of axons touched, not to the total number of cyberlinks in the block (many cyberlinks may aggregate into the same axon).

decay batch consistency

at epoch boundaries, batch decay recomputes axon weights across all three trees (see temporal). LogUp proves the decayed weights are consistent:

for each axon with old weight A and new weight A' = A × α^Δt:
  particles.root, axons_out.root, and axons_in.root
  all transition from A to A'

one LogUp proof covers all decayed axons in the epoch.

see architecture for the NMT structure, temporal for decay protocol, storage for the storage model

Dimensions

cross-index

Local Graph