Nostr中继网络的可用性和可靠性优化

YakiHonne 致力于构建一个抗审查的去中心化媒体。一个足够去中心化且不可篡改的存储层是实现这个目标的关键。基于Nostr协议的Relay网络提供了一个优秀的抗审查存储解决方案。Relay在消息存储和广播中充当着中介的角色,用户可以自主托管Relay,并自由选择在哪些中继上广播信息或忽略某些中继。当某个Relay拒绝服务或者被关闭时,其他Relay可以继续传播该信息(fiatjaf.2019)。这种机制,使得影子禁令成为了“打地鼠游戏”,试图从某个数据源将用户屏蔽变得几乎不可能,为许多争议人士和内容提供了言论自由的空间。

尽管Relay为解决媒体审查和内容删除问题提供了一个简单有效的技术方案,但现有的Relay网络面临着两个主要的问题。首先,Relay网络缺乏激励,这导致其稳定性和可用性不足。抗审查网络依赖于众多分散的可用Relay和Relay的更广泛的使用来保证信息的自由流通(Rabble,2024)。其次,尽管Relay的核心职能是去中心化地存储和分发信息,它们本身无法保证信息的绝对不可篡改。Relay节点有能力篡改或删除信息。因此,本文将重点探讨如何通过引入经济激励和证明机制解决以上这两个问题,从而加强Relay网络的可用性和可靠性,确保其为去中心化媒体提供坚实的支持。

一、Nostr是去中心化的

Nostr 的设计核心是用户账户、中继及客户端相互分离,不受任何实体的控制和审查。用户可以自主托管Relay,内容可以在多个中继上存储和检索。即便某些Relay拒绝服务或被关闭,其他Relay依然可以继续存储和传播信息。这与Fediverse 应用如MastodonBluesky及其他Web3协议如Farcaster不同。

  • 在Mastodon中,用户账户与管理员控制的服务器绑定。因此,实例所有者可以禁止用户就像 Twitter一样,他们也有权阻止其他实例,从而实施审查 (Rozenshtein,2023)。
  • 尽管Bluesky宣传自己是一个开放和去中心化的网络,实际上是被误导的(Fiatjaf:Bluesky, 2023):Bluesky直接控制atproto协议,这使得 Bluesky 可随时更改协议;Bluesky的身份系统依赖于中心服务器来维护和认证全球ID,这一系统允许Bluesky控制并潜在地禁止任何用户;即使用户可以自行托管内容,所有内容都必须通过Bluesky的中心服务器进行分发。此外,Bluesky的设计并不鼓励或支持与其他网络提供商的有效互操作性。这意味着如果用户对Bluesky不满意,其选择非常有限。
  • Farcaster 依赖大型中心 (Hubs) 来存储所有用户的数据,这些Hub具有数据的审查和传播权。随着网络扩展,Hub的存储需求和成本激增。据估计,若Farcaster的日活用户每周增长5%,到2024年,运行一个Hub的成本将达到3500美元/年,到2027年将飙升至690万美元/年(Varun,2022)。高昂的运营成本使得只有少数公司能运营Hub,导致Hub数量减少和网络中心化的风险增加。同时,Hub运营者可能合谋或串通,降低某些内容的优先级或对其进行审查(Varun,2022)。与此相反,Nostr鼓励大型Hub与为特定目的构建的小型中继之间的混合使用,如图1所示。这些小型中继可以由大型出版商、小组织或极客建立,保持网络的去中心化和开放性(Hodlbod:Outbox,2024)。
图1. Farcaster Hub vs Nostr Relay

事实上也是如此。Gareth Tyson等,以2023 年 7 月 1 日至 2023 年 12 月 31 日的 1780 万帖子、150 万 pubkey(用户)和 712 个中继的数据集为样本对Nostr的去中心化程度进行分析,发现帖子和用户在中继上的分布及中继托管分布表现出极高的去中心化程度。这证明了Nostr协议的技术结构优于现有的所有去中心化媒体协议的设计。

  • 帖子和用户并没有高度的集中在个别Relay,而是广泛分布,如图2所示。大多数(93%)帖子可以在多个中继中找到,有 178 个中继(25%)分别托管了大量(超过 5%)的帖子。根据用户数量统计,即便关闭流量前50的Relay,依然有90%的内容可以被访问;而根据帖子数量统计,关闭帖子数量前30的Relay后,仍有超过90%的内容保持可访问。即使移除前50个Relay,也有71%的内容仍可被访问,如图3.1所示。这种去中心化程度远优于Fediverse 的应用。
图2. 根据中继用户数排名,前15个地区和自治系统中的中继、帖子和用户的比例。 来源: Gareth Tyson et al. (2024), "Exploring the Nostr Ecosystem: A Study of Decentralization and Resilience," arXiv preprint arXiv:2402.05709
  • 中继托管地域及自治系统分布的去中心化。中继分布在 50个国家和 151 个自治系统中,如图4所示。令人惊讶的是,没有单个国家或自治系统托管超过25% 的中继。超过80%的帖子在移除前10个自治系统后仍然可用,如图3.2所示。以Mastodon为例(Raman et al., 2019),在移除托管实例的前10个自治系统后,帖子可用性下降至不到10%。这主要是由于Nostr的中继在不同AS中的分布更均匀,使它们对单个AS故障的抵抗力更强。
图3.1.移除前X Relays; 图3.2.移除前X自治系统. 来源: 见图2
图4.不同国家Relay数量分布(数据来自Nostr.Watch)

二、Relay的可用性分析

Relay是Nostr去中心化的灵魂。要构建一个真正抗审查的Relay网络,需要满足两个条件:Relay节点必须足够分散和可用,以确保信息可以自由地存储和传播;即使是小规模的Relay节点也应广泛发现和使用。

截至2024年4月23日,全球仅有639个Relay在线,比去年同期减少了三分之二,主要分布在北美和欧洲,这两大洲Relay占总数的80%。此外,由于网络条件的差异,不同地区的Relay性能也有显著的不同,例如在新加坡测试时会发现亚洲、北美和欧洲的Relay响应速度差异较大,如图5所示。此外,Relay头部效应明显,排名第一的Relay托管了73%的帖子。尽管这些贴子在多个Relay中都可以被找到,Nostr依然是最为去中心化的(fiatjaf:Nostr,2024)。但这种集中使用不利于小relay节点被广泛的发现和使用或者是用户被关注和发现,降低了小节点建设Relay的动力,尤其是在生态缺乏激励的情况下。

图.5 Relay可用性测试 (数据来自Nostr.Watch).
  • Relay数量减少及不足够稳定的背后原因是缺乏有效的经济激励(Shinobi:Nostr Scale,2023)。在Nostr生态系统中,由于客户端通常缺乏稳定的收入或资金支持,使得为Relay提供有效激励变得困难。多数Relay依靠个人兴趣或限制性的付费模型维持运营,这种模型限制了特定用户的写入甚至读取权限,与抗审查的初衷相悖,同时削弱了客户端与Relay之间的经济互动。目前,95%的Relay的收入都难以负担运营成本。有20%的中继经历了实质性的停机时间(Gareth Tyson et al., 2024)。缺乏资金支持而导致的低可用性以及可能随后导致中继关闭。
  • 中继的发现和关注机制导致使用率较高的Relay更容易被用户发现,而这些Relay往往由知名的客户端或开发者运营,从而进一步吸引更多用户使用。让更多的小relay 被广泛的发现和使用是确保Relay网络抗审查和活跃的主要因素。Nostr生态系统正在通过Gossip Model, Outbox model, 和Blastr.来改进中继的发现和关注机制。这些模型的关键或者难点在于帖子在不同中继之间不被“过度复制及重复检索”的情况下,优化中继用户之间的可发现性和覆盖范围,以确保内容的广泛传播(Hodlbod:Outbox,2024)。然而,要达成这一目标,需要Nostr的开发人员有更好的合作和共识。目前,由于缺乏足够的激励,Nostr开发者更多关注自己的客户端设计思路,而忽略了效率及兼容性实现各种已存在的用户类型,甚至对其他客户端开发造成混乱。

三、中继网络的可能经济激励模型

解决Relay网络可用性的关键在于明确谁将持续支付其运营费用。只有当中继网络能够实现盈利或至少覆盖运营成本时,才能保持长期的规模化和繁荣。运行一个Relay的主要成本源自服务器存储费用。为了保障内容的可用性,内容会被同时发布并在多个中继之间重复检索(Shinobi:Relay,2023),这会进一步增加流量消耗和运营成本,但却是去中心化和确保数据可靠性的关键。目前,Relay的主要收入来源是捐赠和付费发布,但有95%的Relay难以仅凭出版捐赠来维持其运营成本。因此,本章将主要探讨可能的解决方案,以覆盖Relay的运营成本。

  1. 客户端支付存储成本
    由客户端构建付费产品或通过财务预算来支付Relay的存储成本是符合市场需求及用户习惯,如图6 所示。这将会促进客户端多样化探索去中心化媒体的货币化,同时有助于形成Relay与客户端之间的经济共识,建立Relay的激励模型。
Figure 6.客户端与Relay之间激励

在前一篇文章中,我们讨论了YakiHonne实现去中心化媒体的2大支柱:去中心化出版和去中心化审查。前者保证内容永不丢失;后者创造了一种新的成本激励模型,确保在内容和审核变得无需权限时,平台仍能维持真实性和成本效益。现在,YakiHonne已经支持长文快讯策展视频抗审查笔记 (Uncensored Notes)等多种内容形式的去中心化出版。通过抗审查笔记对内容审核,进一步促进了YakiHonne的货币化和去中心化。在YakiHonne,每发布一条快讯至少需支付800 sats,部分收入可用于激励Relay的运营和社区笔记。长文内容形式则可以通过订阅、广告甚者客户端的财务预算来支付Relay的存储费,如图7所示。

图7.YakiHonne对Relay的激励
  1. Relay的直接收入
    在 Nostr 中,中继的发展更多是侧重于性能优化,而不是新功能的开发。中继也许可以通过提供特定功能、存储不同类型的事件来促进收入。通过特定功能赚取收入需要客户端和中继的广泛采用,否则可能会导致中心化风险或实施失败 (Hodlbod: relay Function,2023 )。Relay存储不同类型事件来获取收入或许是一个可行方案。在保持对各种内容的开放性的同时,中继可以在数据检索时使用关键词过滤器来显示特定主题,从而促进基于订阅的付费模式。此外,Relay和客户端可以就订阅费用形成分成协议,这不仅有助于增加收入,还能促进双方在经济上达成共识。

四、Relay内容的证明

数据在多个Relay上的重复存储和检索设计确保了内容的高可用性,但并不能完全保证内容的不可篡改性。理论上仍可以通过影响某些Relay节点来篡改或删除信息。为了解决这一问题,我们需要为现在的中继系统引入一种互补的证明机制,来增强内容的可靠性。

有多种方法可以实现这种证明。作为最去中心化的社交媒体底层协议,Nostr在比特币社区中得到了广泛认可。然而,技术上使用比特币网络来验证信息的讨论尚未展开。如果需要对 Nostr 网络上托管的内容进行证明,应该在比特币网络上进行。

为了在 Nostr 中继网络上证明和验证大量内容,在比特币网络上证明每一个帖子或每一篇 文章(Nip-23)在经济上是不可行的。在进行证明之前,数据应该被压缩和有效组织。默克尔树是一种高效且安全的数据验证机制。数据的准确性可以仅通过默克尔根和相关的哈希路径来验证,如图8所示。因此,对大量内容的最终认证可以是向比特币网络提交一个默克尔根。一旦提交,所有在此默克尔根下表示的内容都将变得不可更改。

图8. 默克尔树上哈希处理的内容

当需要验证存储在中继上的内容是否未被篡改时,首先从中继检索内容并重新计算其哈希值。然后,使用这个哈希值和其他相关的中间哈希值,验证过程沿着默克尔树向上进行,直到达到记录在比特币区块链上的默克尔根。最后,通过将这个计算出的默克尔根与区块链上记录的根哈希进行比较,确认内容的完整性和真实性。该过程如图9所示。

图9. Relay上内容的证明

重复这个过程将最终确保所有经过证明的内容都是真实的。结果,中继将提供内容的可用性和冗余,同时比特币网络将批量验证Nostr内容。

五、结论

Relay 网络是 YakiHonne 构建去中心化媒体的核心基础设施之一。通过对 Nostr 的去中心化特性进行数据分析,发现 Nostr 的技术架构已使其成为目前最具去中心化特点的媒体协议。然而,Relay 网络目前面临着可用性挑战,主要因为缺乏有效的经济激励。本文探讨了几种可能的Relay经济激励模型,尽管这些模型存在许多不确定性和挑战,但明确了持续激励的对抗审查网络的重要性。此外,考虑到 Relay 网络当前缺乏不可篡改性,我们提出证明机制以提高Relay系统的可靠性。通过改进 Relay 的可靠性和可用性,将有助于促进整个中继生态系统的可扩展性和繁荣,为构建去中心化媒体提供坚实的支持。