双花攻击:区块链世界中蛰伏的恶兽

双花攻击:区块链世界中蛰伏的恶兽
2018年08月25日 18:26 金色财经

五月,比特币黄金遭遇了51%攻击,此次攻击之后,系统超388200个BTG被双花;六月,ZEN也遭受到两次同类型攻击。‘双花’攻击就像一只蛰伏的野兽,平时不易感知,可它随时可能会威胁到你的安全。

对于51%攻击与‘双花’问题,很多用户一直都颇有微词。那么今天,我想先跟大家探讨一下这个‘双花’攻击。

‘双花’一词始现与比特币系统中,当时有朋友问了这样一问题,“在现实世界中,我买一瓶水花一块钱,钱立马就进了别人的口袋,但在比特币系统中,我发起转账到交易成功的这段时间,钱还是在我的账户里,这时候,我可不可以又付给另一个人呢。”

等同于灵魂拷问的这句玩笑就像是一石激起千层浪,瞬间令玩家们心潮澎湃。很快的,热心玩家们就给这个问题命名为‘双花’。

对于这个惊天漏洞,用户们自然是心态各异。有钱的想着可以把一份钱当成两份用,甚至多份来用;没钱的想着别人转给我的币还靠不靠谱;看热闹的想着就看着个不靠谱的系统怎么把玩家们吃死。

那‘双花’问题究竟是啥呢?简单来说,‘双花’问题就是指将数字资产中的一份余额进行两次甚至多次的交易。

也可以理解为,当一个交易被发出后已经经过了z个区块时,攻击者又在极短的时间内重新产生了一条新的区块链,使新链比之前的区块链更快,这样攻击者就可以把以前的交易中的花费的虚拟货币取回来并用于二次交易。因为在区块链中,系统会自动承认最长的那条链为有效链。

如果‘双花’攻击成功,最先的接收者就无法收到转账,也就是说,同样一笔钱,可以用于两次交易。

因为数字资产的存在并非实体物质,而是靠一串特定字符来记录的。当交易发起者发起一笔转账时,自身钱包中的资产并不会马上扣除并添加到接受者的账号里,而是需要有一定时间的等待打包及确认过程,而这段时间是极有可能会被有心人利用起来实行双花攻击的。

正因如此,‘双花’问题在没有中心化数据记录库的区块链中一直都饱受争议。

但对于‘双花’问题,各大区块链系统也有对应的措施来避免。就以比特币系统中的时间戳和UTXO为例。

区块链上时间戳(timestamp)就是指在系统中的每一笔交易发出时,都会被系统盖上时间印记,用以追溯每笔交易的发出时间。以此保证每个区块按照一定的次序相连,使区块链上每一笔数据都具有时间标记。

UTXO又是什么呢,UTXO(Unspent Transaction Outpu),即未花费交易输出,它在区块链系统中用以记算钱包账户中的余额。

对于货币玩家们而言,UTXO就像是你的余额宝,它会随时计算你的仅剩资产。同时由于编码的存在,UXTO的优越性也在于资产的销毁和产生过程都是便于追溯的。

时间戳和UTXO的存在标志着,当某个用户意图用同一笔资金进行两次付款的时候,时间戳会自动选择承认最先发出的那笔交易。而UTXO则会确认并验证用于每一笔交易的资产是否存在、是否被花费。

即便是当两笔时间上很接近的交易被不同节点确认,区块链已经产生分叉时,剩余的节点也会选择在他们认为的最长链上构建新的区块。

也就是说,如果要在区块链中发起双花攻击,就势必会令系统产生分叉,而多出来的这条岔道,通常不会被系统所承认。因为后面的用户会自动选择在较长的链条上产生新区块,而单一的个人一般情况下都无法产生比原有主链更长的分叉链。

有没有例外呢,也有。

所谓道高一尺,魔高一丈,UTXO技术也并非是无懈可击的,那能够击败它的是什么呢?——51%算力攻击。

这个名词大概是链圈朋友们都谈虎色变的吧。在某用户掌握全网51%算力的情况下,他就可以操控系统的记账权利。而系统一旦遇到这样的攻击,不仅是双花问题有可能变成真的,你荷包里的银子也可能会全都不翼而飞。

比特币黄金就会典型的受害者。

但对于现有的几大公链来说,自身的防御系统都是比较强大的,并且全网算力分布也极其广泛。

如果要对较大公链实行51%算力攻击也就意味着攻击者需要掌握整个国家网络算力的一半,这样不仅攻击成本非常高,同时对于攻击者来说,也是一笔亏本的买卖。

即便有政府想要针对比特币系统而集全国之力来制造一台超级计算机,用以击溃比特币系统,进而挽救自己的货币发行体系,它也会发现只要使用该能力进行挖矿便可垄断比特币的发行权,而垄断挖矿所产生的收益也会远大于击溃比特币。

因此,一般情况下,51%算力攻击都不可能成真。

尽管如此,比特币黄金、ZEN等还是遭受了攻击。而大大小小的交易所被盗事件也并不新鲜。

这就表明了,虽然现在的‘有心人’还无法对比特币等稳定运行的强大主链造成杀伤性的攻击,但他们却可以把手伸进那些小的、不太稳定的、防御系统薄弱的交易所及小型主链上来。

另一方面,即便是在算力不够51%的情况下,也是可以发动双花攻击的,不仅可以发起,还有一定的成功可能,只是算力越低,发动双花攻击成功的几率会越越小,如果攻击者的运气好呢。

虽然随着比特币等主要主网中的算力值增大,算力攻击的可能性被逐渐降低,但事实证明,双花问题对整个区块链行业来说仍然是一个不可忽视的威胁。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部