State Cell And Continuation Semantics¶
What This Page Explains¶
This page explains the protocol state cell model and continuation flow in newcomer-first language, then maps it to technical objects.
Why It Matters¶
If state continuity is unclear, transfer semantics, conservation, and recovery are hard to reason about.
Plain-Language Concept¶
Each confirmed transfer creates the next authoritative protocol output. The next sender spends that output to continue the same confidential state line. This continuity object is the continuation output.
Technical Detail¶
Core Objects¶
- State cell: covenant-controlled on-chain state container for continuity.
- Note: private receiver-side state describing spend authority and value semantics.
- Note commitment: commitment to note data inserted into protocol state commitments.
- Nullifier: spentness credential used to prevent note reuse.
- Continuation output: latest spendable state-carrying output that advances the protocol line.
- State transition: consumption of current continuation output and creation of next one under valid constraints.
Entry, Transition, Continuation¶
- Entry: value enters protocol flow from a normal Unspent Transaction Output (UTXO) into a protocol-managed state cell path.
- Confidential transition: witness and public boundary are evaluated; commitments/nullifiers are updated.
- Continuation: next continuation output becomes the authoritative source for the next hop.
Conservation Caveat (Precise)¶
Conservation is represented at the state-transition level through commitment/nullifier-linked transition checks and bounded relation constraints. In the current bounded milestone, part of boundary integrity is enforced in the verifier lane and part is enforced at host/wallet integration checks. This is stronger than artifact-only reporting, but it is not yet a claim of arbitrary-profile verifier completeness.
BCH-Carried Outputs Relationship¶
The protocol continuity object is carried in BCH transaction outputs. BCH provides settlement and ordering. Confidential semantics are in the proof/witness model, while graph and fee surfaces remain public.
Code Mapping¶
- State and transition linkage:
- packages/pool-state/src/*
- Note commitments and nullifiers:
- packages/zk-notes/src/*
- Commitment folding and state templates:
- packages/pool-hash-fold/src/*