0

0

Artela白皮书解读:独特的并行执行堆栈+弹性区块空间

DDD

DDD

发布时间:2024-06-23 10:00:41

|

883人浏览过

|

来源于PANews

转载

今年 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白皮书解读:独特的并行执行堆栈+弹性区块空间

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白皮书解读:独特的并行执行堆栈+弹性区块空间

总结来看,Artela 通过并行执行堆栈和弹性区块空间实现了高度可扩展性和可预测的网络性能。这种并行执行架构通过 AI 模型精确预测交易依赖关系,减少了冲突和重复执行。并且,大型应用能够根据需要专属的处理能力和资源,保证了即使在网络高负载的情况下依然能保持稳定的性能。这使得 Artela 网络能够支持更复杂的应用场景,如实时大数据处理和复杂的金融交易等。

相关专题

更多
treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

536

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

22

2026.01.06

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

393

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

573

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

393

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

573

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

482

2023.08.10

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

go语言基础与基本函数
go语言基础与基本函数

共17课时 | 3.1万人学习

Css3入门视频教程
Css3入门视频教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号