Solo a fini educativi; non costituisce consulenza finanziaria. Gli investimenti possono causare perdite.
Risposta diretta
L’autorizzazione del wallet, di solito approvazione del token, è un’allowance on-chain dal proprietario a un solo indirizzo spender. In ERC-20 approve(spender, amount) la registra e lo spender può chiamare transferFrom entro il residuo. Non riceve la chiave privata né diritti su altri token. L’approvazione cambia lo stato on-chain; il login è di norma un messaggio off-chain. Un permit tipizzato come ERC-2612 crea allowance tramite dati firmati senza gas del proprietario, ma resta autorizzazione. ETH non usa allowance ERC-20. Controlla token, spender, importo, durata e chain; la connessione al sito non è il permesso.
Il completamento di questa revisione non dimostra che una risorsa, una transazione o un sistema siano sicuri.
Come funziona
- L’utente invia approve al contratto. 0 significa nessun residuo e un valore enorme appare come illimitato.
- Lo spender usa transferFrom dopo. Il contratto verifica saldo e allowance, trasferisce e normalmente riduce l’allowance.
- Cambiare l’allowance è una transizione on-chain. Sostituire un valore positivo può creare una corsa nel mempool; usa zero-prima confermato se richiesto.
- ERC-2612 permit è un messaggio firmato. Controlla token, chain ID, nonce, deadline, spender e importo; altri possono inviarlo.
- Approva solo spender verificato e importo necessario, simula la chiamata e controlla receipt, eventi Approval/Transfer, saldo e allowance. Revoca con 0 sulla rete corretta; non annulla trasferimenti confermati.
Esempio
Alice ha 100 USDC e approva un router verificato per 40. Può spendere al massimo 40 USDC, non ETH o altri token. Dopo 15 restano 25. Un’approvazione illimitata copre anche depositi futuri; verifica contratto, usa un importo finito e invia approve(router, 0) quando non serve.
Rischi
- Uno spender malevolo o aggiornato può usare tutti i token dell’allowance attiva.
- Un’approvazione illimitata espone i depositi futuri.
- Chain, contratto, indirizzo, decimali o calldata errati possono mascherare un rischio.
- Modifica o revoca pendente può competere con transferFrom; lo zero non annulla un trasferimento già eseguito.
- Le firme permit possono essere inviate dopo; disconnettere il sito non le invalida.
- Token non standard, fee, rebasing, in pausa o con callback possono differire; controlla contratto e stato.
Idee sbagliate comuni
- «Connettere il wallet concede il diritto di spendere». L’autorità nasce da approvazione, permit o transazione confermata.
- «Una firma senza gas è innocua». Un relayer può inviarla più tardi.
- «Disconnettere il sito revoca l’approvazione». Connessione e allowance on-chain sono separate.
- «Illimitato significa prelievo immediato». Servono ancora call, saldo e implementazione compatibile, ma manca il limite.
- «Una simulazione riuscita prova la sicurezza». Dipende dallo stato; verifica chain, calldata, destinatario, codice, receipt e saldi.
Argomenti correlati
- Token ERC-20
- Corsa dell’approvazione ERC-20
- Nonce e deadline ERC-2612
- Rischio della firma Permit2
- Simulazione della transazione
Fonti
- ERC-20: Token Standard - Ethereum Improvement Proposals (consultato: 2026-08-22)
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (consultato: 2026-08-22)
- Ethereum security and scam prevention - Ethereum.org (consultato: 2026-08-22)