# Whisper

> Whisper 是以太坊上的一种点对点消息传递协议，通过双层加密确保去中心化应用程序的安全、私密通信...

- Canonical URL: https://iq.wiki/zh/wiki/whisper
- Categories: Projects & Protocols
- Tags: Layer 1, Infrastructure
- Created: 2024-09-15T04:14:27.549Z
- Last updated: 2026-03-28T20:20:50.814Z
- Source: IQ.wiki — the world's largest blockchain and crypto encyclopedia (https://iq.wiki)

---

**Whisper** 是 [以太坊](https://iq.wiki/wiki/ethereum) 网络上的一种安全点对点消息传递协议。Whisper 旨在为 [以太坊](https://iq.wiki/wiki/ethereum) 网络上的 [去中心化应用程序 (dApps)](https://iq.wiki/wiki/decentralized-application) 和用户提供安全且私密的通信通道。[\[1\]](#cite-id-z0s42qfvd3)[\[4\]](#cite-id-tjnz6awodqo)

## 概述

Whisper 是一种用于在支持区块链技术的 [分布式账本](https://iq.wiki/wiki/distributed-ledger-technology-dlt) 系统上构建 [去中心化应用 (Dapps)](https://iq.wiki/wiki/decentralized-application) 的协议，它允许 [DApps](https://iq.wiki/wiki/decentralized-application) 之间进行消息传递。它提供了一个简单的 API，我们可以使用它通过 [以太坊](https://iq.wiki/wiki/ethereum) 区块链发送加密消息，并使用哈希密钥接收和解密消息。

Whisper 被构建为一个协议，这意味着它为在其上构建的更高级别实现、[DApps](https://iq.wiki/wiki/decentralized-application) 奠定了基础，这些应用具有不同的变体，使用协议的不同功能和不同的设置。Whisper 协议实现建立在 RLPx 传输协议之上，该协议在内部被 [以太坊](https://iq.wiki/wiki/ethereum) 用于节点之间的通信。[\[4\]](#cite-id-tjnz6awodqo)​

Whisper 支持 [Geth](https://iq.wiki/wiki/geth) 和 Parity 客户端。它可以用于 DApps 的发布-订阅协调信号，以及构建安全、不可追踪的去中心化通信。[\[2\]](#cite-id-7ln4y7i5hjy)​[\[5\]](#cite-id-k32i44rc3hh)​

Whisper 向观察者隐藏了消息内容以及发送者和接收者的身份。Whisper 上的消息具有生存时间 (TTL) 计时器，这意味着它们会在一段时间后过期。该系统依赖于双层数据加密。[\[7\]](#cite-id-my7Hr4pifKLfvpja)​



[以太坊](https://iq.wiki/wiki/ethereum) Whisper 通信协议的整个概念围绕三个目标展开：[\[3\]](#cite-id-omju06rgymj)​

* 为用户提供一个灵活的系统
* 在 [以太坊](https://iq.wiki/wiki/ethereum) 上启动一个安全的通信通道
* 最重要的是，保证用户的在线匿名性。

最初，Whisper 是作为以太坊实现去中心化应用程序 (DApps) 之间私密和安全消息传递这一更广泛目标的一部分而开发的。然而，随着时间的推移，其采用速度有所放缓，并且大多处于概念验证阶段，而非实现广泛应用。尽管许多开发人员现在更倾向于替代通信协议，但 Whisper 的完整功能仍然可用。

## Whisper 作为以太坊 Web 3.0 的三大支柱之一

最近，[Gavin Wood](https://iq.wiki/wiki/gavin-wood) 发表了《Dapps: Web 3.0 的样子》。在这里，我们被介绍到互联网是一个“零信任交互系统”，这由去中心化且加密的信息发布系统、匿名低级消息传递系统和共识引擎共同实现。[\[6\]](#cite-id-j5ran3pq6lh)​

在 [以太坊](https://iq.wiki/wiki/ethereum) 生态系统中，[Web 3.0](https://iq.wiki/wiki/web3) 以三大支柱的形式实现，其中之一就是 [以太坊](https://iq.wiki/wiki/ethereum) Whisper 协议，它旨在通过充当安全且去中心化的消息传递协议，促进 DApps 以及延伸出的 Web 3.0 的出现。

1. 第一大支柱是 [智能合约](https://iq.wiki/wiki/smart-contract) 技术，它在 [以太坊](https://iq.wiki/wiki/ethereum) 区块链上运行，作为一个可信的不可变后端。通过智能合约，[去中心化应用程序](https://iq.wiki/wiki/decentralized-application) 的代码在可信的点对点 (P2P) 协议之上执行，而不是在 Web 服务器上。
2. 第二大支柱是去中心化存储，以 Swarm 的形式存在。这允许 DApps 的链外部分（如 Web 界面和较大数据块）以去中心化的方式存储，从而消除了对中心化文件存储或数据库的需求。
3. Web 3.0 愿景的第三个要素涉及专注于隐私的安全消息传递。在许多情况下，DApps 需要在区块链交易上下文之外通过消息总线进行通信。消息总线允许应用程序或用户以点对点或广播方式交换消息。传统上，这是通过中心化消息服务器实现的。DApps 保持链外通信的原因包括：
4. 隐私
5. 消息有效性的临时限制（生存时间属性）
6. 链上交易的成本

在 [以太坊](https://iq.wiki/wiki/ethereum) 中，Whisper 协议旨在承担安全链外消息总线的角色。[\[4\]](#cite-id-tjnz6awodqo)​

## 技术

Whisper 协议结合使用公钥密码学和分布式哈希表 (DHT) 来确保消息既安全又私密。网络上的每个用户都被分配了一个唯一的公钥，用于加密发送给他们的消息。DHT 用于安全地分发和存储这些加密消息，从而在不需要中心化服务器的情况下实现点对点通信。

Whisper 的关键功能之一是它对“主题”或“频道”的支持，这允许用户订阅特定类型的消息或对话。这使得 [dApps](https://iq.wiki/wiki/decentralized-application) 和用户能够轻松地在 [以太坊](https://iq.wiki/wiki/ethereum) 网络上创建和参与特定的社区或团体。

Whisper 还被设计为轻量级且高效，使其非常适合在移动设备和其他资源受限的平台上使用。对于需要在移动中为用户提供安全、私密消息传递功能的 dApps 和其他项目来说，这是一个极具吸引力的解决方案。[\[1\]](#cite-id-z0s42qfvd3)​

该系统依赖于双层数据加密：[\[3\]](#cite-id-omju06rgymj)​

* **对称加密** 允许使用单个加密和解密密钥传输一对多通信。消息的接收者可以解密发送给他们的消息。
* **非对称加密** 使用公钥进行加密，使用私钥进行解密。在与另一个人通信时，系统使用这种类型的加密。

Whisper 使用 devp2p 的 ssh 协议字符串。发送加密消息时，消息内容默认可以进行非对称或对称加密。

非对称加密（也称为公钥加密）使用公钥和私钥来加密和解密数据。一个密钥是公开的，与所有人共享。另一个是私钥；只有所有者可以查看或访问私钥信息。在加密 Whisper 消息时，它使用标准的 [椭圆曲线](https://iq.wiki/wiki/elliptic-curve-cryptography-ecc) 集成加密方案和 SECP-256k1 公钥来加密消息；另一个密钥用于解密。另一方面，对称加密（也称为密钥加密）使用哈希密钥和 AES GCM 算法以及随机 96 位随机数进行加密和解密。它通常促进一对多消息。发送者和接收者使用相同的对称密钥来加密和解密消息。[\[2\]](#cite-id-7ln4y7i5hjy)​
