Coldcard 硬件钱包近期遭遇攻击,用户损失超过 1 亿美元等值比特币,超过 1,500 BTC。这起事件让比特币行业重新审视一个老问题:公开源代码,是否就等于开源。

Bitcoin Magazine 在一篇由 Juan Galt 撰写的分析文章中指出,闭源和开源之争在比特币及更广泛的加密行业已持续十多年。支持者长期主张,承载真实资金的金融基础设施应当在公开环境中构建,透明和可审计性不能妥协。但 Coldcard 事件显示,很多人——包括不少资深比特币用户——并没有真正分清“开源”与“源码可见”的边界。
开源、自由软件与源码可见,不是一回事
文章先梳理了术语。自由及开源软件(FOSS)和自由/开源软件(FLOSS)都指满足正式“用户自由”定义的软件。
自由软件基金会(FSF)将自由软件概括为四项核心自由:
- 自由 0:可按任何目的运行程序;
- 自由 1:可研究程序如何运作,并按自身需求修改,前提是能获取源代码;
- 自由 2:可再分发副本,帮助他人;
- 自由 3:可分发修改后的版本,前提同样是能获取源代码。
FSF 还强调,这里的“free”指的是自由,不是免费,常见表述是「像言论自由,不像免费啤酒」。
开放源代码促进会(OSI)的开源定义则加入了 10 项更具体的标准,包括可自由再分发、以适合修改的形式提供源代码、允许创建和分发衍生作品,以及不得对个人、群体或用途领域——包括商业用途——进行歧视。只有同时满足这 10 项标准,许可证才符合 OSI 的开源标准。
与之不同,“source available”或“source viewable”只是代码公开可读,许可证仍可能限制销售或商业使用权。
文章举例称,Coldcard 固件采用的是 MIT 条款加 Commons Clause。该条款明确拿掉了「销售」软件的权利,定义包括以收费或其他对价形式,向第三方提供该软件,或在价值全部或主要来源于软件本身的产品或服务中提供该软件。换句话说,Coldcard 固件不能被商业使用。
Commons Clause 的常见问答里也直接写明:「这是‘开源’吗?不是。」文中称,这意味着相关软件可能符合开源定义中的许多元素,但并不满足全部要求,因此不应被称为开源。
文章认为,这种区分很关键。公开源代码,只是让外界有机会检查;而赋予自由软件定义或开源定义中的完整权利,才会让软件真正成为 FOSS 或 FLOSS。作者同时指出,真正的重点并不是贴上 FOSS 或 FLOSS 的标签,而是商业自由能否激活第三方测试和审查代码的动力。
开源不会自动带来安全
文中称,开源的四项自由构成了其哲学核心,但在实际运行中,它还依赖一个经济前提:必须有足够多、足够有动力的人真的去看代码。若这个前提失效,系统就会出现典型的“公地悲剧”——共享资源因个体按短期利益行事而被忽视或透支,长期质量因此下滑。
文章援引一位比特币开发者的话称:「在测试中用开源代码的 mocks 和 stubs 是不负责任且短视的。开源代码被视为安全,是因为任何人都可以验证它。如果你连测试自己依赖功能这点最低限度的事都不愿做,那你的行为就像寄生者。」
作者据此认为,开源本身并不会创造安全,它创造的是验证的可能性。验证是否真的发生,取决于激励、能力和注意力。历史上,很多 FOSS 项目会随着漏洞被发现、披露和修复而不断“硬化”,逐步成为其他系统搭建时依赖的稳固基础。
Linux 内核就是文中给出的典型例子。它支撑着全球绝大多数服务器、云基础设施、Android 设备和嵌入式系统,也是历史上部署最广的软件之一。
Bitcoin Core 被视为纯开源协作样本
文章将 Bitcoin Core 作为大规模纯开源运作的比特币案例。作为比特币的参考实现,这套运行在大部分比特币相关基础设施背后的软件,采用 MIT 许可证发布,开发流程按设计就是公开的。
任何人都可以提交 pull request。代码审查是最主要的筛选机制,也是新贡献者最推荐的切入点。审查者会使用一套较正式的词汇体系,包括 Concept ACK、Approach ACK、带具体 commit hash 的 ACK,以及 NACK。维护者会在代码合并前,同时衡量贡献者之间形成的共识以及改动本身的技术质量。
对于共识关键型改动,门槛还会更高,通常需要通过比特币改进提案,并在 bitcoin-dev 邮件列表和 IRC 上经历长达多年的广泛讨论。
文中称,所谓「Bitcoin Core 开发者」并不是一个享有特权的固定阶层,信任来自长期展示出来的能力。维护者的存在更多是出于现实需要,例如审计和合并代码、管理版本发布,以及进行基础管理。无论是谁参与,产出的代码都属于纯开源代码,任何人都可以检查、构建、分叉或运行。代码提交被合并进 Bitcoin Core 的开发者,一般被称为 Bitcoin Core Contributors。
长期从事比特币开源开发的 Calle 在文中被引用称:「那些认为 core 是某种在阴影里运作、缺乏透明度机构的人,要么太懒,要么太笨,连自己去看一眼都不愿意。他们做的每一件事实际上都是公开的,任何人都可以加入讨论,而他们工作的结果就是纯粹的开源代码。」
在资金来源上,文章称,这类工作主要依靠 Brink、OpenSats、Spiral 等非营利或资助结构,而不是传统公司的产品路线图。技术讨论则公开发生在 bitcoin-dev 邮件列表以及 Libera Chat 上的 #bitcoin-core-dev IRC 频道。GitHub 上的 issues 和 pull requests,很多都留有长达 10 年的评论记录。
作者认为,这种开发文化优化的是正确性和可审计性,而不是速度,或商业产品快速堆功能的能力。
Coldcard 事件中的激励失灵
文章指出,大多数开源或源码可见软件的用户,自己并不会读代码,而是建立在“会有别人看”的假设上。Coldcard 事件里,一个关键熵缺陷在公开可用的固件中存在了大约 5 年,直到被利用后才被发现。
文中称,这个漏洞是在 2021 年一次大规模重写期间进入代码库的。当时的重写还移除了源自 Trezor 的剩余 GPL 代码。Trezor 被文章描述为第一款硬件钱包,也是当前自托管行业中规模第二大的参与者。
替代 trezor-crypto 的库名为 libngu。文章称,这个导致熵失效问题的核心库在投入生产使用后的 5 年多时间里,几乎没有得到外部充分审查,仅有 7 个 star、不到 20 个 fork。相比之下,trezor-crypto 有 512 个 star 和 212 个 fork,更现代的 trezor-firmware 则有 793 个 fork 和 1,800 个 star。
作者据此认为,单纯“源码可见”并没有自动带来关键性的代码审查,因为其他资金充足、以盈利为目的的公司无法合法使用这些代码,或至少批评者是这样看的。
文章称,在比特币世界,这类失误的代价比大多数软件领域更高,因为关键漏洞可以直接在公开市场中变现。关于被盗资金,文中写道,首批被盗 Coldcard 资金里,大约一半仍存放在少数几个地址中,黑客未来仍可能被抓;但 Galaxy Research 表示,后来出现的模仿攻击者更加谨慎,其中一些人偷走了更多比特币,并已成功完成洗钱。
作者还称,比特币的抗审查性和交易不可逆特征,既给攻击者提供了很强的激励,也形成了一种“达尔文式筛选”:只有那些能持续吸引有能力审查者的项目,以及采取严肃防护措施的用户和公司,才更有可能长期存活。
许可证选择会改变审查动力
文章提到,长期批评 Coinkite 许可证安排的 FOSS 支持者认为,许可证本身会塑造审查激励。纯开源许可证能把潜在审查者和分叉者的池子扩到最大;而带限制的“源码可见”许可证虽然可以减少商业搭便车,却也会缩小那些既有合法权利、又有经济动机投入深度审查的人群范围。
按文中说法,在限制性许可证下,代码审查的负担最终会更多回到公司自己身上,这让它在某种意义上更接近闭源,而不是开源。
AI 同时改变开源和闭源的安全格局
文章称,人工智能正在改变 FOSS 与闭源开发之间的平衡。Coldcard 事件发生后,一个名为 Bitcoin Red Team 的志愿者行动开始运行。该团队由包括 Calle 和 AnchorWatch 的 Rob Hamilton 在内的开发者牵头,并获得 OpenSats 支持。
文中称,这个团队使用前沿 AI 模型扫描了数百个开源比特币代码仓库。在一段高强度周期内,团队提交了数千条发现,其中数十条被归类为严重或高危,涉及数百个项目。在更广泛公开前,团队先向维护者进行了负责任披露。
作者认为,这次行动显示,系统化的 AI 辅助审查,已经能以过去纯人工团队难以做到的规模和速度找出问题。
文章还特别提到,Red Team 发现,中国开权重模型的可靠性明显高于美国闭源模型;后者即便在具备网络安全权限和高等级访问条件下,仍会拒绝回答 Red Team 的查询。文中称,美国开发者对此感到遗憾。
不过,AI 生成代码的大量涌入,也给 FOSS 维护者带来了新的拒绝服务式压力。文章称,审查 AI 输出所花的时间,经常比生成它更久。比特币之外的一些开源项目,甚至已经限制 issue 跟踪器,或实施严格的反 AI 贡献规则,以维持项目正常运转。
在闭源一侧,传统依靠“安全通过隐藏”获得的优势也在减弱。文中称,现代 AI 模型可以高速阅读、反混淆、探测端点,并对代码进行推理。现在开源和闭源之间真正的现实差异,主要更多留在从不在线共享的后端代码上。
在这种情况下,闭源代码的安全性更多只能建立在专业审计的质量、补丁部署的速度,以及是否有足够有能力且有权限的人持续进行审查这些因素上。
比特币软件模型承受的压力正在上升
文章最后认为,比特币和更广泛的加密行业,正在给自由和开源软件施加非常特殊的压力。真实货币价值暴露、对抗性的经济结构,以及 AI 规模化分析能力叠加在一起,正在迫使软件模型演变。
作者写道,回到数字化之前的旧式基础设施并不现实。对于承载现代社会运行的系统来说,最终能穿过 AI 辅助攻击者压力、以及数字金融高强度要求的,很可能只会是那些经过最充分审计的项目。


