前 Twitter 首席执行官杰克多尔西和现任首席执行官埃隆马斯克对待名为 Nostr 的新社交协议非常不同。
12 月 14 日,前 Twitter 首席执行官 Jack Dorsey 收到 Twitter 用户 Koty_Auditore 的推荐,为 Nostr 提供资金。在对 Nostr 进行研究后,Jack Dorsey 于 12 月 15 日宣布捐赠 14 个比特币(约合 245,000 美元)以资助 Nostr 的开发。
同时,在 12 月 18 日,Twitter 正式宣布屏蔽宣传包含其他社交媒体链接的用户,包括 Facebook、Instagram、Truth Social、Mastodon 等,Nostr 被列入名单。
什么是Nostr?
nostr,代表“中继传输的注释和其他内容”。
根据 Nostr 的 github,Nostr 是最简单的开放协议,能够创建一个抗审查的全球“社交”网络。一劳永逸的网络。
Nostr 社交网络的构建与推特非常相似,您可以在其中创建帖子(如推文)、点赞帖子、关注或取消关注、转推/转发。通常术语“邮寄”或“注意”用于指代在 nostr 社交网络上创建帖子。
但它不依赖于任何受信任的中央服务器,因此它具有弹性;它基于加密密钥和签名,因此是防篡改的;它不依赖于 P2P 技术,因此可以正常工作。
Nostr 如何运作?
- 有两个组成部分:客户 和继电器 .每个用户运行一个客户端。任何人都可以运行中继。
- 每个用户都由公钥标识。每个帖子都有签名。每个客户端都会验证这些签名。
- 客户端从他们选择的中继获取数据并将数据发布到他们选择的其他中继。中继不与另一个中继通信,仅直接与用户通信。
- 例如,“跟随”某人用户只是指示他们的客户端查询它知道的中继以获取来自该公钥的帖子。
- 在启动时,客户端从它知道的所有中继中查询它所关注的所有用户的数据(例如,从最后一天开始的所有更新),然后按时间顺序向用户显示该数据。
- 一个“帖子”可以包含任何类型的结构化数据,但最常用的数据将进入标准,以便所有客户端和中继可以无缝地处理它们。
它是如何工作的简短总结
每个人都运行一个客户端。它可以是本机客户端、Web 客户端等。要发布某些内容,您可以写一篇文章,用您的密钥对其签名并将其发送到多个中继(由其他人或您自己托管的服务器)。要从其他人那里获得更新,您可以询问多个中继他们是否了解这些其他人。任何人都可以运行中继。继电器非常简单和愚蠢。除了接受某些人的帖子并转发给其他人之外,它什么都不做。不必信任中继。签名在客户端进行验证。
为什么需要 Nostr
因为其他解决方案已损坏:
推特的问题
- 推特有广告;
- Twitter 使用奇怪的技术让你上瘾;
- Twitter 不会显示您关注的人的实际历史提要;
- 推特禁止人们;
- 推特影子禁令人。
- Twitter 有很多垃圾邮件。
Mastodon 和类似程序的问题
- 用户身份附加在第三方控制的域名上;
- 服务器所有者可以像 Twitter 一样禁止您;服务器所有者也可以阻止其他服务器;
- 服务器之间的迁移是事后才想到的,只有在服务器协作的情况下才能完成。它在对抗环境中不起作用(所有追随者都丢失了);
- 运行服务器没有明确的动机,因此它们往往由爱好者和希望将自己的名字附加到一个很酷的域的人运行。然后,用户受制于一个人的专制,这往往比推特这样的大公司还要糟糕,无法迁移出去;
- 由于服务器往往是业余运行的,所以它们经常会在一段时间后被放弃——这实际上等同于禁止所有人;
- 如果来自每台服务器的更新都必须痛苦地推送(并保存!)到大量其他服务器,那么拥有大量服务器是没有意义的。服务器往往数量庞大,因此必须更频繁地将更多数据传递到更多地方,这一事实加剧了这一点;
- 对于视频共享的具体示例,ActivityPub 爱好者意识到完全不可能像文本注释那样在服务器之间传输视频,因此他们决定仅从发布视频的单个实例托管视频,即类似于 Nostr 方法。
SSB(Secure Scuttlebutt)的问题
- 它没有很多问题。我认为这很棒。事实上,我打算以此为基础,但是
- 它的协议太复杂了,因为它根本没有被认为是一个开放协议。它只是用 JavaScript 编写的,可能是解决特定问题的一种快速方法,并从中发展而来,因此它有奇怪和不必要的怪癖,比如签署一个 JSON 字符串,它必须严格遵守规则ECMA-262 第 6 版 ;
- 它坚持从单个用户那里获得一连串的更新,这对我来说是不必要的,而且会增加膨胀和僵化的东西——每个服务器/用户都需要存储所有的帖子链以确保新的是有效的。为什么? (也许他们有充分的理由);
- 它不像 Nostr 那样简单,因为它主要用于 P2P 同步,带有“pubs”功能。事后才想到;
- 不过,可能值得考虑使用 SSB 而不是这种自定义协议,并仅使其适应客户端中继服务器模型,因为重用标准总是比尝试让人们使用新标准更好。
其他解决方案要求每个人都运行自己的服务器的问题
- 他们要求每个人都运行自己的服务器;
- 有时人们仍然会在这些方面受到审查,因为域名可能会受到审查。