COI:复盘ETC近期频发的双花攻击事件

摘要

Coinbase没有成为任何攻击交易的目标,也没有任何资金的损失。

在PST7/31/2020晚上10:57,EthereumClassic(ETC)受到51%攻击,导致约80万ETC(约580万美元)的双花交易。

PST8/5/2020晚上8:15,EthereumClassic再次受到51%攻击,导致约46万ETC的双花交易。

在第一次攻击中,运行在精简模式下的Parity(OpenEthereum)节点忽略了攻击区块,而其余网络则接受了攻击区块为,导致修精简Parity节点与其余网络出现了分区网络

如果攻击者控制了大部分挖矿权,他们就能够51%攻击区块链网络。攻击者会重组区块链的历史,通过双花交易窃取资金。

Coinbase的观点

在PST7/31/2020晚上11:10,Coinbase区块链安全部接到警报,Coinbase的ETC节点在预期的时间区间内没有看到新的区块。经调查发现,我们的节点在区块链状态上已经分叉。Coinbase内部精简的Parity节点与我们非精简的Parity节点和Geth节点看到的区块不同,这是第一个说明有问题的指标。我们得出的结论是,在PST7/31晚上10:57的大规模重组导致了网络分叉,是由于不同的节点造成的。

主力数据复盘:火币ETH主力在下跌过程中买入超过2600万美元:AlCoin PRO版K线主力大单统计显示:8月15日10:00-8月16日20:15,ETH从442美元跌至最低412美元。这一过程中,火币ETH/USDT出现并成交了大量委托买单。

其中,成交了70笔,总价值超过2600万美元的大额委托买单(单笔委托金额20万美元以上),买入均价426美元。[2020/8/17]

大型的重组是潜在双重花费的显著指标。此时,Coinbase选择大幅提高我们的确认次数要求。这确保了Coinbase平台上没有双花交易入账。

两个公开的问题随之而来:首先,重组的交易中是否包含双花?第二,考虑到网络分区,Coinbase如何确保我们在正确的链上呢?

为了回答第一个问题,我们比较了孤链和导致重组的新链。我们发现,在53个孤块交易中,有约580万美元的ETC被双花。然而Coinbase没有成为这些攻击的目标。

我们接下来的重点是了解ETC网络分区。我们发现精简的Parity节点会忽略超过一定高度的区块。因为大规模的重组试图对超过这个阈值的区块进行孤块化处理,所以被精简的Parity节点认为重组是无效的。需要注意的是,网络中的其他节点选择跟随重组,这一现象导致了网络的分区。在观察了网络分区的每一方后,Coinbase开始跟随规范的主链。

主力数据复盘:大量主力恐慌性平空买入推高了价格:AICoin PRO版K线主力数据显示,在此轮拉升中,多个平台都出现了大量的大额买入平空单,大量的买入推高了价格。

最先是火币BTC季度合约在28日17:00~19:00中短时挂起7笔,共计2333.19万美元大额委托买单并成交,买入均价9211美元。成交后,价格开始拉升。

20:50~22:50,OKEx BTC季度合约短时挂起25笔,共计6284.92万美元的大额委托买单并成交,买入均价9494.9美元。

05:15,BitMEX XBT永续合约市价主力市价买入1000万美元,买入价格9445.5美元,滑点41,价格向上插针至9523美元。不久后价格再度拉升至最高9629美元。

结合AI秒级持仓量分析,以上大部分买单成交后,持仓量均下降明显,可判断大部分均为买入平空单。

可见,大量主力恐慌性的平空买入推高了价格。[2020/5/29]

8月5日晚,区块链安全部又收到警报,发生了大规模的重组。由于精简后的奇偶性节点不再被操作,没有出现类似第一次重组的网络分区。因此,唯一的问题是Coinbase是否是这次攻击的受害者。做了和上面类似的分析,我们确认ETC再次被攻击,这次的攻击金额约为320万美元,涉及9笔孤块交易。我们再次发现,Coinbase不是任何一笔孤块交易的受害者。

主力数据复盘:主力高位做空获利近20%:AICoin昨日曾报道,OKEx BTC季度合约、火币BTC季度合约和BitMEX XBT等在9900美元附近均有较大额委托卖单成交,并伴随持仓增长,可判断为主力开空。

主力开空后不久,市场经历了两轮下跌。第一轮下跌在9日15:20前后,由币安BTC现货主力主动卖出1251BTC,滑点高达109美元,测试到市场深度不足,主力做空信念增强。

第二轮下跌在今晨8时,BitMEX XBT永续合约主力主动卖出1.19亿张,轻松完成一轮一千多美元收益的掠杀。 可见,此轮主力做空获利超过20%。[2020/5/10]

作为额外的预防措施,我们进一步提高了确认次数以确保客户资金的安全。需要注意的是,这并不是ETC第一次被双花。

虽然ETC近几日看起来已经稳定下来,但我们会继续监测ETC是否有进一步的动荡。

技术分析

基于Nonce的双花攻击

在这次ETC攻击中,我们发现了一个有趣的模式,用来执行双花。我们在下面讨论攻击者双花策略的一个例子。

攻击者使用一个攻击交易来双重花费多个孤块交易的例子:

复盘:405万张主力卖出后价格迅速回落:AICoin PRO版K线主力成交数据显示:BitMEX XBT永续合约从4月23日23:00至今在小时周期中做上涨中继平台。

10:05分,价格接近平台上沿压力线,并突破。突破后,并无主力买入单子跟进,相反有2笔,共计405.97万美元的主力卖出单子。因此可判断为假突破,随后价格迅速回调,最高点最低点相差近200美元。 当前,价格仍然比较接近上沿线,请密切留意主力成交情况。[2020/4/29]

攻击者利用一个攻击交易将多个单个交易进行双重消费的例子。

攻击模式

1.攻击者通过多次交易向被攻击交易所发送大量ETC。

2.攻击者利用被攻击交易所服务,将ETC兑换成其他货币,然后将资金移出平台。

3.攻击者重新记录区块链,"删除"步骤1的交易。

4.现在,攻击者可以使用他们原来的ETC。然后他们用一笔大的交易将资金转移到他们控制的另一个地址。为了使任何重复的遗弃交易变得无效,这一点是必要的。

结束状态:攻击者现在控制了他们从被攻击交易所那里转出的一定数量的非ETC资产,同时还保持对原始ETC的控制。

主力大单跟踪复盘:暴跌前现货大单卖出接近4000 BTC:AICoin PRO版K线主力大单统计显示:在3月6日16:00~3月8日凌晨横盘阶段,火币及OKEx BTC现货交易对大单卖出总计20笔,共计3770.98BTC。大单买入仅5笔,总成交363.82 BTC,成交差-3407.16BTC。3月8日凌晨,比特币下跌,今天晚间继续下挫,截至目前已跌超8%。[2020/3/9]

有趣的是,通过使用这种基于非ce的增量技术,每笔孤块交易的移动量不到3万ETC。我们相信,攻击者使用这些增量的孤块交易是由于被攻击交易所的一些基于价值的速率限制。例如,被攻击交易所交易所可能有一个功能,防止用户在一次存款中收到大于X金额的ETC。

攻击者利用一笔攻击交易对多笔无主交易进行双花的例子。

在这里,我们发现孤块链上发生了三笔交易。发送方和接收方的地址在三笔交易中都是一致的。如上所述,每笔交易的转账金额都在约20万美元左右。此外,后两笔交易与前一笔交易相比,nonces增加了。根据账户nonces的工作方式,这是可以被预估的。

关键点是在主链上,只要攻击者账户没有持有足够的资金来支付转账,后两笔交易都是无效的。在主链上,我们发现一个来自攻击者地址的大额双花交易,而不是三个独立的双花交易,并且各有一个孤块交易。

主链上的攻击交易,将资金合并并转移到攻击者控制的地址上。

值得注意,这个大交易的转移值等于三个孤块交易的值之和。这确保了所有三个孤块交易在主链上都是无效的。

精简奇偶节点网络分区

除了正常的51%攻击双花攻击模式外,由于这次事件,还出现了第二个有趣的情况。当配置在精简模式下时,ParityOpenEthereum客户端会选择忽略任何超过一定高度的区块,并认为这些区块无效。

一个"古老"的错误,导致精简后的奇偶性节点拒绝reorg。

因此,精简后的ParityOpenEthereum客户端忽略重组以及继续挖掘自己的独立链。如上所述,我们称之为孤链。重组链的无效性导致网络按节点和节点配置进行了分区。

ETC网络如何分区

在这个分区发生后,矿工继续在精简后的Parity链以及网络其他部分所遵循的主链上采矿。

为了清晰起见,请注意,被精简的Parity节点的当前状态等同于未被精简的Parity、Geth节点在被重组之前的状态。在重组内请求一定高度的区块,会从被精简的Parity节点返回孤儿区块,而未精简的Parity节点则返回攻击者区块。从unpruned节点接收到的孤块曾是unprunedParity节点的状态的一部分,然而孤块被重组出unpruned节点的视图。

继续运行被精简的奇偶性节点的节点操作者维护并扩展了孤链。在这些运营商重新同步他们的精简奇偶节点或切换到不同的节点类型之前,网络化仍然是分区的。Coinbase强烈建议切换到支持的节点。

Reorgs

根据Coinbase非精简节点的日志,曾经有一次极其庞大的重组,从区块高度10904147开始直到区块高度10907434。在攻击时,主链的高度为10907434,而孤链的高度为10907836。孤链和主链之间的共同原型区块高度为10904146。这意味着重组了孤链3692个,新增了3287个区块。需要注意的是,虽然攻击链的高度较低,但因为难度较高,它取代并超越了孤儿链成为ETC的正统链。假设区块时间为15秒,攻击者必须用多数hashpower挖矿约13.7小时才能执行这次攻击。

重组8/1的示意图

被精简的节点忽略了这个重组,而未被精简的节点则接受这个重组为有效。更多信息请参见上文的网络分区部分。

我们的分析显示,在链式重组中,有15个双花交易对和38个基于孤块的交易。这些双花都没有影响到Coinbase。

2020年5月8日,ETC在主链上发生了第二次大规模的重组。

在重组时,孤链区块为0x9555,高度为10939866。重组后,主链链头块为0x7521,高度为10939975。孤链和主链之间的共同原型区块在高度10935622。重组孤链4244块,而攻击链包含4353块。假设区块时间为15秒,攻击者必须用多数算力挖矿约18.1小时才能执行这次攻击。

reorg8/5的示意图

区块链安全公司对这次重组进行了与上述相同的分析,发现了7个双花交易对和另外2个发送到受害者地址的孤儿交易。同样这些双花都没有影响到Coinbase。

双花

在第一轮双花交易中,我们发现约有580万美元被双花。有5个独立的地址向5个独立的受害者地址发送了大量的双花交易。攻击者和受害者地址一对一地进行了映射。

在检查了来往地址后,区块链安全公司得出结论,这些双消费都没有影响到Coinbase:

在第二轮双花中,我们发现约有320万元被双花。这一次,只有一个目标受害者地址为0x38cd54fc7b1fe7994355fce1d75c9c4bd7335a46。此外,每笔交易的双花金额有更高的差异,在约9.7万美元到高达约108万美元之间。我们发现,在第二次攻击中,攻击者倾向于不拆分孤块交易,这意味着孤块交易和攻击交易一般是一对一映射的。一个例外是特定的攻击者地址0xa56cfaef495a45f17f44fd0b2d85e0fe63b9ba7d,它发送了三个孤块交易。

需要注意的是,在第一次重组中,我们的分析还发现了一些其他的小额双花,数量在10美元左右。我们认为这些都是非恶意用户在重组期间与区块链互动导致的非恶意双花消费。

Coinbase??作者

olivia??翻译

李翰博??编辑

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

金星链

[0:0ms0-0:472ms