Konferensi EthCC membahas abstraksi akun multi-rantai: Perbandingan teknis ERC-4337 dan AA asli

Abstraksi Akun Multi-Rantai: Menjelajahi Masa Depan Infrastruktur Enkripsi

Konferensi Komunitas Ethereum (EthCC) akan diadakan di Brussels, Belgia dari 8 hingga 11 Juli 2024. Sebagai acara tahunan Ethereum terbesar di Eropa, konferensi ini akan fokus pada perkembangan teknologi dan komunitas.

Pada konferensi komunitas Ethereum kali ini (EthCC 7), lebih dari 350 pemimpin pemikiran terkemuka di industri blockchain memberikan pidato. Di antaranya, seorang pengembang blockchain diundang untuk berpartisipasi dan memberikan pidato tentang "Mengungkap Masa Depan: Analisis Akun Abstraksi Multi-Rantai".

enkripsi infrastruktur masa depan? analisis akun abstraksi multi-rantai

Ringkasan Poin-Poin Pidato

  • Inti dari akun abstraksi (AA) mencakup abstraksi tanda tangan dan abstraksi pembayaran. Yang pertama memungkinkan pengguna memilih mekanisme verifikasi yang diinginkan, sementara yang kedua menyediakan berbagai opsi pembayaran transaksi. Fleksibilitas ini secara signifikan meningkatkan keamanan dan pengalaman pengguna.

  • Fungsi titik masuk di fase verifikasi untuk ERC-4337 dan AA asli adalah tetap, tetapi di fase eksekusi, hanya AA asli yang mempertahankan titik masuk tetap. Berbagai cara implementasi memiliki karakteristik masing-masing dalam membatasi transaksi verifikasi dan langkah-langkah eksekusi transaksi.

  • Dalam menerapkan ERC-4337 di rantai yang kompatibel dengan EVM, ada dua tantangan utama yang dihadapi: perbedaan protokol dalam desain Rollup, dan perbedaan cara perhitungan alamat. Perbedaan ini menyebabkan beberapa detail pengembangan yang sulit terdeteksi saat mengimplementasikan ERC-4337 antara L1 dan L2.

Pengantar Akun Abstrak

definisi account abstraction

Akun Abstraksi (AA) terutama mencakup dua konsep kunci:

  1. Abstraksi tanda tangan: Pengguna dapat bebas memilih mekanisme verifikasi yang mereka suka, tidak lagi terbatas pada algoritma tanda tangan digital tertentu (seperti ECDSA).

  2. Abstraksi pembayaran: Pengguna dapat menggunakan berbagai cara untuk membayar biaya transaksi, seperti menggunakan token ERC-20 sebagai pengganti token asli, atau disponsori oleh pihak ketiga.

Fleksibilitas ini tidak hanya meningkatkan keamanan, tetapi juga mengoptimalkan pengalaman pengguna. Tujuan dari account abstraction adalah untuk mencapai kedua konsep inti ini melalui berbagai cara.

analisis ERC-4337

Saat ini, akun yang dimiliki secara eksternal (EOA) dalam protokol Ethereum memiliki beberapa batasan, seperti metode tanda tangan yang tetap dan desain pembayaran. ERC-4337 menyelesaikan masalah ini dengan memperkenalkan pengelolaan akun dan metode 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 dengan memanggil fungsi handleOps.

  • Kontrak EntryPoint: Kontrak ini berfungsi seperti sistem operasi dalam menangani transaksi, dengan fungsi utama sebagai berikut:

    1. Memanggil fungsi validate dalam kontrak akun, memastikan userOp mendapatkan otorisasi dari pemilik akun.
    2. Menerima biaya.
    3. Memanggil fungsi execute dalam kontrak akun, untuk mengeksekusi operasi target dari userOp.

Pengantar AA Asli

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

Desain AA di berbagai jaringan blockchain:

  • ERC-4337 account abstraction: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • Mengikuti akun abstraksi asli ERC-4337: StarkNet dan era zkSync
  • Akun abstraksi asli dengan desain privasi: Aztec

Infrastruktur Enkripsi di Masa Depan? Analisis Abstraksi Akun Multi-Rantai

Perbedaan ERC-4337 dan AA Natif

peran sistem operasi

Sistem operasi AA perlu menyelesaikan masalah berikut:

  • Penentu harga Gas
  • Penentu urutan transaksi dan posisi mempool
  • Pemicu fungsi titik masuk
  • Faktor penentu dalam proses pemrosesan transaksi

Dalam ERC-4337, peran-peran ini dilakukan secara kolaboratif oleh Bundler dan EntryPoint Contract.

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

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

Fitur utama zkSync Era adalah Operator perlu bekerja sama dengan bootloader (kontrak sistem). Bootloader bertanggung jawab untuk membuka blok baru, mendefinisikan parameter blok dan parameter Gas, serta menerima transaksi dari Operator untuk divalidasi.

antarmuka kontrak

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

  • ERC-4337: memvalidasi 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 pada tahap "verifikasi" adalah tetap, sementara pada tahap "eksekusi", hanya titik masuk pada AA asli yang tetap.

batasan langkah verifikasi

Karena tidak ada batas biaya untuk memverifikasi transaksi, penyerang mungkin melakukan serangan DoS terhadap mempool, yang dapat mempengaruhi bundler (EIP-4337) atau operator/pengurut (AA asli).

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

  • Logika kontrak hanya dapat mengakses slot penyimpanannya sendiri.
  • Logika kontrak tidak dapat mengakses variabel global, seperti nomor blok.
  • StarkNet tidak mengizinkan pemanggilan kontrak eksternal.

batasan langkah eksekusi

Di zkSync, untuk melakukan panggilan sistem, perlu mengkonfirmasi keberadaan bendera sistem. Misalnya, menambah nonce memerlukan interaksi dengan NonceHolder, sementara penyebaran kontrak memerlukan interaksi dengan ContractDeployer.

ERC-4337 dan StarkNet tidak memiliki batasan khusus pada tahap eksekusi.

pemrosesan angka acak

  • ERC-4337: Desain angka acak titik masuk membedakan nilai kunci 192-bit dan nilai acak 64-bit.
  • zkSync: Kontrak sistem NonceHolder mengelola nonce, memastikan peningkatan yang ketat.
  • StarkNet: nonce juga secara ketat meningkat, tetapi tidak ada kontrak tertentu yang mengelolanya.

penyebaran transaksi pertama

  • ERC-4337: Struktur userOp mencakup bidang initcode, yang digunakan untuk menyebarkan pengirim (akun kontrak) dalam userOp pertama.
  • StarkNet dan zkSync: Pengguna harus mengirimkan transaksi pertama mereka kepada operator/sorter untuk menyebarkan kontrak akun.

zkSync desain khusus

Di zkSync, jika ETH ditransfer langsung dari EOA Ethereum, tidak perlu menerapkan kontrak akun khusus, pengguna akan menerima akun default dengan alamat yang sama. Akun ini dapat berfungsi seperti EOA Ethereum dan dikendalikan oleh kunci privat EOA Ethereum yang sesuai.

Jenis akun ini adalah version None dan bukan version1. Pengguna tidak dapat memanggil fungsi DefaultAccount karena tidak ada kode yang diterapkan di ruang kernel.

Masa Depan Infrastruktur Enkripsi? Analisis Akun Abstraksi Multi-Rantai

Perbedaan 4337 antara L1 dan L2

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

perbedaan protokol

Dalam desain Rollup, L2 perlu mengunggah data ke L1 untuk memastikan keamanan dan penyelesaian. Dalam 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.

perbedaan alamat

Metode pengkodean alamat dalam fungsi create zkSync ERA berbeda dari Ethereum dan penggabungan OP. 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, sebuah detail yang mudah diabaikan dapat menyebabkan alamat kontrak akun yang berbeda antara implementasi ERC-4337 di Ethereum dan L2.

Masalah kunci terletak pada penambahan opcode baru dalam hard fork. Misalnya, jika rantai L2 tidak mendukung hard fork Shanghai, dan versi EVM tidak ditentukan saat kompilasi, pengenalan push0 akan mengakibatkan perubahan pada bytecode, meskipun kode Solidity tetap sama.

enkripsi infrastruktur masa depan? Analisis akun abstraksi multi-rantai

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
  • 5
  • Bagikan
Komentar
0/400
StableGeniusvip
· 10jam yang lalu
*menguap* lagi aa talk... sudah pernah melihat film ini sebelumnya, secara empiris ini hanya maxies eth yang berusaha menenangkan diri
Lihat AsliBalas0
OfflineNewbievip
· 10jam yang lalu
Lihat siapa yang masih melompat
Lihat AsliBalas0
TokenVelocityvip
· 10jam yang lalu
Mari kita bicarakan semua rantai di proyek tersebut...
Lihat AsliBalas0
PessimisticLayervip
· 10jam yang lalu
Rasanya tetap hanya mengatasi gejala, bukan akar masalah.
Lihat AsliBalas0
AllInDaddyvip
· 10jam yang lalu
AA kali ini bisa menang
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)