Content Registry
Stores media hashes and provenance metadata. The chain holds hashes, never the media.
Home · How it works
dfpn splits cleanly in two: coordination and settlement live on Solana; media retrieval and detection live on a DePIN network of operator GPUs the protocol never touches. That split is what makes the AI verifiable — the chain doesn't run the model, it verifies a staked consensus of the operators who did. Here is exactly what runs where, and how a request becomes a verdict.
Lifecycle of a verdict
A client posts a media hash, storage URI, fee, deadline, and required modalities to the Analysis Marketplace program.
Eligible workers poll for matching requests. Assignment is randomized and diversity-constrained to limit gaming.
Each assigned worker fetches the media from off-chain storage, verifies it against the on-chain hash, and runs detection locally. The protocol never sees inference.
Each worker posts a SHA-256 commitment of its result plus a salt. Nobody can copy a result they have not yet read.
After the commit window closes, workers reveal their results and the chain verifies each one against its commitment.
A reputation-weighted aggregation produces the verdict label and a confidence score.
A challenge window allows disputes before payout. Workers and the model developers whose models were used are paid from the fee; wrong, late, or no-show workers can be slashed.
submit ─▶ route ─▶ analyze ─▶ commit ─▶ reveal ─▶ consensus ─▶ challenge ─▶ reward │ │ hash + fee pay accurate workers (media stays off-chain) slash the rest
On-chain (Solana · Anchor 0.30.1)
Stores media hashes and provenance metadata. The chain holds hashes, never the media.
Handles request creation, worker assignment, and result tracking through commit and reveal.
Holds model metadata, versioning, and developer stake. Permissionless — any developer can register a model.
Tracks worker staking and reputation. Reputation feeds directly into consensus weighting and rewards.
Distributes epoch rewards, executes slashing, and routes fee splits to workers, model developers, treasury, and the insurance pool.
Off-chain services
Polls the indexer for matching tasks, fetches media, runs detection on the operator’s own GPU, then commits and reveals.
Mirrors on-chain state for fast queries. Explicitly untrusted — clients always verify against on-chain state.
The client integration surface: submit requests, await consensus, read the audit trail.
Monitoring UI for requests, workers, and network health.
Storage model
Media is stored on IPFS, Arweave, or S3 and referenced by a URI. The chain stores only the content hash and metadata. Workers retrieve the bytes and verify them against the on-chain hash before running detection.
The indexer and REST API exist purely for speed. They are explicitly untrusted: clients verify every claim against on-chain state, so a compromised indexer cannot forge a verdict or substitute media.
For the adversary classes this design defends against — malicious workers, model developers, sybils, cartels, spammers, and storage attackers — see the threat model.
Run a worker on your GPUs, register a detection model, or wire verdicts into your trust & safety stack.