Skip to Content
DocsGreenpaper

Zenon Greenpaper Series

The original can be found at Zenon Developer Commons .

A Verification-First Architecture for Dual-Ledger Systems

Status: Community-authored greenpaper (non-normative, non-official)


Abstract

This paper presents a unified architecture for resource-bounded verification in dual-ledger distributed systems. Unlike traditional blockchains, which treat verification as a byproduct of execution, this design elevates verification to a foundational principle. Execution itself is constrained to remain verifiable under explicitly declared resource limits.

 

The architecture separates parallel execution from sequential commitment ordering through three tightly integrated pillars:

  1. Bounded Verification - Verification under explicit resource constraints, anchored to genesis trust roots with adaptive retention.

  2. Proof-Native Applications (zApps) - Applications where correctness is established via cryptographic proofs rather than execution replay.

  3. Composable External Verification (CEV) - Trustless validation of external facts (e.g., Bitcoin) without relying on intermediaries.

 

Operating under strict constraints - O(N)O(N) storage for NN Momentum block headers, O(logm)O(\log m) commitment inclusion proof size (Merkle branch) for a commitment under rCr_{C} (where mm is commitments per Momentum block, per Definition 2.4.1), and browser-native computation - the system enables independent verification even by lightweight clients. Participants can verify correctness without continuous connectivity or global state reconstruction.

 

This model inverts traditional blockchain priorities: verification is foundational; execution is secondary. Each verifier operates within declared resource and trust boundaries and can honestly refuse queries exceeding them. This principle, refusal as correctness defines a new paradigm for distributed systems built for resource-constrained reality.


1. Introduction

1.1 The Verification-Execution Tension

In most blockchains, verification equals replay. To verify a transaction, a node must re-execute the computation that produced it. As transaction volume and application complexity increase, this equivalence creates an unavoidable scaling problem: verifiers must match the resource profile of executors.

 

This model excludes lightweight participants - browsers, mobile devices, intermittently connected nodes - from independent validation. Systems optimized for throughput demand trusted intermediaries; systems optimized for verification limit expressiveness. As state grows into hundreds of gigabytes and execution environments evolve, this tension increasingly favors centralized infrastructure.

1.2 From Execution-First to Verification-First

This paper proposes an alternative: a verification-first architecture.

Instead of adapting verification to keep pace with execution, we design execution to remain verifiable. The key question becomes:

What forms of execution can remain verifiable under explicit resource bounds?

 

The answer lies in a dual-ledger design separating two concerns:

  • Account-chain layer (execution): Each account maintains its own append-only ledger of state transitions, enabling parallel execution without coordination bottlenecks.

  • Momentum chain layer (commitment ordering): A global sequential ledger that records cryptographic digests (commitments) of account-chain state transitions, providing temporal ordering and global anchoring.

 

This separation allows accounts to process transactions independently while maintaining a verifiable global order. Verifiers only track the accounts they care about - anchoring them to the global Momentum chain for trust-minimized synchronization.

Three architectural pillars emerge from this separation:

  1. Bounded Verification (Section 2) - Verification with explicit limits on storage, bandwidth, and computation.

  2. Proof-Native Applications (Section 3) - Applications where correctness is proven, not replayed.

  3. Composable External Verification (Section 4) - Verification of external facts using cryptographic proofs instead of trusted intermediaries.

1.3 Architectural Principles

Four core principles govern the system:

  1. Verification as Foundation: Execution exists to produce verifiable state transitions. Computations that cannot be efficiently verified are architecturally excluded.

  2. Explicit Resource Bounds: Every verification operation declares its storage (S)(S), bandwidth (B)(B), and computation (C)(C) bounds upfront. Verifiers refuse queries exceeding these limits - there are no “best effort” backups.

  3. Genesis Anchoring: Trust roots are embedded at genesis. Any verifier, even after long offline periods, can resynchronize by following cryptographic commitment chains without social coordination.

  4. Honest Refusal: When a verifier cannot cryptographically prove correctness within its bounds, it refuses instead of trusting. Refusal is explicit, deterministic, and surfaced to users as a correctness guarantee, not a failure.

1.4 What This Architecture Enables

By combining dual-ledger separation, bounded verification, proof-native applications, and external verification, this architecture achieves properties rarely found together:

  • Browser-Native Verification: Lightweight clients verify state transitions directly via cryptographic proofs.

  • Long-Offline Recovery: Clients resynchronize by following commitment chains from their last verified header (or an optional locally stored checkpoint) - no social checkpoints required.

  • Cross-Chain Validation: Bitcoin transactions can be verified trustlessly through SPV-style proofs.

  • Proof-Carried Execution: Applications execute off-chain and submit proofs verifiable in constant time on constrained devices.

 

These capabilities allow secure participation even under intermittent connectivity and limited storage.

1.5 What This Architecture Does Not Provide

To preserve bounded, cryptographic verification, several properties are explicitly sacrificed:

  • No Global Atomic Transactions: Cross-account operations are asynchronous; atomicity across arbitrary accounts is not guaranteed.

  • No Unbounded Compositional Verification: Verifiers declare finite scope (e.g., “last 1000 commitments”) and refuse queries beyond it.

  • No Universal Liveness Under Partition: Offline verifiers cannot validate new commitments until reconnection.

  • No Censorship Resistance for Proof Distribution: While commitment ordering is censorship-resistant, proof distribution depends on off-chain networks that may selectively withhold data.

 

These are not flaws but formalized trade-offs. They define the precise boundaries of verifiability under constrained resources.

1.6 Roadmap

The remainder of this paper proceeds as follows:

  • Section 2: Formalizes bounded verification - defining commitment chains, trust roots, predicates, refusal semantics, and retention policies.

  • Section 3: Introduces proof-native applications (zApps), where correctness is cryptographically attested.

  • Section 4: Extends verification to external systems (notably Bitcoin) through composable external verification (CEV).

  • Section 5: Demonstrates how the three pillars integrate coherently.

  • Sections 6-7: Discuss related work and future directions.

  • Section 8: Concludes with the implications of verification-first architecture for distributed systems.


2. Pillar I: Bounded Verification

Bounded Verification is the foundation of this entire architecture. It defines how participants can independently validate state transitions within explicit, declared resource constraints.

This section introduces the system model (dual-ledger structure and commitment chains) and then layers formal guarantees: resource bounds, trust assumptions, verification predicates, refusal semantics, and adaptive retention.

2.1 System Model

The system comprises two complementary ledger types, each with distinct roles:

  • Account-chains (A): Per-account append-only logs of local state transitions. Each account maintains its own ledger, allowing parallel execution without global coordination.

  • Momentum chain (M)(M): A global sequential ledger that orders commitments - cryptographic digests of account-chain states - within bounded time windows. It provides temporal anchoring and cross-account visibility without requiring full replay.

This dual-ledger separation enables verifiers to follow only the accounts they care about while maintaining cryptographic linkage to the global order.

2.1.1 Account-Chain Structure

Definition 2.1 (Account-Chain Block):

An account-chain block BAB_{A} is a tuple:

BA=(hprev,TX,π,metadata)B _ {A} = (h _ {\mathrm {p r e v}}, T X, \pi , \mathrm {m e t a d a t a})

where:

  • hprev=Hh_{\mathrm{prev}} = H (previous block) links to the prior block
  • TXTX is an ordered list of transactions modifying the account’s state
  • π\pi is a cryptographic proof that TXTX represents a valid state transition
  • metadata includes auxiliary data (timestamps, signatures, app-specific fields)

Definition 2.2 (Account-Chain):

An account-chain AA is a sequence of blocks:

A=B0,B1,,BkA = \langle B _ {0}, B _ {1}, \dots , B _ {k} \rangle

where:

  • B0B_{0} is the genesis block (hprev=0)(h_{\mathrm{prev}} = 0)
  • for all i>0i > 0: Bi.hprev=H(Bi1)B_{i}.h_{\mathrm{prev}} = H(B_{i - 1})

Each block must include a valid state-transition proof. Account-chains grow asynchronously - some accounts may produce thousands of blocks daily, others remain dormant for weeks.

2.1.2 Momentum Chain Structure

Definition 2.3 (Momentum Block):

A Momentum block MiM_{i} is a tuple:

Mi=(hp r e v,rC,t,m e t a d a t a)M _ {i} = \left(h _ {\text {p r e v}}, r _ {C}, t, \text {m e t a d a t a}\right)

where:

  • hprev=H(Mi1)h_{\mathrm{prev}} = H(M_{i-1}) links to the previous Momentum block
  • rCr_C is the commitment root (Merkle root over the set C={c1,c2,,cm}C = \{c_1, c_2, \ldots, c_m\} of account-chain commitments)
  • tt is the consensus timestamp
  • metadata includes consensus-specific data (signatures, nonce, etc.)

Definition 2.4 (Account-Chain Commitment):

Each commitment cCc \in C is a tuple:

c=(addr,hsnapshot,height)c = (\mathrm {a d d r}, h _ {\mathrm {s n a p s h o t}}, \mathrm {h e i g h t})

where:

  • addr = account address
  • hsnapshoth_{\mathrm{snapshot}} = hash of account state at that height
  • height = account-chain height when committed

Definition 2.4.1 (Commitment Membership Proof):

A commitment membership proof ww for commitment cCc \in C is a Merkle branch of size O(logm)O(\log m) hashes that proves cc was included in computing rCr_{C}, where m=Cm = |C| is the number of commitments in that Momentum block.

Definition 2.4.2 (Commitment Root Determinism):

The commitment root rCr_C is computed deterministically: commitments in CC are canonically ordered (e.g., lexicographically by address, then by height) and domain-separated before Merkle root computation. This ensures all honest nodes compute identical rCr_C from the same commitment set.

Definition 2.5 (Momentum Chain):

M=M0,M1,,MNM = \langle M _ {0}, M _ {1}, \dots , M _ {N} \rangle

where M0M_0 is the genesis Momentum block, each MiM_{i} links cryptographically to Mi1M_{i - 1}, and NN is the current chain height.

2.1.3 Operational Semantics

  1. Execution Phase: Accounts process transactions independently, producing account-chain blocks containing validity proofs.

  2. Commitment Phase: Periodically (e.g., every 10 seconds), a new Momentum block is published containing a commitment root rCr_C over all active accounts’ latest states.

  3. Verification Phase:

    • A verifier locates the Momentum block MiM_{i} corresponding to time TT.
    • It validates the chain from M0M_0 (or its last known checkpoint) to MiM_i.
    • It requests the commitment cc for account AA and its membership proof ww.
    • It verifies ww proves crcc \in r_c.
    • It downloads the necessary account-chain blocks for AA and checks them against the commitment.

Critically, verifiers need only store Momentum headers - O(N)O(N) headers for NN Momentum blocks (equivalently O(NσH)O(N \cdot \sigma_H) bytes where σH\sigma_H is the Momentum-header size (in bytes)) - and validate selected account-chains on demand.

2.2 Commitment Chain Properties

The Momentum chain satisfies standard blockchain properties under explicit bounds.

Property 2.1 (Commitment Finality):

Once a commitment cc appears in MiM_{i} and gains kk confirmations, reversal is bounded by two distinct guarantees:

  • Hash-chain tamper evidence: Collision resistance of HH ensures that any modification to a Momentum block MjM_{j} changes its hash, breaking the link H(Mj)=hprev(Mj+1)H(M_{j}) = h_{\mathrm{prev}}(M_{j + 1}). An adversary can compute new hashes for an alternative history, but cannot make that alternative history match the already-committed hashes without finding a collision/second-preimage, which is computationally infeasible under standard assumptions.

  • Consensus finality (canonization): The consensus mechanism bounds acceptance of alternative histories deeper than kk. The probability of a chain reorganization beyond depth kk is Pr[reorgk]fconsensus(k)\Pr[\text{reorg} \geq k] \leq f_{\text{consensus}}(k), where fconsensusf_{\text{consensus}} depends on the consensus model (e.g., exponentially decreasing in kk for PoW under honest-majority assumptions).

Hash chaining makes tampering detectable; consensus determines which detected history becomes canonical.

Property 2.2 (Temporal Ordering):

If c1Mic_1 \in M_i and c2Mjc_2 \in M_j with i<ji < j, then c1c_1 precedes c2c_2 globally.

Property 2.3 (Bounded Storage):

Verifiers storing only Momentum headers require O(N)O(N) storage in headers, where NN is the number of Momentum blocks. Checkpointing or sampling techniques can reduce storage requirements, though these trade complete cryptographic verification for additional trust assumptions or probabilistic security guarantees.

These properties enable verifiers to validate commitment chains instead of replaying execution.

2.3 Trust Model and Security Assumptions

Before defining verification predicates, we clarify what the system assumes.

2.3.1 Cryptographic Assumptions

Assumption 2.1 (Collision Resistance):

The hash function HH (e.g., SHA-256) is collision-resistant: finding distinct x,xx, x' such that H(x)=H(x)H(x) = H(x') is computationally infeasible.

Assumption 2.2 (Proof System Soundness):

Proof systems (e.g., signatures, zk-SNARKs) are sound: producing a valid proof for a false statement is computationally infeasible.

2.3.2 Network Model

Assumption 2.3 (Eventual Connectivity):

Verifiers can intermittently synchronize with the Momentum chain.

Assumption 2.4 (No Network-Level Censorship of Momentum Blocks):

At least one honest source can provide Momentum headers.

Non-Assumption: Account-chain blocks or proofs may be unavailable. If so, the verifier returns REFUSED_DATA_UNAVAILABLE instead of trusting.

2.3.3 Consensus and Liveness

Assumption 2.5 (Momentum Consensus):

The consensus mechanism guarantees:

  • Safety: Honest participants agree on the chain with high probability.
  • Liveness: New Momentum blocks appear within a bounded interval Δ\Delta (an upper bound on the Momentum block interval).

The architecture is consensus-agnostic (PoW, PoS, BFT, etc.). If uncertainty exists due to forks, verifiers follow their preferred chain or refuse queries.

2.3.4 Adversarial Model

Adversary capabilities:

  • Can withhold data (account-chain blocks or proofs)
  • Can attempt invalid block creation (fails verification)
  • Can partition network or launch DoS attacks

Adversary limitations:

  • Cannot break collision resistance or forge proofs
  • Cannot rewrite Momentum history beyond kk confirmations (subject to consensus finality assumptions)
  • Cannot force verifiers to accept unverified claims

An adversary may make verification impossible - but not false.

2.3.5 Explicit Trust Boundaries

Eliminated trust categories:

  • RPC providers: Verifiers independently validate all claims.
  • Sequencers and oracles: Proofs replace trust.
  • Execution environments: Only cryptographic attestations matter.

Minimal trust remains in:

  • Consensus liveness and header availability.

Explicit non-guarantees:

  • Proof distribution censorship and liveness under partition.

All boundaries are declared so participants make informed trust decisions.

2.4 Formal Impossibility: Unbounded Composition vs Bounded Verification

Theorem 2.1 (Composition-Verification Impossibility):

For a verifier VV with resource bound RR, no protocol can simultaneously:

  1. Validate arbitrary compositional depth of dependent claims
  2. Guarantee correctness under adversarial data unavailability
  3. Stay within RR

Proof Sketch. A chain of dependent claims C1C2CkC_1 \to C_2 \to \ldots \to C_k requires recursive verification. For adversarially chosen kk, verifier VV must either store all proofs (violating storage bounds), re-verify recursively (violating computation bounds), or trust external sources (violating security). Therefore, at least one of the three requirements must be violated.

Corollary 2.1:

Bounded verification systems must either (1) refuse queries beyond declared scope or (2) accept trusted attestations. This architecture chooses (1): honest refusal.

Operational implication: A browser verifier may validate only the last two weeks of data. Older queries return REFUSED_OUT_OF_SCOPE instead of silently trusting an RPC.

2.5 Resource Bounds

Bounded verification explicitly quantifies the three fundamental limits under which a verifier operates:

Definition 2.6 (Resource Bound Tuple):

Each verifier VV declares a resource bound RV=(SV,BV,CV)R_{V} = (S_{V}, B_{V}, C_{V}) where:

  • SV=S_{V} = maximum persistent storage (in bytes) available for headers, proofs, and state fragments
  • BV=B_{V} = maximum network bandwidth (in bytes) available per synchronization window
  • CV=C_{V} = maximum local computation budget (in operations or time) per verification session

A verifier is correctly bounded if it never exceeds RVR_V.

Bounded verification means no assumption of global completeness - verifiers validate as much as their bounds permit and refuse anything beyond.

2.5.1 Bounded Execution

Definition 2.7 (Bounded Execution):

An execution trace EE is verifiable under RVR_V if and only if there exists a proof πE\pi_E such that:

Verify(πE)=TRUEandCostverify(πE)CV\mathrm {V e r i f y} (\pi_ {E}) = \mathrm {T R U E} \quad \mathrm {a n d} \quad \mathrm {C o s t} _ {\mathrm {v e r i f y}} (\pi_ {E}) \leq C _ {V}

and πESV|\pi_E| \leq S_V and BytesFetched (E)BV(E) \leq B_V.

In other words, execution is architecturally restricted to remain within declared verification budgets.

2.5.2 Bounded State

State is bounded through adaptive pruning and checkpointing.

Definition 2.8 (State Retention Function):

Let ρ(t)\rho(t) denote the retention policy governing stored data age. For each verifier VV, the expected storage footprint satisfies:

E[S t o r e d B y t e sV]=0gV(t)ρ(t)dtSV\mathbb {E} [ \text {S t o r e d B y t e s} _ {V} ] = \int_ {0} ^ {\infty} g _ {V} (t) \cdot \rho (t) d t \leq S _ {V}

where gV(t)g_V(t) is the storage density function (bytes per unit time) for data of age tt, and ρ(t)[0,1]\rho(t) \in [0,1] is the retention probability at age tt.

This formulation ensures finite storage under probabilistic or deterministic pruning policies while maintaining verifiable history within the retention window.

2.6 Verification Predicates

Every verification operation reduces to a logical predicate over cryptographic data. A predicate evaluates to true, false, or refused depending on available information.

Definition 2.9 (Verification Predicate):

P(x,D,RV){TRUE,FALSE,REFUSED}P (x, D, R _ {V}) \rightarrow \{\mathrm {T R U E}, \mathrm {F A L S E}, \mathrm {R E F U S E D} \}

where:

  • x=x = claim being verified (e.g., “Account A sent 5 ZNN to B”)
  • D=D = set of data available to the verifier
  • RV=R_V = verifier’s declared resource bounds

2.6.1 Evaluation Semantics

If DD contains all required proof objects and their verification fits within RνR_{\nu}, then:

  • return TRUE if the proofs validate the claim
  • return FALSE if the provided proofs cryptographically contradict the claim (e.g., signature/proof verification fails, Merkle root mismatch, invalid header linkage)

If required data is unavailable, out of scope, or verification would exceed RVR_{V}, return REFUSED.

Property 2.4 (Total Safety Under Refusal):

A refusal can never produce a false positive. Formally, if P(x,D,RV)=REFUSEDP(x, D, R_V) = \text{REFUSED}, then xx is neither accepted nor rejected.

This is the refusal-as-correctness principle.

2.6.2 Predicate Composition

Let P1,P2,,PkP_{1}, P_{2}, \ldots, P_{k} be independent predicates. Composition is defined as:

Pall(x)=P1(x)P2(x)Pk(x)P _ {\mathrm {a l l}} (x) = P _ {1} (x) \wedge P _ {2} (x) \wedge \ldots \wedge P _ {k} (x)

Rule 2.1 (Refusal Propagation):

If any Pi(x)=REFUSEDP_{i}(x) = \mathrm{REFUSED}, then Pall(x)=REFUSEDP_{\mathrm{all}}(x) = \mathrm{REFUSED}.

This ensures verifiers never infer truth from partial data.

2.7 Refusal Semantics

Refusal is an explicit and deterministic outcome, not an error. It preserves soundness by limiting verification to provable claims.

Definition 2.10 (Refusal Code Set):

R={REFUSED_OUT_OF_SCOPE,REFUSED_DATA_UNAVAILABLE,REFUSED_COST_EXCEEDED}\mathcal {R} = \{\text {REFUSED\_OUT\_OF\_SCOPE}, \text {REFUSED\_DATA\_UNAVAILABLE}, \text {REFUSED\_COST\_EXCEEDED}\}

Each refusal code maps to a distinct failure mode:

  • OUT_OF_SCOPE: The requested claim extends beyond verifier’s declared history window.
  • DATA_UNAVAILABLE: Proofs missing from the network.
  • COST_EXCEEDED: Computation or bandwidth would exceed RVR_V.

Refusals propagate upward through compositional predicates.

Property 2.5 (Refusal Closure):

If any subpredicate returns REFUSED, the entire predicate returns REFUSED.

2.7.1 Operational Behavior

When a verifier refuses:

  • It emits a machine-readable refusal code and associated reason.
  • It records a refusal witness containing: the last verified header hash, the identifier of the missing or unverifiable object, and the bound-exceeded code.
  • User interfaces display “verification refused” rather than “verification failed.”

This communicates bounded correctness to users and external protocols.

2.7.2 Refusal Safety

Theorem 2.2 (Refusal Safety):

Assuming collision resistance and proof soundness, no adversary can cause a verifier to accept a false claim without its explicit consent.

Proof Sketch. All valid claims must be supported by cryptographic proofs. If proofs are unavailable, the verifier returns REFUSED. If forged proofs are presented, they fail verification (by proof soundness). Therefore, the only way a verifier accepts a claim is if it possesses a valid proof that passes verification.

This means verifiers may fail to answer - but never lie.

2.8 Adaptive Retention

Over time, state and proof data can grow without bound. Adaptive retention provides a mathematically bounded strategy for data aging.

Definition 2.11 (Adaptive Retention Policy):

Each verifier defines a retention policy ρ(t)[0,1]\rho(t) \in [0,1] specifying the probability (or deterministic choice) of retaining data of age tt. Given a storage density function gV(t)g_V(t) (bytes per unit time), the policy must satisfy:

E[S t o r e d B y t e sV]=0gV(t)ρ(t)dtSV\mathbb {E} [ \text {S t o r e d B y t e s} _ {V} ] = \int_ {0} ^ {\infty} g _ {V} (t) \cdot \rho (t) d t \leq S _ {V}

with ρ(0)=1\rho(0) = 1 (all fresh data retained) and ρ(t)\rho(t) non-increasing.

This guarantees finite storage while retaining recent data at full fidelity.

Example:

ρ(t)=eλt\rho (t) = e ^ {- \lambda t}

produces exponential decay of retention probability, keeping recent activity fully verifiable while bounding total storage.

2.8.1 Bounded Reconstruction

Property 2.6 (Bounded Reconstruction):

Any verifier can reconstruct a provable view of the system up to time tΔt - \Delta, where Δ\Delta is its retention window.

Offline clients can resynchronize by re-downloading Momentum headers and requesting missing proofs within Δ\Delta.

2.9 Worked Example: Verifying a Transaction

Let’s illustrate bounded verification through a single transaction example.

Scenario: A lightweight browser client wants to verify that “Account A sent 5 ZNN to B at height hh.”

Step 1: Obtain Momentum Headers

The client downloads the sequence of Momentum headers from M0M_0 to MiM_i. This cost is O(N)O(N) headers and fits within SVS_V.

Step 2: Locate Commitment

From MiM_{i}, it requests the commitment c=(addr=A,hsnapshot,h)c = (\mathrm{addr} = A, h_{\mathrm{snapshot}}, h) and its membership proof ww.

Step 3: Verify Membership

It verifies that ww proves cc is included in rCr_{C} (the commitment root in MiM_{i}).

Step 4: Retrieve Account Proofs

It requests from the network the account-chain segment Bh1BhB_{h - 1} \to B_h and the associated proof π\pi.

Step 5: Evaluate Predicate

P(x,D,RV)={TRUEifVerify(π,hsnapshot)=TRUEandCostverify(π)CVFALSEifproofscryptographicallycontradicttheclaimREFUSEDifπmissingorcostexceedsRVP (x, D, R _ {V}) = \left\{ \begin{array}{l l} \mathrm {TRUE} & \mathrm {if Verify} (\pi , h _ {\mathrm {snapshot}}) = \mathrm {TRUE and Cost} _ {\mathrm {verify}} (\pi) \leq C _ {V} \\ \mathrm {FALSE} & \mathrm {if proofs cryptographically contradict the claim} \\ \mathrm {REFUSED} & \mathrm {if} \pi \mathrm {missing or cost exceeds} R _ {V} \end{array} \right.

Step 6: User Feedback

The client displays:

  • “Transaction verifiable under current resource limits.” or
  • “Verification refused - proof unavailable.”

This example demonstrates bounded correctness: verification is absolute within bounds, and gracefully refused outside them.

2.10 Operational Consequences

  1. Composable Proof Availability: Clients can cache and share proof segments without needing trust.

  2. Proof Marketplaces: Because proofs are verifiable objects, third parties can offer them for a fee without custody risk.

  3. Lightweight Client Inclusivity: Devices with hundreds of megabytes of storage can still independently verify activity.

  4. Data Sovereignty: Verifiers decide their own trust and retention policies.

2.11 Summary of Bounded Verification Properties

PropertyMeaningGuarantee
Refusal SafetyRefusals cannot produce false positivesSoundness
Bounded StorageVerification state ≤ S_VScalability
Bounded ComputationEach proof verifies in ≤ C_V stepsDevice compatibility
Bounded BandwidthProof fetch ≤ B_V per syncIntermittent operation
Genesis AnchoringTrust root exists foreverOffline recovery
Adaptive RetentionFinite storage with progressive decayLongevity

2.12 Conclusion of Pillar I

Bounded verification redefines validation as a finite, resource-constrained, cryptographically sound process. It replaces the illusion of universal completeness with explicitly bounded correctness. Every verifier knows precisely what it can prove, what it cannot, and when to refuse.

This foundation supports the next two pillars:

  • Proof-Native Applications (zApps) - applications whose correctness is proven cryptographically, not replayed
  • Composable External Verification (CEV) - trustless validation of external facts

3. Pillar II: Proof-Native Applications (zApps)

This section describes a proposed extension to the base architecture: proof-native applications where correctness is established via cryptographic proofs rather than execution replay.

3.1 Motivation

Traditional smart-contract systems equate verification with re-execution: to confirm a transaction’s correctness, verifiers must replay every instruction inside a virtual machine. This ties verification cost to execution complexity - an inherent scalability bottleneck.

Proof-native applications (zApps) invert that relationship. Rather than replaying computation, verifiers check succinct proofs that attest a computation’s correctness. Execution can therefore occur anywhere - off-chain, asynchronously, or on heterogeneous hardware - without compromising verifiability.

3.2 Definition of a zApp

Definition 3.1 (zApp):

A zApp is an application that emits, for every state transition, a validity proof

π:Compute(input,state)(output,state)\pi : \operatorname {Compute} (\text {input}, \text {state}) \rightarrow (\text {output}, \text {state} ^ {\prime})

such that

Verify(π,input,state,output,state)=TRUE\operatorname {Verify} (\pi , \text {input}, \text {state}, \text {output}, \text {state} ^ {\prime}) = \text {TRUE}

under the soundness assumption of its proof system.

A zApp is therefore a proof-emitting function with deterministic semantics, not an interpreted program requiring replay.

3.2.1 Execution vs Verification Separation

LayerRoleCost Domain
ExecutorRuns arbitrary computation off-chainUnbounded
VerifierChecks succinct proof on-chain or locallyBounded (≤ C_V)

This separation decouples expressiveness from verification overhead.

3.3 Proof Systems

zApps may use any sound proof system that satisfies verification constraints. Typical examples include:

  • zk-SNARKs (e.g., Groth16, PLONK): constant-size proofs, fast verification.
  • STARKs: transparent, post-quantum-secure proofs; larger but scalable.
  • Bulletproofs: logarithmic proof size, no trusted setup.

Property 3.1 (Proof Verifiability):

Each proof system provides a deterministic verification function

Verify(π,x){0,1}\operatorname {Verify} (\pi , x) \to \{0, 1 \}

whose cost is upper-bounded by a polynomial in log(x)\log(|x|).

3.3.1 Proof Object Format

Every proof object includes:

π=(proof_bytes,schema_hash,public_inputs)\pi = (\mathrm {proof\_bytes}, \mathrm {schema\_hash}, \mathrm {public\_inputs})

The schema_hash ensures the verifier interprets proofs according to the correct circuit or constraint system.

3.4 zApp Lifecycle

  1. Circuit Design: Developer defines the computation as an arithmetic circuit or constraint system.

  2. Setup: Generates verification key νk\nu k and (if required) proving key pkpk.

  3. Deployment: Publishes vk in the account-chain metadata.

  4. Execution: Users or executors generate proofs π\pi for state transitions.

  5. Verification: Verifiers evaluate:

Verify(νk,π,public_inputs)=TRUEandCostverify(π)CV\mathrm {Verify} (\nu k, \pi , \mathrm {public\_inputs}) = \mathrm {TRUE} \quad \mathrm {and} \quad \mathrm {Cost} _ {\mathrm {verify}} (\pi) \leq C _ {V}

returning TRUE, FALSE, or REFUSED based on proof validity and resource constraints.

This lifecycle ensures every observable state change is accompanied by a verifiable proof.

3.5 Proof-Native State Updates

Definition 3.2 (Proof-Native Block):

A block BzB_{z} in a zApp account-chain consists of

Bz=(hprev,inputs,outputs,π,metadata)B _ {z} = \left(h _ {\text {prev}}, \text {inputs}, \text {outputs}, \pi , \text {metadata}\right)

and is valid if and only if

Verify(νk,π,inputs,outputs)=TRUE\operatorname {Verify} (\nu k, \pi , \text {inputs}, \text {outputs}) = \mathrm {TRUE}

Hence, state transitions are self-verifying; replay is unnecessary.

3.6 Composability

Multiple zApps can interoperate by composing their proofs.

Definition 3.3 (Composable Proof):

Given proofs π1,π2,,πk\pi_1, \pi_2, \ldots, \pi_k over circuits C1,,CkC_1, \ldots, C_k, a composed proof Π\Pi verifies if

i,Verify(νki,πi)=TRUE\forall i, \operatorname {Verify} \left(\nu k _ {i}, \pi_ {i}\right) = \mathrm {TRUE}

and an aggregation circuit verifies their joint correctness.

Aggregated proofs enable efficient multi-application verification while respecting resource bounds.

3.6.1 Bounded Composability

Theorem 3.1 (Bounded Proof Composition):

For a verifier with bound CVC_V, there exists a maximum compositional depth dmaxd_{\mathrm{max}} such that verification of d>dmaxd > d_{\mathrm{max}} proofs exceeds CVC_V. Verifiers must therefore refuse deeper compositions.

Operational implication: Light clients might verify up to 5 composed proofs and refuse further nesting.

3.7 Proof-Native Application Interfaces

zApps expose deterministic, verifiable APIs:

FunctionDescriptionVerifiability
verifyProof(pi)Checks proof correctnessDeterministic
getCommitment()Returns Merkle root of current stateDeterministic
requestState(height)Retrieves proof-backed snapshotBounded
composeProofs([pi1…pn])Returns aggregated proofBounded by C_V

These interfaces are designed for browser-native operation and machine verification.

3.8 zApp Example: Token Ledger

A simple proof-native token ledger illustrates these ideas.

Circuit Definition

Constraints:

{balance[A]amountbalance[A]=balance[A]amountbalance[B]=balance[B]+amount\left\{ \begin{array}{l} \text {balance} [ A ] \geq \text {amount} \\ \text {balance} ^ {\prime} [ A ] = \text {balance} [ A ] - \text {amount} \\ \text {balance} ^ {\prime} [ B ] = \text {balance} [ B ] + \text {amount} \end{array} \right.

The proof attests that balances are updated correctly without exposing private data.

Verification

Verifiers check π\pi against the published verification key νktoken\nu k_{\mathrm{token}}. If valid, they update the account-chain state root; otherwise, they reject or refuse.

3.9 Proof-Carried Execution

In this architecture, execution artifacts themselves are proofs.

Definition 3.4 (Proof-Carried Computation):

A computation f(x)f(x) is proof-carried if it emits (y,π)(y, \pi) such that

Verify(νk,π,x,y)=TRUE\operatorname {Verify} (\nu k, \pi , x, y) = \mathrm {TRUE}

The verifier never re-executes ff; it only validates π\pi.

3.10 Security Model

Soundness of zApps inherits from the underlying proof system.

Theorem 3.2 (Soundness of zApps):

If the proof system is sound and the verification key is authentic, no adversary can produce π\pi that passes verification for an incorrect computation.

Proof Sketch. Assume an adversary generates a false π\pi. By proof-system soundness, the probability of this is negligible in λ\lambda, the security parameter.

Hence, correctness reduces to verifying νk\nu k authenticity.

3.11 Deployment Implications

  1. Off-Chain Scalability: Heavy computation occurs off-chain; on-chain verification remains constant.

  2. Privacy: zk-proofs can hide inputs while proving validity.

  3. Cross-Environment Portability: Proofs remain valid across networks if the verification key is portable.

  4. User-Side Verification: Browsers can independently verify proofs without RPC trust.

  5. Composable Services: Applications can reuse proofs from others without reexecution.

3.12 Summary of Pillar II

ConceptDefinitionBenefit
Proof-Native ExecutionComputations emit proofsRemoves replay
Sound VerificationConstant-time validationBounded cost
Proof CompositionAggregation of independent proofsInter-zApp composability
Resource-Aware VerificationRefusals beyond C_VPredictable performance
Off-Chain ScalabilityHeavy work moved off-chainHigh throughput

zApps demonstrate how verification-first design enables expressive applications under explicit resource bounds. They form the operational layer on top of the bounded verification foundation.


4. Pillar III: Composable External Verification (CEV)

This section describes a proposed mechanism for independently confirming external chain events (like Bitcoin transactions) without trusting bridges, custodians, or intermediaries, using the same verification-first principles and bounded resource constraints.

4.1 Motivation

Cross-chain interoperability traditionally relies on trusted intermediaries: bridges, relayers, or custodial contracts. These entities attest that an event occurred on another chain - but such attestations require trust, not verification.

Composable External Verification (CEV) replaces trust with cryptographic evidence. A verifier can independently confirm a claim about an external system - such as “this Bitcoin transaction was confirmed” - using only public data and succinct proofs, without executing or trusting that external system.

4.2 Definition

Definition 4.1 (External Verification Claim):

A claim XX about an external system SextS_{\mathrm{ext}} is a tuple:

X=(Sext,statement,proof,reference)X = (S _ {\mathrm {ext}}, \mathrm {statement}, \mathrm {proof}, \mathrm {reference})

where:

  • SextS_{\mathrm{ext}} identifies the external system (e.g., Bitcoin mainnet)
  • statement is the factual claim (e.g., “txid TT confirmed in block bb”)
  • proof is the cryptographic proof attesting to the claim
  • reference includes consensus parameters such as block header hash

Definition 4.2 (Composable External Verification):

A CEV mechanism is a protocol that allows internal verifiers to check external claims within bounded resources. For claim XX, the verification predicate evaluates to:

VerifyCEV(X,D,RV)={TRUEif all proofs validate and costsRVFALSEif proofs cryptographically contradict the claimREFUSEDif data unavailable or costs exceedRV\operatorname {Verify} _ {\mathrm {CEV}} (X, D, R _ {V}) = \left\{ \begin{array}{l l} \mathrm {TRUE} & \text {if all proofs validate and costs} \leq R _ {V} \\ \mathrm {FALSE} & \text {if proofs cryptographically contradict the claim} \\ \mathrm {REFUSED} & \text {if data unavailable or costs exceed} R _ {V} \end{array} \right.

4.3 Core Idea: External Proof Composition

Instead of relaying full foreign state, the external system’s consensus digest (e.g., Bitcoin block header) is imported periodically into the Momentum chain as a commitment root.

Verifiers then check inclusion proofs against that root.

Definition 4.3 (External Commitment):

An external commitment is a tuple:

cext=(Sext,hheader,height,metadata)c _ {\mathrm {ext}} = \left(S _ {\mathrm {ext}}, h _ {\mathrm {header}}, \text {height}, \text {metadata}\right)

anchored within a Momentum block:

Mi=(,C{cext},)M _ {i} = (\ldots , C \cup \{c _ {\mathrm {ext}} \}, \ldots)

where hheaderh_{\text{header}} is the hash of the external chain’s block header at the specified height. This anchoring ties an external chain’s verified state into the internal commitment chain without requiring continuous synchronization. The anchored commitment provides header hash authenticity, while consensus confidence (e.g., that the header represents the canonical chain with sufficient finality) requires additional header-chain evidence such as PoW linkage or confirmation depth within bounded resources. Verifiers seeking stronger guarantees may validate this additional evidence; otherwise they may refuse queries if the available evidence is insufficient for their security requirements, consistent with the refusal semantics of Section 2.7 and the consensus-agnostic design principle.

4.4 Example: Verifying a Bitcoin Transaction

A verifier wishes to confirm that a Bitcoin transaction with hash txid was included in a sufficiently confirmed block at height hh.

Step 1: Obtain External Commitment

A recent Momentum block MiM_{i} contains:

cext=(Sext=Bitcoin,hheader,height=h)c _ {\mathrm {ext}} = (S _ {\mathrm {ext}} = \mathrm {Bitcoin}, h _ {\mathrm {header}}, \mathrm {height} = h)

where hheader=H(hdrh)h_{\mathrm{header}} = H(\mathrm{hdr}_h) is the hash of the Bitcoin block header at height hh.

Step 2: Retrieve Proof and Headers

The verifier downloads:

  • Bitcoin block header hdrh\mathrm{hdr}_h
  • Bitcoin SPV proof πSPV\pi_{\mathrm{SPV}} consisting of:
    • Transaction hash txid
    • Merkle branch PP (path from txid to Merkle root)
    • (Optional, for confirmation depth) subsequent headers hdrh+1,,hdrh+k\mathrm{hdr}_{h+1}, \ldots, \mathrm{hdr}_{h+k}

Step 3: Verify Header Anchoring

Verify that H(hdrh)=hheaderH(\mathrm{hdr}_h) = h_{\mathrm{header}} (matching the anchored commitment in MiM_i).

Step 4: Evaluate Merkle Inclusion

Compute the Merkle root from the transaction:

rootcomputed=MerkleRoot(txid,P)\mathrm {root} _ {\mathrm {computed}} = \mathrm {MerkleRoot (txid}, P)

where MerkleRoot applies the Merkle branch PP to txid\mathsf{txid}

Check if root_computed = hdr_h.merkle_root (the Merkle root field in the Bitcoin header).

Step 5: Verify Confirmation Depth (Consensus Evidence)

To establish that the transaction is sufficiently confirmed:

  • Verify the header chain hdrhhdrh+1hdrh+k\mathrm{hdr}_h \to \mathrm{hdr}_{h+1} \to \ldots \to \mathrm{hdr}_{h+k} by checking:
    • Each header’s prev_block_hash matches H(previous header)H(\text{previous header}).
    • Each header satisfies PoW validity by checking that H(hdrj)<target(hdrj)H(\mathrm{hdr}_j) < \text{target}(\mathrm{hdr}_j), where target (hdrj)(\mathrm{hdr}_j) is derived from the difficulty field (e.g., nBits) in hdrj\mathrm{hdr}_j.
  • If the verifier’s policy requires kk confirmations and the chain has valid PoW linkage for kk blocks, the transaction is considered confirmed.

Step 6: Evaluate Predicate

PBTC(txid,h,k)={TRUEifrootcomputed=hdrh.merkle_rootandheaderchainvalidforkblocksandCostverifyCVFALSEifMerkleprooforheaderchaincryptographicallyinvalidREFUSEDifdataunavailableorcostexceedsRVP _ {\mathrm {BTC}} (\mathrm {txid}, h, k) = \left\{ \begin{array}{l l} \mathrm {TRUE} & \mathrm {if root} _ {\mathrm {computed}} = \mathrm {hdr} _ {h}. \mathrm {merkle\_root} \\ & \quad \mathrm {and header chain valid for} k \mathrm {blocks} \\ & \quad \mathrm {and Cost} _ {\mathrm {verify}} \leq C _ {V} \\ \mathrm {FALSE} & \mathrm {if Merkle proof or header chain cryptographically invalid} \\ \mathrm {REFUSED} & \mathrm {if data unavailable or cost exceeds} R _ {V} \end{array} \right.

Step 7: Output

If valid, the verifier declares the transaction confirmed under the external proof commitment with kk confirmations. If the Merkle proof or header chain is cryptographically invalid, return FALSE. Otherwise, refuse due to unavailable or unverifiable data.

4.5 Formal Structure

Definition 4.4 (External Verification Predicate):

Pext(X,D,RV)={TRUE,if all cryptographic checks pass and Costverify(D)CV,BytesFetched(D)BV,BytesStored(D)SVFALSE,if provided cryptographic objects contradict the claimREFUSED,if data is unavailable, out of scope, or resource bounds would be exceededP _ {\mathrm {ext}} (X, D, R _ {V}) = \left\{ \begin{array}{l l} \text {TRUE,} & \text {if all cryptographic checks pass and Cost} _ {\mathrm {verify}} (D) \leq C _ {V}, \\ & \text {BytesFetched} (D) \leq B _ {V}, \text {BytesStored} (D) \leq S _ {V} \\ \text {FALSE,} & \text {if provided cryptographic objects contradict the claim} \\ \text {REFUSED,} & \text {if data is unavailable, out of scope, or resource bounds would be exceeded} \end{array} \right.

This mirrors the bounded verification semantics of internal predicates (Section 2.6). External proofs must therefore be succinct and efficiently checkable.

4.6 Properties

  1. Trust-Minimized: Verifiers depend only on cryptographic commitments anchored in the Momentum chain.

  2. Composable: External verification results can themselves be inputs to other predicates (e.g., DeFi apps using BTC proofs).

  3. Bounded: Verification cost remains within RVR_V.

  4. Refusal Safety: If external data is unavailable, the verifier refuses deterministically.

4.7 External Proof Structures

External proofs depend on the external system’s commitment model:

External SystemProof TypeRoot TypeVerification Cost
BitcoinSPV (Merkle inclusion + PoW chain)Block header hash + merkle_root fieldO(log n_tx) hashes + O(k) header checks
EthereumMerkle Patricia proofState rootO(log n_state) hashes
MinaRecursive SNARKState commitmentO(1)
Other PoS/BFT ChainsHeader signatures + inclusion proofConsensus rootO(log n) hashes

4.8 Bounded Synchronization

Verifiers do not need to track all external headers. They only require recent ones anchored via CEV commitments.

Property 4.1 (Bounded Header Set):

Let HextH_{\mathrm{ext}} be the external header set anchored up to height hh. Verifiers need only store the last kk headers satisfying

Hextf(SV,BV)\left| H _ {\mathrm {ext}} \right| \leq f (S _ {V}, B _ {V})

This ensures synchronization remains resource-bounded.

4.9 Multi-Chain Composition

CEV allows aggregation of multiple external verifications into a single proof.

Example:

A zApp verifies that:

  • a Bitcoin payment occurred, and
  • an Ethereum contract emitted a matching event.

Both predicates can be combined:

Pmulti=PBTCPETHP _ {\mathrm {multi}} = P _ {\mathrm {BTC}} \wedge P _ {\mathrm {ETH}}

By Refusal Propagation (Section 2.6.2), if either is REFUSED, the entire composite predicate is REFUSED.

Thus, the system composes external facts without introducing cross-chain trust.

4.10 Cross-Domain Proof Aggregation

To support scalable interoperability, the system can embed aggregated proofs inside Momentum blocks.

Definition 4.5 (Aggregated External Proof):

An aggregated proof Πext\Pi_{\mathrm{ext}} combines multiple external verifications:

Πext={(πBTC,νkBTC),(πETH,νkETH),}\Pi_ {\mathrm {ext}} = \{(\pi_ {\mathrm {BTC}}, \nu k _ {\mathrm {BTC}}), (\pi_ {\mathrm {ETH}}, \nu k _ {\mathrm {ETH}}), \ldots \}

A meta-verifier validates all subproofs under bounded cost:

i,Verify(νki,πi)=TRUEandiCostverify(πi)CV\forall i, \mathrm {Verify} (\nu k _ {i}, \pi_ {i}) = \mathrm {TRUE} \quad \mathrm {and} \quad \sum_ {i} \mathrm {Cost} _ {\mathrm {verify}} (\pi_ {i}) \leq C _ {V}

This produces efficient multi-chain verification that remains within client limits.

4.11 Refusal Semantics for External Data

Refusal is especially important for cross-chain claims:

Refusal CodeMeaning
REFUSED_HEADER_MISSINGAnchored header not found within retention window
REFUSED_PROOF_UNAVAILABLESPV or external proof not retrievable
REFUSED_VERIFICATION_COSTProof size or verification cost exceeds R_V
REFUSED_INSUFFICIENT_CONFIRMATIONSHeader chain evidence insufficient for required confirmation depth

Refusal explicitly signals unverifiable external data, preserving system soundness.

4.12 Genesis Anchoring for External Systems

The first external commitment is embedded at genesis as a trust root. From that point, all subsequent external commitments are chained cryptographically.

Definition 4.6 (External Trust Root):

Text=(Sext,hheader(0),metadata)T _ {\mathrm {ext}} = (S _ {\mathrm {ext}}, h _ {\mathrm {header}} ^ {(0)}, \mathrm {metadata})

All verifiable external claims must derive from TextT_{\mathrm{ext}} by recursive commitments.

This ensures long-term verifiability even after long offline periods.

4.13 Example: Trustless Cross-Chain Swap

A user executes a cross-chain atomic swap between ZNN and BTC.

Sequence:

  1. User locks BTC in a Bitcoin HTLC (script-based timelocked output); generates SPV proof πBTC\pi_{\mathrm{BTC}} with confirmation evidence.

  2. Submits πBTC\pi_{\mathrm{BTC}} to a zApp on the dual-ledger system.

  3. zApp verifies πBTC\pi_{\mathrm{BTC}} using the latest CEV commitment and confirmation depth check.

  4. Upon success, zApp releases equivalent ZNN on-chain.

No intermediary ever holds both assets - security derives purely from verification.

4.14 Security Model

Theorem 4.1 (External Verification Soundness):

Assuming:

  1. external commitment anchoring is correct, and
  2. external proof systems are sound,

then no adversary can produce a false verified external claim without breaking underlying cryptography.

Proof Sketch. External proofs verify against anchored roots. To falsify a claim, the adversary must either forge a valid proof (break soundness) or rewrite anchored Momentum history (break commitment immutability under Property 2.1). Both are computationally infeasible under standard cryptographic assumptions.

4.15 System Implications

  1. No Trusted Bridges: CEV replaces bridges with verifiable proofs.

  2. Verifiable Oracles: External data (e.g., prices) can be verified cryptographically.

  3. Cross-Chain Composability: Applications can depend on multiple external proofs.

  4. Bounded Cost: Verification remains feasible for light clients.

  5. Self-Sovereign Verification: Any verifier can confirm external claims independently.

4.16 Summary of Pillar III

ConceptDefinitionBenefit
External CommitmentsAnchored roots from external chainsTrustless cross-chain linkage
External ProofsSPV or zk proofs from external dataNo replay
Refusal SemanticsExplicit refusals for missing dataSafety under unavailability
ComposabilityCross-chain proof aggregationInteroperability
Genesis AnchoringPermanent external trust rootsLong-term verification

Composable External Verification extends verification-first design beyond a single ledger, enabling a web of independently verifiable systems. It transforms interoperability from a problem of trust into one of cryptographic composition.


5. System Integration

5.1 Unified Architecture

The three pillars - Bounded Verification, Proof-Native Applications, and Composable External Verification - compose into a single, layered system:

LayerComponentCore Function
L1Momentum ChainGlobal commitment ordering
L2Account ChainsParallel local execution and proof emission
L3zAppsProof-native state transitions
L4CEV InterfaceVerification of external systems

The architecture forms a verification-first stack:

Execution \subseteq Proof Emission \subseteq Bounded Verification

Every observable state change - internal or external - is verifiable by a resource-bounded participant operating solely on cryptographic data.

5.2 Data Flow

  1. Local Execution: Each account runs its zApp, producing state updates and validity proofs.

  2. Commitment Inclusion: Proof-anchored state digests are committed into the Momentum chain.

  3. External Verification: CEV anchors external commitments (e.g., Bitcoin headers).

  4. Verification Path:

Verifier \Rightarrow Momentum Header \Rightarrow Commitment \Rightarrow Proof

At any point, if data or cost exceed RVR_{V}, the verifier returns a refusal code.

5.3 Formal Composition

Definition 5.1 (Verification Pipeline):

Psystem(x)=Pmomentum(x)Paccount(x)Pproof(x)Pexternal(x)P _ {\mathrm {system}} (x) = P _ {\mathrm {momentum}} (x) \land P _ {\mathrm {account}} (x) \land P _ {\mathrm {proof}} (x) \land P _ {\mathrm {external}} (x)

with refusal propagation (Section 2.6.2):

i,Pi(x)=REFUSEDPsystem(x)=REFUSED\exists i, P _ {i} (x) = \mathrm {REFUSED} \Rightarrow P _ {\mathrm {system}} (x) = \mathrm {REFUSED}

This closure ensures global soundness without global execution.

5.4 Security Model

ThreatMitigationSource
Forged transactionsProof-system soundnessSection 3.10
Header rewritingMomentum immutabilitySection 2.2
Data withholdingRefusal semanticsSection 2.7
Cross-chain forgingAnchored external commitmentsSection 4.14
State overflowAdaptive retentionSection 2.8

Security reduces to the cryptographic primitives; no single party can induce acceptance of an invalid claim.

5.5 Resource Scaling

Let:

  • N=N = number of Momentum blocks
  • m=m = average number of commitments per Momentum block
  • LA=L_{A} = length of account-chain segment being verified (in blocks)
  • σB=\sigma_{B} = average bytes per account-chain block
  • σπ=\sigma_{\pi} = average bytes per proof object
  • Cverify=C_{\mathrm{verify}} = verification cost per proof (operations or time)
  • RV=(SV,BV,CV)=R_{V} = (S_{V},B_{V},C_{V}) = verifier bounds

Then for a verifier tracking headers and selectively verifying accounts:

Storage (Momentum headers): O(N)O(N) headers

Bandwidth (commitment membership proof): O(logm)O(\log m) hashes

Computation (commitment membership verification): O(logm)O(\log m) hash operations

Bandwidth (account segment retrieval):

O(LA(σB+σπ))bytesO \left(L _ {A} \left(\sigma_ {B} + \sigma_ {\pi}\right)\right) \text {bytes}

Computation (account proof verification):

O(LACverify)operations,whereCverifyisboundedbyCVO (L _ {A} \cdot C _ {\mathrm {verify}}) \mathrm {operations, where} C _ {\mathrm {verify}} \mathrm {is bounded by} C _ {V}

The commitment membership proof scales logarithmically with commitments per block; account-chain verification cost scales linearly with segment length and depends on the specific proof system used.


6.1 Blockchain Verification Approaches

  • Full Nodes: Execute every transaction; verification = replay.

  • Light Clients: Validate headers only; depend on unverified intermediaries.

  • Rollups / Validity Proofs: Off-chain execution, on-chain verification - but typically bounded to one chain and large proofs.

The proposed architecture generalizes these patterns into a dual-ledger, verification-first model with explicit resource limits.

6.2 Cryptographic Foundations

The design builds on established primitives:

PrimitiveRole in Architecture
Merkle treesCommitment membership proofs (Momentum r_C); transaction inclusion proofs (Bitcoin SPV)
SNARKs / STARKszApp validity proofs
Hash chainsMomentum ordering
Signature aggregationConsensus header validation

Unlike rollups or zero-knowledge blockchains, verification cost here is tunable via RVR_V, not fixed to a single circuit.

6.3 Conceptual Lineage

  • Bitcoin SPV (2009): Introduced header-only verification.

  • Plasma (2017): Proposed bounded off-chain state commitment.

  • zkRollups (2018+): Shifted execution to proofs.

  • Celestia (2022): Modularized consensus and data availability.

  • Mina Protocol (2023): Emphasized succinct chain proofs.

This work synthesizes their insights into a single verification-bounded framework.


7. Discussion and Implications

7.1 Refusal as a Primitive

Traditional systems treat unresponsiveness as failure. Here, refusal is correctness:

Unverifiable \Rightarrow Refuse, not Trust

This principle converts resource limitations into formally safe boundaries.

7.2 Verifiable Sovereignty

Each verifier defines its own trust radius and resource policy. The network becomes a federation of independently verifying participants, not a monolithic consensus on execution.

This supports lightweight nodes, mobile wallets, and intermittent connectivity without delegation.

7.3 Sustainability and Longevity

Adaptive retention limits data growth; verifiers can remain functional indefinitely with finite storage. Genesis anchoring guarantees recovery after long offline periods - critical for archival and planetary-scale participation.

7.4 Open Research Questions

  • Efficient proof markets for decentralized proof distribution.

  • Recursive composition limits under tight CVC_V bounds.

  • Post-quantum-secure proof systems optimized for browsers.

  • Incentive design for external commitment publication.

These remain active areas for community research.


8. Conclusion

Bounded verification transforms distributed systems from execution-first to verification-first architectures. By separating execution, proof generation, and verification, and by bounding each verifier’s resources, the design achieves three properties simultaneously:

  1. Independent Verification: Any participant can verify correctness without trust.

  2. Bounded Scalability: Verification cost is explicit, predictable, and device-feasible.

  3. Composable Trust: Internal and external proofs integrate seamlessly.

This model redefines what it means for a distributed ledger to be trustless. It replaces implicit completeness with explicit verifiability and explicit refusal. In doing so, it lays the groundwork for a sustainable, universally accessible cryptographic economy.


Appendix A: Reader’s Guide

A.1 Intended Audiences

  • Protocol Designers / Cryptographers: Formal predicates and proofs.

  • Implementers: Algorithms, interfaces, and resource accounting.

  • Conceptual Readers: Operational overviews and analogies.

A.2 Reading Paths

LevelSectionsApprox. Time
Conceptual OverviewSections 1, 2 (skim), 3.1-3.3, 8~2 h
Technical UnderstandingAll prose + examples~5 h
Formal AnalysisFull definitions + proofs8 h+

A.3 Notation

Mathematical symbols follow standard cryptographic conventions:

  • H()H(\cdot) = cryptographic hash function
  • π=proof\pi = \mathrm{proof}
  • νk=\nu k = verification key
  • RV=(SV,BV,CV)=R_{V} = (S_{V},B_{V},C_{V}) = verifier resource bounds
  • N=N = number of Momentum blocks
  • m=m = number of commitments per Momentum block
  • rC=r_{C} = commitment root (Merkle root over commitments)

Appendix B: Refusal Codes

CodeMeaningExample Cause
REFUSED_OUT_OF_SCOPEQuery exceeds declared history windowRequesting data > delta
REFUSED_DATA_UNAVAILABLEMissing proof or account segmentPeer offline
REFUSED_COST_EXCEEDSComputation > C_VExcessive proof aggregation
REFUSED_HEADER_MISSINGExternal header unavailableExternal anchoring gap
REFUSED_PROOF_UNAVAILABLESPV or external proof not retrievableSPV data unavailable
REFUSED_VERIFY_COSTProof size exceeds R_VOversized proof
REFUSED_INSUFFICIENT_CONFIRMATIONSHeader chain evidence insufficient for required confirmation depthInsufficient PoW confirmations

Appendix C: Glossary

TermDefinition
Momentum ChainSequential ledger of commitments providing global order.
Account ChainPer-account ledger enabling parallel execution.
zAppProof-native application producing verifiable state transitions.
CEVComposable External Verification; mechanism for verifying external systems.
Bounded VerificationValidation limited by explicit resource constraints.
RefusalDeterministic rejection when proof cannot be verified within bounds.

Appendix D: Notation Summary

SymbolMeaning
R_V = (S_V, B_V, C_V)Resource bounds (storage, bandwidth, computation)
P(x, D, R_V)Verification predicate
rho(t)Retention function
c_extExternal commitment
T_extExternal trust root
vk, piVerification key / proof
H(.)Cryptographic hash function
NNumber of Momentum blocks
mNumber of commitments per Momentum block
r_CCommitment root (Merkle root over commitments)
L_ALength of account-chain segment (in blocks)
sigma_BAverage bytes per account-chain block
sigma_piAverage bytes per proof object
C_verifyVerification cost per proof (operations or time)
Cost_verify(pi)Cost function returning verification cost for proof pi
BytesFetched(D)Total bytes downloaded for data set D
BytesStored(D)Total bytes retained for data set D

Appendix E: Data Availability and Proof Distribution

This appendix makes the data-availability (DA) and proof-distribution assumptions explicit for Zenon’s current architecture (Phase 0 / Alphabet) and for the verification-first model used throughout this paper. The goal is not to claim perfect availability, but to specify: (i) who is expected to store and serve which objects, (ii) how clients retrieve them, and (iii) the exact failure modes (including refusal).

E.1 Objects that must remain available

For a verifier to answer a query without refusal, the following objects must be retrievable from some peer set:

  • Momentum headers (and the commitment root rCr_{\mathrm{C}} for each Momentum): required to anchor account-chain segments and commitment-membership proofs.

  • Account-chain segments for the queried address over the requested history window Δ\Delta.

  • Commitment membership proofs (Merkle branches) for commitments under rCr_{C}.

  • zApp proof objects π\pi and verification keys νk\nu k, when a query depends on proof-native application claims.

  • External header chains (e.g., Bitcoin headers) and any required inclusion proofs, when evaluating external predicates.

E.2 Who stores what (Phase 0 / Alphabet roles)

Zenon defines several staked roles that are explicitly designed to retain and relay state and history:

RolePrimary responsibility (DA / distribution)
PillarsProduce Momentum and, as full nodes, retain and archive the entire ledger history.
NodesFull archival nodes that store and share the ledger and passively validate state.
SentinelsNetwork participants that are registered on-chain and rewarded; commonly used as relays and availability peers for constrained clients.

Operational reading: Pillars and Nodes are the default archival substrate. Sentinels improve reachability for constrained clients but do not replace archival incentives.

E.3 Retrieval paths for bounded verifiers

A bounded verifier (browser / mobile) is expected to use a layered retrieval strategy:

  • Fast path: fetch the latest Momentum header sequence (or a recent verified frontier) from any available peer set; verify producer/consensus validity per the current rules.

  • Query path: request the minimum account-chain segment and the corresponding commitment-membership proof(s) needed to answer the query.

  • Proof path: if the query depends on π\pi, retrieve π\pi and νk\nu k (or a hashed reference to νk\nu k already committed under rCr_C).

  • External path: for CEV predicates, retrieve the relevant external header-chain suffix and required inclusion proofs.

E.4 Adversarial availability and explicit refusal

If any required object is unavailable within the verifier’s bandwidth bound BVB_{\mathrm{V}} (or outside its declared history window Δ\Delta), the correct response is explicit refusal rather than an unverifiable answer. The refusal codes in Appendix B correspond to the following DA failure classes:

Failure classRefusal surface
Outside declared window deltaREFUSED_OUT_OF_SCOPE
Missing proof / segmentREFUSED_DATA_UNAVAILABLE
Missing external headersREFUSED_HEADER_MISSING
Missing external inclusion proofREFUSED_PROOF_UNAVAILABLE
Exceeds resource boundsREFUSED_COST_EXCEEDED (or REFUSED_VERIFY_COST for external proofs)

To reduce “availability hand-waving” while staying consistent with Zenon’s Phase 0 roles, a minimum-viable DA posture is:

  • Pillar archival expectation: Pillars are treated as archival by default; clients should assume Momentum headers and recent account segments are widely replicated.

  • Node archival expectation: Nodes act as additional archival replicas and improve long-horizon availability.

  • Redundancy principle: verifiers should request objects from kk distinct peers (k2)(k\geq 2) before refusing, subject to BVB_{\mathrm{V}}.

  • Content-addressing: proof objects and large artifacts should be hash-addressed (or committed) so that any mirror can serve them without trust.


Appendix F: Economic Layer (Phase 0 / Alphabet)

This appendix summarizes the on-chain incentive structure that supports liveness and data retention in Phase 0. It is not a complete equilibrium analysis, but it grounds the roles referenced in Appendix E in concrete, implemented mechanisms.

F.1 Emission schedule (daily distribution)

Zenon distributes fixed daily rewards on a 24-hour cadence:

AssetDaily distribution
ZNN4,320 ZNN / 24h
QSR5,000 QSR / 24h

These emissions are the primary budget used to reward consensus production, staking, and availability roles.

F.2 Pillar incentives

Pillars participate in consensus by producing and validating Momentum, and they are explicitly described as full archival nodes. Pillar rewards are split into:

  • Momentum-interval rewards: proportional to the number of Momentums produced during the reward period.

  • Delegation rewards: distributed proportionally to delegated stake, subject to the Pillar’s configured sharing percentages.

  • Uptime coupling: if a Pillar produces fewer than its expected Momentum, its rewards decrease proportionally.

F.3 Registration costs and “skin in the game”

Phase 0 uses explicit stake and burn mechanics to bound Sybil participation:

  • Pillar stake: 15,000 ZNN required to register a Pillar (refundable on disassembly); QSR is burned to create the Pillar slot and is not refundable.

  • Dynamic QSR registration cost: the chain exposes the current registration cost via the embedded Pillar contract (e.g., embedded-pillar.getQsrRegistrationCost).

  • Node stake: Nodes (archival full nodes) require staked ZNN and QSR and are rewarded when eligible.

  • Sentinel stake: Sentinels are registered on-chain and can receive rewards; they are commonly used to improve relay availability for light clients.

F.4 Who pays for proof generation?

In Phase 0, “proof generation” is not a single global market: many proofs are produced by the party that benefits from the claim (e.g., a zApp operator, bridge relayer, or client). The protocol-level economic primitive available today is: (i) rewards for maintaining consensus/availability roles (Pillars, Nodes, Sentinels) and (ii) content-addressed commitments under Momentum roots so that third parties can mirror proofs without changing trust assumptions.


Appendix G: Consensus Instantiation and Timing (Phase 0 to Phase I)

The main body of this paper treats consensus abstractly via fconsensus(k)f_{\text{consensus}}(k). This appendix instantiates the abstraction with Zenon’s current Phase 0 consensus, and summarizes the Phase I roadmap direction.

G.1 Phase 0 (Alphanumeric) consensus summary

Zenon Phase 0 uses a delegated Proof of Stake (dPoS) approach where a set of staked nodes (“Pillars”) take turns producing Momentum blocks on a strict schedule.

  • Scheduled production: time is divided into short slots (“ticks”); one Pillar is assigned per tick to produce the next Momentum.

  • Weighted selection: higher-staked Pillars produce more frequently; selection draws from (i) the top 30 by delegated weight and (ii) additional Pillars outside the top 30 with lower frequency.

  • Archive expectation: Pillars are treated as full nodes that retain and archive the entire ledger history.

G.2 Momentum interval parameter

The published target Momentum interval is 10 seconds (rewards are commonly presented per minute or per day). This parameter is the key bridge between abstract “step counts” and real-time latency in the verification and availability bounds.

G.3 Finality and reorg considerations

Phase 0’s scheduled producer model reduces proposer conflicts, but practical finality still depends on fork-choice rules and network conditions. For external verification (e.g., Bitcoin headers), choose the confirmation depth kk conservatively to tolerate transient forks in either system. The refusal codes REFUSED_INSUFFICIENT_CONFIRMATIONS and REFUSED_HEADER_MISSING are the verifier-visible surface for these finality gaps.

G.4 Phase I direction (Narwhal and Tusk)

Zenon documentation describes a roadmap transition toward a high-performance, leaderless consensus influenced by Narwhal and Tusk, separating transaction dissemination from ordering to improve throughput and resilience under asynchrony. This direction is consistent with the dual-ledger separation emphasized in the main paper.


Appendix H: Resource Budgets and Practical Defaults

This appendix translates the abstract verifier bounds RV=(SV,BV,CV)R_{\mathrm{V}} = (S_{\mathrm{V}}, B_{\mathrm{V}}, C_{\mathrm{V}}) into concrete, implementation-friendly budgets. The values below are recommended starting points for builders; they should be measured and tuned for target devices.

H.1 Suggested baseline budgets

ProfileS_V (storage)B_V (bandwidth per query)C_V (compute per query)
Browser-light≤ 256 MB local (indexed headers + small cache)≤ 2-5 MB≤ 250 ms (single-thread)
Mobile-light≤ 128 MB local≤ 1-3 MB≤ 300 ms
Desktop-light≤ 512 MB local≤ 5-10 MB≤ 150 ms

H.2 How to account for C_V (verification cost)

A practical verifier should treat CVC_{\mathrm{V}} as a “budget envelope” over a small set of primitives:

  • Hashing: SHA-256 / Blake2 (Merkle branches, header chaining).

  • Signature verification: producer signatures and transaction signatures (where applicable).

  • SNARK verification: verifying π\pi against νk\nu k (bounded by circuit choice).

  • Parsing / decoding: bounded by message sizes that are already constrained by BvB_{\mathrm{v}}.

Implementers should instrument end-to-end query verification time and expose it as Cost_check (π)(\pi) in logs to support empirical tuning.

To prevent “theoretically correct but unusable” configurations, clients should measure refusal rates under realistic conditions:

  • Fix (S_V, B_V, C_V) and Δ\Delta for a device profile.

  • Replay a representative workload (wallet history, token transfers, CEV queries).

  • Report the fraction of queries returning each refusal code (Appendix B) and the median verification time for successful queries.


Appendix I: Comparative Notes (Verification, Proving, DA)

This appendix provides a compact comparison along the axes most relevant to a verification-first design: what must be verified by clients, who bears proving costs, and what DA assumptions remain.

SystemClient verificationProving / execution costDA assumption (simplified)
Zenon (this paper)Bounded verification; explicit refusal when bounds or data are missing.Proof generation borne by claimants / operators; consensus roles rewarded on-chain.Availability via rewarded roles (Pillars/Nodes/Sentinels); refusal on missing data.
zkSync / StarkNet (zk-rollups)Verify validity proofs + data commitments.Heavy proving by sequencers/relayers; throughput and latency depend on batching.DA published to L1; censorship resistance depends on L1 inclusion.
Celestia-style DA layerVerify DA sampling / headers.Execution/proving off-chain on rollup chains; DA posts to the DA layer.DA guaranteed by the DA layer; applications must publish data there.
Mina (succinct chain)Verify recursive proof of chain state.Recursive proof generation by block producers.State availability still needed for user-level proofs; often relies on archival services.

I.1 Interpretation for Zenon builders

Zenon’s distinguishing choice is not “DA solved” but “DA made explicit”: when data or proofs are unavailable within declared bounds, the system returns refusal instead of silently degrading trust assumptions. This makes the availability layer a first-class engineering target (peer selection, replication, archival incentives) rather than an implicit externality.

I.2 Source pointers (non-exhaustive)

For implemented Phase 0 parameters and roles, see: Zenon’s public site (daily distribution), the Alphanumeric specification note (roles, target Momentum interval), and Zenon documentation pages (consensus and embedded contracts).


Appendix J: Contributions and Novelty Statement

This greenpaper is intentionally conservative in its primitives (SPV, membership proofs, validity proofs, and light-client patterns). Its contribution is the unified verification-first interface: explicit resource bounds, explicit refusal surfaces, and a single model that spans internal commitments and external facts.

J.1 Claimed contributions (summary)

Contribution
C1. Verification-first semantics: A verifier model parameterized by explicit resource bounds R_V = (S_V, B_V, C_V) with refusal as a correctness outcome (not a failure).
C2. Dual-ledger split as a verification interface: Parallel execution is separated from sequential commitment ordering, so clients verify commitments rather than replay full execution.
C3. Composable External Verification (CEV): A uniform predicate interface for external facts (e.g., Bitcoin SPV) with explicit refusal surfaces for missing headers/proofs.
C4. Bounded composability: A formal limit on verification depth under fixed budgets, enabling engineering-time budgeting rather than implicit “infinite composability” assumptions.

J.2 Synthesis vs. incremental contribution

To avoid over-claiming novelty, the table below separates well-known building blocks from the incremental value of this paper: formalizing them under R_V and refusal semantics so implementers can reason about safety, liveness, and usability under constrained clients.

Prior artWhere it appearsThis paper’s incremental contribution
SPV / header-chain verificationBitcoin light clients, SPV literatureFormalized as a CEV predicate with explicit refusal codes and budget accounting under R_V.
zk-rollups / validity proofszkSync, StarkNet, etc.Separated proving vs. verifying roles, and integrated verification into a refusal-first client model.
Light clients / checkpointsMany chainsUnified “resume from local trust root” with adaptive retention and explicit out-of-scope refusal.
Dual-ledger or layered designsVarious L1/L2 hybridsTreated as a deterministic verification interface: commitment ordering is primary; execution is secondary.

Appendix H (Addendum): Benchmark Harness and Target Budgets

To close the gap between formal guarantees and deployment reality, the project should publish a minimal, reproducible verifier harness. The harness is not a full node: it is a collection of deterministic test vectors and microbenchmarks that measure costs corresponding to (S_V, B_V, C_V) and refusal rates under retention policies.

H.A Harness outline (reproducible)

  • Test vectors: fixed Momentum header sequences, commitment trees, account-chain segments, and CEV external headers/proofs.

  • Workloads: (i) header sync/verify, (ii) membership verification, (iii) CEV verification, (iv) representative zApp proof verification.

  • Reporting: median + p95 timings, peak memory, bytes fetched, and refusal counts by code.

  • Environments: Chromium desktop, mid-range phone browser, and a low-power single-board node (optional).

H.B Initial target budgets (design, to be validated)

WorkloadMetricTarget (design)Measurement notes
Momentum header sync (N headers)headers/sec; p95Desktop: 5k-20k/sec Phone: 1k-5k/secHash + signature verification only; run in JS/WebAssembly; report median and p95.
Commitment membership proof (Merkle branch)verify time; bytes<1 ms; O(log m) hashesMeasure on typical m; include deserialization cost.
CEV (BTC header suffix + SPV proof)end-to-end verify<50 ms (cached headers) <200 ms (cold)Cache model: last K headers retained; cold path includes download within B_V.
SNARK verification (representative zApp proof)verify time; memoryClass A: <250 ms Class B: <1 sMeasure chosen proof system; include warm constraints; report failures as REFUSED_COST_EXCEEDED.
Refusal rate under retention policy% queries refused<1% (steady-state target)Simulate partitions + retention windows; report by refusal code class.

H.C Proof budget classes

The phrase “browser-native verification” should be interpreted as: verification is feasible for proofs whose declared class fits within the verifier’s C_V budget. zApps should declare a proof class; verifiers refuse when the class exceeds their budget.

ClassVerification budgetIntended environmentAction if exceeded
AC_V ≤ 250 ms; small memoryBrowser / mobile defaultREFUSED_COST_EXCEEDED
BC_V ≤ 1 s; moderate memoryMobile with batching; desktop browserREFUSED_COST_EXCEEDED or batch
CUnbounded / delegatedNative node / delegated verifierREFUSED_OUT_OF_SCOPE unless delegation policy permits

Appendix E (Addendum): Data Availability Security Properties

Appendix E makes DA explicit via refusal. To reduce “DA hand-waving,” DA can be elevated to named security properties that are testable and implementable incrementally.

E.A DA-Detectability (mandatory)

Definition (DA-Detectability). For any query q whose verification requires an object o (proof, segment, header suffix), an honest verifier operating under (B_V,Δ)(\mathrm{B\_V},\Delta) either (i) retrieves o from the serving layer within its bounds, or (ii) returns an explicit refusal code indicating which dependency is missing (e.g., REFUSED_DATA_UNAVAILABLE, REFUSED_HEADER_MISSING). No silent degradation of trust is permitted.

Definition (DA-Retrievability). Under a stated redundancy model (e.g., k independent peers, erasure coding with rate r), the probability of retrieving any required object within bounds exceeds 1-epsilon for typical workloads. This is an engineering target, validated by measurement (refusal-rate benchmarks) rather than assumed.

E.C Minimum cryptographic enforcement path

  • Content addressing: proofs/segments are referenced by hash (or committed under r_C) so any mirror can serve them without additional trust.

  • Redundant querying: verifiers request from k2\mathrm{k} \geq 2 distinct peers before refusing, subject to B_V.

  • Availability attestations (optional): nodes/pillars publish signed “I have blob X” claims; misbehavior can be audited and penalized by policy.

  • Erasure-coded publication (optional): large artifacts are encoded into chunks; sampling-based audits detect withholding with high probability.


Appendix F and 3 (Addendum): Proof Economics and Practical Bounded Composability

Bounding verification without addressing proving/serving incentives can create a two-tier system. This addendum specifies implementable payment models and connects Theorem 3.1 to a usable budgeting rule for composition depth.

F.A Who pays for proving? (three viable models)

  • User-pays: the claimant submitting a zApp result pays for proof generation and inclusion (simple; aligns costs with demand).

  • Sponsor-pays: the zApp operator subsidizes proving to reduce user friction; costs recovered via app-level fees.

  • Market provers: independent provers bid to generate proofs; a fee market clears based on proof complexity and latency.

Recommended default for Phase 0: user-pays with optional sponsor subsidies. Fees should be parameterized by (i) proof byte size, (ii) declared proof class, and (iii) worst-case verifier cost envelope, so spam scales with the burden it imposes on bounded verifiers.

3.A Corollary (engineering bound for d_max)

Let each additional composition layer consume at least (ΔS,ΔB,ΔC)(\Delta S, \Delta B, \Delta C) of storage, bandwidth, and computation for a target verifier class. Then a conservative bound is:

Corollary. d_maxmin(floor(S_V/ΔS),floor(B_V/ΔB),floor(C_V/ΔC))\mathrm{d\_max} \leq \min(\text{floor(S\_V} / \Delta \mathrm{S}), \text{floor(B\_V} / \Delta \mathrm{B}), \text{floor(C\_V} / \Delta \mathrm{C})).

3.B Worked example (mobile verifier)

Example (illustrative, to be validated by the harness): suppose a mobile verifier declares C_V=250C\_V = 250 ms and B_V=2B\_V = 2 MB for a query. If one composition layer requires (i) one membership proof verification (~1 ms), (ii) a cached external header check (~20 ms), and (iii) one Class A proof verification (~150 ms), then ΔC171\Delta C \approx 171 ms and d_maxd\_max is at most 1 under this budget. Higher-depth composition would require batching, delegation, or a larger C_VC\_V class.

Last updated on