解释耳语协议和 Status.im
浩宇洗化公司
发表于 2022-12-3 12:31:04
109
0
0
自 20 世纪 90 年代诞生以来,互联网年正年复一年地革新我们的通信方式、商业模式,以及新闻阅读和电视观影方式。它实现了信息获取的民主化,极大地降低了全球通信成本,而且提升了普通公民对通信、新闻和隐私访问的期望。
第二波互联网浪潮(被称为 Web 2.0 )下出现了 Wikileaks、Facebook、Twitter 以及 Youtube、Linkedin 和 WordPress 之类的个人发布平台等网站。它们改变了信息的发布方式,让信息难以藏匿。无论发生了什么新闻,迟早会被披露出来。
这给各国政府和官员带来了大麻烦。 无论好坏,维基解密在 2010 年披露了美国外交电报泄漏事件,在突尼斯和利比亚等国家激起了民变,星星之火遂成燎原之势,改变了整个中东的面貌。政府电报泄漏一事还在西方国家激起了一系列抗议活动。7 B' Z- ?) t4 ^8 s
在其所著的《当谷歌遇上维基解密》一书中,Julian Assange 阐述了政界、科技巨头和情报界三方之间的邪恶勾当。对于 Eric Schmidt 和 Jared Cohen 的新作《新数字时代》,他给予了恰当的评价:; I2 Q( ]& G9 y+ P: m* w
2 O/ p5 o3 V- s/ K
“Schmidt 和 Cohen 两位先生告诉我们,一旦消灭了隐私,对实行 “高压政策”的专制政府来说,就是在做它们掌握公民动向的帮凶;对实行“开放政策“的民主制政府来说,就是它们为公民和消费者排忧解难的‘益友’。”$ N8 u; |' M* v3 k/ O) [
维基解密对金融机构的揭发向我们展示了我们在审查制度面前有多么脆弱——即使是在互联网时代。
3 Y; g7 Y; o; H
后来,斯诺登揭露了美国的“棱镜”计划,又再一次刷新了公众对于日常隐私受侵犯程度的认知。) u! F' Y( w, W/ e' i9 t+ Y% k/ o
以太坊就是在这种背景下诞生的。斯诺登泄密事件发生后的几个月,以太坊的联合创造者 Gavin Wood 写了一篇文章来阐述他对 Web 3.0 的看法(编者注:中译本见文末超链接)。 Web 3.0 指的是使用已有的互联网架构和的可用的加密方式,连同区块链一起构建更好的互联网。其中包括内容发布、信息发送和价值交易 —— 在保障隐私性的情况下通过去中心化的抗审查方式实现。
###耳语协议
在这篇文章中,Wood 描述了一个 基于身份的匿名信息发送基本系统 ,这个系统会赋予用户——不管是人还是 dApp——基于哈希的身份、隐私保证、加密消息服务、关于发送者的密码学认证,以及规定了存活时间的信息。这个系统具有模块化隐私性和匿名性,以及“隐身”保证——允许用户对不同的隐私性特征进行选择(我找不到更好的形容词了)。它使用的是以太坊网络的基础架构。; [! g% m4 p( g4 c- z# G1 B
通过使用不同的协议特征和不同的设置,耳语协议为更高级的实现,即在上面开发的、具有不同变种的 dApp,奠定了基础。耳语协议目前处在 POC 2 阶段,能够应用于当前的 geth 和 Parity 版本。耳语协议在主网上的应用受限于能够运行耳语协议的以太坊在产节点数量。 这一协议仍处于测试阶段。未来会有很多规范发生改变。$ \3 u/ U8 S Z [, q% @% v9 F
以太坊和耳语协议客户端节点使用的是 DΞVp2p 线路协议 进行点对点通信。尤其还用到了 RPLx 协议 ,即
一个加密的点对点网络和协议组,为应用程序提供通用的传输通道和接口,以便其通过点对点网络进行通信。
节点搜寻算法是去中心化的抗审查网络中最主要的部分。以太坊使用的是调整过后的 Kademlia UDP,类似于 Bittorrent 网络的对等点搜寻。' O- H. q8 Q2 T) J
由于规范在不断变化中,目前了解耳语协议定义的最佳方式是阅读以太坊的维基百科——点击此处了解当前的耳语协议 POC 2 规范。
2 \! W( y6 ?6 f, W
耳语协议融合了 DHT 和数据报消息传送系统(例如 UDP)的特性。4 t4 ?2 l8 m9 B
0 m6 z; P, g. n4 Y: t
如果要设计一个旨在实现 全方位隐身 的系统(即确保绝对的隐私性和匿名性),需要在性能方面做出权衡。我们认为,这是耳语协议选择 UDP 的原因,虽然 UDP 的水平较低,但是比 TCP 更快,且控制力更强。3 i ^' s2 o1 p: t3 H
规范中有一句话或能解释许多设计决策的由来:
3 b" X( d" B7 S! L# Z8 y/ {" Z; O
“下一代 dApp 需要具备大规模的多对多数据搜寻、信号协商、极稳定的传输以及对完全保密性的确信预期。耳语协议旨在成为下一代 dApp 的构件之一。”5 O+ n0 [! K* H) J. }
正如规范中所说,消息加密和绝对隐身之间存在重大区别,这正是以太坊的设计人员试图解决的问题。如今,我们知道资金充足的参与者甚至能够破坏 Tor 这样的网络的隐私保障。从很多方面来讲,仅仅知道某人的通信目的地可以在不破解加密内容的情况下,破坏原本所需的隐私保障(例如,在某一政党内部人向维基解密爆料时)。如果对通信的元数据进行足量分析,我们可以得出很多数据,有时还会导致内容加密失效。
这一点在最近发布的欧盟通用数据保护条例(GDPR)中略有反映。1 U2 d8 x, k- Z
这就是为什么我们需要深入研究——对非常基础的层级开始编写一套新系统。
耳语协议的 POC2 放出豪言,表示会实现"100% 隐身操作"。 F+ {/ ^1 E* ^8 D% m, I4 q
规范中还提到:
; _$ X7 z6 i8 W ~9 `
“耳语协议不仅可以用来通过对等点间通道(即主干网收集装置)进行元数据收集 ,甚至还能抵抗更加严峻的‘100% - 2’攻击;就是这样一种情形:整个网络中的所有节点都被攻陷,就除了一对正在运行隐私通信 dApp 的节点。”* j5 X# d, e; n, y" ^
###协议要素& ?$ d8 Z- Z2 k$ ?4 o+ {) K4 A
主要要素是 封套、消息 和 主题 。1 N- V9 D' A6 @7 g- n2 F8 U7 p' ]
封套(Envelop)是包含 存活时间(以秒计)、有效期(以 Unix 操作系统的时间计)、主题(“例如,相当于推特的哈希标签,或预期接受者的公钥与某个阶段 nonce 或应用身份通过哈希运算得出的值“) 和 nonce(为未来实现中的消息发送者提供工作量证明的要求)的数据包。其中还包括 消息数据字段 。! q) [ A0 J% T4 @& `: @* K) }
封套中的消息数据字段内包含了真实消息——有效负荷——以及标记和签名。有效负荷由发送者进行加密,需由接收者通过另一种方式进行解密。
整个协议为节点给对等点排序、以及通过获取 nonce 时 花费的工作量 给消息排序打下了基础。而更大的工作量证明会让消息在网络中具有更大的优先级。$ M/ ~" Y% p0 d4 |
节点可以向彼此告知自己感兴趣的主题。发送者和接收者可以选择在隐私保护和性能之间选择启用或不启用一些功能,因为有时候确实需要抉择。. Z1 R) ?: B& a* h3 ]
( ?) ^' J2 p L0 P& ]
因为技术规范尚未定型,实现也正在开发,所以很难准确底说哪些部分已经完成了,哪些正在开发,哪些仍在提议阶段。
成为第一个吐槽的人