Skip to content

[0.32][ZK/P2] Bind bounded multi-Cell transitions to complete protected state sets #44

Closed

Description

@a19q3

Completion evidence — 2026-10-12

Implemented in signed commit 98375e0a, published on 0.32.

Bounded 1–4-counter complete-set membership, independently owned successors and one unchanged exact proof per counter are implemented. Native/CCC/generated-SDK bytes agree; the standalone checker rejects 29 shared rebound mutations. Min/representative/max all-group execution, explicit maxima-plus-one and intended-boundary negatives, actual node conflicting-spend/replay/rebuild recovery, per-VM resource accounting and two-build lifecycle reproducibility are retained.

The final 1/2/4-Cell all-group positive/negative replay passed from a clean detached checkout of signed commit 98375e0a (tracked tree clean before and after). All 35 source-capsule entries match that commit, and the copied lifecycle/child artifacts match the retained executed artifacts byte-for-byte. The replay, full fixtures and log are archived in signed evidence commit 80d2a91d.

Acceptance record · exact evidence index.

The maintainer's explicit “不要跑CI和gates” instruction supersedes the original gate-execution acceptance item for this work. No CI/gates ran and no gate success is claimed. Setup is public deterministic test material; this is not production setup admission or public deployment.

Outcome and priority

Scoped follow-up for #42 P2, in the 0.32 workstream. Implement one versioned, explicitly bounded multi-Cell ZK transition using the existing lifecycle and exact-verifier boundaries. Keep the admitted single-state profile and its receipts intact.

Priority: after #42's complete P1 reference application establishes the statement/build/prove/sign/recovery contract. Implementer: Codex, with maintainer ownership. Boundary review disposition: Codex implementation and contract/mutation review, recorded with the evidence; no independent human review is claimed. No external collaborator is assigned work.

Duplicate check and dependencies

Reviewed the repository's open and closed issues. #7/#8 own the existing bounded consumption and output-correspondence primitives; #9/#10 own exact transaction composition and closed roles. #22 admitted the first exact ZK profile and explicitly leaves broader multi-Cell work to #42. This issue adds the ZK statement/set-completeness contract, rather than reopening those completed features. #28/#29 are not prerequisites: use exact deployments and closed roles first. The finance program #43 remains separate.

Prerequisites satisfied: #42 P1 is closed with executable evidence; the counter-set contract fixed application shape, canonical statement and numeric bounds before implementation/final measurements. This issue retains its separate acceptance scope.

Required contract

  • Choose one application and explicit minimum/maximum protected-input and successor counts. Specify zero-input behavior; do not invent a generic unbounded set.
  • Fix group-relative versus transaction-wide sources, canonical ordering, complete input selection, distinct identities and one-to-one successor correspondence. Explain which unrelated fee/change Cells are excluded from the protected state set while still covered by the raw-transaction commitment.
  • Derive the complete protected set on chain. A witness list must not be able to omit a real protected input or insert an unrelated Cell. Reuse [Candidate][Consensus runtime] Implement executable bounded Cell-group consumption #7/[Candidate][Consensus runtime] Implement executable bounded output-plan correspondence #8 ownership rules; foreign observation grants no lifecycle authority.
  • Specify replay and concurrent-spend behavior. If nullifiers are selected, define where uniqueness is enforced and how the state layout affects contention; otherwise explicitly exclude nullifier claims.
  • Version every changed statement/codec/profile boundary. Retain exact circuit, VK, verifier, deployment and transaction identities, and generated-builder/adapter byte parity. Ordinary compilation must not run a prover or load proving keys.

Acceptance

  • A reviewed contract fixes the application, sources, counts, ordering, ownership, replay and numeric resource ceilings before final measurement.
  • Clean-checkout positive executions cover minimum, representative and maximum admitted sets, with all required Script groups accepting the same transaction.
  • Insertion, omission, duplicate identity/index, substituted Cell, reordered protected sets, unmatched successors and fee/change confusion have specified executable outcomes. Negatives must reach the intended boundary.
  • Same-proof replay and concurrent conflicting transactions reject under the specified application policy, with rebuild/reprove behavior exercised.
  • Independent checker mutations bind selection/count/correspondence and the actual public-input derivation; compiler/checker/builder/editor/docs agree wherever the surface changes.
  • Per-case cycles, memory/stack, witness bytes, full transaction bytes and deployed artifacts are published at the frozen maxima; unavailable measurements remain explicit.
  • Validation disposition: the maintainer explicitly instructed no CI or gates on 2026-10-12. Direct focused VM/checker/CCC/node/resource/reproducibility/clippy checks passed on identified source; unified gates were not run or claimed. No release or deployment is authorized.

The starting implementation is the exact transition adapter and the private counter application. Their existing single-state bounds are not multi-Cell acceptance evidence.

Activity

  1. added this to the 0.32 milestone on Oct 4, 2026
  2. a19q3 commented on Oct 12, 2026

    @a19q3
    CollaboratorAuthor

    Completion evidence — 2026-10-12

    Implemented in signed commit 98375e0a, published on 0.32.

    Bounded 1–4-counter complete-set membership, independently owned successors and one unchanged exact proof per counter are implemented. Native/CCC/generated-SDK bytes agree; the standalone checker rejects 29 shared rebound mutations. Min/representative/max all-group execution, explicit maxima-plus-one and intended-boundary negatives, actual node conflicting-spend/replay/rebuild recovery, per-VM resource accounting and two-build lifecycle reproducibility are retained.

    The final 1/2/4-Cell all-group positive/negative replay passed from a clean detached checkout of signed commit 98375e0a (tracked tree clean before and after). All 35 source-capsule entries match that commit, and the copied lifecycle/child artifacts match the retained executed artifacts byte-for-byte. The replay, full fixtures and log are archived in signed evidence commit 80d2a91d.

    Acceptance record · exact evidence index.

    The maintainer's explicit “不要跑CI和gates” instruction supersedes the original gate-execution acceptance item for this work. No CI/gates ran and no gate success is claimed. Setup is public deterministic test material; this is not production setup admission or public deployment.

    The acceptance checklist now records the evidence and the explicit no-gates validation disposition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions