Skip to content

Privacy Track Season One: open with Silent Payments, new labs, review-first - #2

Merged
code-orange-dev merged 4 commits into
mainfrom
privacy-track-season-one
Sep 26, 2026
Merged

code-orange-dev merged 4 commits into
mainfrom
privacy-track-season-one

Conversation

@code-orange-dev

Copy link
Copy Markdown
Owner

What this does

Revamps privacy-track/ into one coherent Season One that opens with Silent Payments, and clears out five layers of earlier rewrites.

New season (SESSIONS.md)

Month Sessions
1 S1 SP I: build a sender · S2 SP II: build a scanner + indexer trade-offs
2 S3 SP III: Review Club on Core/libsecp256k1 SP PRs · S4 Think Like the Adversary (chain analysis + fingerprinting)
3 S5 Coin Selection & Change · S6 Payjoin
4 S7 Light Clients & Your Own Node · S8 Network: Tor, BIP324, -privatebroadcast, ASmap (Core 31)
5 S9 CoinJoin & OpenSwap · S10 Lightning Privacy
6 S11 Ecash (Cashu & Fedimint) · S12 Contribution Sprint

Why now: Core merged BIP352 core logic on 2026-09-23 (#35301), libsecp256k1 v0.8.0 ships silentpayments, and sending/receiving (#35302, #32966) are in review.

New Silent Payments lab (labs/silent-payments/)

  • Pure-Python, no installs, works offline. send.py (5 exercises) and receive.py (3 + 2 stretch)
  • run_vectors.py grades against the official 28 BIP352 test vectors and points at the failing exercise
  • Reference solutions pass 28/28 on both sides (--solution), and the vectors are byte-identical to bitcoin/bips@c2ac36f
  • I mutation-tested the grader against the old exercises' bugs: x-only shared secret → 3/28, no taproot negation → 26/28, matching outputs by position → 21/28
  • scan_benchmark.py for the "why do indexers exist?" discussion

Aligned with the Privacy Contributor Program

  • Review Circle no longer requires someone to post a comment live. Comments go upstream only when useful
  • Sats reward proof of work (lab done, test report, merged fix), never comment/PR counts
  • Issue pool now has real, verified-open targets (2026-09-26), split into BUILD vs TEST

Removed / fixed

  • Duplicate module-* and phase-* dirs (byte-identical scripts), the old graded facilitator guide, and the capstone. Git history keeps them
  • Kept the 3 labs that run cleanly (chain analysis, coin selection, compact block filters), with READMEs. Dropped the fingerprinting lab (it hard-coded invented wallet behavior, e.g. "Electrum always uses locktime 0") and the coinjoin lab (crashed)
  • Glossary errors fixed (P2WPKH dust is 294, not 546; Core doesn't "prefer BnB"; Teleport → OpenSwap)
  • Reading list rewritten per session, and every link checked
  • Root README now lists the Privacy Track

Please check

  • Session content names community members (Chaitika, Peter, Razor, Vaan, Muhammad, Arowolo, Mwihoti, Gradale) as the old version did
  • Wallet support claims in README (Dana, Cake, BlueWallet, Sparrow, Shroud) are worth a quick re-check before launch

🤖 Generated with Claude Code

code-orange-dev and others added 2 commits September 26, 2026 11:50
- New 12-session season (SESSIONS.md) opening with a 3-session Silent
  Payments arc: build a sender, build a scanner + indexer trade-offs,
  then a Review Club on the Bitcoin Core / libsecp256k1 SP PRs.
  Adds ecash (S11), folds ASmap into a network session built on Core 31
  (-privatebroadcast, embedded asmap), pairs CoinJoin with OpenSwap.
- New labs/silent-payments: dependency-free Python sender/scanner
  exercises graded against the official 28 BIP352 test vectors, with
  reference solutions (28/28 both sides) and a scanning benchmark.
  Replaces the old SP exercises, which serialized the shared secret as
  x-only and matched outputs by position (both contrary to BIP352).
- Align with the Privacy Contributor Program: review-first, proof of
  work instead of PR/comment counts, nothing posted upstream on a timer.
- Issue pool populated with verified-open targets (BUILD vs TEST).
- Remove five layers of legacy material (duplicate module-*/phase-*
  dirs, graded facilitator guide, capstone); keep the three labs that
  run cleanly under labs/. Fix glossary errors (dust limits, Core coin
  selection, OpenSwap), per-session reading list with verified links.
- Root README: list the Privacy Track in programs and learning path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
code-orange-dev and others added 2 commits September 26, 2026 12:17
…links

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
S8 guide and session text reflect that Core 31's -privatebroadcast
applies to sendrawtransaction only, not wallet sends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@code-orange-dev
code-orange-dev merged commit 40b07f5 into main Sep 26, 2026
3 checks passed
@code-orange-dev
code-orange-dev deleted the privacy-track-season-one branch September 26, 2026 05:39
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