Baru-baru ini Vitalik Buterin mengusulkan EIP-7702, yang bisa menjadi salah satu perubahan paling berdampak dalam sejarah Ethereum. Artikel ini akan memperkenalkan cara kerja proposal baru ini dan segala sesuatu yang diperlukan untuk memahami implementasinya.
Pertama-tama, proposal EIP-7702 ini singkatnya mengejutkan, yang membuat beberapa orang bingung tentang operasinya. Untuk memahami EIP-7702, kita perlu melihat tiga proposal lain yang disebutkan di dalamnya:
EIP-4337
EIP-3074
EIP-5003
Mari kita mulai dengan tujuan umum dari proposal-proposal ini: "abstraksi akun." Di Ethereum, EOAs (akun "biasa") memiliki kekurangan yang signifikan - mereka sangat berisiko dan memiliki fungsionalitas yang sangat terbatas. Abstraksi akun memungkinkan pengguna untuk menggunakan kontrak pintar sebagai akun, menambahkan lebih banyak fungsionalitas dan keamanan untuk mengatasi masalah-masalah ini.
EIP-4337 diluncurkan di mainnet pada Maret 2023. Ini memungkinkan kontrak pintar ditulis seperti akun sehingga mereka dapat memverifikasi dan mengeksekusi transaksi, meningkatkan banyak pengalaman pengguna (UX).
Sejak dirilis, EIP-4337 telah melihat adopsi yang luas, terutama dipimpin oleh Polygon, dengan peningkatan aktivitas dari Base dalam beberapa bulan terakhir.
Inovasi terbaru terkait dengan EIP-4337 berasal dari ekosistem Coinbase dan Coinbase Smart Wallet. Dompet ini didasarkan pada teknologi biometrik, memberikan pengalaman pengguna yang luar biasa. Akhir pekan lalu, saya membuat demo kecil lainnya di ETH Global Sydney untuk memperlihatkan ini.
Jadi, masalah apa yang dimiliki EIP-4337? Mengapa ada proposal abstraksi akun lain hari ini? Karena EOAs masih menjadi jenis akun yang paling banyak digunakan jauh.
Selain itu, sebagian besar akun kontrak pintar EIP-4337 dikendalikan oleh satu penandatangan EOA tunggal. Berikut adalah potongan kode contoh:
Karena tidak mungkin untuk "mengkonversi" EOA pengguna menjadi akun kontrak pintar, solusi sementara yang aneh ini ada. Hal ini terutama disebabkan oleh kurangnya dukungan asli dalam aplikasi Web3 untuk menghubungkan akun kontrak pintar. Saat ini, sebagian besar orang masih menggunakan EOA melalui dompet plugin seperti MetaMask.
Ini membawa kita ke proposal berikutnya: EIP-3074.
Sejatinya, proposal ini telah diperkenalkan sebelum EIP-4337, namun belum disatukan ke dalam mainnet. EIP-3074 berusaha memberdayakan EOAs dengan memungkinkan mereka untuk mendelagasikan kontrol EOAs mereka ke kontrak pintar.
Proposal ini menguraikan penambahan dua opcode baru:
Ini mencapai banyak kasus penggunaan yang sama seperti EIP-4337 tanpa memerlukan setiap pengguna untuk mendeploy kontrak pintar baru. Perbedaan kunci adalah bahwa transaksi berasal dari EOA pengguna, bukan dari kontrak baru yang tidak memiliki riwayat akun pengguna, ETH, NFT, token, dll.
Reaksi umum terhadap EIP-3074 adalah, 'Bagaimana jika seseorang membuat kontrak jahat dan pengguna mendelagasikan padanya?' Pada akhirnya, mendelagasikan ke kontrak jahat dapat mengakibatkan seluruh aset kripto di dompet pengguna habis.
Solusi untuk masalah ini adalah bagi penyedia layanan dompet untuk membatasi pengguna dari memberikan otorisasi kepada kontrak secara sembarangan. Mereka mungkin menjaga daftar putih dari kontrak pintar yang dapat diwakilkan oleh pengguna, memastikan bahwa kontrak di luar daftar ini tidak ditampilkan kepada pengguna untuk otorisasi.
Titik penting tentang delegasi dalam EIP-3074 adalah bahwa itu tidak permanen. "Delegasi dari EOA dinonaktifkan oleh satu transaksi, yang meningkatkan nonce, membuat semua otorisasi yang tertunda menjadi tidak valid."
Pada intinya, setelah seorang pengguna melakukan transaksi baru, delegasi tersebut tidak akan lagi valid.
Kami memang tidak ingin memberikan kekuatan lebih kepada EOAs. Pada dasarnya, tujuan dari proposal-proposal ini adalah untuk memindahkan pengguna dari EOAs ke akun kontrak pintar. Jadi, mengapa menambahkan fungsionalitas ke EOAs?
Hal ini dengan baik membawa kami ke proposal berikutnya kami: EIP-5003. EIP-5003 memperkenalkan opcode lain, âAUTHUSURP,â yang mendeploy kode ke alamat otorisasi EIP-3074.
Perbedaan antara EIP-3074 dan EIP-5003 adalah bahwa:
EIP-3074 adalah delegasi sementara ke kontrak pintar, dapat dicabut.
EIP-5003 adalah migrasi permanen dari EOAs dan âkonversiâ dari EOAs ke akun kontrak pintar.
Masalah utama dengan EIP-3074 + EIP-5003 adalah ketidakcocokannya dengan skema abstraksi akun saat ini melalui EIP-4337. Sebagian dari komunitas Ethereum khawatir bahwa kita mungkin akan âmenciptakan dua ekosistem kode yang terpisahâ dengan dua jenis abstraksi akun ini.
Ini membawa kita pada proposal Vitalik Buterin hari ini: EIP-7702. Dia mengusulkan untuk memodifikasi EIP-3074 agar lebih ringkas dan kompatibel dengan EIP-4337, sehingga kita tidak berakhir dengan dua ekosistem abstraksi rekening yang terpisah. EIP-5003 kemudian dianggap sebagai langkah berikutnya untuk migrasi permanen.
EIP-7702 memperkenalkan tipe transaksi baru yang menerima kedua bidang contract_code dan tanda tangan. Saat eksekusi transaksi, itu mengatur kode kontrak dari akun penandatangan ke contract_code. Pada akhir transaksi, itu mengatur ulang kode menjadi kosong.
Mirip dengan EIP-3074, ini mencapai delegasi sementara EOAs ke kontrak pintar. Namun, EIP-7702 tidak memperkenalkan opcode baru (yang akan memerlukan hard fork) tetapi lebih mendefinisikan fungsi yang harus dipanggil:
AUTH -> memanggil "verifikasi"
AUTHCALL -> memanggil "execute"
Secara khusus, itu:
Memeriksa apakah kode kontrak akun Anda kosong.
Jika kosong, atur ke kode kontrak yang disediakan.
Menjalankan transaksi sesuai dengan cara kontrak pintar yang disediakan menangani transaksi.
Memulihkan kode kontrak akun menjadi kosong.
"Kode kontrak" adalah harfiah; itulah tempat di mana kode kontrak pintar disimpan. Karena EOA itu sendiri bukanlah kontrak, bidang ini biasanya kosong. Namun, kecemerlangan EIP-7702 adalah bahwa itu sementara mengisi bidang ini dengan beberapa kode kontrak pintar selama eksekusi transaksi.
Ini adalah cara untuk memberikan perilaku baru (dalam bentuk kode) agar EOA Anda dapat mengeksekusi transaksi tertentu ini. Langkah berikutnya adalah membuatnya menjadi perubahan perilaku permanen dengan hanya memilih 'tidak mengatur kode menjadi kosong setelah transaksi selesai'.
Salah satu aspek terbaik dari proposal ini adalah kompatibilitas tinggi dengan semua pekerjaan abstraksi akun yang telah dilakukan sejauh ini untuk EIP-4337. âKode kontrak yang harus ditandatangani pengguna sebenarnya dapat menjadi kode dompet EIP-4337 yang sudah ada.â
Setelah perubahan ini mulai berlaku, EOAs yang ada dapat mengeksekusi kode kontrak pintar apa pun. Melalui EIP tambahan, EOAs juga dapat ditingkatkan secara permanen untuk menjalankan kode tertentu.
Jangka waktu, hal ini pada akhirnya bisa mengubah bagaimana kita semua berinteraksi dengan aplikasi Web3.
Artikel ini direproduksi dari [panews] , judul asli âMenjelajahi proposal EIP-7702: Resep akhir Vitalik untuk masalah abstraksi akun?â, hak cipta milik penulis asli [Foresight News], jika Anda memiliki keberatan terhadap penayangan ulang, silakan hubungiTim Pembelajaran GateTim akan menanganinya sesegera mungkin sesuai dengan prosedur yang relevan.
Penafian: Pandangan dan opini yang terdapat dalam artikel ini hanya mewakili pandangan pribadi penulis dan tidak merupakan nasihat investasi apa pun.
Versi bahasa lain dari artikel diterjemahkan oleh tim Gate Learn, tidak disebutkan dalam Gate.io, artikel yang diterjemahkan tidak boleh direproduksi, didistribusikan, atau diplagiatkan.
Baru-baru ini Vitalik Buterin mengusulkan EIP-7702, yang bisa menjadi salah satu perubahan paling berdampak dalam sejarah Ethereum. Artikel ini akan memperkenalkan cara kerja proposal baru ini dan segala sesuatu yang diperlukan untuk memahami implementasinya.
Pertama-tama, proposal EIP-7702 ini singkatnya mengejutkan, yang membuat beberapa orang bingung tentang operasinya. Untuk memahami EIP-7702, kita perlu melihat tiga proposal lain yang disebutkan di dalamnya:
EIP-4337
EIP-3074
EIP-5003
Mari kita mulai dengan tujuan umum dari proposal-proposal ini: "abstraksi akun." Di Ethereum, EOAs (akun "biasa") memiliki kekurangan yang signifikan - mereka sangat berisiko dan memiliki fungsionalitas yang sangat terbatas. Abstraksi akun memungkinkan pengguna untuk menggunakan kontrak pintar sebagai akun, menambahkan lebih banyak fungsionalitas dan keamanan untuk mengatasi masalah-masalah ini.
EIP-4337 diluncurkan di mainnet pada Maret 2023. Ini memungkinkan kontrak pintar ditulis seperti akun sehingga mereka dapat memverifikasi dan mengeksekusi transaksi, meningkatkan banyak pengalaman pengguna (UX).
Sejak dirilis, EIP-4337 telah melihat adopsi yang luas, terutama dipimpin oleh Polygon, dengan peningkatan aktivitas dari Base dalam beberapa bulan terakhir.
Inovasi terbaru terkait dengan EIP-4337 berasal dari ekosistem Coinbase dan Coinbase Smart Wallet. Dompet ini didasarkan pada teknologi biometrik, memberikan pengalaman pengguna yang luar biasa. Akhir pekan lalu, saya membuat demo kecil lainnya di ETH Global Sydney untuk memperlihatkan ini.
Jadi, masalah apa yang dimiliki EIP-4337? Mengapa ada proposal abstraksi akun lain hari ini? Karena EOAs masih menjadi jenis akun yang paling banyak digunakan jauh.
Selain itu, sebagian besar akun kontrak pintar EIP-4337 dikendalikan oleh satu penandatangan EOA tunggal. Berikut adalah potongan kode contoh:
Karena tidak mungkin untuk "mengkonversi" EOA pengguna menjadi akun kontrak pintar, solusi sementara yang aneh ini ada. Hal ini terutama disebabkan oleh kurangnya dukungan asli dalam aplikasi Web3 untuk menghubungkan akun kontrak pintar. Saat ini, sebagian besar orang masih menggunakan EOA melalui dompet plugin seperti MetaMask.
Ini membawa kita ke proposal berikutnya: EIP-3074.
Sejatinya, proposal ini telah diperkenalkan sebelum EIP-4337, namun belum disatukan ke dalam mainnet. EIP-3074 berusaha memberdayakan EOAs dengan memungkinkan mereka untuk mendelagasikan kontrol EOAs mereka ke kontrak pintar.
Proposal ini menguraikan penambahan dua opcode baru:
Ini mencapai banyak kasus penggunaan yang sama seperti EIP-4337 tanpa memerlukan setiap pengguna untuk mendeploy kontrak pintar baru. Perbedaan kunci adalah bahwa transaksi berasal dari EOA pengguna, bukan dari kontrak baru yang tidak memiliki riwayat akun pengguna, ETH, NFT, token, dll.
Reaksi umum terhadap EIP-3074 adalah, 'Bagaimana jika seseorang membuat kontrak jahat dan pengguna mendelagasikan padanya?' Pada akhirnya, mendelagasikan ke kontrak jahat dapat mengakibatkan seluruh aset kripto di dompet pengguna habis.
Solusi untuk masalah ini adalah bagi penyedia layanan dompet untuk membatasi pengguna dari memberikan otorisasi kepada kontrak secara sembarangan. Mereka mungkin menjaga daftar putih dari kontrak pintar yang dapat diwakilkan oleh pengguna, memastikan bahwa kontrak di luar daftar ini tidak ditampilkan kepada pengguna untuk otorisasi.
Titik penting tentang delegasi dalam EIP-3074 adalah bahwa itu tidak permanen. "Delegasi dari EOA dinonaktifkan oleh satu transaksi, yang meningkatkan nonce, membuat semua otorisasi yang tertunda menjadi tidak valid."
Pada intinya, setelah seorang pengguna melakukan transaksi baru, delegasi tersebut tidak akan lagi valid.
Kami memang tidak ingin memberikan kekuatan lebih kepada EOAs. Pada dasarnya, tujuan dari proposal-proposal ini adalah untuk memindahkan pengguna dari EOAs ke akun kontrak pintar. Jadi, mengapa menambahkan fungsionalitas ke EOAs?
Hal ini dengan baik membawa kami ke proposal berikutnya kami: EIP-5003. EIP-5003 memperkenalkan opcode lain, âAUTHUSURP,â yang mendeploy kode ke alamat otorisasi EIP-3074.
Perbedaan antara EIP-3074 dan EIP-5003 adalah bahwa:
EIP-3074 adalah delegasi sementara ke kontrak pintar, dapat dicabut.
EIP-5003 adalah migrasi permanen dari EOAs dan âkonversiâ dari EOAs ke akun kontrak pintar.
Masalah utama dengan EIP-3074 + EIP-5003 adalah ketidakcocokannya dengan skema abstraksi akun saat ini melalui EIP-4337. Sebagian dari komunitas Ethereum khawatir bahwa kita mungkin akan âmenciptakan dua ekosistem kode yang terpisahâ dengan dua jenis abstraksi akun ini.
Ini membawa kita pada proposal Vitalik Buterin hari ini: EIP-7702. Dia mengusulkan untuk memodifikasi EIP-3074 agar lebih ringkas dan kompatibel dengan EIP-4337, sehingga kita tidak berakhir dengan dua ekosistem abstraksi rekening yang terpisah. EIP-5003 kemudian dianggap sebagai langkah berikutnya untuk migrasi permanen.
EIP-7702 memperkenalkan tipe transaksi baru yang menerima kedua bidang contract_code dan tanda tangan. Saat eksekusi transaksi, itu mengatur kode kontrak dari akun penandatangan ke contract_code. Pada akhir transaksi, itu mengatur ulang kode menjadi kosong.
Mirip dengan EIP-3074, ini mencapai delegasi sementara EOAs ke kontrak pintar. Namun, EIP-7702 tidak memperkenalkan opcode baru (yang akan memerlukan hard fork) tetapi lebih mendefinisikan fungsi yang harus dipanggil:
AUTH -> memanggil "verifikasi"
AUTHCALL -> memanggil "execute"
Secara khusus, itu:
Memeriksa apakah kode kontrak akun Anda kosong.
Jika kosong, atur ke kode kontrak yang disediakan.
Menjalankan transaksi sesuai dengan cara kontrak pintar yang disediakan menangani transaksi.
Memulihkan kode kontrak akun menjadi kosong.
"Kode kontrak" adalah harfiah; itulah tempat di mana kode kontrak pintar disimpan. Karena EOA itu sendiri bukanlah kontrak, bidang ini biasanya kosong. Namun, kecemerlangan EIP-7702 adalah bahwa itu sementara mengisi bidang ini dengan beberapa kode kontrak pintar selama eksekusi transaksi.
Ini adalah cara untuk memberikan perilaku baru (dalam bentuk kode) agar EOA Anda dapat mengeksekusi transaksi tertentu ini. Langkah berikutnya adalah membuatnya menjadi perubahan perilaku permanen dengan hanya memilih 'tidak mengatur kode menjadi kosong setelah transaksi selesai'.
Salah satu aspek terbaik dari proposal ini adalah kompatibilitas tinggi dengan semua pekerjaan abstraksi akun yang telah dilakukan sejauh ini untuk EIP-4337. âKode kontrak yang harus ditandatangani pengguna sebenarnya dapat menjadi kode dompet EIP-4337 yang sudah ada.â
Setelah perubahan ini mulai berlaku, EOAs yang ada dapat mengeksekusi kode kontrak pintar apa pun. Melalui EIP tambahan, EOAs juga dapat ditingkatkan secara permanen untuk menjalankan kode tertentu.
Jangka waktu, hal ini pada akhirnya bisa mengubah bagaimana kita semua berinteraksi dengan aplikasi Web3.
Artikel ini direproduksi dari [panews] , judul asli âMenjelajahi proposal EIP-7702: Resep akhir Vitalik untuk masalah abstraksi akun?â, hak cipta milik penulis asli [Foresight News], jika Anda memiliki keberatan terhadap penayangan ulang, silakan hubungiTim Pembelajaran GateTim akan menanganinya sesegera mungkin sesuai dengan prosedur yang relevan.
Penafian: Pandangan dan opini yang terdapat dalam artikel ini hanya mewakili pandangan pribadi penulis dan tidak merupakan nasihat investasi apa pun.
Versi bahasa lain dari artikel diterjemahkan oleh tim Gate Learn, tidak disebutkan dalam Gate.io, artikel yang diterjemahkan tidak boleh direproduksi, didistribusikan, atau diplagiatkan.