Architecture
Policy-bound custody, mapped from intent to evidence.
DVM-MPC turns custody operations — key lifecycle, signing, publication, and recovery — into reviewable runtime paths: policy admission, peer choreography, local secret-kernel execution, controlled publication, and signed evidence. Each sensitive transition maps to its control boundary, state, and artifact. The DVM execution layer proves bounded operations. The DVM governance layer proves authority continuity. The same architecture runs on-prem, as a hosted service, or with a hybrid split; the deployment model is a configuration choice.
execution_id · score · trace · publish_*A bounded, replayable proof that one keygen, refresh, reshare, signing, or publication path executed correctly.
cluster_id · key_epoch · event logA long-lived authority record for setup, activation, degradation, rotation, emergency response, and retirement.
DVM execution owns milliseconds. DVM governance owns months.
- DKG sessionThreshold key material is generated under a bounded execution.
- publish_pubkeyDVM crosses the publication boundary for the public key fact.
- KeyReady + receiptThe cryptographic object exists and has publication evidence.
- KeyObjectPublishedGovernance records the public key fact in the cluster log.
- GovernanceDecisionA quorum explicitly authorizes authority for the key epoch.
- KeyActivatedOnly now can signing sessions use the key as active authority.
Key exists != key is authority.
typed act, key id, display hash, idempotency key
CanonicalIntentpolicy roots, approvals, limits, epoch, roster
AdmissionDecisionself_peer, score, facts, CallResult values
TraceRootCallContext, permit_handle, step_permit
PermitEventstate-derived egress and validation-first ingress
PendingRemotecontrolled local_private result reference
ResultHandlescope, result_ref, policy context
PublicationReceiptevents, receipts, reason codes, trace roots
EvidenceBundleProduct workflows lower into L1 semantic sites, L1 sites lower into L0 protocol microcode, and the selected backend semantics defines pending, completion, abort, local witness state, and evidence transitions.
rewrite rulespending frontiersabort evidencepoisoned sessionstrace rootsPending, done, abort, content-addressed local handles, poison transitions, and microtrace roots.
Separates Executed from Published: a computed signature waits at the gate until release policy or approval allows the public effect.
Hash-linked AdmissionReceipt → PermitReceipt → PublicationReceipt, SIEM export, and rail continuation.
binding_hashBINDING_MISMATCHSignedEnvelopeWRONG_RECIPIENTadmitted frameSESSION_MISMATCHtyped graph factsPAYLOAD_REJECTEDDVM factREPLAY_OR_CONFLICTsignDigestpresign_batch[AFF3]rotate_keypublish_sigshare_randshare_mulshare_ec_mulopen_tofinalize_sigDKLS23 share_mulFROST partial_sigCGGMP24 pail_affine_evalconsume_or_poisonOT details stay in witness trace; L1 share_mul remains stable.Schnorr transcript micro-ops preserve nonce and publish boundaries.Paillier details remain backend-local; L1 observation remains stable.One-time material closes through consumed markers and local witness state.Replicated state carries roots and traces; local store keeps witness and secret material.BINDING_MISMATCH / REPLAY_OR_CONFLICTsigned envelope + binding hashnew frame onlyno observable type carries a secretopaque handles + secret logdesign invariantSTEP_PERMIT_REUSEDpermit event + poisoned artifact refabort or quarantineSPLIT_BRAIN_FENCEDfencing record + node passportrebind after fenceEQUIVOCATIONequivocation evidence + Abortoperator reviewREMOTE_TIMEOUTpending event + deadlinepoll, resume, or retry transportPUBLICATION_DENIEDPublicationReceipt / denial evidenceafter policy changeSTALE_EPOCHDomainManifest + epoch evidencerebind operationexplicit ingress / egress eventsevent trace + statusn/ano TransitionAuthorized without threshold-signed GovernanceDecisionGovernanceDecision CID in cluster eventceremony + quorum re-signKeyActivated requires prior KeyObjectPublished with key_ready_cidartifact_refs binding in ClusterEventDKG must complete and publish before activationPolicyReceipt never appears in cluster event logGovernanceDecision used externally; PolicyReceipt stays localdesign invariant