Perbandingan abstraksi akun multi-rantai: Perbedaan antara ERC-4337 dan AA asli serta perbedaan implementasi L1/L2

Analisis Abstraksi Akun Multichain: Menjelajahi 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 (EthCC 7) ini dihadiri oleh lebih dari 350 pemimpin opini yang aktif di garis depan industri blockchain, di mana salah satu pengembang blockchain diundang untuk berpartisipasi dan memberikan pidato dengan tema "Mengungkap Masa Depan: Analisis Akun Abstraksi Multi-Rantai" di konferensi.

Ikhtisar Pidato:

  • account abstraction(AA) terutama mencakup dua poin kunci: abstraksi tanda tangan dan abstraksi pembayaran. Abstraksi tanda tangan memungkinkan pengguna untuk memilih mekanisme verifikasi yang mereka sukai, sementara abstraksi pembayaran memungkinkan penggunaan berbagai opsi pembayaran transaksi. Fleksibilitas ini memberikan pengalaman pengguna yang lebih aman dan lebih baik.
  • 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. Batasan verifikasi transaksi dan langkah-langkah eksekusi transaksi memiliki karakteristik dan batasan masing-masing dalam implementasi yang berbeda.
  • Dalam menerapkan ERC-4337 di rantai yang kompatibel dengan EVM, terdapat dua perbedaan kunci: perbedaan protokol dalam desain Rollup dan perbedaan cara perhitungan alamat, yang menyebabkan detail pengembangan yang sulit diperhatikan saat mengimplementasikan ERC-4337 antara L1 dan L2.

Infrastruktur enkripsi di masa depan? Analisis akun abstraksi multi rantai

Berikut adalah teks lengkap pidato:

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

Pengantar akun abstraksi

1. Apa itu account abstraction

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

  • Abstraksi tanda tangan: Pengguna dapat memilih mekanisme verifikasi yang diinginkan, tidak hanya 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 pembayaran aset asli, atau membiarkan pihak ketiga mendanai 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.

2. Apa itu ERC-4337

Saat ini, terdapat beberapa batasan pada akun yang dimiliki secara 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 menangani transaksi seperti sistem operasi, dengan fungsi utama meliputi:
  • 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

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

Desain AA di berbagai jaringan blockchain:

  • ERC-4337 account abstraction: 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.

enkripsi infrastruktur masa depan? Analisis akun abstraksi multi-rantai

( Perbedaan antara ERC-4337 dan AA asli

1. Peran Sistem Operasi

AA OS perlu menjawab pertanyaan berikut:

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

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

Dalam AA asli, pengguna mengirimkan userOps mereka ke operator/pengurut server resmi, bukan Bundler dan EntryPoint Contract.

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

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

2. Antarmuka Kontrak

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

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

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

3. Pembatasan Langkah Verifikasi

Karena tidak ada batas biaya untuk memvalidasi transaksi ) secara esensial, memvalidasi 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 penyimpanannya sendiri. Jika alamat kontrak akun adalah alamat A, ia dapat mengakses:
  • Slot penyimpanan yang dimiliki oleh alamat A
  • Slot penyimpanan yang dimiliki oleh alamat A lainnya
  • Slot penyimpanan keccak256)A || X( yang dimiliki oleh alamat lainnya: ini berarti menggunakan alamat 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 kontrak eksternal untuk dipanggil.

4. Pembatasan langkah pelaksanaan

Di zkSync, untuk melakukan panggilan sistem, perlu memastikan keberadaan tanda sistem. Misalnya, satu-satunya cara untuk menambah nonce adalah dengan berinteraksi dengan NonceHolder, sementara untuk menyebarkan kontrak diperlukan 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 angka acak titik masuk 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 harus 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 menyertakan field initcode, untuk menerapkan kontrak akun pengirim ) pada userOp pertamanya (.
  • Di StarkNet dan zkSync, pengguna harus mengirimkan transaksi pertama mereka kepada operator/pengurut untuk menerapkan kontrak akun.

7. Desain Khusus dalam zkSync

Jika Anda langsung mentransfer ETH dari EOA Ethereum ke zkSync tanpa perlu mengimplementasikan 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 ia tidak memiliki kode yang diterapkan di ruang kernel.

![Infrastruktur Enkripsi Masa Depan? Analisis Abstraksi Akun Multi-Rantai])https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(

) Perbedaan 4337 L1 dan 4337 L2

Ada dua perbedaan kunci dalam menerapkan ERC-4337 di rantai 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 yang terkait dengan proses pengunggahan ini, seperti biaya keamanan L1 dan biaya blob, harus termasuk dalam Gas pra-validasi. Menentukan biaya pengunggahan yang tepat dalam Gas pra-validasi adalah tantangan besar.

2. Perbedaan Alamat

Metode pengkodean alamat dalam fungsi create zkSync ERA berbeda dari Ethereum dan OP aggregation. Selain itu, StarkNet menggunakan fungsi hash yang unik untuk perhitungan alamat. Dalam konteks ERC-4337 di rantai yang kompatibel dengan EVM, kita biasanya mengasumsikan bahwa perhitungan alamat konsisten di seluruh rantai. Namun, ada sebuah detail yang sulit diperhatikan yang dapat menyebabkan alamat kontrak akun yang 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 menyebabkan perubahan pada bytecode, meskipun kode Solidity tetap sama.

( Kesimpulan

Di atas adalah beberapa informasi tentang account abstraction. Jika Anda memiliki pertanyaan, Anda dapat menemukan saya di Twitter.

![Masa Depan Infrastruktur Enkripsi? Analisis Akun Abstraksi Multi-Chain])https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 7
  • Bagikan
Komentar
0/400
BearMarketBardvip
· 07-10 04:37
Rasanya akun abstraksi masih sulit dipahami.
Lihat AsliBalas0
GateUser-a606bf0cvip
· 07-10 04:30
Lanjutkan hidup, ayo AA
Lihat AsliBalas0
MetaRecktvip
· 07-07 05:09
Perkembangan yang begitu cepat, AA asli sudah datang.
Lihat AsliBalas0
GateUser-0717ab66vip
· 07-07 05:07
Bagian abstrak ini seharusnya sudah diurus.
Lihat AsliBalas0
LiquidatedNotStirredvip
· 07-07 05:04
AA semakin populer ya, menunggu perubahan
Lihat AsliBalas0
AirdropLickervip
· 07-07 05:00
Kapan AA yang sedang booming menerbitkan koin?
Lihat AsliBalas0
HallucinationGrowervip
· 07-07 04:41
Ahli abstraksi tanda tangan per kapita, jangan berlebihan.
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)