Nostr浅尝记录
前言
Nostr是什么?一句话总结nostr:基本成型的去中心化的社交网络。
其实相关的概念已经见到过不少了,“去中心化”也是最近网上的热点 (嘛,多半都是被比特币炒上去的热度就是了,实际上关注技术和应用本身的人并不算很多x) 而Nostr就是“去中心化社交网络”的具体体现之一(似乎有别的,不过我没接触过x)
我本身对“去中心化”其实也有一定的兴趣和倾向,不过个人技术力属实有限,能做到的事情太少,充其量也就是看看别人做的现成品x。不过经过大半天的琢磨体验下来,稍稍总结了一些心得。尽管在自己的nostr账户上也发布了,不过由于无法修改/删除,故不公开,只写在博客上作为记录(毕竟博客的数据是自己的x)
nostr相关链接
为了研究nostr专门把edge开了个分类,感觉浏览器快被我用成图书馆了x
- Nostr Client项目:
- vitorpamplona/amethyst: Nostr client for Android (github.com) Android开源客户端,功能还是比较齐全的,自动翻译,画廊功能算是特色吧,对于node节点的检测也比较人性化,以及具有群组聊天功能,如果有个国内能直连的node节点的话体验还是很不错的。
- damus-io/damus: iOS nostr client (github.com) IOS开源客户端,因为没有苹果设备所以没体验过,不过挺出名的倒是x
- iris 网页客户端,同时具有iOS/Android的客户端。基本操作还是比较友好的,也有多语言实现,就是一开始从哪看其他信息有点摸不着头脑x,另外功能比较简单,只实现了基本的功能,没太多特色亮点,值得一提的是有类似Twitter那样的自定义ID的功能,比如 https://iris.to/smgoro 这样的。似乎还会注册NIP-05 Address,不过这是什么我不太清楚,有待研究。
- lovvtide/satellite-web: Satellite nostr client (github.com) 在线体验网址 https://satellite.earth/ 一个非常风格化的网页客户端,似乎有不少奇奇怪怪的功能(待开发),没有i18n支持,也没有中文,不过还是值得一看的。
- digi-monkey/flycat-web:马上在Nostr上写博客 (github.com) 国人开发的网页客户端,理念是在Nostr上写博客,总的来说还是挺不错的,不过目前来说写博客还是自己的博客更方便些x,而且美中不足的就是UI方面还差了点火候)要是能完善一下就更好了。在线体验网址: flycat.club
- styppo/hamstr: A twitter-style Nostr web client (github.com) 模仿Twitter风格的网页客户端,UI很好看~~(不如说大多数Nostr客户端UI都是模仿Twitter做的就是了)~~,但是功能上似乎有些缺陷,我用他的在线体验网址 hamstr.to 试了试,登录账号之后刷新就什么都做不了了,很怪。如果能和flycat结合一下那大概是蕨杀。
- Nostr node项目:参考 自建Nostr中继器 - Nostr协议 (nostrtips.com) 这里留档几个自己比较感兴趣的项目。
(留坑为后续自建node做准备x)- hoytech/strfry: a nostr relay (github.com) 基于C++实现的无数据库中继器
- nostr-rs-relay: Nostr relay in rust (sr.ht) 基于Rust使用SQLite存储数据的中继器
- nostr relay: nostr relay (pobblelabs.org) 基于Python使用SQLite存储的中继器
- 其他Nostr相关网址:
- nostr-protocol (github.com):应该算是“nostr官方”吧,理论提出的文章记录仓库,以及nostr相关的基本介绍,实现思路应该都有,不过基本只有md文件,过于简陋,只能算是理论,不是什么实际项目,有兴趣可以看看)
- nostr.build media uploader 为Nostr网络提供图像存储上传的网站,可以使用直链查看,不过可惜国内屏蔽了,不然可以当图床用x 不过关键的数据存储是否使用Nostr网络这点打个问号,目前来看大概率不是,还是自托管的,毕竟用的php实现的,还能查看具体的存储用量)估计和一般的图床差不多,只是挂了个nostr的名号。
- nostr.watch 查看Nostr节点的网站,目前来看已经有500多个节点了,不过中国节点屈指可数)这么来看的话Nostr网络集群也算是发展起来了,虽然不如区块链那般壮大。
- Repository search results · GitHub Github上nostr相关的仓库,目前来看数量也有2.6k了,也算是比较成熟的项目了吧。
- aljazceru/awesome-nostr: A curated list of nostr projects and resources (github.com) Nostr相关的项目大集合,有不少,有时间可以看看。
去中心化的“web3”概念提出到现在,Nostr是第一个我看到,并且亲自尝试的实际项目。 概念的变革都是由理想家提出,由工程师落实,最后让用户进行巩固充盈,这三者缺一不可,但资本并不是绝对必须的存在。 对于Nostr网络的未来,我还是很期待的。
使用体验&区别
一般的使用体验基本和Twitter差不多,发送文章,评论,点赞什么的(尽管不能撤销x)主要说下技术上的区别带来的直观体验吧。
1. 账户体验:
应该是最直观的体验差异,账户不像中心化管理的社交网络那样使用常规的邮箱/手机号注册,密码验证,而是使用公钥私钥进行创建账户以及认证信息。这样做和中心化管理的最大差异就是你可以使用公钥看到对方的信息,包括发的文章,关住,粉丝,甚至私信对象(大部分nostr客户端的设计把公钥和私钥都设置成可以登录的认证方式了)
但是并不是所有信息都能看到,毕竟那样就没有设置账户的意义了)私信内容会被加密,只有有私钥的人才能看到具体内容,公钥看就是一团乱码。此外没有私钥的话也不能进行信息交互,发文章点赞关注之类的。大体来说其实和传统的账户使用无异。但是公钥和私钥都是不能更改的,所以说一旦泄露这个账户基本就相当于废了,正儿八经用的话可以使用密码管理器一类的东西来保存。
2. 客户端体验:
客户端体验算是一个比较直观的体验差距,和传统中心化管理的社交网络不同,没有“官方客户端”这一说,所有客户端都是第三方的。这样做有利有弊吧,相比起传统的中心化社交网络的第三方客户端,去中心化的社交网络的客户端开发显然地位要比前者高,可操性也更强,事实上半天的琢磨已经发现了不少开源的客户端,软件网页应有尽有,各有各的好处和优势,不过展开讲就长了,留着挖个坑,回头再说x。
基本内容都是一样的,可以看到别人的文章,基本的信息,发布自己的文章等等。要说有什么不同的话,那就是相比起中心化的社交网络多了个“node节点选择”的功能,不同的节点获取到的信息可能是不一样的,你发送的信息实际上也是悲存储在了node节点中。不过倒是不用太担心数据安全的问题(大概 该加密的数据就算存储在别人的node上也会以加密的形式存储,解密需要用到私钥,这个是客户端的活。
3. 服务器体验:
至少直到目前为止,去中心化的优势并没有在中国有所体现,因为基本上绝大多数的节点都被gfw噶掉了)而且去中心化的社交网络不利于监管,对于中国这种林子大了什么鸟都有的国家还是不太适用)不过可以自建node节点,这点倒是和传统的中心化社交网络差异性比较大。目前为止从 nostr.watch 的网站来看,已经有了500多个节点,不过大半集中在欧美地区,亚洲地区的node节点还比较少,目前来看日本那边可能用的人多一些(大概是twitter的难民)国内节点目前来看的话,台湾有一个节点,大陆有三四个,其中一半不是失效就是乱提交的,实质上能用的似乎只有一个(开node的大哥哥加油啊x),看别的人说国内节点迟早也会被制裁,这点我也比较同意,基本暂时不对国内节点保留希望了)
说实话,目前为止的nostr网络虽然说实现了去中心化管理,但是和我想象中的“完全去中心化社交网络”,或者说是“web3”还是有些差距,理想状态下我是希望能做到“用户及节点”的效果,这样用户体量越大社交网络也就越稳定,但是现阶段是“节点越多网络越稳定”,节点数量和用户数量不一定是正相关的,所以有崩溃的风险。另外虽然说从技术角度来看和区块链关系不大,但是目前主要受众群体其实还是吃到区块链红利的那波人,有没有可能下沉到一般用户群体(特别是在中国)也有待商榷。
另外有机会的话我也想试试自建node节点,不过需要考虑的事情还是有很多,比如选择什么样的方式搭建(node节点的实现方式似乎有不少),使用什么服务对外公开,以及通过什么途径来进行使用以及宣传,以及监管措施导致的服务商层面的惩罚等,要考虑清楚在弄,不能随随便便就去弄了,毕竟已经吃到过教训了)
4. 数据体验:
数据的存储,交互可以说是去中心化网络最大的特色和看点,相比起中心化网络,数据的直接所有人是维护中心化网络的主体(一般来说往往是公司), 去中心化的nostr社交网络的数据从结论上来看则是“不属于任何人”。 尽管数据直接存储在node节点中,但是用户是可以主动选择node节点的,而且用户数据似乎也会被分发到不同的节点中进行分布式存储,以及node搭建的所有人就算能查看到node里的数据,对于隐私数据一般来说是无法查看的,加密信息,密钥等。 说了“不属于任何人”,当然也不属于你自己。你能做到的只有两件事:发布和交互。
你想要删除或者修改都是没有办法的,发布出去的信息相当于“泼出去的水”,而且还不会干,会一直保留在去中心化的网络中。账户也是同理,无法注销,无法修改密码。从好的方面来想一定程度上保证了数据的安全性,以及相比起传统的中心化社交网络来说隐秘性更高,因为你的隐私数据只有你自己(私钥所有人)可以查看,连服务提供者都没法看到; 从不好的方面来考虑,那就是现阶段的去中心化社交网络“太危险了” :
因为数据“不属于任何人”,而认证账户的唯一手段是一个无法更改的密钥,你的账户也是并不是绝对安全的,也没有法律措施能够保护账户上的财产安全,上升到“国家舆论保护”的层面更是如此,所以短时间内这种模式的去中心化社交网络很难在中国普及开来。下放到商业化操作,这种去中心化的社交网络所承载的账号也绝对不是什么好选择,不管是作为公司企业的官方账号,还是偶像演员明星的活动账号,放在这种去中心化的社交网络风险都是相当大的,一方面是资本引来的大量流量,作为媒介的账号本身就具有价值,肯定会有人图谋不轨试图获取账号,万一账号密钥泄露,相关的公司或者艺人几乎没有任何办法再把这个账号挽回,放弃账号的话就相当于把一个常年积累的流量入口拱手让人,甚至会产生负面影响。这点其实下放到个人,上升到国家都是一样的,只是影响规模的程度问题。
综上所述,当前的去中心化社交网络几乎不可能吃到资本带来的流量红利,更多的其实还是向往自由的个体户在进行“尝鲜”。其实这种网络更加符合我心目中的“互联网精神”,其技术架构模式也类似bt那样的文件上传存储下载技术,但是如果失去了“资本的利益”,这种网络究竟能走多远,就不得而知了。虽然个人来说看好这种技术,但是就目前来说,他是一个“自由的混乱都市”,无法承担“世界级”的任务。
对了,补充一点。因为账户创建的低成本以及数据所有的特性,nostr其实有被大量bot用户灌溉“垃圾信息”的风险。但是目前来看nostr网络实际存储的信息只有文字和账户基本设定等基本信息,图片等其他资源还是引用的外部资源,包括头像,横幅,以及各种插入图也是。虽然有 nostr.build 这样的资源上传站点,但是实际上是否是用的nostr网络进行存储不得而知,似乎也并不是开源的。Amethyst的上传是可以自选图片托管方的,其他客户端目前不得而知,大概是随便选了个,或者是直接自建了吧。