什么是区块链回滚(又叫软分叉,区块链重构),区块链回滚会引发什么问题 (区块链软分叉硬分叉)

2023-03-01 17:30:01 views

回滚,当某个块的下一个块发生了变化,我们就说发生了回滚。


如果区块链的共识规则改变后,这种改变是向前兼容的,旧节点可以兼容新节点产生的区块,即为软分叉。

以BIP34为例,要求coinbase data必须包含区块高度,同时将版本信息从1修改为2

共分三个阶段:

1.所有矿工按照旧规则验证,不关心coinbase data内容,不管是新规则还是旧规则,都可以被网络接受

2.如果最新产生的1000个区块中,版本号为2的区块个数超过75%,要求版本号为2的矿工必须按照新规则打包区块,对于版本号为1的块不进行验证

3.如果新产生的1000个区块中,版本号为2的区块个数超过95%,则升级的矿工只接受版本号为2的区块,并对coinbase data进行校验,版本号为1的区块不被接受。


软分叉发生之后,因为块数据改变,相应的blockhash也发生了改变,因此部分块需要重新打包生成,这就造成了回滚,同时也造成了最长链变化。


区块链回滚,会导致回滚块所包含的交易作废。我们的交易系统应该关注回滚情况,发生回滚后,更新系统中用户余额。