Two strangers can swap assets without trusting a middleman.
CommitLock is a product concept for a provably fair on-chain escrow primitive. Each side seals its terms into a time-locked hash commitment, so the swap rule is fixed in code before either party moves anything — and no custodian ever holds the assets in between.
Design thesis: the escrow rule lives inside the commitment, and watchers only check reveals.
No custodian holds your keys. No one can rewrite the rule. A commitment opens exactly one way: the way it was sealed.
-
Time-locked
Each side attaches a deadline to its commitment. Once that deadline passes, the related leg can no longer be claimed by reveal, so neither party can stall the swap indefinitely.
-
Hash-committed
The deal is committed as a hash of its terms plus a salt. A later reveal is checked against that hash, so nobody can quietly change the asset, the amount or the recipient.
-
Watcher-verified
An off-chain watcher network is never asked to hold funds. Its role is narrow on purpose: recompute the hash from a reveal and confirm it matches what was sealed earlier.
An escrow rule both sides can verify before anything moves.
Seal
Both parties hash their side of the deal together with a private salt and a deadline, then publish only the resulting hash on-chain.
Fund
Assets move into the escrow state of the primitive, tagged to the published commitment rather than to a person, an account or an operator.
Reveal
A party opens its commitment by publishing the salt and the terms. The chain re-hashes them, and the answer is true or false with no room for interpretation.
Settle
When both reveals verify inside their windows, both legs release. Whoever revealed first is protected by the commitment, not by the goodwill of the other side.
Expire
If a deadline lapses without a valid reveal, the leg returns to its original owner. Nothing is stranded, and no arbiter has to choose a winner.
From private intent to public proof.
-
01 — Agree off-chain
Both sides draft the same terms: which assets, which amounts, who receives what, and how long each reveal window stays open.
-
02 — Publish hashes
Each party commits to those terms with a salt. The on-chain record now holds two hashes and two deadlines — and nothing that gives the deal away.
-
03 — Open secrets
Reveals are broadcast to the network. Anyone can re-hash the published terms and compare them with the stored commitment, so verification needs no permission.
-
04 — Release or revert
Matching reveals release both legs. A missed deadline reverts the unclaimed leg. Watchers report on reveals; they never vote on outcomes.
What the primitive takes out of the trust equation.
No privileged operator.
No role in the design can move escrowed value at will. Value leaves escrow in exactly two situations: a reveal that verifies, or a deadline that expires.
Front-running
Salts stay private until the reveal. A watcher who spots a pending reveal can check it, but cannot open the commitment first using someone else's terms.
Silent abandonment
Time locks turn walking away into an outcome the design already handles: the unrevealed leg returns to whoever held it before.
Concept document, not a live service
No custodian in the design
Watchers verify reveals only
Deadlines are part of the rule
Specification in progress
Provably fair means checkable by anyone.
Fairness here is not a policy someone promises to follow. It is the property that a stranger can recompute the same hash and reach the same conclusion without asking permission.
Hashing is deterministic, so verification is cheap and repeatable. A watcher derives the commitment again from the revealed terms and compares it with the on-chain record.
Salts keep terms private during the commitment phase. Without the salt, a published hash says nothing useful about the amounts or the assets involved.
Deadlines are treated as data, not as an afterthought. Every commitment carries its own window, so a stalled reveal cannot freeze the other side forever.
Watchers are designed to be boring: they observe, recompute and report. They cannot spend, reassign or override a commitment.
The primitive is meant to be reused. Any pair of parties, any supported asset pair, the same commitment format and the same expiry logic.
This page describes a concept only. Behaviour, guarantees and scope will be stated precisely in the specification as it develops.
Cryptocurrency documentation, hosted independently.
If you would like background reading on cryptocurrency alongside the commitment design on this page, chinazes.space is an independent documentation resource on the subject — described by its publisher as remarkable documentation about cryptocurrency. A visitor might open it to read around the general topic before returning to the escrow primitive described here. This page makes no claim about that site beyond describing it as documentation about cryptocurrency.
The link opens in this browser tab. The destination is an independent external site.
A simple idea, held to a strict standard.
2
parties binding terms
0
trusted intermediaries
Both sides agree on the same terms first.
2
legs held in escrow
1
reveal to verify
Reveals are verified, not taken on trust.