市值 —24小时交易量 —BTC —恐惧指数 —
大师投资投资 & 收益
广告
广告

开源与可用源代码:Coldcard 失败教会我们关于比特币软件激励的事情

阅读4780分享打印版
开源与可用源代码:Coldcard 失败教会我们关于比特币软件激励的事情

比特币杂志

开源与可获取源代码:Coldcard故障教会我们关于比特币软件激励的教训

封闭源代码与开源代码在比特币及更广泛的加密行业中已经分裂了十多年。比特币倡导者长期以来一直主张,世界的金融基础设施应该在公开的环境中构建。他们认为,当真实资金处于风险中时,透明度和可审计性是不可妥协的。然而,金融的应用层和传统层常常意见不合。

然而,最近的Coldcard黑客事件,一款流行的自我保管硬件钱包,用户损失超过1亿美元的比特币(超过1500 BTC),对“开源”究竟意味着什么产生了怀疑。这揭示了或许大多数人,甚至许多狂热的比特币爱好者,对开源软件开发哲学及其失败的理解都很有限。

原则与术语

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

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

  • 自由0:随意运行程序的自由,出于任何目的。
  • 自由1:研究程序如何工作并进行更改以满足您的计算需求的自由(访问源代码是这一点的前提)。
  • 自由 2:重新分发副本的自由,以便您可以帮助他人。
  • 自由 3:将您修改版本的副本分发给他人的自由(访问源代码是此条件的前提)。

FSF 强调“自由”指的是自由,而不是价格,这是 FOSS 倡导者常引用的一句名言:“‘自由’是指‘言论自由’,而不是‘免费啤酒’。”

开放源代码倡议的开放源代码定义增加了十个实际标准。这些包括无版税的自由再分发、以便于修改的首选形式提供源代码、创建和分发衍生作品的权利,以及对个人、团体或领域的无歧视——包括商业使用。许可证必须满足所有十个标准才能根据 OSI 标准符合开放源代码的资格。

“源代码可用”或“源代码可查看”是不同的。代码可能是公开可读的,而许可证限制了出售的权利。例如,Coldcard 的固件是在 MIT 条款加上公共条款下发布的。该条款特别取消了“出售”软件的权利——定义为将其提供给第三方以获取费用或其他对价,且该产品或服务的价值完全或主要来自于软件本身。换句话说,Coldcard 的固件不能用于商业用途。

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

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

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

每个人都有激励去获取更多(或贡献更少)而不是可持续的,结果导致资源退化。这发生在个体的短期自我利益与群体的长期利益之间存在不一致时。有时存在一致性;有时则不存在。

一位比特币开发者直言不讳地指出:“在测试中使用开源代码的模拟和存根是不负责任和短视的。开源代码被认为是安全的,因为任何人都可以验证它。如果你不愿意对你实际依赖的功能进行最低限度的测试,那么你就像一个寄生虫。”

因此,开源本身并不创造安全性。它创造了验证的可能性。验证是否发生取决于激励、技能和关注。历史上的自由和开放源代码软件(FOSS)被认为随着漏洞的发现、披露和修补而逐渐增强,创造了其他人可以在其上构建的坚实基础。Linux内核就是这样一种增强的FOSS的绝佳例子;它为世界上绝大多数服务器、云基础设施、Android设备和嵌入式系统提供动力,使其成为历史上部署最广泛的软件之一。

比特币核心所展示的开源

比特币核心是比特币的参考实现,是另一个纯粹开源在实际中运作的大规模先见之明的例子。该软件在大多数与比特币相关的基础设施中运行,采用MIT许可证发布。其开发过程从设计上就是广泛公开的。

任何人都可以提交拉取请求。代码审查是主要的筛选标准,也是新贡献者的推荐入口。审查者使用正式的术语——概念确认(Concept ACK,表示对目标的认可和同意)、方法确认(Approach ACK,表示对目标和方法的认可)、带有特定提交哈希的确认(ACK,表示经过测试并批准合并)或拒绝确认(NACK,表示不同意,应该附带技术理由)。

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

没有特权的“比特币核心开发者”阶层。信任是通过时间的表现能力获得的。维护者的存在是出于实际原因——审计和合并代码、管理发布和基本的管理——但所产生的工作是纯粹的开源代码,任何人都可以检查、构建、分叉或运行。获得代码“提交”合并到比特币核心的开发者被广泛称为比特币核心贡献者。

长期以来的开源比特币开发者Calle最近总结了现实:“认为核心是某种不透明机构在暗中运作的人,要么太懒,要么太愚蠢,无法自己去看看。他们所做的一切都是公开的,任何人都可以参与,他们工作的结果是纯粹的开源代码。”

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

开源经济学

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

这个漏洞是在2021年一次重大重写中进入代码库的,该重写还移除了Trezor中剩余的GPL派生代码,Trezor是第一个硬件钱包,现在是自我保管行业中第二大钱包。导致熵故障的库,取代了trezor-crypto,名为libngu,外部审查极少,5年多的生产使用中仅有7颗星和不到20个分支。与此相比,trezor-crypto库拥有512颗星和212个分支,或更现代的trezor-firmware拥有793个分支和1.8k颗星。仅仅源代码的可用性并没有产生重要的审查,因为其他盈利的、资金充足的公司被限制使用它,批评者会这样认为。

在比特币领域,风险比大多数软件领域更高。一个关键缺陷可以直接转化为公开市场上的流动资金。虽然被盗的Coldcard资金的前半部分仍然保存在少数地址中,黑客可能有一天会被抓住,但随之而来的模仿黑客更加小心,有些人盗取了更多比特币并成功洗钱,银河研究报告称。比特币的审查抵抗性和不可变交易性为攻击者创造了强大的激励,同时也形成了达尔文式的过滤器;只有那些持续吸引有能力的审查的项目,以及采取严肃预防措施的用户和公司,才能在长期中生存。

根据自由开源软件(FOSS)倡导者的说法,许可选择塑造了这些激励,他们多年来批评Coinkite的许可决定。纯开源许可证最大化了潜在审阅者和分叉的池。受限的“源代码可用”许可证可以减少商业搭便车,但也缩小了拥有法律权利和经济动机深入关注的人的圈子。可惜的是,在限制性许可证下,代码审查的负担又回到了公司身上,从某种意义上说,这使其更接近于闭源而非开源。

人工智能如何改变开源和闭源开发

人工智能现在也在改变自由开源软件与闭源之间的平衡。

在Coldcard事件之后,一个名为比特币红队的志愿者团队——由包括Calle和AnchorWatch的Rob Hamilton在内的开发者领导,并得到OpenSats的支持——使用前沿的人工智能模型扫描了数百个开源比特币代码库。在一个密集的时期,团队提交了数千个发现,包括数十个被分类为关键或高严重性的发现,涉及数百个项目。在更广泛发布之前,向维护者进行了负责任的披露。这项工作表明,系统的人工智能辅助审查可以在规模和速度上发现问题,这是纯人类团队之前无法实现的。

在这一方面,值得注意的是,红队发现中国的开放权重模型比封闭源代码的美国模型更可靠,即使在获得网络权限和顶级访问的情况下,后者仍拒绝回答红队的查询,这一趋势让美国开发者感到遗憾。

与此同时,AI生成代码的洪流给FOSS维护者带来了新的拒绝服务压力。审查AI输出通常比生成它花费更长的时间。一些比特币以外的开源项目限制了问题跟踪器或实施了严格的反AI贡献规则,以保持功能正常。

来源:BitcoinMagazine

更多关于主题 «加密货币新闻»

所有帖子
关于金钱的随机引用
对金钱最大的滥用,就是可以用它来购买政治权力。
— 卡尔·波普尔

其他部分的有趣内容

整个博客

评论 0

尚无评论

成为第一个分享您对此主题的看法或经验的人。

广告