白话区块链入门系列066 | 如果两名矿工同时挖出新区块,出块奖励该给谁呢?
白话区块链
从入门到精通,看我就够了!
「白话区块链入门」系列让零基础的小伙伴也能轻松入门,欢迎大家在文末点赞留言,说说你最想了解的区块链小知识,参与有奖哦!
作者 | 晏文春
出品|白话区块链(ID:hellobtc)
通过白话区块链在《比特币的矿工和挖矿是什么意思》一文的介绍,我们知道,比特币挖矿是矿工们通过算力竞争,不断试错随机数,直到找到合适的随机数,新的区块被挖出。
01
“多石一鸟”可能吗?
挖矿是全网矿工的集体行为,所有矿工都在挖矿,有没有可能多名矿工同时挖出新的区块呢?
这是有可能的(概率很小)。如果出现多名矿工同时挖出新区块的情况,那出块奖励该给谁呢?取舍标准是什么呢?今天我们就来解答这些问题。
矿工挖出区块后,会第一时间将新区块发布出去,新区块经其他矿工验证合法(符合比特币系统的规则)后,就会接受该区块,并在该区块的基础上开始挖下一个区块。
02
“鸟”的归属
我们假设有两名矿工A和B同时挖出第N个区块,这时区块链就形成了一个短暂的分叉,并假设A矿工出块的链称A链,B矿工挖出的链称B链。矿工A和B都会将自己挖到的区块广播出去,其他矿工节点可能先收到A矿工发布的新区块,也可能收到B矿工发布的区块,然后,他们将分别在各自接收到的新区块后延伸区块链。
假设后来A链上的矿工先挖出第N+1个区块,这时该区块挖出者会向全网广播第N+1区块的信息,其他矿工节点监测到有新的合法区块被挖出,就会停止继续挖第N+1个区块(无论之前他是在A链上挖还是在B链上挖),会选择在该链上挖下一个(N+2)区块,这也就意味着A链胜出,第N个区块的出块奖励归矿工A所有(严格地说,矿工B也得到了区块奖励,但因为矿工B挖出的区块不在最长链上,变成孤块,所以出块奖励也就无效了)。
反之,如果第N+1个区块在B链上先被挖出,那么所有的矿工都会在B链上继续挖下一个区块,第N个区块的出块奖励归矿工B所有。
为什么会这样呢?因为比特币系统规定,只认最长合法链,这也是所有矿工的共识,所以当一个合法的新区块被挖出后,所有矿工将在此区块的基础上挖下一个区块,因为这对所有矿工而言,都是最经济、利益最大化的选择,而另外一条链将被矿工抛弃,弃链上的区块也称为孤块。
如果在第N+1个区块,A链和B链再次出现同时出块的情况(这种情况的概率极小),两条链将继续竞争,直到某条链率先挖出新的区块,其他矿工会选择最长合法链继续挖矿,抛弃另一条链。
被抛弃那条链挖出的区块在分出胜负之前,也都是合法的,同样有出块奖励,等确定某条链为最长合法链之后,另一条链就成了弃链,弃链上的奖励将不被认可。
03
总结
如果某个区块高度,有多名矿工同时挖出区块,此刻,他们挖出的区块都是合法的,区块链会因此出现临时性的分叉,所有矿工会在自己最先监测到的区块上继续挖下一个区块,直到一方先挖出合法的新区块,所有矿工都会在更长的合法链上挖矿,这就是比特币的最长合法链机制,区块奖励将会给在最长合法链上出块的矿工。另一条链将会被抛弃,在弃链上得到的系统奖励也将不被认可。所以,矿工挖出新区块后,越快发布对矿工越有利。
如果两名矿工同时挖出某一区块,你猜他们各自找到的随机数是否相同?快来留言区说说你的猜测吧。
「白话区块链入门系列」互动有奖
本文发布2小时内的第1位精选留言,奖励8.8元红包;
指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50元;
本系列接受读者投稿,录用稿件每篇奖励300元。后台回复「投稿」获取详细信息。
往期内容精选
★后台回复「入门」获取完整目录!★
——End——
『声明:本文为作者独立观点,不代表白话区块链立场,亦不构成任何投资意见或建议。』
亲,给「白话区块链」加个“星标”
👇 不错过重要推送哦 👇
亲,据说99.9%有品位的人都点了「好看」👇