-
Notifications
You must be signed in to change notification settings - Fork 0
Implement the Proof of Resource protocol #57
Copy link
Copy link
Open
Labels
component:blockchainSubstrate runtime, node, pallets, and bridgeSubstrate runtime, node, pallets, and bridgecomponent:protocolProtobuf and generated contractsProtobuf and generated contractscomponent:provider-agentRust Provider Agent and Docker executionRust Provider Agent and Docker executioncomponent:validatorIndependent proof verification and provider scoring networkIndependent proof verification and provider scoring networkpriority:highHigh-priority MVP workHigh-priority MVP work
Description
Metadata
Metadata
Assignees
Labels
component:blockchainSubstrate runtime, node, pallets, and bridgeSubstrate runtime, node, pallets, and bridgecomponent:protocolProtobuf and generated contractsProtobuf and generated contractscomponent:provider-agentRust Provider Agent and Docker executionRust Provider Agent and Docker executioncomponent:validatorIndependent proof verification and provider scoring networkIndependent proof verification and provider scoring networkpriority:highHigh-priority MVP workHigh-priority MVP work
Prove that a provider actually holds the CPU, RAM, and GPU it advertises, through bounded cryptographic challenges rather than trust in its self-reported inventory. Today
agent-inventoryreports hardware viasysinfoand nothing verifies it; Proof of Resource closes the gap between advertised and real capacity, which is the precondition for a market where over-advertising is not free.No new ADR gate is required — ADR-012 §6 records this explicitly. This issue extends the existing challenge model of ADR-007 and the evidence-summary model of ADR-011 §3; it adds no new trust boundary. It does require a
protocol/protochange with full consumer analysis perAGENTS.md.Acceptance criteria:
Challenge { expected_response, deadline }inblockchain/pallets/availability/src/lib.rs), and are rejected after the deadline the same wayChallengeTimeoutalready works — no second replay scheme is introduced;SolveChallengeRequest.Typeinprotocol/proto/openinfra/agent/v1/agent.protois extended with the new dimensions, consumers are identified, wire compatibility is preserved,bufbreaking-change checks pass, and both languages are regenerated;payload_hash, per ADR-011 §3 — never the raw payload;Original request (FR, preserved verbatim):