Skip to main content

Technical Components

Client

  • Connects to operators over WebSocket.
  • Sends ping and ack messages.
  • Provides claimed coordinates for verification.

Operator

  • Registers as a decentralized witness.
  • Timestamps packets with nanosecond precision.
  • Computes geodistance (Haversine formula).
  • Validates RTT against theoretical latency bounds.
  • Signs & submits results to HelloWorldServiceManager.

Smart Contracts

  • Service Manager: Manages verification tasks & operator responses.
  • Delegation Manager & AVS Registry: Handle operator staking & registration.
  • ECDSA Registry: Validates operator signatures.
pol architecture Figure: POL Architecture

System Flow

1. Commitment Creation

  • Client → Backend: Requests geohash commitment of claimed location.
  • Backend → Contract: Submits the commitment.

2. Operator Discovery

  • Backend → Client: Returns list of registered operators.
  • Operators: Act as decentralized witnesses.

3. Connection Establishment

  • Client Frontend: Opens WebSocket connections with operators.
  • Each connection enables latency-based verification.

4. Ping / Pong Exchange

  • Client → Operator: Sends a ping with claimed coordinates.
  • Operator: Records timestamp, saves claim, responds with pong.

5. Ack for RTT Measurement

  • Client → Operator: Sends ack message.
  • Operator: Calculates RTT and compares to expected latency.

6. Location Verification

  • Operator computes:
    • Geodistance (Haversine formula)
    • Min RTT (speed-of-light bound)
    • Actual RTT (measured)
If within tolerance → Claim is valid
If out of bounds → Claim is rejected

7. Onchain Response

  • Operator → Contract: Signs result and calls respondToTask.
  • Submission includes metadata, claim, and verification status.

8. Aggregation (Indexer Layer)

  • Collects responses from multiple operators.
  • Aggregates into a final proof.
  • Publishes proof onchain for smart contracts to consume.
I