和数传媒

安卓APP
app下载

扫一扫下载app

区块链双花攻击的风险防范分析

深度 2021-03-014438
分享至:

近期,BitMex Research的ForkMonitor检测到BTC链中出现了分裂,暂时领先的链被重组,由此产生了1个孤块。而BitMEX Research发推称,他们在BTC区块链上监测到了一次双花。且不论此次异常最终定性如何,继2019年ETC遭受双花攻击,损失巨大之后,“双花”这个词在社交媒体上再次出现,引发了许多人的担心。本文拟对双花攻击进行介绍,分析比特币被攻击的可能性,并对代币交易中的不同主体提出防范建议。

一、什么是双花攻击

双花问题是指在数字货币系统中,由于数据的可复制性,存在同一笔数字资产因操作不当被重复使用的情况。双花攻击,简单说就是攻击者将一笔货币转到另外一个地址,通常是转到交易所进行套现,然后再利用手中掌握的算力对转账交易进行回滚,将转出的货币再度转回自己的地址。

区块链技术通过对每一个区块加时间戳保证了交易记录的真实性,一定程度上减小了双花攻击的概率。但基于PoW共识的区块链中,挖矿节点通过工作量证明的方式竞争记账,只要在某一段时间内,控制了超过51%的算力,就可以逆转区块链,进行反向交易,回滚第一笔交易,实现双花攻击。双花攻击正成为区块链中不可忽视的安全隐患。

二、双花攻击的形式

(1)51%算力攻击(51% Attack):

最常见的双花攻击模式,攻击者利用超过全网50%的算力创造一条长于公链的侧链,根据“最长链共识”使得公链中的交易回滚,最终实现双花。以2019年ETC遭受的双花攻击为例:攻击者预先准备一定数量的币种,将币转入交易所,然后调用手里的算力进行挖矿。等到充币完成后,将币种卖出提现,然后再发动51%攻击,攻击承认交易所这笔转账的这条链,攻击者的链成为新主链。最终,攻击者控制新主链,排斥刚才自己往交易所充币的交易行为,使充币动作失效,完成双花。

(2)芬尼攻击(Finney Attack):

双花攻击的变种之一,主要通过控制交易过程中区块确认的时间来实现双花攻击,攻击对象是接受0确认的商家。攻击者用第一笔交易挖掘了一个区块,但将其隐藏,接着用同一个比特币发起第二笔交易。当交易所或其他机构接受0确认的交易时,攻击者可以向其进行转账,花费其隐藏区块中的资金,在新交易的区块广播前,将隐藏的区块广播。因为隐藏区块的时间更早,所以在后面进行的花费将被回滚,从而实现双花。

(3)种族攻击(Race Attack):

芬尼攻击的分支,主要通过控制矿工费用来实现双花攻击。攻击者将同时进行两笔交易,花费同一笔资金,一笔转给支持0确认的商家进行提现;一笔转账给自己,并给予更高的矿工费用。节点会优先处理费用更高的交易,所以后一笔交易将不会被执行。通常攻击者会连入与被攻击商家较近的节点进行操作,使得商家优先收到最终不被执行的交易。

三、比特币的双花风险分析

就比特币而言,想要实现一次双花攻击,障碍重重。

首先,比特币的时间戳机制要求区块有明确的时间顺序,交易信息广播后,先被打进区块中的交易,就被认为是合法的,之后的交易就会被网络拒绝。一个交易并不是在被矿工写到一个区块上时就生效了,而是要等这条链真正的成为了链上的最长链之后,才认为交易真正不可逆。这就是为什么每次转账后,都建议等待六次确认,交易所在区块之后每新增一个区块,就是一次确认,等待六次确认之后,大部分矿工都承认这条链是最长链,交易将不可逆转。

其次,比特币的PoW共识决定了攻击者想要在六次确认的时间内追上最长链,需要达到与整个比特币区块链网络上所有矿工相匹敌的算力。实际上,目前比特币的全网算力已经达到146.55M TH/s,要操纵比特币51%的算力,需要耗费极大的成本。

此外,双花的攻击者希望最大程度地降低网络感知其攻击意图的可能性,以免触发惩罚机制。他可以使其重新组织的区块一直维持在少于100个,由此原链上的代币奖励才行得通。而大规模的重写影响的不再是单个用户,而会在事实上摧毁代币体系,并产生连锁反应,使得更多的交易无效。攻击者会尽可能地还原原链上的所有交易,仅更改双花交易的记录,以隐藏攻击意图。

考虑到以上限制,针对比特币进行单纯的双花攻击在短期内不太可能成为攻击者的理性选择。

四、双花攻击的风险防范

(1)对于币种开发团队,可以在原有的共识机制基础上引入新的共识机制,采用混合共识机制,能在一定程度上避免双花攻击;也可以针对迟来的区块报告引入惩罚标准,或者升级挖矿算法,同时密切监视币种的算力波动,及时向交易所发布风险提示,减少损失。在长远角度上,则应当改变自己项目币种的共识机制,选择能更好预防双花攻击的共识。如以太坊正在进行从PoW到PoS的转变,目前是PoW和PoS共存的状态。

(2)作为个人持币者,如果是数字货币的长期投资者,有自己偏好的特定币种,可以将该数字货币直接转入钱包,甚至部分转入冷钱包,最大程度上保护自己的资产。如果是频繁交易的投资者,需要在选择目标币种时作慎重考虑,更多考虑算力攻击成本高的项目,同时避免大笔购入,作好风险防范准备。

(3)就交易所而言,短期内可以提高确认要求,从而降低双花风险。从长期来看,交易所需要完善自己的数学模型,更精确地判断每笔交易的风险。交易所也可以和币种开发团队合作建立警报系统,一旦交易平台及矿池反馈出异常算力或交易信息,能第一时间作出处理,对异常行为进行干预或冻结。

标签: 区块链技术 双花攻击 风险防范
郑重声明:本站原创文章为作者独立观点,不代表和数传媒立场;转载文章版权归原作者所有,如信息标记有误,请联系我们进行修改或删除,感谢关注。

最新推荐