近日,随着推特前CEO Jack Dorsey和现任CEO马斯克对同一个社交协议Nostr截然不同的态度,Nostr得到社区关注。
12月14日推特前首席执行官Jack Dorsey收到推特用户Koty_Auditore推荐资助Nostr。在研究Nostr后,15日Jack Dorsey宣布捐赠14个比特币(价值约245,000 美元),用于资助Nostr的开发。
12月18日,推特官方宣布对宣传含有其他社交媒体链接的用户封号,这些社交媒体中包含有Facebook、Instagram、Truth Social、Mastodon等,Nostr赫然在列。
那么Nostr有何特别之处?
Nostr是什么
Nostr,是中继传输的笔记和其他内容(Notes and Other Stuff Transmitted by Relays)的简称。
根据官方github说法,它最简单的开放协议,能够一劳永逸地创建一个抗审查的全球“社交”网络。其不依赖于任何受信任的中心化服务器,因此具有弹性;它基于加密密钥和签名,因此是防篡改的;它不依赖于P2P技术,因此可以正常工作。
Nostr如何运作?
-
Nostr有两个组件:clients和relays。每个用户运行一个客户端(clients),任何人都可以运行中继(relays)。
-
每个用户都由公钥标识。每个帖子都有签名。每个客户端都会验证这些签名。
-
客户端从他们选择的中继获取数据并将数据发布到他们选择的其他中继。中继不与另一个中继通信,仅直接与用户通信。
-
例如,要“关注”某人,用户只需指示他们的客户端查询它知道的中继以获取来自该公钥的帖子。
-
在启动时,客户端从它知道的所有中继中查询它所关注的所有用户的数据(例如,从最后一天开始的所有更新),然后按时间顺序向用户显示该数据。
-
“帖子”可以包含任何类型的结构化数据,但最常用的数据将进入标准,以便所有客户端和中继可以无缝地处理它们。
简短总结Nostr如何工作
每个人都运行一个客户端,可以是本机客户端、Web客户端等。要发布某些内容你可以写一篇文章,用你的密钥对其签名并将其发送到多个中继(由其他人或你自己托管的服务器)。要从其他人那里获得更新,你可以询问多个中继他们是否了解这些其他人。任何人都可以运行中继。中继非常简单,除了接受某些人的帖子并转发给其他人之外,它什么都不做。不必信任中继。签名在客户端进行验证。
怎么使用Nostr
要使用nostr,你需要一个客户端和一个密钥。
密钥
你的密钥就是你的身份。你可以将公钥 ( npub…) 视为你的用户名,将你的私钥 ( nsec…) 视为你的密码。
密钥有两种格式,你可以使用此在线工具在两种格式之间进行转换:https ://damus.io/key/
显然,你必须信任运行该网站的任何人,并且某些客户端容易受到XSS攻击。
你可以使用Alby或 nos2x (Firefox、 Chrome)来生成你的密钥。这些扩展将安全地(或至少更安全地)存储你的密钥。
https://blog.getalby.com/nostr-in-the-alby-extension/
你还可以使用这些扩展存储现有密钥并擦除webapp实例(以防你使用网络客户端生成密钥)。
现在还处于早期阶段,因此请做好准备。
客户端
定期检查nostr.net,它保留了精选的客户端列表。这里有一些推荐:
-
nostr.rocks – Twitter 风格的界面 (Branle)
-
anigma.io – Telegram式界面
-
astral.ninja – Branle 的分支,具有不同的 UI 和全局提要
移动客户端:
-
iOS:Damus(也适用于 MacOS)
-
安卓:Nosky、 Nostros (都在开发中)
中继是简单的服务器,你需要将客户端连接到中继才能工作。有很多中继,你可以自己运行。
http://nostr.watch/
寻找他人
使用此搜索查询查找你在Twitter 上关注的人的nostr公钥:
https://twitter.com/search?q=%22verifying%20my%20account%20on%20nostr%22&f=live&pf=1
发布图片
大多数客户端会将图像 URL 显示为图像,因此你可以将任何图像上传到imgbb.com或imgur等网站,然后将图像作为 URL 发布,如下所示:https://i.ibb.co/w4WvnYb/image.png
一些客户会在本地呈现闪电网络Lightning收据,显示收件人、金额和支付按钮。Damus就是这样的一个客户端。
附:Nostr创始人fiatjaf 解释为什么Nostr是必需的以及关于Nostr的常见问题
为什么Nostr是必需的
推特的问题
-
推特有广告;
-
Twitter使用奇怪的技术让你上瘾;
-
Twitter不显示你关注的人的实际历史信息流;
-
推特禁止人们;
-
推特影子禁令人。
-
Twitter有很多垃圾邮件。
Mastodon和类似程序的问题
-
用户身份附加在第三方控制的域名上;
-
服务器所有者可以像Twitter一样禁止你;服务器所有者也可以阻止其他服务器;
-
服务器之间的迁移是事后才想到的,只有在服务器协作的情况下才能完成。它在对抗环境中不起作用(所有追随者都丢失了);
-
运行服务器没有明确的动机,因此它们往往由爱好者和希望将自己的名字附加到一个很酷的域的人运行。然后,用户受制于一个人的专制,这往往比推特这样的大公司还要糟糕,无法迁移出去;
-
由于服务器往往是业余运行的,所以它们经常会在一段时间后被放弃——这实际上等同于禁止所有人;
-
如果来自每台服务器的更新都必须痛苦地推送(并保存!)到大量其他服务器,那么拥有大量服务器是没有意义的。服务器往往数量庞大,因此必须更频繁地将更多数据传递到更多地方,这一事实加剧了这一点;
-
对于视频共享的具体示例,ActivityPub爱好者意识到完全不可能像文本注释那样在服务器之间传输视频,因此他们决定仅从发布视频的单个实例托管视频,即类似于Nostr方法。
SSB(Secure Scuttlebutt)的问题
-
它没有太多问题。我认为这很棒。事实上,我打算以此为基础,但是
-
它的协议太复杂了,因为它根本没有被认为是一个开放协议。它只是用JavaScript编写的,可能是解决特定问题的一种快速方法,并从中发展而来,因此它有奇怪和不必要的怪癖,比如签署一个必须严格遵守ECMA-262 第 6 版规则的JSON字符串;
-
它坚持从单个用户那里获得一连串的更新,这对我来说是不必要的,而且会增加膨胀和僵化的东西——每个服务器/用户都需要存储所有的帖子链以确保新的是有效的。为什么?(也许他们有充分的理由);
-
它不像Nostr那样简单,因为它主要是为P2P同步而制作的,“pubs”是事后才想到的;
-
不过,可能值得考虑使用SSB而不是这种自定义协议,并仅使其适应客户端中继服务器模型,因为重用标准总是比尝试让人们使用新标准更好。
其他解决方案要求每个人都运行自己的服务器的问题
-
他们要求每个人都运行自己的服务器;
-
有时人们仍然会在这些方面受到审查,因为域名可能会受到审查。
nostr如何解决上述网络无法解决的问题?
-
用户被禁止和服务器被关闭
-
中继可以阻止用户在那里发布任何内容,但这对他们没有影响,因为他们仍然可以发布到其他中继。由于用户是通过公钥识别的,因此当他们被禁止时,他们不会失去他们的身份和他们的追随者基础。
-
不需要用户手动输入新的中继地址(虽然这也应该被支持),每当你关注的人发布服务器推荐时,客户端应该自动将其添加到它将查询的中继列表中。
-
如果有人正在使用中继发布他们的数据但想迁移到另一个中继,他们可以发布一个服务器推荐到之前的中继然后去;
-
如果某人被多次中继禁止,以至于他们无法广播他们的服务器推荐,他们仍然可以通过其他方式让一些亲密的朋友知道他们现在正在发布哪个中继。然后,这些密友可以向该新服务器发布服务器推荐,慢慢地,被禁用户的老粉丝群将开始从新中继重新找到他们的帖子。
-
当继电器停止操作时,上述所有内容也有效。
-
抗审查
-
每个用户都可以将他们的更新发布到任意数量的中继。
-
中继可以向用户收取费用(目前该费用的协商不在协议范围内)以在那里发布,这确保了审查抵抗(总会有一些俄罗斯服务器愿意拿你的钱来换取服务你的帖子)。
-
垃圾邮件
-
如果垃圾邮件是中继的一个问题,它可能需要支付发布费用或一些其他形式的身份验证,例如电子邮件地址或电话,并将这些在内部与公钥相关联,然后发布到该中继——或其他反垃圾邮件技术,如 hashcash 或验证码。如果中继被用作垃圾邮件载体,它很容易被客户端取消列出,客户端可以继续从其他中继获取更新。
-
数据存储
-
为了让网络保持健康,不需要数百个活跃的中继。事实上,考虑到在现有中继开始出现异常时可以轻松创建新中继并通过网络传播这一事实,它只需少数几个就可以正常工作。因此,所需的数据存储量通常比 Mastodon 或类似软件要少。
-
或者考虑一个不同的结果:其中存在数百个由业余爱好者运行的利基中继,每个中继来自一小群用户的更新。该体系结构也可以扩展:数据从用户发送到单个服务器,然后从该服务器直接发送到将使用该数据的用户。它不必由其他任何人存储。在这种情况下,任何一台服务器处理来自其他服务器的更新都不是很大的负担,拥有业余服务器也不是问题。
-
视频等重磅内容
-
中继很容易拒绝大型内容,或者对接受和托管大型内容收费。当信息和激励措施明确时,市场力量很容易解决问题。
-
欺骗用户的技巧
-
每个客户都可以决定如何最好地向用户显示帖子,因此始终可以选择以您想要的方式使用您想要的内容——从使用 AI 来决定您将看到的更新顺序到只阅读它们按时间顺序。
Nostr常问问题
-
这很简单。为什么以前没有人这样做过?
我不知道,但我想这与以下事实有关:创建社交网络的人要么是想要赚钱的公司,要么是想要完全不使用服务器来制作东西的 P2P 活动家。他们都没有看到Nostr使用的两个世界的特定组合。 -
我如何找到要关注的人?
首先,你必须了解他们并以某种方式获得他们的公钥,无论是通过询问还是在某处看到它的引用。进入 Nostr 社交网络后,您将能够看到他们与其他人互动,然后您也可以开始关注这些人并与之互动。 -
我如何找到中继?如果我没有连接到其他人连接的相同中继会怎样?
你将无法与那个人交流。但是可以使用事件提示,以便你的客户端软件(或你手动)知道如何连接到其他人的中继并与他们交互。未来还有其他关于如何解决这个问题的想法,但我们永远不能保证完美的可达性,任何协议都不能。 -
我可以知道有多少人关注我吗?
不,但是如果中继以额外的协议方式协作,你可以获得一些估计。 -
人们运行中继的动机是什么?
这个问题具有误导性。它假设中继是存在的免费管道,以便人们可以通过它们四处移动数据。在这种情况下,是的,激励措施将不存在。事实上,所有其他p2p网络堆栈中的DHT节点都可以这样说:人们运行 DHT节点的动机是什么? -
Nostr使你能够在服务器中继之间移动或使用多个中继,但如果这些中继仅在AWS 或Azure 上,有什么区别?
今天,全球有成千上万的VPS提供商,不仅仅是AWS或Azure。AWS或Azure正是需要大量规模的单一中心化服务提供商使用的提供商,而且不仅仅是这两个。对于较小的中继服务器,任何VPS都可以很好地完成这项工作。
白话区块链|同步全球区块链资讯、区块链快讯、区块链新闻
本站所有文章数据来源:金色财经
本站不对内容真实性负责,如需转载请联系原作者
如需删除该文章,请发送本文链接至oem1012@qq.com