Eclipse Mainnet:Solana 与以太坊技术结合,集众家所长的 L2 新范式
原作者:Eclipse
原文标题:《Introducing Eclipse Mainnet: The Ethereum SVM L2》
编译:深潮 TechFlow
Eclipse Mainnet 是结合了模块化架构中最佳部分的通用 Layer 2:
结算层:以太坊 - Eclipse 将与以太坊结算(即验证桥将在以太坊上),并使用 ETH 作为其 gas 代币。
执行层:Solana 虚拟机(SVM) - Eclipse 将运行高性能的 SVM 作为其执行环境。
数据可用性:Celestia - Eclipse 将将其数据发布到 Celestia,以实现可扩展的数据可用性(DA)。
证明:RISC Zero - Eclipse 将使用 RISC Zero 进行欺诈的零知识证明(而不需要中间状态序列化!)
Eclipse 大多数的亮点一直围绕着为各种项目部署应用专属 rollup 的工作,但现在比以往任何时候都更清楚,以太坊需要一个能够实现真正大规模的通用 Layer 2。大多数应用都不会从应用专属链的自定义中受益,结果造成的隔离和复杂性实际上可能导致更糟糕的用户体验和开发者体验。
模块化 rollup 愿景与拥有大规模扩展、并行执行和共享状态单链能力之间经常存在错误的二分法。“模块化”经常与“应用专属”混为一谈,这会让人认为 rollup 意味着许多碎片化且吞吐量低的链的世界。
执行层:Solana 的速度和规模
Eclipse Mainnet 将采用 Solana 类最佳的执行环境。这带来了巨大的优势:
优化的并行执行
SVM 及其 Sealevel 运行时以其支持并行交易执行而着名。不接触重叠状态的交易可以并行而不是串行执行。
这允许 SVM 随着硬件的扩展而直接扩展,因为处理器持续以更低的成本添加更多内核。单线程运行时(如今天的 EVM)从本质上不会从降低每个内核的成本中受益。在过去的十多年中,单线程性能的提高一直在不断减少。几乎所有改进仍然来自于增加内核数量,所以充分利用这种趋势进行工作负载并行化至关重要:
尽管有一些非常早期的对 EVM 进行并行化的尝试,但是在保持兼容性的同时添加它会带来根本性的权衡,包括在不解决其他瓶颈(例如状态增长)的情况下性能次优。预先声明状态依赖关系的合约(如在 SVM 中)可实现最佳并行化。
原生费用市场
今天大多数费用市场都是全局的,这意味着一个热门应用会增加所有链用户的费用。一个 NFT 铸造不应该使整条链对其他所有内容都失去用途。Solana 在原生费用市场上的惊人工作解决了这个跨应用状态争用问题。在其当前的实现中,调度程序优先考虑没有冲突的交易,允许无冲突的交易以更低的费用进行。从长远来看,原生费用市场将在协议层面实现。这确保单个应用的费用飙升不会影响链上的其他部分。
原生费用市场得益于 Solana 独特的并行化运行时。在 EVM 中尝试使用启发式方法(即不提前声明状态访问)实现状态热点的原生费用市场将带来低效和可能的攻击向量。
还有一些初期的研究正在进行中,以便应用可以轻松地内部化其应用程序本身的原生价值,而今天这通常需要在应用程序级设计上更具创造力。
状态增长管理
在 EVM 甚至碰到顺序执行作为瓶颈之前,状态增长就是其更迫切的瓶颈。
因为状态没有 Merkle 树,Solana 不会为每个状态更新引入更新 Merkle 树的开销。相反,每个纪元(2.5 天)之后,整个状态被归档。这比实时归档(如在 EVM 中)更便宜。
更重要的是,EVM 具有动态帐户访问(即事务可以按需触及任何状态)。这种动态状态查找意味着状态无法在执行之前加载到内存中。在 SVM 中,每个事务都指定执行所需的所有状态。
因此,状态大小不会影响 SVM 执行。假设验证者每两年升级一次存储磁盘,网络可以安全地每两年将快照大小增加一倍,而不会遇到重大问题。
此外,像 Helius 这样的团队正在积极改进历史数据的可访问性并通过压缩减少状态大小。
EVM 兼容性
Neon EVM 是一个可以部署在任何 SVM 链上的以太坊虚拟机智能合约。这为 Eclipse Mainnet 带来了完整的 EVM 兼容性(包括 EVM 字节码支持和以太坊 JSON-RPC),其吞吐量大于单线程 EVM。因为每个 Neon EVM 实例都有自己的原生费用市场,应用可以简单地部署自己的合约以获取应用链的好处,而不会破坏 UX、安全性或流动性。
另外,Solang 编译器可以将 Solidity 智能合约代码编译成 SVM 字节码。
MetaMask Snaps
引导 EVM 用户使用非 EVM 链历来是一个重大障碍,但近期公布的 MetaMask Snaps 将打破这一壁垒。EVM 用户可以继续使用 MetaMask,而无需切换钱包。由于 Drift 开源贡献构建了一个伟大的 MetaMask Snaps 实现,使用体验与互动任何 EVM 链类似。Eclipse Mainnet 用户将能够在 MetaMask 中以原生方式与应用程序交互,或使用 Salmon 等 Solana 原生钱包。
Firedancer
Firedancer 是 Jump 正在开发的备受期待的 Solana 客户端,旨在极大地提高网络的吞吐量、弹性和效率。在启动时,我们会尽可能贴近 Solana 核心客户端,但我们计划在代码实时稳定后采用 Firedancer。
安全性
Solana 运行时的攻击面积大大减少,可以防止我们已经看到太多次的重入攻击。具体来说,Solana 运行时只允许程序自递归,而不允许任意的可重入的跨程序调用。此外,状态和代码的分离导致无状态代码,这通常更易于有效测试。
更简单的证明
SVM 基于寄存器,指令集远小于 EVM,这使得 SVM 执行在 ZK 中更易于证明。对于乐观 rollup,基于寄存器的设计允许更简单的检查点。
结算层:以太坊的安全性和流动性
与今天的主要 rollup 一样,Eclipse Mainnet 将与以太坊结算。具体来说,这意味着我们在以太坊上的验证桥将直接融入 Eclipse。Eclipse 节点将查看此桥以确定“规范链”。该桥强制执行 Eclipse 的正确排序。
这允许我们的用户从以太坊获得某些安全属性。该桥将验证所有 Eclipse 交易,防止提交无效状态。此外,它将在某些失败情况下强制最终活性和防审查。即使 L2 的排序者停止运行或开始审查,用户也能够通过该桥强制包含其交易。
由于这些安全属性,有效库和最优库通常被称为“以太坊 L2”。L2BEAT 将 L2 定义为“一个链,其完全或部分从以太网层 1 派生其安全性,以便用户不需要依赖 L2 验证者的诚实性来确保资金的安全。”
以太坊结算体现了以太坊本土资产在 Eclipse Mainnet 的 DeFi 和 NFT 经济中的重要性。ETH 是大多数用户明显首选的最好的去中心化货币,因此我们也将使用 ETH 作为我们的 gas 代币。从长远来看,费用抽象将使用户能够以他们选择的任何代币支付(例如 USDC)。目前 Eclipse Mainnet 没有发行自己代币的计划。
数据可用性:Celestia 的带宽和可验证性
Eclipse Mainnet 将使用 Celestia 进行数据可用性(也称为数据发布或数据出版)。Celestia 一直是 Eclipse 的长期生态系统合作伙伴。
Eclipse Mainnet 的目标吞吐量和费用不幸地不受以太坊当前带宽限制的支持。即使在 EIP-4844(又名“Proto-danksharding”)之后也是如此,它为每个区块提供约 0.375 MB 的 blobspace(每个区块限制约为 0.75 MB)。
对于具有基本压缩的 ERC-20 传输(每笔交易约 154 字节),这相当于所有 Rollup 的约 213 TPS。
对于压缩交换(每笔交易约 400 字节),这相当于所有汇总的约 82 TPS。
相比之下,Celestia 将在今年年底推出 2 MB 区块。一旦足够的数据可用性采样(DAS)轻节点上线并且网络被证明稳定,blob 空间预计将在启动后不久增加到 8 MB。 DAS 轻节点服务两个关键功能:
使用户能够自行验证 Eclipse 块数据是否可用;
有助于安全地扩展整个网络,因为随着更多 DAS 轻节点上线,DA 层可以安全地增加其吞吐量。
预计 Celestia 将是第一个在生产中启用 DAS 的 DA 层。这与传统的数据可用性委员会(DAC)形成对比,后者在没有用户验证的情况下重新引入委员会诚实度假设(类似于现有的单片区块链)。
对于从以太坊主网桥接资金到使用离链 DA 的任何链的用户来说,存在固有的安全假设。特别是,从技术上讲,Celestia 验证者可以拒绝交易数据,但声称这些数据在以太坊桥上是可用的。实际上,Celestia 的权益证明共识意味着 Celestia 本身的数据扣留是可惩罚的,这使我们认为这种风险不现实。
总的来说,Celestia 从第一天起的 DAS 轻节点支持、加密经济安全属性以及高度可扩展的 DA 吞吐量,使其成为 Eclipse Mainnet 当前的明确选择。
我们还打算在 EIP-4844 之后监控以太坊在 DA 扩展方面的进展。兴奋的新研究不断出现,可能在比以前的想法更早提供高吞吐量的 DA(后者使用更高级的分布式哈希表)。如果以太坊为我们的用户提供更大的规模,我们会评估迁移到以太坊 DA 的可能性。
证明:RISC Zero ZK 欺诈证明(不需要中间状态序列化!)
我们的证明将类似于 Anatoly 的 SVM 欺诈证明 SIMD,这本身类似于 John Adler 的见解,即状态序列化代价高昂,并且可以避免它。
具体来说,我们想避免在 SVM 中重新引入 Merkle 树。我们在 SVM 中尝试了在每个交易后插入稀疏 Merkle 树,但更新 Merkle 树会导致明显的性能损失。不使用 Merkle 树排除了现有的通用 rollup 框架(如 OP 堆栈)作为 SVM rollup 的基础,它还需要更具创造性的故障证明体系结构。
简而言之,故障证明需要:
对交易输入的承诺,
交易本身,以及
证明重新执行交易导致不同的输出与链上指定的输出。
输入承诺通常是通过提供 rollup 状态树的 Merkle 根来完成的。我们的执行程序将为每个交易发布输入和输出列表(包括帐户哈希和相关全局状态),以及产生每个输入的交易的索引。交易在 Celestia 上发布,因此任何完整节点都可以自行提取其自己状态中的帐户,计算输出帐户,并确认以太坊上的承诺是正确的。
可能存在两种主要故障:
错误输出 —— 在这种情况下,验证者在链上提供 SVM 执行的正确输出的零知识证明。我们使用 RISC Zero 创建 SVM 执行的零知识证明,这是我们之前证明 BPF 字节码执行的延续。这允许我们的结算合约确保正确性,而无需在链上自行运行这些交易。
错误输入 —— 在这种情况下,验证者在链上发布指向历史数据的引用,显示输入状态与声明的不符。使用 Celestia 的量子引力桥,我们的结算合约确保此历史数据确实证明了欺诈。
我们站在巨人的肩膀上。今天的 rollup 已经推进了我们整个行业的研究状态,并为以太坊用户提供了比 L1 更低的费用。
然而,它们没有充分利用最新的需要大规模的技术。近期取得的不可思议的进步消除了早期 rollup 所做的必须做出这些权衡的需要,实际上使它们处于劣势:
高性能并行 VM(例如 SVM);
具有 DAS 轻节点支持的 DA 扩展(例如 Celestia);
使其在任何地方都实用的证明基础设施的进步(例如 RISC Zero);
跨生态系统的代码(例如 Neon 和 Solang)和用户(例如 MetaMask Snaps)的可移植性提高
我们可以从其他链面临的局限中吸取教训,然后挑选最佳部分进行长期扩展。
我们经常听到未来拥有 100 万个特定于应用的 Rollup 的说法。
共识级自定义对某些应用程序(例如 dYdX v4)来说可能非常有价值,我们很高兴帮助团队推出应用专属 rollup。
然而,这些情况很少很少。这就是为什么大多数新的 rollup 仍然只是普通的 EVM 分叉。开发人员的问题不会通过在更多链上碎片化 UX 来解决。如今为数百万条链找到的主要用例通常似乎只是启动更多代币。对绝大多数用例来说,今天并不存在对完整技术栈定制的需求。
即使真正的需求存在,支持许多具有竞争力 UX 的应用链所需的基础设施也要数年后才能到位(如果能达到相当水平)。Optimism 的 Superchain(OP 堆栈)、zkSync 的 Hyperchains(ZK 堆栈)、Arbitrum 的 Orbit 链等都有许多链的愿景,具有共享基础设施。这旨在为同一生态系统内的链间操作(例如,Superchain 内的两条链之间)提供更流畅的 UX,而非完全隔离的链(例如以太坊和 Solana 之间)。
然而,当前的计划(如果存在)距离有望与单个共享状态竞争还远着呢。此外,它们并没有解决跨生态系统的互操作性问题(例如,Superchain 到 Hyperchain)。构建模块化不应意味着建立孤岛。
用户在许多链上维护帐户会更加复杂。不断的跨链和担心所需的 gas 代币是更糟糕的用户体验。依赖基础设施提供商来操作和维护如此多的链也更加复杂且昂贵。
我们一直欣赏 Solana 愿景的简单性。一个高度优化的共享状态机,具有支持大多数有价值用例的规模。这通常被视为与以 rollup 为中心的路线图不兼容,但实际上并非如此。我们想结合两全其美。
这种误解是由于今天的 rollup 在很大程度上运行原始的单线程 EVM,为了利用早期的网络效应基本没有改变。因此,我们经常看到“专用区块空间”被引用作为部署应用专属 rollup 的原因。你链上的其他应用不应该因为一些疯狂的 NFT 铸造就涨价,但答案不是去做自己的链。你进行了痛苦而不必要的权衡(复杂性、成本、更糟糕的用户体验、碎片化的流动性等)。最佳解决方案非常明确——只需使用带有状态热点原生费用市场的并行 VM。这正是 SVM 带来的。
以太坊是加密的知识、社会和经济中心。它的阿基里斯之踵一直是扩展。数据可用性的扩展仍在进行中,而现有的 L2 执行环境无法与 SVM 等较新的创新相竞争。我们担心,如果继续保持今天的状态,以太坊生态系统会在任何活动急剧增加的情况下措手不及。单线程 EVM 和受约束的数据可用性会很快导致高昂费用的死灰复燃,只不过这次是在 rollup 上。
我们认为,Eclipse Mainnet 是明显的解决方案:将 Solana 的性能与以 rollup 为中心的路线图的安全性、可验证性和网络效应结合起来。
结语
以太坊的美妙之处在于它不断地创新。以 rollup 为中心的路线图是这一点的典范,将执行和创新委托给自由市场。L2 拥有利用以太坊的网络效应和结算保证的不可思议能力,同时实验最佳新的执行环境。Eclipse Mainnet 是这一愿景的自然实现。
如果某天出现了更高性能的执行层,我们会非常兴奋地看到它作为具有竞争力的以太坊 L2 被部署。在那之前,SVM 仍然是标准。