Skip to content

πŸ»β€β„οΈ Propter polar bear: canonical prover protocol - #13

Open
iChristwin wants to merge 1 commit into
mainfrom
propter-polar-bear
Open

iChristwin wants to merge 1 commit into
mainfrom
propter-polar-bear

Conversation

@iChristwin

@iChristwin iChristwin commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

πŸ»β€β„οΈ This makes the authenticated packed-state prover the repository's protocol implementation, organized into lib, program and host rather than parallel protocol variants.

  • Encode each update as a four-byte slot ID plus its absolute replacement word; bind destination, slot, old/new words and used public keys.
  • Verify signed nonce/mWh bytes, aggregate whole Wh once per commit, enforce 40/24-bit bounds and preserve untouched lanes.
  • Read selected words/keys directly and authenticate them through the contract-reconstructed statement; remove obsolete MPT/header/snapshot code.
  • Retain mixed-slot gas admission, Ethereum funding checks, local SP1 execution, cycle/PGU/credit limits, final simulation and confirmed-receipt reconciliation.
  • Consolidate protocol/operation documentation in README, keep compatible Streamr ingestion, fix its health handler, and replace obsolete container/node workflows with protocol CI.

Validation: 16 Rust tests passed; the proving-enabled host and pinned SP1 6.3.1 guest build successfully. Four-byte/max-slot boundaries and matching Solidity fixtures are covered. Local SP1 execution passed and matched the host commitment: 594,770 cycles / 698,633 PGU. CI builds and executes the fixture as well. No paid network proof or public-chain transaction was requested.

Gas defaults still admit 647 reused / 322 fresh slots under current pricing, or 454 / 90 under the configured Glamsterdam model, with 15m budgets and 20% headroom. Deployment requires the matching Rollup wire format and the final program key. The locally derived key is 0x00d7ccad99253ce7ee8b85917c04d23c3685645613492931c9ad82efecefe06d; re-derive it after program/toolchain changes. This release uses a bounded one-batch CLI; the old node/container deployment path is retired.

Companion PR: M3tering/Rollup#1

Co-authored with @iChristwin πŸ»β€β„οΈ

Use four-byte slots, authenticated packed meter state, and a clean documented implementation.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants