今年 3 月,可扩展性 L1 区块链网络Artela推出了 EVM++,这是针对下一代 EVM 执行层技术的升级。 EVM++ 中的第一个「+」代表了「Extensibility」,即通过 Aspect 技术实现的可扩展性,这一技术支持开发者在 WebAssembly(WASM)环境中创建链上自定义程序,这些程序可以与 EVM 协作,为 dApp 提供高性能的定制化应用特定扩展。第二个「+」则代表了「Scalability」,即通过并行执行技术和弹性区块空间的设计大幅提升网络处理能力和效率。
WebAssembly(WASM)是一种高效的二进制代码格式,能够在 Web 浏览器中实现接近本地执行速度的性能,特别适合处理计算密集型任务,如 AI 和大数据处理。
昨日,Artela发布了白皮书,详细介绍了其如何通过开发并行执行堆栈和引入基于弹性计算的弹性区块空间来增强区块链可扩展性。
并行处理的重要性
在传统的以太坊虚拟机(EVM)中,所有的智能合约操作和状态转换都必须在全网范围内保持一致。这就要求所有的节点都按照相同的顺序执行相同的交易。因此,即使某些交易之间实际上没有依赖关系,它们也必须按照区块中的顺序一个接一个地执行,也就是串行处理。这种方法不仅造成了不必要的等待,而且效率低下。
并行处理允许多个处理器或多个计算核心同时执行多个计算任务或处理数据,显著提高处理效率和缩短运行时间,尤其是对于那些可以分解成多个独立任务的复杂或大规模计算问题。并行 EVM 是对传统以太坊虚拟机的一个扩展或改进,能够同时执行多个智能合约或合约函数调用,显著提高整个网络的吞吐量和效率。此外,它还可以优化单线程执行时的效率。并行 EVM 最直接的优势是让现有的去中心化应用,实现互联网级别的性能。
Artela 网络与 EVM++
Artela 是一个通过引入 EVM++ 来提高 EVM 的扩展性和性能的 L1。EVM++ 是对 EVM 执行层技术的升级,整合了 EVM 的灵活性和 WASM 的高性能特性。这种增强版的虚拟机支持并行处理和高效存储,使得更复杂和对性能要求更高的应用能够在 Artela 上运行。EVM++ 不仅支持传统智能合约,还能在链上动态添加和运行高性能模块,例如 AI 代理,这些代理可以作为链上协处理器独立运行,或直接参与到链上游戏中,创造真正可编程的 NPC。
Artela 通过并行执行设计来确保网络节点的计算能力可以根据需求灵活扩展。此外,验证器节点支持水平扩展,网络能够根据当前的负载或需求自动调整计算节点的规模,这一扩容过程由弹性协议协调,以确保共识网络中的计算资源充足。通过弹性计算保证网络节点算力可扩展,最终实现弹性区块空间,允许大型 dApp 根据特定需求申请独立的区块空间,这不仅满足了扩展公共区块空间的需要,还确保了大型应用的性能和稳定性。
Artela 的并行执行架构详解
1. 预测性乐观执行(Predictive Optimistic Execution)
预测性乐观执行是 Artela 的核心技术之一,也是不同于 Sei 、Monad 等其他并行 EVM 的特点之一。乐观执行指的是一种并行执行策略,假设初始状态下事务之间没有冲突。在这种机制中,每个事务都保持一个私有的状态版本,记录修改但不立即最终确定。事务执行完毕后,进行一次验证阶段,检查是否存在与同时期其他并行事务所引起的全局状态变化的冲突。一旦检测到冲突,就会重新执行事务。预测性是指通过特定的 AI 模型分析历史交易数据,来预测即将执行的交易之间的依赖关系,即哪些交易可能会访问相同的数据,并据此将交易分组安排它们的执行顺序,从而减少执行冲突和重复执行。相比之下,在预测方面,Sei 依赖于开发者提前定义好的交易依赖关系的文件,而 Monad 是采用编译器级别的静态分析生成交易依赖关系的文件,两者都不具备 EVM 等效性,并且都缺乏 Artela 基于 AI 的动态预测模型的自适应能力。
2. 异步预加载技术(Async Preloading)
异步预加载技术致力于解决由于状态访问导致的输入输出(I/O)瓶颈,目的是提高数据访问速度,减少事务执行时的等待时间。Artela 在交易执行前,根据预测模型预先将所需的状态数据从慢速存储(如硬盘)加载到快速存储(如内存)中。通过提前加载必要的数据,减少执行时的I/O等待时间。当数据预先被加载和缓存,多个处理器或执行线程可以同时访问这些数据,进一步提高执行的并行度。
3. 并行存储(Parallel Storage)
随着并行执行技术的引入,交易处理虽能并行化,但若数据的读写和更新速度不能同步提升,便会成为限制整体系统性能的关键因素,因此系统的瓶颈逐渐转移到了存储层面。像 MonadDB 和 SeiDB 等解决方案已经开始聚焦于存储层面的优化。Artela 借鉴和融合了多种成熟的传统数据处理技术开发了并行存储,进一步提升了并行处理的效率。
并行存储系统主要针对两大问题进行设计:一是实现存储的并行化处理,二是提高数据状态的高效记录到数据库的能力。在数据存储过程中,常见的问题包括数据写入时的膨胀和数据库处理的压力增大。为了有效应对这些问题,Artela 采纳了状态承诺(State Commitment,SC)与状态存储(State Storage,SS)的分离策略。这种策略将存储任务分为两部分:一部分负责快速处理的操作,不保留复杂的数据结构,以此节省空间并减少数据重复;另一部分则负责记录所有详尽的数据信息。此外,为了在处理大量数据时不影响性能,Artela 采用了将小块数据合并成大块的方法,减少了数据保存时的复杂性。
4. 弹性区块空间(EBS)
Artela 的弹性区块空间(EBS)基于弹性计算概念设计而成,能够根据网络拥堵程度自动调整区块容纳的交易数量。
弹性计算是一种云计算服务模型,允许系统自动调整计算资源的配置以适应变化的负载需求,主要目的是优化资源使用效率,确保在需求增加时迅速提供额外的计算能力。
EBS 根据 dApp 的具体需求来动态调整区块资源,为需求高的 dApp 提供独立的扩容区块空间,旨在解决不同应用对区块链性能需求显著差异的问题。EBS的核心优势在于「可预测性能」,即能够为 dApp 提供可预测的 TPS。因此,不论公共区块空间是否拥挤,拥有独立区块空间的 dApp 都会获得稳定的 TPS。此外,如果 dApp 编写的合约支持并行,那么可以进一步获得更高的 TPS。可以说,EBS 提供了一个相对于以太坊、Solana 等传统区块链平台更为稳定的环境。这些传统平台在网络拥挤时,如铭文热潮期间或 DeFi 活动高峰期间,常常导致 dApp 性能下降,Artela 通过定制化和优化的资源管理有效解决了这类问题。
总结来看,Artela 通过并行执行堆栈和弹性区块空间实现了高度可扩展性和可预测的网络性能。这种并行执行架构通过 AI 模型精确预测交易依赖关系,减少了冲突和重复执行。并且,大型应用能够根据需要专属的处理能力和资源,保证了即使在网络高负载的情况下依然能保持稳定的性能。这使得 Artela 网络能够支持更复杂的应用场景,如实时大数据处理和复杂的金融交易等。