Come revocare le approvazioni dei token su Ethereum e altre chain EVM
Scopri passo dopo passo come revocare le approvazioni su Ethereum e altre chain EVM, quali approvazioni sono rischiose, quanto costa revocarle e cosa la revoca non può annullare.
Per revocare le approvazioni dei token su Ethereum o su un’altra chain EVM, collega il tuo wallet a uno strumento affidabile per il controllo delle approvazioni (come Revoke.cash o lo strumento per le approvazioni dei token di un block explorer), seleziona la rete, verifica quali contratti possono spendere i tuoi token e invia una transazione di revoca per quelli che non usi più o che non riconosci. Ogni revoca è una transazione on-chain che azzera l’allowance e costa una piccola commissione di gas.
Le approvazioni sono uno dei rischi più trascurati dell’autocustodia. Ogni volta che fai trading su un exchange decentralizzato o usi un’app DeFi, probabilmente concedi a un contratto il permesso di spostare i tuoi token. Questi permessi restano attivi a tempo indeterminato. Se in seguito quel contratto viene sfruttato da un attacco, o se ne hai approvato uno malevolo, i tuoi token possono essere sottratti senza bisogno di altre firme da parte tua.
Come funzionano le approvazioni dei token
I token ERC-20, lo standard della maggior parte dei token su Ethereum, includono una funzione approve. Quando approvi un contratto, imposti un’allowance: l’importo massimo di quel token che il contratto può trasferire dal tuo indirizzo.
Molte app richiedono un’allowance illimitata così non devi approvare di nuovo a ogni operazione. È comodo, ma significa che il contratto può spostare l’intero saldo di quel token in qualsiasi momento, ora o in futuro.
Gli NFT funzionano in modo simile. La funzione setApprovalForAll concede a un operatore il permesso di spostare ogni NFT di una collezione che possiedi, ed è per questo che i drainer di NFT la prendono di mira.
Esiste anche uno schema più recente: le firme permit. Alcuni token e sistemi (incluso Permit2 di Uniswap) ti permettono di concedere un’allowance firmando un messaggio off-chain invece di inviare una transazione. Queste firme sembrano innocue ma possono autorizzare trasferimenti. Il nostro articolo su ice phishing e firme permit approfondisce questo rischio.
Passo dopo passo: come revocare le approvazioni
- 1Apri direttamente uno strumento affidabile. Digita tu l’indirizzo o usa un segnalibro. Tra le opzioni note ci sono Revoke.cash e lo strumento di controllo delle approvazioni dei token su Etherscan e altri explorer. Esistono falsi siti di «revoke», quindi non seguire mai link da messaggi diretti o annunci.
- 2Collega il wallet o incolla il tuo indirizzo. Incollando un indirizzo puoi vedere le approvazioni senza collegarti. Devi collegarti solo per inviare le transazioni di revoca.
- 3Scegli la rete. Le approvazioni valgono per singola chain. Controlla Ethereum e poi ogni rete che usi, come Arbitrum, Optimism, Base, Polygon o BNB Smart Chain.
- 4Esamina l’elenco. Per ogni approvazione vedrai il token, il contratto autorizzato a spendere, l’importo dell’allowance e spesso la data in cui è stata concessa.
- 5Individua cosa revocare. Dai la priorità alle allowance illimitate, ai contratti che non riconosci, alle app che non usi più e a qualsiasi contratto coinvolto in un exploit noto.
- 6Clicca su revoca e conferma nel wallet. Leggi la richiesta del wallet: dovrebbe essere una chiamata
approveche azzera l’allowance (oppure, per gli NFT, una chiamatasetApprovalForAllimpostata su false). - 7Ripeti per ogni rete. Poi aggiorna la pagina per confermare che le approvazioni sono sparite.
Quali approvazioni revocare per prime
| Tipo di approvazione | Livello di rischio | Azione |
|---|---|---|
| Allowance illimitata a un contratto sconosciuto | Alto | Revocare subito |
setApprovalForAll su una collezione di NFT di valore | Alto | Revocare, a meno che tu non stia mettendo in vendita attivamente |
| Allowance illimitata a un’app che non usi più | Medio | Revocare |
| Allowance limitata a un’app affidabile che usi spesso | Basso | Mantenere o ridurre |
| Approvazione a un contratto coinvolto in un exploit | Alto | Revocare subito |
Cosa la revoca non può fare
La revoca è preventiva, non una cura. Non potrà:
- Restituire token già trasferiti.
- Proteggerti se la tua seed phrase o la tua chiave privata sono state rubate. In quel caso l’attaccante può firmare qualsiasi cosa: sposta gli asset rimanenti in un nuovo wallet come descritto in cosa fare subito se il tuo wallet è compromesso.
- Annullare in modo affidabile le firme permit off-chain che hai già concesso. Queste seguono proprie regole di scadenza e di nonce, quindi se hai firmato un permit sospetto, la risposta più sicura è spostare i token interessati in un wallet nuovo.
Ridurre il rischio delle approvazioni in futuro
- Imposta allowance personalizzate. Molti wallet ti permettono di modificare l’importo nella richiesta di approvazione. Approva solo ciò che intendi spendere.
- Usa un wallet separato per gli esperimenti. Tieni un burner wallet per nuove app, mint e airdrop, e conserva i fondi a lungo termine in un wallet che non si collega mai a siti sconosciuti.
- Leggi ogni richiesta di firma. Se un sito ti chiede di firmare un messaggio che non capisci, fermati.
- Controlla regolarmente le approvazioni. Ogni pochi mesi e dopo aver provato qualsiasi nuova app.
- Controlla anche i siti collegati. Connessione e approvazione sono cose diverse; vedi permessi del wallet e siti collegati.
Errori comuni
- Usare un falso strumento di revoca trovato tramite un annuncio nei motori di ricerca o una risposta sui social media.
- Revocare su Ethereum ma dimenticare lo stesso wallet sulle reti layer 2.
- Pensare che scollegare un sito dal wallet ne rimuova le approvazioni. Non è così.
- Ignorare i token di scarso valore: spesso gli attaccanti portano via tutto quello che possono.
In sintesi
Le approvazioni dei token sono permessi permanenti che sopravvivono al momento in cui li hai concessi. Controllarle è gratuito, revocarle costa poco, e farlo regolarmente chiude una delle vie più comuni usate dai drainer. Rendilo parte della tua routine, approva solo ciò che ti serve e conserva le tue disponibilità principali in un wallet che firma raramente qualcosa.
Domande frequenti
Che cos’è un’approvazione di token?
Un’approvazione di token è un permesso che concedi a uno smart contract per spostare un determinato token dal tuo wallet, fino a un importo stabilito. Gli exchange decentralizzati e le altre app DeFi hanno bisogno delle approvazioni per funzionare. Il permesso resta attivo finché non lo revochi o finché l’allowance non viene esaurita, anche se non visiti mai più l’app.
Revocare un’approvazione costa gas?
Sì. La revoca è una transazione on-chain che azzera l’allowance, quindi paghi una normale commissione di rete. Sulla mainnet di Ethereum può essere consistente; sulle reti layer 2 di solito è economica. Visualizzare le tue approvazioni è gratuito.
Revocare un’approvazione mi farà riavere i token rubati?
No. La revoca impedisce solo i trasferimenti futuri da parte di quel contratto. I token già sottratti non possono essere recuperati revocando. Se la tua seed phrase o la tua chiave privata sono state esposte, la revoca non basta: sposta i fondi rimanenti in un nuovo wallet.
Ogni quanto dovrei controllare le mie approvazioni di token?
Una buona abitudine è rivederle ogni pochi mesi e dopo ogni sessione in cui hai interagito con un’app nuova o sconosciuta. Controllale anche subito se sospetti di aver firmato qualcosa di malevolo.
