Dark mode switch icon Light mode switch icon

Shallow intro to Nostr (and maybe fediverse)

12 min read

I’ve been a happy user of various fediverse services (mostly Mastodon) for 2 years now and they are on a short list of things that make the rotten idea of social media exciting to me. But I still have a lot of natural curiosity about new things. What recently popped on my radar is Nostr - another take on decentralized social media.

I decided to note down my thoughts and try to explain this place to my other self in some alternate timeline where Twitter is alive and kicking and Mastodon is still a niche curiosity.

While I won’t avoid diving into technicalities or comparing Nostr to the fediverse, I’ll try to keep this summary as accessible as possible. Architectural choices made by both platforms heavily affect their culture and we cannot avoid discussing them.

And honestly, I find it mind-blowing how two different ecosystems try to solve exact same problems in so radically different ways, effectively attracting radically different groups of people.

First things first: what is the fediverse? What is Mastodon? What is the meaning of life?

Fediverse is a decentralized platform for building social media applications that can talk to each other via ActivityPub or OStatus protocol.

Yes, I know. I don’t understand that statement either. Let’s try again.

Imagine a world where we all happily use Twitter, Facebook, Instagram, Twitch, YouTube and whatnot. But in this world, all of those services work slightly differently.

You can easily see what your friends do on Twitter, Instagram, YouTube or Twitch without leaving your Facebook wall. You can comment on your friend’s YouTube video directly from your Facebook wall. Your friend will see your comment under their video as if you visited YouTube to post it (but you didn’t!).

The same goes another way: your friends from Twitter can see your Facebook posts and respond to them from the comfort of their Twitter timelines.

In the ‘real’ world, Facebook, Twitter, Instagram and others are walled gardens that interact with each other rather sparsely. Yes, you could embed a YouTube video or post a screenshot of some tweet on your Facebook, but that’s about it. Everything else that makes YouTube YouTube - like the comment section - doesn’t magically come to your Facebook wall. At some point you’ll inevitably visit YouTube to see something you couldn’t see on Facebook.

Also, for computers, our Twitter followers, YouTube subscribers and Facebook friends are separate lists of entities that can’t talk to each other. We can have the same people on all those lists, but those are still unique records in computer memory. That results in various deficiencies, like having to use ‘link in bio’ services to keep that mess at bay.

Let’s go back to our ‘different’ world.

Now, imagine there’s more than one Facebook.
More than one Twitter.
More than one YouTube.
More than one Instagram.

And all those Facebooks, Twitters, YouTubes and Instagrams are run by ordinary people who maintain them as they see fit, either for themselves, their families or friends.

In our ‘real’ world, that is close to how telephones work. To call or text someone, you had to get a phone number from an existing provider. Different providers worldwide can operate in various ways, but that doesn’t change the fact that you can freely call or text anyone worldwide, even if they use a provider you never heard the name of.

And that’s how the fediverse works.

But instead of Twitter, we have Mastodon.
Instead of Instagram, we have Pixelfed.
Instead of YouTube, we have Peertube.
Instead of Facebook, we have Friendica.
Instead of WordPress, we have WriteFreely.
And so on.

To be on Mastodon, you must get an account on some server. Once you get one, you can follow and talk to anyone who uses Mastodon, but also to anyone who uses Pixelfed, Peertube, Friendica - or one of a dozen other platforms.

To follow each other, you use an address that resembles your email. My address is @lukem@masto.ai. Yours can be, for example, @YourSuperFancyUsername@mastodon.online.

Mastodon is particularly popular among people disappointed with whatever nonsense is happening to Twitter lately, but the history of Mastodon reaches way back, as far as 2016. It has a lot to do with how other social platforms were designed and how they mistreated certain groups of people long before you and I heard of Elon Musk.

That’s the briefest introduction to Mastodon and fediverse I can give you right now. And believe me, there’s a lot more to it. But this is one way decentralized social media can (and does) work. And that’s not the only one.

Let’s have a look at Nostr.

What is Nostr?

NOSTR is an abbreviation for Notes and Other Stuff Transmitted by Relays.

Let’s imagine another completely different world. There’s no Facebook or Twitter, no Instagram or YouTube. Instead, we have an infinite supply of blank postcards and pens.

To talk to each other, we agree to write our messages on the postcards. Under each message, we put our signature. Our signature is always unique to us because our style of writing and the pen we use unambiguously communicates it was really us who signed the message.

Now, we need a place to put those postcards so that someone can receive and read them.

Conveniently, the whole world is full of mailboxes placed on each street corner. Everyone can set up their own mailbox as it’s relatively uncomplicated - and that’s what people do. Some mailboxes are free; others charge a fee. Some allow everyone to read the postcards but not to send them.

All those mailboxes have one specific feature: except for a few, most of them are open and available for anyone to send their postcards. Everyone can check each mailbox and see postcards written by other people.

Since we put our signatures on postcards, and our signatures are unique (no one can easily fake ours unless they steal our pen and try very hard), our friends always know which postcard comes from us. So to exchange postcards, we must agree to use the same mailboxes.

For convenience, we can write the same postcard multiple times and send it to as many mailboxes as we want. Fortunately, the technology has advanced enough so that we don’t have to spend time copying the same postcard for each mailbox - it happens effortlessly and automatically.

Sending our postcards to multiple mailboxes has one advantage: more people will read them. But nothing stops us from sticking to just one mailbox. That one special mailbox available only to our close group of friends.

In Nostr, we send notes (postcards) to relays (mailboxes). We sign each note with a cryptographic key that is private to us (that’s us signing our postcards with our favorite pen). Our followers know how to find us because they know our public key (they can see what our signature on a postcard looks like).

Unfortunately, our signatures on Nostr don’t look overly neat. Mine looks like this:

npub16dqhd5h9rdfpvv8yzxejq8v9t52l2398s6p9298mu65c785fk8usd6m0ar

Or, if you prefer hexPubKey format:

d34176d2e51b521630e411b3201d855d15f544a786825514fbe6a98f1e89b1f9

Not convenient, but we can rely on copy-pasting or browser extensions to store the keys for us.

So, how does Nostr compare to Mastodon?

Mastodon and Nostr utilize the concept of relays. Relay is effectively somebody else’s computer that does stuff.

In both Mastodon and Nostr, relays do very similar things - they accept and broadcast messages sent to them. In most cases, anyone can publish or subscribe to any relay they wish.

However, relays on Mastodon are merely an additional tool to work around the decentralized nature of the fediverse (how do I get to see things if I run my own single-person server?). Mastodon can do just fine without relays because direct person-to-person interactions are effective enough at turning a chaotic bunch of computers into an interconnected network.

Relays in Nostr are its building block. They are the primary source of truth about every person that posted at least one note. Effective 1-to-1 communication on Nostr cannot happen without at least one relay that knows something about both people talking to each other.

Also, Mastodon and Nostr handle user identity in slightly different ways. In the fediverse - just like email - our identity is directly tied to the server we use. And that makes us somewhat reliant on the party that maintains our server.

Nostr uses asymmetric cryptography to identify people on the network. Our identity is a pair of keys, one of which we keep secret and the other we share with anyone who wants to talk to us. However, the keys themselves don’t store any data; it’s relays’ job to know what we’ve been up to and share that info with anyone who wants to know.

How do I start?

To access Nostr, you need an application to generate your private and public keys.

A good client will do that automatically for you and plug you into a few predefined relays so that you can immediately post your ‘Just setting up my Nostr’ message and see something on your timeline.

I tried a few clients. The ones I liked were Iris.to (web application) and Amethyst (Android).

For additional convenience, especially on computers, it’s worth installing a browser extension so that you don’t have to worry about copying and pasting your Nostr signature. I tried nos2x and Flamingo.

How do I verify myself? How do I convince others that I’m the person I claim to be?

Unfortunately, the process is technical and requires owning an internet domain you can control.

Short answer: use a NIP-05 identifier with an internet domain you own.

I’m verified on nostr as lukem@lukem.eu, because I put lukem@lukem.eu as my NIP-05 identifier on my profile. Lukem.eu is a domain I own and it contains a nostr.json file with my Nostr public key inside a JSON object. That’s an established convention used by Nostr clients and it’s the closest we can get to have a neat verified checkmark on our profile.

Another way of verifying ourselves is adding our key to nostr.directory and confirming ownership of accounts on other platforms (e.g. Mastodon, Twitter or GitHub). Here is my profile.

Personal notes

As a ‘seasoned’ citizen of the fediverse I could ramble a lot on how Nostr is filled with “cryptobros” and how gross that culture is to me. And “cryptobros” are within their right to declare the fediverse incompatible with what they want. But that’s not the point. We’ve been discussing technical stuff and we’ll keep doing that.

The cynic inside me keeps asking, why does Nostr have to be ‘censorship-resistant’ and whose censorship it is fighting against?

At the same time, another cynic inside me badly wants to know how one sets up and maintains a censorship-resistant Nostr relay in, let’s say, Russia or North Korea.

And if that is happening right now, the third cynic inside me wants to know what’s so unique about Nostr that makes it more resistant to state censorship than any other social network.

And finally - what happens if each and every network provider in the world refuses to handle traffic between servers known for hosting Nostr relays?

Oh, I almost forgot. To use Nostr effectively and securely, I have to own my cryptographic keys AND trust at least one relay to handle my content. The relay, just like a Mastodon server, is still somebody else’s computer that someone runs for reasons and they are within their power to do anything on their computer. Nostr doesn’t bring anything particularly new or exciting to the table in this department except fancy technical lingo.

So how do I establish my Nostr presence without trust issues?

Well, I have to set up my own relay exclusively for my content. Other relays can be used as fallbacks at best.

And I’m not gonna lie, persuading me to set up my own Nostr relay is quite a lot to ask and it has nothing to do with my technical skills - I once ran my own Mastodon instance after all.

I simply don’t want to buy a cow to pour some milk to my morning coffee.

Designing features === designing cultures

I’m not an ‘old’ or ‘veteran’ citizen of the fediverse even though I was here before Twitter started to crumble. But I quickly internalized one somewhat important lesson:

Design choices shape cultures.

Whole communities are built around certain features (or lack thereof). The behavior the tool permits is the behavior the tool encourages. If something works in a highly specific way, it works that way for purpose.

Mastodon is designed in a highly specific way because it aims to encourage healthy conversations and protect vulnerable groups of people, even at the cost of missing features. It’s not a perfect platform and has its share of cultural problems. Entering the fediverse, you’re making a political statement even if all you want is to look at cat pictures all day.

Nostr is designed in a highly specific way because it aims to attract a completely different group of people and build a completely different culture. I’m not gonna lie - I don’t belong to that group and that’s not my culture. I acknowledge its existence. But for now, that’s about it.

So, should I care?

If technical gimmicks or chaotic nature of Nostr protocol doesn’t scare you away, go for it. But do it in a responsible way and either host your relay or get to know whoever hosts the relay you publish to.

If you don’t have trust issues about relying on somebody else’s relays to transmit your content - whatever. Any existing social platform will be fine for you.

No Luke, I asked about Mastodon

Of course. Come to us. We are weird but we have the best cat pics.

Originally published on by Łukasz Wójcik