区块链软分叉之后,短链上的区块被抛弃,针对此情况我有两个疑问,请各位大神解答下:
当有两个矿工同时完成计算时,首先矿工会立即广播出这个区块等待确认,对于收到区块广播的矿工,分两种情况:一个是两个区块的区块号相同,一个是不相同。
两个区块号不同时,说明有一个由于某些原因(比如广播接收延迟),导致一个矿工的区块号码没有更新到最新,此时区块号大的会被矿工确认,小的将被丢弃。
两个区块号相同时,矿工会选择一个区块,选择的原则矿工可以自行确定(此时会导致自私挖矿,自私挖矿是另外一个问题)。当大多数矿工(更多的算力)确定了这个区块后,这个区块就会被确认。
上一条中说到的区块号相同的情况,未被选择的区块成为孤块,在比特币中,由于出快速度慢,可能性非常小,此时未被其他矿工确认你的区块的矿工会损失奖励。在以太坊中,则可能性较大,以太坊设置了叔块机制,后续的区块可以将前面的孤块引用成叔块,孤块被应用成数块,对应的打包的矿工也会得到奖励(根据区块号间隔数量,越近奖励越多),目前通过叔块发出的奖励约占挖矿奖励的7%。
区块被确认后,矿工同时会将确认区块中的交易从交易队列中移除,其他交易将继续进行挖矿流程。题主提到的交易AB,在确认区块的矿工那里,会根据确认区块内容,从交易队列中移除,C由于不在确认区块中,因此会在后续的区块中打包。