我最近用 Ruby on Rails 写了个个人网站,因为社交平台毕竟是别人的地盘,推流或者封号都是一句话的事情,我喜欢主动权尽可能握在自己手上的感觉,当然了,自由的代价就是所有的事情得自己做。

其实除了自己建网站之外,还有一个选择,那就是本文的主角:Nostr。

什么是 Nostr?

Nostr 全称是 Notes and Other Stuff Transmitted by Relays,字面意思即“通过中继站传输的笔记和其他东西”。简单来说,Nostr 是一个去中心化社交协议,这也是它不同于一般的社交网络的地方。

像微博或者推特这样的平台,你的数据是储存在它们服务器上,怎么处理你的账号和数据完全由它们说了算,被封号的时候,我们作为用户只有申诉的权利。而如果你不想离开某个平台的话,你的粉丝也没法一键带走。

但 Nostr 就没有这种问题。它的“去中心化”体现在,它没有传统意义上的服务器,所有的数据都储存在那些中继站(relay)上。我们作为用户通过私钥签名一条消息,然后这条消息就会被发给一堆中继站,其他用户通过查询这些中继,就能够看到我们发出的消息。

如果要封 Nostr 用户的话,除非你能封住所有中继站,不然禁了一个还有下一个,封是封不干净的。

在 Nostr 协议中,密钥分为私钥(nsec)和公钥(npub),相信对区块链有所了解的读者,对这俩应该不陌生。

有了一个你喜欢的大V的公钥(npub),你就可以关注他,看到他的发帖以及他对别人的回复,而你手上的私钥(nsec),则是登录、发帖的关键。你把你的私钥带到哪里去,你的粉丝就会跟你到哪里,而如果私钥掉了的话,那你的账号就没有了。

可能有人会问,“你把你的私钥带到哪里去,你的粉丝就会跟你到哪里",除了 Nostr 之外,这个私钥还能被带到哪里去呢?

其实 Nostr 只是一个协议,如果想用得舒服一点,你需要搭配各种 app 或者网站。它们虽然用的都是 Nostr 的底层协议,但是风格截然不同。比如在 iOS 上很火的 Damus,走的就是极简风格,像是早期的推特,还有 Yakihonne 这样的,长文支持友好,有点像是去中心化版的 Medium,另外有 Telegram 风格的 Nostrchat,Instagram 风格的 Olas,基本上你喜欢的社交网络风格都能找到基于 Nostr 的去中心化版。

我个人在电脑浏览器里喜欢使用 Primal,苹果手机上用 Damus,而在安卓手机上更喜欢使用 Yakihonne。用 Primal 是因为,带我入坑的那群人用的就是 Primal,试了之后还算顺手,手机上用 Yakihonne 主要是因为,安卓上好用的客户端实在不多,Damus、Amethyst 实在是太丑了,而 Primal 一直网络不佳。

这几天事情有点多,回到家还在搭个信息聚合站(过两天放出来看看,快收尾了),所以写到哪里算哪里,之后有要补充的会另行发文,请大家见谅啦。