本文全面概述了Waku网络,它是一个去中心化且保护隐私的点对点消息传递网络,旨在通过创新协议和技术增强点对点通信中的隐私和安全性。文章详细介绍了Waku网络的起源、面临的挑战、关键特性(如消息路由、分片、抗审查性、隐私性等)以及各组件如何协同工作以实现这些特性,同时讨论了Waku网络的潜在用例以及未来发展方向。
Waku网络全面概述
去年十二月,我们宣布了Waku网络。
Waku网络是第一个去中心化和保护隐私的网络,它为点对点消息传递提供拒绝服务(DoS)保护。它旨在通过实施创新的协议和技术来增强点对点通信中的隐私和安全性。
让我们更深入地探讨一下Waku网络的原因和内容。
如果你一直在关注Waku或Status,你可能熟悉Waku的起源。
Status移动应用程序的创建是为了成为一个web3超级应用,一个通往以太坊生态系统的门户,它利用了最初的三个支柱:以太坊用于共识,Swarm用于存储,Whisper用于通信。
Status开发团队曾尝试使用Whisper构建Status,但该协议存在根本性的局限性,尤其是对于资源受限的设备,如手机。
Waku诞生于Whisper的继承者,从其缺陷中吸取教训,以提供适合移动设备和浏览器的可扩展的点对点通信网络。
Waku旨在克服以下挑战:
以上所有属性意味着在设计Waku时需要克服其他问题:
Waku网络如何帮助实现上述属性?
让我们回顾一下Waku网络中组合的不同Waku协议,以及它们如何使我们能够实现这一壮举。
对于任何点对点系统来说,要实现可靠和去中心化,必须有一种机制来查找该系统中的新节点或节点,通常称为节点发现。
Waku使用discv5,类似于以太坊。已经对ENR进行了小的增强,以使Waku节点能够广播:
Discv5是去中心化的,可以防止潜在的女巫攻击,攻击者试图包围受害者的节点,以提供被操纵的网络视图。
这有助于实现匿名性、隐私和抗审查性。
由于正在广播的协议服务,它使手机和浏览器能够找到可以为其服务的节点。
与以太坊类似,Waku使用libp2p-gossipsub。这带来了几个好处:
我们将Waku对gossipsub的使用称为协议和网络。Waku Relay.
Gossipsub的一个缺点是,网络中的每个节点都会接收和发送网络中的每条消息,并进行一些放大。
人们可以看到这如何限制可扩展性:不能期望从家庭互联网连接传输整个网络的流量。
为了解决这个问题,我们使用分片而不是使用一个gossipsub网络。Waku网络被细分为几个不同的消息路由子网络,或分片。
目前,Waku网络被分成八个分片。
这意味着任何Waku应用程序的用户都只会中继一个分片的流量,或者大约是整个网络的八分之一。
八个是一个小的、任意的起始数字。我们的理论分析表明,一个分片可以支持大约1万个活跃用户,同时保持大约4Mbps的平均带宽要求,这意味着整个网络需要8万个用户。我们正在进行进一步的模拟以确认我们的假设。我们还在网络上引导开发人员和用户以测试该理论。
目标是随着时间的推移增加网络中的分片数量。
得益于对discv5的增强,节点可以在连接到其他对等节点之前知道它们正在服务哪些分片。
分片的一个问题是用户和应用程序必须知道要使用哪个分片。
一个应用程序可以任意决定它想使用哪个分片,但这可能需要大量的工作,尤其是在添加新分片时。这也是开发人员需要做出的另一个决定;我们希望使开发人员的体验尽可能简单。它还允许开发人员构建跨多个分片传播的应用程序,而无需将分片选择委托给用户。
自动分片是一种简单的协议,它根据应用程序在分片上分发消息。
Waku是通用且保护隐私的,这意味着可以传输任何类型的payload。因此,对“垃圾邮件”没有严格的定义。无论消息包含meme还是用于私有DeFi的zk note,Waku甚至都不应该知道其内容; 元数据和数据应保持私有。
因此,存在有人将千兆字节的数据推送到网络的风险。这可能在不同层面上成为一个问题:
因此,我们没有定义“垃圾邮件”消息是什么样子,而是在网络上引入了速率限制,以实现Waku的公平使用,每个分片的带宽使用都有上限。
这是通过RLN(即速率限制Nullifier)完成的,它限制了给定发布者发送消息的速率。
目前设置为1 msg/s。再加上最大消息大小(150kB)和最大发布者数量(80k,待定),我们可以假定每个分片的最大带宽使用量约为10Mbps。有关最大带宽的更多信息,请点击此处。
以抗审查和私密的方式对发布者进行速率限制是困难的; 这就是我们使用零知识技术的原因:
最后,Waku如何对资源受限的设备(如手机和Web浏览器)有用?
Waku定义了许多请求-响应协议,以使此类设备能够访问Waku网络,而无需始终在线或消耗大量带宽,即无需参与Waku Relay网络。
轻推送协议发送一条消息,该消息将被转发到Waku Relay网络,并获得来自远程节点的接收确认。
过滤器协议使轻客户端能够订阅远程对等方,并且仅请求消息的子集,而不是在分片上传输的所有消息。
最后,存储协议使轻客户端和中继节点能够检索可能错过的历史消息。
虽然我们已经定义了期望的属性和技术,但重要的是要了解Waku网络的潜在用例。此问题目前描述了几个USP(独特的价值主张),我们将进一步记录该主题。除构建任何机器到机器或人到人通信应用程序之外,一些值得注意的用例是:
我们已经描述了Waku的期望属性以及Waku网络如何实现这些属性。这是否意味着Waku具有抗审查性、私密性、可持续性和可扩展性?不完全是。
引导是所有点对点网络的一个组成部分,我们没有解决:新节点如何在网络中找到其他节点?我们使用以太坊技术进行引导(ENR + DNS Discovery)。但是,此技术可能更加去中心化。我们打算在2024年底或2025年左右改进此潜力。
通常,网络需要去中心化才能实现所需的属性。虽然某些技术可以实现这种去中心化(并且我们正在努力改进未去中心化的部分),但这个问题具有社会组成部分。如果Waku团队是唯一运行节点的团队,那么本质上,该网络不能被认为是去中心化的,因此也不能被认为是抗审查的等。为了解决这个问题,我们需要推动Waku网络的采用,这样我们就可以构建一个良好的节点运营商和开发人员基础,他们在无需依赖Waku团队的情况下运行节点。
我们去年加大了这方面的努力,今年将继续这样做。
另一方面,为节点运营商提供经济激励来运行节点,以便网络能够实现自我维持。我们没有这样的协议;我们正在构建第一个PoC。
Waku网络在这里发挥着重要作用。一旦有了这样的协议,就需要一个通用的(市场)场所供开发人员/用户和运营商相互寻找;Waku网络将是这样一个场所。
Waku旨在实现具有特定属性的主权通信。Waku网络是实现这一目标并创建一个通用的、可去中心化的网络(开发人员可以在该网络上构建)以及我们可以添加更多协议的关键里程碑。
虽然我们不能说Waku今天已经实现了它的所有目标,但它已经在多个层面上具有无需许可和可去中心化的特性。
我们现在不仅致力于在协议中添加缺失的部分,而且还在推动Waku的采用,使其在事实上实现去中心化,从而为每个人实现隐私和抗审查。
如果你对Waku的开发路线图有疑问,或者想加入一个志同道合的社区,专注于将点对点通信带给数百万用户,请加入Waku Discord或在X上关注我们。
- 原文链接: blog.waku.org/2024-03-26...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!