📢 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并行化突破:多线程执行提升交易处理能力
EVM的并行化之路:从串行到多线程执行
众所周知,EVM是以太坊的核心执行引擎,负责智能合约的运行。为了确保不同节点上的智能合约能够得到相同的执行结果,EVM提供了一个统一的虚拟环境,类似于Java虚拟机JVM。
智能合约在部署到区块链上时,会先被编译成EVM字节码。EVM在执行合约时,会按顺序读取这些字节码,每条指令都有相应的Gas成本。EVM会追踪每条指令执行时的Gas消耗,消耗量取决于操作的复杂度。
传统的EVM采用串行方式处理交易,所有交易在单一队列中排队按顺序执行。这种设计简单易维护,但随着用户群体增长和对TPS要求提高,串行执行的性能瓶颈日益凸显,尤其在Layer 2解决方案中更为明显。
除EVM外,以太坊交易执行的另一个核心组件是stateDB,用于管理账户状态和数据存储。EVM每次执行交易都会更新stateDB中的数据,这些变更最终反映在全局状态树中。
在串行执行模式下,EVM和stateDB协作处理交易的过程如下:
这种串行模式的主要问题是,复杂的智能合约交易会阻塞其他交易,无法充分利用硬件资源。
为解决这一问题,一些项目开始探索EVM的并行优化方案。以某Layer 2项目为例,其核心思路是为每个线程分配一个临时状态数据库(pending-stateDB):
该方案对读写操作做了特殊处理:
为避免状态冲突,该方案引入了冲突检测机制:
最后,将多个pending-stateDB的变更合并到全局stateDB,生成新的状态根。
这种并行优化方案在低冲突工作负载下,可将TPS提升3-5倍。在高冲突情况下,理论上可达到60倍提升。
总的来说,EVM的并行化是提升以太坊及其Layer 2性能的重要方向。通过多线程并行执行和临时状态库等技术,可以在保证一致性的前提下,大幅提高交易处理能力。未来还可以通过进一步优化存储效率、改进冲突处理策略等手段,进一步提升EVM的性能。