Menemukan solusi inovatif untuk memungkinkan pengalaman perdagangan crypto tanpa gesekan sangat penting sampai mata uang digital mendapatkan adopsi arus utama.
Ditulis oleh:Mustafa Bedawala, Mert Ozbay dan Catherine Gu
Kompilasi: Riset GWEI
Terlepas dari kemajuan yang berkelanjutan, blockchain saat ini sedang berjuang untuk memberikan tingkat fleksibilitas dan pengalaman pengguna yang sama dengan ekosistem pembayaran digital arus utama. Namun, teknologi baru dapat meningkatkan pengalaman pembayaran saat bertransaksi dengan mata uang digital. Dalam Pembayaran Otomatis untuk Dompet yang Dihosting Sendiri, kami menyelidiki penerapan teknologi mutakhir untuk pembayaran otomatis dengan memanfaatkan konsep Abstraksi Akun (AA) pada blockchain publik. ¹Eksplorasi AA kami dan pengalaman pembayaran crypto yang lebih baik berlanjut dengan melihat bagaimana paradigma AA saat ini di Ethereum menawarkan solusi kreatif untuk menangani biaya transaksi: Pengguna dapat menggunakan stablecoin, token ERC-20 lainnya untuk membayar biaya transaksi Ethereum , atau tidak tidak membayar sama sekali? Menemukan solusi inovatif untuk memungkinkan pengalaman onboarding dan perdagangan crypto tanpa gesekan sangat penting sampai mata uang digital mendapatkan adopsi arus utama.
Tinjauan teknis ERC-4337, standar saat ini untuk implementasi AA di Ethereum, bertujuan untuk lebih memahami ERC-4337. Kami membahas penyebaran eksperimental Visa dari dua set kontrak Paymaster untuk menunjukkan bagaimana biaya gas pada blockchain dapat didesain ulang untuk meningkatkan kenyamanan pengguna.
Abstraksi akun dan ERC-4337
Untuk lebih memahami proposisi nilai abstraksi akun, mari kita tinjau secara singkat dua jenis akun yang saat ini ada di Ethereum: Akun Milik Eksternal (EOA) dan Akun Kontrak (CA), masing-masing biasanya disebut sebagai akun pengguna dan kontrak pintar. EOA, dikendalikan oleh kunci pribadi, memungkinkan pengguna mengirim transaksi. Namun, mereka tidak memiliki programabilitas kontrak pintar, membuatnya semakin tidak fleksibel. Sebaliknya, CA memiliki kode yang dapat dieksekusi tetapi tidak dapat memulai transaksi secara independen. Transaksi harus selalu berasal dari akun pengguna dan berisi tanda tangan pengguna, apakah itu transfer token sederhana atau operasi kompleks yang dilakukan melalui banyak kontrak pintar.
Konsep Abstraksi Akun (AA) bertujuan untuk meningkatkan kemampuan pemrograman CA untuk kepentingan pengguna akhir. Saat menulis smart contract, merupakan praktik umum untuk menentukan pemilik untuk mengontrol perilaku kontrak. Dompet yang dihosting sendiri yang dibangun sebagai kontrak pintar dapat memberi pengguna lebih banyak fungsi daripada dompet berbasis EOA. Ini dicapai melalui pengenalan standar ethereum baru yang disebut ERC-4337, yang diusulkan oleh anggota komunitas ethereum, termasuk pendiri ethereum Vitalik Buterin. ² ERC-4337 memungkinkan pemilik untuk secara langsung memiliki akun smart contract tanpa tanda tangan EOA. Meskipun pemilik mungkin tidak menandatangani EOA dalam pengertian tradisional, kepemilikan mereka atas smart contract masih memerlukan proses otentikasi yang aman untuk memastikan mereka mengontrol dan mengelola akun smart contract dengan benar. Pada gilirannya, akun kontrak pintar ini dapat menangani tugas-tugas seperti otentikasi multi-faktor, pembayaran berulang, dan aturan serta kebijakan khusus yang ditentukan oleh pengguna akhir.
ERC-4337 adalah pengembangan terbaru dari AA, awalnya diusulkan pada tahun 2021 sebagai Ethereum Improvement Proposal (EIP)-4337. Itu melalui proses Ethereum Request for Comments (ERC), yang menetapkan standar untuk aplikasi di jaringan Ethereum. Perbedaan antara EIP dan ERC adalah ruang lingkup dan persyaratan penerapannya. ERC mendefinisikan bagaimana smart contract harus dijalankan dan berinteraksi satu sama lain di tingkat aplikasi. Mereka tidak memerlukan adopsi oleh semua peserta seperti EIP inti (Proposal Peningkatan Ethereum), yang diterapkan pada tingkat protokol dan memerlukan konsensus yang lebih luas dalam komunitas. Transisi dari EIP-4337 ke ERC-4337 menandakan bahwa proposal tersebut telah memenuhi standar yang disyaratkan untuk aplikasi Ethereum dan sekarang secara resmi menjadi bagian dari ekosistem Ethereum. Mulai Maret 2023, komponen inti ERC-4337 telah digunakan di mainnet Ethereum. Tidak seperti EIP abstraksi akun sebelumnya, ERC-4337 tidak memerlukan modifikasi pada lapisan konsensus protokol blockchain untuk mengaktifkan abstraksi akun di jaringan Ethereum. ² Perkembangan ini memungkinkan peserta jaringan blockchain untuk segera mengeksplorasi dan bereksperimen dengan pengalaman pengguna baru tanpa menunggu peningkatan jaringan besar. Perlu dicatat bahwa salah satu keunggulan ERC-4337 adalah kompatibel dengan blockchain apa pun yang menggunakan mesin virtual Ethereum, memberikan AA standar di luar Ethereum itu sendiri.
Lintasi transaksi ERC-4337
Dalam transaksi EOA tipikal, pengguna berinteraksi dengan dompet yang dihosting sendiri untuk membuat, menandatangani, dan mengirimkan transaksi ke mempool publik. Muatan transaksi yang dihasilkan dan ditandatangani dengan kunci pribadi pengguna kemudian disebarkan melalui node ke mempool peer-to-peer (P2P). Validator atau entitas khusus (disebut pembangun) memilih transaksi yang sesuai dan menguntungkan dari mempool publik untuk dieksekusi dan menggabungkannya ke dalam blockchain.
Gambar 1: Proses transaksi Ethereum pada umumnya
ERC-4337 memperkenalkan proses transaksi alternatif ke metode EOA tradisional dengan menambahkan langkah baru sebelum transaksi mencapai alamat proxy EOA. Pengguna mengirim maksud mereka sebagai UserOperations, yang kemudian disebarkan melalui mempool UserOperations khusus. Mempool unik ini dipantau oleh bundler, yang bertindak sebagai proxy EOA, mengirimkan UserOperations ke mempool publik dalam bentuk transaksi EOA tipikal yang dapat ditangani oleh jaringan. Transaksi ini kemudian mengikuti alur yang sama seperti transaksi biasa, baik bergabung dengan mempool publik atau langsung ke tukang.
Kami memperkenalkan proses end-to-end transaksi ERC-4337 selangkah demi selangkah, dari pembuatan UserOperation hingga eksekusi. Sebelum mendalami, sangat penting untuk mendefinisikan konsep teller, yang memainkan peran penting dalam proses ini dan merupakan inti dari eksplorasi kita sendiri. Paymaster adalah akun kontrak pintar opsional yang dapat mensponsori biaya transaksi untuk akun kontrak (kontrak pintar yang berpusat pada pengguna). Paymaster mengevaluasi apakah UserOperation diterima selama fase validasi dan mengimplementasikan logika biaya yang diperlukan selama fase eksekusi. Dengan melakukan ini, mereka dapat mensponsori biaya transaksi untuk pengguna dan memungkinkan pengguna membayar bensin menggunakan token ERC-20 seperti stablecoin USD.
Gambar 2: Proses transaksi ERC-4337
Pengguna membuat UserOperations melalui dompet smart contract yang sesuai dengan standar ERC-4337. UserOperations merangkum niat pengguna untuk berinteraksi dengan blockchain, yang ditandatangani pengguna untuk otentikasi. Setelah dihasilkan, UserOperations berkomitmen untuk Mempool UserOperation khusus, penyimpanan yang didedikasikan untuk UserOperations terpisah dari mempool transaksi Ethereum standar.
Bundler adalah kelas aktor khusus yang memantau UserOperation Mempool, menjalankan simulasi, dan menyusun serangkaian UserOperations ke dalam bundel transaksi tunggal. Bundler bertanggung jawab untuk mengumpulkan UserOperations dan mengirimkannya ke kontrak EntryPoint, mengoptimalkan penggunaan gas, dan memaksimalkan keuntungan dengan memanfaatkan logika biaya pertama.
Kontrak EntryPoint menerima paket UserOperations. Ini bertindak sebagai koordinator pusat untuk mengelola UserOperations dalam alur transaksi ERC-4337.
Jika UserOperation ditentukan, kontrak EntryPoint akan berinteraksi dengan kontrak Paymaster. Seperti disebutkan sebelumnya, Paymasters dapat mensponsori biaya transaksi akun kontrak. EntryPoint memverifikasi bahwa pembayar memiliki simpanan yang cukup, atau akun kontrak memiliki dana yang cukup untuk membayar gas. Selama eksekusi, jika Paymaster terlibat, itu dapat menerapkan logika biaya khusus, yang akan kami tunjukkan di bagian selanjutnya.
Kontrak EntryPoint kemudian memanggil akun kontrak dan, jika perlu, teller untuk memverifikasi tanda tangan di UserOperation. Akun kontrak adalah akun pengguna yang berinteraksi mulus dengan kontrak EntryPoint untuk memfasilitasi pelaksanaan transaksi. Setelah verifikasi berhasil, EntryPoint mentransfer data yang relevan dari setiap UserOperation ke Akun Kontrak dan memulai proses eksekusi.
Abstraksi akun dan aplikasi praktis
Karena teknologi blockchain terus mengeksplorasi aplikasi dunia nyata, dompet kustodian mandiri menjadi pilihan populer bagi pengguna untuk menyimpan dan bertransaksi dengan mata uang digital mereka. Sejak dimulainya Ethereum, sekitar 180 juta alamat unik telah bertransaksi, termasuk akun dari semua jenis dan beberapa akun milik individu atau kelompok individu yang sama. ³Namun, setiap bulan, kami hanya melihat jutaan interaksi on-chain yang dimulai oleh orang sungguhan, dengan aktivitas on-chain harian di mainnet Ethereum sekitar 1 juta transaksi per hari. ⁴ Sebagai perbandingan, Visa memproses 258 miliar transaksi pada tahun 2022, rata-rata 707 juta transaksi per hari, dan saat ini terdapat 4,1 miliar kartu terkait Visa yang beredar secara global. ⁵ Bisakah blockchain menikmati tingkat adopsi yang sebanding jika mereka mendukung pengalaman pembayaran yang sama luasnya dengan kemudahan penggunaan yang sama? Langkah-langkah yang mungkin ke arah ini termasuk menarik biaya gas untuk pengguna atau mengizinkan mereka membayar biaya transaksi dalam token ERC-20.
Gunakan ERC-4337 Paymaster untuk membayar dengan token ERC-20
Gambar 3: Paymaster memfasilitasi pembayaran biaya transaksi menggunakan token ERC-20
Untuk melakukan transaksi di blockchain Ethereum hari ini, pengguna perlu mendapatkan ETH untuk membayar biaya gas; sama halnya, untuk melakukan transaksi di blockchain Polygon, pengguna perlu mendapatkan token asli MATIC. Apakah ada solusi yang menghilangkan kebutuhan untuk mengakumulasi rentang yang berbeda dari token blockchain asli hanya untuk membayar bensin? Situasinya mirip dengan nilai jaringan inti pembayaran lintas batas Visa, di mana pelancong dapat membelanjakan dalam mata uang lokal mereka tanpa memperolehnya terlebih dahulu. Dalam kontrak Paymaster versi ini, kontrak dapat bertindak sebagai perantara layanan konversi mata uang. Layanan ini dapat mengumpulkan mata uang digital dari pengguna dan kemudian mengubahnya menjadi token asli berdasarkan nilai tukar yang berlaku untuk membayar gas atas nama pengguna. Selain itu, hal ini dapat dilakukan dengan pembiayaan instan, artinya pengguna hanya perlu mendanai biaya gas pada saat transaksi tanpa persyaratan pembiayaan di muka, untuk mengoptimalkan pengelolaan arus kas mereka.
Mensponsori biaya transaksi untuk pengguna yang menggunakan ERC-4337 Paymaster
Gambar 4: Paymaster mensponsori biaya transaksi untuk pengguna
Transaksi P2P di Web 2.0 saat ini gratis untuk konsumen di banyak negara, yang menimbulkan pertanyaan langsung: mengapa konsumen harus membayar transaksi P2P di blockchain? Abstraksi Akun memberikan solusi yang memungkinkan pengguna melewati biaya ini jika pihak ketiga (seperti penyedia dompet fintech) bersedia menanggungnya. Dalam hal ini, penyedia dompet atau dApp dapat bertindak sebagai teller, membayar biaya bensin untuk pengguna dan mengurangi friksi secara signifikan. Konsep Paymaster ERC-4337 dapat mendorong adopsi pengguna dengan memungkinkan pengguna bertransaksi melalui platform dompet mereka secara gratis.
Antara lain, akun smart contract dapat menyederhanakan manajemen dompet dan memberikan alternatif untuk verifikasi tanda tangan, memungkinkan autentikasi multi-faktor untuk meningkatkan keamanan dan pemulihan dana di dompet kustodian mandiri. Selain itu, mereka menyederhanakan penggunaan dApps dengan mengizinkan izin sementara untuk tugas tertentu dengan batasan yang dapat disesuaikan, seperti mengizinkan dApps untuk memproses pembayaran penarikan berulang dari akun pengguna, hingga jumlah tertentu. Contoh-contoh ini hanya menggambarkan bagaimana smart contract dapat membantu pengguna non-crypto-native berinteraksi dengan teknologi blockchain dengan lebih mudah sambil menjaga keamanan akun mereka.
Eksperimen kami dengan ERC-4337 Paymaster
Gunakan ERC-4337 Paymaster untuk membayar dengan token ERC-20
Gambar 5: Paymaster memfasilitasi pembayaran biaya transaksi menggunakan token ERC-20 (cuplikan kode)
Dengan kontrak Visa Paymaster pertama kami, kami sedang menjajaki apakah pengguna dapat membayar biaya transaksi dengan token alternatif, seperti stablecoin USD, atau bahkan mata uang digital bank sentral di masa mendatang. Dalam hal ini, Paymaster membayar biaya transaksi ETH dengan menerima token ERC-20 umum yang setara yang dibayarkan oleh pengguna. Untuk implementasinya, kami menggunakan kode awal yang disediakan oleh Ethereum Foundation dan tim inti ERC-4337⁶. Kontrak contoh ini berisi logika manajemen untuk Paymaster dan token ERC-20 kustomnya. Untuk kontrak ini, kami memperkenalkan daftar putih dan fungsi untuk memperbarui tingkat konversi token ke ETH. Ini memungkinkan kami untuk mensimulasikan kondisi kehidupan nyata dengan lebih baik di mana nilai tukar antara ETH dan token bersifat dinamis. Penyiapan pengujian kami melibatkan penerapan dompet kontrak pintar dan mengirimkan tindakan pengguna. Saat ini, opsi dompet yang kompatibel dengan ERC-4337 terbatas, kami memutuskan untuk menggunakan dompet Trampoline yang dibuat oleh Ethereum Foundation dan tim inti ERC-4337. ⁷ Untuk mengirimkan tindakan pengguna kami ke Goerli Testnet, kami menggunakan Bundler publik Blocknative. ⁸ Untuk UserOperation yang sukses, kontrak Visa Paymaster pertama-tama harus memeriksa apakah pengguna memiliki cukup dana di ERC-20 untuk membayar biaya bahan bakar. Setelah konfirmasi, pengguna membayar biaya transaksi dengan token ERC-20 umum ini. Anda dapat menemukan kontrak yang diterapkan, ⁹ dan UserOperation ditangani di sini.
Mensponsori biaya transaksi untuk pengguna yang menggunakan ERC-4337 Paymaster
Gambar 6: Paymaster mensponsori biaya transaksi untuk pengguna (cuplikan kode)
Menurut kasus penggunaan kedua yang kami sebutkan, kontrak Visa Paymaster kami yang lain sepenuhnya mensponsori biaya transaksi. Sekali lagi, implementasi kami didasarkan pada kode awal¹¹ yang disediakan oleh Ethereum Foundation dan tim inti ERC-4337. Kode Asal mensponsori setiap transaksi pro bono. Kami menambahkan daftar putih untuk hanya mengizinkan pengguna resmi untuk berinteraksi dengan kontrak Visa Paymaster. Anda dapat menemukan kontrak yang kami terapkan di sini. ¹² Implementasi pengujian kami berhasil mensponsori biaya transaksi tindakan pengguna untuk pengguna yang masuk daftar putih. Anda dapat melihat UserOperation yang berhasil di sini. ¹³
Kasus penggunaan Paymaster jauh melampaui apa yang telah kami soroti dalam artikel ini. Dengan menghilangkan logika pemrosesan blockchain yang mendasarinya, banyak pengalaman pengguna yang inovatif dimungkinkan. Untuk pengembangan ERC-4337 yang saat ini sedang berlangsung, kami melihat beberapa kemungkinan pendekatan yang dapat dikembangkan berdasarkan eksperimen kami yang dijelaskan di atas. Misalnya, daripada memerlukan token ERC-20 kustom baru yang dibangun ke dalam smart contract Paymaster, akan lebih mudah untuk mengintegrasikan Paymaster dengan token ERC-20 yang sudah ada seperti USDC. Pendekatan ini membutuhkan penggunaan sumber eksternal untuk menentukan harga token dan memeriksa apakah kontrak Paymaster telah menyetujui pengisian pengguna untuk token yang ditentukan. Salah satu pendekatannya adalah menggunakan layanan oracle off-chain yang dapat memberikan informasi yang diperlukan seperti harga token, dan tanda tangan yang dapat diverifikasi oleh kontrak Paymaster.
Alternatifnya, seluruh proses dapat ditangani secara on-chain dengan bantuan kontrak oracle untuk data yang diperlukan. Sementara pendekatan ini memberikan jaminan yang lebih baik bahwa teller diberi kompensasi dengan benar, ini juga lebih menantang untuk diterapkan. Beberapa batasan ERC-4337 mempersulit Paymaster untuk meminta oracle on-chain selama verifikasi Paymaster, dan Bundler akan sering menolak UserOperations yang perlu melakukannya. Untuk mengaktifkan proses ini, perlu untuk membuat mempool alternatif dengan daftar Paymaster tepercaya, yang dapat dipilih oleh Bundler. Paymaster tepercaya ini dapat memanggil kontrak oracle, dan UserOperations yang menggunakan Paymaster ini akan diambil dari kumpulan memori cadangan.
Melihat ke masa depan
Berinteraksi dengan blockchain menggunakan dompet digital bisa menjadi pengalaman yang menantang, dan banyak yang percaya memastikan kemudahan penggunaan adalah langkah penting dalam mendorong adopsi yang lebih luas. ERC-4337 menjabarkan kemungkinan masa depan yang menarik untuk meningkatkan pengalaman pembayaran pengguna on-chain melalui dompet smart contract mandiri, yang pada gilirannya dapat mengubah cara pengguna membelanjakan mata uang digital dan aset digital.
Komunitas Ethereum berada di awal perjalanan baru ini terkait dengan ERC-4337. Ada banyak rencana untuk menyediakan infrastruktur tempat aliran yang digerakkan oleh AA dapat dibangun, beberapa di antaranya kami gunakan dalam pengujian dan disebutkan dalam artikel ini, tetapi masih ada ruang yang cukup besar untuk berkembang. Seperti halnya bidang terbuka lainnya, ada pendekatan dan kompromi yang bersaing, seperti opsi desentralisasi yang ditawarkan oleh Bundler publik versus kemampuan Bundler pribadi yang dapat disesuaikan; keamanan Paymaster yang tidak dapat dipercaya sepenuhnya dalam rantai versus penerapan beberapa komponen dibandingkan dengan efektivitas biaya; dan banyaknya skema tanda tangan alternatif yang mungkin digunakan dompet, antara lain. Pilihan desain yang berbeda ini dapat menghasilkan serangkaian opsi yang kaya untuk memberikan pengalaman pembayaran digital masa depan yang lebih baik kepada pengguna.
Inovasi Pembayaran untuk Semua Orang, Di Mana Saja
Sebagai pemimpin global dalam solusi pembayaran, Visa selalu mencari inovasi yang memenuhi kebutuhan dunia nyata. Kami akan terus menyelidiki potensi kontrak pintar dan kemungkinan masa depan uang yang dapat diprogram dan pembayaran yang dapat diprogram. Dalam makalah ini, kami mempelajari bagaimana AA pada Ethereum yang diimplementasikan oleh ERC-4337 dapat mengaktifkan kasus penggunaan baru yang menarik di blockchain. Kami memberikan panduan transaksi ERC-4337 end-to-end dan menjelaskan perbedaannya dari transaksi Ethereum standar untuk menyoroti mekanisme yang mendasarinya.
Eksperimen kami pada ERC-4337 berfokus pada dua kasus penggunaan yang berbeda dengan menerapkan kontrak Paymaster untuk mempelajari dan mengevaluasi utilitas potensial mereka dalam memecahkan masalah dunia nyata dan secara signifikan meningkatkan pengalaman pelanggan melalui interaksi on-chain. Untuk perusahaan yang bekerja di perbatasan ini, tim produk, penelitian, dan teknik kami akan dengan senang hati mendiskusikan ide untuk pembayaran yang dapat diprogram.
Hubungi Visa Crypto di GDLVisaCryptoResearch@visa.com untuk mempelajari lebih lanjut tentang minat dan aktivitas penelitian kami di ekosistem crypto.
*Dokumen ini hanya untuk tujuan ilustrasi. Ini berisi deskripsi produk dalam pengembangan dan harus dipahami sebagai representasi dari kemampuan potensial dari produk yang dikerahkan sepenuhnya. Versi terakhir dari produk ini mungkin tidak berisi semua fitur yang dijelaskan dalam presentasi ini. Dalam tulisan kami, kami menuntut perbedaan yang jelas antara titik masuk istilah konseptual, paymaster, dan operasi pengguna, dan entitas on-chain yang sesuai EntryPoint, UserOperation, dan Paymaster. Pendekatan ini mengikuti konvensi yang ditetapkan dalam proposal ERC-4337 asli. *
*Terima kasih kepada Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot, dan salah satu pendiri Stackup John Rising untuk ulasannya. *
Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Visa: Memikirkan Kembali Transaksi Kripto Dari Abstraksi Akun
Ditulis oleh: Mustafa Bedawala, Mert Ozbay dan Catherine Gu
Kompilasi: Riset GWEI
Terlepas dari kemajuan yang berkelanjutan, blockchain saat ini sedang berjuang untuk memberikan tingkat fleksibilitas dan pengalaman pengguna yang sama dengan ekosistem pembayaran digital arus utama. Namun, teknologi baru dapat meningkatkan pengalaman pembayaran saat bertransaksi dengan mata uang digital. Dalam Pembayaran Otomatis untuk Dompet yang Dihosting Sendiri, kami menyelidiki penerapan teknologi mutakhir untuk pembayaran otomatis dengan memanfaatkan konsep Abstraksi Akun (AA) pada blockchain publik. ¹Eksplorasi AA kami dan pengalaman pembayaran crypto yang lebih baik berlanjut dengan melihat bagaimana paradigma AA saat ini di Ethereum menawarkan solusi kreatif untuk menangani biaya transaksi: Pengguna dapat menggunakan stablecoin, token ERC-20 lainnya untuk membayar biaya transaksi Ethereum , atau tidak tidak membayar sama sekali? Menemukan solusi inovatif untuk memungkinkan pengalaman onboarding dan perdagangan crypto tanpa gesekan sangat penting sampai mata uang digital mendapatkan adopsi arus utama.
Tinjauan teknis ERC-4337, standar saat ini untuk implementasi AA di Ethereum, bertujuan untuk lebih memahami ERC-4337. Kami membahas penyebaran eksperimental Visa dari dua set kontrak Paymaster untuk menunjukkan bagaimana biaya gas pada blockchain dapat didesain ulang untuk meningkatkan kenyamanan pengguna.
Abstraksi akun dan ERC-4337
Untuk lebih memahami proposisi nilai abstraksi akun, mari kita tinjau secara singkat dua jenis akun yang saat ini ada di Ethereum: Akun Milik Eksternal (EOA) dan Akun Kontrak (CA), masing-masing biasanya disebut sebagai akun pengguna dan kontrak pintar. EOA, dikendalikan oleh kunci pribadi, memungkinkan pengguna mengirim transaksi. Namun, mereka tidak memiliki programabilitas kontrak pintar, membuatnya semakin tidak fleksibel. Sebaliknya, CA memiliki kode yang dapat dieksekusi tetapi tidak dapat memulai transaksi secara independen. Transaksi harus selalu berasal dari akun pengguna dan berisi tanda tangan pengguna, apakah itu transfer token sederhana atau operasi kompleks yang dilakukan melalui banyak kontrak pintar.
Konsep Abstraksi Akun (AA) bertujuan untuk meningkatkan kemampuan pemrograman CA untuk kepentingan pengguna akhir. Saat menulis smart contract, merupakan praktik umum untuk menentukan pemilik untuk mengontrol perilaku kontrak. Dompet yang dihosting sendiri yang dibangun sebagai kontrak pintar dapat memberi pengguna lebih banyak fungsi daripada dompet berbasis EOA. Ini dicapai melalui pengenalan standar ethereum baru yang disebut ERC-4337, yang diusulkan oleh anggota komunitas ethereum, termasuk pendiri ethereum Vitalik Buterin. ² ERC-4337 memungkinkan pemilik untuk secara langsung memiliki akun smart contract tanpa tanda tangan EOA. Meskipun pemilik mungkin tidak menandatangani EOA dalam pengertian tradisional, kepemilikan mereka atas smart contract masih memerlukan proses otentikasi yang aman untuk memastikan mereka mengontrol dan mengelola akun smart contract dengan benar. Pada gilirannya, akun kontrak pintar ini dapat menangani tugas-tugas seperti otentikasi multi-faktor, pembayaran berulang, dan aturan serta kebijakan khusus yang ditentukan oleh pengguna akhir.
ERC-4337 adalah pengembangan terbaru dari AA, awalnya diusulkan pada tahun 2021 sebagai Ethereum Improvement Proposal (EIP)-4337. Itu melalui proses Ethereum Request for Comments (ERC), yang menetapkan standar untuk aplikasi di jaringan Ethereum. Perbedaan antara EIP dan ERC adalah ruang lingkup dan persyaratan penerapannya. ERC mendefinisikan bagaimana smart contract harus dijalankan dan berinteraksi satu sama lain di tingkat aplikasi. Mereka tidak memerlukan adopsi oleh semua peserta seperti EIP inti (Proposal Peningkatan Ethereum), yang diterapkan pada tingkat protokol dan memerlukan konsensus yang lebih luas dalam komunitas. Transisi dari EIP-4337 ke ERC-4337 menandakan bahwa proposal tersebut telah memenuhi standar yang disyaratkan untuk aplikasi Ethereum dan sekarang secara resmi menjadi bagian dari ekosistem Ethereum. Mulai Maret 2023, komponen inti ERC-4337 telah digunakan di mainnet Ethereum. Tidak seperti EIP abstraksi akun sebelumnya, ERC-4337 tidak memerlukan modifikasi pada lapisan konsensus protokol blockchain untuk mengaktifkan abstraksi akun di jaringan Ethereum. ² Perkembangan ini memungkinkan peserta jaringan blockchain untuk segera mengeksplorasi dan bereksperimen dengan pengalaman pengguna baru tanpa menunggu peningkatan jaringan besar. Perlu dicatat bahwa salah satu keunggulan ERC-4337 adalah kompatibel dengan blockchain apa pun yang menggunakan mesin virtual Ethereum, memberikan AA standar di luar Ethereum itu sendiri.
Lintasi transaksi ERC-4337
Dalam transaksi EOA tipikal, pengguna berinteraksi dengan dompet yang dihosting sendiri untuk membuat, menandatangani, dan mengirimkan transaksi ke mempool publik. Muatan transaksi yang dihasilkan dan ditandatangani dengan kunci pribadi pengguna kemudian disebarkan melalui node ke mempool peer-to-peer (P2P). Validator atau entitas khusus (disebut pembangun) memilih transaksi yang sesuai dan menguntungkan dari mempool publik untuk dieksekusi dan menggabungkannya ke dalam blockchain.
Gambar 1: Proses transaksi Ethereum pada umumnya
ERC-4337 memperkenalkan proses transaksi alternatif ke metode EOA tradisional dengan menambahkan langkah baru sebelum transaksi mencapai alamat proxy EOA. Pengguna mengirim maksud mereka sebagai UserOperations, yang kemudian disebarkan melalui mempool UserOperations khusus. Mempool unik ini dipantau oleh bundler, yang bertindak sebagai proxy EOA, mengirimkan UserOperations ke mempool publik dalam bentuk transaksi EOA tipikal yang dapat ditangani oleh jaringan. Transaksi ini kemudian mengikuti alur yang sama seperti transaksi biasa, baik bergabung dengan mempool publik atau langsung ke tukang.
Kami memperkenalkan proses end-to-end transaksi ERC-4337 selangkah demi selangkah, dari pembuatan UserOperation hingga eksekusi. Sebelum mendalami, sangat penting untuk mendefinisikan konsep teller, yang memainkan peran penting dalam proses ini dan merupakan inti dari eksplorasi kita sendiri. Paymaster adalah akun kontrak pintar opsional yang dapat mensponsori biaya transaksi untuk akun kontrak (kontrak pintar yang berpusat pada pengguna). Paymaster mengevaluasi apakah UserOperation diterima selama fase validasi dan mengimplementasikan logika biaya yang diperlukan selama fase eksekusi. Dengan melakukan ini, mereka dapat mensponsori biaya transaksi untuk pengguna dan memungkinkan pengguna membayar bensin menggunakan token ERC-20 seperti stablecoin USD.
Gambar 2: Proses transaksi ERC-4337
Pengguna membuat UserOperations melalui dompet smart contract yang sesuai dengan standar ERC-4337. UserOperations merangkum niat pengguna untuk berinteraksi dengan blockchain, yang ditandatangani pengguna untuk otentikasi. Setelah dihasilkan, UserOperations berkomitmen untuk Mempool UserOperation khusus, penyimpanan yang didedikasikan untuk UserOperations terpisah dari mempool transaksi Ethereum standar.
Bundler adalah kelas aktor khusus yang memantau UserOperation Mempool, menjalankan simulasi, dan menyusun serangkaian UserOperations ke dalam bundel transaksi tunggal. Bundler bertanggung jawab untuk mengumpulkan UserOperations dan mengirimkannya ke kontrak EntryPoint, mengoptimalkan penggunaan gas, dan memaksimalkan keuntungan dengan memanfaatkan logika biaya pertama.
Kontrak EntryPoint menerima paket UserOperations. Ini bertindak sebagai koordinator pusat untuk mengelola UserOperations dalam alur transaksi ERC-4337.
Jika UserOperation ditentukan, kontrak EntryPoint akan berinteraksi dengan kontrak Paymaster. Seperti disebutkan sebelumnya, Paymasters dapat mensponsori biaya transaksi akun kontrak. EntryPoint memverifikasi bahwa pembayar memiliki simpanan yang cukup, atau akun kontrak memiliki dana yang cukup untuk membayar gas. Selama eksekusi, jika Paymaster terlibat, itu dapat menerapkan logika biaya khusus, yang akan kami tunjukkan di bagian selanjutnya.
Kontrak EntryPoint kemudian memanggil akun kontrak dan, jika perlu, teller untuk memverifikasi tanda tangan di UserOperation. Akun kontrak adalah akun pengguna yang berinteraksi mulus dengan kontrak EntryPoint untuk memfasilitasi pelaksanaan transaksi. Setelah verifikasi berhasil, EntryPoint mentransfer data yang relevan dari setiap UserOperation ke Akun Kontrak dan memulai proses eksekusi.
Abstraksi akun dan aplikasi praktis
Karena teknologi blockchain terus mengeksplorasi aplikasi dunia nyata, dompet kustodian mandiri menjadi pilihan populer bagi pengguna untuk menyimpan dan bertransaksi dengan mata uang digital mereka. Sejak dimulainya Ethereum, sekitar 180 juta alamat unik telah bertransaksi, termasuk akun dari semua jenis dan beberapa akun milik individu atau kelompok individu yang sama. ³Namun, setiap bulan, kami hanya melihat jutaan interaksi on-chain yang dimulai oleh orang sungguhan, dengan aktivitas on-chain harian di mainnet Ethereum sekitar 1 juta transaksi per hari. ⁴ Sebagai perbandingan, Visa memproses 258 miliar transaksi pada tahun 2022, rata-rata 707 juta transaksi per hari, dan saat ini terdapat 4,1 miliar kartu terkait Visa yang beredar secara global. ⁵ Bisakah blockchain menikmati tingkat adopsi yang sebanding jika mereka mendukung pengalaman pembayaran yang sama luasnya dengan kemudahan penggunaan yang sama? Langkah-langkah yang mungkin ke arah ini termasuk menarik biaya gas untuk pengguna atau mengizinkan mereka membayar biaya transaksi dalam token ERC-20.
Gunakan ERC-4337 Paymaster untuk membayar dengan token ERC-20
Gambar 3: Paymaster memfasilitasi pembayaran biaya transaksi menggunakan token ERC-20
Untuk melakukan transaksi di blockchain Ethereum hari ini, pengguna perlu mendapatkan ETH untuk membayar biaya gas; sama halnya, untuk melakukan transaksi di blockchain Polygon, pengguna perlu mendapatkan token asli MATIC. Apakah ada solusi yang menghilangkan kebutuhan untuk mengakumulasi rentang yang berbeda dari token blockchain asli hanya untuk membayar bensin? Situasinya mirip dengan nilai jaringan inti pembayaran lintas batas Visa, di mana pelancong dapat membelanjakan dalam mata uang lokal mereka tanpa memperolehnya terlebih dahulu. Dalam kontrak Paymaster versi ini, kontrak dapat bertindak sebagai perantara layanan konversi mata uang. Layanan ini dapat mengumpulkan mata uang digital dari pengguna dan kemudian mengubahnya menjadi token asli berdasarkan nilai tukar yang berlaku untuk membayar gas atas nama pengguna. Selain itu, hal ini dapat dilakukan dengan pembiayaan instan, artinya pengguna hanya perlu mendanai biaya gas pada saat transaksi tanpa persyaratan pembiayaan di muka, untuk mengoptimalkan pengelolaan arus kas mereka.
Mensponsori biaya transaksi untuk pengguna yang menggunakan ERC-4337 Paymaster
Gambar 4: Paymaster mensponsori biaya transaksi untuk pengguna
Transaksi P2P di Web 2.0 saat ini gratis untuk konsumen di banyak negara, yang menimbulkan pertanyaan langsung: mengapa konsumen harus membayar transaksi P2P di blockchain? Abstraksi Akun memberikan solusi yang memungkinkan pengguna melewati biaya ini jika pihak ketiga (seperti penyedia dompet fintech) bersedia menanggungnya. Dalam hal ini, penyedia dompet atau dApp dapat bertindak sebagai teller, membayar biaya bensin untuk pengguna dan mengurangi friksi secara signifikan. Konsep Paymaster ERC-4337 dapat mendorong adopsi pengguna dengan memungkinkan pengguna bertransaksi melalui platform dompet mereka secara gratis.
Antara lain, akun smart contract dapat menyederhanakan manajemen dompet dan memberikan alternatif untuk verifikasi tanda tangan, memungkinkan autentikasi multi-faktor untuk meningkatkan keamanan dan pemulihan dana di dompet kustodian mandiri. Selain itu, mereka menyederhanakan penggunaan dApps dengan mengizinkan izin sementara untuk tugas tertentu dengan batasan yang dapat disesuaikan, seperti mengizinkan dApps untuk memproses pembayaran penarikan berulang dari akun pengguna, hingga jumlah tertentu. Contoh-contoh ini hanya menggambarkan bagaimana smart contract dapat membantu pengguna non-crypto-native berinteraksi dengan teknologi blockchain dengan lebih mudah sambil menjaga keamanan akun mereka.
Eksperimen kami dengan ERC-4337 Paymaster
Gunakan ERC-4337 Paymaster untuk membayar dengan token ERC-20
Gambar 5: Paymaster memfasilitasi pembayaran biaya transaksi menggunakan token ERC-20 (cuplikan kode)
Dengan kontrak Visa Paymaster pertama kami, kami sedang menjajaki apakah pengguna dapat membayar biaya transaksi dengan token alternatif, seperti stablecoin USD, atau bahkan mata uang digital bank sentral di masa mendatang. Dalam hal ini, Paymaster membayar biaya transaksi ETH dengan menerima token ERC-20 umum yang setara yang dibayarkan oleh pengguna. Untuk implementasinya, kami menggunakan kode awal yang disediakan oleh Ethereum Foundation dan tim inti ERC-4337⁶. Kontrak contoh ini berisi logika manajemen untuk Paymaster dan token ERC-20 kustomnya. Untuk kontrak ini, kami memperkenalkan daftar putih dan fungsi untuk memperbarui tingkat konversi token ke ETH. Ini memungkinkan kami untuk mensimulasikan kondisi kehidupan nyata dengan lebih baik di mana nilai tukar antara ETH dan token bersifat dinamis. Penyiapan pengujian kami melibatkan penerapan dompet kontrak pintar dan mengirimkan tindakan pengguna. Saat ini, opsi dompet yang kompatibel dengan ERC-4337 terbatas, kami memutuskan untuk menggunakan dompet Trampoline yang dibuat oleh Ethereum Foundation dan tim inti ERC-4337. ⁷ Untuk mengirimkan tindakan pengguna kami ke Goerli Testnet, kami menggunakan Bundler publik Blocknative. ⁸ Untuk UserOperation yang sukses, kontrak Visa Paymaster pertama-tama harus memeriksa apakah pengguna memiliki cukup dana di ERC-20 untuk membayar biaya bahan bakar. Setelah konfirmasi, pengguna membayar biaya transaksi dengan token ERC-20 umum ini. Anda dapat menemukan kontrak yang diterapkan, ⁹ dan UserOperation ditangani di sini.
Mensponsori biaya transaksi untuk pengguna yang menggunakan ERC-4337 Paymaster
Gambar 6: Paymaster mensponsori biaya transaksi untuk pengguna (cuplikan kode)
Menurut kasus penggunaan kedua yang kami sebutkan, kontrak Visa Paymaster kami yang lain sepenuhnya mensponsori biaya transaksi. Sekali lagi, implementasi kami didasarkan pada kode awal¹¹ yang disediakan oleh Ethereum Foundation dan tim inti ERC-4337. Kode Asal mensponsori setiap transaksi pro bono. Kami menambahkan daftar putih untuk hanya mengizinkan pengguna resmi untuk berinteraksi dengan kontrak Visa Paymaster. Anda dapat menemukan kontrak yang kami terapkan di sini. ¹² Implementasi pengujian kami berhasil mensponsori biaya transaksi tindakan pengguna untuk pengguna yang masuk daftar putih. Anda dapat melihat UserOperation yang berhasil di sini. ¹³
Kasus penggunaan Paymaster jauh melampaui apa yang telah kami soroti dalam artikel ini. Dengan menghilangkan logika pemrosesan blockchain yang mendasarinya, banyak pengalaman pengguna yang inovatif dimungkinkan. Untuk pengembangan ERC-4337 yang saat ini sedang berlangsung, kami melihat beberapa kemungkinan pendekatan yang dapat dikembangkan berdasarkan eksperimen kami yang dijelaskan di atas. Misalnya, daripada memerlukan token ERC-20 kustom baru yang dibangun ke dalam smart contract Paymaster, akan lebih mudah untuk mengintegrasikan Paymaster dengan token ERC-20 yang sudah ada seperti USDC. Pendekatan ini membutuhkan penggunaan sumber eksternal untuk menentukan harga token dan memeriksa apakah kontrak Paymaster telah menyetujui pengisian pengguna untuk token yang ditentukan. Salah satu pendekatannya adalah menggunakan layanan oracle off-chain yang dapat memberikan informasi yang diperlukan seperti harga token, dan tanda tangan yang dapat diverifikasi oleh kontrak Paymaster.
Alternatifnya, seluruh proses dapat ditangani secara on-chain dengan bantuan kontrak oracle untuk data yang diperlukan. Sementara pendekatan ini memberikan jaminan yang lebih baik bahwa teller diberi kompensasi dengan benar, ini juga lebih menantang untuk diterapkan. Beberapa batasan ERC-4337 mempersulit Paymaster untuk meminta oracle on-chain selama verifikasi Paymaster, dan Bundler akan sering menolak UserOperations yang perlu melakukannya. Untuk mengaktifkan proses ini, perlu untuk membuat mempool alternatif dengan daftar Paymaster tepercaya, yang dapat dipilih oleh Bundler. Paymaster tepercaya ini dapat memanggil kontrak oracle, dan UserOperations yang menggunakan Paymaster ini akan diambil dari kumpulan memori cadangan.
Melihat ke masa depan
Berinteraksi dengan blockchain menggunakan dompet digital bisa menjadi pengalaman yang menantang, dan banyak yang percaya memastikan kemudahan penggunaan adalah langkah penting dalam mendorong adopsi yang lebih luas. ERC-4337 menjabarkan kemungkinan masa depan yang menarik untuk meningkatkan pengalaman pembayaran pengguna on-chain melalui dompet smart contract mandiri, yang pada gilirannya dapat mengubah cara pengguna membelanjakan mata uang digital dan aset digital.
Komunitas Ethereum berada di awal perjalanan baru ini terkait dengan ERC-4337. Ada banyak rencana untuk menyediakan infrastruktur tempat aliran yang digerakkan oleh AA dapat dibangun, beberapa di antaranya kami gunakan dalam pengujian dan disebutkan dalam artikel ini, tetapi masih ada ruang yang cukup besar untuk berkembang. Seperti halnya bidang terbuka lainnya, ada pendekatan dan kompromi yang bersaing, seperti opsi desentralisasi yang ditawarkan oleh Bundler publik versus kemampuan Bundler pribadi yang dapat disesuaikan; keamanan Paymaster yang tidak dapat dipercaya sepenuhnya dalam rantai versus penerapan beberapa komponen dibandingkan dengan efektivitas biaya; dan banyaknya skema tanda tangan alternatif yang mungkin digunakan dompet, antara lain. Pilihan desain yang berbeda ini dapat menghasilkan serangkaian opsi yang kaya untuk memberikan pengalaman pembayaran digital masa depan yang lebih baik kepada pengguna.
Inovasi Pembayaran untuk Semua Orang, Di Mana Saja
Sebagai pemimpin global dalam solusi pembayaran, Visa selalu mencari inovasi yang memenuhi kebutuhan dunia nyata. Kami akan terus menyelidiki potensi kontrak pintar dan kemungkinan masa depan uang yang dapat diprogram dan pembayaran yang dapat diprogram. Dalam makalah ini, kami mempelajari bagaimana AA pada Ethereum yang diimplementasikan oleh ERC-4337 dapat mengaktifkan kasus penggunaan baru yang menarik di blockchain. Kami memberikan panduan transaksi ERC-4337 end-to-end dan menjelaskan perbedaannya dari transaksi Ethereum standar untuk menyoroti mekanisme yang mendasarinya.
Eksperimen kami pada ERC-4337 berfokus pada dua kasus penggunaan yang berbeda dengan menerapkan kontrak Paymaster untuk mempelajari dan mengevaluasi utilitas potensial mereka dalam memecahkan masalah dunia nyata dan secara signifikan meningkatkan pengalaman pelanggan melalui interaksi on-chain. Untuk perusahaan yang bekerja di perbatasan ini, tim produk, penelitian, dan teknik kami akan dengan senang hati mendiskusikan ide untuk pembayaran yang dapat diprogram.
Hubungi Visa Crypto di GDLVisaCryptoResearch@visa.com untuk mempelajari lebih lanjut tentang minat dan aktivitas penelitian kami di ekosistem crypto.
*Dokumen ini hanya untuk tujuan ilustrasi. Ini berisi deskripsi produk dalam pengembangan dan harus dipahami sebagai representasi dari kemampuan potensial dari produk yang dikerahkan sepenuhnya. Versi terakhir dari produk ini mungkin tidak berisi semua fitur yang dijelaskan dalam presentasi ini. Dalam tulisan kami, kami menuntut perbedaan yang jelas antara titik masuk istilah konseptual, paymaster, dan operasi pengguna, dan entitas on-chain yang sesuai EntryPoint, UserOperation, dan Paymaster. Pendekatan ini mengikuti konvensi yang ditetapkan dalam proposal ERC-4337 asli. *
*Terima kasih kepada Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot, dan salah satu pendiri Stackup John Rising untuk ulasannya. *