Skip to content

docs: define the decentralized Network Validator protocol (ADR-011) - #40

Merged
flo2517 merged 4 commits into
mainfrom
docs/issue-28-network-validator-adr
Aug 6, 2026
Merged

docs: define the decentralized Network Validator protocol (ADR-011)#40
flo2517 merged 4 commits into
mainfrom
docs/issue-28-network-validator-adr

Conversation

@flo2517

@flo2517 flo2517 commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

Proposes ADR-011, answering #28: an accepted ADR is required before the Network Validator executable/component boundary can be added, and this is that ADR.

Grounded in the current code, not the aspirational docs:

  • Today the Control Plane is the sole validator — EnsureRoot on availability::submit_proof / reputation::update_vector / record_availability (blockchain/runtime/src/lib.rs:185,202-203), verifying provider signatures itself before relaying.
  • Reuses existing patterns rather than inventing new ones: the ProviderInspector cross-pallet trait shape, the basis-points/sequence/replay pattern already proven in pallets/availability, and the already-defined SolveChallenge RPC (agent.proto) as the Validator↔Agent challenge channel.

Decision highlights

  • New pallet-network-validator: signed accounts, bonded stake, Candidate → Active → Suspended/Exited lifecycle, NetworkValidatorInspector::is_active.
  • availability/reputation origins move from the Control Plane's single EnsureRoot bridge to ensure_signed + registry-checked validator accounts.
  • Randomized per-dimension challenges (compute/storage/network/availability/reliability) issued directly Validator↔Agent over the existing mTLS SolveChallenge surface; Control Plane stays the Agent's cert introducer/allowlist pusher.
  • Signed, bounded EvidenceSummary envelopes (integer score_bps, sequence/replay protection, payload_hash — detailed evidence stays off-chain).
  • Threat table: collusion, Sybil, self-validation, bribery, withholding, replay.
  • Integer-only trimmed-mean aggregation across a validator committee, with confidence (submissions_received / committee_size), a bounded dispute window, and Reward Points incentives for non-outlier submissions.
  • Explicitly scopes out: full operator-level Sybil resistance and slashing economics (flagged as follow-up work before Implement Network Validator challenges and vector worker scoring end to end #29 is "done").
  • Flags a real doc/code gap found while researching this: architecture.md claims BABE/GRANDPA; the dev chain actually runs Aura/GRANDPA (ADR-009) — the validator-selection design in this ADR is built around that reality.

Scope

Documentation only — no code changes. #29 implements this protocol once accepted.

🤖 Generated with Claude Code

Proposes ADR-011 answering issue #28: validator identity/registration/
stake/lifecycle, randomized per-dimension challenges over the existing
SolveChallenge RPC, signed bounded evidence envelopes reusing the
availability pallet's basis-points/replay pattern, a threat table
(collusion, Sybil, self-validation, bribery, withholding, replay), and
integer-only multi-validator trimmed-mean aggregation with confidence,
disputes, and reward incentives. Moves availability/reputation call
origins from the Control Plane's single EnsureRoot bridge to signed,
registry-checked Network Validator accounts.

No code changes; #29 implements this once accepted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@flo2517
flo2517 merged commit 3c9b30c into main Aug 6, 2026
4 checks passed
@flo2517
flo2517 deleted the docs/issue-28-network-validator-adr branch August 6, 2026 07:36
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.

2 participants