Bitcoin Core 27.0

Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.

27.0 版本說明

Bitcoin Core 27.0 版本現已發布,可從以下位置下載:

https://bitcoincore.org/bin/bitcoin-core-27.0/

此版本包含新功能、各種錯誤修正和效能改善,以及更新的翻譯。

請使用 GitHub 的問題追蹤器回報錯誤:

https://github.com/bitcoin/bitcoin/issues

如需接收安全性和更新通知,請訂閱:

https://bitcoincore.org/zh_TW/list/announcements/join/

如何升級

如果您正在執行舊版本,請將其關閉。等待它完全關閉(在某些情況下可能需要幾分鐘),然後執行安裝程式(在 Windows 上)或直接複製 /Applications/Bitcoin-Qt(在 macOS 上)或 bitcoind/bitcoin-qt(在 Linux 上)。

可以直接從已達到 EOL 的 Bitcoin Core 版本升級,但如果需要遷移資料目錄,可能需要一些時間。通常支援舊版本的 Bitcoin Core 錢包。

相容性

Bitcoin Core 在使用 Linux Kernel 3.17+、macOS 11.0+ 和 Windows 7 及更新版本的作業系統上受到支援和廣泛測試。Bitcoin Core 也應該可以在大多數其他類 Unix 系統上運作,但在這些系統上的測試頻率較低。不建議在不受支援的系統上使用 Bitcoin Core。

重要變更

libbitcoinconsensus

  • libbitcoinconsensus 已棄用,將在 v28 中移除。此程式庫已存在近 10 年,但已知的採用率或影響很小。它已成為維護負擔。

    底層功能在版本之間不會變更,因此程式庫的任何使用者都可以無限期地繼續使用最終版本,但要了解 Taproot 是其最終的共識更新。

    未來,libbitcoinkernel 將提供更有用的 API,該 API 了解 UTXO 集,因此能夠完全驗證交易和區塊。(#29189)

mempool.dat 相容性

  • 由 -persistmempool 或 savemempool RPC 建立的 mempool.dat 檔案將以新格式寫入。此新格式包括對交易內容進行 XOR 處理,以緩解外部程式(例如防毒軟體)嘗試解釋並可能修改檔案的問題。

    此新格式無法由先前的軟體版本讀取。為了允許降級,已新增臨時設定 -persistmempoolv1 以回退到舊格式。(#28207)

P2P 和網路變更

  • BIP324 v2 傳輸現在預設啟用。仍然可以透過使用 -v2transport=0 執行來停用 v2。(#29347)
  • 手動連線選項(-connect-addnode-seednode)現在將遵循 -v2transport 以預設使用 v2 連線。它們將在失敗時重試 v1。(#29058)

  • 網路調整時間已從共識程式碼中移除。它被(未調整的)系統時間取代。大中位數時間偏移(70 分鐘或更長)的警告保留。這移除了需要大多數出站對等節點誠實的隱含安全假設,並增加了節點營運者確保其系統時間正確(並保持正確)以免與網路失去共識的重要性。(#28956)

Mempool Policy 變更

  • 選擇性 Topologically Restricted Until Confirmation (TRUC) Transactions 政策(又名 v3 交易政策)可在設定 -acceptnonstdtxn=1 時在測試網路上使用。透過將交易版本號設定為 3,TRUC 交易請求對其未確認輸出的花費施加限制。這些限制簡化了接受或替換 TRUC 交易的激勵相容性評估,從而確保任何替換對節點更有利,並使費用提升更可靠。TRUC 交易目前是非標準的,只能在放寬或停用標準性規則的測試網路上使用(例如使用 -acceptnonstdtxn=1)。(#28948)

外部簽署

  • Windows 上的外部簽署支援已停用。一旦底層相依性(Boost Process)被不同的程式庫取代,它將重新啟用。(#28967)

更新的 RPC

  • addnode RPC 現在遵循 -v2transport 選項(現在預設開啟,見上文)來建立連線。仍然可以使用 addnode 的 v2transport 參數手動指定傳輸類型。(#29239)

建置系統

  • 現在需要支援 C++20 的編譯器來建置 Bitcoin Core。(#28349)
  • MacOS 版本設定為使用強化執行時期程式庫 (#29127)

錢包

  • 已引入 CoinGrinder 幣選擇演算法,以減少不必要的大輸入集並降低高費率下的交易成本。CoinGrinder 搜尋權重最小的輸入集。CoinGrinder 找到的解決方案將產生找零輸出。CoinGrinder 僅在費率升高時活躍(預設:30+ sat/vB,基於 -consolidatefeerate×3)。(#27877)
  • 當使用從輸出中減去費用功能時,Branch And Bound 幣選擇演算法將被停用。(#28994)
  • 如果檢測到描述符的出生時間晚於涉及該描述符的第一筆交易,則出生時間將重置為較早的時間。(#28920)

低階變更

修剪

  • 在初始區塊下載期間修剪時,每次刷新將修剪更多區塊,以加快此類節點的同步速度。(#20827)

初始化

  • 各種修正以防止 Bitcoin Core 的後續實例導致刪除現有實例正在使用的檔案的問題。(#28784, #28946)
  • 改進對空 settings.json 檔案的處理。(#29144)

致謝

感謝所有直接為此版本做出貢獻的人:

  • 22388o⚡️
  • Aaron Clauson
  • Amiti Uttarwar
  • Andrew Toth
  • Anthony Towns
  • Antoine Poinsot
  • Ava Chow
  • Brandon Odiwuor
  • brunoerg
  • Chris Stewart
  • Cory Fields
  • dergoegge
  • djschnei21
  • Fabian Jahr
  • fanquake
  • furszy
  • Gloria Zhao
  • Greg Sanders
  • Hennadii Stepanov
  • Hernan Marino
  • iamcarlos94
  • ismaelsadeeq
  • Jameson Lopp
  • Jesse Barton
  • John Moffett
  • Jon Atack
  • josibake
  • jrakibi
  • Justin Dhillon
  • Kashif Smith
  • kevkevin
  • Kristaps Kaupe
  • L0la L33tz
  • Luke Dashjr
  • Lőrinc
  • marco
  • MarcoFalke
  • Mark Friedenbach
  • Marnix
  • Martin Leitner-Ankerl
  • Martin Zumsande
  • Max Edwards
  • Murch
  • muxator
  • naiyoma
  • Nikodemas Tuckus
  • ns-xvrn
  • pablomartin4btc
  • Peter Todd
  • Pieter Wuille
  • Richard Myers
  • Roman Zeyde
  • Russell Yanofsky
  • Ryan Ofsky
  • Sebastian Falbesoner
  • Sergi Delgado Segura
  • Sjors Provoost
  • stickies-v
  • stratospher
  • Supachai Kheawjuy
  • TheCharlatan
  • UdjinM6
  • Vasil Dimov
  • w0xlt
  • willcl-ark

以及所有在 Transifex 上協助翻譯的人。