Blockchain-Fork
硬分叉是否也需要包含軟分叉?
使用軟分叉和硬分叉的這些定義:
軟分叉——收緊共識規則,新區塊對舊節點仍然有效
硬分叉——放寬共識規則,新區塊可能對舊節點無效
在我看來,如果有人試圖部署一個僅放鬆一些共識規則但不收緊其他共識規則的純硬分叉,那麼他們的新網路將需要比原始網路或之前的鏈擁有更多的算力(這對於他們的新網路)總是會超過它,並且不會發生實際的分叉。換句話說,要使硬分叉成功,還應該包括軟分叉。它是否正確?
是的,如果硬分叉只是放鬆規則,硬分叉需要擦除保護,以防止節點按照舊規則重新組織為鏈尖,並進行更多工作。(即我會說硬分叉需要包括一些規則收緊以實現擦除保護,但我不會說硬分叉也需要包括軟分叉。)
過去的硬分叉提案通常確實規定了將可能倖存的未升級鏈尖排除在考慮範圍之外的規則。例如,比特幣現金在分叉高度更改了 sighash 算法,使比特幣交易在比特幣現金上無效,反之亦然,而 segwit2x 提案將要求分叉高度的區塊重量超過 4,000,000 WU。