
Account abstraction (AA) telah menjadi terobosan penting dalam ekosistem Ethereum, secara mendasar mengubah cara pengguna mengelola akun dan berinteraksi dengan blockchain. Panduan ini membahas secara menyeluruh mekanisme, manfaat, dan implementasi account abstraction, terutama menyoroti EIP-4337, proposal terbaru yang memungkinkan AA tanpa perubahan pada protokol inti Ethereum.
Account abstraction adalah perubahan paradigma dalam penanganan akun pengguna di Ethereum. Untuk memahaminya, perlu diketahui dua jenis akun di Ethereum: externally owned accounts (EOA) dan contract accounts (CA). EOA adalah akun tradisional yang dikontrol oleh private key dan seed phrase, sehingga pengguna wajib menjaga kredensial kriptografi mereka. Sebaliknya, contract account dikendalikan oleh smart contract, memberikan logika terprogram pada manajemen akun.
Account abstraction berarti memisahkan sumber transaksi dari tanda tangan, serta meng-upgrade EOA agar dapat berfungsi seperti CA. Transformasi ini memungkinkan smart contract mengendalikan EOA, sehingga tercipta smart contract wallet. Hasilnya adalah sistem pengelolaan akun yang lebih fleksibel dan ramah pengguna, menghilangkan banyak keterbatasan EOA tradisional. Dengan fitur ini, AA membuka peluang baru bagi pemilik akun, seperti mekanisme keamanan yang lebih kuat, otorisasi transaksi yang fleksibel, dan pengalaman pengguna yang lebih baik.
Komunitas Ethereum sangat antusias menyambut account abstraction karena dapat menyederhanakan dan meningkatkan seluruh proses pengelolaan akun. Salah satu keuntungan utama adalah fleksibilitas tinggi untuk aktivitas on-chain. EOA tradisional terbatas, tetapi AA memberi pengguna akses ke logika akun terprogram yang dapat disesuaikan untuk berbagai kebutuhan.
AA juga memberikan peningkatan signifikan pada sisi keamanan. Pengguna dapat menggunakan multi-signature, social recovery, dan fitur keamanan canggih lain yang sebelumnya tidak tersedia bagi EOA. Ini sangat mengurangi risiko kehilangan dana akibat kehilangan private key atau seed phrase. AA juga menyelesaikan berbagai masalah pengalaman pengguna, seperti kebutuhan menyimpan ETH untuk biaya gas serta keterbatasan batch transaksi. Semua peningkatan ini menurunkan hambatan bagi pengguna non-kripto dan membuat Ethereum makin mudah diakses masyarakat luas.
Perjalanan menuju account abstraction di Ethereum melibatkan sejumlah Ethereum Improvement Proposal (EIP) penting yang membentuk perkembangan AA saat ini. Memahami sejarah ini memberikan konteks untuk menilai pentingnya EIP-4337.
EIP-2938 adalah upaya awal menerapkan AA dengan menjadikan contract account sebagai 'top-level account' yang dapat membayar fee dan mengirim transaksi sendiri. EIP-3074 menawarkan pendekatan berbeda dengan dua OpCode baru, AUTH dan AUTHCALL, yang memungkinkan EOA mendelegasikan tindakan ke kontrak. Proposal ini menawarkan kerangka lebih fleksibel untuk merancang objek transaksi dan verifikasi.
Konsep account abstraction menjadi sorotan melalui EIP-2938 dan EIP-3074, namun keduanya membutuhkan perubahan besar di layer konsensus Ethereum, yang menimbulkan risiko dan tantangan implementasi. Karena itu, proposal-proposal ini ditunda. EIP-4337 menjadi titik balik karena memungkinkan AA tanpa perubahan protokol inti, sehingga lebih praktis dan minim risiko untuk penerapan account abstraction.
Dalam membandingkan solusi AA, penting memahami mengapa EIP-4337 kini menjadi pilihan utama. EIP-3074 menawarkan fitur menarik, tetapi perlu dua op code baru di layer konsensus. Implementasinya membutuhkan hard fork dan perubahan besar pada protokol inti Ethereum, sehingga menimbulkan tantangan teknis dan koordinasi.
Sebaliknya, EIP-4337 mewujudkan account abstraction di layer lebih tinggi tanpa mengubah konsensus. Ini jauh lebih aman dan mudah diperbarui jika ada masalah. Konsekuensinya, EIP-4337 menambah kompleksitas melalui komponen baru seperti bundler dan paymaster, tetapi semua ini berada di luar protokol inti dan dapat diubah tanpa memerlukan konsensus jaringan secara luas.
EIP-4337 memperkenalkan sistem komponen yang saling terintegrasi untuk mendukung account abstraction. Memahami setiap komponen penting untuk memahami proposal ini. Komponen utamanya adalah:
UserOperation adalah fondasi sistem EIP-4337. Tidak seperti transaksi tradisional, UserOperation adalah pseudo-transaction yang memuat semua informasi eksekusi transaksi atas nama pengguna. Objek ini dibuat oleh individu yang ingin mengirim transaksi, namun belum ditandatangani secara konvensional.
Entry point adalah smart contract tunggal yang berfungsi sebagai koordinator utama eksekusi UserOperation yang dibundel. Entry point memvalidasi dan memproses user op, memastikan semua standar dipenuhi sebelum eksekusi.
Bundler adalah node khusus yang mengumpulkan UserOperation dari mempool khusus dan menggabungkannya menjadi bundle transaction. Bundler dapat dijalankan oleh block builder atau bekerja dengan infrastruktur block building yang sudah ada. Bundler memastikan UserOperation bisa masuk ke blok dan validitasnya terjaga.
Wallet contract adalah smart contract account yang dimiliki pengguna. Kontrak ini mengatur validasi tanda tangan dan eksekusi transaksi berdasarkan UserOperation.
Wallet factory adalah smart contract yang menerbitkan smart contract wallet baru sesuai permintaan. Pengguna dapat membuat wallet kontrak mereka sendiri kapan saja dibutuhkan.
Aggregator adalah kontrak pembantu opsional yang dapat dipercaya untuk memvalidasi tanda tangan agregat, sehingga biaya gas bisa lebih efisien saat banyak operasi perlu validasi.
Paymaster adalah komponen inovatif EIP-4337, memungkinkan pembayaran gas yang fleksibel. Paymaster dapat mensponsori transaksi, menerima pembayaran dengan token ERC-20, atau menerapkan logika pembayaran gas khusus, sehingga pengalaman pengguna jauh lebih baik.
Alur transaksi di bawah EIP-4337 sangat berbeda dengan transaksi Ethereum tradisional. Pemahaman alur ini penting untuk mengetahui praktik AA. Prosesnya terdiri dari sejumlah tahap yang sangat penting dalam siklus transaksi.
Untuk memulai transaksi pada sistem EIP-4337, pengguna membuat objek UserOperation. Objek ini memuat seluruh informasi, seperti alamat pengirim, parameter gas (maxFeePerGas, maxPriorityFee), dan data transaksi. Yang membedakan, field signature dalam UserOperation divalidasi berdasarkan implementasi akun, bukan protokol.
Setelah dibuat, UserOperation dikirim ke mempool khusus user ops yang terpisah dari mempool transaksi tradisional. Pemisahan ini memungkinkan penanganan khusus UserOperation tanpa mengganggu transaksi Ethereum standar.
Setelah UserOperation masuk mempool, bundler mulai memprosesnya. Bundler mengumpulkan banyak UserOperation dan menggabungkannya ke dalam bundle transaction. Sebagai block builder, bundler bisa langsung menambahkan bundle ke blok selama entry point valid. Jika bukan block builder, bundler tetap dapat bekerja melalui infrastruktur seperti mev-boost, proposer-builder separation, atau API RPC eksperimen seperti eth_sendRawTransactionConditional.
Proses bundling ini sangat penting untuk efisiensi EIP-4337, sebab memungkinkan banyak UserOperation diproses dalam satu transaksi, menurunkan biaya dan meningkatkan throughput.
Setelah UserOperation yang dibundel dikirim ke entry point contract, proses validasi dimulai. Entry point mengeksekusi bundel dengan memvalidasi setiap UserOperation terlebih dahulu. Untuk diterima, bundler harus memanggil fungsi validateUserOp, yang memeriksa tanda tangan dan kriteria validasi sesuai implementasi smart contract wallet.
Bundler memelihara whitelist contract entry point yang didukung agar hanya memproses UserOperation dari kontrak tepercaya. Validasi ini penting untuk keamanan, mencegah eksekusi operasi yang tidak valid atau berbahaya.
Tahap terakhir adalah eksekusi UserOperation oleh smart contract wallet. Wallet menjalankan fungsi ExecuteUserOp untuk melaksanakan transaksi. Bundler mengemas UserOperation ke dalam transaksi dan memanggil fungsi handleOps pada EntryPoint smart contract. Transaksi ini kemudian masuk ke blok, menuntaskan prosesnya.
Alur bertahap ini memastikan UserOperation tervalidasi dan tereksekusi dengan aman, serta memungkinkan fleksibilitas AA.
Untuk memahami keunggulan wallet AA, penting membandingkannya dengan tipe wallet lain. EOA adalah wallet Ethereum tradisional, biayanya rendah untuk pembuatan dan gas, tetapi fiturnya sangat terbatas, pengguna harus mengelola private key sendiri, tanpa pemulihan bawaan. Keamanan sepenuhnya tergantung perlindungan private key oleh pengguna, sehingga rentan hilang atau dicuri.
Wallet MPC (Multi-Party Computation) tetap EOA, namun pengelolaan key tersebar ke beberapa pihak sehingga menghilangkan titik lemah tunggal. Keamanannya lebih baik dari EOA standar, tetapi tetap hanya menggunakan tanda tangan ECDSA dan kompatibilitas ekosistemnya terbatas. Pengguna harus mempertimbangkan kebijakan otorisasi penandatanganan off-chain dan transparansi dengan cermat.
Wallet AA berbasis contract account adalah opsi paling mutakhir. Meski biaya pembuatan dan gas lebih tinggi, wallet ini menawarkan pembayaran gas multi-mata uang, batch transaksi, berbagai metode tanda tangan, dan pemulihan bawaan. Tidak diperlukan lagi manajemen private key tradisional, dan keamanannya setingkat chain. Namun, dibutuhkan audit ekstensif pada kontrak on-chain dan pool permintaan, serta perlu terus meningkatkan kompatibilitas ekosistem.
Memahami perbedaan EIP-3074 dan EIP-4337 menjelaskan mengapa komunitas Ethereum kini lebih memilih EIP-4337. EIP-3074 ditunda karena merupakan core EIP yang membutuhkan perubahan layer konsensus. Proposal ini menambahkan dua OpCode baru untuk memungkinkan EOA memanfaatkan fitur kontrak, dengan kelebihan sekaligus risiko besar.
Pendekatan EIP-3074 memungkinkan pengguna mendelegasikan kontrol EOA ke kontrak, memberi pengembang kerangka fleksibel untuk inovasi transaksi, seperti batch trading, packaged trading, dan pembayaran gas fleksibel—semua tanpa penerbitan kontrak baru.
Keunggulan lain adalah penggunaan invoker contract yang bisa menerima pembayaran token selain ETH. Intermediary trustless ini memfasilitasi transaksi antara sponsor dan penerima, membuat pembayaran gas lebih fleksibel. Yang paling penting, EIP-3074 memungkinkan EOA lama mendapat fitur smart contract wallet tanpa penerbitan kontrak baru, sehingga tetap kompatibel dengan ekosistem EOA yang luas.
Namun, EIP-3074 punya tantangan besar hingga akhirnya ditunda. Masalah utama adalah perlunya perubahan layer konsensus, yang bisa memerlukan hard fork jika ada kendala. Ini berisiko besar bagi jaringan Ethereum dan butuh koordinasi komunitas sangat luas.
Selain itu, meski EIP-3074 memberi EOA sebagian fitur contract account, tetap saja tergantung pada tanda tangan ECDSA tetap. Keterbatasan ini menghalangi penggunaan metode tanda tangan lebih efisien atau aman. Ketidakmampuan beralih dari ECDSA membatasi fleksibilitas yang dapat dicapai account abstraction.
Walaupun EIP-3074 ditunda, ide dasarnya tetap berkembang. EIP-5003 membangun dari EIP-3074 dengan menambahkan OpCode AUTHUSURP, yang memungkinkan penerbitan kode pada alamat yang diotorisasi EIP-3074. Proposal ini bekerja bersama EIP-3607 untuk membuka jalur migrasi EOA ke contract account.
Dengan EIP-5003, EOA yang telah mengotorisasi alamat lain melalui EIP-3074 dapat membuat alamat terotorisasi tersebut menggunakan AUTHUSURP untuk menetapkan kode pada EOA, sehingga mengubahnya menjadi contract account dan memberinya akses ke metode tanda tangan canggih di luar ECDSA. Jalur migrasi ini bisa menjadi penghubung antara ekosistem EOA lama dan masa depan account abstraction, walaupun proposalnya masih dikembangkan.
Account abstraction, khususnya melalui EIP-4337, adalah evolusi mendasar dalam interaksi pengguna dengan blockchain Ethereum. Dengan memisahkan sumber transaksi dari tanda tangan dan memungkinkan smart contract mengelola akun, AA mengatasi banyak hambatan adopsi massal. Keuntungannya sangat luas: keamanan lebih baik melalui logika akun terprogram, pembayaran gas fleksibel (multi-mata uang dan sponsor pihak ketiga), batch transaction, serta pemulihan bawaan yang menghilangkan risiko kehilangan private key.
Penerapan AA melalui EIP-4337 tanpa perubahan layer konsensus membuatnya lebih praktis dan minim risiko daripada proposal seperti EIP-3074. Meski menambah kompleksitas lewat bundler, paymaster, dan mempool UserOperation terpisah, semuanya berada di luar inti protokol dan dapat terus dikembangkan tanpa perubahan konsensus jaringan. Seiring Ethereum berkembang, integrasi account abstraction lewat EIP-4337 akan menurunkan hambatan bagi pengguna baru dan memberi alat canggih bagi pengguna berpengalaman. Adopsi wallet AA secara luas akan menjadi langkah penting menuju adopsi massal dan aksesibilitas Ethereum ke publik luas.
EIP-4337 adalah standar Ethereum untuk account abstraction yang memungkinkan smart contract wallet dengan social login dan transaksi tanpa gas. Standar ini menggunakan UserOperation, Bundler, EntryPoint, dan Contract Account untuk meningkatkan pengalaman pengguna.
EIP 4337 adalah toolkit untuk pengembangan fitur account abstraction, sedangkan EIP 7702 memungkinkan penggunaan fitur tersebut pada externally owned account yang sudah ada.
ERC-4337 adalah standar Ethereum untuk account abstraction, memungkinkan smart contract mengelola akun dan transaksi pengguna tanpa kunci wallet tradisional. Tujuannya meningkatkan keamanan dan kemudahan penggunaan.
Tidak, EIP dan ERC berbeda. EIP (Ethereum Improvement Proposal) fokus pada perubahan protokol, sedangkan ERC (Ethereum Request for Comment) mendefinisikan standar token dan smart contract.











