回滾,當某個塊的下一個塊發生了變化,我們就說發生了回滾。
如果
區塊鏈的共識規則改變后,這種改變是向前兼容的,舊節點可以兼容新節點產生的區塊,即為軟分叉。
以BIP34為例,要求coinbase data必須包含區塊高度,同時將版本信息從1修改為2
共分三個階段:
1.所有礦工按照舊規則驗證,不關心coinbase data內容,不管是新規則還是舊規則,都可以被網絡接受
2.如果最新產生的1000個區塊中,版本號為2的區塊個數超過75%,要求版本號為2的礦工必須按照新規則打包區塊,對于版本號為1的塊不進行驗證
3.如果新產生的1000個區塊中,版本號為2的區塊個數超過95%,則升級的礦工只接受版本號為2的區塊,并對coinbase data進行校驗,版本號為1的區塊不被接受。
軟分叉發生之后,因為塊數據改變,相應的blockhash也發生了改變,因此部分塊需要重新打包生成,這就造成了回滾,同時也造成了最長鏈變化。
區塊鏈回滾,會導致回滾塊所包含的交易作廢。我們的交易系統應該關注回滾情況,發生回滾后,更新系統中用戶余額。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。