Perbandingan abstraksi akun multi-rantai: perbedaan kunci antara ERC-4337 dan AA native

Analisis Akun Abstrak Multi-Rantai: Arah Masa Depan Infrastruktur Enkripsi

Dari 8 hingga 11 Juli 2024, Konferensi Komunitas Ethereum (EthCC) akan diadakan di Brussels, Belgia. Ini adalah acara tahunan Ethereum terbesar di Eropa, dengan fokus pada teknologi dan komunitas.

Konferensi komunitas Ethereum kali ini (EthCC 7) memiliki lebih dari 350 tokoh pemimpin opini terkemuka di industri blockchain yang memberikan pidato, di mana salah satu pengembang diundang untuk berpartisipasi dan memberikan pidato berjudul "Mengungkap Masa Depan: Analisis Akun Abstraksi Multi-Rantai."

Ringkasan presentasi:

  • akun abstraksi(AA) terutama mencakup dua poin kunci: abstraksi tanda tangan dan abstraksi pembayaran. Abstraksi tanda tangan memungkinkan pengguna memilih mekanisme verifikasi yang mereka sukai, sedangkan abstraksi pembayaran memungkinkan penggunaan berbagai opsi pembayaran untuk transaksi. Fleksibilitas ini memberikan pengalaman pengguna yang lebih aman dan lebih baik.

  • Di ERC-4337 dan AA asli, fungsi titik masuk di tahap "verifikasi" adalah tetap, sedangkan di tahap "eksekusi", hanya titik masuk di AA asli yang tetap. Pembatasan transaksi verifikasi dan langkah-langkah transaksi eksekusi memiliki karakteristik dan batasan masing-masing dalam implementasi yang berbeda.

  • Di rantai yang kompatibel dengan EVM, penerapan ERC-4337 memiliki dua perbedaan kunci: perbedaan protokol dalam desain Rollup dan perbedaan cara perhitungan alamat, yang mengakibatkan detail pengembangan yang sulit diperhatikan saat menerapkan ERC-4337 antara L1 dan L2.

Berikut adalah teks lengkap pidato:

Halo semuanya, hari ini saya akan memperkenalkan konsep ERC-4337 dan Native AA kepada kalian, membahas perbedaan di antara keduanya, dan menganalisis secara mendalam perbedaan utama antara standar 4337 L1 dan L2.

Perkenalan akun abstraksi

1. Apa itu account abstraction

account abstraction(AA) terutama mencakup dua poin kunci: abstraksi tanda tangan dan abstraksi pembayaran.

  • Abstraksi tanda tangan: Pengguna dapat memilih mekanisme verifikasi yang disukai, dan tidak terbatas pada beberapa algoritma tanda tangan digital seperti ECDSA(.
  • Abstraksi pembayaran: Pengguna dapat menggunakan berbagai opsi pembayaran transaksi, seperti menggunakan aset ERC-20 sebagai pengganti aset asli untuk pembayaran, atau membiarkan pihak ketiga mensponsori transaksi.

Fleksibilitas ini memberikan pengalaman pengguna yang lebih aman dan lebih baik. Tujuan dari account abstraction adalah untuk mencapai kedua poin kunci ini melalui berbagai cara.

![Infrastruktur enkripsi di masa depan? Analisis akun abstraksi multi-rantai])https://img-cdn.gateio.im/webp-social/moments-fbfb77042d4165310922e1ee85da71d9.webp(

) 2. Apa itu ERC-4337

Saat ini, ada beberapa batasan pada akun yang dimiliki eksternal dalam protokol Ethereum ###EOA(, seperti metode tanda tangan yang tetap dan desain pembayaran. ERC-4337 mengatasi masalah ini dengan memperkenalkan metode pengelolaan akun dan pemrosesan transaksi yang lebih fleksibel.

  • Struktur userOp: Dalam ERC-4337, pengguna mengirimkan struktur userOp ke Bundler. Bundler mengumpulkan beberapa userOp dan mengirimkannya ke kontrak EntryPoint melalui pemanggilan fungsi handleOps.
  • Kontrak EntryPoint: Kontrak ini memproses transaksi seperti sistem operasi, dengan fungsi utama sebagai berikut:
    • Memanggil fungsi validate dalam kontrak akun, memastikan userOp mendapatkan otorisasi dari pemilik akun.
    • Mengambil biaya.
    • Memanggil fungsi execute dalam kontrak akun, untuk menjalankan operasi target dari userOp.

) 3. Apa itu AA asli

Di Ethereum, akun dibagi menjadi EOA dan akun kontrak. Namun, dalam AA asli, setiap akun adalah kontrak, dan mekanisme pemrosesan transaksi langsung disematkan ke dalam protokol blockchain.

Desain AA dalam berbagai jaringan blockchain:

  • ERC-4337 akun abstraksi: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • Abstraksi akun asli mengikuti ERC-4337: Era StarkNet & zkSync
  • akun abstraksi asli dengan desain privasi: Aztec

Jika Anda tertarik dengan Aztec Native AA atau EIP-3074, EIP-7702, hari ini kami akan fokus pada AA asli setelah ERC-4337.

Perbedaan ERC-4337 dan AA asli

1. Peran sistem operasi

AA OS perlu menjawab pertanyaan berikut:

  • Siapa yang menentukan harga Gas?
  • Siapa yang menentukan urutan transaksi? Di mana mempool?
  • Siapa yang memicu fungsi titik masuk?
  • Apa yang menentukan alur pemrosesan transaksi?

Dalam ERC-4337, peran-peran ini diselesaikan secara kolaboratif melalui Bundler dan EntryPoint Contract.

Dalam AA asli, pengguna akan mengirim userOps mereka ke operator/sorter server resmi, bukan Bundler dan EntryPoint Contract.

Di StarkNet, Sequencer bertanggung jawab untuk menangani semua tugas ini.

Dalam zkSync, perbedaan utama antara Era dan implementasi AA lainnya adalah Operator perlu bekerja sama dengan kontrak sistem bootloader###. Bootloader membuka blok baru, mendefinisikan parameter-parameter ( termasuk parameter blok dan parameter Gas lainnya ), serta menerima transaksi dari Operator untuk diverifikasi.

Infrastruktur enkripsi di masa depan? Analisis akuntabilitas multi-rantai

( 2. Antarmuka kontrak

Karena adanya tiga langkah, antarmuka kontrak akun serupa dalam berbagai implementasi, fungsi titik masuk ini hanya dapat dipanggil oleh AA OS:

  • ERC-4337: verifikasi operasi pengguna
  • zkSync: memverifikasi transaksi, pembayaran transaksi, mengeksekusi transaksi
  • StarkNet:execute, validate, validate_declare, validate_deploy

Dalam ERC-4337 dan AA asli, fungsi titik masuk di tahap "verifikasi" adalah tetap, sedangkan di tahap "eksekusi", hanya titik masuk di AA asli yang tetap.

) 3. Pembatasan langkah verifikasi

Karena verifikasi transaksi tidak memiliki batas biaya ### pada dasarnya, verifikasi transaksi adalah pemanggilan fungsi tampilan ###, penyerang dapat melakukan serangan DoS pada mempool, sehingga merusak bundler ( EIP-4337) atau operator/pengurut ( AA asli ).

EIP-4337 mendefinisikan opcode mana yang dilarang dan bagaimana membatasi akses penyimpanan. zkSync Era melonggarkan penggunaan beberapa OpCode:

  • Logika kontrak hanya dapat mengakses slot penyimpanan miliknya sendiri. Jika alamat kontrak akun adalah alamat A, ia dapat mengakses:
    • Slot penyimpanan milik alamat A
    • slot penyimpanan yang dimiliki oleh alamat A lainnya
    • Slot penyimpanan keccak256 (A || X) yang merupakan milik alamat lain berarti menggunakan alamat tersebut secara langsung sebagai kunci dalam pemetaan (, misalnya, pemetaan )address => value( (, setara dengan mengakses slot keccak256 )A || X). Contohnya, saldo aset dalam kontrak ERC-20.
  • Logika kontrak tidak dapat mengakses variabel global, seperti nomor blok. StarkNet juga tidak mengizinkan pemanggilan kontrak eksternal.

( 4. Batasan langkah eksekusi

Dalam zkSync, melakukan panggilan sistem memerlukan konfirmasi keberadaan tanda sistem. Misalnya, satu-satunya cara untuk menambah nonce adalah dengan berinteraksi dengan NonceHolder, sedangkan untuk menyebarkan kontrak memerlukan interaksi dengan ContractDeployer. Tanda sistem memastikan bahwa pengembang akun secara sadar berinteraksi dengan kontrak sistem.

Dalam ERC-4337 dan StarkNet, tidak ada batasan khusus pada tahap eksekusi.

) 5. angka acak

  • Dalam ERC-4337, desain titik masuk acak membedakan nilai kunci 192-bit dan nilai acak 64-bit.
  • Dalam zkSync, kontrak sistem NonceHolder mengelola nonce, memastikan peningkatan yang ketat, yaitu menambahkan 1 ke angka acak.
  • Di StarkNet, nonce juga meningkat secara ketat, tetapi tidak ada nonce abstrak yang dikelola oleh kontrak tertentu.

6. Menggunakan transaksi pertama untuk melakukan deploy

  • ERC-4337 dalam struktur userOp mencakup field initcode, untuk melakukan deploy kontrak akun pengirim ### pada userOp pertamanya ###.
  • Di StarkNet dan zkSync, pengguna harus mengirimkan transaksi pertama mereka kepada operator/sorter untuk menerapkan kontrak akun.

( 7. desain khusus di zkSync

Jika Anda langsung mentransfer ETH dari EOA Ethereum ke zkSync, tanpa perlu menerapkan kontrak akun kustom, Anda akan menerima akun default dengan alamat yang sama. Akun ini dapat berfungsi seperti EOA Ethereum dan juga dikendalikan oleh kunci pribadi EOA Ethereum yang sesuai.

Tipe akun ini adalah versi None dan bukan version1. Anda tidak dapat memanggil fungsi DefaultAccount karena tidak ada kode yang dikerahkan di ruang kernel.

Perbedaan 4337 L1 dan 4337 L2

Ada dua perbedaan kunci dalam menerapkan ERC-4337 di jaringan yang kompatibel dengan EVM: perbedaan protokol dan perbedaan alamat.

) 1. Perbedaan Protokol

Dalam desain Rollup, L2 perlu mengunggah data ke L1 untuk keamanan dan penyelesaian. Dalam konteks ERC-4337, biaya terkait proses pengunggahan ini, seperti biaya keamanan L1 dan biaya blob, harus termasuk dalam Gas praverifikasi. Menentukan biaya pengunggahan yang tepat dalam Gas praverifikasi merupakan tantangan besar.

2. Perbedaan alamat

Metode pengkodean alamat dalam fungsi create zkSync ERA berbeda dari Ethereum dan OP rollup. Selain itu, StarkNet menggunakan fungsi hash unik untuk perhitungan alamat. Dalam konteks ERC-4337 di rantai yang kompatibel dengan EVM, kita biasanya mengasumsikan bahwa perhitungan alamat konsisten di setiap rantai. Namun, ada detail yang sulit diperhatikan yang mungkin menyebabkan alamat kontrak akun berbeda antara implementasi ERC-4337 di Ethereum dan L2.

Masalah kunci adalah menambahkan opcode baru dalam hard fork. Misalnya, jika rantai L2 tidak mendukung hard fork Shanghai, dan versi EVM tidak ditentukan saat kompilasi, pengenalan push0 akan mengubah bytecode, meskipun kode Solidity tetap sama.

![enkripsi infrastruktur masa depan? Analisis abstraksi akun multichain]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp###

Kesimpulan

Di atas adalah beberapa konsep inti dan perbedaan implementasi tentang akun abstraksi. Kita dapat melihat bahwa meskipun implementasi akun abstraksi di berbagai rantai memiliki tujuan yang sama, terdapat banyak perbedaan dalam detail spesifik. Perbedaan ini mencerminkan pertimbangan unik masing-masing rantai dalam desain dan optimasi, serta memberikan lebih banyak ruang pilihan bagi pengembang dan pengguna. Di masa depan, seiring dengan perkembangan teknologi yang terus berlanjut, kami berharap dapat melihat lebih banyak implementasi akun abstraksi yang inovatif, yang akan membawa pengalaman pengguna yang lebih baik dan fitur yang lebih kuat bagi ekosistem blockchain.

Infrastruktur Enkripsi Masa Depan? Analisis Abstraksi Akun Multi-Chain

Lihat Asli
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.
  • Hadiah
  • 6
  • Posting ulang
  • Bagikan
Komentar
0/400
HashBanditvip
· 07-25 01:52
meh... kereta hype AA lain datang. di masa mining saya, kami tidak membutuhkan barang-barang mewah ini sejujurnya, hanya hashpower murni dan profit
Lihat AsliBalas0
MaticHoleFillervip
· 07-22 02:32
Itik-itik belum ikut ke blockchain.
Lihat AsliBalas0
TokenUnlockervip
· 07-22 02:32
AA Asli Tak Terkalahkan
Lihat AsliBalas0
Anon4461vip
· 07-22 02:29
aa infrastruktur adalah tren besar yang sebenarnya
Lihat AsliBalas0
RooftopReservervip
· 07-22 02:25
Alat pemotongan baru untuk pemula teknologi AA?
Lihat AsliBalas0
WagmiWarriorvip
· 07-22 02:13
Jangan terlalu ribet, yang penting infrastruktur harus baik.
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)