Sebelum abstraksi akun, ada dua jenis akun di Ethereum: akun milik eksternal (EOA) dan kontrak pintar. EOA adalah akun pengguna biasa yang memiliki kunci pribadi. Ini juga satu-satunya jenis akun yang dapat memulai transaksi. Misalnya, pengguna harus memiliki ETH untuk mengirim transaksi. Membuat transaksi batch itu sulit, dan tidak ada opsi pemulihan jika pengguna kehilangan kunci pribadinya. Abstraksi akun (AA) dibuat untuk mengatasi masalah ini. Namun apakah ini solusi yang bebas risiko? Panduan ini mencakup dasar-dasar AA sebelum merinci risikonya dan cara memitigasinya.
Abstraksi akun adalah teknologi yang memungkinkan kontrak pintar menginisialisasi transaksi sendiri. Hal ini memungkinkan pengguna untuk membuat akun yang diwakili oleh kontrak pintar. Teknologi ini juga mengaktifkan beberapa fitur yang meningkatkan interaksi pengguna dengan rantai.
Ada berbagai usulan tentang cara mengimplementasikan AA ke dalam jaringan Ethereum. Beberapa di antaranya melibatkan perubahan signifikan pada protokol Ethereum yang mempersulit penerapannya. Implementasi yang paling menonjol adalah ERC-4337 yang tidak melibatkan perubahan lapisan konsensus apa pun. Standar ini mereplikasi mempool transaksi pada skala tingkat yang lebih tinggi. Kontrak pintar ERC-4337 diterapkan ke jaringan Ethereum pada Maret 2023.
ERC-4337 menggunakan kontrak pintar bernama dompet, bukan EOA. Dompet kontrak pintar ini dapat dikontrol tidak hanya dengan kunci pribadi tetapi juga dengan mekanisme kompleks sewenang-wenang yang dikodekan dalam kontrak.
Alih-alih melakukan transaksi, pengguna mengirimkan UserOperations. UserOperation berisi instruksi untuk dieksekusi, verifikasi tanda tangan, dan data lainnya. Seperti halnya transaksi, pengguna menentukan premi bagi Bundler untuk memprioritaskan operasinya.
Penambang atau bundler mengemas operasi menjadi transaksi bundel yang kemudian dimasukkan ke dalam jaringan Ethereum.
Implementasi AA: HashEx
Di antara data lainnya, UserOperation berisi kode untuk membuat dompet kontrak pintar. Jika pengguna tidak memiliki dompet, dompet dibuat untuk mereka.
Jika pengguna ingin membayar transaksi dengan token ERC20 atau bahkan tidak ingin membayar transaksi sama sekali, mereka menentukan alamat kontrak paymaster di UserOperation. Paymaster adalah layanan pihak ketiga yang akan membayar transaksi dengan imbalan token ERC20.
Meskipun abstraksi akun dibuat untuk meningkatkan keamanan pengguna, terdapat beberapa risiko, terutama pada tahap awal penerapan. Ekosistem Ethereum terkenal dengan bug dalam kontrak pintar yang menyebabkan miliaran dolar dicuri oleh pengguna jahat. Berikut beberapa risiko AA dan cara menghindari/mitigasinya.
Seperti teknologi baru lainnya, abstraksi akun berisiko pada penerapan pertamanya yang mengandung bug. Kontrak pintar ERC-4337 diaudit oleh perusahaan keamanan blockchain terkemuka OpenZeppelin.
Mitigasi: Solusinya adalah dengan menggunakan verifikasi formal — sebuah proses yang melibatkan penggunaan metode matematika untuk membuktikan kebenaran kontrak pintar. Proses verifikasi formal untuk kontrak ERC4337 sedang berlangsung namun belum selesai.
Tidak semua kontrak pintar kompatibel dengan dompet abstraksi akun. Misalnya, kontrak pintar yang menggunakan kolom tx.origin untuk memeriksa dompet yang mengirimkan transaksi akan mendapatkan nilai yang tidak terduga. Ketidakcocokan lainnya terjadi dengan kontrak pintar yang menggunakan tanda tangan EOA: kontrak tersebut tidak didukung oleh dompet AA.
Dalam kontrak seperti itu, fungsi-fungsi penting tertentu mungkin tidak berfungsi dengan benar. Dalam kasus terburuk, dana pengguna bisa diblokir.
Mitigasi: Untuk mengurangi risiko, pengguna yang menggunakan dompet abstraksi akun harus memeriksa apakah protokol yang berinteraksi dengannya mendukung teknologi tersebut.
Standar ini dirancang agar dompet kontrak pintar dapat dibuat dalam UserOperation pertama melalui pabrik kontrak pintar. Namun, ada risiko bahwa kontrak pintar implementasi dompet akan mengandung bug. Sangat penting untuk hanya menggunakan pabrik dompet yang telah diaudit dan diuji secara menyeluruh oleh perusahaan keamanan blockchain terkemuka.
Mitigasi: Gunakan hanya layanan tepercaya untuk membuat dompet dan pastikan kode dompet diaudit setidaknya oleh satu perusahaan keamanan blockchain yang tepercaya.
Jika pengguna atau proyek menggunakan paymaster, mereka bergantung pada pihak ketiga untuk membayar transaksinya. Mungkin ada kesalahan dalam penerapan paymaster, dan paymaster yang jahat dapat mencuri dana pengguna.
Perlu dicatat bahwa layanan penyedia pembayaran yang dipilih juga dapat dirugikan oleh pengguna jahat yang dapat menemukan cara untuk mengelabui pemberi pembayaran agar membayar transaksi mereka.
Mitigasi: Dompet hanya menggunakan master pembayaran dari penyedia tepercaya dan memastikan bahwa kode master pembayaran telah diaudit sebelum menggunakannya.
Abstraksi akun pada blockchain Ethereum adalah konsep yang relatif baru. Oleh karena itu, praktik terbaik dan kerangka kerja pengembang untuk pemanfaatannya masih dalam proses penyusunan. Hanya ada sedikit contoh penggunaan abstraksi akun yang dapat dipelajari oleh pengembang.
Mitigasi: Praktik terbaik pada akhirnya akan berkembang seiring dengan penyebaran standar ini. Bagi pengembang, sangat penting untuk berbagi pengalaman dalam menggunakan teknologi baru, terutama pada tahap awal adopsi.
ERC-4337 masih dalam mode draf, meskipun kontrak telah diterapkan di Mainnet. Ada kemungkinan standarnya akan berubah. Perlu dicatat bahwa perubahan tersebut seharusnya mempengaruhi detail yang lebih kecil dan tidak mempengaruhi kontrak pintar yang sudah diterapkan.
Mitigasi: Pengembang harus mengawasi bagaimana standar berkembang dan memperbarui kode proyek mereka sesuai dengan perubahan standar jika terjadi.
Meskipun ERC-4337 dirancang agar setiap orang dapat memulai bundler, setidaknya pada tahap awal, ekosistem abstraksi akun cukup terpusat karena hanya ada sedikit implementasi Bundler yang siap produksi.
Mitigasi: Untuk menghindari risiko kesalahan dalam implementasi Bundler yang mempengaruhi jaringan abstraksi akun, setidaknya beberapa implementasi Bundler harus digunakan. Banyak implementasi Bundler sedang dalam pengembangan, dan banyak di antaranya akan segera siap produksi.
Abstraksi akun berpotensi menjadi teknologi hebat yang dapat membawa lebih banyak adopsi ke Ethereum. Pada saat yang sama, ini adalah salah satu perkembangan yang dapat membuat blockchain lebih aman. Namun, seperti halnya penambahan teknologi blockchain pada tahap awal, pengguna harus ekstra waspada. Meninjau dan meneliti AA adalah pilihan terbaik bagi semua orang yang ingin mengadopsi teknologi ini.
Sebelum abstraksi akun, ada dua jenis akun di Ethereum: akun milik eksternal (EOA) dan kontrak pintar. EOA adalah akun pengguna biasa yang memiliki kunci pribadi. Ini juga satu-satunya jenis akun yang dapat memulai transaksi. Misalnya, pengguna harus memiliki ETH untuk mengirim transaksi. Membuat transaksi batch itu sulit, dan tidak ada opsi pemulihan jika pengguna kehilangan kunci pribadinya. Abstraksi akun (AA) dibuat untuk mengatasi masalah ini. Namun apakah ini solusi yang bebas risiko? Panduan ini mencakup dasar-dasar AA sebelum merinci risikonya dan cara memitigasinya.
Abstraksi akun adalah teknologi yang memungkinkan kontrak pintar menginisialisasi transaksi sendiri. Hal ini memungkinkan pengguna untuk membuat akun yang diwakili oleh kontrak pintar. Teknologi ini juga mengaktifkan beberapa fitur yang meningkatkan interaksi pengguna dengan rantai.
Ada berbagai usulan tentang cara mengimplementasikan AA ke dalam jaringan Ethereum. Beberapa di antaranya melibatkan perubahan signifikan pada protokol Ethereum yang mempersulit penerapannya. Implementasi yang paling menonjol adalah ERC-4337 yang tidak melibatkan perubahan lapisan konsensus apa pun. Standar ini mereplikasi mempool transaksi pada skala tingkat yang lebih tinggi. Kontrak pintar ERC-4337 diterapkan ke jaringan Ethereum pada Maret 2023.
ERC-4337 menggunakan kontrak pintar bernama dompet, bukan EOA. Dompet kontrak pintar ini dapat dikontrol tidak hanya dengan kunci pribadi tetapi juga dengan mekanisme kompleks sewenang-wenang yang dikodekan dalam kontrak.
Alih-alih melakukan transaksi, pengguna mengirimkan UserOperations. UserOperation berisi instruksi untuk dieksekusi, verifikasi tanda tangan, dan data lainnya. Seperti halnya transaksi, pengguna menentukan premi bagi Bundler untuk memprioritaskan operasinya.
Penambang atau bundler mengemas operasi menjadi transaksi bundel yang kemudian dimasukkan ke dalam jaringan Ethereum.
Implementasi AA: HashEx
Di antara data lainnya, UserOperation berisi kode untuk membuat dompet kontrak pintar. Jika pengguna tidak memiliki dompet, dompet dibuat untuk mereka.
Jika pengguna ingin membayar transaksi dengan token ERC20 atau bahkan tidak ingin membayar transaksi sama sekali, mereka menentukan alamat kontrak paymaster di UserOperation. Paymaster adalah layanan pihak ketiga yang akan membayar transaksi dengan imbalan token ERC20.
Meskipun abstraksi akun dibuat untuk meningkatkan keamanan pengguna, terdapat beberapa risiko, terutama pada tahap awal penerapan. Ekosistem Ethereum terkenal dengan bug dalam kontrak pintar yang menyebabkan miliaran dolar dicuri oleh pengguna jahat. Berikut beberapa risiko AA dan cara menghindari/mitigasinya.
Seperti teknologi baru lainnya, abstraksi akun berisiko pada penerapan pertamanya yang mengandung bug. Kontrak pintar ERC-4337 diaudit oleh perusahaan keamanan blockchain terkemuka OpenZeppelin.
Mitigasi: Solusinya adalah dengan menggunakan verifikasi formal — sebuah proses yang melibatkan penggunaan metode matematika untuk membuktikan kebenaran kontrak pintar. Proses verifikasi formal untuk kontrak ERC4337 sedang berlangsung namun belum selesai.
Tidak semua kontrak pintar kompatibel dengan dompet abstraksi akun. Misalnya, kontrak pintar yang menggunakan kolom tx.origin untuk memeriksa dompet yang mengirimkan transaksi akan mendapatkan nilai yang tidak terduga. Ketidakcocokan lainnya terjadi dengan kontrak pintar yang menggunakan tanda tangan EOA: kontrak tersebut tidak didukung oleh dompet AA.
Dalam kontrak seperti itu, fungsi-fungsi penting tertentu mungkin tidak berfungsi dengan benar. Dalam kasus terburuk, dana pengguna bisa diblokir.
Mitigasi: Untuk mengurangi risiko, pengguna yang menggunakan dompet abstraksi akun harus memeriksa apakah protokol yang berinteraksi dengannya mendukung teknologi tersebut.
Standar ini dirancang agar dompet kontrak pintar dapat dibuat dalam UserOperation pertama melalui pabrik kontrak pintar. Namun, ada risiko bahwa kontrak pintar implementasi dompet akan mengandung bug. Sangat penting untuk hanya menggunakan pabrik dompet yang telah diaudit dan diuji secara menyeluruh oleh perusahaan keamanan blockchain terkemuka.
Mitigasi: Gunakan hanya layanan tepercaya untuk membuat dompet dan pastikan kode dompet diaudit setidaknya oleh satu perusahaan keamanan blockchain yang tepercaya.
Jika pengguna atau proyek menggunakan paymaster, mereka bergantung pada pihak ketiga untuk membayar transaksinya. Mungkin ada kesalahan dalam penerapan paymaster, dan paymaster yang jahat dapat mencuri dana pengguna.
Perlu dicatat bahwa layanan penyedia pembayaran yang dipilih juga dapat dirugikan oleh pengguna jahat yang dapat menemukan cara untuk mengelabui pemberi pembayaran agar membayar transaksi mereka.
Mitigasi: Dompet hanya menggunakan master pembayaran dari penyedia tepercaya dan memastikan bahwa kode master pembayaran telah diaudit sebelum menggunakannya.
Abstraksi akun pada blockchain Ethereum adalah konsep yang relatif baru. Oleh karena itu, praktik terbaik dan kerangka kerja pengembang untuk pemanfaatannya masih dalam proses penyusunan. Hanya ada sedikit contoh penggunaan abstraksi akun yang dapat dipelajari oleh pengembang.
Mitigasi: Praktik terbaik pada akhirnya akan berkembang seiring dengan penyebaran standar ini. Bagi pengembang, sangat penting untuk berbagi pengalaman dalam menggunakan teknologi baru, terutama pada tahap awal adopsi.
ERC-4337 masih dalam mode draf, meskipun kontrak telah diterapkan di Mainnet. Ada kemungkinan standarnya akan berubah. Perlu dicatat bahwa perubahan tersebut seharusnya mempengaruhi detail yang lebih kecil dan tidak mempengaruhi kontrak pintar yang sudah diterapkan.
Mitigasi: Pengembang harus mengawasi bagaimana standar berkembang dan memperbarui kode proyek mereka sesuai dengan perubahan standar jika terjadi.
Meskipun ERC-4337 dirancang agar setiap orang dapat memulai bundler, setidaknya pada tahap awal, ekosistem abstraksi akun cukup terpusat karena hanya ada sedikit implementasi Bundler yang siap produksi.
Mitigasi: Untuk menghindari risiko kesalahan dalam implementasi Bundler yang mempengaruhi jaringan abstraksi akun, setidaknya beberapa implementasi Bundler harus digunakan. Banyak implementasi Bundler sedang dalam pengembangan, dan banyak di antaranya akan segera siap produksi.
Abstraksi akun berpotensi menjadi teknologi hebat yang dapat membawa lebih banyak adopsi ke Ethereum. Pada saat yang sama, ini adalah salah satu perkembangan yang dapat membuat blockchain lebih aman. Namun, seperti halnya penambahan teknologi blockchain pada tahap awal, pengguna harus ekstra waspada. Meninjau dan meneliti AA adalah pilihan terbaik bagi semua orang yang ingin mengadopsi teknologi ini.