Proof of Validator:以太坊扩容路上关键的安全拼图

深潮 TechFlow热度: 14943

当前PoV还处在理论研究阶段,能否落地还存在不确定性。

原文作者:深潮 TechFlow

原文来源:深潮 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 MallerAndrija 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 i7处理器。

以太坊

 

最后,当前PoV还处在理论研究阶段,能否落地还存在不确定性。但是无论如何,它代表了区块链通往更高扩展性的重要一步。作为以太坊扩容路线图中的关键组件,它值得整个行业持续关注。

PoV原帖地址:链接

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:以太坊