📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
并行EVM的崛起:高性能Layer1如何突破以太坊性能瓶颈
EVM:以太坊的核心组件
EVM是以太坊的核心,负责运行智能合约和处理交易。它是一个计算引擎,提供计算和存储的抽象,类似于Java虚拟机。EVM执行自己的字节码指令集,通常由Solidity编译而成。
EVM是一个准图灵完备的状态机。"准"是因为所有执行步骤都会消耗有限的资源Gas,避免了可能的死循环导致整个平台停止的情况。
EVM没有调度功能,以太坊的执行模块从区块中取出交易,EVM负责依次执行。执行过程会修改最新的世界状态,一笔交易执行完成后进行状态累加,到达区块完成后的最新世界状态。下一区块的执行严格依赖上一个区块执行后的世界状态,所以以太坊的交易线性执行过程难以进行并行执行优化。
以太坊协议约定交易按顺序执行。虽然顺序执行确保了交易和智能合约能以确定性顺序执行,保障了安全性,但在高负载情况下,可能导致网络拥堵和延迟,这也是以太坊存在性能瓶颈,需要Layer2扩容的原因。
高性能Layer1的并行之道
大多数高性能Layer1都基于以太坊不能并行处理的缺陷设计自己的优化方案,主要聚焦在虚拟机和并行执行两个方面。
虚拟机
EVM设计成256位虚拟机,目的是更易于处理以太坊的哈希算法。然而,实际运行EVM的计算机需要将256位字节映射到本地架构来执行智能合约,使整个系统变得低效。因此,高性能Layer1更多采用基于WASM、eBPF字节码或Move字节码的虚拟机,而非EVM。
WASM是体积小、加载快、可移植且基于沙盒安全机制的字节码格式,开发人员可使用多种编程语言编写智能合约,然后编译成WASM字节码并执行。许多区块链项目已将WASM作为标准,以太坊未来也会集成WASM。
eBPF源自BPF,提供更丰富的指令集,允许在不改动源码的情况下对操作系统内核进行动态干预。某些区块链上执行的智能合约会编译成基于eBPF的字节码并运行。
Move是一种新的智能合约编程语言,注重灵活性、安全和可验证性。Move旨在解决资产和交易中的安全性问题,使资产和交易能被严格定义和控制。某些区块链通过自身定制版本的Move来编写智能合约。
并行执行
区块链中的并行执行意味着同时处理不相关的交易。实现并行执行的主要挑战是确定哪些交易是不相关的,哪些是独立的,大多数高性能Layer1依赖于两种方法:状态访问方法和乐观并行模型。
状态访问方法需要预先知道每个交易可以访问区块链状态的哪一部分,从而分析出哪些交易是独立的。某些区块链的程序(智能合约)是无状态的,需要使用账户来访问或保持状态。交易必须指定将访问哪些账户,这样交易处理运行时可以调度非重叠交易并行执行,同时保证数据一致性。
乐观并行模型假设所有交易都是独立的,只是回顾性地验证这一假设并在必要时进行调整。某些区块链使用区块软件事务内存的方法来应用乐观并行执行。交易首先按一定顺序设置,然后在不同处理线程间拆分同时执行。系统跟踪每个交易更改的内存位置,在每轮处理后检查所有交易结果,如发现某交易触及早期交易更改的内存位置,则擦除其结果并重新运行。
并行EVM
并行EVM早在2021年就被提出,指的是支持同时处理多个交易的EVM,旨在改进现有EVM性能和效率。2023年底,业内再次提到并行EVM,带火了一波采用并行执行技术的EVM兼容Layer1。
合理的并行EVM定义包括三类:
某些新兴Layer1项目采用乐观并行模型,允许在区块内并行执行交易以提高效率。它们在上一步执行完成前就开始执行新交易,跟踪输入/输出并重新执行不一致的交易。静态代码解析器可预测依赖关系,避免无效的并行性,在不确定时恢复到简单模式。
另一些项目则将EVM作为智能合约运行以实现EVM兼容。这种方案将EVM操作码无缝转换为特定虚拟机的操作码,使Solidity项目可以利用其他虚拟机的性能和安全优势,而无需修改代码。
总结
区块链的并行技术是个反复被讨论的话题,目前主要是对乐观执行模型的改造和模仿,缺乏实质性突破。未来可能会有更多新兴Layer1项目加入并行EVM竞争,一些旧的Layer1也会实现EVM并行升级或EVM兼容方案。
除了高性能EVM,区块链领域还可能出现WASM、SVM及Move VM等多元化的技术叙事,推动整个生态系统的多样化发展。