arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~

SkelOT:跨EVM合约族复用AOT编译

SkelOT: Reusing AOT Compilation Across EVM Contract Families

Sipeng Xie, Qianhong Wu, Minghang Li, Qin Wang, Zhipeng Wang, Bo Qin

arXiv 2609.24404首次发表:更新:

发表机构

Beihang University; Renmin University of China; The University of Manchester(北京航空航天大学; 中国人民大学; 曼彻斯特大学)

机构由 AI 辅助整理,请以论文原文为准。

AI 中文总结

SkelOT通过将AOT编译复用单元从代码哈希提升到合约族骨架,减少冗余编译,降低编译时间和产物占用,同时保持执行结果一致并提升运行时性能。

AI 中文摘要

以太坊虚拟机(EVM)的提前(AOT)编译器(如revmc、evmone和DTVM)在合约代码哈希粒度上复用编译产物。这种粒度与真实EVM工作负载(由合约族主导)匹配不佳:工厂、代理和模板驱动的部署共享指令结构,但在一小组嵌入常量上有所不同。在四条EVM链(Base、Ethereum、BSC和Arbitrum)上,我们发现23.1%至47.6%的唯一可编译字节码在10K区块窗口内映射到共享的族骨架。因此,按哈希的AOT会冗余重新编译结构等价的代码,增加编译时间和产物占用,同时在有限编译预算下降低工作负载覆盖率。我们提出SkelOT,一个将编译复用单元从代码哈希提升到族骨架的AOT框架。SkelOT为每个族编译一个原生产物,将不变常量烘焙到产物中,并从每合约运行时表中读取变体常量。基于revmc/LLVM构建,并在10K区块的Base主网语料库(352万笔交易)上评估,SkelOT将编译单元减少47.5%,产物占用减少57.4%,编译时间减少2.19倍,同时与按哈希AOT相比保持字节相同的执行结果。在运行时,SkelOT在族成员间提供1.31倍的中位数每合约加速。在针对75%执行时间覆盖率的编译预算下,SkelOT需要的产物远少于按哈希AOT,且该优势在每个覆盖率目标下均保持。

英文摘要

Ahead-of-time (AOT) compilers (e.g., revmc, evmone, and DTVM) for the Ethereum Virtual Machine (EVM) reuse compilation artifacts at contract-code-hash granularity. This granularity is poorly matched to real EVM workloads dominated by \emph{contract families}: factory-, proxy-, and template-driven deployments that share instruction structure but differ in a small set of embedded constants. Across four EVM chains (Base, Ethereum, BSC, and Arbitrum), we find that 23.1--47.6\% of unique compilable bytecodes map to shared family skeletons within 10K-block windows. Per-hash AOT therefore redundantly recompiles structurally equivalent code, inflating compile time and artifact footprint while reducing workload coverage under finite compile budgets. We present \textsc{SkelOT}, an AOT framework that lifts the unit of compilation reuse from code hash to family skeleton. \textsc{SkelOT} compiles one native artifact per family, bakes invariant constants into the artifact, and reads variant constants from a per-contract runtime table. Built on revmc/LLVM and evaluated on a 10K-block Base mainnet corpus (3.52M transactions), \textsc{SkelOT} reduces compilation units by 47.5\%, artifact footprint by 57.4\%, and compile time by $2.19\times$, while preserving byte-identical execution outcomes versus per-hash AOT. At runtime, \textsc{SkelOT} delivers a $1.31\times$ median per-contract speedup across family members. Under a compile budget targeting 75\% execution-time coverage, \textsc{SkelOT} needs far fewer artifacts than per-hash AOT, and the advantage holds at every coverage target.

CommentsAccepted by EuroSys'27

论文原文

arXiv 摘要页 · PDF 原文 · HTML 原文

↑