Skip to content

Plan: Phase 2 reference notes, CLVM costing learnings and muladd - #15

Merged
EvanWinget merged 1 commit into
mainfrom
phase2-notes
Jul 29, 2026
Merged

Plan: Phase 2 reference notes, CLVM costing learnings and muladd#15
EvanWinget merged 1 commit into
mainfrom
phase2-notes

Conversation

@EvanWinget

@EvanWinget EvanWinget commented Jul 29, 2026

Copy link
Copy Markdown
Owner

What changed

One commit adding a Reference material for this phase block to the Phase 2 section of docs/execution-plan.md. No spec, implementation, or vector changes. This is plan flesh, not skeleton: no gate, ordering, or done-criterion changes.

Why

Requested by Evan (2026-07-29): make sure Phase 2 design starts from CLVM's deployed learnings, and record the secp256k1_muladd discussion before it gets lost.

  • The condition-costing note points the obligation-2 work at Chia's deployed condition costs and the CHIP-0049 revisions, and names the two decisions to make deliberately rather than inherit (the first-100 free tier, and mapping announcement pricing onto our SEND/RECV_MESSAGE conditions).
  • The muladd note records why bllsh carries an EC linear-combination operator (in-language taproot tweak verification), and the conditions-architecture alternative: a condition form committing to taproot components that the hardened validator computes natively, keeping EC arithmetic out of the consensus VM. The decision lands when CONDITIONS.md v0 is drafted.

How to verify

  • git diff main -- docs/execution-plan.md is the entire change.
  • CHIP-0049 condition cost changes
  • bllsh's secp256k1_muladd: https://github.com/ajtowns/bllsh (opcodes.py)
  • PATH=.venv/bin:$PATH ci/lint/lint.sh

Two notes requested by Evan (2026-07-29) so they are not lost when
Phase 2 design starts. First, per-condition costing reads Chia's
deployed condition costs and the CHIP-0049 revisions (base cost past
a free tier, announcements always priced, cap removed for pricing)
before we design ours, with the free-tier carve-out and the
announcement-to-message mapping called out as decisions to make
rather than inherit. Second, the taproot-output-construction
question: bllsh solves it in-language with secp256k1_muladd, our
architecture points to a condition form the validator computes
natively, decided when CONDITIONS.md v0 is drafted.
@EvanWinget
EvanWinget merged commit 9736388 into main Jul 29, 2026
2 checks passed
@EvanWinget
EvanWinget deleted the phase2-notes branch July 29, 2026 23:19
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.

1 participant