Bitcoin-Core

參考客戶端 Bitcoin Core 是否確定共識規則?

  • February 11, 2022

參考客戶端 Bitcoin Core 是否確定共識規則?如果 BIP 和 Core 程式碼庫之間存在差異(就像我們最近看到Core 的 BIP 125 實施,誠然是政策規則而不是共識規則),BIP 被忽略時,我們為什麼要關心 BIP 中的內容?

在任何實施嘗試但最終未能遵循規範的情況下,這是流程的失敗。也許 BIP 不清楚或不夠嚴格,也許實施者犯了一個善意的錯誤。不管我們有 BIP 流程的原因之一是為了避免這樣的失敗。實施者應該通過閱讀 BIP 了解他們正在實施的內容以及實施細節的基本原理。當他們查看 BIP 的另一個實現時,它應該與 BIP 中的佈局相匹配。任何(重新)實現都不應該決定它是否應該遵循 BIP 或是否應該遵循比特幣核心程式碼庫中的內容(當然,在適用於所有實現的共識規則的情況下)。

共識規則(以及類似程度的策略規則,儘管至少在基礎層共識規則比策略規則更受關注)非常難以更改,尤其是在短時間內。對於造成系統性風險的漏洞(例如通貨膨脹漏洞),我們會在短時間內推送和分發緊急修復程序,顯然與 BIP 的任何差異都不是我們最關心的問題。我認為通常執行程式碼勝過文字,但由於系統性風險和緊急修復,我認為情況並非總是如此。

關於比特幣核心是否在其程式碼庫和 BIP 之間存在這種差異的情況下確定共識規則,在撰寫本文時,今天有一個強有力的理由。許多人認為比特幣核心是參考實現,在撰寫本文時它肯定是網路上的主要實現。但是,這並不能保證比特幣的其餘存在。如果在未來某個時間在比特幣核心中做出共識更改而遭到更廣泛的比特幣社區的強烈反對,那麼很可能會努力建構和執行替代實施。希望這永遠不會發生,但顯然比特幣的共識規則不應該完全依附於當時比特幣核心維護者和貢獻者的觀點。例如,比特幣核心維護者和貢獻者不應該有能力改變區塊獎勵計劃或在沒有社區共識的情況下從特定地址為自己索取資金。期望社區必須接受這一點顯然是不合理的,因為比特幣核心被認為是比特幣共識規則的最終仲裁者。

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