很多刚刚接触
区块链不久的小伙伴,可能看到“
比特币交易需要
6个区块确认”会很疑惑。
为什么需要
6个区块链
确认呢?是指全网上的6个
比特币矿工确认吗?
今天,大白就给大家解释一下其中的原理。
在《什么是51%算力攻击》一文中,大白给大家介绍了
成功发动51%算力攻击后,可以实现双花。我们再简单回顾一下双花的过程:
假设小黑给大白发了 666BTC,并被打包到了第 N 个区块。没过几分钟,小黑反悔了,通过自己控制的超过 50% 的算力,发起了 51% 算力攻击,通过剔除发给大白的 666BTC 那笔交易,重组第 N 个区块,并在重组的第 N 个区块后面继续延展区块,使之成为最长合法链。
这就是双花的过程,小黑发给大白的那 666BTC 被作废。
从上面的例子中,我们可以看到,即便大白当时收到了小黑
转账过来的 666BTC,交易被打包上链,这笔交易也是有可能被作废的。
为了避免双花造成的损失,一般认为,等 6 个区块确认后的比特币交易基本上就不可篡改了。也就是说,如果小黑发给大白的 666BTC 这笔交易被打包在了第 N 个区块(第1个区块确认),大白等到第 N+5 个区块出现的时候(第6个区块确认),这笔交易基本上就不可篡改了。
请注意,这里用的是“基本上”,并不是绝对。不久前,币安发生了黑客盗币事件,一共被盗 7000 多枚比特币,这笔比特币被黑客转走,交易记录打包在区块高度 575013 上。事故发生不久后,有人就提议进行
区块重组,当时已经有很多个区块确认了。
区块重组的意思是,从黑客转走比特币的那个区块开始,剔除黑客的交易记录,重新创造那个区块以及所有之后的区块。如下图:
据说盗币事件发生后,币安的 CZ 给比特大陆的吴忌寒打了电话,沟通过比特币区块链重组的事情。当时,他们能联合比较大的比特币算力,从技术的角度看是有能力重组并让重组链成为比特币最长合法链的。如何计算重组后需要花费多长时间成为最长合法链,可以参考
白话区块链学堂的推文《币安7074枚比特币被盗,如果区块重组有多大概率成功拿回》。
重组消息一出,业内一片哗然,各种争议声不断。当然,最后没有重组,币安愿意自己承担黑客盗币的所有损失。
一般来说,确认的区块数越多,越安全,被 51% 攻击后篡改、重组的可能性越低。至于我们经常看到的比特币交易 6 个区块确认后就安全了,这个数字 6 并不是硬性规定的,只是说有了 6 个区块确认,被篡改的可能性非常低,因为黑客或者攻击者目前很难掌握大量的比特币算力来做恶。
比特币平均每 10 分钟打包一个区块,6 个区块确认平均下来需要 60 分钟。那我们是不是每一笔比特币交易,都
要等上 60 多分钟呢?
其实不是。
对于小额交易,不需要等待 6 个区块确认,因为比特币发生 51% 算力攻击的可能性很小。一般来说,小于 1000 美元的比特币交易,1 个区块确认即可;介于 1000~10000 美元的比特币交易,一般的交易平台充值、提现会要求至少 3 个区块确认;介于 10000~100000 美元的比特币交易,基本需要 6 个区块确认;大于 100000 美元的交易,确认的区块数量越多越好。
你进行比特币转账时,一般会等待几个区块确认?欢迎在留言区留言。
作者 | JackyLHH 出品|白话区块链(ID:hellobtc)
『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』