Register a radio service.
The incident commander signs a service update against the shared DID while the site is partitioned.
Create an identity, rotate its keys, and update its services for the marginal cost of ordinary local compute and bandwidth. No transaction fee. No validator fleet. No sequencer. No confirmation wait. Signed updates converge without a global total order, even after working offline.
Near-zero marginal protocol cost; storage, compute, and bandwidth still apply.
A DID document names public keys, authentication relationships, and service endpoints. Other methods pay for an agreed order whenever that document changes. did:crdt turns the change into a small signed fact that replicas merge themselves.
Lightweight and local, but there is no general update mechanism once the identifier exists.
no key rotation or document updatesA chain or anchored log decides which mutation came first and gives the history finality.
fees, latency, chain dependencyA single causal history makes updates legible, but partitioned writers cannot advance it independently.
no concurrent partitioned updatesDuring disaster recovery, the places that most need a shared identity document may be the least able to reach a ledger, leader, or each other. did:crdt lets each authorised site record local facts now and reconcile when contact returns.
The incident commander signs a service update against the shared DID while the site is partitioned.
The field hospital signs a key revocation and replacement without waiting for Site A to come online.
Arrival order, duplication, and network delay do not change the converged result.
Each field uses the conflict-free data type that matches its meaning. Mutations travel as compact signed deltas in a Merkle DAG, carrying both authority and causal history.
The genesis delta has a zeroed clock and no parents. The DID is derived from its first public key.
Add public keys and permanently record their revocation.
Add and remove service endpoints; re-adding remains possible.
Once deactivated, the document cannot be activated again.
Resolve concurrent values with a deterministic HLC ordering.
Check its signature, signer authority, causal parents, and operation limits.
Apply the field operation. CRDT joins are commutative, associative, and idempotent.
Project the observable state into a document targeting W3C DID Core.
The CALM theorem connects monotonic computation to coordination-free execution. did:crdt keeps each internal stage monotonic: receiving another fact never requires retracting an already admitted fact.
Gossip only adds content-addressed updates to the local set.
A delta can move from pending to valid when its parents arrive, never back.
Folding valid operations accumulates information in each field CRDT.
The resolved view may hide revoked facts while the underlying state preserves them.
The Rust core has no I/O or async runtime. Networking, persistence, and an HTTP resolver are feature-gated around the deterministic state machine.
use did_crdt::core::document::Document; // Create a content-addressed DID. let (mut doc, genesis) = Document::new(public_key)?; // Admit an authenticated remote update. doc.merge(signed_delta)?; // Materialise the converged DID document. let did_document = doc.resolve()?;
Embed the same pure merge and resolution logic in browser, mobile, desktop, or server software.
Exchange compact deltas peer to peer, then use Merkle-DAG anti-entropy to fill gaps above an advertised frontier.
Commutativity, associativity, and idempotence are exercised across generated update histories.
An optional Axum service exposes create, resolve, and delta admission endpoints with Prometheus metrics.
Coordination-free does not mean assumption-free. The research and implementation make the trust boundary explicit.
Replicas that receive the same valid updates resolve the same document, regardless of arrival order, duplication, or delay.
Signed deltas and verified-bundle replay reject forged or malformed mutations before state changes.
A total order is deliberately absent. Applications that need one globally canonical present must add coordination above the method.
Revocation limits a compromised key. General recovery, Sybil resistance, compaction, and method registration remain active work.
Byzantine safety applies to authenticated delta paths. Merging unauthenticated full state is an optimisation for trusted replicas.
They should hold identifiers, public keys, verification relationships, and service pointers — not personal information.
“did:crdt: Coordination-Free Decentralised Identifiers via Signed CRDTs” by Hugo O’Connor and Claire Barnes. Accepted at the 8th IEEE International Conference on Decentralized Applications and Infrastructures.