5 关于区块链软分叉

区块链软分叉之后,短链上的区块被抛弃,针对此情况我有两个疑问,请各位大神解答下:

  1. 这些被弃区块中的交易信息如何处理,需要交易者重新发起交易吗?比如现在网络中有ABC三笔交易,矿工甲拿到的是AB,矿工乙拿到的是BC,而且两个矿工同时完成了计算,此时区块链会同时追加这两个区块,出现分叉,根据最长链的原则,势必有一个区块被抛弃,假设说是交易C所在的区块被抛弃了,那么区块链后续是如何处理交易C的?
  2. 这些被丢弃区块的对应的矿工所得到的奖励会被收回吗?如果被收回,那么之前辛辛苦苦挖矿获得的奖励就没有了吗?
请先 登录 后评论

最佳答案 2020-04-28 17:22

  1. 当有两个矿工同时完成计算时,首先矿工会立即广播出这个区块等待确认,对于收到区块广播的矿工,分两种情况:一个是两个区块的区块号相同,一个是不相同。

  2. 两个区块号不同时,说明有一个由于某些原因(比如广播接收延迟),导致一个矿工的区块号码没有更新到最新,此时区块号大的会被矿工确认,小的将被丢弃。

  3. 两个区块号相同时,矿工会选择一个区块,选择的原则矿工可以自行确定(此时会导致自私挖矿,自私挖矿是另外一个问题)。当大多数矿工(更多的算力)确定了这个区块后,这个区块就会被确认。

  4. 上一条中说到的区块号相同的情况,未被选择的区块成为孤块,在比特币中,由于出快速度慢,可能性非常小,此时未被其他矿工确认你的区块的矿工会损失奖励。在以太坊中,则可能性较大,以太坊设置了叔块机制,后续的区块可以将前面的孤块引用成叔块,孤块被应用成数块,对应的打包的矿工也会得到奖励(根据区块号间隔数量,越近奖励越多),目前通过叔块发出的奖励约占挖矿奖励的7%。

  5. 区块被确认后,矿工同时会将确认区块中的交易从交易队列中移除,其他交易将继续进行挖矿流程。题主提到的交易AB,在确认区块的矿工那里,会根据确认区块内容,从交易队列中移除,C由于不在确认区块中,因此会在后续的区块中打包。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,3767 浏览
  • 李祥 提出于 2020-04-28 11:48