zkFMI
日本語

Status and acceptance

Implementation, development checks, observed execution and publication/deployment are separate states. Functional evidence connects inputs, the executed path, persisted results, environment and version. The new executions below remain research evidence, not independent-operator operation or production promotion.

Published source and execution records checked 2026-09-12. Measurements outside the new paths below retain the historical environments and versions named in their records.

Update: 2026-09-12

PathObserved resultRemaining boundary
Native confidential-asset notesFive validators on one host executed issuance, partial fills, refunds, redemption, reuse and decrypted wallet balances after restart. smoke_only.Synthetic assets; proof inputs and committee keys in one process. Actual venue and DeKYX approval-service integration remain separate.
Fresh-network PQC researchBounded four-account fill/no-fill proofs, canonical state application and recovery. The sealed-input experiment has 740 Block/State transitions. smoke_only.Operational PQC note relations, the complete venue path, independent custody and exact-construction security remain incomplete.
Published materialLatest DeFMI, zkfmi-crypto, OCLOB and QOMM changes published on main; Japanese QOMM decks updated.Source publication is not production deployment or security certification.

Confidential-asset evidence · PQC research evidence

One-paragraph summary

The end-to-end path exists and has been run: a participant splits an order or request, seven MPC processes compute it, a 3-of-7 quorum issues a threshold zkPI, and five AvalancheGo validators running the Rust VM settle both legs atomically, agree on a state root, refuse a replay, and recover one validator after a restart with the same root. That is evidence for native execution and recovery. It is not evidence for independent organisations, a WAN, HSM-held keys, a supervisor's key ceremony, or a legal finality regime, and none of those has been attempted.

By component

componentstategate that covers itwhat remains
zkPI v2 wire, vectors, verifierbuilt · vectors fixedzkpi-verify --check-vectors; decode/re-encode byte identityindependent second implementation against the vectors
DeFMI ledger: accounts, notes, tags, netting, PvP, reconciliation, viewing, vettingbuilt · measuredcargo test --locked --workspace; every table regenerated from JSONatomic admit-pledge-limit-pay; connect existing venue callers to the new confidential wrapper; independent operational acceptance
Bulletproof backendbuilt · measured on host-arust_bench.jsonrerun both backends on one host before promotion
Avalanche L1, Rust VM, 5 validatorsaccepted · 1 hostrun_avalanche_l1_acceptance; QOMM full path at heights 53–54independent hosts and operators, WAN, reorg tests, HSM keys, public-network readiness
QOMM RFQ, 7-party MP-SPDZ, quote proof, audit slotsbuilt · measuredresearch_run, placement/sites proxiesseven-site deployment; input-check and shamir-inputs switches default off in the harness; persistent rate-limiter counters
DP publication inside MPCbuilt · 14 processes on 1 hostdistributed_publication.jsonexact unbounded sampler before a pure-DP claim
robust reconstruction (n ≥ 4t+1)built · measured at n=9robust_atlas.json on two machinesnot the deployed n=7 engine; input phase not robust; two more institutions
OCLOB distributed path to L1accepted · 1 host, 7 containersmake remote-integrated-e2ethreshold settlement gateway (one research gateway currently opens the order), independent operators, production API, formal proof
DeKYXbuilttest, clippy, fmt, release buildissuer governance, revocation ops, issuer-unlinkable credentials (BBS+/CL adapter)
DeCCPbuilttest, clippy, fmt, release buildcross-margining, partial guarantee transitions, legal novation
Aethelbuilt · 12 cratestest, clippy, fmt, release buildlegal assignment, perfection, tax, bankruptcy treatment outside code
Hybrid authorization/transport and PQC proof researchimplemented · research executionHistorical hybrid execution on 2026-09-06 and 2026-09-07, plus the versioned fresh-network and sealed-input evidence aboveOperational PQC notes, complete venue integration, external security validation and independent operators. Details
Enterprise PoC guides (JA)writtena company-run evaluation on its own hardware
Formal security definition and proofsnot acceptedsoundness of input check, naming, hiding proved; MPC assumed; composition arguedUC treatment; OCLOB security definition
Third-party auditnonetwo internal review rounds, findings recordedindependent cryptographic, Rust, host-VM and integration audit

What the gates run

Library gate: cargo test -j 4 --locked --workspace in each repository. State-machine checks; no consensus, no multiple validators, no process isolation.

Avalanche L1 gate (defmi): five AvalancheGo processes launching the Rust VM over RPCChainVM 45; account-free notes, pre-authorised reserves, seven-party MPC zkPI, atomic multi-RFQ settlement, shared legal-entity caps, restart recovery, state-root agreement. External binaries (AvalancheGo, avalanche-network-runner, MP-SPDZ) are supplied explicitly with approved SHA-256; the scripts never fetch them.

OCLOB release gate: Rust fmt, clippy, all crate tests, React Flow typecheck and build, real MP-SPDZ, zkPI, DeFMI DvP, canonical readback, replay rejection, in one run on a remote Linux container. The development Mac never builds or tests.

What blocks production

Soundness finding, found and fixed 2026-09-07. Five verifiers used a general opening proof where the statement needs the value part pinned to zero: the reconciliation proof against a register, the linkage of the bit-decomposition range proof and of its threshold form (the range proofs zkPI carries and the threshold DvP package checks), the quote proof's "winner opens to the revealed value" step, and the rule audit's equality step. Two forgeries were reproduced by test, a reconciliation accepted for a wrong total and a commitment to 300 accepted by an 8-bit range proof. The same day every site moved to the fixed-zero opening, the threshold assembly gained a zero relation in which no node's nonce carries a value component, the rule audit proves inequality as an inverse pinned to a commitment to one, and the forgeries are regression tests in the single owning crates in zkpi, and the fix is on main in every repository. Proofs issued before the change do not verify. The finding note with the tests is in the settlement repository; see Cryptography in use.
  1. A settlement authority that no single party can open. OCLOB's research gateway decrypts the participant's fixed-length settlement authority alone; production needs threshold decryption or joint zkPI generation by the MPC nodes.
  2. Independence that is real and not only cryptographic. k-of-n is a property of the arithmetic; seven operators, seven hosts, seven key stores, seven failure domains are a property of the world, and none has been set up.
  3. Persistent state generations across restart for queues, rate limiters and nullifier ledgers, in authenticated storage, so a rollback cannot re-enable a replay.
  4. Authentication, authorisation and key management: mTLS, per-tenant authorisation, external KMS/HSM, key rotation, backup and recovery.
  5. The share-to-proof handoff: validators do not re-run the private computation. Closing that needs a proof of the whole MPC and a consensus benchmark that does not exist.
  6. Legal finality and register connection: a book-entry register, a CSD, a central bank cash leg, a supervisor's disclosure workflow.

Two review rounds, on the record

The repositories keep a review document with every finding, including what was checked and found sound and what was not accepted. Examples of what review changed: two binding switches that were off by default and absent from the deployment guide; a probe budget quoted three times and measured nowhere; a state root that grew with history; an unlinkability property that lived in a naming convention; an input check whose coefficients a node could read before committing; a vetting roll a caller could push its own envelope into; an unexplained single failure that is still listed as unexplained. Reading those before reading the mechanisms is a reasonable order.