A 3-minute guide to Nostr, the open social protocol backed by Jack Dorsey.
The full name “nostr” is an acronym that translates to “Notes and Other Stuff Transmitted by Relays.”
The opening line of its founding document states: “A truly simple, open protocol that enables a global, decentralized, censorship-resistant social network.”
It can also be described as “a completely public-key-based, censorship-resistant messaging protocol.”
So, what exactly is nostr? Let’s dive in.
There are two roles in the nostr protocol: clients and relays (which can be understood as servers). They communicate with each other, but not with others of the same type. Users identify themselves with public keys and use clients to push/pull messages to/from relays. When delivering messages, users sign them with their private keys to indicate the message’s origin. When retrieving messages, they use the public key to request all information sent from that key.
Delivering messages is akin to “posting,” and pulling messages is like “following” — the basic elements of a social network. But we already have many social network protocols and products. What makes nostr special? It’s censorship-resistant, extremely simple, and entirely public-key-based.
Censorship Resistance: Clients can use multiple relays. As long as there is a common relay between the poster (followed) and the follower, the follower will receive the posts. One consequence of this censorship resistance is that your follower relationships will never be lost (nor will your following relationships). Because all identities are based on public keys and the following information can be independently stored without relying on any particular relay.
Simplicity: From the above structure, you can see that relays have no economic incentives. In fact, nostr does not specify any obligations for relays: they can store all messages, only some, or delete them periodically. These are arbitrary. There is not even a user discovery function at the protocol level. The idea is simple: many issues don’t need to be solved at the protocol level; nostr will not be the only communication method users have available.
Entirely Public-Key-Based: All messages transmitted by the nostr protocol are signed, meaning they are all linked to public keys. Using a public key as identity means that users’ identities don’t rely on any one or several servers — they belong completely to the users themselves, achieving what is known as “self-sovereign identity.” Moreover, directly using public keys means that the nostr protocol has many existing cryptographic tools at its disposal.
For example, the nostr protocol implements end-to-end encrypted communication (NIP-04) using ECDH (Elliptic Curve Diffie-Hellman): both parties use their private key multiplied by the other party’s public key to derive a symmetric encryption key for encrypting the message. As long as the private key is not compromised, the message is secure. Since both parties are using public keys, implementation is extremely simple and straightforward. Try it out: sendstr.com.
Why is nostr called “a public-key-based messaging protocol”? Because the entire protocol solves one problem: how to send a message from one public key to specific or certain people; everything else is secondary. Some features have already been achieved, while those not yet realized show great potential for development.
The emergence of asymmetric cryptography (public-key cryptography) marked the birth of modern cryptography and is one of the foundations of our current internet. Many privacy-protecting and identity-verifying technologies rely on public keys (for example, symmetric encryption has key distribution issues, while public-key cryptography does not). Without using public keys, these technologies always have a layer of separation from users. With public keys, the door opens wide.
So why haven’t users commonly used public keys directly? There may be two main reasons: firstly, a public key itself isn’t a communication mechanism and doesn’t guarantee message delivery; secondly, there is the issue of Sybil attacks. If users directly use public keys, they can generate countless public keys, causing service providers to worry about resource exhaustion. The second reason is more fundamental.
This is why, in the past, when we wanted to access websites, we often had to provide email addresses or even phone numbers, directly involving brute-force mechanisms (phone numbers directly associate with personal real information and real-time location). The root cause lies in the two reasons mentioned above. However, the advent of Bitcoin and the Lightning Network brought revolutionary changes to anti-Sybil mechanisms; nostr’s emergence challenges the notion of “public-key-based communication.”
From the above description, you might think of many things: attempts like using Ethereum addresses (public keys) as communication identities, numerous distributed storage projects or those utilizing distributed storage to achieve certain features, projects claiming to establish decentralized identities… Among the projects you know, which one is simpler than nostr? Which one is more thorough and resolute than nostr?
No identity is more decentralized than a public key, equating to self-sovereign identity. It’s meaningless to confine a public key to a limited space. Autonomous data storage is the most resilient storage. No transmission is more flexible than arbitrary paths. nostr: a public-key-based, extremely simple, censorship-resistant messaging protocol.
To learn about nostr, read the readme of this GitHub repository (founding document) and the NIPs (“nostr Implementation Possibilities,” which are very concise): https://t.co/sT8nxbjRTH.