Coldcard 翻车事件揭示比特币软件激励的残酷真相。
撰文:Juan Galt
编译:AididiaoJP,Foresight News
开源与闭源之争,已在比特币乃至整个加密行业持续超过十年。比特币支持者长期主张:全球金融基础设施必须公开构建,透明与可审计在真金白银面前是不可妥协的原则。然而,应用层和传统金融往往并不买账。
近期发生的 Coldcard 硬件钱包被盗事件,更把「开源」这个词的真实含义推上了风口浪尖。用户损失超过 1 亿美元比特币(逾 1500 枚 BTC)。这件事暴露出一个尴尬现实:即便是很多铁杆比特币玩家,对开源软件开发哲学及其失效场景的理解,其实相当有限。
开源相关的术语并不简单。自由开源软件(FOSS)和自由 / 开源软件(FLOSS)指的是符合正式用户自由定义的软件。
自由软件基金会(FSF)用四项基本自由来定义「自由软件」:
FSF 强调,「free」指的是自由,而非免费。开源倡导者常说的那句口头禅就是:「『free』 as in 『free speech』,不是『free beer』。」
开源促进会(OSI)的开源定义则额外列出十项实践标准,包括:可自由再分发且无需支付版税、源代码必须以适合修改的形式提供、允许创建并分发衍生作品、不得歧视任何个人、群体或用途(包括商业用途)。只有完全满足这十项标准的许可证,才可被正式称为「开源」。
「源码可见」(source available)或「源码可查看」则是另一回事。代码可以公开阅读,但许可证可能限制商业销售权。Coldcard 的固件就是例子——它采用 MIT 许可证,同时附加了 许可条件。该条款明确禁止「销售」软件,定义为向第三方提供该软件以换取费用或其他对价,且产品或服务的价值完全或实质来自该软件本身。换句话说,Coldcard 固件不能被用于商业用途。
许可条件写得很直白:「这是开源吗?不是。」它指出,附加该条款后,软件虽然满足开源定义的许多要素,但并非全部,因此不应被称为开源。
这些区别很重要。公开源代码只是创造了被检查的可能性;真正赋予自由软件定义或开源定义中全部权利,才是 FOSS。但挂上「开源」徽章本身并不是目的。批评者认为,开源中的商业自由,才能解锁第三方去测试和审查代码的激励,否则这些激励可能根本不存在。
四项自由是开源的哲学核心。但在实践中,它建立在一个经济假设上:会有足够多有动机的人真正去审查代码。当这个假设失效时,系统就会上演经典的「公地悲剧」——共享资源因个人短期自利而被过度使用或忽视,最终走向退化。每个人都有动机多拿一点(或少贡献一点),结果资源整体受损。有时激励是对齐的,有时则完全不对齐。
一位比特币开发者说得更直接:「在测试中使用开源代码的两种测试替身 mocks 和 stubs 是不负责任且短视的。开源代码被认为安全,是因为任何人都可以验证它。如果你连自己真正依赖的功能都不愿意做最低限度的测试,那你就是在当寄生虫。」
因此,开源本身并不自动创造安全,它只创造了验证的可能。验证是否真正发生,取决于激励、技能和注意力。历史上,优秀的 FOSS 会随着漏洞被发现、披露和修复而逐渐加固,成为其他人构建的坚实基础。Linux 内核就是典型例子——它驱动了全球绝大多数服务器、云基础设施、安卓设备和嵌入式系统,是有史以来部署最广泛的软件之一。
比特币核心(Bitcoin Core)作为比特币的参考实现,是另一个大规模纯开源在现实中运行的经典案例。它采用 MIT 许可证,开发过程从设计上就是公开的。
任何人都可以提交 pull request(合并请求)。代码审查是主要过滤机制,也是新人推荐的入门路径。审查者使用正式术语:Concept ACK(同意目标)、Approach ACK(同意目标和方法)、带具体 commit hash 的 ACK(已测试并批准合并),或 NACK(不同意,需附技术理由)。
维护者在合并前会权衡贡献者共识与技术优劣。共识关键变更门槛更高,通常需要比特币改进提案(BIP),并在 bitcoin-dev 邮件列表和 IRC 上进行多年充分讨论。
这里没有特权阶层的「比特币核心开发者」。信任是靠长期展示能力挣来的。维护者的存在只是出于实际需要——审计合并代码、管理发布、基本审核——但产出的是纯开源代码,任何人都可以检查、编译、分叉或运行。代码被合并进 Bitcoin Core 的人,通常被称为 Bitcoin Core 贡献者。
长期开源比特币开发者 Calle 最近总结道:「那些觉得核心是某种在阴影中不透明运作机构的人,要么太懒,要么太蠢,懒得自己去看一眼。他们做的一切都是公开的,任何人都可以参与,最终产出的就是纯开源代码。」
这些工作的资金主要来自非营利和资助结构,例如 Brink、OpenSats、Spiral 等,而不是传统公司的产品路线图。技术讨论在公开的 bitcoin-dev 邮件列表和 Libera Chat 的 #bitcoin-core-dev IRC 频道进行,提案在提交 pull request 前后都会被严格审视。GitHub 上的 issue 和 pull request 常有长达十年的评论历史。结果是一种优先追求正确性和可审计性的开发文化,而不是速度或商业功能迭代速度。
大多数开源或源码可见软件的用户,从来不会自己去读代码。他们依赖「别人在审查」的假设。在 Coldcard 案例中,一个关键的熵缺陷在公开固件中潜伏了大约五年,才被利用并因此被发现。
这个 bug 是在 2021 年一次重大重写中引入的。那次重写也移除了源自 Trezor 的剩余 GPL 代码。Trezor 是第一款硬件钱包,目前是自托管行业第二大。问题核心的库叫 libngu,它取代了 trezor-crypto,但外部审查极少——在生产环境使用超过五年后,只有 7 个 star、不到 20 个 fork。对比之下,trezor-crypto 有 512 个 star 和 212 个 fork,更现代的 trezor-firmware 则有 793 个 fork 和 1800 个 star。源码可见本身并没有带来真正重要的审查。批评者认为,原因在于其他有资金、有能力的盈利公司被限制使用,缺乏商业激励。注:Star 和 Fork 是 GitHub 上衡量项目受欢迎程度和活跃度的两个核心指标,Star 意为收藏点赞;Fork 意为复制仓库。
比特币领域的利害关系远高于大多数软件领域。一个关键缺陷可以直接在公开市场转化成流动资金。Coldcard 被盗资金的前半部分仍存放在少数地址,黑客或许有一天会被抓住,但后续的模仿者更谨慎,有人已经成功盗取更多比特币并洗白(据 Galaxy Research 数据,总损失至少已达 1700 BTC)。比特币的抗审查和不可篡改交易,既给攻击者提供了强大激励,也形成了达尔文式筛选:只有那些持续吸引高质量审查、用户和公司认真采取防护措施的项目,才有长期生存的可能。
许可证选择会塑造这些激励。纯开源许可证能最大化潜在审查者和分叉的池子。而受限的「源码可见」许可证虽然能减少商业「搭便车」,但也缩小了同时拥有合法权利和经济动机去深度投入注意力的人群。结果,代码审查的重担又回到公司自己身上,某种程度上让它更接近闭源,而非开源。
人工智能正在改变开源与闭源之间的平衡。
Coldcard 事件后,一个由 Calle、AnchorWatch 的 Rob Hamilton 等开发者主导、OpenSats 支持的志愿者项目 Bitcoin Red Team,用前沿 AI 模型扫描了数百个开源比特币代码库。在一段密集时期内,团队提交了数千项发现,其中数十项被定为关键或高严重性,覆盖数百个项目。责任披露先给维护者,再公开。这证明了系统性 AI 辅助审查,能以人类团队此前难以企及的规模和速度发现漏洞。
值得一提的是,Bitcoin Red Team 发现中国开源权重模型比闭源美国模型可靠得多。即便是拥有网络权限和顶级访问权的美国模型,也拒绝回答 Bitcoin Red Team 的查询,这让美国开发者颇为遗憾。
与此同时,AI 生成代码的洪流也给 FOSS 维护者带来了新的「拒绝服务」压力。审查 AI 输出往往比生成它更耗时。一些比特币之外的开源项目已经开始限制 issue tracker,或制定严格的反 AI 贡献规则,只为维持基本运转。
在闭源一侧,传统「通过隐蔽获得安全」的优势正在被侵蚀。现代 AI 模型能以极高速度阅读、去混淆、探测端点并推理代码。开源与闭源的实际差异,如今主要只剩那些从未上线的后端代码。闭源代码最终只能依靠专业审计的质量、补丁部署速度,以及能让有权限的人持续认真审查的激励结构。
比特币和更广泛的加密行业,正给自由开源软件施加不同寻常的压力。真实货币价值、对抗性经济,以及现在的 AI 规模分析,正迫使软件模式不断进化。回到模拟前数字系统,对支撑现代社会的基础设施来说几乎不是选项。只有那些被充分审计的项目,才有可能在 AI 辅助黑客和数字优先金融的重压下存活下来。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
