刚刚获得 2000 万美元融资的 MegaETH 能成为以太坊的性能突破者吗?
链茶馆
2024-06-28 18:25
订阅此专栏
收藏此文章

27 号凌晨,MegaETH 完成 2000 万美元种子轮融资 ,由 Dragonfly 领投,Figment Capital、Robot Ventures 和 Big Brain Holdings 等机构参投,天使投资人包括 Vitalik、Cobie、Joseph Lubin、Sreeram Kannan、Kartik Talwar 等。

让我们看看到底是什么样的项目吸引了如此顶级的 VC 投资方和天使投资人?

从 MegaETH 名字里的 ETH 不难看出这个项目和以太坊的渊源:MegaETH 是一个致力于通过并行处理和提高内存效率来提升以太坊技术的新兴项目。其目标是实现亚毫秒延迟,并处理超过每秒 100,000 笔交易,使其在高吞吐量应用(如游戏和永久交易所)中表现出色。其特色简单来说就是高速度,高效率

因为,现有的以太坊链在处理交易量和计算能力方面存在瓶颈,特别是在高吞吐量应用(如游戏和去中心化交易所)中的表现不理想。此外,EVM(以太坊虚拟机)链在交易吞吐量低下、高更新率应用程序不可行以及计算资源稀缺方面也面临着严峻的问题。

所以,现存的区块链无法在交易到达区块链时立即被处理并且即时发布结果,也不能够在极短的时间内处理和验证大量的交易。比如在高峰期和市场剧烈波动期间,交易费用(gas 费用)会大幅上升,导致用户在去中心化交易所(如 Uniswap)进行交易的成本变得非常高昂。此外,网络拥堵会导致交易确认时间变长,影响用户体验。

基于这些不足,MegaETH 在开发中取得了重大进展,其中三个关键方面脱颖而出:Rust Ethereum(Reth)、Rust EVM 和新颖的 Merkle Patricia Trie(MPT)设计。

  1. Rust Ethereum(reth)

Rust Ethereum(reth)是 MegaETH 项目采用 Rust 编程语言重新实现的以太坊节点,提高以太坊网络的性能和模块化设计。

实现和特点

  • 高性能:Rust 语言以其内存安全性和并行处理能力著称,使得 reth 在处理大量交易时表现优异。

  • 模块化设计:reth 保持了与以太坊共识层的兼容性,同时通过模块化设计提高了系统的灵活性和可维护性。

通过使用 Rust 实现,reth 提供了更高的单线程性能和整体交易处理能力,显著提升了以太坊网络的运行效率。

  1. Rust EVM(revm)

Rust EVM(revm)是一个用 Rust 编写的以太坊虚拟机,专为高效能设计,支持并行交易处理。

实现和特点

  • 并行处理:revm 支持并行执行多个交易,通过利用多核处理器显著提高交易处理速度。

  • JIT 编译:引入 JIT(即时编译)技术,将 EVM 字节码编译为本地代码,进一步提升执行速度。

效果: revm 的并行处理能力和 JIT 编译技术使其在处理复杂合约和高频交易时表现出色,显著减少了交易执行时间。

  1. Merkle Patricia Trie(MPT)

Merkle Patricia Trie(MPT)是以太坊中用于状态管理的数据结构,MegaETH 通过优化 MPT 设计,提高了内存利用效率和状态管理能力。

实现和特点

  • 内存优化:新的 MPT 设计减少了读写操作,提高了内存利用效率,确保状态更新过程更加高效。

  • 高效状态同步:优化后的 MPT 设计通过高效的状态差异编码和传输方法,显著提高了状态同步速度。

效果: 优化后的 MPT 设计提高了系统在处理大规模状态更新时的效率,减少了内存占用和数据传输延迟,增强了以太坊网络的可扩展性和响应速度。

除了这三个组件,MegaETH 提出了多种技术解决方案,节点专业化就是其中之一

节点专业化是指在区块链网络中,将节点的职责分离成不同的角色,每个角色专注于特定的任务。这种方法旨在优化资源利用,提高网络效率和安全性。在 MegaETH 中,节点被分为三种主要角色:排序器 (Sequencer)、证明者 (Prover) 和全节点 (Full Node)。

排序器 (Sequencer):

  • 职责:排序器负责对用户交易进行排序和执行。MegaETH 在任何时间仅有一个活跃的排序器,从而消除了共识开销。

  • 特点:排序器节点通常配备高性能硬件,如多核 CPU、大容量内存(至少 256 GB)和高速网络连接(至少 1 Gbps)。这种高性能硬件配置使得排序器能够处理大量交易,并快速生成区块。

  • 优势:单一排序器的设计减少了共识机制的复杂性和资源消耗,同时确保了交易的高效处理和区块生成速度。

证明者 (Prover):

  • 职责:证明者使用无状态验证方案,异步和无序地验证区块。证明者节点通过专用硬件进行验证,生成证明并返回给排序器。

  • 特点:由于验证过程不需要重新执行交易,因此证明者的硬件需求相对较低,但需要专门设计的硬件来高效处理验证任务。

  • 优势:无状态验证方案使得证明者能够高效验证区块,减少了资源消耗和验证时间。

全节点 (Full Node):

  • 职责:全节点接收状态差异并更新本地状态,同时通过证明网络验证区块的有效性,确保区块链的一致性和安全性。全节点还需要处理状态更新,以便为轻节点提供服务。

  • 特点:全节点通常配置较为普通的硬件,例如四核 CPU、8 GB 内存和 100 Mbps 网络连接。全节点不需要重新执行交易,而是依赖外部证明来验证状态转换的正确性。

  • 优势:全节点通过接收和处理状态差异,高效更新本地状态数据库,保证了区块链网络的完整性和安全性。

运行原理:

  1. 交易处理和排序

    1. 用户提交的交易首先被发送到排序器。排序器按顺序处理这些交易,生成新的区块和见证数据。

    2. 排序器将生成的区块、见证数据和状态差异发布到数据可用性层,确保这些数据在网络中可用。

  2. 区块验证

    1. 证明者从排序器获取区块和见证数据,通过专用硬件进行验证,生成证明并返回给排序器。

  3. 状态更新

    1. 全节点从排序器接收状态差异,更新本地状态。同时,全节点通过证明网络验证区块的有效性,确保区块链的一致性和安全性。

优化措施:

  • 并行执行:MegaETH 优化了并行执行引擎,并支持交易优先级管理,确保关键交易在高峰时期也能及时处理。

  • JIT 编译:通过引入 JIT 编译技术,将 EVM 字节码编译为本地代码,进一步提升单线程性能。

  • 数据传输和压缩:设计高效的状态差异编码和传输方法,在带宽有限的情况下同步大量状态更新。采用高级压缩技术,进一步优化数据传输效率。

  • 两级缓存架构:使用两级缓存架构,以减少磁盘访问延迟,提高数据访问速度。

除了节点专业化外,“先测量,再执行”也是 MegaETH 项目的一项重要策略。

“先测量,再执行”通过深入的性能测量和数据分析,确定现有区块链系统的瓶颈和问题,从而设计和实施优化方案。这一策略确保所有改进措施都是基于实际数据和分析结果,从而提高改进措施的有效性和针对性。

  1. 性能测量和数据收集:

    1. 目标:了解现有系统在不同条件下的性能表现,特别是交易执行、状态同步和资源利用等方面的瓶颈。

    2. 方法:使用各种测量工具和技术,收集系统在实际运行中的详细性能数据。例如,通过测量不同内存配置下的交易处理速度和状态同步效率,分析系统在内存受限情况下的性能表现。

  2. 数据分析和瓶颈识别:

    1. 目标:通过分析收集到的数据,识别系统的性能瓶颈和优化机会。

    2. 方法:使用数据分析技术,对收集的数据进行深入分析。例如,通过分析不同操作码的执行时间和频率,识别消耗最多资源的操作,从而确定优化的重点。

  3. 设计优化方案:

    1. 目标:基于性能测量和数据分析结果,设计针对性的优化方案。

    2. 方法:结合数据分析结果,设计并实施具体的优化措施。例如,针对高频操作码,优化其执行效率;针对内存使用问题,设计更高效的内存管理策略。

具体案例:

  1. 交易执行优化:

    1. 测量结果:通过测量,发现交易执行时间占据了历史同步的主要时间(约 2/3)。

    2. 分析结果:详细分析交易执行过程中不同操作码的执行时间,识别出消耗时间最多的操作码。

    3. 优化方案:优化这些高频操作码的执行效率,例如引入 JIT 编译技术,将 EVM 字节码编译为本地代码,提高执行速度。

  2. 内存使用优化:

    1. 测量结果:在不同内存配置下进行历史同步实验,发现即使在内存受限的情况下,性能下降也相对较小(小于 2 倍)。

    2. 分析结果:通过分析缓存命中率和磁盘访问延迟,发现系统具有很强的时间局部性,数据的重复访问率很高。

    3. 优化方案:优化缓存管理策略,提高缓存命中率;在内存受限情况下,通过压缩和高效传输状态差异数据,减少磁盘访问延迟。

  3. 状态同步优化:

    1. 测量结果:在不同内存配置下进行实时同步实验,发现状态同步过程中内存化成本远高于其他成本。

    2. 分析结果:分析内存化过程中树结构遍历的数据库读取操作,确定其为性能瓶颈。

    3. 优化方案:优化树结构设计,减少数据库读取操作,提高状态同步效率;引入并行处理技术,加速状态更新过程。

通过“先测量,再执行”的策略,详细了解并识别了现有系统中的性能瓶颈和优化机会。基于这些测量结果,MegaETH 提出两种同步模式:

  • 历史同步(Historical Sync):从创世区块开始同步,处理大批量区块后才更新状态根。

  • 实时同步(Live Sync):与链的最新区块保持同步,每个区块处理后立即更新状态根。

在历史同步模式下,使用 500 GB 内存,每处理 500,000 个区块更新一次状态根。从创世区块到最新区块的同步花费 24 小时,总计处理约 1800 万个区块。在最后 100 万个区块中,执行吞吐量(TPS)表现出稳定性。

且 MegaETH 的测试服务器配置强大,包括 500 GB 内存和高速 SSD。为模拟不同内存大小的机器,使用 Linux 命令控制提供给客户端的内存量。进行多种实验,包括不同内存限制下的历史同步和实时同步。

以下是 MegaETH 具体解决方案的逻辑梳理:

  1. 高性能排序器:通过强大的硬件配置和软件优化,确保交易处理和区块生成的高效。

  2. 状态访问优化:通过内存存储和缓存架构优化,提升状态访问速度。

  3. 解释器优化:通过 JIT 编译和操作码优化,提高 EVM 的执行效率。

  4. 状态同步优化:通过高效数据传输和批处理技术,加速状态更新过程。

  5. 状态根更新优化:通过优化 MPT 设计和并行处理技术,提高状态根更新效率。

这些解决方案的实施,使得 MegaETH 能够显著提升系统的性能和可扩展性,为用户和开发者提供更好的体验和更多的可能性 。

对于这样新奇且有严谨技术支持的解决方案,其背后团队也值得深究。

MegaETH 背后的团队由多名在区块链、计算机科学和分布式系统领域具有丰富经验的专业人士组成。

联合创始人 Shuyao Kong 曾担任 ConsenSys 的全球业务发展负责人。他拥有史密斯学院经济学和心理学学位,并在哈佛商学院获得 MBA 学位。在 ConsenSys 期间,他领导了多个全球项目推动以太坊技术的推广和应用。

Lei Yang 也是联合创始人,他曾就读于北京大学和麻省理工学院计算机科学与人工智能实验室(CSAIL)网络与移动系统组(NMS),他的研究方向为计算机网络和分布式系统。

另一位联合创始人 Yilong Li 曾在 Runtime Verification 担任高级软件工程师,并在斯坦福大学获得计算机科学博士学位。在 Runtime Verification 期间,Yilong Li 参与了多个重要项目的开发,专注于区块链安全和验证技术 。

总的来说,MegaETH 的技术创新使其充满潜力,再加上大额融资和带上以太坊 ETH 的名号,接下来很可能会有一波大的技术叙事和营销效果。但是基于项目仍处于早期阶段,关于测试网和更多交互信息我们未来会持续观测更新。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

链茶馆
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开