WATS Wallet logoWATS Wallet
Tecnico8 min di lettura

Che cos'è la firma alla cieca (blind signing)? Perché non dovresti mai firmare ciò che non riesci a leggere

La firma alla cieca è l'approvazione di una transazione o di un messaggio che il tuo wallet non riesce a mostrarti in forma leggibile: calldata grezzo, un blocco esadecimale opaco o un semplice hash. Ecco perché eth_sign non andrebbe mai approvato, come i drainer vivono di richieste illeggibili, e come clear signing e simulazione ti permettono di leggere prima di firmare.

La firma alla cieca è l'approvazione di una transazione o di un messaggio che il tuo wallet non è in grado di mostrare in forma leggibile da un essere umano: calldata grezzo, un blocco esadecimale opaco o un nudo hash da 32 byte al posto di una frase chiara su ciò che la firma autorizza. Non è un fallimento della crittografia: la firma è perfettamente valida e porta pieno potere on-chain, quindi firmare dati illeggibili concede permessi che non hai mai esaminato — ed è per questo che quasi ogni wallet drainer è costruito attorno a essa. Il rimedio è il clear signing, la firma chiara — il wallet decodifica la richiesta in una frase che puoi verificare e la simula per mostrarti in anteprima quali asset si muoverebbero davvero — più un'abitudine che nessun software può fornire al posto tuo: rifiuta tutto ciò che non riesci a leggere. Poiché la firma è l'istante esatto in cui il potere passa di mano, conta anche che la chiave che la produce sia soltanto tua: il WATS Hot Wallet è non custodiale su Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana e TON, quindi nulla si muove senza una firma che hai approvato personalmente.

Che cos'è la firma alla cieca?

La firma alla cieca è qualsiasi approvazione in cui la richiesta e ciò che ne viene mostrato si sono separati. La catena esegue quello che dicono i byte firmati; il tuo schermo è l'unico posto in cui la tua intenzione e il contenuto reale possono essere confrontati. Quando lo schermo mostra esadecimale, quel confronto è impossibile — e gli attaccanti costruiscono esattamente su quell'impossibilità.

Il divario è di informazione, non di matematica. Una firma non codifica "ho accettato di scambiare 100 USDC"; codifica "questa chiave autorizza questi byte". Se quei byte significhino uno swap, un'approvazione illimitata o un ordine off-chain che vende il tuo NFT per nulla è una domanda a cui può rispondere solo l'interfaccia — e la firma alla cieca è ciò che accade quando l'interfaccia si rifiuta di rispondere.

Dove compare la firma alla cieca

La firma alla cieca non è una singola funzione: è una famiglia di situazioni in cui ciò che viene mostrato non rende giustizia ai dati. I soliti sospetti:

Tipo di richiestaChe cosa vedi di solitoRischio
eth_signUn hash grezzo o un blocco esadecimaleCritico: non verificabile per costruzione; da rifiutare sempre
Dati tipizzati grezzi (EIP-712)Campi strutturati: spender, importo, deadlineAlto quando il significato non è chiaro: un campo leggibile non è un campo compreso
Transazione verso un contrattoUn'azione decodificata, oppure calldata grezzo quando il wallet non riesce a decodificarlaDipende interamente dalla decodifica del wallet
Schermo hardware che mostra solo l'hashSoltanto un hash sul display del dispositivoAlto: il dispositivo conferma la presenza, non la comprensione

Il motivo comune a tutte e quattro le righe: il rischio segue la leggibilità. Ovunque la rappresentazione si assottigli, il pericolo si ispessisce.

Perché eth_sign è così pericoloso?

Tra i metodi di firma, eth_sign è la forma più pura del problema: chiede al tuo wallet di firmare un valore arbitrario di 32 byte, mostrato come esadecimale grezzo, senza nessuno dei prefissi che marcano un messaggio come "solo un messaggio". Poiché l'input non porta alcuna separazione di dominio, potrebbe essere qualsiasi cosa — compreso l'hash di una transazione che sposta asset fuori dal tuo account. Non c'è modo, nemmeno per un esperto attento, di verificare la richiesta a partire dalla sola finestra di conferma; è non verificabile per costruzione. È per questo che i principali wallet hanno deprecato il metodo o lo hanno rimosso del tutto, ed è per questo che la regola pratica non ammette eccezioni: nel 2026, un sito che chiede eth_sign o è pericolosamente obsoleto o è apertamente ostile, e in entrambi i casi la risposta è rifiutare.

Che cosa ti mostra davvero un hardware wallet?

Un hardware wallet tiene le chiavi offline e mostra le richieste su uno schermo che il malware non può alterare — ma quello schermo vale solo quanto ciò che vi viene rappresentato. Per le interazioni con contratti che il dispositivo non comprende, molti dispositivi storicamente ripiegavano sul mostrare soltanto un hash, dietro un'impostazione chiamata letteralmente blind signing. Confermare un hash su uno schermo fidato dimostra che hai premuto il pulsante; non dimostra nulla su ciò che hai approvato. La promessa della sicurezza hardware è ciò che vedi è ciò che firmi — una promessa che crolla in silenzio quando ciò che vedi sono trentadue byte di rumore. L'isolamento hardware protegge la chiave, non la decisione.

Come sfruttano i drainer la firma alla cieca?

Un kit di drainer è, prima di tutto, un attacco all'esperienza di firma. Il sito sembra una pagina di mint, il claim di un airdrop o un portale di assistenza; la richiesta che fa partire è un'approvazione illimitata di token, un setApprovalForAll che copre un'intera collezione NFT, oppure una firma Permit od ordine off-chain che sposterà gli asset più tardi, senza alcuna ulteriore richiesta. Ciò che tutte queste hanno in comune è la presentazione: la vittima ha firmato una richiesta che non poteva leggere — o che ha letto senza capirla — e il drenaggio è seguito. Il copione completo è descritto in che cos'è un wallet drainer, e la meccanica delle approvazioni — compreso il perché una sola firma senza gas può svuotare il saldo di un token — in le approvazioni dei token e Permit spiegate. Entrambi arrivano alla stessa causa profonda: il furto avviene nell'istante della firma, e la firma alla cieca è ciò che permette all'attaccante di superare quell'istante senza essere smascherato.

Che cos'è il clear signing — e a che punto è?

La risposta del settore è il clear signing: il principio per cui un wallet deve tradurre ogni richiesta in termini che una persona possa verificare prima di chiederle una firma. Nel 2026 poggia su due meccanismi. Decodifica: il wallet riconosce il contratto e la funzione chiamati e li rende come una frase — approva il token X, spender Y, importo illimitato — con iniziative come ERC-7730 che costruiscono registri aperti di metadati, così che anche gli schermi degli hardware wallet possano mostrare le chiamate ai contratti in termini umani anziché come un hash. Simulazione: il wallet, o un servizio che interroga, esegue la transazione contro lo stato attuale della catena prima che tu firmi e ne mostra in anteprima l'esito — quali asset escono, quali entrano, quali approvazioni cambiano. La simulazione è una previsione, non una garanzia — lo stato può spostarsi tra l'anteprima e l'inclusione, e un contratto ostile può comportarsi diversamente una volta minato — ma un'anteprima che mostra i tuoi NFT partire verso un indirizzo sconosciuto blocca sul nascere la maggior parte dei drenaggi. Nel 2026 l'adozione resta disomogenea tra wallet e catene, quindi verifica che cosa mostra davvero il tuo wallet per un'azione di routine prima di fidarti che ti avvisi.

Regole pratiche: tratta l'illeggibile come inaffidabile

Non serve saper leggere il calldata per restare al sicuro: servono abitudini che facciano fallire in sicurezza le richieste illeggibili:

  • Non approvare mai una richiesta eth_sign. Non le resta alcun uso legittimo diffuso: tratta la richiesta stessa come il campanello d'allarme.
  • Preferisci i wallet che decodificano e simulano. Se il tuo wallet mostra esadecimale grezzo per un'azione di routine, è un problema del wallet per cui vale la pena cambiare.
  • Leggi i campi che contano nelle richieste di dati tipizzati: spender, importo, deadline, operator. Un importo illimitato o uno spender sconosciuto sono un segnale di stop.
  • Tieni disattivate le modalità blind signing dell'hardware a meno che tu non capisca esattamente perché una specifica transazione le richieda — e disattivale di nuovo subito dopo.
  • Connettiti con intenzione. La maggior parte delle richieste malevole arriva da connessioni frettolose: la procedura di come collegare il wallet a una dApp in sicurezza tiene sorvegliata la porta d'ingresso.
  • Illeggibile equivale a inaffidabile. Rifiutare una firma non costa altro che un nuovo tentativo. Una firma sbagliata può costare tutto. L'asimmetria decide per te.

Dove si colloca WATS

La firma alla cieca è un problema di rappresentazione. Decodifica e simulazione possono presentare una richiesta in termini leggibili, ma nessun wallet — WATS incluso — può decidere al posto tuo se quella richiesta è davvero quella che vuoi. Ciò che un wallet risolve, invece, è chi controlla la chiave che trasforma quella decisione in potere. Il WATS Hot Wallet è pienamente non custodiale: sei tu a detenere le chiavi, WATS non detiene mai una chiave, e nessun trasferimento lascia il tuo account senza una firma che hai approvato su Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana o TON. Questo elimina un'intera categoria di rischio — nessuno può firmare al posto tuo — lasciando la disciplina di lettura di cui sopra interamente nelle tue mani.

La WATS NFC Metal Card occupa lo stesso posto onesto. Non memorizza chiavi private e non decodifica il calldata: è un dispositivo tap-to-authenticate con un ID univoco, abbinato a un solo dispositivo, che si autentica verso le chiavi che risiedono nelle app WATS. Aggiunge un fattore fisico — qualcosa che tieni in mano, non solo qualcosa sul tuo schermo — ma non può rendere leggibile una richiesta illeggibile. Nulla può farlo, tranne la finestra di conferma stessa.

Tratta quindi le due metà separatamente. La metà della lettura è un'abitudine: non firmare mai ciò che non riesci a leggere e rifiuta tutto ciò che arriva come esadecimale nudo. La metà della custodia è una scelta che fai una volta sola: tieni le tue chiavi in un wallet non custodiale e lascia il potere di firma dove deve stare. Installa il WATS Hot Wallet, trasforma ogni finestra illeggibile in un rifiuto automatico e abbina una WATS NFC Metal Card al tuo dispositivo se vuoi un fattore fisico che ti autentichi verso le chiavi nelle tue app WATS.

Domande frequenti

La firma alla cieca è la stessa cosa di eth_sign?

No — eth_sign ne è il caso più estremo. La firma alla cieca è qualsiasi approvazione in cui non riesci a leggere che cosa stai autorizzando: calldata grezzo, dati tipizzati opachi o uno schermo hardware che mostra solo un hash. eth_sign va oltre perché è non verificabile in linea di principio, ed è per questo che i principali wallet lo hanno deprecato o rimosso. Ogni richiesta eth_sign è firma alla cieca, ma si firma alla cieca anche in moltissime finestre di transazione del tutto ordinarie.

Un hardware wallet mi protegge dalla firma alla cieca?

Solo in parte. Un hardware wallet tiene le tue chiavi offline e mostra le richieste su uno schermo che il malware non può manomettere — ma se il dispositivo non riesce a decodificare una chiamata a un contratto può mostrare soltanto un hash, e confermare un hash non ti dice nulla su ciò che hai approvato. La protezione migliora man mano che gli standard di metadati per il clear signing raggiungono gli schermi dei dispositivi, già nel 2026. L'hardware isola la chiave; da solo non ti spiega la transazione.

Un wallet non custodiale mi protegge dalla firma alla cieca?

Protegge la chiave, non la decisione. Non custodiale significa che solo tu puoi produrre una firma — il WATS Hot Wallet ne è un esempio: sei tu a detenere le chiavi, WATS non detiene mai una chiave, e nulla si muove su Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana o TON senza la tua approvazione. Questo elimina il rischio che qualcun altro firmi al posto tuo, ma una firma che approvi tu stesso resta comunque vincolante, quindi leggere la richiesta prima di approvarla rimane compito tuo. La WATS NFC Metal Card aggiunge un fattore fisico tap-to-authenticate per le chiavi che risiedono nelle app WATS — non memorizza alcuna chiave privata e non decodifica il calldata.

Che cosa devo fare quando un wallet mostra solo esadecimale grezzo?

Rifiutarla. Una richiesta di firma che non riesci a leggere è una richiesta che non puoi valutare, e rifiutarla non ti costa altro che un nuovo tentativo. Poi indaga: verifica se la dApp è autentica, se il tuo wallet supporta decodifica e simulazione per quella catena, e se l'azione richiede davvero quel metodo. Se esiste una strada leggibile — una finestra decodificata o un'anteprima simulata — usala. Se non ne esiste nessuna, tratta la richiesta come inaffidabile e allontanati.