Blockchain-Fork

為什麼軟分叉無法分割網路?

  • May 25, 2018

我想知道為什麼軟分叉原則上不能像硬分叉那樣劃分比特幣網路。我理解,根據定義,軟分叉只涉及收緊共識規則,但結果仍然是兩套不同的共識規則。如果一些節點認為一個區塊或交易有效,而另一些節點認為它無效,那麼無論哪一方的共識規則更新,網路劃分都應該是可能的。該部門中每一方的角色將與硬分叉情況相反。

我想知道為什麼軟分叉原則上不能像硬分叉那樣劃分比特幣網路。

原則上,如果您不指定任何其他假設,軟分叉絕對可以分割比特幣網路。

但是,區分軟分叉和硬分叉的相關點是,只要大多數算力執行新規則,網路就會始終收斂。

這樣做的原因是,即使老礦工會產生一個違反軟分叉規則的區塊,新礦工也不會在它之上工作。他們將忽略這樣的塊,並開始在競爭分支上工作。由於他們佔多數,這個競爭分支將在某個時候超過老礦工的分支。軟分叉的向後兼容性意味著屆時老礦工將切換到新分支,放棄自己的分支,因為新分支更長並且對他們有效。通過這個,分叉被解決,整個網路最終再次在一條鏈上工作。

正如您在上面看到的,剩餘的老礦工將導致鏈中增加(臨時)分叉。為了避免這些干擾網路的安全屬性,比特幣最近的軟分叉採用了 95%(以一種或另一種方式衡量)的礦工信號門檻值——最多留下 5% 的可能產生分叉的門檻值。

軟分叉不能分割網路,因為它們是在礦工共識下發生的。為此,礦工通過在其區塊版本號中設置某些位來表示他們已準備好並在啟動後執行新規則。一旦有足夠多的區塊發出信號准備就緒(使用 BIP 9,這通常是 2016 年區塊重定向周期中的 1916 年,因此 95% 的區塊),新規則將啟動。

不會發生鏈分裂,因為理論上沒有或很少有礦工執行舊節點以產生無效塊。無論如何,那些通常會快速升級的產品。

硬分叉可以做類似的事情來防止鏈分裂,但是硬分叉不能做的是防止舊節點(非挖礦)被分叉出網路。軟分叉的向後兼容性允許舊節點在分叉啟動後保留在網路上。

引用自:https://bitcoin.stackexchange.com/questions/75543