Ketika pengguna DeFi berinteraksi dengan protokol pertama kali — katakanlah memberikan likuiditas di Uniswap atau mendepositkan ke Aave — biasanya ada dua transaksi: “Setujui” (yang mengizinkan kontrak menggunakan token Anda) dan kemudian “Swap” atau “Deposit” itu sendiri. Banyak antarmuka default ke persetujuan tak terbatas untuk menghilangkan biaya gas berulang, tetapi ini menciptakan vektor keamanan yang besar jika kontrak tersebut kemudian dieksploitasi.
Cara Kerja Persetujuan ERC-20
Standar ERC-20 menyertakan fungsi approve() yang memungkinkan alamat lain (smart contract atau wallet) untuk menghabiskan token atas nama Anda hingga limit yang ditentukan.
“`
token.approve(contractAddress, amount)
“`
Persetujuan tak terbatas menetapkan amount ke nilai maksimum yang memungkinkan:
“`
token.approve(contractAddress, type(uint256).max)
// = 115,792,089,237,316,195… token (secara efektif tidak terbatas)
“`
Mengapa Ini Risiko
Persetujuan bertahan di blockchain secara permanen sampai Anda secara eksplisit mencabutnya. Jika kontrak memiliki bug, dieksploitasi, atau berniat jahat:
- Penyerang dapat memanggil
transferFrom()untuk memindahkan semua token Anda - Tanpa tindakan lebih lanjut dari Anda
- Selama jumlah izin yang disetujui
Persetujuan Tepat vs. Tak Terbatas
| Jenis | Cara kerja | Trade-off |
|---|---|---|
| Tepat | Setujui persis jumlah yang diperlukan | Biaya gas lebih tinggi (persetujuan berulang), lebih aman |
| Tak terbatas | Setujui uint256.max |
Satu transaksi lebih murah, risiko kontrak tinggi |
Cara Mencabut Persetujuan
Beberapa tools untuk memeriksa dan mencabut persetujuan token:
- Revoke.cash — antarmuka web paling populer untuk mencabut persetujuan
- Etherscan Token Approvals — cek di etherscan.io/tokenapprovalchecker
- Rabby Wallet — wallet dengan peringatan persetujuan built-in
- De.fi — scanner keamanan termasuk audit persetujuan
Kritik
Banyak pengguna DeFi pemula tidak menyadari bahwa persetujuan tak terbatas membuat dompet mereka rentan bahkan setelah mereka menarik dana dari protokol. Ini adalah vektor serangan umum dalam exploit DeFi.
Sentimen Media Sosial
Di X/Twitter, topik ini sering muncul setelah exploit DeFi besar di mana persetujuan tak terbatas dimanfaatkan. Di komunitas kripto Indonesia, kesadaran tentang revoke.cash perlahan meningkat.
Terakhir diperbarui: 2026-04
Istilah Terkait
Lihat Juga
Sumber
- Revoke.cash (https://revoke.cash) — tool pencabutan izin token.
- Etherscan Token Approvals (https://etherscan.io/tokenapprovalchecker) — pemeriksa persetujuan.
- Consensys Security (https://consensys.net/diligence) — panduan keamanan smart contract.