Proof-of-Physical-Work (PoPW)

Evidence Primitives

Evidence is constructed as a Merkle tree over signed leaves:

  • GPS trail: (t, lat, lon, alt, DOP, speed) with device signature and anti-replay nonce

  • IMU/LiDAR: Downsampled statistics and occasional raw frames for audits

  • Media hashes: Photo/video chunk hashes with capture-time and beacon challenge codes

  • Attestation quotes: TEE/TPM quotes binding firmware and session key [5]

  • Beacon responses: TLS/BLE challenge-response from environment beacons where available

Artifacts are referenced by a CID index included as leaves. The robot produces a public manifest:

M = { jobId, robotDID, sessionPK, RT, CIDIndex, Hcrit, t0, t1 }

Signed by the session key and optionally by the device key.

Deterministic Scoring

Let q ∈ [0,1] be the quality score computed by a public function Score(M, artifacts) defined in the job criteria.

Example (area-coverage jobs):

q = λ1·coverage + λ2·overlap + λ3·trajectory_smoothness λ4·anomaly_penalty

With Σ λi = 1 and each term in [0,1].

Challenge Protocol

A challenger posts bond Bch and claims a defect with a machine-checkable predicate (e.g., missing tile proof, inconsistent timing). The contract opens a short evidence window for oracle re-checks.

Outcomes:

  • Valid challenge: Refund Bch and pay reward ρBch from slashes; revert payment or claw back (if not yet released).

  • Invalid challenge: Burn βBch and pay (1−β)Bch to the robot and treasury.

The game is tuned so truthful challenges have positive expected value when defect probability exceeds a threshold, discouraging spam.

Payoff Analysis with Numerics

Parameters:

  • Bond Bch = 100 MORPH

  • Reward share ρ = 0.4

  • Burn fraction on failed challenge β = 0.3

  • Robot stake s = 500 MORPH

  • Oracle aggregate stake so = 10,000 MORPH

  • Slashes: σr = 0.20, σo = 0.05 when challenge succeeds

Table 2: Challenge payoff matrix (example numbers)

Outcome

Challenger

Robot

Oracles

Valid challenge

+ρBch = +40

−σrs = −100

−σoso = −500

Invalid challenge

−βBch = −30

+(1−β)Bch/2 = +35

+(1−β)Bch/2 = +35

Dispute flow:

  • After quorum attestation, a challenge window Tc opens.

  • Valid challenge → transition to Challenge Valid → then Resolve with pay/slash.

  • Timeout or invalid challenge → No Challenge / InvalidResolve.

  • All payouts and slashes follow rules in Section 4.7 and Settlement invariants.

Threats and Mitigations

Table 3: Threats and mitigations

Threat Vector

Mitigation

Sensor spoofing (synthetic or replayed packets)

TEE-bound session keys, nonces, timing analysis, cross-sensor checks

Locality forgery (GPS-only tricks)

Multi-sensor fusion, WiFi/BLE fingerprints, visual place recognition

Oracle collusion (robot + oracle bribe)

VRF sampling, stake caps, audits, slashable oracle stake

Late reveal (reveal after observing oracles)

Commit-then-reveal acceptance with timeout

Privacy leakage (over-sharing raw media)

Commitments on-chain, encrypted artifacts, selective access

Censorship (oracle exclusion of a robot)

Multiple oracles, permissionless relays, L2 failover