Uno dei tratti distintivi di Web3 è fornire agli utenti il ​​pieno controllo sulla privacy e sul modo in cui interagiscono con le sue piattaforme. Scopri come gestire approvazioni e permessi in MetaMask.

Anche se la tua esperienza di interazione con blockchain come Ethereum è limitata all'invio di semplici transazioni tra portafogli, avrai approvato, autorizzato o firmato la tua transazione. Ciò significa semplicemente che stai confermando la sua presentazione alla blockchain.

Questo stesso processo si applica anche all'interazione con dapps in Web3: c'è molto da acconsentire, approvare e consentire. Ma cosa c’è veramente nell’approvazione di MetaMask?

Per risolvere questa domanda, dovremo prima coprire alcuni aspetti fondamentali della crittografia. 

Chiavi e crittografia: cos'è l'approvazione?

Tutta la tua attività crittografica si basa sulla crittografia a chiave pubblica. In sostanza, ogni portafoglio ha una “chiave” pubblica e privata corrispondente generata al momento della creazione del portafoglio. Immagina una porta che richiede di sbloccare un chiavistello e girare una serratura per entrare, con una chiave diversa per ciascuno. Possedere una sola chiave non ti porta da nessuna parte: hai bisogno della coppia. 

Sebbene si tratti di una semplificazione eccessiva, possiamo accettare la sfida di questa ipotetica porta e applicare una logica simile al tuo portafoglio crittografico. Le tue chiavi privata e pubblica sono entrambe necessarie per effettuare la transazione: la chiave privata per dimostrare di aver avviato la transazione e la chiave pubblica per consentire al destinatario di verificare l'origine. Ecco come funziona:

  1. Decidi di inviare token a un contatto. 

  2. Poiché conosci l'indirizzo del portafoglio del destinatario, mantieni la sua chiave pubblica: la prima è semplicemente una versione con hash (crittografata) della seconda. La chiave pubblica viene utilizzata per crittografare la transazione.

  3. Il destinatario, detentore della chiave privata, riceve la transazione. Poiché le loro chiavi appartengono insieme, solo la chiave privata corrispondente – che solo loro possiedono – può decrittografare la transazione inviata dalla loro chiave pubblica.

Fin qui tutto bene: abbiamo stabilito come le coppie di chiavi private e pubbliche interagiscono per sostenere le transazioni blockchain. Tuttavia, per applicare questa conoscenza alle approvazioni/firme, invertiamo i ruoli delle chiavi: invece, il mittente crittografa il messaggio con la propria chiave privata. Poiché altri possono facilmente scoprire la chiave pubblica del mittente (l’indirizzo del loro portafoglio), le chiavi possono combinarsi per decrittografare il messaggio, verificando l’identità del mittente. Solo una coppia di chiavi corrispondenti rivelerà il contenuto del messaggio, il che significa che nessuno può contestarne l'origine. 

Imprimere una sorta di firma su ogni transazione garantisce l'immutabilità, e nessun altro oltre a te, il detentore della tua chiave privata, può imitarti fraudolentemente

Autorizzazioni Dapp

Il primo dei due principali tipi di approvazione che incontrerai è connettere per la prima volta il tuo portafoglio a una dapp, che si tratti di DeFi, di un servizio come Etherscan o di un mercato NFT. 

Ciò implica dare al dapp il permesso di recuperare l'indirizzo del tuo portafoglio ed è un prerequisito per interagire con la piattaforma. Questo spiega anche perché lo vedrai indicato come "un permesso" o "permessi"; nomi che descrivono esattamente cosa stai facendo. In alcuni casi, dapps ti chiede di concedere automaticamente l'autorizzazione; altri richiedono di fare clic sui pulsanti etichettati "connetti" o simili. 

Dare il tuo permesso, nel nostro caso, sarà simile a questo:

Approvazione del gettone

Che tu sia o meno un nativo crittografico esperto o un principiante assoluto, per interagire con qualsiasi contratto intelligente – il tipo che esegue dapps (inclusi DeFi, giochi blockchain, acquisti NFT) – devi approvare il suo accesso ai tuoi token. 

Questo processo viene variamente definito, senza alcuna sorpresa, come approvazione simbolica. Quello che stai facendo qui è:

  1. Consentire allo smart contract di accedere al saldo dei tuoi token. Pensa a questa come alla “fase del contratto intelligente”. MetaMask indicherà chiaramente a questo punto quanto accesso stai cedendo: alcune dapp possono specificare una quantità finita di token, mentre altre richiedono un accesso illimitato.  

  2. Confermare che desideri completare la transazione in questione: ovvero la “fase blockchain”, in cui consenti allo smart contract di inviare la transazione alla rete per tuo conto.

Supponiamo che tu voglia eseguire uno scambio di token su Uniswap, il più grande scambio decentralizzato (DEX) per volume di scambi. Quando avvii uno scambio in una coppia di token per la prima volta, ti verrà chiesto di approvare i contratti intelligenti per la coppia di token ERC-20 che stai scambiando (anche se non per l'ETH stesso, che non necessita di approvazione). Sebbene ciò si verifichi solo la prima volta che scambi quella coppia, il passaggio successivo – ovvero il passaggio due sopra – sarà richiesto ogni volta e significa che i protocolli di Uniswap eseguiranno il tuo scambio su richiesta.

Questo processo sarà simile al seguente: 

  • Innanzitutto, ti verrà richiesto dalla piattaforma di approvare il token. Fare clic sul prompt e MetaMask entrerà in azione.

  • MetaMask ti mostrerà l'indirizzo del contratto del token, confermando che sta richiedendo la possibilità di accedere e spostare i tuoi fondi. Per avere la certezza che stai consentendo il contratto corretto, vale la pena fare un riferimento incrociato tra l'indirizzo del token e quello elencato sul sito web del dapp: di solito può essere trovato nel loro centro assistenza, nella knowledge base o nei documenti. Hai anche la possibilità di specificare fino a che punto vuoi che arrivi questa autorizzazione: per fare ciò, premi "Modifica autorizzazione". 

  • Questa opzione ti consente di vedere esattamente la quantità di accessi che stai consentendo. In questo caso, Uniswap desidera accedere a una quantità virtualmente illimitata di stETH (1.1659), ma possiamo porre un limite a questa autorizzazione, se necessario, utilizzando il campo "Limite di spesa personalizzato". 

Con questa funzionalità, MetaMask ti mantiene sotto controllo sulle approvazioni dei tuoi token: non devi mai consentire ciecamente a una dapp di accedere a più di quanto desideri o assumerti rischi indesiderati per il gusto di provare una nuova piattaforma.

La richiesta di scambio stessa è il punto in cui entra in gioco la tua coppia di chiavi: firmi la transazione con la tua chiave privata. Pensa di firmare sulla linea tratteggiata con una penna; tuttavia, con la crittografia a chiave pubblica, il rischio di frode sull'identità è trascurabile. Nel nostro esempio, acconsentire significa che hai autorizzato uno smart contract Uniswap a spostare quel token da e verso il tuo portafoglio per tuo conto. Ogni volta che provi ad avviare uno scambio, il contratto intelligente è in grado di controllare il tuo "messaggio" - ovvero le istruzioni per eseguire lo scambio - e verificare che tu, come unica persona con accesso alla tua chiave privata, fossi l'originatore. 

Come posso gestire approvazioni e permessi?

Uno dei tratti distintivi di Web3 è fornire agli utenti il ​​pieno controllo sulla privacy e sul modo in cui interagiscono con le sue piattaforme. Il design non detentivo di MetaMask riflette questo. Tuttavia, i suoi principi si estendono ad altre funzionalità; tra queste c'è la possibilità di visualizzare e gestire le approvazioni di dapp e smart contract. 

Visualizzazione dei siti collegati in MetaMask

MetaMask include una funzionalità nativa per verificare a quali siti è connesso il tuo portafoglio. Si chiama "Siti connessi" (come probabilmente puoi capire, non ci piace complicare eccessivamente). Altrettanto semplice è il metodo per rimuoverli. 

Visualizzazione delle approvazioni dei token

Etherscan ha recentemente implementato un controllo delle approvazioni dei token che ti consente di visualizzare e revocare, beh... le approvazioni dei token. 

Un elenco di approvazioni di token viene visualizzato una volta connesso MetaMask e concesso a Etherscan il permesso di visualizzare il tuo portafoglio: ti è familiare? Sei quindi libero di verificare la loro pertinenza in corso e revocare di conseguenza. Utilmente, puoi anche visualizzare la risorsa specifica coinvolta, chi hai approvato (ad esempio quale dapp, indicato per nome) e la quantità di token a cui hai approvato l'accesso. 

Esistono anche diverse alternative, tra cui approvazione.zone, Revoke e Token Guarantee Checker (TAC). 

Non ottenere rekt 

L’agenzia personale che deriva dalla gestione di un portafoglio non custodito come MetaMask è un’arma a doppio taglio. Proprio come mantenere sicura la tua frase di recupero segreta è una tua responsabilità personale e richiede vigilanza contro i truffatori, sei l'unico che può gestire le autorizzazioni DAPP e le approvazioni degli smart contract. Se a ciò aggiungiamo la facilità con cui è possibile creare un nuovo token ERC-20 (ci sono circa 485.000 token al momento in cui scrivo) i rischi diventano estremamente evidenti. Anche se la maggior parte sarà realizzata in buona fede, alcuni potrebbero essere creati da un cattivo attore. 

Le approvazioni dei token sono un vettore di attacco relativamente comune per le truffe: basta controllare rekt.news per avere un'idea della portata e questo articolo di Finematics per un'idea dei metodi. Come accennato in precedenza, le dapps devono specificare a quanti token desiderano accedere. MetaMask, per esempio, garantirà che queste informazioni vengano visualizzate nella schermata di approvazione prima della conferma, dandoti un quadro più chiaro di esattamente ciò a cui ti stai iscrivendo.

Le richieste di accesso da parte delle dapps possono variare da quantità specifiche e limitate fino a essere completamente illimitate, dove il contratto intelligente può prelevare quanto vuole dal tuo portafoglio. Fondamentalmente, l’accesso illimitato non è un problema o un campanello d’allarme di per sé: molte piattaforme affidabili come i principali DEX lo fanno per risparmiarti la fatica di riapprovare frequentemente se usi regolarmente la dapp. Il problema arriva con le dapp che richiedono accesso illimitato ai tuoi token con l'espressa intenzione di rubare.

Prima di approvare l’accesso di un contratto intelligente a qualsiasi quantità di token, dovresti passare attraverso una lista di controllo mentale per valutare il rischio. Vedrai spesso menzionato l'acronimo "DYOR" online: fare le tue ricerche prima di consentire l'accesso è sicuramente una buona abitudine da adottare. Per esempio: 

  • Quanto è conosciuto il progetto?

  • Da quanto tempo esiste?

  • Ha un canale comunitario attivo su Discord, Telegram o Twitter? 

  • Gli sviluppatori/proprietari della dapp sono trasparenti e raggiungibili pubblicamente, ad es. su Twitter o Discord?

  • Ha avuto recentemente una violazione della sicurezza? Vale la pena cercare qui.

  • Sono stati sottoposti a un audit del contratto intelligente di terze parti? 

  • Controlla l'indirizzo del contratto sul Block Explorer. Alcuni esploratori, come Etherscan, dispongono di un meccanismo di segnalazione guidato dall'utente in cui vengono contrassegnati gli indirizzi fraudolenti (contratti o portafogli). Anche se non vengono segnalati, controlla eventuali attività sospette, come grandi afflussi o deflussi di denaro in brevi periodi di tempo.

Riassumere:

Piuttosto che un semplice gesto simbolico che indica il consenso, le approvazioni token sono un aspetto banale ed essenziale dell’interazione con Web3. Alcuni punti chiave:

  • La crittografia a chiave pubblica viene utilizzata per autenticare le tue autorizzazioni quando interagisci con dapps.

  • Le autorizzazioni Dapp implicano la possibilità di consentire alle Dapp di visualizzare il saldo del tuo portafoglio.

  • Le approvazioni dei token implicano il permesso allo smart contract di una dapp di accedere e spostare un token specifico nel tuo portafoglio.

  • Cerca sempre le credenziali del dapp e accertati che sia affidabile prima di approvare il suo contratto intelligente.

FRUTTA