Skip to content

Add ADR-0005 client-side earned reward eligibility gate#151

Open
grumbach wants to merge 1 commit into
WithAutonomi:mainfrom
grumbach:adr-0005-earned-reward-eligibility-v2
Open

Add ADR-0005 client-side earned reward eligibility gate#151
grumbach wants to merge 1 commit into
WithAutonomi:mainfrom
grumbach:adr-0005-earned-reward-eligibility-v2

Conversation

@grumbach

@grumbach grumbach commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Client-side of ADR-0005 "earned reward eligibility". Collects the signed audit reports that quote responders now ship and gates quote collection on them, so a client prefers to pay nodes that have earned their place (a clean audited week at the quoted size).

This is earned future eligibility, not slashing: it only affects who a client chooses to pay next, never settled payments.

What it does

  • Eligibility predicate: majority-of-opinions vouch bar (floor 3), with a two-tier fallback (dues-at-any-size, then today's ungated rules) so the network never stalls under fast growth or churn.
  • Report verification: each report's signature, request nonce, and size caps are checked before its rows are trusted. Payee selection and payment verification are untouched — the gate only narrows the candidate list at collection.
  • Observe-only by default so shadow eligibility can be calibrated before any hard gate is enabled.

See docs/adr/ADR-0003-client-earned-reward-eligibility-gate.md (client predicate) and the canonical ant-node ADR-0005 for the full design.

Coordinated cutover

Part of the ADR-0005 wire cutover. Pins ant-protocol and ant-node to the immutable PR revs for a reproducible build; the [patch.crates-io] block is marked STRIP BEFORE MERGE and is replaced by the published ant-protocol 3.0.0 at release.

Depends on:

Collect the signed audit reports that quote responders now ship, and gate
quote collection on them so a client prefers to pay nodes that have earned
their place (a clean audited week at the quoted size). This is earned
future eligibility, not slashing: it only affects who a client chooses to
pay next, never settled payments.

- eligibility predicate: majority-of-opinions vouch bar (floor 3), with a
  two-tier fallback (dues-at-any-size, then today's ungated rules) so the
  network never stalls under fast growth or churn;
- verify each report's signature, request nonce, and size caps before
  trusting its rows; the gate leaves payee selection and payment
  verification untouched;
- observe-only by default so shadow eligibility can be calibrated before
  any hard gate is enabled.

Pin ant-protocol and ant-node to the immutable ADR-0005 PR revs so the
build is reproducible, and add the client-side ADR document.
@grumbach grumbach force-pushed the adr-0005-earned-reward-eligibility-v2 branch from 9e86f98 to 30efa69 Compare July 9, 2026 23:15
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