时间:2021-11-18|浏览:609
先回顾一下双花的过程:
假设小黑给了大白发 666BTC,打包到第一 N 块。几分钟后,小黑反悔了,自己控制的超过了 50% 计算能力发起了 51% 计算能力攻击,通过剔除发送给大白 666BTC 那笔交易,重组第 N 重组的第一块 N 块后继续延伸块,使其成为最长的合法链。
这是双花的过程,小黑发给大白 666BTC 被作废。
从上面的例子可以看出,即使大白当时收到了小黑的转账 666BTC交易被打包上链,这笔交易也可能被作废。
为避免双花造成的损失,一般认为,等等, 6 区块确认后的比特币交易基本不能篡改。也就是说,如果小黑发给大白的话 666BTC 这笔交易被打包在第一位 N 一个块(第一个块确认),大白等到第一个块 N 5 当一个块出现时(第6个块确认),交易基本不可篡改。
请注意,这里用的是基本,不是绝对的。
前不久,币安发生了黑客盗币事件,一共被盗 7000 多个比特币,这个比特币被黑客转移,交易记录包装在块的高度 575013 上面。事故发生后不久,有人建议重组块,当时已经确认了很多块。
块重组是指从黑客转移比特币的块开始,剔除黑客的交易记录,重新创建块和所有后续块。如下图所示:
图片
据说盗币事件发生后,币安(Binance) CZ 给比特币大陆的吴打电话,沟通比特币区块链重组。当时他们可以结合比特币的大计算能力,从技术角度来说,他们有能力重组,让重组链成为比特币最长的合法链。如何计算重组后成为最长的合法链需要多长时间,可以参考白话区块链学校的推文币安7074枚比特币被盗,如果区块重组成功收回的概率有多大。
重组消息一出,业内一片哗然,各种争议声不断。当然,最后没有重组,币安愿意自己承担黑客盗币的所有损失。
一般来说,确认的块越多,就越安全。 51% 攻击后篡改和重组的可能性越低。至于我们经常看到的比特币交易 6 确认块后是安全的,这个数字 6 不是硬性规定,只是说有 6 由于黑客或攻击者目前很难掌握大量的比特币计算能力来做恶,因此被篡改的可能性很低。
平均比特币 10 每分钟包装一个块,6 需要确认个别块的平均 60 分钟。那我们是不是每一笔比特币交易都要等 60 多分钟呢?
其实不是。不需要等小额交易 6 由于比特币的发生,一个块确认 51% 计算能力攻击的可能性很小。一般来说,小于 1000 美元比特币交易,1 确认一个块;介于 1000~10000 美元比特币交易,一般交易平台至少要求充值和提现 3 块确认;介于 10000~100000 美元的比特币交易,基本需要 6 块确认;大于 100000 美元交易,确认的块越多越好。