内容
在探索区块链技术发展的道路上,我们不断思考着一些关键问题:我们是否已经实现了真正的规模化扩展?这个问题引发了一系列深入探讨,包括性能衡量的标准,以及当前发展阶段的评估。
特别值得关注的是,Reth如何实现每秒1GB Gas甚至更高的目标。这涉及到两个主要方向:纵向扩展路线图,其中包括即时与提前EVM、并行EVM和状态承诺优化;以及横向扩展路线图,涵盖多Rollup Reth和云原生Reth。最后,我们还需要思考未来的发展方向。
自2022年开始构建Reth以来,我们一直致力于为以太坊L1提供更强的复原能力,同时解决L2上的执行层扩展问题。如今,我们很兴奋地分享Reth在2024年实现L2每秒1GB Gas的规划,以及超越这一目标的长期路线图。我们诚挚邀请生态系统中的伙伴与我们合作,共同推动加密领域在性能和严格基准测试方面的前沿发展。
规模化扩展的现状与思考
要让加密货币达到全球规模并超越投机这一主要用例,关键在于实现交易的低成本和高速处理。这促使我们深入思考:我们是否已经实现了真正的规模化扩展?
性能衡量的新视角
传统的”每秒事务数”(TPS)指标虽然广为使用,但对于以太坊和其他EVM区块链而言,”每秒Gas量”可能提供了更精确的性能衡量标准。这个指标反映了网络处理计算工作的能力,其中”gas”是衡量执行交易或智能合约所需计算工作量的单位。
采用每秒Gas量作为标准指标具有多重优势:它不仅能更清晰地展示区块链的容量和效率,还能帮助评估系统成本影响,防范潜在的拒绝服务攻击。更重要的是,它为比较不同EVM兼容链的性能提供了统一标准。我们建议EVM社区采纳这一指标,并结合Gas定价的其他方面,建立更全面的性能评估体系。
当前发展阶段评估
通过分析各EVM链L1和L2的当前每秒Gas吞吐量和延迟,我们可以更准确地把握行业发展现状。这些数据不仅展示了当前的技术水平,也为未来的优化方向提供了参考。
值得注意的是,我们专注于每秒Gas量来全面评估EVM网络性能,这涵盖了计算和存储成本。虽然Solana、Sui或Aptos等网络因其独特的成本模型未被纳入比较,但我们鼓励整个行业共同努力,协调所有区块链网络的成本模型,实现更公平全面的性能对比。
目前,我们正在开发用于Reth复制真实工作负载的连续基准测试套件。如果您有兴趣参与这项重要工作,欢迎联系我们。我们特别需要为节点建立类似TPC基准的标准化测试框架。
突破性能极限:Reth的技术路线
2022年启动Reth项目时,我们认识到迫切需要为网络规模的汇总构建专用客户端。如今,我们对未来发展充满信心。
Reth在实时同步期间已达到100-200mgas/s的性能水平,这意味着我们还需要提升10倍才能实现每秒1GB gas的短期目标。在推进Reth开发的过程中,我们必须在可扩展性与效率之间找到最佳平衡点。
我们的扩展策略包含两个相辅相成的方向:纵向扩展旨在最大化单个服务器的性能潜力,通过优化交易和数据处理方式显著提升整体效率;横向扩展则通过分布式架构应对网络规模的交易量,避免单一节点成为瓶颈。这种思路类似于区块链节点的Kubernetes模型。
需要说明的是,我们当前的优化工作不涉及解决状态增长问题,这将是我们的独立研究课题。
在整个技术栈中,我们采用参与者模型针对IO和CPU进行优化,允许将每个组件部署为独立服务,实现精细的资源控制。同时,我们也在积极评估替代数据库方案,尽管目前尚未确定最终选择。
纵向扩展:深挖单机潜能
我们的首要目标是最大化单个服务器或笔记本电脑运行Reth时的性能和效率。
EVM执行优化
传统EVM通过解释器顺序处理字节码指令,这种方法不可避免地带来性能开销。即时(JIT)编译技术通过将字节码转换为本机机器代码来绕过解释过程,显著提升执行效率。这种技术已在Java和WebAssembly等虚拟机上得到广泛应用。
考虑到安全因素,Reth将采用提前(AOT)编译来处理高需求合约,避免实时执行中的潜在风险。我们正在为Revm开发JIT/AOT编译器,预计在未来几周内完成基准测试并开源。初步估计这项优化可使EVM执行速度提升约2倍,在某些计算密集型场景下效果可能更为显著。
并行处理革命
并行EVM的概念打破了传统串行执行模型的限制,为实现同步事务处理开辟了新途径。我们探索两种实现路径:历史同步通过分析过去事务识别状态冲突来优化并行调度;实时同步则采用类似区块STM的推测执行技术,无需预先获取访问列表。
根据我们的分析,约80%的以太坊存储插槽是独立访问的,这意味着并行性理论上可使EVM执行速度提升高达5倍。我们欢迎社区参与这项创新工作,相关PoC可参考这里。
状态承诺优化
状态根计算对性能的影响不容忽视。在Reth模型中,状态根计算与交易执行分离,允许使用标准KV存储而无需了解trie结构。目前这占据了区块密封75%以上的时间,存在巨大优化空间。
我们确定了两个能立即带来2-3倍性能提升的优化方向:完全并行化状态根计算和管道化状态根处理。此外,我们还探索了几种突破性的改进方案,包括降低状态根计算频率、延迟状态根计算、优化编码和哈希算法,以及增加trie宽度等。
这些改进引发了一些值得深入探讨的问题:对轻客户端、L2和桥接等基础设施的次级影响如何?能否同时优化SNARK证明和原生执行速度?最宽状态承诺的可行性及其见证规模影响?我们期待与社区共同探索这些前沿课题。
横向扩展:突破单机限制
我们计划在2024年实施上述优化,实现1gigagas/秒的目标。然而,纵向扩展终将遇到物理极限,没有任何单机能够满足全球计算需求。为此,我们规划了两条横向扩展路径:
多Rollup集成方案
当前的L2堆栈需要运行多个服务来维护链状态,这在运行多个节点堆栈时变得异常复杂。我们设想通过Reth实现数千个汇总的近乎零成本运营,大幅降低基础设施复杂度。
这项工作已经通过我们的执行扩展项目启动,未来几周将有更多进展分享。
云原生架构演进
高性能排序器可能对单机提出过高需求,这促使我们探索云原生Reth节点架构。通过将节点部署为可弹性扩展的服务堆栈,利用近乎无限的云对象存储实现持久性,我们可以突破传统架构的限制。
这一思路借鉴了NeonDB、CockroachDB等无服务器数据库项目的成功经验。我们团队早期关于解决这些问题的思考为当前工作奠定了基础。
未来展望与开放问题
我们计划逐步向所有Reth用户推出这些优化,让1 gigagas/s及以上的性能成为普遍可用的标准。Reth AlphaNet将成为我们的测试平台,同时我们也希望开发者将Reth作为SDK来构建高性能节点。
在前进道路上,我们仍面临一些开放性问题:如何提升整个L2生态系统的性能?如何平衡平均情况和最坏情况的性能评估?如何应对L1和L2之间可能出现的状态分歧?
虽然这些问题尚未有明确答案,但我们拥有足够多的有希望的线索。我们期待在未来几个月看到这些探索取得实质性进展,并与整个社区分享我们的成果。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/13546.html