Skip to content

mirror-bond promotion rests on a single uncorroborated chain read — bring the Bonded verdict under NC-12 quorum #503

Description

@MichaelTaylor3d

Task

Mirror-bond promotion (bond_verify.rs / mirror_bond.rs, activated by PR #501) decides rank from a chain read that is single-source and uncorroborated: chain_source() asks coinset first and, on failure, ONE dialled chia peer whose own doc says "the peers do not corroborate the answer" (trustless: false). Nothing checks block inclusion. A peer in the chia peer set can therefore return a self-consistent fabricated coin that declares its own peer id and take rank 0 at zero collateral. Bring this read under NC-12: agreement across the ~5 concurrently-held untrusted chia peers (or coinset + at least one independent peer agreeing on coin id, puzzle hash, amount, spent state and confirmed height) before a verdict of Bonded is produced; disagreement or insufficient sources → Unverified, never Bonded.

Context

Effort

High — custody-adjacent decision, quorum semantics, failure direction matters (fails-closed to Unverified).

Scope

Only the verdict path that produces Bonded. Do not widen to the census or spends unless they share the exact helper.

Evidence

A test with a chain-source double where one of N sources returns a fabricated coin and the others do not → verdict Unverified; and where all agree → Bonded. Cite the test names and the SPEC §25.6a change in the PR.

Priority

High (money path). kind:business — a fabricated coin taking rank 0 moves $DIG to the wrong party.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:businessa person can DO something new, or money moves, or a shipped surface stops lying to them

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions