Papers for

smart contract developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

EVM Ahead-of-time compilation speeds up contract execution broadly

SkelOT: Reusing AOT Compilation Across EVM Contract Families

Abstract: 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.

Mon 21 SeptCryptography and SecurityDistributed, Parallel, and Cluster ComputingEmerging Technologies
The gist
Ethereum contract code often comes in families that share most of their instructions but differ slightly in embedded constants. Current methods compile these contracts individually, wasting time by repeating work on very similar code. The authors introduce SkelOT, which compiles once per family and reuses that compilation, plugging in the differing constants as needed. This approach reduces compile time and storage while speeding up contract execution without changing how they run.
Open 2609.24404v1