Vai al contenuto

Autorizzazione del wallet

L'autorizzazione del wallet è un permesso on-chain che consente a uno spender specifico di chiamare transferFrom per i token dell'utente. Spiega la differenza dalle firme, la durata delle autorizzazioni illimitate e come verificarle o revocarle.

Aggiornato

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.

Autorizzazione del wallet
0 / 5
0 elementi recensiti; 5 elementi ancora irrisolti

Il completamento di questa revisione non dimostra che una risorsa, una transazione o un sistema siano sicuri.

Come funziona

  1. L’utente invia approve al contratto. 0 significa nessun residuo e un valore enorme appare come illimitato.
  2. Lo spender usa transferFrom dopo. Il contratto verifica saldo e allowance, trasferisce e normalmente riduce l’allowance.
  3. Cambiare l’allowance è una transizione on-chain. Sostituire un valore positivo può creare una corsa nel mempool; usa zero-prima confermato se richiesto.
  4. ERC-2612 permit è un messaggio firmato. Controlla token, chain ID, nonce, deadline, spender e importo; altri possono inviarlo.
  5. 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

Fonti

Navigazione

Cerca nella wiki...