#aot-compilation

共收录 1 条相关安全情报。

← 返回所有主题
推荐 3.5
Conf: 50%
👥 作者: Sipeng Xie, Qianhong Wu, Minghang Li, Qin Wang, Zhipeng Wang, Bo Qin

该论文聚焦以太坊虚拟机(EVM)提前编译(AOT)技术的产物复用粒度问题。当前主流 AOT 编译器(如 revmc、evmone、DTVM)以「合约代码哈希」为最小单位缓存和复用编译产物,即每个不同的字节码哈希都对应一次独立编译。作者指出,这一粒度与真实链上负载的分布严重不匹配:实际部署由「合约族」(contract families)主导,包括工厂合约、代理合约、模板化部署等,同一族的合约在指令结构上几乎完全一致,差别仅在于少量内嵌常量(如地址、参数、初始化值)。研究团队在 Base、Ethereum、BSC、Arbitrum 四条 EVM 链上进行了测量,发现在 10K 区块窗口内,23.1%–47.6% 的唯一可编译字节码可归入共享的族骨架。这意味着按哈希编译会反复编译结构等价的代码,导致编译时间与产物占用被放大,并在有限编译预算下反而降低了对实际执行负载的覆盖率。为解决问题,作者提出 SkelOT 框架,把编译复用的单位从代码哈希提升为族骨架:每个族只编译一个原生产物,把族内不变的常量直接固化进产物,而把随合约变化的常量放入一份按合约索引的运行时表,在执行时读取。SkelOT 基于 revmc/LLVM 实现,并在 Base 主网 10K 区块语料(352 万笔交易)上评估:编译单元数减少 47.5%,产物体积减少 57.4%,编译时间提速 2.19 倍,同时与按哈希 AOT 保持字节级完全一致的执行结果。运行时方面,族内成员合约获得 1.31 倍的中位单合约加速。在面向 75% 执行时间覆盖率的编译预算约束下,SkelOT 所需产物数量远少于按哈希 AOT,且该优势在所有覆盖率目标下均成立。适合 EVM 客户端与执行层性能工程师、区块链节点/验证者运维人员以及编译器与运行时研究者阅读。

💡 推荐理由: 链上代理/工厂/模板化合约占比极高,按代码哈希编译会产生大量重复工作。SkelOT 在不改变执行语义的前提下显著压缩编译时间、产物体积与预算占用,对节点启动速度、状态与磁盘开销、有限算力下的负载覆盖率都有直接价值。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)