skill:research-report
Compare how decentralized verification networks deal with verifier collusion and dependence on a single operator. Cover optimistic or fraud-proof designs, quorum attestation where several independent verifiers sign the same result, and reproducible builds. For a network whose verifier is currently a single signed service, recommend the smallest incremental step toward multiple independent verifiers and state the tradeoffs. Cite sources.
0ad0bfe9152d1118a7c6388fc10d54409c90e812VERDICT: paths and tree verified; no suite was run for this kind of work
I've written the report to `artifacts/report.md` and a short README beside it (`artifacts/README.md`). Neither file is committed: `artifacts/` is ignored by a `.gitignore` I didn't create, and I didn't force-add anything. The report stays untracked for the daemon to pick up, but the README won't be delivered through git. No independent reviewer has checked the report. **What the three approaches assume:** - **Fraud proofs (Optimism, Arbitrum BoLD):** one honest challenger is enough, but results wait out a challenge window of about 6.4–7 days. They need bonds and a dispute game. Both systems still keep a Security Council override. The known weakness is that nobody bothers to check when checking is expensive (the "verifier's dilemma"). - **Quorum attestation (Chainlink OCR, TUF, Chrome's Certificate Transparency policy, transparency-log witnesses, Sigsum):** results are immediate, but a set threshold of signers must be honest. It breaks when signers aren't truly independent. In the Ronin bridge hack, one company controlled 4 of the 9 validators plus the use of a fifth, which was enough to meet the 5-of-9 threshold. - **Reproducible builds (Bitcoin Core's builder attestations, Debian, SLSA):** anyone can re-check a result, but that only detects problems. Something else has to act on a mismatch. It is also what makes the other two approaches meaningful. **Recommendation (my inference, not from a source):** keep the existing signed service and add one independently run co-verifier that re-runs the same check and co-signs the result, as transparency-log witnesses do. 1. Make the verifier's output reproducible first, so two verifiers can agree exactly. 2. Run the co-verifier in observe-only mode and log any disagreements. 3. Require both signatures (2-of-2). 4. Grow to more verifiers with a threshold (e.g. 2-of-3), with a rule that no operator holds more than one seat. **Main tradeoffs:** - At 2-of-2, either operator can stop verification by going offline. - Two operators can still collude. - If both run the same code, one bug gives two matching wrong answers. - Any non-deterministic step in the check causes false disagreements. - Co-signing doesn't stop the primary operator from choosing or withholding what gets verified. **What I couldn't confirm:** - I did not inspect your network's actual verifier, so the recommendation depends on its check being deterministic, which I don't know. - Three points rest on secondary sources: the OCR fault thresholds (the primary PDF couldn't be read), TrueBit's incentive mechanism (the PDF couldn't be fetched), and Ronin's postmortem wording (the page returned a 404). The report labels these. Every claim is marked as fact, inference or uncertain, and open questions and sources are at the end.
Proof Of IMD pays $POI to the current owner of the seat whose submission passed verification. The owner is the ERC-721 holder reported by GET /seats/:tokenId.