# 以太坊虚拟机EVM## EVM vs. Solidity智能合约开发是区块链工程师的基本技能。开发者通常使用Solidity等高级语言来实现业务逻辑。然而,EVM无法直接解释Solidity代码,需要将其编译成虚拟机可执行的低级语言(操作码/字节码)。现有工具可以自动完成这一转换过程,减轻了开发者理解编译细节的负担。尽管编译会带来一些额外开销,但熟悉低级编码的工程师可以直接在Solidity中使用操作码编写程序逻辑,以获得最高效率并降低gas消耗。例如,某知名NFT交易平台的交易协议就大量使用内联汇编来最小化用户的gas开销。## EVM性能的差异性:标准与实现EVM作为"执行层"是编译后的智能合约操作码最终执行的场所。EVM定义的字节码已成为行业标准。无论是用于以太坊Layer 2网络还是其他独立区块链,与EVM标准的兼容性使开发者能够在多个网络上高效部署智能合约。虽然符合EVM字节码标准使虚拟机被称为EVM,但具体实现方法可能存在显著差异。例如,以太坊的某客户端用Go语言实现了EVM标准,而以太坊基金会的另一个团队则维护着C++实现。这种多样性为不同的工程优化和定制实现提供了空间。## 并行EVM技术历史上,区块链社区主要关注共识算法的创新,一些知名项目更因其共识机制而闻名,而非其执行层。尽管这些项目在执行层也有所创新,但它们的性能常被误认为仅源自其共识算法。实际上,高性能区块链需要创新的共识算法和优化的执行层相结合,类似于木桶理论。对于仅改进共识算法的EVM区块链而言,提升性能往往需要更强大的节点配置。例如,某知名智能链在2000 TPS的gas限制下处理区块,需要比以太坊全节点高几倍的硬件配置。虽然另一个知名Layer 2网络理论上支持高达1000 TPS,但其实际性能通常低于预期。### 并行处理的需求大多数区块链系统中,交易是按顺序执行的,类似单核CPU,下一次计算要等当前计算完成后才能开始。这种方法虽然简单且系统复杂度低,但难以扩展到支持海量用户。转向多核CPU并行虚拟机模式可以允许同时处理多笔交易,大幅提高吞吐量。并行执行带来了工程挑战,如处理并发交易对同一智能合约的写入。这需要设计新机制来解决潜在冲突。对不相关智能合约的并行执行可以按并行处理线程数实现近乎线性的吞吐量提升。### 并行EVM的创新并行EVM代表了一系列旨在优化区块链系统执行层的创新。以某新兴项目为例,其关键创新包括:* 并行交易执行:采用乐观并行执行算法,允许多个交易同时处理。从相同初始状态开始交易,跟踪输入输出,生成每笔交易的临时结果。通过检查下一笔交易的输入是否与当前处理中交易的输出相关来决定是否执行下一笔交易。* 延迟执行:在共识机制中,节点无需主节点或验证节点执行交易即可达成对交易的正式排序。最初主节点对交易排序并在节点间达成共识,但不立即执行交易,而是将执行推迟到独立通道中。* 自定义状态数据库:通过直接将Merkle树存储在SSD上优化状态存储和访问。这种方法最小化了读取放大效应,提高了状态访问速度,使智能合约执行更快、更高效。* 高性能共识机制:基于HotStuff共识机制的改进版本,支持数百个全球分布节点间的同步,具有线性通信复杂度。采用流水线投票阶段,使投票过程的不同阶段可以重叠进行,减少延迟,提高共识效率。## 挑战### 并行EVM的技术挑战顺序交易执行的瓶颈主要与CPU和状态读/写过程相关。并行执行引入了潜在的状态冲突,需要进行执行前或执行后的冲突检查。例如,当四个并行线程处理的交易都与同一个DEX池交互时,就会发生冲突。这种情况需要仔细的冲突检测和解决机制,以确保高效的并行处理。除了并行EVM实现的技术差异外,各团队通常还需重新设计并增强状态数据库的读/写性能,并开发兼容的共识算法。### 挑战与考量并行EVM面临的两个主要挑战是以太坊的长期工程价值捕获和节点集中化。当前开发阶段为保护知识产权尚未完全开源,但这些细节最终将在测试网和主网启动时披露,面临被其他区块链吸收的风险。快速的生态系统发展将是保持竞争优势的关键。节点集中化是所有高性能区块链面临的挑战,需要在去中心化、安全性和高性能之间取得平衡。"每硬件需求的TPS"等指标可以帮助比较区块链在特定硬件条件下的效率,因为较低的硬件需求可以支持更多去中心化的节点。## 并行EVM的格局并行EVM格局包括多个项目和解决方案。一些是Layer 1区块链,另一些可能是Layer 2解决方案。有些基于现有网络,还有一些是开源客户端。并行EVM的主要条件是EVM兼容网络。尽管一些非EVM网络也采用并行执行,但它们不被视为并行EVM项目。目前,现有的并行EVM网络可分为三类:1. 通过并行执行技术升级的EVM兼容Layer 1网络:这些网络最初不采用并行执行,通过技术迭代升级以支持并行EVM。2. 从一开始就采用并行执行技术的EVM兼容Layer 1网络:一些新兴项目从设计之初就考虑了并行执行。3. 采用非EVM并行执行技术的Layer 2网络:这些扩展导向的Layer 2 EVM兼容链将EVM抽象成可插拔的执行模块,允许根据需要选择最佳的"VM执行层",实现并行能力。## 项目概览### 项目A:领先的并行EVM该项目旨在通过优化EVM并行执行和流水线架构解决传统EVM的可扩展性问题,目标是达到10,000 TPS。最近完成了大规模融资,成为迄今为止融资最多、估值最高的并行EVM项目。创始团队成员来自知名量化交易公司。内部测试网已启动,预计不久将向公众开放。### 项目B:推出并行EVM网络最初专注于交易的Layer 1网络,现已升级为高性能并行EVM,将TPS提高到12,500。并行EVM测试网已上线,支持EVM应用的一键迁移。主网预计将在今年上半年上线。近期推出了开源框架,支持Layer 2和Rollup网络采用并行处理技术。### 项目C:通过双虚拟机增强执行层该项目旨在通过扩展EVM支持并行执行来提升Layer 1网络的可扩展性。通过构建EVM++ (EVM + WASM),旨在提升EVM区块链性能和网络执行效率。核心团队成员来自国内知名区块链项目。公测网已上线,生态系统激励计划已启动。### 项目D:引入并行EVM技术基于Cosmos SDK构建的EVM兼容Layer 1网络,专为DeFi应用设计。最近宣布了开发计划,旨在引入并行执行EVM技术以提升网络性能。### 项目E:非EVM网络的EVM兼容性解决方案建立在某高性能网络上的并行EVM,是首个该网络的EVM兼容性解决方案。支持Solidity和Vyper EVM开发者一键部署DApp,享受高吞吐量和低gas费。将EVM网络类似的交易封装成底层网络交易进行执行,从而提高交易速度,TPS超过2,000。### 项目F:将非EVM虚拟机引入以太坊一个由非EVM虚拟机支持的Rollup Layer 2模块化通用解决方案。在以太坊上结算交易数据,使用ETH作为gas,但其执行层在非EVM环境中运行。最近完成了大规模融资,主网即将向开发者开放。### 项目G:模块化VM Layer 2基于OP Stack构建的模块化VM Layer 2网络,也是某扩容生态系统的一部分。旨在将高性能虚拟机引入现有的主要以太坊和比特币Layer 2网络。支持使用以太坊或比特币作为结算层,执行层能够使用多种虚拟机进行并行执行。## 结语随着区块链技术的进步,关注执行层与共识算法同等重要,以实现高性能。并行EVM等创新为提高吞吐量和效率提供了有前景的解决方案,使区块链更具可扩展性,能够支持更广泛的用户群体。这些技术的发展和实施将塑造区块链生态系统的未来,推动该领域的进一步进步和应用。
并行EVM技术全解析:突破性能瓶颈的区块链创新
以太坊虚拟机EVM
EVM vs. Solidity
智能合约开发是区块链工程师的基本技能。开发者通常使用Solidity等高级语言来实现业务逻辑。然而,EVM无法直接解释Solidity代码,需要将其编译成虚拟机可执行的低级语言(操作码/字节码)。现有工具可以自动完成这一转换过程,减轻了开发者理解编译细节的负担。
尽管编译会带来一些额外开销,但熟悉低级编码的工程师可以直接在Solidity中使用操作码编写程序逻辑,以获得最高效率并降低gas消耗。例如,某知名NFT交易平台的交易协议就大量使用内联汇编来最小化用户的gas开销。
EVM性能的差异性:标准与实现
EVM作为"执行层"是编译后的智能合约操作码最终执行的场所。EVM定义的字节码已成为行业标准。无论是用于以太坊Layer 2网络还是其他独立区块链,与EVM标准的兼容性使开发者能够在多个网络上高效部署智能合约。
虽然符合EVM字节码标准使虚拟机被称为EVM,但具体实现方法可能存在显著差异。例如,以太坊的某客户端用Go语言实现了EVM标准,而以太坊基金会的另一个团队则维护着C++实现。这种多样性为不同的工程优化和定制实现提供了空间。
并行EVM技术
历史上,区块链社区主要关注共识算法的创新,一些知名项目更因其共识机制而闻名,而非其执行层。尽管这些项目在执行层也有所创新,但它们的性能常被误认为仅源自其共识算法。
实际上,高性能区块链需要创新的共识算法和优化的执行层相结合,类似于木桶理论。对于仅改进共识算法的EVM区块链而言,提升性能往往需要更强大的节点配置。例如,某知名智能链在2000 TPS的gas限制下处理区块,需要比以太坊全节点高几倍的硬件配置。虽然另一个知名Layer 2网络理论上支持高达1000 TPS,但其实际性能通常低于预期。
并行处理的需求
大多数区块链系统中,交易是按顺序执行的,类似单核CPU,下一次计算要等当前计算完成后才能开始。这种方法虽然简单且系统复杂度低,但难以扩展到支持海量用户。转向多核CPU并行虚拟机模式可以允许同时处理多笔交易,大幅提高吞吐量。
并行执行带来了工程挑战,如处理并发交易对同一智能合约的写入。这需要设计新机制来解决潜在冲突。对不相关智能合约的并行执行可以按并行处理线程数实现近乎线性的吞吐量提升。
并行EVM的创新
并行EVM代表了一系列旨在优化区块链系统执行层的创新。以某新兴项目为例,其关键创新包括:
并行交易执行:采用乐观并行执行算法,允许多个交易同时处理。从相同初始状态开始交易,跟踪输入输出,生成每笔交易的临时结果。通过检查下一笔交易的输入是否与当前处理中交易的输出相关来决定是否执行下一笔交易。
延迟执行:在共识机制中,节点无需主节点或验证节点执行交易即可达成对交易的正式排序。最初主节点对交易排序并在节点间达成共识,但不立即执行交易,而是将执行推迟到独立通道中。
自定义状态数据库:通过直接将Merkle树存储在SSD上优化状态存储和访问。这种方法最小化了读取放大效应,提高了状态访问速度,使智能合约执行更快、更高效。
高性能共识机制:基于HotStuff共识机制的改进版本,支持数百个全球分布节点间的同步,具有线性通信复杂度。采用流水线投票阶段,使投票过程的不同阶段可以重叠进行,减少延迟,提高共识效率。
挑战
并行EVM的技术挑战
顺序交易执行的瓶颈主要与CPU和状态读/写过程相关。并行执行引入了潜在的状态冲突,需要进行执行前或执行后的冲突检查。例如,当四个并行线程处理的交易都与同一个DEX池交互时,就会发生冲突。这种情况需要仔细的冲突检测和解决机制,以确保高效的并行处理。
除了并行EVM实现的技术差异外,各团队通常还需重新设计并增强状态数据库的读/写性能,并开发兼容的共识算法。
挑战与考量
并行EVM面临的两个主要挑战是以太坊的长期工程价值捕获和节点集中化。当前开发阶段为保护知识产权尚未完全开源,但这些细节最终将在测试网和主网启动时披露,面临被其他区块链吸收的风险。快速的生态系统发展将是保持竞争优势的关键。
节点集中化是所有高性能区块链面临的挑战,需要在去中心化、安全性和高性能之间取得平衡。"每硬件需求的TPS"等指标可以帮助比较区块链在特定硬件条件下的效率,因为较低的硬件需求可以支持更多去中心化的节点。
并行EVM的格局
并行EVM格局包括多个项目和解决方案。一些是Layer 1区块链,另一些可能是Layer 2解决方案。有些基于现有网络,还有一些是开源客户端。
并行EVM的主要条件是EVM兼容网络。尽管一些非EVM网络也采用并行执行,但它们不被视为并行EVM项目。
目前,现有的并行EVM网络可分为三类:
通过并行执行技术升级的EVM兼容Layer 1网络:这些网络最初不采用并行执行,通过技术迭代升级以支持并行EVM。
从一开始就采用并行执行技术的EVM兼容Layer 1网络:一些新兴项目从设计之初就考虑了并行执行。
采用非EVM并行执行技术的Layer 2网络:这些扩展导向的Layer 2 EVM兼容链将EVM抽象成可插拔的执行模块,允许根据需要选择最佳的"VM执行层",实现并行能力。
项目概览
项目A:领先的并行EVM
该项目旨在通过优化EVM并行执行和流水线架构解决传统EVM的可扩展性问题,目标是达到10,000 TPS。最近完成了大规模融资,成为迄今为止融资最多、估值最高的并行EVM项目。创始团队成员来自知名量化交易公司。内部测试网已启动,预计不久将向公众开放。
项目B:推出并行EVM网络
最初专注于交易的Layer 1网络,现已升级为高性能并行EVM,将TPS提高到12,500。并行EVM测试网已上线,支持EVM应用的一键迁移。主网预计将在今年上半年上线。近期推出了开源框架,支持Layer 2和Rollup网络采用并行处理技术。
项目C:通过双虚拟机增强执行层
该项目旨在通过扩展EVM支持并行执行来提升Layer 1网络的可扩展性。通过构建EVM++ (EVM + WASM),旨在提升EVM区块链性能和网络执行效率。核心团队成员来自国内知名区块链项目。公测网已上线,生态系统激励计划已启动。
项目D:引入并行EVM技术
基于Cosmos SDK构建的EVM兼容Layer 1网络,专为DeFi应用设计。最近宣布了开发计划,旨在引入并行执行EVM技术以提升网络性能。
项目E:非EVM网络的EVM兼容性解决方案
建立在某高性能网络上的并行EVM,是首个该网络的EVM兼容性解决方案。支持Solidity和Vyper EVM开发者一键部署DApp,享受高吞吐量和低gas费。将EVM网络类似的交易封装成底层网络交易进行执行,从而提高交易速度,TPS超过2,000。
项目F:将非EVM虚拟机引入以太坊
一个由非EVM虚拟机支持的Rollup Layer 2模块化通用解决方案。在以太坊上结算交易数据,使用ETH作为gas,但其执行层在非EVM环境中运行。最近完成了大规模融资,主网即将向开发者开放。
项目G:模块化VM Layer 2
基于OP Stack构建的模块化VM Layer 2网络,也是某扩容生态系统的一部分。旨在将高性能虚拟机引入现有的主要以太坊和比特币Layer 2网络。支持使用以太坊或比特币作为结算层,执行层能够使用多种虚拟机进行并行执行。
结语
随着区块链技术的进步,关注执行层与共识算法同等重要,以实现高性能。并行EVM等创新为提高吞吐量和效率提供了有前景的解决方案,使区块链更具可扩展性,能够支持更广泛的用户群体。这些技术的发展和实施将塑造区块链生态系统的未来,推动该领域的进一步进步和应用。