Editorial Ilmu Komputer & AI
SkelOT: Menggunakan Ulang Kompilasi AOT di Seluruh Keluarga Kontrak EVM
Masalah inti
Kompiler ahead-of-time (AOT) untuk Ethereum Virtual Machine (EVM), seperti revmc, evmone, dan DTVM, saat ini menggunakan ulang artefak kompilasi pada granularitas hash kode sebuah kontrak. Pilihan desain ini mengasumsikan bahwa setiap urutan bytecode yang unik merepresentasikan target kompilasi yang berbeda. Namun, beban kerja EVM nyata didominasi oleh **keluarga kontrak**: penerapan yang digerakkan oleh factory, proxy, dan template yang berbagi struktur instruksi tetapi hanya berbeda pada sekumpulan kecil konstanta yang tertanam. Contohnya meliputi token ERC-20 yang diterapkan dari factory umum, implementasi proxy yang dapat di-upgrade, dan koleksi NFT berbasis template.
Ketidaksesuaian antara penggunaan ulang per-hash dan beban kerja berstruktur keluarga memiliki konsekuensi yang terukur. Di empat rantai EVM (Base, Ethereum, BSC, dan Arbitrum), penulis menemukan bahwa **23,1–47,6% bytecode unik yang dapat dikompilasi memetakan ke kerangka keluarga bersama dalam jendela 10K blok**. AOT per-hash karena itu mengompilasi ulang kode yang setara secara struktural, membengkakkan waktu kompilasi dan jejak artefak sekaligus mengurangi cakupan beban kerja di bawah anggaran kompilasi yang
Inovasi
Pada korpus Base mainnet 10K blok, SkelOT mencapai pengurangan besar dalam overhead kompilasi sembari mempertahankan kebenaran:
- **Unit kompilasi**: berkurang **47,5%** dibandingkan AOT per-hash.
- **Jejak artefak**: berkurang **57,4%**.
- **Waktu kompilasi**: meningkat ****.
- **Kebenaran eksekusi**: hasil eksekusi identik byte demi byte dibandingkan AOT per-hash.
- **Kinerja runtime**: **percepatan median per kontrak** di seluruh anggota keluarga.
Di bawah anggaran kompilasi yang menargetkan cakupan waktu eksekusi 75%, SkelOT memerlukan jauh lebih sedikit artefak daripada AOT per-hash, dan keunggulan ini bertahan pada setiap target cakupan. Unit penggunaan ulang kerangka keluarga dengan demikian meningkatkan efisiensi kompilasi sekaligus cakupan efektif yang dapat dicapai di bawah anggaran kompilasi yang terbatas.
Mengapa penting
Hasilnya menegaskan bahwa AOT per-hash kurang cocok dengan beban kerja EVM nyata. Prevalensi keluarga kontrak—23,1–47,6% bytecode unik yang dapat dikompilasi dalam jendela 10K blok di Base, Ethereum, BSC, dan Arbitrum—berarti kompilasi per-hash berulang kali memproses kode yang setara secara struktural. Granularitas kerangka keluarga SkelOT secara langsung mengatasi redundansi ini.
Mekanisme tabel runtime memperkenalkan sedikit indireksi untuk konstanta varian, namun percepatan median per kontrak yang terukur menunjukkan bahwa efek bersihnya tetap positif. Hal ini masuk akal karena kerangka terkompilasi menangkap struktur alur kendali dan aritmetika yang dominan, sementara resolusi konstanta merupakan operasi yang relatif murah.
Analisis anggaran kompilasi sangat relevan untuk penerapan AOT produksi, di mana waktu kompilasi dan penyimpanan artefak dibatasi. Dengan mengurangi jumlah artefak yang diperlukan untuk mencapai cakupan waktu eksekusi tertentu, SkelOT memungkinkan cakupan beban kerja yang lebih luas tanpa peningkatan sumber daya kompilasi yang proporsional. Keunggulan yang bertahan pada setiap target cakupan menunjukkan manfaatnya bersifat struktural, bukan akibat dari titik anggaran tertentu.
Batasan meliputi evaluasi pada satu korpus Base mainnet 10K blok untuk klaim kinerja utama, meskipun studi prevalensi keluarga mencakup empat rantai. Pekerjaan selanjutnya dapat mengkaji portabilitas artefak lintas rantai, deteksi keluarga dinamis pada runtime, dan integrasi dengan backend AOT lain di luar revmc/LLVM.
Siapa yang sebaiknya membaca
Membuka konten member…