Lompat ke konten

ERC-2612 Tanda tangan izin: Cara memeriksa Nonce dan Batas Waktu

Izin ERC-2612 memungkinkan Anda mengatur otorisasi token dengan tanda tangan. Artikel ini menjelaskan pemeriksaan item demi item pada Pemilik, Pembelanja, Nilai, Nonce, dan Batas Waktu.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

Jawaban langsung

ERC-2612 menggunakan tanda tangan EIP-712 untuk menetapkan allowance token ERC-20 tanpa transaksi approve terpisah. Artikel ini menjelaskan pemeriksaan Owner, Spender, Value, Nonce, dan Deadline serta verifikasi keadaan on-chain.

Saat permit yang valid ditambang, kontrak menetapkan allowance(owner, spender) ke value dan menaikkan nonce pemilik sebesar 1. Relayer atau pihak ketiga dapat mengirimkan tanda tangan, sehingga pemilik tidak perlu mengirim transaksi atau membayar gasnya. deadline hanya diperiksa saat permit dikirim; deadline tidak membuat allowance yang sudah ditulis kedaluwarsa otomatis. Selama allowance tidak nol, Spender dapat memanggil transferFrom dalam batasnya.

ERC-2612 Tanda tangan izin: Cara memeriksa Nonce dan Batas Waktu
0 / 5
0 item yang ditinjau; 5 item yang masih belum terselesaikan

Menyelesaikan tinjauan ini tidak membuktikan suatu aset, transaksi, atau sistem aman.

Cara kerjanya

Pesan mengikat owner, spender, value, nonce, dan deadline; domain EIP-712 mengikat tanda tangan ke kontrak token dan ID rantai yang benar. Kontrak hanya menerimanya ketika block.timestamp <= deadline; setelah berhasil, kontrak menulis allowance dan menaikkan nonce, sedangkan deadline yang lebih lambat tidak mengurangi allowance yang sudah ditulis. Halaman berbahaya dapat mengganti Spender dengan kontrak serangan, menetapkan value ke 2^256-1, atau membuat deadline sangat jauh.

Operasi on-chain harus dibagi menjadi empat lapisan: antarmuka dompet, siaran RPC, eksekusi kontrak, dan finalitas blok. Keberhasilan lapisan mana pun tidak dapat menggantikan verifikasi lapisan lainnya. Hasil nyata didasarkan pada penerimaan transaksi, peristiwa, penyimpanan kontrak, dan saldo pada rantai yang benar.

Contoh

Pengguna hanya ingin mengotorisasi 100 USDC, tetapi value yang ditandatangani adalah 2^256-1 dan deadline-nya sepuluh tahun lagi. Panggilan yang berhasil menetapkan maksimum itu dan menaikkan nonce; walaupun transaksi pertama hanya mentransfer 100, penyerang dapat mentransfer USDC yang disetor kemudian selama allowance masih ada. Setelah deadline lewat, permit yang belum dipakai tidak dapat dikirim, tetapi allowance yang sudah ditulis tidak otomatis menjadi 0. Cabut dengan approve(spender, 0) atau perubahan tepercaya lainnya.

Gas, tarif pajak, dan waktu blok dalam kasus ini hanya menunjukkan urutan besarnya. Status kontrak saat ini, likuiditas kumpulan, dan izin harus dibaca sebelum pengoperasian. Jumlah secara bersamaan mencatat jumlah yang dapat dibaca manusia, nilai dolar, dan bilangan bulat mentah secara on-chain untuk menghindari kesalahan presisi.

Resiko

Bandingkan keuntungan protokol dengan kerugian keluar dalam kasus terburuk. Asumsikan Gas meningkat lima kali lipat, dampak harga meningkat dua kali lipat, dan stablecoin didiskon sebesar 5%. Jika Anda bergabung untuk satu hari lagi, Anda tidak akan bisa keluar. Jika imbal hasil mingguan atau bulanan tidak dapat menutupi hambatan ini, apa yang disebut dengan imbal hasil tinggi tidak memberikan kompensasi yang memadai. Kegagalan protokol apa pun tidak boleh membuat seluruh dompet tidak mampu membayar bahan bakar atau mentransfer aset.

Kesalahpahaman umum

  • Mitos 1: Tampilan front-end adalah fakta pada rantai. Front end mungkin di-cache, terlambat diindeks, atau terhubung ke jaringan yang salah dan harus divalidasi silang.

  • Mitos 2: Peningkatan Gas atau Slippage dapat mengatasi kegagalan apa pun. Gas hanya mempengaruhi penyortiran, dan slippage hanya mengurangi harga; kesalahan izin, Nonce, dan kondisi kontrak tidak akan diperbaiki secara otomatis.

  • Mitos 3: Pengujian dalam jumlah kecil yang berhasil berarti keamanan permanen. Peningkatan administrator, parameter dinamis, dan perubahan likuiditas akan mengubah hasil dan harus ditinjau sebelum setiap perluasan posisi.

Topik terkait

Sumber

Navigasi

Cari di wiki...