What is Nostr? Basic Concepts Explained

What is Nostr? Basic Concepts Explained

You may have heard of the new social network protocol nostr. In this article we will discuss what nostr is, how it works, why it matters and how you can join nostr yourself.

Table of Contents

Introduction To Nostr

Online, you send all kinds of updates to your circle. Updates about what you’re doing—sometimes intimate details of your life, sometimes important announcements.

You broadcast these to everyone you know using a media platform that is built, maintained, and created by people who are unknown to you, people who profit off of you.

But it turns out that an infrastructure exists that makes it simple for you to build, own, verify, and run your communication system securely. It’s called nostr, which stands for notes and other stuff transmitted by relays.

This article will define and describe the fundamentals of the nostr protocol so that you can begin with a solid understanding of its value proposition.

Social media is just one application of the nostr protocol. This article covers the “notes” part of the name, but people smarter than me are discovering the “other stuff” that can be transmitted over relays. For now, the notes use case is the one to pay attention to.

Nostr Is Scrappy

In a developer’s own words, the innovation of nostr can be stated as such: “What if instead of building the perfect social media, we just build the most basic lego it needs to create such things and let developer consensus emerge in open over this basic standard unit of the puzzle?”

As an introduction to nostr, we need to cover free and open source software (FOSS). Briefly stated, FOSS is software written, maintained, and developed in public using a license that allows anyone to take it, change it, or sell it. FOSS is the unsung hero of this age. It is a voluntary collaboration centered on principles. It is an emergent and flexible system that brings some of the best things we daily use into being. Developers and other participants are bringing nostr into being this way, you can see it all where it lives on github. The essence of nostr is not owned by anyone; it is not a product generated by a company. It is not packaged and shipped ready-to-use.

A long history of FOSS projects predates nostr and attempts to resolve the same problems that nostr does. But nostr is interesting because, following the success and growth of bitcoin, it has more widespread support than the average FOSS project. Still, there are those within the open protocol development world who don’t see nostr as the champion of free, decentralized, and censorship-resistant communication networks. It is an outlier, sure, and there is a lot of building still to do. My knowledge of its intricacies is limited, but the way I see it, if enough people have caught the nostr wave, from early devs to seasoned engineers to willing participants, it is unstoppable and its growth is inevitable.

While nostr is without a single, agreed-upon user interface, the upside is that it is great at drawing curious and burgeoning developers to it who can take the simple protocol and create their own app or service on top of it. In effect, there are many projects branching off of nostr that solve all the more complicated problems that come up between humans and computers. Many of these solutions are ready to use today.

Nostr Is Protocol

A protocol is an interoperable set of rules accessible across different machines and coding languages. It’s a list of actions that happen in sequence. Anything on the internet could be reconstructed as protocol. In fact, everything on the internet began as protocol, is initiated by protocol, and is built on top of protocol. It is the puzzle piece that is abstracted away, disappearing into user interface.

Let’s take a look at the elements that make up nostr:

   event['pubkey'],           The sender's public key
   event['created_at'],       Unix timestamp
   event['kind'],             Message “kind” or type
   event['tags'],             Tags identify replies/recipients/topics
   event['content']           Your note contents

An event is the only object type in nostr. You publish your events, and you subscribe to others’ events. Within an event, there are keys to authenticate it, timestamps to order it, kinds and tags to filter it, and content to broadcast.

To begin on nostr, you will need to generate your public/private key pair. You have a pair of keys because one of those is the one you share. The public key can be understood as your username. It is how someone who wants to know what you’re saying can subscribe to your content, but it looks a little different:


      npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m

The private key is a longer string of the same public key. It can be understood as your password. You protect it, and it authenticates your activity.

Bitcoin And Nostr

Nostr borrows features of the bitcoin protocol that have proven to be efficient over time. In the nature of FOSS, what works moves. Plus, many of the developers who work on bitcoin also work on nostr. This explains why the scheme for generating public/private key pairs is the exact same for both bitcoin and nostr.

Another feature they share is perhaps the most innovative and revolutionary of their functions:

Nostr persists via a global network of relays. Bitcoin persists via a global network of nodes.

The considerations and agreements that form these projects are very careful to include the ability to decentralize. Developers and other participants working in FOSS are guided by the pursuit of freedom; therefore, inherent in these projects is the capacity for a single user to hold their own keys and run their own data. Nostr makes this possible by relays that store and send all the information within the network. Making relays, or servers, as lightweight and simple as possible means that anyone can run one, or several. This concept is mirrored in bitcoin: anyone can run a node where all the information in the blockchain database is stored.

The bitcoin protocol creates a path for peers to transact trustlessly and securely.

The nostr protocol creates a path for peers to communicate trustlessly and securely.

These are alternative internet infrastructures being built out in public, offering a way out of certain dystopic doom, as far as I’m concerned.

Nostr Is Built Different

The practical capabilities of nostr are not so different from what your social media apps already allow you to do. The outputs are identical: broadcast information from you to your network. But the unfortunate thing about social media apps is their governance model, reliance on advertising revenue, and censorship practices. Everything going in and coming out passes through their server, making them the de facto arbiters of truth. This practice sustains the social media apps that have now become mega-corporations poisoning communication. When you sign into your account, you agree to these terms of use.

But you don’t have to.

The minds behind the social media apps we use today know that there is a better way. Last year, Jack Dorsey, co founder and former CEO of Twitter, donated funds to support the continued growth of nostr. Jack is a guy who embodies the spirit of free and open source, and this is exactly why he left Twitter. And what does he do? Funds nostr. This is one of the biggest signals that the nostr protocol can work in place of the captured social media apps’ debauchery.

How To Get Started With Nostr

nostr.net and usenostr.org can supply you with helpful information as well as a list of relays to run or clients to use, and other fun nostr projects.

Take this workshop with Super Testnet from Pleb Lab to build your own nostr app. You will quickly see how scaled-back and easy it is to work with the protocol. This workshop is awesome!

An excellent walk-through tutorial comes from BTC Sessions on Youtube to get you fully set and ready to publish. You will have a look at the clients that are currently connected and running a nostr notes feed.

Others with a more technical bent will benefit from reading the github codebase, especially nostr’s NIPs, Nostr Implementation Possibilities.These are specs that can have nostr do all kinds of things, from group chat to emoji react.

Finally, if you’re like me and you want to hear more before jumping in, I will point you to a conversation with William C from the Thriller Bitcoin podcast. He’s a contributing developer, and his explanation of everything on the internet reimagined as protocol is worth a listen. In fact, this episode inspired my own curiosity into nostr.

administrator

Related Articles