Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Discovery

Discovery is how data is found. It covers two cases: finding data you already know the owner of, and being found by someone who does not.

From an Identity

Resolving a DID returns its document, which advertises the network address of a store and the ID of that identity’s root document — a personal index whose keys name the documents holding the person’s profile, avatars, and published spaces. Looking someone up is a resolve and a sync, not a query against a search service. Because the root document’s ID is part of the identity, it is self-certifying: any store can serve a copy, and none can tamper with it.

Registries

Nothing points at you until you are listed, so a registry aggregates: a service, run standalone or as a feature of a data store, that collects submissions and publishes them as ordinary documents called viewsrecent, featured, and per-category listings. Views are what clients sync. They are capped, so syncing one costs a bounded amount regardless of how much the registry has accumulated; entries are stored in the registry’s intended order; and because views are ordinary documents, anyone can read, cache, or mirror them without an account.

Publishing

Publishing means submitting an entry to a registry: what the thing is, where it lives, and how to describe it — title, tags, preview image. Submissions carry an expiry; refreshing one keeps it listed, so abandoned entries fall off without being pruned.

Publishing and hosting are separate steps. Hosting keeps data reachable; publishing makes it findable. A space can be online but unlisted, or listed but unreachable.

Curation

A registry decides what it lists; it cannot misrepresent. Every submission is signed by its author and passed on unchanged, and readers check those signatures themselves. A registry can decline to carry something but cannot forge, alter, or re-attribute an entry. Search, ranking, and moderation are policies a registry adopts, not rules the protocol imposes, so a client can follow a different registry without any underlying data changing hands.

Presence

A listing says a space exists. It says nothing about who’s inside.

A client present in a space broadcasts a signed presence message across that space’s gossip overlay. Every peer in the overlay repeats the message to its neighbors. This is how peers already in a space learn about each other, without querying anyone directly.

Joining that overlay for the first time still requires dialing a peer already inside it. A registry supplies that peer. A client asks the registry who is present in a space, then dials the addresses it returns. From there, presence for everyone else in the space comes from gossip, and once it has reached everyone, clients hold direct connections to each other and discovery ends.