ERC-4337 vs EIP-3074: Dikotomi yang salah

LanjutanJan 16, 2024
Artikel ini mengklarifikasi kesalahpahaman tentang EIP-3074 sebagai jalur abstraksi akun alternatif, dan menganalisis perbedaan antara abstraksi akun penuh ERC-4337 dan abstraksi eksekusi murni Epos.
ERC-4337 vs EIP-3074: Dikotomi yang salah

Apa itu Abstraksi Akun?

Setiap akun Ethereum menerapkan lima fungsi:

  • Autentikasi
  • Otorisasi
  • Perlindungan pemutaran ulang
  • Pembayaran bahan bakar
  • Eksekusi

EOA mengimplementasikannya dengan cara yang di-hardcode:

  • Otentikasi dan otorisasi digabungkan menjadi satu: kunci ECDSA yang tidak dapat diubah membuktikan identitas dan memberikan otoritas penuh.
  • Perlindungan pemutaran ulang adalah hal yang sederhana - penghitung yang meningkat secara monoton.
  • Pembayaran gas dilakukan langsung dari saldo ETH EOA.
  • Eksekusi - satu panggilan ke satu tujuan.

Abstraksi akun berarti menambahkan logika program ke lima fungsi berikut:

  • Otentikasi - segala bentuk pembuktian identitas seseorang.
  • Otorisasi - kebijakan akses apa pun.
  • Perlindungan pemutaran ulang - pemesanan transaksi dipisahkan dari perlindungan pemutaran ulang.
  • Pembayaran gas - pembayaran gas dipisahkan dari rekening itu sendiri.
  • Eksekusi - logika eksekusi apa pun.

Contoh kasus penggunaan abstraksi akun

  • Skema tanda tangan yang berbeda
    • secp256r1 (kantong aman, kunci sandi)
    • Schnorr
    • BL
    • Pasca-kuantum
    • Bukti ZK (mis zkemail)
  • Rotasi kunci
    • Ganti kunci yang disusupi
    • Peralihan Deadman untuk warisan (kunci menjadi aktif jika akun tidak aktif selama satu tahun)
  • Kebijakan akses yang berbeda
    • Multitanda
    • Akses berbasis peran
    • kunci sesi khusus dapp
    • Pemulihan sosial
  • Skema perlindungan pemutaran ulang yang berbeda
    • Transaksi paralel dari entitas berbeda
    • Transaksi masa depan yang telah ditandatangani sebelumnya untuk dikirim oleh pihak ketiga
    • Saluran administratif
  • Abstraksi gas
    • Sponsor gas oleh pihak ketiga
    • Pembayaran dengan aset selain ETH
    • Privasi: klaim atau penarikan airdrop anonim dari rollup atau mixer ZK
  • Abstraksi eksekusi
    • Mengelompokkan beberapa panggilan ke beberapa tujuan (mis setujui+transferDari)
    • atomisitas
    • peningkatan UX khusus dapp

ERC-4337 vs EIP-3074: Dikotomi yang salah

EIP-3074 bertujuan untuk mengabstraksi Eksekusi dengan mengisi EOA dengan logika eksekusi arbitrer melalui pemanggil. Ia memiliki properti unik - memperluas kemampuan EOA tanpa harus memigrasikan aset ke akun baru. Hal ini tidak perlu mengatasi masalah-masalah seperti akses yang terdesentralisasi karena pelaksanaannya tidak mempengaruhi hal ini. Empat fungsi lainnya bisa, namun berada di luar cakupan EIP-3074.

ERC-4337 bertujuan untuk mengabstraksi keseluruhan akun - kelima fungsi. Ini adalah masalah yang lebih sulit dipecahkan jika desentralisasi dan penolakan terhadap sensor ingin dipertahankan. Fokus ERC-4337 adalah untuk memitigasi DoS dan vektor serangan yang menyedihkan yang dimungkinkan dengan mengabstraksi empat fungsi pertama tanpa menggunakan infrastruktur terpusat. Sebagai ERC, ia tidak dapat memperluas kemampuan EOA, dan memerlukan migrasi ke akun pintar.

Tumpang tindih antara kedua metode ini minimal: hanya abstraksi Eksekusi.

Selain itu, masing-masing metode bertujuan untuk memecahkan masalah yang tidak dimiliki metode lainnya: EIP-3074 bertujuan untuk melayani EOA yang ada dan menjaga segala sesuatunya sesederhana mungkin. ERC-4337 bertujuan untuk menyediakan Abstraksi Akun penuh tanpa mengorbankan properti inti Ethereum, seperti desentralisasi.

Jika seseorang bersikeras membandingkan ERC-4337 dengan proposal sebelumnya, yang paling mendekati adalah EIP-2938, bukan EIP-3074. EIP-2938 merupakan terobosan dalam abstraksi akun, proposal pertama untuk mewujudkan kesulitan mitigasi DoS dalam mempool AA. ERC-4337 memecahkan masalah tertentu yang tidak diselesaikan EIP-2938, namun perbandingan lengkap berada di luar cakupan dokumen ini.

Apa yang bisa dipecahkan oleh ERC-4337 dan EIP-3074?

Keduanya menyelesaikan abstraksi eksekusi, dan karenanya mengaktifkan kategori terakhir dari kasus penggunaan di atas:

  • Mengelompokkan beberapa panggilan ke beberapa tujuan
  • atomisitas
  • peningkatan UX khusus dapp

Apa yang bisa dilakukan EIP-3074, sedangkan ERC-4337 tidak bisa?

  • Tambahkan fungsionalitas eksekusi kompleks ke EOA yang ada.
    • ERC-4337 tidak dapat menambahkan fungsionalitas ke EOA karena ini adalah ERC.
  • Kesederhanaan dan efisiensi gas yang lebih baik ketika hanya diperlukan abstraksi eksekusi.
    • Abstraksi akun penuh menambah kompleksitas yang tidak diperlukan untuk abstraksi eksekusi.

Apa yang bisa dilakukan ERC-4337, sedangkan EIP-3074 tidak bisa?

  • Mendukung rantai EVM apa pun pada hari pertama. Tidak ada perubahan konsensus.
    • EIP-3074 harus diadopsi oleh setiap rantai melalui perubahan konsensus.
  • Inovasi tanpa izin
    • Dompet hanya akan mengizinkan pemanggil EIP-3074 yang masuk daftar putih. Akun ERC-4337 dapat dibuat dan digunakan oleh siapa saja.
  • Abstraksi akun lengkap - semua kasus penggunaan di atas, tanpa mengorbankan desentralisasi:
    • Skema tanda tangan yang berbeda.
      • EIP-3074 menggunakan ECDSA. EIP memang menyebutkan jalur masa depan untuk berpindah ke skema yang berbeda, namun selama EOA sendiri menghormati kunci ECDSA, pemanggil tidak dapat mencegahnya untuk digunakan secara langsung.
    • Rotasi kunci.
      • Dengan EIP-3074, EOA masih memiliki kunci yang tidak dapat dibatalkan.
    • Kebijakan akses yang berbeda
      • Kunci ECDSA dapat melewati pemanggil dan melakukan operasi apa pun di akun. Tidak ada kontrol akses terperinci.
    • Skema perlindungan pemutaran ulang yang berbeda
      • Akun tersebut masih berupa EOA dan menggunakan nonce 1 dimensi.
    • Abstraksi gas
      • Akun tersebut membayar bahan bakarnya sendiri, dengan ETH.
      • Sistem abstraksi gas dapat dibangun di atas EIP-3074, menggunakan relay untuk mengirim meta-transaksi atas nama akun. Namun, melindungi relay tersebut dari DoS dan kesedihan adalah sebuah tantangan, sehingga kemungkinan besar mereka akan mendapat izin. Sebagian besar kompleksitas ERC-4337 disebabkan oleh menjaga agar relayer (bundler) tersebut tidak memiliki izin.

Bisakah EIP-3074 + EIP-5003 melakukan apa yang dilakukan ERC-4337?

EIP-5003 melengkapi EIP-3074 dengan membiarkan EOA mencabut kunci ECDSA-nya dan menjadi kontrak pintar. Sebagai kontrak, ia dapat mengabstraksi fungsi akun lainnya, misalnya mengganti ECDSA dengan tanda tangan yang berbeda, memutar kunci, menerapkan kebijakan akses, dll. Dalam hal ini agak setara dengan proposal seperti EIP-6913 dan EIP-7377, namun lebih unggul dari EIP-7377 karena sebagai opcode ia dapat menggunakan sistem abstraksi gas untuk migrasi itu sendiri.

Setelah EOA diubah menjadi kontrak pintar, EOA tidak lagi dapat bertransaksi secara langsung dan perlu diakses melalui EOA lain. Hal ini memperkenalkan tantangan yang dirancang untuk dipecahkan oleh ERC-4337. Pengguna memiliki dua cara untuk bertransaksi dengan akun setelah migrasi:

  1. Pertahankan EOA lain yang didanai untuk bertransaksi dengan akun tersebut, dan tandatangani setiap transaksi dua kali. Ini meniadakan nilai abstraksi akun dan menghasilkan UX yang buruk.
  2. Gunakan relai yang mengelola EOA yang didanai, menempatkan transaksi dalam rantai dan mendapatkan penggantian dari akun. Melindungi relay seperti itu terhadap DoS dan kesedihan lebih sulit daripada yang terlihat, sehingga beberapa proyek menjalankan relay yang diizinkan. Hal ini mengakibatkan hilangnya resistensi terhadap desentralisasi dan sensor.

Cara untuk mendesentralisasikan akses akun pasca migrasi adalah dengan menerapkan batasan tertentu hingga akun tersebut membayar biaya bensin. Pendekatan ini diambil oleh EIP-2938 dan ERC-4337. <a href="https://notes.ethereum.org/ @yoav /unified-erc-4337-mempool">ERC-4337 mempool menawarkan cara terdesentralisasi untuk bertransaksi dengan akun.

TL;DR: Tidak, ini hanya menyoroti perlunya ERC-4337.

Peringatan: Migrasi EOA dianggap berbahaya

Pengguna EOA yang sudah ada tergoda untuk bermigrasi ke akun pintar daripada mentransfer aset. Namun, hal ini mempunyai kerentanan tertentu, yang beberapa di antaranya tidak dapat dimitigasi.

Apa yang salah jika kunci EOA disusupi setelah dicabut?

  1. Kuncinya tetap valid di rantai lain (termasuk rantai masa depan yang bahkan tidak ada pada saat migrasi). Ini dapat digunakan untuk mengklaim akun yang sama di jaringan lain dan mentransfer aset apa pun yang dikirim ke akun di jaringan ini.
  2. Sistem off-chain seperti proses login frontend dapp memeriksa tanda tangan. Banyak dari mereka mendukung EIP-1271 untuk tanda tangan kontrak pintar, tetapi hanya mencobanya jika ecrecover gagal. Kuncinya dapat digunakan untuk menyusupi akun di sistem ini.
  3. Ini dapat digunakan secara on-chain (pada rantai yang sama di mana ia telah dicabut) untuk menandatangani otorisasi izin. Jika akun berisi token ERC-20 yang mendukung izin, token ini mungkin dicuri menggunakan kunci yang dicabut.
  4. Jembatan lintas rantai sering kali memeriksa tanda tangan selama penarikan. Jika akun mengirimkan dana ke rantai lain melalui jembatan tersebut, kunci yang dicabut dapat digunakan untuk menarik dana di sisi lain.

Pengguna dapat membakar kunci pribadi setelah migrasi dan berharap tidak ada salinan yang tersisa, tetapi pengguna juga tidak dapat mengklaim alamat yang sama di rantai lain.

Oleh karena itu migrasi sebaiknya digunakan sebagai upaya terakhir bila ada alasan kuat untuk tetap mempertahankan alamat lama. Secara default, akun baru paling baik diterapkan dengan CREATE2 daripada bermigrasi dari EOA, sehingga akun tersebut tidak ditautkan ke kunci EOA di rantai lain.

Komunitas cenderung terlalu menekankan pentingnya migrasi EOA karena sebagian besar pengguna saat ini memiliki EOA. Miliaran pengguna berikutnya dapat memulai dengan akun cerdas dan tidak perlu bermigrasi dari EOA. Kami, pengguna EOA saat ini, hanyalah sebagian kecil dari jumlah tersebut. Migrasi mungkin penting untuk sementara waktu, agar pengguna saat ini dapat bermigrasi. Ini akan menjadi alur yang jarang digunakan ketika abstraksi akun adalah hal yang biasa.

Apakah ada sinergi antara ERC-4337 dan EIP-3074?

Ya, keduanya dapat <a href="https://notes.ethereum.org/@yoav/eip-3074-erc-4337-synergy"> dikombinasikan dengan cara yang menarik . Jika suatu rantai mengadopsi EIP-3074, proyek yang menggunakan ERC-4337 dapat memanfaatkannya untuk keuntungan mereka.

RIP-7560: Jalur yang menjanjikan untuk masa depan abstraksi akun

EIP-3074 dan ERC-4337 merupakan langkah-langkah untuk mendapatkan beberapa manfaat dari abstraksi akun asli penuh. Yang pertama berfokus untuk mendapatkan semua manfaat dari abstraksi eksekusi dan yang terakhir berfokus untuk mendapatkan semua manfaat dari abstraksi akun di semua rantai EVM tetapi dengan cara non-asli yang kurang efisien.

Jaringan yang ingin penggunanya mendapatkan manfaat dari abstraksi akun asli secara penuh dapat mengadopsi RIP-7560. Ia menggunakan arsitektur akun dan mempool yang sama dengan ERC-4337 tetapi bekerja secara asli pada tingkat protokol.

RIP-7560 tidak harus diadopsi sejak hari pertama, dan akun yang sudah ada akan dapat bermigrasi ke RIP-7560 dalam rantai yang memilih untuk mengadopsinya kapan saja di masa mendatang:

  • Akun ERC-4337 akan dapat bermigrasi ke RIP-7560 tanpa mengubah arsitekturnya, dengan mengubah implementasinya agar mempercayai alamat EntryPoint khusus yang ditentukan dalam RIP-7560. Sebuah akun dapat kompatibel dengan ERC-4337 dan RIP-7560 dengan sedikit usaha, sehingga tidak diperlukan migrasi.
  • EOA mungkin dapat bermigrasi langsung ke RIP-7560 tanpa melalui ERC-4337 atau EIP-3074. RIP-7560 sudah mendukung abstraksi gas untuk EOA. RIP masa depan dapat membiarkan EOA mengatur kodenya, baik menggunakan opcode seperti SETCODE (EIP-6913) atau AUTHUSURP (EIP-5003), atau dengan menambahkan subtipe TransactionType4 yang mirip dengan EIP-7377. Opcode/subtipe ini dapat digunakan oleh kontrak migrasi yang disebut dalam transaksi Tipe-4 (RIP-7560). Namun, migrasi EOA <a href="https://notes.ethereum.org/@yoav/erc-4337-vs-eip-3074-false-dichotomy#Caveat:-EOA-migration-considered-harmful"> tidak disarankan .

RIP-7560 membutuhkan tanggapan Anda

Kami mengumpulkan masukan mengenai RIP-7560 sebelum mengusulkan untuk mengabadikannya. Jika Anda tertarik dengan abstraksi akun asli, silakan tinjau PR atau bergabunglah dalam diskusi.

Penafian:

  1. Artikel ini dicetak ulang dari [https://notes.ethereum.org/@ yoav/erc-4337-vs-eip-3074-false-dichotomy@yoav ]. Semua hak cipta milik penulis asli [@yoav]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

ERC-4337 vs EIP-3074: Dikotomi yang salah

LanjutanJan 16, 2024
Artikel ini mengklarifikasi kesalahpahaman tentang EIP-3074 sebagai jalur abstraksi akun alternatif, dan menganalisis perbedaan antara abstraksi akun penuh ERC-4337 dan abstraksi eksekusi murni Epos.
ERC-4337 vs EIP-3074: Dikotomi yang salah

Apa itu Abstraksi Akun?

Setiap akun Ethereum menerapkan lima fungsi:

  • Autentikasi
  • Otorisasi
  • Perlindungan pemutaran ulang
  • Pembayaran bahan bakar
  • Eksekusi

EOA mengimplementasikannya dengan cara yang di-hardcode:

  • Otentikasi dan otorisasi digabungkan menjadi satu: kunci ECDSA yang tidak dapat diubah membuktikan identitas dan memberikan otoritas penuh.
  • Perlindungan pemutaran ulang adalah hal yang sederhana - penghitung yang meningkat secara monoton.
  • Pembayaran gas dilakukan langsung dari saldo ETH EOA.
  • Eksekusi - satu panggilan ke satu tujuan.

Abstraksi akun berarti menambahkan logika program ke lima fungsi berikut:

  • Otentikasi - segala bentuk pembuktian identitas seseorang.
  • Otorisasi - kebijakan akses apa pun.
  • Perlindungan pemutaran ulang - pemesanan transaksi dipisahkan dari perlindungan pemutaran ulang.
  • Pembayaran gas - pembayaran gas dipisahkan dari rekening itu sendiri.
  • Eksekusi - logika eksekusi apa pun.

Contoh kasus penggunaan abstraksi akun

  • Skema tanda tangan yang berbeda
    • secp256r1 (kantong aman, kunci sandi)
    • Schnorr
    • BL
    • Pasca-kuantum
    • Bukti ZK (mis zkemail)
  • Rotasi kunci
    • Ganti kunci yang disusupi
    • Peralihan Deadman untuk warisan (kunci menjadi aktif jika akun tidak aktif selama satu tahun)
  • Kebijakan akses yang berbeda
    • Multitanda
    • Akses berbasis peran
    • kunci sesi khusus dapp
    • Pemulihan sosial
  • Skema perlindungan pemutaran ulang yang berbeda
    • Transaksi paralel dari entitas berbeda
    • Transaksi masa depan yang telah ditandatangani sebelumnya untuk dikirim oleh pihak ketiga
    • Saluran administratif
  • Abstraksi gas
    • Sponsor gas oleh pihak ketiga
    • Pembayaran dengan aset selain ETH
    • Privasi: klaim atau penarikan airdrop anonim dari rollup atau mixer ZK
  • Abstraksi eksekusi
    • Mengelompokkan beberapa panggilan ke beberapa tujuan (mis setujui+transferDari)
    • atomisitas
    • peningkatan UX khusus dapp

ERC-4337 vs EIP-3074: Dikotomi yang salah

EIP-3074 bertujuan untuk mengabstraksi Eksekusi dengan mengisi EOA dengan logika eksekusi arbitrer melalui pemanggil. Ia memiliki properti unik - memperluas kemampuan EOA tanpa harus memigrasikan aset ke akun baru. Hal ini tidak perlu mengatasi masalah-masalah seperti akses yang terdesentralisasi karena pelaksanaannya tidak mempengaruhi hal ini. Empat fungsi lainnya bisa, namun berada di luar cakupan EIP-3074.

ERC-4337 bertujuan untuk mengabstraksi keseluruhan akun - kelima fungsi. Ini adalah masalah yang lebih sulit dipecahkan jika desentralisasi dan penolakan terhadap sensor ingin dipertahankan. Fokus ERC-4337 adalah untuk memitigasi DoS dan vektor serangan yang menyedihkan yang dimungkinkan dengan mengabstraksi empat fungsi pertama tanpa menggunakan infrastruktur terpusat. Sebagai ERC, ia tidak dapat memperluas kemampuan EOA, dan memerlukan migrasi ke akun pintar.

Tumpang tindih antara kedua metode ini minimal: hanya abstraksi Eksekusi.

Selain itu, masing-masing metode bertujuan untuk memecahkan masalah yang tidak dimiliki metode lainnya: EIP-3074 bertujuan untuk melayani EOA yang ada dan menjaga segala sesuatunya sesederhana mungkin. ERC-4337 bertujuan untuk menyediakan Abstraksi Akun penuh tanpa mengorbankan properti inti Ethereum, seperti desentralisasi.

Jika seseorang bersikeras membandingkan ERC-4337 dengan proposal sebelumnya, yang paling mendekati adalah EIP-2938, bukan EIP-3074. EIP-2938 merupakan terobosan dalam abstraksi akun, proposal pertama untuk mewujudkan kesulitan mitigasi DoS dalam mempool AA. ERC-4337 memecahkan masalah tertentu yang tidak diselesaikan EIP-2938, namun perbandingan lengkap berada di luar cakupan dokumen ini.

Apa yang bisa dipecahkan oleh ERC-4337 dan EIP-3074?

Keduanya menyelesaikan abstraksi eksekusi, dan karenanya mengaktifkan kategori terakhir dari kasus penggunaan di atas:

  • Mengelompokkan beberapa panggilan ke beberapa tujuan
  • atomisitas
  • peningkatan UX khusus dapp

Apa yang bisa dilakukan EIP-3074, sedangkan ERC-4337 tidak bisa?

  • Tambahkan fungsionalitas eksekusi kompleks ke EOA yang ada.
    • ERC-4337 tidak dapat menambahkan fungsionalitas ke EOA karena ini adalah ERC.
  • Kesederhanaan dan efisiensi gas yang lebih baik ketika hanya diperlukan abstraksi eksekusi.
    • Abstraksi akun penuh menambah kompleksitas yang tidak diperlukan untuk abstraksi eksekusi.

Apa yang bisa dilakukan ERC-4337, sedangkan EIP-3074 tidak bisa?

  • Mendukung rantai EVM apa pun pada hari pertama. Tidak ada perubahan konsensus.
    • EIP-3074 harus diadopsi oleh setiap rantai melalui perubahan konsensus.
  • Inovasi tanpa izin
    • Dompet hanya akan mengizinkan pemanggil EIP-3074 yang masuk daftar putih. Akun ERC-4337 dapat dibuat dan digunakan oleh siapa saja.
  • Abstraksi akun lengkap - semua kasus penggunaan di atas, tanpa mengorbankan desentralisasi:
    • Skema tanda tangan yang berbeda.
      • EIP-3074 menggunakan ECDSA. EIP memang menyebutkan jalur masa depan untuk berpindah ke skema yang berbeda, namun selama EOA sendiri menghormati kunci ECDSA, pemanggil tidak dapat mencegahnya untuk digunakan secara langsung.
    • Rotasi kunci.
      • Dengan EIP-3074, EOA masih memiliki kunci yang tidak dapat dibatalkan.
    • Kebijakan akses yang berbeda
      • Kunci ECDSA dapat melewati pemanggil dan melakukan operasi apa pun di akun. Tidak ada kontrol akses terperinci.
    • Skema perlindungan pemutaran ulang yang berbeda
      • Akun tersebut masih berupa EOA dan menggunakan nonce 1 dimensi.
    • Abstraksi gas
      • Akun tersebut membayar bahan bakarnya sendiri, dengan ETH.
      • Sistem abstraksi gas dapat dibangun di atas EIP-3074, menggunakan relay untuk mengirim meta-transaksi atas nama akun. Namun, melindungi relay tersebut dari DoS dan kesedihan adalah sebuah tantangan, sehingga kemungkinan besar mereka akan mendapat izin. Sebagian besar kompleksitas ERC-4337 disebabkan oleh menjaga agar relayer (bundler) tersebut tidak memiliki izin.

Bisakah EIP-3074 + EIP-5003 melakukan apa yang dilakukan ERC-4337?

EIP-5003 melengkapi EIP-3074 dengan membiarkan EOA mencabut kunci ECDSA-nya dan menjadi kontrak pintar. Sebagai kontrak, ia dapat mengabstraksi fungsi akun lainnya, misalnya mengganti ECDSA dengan tanda tangan yang berbeda, memutar kunci, menerapkan kebijakan akses, dll. Dalam hal ini agak setara dengan proposal seperti EIP-6913 dan EIP-7377, namun lebih unggul dari EIP-7377 karena sebagai opcode ia dapat menggunakan sistem abstraksi gas untuk migrasi itu sendiri.

Setelah EOA diubah menjadi kontrak pintar, EOA tidak lagi dapat bertransaksi secara langsung dan perlu diakses melalui EOA lain. Hal ini memperkenalkan tantangan yang dirancang untuk dipecahkan oleh ERC-4337. Pengguna memiliki dua cara untuk bertransaksi dengan akun setelah migrasi:

  1. Pertahankan EOA lain yang didanai untuk bertransaksi dengan akun tersebut, dan tandatangani setiap transaksi dua kali. Ini meniadakan nilai abstraksi akun dan menghasilkan UX yang buruk.
  2. Gunakan relai yang mengelola EOA yang didanai, menempatkan transaksi dalam rantai dan mendapatkan penggantian dari akun. Melindungi relay seperti itu terhadap DoS dan kesedihan lebih sulit daripada yang terlihat, sehingga beberapa proyek menjalankan relay yang diizinkan. Hal ini mengakibatkan hilangnya resistensi terhadap desentralisasi dan sensor.

Cara untuk mendesentralisasikan akses akun pasca migrasi adalah dengan menerapkan batasan tertentu hingga akun tersebut membayar biaya bensin. Pendekatan ini diambil oleh EIP-2938 dan ERC-4337. <a href="https://notes.ethereum.org/ @yoav /unified-erc-4337-mempool">ERC-4337 mempool menawarkan cara terdesentralisasi untuk bertransaksi dengan akun.

TL;DR: Tidak, ini hanya menyoroti perlunya ERC-4337.

Peringatan: Migrasi EOA dianggap berbahaya

Pengguna EOA yang sudah ada tergoda untuk bermigrasi ke akun pintar daripada mentransfer aset. Namun, hal ini mempunyai kerentanan tertentu, yang beberapa di antaranya tidak dapat dimitigasi.

Apa yang salah jika kunci EOA disusupi setelah dicabut?

  1. Kuncinya tetap valid di rantai lain (termasuk rantai masa depan yang bahkan tidak ada pada saat migrasi). Ini dapat digunakan untuk mengklaim akun yang sama di jaringan lain dan mentransfer aset apa pun yang dikirim ke akun di jaringan ini.
  2. Sistem off-chain seperti proses login frontend dapp memeriksa tanda tangan. Banyak dari mereka mendukung EIP-1271 untuk tanda tangan kontrak pintar, tetapi hanya mencobanya jika ecrecover gagal. Kuncinya dapat digunakan untuk menyusupi akun di sistem ini.
  3. Ini dapat digunakan secara on-chain (pada rantai yang sama di mana ia telah dicabut) untuk menandatangani otorisasi izin. Jika akun berisi token ERC-20 yang mendukung izin, token ini mungkin dicuri menggunakan kunci yang dicabut.
  4. Jembatan lintas rantai sering kali memeriksa tanda tangan selama penarikan. Jika akun mengirimkan dana ke rantai lain melalui jembatan tersebut, kunci yang dicabut dapat digunakan untuk menarik dana di sisi lain.

Pengguna dapat membakar kunci pribadi setelah migrasi dan berharap tidak ada salinan yang tersisa, tetapi pengguna juga tidak dapat mengklaim alamat yang sama di rantai lain.

Oleh karena itu migrasi sebaiknya digunakan sebagai upaya terakhir bila ada alasan kuat untuk tetap mempertahankan alamat lama. Secara default, akun baru paling baik diterapkan dengan CREATE2 daripada bermigrasi dari EOA, sehingga akun tersebut tidak ditautkan ke kunci EOA di rantai lain.

Komunitas cenderung terlalu menekankan pentingnya migrasi EOA karena sebagian besar pengguna saat ini memiliki EOA. Miliaran pengguna berikutnya dapat memulai dengan akun cerdas dan tidak perlu bermigrasi dari EOA. Kami, pengguna EOA saat ini, hanyalah sebagian kecil dari jumlah tersebut. Migrasi mungkin penting untuk sementara waktu, agar pengguna saat ini dapat bermigrasi. Ini akan menjadi alur yang jarang digunakan ketika abstraksi akun adalah hal yang biasa.

Apakah ada sinergi antara ERC-4337 dan EIP-3074?

Ya, keduanya dapat <a href="https://notes.ethereum.org/@yoav/eip-3074-erc-4337-synergy"> dikombinasikan dengan cara yang menarik . Jika suatu rantai mengadopsi EIP-3074, proyek yang menggunakan ERC-4337 dapat memanfaatkannya untuk keuntungan mereka.

RIP-7560: Jalur yang menjanjikan untuk masa depan abstraksi akun

EIP-3074 dan ERC-4337 merupakan langkah-langkah untuk mendapatkan beberapa manfaat dari abstraksi akun asli penuh. Yang pertama berfokus untuk mendapatkan semua manfaat dari abstraksi eksekusi dan yang terakhir berfokus untuk mendapatkan semua manfaat dari abstraksi akun di semua rantai EVM tetapi dengan cara non-asli yang kurang efisien.

Jaringan yang ingin penggunanya mendapatkan manfaat dari abstraksi akun asli secara penuh dapat mengadopsi RIP-7560. Ia menggunakan arsitektur akun dan mempool yang sama dengan ERC-4337 tetapi bekerja secara asli pada tingkat protokol.

RIP-7560 tidak harus diadopsi sejak hari pertama, dan akun yang sudah ada akan dapat bermigrasi ke RIP-7560 dalam rantai yang memilih untuk mengadopsinya kapan saja di masa mendatang:

  • Akun ERC-4337 akan dapat bermigrasi ke RIP-7560 tanpa mengubah arsitekturnya, dengan mengubah implementasinya agar mempercayai alamat EntryPoint khusus yang ditentukan dalam RIP-7560. Sebuah akun dapat kompatibel dengan ERC-4337 dan RIP-7560 dengan sedikit usaha, sehingga tidak diperlukan migrasi.
  • EOA mungkin dapat bermigrasi langsung ke RIP-7560 tanpa melalui ERC-4337 atau EIP-3074. RIP-7560 sudah mendukung abstraksi gas untuk EOA. RIP masa depan dapat membiarkan EOA mengatur kodenya, baik menggunakan opcode seperti SETCODE (EIP-6913) atau AUTHUSURP (EIP-5003), atau dengan menambahkan subtipe TransactionType4 yang mirip dengan EIP-7377. Opcode/subtipe ini dapat digunakan oleh kontrak migrasi yang disebut dalam transaksi Tipe-4 (RIP-7560). Namun, migrasi EOA <a href="https://notes.ethereum.org/@yoav/erc-4337-vs-eip-3074-false-dichotomy#Caveat:-EOA-migration-considered-harmful"> tidak disarankan .

RIP-7560 membutuhkan tanggapan Anda

Kami mengumpulkan masukan mengenai RIP-7560 sebelum mengusulkan untuk mengabadikannya. Jika Anda tertarik dengan abstraksi akun asli, silakan tinjau PR atau bergabunglah dalam diskusi.

Penafian:

  1. Artikel ini dicetak ulang dari [https://notes.ethereum.org/@ yoav/erc-4337-vs-eip-3074-false-dichotomy@yoav ]. Semua hak cipta milik penulis asli [@yoav]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!