Vitalik: 为什么「共享安全性」在跨链和跨rollup中如此重要?

原文作者:VitalikButerin

译者注:随着其他L1公链和L2的交易活动日渐增长,跨链和跨rollup的需求也大大增加。而这便使得桥接产生一种”反网络效应“:当交易活动不多时网络就会非常安全;当交易多起来了,风险就越大(因为攻击动机大大超过攻击成本)。那么跨链和跨rollup的安全性有什么区别?在本文中,Vitalik提出了“?共享安全性”(sharedsecurity)这一概念,并且基于此对各种跨链和跨rollup活动分安全等级。

当评估一条以某种方式“连接”到大型链的小型链时,大家最需要关心的一个问题是:

如果攻击者能够对小型链发起51%攻击,这可以造成多大的损失?

这是一个非常现实和重要的问题,因为小型链往往比大型链小得多(就市值而言)。并且对于攻击者来说,买下小型链51%的代币(或至少51%的质押代币)往往是相当可行的,尤其是当有大笔的桥接资产存在那条链上时(攻击者能够盗窃这些资产)。

如果小型链是一条“独立的L1”,攻击者可以盗走一切资产。他们可以制作一个非法编辑状态的区块,将所有代币发送给他们,然后他们就可以通过桥接提走这些代币,而且在大型链上不会产生任何验证。

如果小型链是一条“侧链”,攻击者同样可以盗走一切资产,原因同上。然而,侧链的安全性比完全独立的L1要稍微好点。因为侧链的区块头会发布在以太坊上,如此一来,如果以太坊回滚,侧链也会回滚。这样可以防止涉及以太坊51%攻击的盗窃行为,然而不能阻止对侧链进行51%攻击。

如果小型链是一个“rollup”,攻击者可以延迟交易,这可能迫使用户不得不支付L1费用,但他们不能盗窃任何资产。这是因为其中有一个链上机制(欺诈证明或数据可用性证明),可以验证小型链上涉及攻击者提款的事件是否都有效。

一些更特殊的例子:

如果小型链是一个?"plasma",攻击者可以延迟交易并且迫使用户支付L1费用,但他们同样不能盗窃任何资产。

如果小型链是一个"validium",攻击者可以永久地锁定所有用户的资产,但还是不能盗窃任何资产。Validium(如Starkware的ImmutableX)因此成为一个有趣的折衷方案。Validium没有rollup那么“L2”,因为控制validium的人还是可以拒绝用户访问自己的资产并敲诈他们,但不管怎么样validium还是比侧链要安全得多。更重要的是,validium同时可以达到侧链的可扩展性。

这就是我们所说的“共享安全”。如果你在小型链上持有资产并进行一些交易,那么和在大型链上做同样的事情相比,你的资产是否一样安全,还是没那么安全?结论是:如果是在rollup或者plasma上,资产共享主链的安全性;如果在一个独立的L1或是侧链上,资产的安全性就比主链低得多;如果在validium上,其安全性就在这两者间。

还要注意的是,参考我在EF第七次AMA中提到的一些原因,很多东西实际上是对称的:如果你持有ETC,那么你在一个基于ETC构建的ZKrollup上持有它比你在以太坊上持有封装的ETC要好(尽管这个桥接是以太坊共识的一个完美的ZK-SNARK验证器)。并不是说你需要尽可能地在最大的链上进行交易活动。而是说,你进行交易活动所在的区域与你所使用的资产最初发行的区域都属于同一个“共享安全区”(sharedsecurityzone)。其中,“共享安全区”可以理解为”某条链”,并且所有其他链(如rollup)的安全性最终都由该链提供保障。

Vitalik在EF第七次AMA中的相关回答如下:

我之所以对多链的区块链生态系统保持积极态度(确实有一些独立的社区具有不同的价值观,对于它们来说,独立发展好过全部都就同一件事情的影响力而争夺),而对跨链应用保持消极态度,一个关键原因就是桥接具有根本性的安全限制。

为了理解为什么桥接具有这些限制,我们需要看看区块链和桥接的各种组合是如何抵御51%攻击的。很多人都有这样的心态:“如果区块链受到51%攻击,整个系统就会崩溃,所以我们需要花费所有力气来预防51%攻击,哪怕是一次也不允许。”我非常不同意这种想法;事实上,区块链即使在受到51%攻击后,也能维持许多保证,而维持这些保证非常重要。

举个例子,假设你在以太坊上持有100枚ETH,当以太坊受到了51%攻击时,一些交易会被审查和/或被撤销。那么无论发生什么,你依然拥有那100枚ETH。即便是发起51%攻击的黑客也无法提议一个抢走你的ETH的区块,因为这样的区块会违反协议规则,所以会被网络拒绝。即使99%的算力或质押份额想要发起攻击来抢走你的ETH,每个运行节点的人都只会跟随剩下的1%,因为只有它们的区块遵循协议规则。更普遍地说,如果你在以太坊上有一个应用,那么通过发起51%攻击可能会在一段时间内审查或回滚应用的交易,但最终获得的是一致的状态。如果你持有100枚ETH,然后在Uniswap上将之换成32万枚DAI,那么就算区块链以某种疯狂的方式被攻击了,最终你还是会获得一个合理的结果:要么还是持有100枚ETH,要么得到那32万枚DAI。也就是说,两者都没有获得(或两者都获得)的结果实际上违反了协议规则,是不会被网络接受的。

现在,想象一下,如果你向Solana上的某个桥接转100枚ETH并获得100个Solana-WETH,随即以太坊受到了51%攻击。攻击者在Solana-WETH封装合约中存入一笔自己的ETH,然后等到Solana网络上确认了这笔交易之后,就立即在以太坊网络回滚存款交易。Solana-WETH合约现在不再可以完全恢复,也许你的100Solana-WETH现在只值60个ETH。即使有一个基于ZK-SNARK的完美桥接可以完全验证共识,它仍然很容易受到这样的51%攻击。

因此,在以太坊上持有以太坊原生资产或在Solana上持有Solana原生资产总是比在Solana上持有以太坊原生资产或在以太坊上持有Solana原生资产更安全。在这个语境下的“以太坊”不仅指以太坊L1基础链,还包括基于它构建的任何L2。也就是说,如果以太坊受到51%攻击并且交易回滚了,Arbitrum和Optimism上的交易也会回滚。因此,即使以太坊受到51%攻击,在Optimism和Arbtirum上持有状态的“跨rollup”应用也能保证保持一致。而如果以太坊没有受到51%攻击,就没有办法分别对Arbitrum和Optimism进行51%攻击。因此,持有在Optimism上发行然后在Arbitrum上封装的资产依然非常安全。

然而当出现超过两条链时,问题就比较严重了。如果有100条链,那么这些链之间会出现许多相互依赖的dapp。这时,哪怕对一条链发起51%攻击都会造成系统性的风险,威胁到整个生态系统的经济。这就是为什么我认为相互依赖的区域有可能与主权独立的区域会紧密联系(因此,许多以太坊网络的应用之间相互密切联系,许多Avax网络的应用之间相互密切联系等等;而不是以太坊网络和Avax网络的应用之间相互密切联系)。

这也是为什么rollup不能直接“使用另一个数据层”。如果某个rollup将其数据存储在Celestia或BCH或其他任何地方,但处理的是以太坊的资产,那么如果这一层受到了51%攻击,用户就完蛋了。就算Celestia的数据可用性采样(DAS)可以抵御51%攻击,实际上也并不能帮到你,因为以太坊网络并没有读取这个DAS;相反,以太坊网络读取的是桥接上的信息,而桥接恰恰很容易受到51%攻击。作为一个rollup想要为使用以太坊原生资产的应用提供安全性,必须使用以太坊数据层(对于任何其他生态系统也是如此)。

当然,我不会说这些问题会随时出现。仅仅对一条链进行51%攻击都很困难且成本高昂。然而,使用跨链桥接和上面的应用的用户越多,问题就越严重。没有人会为了盗窃100枚Solana-WETH去攻击以太坊(或者说为了盗窃100枚Ethereum-WSOL去攻击Solana)。但是如果桥接上有1000万ETH或SOL,那么发起攻击的动机就会更强,一些大型的资产池会使得这些攻击更容易发生。所以跨链交易活动具有一种反网络效应:当交易活动不多时网络就会非常安全;当交易多起来了,风险就越大。

但这不会令上述分类产生变化;这只会让分类更加广泛,因为即时以太坊本身收到51%攻击,这些安全方面的差异仍然存在。

一些更加具体的例子:

这是因为(Ethereum、Optimism、Arbitrum、ZkSync和rollup模式的StarkEx)在一个相同的”共享安全区“?中(因为后四者最终都由以太坊提供安全保障,或者至少在欺诈证明移除所有临时的软件后门程序而实现完全启用之后,很快便如此)。但是Avalanche和EthereumClassic很显然没有与以太坊共享安全性,并且永远也不会。

而在BSV上使用BSV也不安全(尽管两者在同一个共享安全区,也就是它自己),因为BSV是一条脆弱的PoW链,很容易被无聊的BTC/BCH矿工攻击。并且BSV的区块太大,令用户无法验证(且没有任何计划添加分片/ZK-SNARK/DAS技术来解决这个问题)。所以当有人对BSV进行51%攻击时,攻击者可以直接发起无效区块,而用户可能别无选择,只能接受这些区块。

原文链接

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-4:426ms