Consensus

95% 的礦工採用門檻是如何確定的?

  • October 26, 2016

SegWit 不需要被所有(甚至大多數)節點使用才能安全使用,但它必須被幾乎所有礦工採用才能成功最小化或幾乎消除 SegWit 啟動後分叉或雙花的風險。

我的理解是,尚未啟動 SegWit 的(非挖礦)節點仍會認為 SegWit 交易有效(因為他們認為不需要簽名)。但是,如果某些礦工在一個區塊中包含 SegWit 交易,其他(非 SegWit)挖礦節點拒絕雙花或分叉理論上可能會發生。這種理解正確嗎?

考慮到這種風險,究竟是如何選擇 95% 的礦工採用水平的?是否有任何可用的統計模擬來估計雙花或分叉的可能性大於或小於 95%?

新的軟分叉使用BIP 9 (versionbits) 啟動,它指定了門檻值要求。95% 門檻值繼承自舊的BIP 34(絕對多數)軟分叉啟動方法。

具有大於 50% 散列能力的軟分叉應始終成為主導鏈,因為升級後的礦工將創建更難的難度鏈,而未升級的節點將被拉到該鏈上,因為它仍然對他們有效(軟分叉是向後的兼容的)。但是,任何未升級的礦工都可能創建在新規則下無效的塊。這些區塊將在新鏈上成為孤立的。礦工採用率越低,這個新的孤兒率就越高。

實際上,一旦達到門檻值並鎖定軟分叉,幾乎所有礦工都會升級到新規則。

95% 的比率是一個非常保守的門檻值,以確保對新變化達成廣泛共識。

尚未啟動 SegWit 的礦工,仍將確認 SegWit 交易

這不是真的。如果礦工沒有啟動 SegWit,那麼它就不能在其區塊中包含 SegWit 交易(要包含 SegWit 交易,它需要包含見證數據並送出到 coinbase 交易中見證的 merkle 根)。BIP 141記錄了 SegWit 的所有共識規則更改。

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