| Penulis | Buterin, Vitalik; Enright, Sam; Kadav, Ansgar; et al. |
|---|---|
| Tahun | 2024 |
| Proyek | Ethereum |
| Lisensi | Public |
| Sumber Resmi | eips.ethereum.org/EIPS/eip-7702 |
EIP-7702 (diusulkan 2024, diaktifkan dalam Pectra hard fork) adalah Ethereum Improvement Proposal yang mengizinkan EOA (Externally Owned Account — dompet biasa seperti MetaMask) untuk sementara mengeksekusi sebagai smart contract dengan menetapkan field code-nya ke delegasi kontrak. Ini memberikan kemampuan smart contract kepada EOA yang sudah ada tanpa migrasi dompet — masalah utama yang selama ini menghambat adopsi smart account di kalangan pengguna lama Ethereum.
Publikasi dan Konteks
Ethereum memiliki dua jenis akun yang biner:
- EOA: Dikontrol oleh private key, dapat memulai transaksi, tidak memiliki kode
- Contract Account: Memiliki kode, tidak dapat memulai transaksi, membutuhkan EOA untuk memanggilnya
ERC-4337 (Account Abstraction, 2021) menciptakan smart contract wallet, tetapi memerlukan migrasi wallet penuh. Sebagian besar pengguna Ethereum memiliki aset di EOA dan lebih memilih untuk tidak migrasi. EIP-7702 memecahkan ini: EOA mendapat kemampuan smart contract tanpa meninggalkan EOA mereka.
Cara Kerja EIP-7702
Tipe transaksi baru menyertakan authorization list yang ditandatangani — daftar tuple (chain_id, contract_address, nonce, signature):
- Untuk setiap otorisasi: field
codeEOA di-set ke DELEGATECALL delegation designator yang menunjuk kecontract_address - Dalam transaksi tersebut, EOA mengeksekusi seolah-olah ia adalah kontrak yang ditunjuk
- Setelah transaksi, kode tetap ada hingga dibersihkan secara eksplisit (tidak seperti EIP-3074 yang bersifat sementara per-transaksi)
Efek efektif: Saat kode EIP-7702 dipanggil, ia mendelegasikan ke smart contract target — EOA menjadi proxy untuk kontrak tersebut selama otorisasi berlaku.
Use Case yang Diaktifkan
| Fitur | Deskripsi |
|---|---|
| Batch transactions | Tandatangani sekali, eksekusi banyak approval + swap dalam satu tx |
| Gas sponsorship | Sponsor membayar gas; pengguna hanya menandatangani aksinya |
| Session keys | Sub-key terbatas waktu untuk game atau dapp — tidak perlu tandatangan manual setiap interaksi |
| Social recovery | Logika pemulihan ditambahkan ke EOA tanpa deployment kontrak baru |
| Revoke approval | Otomatis mencabut approval yang sudah kadaluarsa dalam satu transaksi |
Pectra Hard Fork
EIP-7702 diaktifkan bersamaan dengan Pectra hard fork (2024), bersama EIP-2537 (BLS precompile) dan EIP-7251 (peningkatan max validator balance). Pectra adalah hard fork Ethereum pertama yang secara langsung meningkatkan UX pengguna akhir melalui account abstraction untuk EOA yang sudah ada.
Perbedaan dengan ERC-4337
- ERC-4337: Smart contract wallet baru yang sepenuhnya menggantikan EOA. Memerlukan migrasi semua aset.
- EIP-7702: Menambahkan kemampuan smart contract ke EOA yang sudah ada. Tidak memerlukan migrasi. Kompatibel dengan semua dompet berbasis private key.
Istilah Terkait
Referensi
- Buterin, V. et al. (2024). EIP-7702: Set EOA account code. eips.ethereum.org/EIPS/eip-7702