Certified Crypto Market

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.

CCM ResearchCertified Crypto Market3 ott 20264 min di lettura

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 6Clicca su revoca e conferma nel wallet. Leggi la richiesta del wallet: dovrebbe essere una chiamata approve che azzera l’allowance (oppure, per gli NFT, una chiamata setApprovalForAll impostata su false).
  7. 7Ripeti per ogni rete. Poi aggiorna la pagina per confermare che le approvazioni sono sparite.

Quali approvazioni revocare per prime

Tipo di approvazioneLivello di rischioAzione
Allowance illimitata a un contratto sconosciutoAltoRevocare subito
setApprovalForAll su una collezione di NFT di valoreAltoRevocare, a meno che tu non stia mettendo in vendita attivamente
Allowance illimitata a un’app che non usi piùMedioRevocare
Allowance limitata a un’app affidabile che usi spessoBassoMantenere o ridurre
Approvazione a un contratto coinvolto in un exploitAltoRevocare 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.

Questo articolo ha solo scopo educativo e non costituisce consulenza finanziaria, legale o fiscale. Le crypto sono volatili e puoi perdere denaro. Controlla prezzi in tempo reale e dettagli del progetto nella pagina di ogni moneta prima di agire.

Continua a leggere

Altro in Guide pratiche →