Apa Itu UserOperation? Struktur Data Transaksi di Sistem ERC-4337 Account Abstraction
UserOperation adalah paket data transaksi di ERC-4337 yang menggantikan transaksi Ethereum biasa — berisi 11 field wajib termasuk gas, tanda tangan, dan logika eksekusi.
UserOperation adalah struktur data berisi 11 field yang merepresentasikan permintaan tindakan dari smart account di sistem ERC-4337 — bukan transaksi Ethereum biasa, melainkan format khusus yang diproses bundler sebelum masuk blockchain.
Mengapa UserOperation Ada
Di Ethereum standar, setiap transaksi dikirim langsung dari dompet EOA (Externally Owned Account). Ini berarti pengguna harus punya ETH, harus tanda tangan manual, dan tidak ada fleksibilitas logika. Account Abstraction memutus keterbatasan ini dengan memperkenalkan layer baru: alih-alih transaksi biasa, pengguna mengirim UserOperation ke mempool alternatif khusus.
11 Field dalam Struktur UserOperation
Setiap UserOperation wajib memuat field berikut:
| Field | Fungsi |
|---|---|
sender | Alamat smart account yang mengirim permintaan |
nonce | Nomor urut unik untuk mencegah replay attack |
initCode | Kode untuk deploy smart account baru (jika belum ada) |
callData | Data tindakan yang akan dieksekusi (transfer, swap, dsb.) |
callGasLimit | Batas gas untuk eksekusi callData |
verificationGasLimit | Gas untuk proses verifikasi tanda tangan |
preVerificationGas | Gas overhead bundler sebelum eksekusi |
maxFeePerGas | Batas maksimum biaya gas per unit (mirip EIP-1559) |
maxPriorityFeePerGas | Tip untuk bundler agar transaksi diprioritaskan |
paymasterAndData | Alamat Paymaster + data opsional jika ada pihak bayar gas |
signature | Tanda tangan atau bukti otorisasi dari pemilik akun |
Catatan teknis: Field
initCodehanya diisi saat smart account belum di-deploy. Untuk akun yang sudah ada, field ini dikosongkan.
Alur Hidup Sebuah UserOperation
- Pengguna membuat UserOperation dan menandatanganinya (bisa pakai passkey, multisig, atau mekanisme lain).
- Bundler menerima UserOperation dari mempool alternatif, memvalidasi, dan menggabungkan beberapa UserOperation menjadi satu transaksi Ethereum biasa.
- EntryPoint (kontrak tunggal resmi ERC-4337) menerima bundel tersebut, memverifikasi setiap UserOperation, lalu mengeksekusinya satu per satu.
- Paymaster (opsional) membayar gas atas nama pengguna — bisa menggunakan token ERC-20 atau gratis sepenuhnya jika disponsori aplikasi.
Hasilnya: pengguna tidak perlu pegang ETH untuk biaya gas, tapi transaksi tetap tereksekusi di Ethereum mainnet secara on-chain.
Perbedaan UserOperation vs Transaksi Ethereum Biasa
| Aspek | Transaksi Biasa | UserOperation |
|---|---|---|
| Pengirim | EOA (private key) | Smart account |
| Masuk mempool | Mempool Ethereum utama | Mempool alternatif ERC-4337 |
| Bayar gas | Selalu ETH | ETH, ERC-20, atau disponsori |
| Fleksibilitas logika | Tidak ada | Bisa multisig, passkey, batasan spending |
| Diproses oleh | Validator Ethereum | Bundler ERC-4337 + EntryPoint |
Kaitan dengan Smart Account dan Paymaster
UserOperation adalah “bahasa” yang digunakan smart account untuk berkomunikasi dengan jaringan. Tanpa format ini, smart account tidak bisa berinteraksi dengan sistem ERC-4337. Field paymasterAndData adalah kunci fleksibilitas gas — ketika diisi, Paymaster akan memverifikasi apakah ia bersedia menanggung biaya gas untuk UserOperation tersebut.
Ini membuka skenario seperti: aplikasi DeFi membayar gas untuk pengguna baru, atau pengguna membayar gas dengan USDC tanpa perlu ETH sama sekali.
⚠️ Disclaimer: Artikel ini bersifat edukatif, bukan saran keuangan atau investasi personal.
WhaleX Masterclass 2 Hari: dari setup wallet sampai LP DeFi aktif menghasilkan. Praktik langsung, dipandu mentor berpengalaman.
Lihat Jadwal Kelas →Pertanyaan Umum
Apa itu UserOperation dalam ERC-4337?
UserOperation adalah struktur data berisi 11 field yang merepresentasikan permintaan transaksi dari smart account di sistem ERC-4337. Tidak seperti transaksi Ethereum biasa, UserOperation tidak langsung masuk blockchain — melainkan dikumpulkan bundler lalu dieksekusi melalui kontrak EntryPoint.
Apa perbedaan UserOperation dengan transaksi Ethereum biasa?
Transaksi Ethereum biasa dikirim langsung dari EOA (Externally Owned Account) ke mempool dan membutuhkan ETH untuk membayar gas. UserOperation dikirim ke mempool alternatif, diproses bundler, dan bisa menggunakan Paymaster agar gas dibayar pihak ketiga atau token ERC-20.