Trustless AI Model Bounties – PVC (Demo)

Local-only UI (no blockchain) How does the PVC prove blending?

This demo walks through your exact 5-step flow with a toy homomorphic commitment. In production, swap in BN254 Pedersen vector commitments and your smart contract calls.

1) Create a contest

Provide only: Contest name, IPFS dataset, and a goal error rate (bps). Pool is fixed at 10,000 units for the demo.

2) Show dummy submissions

Click to populate a few sample models. Each submission has a 3-number vector, randomness r, error (bps), and a toy PVC commitment.

Manual add (optional)

3) See all submissions

Sorted by lowest error. Weight used in aggregation is num_i = 1 / (error_i + 1), integer division, so lower error gets higher weight.

4) Federated average + PVC proof

Compute Wsum, Rsum, verify Commit(Wsum, Rsum) == Σ num_i · C_i, and show the averaged model.

5) Payout

Split the pool proportionally by num_i / Σ num_i. Requires a valid PVC aggregation first.

Export proof artifact

Download a JSON containing submissions, weights, aggregated commitment, and the pass/fail check.