Anchoring and resolution: overview
These guides explain how an application publishes data with its operator, how the published data can reference other data, and how everything is turned back into a single, verifiable result.
The running example is an assignment of receivable between three parties: the assignor (cédant), the assignee (cessionnaire) and the debtor.
The big picture
- Your application anchors data. Each anchoring produces a microblock in a virtual blockchain.
- A microblock can contain special keys that point to other data: another microblock, off-chain data, a signed payload or a verifiable presentation.
- Later, the resolver reads a microblock, follows every special key, and returns a
resolutionProof: the fully resolved data, together with the proofs that back each part of it. - Anyone holding that
resolutionProofcan submit it to the proof checker, which verifies every proof and its consistency with the data.
Special keys
A special key is an object field whose name starts and ends with a double underscore. The operator and the resolver give them a meaning.
| Key | You put it in anchored data to… | Resolution result | Guide |
|---|---|---|---|
__resolution_link__ | Reference another microblock. | The referenced data replaces the link. | Reference microblocks |
__digest__ | Anchor only the hash of data stored off-chain. | The plaintext replaces the digest, once checked. | Off-chain data |
__digest_data__ | Anchor the plaintext of off-chain data next to its link (re-anchoring). | The plaintext is checked against the referenced digest. | Off-chain data |
__signature__ | Anchor a payload signed by another operator. | The payload replaces the signature, once checked. | Signed data |
__vp__ | Anchor a verifiable presentation. | The credential claims replace the presentation. | Verifiable credentials |
Where to start
- Anchor data on-chain: the simplest method, and the basis of the others.
- Pick the guides that match your needs (references, off-chain data, signatures, credentials).
- Resolve and check proofs to give your users something verifiable.