Kamus Crypto

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.

Account AbstractionTeknis

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:

FieldFungsi
senderAlamat smart account yang mengirim permintaan
nonceNomor urut unik untuk mencegah replay attack
initCodeKode untuk deploy smart account baru (jika belum ada)
callDataData tindakan yang akan dieksekusi (transfer, swap, dsb.)
callGasLimitBatas gas untuk eksekusi callData
verificationGasLimitGas untuk proses verifikasi tanda tangan
preVerificationGasGas overhead bundler sebelum eksekusi
maxFeePerGasBatas maksimum biaya gas per unit (mirip EIP-1559)
maxPriorityFeePerGasTip untuk bundler agar transaksi diprioritaskan
paymasterAndDataAlamat Paymaster + data opsional jika ada pihak bayar gas
signatureTanda tangan atau bukti otorisasi dari pemilik akun

Catatan teknis: Field initCode hanya diisi saat smart account belum di-deploy. Untuk akun yang sudah ada, field ini dikosongkan.

Alur Hidup Sebuah UserOperation

  1. Pengguna membuat UserOperation dan menandatanganinya (bisa pakai passkey, multisig, atau mekanisme lain).
  2. Bundler menerima UserOperation dari mempool alternatif, memvalidasi, dan menggabungkan beberapa UserOperation menjadi satu transaksi Ethereum biasa.
  3. EntryPoint (kontrak tunggal resmi ERC-4337) menerima bundel tersebut, memverifikasi setiap UserOperation, lalu mengeksekusinya satu per satu.
  4. 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

AspekTransaksi BiasaUserOperation
PengirimEOA (private key)Smart account
Masuk mempoolMempool Ethereum utamaMempool alternatif ERC-4337
Bayar gasSelalu ETHETH, ERC-20, atau disponsori
Fleksibilitas logikaTidak adaBisa multisig, passkey, batasan spending
Diproses olehValidator EthereumBundler 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.

Belajar DeFi Langsung — Bukan Hanya Teori

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.