Kedalaman analisis evolusi sejarah akun abstraksi Ethereum dan prospek masa depan
Pendahuluan
Artikel ini akan membahas dua aspek utama dari perkembangan akun abstraksi Ethereum (AA):
Pertama, kita akan menelusuri konteks sejarah sejak proposal AA pertama pada tahun 2015, secara sistematis merangkum konten utama dari semua proposal EIP hingga saat ini, menggali lebih dalam proses evolusi proposal AA, dan melakukan evaluasi menyeluruh terhadap kelebihan dan kekurangan masing-masing solusi.
Kedua, kami akan fokus menganalisis alasan mengapa reaksi pasar setelah peluncuran EIP4337 lesu, dan mengeksplorasi lebih dalam EIP7702 yang akan dimasukkan dalam pembaruan versi Ethereum di masa depan. Begitu proposal ini digabungkan, itu akan secara mendasar mengubah bentuk aplikasi on-chain.
EIP-7702 dapat dianggap sebagai sebuah revolusi yang luar biasa, mari kita eksplor lebih dalam tentang rahasianya.
1. Latar Belakang Akun Abstraksi
1.1 Penentuan makna abstraksi akun
Pendiri Ethereum baru-baru ini memperbarui peta jalan pengembangan ETH, tetapi pengaturan mengenai account abstraction belum berubah. Mode mainstream saat ini sedang bertransisi dari EIP-4337 ke tahap berikutnya "konversi EOA akun secara sukarela".
Meskipun peluncuran EIP4337 telah lebih dari setahun, reaksi pasar cukup bertentangan - pengguna umumnya mengakui nilainya, tetapi tingkat penggunaan sebenarnya tidak tinggi. Dalam situasi ini, kemajuan EIP-7702 telah dipercepat secara signifikan dan telah dipastikan akan digabungkan dalam pembaruan berikutnya.
1.2 Status pasar dari account abstraction
Setelah satu setengah tahun perkembangan, jumlah alamat EIP4337 di blockchain publik mainstream hanya 12 juta, di mana jumlah alamat aktif di jaringan utama Ethereum hanya 6.764, yang jauh dari jumlah alamat EOA dan CA. Jumlah alamat independen di jaringan utama Ethereum telah mencapai 270 juta, menunjukkan bahwa EIP4337 hampir tidak ada kemajuan substansial di jaringan utama.
Namun, ini tidak berarti bahwa nilai intrinsik AA terpengaruh. Desain EIP4337 ditakdirkan sulit untuk dengan baik menyelesaikan masalah kompatibilitas ke depan di jaringan utama. Dengan berbagai jenis rantai L2 yang umum disematkan dalam AA asli, jumlah alamat EIP4337 di L2 mengalami pertumbuhan eksplosif, di mana pengguna aktif bulanan rantai Base dan Polygon masing-masing mencapai 1 juta dan 3 juta pada bulan Juli, yang cukup mengesankan.
Oleh karena itu, masalahnya bukan terletak pada desain EIP4337, tetapi berasal dari perbedaan antara mainnet dan L2, yang memerlukan solusi yang sesuai untuk masing-masing.
2. Apa itu account abstraction?
account abstraction pada dasarnya menyelesaikan masalah pemisahan hak kepemilikan.
Dalam arsitektur Mesin Virtual Ethereum ( EVM ) terdapat dua jenis akun: Akun Eksternal ( EOA ) dan Akun Kontrak ( Contract Account ). Dalam EOA, kepemilikan dan hak tanda tangan akun dimiliki oleh entitas yang sama. Orang yang memiliki kunci pribadi tidak hanya memiliki "kepemilikan" akun, tetapi juga berhak "menandatangani pemindahan semua aset".
Fitur ini ditentukan oleh struktur transaksi akun Ethereum. Dalam struktur transaksi standar Ethereum, sebenarnya tidak ada field From. Alamat pengirim transaksi diperoleh melalui parameter VRS ( yaitu tanda tangan pengguna ) yang diurai secara terbalik.
Desain ini, meskipun menjamin keamanan melalui kriptografi, juga menyebabkan dilema penggabungan kepemilikan alamat EOA saat ini.
Efek inti dari EIP4337 adalah menambahkan Alamat Pengirim di kolom transaksi, sehingga memisahkan kunci privat dari alamat yang dioperasikan.
Alasan mengapa pemisahan hak kepemilikan itu sangat penting adalah karena desain EOA menghasilkan banyak masalah:
Kunci pribadi sulit dilindungi: kehilangan kunci pribadi berarti kehilangan semua aset.
Algoritma tanda tangan tunggal: Protokol asli hanya mendukung algoritma tanda tangan dan verifikasi ECDSA.
Izin tanda tangan terlalu tinggi: tidak ada dukungan multisignatur asli, satu tanda tangan dapat melakukan operasi apa pun.
Biaya transaksi hanya dapat dibayar dengan ETH, tidak mendukung transaksi massal.
Privasi transaksi mudah bocor: transaksi satu lawan satu mudah untuk menganalisis informasi pemegang akun.
Pembatasan ini membuat pengguna biasa sulit untuk menggunakan Ethereum:
Pertama, pengguna harus memiliki Ether ( dan menanggung risiko fluktuasi harga ) untuk dapat menggunakan aplikasi di Ethereum.
Kedua, pengguna perlu menangani logika biaya yang kompleks, seperti harga Gas, batas Gas, blok transaksi ( urutan Nonce ) dan konsep lainnya yang terlalu rumit bagi pengguna.
Akhirnya, meskipun banyak dompet atau aplikasi blockchain yang mencoba meningkatkan pengalaman pengguna melalui optimasi produk, tetapi hasilnya terbatas.
Oleh karena itu, kunci untuk mengatasi kesulitan terletak pada realisasi abstraksi akun, memisahkan kepemilikan (Owner) dan hak tanda tangan (Signer), sehingga secara bertahap menyelesaikan masalah yang disebutkan di atas.
Sejarah telah mengajukan berbagai solusi, yang akhirnya berkumpul menjadi dua jalur utama.
3. Penelusuran Proposal Sejarah AA
Solusi untuk masalah ini tampaknya memiliki beberapa proposal EIP, tetapi pada akhirnya hanya ada dua pemikiran inti. Setiap masalah yang dipertimbangkan oleh EIP yang belum disetujui akhirnya berkumpul menjadi titik terobosan dari solusi yang ada.
3.1 Rute Pertama: Mengubah alamat EOA menjadi alamat CA
Pada November 2015, Vitalik telah mengusulkan struktur baru dengan kontrak sebagai akun dalam EIP-101. Usulan ini menyarankan agar alamat hanya berisi kode dan ruang penyimpanan, mendukung pembayaran biaya transaksi dengan token ERC20, serta mengubah token asli menjadi token mirip ERC20 melalui kontrak precompiled ( yang memiliki fungsi otorisasi pemotongan dan lain-lain ), dan menyederhanakan field transaksi hanya menjadi to, startgas, data, dan code.
Rencana ini dapat dianggap sebagai perubahan revolusioner, yang akan mengubah desain dasar secara signifikan, sehingga setiap alamat akun memiliki "logika"nya sendiri ( inilah efek yang ingin dicapai oleh EIP-7702 saat ini ).
Itu juga dapat menghasilkan fungsi lain, seperti:
Mendukung transaksi menggunakan lebih banyak algoritma kripto, yang ditentukan oleh metode verifikasi tanda tangan internal Code dari masing-masing alamat.
Memiliki sifat tahan serangan kuantum, karena kode dapat diupgrade.
Memberikan karakteristik fungsi yang konsisten antara Ether dan kontrak ERC20, untuk mewujudkan otorisasi pemotongan otomatis tanpa harus menggunakan koin asli.
Meningkatkan ruang kustom akun, mendukung pemulihan sosial, SBT, pemulihan kunci, dan fungsi lainnya.
Alasan mengapa skema ini tidak dapat dilanjutkan sangat sederhana: langkah yang diambil terlalu besar, dan tidak mempertimbangkan masalah konflik hash transaksi dan risiko keamanan pada waktu itu, sehingga selalu ditangguhkan. Namun, setiap kelebihan konsep di dalamnya telah menjadi salah satu fungsi inti dari EIP4337 dan EIP7702 yang akan datang.
Sejak itu, ada serangkaian EIP yang mencoba menyempurnakan logika ini:
EIP-859: abstraksi akun rantai utama (2018-01-30)
Usulan ini mencoba untuk menyelesaikan masalah penyebaran kode. Fungsi intinya adalah, ketika kontrak pihak yang bertransaksi belum dideploy, menggunakan parameter code yang disertakan dalam transaksi untuk mengeksekusi penyebaran dompet kontrak. Selain itu, juga diusulkan opcode PAYGAS baru, yang selain membayar gas, juga berfungsi sebagai pemisah antara bagian verifikasi dan bagian eksekusi dalam parameter transaksi.
Meskipun tidak terwujud saat itu, pemikiran ini menjadi salah satu logika inti dari EIP7702 saat ini. Setiap transaksi EIP7702 menggabungkan struktur transaksi khusus, yang dapat menyertakan kode tertentu, sehingga alamat EOA memiliki kemampuan kontrak dalam transaksi ini.
EIP-7702: mengatur kode akun EOA (2024-05-07)
Ini adalah EIP inti yang dibahas dalam artikel ini, diajukan oleh Vitalik, sebagai alternatif untuk EIP-3074. Oleh karena itu, EIP-3074 ditinggalkan, EIP-7702 dipastikan akan dimasukkan dalam hard fork ETH Prague/Electra(Pectra) yang akan datang, rincian spesifik akan kami bahas lebih lanjut di bagian berikut.
3.2 Jalur kedua: membiarkan alamat EOA menggerakkan alamat CA
EIP-3074: Menambahkan opcode AUTH dan AUTHCALL (2020-10-15)
Proposal ini menyarankan penambahan dua opcode baru AUTH dan AUTHCALL dalam EVM, sehingga EOA dapat memberikan otorisasi kepada kontrak untuk memanggil kontrak lain atas nama identitas EOA menggunakan kedua opcode ini.
Singkatnya, EOA dapat mengirimkan pesan yang sudah ditandatangani ( transaksi ) ke kontrak yang dipercaya sendiri ( yang disebut Invoker ), kontrak Invoker ini dapat menggunakan opcode AUTH dan AUTHCALL sebagai pengganti EOA ini untuk mengirim transaksi.
EIP-4337: Menerapkan abstraksi akun menggunakan mempool transaksi (2021-09-29)
Proposal ini dirancang terinspirasi oleh MEV, dengan nilai inti untuk sepenuhnya menghindari perubahan pada protokol lapisan konsensus.
EIP-4337 mengusulkan objek transaksi baru bernama UserOperation, pengguna mengirimkan objek ini ke dalam mempool, yang kemudian dikemas secara massal dan diserahkan untuk eksekusi transaksi kontrak oleh bundlers dari sudut pandang penambang, pada dasarnya meningkatkan transaksi dasar dan operasi akun ke tingkat kontrak.
EIP-5189: melalui operator penjamin untuk operasi akun abstrak (2022-06-29)
Ini dapat dianggap sebagai optimasi dari logika EIP4337, dengan membangun mekanisme dukungan penalti dana (endorser) untuk mencegah serangan DoS pemblokiran oleh Bundler yang bermusuhan.
3.3 Proposal lain yang mendukung account abstraction
EIP-2718: Pembungkus tipe transaksi baru (2020-06-13)
Ini adalah proposal yang telah final, yang mendefinisikan jenis transaksi baru sebagai amplop untuk jenis transaksi baru yang akan ditambahkan di masa depan.
Efek akhirnya adalah, saat memperkenalkan jenis transaksi baru, jenis transaksi yang berbeda dibedakan melalui pengkodean tertentu, sehingga hanya perlu mempertimbangkan kompatibilitas mundur, tanpa perlu kompatibilitas ke depan. Contoh paling umum adalah EIP1559, yang membedakan biaya transaksi, menggunakan pengkodean jenis transaksi baru, tanpa mempengaruhi jenis transaksi legacy yang awal.
EIP-3607: melarang alamat EOA untuk menerapkan kontrak (2021-06-10)
Ini adalah solusi tambahan pada jalur AA, digunakan untuk mencegah konflik antara alamat penyebaran kontrak dan alamat EOA. Ini akan mengontrol metode pembuatan kontrak, melarang sistem untuk menyebarkan kode ke alamat yang sudah merupakan alamat EOA. Risiko ini sebenarnya sangat kecil, mengingat alamat Ethereum panjangnya hingga 160 bit, meskipun ada metode untuk menggunakan kunci pribadi untuk menabrak kunci pribadi alamat kontrak yang ditentukan, tetapi bahkan dengan menggunakan seluruh kekuatan komputasi jaringan Bitcoin, diperkirakan akan memerlukan waktu satu tahun.
3.4 Bagaimana cara memahami perkembangan akun abstraksi?
Pertama-tama, perlu memahami nilai setelah diubah menjadi CA.
Ini pada dasarnya adalah efek nyata dari EIP-4337, yang dapat mewujudkan:
Mendukung multi-sign dan pemulihan sosial
Mendukung transaksi massal
Mendukung penggunaan token ERC20 untuk membayar biaya gas
Mendukung batasan transaksi
Mendukung transaksi tanpa gas ( bayar gas )
Mendukung penguncian akun ( switch dompet dingin dan panas )
Namun, kelemahan utama EIP-4337 adalah bertentangan dengan prinsip motivasi manusia.
Tampaknya lebih baik, tetapi terjebak dalam siklus mati perkembangan pasar: Banyak Dapp yang belum kompatibel, pengguna enggan menggunakan alamat CA, bahkan menggunakan CA dapat menghasilkan biaya transaksi yang lebih tinggi ( Dalam skenario transfer biasa, biaya transaksi bisa dua kali lipat ), terlalu bergantung pada kompatibilitas Dapp itu sendiri.
Inilah sebabnya mengapa ia belum berhasil diadopsi di jaringan utama Ethereum hingga saat ini.
Biaya adalah standar pengukuran terpenting bagi pengguna, biaya harus diturunkan.
Namun, untuk benar-benar menurunkan GAS, harus melalui peningkatan soft fork dari Ethereum itu sendiri, memodifikasi perhitungan GAS atau konsumsi GAS dari opcode dan modul lainnya. Mengingat harus dilakukan soft fork, mengapa tidak langsung mempertimbangkan EIP-7702?
4. Analisis Mendalam EIP-7702
4.1 EIP-7702简介
Proposal ini memperkenalkan jenis transaksi baru yang memungkinkan EOA untuk sementara memiliki fungsi kontrak pintar dalam satu transaksi, sehingga mendukung operasi bisnis seperti transaksi massal, transaksi tanpa Gas, dan manajemen hak akses kustom, tanpa perlu memperkenalkan opCode EVM baru ( yang mempengaruhi kompatibilitas ke depan ).
Ini memungkinkan pengguna untuk mendapatkan sebagian besar kemampuan AA tanpa perlu mengdeploy kontrak pintar, bahkan mendukung pihak ketiga untuk melakukan transaksi atas nama pengguna, tanpa perlu pengguna memberikan kunci pribadi, cukup dengan menandatangani informasi otorisasi.
4.2 Struktur Data
EIP-7702 mendefinisikan tipe transaksi baru 0x04, yang TransactionPayload-nya adalah hasil serialisasi RLP dari konten berikut:
Objek authorization_list yang baru ditambahkan menyimpan kode yang ingin dieksekusi oleh penandatangan di EOA mereka. Pengguna menandatangani transaksi pada saat yang sama juga menandatangani eksekusi yang ingin dilakukan.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
9 Suka
Hadiah
9
4
Bagikan
Komentar
0/400
RektRecovery
· 11jam yang lalu
meh... proposal AA lain yang mungkin akan hancur seperti 4337. saya prediksi sekarang.
Lihat AsliBalas0
BearMarketNoodler
· 11jam yang lalu
Usulan baru akhirnya datang, 4337 belum hangat.
Lihat AsliBalas0
Degentleman
· 11jam yang lalu
Ada hal baru lagi? Biarkan saya lihat.
Lihat AsliBalas0
DancingCandles
· 12jam yang lalu
Sungguh, sudah berbicara lama tetapi tidak mengatakan apa-apa.
EIP-7702: Terobosan baru dalam account abstraction Ethereum dan perkembangan masa depan
Kedalaman analisis evolusi sejarah akun abstraksi Ethereum dan prospek masa depan
Pendahuluan
Artikel ini akan membahas dua aspek utama dari perkembangan akun abstraksi Ethereum (AA):
Pertama, kita akan menelusuri konteks sejarah sejak proposal AA pertama pada tahun 2015, secara sistematis merangkum konten utama dari semua proposal EIP hingga saat ini, menggali lebih dalam proses evolusi proposal AA, dan melakukan evaluasi menyeluruh terhadap kelebihan dan kekurangan masing-masing solusi.
Kedua, kami akan fokus menganalisis alasan mengapa reaksi pasar setelah peluncuran EIP4337 lesu, dan mengeksplorasi lebih dalam EIP7702 yang akan dimasukkan dalam pembaruan versi Ethereum di masa depan. Begitu proposal ini digabungkan, itu akan secara mendasar mengubah bentuk aplikasi on-chain.
EIP-7702 dapat dianggap sebagai sebuah revolusi yang luar biasa, mari kita eksplor lebih dalam tentang rahasianya.
1. Latar Belakang Akun Abstraksi
1.1 Penentuan makna abstraksi akun
Pendiri Ethereum baru-baru ini memperbarui peta jalan pengembangan ETH, tetapi pengaturan mengenai account abstraction belum berubah. Mode mainstream saat ini sedang bertransisi dari EIP-4337 ke tahap berikutnya "konversi EOA akun secara sukarela".
Meskipun peluncuran EIP4337 telah lebih dari setahun, reaksi pasar cukup bertentangan - pengguna umumnya mengakui nilainya, tetapi tingkat penggunaan sebenarnya tidak tinggi. Dalam situasi ini, kemajuan EIP-7702 telah dipercepat secara signifikan dan telah dipastikan akan digabungkan dalam pembaruan berikutnya.
1.2 Status pasar dari account abstraction
Setelah satu setengah tahun perkembangan, jumlah alamat EIP4337 di blockchain publik mainstream hanya 12 juta, di mana jumlah alamat aktif di jaringan utama Ethereum hanya 6.764, yang jauh dari jumlah alamat EOA dan CA. Jumlah alamat independen di jaringan utama Ethereum telah mencapai 270 juta, menunjukkan bahwa EIP4337 hampir tidak ada kemajuan substansial di jaringan utama.
Namun, ini tidak berarti bahwa nilai intrinsik AA terpengaruh. Desain EIP4337 ditakdirkan sulit untuk dengan baik menyelesaikan masalah kompatibilitas ke depan di jaringan utama. Dengan berbagai jenis rantai L2 yang umum disematkan dalam AA asli, jumlah alamat EIP4337 di L2 mengalami pertumbuhan eksplosif, di mana pengguna aktif bulanan rantai Base dan Polygon masing-masing mencapai 1 juta dan 3 juta pada bulan Juli, yang cukup mengesankan.
Oleh karena itu, masalahnya bukan terletak pada desain EIP4337, tetapi berasal dari perbedaan antara mainnet dan L2, yang memerlukan solusi yang sesuai untuk masing-masing.
2. Apa itu account abstraction?
account abstraction pada dasarnya menyelesaikan masalah pemisahan hak kepemilikan.
Dalam arsitektur Mesin Virtual Ethereum ( EVM ) terdapat dua jenis akun: Akun Eksternal ( EOA ) dan Akun Kontrak ( Contract Account ). Dalam EOA, kepemilikan dan hak tanda tangan akun dimiliki oleh entitas yang sama. Orang yang memiliki kunci pribadi tidak hanya memiliki "kepemilikan" akun, tetapi juga berhak "menandatangani pemindahan semua aset".
Fitur ini ditentukan oleh struktur transaksi akun Ethereum. Dalam struktur transaksi standar Ethereum, sebenarnya tidak ada field From. Alamat pengirim transaksi diperoleh melalui parameter VRS ( yaitu tanda tangan pengguna ) yang diurai secara terbalik.
Desain ini, meskipun menjamin keamanan melalui kriptografi, juga menyebabkan dilema penggabungan kepemilikan alamat EOA saat ini.
Efek inti dari EIP4337 adalah menambahkan Alamat Pengirim di kolom transaksi, sehingga memisahkan kunci privat dari alamat yang dioperasikan.
Alasan mengapa pemisahan hak kepemilikan itu sangat penting adalah karena desain EOA menghasilkan banyak masalah:
Kunci pribadi sulit dilindungi: kehilangan kunci pribadi berarti kehilangan semua aset.
Algoritma tanda tangan tunggal: Protokol asli hanya mendukung algoritma tanda tangan dan verifikasi ECDSA.
Izin tanda tangan terlalu tinggi: tidak ada dukungan multisignatur asli, satu tanda tangan dapat melakukan operasi apa pun.
Biaya transaksi hanya dapat dibayar dengan ETH, tidak mendukung transaksi massal.
Privasi transaksi mudah bocor: transaksi satu lawan satu mudah untuk menganalisis informasi pemegang akun.
Pembatasan ini membuat pengguna biasa sulit untuk menggunakan Ethereum:
Pertama, pengguna harus memiliki Ether ( dan menanggung risiko fluktuasi harga ) untuk dapat menggunakan aplikasi di Ethereum.
Kedua, pengguna perlu menangani logika biaya yang kompleks, seperti harga Gas, batas Gas, blok transaksi ( urutan Nonce ) dan konsep lainnya yang terlalu rumit bagi pengguna.
Akhirnya, meskipun banyak dompet atau aplikasi blockchain yang mencoba meningkatkan pengalaman pengguna melalui optimasi produk, tetapi hasilnya terbatas.
Oleh karena itu, kunci untuk mengatasi kesulitan terletak pada realisasi abstraksi akun, memisahkan kepemilikan (Owner) dan hak tanda tangan (Signer), sehingga secara bertahap menyelesaikan masalah yang disebutkan di atas.
Sejarah telah mengajukan berbagai solusi, yang akhirnya berkumpul menjadi dua jalur utama.
3. Penelusuran Proposal Sejarah AA
Solusi untuk masalah ini tampaknya memiliki beberapa proposal EIP, tetapi pada akhirnya hanya ada dua pemikiran inti. Setiap masalah yang dipertimbangkan oleh EIP yang belum disetujui akhirnya berkumpul menjadi titik terobosan dari solusi yang ada.
3.1 Rute Pertama: Mengubah alamat EOA menjadi alamat CA
Pada November 2015, Vitalik telah mengusulkan struktur baru dengan kontrak sebagai akun dalam EIP-101. Usulan ini menyarankan agar alamat hanya berisi kode dan ruang penyimpanan, mendukung pembayaran biaya transaksi dengan token ERC20, serta mengubah token asli menjadi token mirip ERC20 melalui kontrak precompiled ( yang memiliki fungsi otorisasi pemotongan dan lain-lain ), dan menyederhanakan field transaksi hanya menjadi to, startgas, data, dan code.
Rencana ini dapat dianggap sebagai perubahan revolusioner, yang akan mengubah desain dasar secara signifikan, sehingga setiap alamat akun memiliki "logika"nya sendiri ( inilah efek yang ingin dicapai oleh EIP-7702 saat ini ).
Itu juga dapat menghasilkan fungsi lain, seperti:
Mendukung transaksi menggunakan lebih banyak algoritma kripto, yang ditentukan oleh metode verifikasi tanda tangan internal Code dari masing-masing alamat.
Memiliki sifat tahan serangan kuantum, karena kode dapat diupgrade.
Memberikan karakteristik fungsi yang konsisten antara Ether dan kontrak ERC20, untuk mewujudkan otorisasi pemotongan otomatis tanpa harus menggunakan koin asli.
Meningkatkan ruang kustom akun, mendukung pemulihan sosial, SBT, pemulihan kunci, dan fungsi lainnya.
Alasan mengapa skema ini tidak dapat dilanjutkan sangat sederhana: langkah yang diambil terlalu besar, dan tidak mempertimbangkan masalah konflik hash transaksi dan risiko keamanan pada waktu itu, sehingga selalu ditangguhkan. Namun, setiap kelebihan konsep di dalamnya telah menjadi salah satu fungsi inti dari EIP4337 dan EIP7702 yang akan datang.
Sejak itu, ada serangkaian EIP yang mencoba menyempurnakan logika ini:
EIP-859: abstraksi akun rantai utama (2018-01-30)
Usulan ini mencoba untuk menyelesaikan masalah penyebaran kode. Fungsi intinya adalah, ketika kontrak pihak yang bertransaksi belum dideploy, menggunakan parameter code yang disertakan dalam transaksi untuk mengeksekusi penyebaran dompet kontrak. Selain itu, juga diusulkan opcode PAYGAS baru, yang selain membayar gas, juga berfungsi sebagai pemisah antara bagian verifikasi dan bagian eksekusi dalam parameter transaksi.
Meskipun tidak terwujud saat itu, pemikiran ini menjadi salah satu logika inti dari EIP7702 saat ini. Setiap transaksi EIP7702 menggabungkan struktur transaksi khusus, yang dapat menyertakan kode tertentu, sehingga alamat EOA memiliki kemampuan kontrak dalam transaksi ini.
EIP-7702: mengatur kode akun EOA (2024-05-07)
Ini adalah EIP inti yang dibahas dalam artikel ini, diajukan oleh Vitalik, sebagai alternatif untuk EIP-3074. Oleh karena itu, EIP-3074 ditinggalkan, EIP-7702 dipastikan akan dimasukkan dalam hard fork ETH Prague/Electra(Pectra) yang akan datang, rincian spesifik akan kami bahas lebih lanjut di bagian berikut.
3.2 Jalur kedua: membiarkan alamat EOA menggerakkan alamat CA
EIP-3074: Menambahkan opcode AUTH dan AUTHCALL (2020-10-15)
Proposal ini menyarankan penambahan dua opcode baru AUTH dan AUTHCALL dalam EVM, sehingga EOA dapat memberikan otorisasi kepada kontrak untuk memanggil kontrak lain atas nama identitas EOA menggunakan kedua opcode ini.
Singkatnya, EOA dapat mengirimkan pesan yang sudah ditandatangani ( transaksi ) ke kontrak yang dipercaya sendiri ( yang disebut Invoker ), kontrak Invoker ini dapat menggunakan opcode AUTH dan AUTHCALL sebagai pengganti EOA ini untuk mengirim transaksi.
EIP-4337: Menerapkan abstraksi akun menggunakan mempool transaksi (2021-09-29)
Proposal ini dirancang terinspirasi oleh MEV, dengan nilai inti untuk sepenuhnya menghindari perubahan pada protokol lapisan konsensus.
EIP-4337 mengusulkan objek transaksi baru bernama UserOperation, pengguna mengirimkan objek ini ke dalam mempool, yang kemudian dikemas secara massal dan diserahkan untuk eksekusi transaksi kontrak oleh bundlers dari sudut pandang penambang, pada dasarnya meningkatkan transaksi dasar dan operasi akun ke tingkat kontrak.
EIP-5189: melalui operator penjamin untuk operasi akun abstrak (2022-06-29)
Ini dapat dianggap sebagai optimasi dari logika EIP4337, dengan membangun mekanisme dukungan penalti dana (endorser) untuk mencegah serangan DoS pemblokiran oleh Bundler yang bermusuhan.
3.3 Proposal lain yang mendukung account abstraction
EIP-2718: Pembungkus tipe transaksi baru (2020-06-13)
Ini adalah proposal yang telah final, yang mendefinisikan jenis transaksi baru sebagai amplop untuk jenis transaksi baru yang akan ditambahkan di masa depan.
Efek akhirnya adalah, saat memperkenalkan jenis transaksi baru, jenis transaksi yang berbeda dibedakan melalui pengkodean tertentu, sehingga hanya perlu mempertimbangkan kompatibilitas mundur, tanpa perlu kompatibilitas ke depan. Contoh paling umum adalah EIP1559, yang membedakan biaya transaksi, menggunakan pengkodean jenis transaksi baru, tanpa mempengaruhi jenis transaksi legacy yang awal.
EIP-3607: melarang alamat EOA untuk menerapkan kontrak (2021-06-10)
Ini adalah solusi tambahan pada jalur AA, digunakan untuk mencegah konflik antara alamat penyebaran kontrak dan alamat EOA. Ini akan mengontrol metode pembuatan kontrak, melarang sistem untuk menyebarkan kode ke alamat yang sudah merupakan alamat EOA. Risiko ini sebenarnya sangat kecil, mengingat alamat Ethereum panjangnya hingga 160 bit, meskipun ada metode untuk menggunakan kunci pribadi untuk menabrak kunci pribadi alamat kontrak yang ditentukan, tetapi bahkan dengan menggunakan seluruh kekuatan komputasi jaringan Bitcoin, diperkirakan akan memerlukan waktu satu tahun.
3.4 Bagaimana cara memahami perkembangan akun abstraksi?
Pertama-tama, perlu memahami nilai setelah diubah menjadi CA.
Ini pada dasarnya adalah efek nyata dari EIP-4337, yang dapat mewujudkan:
Namun, kelemahan utama EIP-4337 adalah bertentangan dengan prinsip motivasi manusia.
Tampaknya lebih baik, tetapi terjebak dalam siklus mati perkembangan pasar: Banyak Dapp yang belum kompatibel, pengguna enggan menggunakan alamat CA, bahkan menggunakan CA dapat menghasilkan biaya transaksi yang lebih tinggi ( Dalam skenario transfer biasa, biaya transaksi bisa dua kali lipat ), terlalu bergantung pada kompatibilitas Dapp itu sendiri.
Inilah sebabnya mengapa ia belum berhasil diadopsi di jaringan utama Ethereum hingga saat ini.
Biaya adalah standar pengukuran terpenting bagi pengguna, biaya harus diturunkan.
Namun, untuk benar-benar menurunkan GAS, harus melalui peningkatan soft fork dari Ethereum itu sendiri, memodifikasi perhitungan GAS atau konsumsi GAS dari opcode dan modul lainnya. Mengingat harus dilakukan soft fork, mengapa tidak langsung mempertimbangkan EIP-7702?
4. Analisis Mendalam EIP-7702
4.1 EIP-7702简介
Proposal ini memperkenalkan jenis transaksi baru yang memungkinkan EOA untuk sementara memiliki fungsi kontrak pintar dalam satu transaksi, sehingga mendukung operasi bisnis seperti transaksi massal, transaksi tanpa Gas, dan manajemen hak akses kustom, tanpa perlu memperkenalkan opCode EVM baru ( yang mempengaruhi kompatibilitas ke depan ).
Ini memungkinkan pengguna untuk mendapatkan sebagian besar kemampuan AA tanpa perlu mengdeploy kontrak pintar, bahkan mendukung pihak ketiga untuk melakukan transaksi atas nama pengguna, tanpa perlu pengguna memberikan kunci pribadi, cukup dengan menandatangani informasi otorisasi.
4.2 Struktur Data
EIP-7702 mendefinisikan tipe transaksi baru 0x04, yang TransactionPayload-nya adalah hasil serialisasi RLP dari konten berikut:
rlp([ chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, tujuan, nilai, data, daftar_akses, daftar_otorisasi, signature_y_parity, signature_r, signature_s ])
Objek authorization_list yang baru ditambahkan menyimpan kode yang ingin dieksekusi oleh penandatangan di EOA mereka. Pengguna menandatangani transaksi pada saat yang sama juga menandatangani eksekusi yang ingin dilakukan.