# Waku 网络

## Waku

Waku 网络是一个共享的 P2P 消息网络，具有开放访问、通用消息传递、隐私保护、可扩展等特性，即使资源受限的设备也能访问。一些最突出的特性包括：

1.  通过隐私保护的限速空值器（Rate-Limiting Nullifiers）实现 DoS/垃圾邮件防护。
2.  通过将流量分片到 8 个发布订阅主题来实现可扩展性。
3.  基于内容主题的自动分片选择。
4.  为资源受限节点提供的服务，包括历史消息存储和检索、过滤等。


## 起源

如果你一直在关注 Waku 或 Status，你可能对 Waku 的起源很熟悉。Status 移动应用被创建为 web3 超级应用，是进入以太坊生态系统的门户，它利用了三个原始支柱：以太坊用于共识，Swarm 用于存储，Whisper 用于通信。

Status 开发团队尝试使用 Whisper 构建 Status，但该协议存在根本性限制，特别是对于资源受限的设备，如手机。

Waku 作为 Whisper 的继任者诞生，从其缺陷中学习，提供一个适合移动设备和浏览器的可扩展点对点通信网络。


## 挑战 / 期望的属性

Waku 旨在克服以下挑战：

通用消息传递：Waku 旨在提供能够传输任意有效载荷的协议和网络。虽然 Waku 最初是为聊天应用 Status 创建的，但目标是足够通用，能够在 Waku 上构建任何去中心化的通信或信号应用。

短暂消息传递：Waku 旨在解决实时通信问题，提供公平的延迟，使一个或多个用户能够交换小数据有效载荷。这与 IPFS 或其他去中心化存储系统形成对比，后者以延迟和响应性为代价提供存储大量数据的方式。

抗审查：Waku 旨在提供抗审查的解决方案，外部参与者无法阻止用户访问 Waku 基础设施。同时也让应用开发者能够以"不作恶"的心态进行构建，他们没有掌控王国的钥匙，也没有能力将用户从平台上移除。

隐私意识：为应用开发者提供在用户数据和元数据收集方面以"不作恶"原则运营的能力。这意味着即使他们想要或受到压力，他们或任何第三方都无法收集用户的元数据，如社交图谱或活动模式。

匿名性：与隐私类似，这是用户不将个人身份信息（PII）与其在 Waku 网络或使用该网络的应用上的活动关联的能力。这里考虑的 PII 涉及网络（IP 地址）、区块链（如以太坊地址）和路由（消息关联）。

资源受限设备：如前所述，在设计 Waku 时，努力考虑移动设备和浏览器等环境，使开发者能够为这些平台构建 DApp，并尽可能提供上述属性。

可扩展性：Waku 旨在支持数百万用户，同时保持上述原则；这需要经过深思熟虑的设计和测试。

所有上述属性意味着在设计 Waku 时需要克服其他问题：

DOS 防护：确保网络不会被消息淹没，导致资源较少的用户被踢出网络。

网络可持续性和激励：我们如何确保网络中有足够的资源，使浏览器和移动设备等设备能够访问网络？

去中心化：Waku 需要在多个层面上去中心化以实现这些属性。我们如何保持公平的去中心化水平，以确保这些属性随时间保持？


## Waku 网络

Waku 网络如何帮助实现上述属性？

让我们回顾一下在网络中组合的不同 Waku 协议，以及它们如何使我们能够实现这一壮举。


## 对等节点发现

discv5，对 ENR 的小幅增强


## 消息路由 - Gossipsub

类似于以太坊共识层


## 消息路由 - 分片


## 消息路由 - RLN 中继


## 为大部分离线和资源受限设备提供服务

轻量推送


## Waku 网络的价值主张


## 我们达到目标了吗？
