区块链在 VOBP 里的角色:会话信任锚点,不是消息存储
一句话理解
VOBP 里的区块链是"会话验证器",不是"消息存储链"。 它不存消息内容、不传消息、不参与通讯传输——它的唯一作用是:把"谁和谁在什么时候建立了会话"这件事不可篡改地记下来,防中间人攻击。
为什么要加区块链
问题:公钥替换风险
任何端到端加密通讯都面临一个安全问题——中间人攻击:
你 → 发送消息给"Alice"(以为是 Alice 的公钥)
↑
实际上是 Charlie 的公钥(Charlie 替换了 Alice 的公钥)
↓
Charlie 解密你的消息 → 用 Alice 的公钥重新加密 → 发给 Alice
传统加密通讯的防御方式:
| 方案 | 做法 | 缺点 |
|---|---|---|
| 公钥指纹手动比对 | 双方见面交换二维码,手动比对指纹 | 用户体验差,很少有人真去做 |
| 可信的公钥服务器 | 由中心化服务器管理"谁的公钥是什么" | 回到了中心化信任假设 |
| 证书颁发机构 | CA 签发数字证书 | 需要信任第三方 CA |
Wispr VOBP 的方案:区块链做公钥锚定。
VOBP 区块链机制详解
会话建立时
当你和对方首次建立会话(完成密钥交换、点击"接受")时:
- VOBP 协议把以下会话元数据记录到区块链上:
- 双方设备的公钥指纹
- 会话建立时间戳
- 会话类型标识
- 这些元数据被打包成一笔交易,广播到 VOBP 区块链网络
- 区块链节点验证交易后写入下一个区块,永久不可篡改
后续通讯时
在后续的每次通讯中,VOBP 可以:
- 查询区块链上的会话记录
- 验证对方当前使用的公钥是否与区块链上锚定的一致
- 如果不一致 → 可能有人在中间替换了公钥 → 触发安全警告
什么不上链
以下内容永远不会出现在 VOBP 区块链上:
- ❌ 消息明文
- ❌ 消息密文
- ❌ 通话内容
- ❌ 文件内容
- ❌ Matrix ID 的原始值
- ❌ 任何可关联到真实身份的信息
区块链只存验证会话完整性所需的最小信息。
和其他方案的对比
| 方案 | 防中间人攻击方式 | 去中心化程度 | 用户体验 |
|---|---|---|---|
| Signal 公钥指纹 | 手动比对 | 去中心化(用户自己验证) | 差,很少有人用 |
| WhatsApp 安全码 | 手动比对 | 中心化(服务器协助) | 同上 |
| VOBP 区块链 | 自动验证 | 去中心化(区块链共识) | 好,自动完成 |
| Threema | 公钥服务器 + 用户验证 | 半去中心化 | 中等 |
安全信任链
VOBP 区块链方案的安全性建立在以下假设之上:
- 区块链网络足够去中心化——没有单个节点能控制超过 50% 的算力/权益
- 区块链代码正确实现了共识机制——没有已知的共识漏洞
- VOBP 正确地集成了区块链验证逻辑——没有实现层面的 bug
这些假设目前还没有经过公开独立审计的充分验证——这也是 Wispr 相比 Signal/Threema 在公开安全透明性上的短板。