Protocol
為什麼硬分叉是個問題?
我對“硬分叉”的理解是它指的是任何需要從創世塊重建區塊鏈的東西。但現在,我明白任何需要升級 Bitcoin-Qt 客戶端的東西也是硬分叉。為什麼硬分叉在比特幣社區被認為是一個問題?
使用者錢包和儲存的密鑰更為重要,因此所有升級都必須確保它們不會破壞這些,但升級舊客戶端以使用新功能是否重要?
比特幣網路中的所有節點都同意了一套規則。這些規則被編碼到客戶端中,所有改變賬本狀態的東西都會根據這些規則進行檢查。
當這些規則(例如獎勵減半規則或難度調整規則)的變化導致新客戶對交易和區塊的有效性做出不同的決定時,就會發生硬分叉。這基本上意味著隨著時間的推移,舊客戶端上的賬本狀態將與新客戶端上的狀態不同,從而創建兩個不兼容的網路,因為交易在一個中有效,而在另一個無效。
由於交易和區塊連結在一起,即使是對交易或區塊有效性的單一分歧也會導致大部分狀態隨著時間的推移而變得不一致,因此整個網路就規則達成一致至關重要。
開發人員保留了硬分叉更改的願望清單,因為硬分叉應該是一個罕見的事件,破壞性更改被捆綁到硬分叉上。硬分叉中決定的更改有一個觸發高度,之後它們將被應用,這通常是未來幾個月,以便讓替代客戶端的開發人員和使用者在切換之前更新他們的節點,最大限度地減少留下的不兼容節點的數量。