EIP-7702: Transformasi Besar Akun Eksternal Ethereum
Ethereum akan segera menyambut upgrade Pectra, di mana EIP-7702 melakukan transformasi revolusioner pada akun eksternal Ethereum (EOA). Proposal ini mengaburkan batas antara EOA dan akun kontrak CA, merupakan langkah kunci menuju abstraksi akun asli, membawa mode interaksi baru ke ekosistem Ethereum.
Pectra telah menyelesaikan penyebaran di jaringan pengujian, dan diharapkan akan segera diluncurkan di jaringan utama. Artikel ini akan menganalisis secara mendalam mekanisme implementasi EIP-7702, mengeksplorasi peluang dan tantangan yang mungkin dihadirkannya, serta memberikan panduan praktis untuk berbagai peserta.
Analisis Protokol
Ringkasan
EIP-7702 memperkenalkan jenis transaksi baru yang memungkinkan EOA untuk menentukan alamat kontrak pintar dan mengatur kodenya. Ini memungkinkan EOA untuk menjalankan kode seperti kontrak pintar, sambil mempertahankan kemampuan untuk memulai transaksi. Fitur ini memberikan EOA kemampuan pemrograman dan komposabilitas, sehingga pengguna dapat menerapkan fungsi pemulihan sosial, kontrol akses, manajemen multisig, verifikasi zk, pembayaran berbasis langganan, sponsor transaksi, dan pemrosesan batch transaksi dalam EOA. EIP-7702 dapat berfungsi sempurna dengan dompet kontrak pintar yang diimplementasikan oleh EIP-4337, menyederhanakan pengembangan dan penerapan fitur baru.
EIP-7702 memperkenalkan jenis transaksi SET_CODE_TX_TYPE (0x04), yang struktur datanya mencakup field authorization_list, yang dapat berisi beberapa entri otorisasi. Setiap entri otorisasi mencakup chain_id, address, nonce, dan data tanda tangan.
mewujudkan
Saat pemberi kuasa menandatangani data otorisasi, mereka perlu melakukan pengkodean RLP pada chain_id, address, dan nonce, kemudian melakukan operasi hash keccak256 bersama dengan angka MAGIC, dan kemudian menandatanganinya dengan kunci privat. MAGIC (0x05) berfungsi sebagai pemisah domain, memastikan bahwa hasil tanda tangan dari berbagai jenis tidak akan bertabrakan.
Ketika chain_id adalah 0, itu menunjukkan bahwa otorisasi dapat direplay di semua rantai yang kompatibel dengan EVM yang mendukung EIP-7702. Sebelum eksekusi transaksi, Proposer akan melakukan pemeriksaan awal untuk memastikan transaksi bukan merupakan transaksi pembuatan kontrak. Bidang authorization_list dalam transaksi harus berisi setidaknya satu entri otorisasi.
Ketika node mengeksekusi transaksi, pertama-tama meningkatkan nonce pengirim, kemudian melakukan operasi applyAuthorization untuk setiap entri otorisasi. Jika terjadi kesalahan, entri otorisasi tersebut akan dilewati, sementara entri lainnya akan terus diterapkan. Setelah otorisasi selesai, field code dari alamat pemberi otorisasi akan diatur menjadi 0xef0100||address. Pemberi otorisasi dapat menetapkan alamat target delegasi ke alamat 0 untuk menghapus otorisasi.
Praktik Terbaik
Meskipun EIP-7702 memberikan semangat baru bagi ekosistem Ethereum, tetapi juga membawa risiko baru. Berikut adalah aspek-aspek yang perlu diperhatikan oleh para peserta ekosistem:
penyimpanan kunci pribadi
Meskipun masalah kehilangan dana dapat diselesaikan melalui pemulihan sosial setelah EOA didelegasikan, risiko kebocoran kunci pribadi tetap tidak dapat dihindari. Pengguna harus mengutamakan perlindungan kunci pribadi.
pemulihan multi-rantai
Pengguna dapat memilih chainId 0 untuk melakukan delegasi, sehingga berlaku di beberapa rantai. Namun, alamat kontrak yang sama di rantai yang berbeda mungkin memiliki implementasi yang berbeda. Penyedia layanan dompet harus memeriksa kesesuaian rantai delegasi yang berlaku dengan jaringan saat ini, dan mengingatkan pengguna tentang risiko terkait.
tidak dapat diinisialisasi
EIP-7702 tidak dapat memanggil fungsi inisialisasi saat penyebaran seperti kontrak proxy ERC-1967. Pengembang harus melakukan pemeriksaan izin dalam operasi inisialisasi dompet untuk menghindari risiko dibobol.
Manajemen Penyimpanan
Menyerahkan kembali ke alamat kontrak yang berbeda dapat menyebabkan perbedaan struktur penyimpanan, yang dapat mengakibatkan penguncian akun atau kehilangan dana. Pengembang harus mengikuti Rumus Namespace ERC-7201, dan mengalokasikan variabel ke lokasi penyimpanan yang terpisah.
pengisian ulang palsu
Bursa terpusat mungkin menghadapi situasi di mana pengisian ulang kontrak pintar menjadi umum, dan harus memeriksa status transaksi pengisian ulang melalui trace untuk mencegah risiko pengisian ulang palsu.
akun konversi
Akun dapat dengan bebas beralih antara EOA dan SC, memecahkan beberapa asumsi keamanan yang hanya membatasi EOA untuk berpartisipasi dalam proyek. Pengembang harus mengasumsikan bahwa peserta di masa depan mungkin semua adalah kontrak pintar.
kompatibilitas kontrak
Pengembang harus memastikan bahwa kontrak tujuan yang didelegasikan oleh pengguna mengimplementasikan fungsi callback yang sesuai, untuk kompatibilitas dengan token utama.
pemeriksaan pancing
Penyedia layanan dompet harus segera mendukung jenis transaksi EIP-7702, menampilkan kontrak tujuan secara jelas saat pengguna memberikan tanda tangan, dan melakukan analisis otomatis yang mendalam untuk mengurangi risiko serangan phishing.
Ringkasan
EIP-7702 melalui jenis transaksi baru, memberikan EOA kemampuan untuk diprogram dan digabungkan, mengaburkan batas antara EOA dan akun kontrak. Berbagai peserta ekosistem menghadapi banyak tantangan dan peluang, praktik terbaik yang disediakan dalam artikel ini patut dicontoh dalam penerapan praktis.
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.
EIP-7702: Perubahan Besar Akun Eksternal Ethereum Memberikan Kesempatan dan Tantangan Baru bagi Ekosistem
EIP-7702: Transformasi Besar Akun Eksternal Ethereum
Ethereum akan segera menyambut upgrade Pectra, di mana EIP-7702 melakukan transformasi revolusioner pada akun eksternal Ethereum (EOA). Proposal ini mengaburkan batas antara EOA dan akun kontrak CA, merupakan langkah kunci menuju abstraksi akun asli, membawa mode interaksi baru ke ekosistem Ethereum.
Pectra telah menyelesaikan penyebaran di jaringan pengujian, dan diharapkan akan segera diluncurkan di jaringan utama. Artikel ini akan menganalisis secara mendalam mekanisme implementasi EIP-7702, mengeksplorasi peluang dan tantangan yang mungkin dihadirkannya, serta memberikan panduan praktis untuk berbagai peserta.
Analisis Protokol
Ringkasan
EIP-7702 memperkenalkan jenis transaksi baru yang memungkinkan EOA untuk menentukan alamat kontrak pintar dan mengatur kodenya. Ini memungkinkan EOA untuk menjalankan kode seperti kontrak pintar, sambil mempertahankan kemampuan untuk memulai transaksi. Fitur ini memberikan EOA kemampuan pemrograman dan komposabilitas, sehingga pengguna dapat menerapkan fungsi pemulihan sosial, kontrol akses, manajemen multisig, verifikasi zk, pembayaran berbasis langganan, sponsor transaksi, dan pemrosesan batch transaksi dalam EOA. EIP-7702 dapat berfungsi sempurna dengan dompet kontrak pintar yang diimplementasikan oleh EIP-4337, menyederhanakan pengembangan dan penerapan fitur baru.
EIP-7702 memperkenalkan jenis transaksi SET_CODE_TX_TYPE (0x04), yang struktur datanya mencakup field authorization_list, yang dapat berisi beberapa entri otorisasi. Setiap entri otorisasi mencakup chain_id, address, nonce, dan data tanda tangan.
mewujudkan
Saat pemberi kuasa menandatangani data otorisasi, mereka perlu melakukan pengkodean RLP pada chain_id, address, dan nonce, kemudian melakukan operasi hash keccak256 bersama dengan angka MAGIC, dan kemudian menandatanganinya dengan kunci privat. MAGIC (0x05) berfungsi sebagai pemisah domain, memastikan bahwa hasil tanda tangan dari berbagai jenis tidak akan bertabrakan.
Ketika chain_id adalah 0, itu menunjukkan bahwa otorisasi dapat direplay di semua rantai yang kompatibel dengan EVM yang mendukung EIP-7702. Sebelum eksekusi transaksi, Proposer akan melakukan pemeriksaan awal untuk memastikan transaksi bukan merupakan transaksi pembuatan kontrak. Bidang authorization_list dalam transaksi harus berisi setidaknya satu entri otorisasi.
Ketika node mengeksekusi transaksi, pertama-tama meningkatkan nonce pengirim, kemudian melakukan operasi applyAuthorization untuk setiap entri otorisasi. Jika terjadi kesalahan, entri otorisasi tersebut akan dilewati, sementara entri lainnya akan terus diterapkan. Setelah otorisasi selesai, field code dari alamat pemberi otorisasi akan diatur menjadi 0xef0100||address. Pemberi otorisasi dapat menetapkan alamat target delegasi ke alamat 0 untuk menghapus otorisasi.
Praktik Terbaik
Meskipun EIP-7702 memberikan semangat baru bagi ekosistem Ethereum, tetapi juga membawa risiko baru. Berikut adalah aspek-aspek yang perlu diperhatikan oleh para peserta ekosistem:
penyimpanan kunci pribadi
Meskipun masalah kehilangan dana dapat diselesaikan melalui pemulihan sosial setelah EOA didelegasikan, risiko kebocoran kunci pribadi tetap tidak dapat dihindari. Pengguna harus mengutamakan perlindungan kunci pribadi.
pemulihan multi-rantai
Pengguna dapat memilih chainId 0 untuk melakukan delegasi, sehingga berlaku di beberapa rantai. Namun, alamat kontrak yang sama di rantai yang berbeda mungkin memiliki implementasi yang berbeda. Penyedia layanan dompet harus memeriksa kesesuaian rantai delegasi yang berlaku dengan jaringan saat ini, dan mengingatkan pengguna tentang risiko terkait.
tidak dapat diinisialisasi
EIP-7702 tidak dapat memanggil fungsi inisialisasi saat penyebaran seperti kontrak proxy ERC-1967. Pengembang harus melakukan pemeriksaan izin dalam operasi inisialisasi dompet untuk menghindari risiko dibobol.
Manajemen Penyimpanan
Menyerahkan kembali ke alamat kontrak yang berbeda dapat menyebabkan perbedaan struktur penyimpanan, yang dapat mengakibatkan penguncian akun atau kehilangan dana. Pengembang harus mengikuti Rumus Namespace ERC-7201, dan mengalokasikan variabel ke lokasi penyimpanan yang terpisah.
pengisian ulang palsu
Bursa terpusat mungkin menghadapi situasi di mana pengisian ulang kontrak pintar menjadi umum, dan harus memeriksa status transaksi pengisian ulang melalui trace untuk mencegah risiko pengisian ulang palsu.
akun konversi
Akun dapat dengan bebas beralih antara EOA dan SC, memecahkan beberapa asumsi keamanan yang hanya membatasi EOA untuk berpartisipasi dalam proyek. Pengembang harus mengasumsikan bahwa peserta di masa depan mungkin semua adalah kontrak pintar.
kompatibilitas kontrak
Pengembang harus memastikan bahwa kontrak tujuan yang didelegasikan oleh pengguna mengimplementasikan fungsi callback yang sesuai, untuk kompatibilitas dengan token utama.
pemeriksaan pancing
Penyedia layanan dompet harus segera mendukung jenis transaksi EIP-7702, menampilkan kontrak tujuan secara jelas saat pengguna memberikan tanda tangan, dan melakukan analisis otomatis yang mendalam untuk mengurangi risiko serangan phishing.
Ringkasan
EIP-7702 melalui jenis transaksi baru, memberikan EOA kemampuan untuk diprogram dan digabungkan, mengaburkan batas antara EOA dan akun kontrak. Berbagai peserta ekosistem menghadapi banyak tantangan dan peluang, praktik terbaik yang disediakan dalam artikel ini patut dicontoh dalam penerapan praktis.
Silakan buat komentar dalam bahasa Mandarin:
Kesempatan untuk menghasilkan uang akan datang.