Bitcoin Core 30.3 釋出
chainstate 造成的磁碟頻繁讀寫在 Bitcoin Core 30.3 畫下句點。這一版也修復 feebumper 在無法取得合併加價手續費時當機(#34870),以及幣選擇把金額算成布林值的錯誤(#34888)。PSBT 方面,解序列化 pubnonce 與部分簽章時現在會驗證 MuSig2 公鑰(#34219)。
Bitcoin Core
來自比特幣軟體開發者的版本發布、安全性公告與協定開發工作。
121 篇文章
chainstate 造成的磁碟頻繁讀寫在 Bitcoin Core 30.3 畫下句點。這一版也修復 feebumper 在無法取得合併加價手續費時當機(#34870),以及幣選擇把金額算成布林值的錯誤(#34888)。PSBT 方面,解序列化 pubnonce 與部分簽章時現在會驗證 MuSig2 公鑰(#34219)。
Bitcoin Core
Bitcoin Core 31.1 補上 -privatebroadcast 的 IP 位址外洩:部分連線原本走明網,而不是已啟用的隱私網路。chainstate 反覆重寫導致磁碟活動過量的問題也一併解決,MuSig2 金鑰聚合則開始拒絕空的公鑰清單(#35316)。
Bitcoin Core
啟用 -privatebroadcast 的 Bitcoin Core 31.0,在 v2 交握失敗後的 v1 重試會跳過 Tor 代理直接連上對等節點,發送者的 IP 位址因此可能曝光。最可能的觸發情境是惡意節點故意中斷交握。在 31.1 推出前,使用者可關閉此功能、設定 -v2transport=0,或讓 IPv4/IPv6 對外連線全部走 Tor。
Bitcoin Core
Bitcoin Core 0.14.0 之後、29.0 之前的版本,驗證特製無效區塊時可能讀取已釋放的記憶體,導致節點當機。CVE-2024-52911 評為高風險,不過攻擊者必須在鏈頂付出有效的工作量證明,遠端執行程式碼的可能性也被認為不大。這個漏洞由 Cory Fields 通報,29.0 已納入修補。
Bitcoin Core
叢集記憶池在 Bitcoin Core 31.0 取代舊設計:祖先與後代限制改為每個叢集上限 64 筆交易、101 kB,CPFP carveout 也一併取消。記憶體至少 4096 MiB 的機器,-dbcache 預設提高到 1024 MiB;新增的 -privatebroadcast 選項則讓 sendrawtransaction 只透過 Tor 或 I2P 廣播。
Bitcoin Core
Bitcoin Core 28.4 修正未命名錢包的兩項錯誤:舊版錢包遷移(#34156),以及 createfromdump 失敗時會刪除 wallets 目錄(#34215)。chainparams 也移除了一個 DNS 種子(#33723)。
Bitcoin Core
對等節點傳送違反共識的交易,Bitcoin Core 29.3 不再予以懲處(#33050)。驗證流程新增逐輸入的 sighash midstate 快取,涵蓋 legacy、P2SH 與 segwit v0 腳本(#32473),偵測 witness stripping 也不必重跑 Script 檢查(#33105);礦工程式 addPackageTxs 的無號整數溢位則已排除(#33475)。
Bitcoin Core
未命名舊版錢包遷移失敗的問題,到 Bitcoin Core 30.2 已獲解決(#34156),createfromdump 處理這類錢包失敗時也不再刪除 wallets 目錄(#34215)。IPC 等待呼叫期間按 Ctrl-C 不會再卡住(#33511)。
Bitcoin Core
在罕見情況下,Bitcoin Core 30.0 或 30.1 遷移 wallet.dat 失敗時,可能刪光錢包目錄內所有檔案,資金因此面臨風險。開發者已下架這兩版的二進位檔,並請使用者在 30.2 推出前不要透過 GUI 或 RPC 遷移。觸發條件是預設、未命名的 wallet.dat 遷移或載入失敗,其他使用者不受影響。
Bitcoin Core
錢包在 Bitcoin Core 30.1 不再選用帶有祖先的未確認 TRUC 幣(#33528)。IPC 方面,選項不必再加 -m 參數(#33229),訊息記錄的額外負擔降低(#33517),執行中的 waitNext 呼叫也可以取消(#33676)。
Bitcoin Core
特製的非標準交易每筆可佔用 Bitcoin Core 節點數秒,發送方卻不會被斷線,攻擊者可藉此拖慢區塊傳播。CVE-2025-46598 評為低風險,由 Antoine Poinsot 通報,v30.0 透過縮短最壞情況的驗證時間來緩解。
Bitcoin Core
超過 1GB 的區塊可能讓 32 位元 Bitcoin Core 節點的大小檢查溢位,並在寫入磁碟時當機,但前提是以 compact block 形式傳送,受害者還得把 -maxmempool 設在 3GB 以上、內有 1GB 交易。Pieter Wuille 發現的 CVE-2025-46597 評為低風險,29.1 與 30.0 限制 32 位元系統的 -maxmempool 後問題解除。
Bitcoin Core
反覆傳送無效區塊可能耗盡 Bitcoin Core 節點的磁碟空間,因為未通過基本檢查、或在最後檢查點之前分岔的區塊都會被逐一寫入記錄。Niklas Goegge 與 Eugene Siegel 分別獨立通報 CVE-2025-54605,評為低風險,29.1 與 30.0 以記錄限速修復。
Bitcoin Core
Bitcoin Core 28.3 調低預設最低費率:-blockmintxfee 降到每 kvB 1 聰,-minrelaytxfee 與 -incrementalrelayfee 降到每 kvB 100 聰。錢包費率維持不變,若新預設值未在全網普及,低費率交易可能傳不出去。另外,白名單權限不再適用於洋蔥入站連線(#33395)。
Bitcoin Core
Bitcoin Core 29.2 替 FillBlock 補上兩項 P2P 修正:見證變造檢查(#32646),以及呼叫前的空標頭檢查(#33296)。區塊重組時不再強制執行 TRUC 檢查(#33504),getblock 與 getblockheader 也不再回傳鏈頂的 target(#33446)。
Bitcoin Core
OP_RETURN 限制在 Bitcoin Core 30.0 形同取消:-datacarriersize 預設值為 100,000,單筆交易可帶多個資料輸出,想恢復舊上限可設 -datacarriersize=83。預設轉發費率降至每 vB 0.1 聰,每筆標準交易的 legacy 簽章操作上限為 2500 次,另新增 bitcoin 指令包裝現有執行檔。
Bitcoin Core
Bitcoin Core 29.1 為無條件寫入磁碟的記錄設下限速,每個來源位置每小時 1MiB(#32604);標準交易中可能被執行的 legacy 簽章操作最多 2500 次。預設轉發費率降至每 kvB 100 聰,32 位元版本則把 -maxmempool 限制在 500MB、-dbcache 限制在 1GiB。
Bitcoin Core
Bitcoin Core 28.2 有超過一半的異動都是建置工作。Guix 現在會替 macOS app bundle 公證,並為所有 macOS 與 Windows 二進位檔進行程式碼簽章(#31407);depends 也修正了 NetBSD 上 libevent(#31500)與 cmake 下 freetype(#32693)的編譯問題。
Bitcoin Core
Bitcoin Core 29.0 拿掉 UPnP 支援,-natpmp 改用內建的 PCP 與 NAT-PMP 實作,不再依賴 libnatpmp。新增 ephemeral dust 政策;區塊權重重複保留的問題修正後多了 -blockreservedweight;節點也會向所有宣告過孤兒交易的對等節點索取缺少的父交易。26.x 及更舊版本進入 Maintenance End。
Bitcoin Core
設定 -port 後,Bitcoin Core 28.1 的預設洋蔥監聽連接埠會是該連接埠加一,不再固定為主網的 8334,同一台機器上的多個節點又能並行,啟動時不致衝突。torrc 中手動設定的 HiddenServicePort 可能需要修改。DecodeExtKey 也會清除機密資料(#31166)。
Bitcoin Core