请选择 进入手机版 | 继续访问电脑版
高级搜索 关闭

很多刚刚接触区块链不久的小伙伴,看到“比特币交易需要6个区块确认”会有一些疑惑,为什么需要6个区块确认呢?6个区块确认是什么意思呢?


说这个问题之前,我们先了解下比特币交易确认的过程:钱包创建交易——交易独立效验——节点确认交易——6个确认。


在整个过程中,会涉及到一个双花问题,此问题也是比特币交易过程中最大的风险和可能被攻击的点。而6个确认就是为了防止双花而得出的安全值以及比特币交易确认最重要的一步。


按照惯例,我们举个栗子说明一下:


比特村里大家都采用分布式账本进行记账,并通过记账、验证交易获得奖励(也就是我们说的挖矿),为了方便交易喊话,于是在村头村尾各自设立了交易广播点。


有一天比特村的王叔叔打算在村头广播准备给翠花转520元买一部苹果手机,于是他来到村头广播间,大喊:


“广播广播,我是公钥ID我住隔壁我姓王,要给公钥ID村头最美翠花,转账520元买苹果手机。”


话音一落,王叔叔突然想皮一下,于是又跑到了村尾的广播点大喊:

“广播广播,我是公钥ID我住隔壁我姓王,要给公钥ID村尾最美二丫,转账520元买苹果手机。”


于是村头村尾的广播前后推送了这两条交易转账:


“同志们,公钥ID我住隔壁我姓王,要给公钥ID村头最美翠花,转账520元买苹果手机,大家快记下来。”

“同志们,公钥ID我住隔壁我姓王,要给公钥ID村尾最美二丫,转账520元买苹果手机,大家快记下来。”


但是由于村头广播优先接收到这笔交易,将它广播了出去。旁边节点也就是离得最近的铁柱确认了这笔转账交易,并且将它打包成新区块发布出去,在这个新区块等待验证时。村尾的二虎才接收到转给二丫的这笔交易广播,于是他开始确认这笔交易,但是他不知道的是,村头的新区块已经得到了一个验证,也就是2个确认。


二虎将交易确认后打包新区块发布出去,等待确认,但是看到这个新区块的大牛发现村头也有一个一样的交易链,已经得到6个确认了,按照比特币最长链是最正确的链的原则 ,大牛选择跟在最长链后面继续挖矿。


此时如果王叔叔想让自己的第二条交易变得有效,则需要在村头的第一笔交易未被确认前用更快的时间速度去广播村尾的交易并且被确认,手里控制大量的算力追赶村头的那一笔交易,这种情况下就会出现我们所说的双花(重复支付的账款)。


但是在村头的交易进行了6个确认后,已经永久记录在链上的前提下。要让村尾的交易有效 ,除非王叔叔手上有51%算力,使村尾的交易快速被7个区块确认,赶超村头的区块链,使之成为最长链。但是这个可能性基本为零,为什么呢,我们来看下。

当他以落后6个块的起点开始来追赶之前的交易时,这个计算量将会是一个天文数字。从经济的角度考虑,拥有如此强大算力的人做这个事是不划算的,这个过程中浪费的资源如果用来正经挖矿,得到的收益将会更高。


回到标题,为什么需要6个确认,而不是2、3、4、5、7、呢?


其实6这个数字并不是硬性规定的,只是说有了 6 个区块确认,被篡改的可能性非常低。在比特币网络中,6个确认的时间充分的给了整个网络去统一区块顺序的时间。如果支出方,例如王叔叔想要进行双重支付,他必须控制非常大的算力,不然其他的挖矿者不会帮助它,因为他们都需要在最长的分支上工作才能得到奖赏。

而且六个区块是根据该人拥有百分之一的算力刚好确认一个区块,但要进行6个区块确认的概率是100的六次平方分之一,这种情况可以说是相当于零 。

有些可能会说,比特币平均每 10 分钟打包一个区块,6 个区块确认平均下来需要 1个小时。那我们是不是每一笔比特币交易,都要等上 1小时多?


哈,其实不是,这个只是针对比特币大额交易(10000~100000 美元)才需要6个区块交易,低于这个的则不需要这么长时间,而且低于这个金额的交易,发生51%算力攻击的可能性也是微乎其微。至于大于这个金额的,则需要越多的区块确认,这样才比较安心啊!




回复

使用道具 举报

级别:韭菜
发表于 6 天前 | 显示全部楼层
沙发
为什么人们坚信比特币是安全的?就是因为你要推翻他,必须付出巨大的代价。而这个代价与你所想要篡改的所能产生的价值不成比例。
回复

使用道具 举报

级别:老韭菜
发表于 6 天前 | 显示全部楼层
板凳
币王肯定有他的独特之处,要不怎么会引领币圈发展
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版规则