Freenet: 构建不可阻挡应用的去中心化平台

去中心化互联网的愿景长期以来一直是赛博朋克运动的基石,但从简单的文件共享向功能完备的无服务器应用程序转型是一项巨大的技术挑战。Freenet 正试图通过提供一个点对点 (P2P) 平台来实现这一愿景,在该平台中,应用程序可以脱离对中心化云提供商、大型科技基础设施或限制性服务条款的依赖而存在。

无服务器网络的架构

Freenet 的核心是将个人计算机转变为全球小世界网络中的节点。与传统的 Web 客户端-服务器模型(浏览器向特定服务器请求数据)不同,Freenet 将节点组织在一个虚拟环上。

消息和数据通过该环上的系列“跳跃”找到其目的地,能够高效地扩展到数百万个节点。这种架构确保了应用具有天生的不可阻挡性;因为没有可以关闭的中央服务器,只要节点网络继续支持它,应用程序就会保持可用。

开发者指南:现代技术栈

Freenet 旨在降低去中心化开发的准入门槛。它不需要专有的语言或复杂的全新框架,而是支持像 RustTypeScript 这样熟悉的工具。

开发者可以将应用部署到全球网络中,而无需维护服务器或支付云账单。这种转变将基础设施的负担从开发者转移到了集体网络中,从而允许开发者专注于应用逻辑而非 DevOps。

解决一致性问题

去中心化状态管理中最困难的方面之一是确保所有用户都能看到相同的数据,而无需一个充当“事实来源”的中央权威机构。Freenet 通过一种独特的一致性方法来解决这个问题:

每个合约必须为其关联的状态定义一个 "merge" 操作。该操作必须是可交换的,这意味着多个状态可以按任何顺序合并,并仍然产生相同的结果。

正如社区成员所指出的,这种方法与冲突无关复制数据类型 (CRDTs) 有相似之处。虽然传统的 CRDTs 提供了一组预定义的数据类型,但 Freenet 对可交换合并函数的的要求允许开发者根据其特定的应用需求定义自定义的一致性逻辑。

演变与争议

Freenet 并非一个新项目,但它目前正在经历一场重大的转型。该项目的历史反映了传统目标与现代实用性之间的紧张关系。

从匿名性向实用性的转变

最初构想为匿名和加密文件共享工具——类似于 90 年代的 P2P 网络——最初的 Freenet 非常注重互联网的“暗网”方面。然而,当前的迭代版本代表了重写和设计目标的转变。

一些社区成员指出了一场关键的分歧:原开发团队的工作在很大程度上被董事会领导的重写工作所取代。这导致了 Hyphanet 的创建,这是一个分支,继续维护项目最初以匿名为中心的目标。对于那些寻求原始 P2P 文件共享体验的人来说,Hyphanet 仍然是首选目的地。

激励机制问题

与任何去中心化网络一样,可持续性问题仍然存在。社区讨论强调了一个反复出现的挑战:用户运行节点的长期激励。虽然目前的模式依赖于资助和捐赠,但一些人建议引入经济原语——类似于 Filecoin——即向节点支付报酬,以使其保持应用状态的可用并可靠地提供服务。

结论

Freenet 代表了超越“云”并回归以用户为中心的互联网的一次大胆尝试。通过将小世界网络拓扑结构与可交换的状态合并模型相结合,它提供了一个能够抵御审查和企业控制的应用框架。它能否成功地在它的意识形态根源与现代开发者的需求之间架起桥梁,仍有待观察,但它的存在为中心化 Web 提供了一个关键的替代方案。

Sources