4 ms·
How does Nostr work? (source:https://github.com/nostr-protocol/nostr#how-does-nostr-work https://github.com/nostr-protocol/nostr#how-does-nostr-work) * There a
by janandonly 4y ago
How does Nostr work? (source:https://github.com/nostr-protocol/nostr#how-does-nostr-work https://github.com/nostr-protocol/nostr#how-does-nostr-work)
* There are two components: clients and relays. Each user runs a client. Anyone can run a relay.
* Every user is identified by a public key. Every post is signed. Every client validates these signatures.
* Clients fetch data from relays of their choice and publish data to other relays of their choice. A relay doesn't talk to another relay, only directly to users.
* For example, to "follow" someone a user just instructs their client to query the relays it knows for posts from that public key.
* On startup, a client queries data from all relays it knows for all users it follows (for example, all updates from the last day), then displays that data to the user chronologically.
* A "post" can contain any kind of structured data, but the most used ones are going to find their way into the standard so all clients and relays can handle them seamlessly.
- legutierr 4y ago> A relay doesn't talk to another relay, only directly to users. Is this universally the case? I'm sure a relay could be built that pulls messages from other relays and shares them with its own clients.
- leishman 4y agoYes relays could talk also serve as a client and subscribe to other relays. Nothing stopping them from doing this
- fancy_pantser 4y agoThey could, but it would be against the fundamental philosophy: > Relays don't talk to each other. Only the relays you are connected to will receive and store your events. This is an important aspect of Nostr. Relays don't communicate between them. For this reason, you should connect to as many relays as you want to send your data to.