欧易OKX矿池接入教程
什么是区块链回滚,区块链回滚会引发什么问题
2022.03.02
回滚,当某个块的下一个块发生了变化,我们就说发生了回滚。
如果区块链的共识规则改变后,这种改变是向前兼容的,旧节点可以兼容新节点产生的区块,即为软分叉。
以BIP34为例,要求coinbase data必须包含区块高度,同时将版本信息从1修改为2
共分三个阶段:
1.所有矿工按照旧规则验证,不关心coinbase data内容,不管是新规则还是旧规则,都可以被网络接受
2.如果最新产生的1000个区块中,版本号为2的区块个数超过75%,要求版本号为2的矿工必须按照新规则打包区块,对于版本号为1的块不进行验证
3.如果新产生的1000个区块中,版本号为2的区块个数超过95%,则升级的矿工只接受版本号为2的区块,并对coinbase data进行校验,版本号为1的区块不被接受。
软分叉发生之后,因为块数据改变,相应的blockhash也发生了改变,因此部分块需要重新打包生成,这就造成了回滚,同时也造成了最长链变化。
区块链回滚,会导致回滚块所包含的交易作废。我们的交易系统应该关注回滚情况,发生回滚后,更新系统中用户余额。