Bayangkan sebuah wallet yang dulu pernah digunakan untuk DeFi. USDT-nya telah dipindahkan ke tempat lain, aplikasi lama terputus, dan alamatnya dibiarkan kosong. Berbulan-bulan kemudian, pemiliknya mengirim USDT segar kembali ke alamat yang sama pada jaringan yang sama.

Setoran itu bisa menempatkan uang dalam jangkauan izin yang diberikan jauh sebelum uang itu tiba. Ketika pemilik menyetujui aplikasi untuk membelanjakan USDT, kontrak token mencatat sebuah allowance (izin penggunaan) untuk pihak yang diberi izin tersebut. Allowance dan saldo wallet adalah dua besaran yang terpisah. Transfer biasa yang mengosongkan wallet tidak secara otomatis membatalkan allowance.

Jika masih ada izin yang tersisa, kontrak yang disetujui itu masih dapat membelanjakan USDT yang baru disetor, hingga jumlah yang tersisa. Ini berlaku untuk token tertentu dan pihak yang diberi izin tertentu, bukan semua aset yang ada di dalam wallet. Ini tidak berarti setiap aplikasi lama akan mengambil uangnya; artinya, saldo yang kosong tidak menyelesaikan apa yang sebenarnya diizinkan untuk dilakukan aplikasi tersebut.

Perbedaan MetaMask antara memutuskan koneksi dan mencabut izin menyelesaikan kontradiksi yang tampak. Memutuskan koneksi menghentikan koneksi situs tersebut ke wallet. Mencabut izin mengubah persetujuan belanja di blockchain dan menimbulkan biaya fee jaringan. Untuk skenario wallet hipotetis ini, pencabutan adalah tindakan yang menghapus izin sisa pihak yang diberi izin. Mengosongkan wallet hanya membuat wallet tersebut tidak memiliki apa pun untuk dibelanjakan saat itu.

Sumber: https://support.metamask.io/more-web3/learn/how-to-revoke-smart-contract-allowances-token-approvals/
Gambar: Ilustrasi editorial buatan AI.