Eclipse Mainnet:以太坊 SVM L2 介绍

Eclipse Mainnet 是一个通用 L2,它结合了模块化堆栈的最佳部分:结算在以太坊上,执行使用 Solana 虚拟机 (SVM),数据可用性使用 Celestia,证明使用 RISC Zero 的 ZK 欺诈证明。结合 Solana 的性能与以太坊 rollup 的安全性和网络效应,旨在实现高性能和低费用。

介绍 Eclipse 主网:以太坊 SVM L2

TL;DR:我们很高兴最终宣布 Eclipse 主网的架构:由 SVM 驱动的最快的以太坊 L2。

Eclipse 主网是一个通用的 L2,它结合了模块化堆栈的最佳部分:

  • 结算层:以太坊 - Eclipse 将结算到以太坊(即,固化的验证桥将在以太坊上),并使用 ETH 作为其 gas 代币。

  • 执行层:Solana 虚拟机 (SVM) - Eclipse 将运行高性能的 SVM 作为其执行环境。

  • 数据可用性层:Celestia - Eclipse 将其数据发布到 Celestia,以实现可扩展的数据可用性 (DA)。

  • 证明层:RISC Zero - Eclipse 将使用 RISC Zero 进行欺诈的 ZK 证明(无需中间状态序列化!)

Eclipse 的大多数新闻都围绕着我们为一系列项目部署特定于应用的 Rollup 的工作,但现在比以往任何时候都更清楚的是,以太坊需要一个能够真正大规模扩展的通用 L2。大多数应用程序不会从特定于应用程序的链定制中受益,并且由此产生的隔离和复杂性实际上会导致更糟糕的 UX 和开发者体验。

通常会出现一种错误的二分法,即模块化 Rollup 愿景与拥有具有大规模、并行执行和共享状态的单一链的能力之间的对立。“模块化”通常与“特定于应用程序”混为一谈,这会让你认为 Rollup 意味着一个由许多碎片化和低吞吐量链组成的世界。我们对这种想法提出质疑。

执行层:Solana 的速度和规模

Eclipse 主网将采用 Solana 一流的执行环境。这带来了巨大的优势:

优化的并行执行

SVM 及其 Sealevel 运行时以实现并行事务执行而闻名。不触及重叠状态的事务可以并行执行,而不是顺序执行。

这使得 SVM 能够随着处理器继续以更低的成本添加更多核心而直接扩展硬件。单线程运行时(例如今天的 EVM)从根本上不会受益于降低每个核心的成本。十多年来,单线程性能的加速一直在不断减少。几乎所有的改进仍然来自增加核心数量,因此充分利用这一趋势至关重要通过并行化工作负载

有一些非常早期的未经证实的尝试并行化 EVM,但添加此功能并在保持兼容性的同时会带来根本性的权衡,包括次优性能,而没有解决其他瓶颈(例如,状态增长)。预先声明状态依赖关系的合约(如 SVM 中)允许最佳并行化。

本地费用市场

如今,大多数费用市场都是全局性的,这意味着一个热门应用程序会增加链上所有用户的费用。一个 NFT 铸造不应使该链对其他任何事物都无用。Solana 在本地费用市场上的出色工作解决这种跨应用程序的状态争用。在其当前实现中,调度程序优先处理没有冲突的事务,允许没有冲突的事务以更低的费用通过。从长远来看,本地费用市场将在协议级别实施。这可确保单个应用程序的费用飙升不会影响链的其余部分。

本地费用市场之所以成为可能,归功于 Solana 独特的并行运行时。尝试使用启发式方法(即,在不预先声明状态访问的情况下)为 EVM 中的状态热点实施本地费用市场将导致效率低下并且可能存在攻击媒介。

还有早期研究正在进行中,这将允许应用程序轻松地将归因于它们的本地价值内部化,而如今这通常需要更具创造性的应用程序级别设计

状态增长管理

在 EVM 遇到顺序执行瓶颈之前,状态增长是其更为紧迫的瓶颈。

由于没有用于状态的Merkle树,Solana 不会因每次状态更新而产生更新Merkle树的开销。相反,在每个 epoch(约 2.5 天)之后,整个状态都会被Merkle化。这比实时Merkle化(如 EVM 中)便宜得多。

更重要的是,EVM 具有动态帐户访问(即,事务可以按需访问任何状态)。这种动态状态查找意味着在执行之前无法将状态加载到内存中。在 SVM 中,每个事务都指定执行所需的所有状态。

因此,状态大小不会影响 SVM 执行。该网络可以安全地每 2 年将快照大小翻倍,而不会遇到重大问题,假设验证器每 2 年升级其存储磁盘。

此外,像 Helius 这样的团队正在积极改进历史数据的可访问性,并通过压缩来减小状态大小。

EVM 兼容性

Neon EVM 是一个作为智能合约运行的 EVM,可以部署在任何 SVM 链上。这为 Eclipse 主网带来了完整的 EVM 兼容性(包括 EVM 字节码支持和以太坊 JSON-RPC),并且 吞吐量高于单线程 EVM。由于每个 Neon EVM 实例都有自己的本地费用市场,因此应用程序只需部署自己的合约即可获得应用链的优势,而无需破坏 UX、安全性或流动性。

另外,Solang 编译器可以将 Solidity 智能合约代码编译为 SVM 字节码。

MetaMask Snaps

历史上,将 EVM 用户引导到非 EVM 链一直是一个主要障碍,但最近推出的 Metamask Snaps 将会打破这一障碍。EVM 用户可以继续使用 MetaMask,而无需切换钱包。由于 Drift 的开源贡献构建了一个出色的 MetaMask Snap 实现,因此 UX 与与任何 EVM 链交互相当。Eclipse 主网用户将能够在 MetaMask 中以原生方式与应用程序交互,或者使用像 Salmon 这样的 Solana 原生钱包。

以下是 Drift 提供的 UX 抢先看:

Firedancer

Firedancer 是 Jump 正在开发的备受期待的 Solana 客户端,旨在大幅提高网络的吞吐量、弹性和效率。在发布时,我们将尽可能地坚持 Solana 核心客户端,但我们计划在代码上线并稳定后采用 Firedancer。

安全

Solana 的运行时具有大大缩小的攻击面,可以防止我们经常看到的臭名昭著的重入漏洞。具体来说,Solana 运行时只允许程序自我递归,而不是允许任意重入跨程序调用。此外,分离状态和代码会导致无状态代码,这通常更容易有效地测试。

更容易证明

与 EVM 相比,SVM 基于寄存器,并且指令集小得多,这使得 SVM 执行更容易在 ZK 中证明。对于 Optimistic Rollup,基于寄存器的设计允许更容易的检查点。

结算层:以太坊的安全性和流动性

与当今的主要 Rollup 一样,Eclipse 主网将结算到以太坊。具体来说,这意味着我们在以太坊上的验证桥将直接嵌入到 Eclipse 中。Eclipse 节点将查看此桥来确定“规范链”。该桥强制执行 Eclipse 的正确排序。

这允许我们的用户从以太坊获得某些安全属性。该桥将验证所有 Eclipse 事务,防止提交无效状态。此外,它将在某些故障情况下强制执行最终的活跃性和抗审查性。即使排序器发生故障或开始在 L2 上进行审查,用户也能够通过该桥强制包含他们的事务。

由于这些安全属性,Validium 和 Optimium 通常被称为“以太坊 L2”。L2BEAT 将 L2 定义为“一条完全或部分地从第一层以太坊获得其安全性的链,因此用户不必依赖 L2 验证者的诚实性来保证其资金的安全。”

以太坊结算层认识到以太坊原生资产可能在 Eclipse 主网的 DeFi 和 NFT 经济中发挥重要作用。ETH 是大多数用户明显更喜欢的最佳去中心化货币,因此我们也将使用 ETH 作为我们的 gas 代币。从长远来看,费用抽象将使用户能够选择以任何代币支付(例如,USDC)。目前没有计划让 Eclipse 主网拥有自己的代币。

数据可用性层:Celestia 的带宽和可验证性

Eclipse 主网将利用 Celestia 实现数据可用性(也称为 数据发布数据发布)。Celestia 一直是 Eclipse 的长期生态系统合作伙伴。

不幸的是,以太坊目前的带宽不支持 Eclipse 主网的目标吞吐量和费用。即使在 EIP-4844(也称为“Proto-danksharding”)之后,情况仍然如此,该协议平均提供每个区块约 0.375 MB 的 blobspace(每个区块的限制约为 0.75 MB)。

相比之下,Celestia 将在今年晚些时候以 2 MB 的区块启动。预计在启动后不久,Blobspace 将增加到 8 MB,一旦有足够的 数据可用性采样 (DAS) 轻节点上线,并且网络证明稳定。DAS 轻节点具有两个关键功能:

  • 使用户能够自行验证 Eclipse 区块数据是否已可用

  • 贡献于安全地扩展整个网络,因为随着更多 DAS 轻节点上线,DA 层可以安全地提高其吞吐量

预计 Celestia 将成为第一个在生产环境中启动 DAS 的 DA 层。这与传统的数据可用性委员会 (DAC) 形成对比,后者重新引入了委员会诚实性假设,而无需用户验证(类似于现有的单片区块链)。

对于将资金从以太坊主网桥接到任何使用链下 DA 的链的用户来说,存在一个固有的安全假设。特别是,Celestia 验证者在技术上可以扣留交易数据,但向以太坊桥声明数据可用。实际上,Celestia 的权益证明共识意味着 Celestia 上的数据扣留是可削减的,这在我们看来使这种风险不切实际。

总的来说,Celestia 从第一天起就支持 DAS 轻节点、加密经济安全属性和高度可扩展的 DA 吞吐量,使其成为当今 Eclipse 主网的明确选择。

请注意,有些人认为链上以太坊 DA 是成为真正的“L2”的必要条件,原因如上所述。我们使用的是前面引用的更常见的 L2 术语,并且我们希望明确安全注意事项。

我们还打算在 EIP-4844 之后监控以太坊在 DA 扩展方面的进展。令人兴奋的新研究不断涌现,与之前的想法相比,可能会更快地提供高吞吐量 DA(使用更高级的分布式哈希表)。如果以太坊为 Eclipse 提供更大的规模,以造福我们的用户,我们将评估迁移到以太坊 DA 的可能性。

证明层:RISC Zero ZK 欺诈证明(无需中间状态序列化!)

我们的证明看起来类似于 Anatoly 的 SVM 欺诈证明 SIMD,它本身类似于 John Adler 的见解,即状态序列化是昂贵的,并且可以避免它

具体来说,我们希望避免将Merkle树重新引入 SVM 中。我们早期尝试将稀疏Merkle树插入 SVM 中,但在每个事务之后更新Merkle树会导致严重的性能下降。在没有Merkle树的情况下进行证明排除了现有的通用 Rollup 框架(如 OP Stack)作为 SVM Rollup 的基础,并且它还需要更具创造性的故障证明架构。

从高层次上讲,故障证明需要:

  1. 对事务输入进行承诺,

  2. 事务本身,以及

  3. 证明重新执行该事务会导致与链上指定的结果不同的结果。

输入承诺通常通过提供 Rollup 的状态树的Merkle根来实现。我们的执行器将改为发布每个事务的输入和输出列表(包括帐户哈希和相关的全局状态),以及生成每个输入的事务的索引。这些事务发布到 Celestia,因此任何完整节点都可以沿着其自身状态提取输入帐户,计算输出帐户,并确认以太坊上的承诺是正确的。

有两种可能的重大故障类型:

  1. 不正确的输出- 在这种情况下,验证者在链上提供正确输出的 ZK 证明。我们使用 RISC Zero 创建 SVM 执行的 ZK 证明,继续我们之前证明 BPF 字节码执行的工作。这允许我们的结算合约确保正确性,而无需在链上运行事务本身。

  2. 不正确的输入- 在这种情况下,验证者在链上发布对历史数据的引用,表明输入状态与声明的不符。使用 Celestia 的 量子引力桥,我们的结算合约确保此历史数据确实证明了欺诈。

为什么选择 Eclipse、为什么选择以太坊、为什么选择现在

我们站在巨人的肩膀上。今天的 Rollup 已经推进了我们整个行业的研究状态,并且与 L1 相比,它们为以太坊用户提供了更便宜的费用。

但是,它们没有充分利用扩展到大众所需的最新技术。早期的 Rollup 主要优先考虑 EVM 兼容性和/或更高效的 ZK 证明优化。不过,最近我们看到了令人难以置信的进展,这不再需要早期 Rollup 所做的那些权衡,实际上使它们处于劣势:

  • 高性能并行 VM(例如,SVM)

  • 通过 DAS 轻节点支持进行 DA 扩展(例如,Celestia)

  • 证明基础设施的进步使其在任何地方都实用(例如,RISC Zero)

  • 跨生态系统的代码(例如,Neon 和 Solang)和用户(例如,MetaMask Snaps)的可移植性增强

Eclipse 具有后见之明的巨大优势。我们可以从其他链面临的局限性中学习,然后挑选最佳部分以进行长期扩展。

思想实验

假设 Toly 喝醉了,Solana 一夜之间变成了 ETH L2(并且 yada yada DA/带宽问题不知何故消失了)

那么 Solana 现在是加密货币领域最好的 L2 吗?还是人们仍然坚持 Arbitrum 和 Optimism?

严肃的问题

我们经常听到关于拥有数百万个应用特定rollup的未来。

共识级别的定制对于某些应用来说可能非常有价值(例如,dYdX v4),并且我们很高兴帮助团队启动应用特定的rollup。

然而,这些情况少之又少。这就是为什么大多数新的rollup仍然只是原生的EVM分叉。跨更多链的碎片化用户体验并不能解决开发者的问题。如今,数百万条链的主要用例似乎通常是启动数百万个代币。对于绝大多数用例来说,对全栈定制的需求今天根本不存在。

即使真实的需求存在,支持具有竞争性用户体验的许多应用链所需的基础设施也还需要数年时间(如果它能达到标准的话)。Optimism的Superchain(OP Stack)、zkSync的Hyperchains(ZK Stack)、Arbitrum的Orbit链等等,都拥有具有共享基础设施的多链愿景。这是为了提供在同一生态系统中的链之间(例如,Superchain中的两条链之间)比完全隔离的链之间(例如,以太坊和Solana之间)更平滑的用户体验。

然而,目前的计划(如果存在的话)仍然远未达到与单个共享状态竞争的水平。此外,它们没有解决跨生态系统的互操作性问题(例如,Superchain到Hyperchain)。构建模块化不应该意味着构建孤岛。

用户跨多个链维护账户更加复杂。保持桥接并担心你需要什么 gas 代币会带来更糟糕的用户体验。依赖基础设施提供商来运营和维护如此多的链变得更加复杂和昂贵。

我们一直很欣赏Solana愿景的简洁性。一个高度优化的共享状态机,具有支持大多数有价值用例的规模。这通常被认为与以rollup为中心的路线图不兼容,但事实并非如此。我们希望结合两者的优点。

这种误解的产生是由于今天的rollup主要运行原生的单线程 EVM,实际上没有改变,以便利用早期的网络效应。因此,我们经常看到“专用区块空间”被认为是部署特定应用rollup的原因。那些疯狂的 NFT 铸造不应该抬高你的链上所有其他应用的价格,但答案不是去创建你自己的链。这就像用大锤砸开花生。你会做出痛苦而不必要的权衡(复杂性、成本、更糟糕的用户体验、碎片化的流动性等)。最佳解决方案非常明确——只需使用具有本地费用市场的并行VM来处理状态热点。这正是 SVM 带来的。

以太坊是加密技术的智力、社交和经济中心。它的阿喀琉斯之踵一直是扩展。DA 扩展仍在进行中,现有的 L2 执行环境无法与 SVM 等较新的创新技术竞争。我们担心,如果以太坊生态系统像今天这样大幅增加活动,将会措手不及。单线程EVM和受限的DA将迅速导致高手续费的复苏,但这次是在rollup上。

我们相信 Eclipse Mainnet 是显而易见的解决方案:将 Solana 的性能与以rollup为中心的路线图的安全性、可验证性和网络效应结合起来。

临别感想

以太坊的美妙之处在于它吞噬了创新。以rollup为中心的路线图就是其中的缩影,它将执行和创新委托给自由市场。L2 具有利用以太坊的网络效应和结算保证,同时试验最佳新执行环境的强大能力。Eclipse Mainnet 是这一愿景的自然实现。

如果有一天出现性能更高的执行层,我们将非常高兴看到它作为具有竞争力的以太坊 L2 进行部署。在此之前,SVM 仍然是标准。

要参与其中,请通过 team@eclipse.builders 与我们联系以获取 testnet 说明。

  • 原文链接: mirror.xyz/eclipselabs.e...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
eclipselabs.eth
eclipselabs.eth
江湖只有他的大名,没有他的介绍。