btc(g2): RATCHET staged-migration harness + 5-check evidence (mirror DGB #427) - #436
Merged
Merged
Conversation
Mirror DGB #427 for BTC. Stages miners 1-by-1 onto the v36 vote and asserts the work-weighted desired-version tally (sampling_desired_version) advances monotonically per stage, with the 95%-by-count activation gated behind the 60%-by-work accept (#288) so mint cannot outrun accept. Per-stage tally captured in the RESULT line; hard-fail asserts at each stage boundary. Oracle = p2pool-btc-jtoomim @ece15b03 (SPB v35 / proto 3502); 35->36 ratchet governed by core::version_gate SSOT. Isolated private-sharechain testbed via --network-id/--prefix (bucket-1 isolation primitives, kept per-instance). gate-logic anchor (rig-free) proven now: BTC_version_gate KATs 2/2 PASS. C1 substrate + work-weighted tally readout reachable. C2/C3/C4 LIVE rows GATED on the SHA256d rig window (LTC soak owns the rigs); BTC has no AutoRatchet sim KAT, so no rig-free sim fallback for those rows. Additive/fenced: scripts/ only -- no consensus, shared-base, build.yml or CMake surface.
This was referenced Jun 24, 2026
frstrtr
added a commit
that referenced
this pull request
Jun 25, 2026
… DGB #427 / BTC #436) (#482) Greenlight gate G2 for DASH: staged 1-by-1 miner-migration over a dual v16-oracle + v36-c2pool sharechain, 5 checks. Conforms vs DASH own oracle frstrtr/p2pool-dash @9a0a609 (share VERSION=16) -> 16->36 ratchet; separate X11 sharechain, NOT the LTC v35 crossing. Additive/fenced: scripts/ only, no consensus/shared-base/build.yml/CMake surface, DASH-only. Keeps the dashd submitblock RPC fallback. DASH edge over BTC #436: staged-gate LOGIC is sim-proven rig-free NOW via the master weighted-gate KATs (test_dash_conformance VersionNeg.* + VersionWiring.*, 11/11) -- weighted 60% accept, weighted 95% v36 gate, weight-not-count, 5-case switch, wired-path admit/reject. Real --regtest parent (same substrate as proven G3a/G3b populated won blocks). Only the LIVE work-weighted tally through staged X11 stratum miners is rig-gated. Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
G2 RATCHET — BTC staged-migration harness (mirrors DGB #427)
Greenlight gate G2 for BTC, per integrator 2026-06-24. Additive/fenced:
scripts/only — no consensus, shared-base, build.yml or CMake surface.What it proves
c2pool-btc conforms to its OWN oracle
p2pool-btc-jtoomim @ece15b03(SPB v35 / proto 3502) and drives the 35→36 ratchet governed by thecore::version_gateSSOT, backward-compatible with v35 in-window. Separate SHA256d sharechain — not the LTC crossing.Integrator acceptance criteria
sampling_desired_versionfrom/local_statsafter each stage, hard-fails on any regression.stageN=w:<work>/c:<count>).scripts/only, signed, no third-party attribution.[s=shipped]with live evidence.Live evidence (rig-free, now)
BTC_version_gate.{V36ActivationBoundary,SegwitNotFoldedIntoV36Gate}— the 35→36 boundary the ratchet keys off.GATED (honest)
C1–C4 LIVE work-weighted rows need real SHA256d hashrate to move
sampling_desired_version; the rig set is in the live LTC crossing-soak (request the window, do NOT pull rigs off a live soak — DGB #427 precedent).BTC-specific gap (differs from DGB #427): BTC has no AutoRatchet ctest suite (only the two version_gate boundary KATs), so there is no rig-free sim fallback for C2/C3/C4 the way DGB had
--sim-votes. Open question to integrator in the evidence template: (a) request rig window, or (b) authorize a smallBTC AutoRatchetKAT suite — note (b) crosses the scripts/ fence.See
scripts/btc_g2_evidence_template.mdfor the full 5-check form. I do not self-merge.