以太坊使用Rollup技术的安全风险在哪里?
以太坊已经确认了以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节表示可通过验证区块头进行确认)。
另外,「adlerjohn」还提到了关于optimistic Rollup 方案中,还可以包含名为“最小可行合并共识”的设计,该设计可以通过发布有序数据来实现数据可用性,可以让多个侧链、分片使用。
白计划注:最小可行合并共识的解读在如下链接
https://ethresear.ch/t/minimal-viable-merged-consensus/5617
但可以预见的是,使用「adlerjohn」提出的方式,是存在较大的设计难度的。
在讨论的最后,「jchancehud」回复「adlerjohn」表示,不能确定这种攻击预测是否适用于ZKRollup。但因为ZK证明更难生成,至少会更加困难。如果Rollup被广泛采用,那么这样考虑Rollup尤其重要。
Rollup协调员可以在使用节点之前验证节点中的所有区块头,这是另一种潜在的解决方案,尽管时间和带宽昂贵。但用户最好运行自己知道可以信任的eth 轻节点。如果已经解决验证问题,运行轻节点还可以查询事件。
讨论在最后,我们会发现为了实现安全性、可扩展性、效率,这些方案按工程化的思路是可以尝试的,但实施过程一定是困难的,因为不同开发者的讨论思路最后还要合成代码,以及包含网络结构、客户端、语言、操作界面等多个挑战。
时间戳向前,区块不停,我们继续期待吧。
比特币白皮书的第8节
当前以太坊建议Gas费用为216.23Gwei,环比上升245.25%:金色财经消息,据欧科云链OKLink数据显示,截至下午2时,以太坊2.0存款合约地址已收到740064ETH,已有23120个验证节点完成抵押。
以太坊24h链上活跃地址数逾56.92万,环比下降2.27%;链上交易量近310.99万ETH,环比下降32.17%;链上交易笔数逾119.11万笔,环比下降3.48%。
当前以太坊建议Gas费用为216.23Gwei,环比上升245.25%。[2020/11/26 22:12:28]
动态 | 以太坊未确认交易81047笔:据Etherscan.io数据显示,当前以太坊未确认交易数为81047笔。与此前基本持平,以太坊网络拥堵依旧非常严重。[2018/12/14]
以太坊网络当前未确认交易量达2.77万笔:据etherscan数据显示,当前以太坊网络内未确认交易量多达2.77万笔,是比特币网络当前未确认量的7.7倍。[2018/6/7]
标签:
区块链热门资讯
1 月 20 日,全球最大的资产管理公司贝莱德(BlackRock)旗下的两支基金公司向美国证券交易委员会(SEC)提交了投资说明书。说明书中提到,旗下的某些基金或将参与基于比特币的期货合约交易。 2020 年至 2021 年间,已经有多家投资机构表示将会买入比特币作为资产配置的一部分。在刻板印象中,体量巨大的资管巨鳄往往等局势更加明朗之后才会入场。
2021/1/21 20:55:21背景 去年有一个项目,凭借多年的深度开发终于上线主网,并且价格一路攀升,快速闯进加密货币前十,它就是被称作跨链之王的 —— 波卡。但是波卡也因为“跨链之王”这个趣称,固化了许多朋友对波卡的理解。
2021/1/21 20:55:17什么是 Zapper ? Zapper 是 DeFi 投资组合管理仪表板,可让您快速轻松地部署和管理 DeFi 头寸,并在单个界面中始终保持投资组合、流动性池和流动性挖掘头寸的顶部。 Zapper 是一种流动性池聚合器,目前可提供对 200 多个不同池的访问。此外,它最近使用 Uniswap 和 Balancer 实现了AMM交换功能。
2021/1/21 20:39:10创意经济正向社区经济转型 社区经济由加密网络和社交代币驱动,向早期经济参与者提供激励,让这些参与者利用自己的技能和资产来为社区或个人提供支持,这些技能和资产在之前并没有得到充分利用。 下图展示了社区经济的未来发展状况 创意经济让几百万创作者收益,而社区经济的早期贡献者会得到回报,形成创意经济中的中产阶级,这是很多人所期待的。
2021/1/21 19:45:53比特币的每日支付数量达到了历史新高--而内存池(mempool)仍然出奇的平静。原因是通过批处理,区块链上的空间利用效率越来越高。 尽管比特币作为数字黄金的地位越来越稳固,但它首先仍然是一个支付系统。而一个支付系统可以通过它处理的支付数量来判断。相应的,支付数量的历史新高与价格的历史高位十分吻合。 然而,你需要在图表中寻找一段时间才能找到这个历史高位。
2021/1/21 19:13:51即便比特币如今涨势惊人,除非发生极其戏剧性的波动,否则加密货币登上主流新闻头条的情况仍比较罕见。对于区块链应用来说,能被全球媒体报道更是非同寻常。 Cryptokitties 是这些罕见的例外之一。2017 年 12 月一经推出就大受欢迎。上线后的几天里,人们花了超过 100 万美元的以太币购买加密猫艺术品。
2021/1/21 19:13:46