CVE-2018-17144 揭露
除了已公開的當機問題,CVE-2018-17144 還讓礦工能在 0.15.X 至 0.16.2 版本中,透過在單筆交易內重複花費同一輸出來增發比特幣。開發者當初按下這部分不表,好讓系統有時間升級到 0.16.3 或 0.17.0rc4。據信超過一半算力已完成修補,目前沒有已知的攻擊嘗試,受影響使用者應盡快升級。
Bitcoin Core
比特幣的參考實作。其網站發布新版本消息、安全性公告與專案聲明。
119 篇文章
除了已公開的當機問題,CVE-2018-17144 還讓礦工能在 0.15.X 至 0.16.2 版本中,透過在單筆交易內重複花費同一輸出來增發比特幣。開發者當初按下這部分不表,好讓系統有時間升級到 0.16.3 或 0.17.0rc4。據信超過一半算力已完成修補,目前沒有已知的攻擊嘗試,受影響使用者應盡快升級。
Bitcoin Core
CVE-2018-17144 會讓 Bitcoin Core 0.14.0 到 0.16.2 在遇到含有重複花費同一輸入之交易的區塊時當機,官方呼籲使用者立刻升級到 0.16.3。只有願意放棄至少 12.5 BTC 應得收入的礦工,才做得出這種區塊。
Bitcoin Core
verifytxoutproof RPC 在 Bitcoin Core 0.16.2 不再受 6 月初揭露的 SPV 證明攻擊影響,這種攻擊成本高昂,真正的 SPV 客戶端仍有風險。另一項修正讓 abandontransaction 放棄交易的所有後代,不再只處理到子交易。
Bitcoin Core
Bitcoin Core 0.16.1 不再轉發舊式簽章腳本中的 OP_CODESEPARATOR,這項政策調整讓日後修補驗證緩慢區塊更容易部署。礦工失去 -blockmaxsize,改用 -blockmaxweight,另有一項修正解決連續快速產出兩個區塊時可能損失收入的錯誤。
Bitcoin Core
Segwit 在 Bitcoin Core 0.16.0 成為錢包預設:除非以 -addresstype 另行指定,新位址都是 p2sh-segwit,也能產生 BIP173 原生 bc1 位址並向其付款。新錢包一律為 HD 錢包,舊版本無法讀取;GUI 傳送畫面也預設開啟 BIP125 RBF。
Bitcoin Core
為防範未來的網路分叉,Bitcoin Core 0.15.1 在初始同步期間會斷開鏈工作量低於 minimum-chain-work 的對等節點,也會斷開提供已知無效標頭的出站節點。鏈頂停滯 30 分鐘會多開一條出站連線。礦工不能再直接使用 blockmaxsize,這個參數已棄用,只會換算成權重上限。
Bitcoin Core
GUI 啟動時當機,是 Bitcoin Core 0.15.0.1 推出的原因:部分升級到 0.15.0 的用戶端,因介面已不再提供的自訂手續費設定而當掉。最小幅度的修補 #11332 會處理這個無效值。
Bitcoin Core
Bitcoin Core 0.15.0 的手續費估算最遠可看 1,008 個區塊,先前僅 25 個;GUI 使用者也能透過 Replace-By-Fee 提高未確認交易的手續費。以輸出為單位的 chainstate 資料庫讓初始區塊下載加快 30-40%,首次啟動會自動轉換,約需 5 到 30 分鐘。
Bitcoin Core
Bitcoin Core 的常態貢獻者與 Segwit2x 實作 btc1 毫無關聯,專案也駁斥它是必要更新的說法,直指這是脫離網路規則、充滿爭議的做法。數日內即將登場的軟分叉 Segwit 與這次硬分叉無關,多數使用者無須動作。聲明也警告,Segwit2x 沒有規劃強力的重放保護。
Bitcoin Core
啟用 UPnP 的使用者應立刻安裝 Bitcoin Core 0.14.2:內建 miniupnpc 的整數正負號錯誤 CVE-2017-8798,讓區域網路內的攻擊者可造成阻斷服務,甚至其他危害。UPnP 預設關閉,從未開啟的節點不受影響。
Bitcoin Core
Segwit 啟用後,未支援 segwit 的礦工仍可繼續使用 getblocktemplate,因為 Bitcoin Core 0.14.1 會把 segwit 交易從範本中剔除。-dbcache 預設值改為 450MiB,寫入高峰期間也守得住上限。createrawtransaction 與 disconnectnode 的引數改名,沿用 0.14.0 具名引數的呼叫端會出錯。
Bitcoin Core
Bitcoin Core 路線圖上的混合式完整區塊 SPV 模式,讓新節點的錢包在同步結束前就能收付款:先從錢包最舊金鑰對應的區塊抓起,完整驗證則在背景繼續。Bloom filter 的隱私洩漏因此消失,代價是更多頻寬,付款也應等到 6 次以上確認。
Bitcoin Core
以 Schnorr 簽章取代 ECDSA,能把 50-of-50 多重簽章縮小到單一金鑰花費的大小,也能對外隱藏其條件。Bitcoin Core 路線圖指出,主要障礙是 cancellation 攻擊:惡意簽署者減去其他使用者的金鑰。Delinearization 可應付這種攻擊,不過其安全性證明仍在同儕審查中。
Bitcoin Core
這系列回顧參考軟體的提速歷程,第一部分談到 Bitcoin-Qt 0.7.0 的簽章快取、0.8.0 的 Ultraprune 搭配 LevelDB,以及 Bitcoin Core 0.10 的 headers-first 同步。在開發者的效能測試中,光是平行腳本驗證就帶來 35% 到 100% 的提升。
Bitcoin Core
在 Amazon EC2 預設設定的測試中,新節點用 Bitcoin Core 0.14.0 完成初始區塊下載,速度是 0.13.2 的 5.7 倍:6 小時 24 分對上 1 天 12 小時 40 分。功臣是 assumed valid 區塊,以及記憶池與 UTXO 快取共用記憶體。錢包也多了選用的手續費加價功能,預設關閉。
Bitcoin Core
錢包發送交易碰到未確認交易鏈上限時,Bitcoin Core 0.13.2 不再回傳 RPC 錯誤,而是回報成功,並在重新廣播時再次嘗試寫入記憶池,不必重新啟動。1 個區塊目標的手續費估算已停用,無效 compact block 的處理也獲修正。
Bitcoin Core
把 segwit 包在 P2SH 裡的位元組成本最高:以 180 位元組交易計算,P2WSH/P2SH 多 19%,P2WPKH/P2SH 多 11%,這是 Bitcoin Core 盤點 BIP141 影響後列出的數字。驗證每筆交易約多出五次 SHA256 雜湊。風險方面列出漏洞、區塊變大與手續費下降,作者對啟用與否不表態。
Bitcoin Core
Bitcoin Core 0.13.1 提供礦工發出 segwit 軟分叉信號的程式碼,信號自 2016 年 11 月 15 日起的下一個難度調整週期開始。鎖定需要 2,016 個區塊週期內 95% 的區塊支持,再過一個週期才啟用。錢包維持相容,可能只有礦工需要動作。
Bitcoin Core
Segwit 程式碼進入 Bitcoin Core 0.13.0,但在主網維持未啟用;要在主網使用得等後續版本,預期是 0.13.1。Compact block 轉發(BIP152)減緩頻寬尖峰,新錢包採用 BIP32 HD 金鑰,一份備份就涵蓋未來所有私鑰。官方下載也新增 Linux ARM 版本。
Bitcoin Core