跳到主内容
@wquguru
精选75Bitcoin Magazine(RSS)研究与分析

Coldcard漏洞揭示开源与源码可用差异及比特币软件激励

Open Source vs. Source-Available: What the Coldcard Failure Teaches About Bitcoin Software Incentives

原文
发到 X
推荐理由

对加密从业者,这篇厘清了开源与源码可用的本质区别,并以Coldcard事件说明开源安全依赖实际审查激励,值得关注自托管钱包固件审查风险。

Bitcoin Magazine

比特币杂志

Open Source vs. Source-Available: What the Coldcard Failure Teaches About Bitcoin Software Incentives

开源与源代码可用:Coldcard 事件对比特币软件激励机制的启示

Closed versus Open Source code has divided the Bitcoin and broader crypto industry for well over a decade. Bitcoin advocates have long argued that the financial infrastructure of the world should be built in public. Transparency and auditability, they say, are non-negotiable when real money is at stake. Yet the app and legacy layers of finance often disagree.

封闭源代码与开放源代码之争,在比特币及更广泛的加密货币行业中已持续了十多年。比特币倡导者长期以来一直主张,世界的金融基础设施应在公开环境中构建。他们表示,当涉及真实资金时,透明度和可审计性是不可妥协的。然而,金融的应用层和传统层往往持不同意见。

Yet the recent Coldcard hack, a popular self-custody hardware wallet where users lost over $100 million worth of bitcoin (more than 1,500 BTC), cast doubt over what “Open Source” actually means. It revealed that perhaps most people, even many hardcore bitcoiners, are poorly educated on the Open Source software development philosophy and when it fails.

然而,最近发生的 Coldcard 黑客事件——一种流行的自托管硬件钱包,用户损失了价值超过 1 亿美元的比特币(超过 1,500 BTC)——对“开源”的实际含义提出了质疑。它揭示出,或许大多数人,甚至许多狂热的比特币爱好者,对开源软件开发哲学及其失效情形了解甚少。

The Principles and Terminology

原则与术语

The language around Open Source can be complicated. Free and Open Source Software (FOSS) and Free/Libre and Open Source Software (FLOSS) refer to software that meets formal definitions of user freedom.

围绕开源的语言可能很复杂。自由及开源软件(FOSS)和自由/自由及开源软件(FLOSS)指的是符合用户自由正式定义的软件。

The Free Software Foundation (FSF) defines free software through four essential freedoms:

自由软件基金会(FSF)通过四项基本自由来定义自由软件:

  • Freedom 0: The freedom to run the program as you wish, for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish (access to the source code is a precondition for this).
  • Freedom 2: The freedom to redistribute copies so you can help others.
  • Freedom 3: The freedom to distribute copies of your modified versions to others (access to the source code is a precondition for this).
  • 自由 0:出于任何目的,按你的意愿运行程序的自由。
  • 自由 1:研究程序如何工作,并修改它,使其按你的意愿进行计算(访问源代码是实现此自由的前提条件)。
  • 自由 2:重新分发副本的自由,以便你可以帮助他人。
  • 自由 3:向他人分发你的修改版本副本的自由(访问源代码是实现此自由的前提条件)。

The FSF emphasizes that “free” refers to liberty, not price, in a common quote heard from FOSS advocates: “‘free’ as in ‘free speech,’ not as in ‘free beer.’”

FSF 强调,“自由”指的是自由,而非价格,这在 FOSS 倡导者中常听到一句名言:“‘自由’如‘言论自由’,而非‘免费啤酒’。”

The Open Source Initiative’s Open Source Definition adds ten practical criteria. These include free redistribution without royalties, availability of source code in the preferred form for modification, the right to create and distribute derived works, and no discrimination against persons, groups, or fields of endeavor — including commercial use. A license must meet all ten criteria to qualify as Open Source under the OSI standard.

开源促进会的开源定义增加了十项实用标准。这些包括无需版税的自由再分发、以适合修改的形式提供源代码、创建和分发衍生作品的权利,以及不歧视个人、群体或领域——包括商业用途。根据 OSI 标准,许可证必须满足所有十项标准才能被认定为开源。

“Source available” or “source viewable” is different. Code may be publicly readable while the license restricts the right to sell it. Coldcard’s firmware, for example, is released under MIT terms plus the Commons Clause. The Clause specifically removes the right to “Sell” the software — defined as providing it to third parties for a fee or other consideration in a product or service whose value derives entirely or substantially from the software itself. In other words, Coldcard’s firmware could not be used commercially.

“源代码可用”或“源代码可查看”是不同的。代码可能公开可读,但许可证限制了出售它的权利。例如,Coldcard 的固件以 MIT 条款加上 Commons Clause 发布。该条款明确移除了“出售”软件的权利——定义为以收费或其他对价向第三方提供软件,且产品或服务的价值完全或实质上源自软件本身。换句话说,Coldcard 的固件不能用于商业用途。

The Commons Clause’s own FAQ states the difference explicitly: “Is this ‘Open Source’? No.” It notes that applying the clause means the software meets many elements of the Open Source Definition but not all of them, and therefore should not be called Open Source.

Commons Clause 自己的 FAQ 明确说明了区别:“这是‘开源’吗?不是。”它指出,应用该条款意味着软件满足开源定义中的许多要素,但并非全部,因此不应被称为开源。

These distinctions matter. Publishing source code creates the possibility of inspection. Granting the full set of rights defined by the Free Software Definition or the Open Source Definition is what makes software FOSS or FLOSS. But having the badge of approval, being able to wave a FOSS or FLOSS flag, is not the point. Commercial liberty in FOSS unlocks third-party incentives to test and review code that might otherwise not be there, critics argue.

这些区别很重要。发布源代码创造了检查的可能性。授予自由软件定义或开源定义所定义的完整权利集,才使软件成为 FOSS 或 FLOSS。但拥有批准徽章、能够挥舞 FOSS 或 FLOSS 旗帜并不是重点。批评者认为,FOSS 中的商业自由解锁了第三方测试和审查代码的激励,否则这些激励可能不存在。

The four freedoms form the philosophical core of Open Source. In practice they rest on an economic assumption: that enough motivated people will actually examine the code. When that assumption fails, the system produces a classic tragedy of the commons, a situation where a shared resource is overused or neglected because individual users act in their own short-term self-interest rather than in the long-term interest of the group.

四项自由构成了开源的核心哲学。在实践中,它们基于一个经济假设:有足够多积极的人会真正检查代码。当这个假设失败时,系统会产生经典的公地悲剧,即共享资源被过度使用或忽视,因为个体用户追求自身短期利益,而非群体的长期利益。

Each person has an incentive to take more (or contribute less) than is sustainable, and the resource degrades as a result. This happens when there is misalignment between the short-term self-interest of the individual and the long-term interest of the group. Sometimes alignment exists; sometimes it does not.

每个人都有动机获取更多(或贡献更少)超出可持续水平,资源因此退化。当个体的短期自身利益与群体的长期利益不一致时,就会发生这种情况。有时存在一致性;有时则不然。

One Bitcoin developer put the problem bluntly: “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.”

一位比特币开发者直言不讳地指出了问题:“在测试中使用开源代码的模拟和桩是不负责任且短视的。开源代码被认为是安全的,因为任何人都可以验证它。如果你不愿意做测试你实际依赖功能的最低限度工作,那么你就像水蛭一样。”

As a result, Open Source does not create safety by itself. It creates the possibility of verification. Whether that verification occurs depends on incentives, skill, and attention. Historical FOSS is believed to harden over time as vulnerabilities are discovered, disclosed and patched, creating solid foundations others build on top of. The Linux kernel is a great example of such hardened FOSS; it powers the vast majority of the world’s servers, cloud infrastructure, Android devices, and embedded systems, making it one of the most widely deployed pieces of software in history.

因此,开源本身并不创造安全,它创造了验证的可能性。验证是否发生取决于激励、技能和关注度。历史上,自由及开源软件(FOSS)被认为会随着漏洞被发现、披露和修补而逐渐加固,形成他人可依赖的坚实基础。Linux内核就是此类加固FOSS的杰出例子;它驱动着全球绝大多数服务器、云基础设施、Android设备和嵌入式系统,成为历史上部署最广泛的软件之一。

Open Source as Demonstrated by Bitcoin Core

比特币核心所展示的开源

Bitcoin Core, the reference implementation of Bitcoin, is another prescient large-scale example of pure open-source functioning in the wild. The software, which runs behind most Bitcoin-related infrastructure, is released under the MIT license. Its development process is broadly public by design.

比特币核心(Bitcoin Core)作为比特币的参考实现,是另一个在现实世界中纯开源运作的具有远见的大规模例子。该软件运行于大多数比特币相关基础设施背后,以MIT许可证发布。其开发过程在设计上广泛公开。

Anyone can open a pull request. Code review is the primary filter and the recommended entry point for new contributors. Reviewers use a formal vocabulary—Concept ACK (acknowledgment and agreement with the goal), Approach ACK (agreement with the goal and method), ACK with a specific commit hash (tested and approved for merge), or NACK (disagreement, which should be accompanied by technical reasoning).

任何人都可以提交拉取请求。代码审查是主要的筛选机制,也是新贡献者推荐的入门途径。审查者使用正式词汇——概念确认(Concept ACK,对目标的认可和同意)、方法确认(Approach ACK,对目标和方法都同意)、带有特定提交哈希的确认(已测试并批准合并),或否决(NACK,不同意,应附上技术理由)。

Maintainers weigh consensus among contributors and the technical merits of a change before merging. Consensus-critical changes face a still higher bar and usually require a Bitcoin Improvement Proposal and extensive multi-year discussions on the bitcoin-dev mailing list and IRC.

维护者在合并前会权衡贡献者之间的共识以及变更的技术优点。涉及共识关键性的变更面临更高的门槛,通常需要比特币改进提案(Bitcoin Improvement Proposal)以及在bitcoin-dev邮件列表和IRC上进行长达数年的广泛讨论。

There is no privileged caste of “Bitcoin Core developers.” Trust is earned through demonstrated competence over time. Maintainers exist for practical reasons—auditing and merging code, managing releases, and basic moderation—but the work produced is pure open-source code that anyone can inspect, build, fork, or run. Developers who get code ‘commits’ merged into Bitcoin Core are broadly called Bitcoin Core Contributors.

不存在特权阶层的“比特币核心开发者”。信任是通过长期展示出的能力赢得的。维护者的存在是出于实际原因——审计和合并代码、管理发布以及基本的管理工作——但产出的工作是纯开源代码,任何人都可以检查、构建、分叉或运行。代码提交被合并到比特币核心中的开发者通常被称为比特币核心贡献者。

Calle, a long-time open-source Bitcoin developer, summarized the reality recently: “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.”

Calle,一位长期从事开源比特币开发的开发者,最近总结了现实情况:“那些认为核心是一个在暗处运作的不透明机构的人,要么是太懒,要么是太笨,不愿亲自去看看。他们做的每一件事都是公开的,任何人都可以参与进来,他们工作的成果就是纯开源代码。”

Funding for this work comes largely through nonprofit and grant structures such as Brink, OpenSats, Spiral, and others rather than a traditional company product roadmap. Technical discussion and debate take place publicly on the bitcoin-dev mailing list and in the #bitcoin-core-dev IRC channel on Libera Chat, where proposals are scrutinized before and during the pull-request process. GitHub issues and pull requests often carry comment histories stretching back a decade. The result is a development culture optimized for correctness and auditability rather than speed or commercial feature velocity.

这项工作的资金主要来自非营利组织和资助结构,如Brink、OpenSats、Spiral等,而非传统公司的产品路线图。技术讨论和辩论在bitcoin-dev邮件列表和Libera Chat上的#bitcoin-core-dev IRC频道公开进行,提案在拉取请求过程之前和期间受到严格审查。GitHub上的问题和拉取请求常常带有长达十年的评论历史。结果是形成了一种以正确性和可审计性为优先的开发文化,而非追求速度或商业功能迭代速度。

The Economics of Open Source

开源的经济学

Most users of open-source or source-available software never read the code themselves. They rely on the assumption that others are examining it. In the Coldcard case, a critical entropy flaw remained in publicly available firmware for roughly five years before it was exploited and thus discovered.

大多数开源或源代码可用软件的用户从不亲自阅读代码。他们依赖于其他人正在检查代码的假设。在Coldcard案例中,一个关键的熵缺陷在公开可用的固件中潜伏了大约五年,直到被利用并因此被发现。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

另一事件,读法相近