Why Nostr? What is Njump?
2023-02-04 04:10:26

永远辉煌 on Nostr: Nostr协议是个啥? ...

Nostr协议是个啥?

2022年底,前Twitter创始人杰克·多尔西为Nostr开源开发捐赠了14个比特币。

Nostr的全称是:Nostr stands for “Notes and Other Stuff Transmitted by Relays,可以理解为:通过中继设备传输笔记和其他东西"。

可以把Nostr看作一个社交网络,它的构建方式类似Twitter,可以在上面创建帖子或 "笔记"(像Twitter一样),也可以给帖子点赞,可以对其他用户和好友点赞、互关和取关。也可以转发帖子。

Nostr是一个协议,也就是服务器和客户端用来通信的一套规则(就像比特币、电子邮件或Bittorrent)。Nostr不是应用程序,也不是像Twitter这样的 "平台"(不是Facebook,不是Reddit,不是Ins),但是,有许多应用程序可以建立在Nostr之上。

与Twitter不同,Nostr是去中心化的,也就是说,没有中央服务器或公司来控制用户,它是开源的。

Nostr的运行原理?

Nostr 有两个组件:客户端和中继器。每个用户运行一个客户端,任何人都可以运行中继器。

使用Nostr,需要运行客户端。而客户端只是我们这些用户与Nostr互动的方式,比如说(浏览器的网络客户端、iPhone的移动客户端、本地客户端等)。

每个用户都由公钥标识,每个帖子都有签名,每个客户端都会验证这些签名。要在Nostr上发布东西,需要写帖子,然后用你的密钥签名,把它发送到多个中继站。

这里我们有两个密钥:公钥和私钥(私钥千万不要给别人看)。可以把公钥看作是你的用户名或者银行账户,把你的私钥看作是你的密码(告诉别人就完了)。

客户端从他们选择的中继器获取数据,并将数据发布到他们选择的其他中继器。中继器不与另一个中继器通信,仅直接与用户通信。

例如,要“关注”某人,用户只需指示他们的客户端查询它知道的中继器,以获取来自该公钥的帖子。

想要找到另一个Nostr用户,需要搜索他们的公钥,就像搜索推特@的用户名一样,会看到很多人在Twitter上发布他们的信息。

中继器(Relay)是托管的服务器,所有人都可以运行中继器。获得其他用户,比如你好友的更新,需要研究询问多个中继站是否了解其他人的情况;而中继站所做的,就是接受人们的帖子并将其转发给其他人。

在启动时,客户端从它知道的所有中继器中查询它所关注的所有用户的数据(例如,从最近一天开始的所有更新),然后按时间顺序向用户显示该数据。

“帖子”可以包含任何类型的结构化数据,但最常用的数据将进入标准,以便所有客户端和中继器可以无缝地处理它们。

签名是在客户端(你与Nostr互动的地方)验证的。

Nostr 如何解决其他方案无法解决的问题?
问题 1:用户被禁止,服务器被关闭
中继器可以阻止用户在它那里发布任何内容,但这对用户来说没有影响,因为他们仍然可以将内容发布到其他中继器。由于用户是通过公钥识别的,因此当他们被禁止时,他们不会失去他们的身份以及粉丝基础。

不需要用户手动输入新的中继器地址(虽然这也应该被支持),每当你关注的人发布服务器推荐时,客户端应该自动将其添加到它将查询的中继器列表中。

如果有人正在使用一个中继器来发布他们的数据,但想要迁移到另一个中继器,他们可以向之前的中继器发布一个服务器推荐,然后离开;

如果有人被很多中继器禁止,以至于他们无法广播他们的服务器推荐,他们仍然可以通过其他方式让一些亲密的朋友知道他们现在正在发布到哪个中继器。然后,这些亲密的朋友可以向新服务器发布服务器推荐,慢慢地,被禁用户的旧粉丝群将开始从新的中继器中再次找到他们的帖子。

当中继器停止工作时,上述所有规定也都是有效的。

问题 2: 抗审查
每个用户都可以将他们的内容更新发布到任意数量的中继器。

中继器可以向用户收取费用(目前费用的协商不在协议范围内)以在那里发布,这确保了抗审查性。

问题 3:垃圾信息
如果垃圾信息是中继器要关注的一个问题,它可以要求为发布付费或其他形式的身份验证 ( 如电子邮件地址或电话 ),并将这些在内部与公钥相关联,然后将其发布到该中继器或使用其他反垃圾信息技术(如 hashcash 或验证码)。如果一个中继器被用作垃圾信息载体,它很容易被客户端取消,客户端可以继续从其他中继器获取更新。

问题 4: 数据存储
为了让网络保持健康,不需要数百个活跃的中继器。事实上,它只需要少数几个就可以很好地工作,因为在现有中继器开始出错的情况下,可以很容易地创建新的中继器,并在网络中传播。因此,所需的数据存储量在一般情况下,要比 Mastodon 或类似软件要少。

或者考虑一个不同的结果:其中存在数百个由业余爱好者运行的利基中继器,每个负责一小群用户的更新中继工作。这种架构也可以扩展:数据从用户发送到单个服务器,然后从该服务器直接发送到将使用该数据的用户。它不必由其他任何人存储。在这种情况下,对于任何单个服务器来说,处理来自其他服务器的更新都不是很大的负担,拥有业余服务器也不是问题。

问题 5:视频等重内容
中继器很容易拒绝大数据的内容,或者对接受和托管大数据内容收费。当信息和激励明确时,市场力量很容易解决这个问题。

问题 6:显示方式
每个客户端都可以决定如何最好地向用户显示帖子,比如使用人工智能来决定你将看到的更新的顺序,到只是按时间顺序阅读它们。
Author Public Key
npub1vn5sa4w3yachcmw3ef2t3ks802swr234kuv8p9d27gn8t5xlrmqs0yw93t