详解Proof of Validator:以太坊扩容路上关键的安全拼图
原文作者:深潮 TechFlow
今天,在以太坊研究论坛中悄然诞生了一个新的概念:Proof of Validator。
该协议机制允许网络节点证明它们是以太坊验证者,而无需透露它们具体的身份。
这和我们有什么关系?
一般情况下,市场更容易关注以太坊上某些技术创新所带来的表层叙事,而很少提前深入研究技术本身。例如以太坊的上海升级、合并、从 PoW 转到 PoS 以及扩容,市场只记住了 LSD、LSDFi 以及再质押的叙事。
但不要忘记,性能和安全是以太坊的重中之重。前者决定了上限,后者则决定了底线。
可以明显看到,一方面以太坊一直在积极推进各种扩容方案来提升性能;但另一方面,扩容路上,除了自己修炼内功,也需要防范外来的攻击。
例如,如果验证节点被攻击,导致数据不可用,那么一切构建在以太坊质押逻辑上的叙事和扩容方案,可能都会被牵一发而动全身。只是这种影响和风险躲在背后,最终用户和投机者们难以察觉,有时甚至也不关心。
而本文要谈到的 Proof of Validator,可能就是以太坊扩容路上关键的安全拼图。
既然扩容势在必行,如何降低扩容过程中可能蕴含的风险,是一个不可回避的安全议题,它也与我们每一个圈内人休戚相关。
因此,有必要弄清楚新提出的 Proof of Validator 的全貌。但由于技术论坛中的全文过于零碎和硬核,并且牵扯到了扩容诸多方案和概念,深潮研究院整合原帖和梳理必要的相关信息,对 Proof of Validator 产生的背景、必要性和可能影响进行了解读。
数据采样(Data Availability Sampling): 扩容的突破口
别着急,在正式介绍 Proof of Validator 之前,有必要搞清楚以太坊目前扩容的逻辑,和其中可能蕴含的风险。
以太坊社区正在积极推进多项扩容计划。其中,数据可用性采样 (简称 DAS) 被视为最关键的一项技术。
其原理是将完整的区块数据分割成若干“样本(sample)”, 网络中的节点只需要获取与自己相关的少数样本,就可以对完整区块进行验证。
这极大地降低了每个节点的存储和计算量。换一个好理解的例子,这就类似我们抽样调查,通过访问不同人,可以总结出全体人群的总体状况。
具体来说, DAS 的实现方式简述如下:
-
区块生产者把区块数据分割成多个样本。
-
每个网络节点只取到其关注的少数样本,而不是完整的区块数据。
-
网络节点可以通过获取不同的样本,来随机采样验证完整区块数据是否可用。
通过这种采样,即使每个节点只处理少量数据,合起来也可以完整验证整个区块链的数据可用性。这可以使得区块大小大幅提升,实现快速扩容。
但是,这种采样方案有一个关键问题:海量样本存储在何处?这需要一整套去中心化网络来支持。
分布式哈希表(Distributed Hashed Table): 样本的家
这就给了分布式哈希表(DHT)机会大显身手。
DHT 可以看作是一个巨大的分布式数据库,使用哈希函数将数据映射到一个地址空间中,不同节点负责存取不同地址段的数据。它可以用于在海量节点中快速查找和存储样本。
具体来说, DAS 将区块数据分割成多份样本后,需要将这些样本分布到网络中的不同节点上存储。DHT 可以提供一种去中心化的方法来存储和检索这些样本,其基本思路是:
-
使用一致的哈希函数,将样本映射到一个巨大的地址空间中。
-
网络中的每个节点负责存储和提供一个地址范围内的数据样本。
-
当需要某个样本时,可以通过哈希查找对应地址,并在网络中查找负责该地址范围的节点,从中获取样本。
比如,按一定规则可将每个样本哈希为一个地址,节点 A 负责 0-1000 号的地址,节点 B 负责 1001-2000 号的地址。
那么地址为 599 的样本会存储在节点 A 中。需要这个样本时,通过同样的哈希查找地址 599,再在网络中查找负责该地址的节点 A,从它那里获取样本。
这种方式打破了中心化存储的局限,大大提升了容错性和可扩展性。这正是 DAS 样本存储所需要的网络基础设施。
与中心化的存储和检索相比, DHT 可以提高容错性,避免单点故障,也能增强网络的扩展性。此外, DHT 还能帮助抵御 DAS 中提到的“sample hiding”等攻击。
DHT 的痛点: 女巫攻击
但是, DHT 也存在一个致命弱点,那就是面临 Sybil 攻击的威胁。攻击者可以在网络中制造大量假节点,周围的真实节点就会被这些假节点“淹没”。
类比一下,一个诚实的小贩被整排整排的假冒商品围住,用户就很难找到真品。这样攻击者就可以控制 DHT 网络,导致样本不可用。
举例来说,要获取地址 1000 的样本,需要找到负责这个地址的节点。但是被攻击者创建的成千上万假节点包围后,请求会被不断导向假节点,而无法到达真正负责该地址的节点。结果是样本无法获取,存储与验证都失败。
为了解决这个问题,需要在 DHT 上建立一个高信任的网络层,仅由验证者节点参与。但是 DHT 网络本身无法识别节点是否为验证者。
这就严重阻碍了 DAS 和以太坊扩容。有什么办法可以抵御这种威胁,保证网络的可信任性呢?
Proof of Validator: 守卫扩容安全性的 ZK 方案
现在,让我们回到这篇文章的重点:Proof of Validator。
在以太坊技术论坛中,今天 George Kadianakis , Mary Maller , Andrija Novakovic , Suphanat Chunhapanya 4 人共同提出了这个方案。
它的总体构想是,如果我们能想出一种办法,让上一节 DHT 的扩容方案中,只允许诚实的验证者加入 DHT,那么想要发起女巫攻击的恶意者,也必须质押大量 ETH,在经济上显著提高作恶成本。
这个构想换一句我们更加熟悉的话来说,就是:我想在不知道你身份的前提下,知道你是个好人,并且能识别坏人。
这种有限信息的证明场景,零知识证明显然能派上用场。
于是,Proof of Validator(下称 PoV)可用于建立一个只由诚实验证节点组成的高可信 DHT 网络,有效抵御女巫攻击。
其基本思路是,让每个验证节点在区块链上注册一个公钥,然后利用零知识证明技术,证明自己知悉这个公钥对应的私钥。这就相当于拿出自己的身份证明明自己是验证节点。
此外,对于验证节点的抗 DoS(拒绝服务) 攻击,PoV 还旨在隐藏网络层上验证者的身份。也就是说,该协议不希望攻击者能够分辨出哪个 DHT 节点对应于哪个验证节点。
那么具体要怎么做?原帖用了大量的数学公式和推导,在此不做赘述,我们给出一个简化的版本:
具体实现上,使用 Merkle 树或 Lookup 表。比如利用 Merkle 树,证明注册公钥存在于公钥列表这棵 Merkle 树中,然后证明从这个公钥派生出的网络通信公钥是匹配的。整个过程利用零知识证明实现,不会泄露实际身份。
跳过这些技术细节,PoV 最终实现的效果是:
只有通过身份验证的节点才能加入 DHT 网络,其安全性大大增加,可以有效抵御 Sybil 攻击,防止样本被故意隐藏或修改。PoV 为 DAS 提供了一个可靠的基础网络,间接帮助以太坊实现快速扩容。
不过,当前 PoV 还处在理论研究阶段,能否落地还存在不确定性。
但该贴的几位研究员已经在小范围进行了实验,结果显示,PoV 在提出 ZK 证明的效率上,以及验证者接收证明的效率还不错。值得一提的是,他们实验设备只是一台笔记本,里面装的还仅仅是一颗 5 年前的 Intel i 7 处理器。
最后,当前 PoV 还处在理论研究阶段,能否落地还存在不确定性。但是无论如何,它代表了区块链通往更高扩展性的重要一步。作为以太坊扩容路线图中的关键组件,它值得整个行业持续关注。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum