SELISIH — Indonesian for the difference between two numbers. A multi-witness flight recorder for DeFi risk state, where the product is the disagreement.
The core screen: one round, one row per witness. Five agree, one is 440 bps lower, one never filed. The outlier is named by $creator; the silence is checkable.
It is not an oracle. Oracles collapse N observations into one settleable value. SELISIH never aggregates — seven different numbers is it working.
The kill test, run on real mainnet state: Chainlink vs Uniswap at the same block across the 5 Aug 2024 crash — 423 bps apart at the bottom.
Then the incumbent's own witnesses. Chainlink's 31 nodes at block 20,458,998 saw $2,141 to $2,335 — 868 bps — and the feed said $2,233. Signed, on-chain, discarded.
Only the owner can extend. That constraint became the mechanic: lifetime is a bet priced in storage, and anyone else preserves evidence with their own EvidencePin.
The hole: copying witness 1 is free and looks like consensus. A salted Commit before every reveal closes it — Arkiv's own store-commitments-not-secrets guidance.
The sketch type-checks with tsc --strict against the published SDK — which removed a redundant attribute and rewrote every query.
Executed, too: eight invariants against a cited spec of the documented semantics. All pass — including the one that proves live registrations answer wrong after they expire.
Why Arkiv: the writers are adversarial to each other, the reader must verify without permission, and expiry has to be a guarantee. Remove one and it is a worse Grafana.
Day one, the witnesses already exist: a decoder writes each Chainlink node's observation as its own entity. Nothing is deployed.