以太坊创始人Vitalik Buterin:区块链的长期韧性与可扩展性在于简化
以太坊联合创始人Vitalik Buterin认为,区块链的长期韧性和可扩展性关键在于简化,就像比特币一样。在5月3日的一篇博客文章中,他描述了“五年后的以太坊如何变得接近比特币的简单性”。Buterin写道:“比特币最棒的一点就是其协议的简洁之美。”
比特币的简约设计
根据Buterin的说法,比特币的极简设计使其易于理解,即使是高中生也能掌握其协议的概念和架构。Buterin指出,简约性还带来了其他好处,比如降低了创建新基础设施和维护现有基础设施的成本,同时减少了出现漏洞的风险。
以太坊的现状与挑战
最近的升级,如权益证明(PoS)和零知识简洁非交互式知识论证(zk-SNARK)的集成,使以太坊更加健壮。然而,忽视设计的简约性增加了以太坊的成本。Buterin解释道:“历史上,以太坊经常没有做到这一点(有时是因为我自己的决策),这导致了我们过多的开发支出、各种安全风险以及研发文化的孤立性,往往追求的是已被证明是虚幻的好处。”
Beam Chain升级
去年11月,以太坊基金会研究员Justin Drake提出了一项名为“Beam Chain”的共识层升级。Buterin认为,Beam Chain比其过时的前身——当前的信标链——更有可能实现简化。这是因为Beam Chain将允许进行3槽最终性重新设计,这将消除复杂的概念,如单独的槽、时期和同步委员会。Buterin还强调,3槽最终性的基本实现可以通过大约200行代码实现,使其更加简单。
Beam Chain还将减少同时活跃的验证者数量,这将使“使用更简单的分叉选择规则实现更安全”。Beam Chain还将集成基于STARK的聚合协议,这意味着任何人都可以成为聚合者。Buterin指出:“聚合密码学本身的复杂性是显著的,但它至少是高度封装的复杂性,对协议的系统性风险要低得多。”
简化P2P架构
Buterin补充说,减少活跃验证者和采用基于STARK的聚合器将“可能实现更简单和更健壮”的P2P架构。他接着说,有机会重新思考和简化多个方面,从验证者进入和退出到不活跃泄漏。这可以通过减少代码行数(LoC)和创建“更易读的保证”来实现。
共识层的改进空间
Buterin强调,共识层与以太坊虚拟机(EVM)执行“相对分离”,这为改进提供了“相对广泛的自由度”,相比于执行层。上个月,Buterin提出用RISC-V替换EVM合约语言,以提高效率高达100倍。Buterin认为,采用RISC-V还将增加简约性,因为“RISC-V规范与EVM相比极其简单”。
向后兼容性
然而,这意味着要确保现有应用程序的向后兼容性得以保留。Buterin写道:“首先要理解的是:没有一种单一的方法来界定‘以太坊代码库’(即使在一个客户端内)。”根据Buterin的说法,橙色区域无法减少。Buterin声称,目标是通过将代码移动到黄色区域来最小化绿色区域,黄色区域表示“对于今天理解和解释链非常有价值的代码,或用于优化区块构建,但不是共识的一部分”。Buterin将这一过程比作苹果通过翻译层实现长期向后兼容性。
简化路径
为了减少绿色区域,Buterin提出了以下步骤:
- 阶段1:新的预编译将以RISC-V编写。
- 阶段2:开发者可以选择用RISC-V编写合约。
- 阶段3:通过硬分叉将所有预编译替换为RISC-V实现。
- 阶段4:在RISC-V中实现EVM解释器,并将其作为智能合约推送到链上。
Buterin表示,上述步骤将确保以太坊共识“原生”只理解RISC-V。
跨栈共享标准
Buterin提出“在栈的不同部分共享一个标准”作为简化路径。例如,Buterin建议使用单一擦除代码进行数据可用性采样、P2P广播和分布式历史存储。他认为,这将最小化总代码行数,提高效率并确保可验证性。
同样,他建议在以太坊的三个层之间使用单一共享的序列化格式:执行层、共识层和智能合约调用应用二进制接口(ABI)。Buterin建议使用SSZ,因为它易于解码且广泛使用。
从十六进制Merkle Patricia树到二叉树
最后,一旦EVM被RISC-V或其他简单语言取代,Buterin建议从十六进制Merkle Patricia树切换到二叉树,无论是共识层还是执行层。Buterin写道,这一转变可以提高效率并降低成本,同时确保所有以太坊层都可以使用相同的代码访问和解释。
明确的最大代码行目标
Buterin总结道,以太坊应效仿Tinygrad,采用明确的最大代码行目标。Buterin重申,目标是使“以太坊共识关键代码接近比特币的简单性”。但更重要的是,以太坊需要采用一种理念,即在可能的情况下选择更简单的选项。这意味着优先选择封装的复杂性而不是系统性的复杂性。
Buterin保证,处理以太坊历史规则的代码将继续存在,但此类代码应保持在共识关键代码之外,即绿色区域之外。