發生什麼:AI 寫成的 Rust 全節點推出 0.8 版
Bitcoin Optech 在 2026 年 10 月 23 日出刊的第 428 期週報中,介紹了一套名為 rbitcoin 的比特幣全節點軟體,定位是錢包與閃電網路節點的後端,並特別點出它「完全由 AI 撰寫」。這不是本週才發生的事件:rbitcoin 的 v0.8.0 版本於 10 月 10 日(UTC)在 GitHub 發布,專案 CHANGELOG 標記的版本日期為 10 月 9 日。
依專案 SECURITY.md,rbitcoin 的第一方程式碼「100% 由 AI(Grok,xAI)撰寫」,由開發者 Brandon Black(GitHub 帳號 @reardencode)指揮與下提示。文件同時寫明,這不改變漏洞回報與共識完整性的嚴肅程度,但使用者在把真實資金交給部署前,應預期需要獨立審查、模糊測試(fuzzing)與對抗性測試。
架構差異:不存 UTXO 集、Electrum 內建
多數全節點(以 Bitcoin Core 為代表)以「UTXO 集加區塊檔」為核心,Electrum 錢包後端則多半是另一個節點外接的索引器。README 表示 rbitcoin 兩者都不採用:它不維護 UTXO 集,改用自稱的「關聯式歸檔」,並把 Electrum 服務、交易索引與可選的 Esplora REST 介面放進同一個程序;Electrum 與 Esplora 需開啟預設關閉的 --sh-index 參數。
其他自述特徵包括:共識與腳本驗證以純 Rust 實作,不使用 libbitcoinconsensus;P2P 只支援 BIP324 v2 加密傳輸;熱資料約 200 GiB、含冷資料檔約 730 GiB;在筆電等級主機上以 --milestone 0 全程驗證時,初始同步(IBD)不到約 30 小時。這些數字皆為專案自述,本文未獨立實測。README 也明言它不是可直接替換 Core 的節點,且在預設設定下不宣稱已完整驗證主網歷史腳本。
0.8.0 修了什麼:與 Core 判斷不一致之處
v0.8.0 發行說明有一節標題為「共識檢查在過去不一致之處與 Bitcoin Core 對齊」,列出的修正包括:BIP30 只在 BIP34 高度的區塊確實是該網路的 BIP34 區塊時才關閉,且自高度 1,983,702 起一律啟用;同一批次確認中,不能花用該批次較後區塊才產生的輸出;創世區塊的 coinbase 不是可花用的幣;舊式 CHECKMULTISIG 遇到空簽章時會從 scriptCode 刪除 OP_0。另外,一個有效區塊的損壞副本會重新請求,不會被快取為無效。
防阻斷服務方面,inv、getdata、notfound 訊息數量超過 50,000 會直接解碼失敗,RPC 請求主體上限 2 MiB,單一連線外送佇列超過 4 MiB 即暫停。
發行說明感謝 @otaliptus 的安全審查,以及 @dergoegge、@rob1ham、@1440000bytes 先前回報的問題;新版也附上 Sparrow、Liana、BlueWallet、BDK 等錢包與閃電節點的設定指南。
預設略過 84 萬高度前的腳本檢查
rbitcoin 主網預設 --milestone 為高度 840,000,並錨定該高度的特定區塊雜湊。依官網說明,只有當區塊頭路徑包含這個錨定區塊、且鏈上累積工作量達到 Bitcoin Core 的最低門檻時,才會略過 84 萬高度以下的腳本與簽章檢查;只共享相同高度的分叉不會略過。前序輸出、雙花、成熟度與手續費檢查仍照常執行。若要全程驗證須設 --milestone 0,而且必須在第一次同步前選定,事後更改不會重新檢查已儲存的區塊。signet 預設為 0,即全部驗證。
這個做法與 Bitcoin Core 自 0.14.0 起引入的 assumevalid 概念相近:Core 的發行說明指出,若已知某段區塊歷史有效,便可略過其祖先區塊的腳本驗證,預設值會在每次發布前調整到接近當時的鏈,使用者可用 -assumevalid=0 停用。差別在於 rbitcoin 目前的預設錨點固定在 84 萬高度,而非隨版本更新。
AI 觀點分析與推論
AI 觀點:價值在差異測試,風險在共識分歧
我認為 rbitcoin 最值得關注的不是「AI 能寫出全節點」這個標題,而是它提供了另一套獨立撰寫的共識程式。官網說明它以差異模糊測試等方式檢查與 Core 的一致性,同時坦承這些測試「無法證明」兩者永遠一致。0.8.0 一口氣修正 BIP30、CHECKMULTISIG、創世 coinbase 等邊界情況,一方面顯示測試確實抓到問題,另一方面也證明先前版本存在可被觸發的判斷分歧。對比特幣而言,節點接受無效區塊或拒絕有效區塊,都可能讓使用者被分到錯誤的鏈上。
因此我對目前的用途判斷偏保守:它較適合想要自架 Electrum 或 Esplora 後端、又能同時保留一個 Core 節點對照的營運者,在 signet 或小額環境試用;以它作為唯一的收款或閃電通道鏈上資料來源,風險仍偏高。這與專案自己「先跑 signet、主網須監控」的建議一致。
AI 觀點分析與推論
AI 觀點:接下來觀察什麼
後續值得追蹤三件事:第一,是否有具名的獨立團隊發布完整安全審計,而不只是個別貢獻者的回報;第二,主網預設錨點是否改為更保守的全程驗證,或建立隨版本更新的機制;第三,1.0 版何時定義支援期限。SECURITY.md 目前寫明 0.8.x 是受支援的發布線、沒有長期支援承諾,資料庫格式仍可能要求清空重新同步。在這些條件明朗前,「AI 撰寫」帶來的開發速度,仍需要人類審查與時間來換取信任。




