What Is a DID, and What Happens When You Resolve One

An identifier of this kind is a string that resolves to a document, where the document says which public keys speak for it. That is the whole idea. Everything else is consequence.

The one property that matters

You can check who controls it without asking anybody.

An email address is controlled by whoever runs the mail server. A username is controlled by whoever runs the site. A decentralised identifier resolves to a document containing a public key, and control is demonstrated by signing with the matching private key. No registry has to vouch for you and no company can revoke you by closing an account.

Ours is registered in the W3C DID Method Registry, which is a listing of methods rather than a standard, and it is worth being precise about that difference.

What resolving actually did, live

We took a real identifier from our own repository and asked the public endpoint for it. It returned a document: a context, the identifier, who controls it, one Ed25519 verification key, several relationship lists naming what that key is allowed to do, an active flag, creation and update times, and a version identifier.

Two controls, because a resolution that always succeeds proves nothing. An invented identifier returned null rather than an error or an invented document. And two other harvested identifiers also returned null, so a successful resolution is a fact about that identifier rather than about the endpoint being agreeable.

No account was needed for any of it. That is the property, demonstrated rather than asserted.

What that means in practice

Nobody has to host your identity. The document lives on a chain that many parties can read, and reading it needs no permission.

Losing an account does not lose your identifier, because it was never an account.

And the identifier is public. Anyone who has it can resolve it, see the key, and see anything else the document carries. That includes your guardian list once you set a recovery policy, which is the part people do not expect.

What it is not

It is not a name. It is not memorable and it is not meant to be. Nothing about it says who you are in the human sense.

It is not a credential. The document says which key speaks for the identifier; it says nothing about your age, your nationality or your qualifications. Those are separate signed objects, and this wallet holds a catalogue of them rather than the objects themselves.

It is not private. Resolution is open to everybody, and any correlation that follows from a long-lived public identifier follows here too.

How to look at your own

Copy your identifier from the identity screen and resolve it against the public endpoint. You can do that from a machine that has never seen your wallet, which is the point.

Do it once now and once after you set a recovery policy, and compare the two documents.

Keep reading

What Is a DID, and What Happens When You Resolve One · Solidus