How do you check someone's word
without trusting them — or us?
Emma thanks Jack. A year later Jack shows that thank-you at a café, on a website or at a private club — and they need to be sure it's real. Without calling Emma, without our server, without a blockchain. Here is how it's done. Some of it you can try by hand right here.
1A signature: words that can't be swapped
Everyone in DzenQ has a key pair. The private key lives only on their phone and makes signatures. The public key is known to all — and checks them. Change a single letter of the signed text, and the check fails.
…Change anything in the text — the signature stops matching. Put it back — ✓ again.
2The key log: a history that can't be rewritten
A signature proves “this key signed it”. But keys change, get lost, get stolen. So every person has a key event log: from birth, through every key change, to the marks of thank-yous given. Each entry carries the fingerprint of the one before — a chain where every link holds the next.
No one issues the person's identifier either — not us, not a state, not Google. It is derived from the first entry of the log, so it certifies itself. This is KERI: an open protocol developed by the WebOfTrust community and standardised at Trust over IP.
3The next key, sealed in an envelope
KERI's best idea. From birth the log records not only the current key but also the fingerprint of the next one. The next key itself is stored nowhere — it is derived from 12 words the person keeps separately.
The thief has key #1 but not key #2: its fingerprint is already in the log, and it can't be forged. The owner switches to #2 from the 12 words — and from that moment anything key #1 signs is void. Stealing a key stops being stealing an identity.
4A thank-you carries its own proof
A thank-you is a document (ACDC) whose identifier is the fingerprint of its own content. Signatures and Emma's key log travel with it. That is enough for anyone to check it themselves: on their own phone, a year later, even offline.
A day's thank-yous go into the log as a single mark — the root of a Merkle tree. So the log doesn't bloat: 2,000 thank-yous — 12 entries, and one thank-you with everything needed to check it weighs about 4 KB.
5What if you show different people different things?
Signatures don't stop one trick: keeping two logs and showing Jack one and the café the other. That's what KERI witnesses and watchers are for — they keep copies of logs and compare them.
The DzenQ watcher accepts only events signed by the person themselves and rejects forked logs. It can't forge an entry; the worst it can do is be unavailable. Independent witnesses are the next step.
6Why no blockchain is needed
A blockchain solves double spending: so one coin can't be given to two people. For that the whole world must agree on a single order of all payments. But a thank-you isn't spent — Jack doesn't care who else Emma thanked today. So order within one person's log is enough, and they keep it themselves. Hence: no fees, no miners, no public record of who thanked whom. And no weaker security than a blockchain: the same signatures and hash chains, so forging an entry or quietly rewriting history is just as impossible.
7How it's checked at the door
A thank-you can also give something. A café, a club or simply a friend issues a certificate for ___: for a coffee, for entry, for a meeting. It goes to those who hold the right thank-yous from the issuer, or to people named. It is shown at a door — DzenQ's word for any place that checks: a till, a website, a bot.
- The door shows a one-time code.
- Jack's app asks for his consent and signs that code together with the certificate and the thank-yous it rests on.
- The door checks everything itself: signatures, logs, who it's addressed to, the certificate's rule, the expiry.
- “Valid ✓” — and the code burns. A copied proof won't work twice.
Jack's app doesn't need to be trusted: a modified app can only fool its owner. The door decides. For websites it's plain OpenID Connect — “Sign in with DzenQ” plugs into any standard library.
8What we see
We see
- public key logs — so they can be checked
- that a letter reached someone — like a postman
We don't see
- what a thank-you says — letters are encrypted for the recipient
- private keys and the 12 words — ever
Nor can we decide what is genuine: the math on the checker's device does that.
9Honest limits
- A door sees the thank-yous behind a certificate: from whom and for what. Selective disclosure is planned.
- For now we run the watcher; there are no independent witnesses yet.
- As with any QR sign-in, a fraudulent site can display a real door's code: the person confirms, and the fraudster gets in. So before signing, the phone shows exactly which door is asking.
We didn't invent the cryptography.
KERI and ACDC are open specifications. DzenQ's core is in Rust — the same code signs and checks on the phone, the computer, in the browser and at the door. Our part is to put this serious technology into the simplest thing between people: “thank you”. And to make it outlive even us.