Hanya untuk tujuan edukasi; bukan nasihat investasi. Investasi dapat menimbulkan kerugian.
Jawaban langsung
Otorisasi dompet, biasanya disebut approval token, adalah allowance on-chain dari pemilik token kepada satu alamat spender. Pada ERC-20 approve(spender, amount) mencatat allowance, lalu spender dapat memanggil transferFrom dalam batas tersisa. Spender tidak memperoleh private key atau hak token lain. Approval mengubah keadaan on-chain, sedangkan login signature biasanya pesan off-chain. Permit bertipe seperti ERC-2612 adalah data bertanda tangan yang dapat membuat allowance tanpa pemilik membayar gas transaksi itu; tetap merupakan otorisasi. ETH tidak memakai allowance ERC-20. Periksa token, spender, jumlah, durasi, dan chain; koneksi situs bukan izin belanja.
Menyelesaikan tinjauan ini tidak membuktikan suatu aset, transaksi, atau sistem aman.
Cara kerja
- Pengguna mengirim approve ke kontrak token. 0 berarti tidak ada sisa izin dan nilai besar biasa ditampilkan tanpa batas.
- Spender memakai transferFrom kemudian. Kontrak memeriksa saldo dan allowance, mentransfer token, lalu biasanya menguranginya.
- Perubahan allowance adalah transisi keadaan on-chain. Mengganti nilai positif dapat berlomba di mempool; gunakan nol-dulu setelah konfirmasi bila perlu.
- ERC-2612 permit adalah pesan bertanda tangan. Periksa token, chain ID, nonce, deadline, spender, dan jumlah; pihak lain dapat mengirimnya.
- Setujui hanya spender terverifikasi dan jumlah perlu, simulasikan panggilan, lalu cek receipt, event Approval/Transfer, saldo, dan allowance. Cabut dengan 0 di jaringan benar; transfer terkonfirmasi tidak batal.
Contoh
Alice memiliki 100 USDC dan menyetujui router swap terverifikasi sebesar 40. Router hanya dapat memakai 40, bukan ETH atau token lain. Setelah swap 15 tersisa 25. Approval tanpa batas juga mencakup setoran masa depan; verifikasi kontrak, gunakan jumlah terbatas, dan kirim approve(router, 0) bila selesai.
Risiko
- Spender jahat atau yang di-upgrade dapat memakai semua token dalam allowance.
- Approval tanpa batas mencakup setoran mendatang.
- Chain, kontrak, alamat, desimal, atau calldata salah dapat menyamarkan permintaan berbahaya.
- Perubahan atau pencabutan tertunda dapat berlomba dengan transferFrom; nol terkonfirmasi tidak membalikkan transfer.
- Tanda tangan permit dapat dikirim kemudian; memutus situs tidak membatalkannya.
- Token nonstandar, fee, rebasing, paused, atau callback dapat berbeda; periksa kontrak dan keadaan akhir.
Kesalahpahaman umum
- “Menghubungkan dompet memberi akses belanja.” Kewenangan muncul dari approval, permit, atau transaksi terkonfirmasi.
- “Tanda tangan tanpa gas aman.” Relayer dapat membayar gas dan mengirimnya nanti.
- “Memutus situs mencabut approval.” Status koneksi terpisah dari allowance on-chain.
- “Tanpa batas berarti langsung mengambil semua.” Tetap perlu panggilan, saldo, dan implementasi yang sesuai, hanya batas jumlah hilang.
- “Simulasi berhasil membuktikan aman.” Simulasi bergantung keadaan; verifikasi chain, calldata, penerima, kode, receipt, dan saldo.
Topik terkait
- Token ERC-20
- Perlombaan approval ERC-20
- Nonce dan deadline ERC-2612
- Risiko tanda tangan Permit2
- Simulasi transaksi
Sumber
- ERC-20: Token Standard - Ethereum Improvement Proposals (diakses: 2026-08-22)
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (diakses: 2026-08-22)
- Ethereum security and scam prevention - Ethereum.org (diakses: 2026-08-22)