Field note
CALM: Coordinate Only Where “Not Already Taken” Matters
Imagine two clerks receiving facts in different orders. If every new fact can only add knowledge, both clerks can work independently and eventually reach the same answer. If a later fact can revoke an earlier conclusion, they must coordinate before acting.
That is the intuition behind the CALM principle: a consistent distributed computation can be coordination-free exactly when it is monotone. “Monotone” means learning more cannot make a previous conclusion false.
Grow-only facts are easy to distribute
The vault has several monotone structures:
- new commitments append to a commitment tree;
- new nullifiers append to a spent set;
- proofs add certified transitions;
- an epoch archive adds another authenticated root.
Arrival order does not change the final set. Nodes can gossip candidates, build proofs, and merge what they know without electing a coordinator for each fact.
Absence is the dangerous query
Now consider two takers trying to claim one Open offer. Each asks: “Has anyone claimed this yet?” That question depends on an absence. A local “no” can become false when a delayed competing claim arrives.
This is non-monotone. Once a taker acts on the answer, learning more may invalidate the decision. CALM predicts that coordination is unavoidable at precisely this point.
PayMoney does not add an application lock or reservation server. Claim consumes the Open resource. The consumed commitment produces a nullifier, and epoch settlement accepts at most one insertion of that nullifier. A competing claim cannot produce a second valid settled transition. The L1 settlement boundary is where the necessary coordination lives.
Why retries remain safe
A retryable submission uses the same resource identity and therefore the same nullifier. Repeating delivery does not create a second outcome; it proposes the same monotone insertion again. This is idempotency expressed at the resource boundary instead of bolted onto an API with a temporary lock.
What CALM does not promise
CALM does not make the entire protocol “coordination-free.” It tells us where coordination can be removed and where it cannot. Epoch inclusion, nullifier insertion, and a unique winning claim still need a common ordering boundary. The useful result is precision: coordination is concentrated at the one negative fact instead of leaking into discovery, proof construction, and every wallet interaction.
For PayMoney, the practical design rule is simple: append and derive freely; coordinate when a transition depends on “this resource has not already been consumed.”