经过损坏Infrua,基本上能够损坏一切Rollup。
文|Qingzhou
以太坊现已确认了以Rollup为中心的2.0路线图,这让Rollup成为了炙手可热的技能,也能够说现已成为了layer2扩容的干流技能。假如与零知识证明证明搭配起来,Rollup会是layer2技能里解决计划的集大成者。 但正所谓“没有绝对安全的系统”,Rollup相同存在一定安全隐患,以太坊研究者论坛的开发者现已在评论此事。1月20日,以太坊开发者「jchancehud」发布了关于虚拟Rollup进犯的评论。 以下为关于虚拟Rollup进犯的评论。经白计划团队整理,有所修正和批注。 Rollup的安全危险原因 模拟Rollup进犯的基本原理是:只要虚拟状况有用,任何以太坊节点都能够向Optimistic Rollup协调员说谎。而协调员只要在测验发送买卖或切换以太坊供货商时(意味着同步全节点状况)才会发现这一点。 Optimistic Rollup是经过在以太坊网络上运用calldata存储块信息来进行。这各进程答应任何人操作以太坊节点并下载Rollup状况。但实际上,有些人不会操作他们自己的以太坊节点,而是依靠托管解决计划(例如Infura)。 需求验证有用性 假如要快速低成本地构建有用的Rollup链,需求做的是进行买卖、构建状况并将其存储在以太坊网络以外的其他方位。当Rollup协调员从以太坊节点接纳状况历史记录时,协调员能够经过重播状况买卖来确认数据是否有用。然而,协调员不能确认链上是否存在该状况,最好的办法是问询以太坊节点。 假如呈现人为进犯 假如幻想一个名为Untrust的以太坊节点服务。Untrust为以太坊dapp供给了低成本的根底架构。假如他们选择不信赖,则能够查看特定的Rollup并创立虚拟的历史记录。他们乃至能够经过从某些真实买卖中提取通信数据并将其与虚拟买卖混合来创立半虚拟历史。
这样,他们将创立一个彻底不同的当时状况哈希,但只要在运用Untrust的Rollup运算符去(向链上)提交一个块的状况下,这才会被发现(这将是诈骗性的)。 这种类型的进犯并不是特别强大。进犯者无法假造签名,不能直接窃取资金,但能够在Rollup中说谎自己的活动。 幻想一下,Untrust变得愈加复杂。他们决议进犯名为MoneyMover的Rollup。
当收到对MoneyMover地址的恳求时,它们会从运转彻底独立的以太坊网络的节点回来信息。在这个独立的以太坊网络中,Untrust镜像了大多数买卖(使账户余额看起来相似),并在需求时注入自己的(假)买卖。 现在说Untrust找到一个运用MoneyMoverRollup付款的网站。该网站运转自己的MoneyMover协调员,该协调员衔接Untrust以拜访以太坊网络。
Untrust或许会在其镜像网络中创立虚拟的买卖,MoneyMover协调员将其解释为有用(只要状况买卖有用)。由于MoneyMover协调员未与任何对等方衔接,因而确认链上存在的唯一办法是问询以太坊节点(在本例中为Untrust)。 Untrust在其镜像网络进步行了一次虚拟的买卖,该网站运营的MoneyMover协调员将其检测为有用付款。Untrust现在无需付费即可拜访该网站。网站只会在他们提交买卖或切换到其他以太坊供货商(即要与其他节点同步数据)时才发现这种虚拟的付款。 实际或许呈现的危险 以上的进犯是仅当协调员未运转其自己的以太坊节点时,此进犯才有含义。有一些状况是有问题的: 1.协调员数据的下游运用者无法知道他们接纳的数据是否(在链上)存在,他们不能信赖协调员正在运用的eth节点,由于运用者没有自己运转该节点。 2.诈骗证明者(去证明歹意买卖的一方)特别简单受到这种进犯,由于它们仅在检测到诈骗行为时才会提交买卖。歹意的eth节点或许会从区块链数据中剥离无效买卖,并仅回来不同的状况哈希。诈骗证明者将无法得知状况哈希是虚拟的,并且永远不会提交诈骗声明。 3.eth节点操作员向Rollup协调员说谎,以诱使他们要么提交无效的状况买卖,要么提交无效的诈骗声明。一旦产生这种状况,歹意的eth节点运营商就能够充当有用的买卖对手并收集典当的资金。 解决计划1 在工作量证明链的背景下,协调员能够恳求块数据并查看其是否足够困难。查看当时难度的至少一半应该能够使大多数进犯由于财政问题无法完成。 在权益证明链中,这个进程变得不可行,由于歹意的eth节点或许会从未投票的地址供给签名。他们能够经过在查询时质押典当金额来做到这一点。 解决计划2 一个不太优雅的解决计划是:对信誉杰出的节点不断签名,并发布已存在于链上的Rollup状况哈希的列表。该列表能够在IPFS之类的服务上发布。协调员节点能够包括一个已知的信誉杰出的公共密钥的预设列表(Rollup创立者,EF等)。 假如呈现以下状况,协调员会知道Rollup数据是真实的: 1.一切状况买卖均有用。 2.一切状况散列均由信誉杰出的来源(节点)进行签名。 这将确保Rollup数据有用且非虚拟,并且将答应Rollup节点运用任何以太坊节点来同步数据。 以上是「jchancehud」评论的Rollup安全进犯的或许性。
首要是由于Rollup是链下状况,简单在许多状况里呈现信息同步不及时的状况,据「jchancehud」表示的,需求验证链下状况是否有用的一方需求同步其他以太坊全节点的数据才能够确认最终安全性,这意味着许多平台需求运转一个以太坊节点。 关于上文举出的虚拟进犯方法,以太坊的layer2解决计划团队SKALE Labs首席技能官「Konstantin Kladko」表示,“这真的很有趣!我以为这表明,经过损坏Infrua,能够基本上损坏一切Rollup。” 当然,这是代表着那些经过Infura来与以太坊通讯的产品,Infura承担着很大的以太坊节点服务规模,此前也有关于Infura是否会是以太坊网络最大单点缝隙的评论。而关于这个单点安全危险,首要是以多节点负载均衡的方法处理,极力规避。 而关于「jchancehud」的评论,最有趣的是开发者「adlerjohn」提出,这种虚拟的“进犯”似乎不只适用于optimistic Rollup,并且还适用于zkRollup,实际上也适用于任何智能合约。 这一推论很或许是基于“只要存在信息不对称危险”的协作进程,就会面临「jchancehud」所说的进犯危险。 所以「adlerjohn」提出,在比特币的白皮书第8节,有如何验证信息对错的方法,即验证者确认最长链,信赖最长链,这个方法描述了一种众所周知的计划,这个该计划可用于防止Sybil节点供给虚假信息,这样能够不要求大多数计算是诚笃的。
比特币白皮书的第8节 此外,「adlerjohn」提出,Rollup的状况根能够作为事情宣布,乃至能够存储在以太坊状况中,也能够进行假造买卖的查询(例如比特币白皮书中第7节表示可经过验证区块头进行确认)。
比特币白皮书的第8节
另外,「adlerjohn」还提到了关于optimistic Rollup 计划中,还能够包括名为“最小可行兼并一致”的规划,该规划能够经过发布有序数据来完成数据可用性,能够让多个侧链、分片运用。
白计划注:最小可行兼并一致的解读在如下链接https://ethresear.ch/t/minimal-viable-merged-consensus/5617
但能够预见的是,运用「adlerjohn」提出的方法,是存在较大的规划难度的。 在评论的最终,「jchancehud」回复「adlerjohn」表示,不能确认这种进犯预测是否适用于ZKRollup。但由于ZK证明更难生成,至少会愈加困难。假如Rollup被广泛选用,那么这样考虑Rollup特别重要。 Rollup协调员能够在运用节点之前验证节点中的一切区块头,这是另一种潜在的解决计划,虽然时刻和带宽贵重。但用户最好运转自己知道能够信赖的eth 轻节点。假如现已解决验证问题,运转轻节点还能够查询事情。
评论在最终,咱们会发现为了完成安全性、可扩展性、功率,这些计划按工程化的思路是能够测验的,但实施进程一定是困难的,由于不同开发者的评论思路最终还要组成代码,以及包括网络结构、客户端、语言、操作界面等多个挑战。
时刻戳向前,区块不停,咱们继续等待吧。
视野开拓
对于那些简单的、熟练的行为,人们在旁观的时候通常能做的更好;但对于复杂的、还未掌握好的技能,人们在旁观时则会表现较差。 社会性懈怠效应的出现是因为处于群体中时人们不会像独自行动时那样直接感觉到自己的努力和最终结果之间的关系。与这个差异相关的是,对最终结果所担负的责任会在群体成员之间分散,而独立行动时个体要对结果负全部责任。-《决策与判断》