Full-Node

在網路級別(全節點)比特幣協議整合/凍結的標準

  • March 9, 2022

在比特幣開發過程中,存在如下高層控制結構:

  • 任何人都可以送出旨在改變比特幣核心的 BIP
  • BIP 必須由編輯批准
  • BIP 必須以礦工 95% 的信心投票通過
  • 社區必須升級到新的軟體版本

作為全節點社區成員,我一直將我的節點更新到最新版本的比特幣核心。一個好的答案會讓我打消對下一個問題的疑慮:

  1. 更新到最新軟體版本時我應該考慮或註意什麼?
  2. 例如,與 TCP/IP 協議相比,比特幣協議在社區/網路層面整合的標準是什麼?
  3. 是否有任何類型的更改需要網路參與者(全節點)額外謹慎?

謝謝你。

我想你對大意有所了解,但我想先逐點解決一些誤解。

  • 任何人都可以送出旨在改變比特幣核心的 BIP

比特幣改進提案 (BIP) 用於提供全球相關資訊或提議對比特幣協議進行更改。對比特幣核心等單一實現的更改是通過該項目的儲存庫進行的。

  • BIP 必須由編輯批准

BIP 編輯僅確保 BIP 滿足某些最低標準,例如可行、符合主題和完整。

  • BIP 必須以礦工 95% 的信心投票通過
  • 社區必須升級到新的軟體版本

提議共識更改的 BIP 必須定義啟動機制。例如,Taproot 使用了 Speedy Trial 啟動,其中包括礦工發出準備信號。礦工不對提議的變更進行投票,他們被要求評估他們是否認為網路支持變更並表示準備好執行共識變更。完整節點升級以發出信號支持並在啟動後強制執行共識更改。如果開發者、社區和礦工對於是否應該啟動某些東西存在嚴重分歧,這應該在公開辯論中充分可見,這樣快速試用啟動嘗試就會失敗。

更新到最新軟體版本時我應該考慮或註意什麼?

節點運營商根據他們執行的軟體定義他們認為是比特幣的東西。如果您想支持採用共識更改,您應該執行有助於新規則的軟體。如果您不同意共識變更,您應該執行表達這種分歧的軟體,或者通過不支持變更來被動地表達這種分歧,或者通過以某種方式抵消它來積極地表達這種分歧。如果一切都一樣,您可能應該執行一些最近的軟體,以獲取最新的錯誤修復、功能和改進。例如,Bitcoin Core 的生命週期為目前和以前的主要版本提供維護,舊版本接收關鍵安全修復的時間要長一些,但此後不久就會被視為生命週期結束。其他項目有自己的作案手法。

例如,與 TCP/IP 協議相比,比特幣協議在社區/網路層面整合的標準是什麼?

TCP/IP 由開放標準組織IETF維護。據我了解,IETF 標準跟踪的 RFC 啟發了 BIP 流程。我假設 TCP/IP 協議更改採用的細微差異主要會導致參與者降級為共享機制以實現兼容性。然而,在比特幣上,共識變更必須被網路廣泛採用才能生效,因此在網路層面上的過程有一個新興屬性。例如,如果使用者執行的節點軟體執行的規則與其他節點執行的規則相衝突,則可能會導致網路永久分裂,從而導致分叉幣的分拆。

是否有任何類型的更改需要網路參與者(全節點)額外謹慎?

除非新版本引入共識更改,否則通常不會。如果您是高級使用者,您應該查看發行說明以查看您使用的 RPC 是否有任何更改。如果任何現有功能被刪除,這通常會在多個主要版本中逐步發生。

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