MSTR Cat

区块链/等级 VII · 演进/7.1 以太坊:世界计算机/课程 1

以太坊:可编程性的力量与代价

图灵陷阱:当账本能够运行任何程序时会发生什么

材料BIP-341(Taproot)的副本以太坊白皮书(2014年)BitVM论文(2023年)

好奇

  1. 为何执行任意代码的能力必然会扩大被盗的攻击面?
  2. 一个社区是如何分叉自己的链来撤销一次黑客攻击的?比特币又为何拒绝了这一先例?
  3. 比特币究竟是通过何种机制在无需实际执行复杂计算的情况下完成验证的呢?

探索

  1. 以太坊于2015年7月推出,其目标与比特币不同——即实现通用编程功能。比特币的脚本系统是为特定的、可审计的金融交易设计的,而以太坊则引入了图灵完备的虚拟机(EVM)。这使得开发者能够直接在区块链上编写并部署各种程序。由此产生了大量代币、去中心化金融协议以及无法在比特币有限脚本环境中实现的非同质化代币。
  2. 通用计算的强大能力是有代价的。2016年6月,The DAO智能合约中的一个递归漏洞让攻击者转走了约三分之一的募集资金。以太坊社区陷入危机:是让代码按原样执行(“代码即法律”),还是进行干预?他们选择了干预,执行了一次硬分叉,通过非常规的状态变更将被盗资金转入退款合约。这一决定使链分裂为以太坊和以太坊经典,证明了社会共识可以凌驾于不可更改的代码之上。
  3. The DAO事件暴露了一个结构性弱点:表达能力越强,攻击面越大。此后可编程链上发生的大多数盗窃,并非源于密码学被攻破,而是源于保留的管理员密钥、可升级的合约逻辑或简单的编码错误。当一条链允许运行任何程序时,每个新功能都会增加可被利用的复杂性。安全责任从协议设计者转移到了成千上万的个体开发者身上,而他们可能缺乏严格的审计。
  4. 针对这一攻击面的一种解答来自语言本身。Move 由 Facebook 为其后来被放弃的 Libra(后更名为 Diem)项目开发,它将代币视为资源:一种类型系统不允许程序复制或悄悄丢弃的值,因此整类重复计算和资金丢失的漏洞会在编译阶段失败,而不是在生产环境中出错。2022 年 Diem 关停后,前 Diem 工程师将 Move 带到了新的链上。由 Avery Ching 和 Mo Shaikh 创立的 Aptos 于 2022 年 10 月 17 日上线主网,并采用 Block-STM:一种并行执行引擎,它乐观地执行交易,事后检查哪些交易触及了相同的数据,并只重新执行这些交易。其工程技术处于前沿,但发行却并非如此。交易所在 APT 代币的分配方案公布之前就将其上线,公布的数据显示约一半供应量分给了投资者、核心贡献者和基金会,早期链上活跃度远未达到宣传的吞吐量,团队也承认“本可以做得更好”。由另一批前 Diem 工程师打造的 Sui 随后于 2023 年推出了自己的基于 Move 的主网。这一教训具有两面性:更安全的语言能缩小攻击面,但技术挽救不了一场持币者无法看清内情的发行。
  5. 比特币的应对方式是选择性地采用新功能,而非全面复制。它并未使用通用的计算机制,而是集成了特定且可审计的功能。2021年11月启用的Taproot功能引入了脚本树结构,使得在保障隐私与效率的同时实现更复杂的支出条件。各种钱包也开始使用PSBT(部分签名比特币交易)这一标准格式来在签名者之间传递交易信息。这些改进提升了系统的功能性,同时避免了引入可能因代码缺陷而威胁整个网络的通用虚拟机。
  6. 对于简单脚本无法处理的繁重计算,BitVM 方案提供了一条出路。BitVM 由 Robin Linus 于2023年提出,它将繁重的计算放在链下;只有存在争议的那一步才会在比特币上接受检查,而且只有在有人提出质疑时才会进行。这既保持了比特币精简的基础层,又能支持高级应用,确保核心协议保持简单、可验证,并能抵御通用智能合约环境中出现过的那类级联故障。
  7. 权衡显而易见:以太坊优先考虑灵活性,代价是安全上的复杂性和可升级性带来的风险;比特币则通过限制计算来优先保证稳定性与明确性。对于链上新增的任何功能,检验标准是它是否引入了可能被滥用的隐藏状态或管理权限。如果某项能力无法在不依赖可信第三方或复杂的社会共识分叉的情况下,通过简单、透明的规则加以验证,它就带有固有风险。这一区别界定了这两条主流链当前在架构上的分野。

关键事实

  • 以太坊主网于2015年7月上线,配备了图灵完备的虚拟机。
  • DAO黑客攻击发生在2016年6月,由此引发了硬分叉,导致区块链分裂。
  • 2021年11月,比特币在区块709,632上启用了Taproot功能,由此引入了脚本树机制。
  • 大多数智能合约被盗事件源于保留的管理员密钥或代码漏洞,而非密码学失效。
  • Move(源自 Facebook 的 Libra/Diem 项目)将代币视为无法复制或丢弃的资源;Aptos 于 2022 年 10 月 17 日基于 Move 技术并采用 Block-STM 并行执行机制启动了其主网。
  • BitVM支持链下计算与链上争议解决,从而保持精简的基础层。
  • PSBT支持具有明确责任归属的多方交易签名工作流程。

练习 九、六、三、一

9收集列出9种智能合约功能或协议。说明每种功能或协议是依赖通用计算、特定脚本逻辑,还是外部预言机。
6归类按每项所产生的攻击面,将这9项归为6组。
3提炼将这6组归纳为通用计算增加系统性风险的3个主要原因。
1凝结用1句话说明你会在安全的能力与危险的能力之间如何划界,以及原因。

事实核查

日期、数字及数据均依据下方列出的已发表资料进行核实。

在互动学院中打开 →

EN PT ES JA KO RU DE FR MS