開源與可取得原始碼:Coldcard 失敗揭示的比特幣軟體激勵機制
重點速覽
- •Coldcard 事件涉及一項關鍵韌體漏洞,據稱在公開程式碼中存在約五年後才被利用。
- •由於 Commons Clause 限制商業用途,Coldcard 的韌體被描述為可取得原始碼,而非真正開源。
- •Bitcoin Core 的開發是公開進行的,包含公開程式碼審查、公開討論,以及不存在特殊開發者階層。
- •文章指出,授權選擇會影響誰能審查程式碼,以及在處理真實資金的軟體中,安全漏洞被發現的速度。
- •Bitcoin Red Team 使用前沿 AI 模型掃描開源 Bitcoin 儲存庫,並回報了數千項發現,其中包括 critical 與 high-severity 問題。

Bitcoin Magazine:開源與可取得原始碼:Coldcard 失敗揭示的比特幣軟體激勵機制
閉源與開源在過去十多年來一直分化比特幣及更廣泛的加密產業。比特幣支持者長期主張,世界的金融基礎設施應該在公開環境中建構;他們認為,當真金白銀處於風險之中時,透明性與可審計性是不可妥協的。金融產業的應用層與既有系統層往往並不同意。
近期的 Coldcard 駭客事件涉及一款廣受歡迎的自我託管硬體錢包,使用者損失超過 $100 million 的 bitcoin,亦即超過 1,500 BTC,這讓人們重新思考「開源」究竟代表什麼。這也顯示,許多人——包括一些資深 bitcoiners——對開源軟體哲學及其失效條件並不了解。
原則與術語
關於開源的語言可能很複雜。Free and Open Source Software (FOSS) 與 Free/Libre and Open Source Software (FLOSS) 指的是符合使用者自由正式定義的軟體。
Free Software Foundation (FSF) 透過四項基本自由來定義自由軟體:
Freedom 0:可依照你的意願、為任何目的執行該程式的自由。
Freedom 1:可研究程式如何運作,並加以修改,使其符合你的運算需求的自由。取得原始碼是此自由的前提。
Freedom 2:可重新散布副本以協助他人的自由。
Freedom 3:可向他人散布你修改後版本副本的自由。取得原始碼是此自由的前提。
FSF 強調,「free」指的是自由,而非價格,這也是 FOSS 支持者常用的一句話:"'free' as in 'free speech,' not as in 'free beer.'"
Open Source Initiative 的 Open Source Definition 又加入十項實務標準。包括可自由再散布且不收取權利金、以便於修改的形式提供原始碼、可建立與散布衍生作品,以及不得因個人、群體或領域而歧視——包括商業用途。授權條款必須同時符合這十項標準,才算符合 OSI 的開源定義。
「可取得原始碼」或「可檢視原始碼」則不同。程式碼可以公開可讀,但授權仍可限制其銷售權。以 Coldcard 的韌體為例,其採用 MIT 條款加上 Commons Clause 發布。該條款明確移除了「Sell」該軟體的權利——其定義為:以收費或其他對價,將該軟體提供給第三方,且該產品或服務的價值完全或大致源自該軟體本身。換言之,Coldcard 的韌體不能用於商業用途。
Commons Clause 的 FAQ 直接說明這項差異:"Is this 'Open Source'? No." 其指出,加入該條款後,軟體雖符合 Open Source Definition 的許多要素,但並非全部,因此不應稱為開源。
這些區別很重要。公開原始碼只創造了被檢視的可能性;只有當軟體獲得 Free Software Definition 或 Open Source Definition 所定義的完整權利時,才構成 FOSS 或 FLOSS。但是否能拿到一個標誌、揮舞一面 FOSS 或 FLOSS 旗幟,並不是重點。批評者認為,FOSS 中的商業自由,能釋放第三方測試與審查程式碼的激勵,而這些激勵在其他情況下未必存在。
四項自由構成開源的哲學核心,但在實務上,它們依賴一個經濟假設:足夠多且有動機的人會真正檢視程式碼。當這個假設失效時,系統就會出現典型的公地悲劇,也就是共享資源因個人從自身短期利益出發,而非群體長期利益而被忽視。
每個人都有動機取得更多、或貢獻更少,超過可持續的程度,結果使資源退化。這種情況發生與否,取決於短期自利與群體長期利益之間是否一致。有時一致;有時則不一致。
一位比特幣開發者直白地指出問題:"Using mocks and stubs of Open Source code in tests is irresponsible and shortsighted. Open Source code is considered safe because anyone can verify it. If you aren’t willing to do the bare minimum of testing the features you actually depend on, then you are behaving like a leech."
因此,開源本身不會自動帶來安全;它只是創造了可驗證的可能性。這種驗證是否真的發生,取決於激勵、技能與注意力。一般認為,歷史上的 FOSS 會隨著漏洞被發現、揭露與修補而逐步強化,成為他人建立其上的穩固基礎。Linux kernel 就是這類已被強化的 FOSS 代表;它支撐了全球絕大多數伺服器、雲端基礎設施、Android 裝置與嵌入式系統,是歷史上部署最廣泛的軟體之一。
Bitcoin Core 所展現的開源
Bitcoin Core 是 Bitcoin 的參考實作,也是另一個大規模、在現實中運作的開源例子。這套軟體支撐著大多數與 Bitcoin 相關的基礎設施,並以 MIT license 發布。其開發流程本身就是公開設計。
任何人都可以開啟 pull request。程式碼審查是主要篩選機制,也是新貢獻者的建議入口。審查者使用一套正式術語:Concept ACK,表示認同目標;Approach ACK,表示認同目標與方法;帶有特定 commit hash 的 ACK,表示已測試並核准合併;或 NACK,表示不同意,但應附上技術理由。
維護者會在合併前衡量貢獻者共識與變更的技術價值。若是牽涉共識的關鍵變更,門檻更高,通常需要 Bitcoin Improvement Proposal,並在 bitcoin-dev 郵件列表與 IRC 上進行長達數年的深入討論。
並不存在一個享有特權的「Bitcoin Core 開發者」階層。信任是透過長期展現的能力逐步贏得的。維護者的存在有實務上的必要——例如審核與合併程式碼、管理版本發布、以及基本的版務管理——但產出的成果是純粹的開源程式碼,任何人都可以檢視、建置、分叉或執行。成功讓程式碼 commit 併入 Bitcoin Core 的開發者,通常被稱為 Bitcoin Core Contributors。
長期投入開源 Bitcoin 開發的 Calle 近期總結道:"People who think that core is some sort of intransparent institution operating in the shadows are either too lazy or too dumb to go have a look for themselves. Literally everything they do is public, anyone can chime in, and the result of their work is pure Open Source code."
這些工作的資金,主要來自 Brink、OpenSats、Spiral 等非營利與補助架構,而非傳統公司的產品路線圖。技術討論與辯論則在 bitcoin-dev 郵件列表與 Libera Chat 上的 #bitcoin-core-dev IRC 頻道公開進行,提案在 pull-request 流程前與流程中都會受到審視。GitHub issues 與 pull requests 的留言紀錄往往可追溯十年之久。最終形成的是一種以正確性與可審計性為優先,而非速度或商業功能推進的開發文化。
開源的經濟學
大多數使用開源或可取得原始碼軟體的人,自己從不閱讀程式碼。他們依賴的是「其他人會檢查」這一假設。在 Coldcard 的案例中,一個關鍵的熵值缺陷在公開韌體中大約存在了五年,直到被利用後才被發現。
該漏洞是在 2021 年一次大型重寫期間進入程式碼庫的;那次重寫也移除了 Trezor 中剩餘的 GPL 衍生程式碼。Trezor 是第一款硬體錢包,如今則是自我託管產業中的第二大品牌。位於這次熵值失敗核心、取代 trezor-crypto 的函式庫名為 libngu,在生產環境中使用超過五年期間,外部審視非常有限,只有 7 顆星與少於 20 次 fork。相較之下,trezor-crypto 函式庫有 512 顆星與 212 次 fork,而較新的 trezor-firmware 則有 793 次 fork 與 1.8k 顆星。僅僅提供原始碼可見性,並沒有帶來真正重要的審查,因為其他有資本且有利潤動機的公司被限制使用它——批評者會這麼主張。
在實務上,這使授權選擇不只是法律註腳:它們會影響誰能參與審查、誰有理由去審查,以及在保護真實資金的軟體中,漏洞會多快被發現。對 Bitcoin 而言,風險比多數軟體領域更高。關鍵漏洞可以直接在公開市場上轉化為流動資金。雖然被盜的 Coldcard 資金中,前半部分仍由少數幾個地址持有,而駭客未來也可能被逮到,但後續模仿犯更為謹慎,其中一些人已經偷走更多 bitcoin,並成功洗錢,根據 Galaxy Research。Bitcoin 的抗審查性與不可變交易性,同時形成了攻擊者強大的誘因與一個達爾文式篩選機制:只有能持續吸引有能力的審查、且使用者與公司採取嚴格防護措施的專案,才有可能長期存活。
多年來批評 Coinkite 授權決策的 FOSS 支持者認為,授權選擇會塑造這些激勵。純開源授權能最大化潛在審查者與分叉者的池子。受限制的「可取得原始碼」授權可以降低商業搭便車,但也會縮小那些同時具備法律權利與經濟動機、願意投入深度注意的人群。從這個意義上說,程式碼審查的負擔又回到受限制授權下的公司身上,使其在某種程度上更接近閉源而非開源。
AI 如何改變開源與閉源開發
人工智慧如今也正在改變 FOSS 與閉源之間的平衡。
在 Coldcard 事件之後,一個名為 Bitcoin Red Team 的志願行動——由包括 Calle 與 AnchorWatch 的 Rob Hamilton 等開發者領導,並受到 OpenSats 支持——使用前沿 AI 模型掃描了數百個開源 Bitcoin 儲存庫。在一次密集期間,團隊提交了數千項發現,其中數十項被列為 critical 或 high severity,涵蓋數百個專案。在更廣泛公開之前,維護者先收到了負責任揭露。這項實驗顯示,系統化的 AI 輔助審查,能以過去純人力團隊難以實現的規模與速度發現問題。
在這方面,Red Team 發現中國的 open-weight 模型遠比美國的閉源模型可靠;即使後者擁有 cyber permissions 與頂級存取權限,仍拒絕回答 Red Team 的查詢,這一趨勢令美國開發者感到遺憾。
同時,大量 AI 生成程式碼也對 FOSS 維護者造成新的拒絕服務壓力。審查 AI 產出往往比生成它花費更久。一些 Bitcoin 以外的開源專案,已限制 issue tracker 或採取嚴格的 anti-AI 貢獻規則,只為了維持運作。
在閉源方面,傳統上仰賴「安全透過模糊性」的優勢正在削弱。現代 AI 模型能高速閱讀、去混淆、探測端點並推理程式碼。如今,開源與閉源之間的實際差異,大多只剩下那些從未在網路上分享的後端程式碼。結果是,閉源程式碼的安全性主要取決於專業審計品質、修補部署速度,以及讓具能力且有存取權的人持續檢查的激勵結構。
Bitcoin 與更廣泛的加密產業,正在對自由且開源的軟體施加異常大的壓力。真實金錢風險、對抗性經濟結構,以及 AI 級分析能力的結合,正迫使軟體模式演化。對於支撐現代社會的基礎設施而言,退回到模擬、前數位系統幾乎不是選項。只有經過最嚴格審計的專案,才最有可能在 AI 輔助駭客與數位優先金融的壓力下存活。
本文〈Open Source vs. Source-Available: What the Coldcard Failure Teaches About Bitcoin Software Incentives〉最初發表於 Bitcoin Magazine,作者為 Juan Galt。