Skip to content

dash(s8): embedded won-block relay end-to-end KAT (won-block-reaches-network) - #476

Merged
frstrtr merged 1 commit into
masterfrom
dash/s8-embedded-relay-e2e
Jun 25, 2026
Merged

dash(s8): embedded won-block relay end-to-end KAT (won-block-reaches-network)#476
frstrtr merged 1 commit into
masterfrom
dash/s8-embedded-relay-e2e

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Proves the EMBEDDED P2P relay arm of the dual-path block-viability gate (#83), the arm G3b did NOT exercise — G3b proved only the dashd submitblock RPC fallback arm (won block 272 ACCEPTED on regtest).

What it proves

Composes the LANDED master leaves socket-free, so NO dependency on the operator-gated broadcaster_full.hpp keystone:

DashBroadcaster (#405) fan-out seam --> WonBlockRelay (#432/#441)
inv(MSG_BLOCK,h) -> getdata -> block --> peer reconstructs the block

KATs (ctest 4/4, Linux x86_64, non-hollow)

  • DeliversExactWonBlockToEveryLivePeer — every live slot reconstructs the EXACT won block; byte-parity vs canonical block-message wire bytes.
  • ColdPoolReachesNoPeer — zero live peers reaches none; this is exactly why the authoritative dashd-RPC fallback arm is never removed.
  • NeverServesUnannouncedBlock — relay serves only the announced won block.
  • ByteParityIdenticalAcrossAllPeers — no per-peer fan-out drift.

Scope

Additive only: one new test file + build.yml allowlist + CMakeLists target. No src, no master, no other-coin tree. Single dash tree, non-consensus, zero sockets; block hash producer-supplied (not recomputed) so it carries no consensus value. Held for integrator verify → operator tap; no self-merge.

@frstrtr
frstrtr force-pushed the dash/s8-embedded-relay-e2e branch from d5ffc23 to 06bf185 Compare June 25, 2026 09:32
…network)

G3b proved the dashd submitblock RPC FALLBACK arm of the dual-path
block-viability gate end-to-end on regtest (c2pool-dash won block 272,
ACCEPTED, mempool drained). This KAT proves the OTHER arm — the EMBEDDED
P2P relay — at the wire-framing level, which G3b never exercised.

Composes the LANDED master leaves socket-free, so it carries no
dependency on the operator-gated broadcaster_full.hpp keystone:

  DashBroadcaster (#405) fan-out seam --> WonBlockRelay (#432/#441)
  inv(MSG_BLOCK,h) -> getdata -> block  --> peer reconstructs the block

4 KATs (Linux x86_64, ctest 4/4, non-hollow):
  - DeliversExactWonBlockToEveryLivePeer: every live slot reconstructs the
    EXACT won block; byte-parity vs canonical block-message wire bytes.
  - ColdPoolReachesNoPeer: zero live peers -> embedded arm reaches none —
    precisely why the authoritative dashd-RPC fallback arm is never removed.
  - NeverServesUnannouncedBlock: relay serves only the announced won block.
  - ByteParityIdenticalAcrossAllPeers: no per-peer fan-out drift.

Single dash tree, non-consensus, zero sockets; block hash is producer-
supplied (not recomputed). Additive only: one new test file + build.yml
allowlist + CMakeLists target; no src, no master, no other-coin tree.
@frstrtr
frstrtr force-pushed the dash/s8-embedded-relay-e2e branch from 06bf185 to eb7eccb Compare June 25, 2026 12:12
@frstrtr
frstrtr merged commit 4d5c982 into master Jun 25, 2026
22 checks passed
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