LambdaClass 在以太坊路线图中的工作
简介
互联网让信息的流动近乎免费,但它从未回答:在线内容归谁所有、谁能转移、争议由谁裁决,于是答案默认落到了运行服务器的人身上。以太坊尝试在公开层面构建这个缺失的层:记录、转移和强制执行都不属于任何单一运营者。
一个机构的可信度,取决于人们能否独立运行并检查其软件。这正是我们做的事。这篇文章讲述了过去几年我们作为以太坊核心开发者的经历,以及其中三块工作目前的进展:ethrex(执行层客户端)、ethlambda(精简共识客户端)和 Lambda VM(zkVM)。
我们的以太坊之旅
我们涉足以太坊已有数年,既是用户也是利益相关者。这些年来,我们帮助在以太坊之上构建和实现了多个协议。
我们首次以核心开发者身份接触以太坊是三年前,当时开发了 lambda_ethereum_consensus,一个基于 Elixir 的以太坊共识层客户端。我们构建它是为了促进 以太坊的客户端多样性,这对网络的韧性与去中心化至关重要。正如 ethereum.org 所说:“拥有许多独立开发和维护的客户端,对于一个去中心化网络的健康至关重要。”
两年前,我们想要覆盖完整的以太坊技术栈,于是开始开发 ethrex,一个基于 Rust 的以太坊执行层客户端。我们再次希望为以太坊的客户端多样性做出贡献,但这次不只是再提供一个客户端,而是遵循 LambdaClass 的工作理念,打造一个代码库简单、精简、模块化且易读的客户端。两年后,ethrex 已在生产环境中运行,成为最快的客户端之一,同时拥有最小、最易读的代码库。
今年年初,作为 lambda_ethereum_consensus 的延续,我们聚焦于以太坊的后量子安全未来——Lean Ethereum,开始开发 ethlambda,一个基于 Rust 的 Lean Ethereum 共识客户端。除了促进客户端多样性,这也是我们参与以太坊实验性工作的第一步。如今,ethlambda 是 interop 开发网络中最稳定的 Lean Ethereum 客户端。
作为 Lean Ethereum 长期路线图的一部分(该路线图旨在借助后量子安全的 ZK 将以太坊扩展到 gigagas 级别的 L1 和 teragas 级别的 L2),我们也在发布 Lambda VM,一个与 LambdaClass 和 3MI Labs 合作开发的可验证虚拟机。这个 zkVM 能证明 RISC-V(RV64IM_Zicclsm)程序的正确执行。它构建在 Goldilocks 域上的 STARK 与 LogUp 查找参数之上,透明(无需可信设置),并具有后量子安全性。我们的目标是提供以太坊执行能力:将 ethrex 等客户端产生的区块转化为简洁证明,并最终可在链上验证。
三个客户端,三个层,一个技术栈。这就是这篇文章剩余部分的内容。
我们目前的进展
ethrex
经过一年的开发,ethrex 已经为 Pectra 硬分叉做好了生产准备,仅用了 6 万行代码,吞吐量达到 0.33 Ggas/s;而其他客户端如 reth(用同一种编程语言实现)当时约有 30 万行代码,还不包括它们所依赖的其他外部库。
一年后,ethrex 顺利完成了 Fusaka 硬分叉的过渡,在 EthProofs 上证明了主网区块,完成了首次外部审计,开始被主网验证者使用,并将吞吐量提升至原来的三倍,平均达到 1 Ggas/s,而代码仅有 10 万行。
如今,ethrex 正准备进入下一个硬分叉 Glamsterdam,预计在 BALs 之后性能翻倍,达到 2 Ggas/s。这一次,ethrex 参与了每一个开发网络(从第 0 天起就被包含在所有这些网络中),是第一个通过每次开发网络发布时附带的所有规范测试的客户端,并且 还参与了它的第一次 interop,即 Soldøgn interop。
但我们并没有止步于此。自 ethrex 达到生产就绪以来,它在过去几个月里一直是 EF 研究人员为以太坊未来搭建原型的试验场。我们目前正在开发紧随 Glamsterdam 之后的 Hegotá 硬分叉,引领以下方向的未来发展:zkEVM,通过 EIP-8025(可选执行证明);账户抽象,通过 EIP-8141(帧交易);隐私,通过 EIP-8250(密钥随机数)和 EIP-8272(近期根);抗审查,通过 EIP-7805(FOCIL);安全性,通过 EIP-7906(交易后断言与无需信任的明确签署);以及支付,通过 原生 UTXO。
Hegotá 并非我们的极限:I* 和 L* 硬分叉功能也正在 ethrex 上开发,例如由 EF 提出的 分区二叉树(EIP-8297),以及由我们与 L2Beat 和 EF 合作提出的 原生 Rollups(EIP-8079)(由我们与 L2Beat 和 EF 合作)。
ethlambda
经过 8 个月的开发,ethlambda 已成为 interop 开发网络中最稳定的客户端。我们已同步当前 pq-devnet-5 规范,并在积极为未来的开发网络开发实验性功能。后量子路线上的下一步,是将 LMD-GHOST 分叉选择算法和 3SF-mini 最终性机制替换为 Goldfish 与 BFT 最终性,并集成执行层。
作为我们对稳定性承诺的一部分,我们持续在自己的服务器上运行开发网络,最近运行了一个 512 验证者的开发网络,这是迄今为止最大的一个。我们还运行自己的一套 interop 开发网络,并将我们在其他客户端上发现的任何错误报告给相应团队。
Lambda VM
Lambda VM 最近入选以太坊基金会的 zkEVM 赛道,以 72/72 的成绩通过 RISC-V ISA 合规测试,成为第一个做到这一点的 zkVM。该赛道还设定了其他标准:所有用于证明以太坊执行的组件都必须采用宽松的开源许可,并且需要实时证明。
与 ethrex 一样,代码库非常精简:抽象和外部依赖都尽可能少。核心密码学原语位于仓库中(约 1.5 万行代码),执行器约 3.5k 行,VM 的密码学描述(表、轨迹生成和约束)约 3 万行。GPU 后端单独统计,因此 CPU 实现就是 zkVM 在 Rust 中的完整描述。大多数 zkVM 走了另一条路,用更难审计、更难推理、更难形式化验证的证明系统来换取性能。
我们重构了 CPU 和 chip 表,将证明时间缩短了 25%,并加强了一组约束不足的 chip 的可靠性。我们完成了椭圆曲线标量乘法和数字签名加速器,消除了证明 ethrex 交易的主要成本——ECDSA 签名恢复,并让 witness 生成速度提升了 7.7 倍。证明器的第 1 到 4 轮在 GPU 上运行,轨迹在各轮之间驻留在设备上;即将到来的 PR 应能使 GPU 性能翻倍。分片/延续功能已经落地,递归验证器现在在真实查询数量下处理真实区块,并就地消费延续证明。
公开路线图包含四个里程碑:证明完整的以太坊区块、让证明具备实用性、在链上验证这些证明,以及实时证明。同一个 VM 将在我们的 rollup-as-a-service 中证明 ethrex L2,并支持我们的证明聚合服务。该代码库正在积极开发中,尚未面向生产环境使用。
接下来是什么?
ethrex 即将带着 BALs 和 2 Ggas/s 的性能进入 Glamsterdam,而 Hegotá 的功能如今也正在 ethrex 上做原型。ethlambda 的下一步是 Goldfish、BFT 最终性以及集成执行层。Lambda VM 的下一步,则是从证明以太坊区块走向实时证明。
执行、共识和证明:ethrex、ethlambda 和 Lambda VM 都用 Rust 编写,全部开源,而且代码量都小到可以完整通读。
我们将在后续文章中分享在 ethlambda 上的工作经验,并更深入地探讨以太坊(及 Lean Ethereum)、ethlambda 和 ethrex 的现状。
- 原文链接: blog.lambdaclass.com/how...
- 鸿途知科网 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
鸿途知科网
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。