Cos`è ERC-20? È lo standard di token che regola l`economia di Ethereum.

Cos`è ERC-20? È lo standard di token che regola l`economia di Ethereum.

Detengo USDT nel mio wallet MetaMask. Ho anche un po' di LINK, un po' di UNI da uno scambio della scorsa settimana e un token "cane" che qualcuno mi ha inviato tramite airdrop e che continuo a dimenticare di vendere. Questi token hanno funzioni completamente diverse. Tether è una stablecoin garantita da liquidità e titoli di stato. Chainlink gestisce reti di oracoli che forniscono dati reali agli smart contract. Uniswap governa il più grande DEX su Ethereum. Il token "cane" non ha alcuna utilità pratica. Eppure il mio wallet li visualizza tutti nella stessa lista, mi permette di inviarli con lo stesso pulsante e ogni protocollo DeFi che utilizzo li accetta senza bisogno di configurazioni particolari.

Questo funziona solo perché tutti e quattro seguono le stesse regole. Sono token ERC-20. Stessa interfaccia, stesse funzioni, stesso schema operativo. E capire cosa significhi effettivamente ERC-20 è il primo passo per capire come funziona Ethereum come economia.

Fabian Vogelsteller scrisse la proposta nel novembre 2015, dandole un nome piuttosto banale: Ethereum Request for Comment numero 20. Vitalik Buterin fu coautore della versione finale. Nel 2017 venne formalmente adottata, e subito dopo arrivò il boom delle ICO. Migliaia di progetti lanciarono token da un giorno all'altro perché lo standard ERC-20 rendeva il processo praticamente gratuito. Mezzo milione di contratti token dopo, lo standard è ancora il punto di riferimento. Ecco cosa fa e perché dovreste interessarvene, anche se non avete intenzione di scrivere una sola riga di codice Solidity.

Come funziona lo standard ERC-20

Il nome è più da nerd del necessario. ERC = Ethereum Request for Comment. 20 = il numero della proposta. Tutto qui. Uno sviluppatore di nome Fabian ha detto "ecco le regole che ogni token dovrebbe seguire" e ha dato alla sua proposta il numero 20 perché era il primo slot disponibile. Non venti regole. Non venti token. Semplicemente la proposta numero 20 nella coda di miglioramento di Ethereum.

Ecco cosa dicono queste regole: se vuoi creare un token fungibile su Ethereum, il tuo smart contract deve includere queste funzioni specifiche. "Fungibile" significa che ogni unità del token è identica. Un USDC è uguale a qualsiasi altro USDC. Non ti interessa quale specifico token UNI possiedi perché sono tutti intercambiabili. Gli NFT sono l'opposto. Ognuno è unico. Standard diverso. Articolo diverso.

Lo standard ERC-20 definisce sei funzioni e due eventi. Ogni contratto token conforme, da USDT con la sua capitalizzazione di mercato di 140 miliardi di dollari fino al memecoin lanciato da qualcuno trenta secondi fa, implementa queste stesse chiamate:

Funzione Versione in linguaggio semplice
fornitura totale() "Quanti di questi token esistono al mondo?"
saldoDi(indirizzo) "Quanti ne contiene questo specifico portafoglio?"
trasferimento(a, importo) "Invia X token dal mio portafoglio a quest'altra persona"
approva(pagatore, importo) "Consenti a questo protocollo DeFi di spendere fino a X dei miei token"
trasferimentoDa(da, a, importo) "Ho l'autorizzazione a trasferire i token dal portafoglio A al portafoglio B"
indennità (proprietario, spenditore) "Quanto può ancora utilizzare questa persona dal suo budget?"

Ogni volta che accade qualcosa, sulla blockchain vengono registrati due eventi. Il trasferimento si verifica ogni volta che i token vengono spostati tra portafogli. L'approvazione si verifica quando qualcuno autorizza la spesa. Gli esploratori di blockchain come Etherscan utilizzano questi eventi per costruire la cronologia delle transazioni che visualizzi quando cerchi un token.

Tre campi opzionali aggiungono personalità: il nome assegna al token un'etichetta leggibile dall'uomo ("Chainlink"), il simbolo è il ticker ("LINK") e i decimali impostano la granularità con cui il token può essere suddiviso (quasi tutti usano 18 per corrispondere a ETH, anche se USDT usa 6 e questo ha causato più bug di quanti chiunque voglia ammettere).

Sei funzioni. Due eventi. Tre campi opzionali. Questa è letteralmente l'intera specifica. Potrei stamparla su un tovagliolo, con ancora spazio per le macchie di caffè. Eppure, questa specifica, grande quanto un tovagliolo, alimenta un'economia di token del valore di centinaia di miliardi di dollari. MetaMask legge queste funzioni per mostrare il saldo. Uniswap le utilizza per eseguire gli scambi. Aave le usa per gestire i prestiti. Ogni protocollo DeFi che abbiate mai usato comunica con i token attraverso questa stessa interfaccia. La semplicità è il punto.

erc-20

Perché lo standard ERC-20 ha cambiato tutto in Ethereum

Ho lavorato nel settore delle criptovalute nel 2016, prima che questo standard esistesse. Era il caos. Ogni token era un caso a sé. Qualcuno creava un contratto per un token con nomi di funzione personalizzati, una logica di trasferimento su misura e un metodo di verifica dei saldi altrettanto personalizzato. MetaMask non aveva idea di cosa fossero la metà di questi token. Gli exchange impiegavano mesi per aggiungere il supporto a un nuovo token, perché ognuno richiedeva un codice di integrazione personalizzato. Creare un DEX? Impossibile. Avresti dovuto scrivere gestori per ogni singola implementazione di token.

L'ERC-20 ha messo fine a quella follia. Dopo l'adozione dello standard, un nuovo token appariva in MetaMask nel momento stesso in cui si incollava l'indirizzo del contratto. Uniswap poteva quotarlo senza il permesso di nessuno. Aave poteva accettarlo come garanzia senza scrivere una sola riga di codice personalizzato. Uno standard, compatibilità universale.

L'ondata di ICO del 2017 ne è stata la prova. Un ragazzo in una stanza del dormitorio poteva lanciare un token ERC-20 dopo pranzo, creare un sito web con un white paper e iniziare ad accettare ETH dagli investitori entro mezzanotte. Ho assistito a tutto ciò in tempo reale. I progetti hanno raccolto miliardi. Alcuni erano legittimi e hanno creato prodotti reali. La maggior parte erano spazzatura. Alcuni erano vere e proprie frodi. Ma la tecnologia sottostante? Ha funzionato alla perfezione. Lo standard ha fatto esattamente ciò per cui era stato progettato: rendere la creazione e l'interazione con i token estremamente semplici.

Le dimensioni attuali sono sbalorditive. Oltre 500.000 contratti di token ERC-20 sono presenti sulla rete Ethereum. La capitalizzazione di mercato totale dei token ERC-20 si aggira sulle centinaia di miliardi. Il solo USDT ha superato i 140 miliardi di dollari. Aggiungete USDC, LINK, UNI, DAI, SHIB, MKR e tutti gli altri e vi renderete conto che la maggior parte dell'intero valore economico di Ethereum risiede all'interno dei contratti ERC-20.

I migliori token ERC-20 Categoria Capitalizzazione di mercato (circa)
USDT (Tether) Stablecoin Oltre 140 miliardi di dollari
USDC (Circle) Stablecoin Oltre 60 miliardi di dollari
LINK (Maglia a catena) Rete Oracle Oltre 8 miliardi di dollari
UNI (Uniswap) governance DEX Oltre 4 miliardi di dollari
DAI (creatore) Stablecoin decentralizzata Oltre 5 miliardi di dollari
AAVE Protocollo di prestito Oltre 2 miliardi di dollari
SHIB (Shiba Inu) Memecoin Oltre 6 miliardi di dollari
MKR (Produttore) Governance Oltre 1,5 miliardi di dollari

Creare un token ERC-20: più facile di quanto pensi

Una volta ho visto qualcuno distribuire un token ERC-20 in diretta su YouTube. Ci sono voluti 14 minuti, incluso il tempo che ha impiegato per spiegare cosa stava facendo alla chat.

Non si tratta di vantarsi dell'intelligenza dello streamer, ma di sottolineare quanto OpenZeppelin abbia semplificato il processo. OpenZeppelin è una libreria di codice Solidity collaudato e verificato che si occupa di tutto il lavoro più complesso. Basta scegliere il nome del token ("MyToken"), il simbolo ("MTK"), il numero di decimali (18, come ETH) e la fornitura iniziale. La libreria gestisce le sei funzioni ERC-20, gli eventi e i controlli di sicurezza. Si copia il template, si modificano quattro variabili, si distribuisce su Ethereum e si ottiene un token reale.

I costi del gas per l'implementazione sono variabili. Rete poco trafficata? Forse 20-50 dollari. Picco di congestione, come in un giorno di conio di un NFT? 200-500 dollari. Implementando su Arbitrum o Base invece che sulla rete principale di Ethereum, il costo scende a pochi dollari. La barriera finanziaria è praticamente nulla.

Ecco il lato oscuro di questa accessibilità. La blockchain di Ethereum non verifica la legittimità di un contratto token. Non controlla i team, non esegue audit del codice né valuta i modelli di business. Se puoi pagare la commissione di transazione (gas fee), puoi implementare un token. Questo è il motivo per cui Etherscan elenca centinaia di migliaia di contratti token, la maggior parte dei quali sono esperimenti abbandonati o truffe attive. Lo standard ERC-20 garantisce la compatibilità, ma non garantisce assolutamente nulla sulla convenienza di detenere un token.

Standard ERC-20 rispetto ad altri standard di token Ethereum

La gente mi chiede: "ERC-20 è l'unico standard per i token?" No. Assolutamente no. Ma è stato il primo a funzionare, e gli altri che sono venuti dopo hanno risolto i problemi che ERC-20 aveva lasciato irrisolti.

L'ERC-721 è arrivato e ci ha dato gli NFT. Mentre ogni token ERC-20 è intercambiabile (il tuo USDC è uguale al mio USDC), ogni token ERC-721 ha un ID univoco. Bored Ape #4293 è un asset completamente diverso da Bored Ape #7810. I nomi delle funzioni sono simili, ma la logica opera sui singoli elementi anziché su quantità generiche. Non puoi inviare mezzo Bored Ape. O tutto o niente.

Lo standard ERC-1155 è nato dall'esigenza degli sviluppatori di videogiochi di dover utilizzare contratti separati per ogni tipo di oggetto. Un unico contratto gestisce monete d'oro (fungibili, come l'ERC-20), spade di ferro (semi-fungibili, 50 copie identiche) e un elmo leggendario unico (non fungibile, pezzo unico). I trasferimenti batch consentono di risparmiare gas. Una singola transazione permette di trasferire 100 oggetti diversi anziché 100 transazioni separate.

BEP-20 è il nome che Binance Smart Chain dà alla propria versione. Stesse funzioni, stessi eventi, blockchain diversa. È come copiare e incollare ERC-20 su una rete più economica. Lo standard SPL di Solana svolge la stessa funzione con un'architettura completamente diversa, perché Solana non è stato progettato per essere compatibile con Ethereum.

Standard Tipo di token Fungibile? Casi d'uso Rete
ERC-20 Token fungibile Valute, governance, utilità Ethereum
ERC-721 Token non fungibile No (ID univoci) NFT, arte digitale, oggetti da collezione Ethereum
ERC-1155 Multi-token Entrambi Giochi, tipologie di asset miste Ethereum
BEP-20 Token fungibile Uguale a ERC-20 Catena BNB
SPL Fungibile + NFT Entrambi Ecosistema di Solana Solana

I token ERC-20 nella DeFi: perché questo standard alimenta la finanza decentralizzata

Eliminate l'ERC-20 e la DeFi crollerà da un giorno all'altro. Non "faticherà", ma crollerà. Ogni componente del sistema presuppone che i token parlino la stessa lingua.

Uniswap accoppia due token ERC-20 in un pool e permette di scambiarli. Funziona con USDC. Funziona con SHIB. Funziona anche con quella memecoin lanciata dal tuo amico alle 2 del mattino. Al DEX non importa cosa faccia il token. Gli interessa solo che il contratto implementi i metodi transfer() e approve(). Aggiungi un pool di liquidità e il trading inizia. Nessuna richiesta di quotazione. Nessuna revisione da parte dell'exchange. Nessun periodo di attesa.

Aave e Compound prestano token ERC-20. Il protocollo chiama `balanceOf()` per visualizzare i depositi. Chiama `transfer()` per trasferire i token. Utilizza `approve()` e `transferFrom()` per rimborsare i prestiti. Un mercato di prestito per un token appena creato può essere avviato il giorno stesso del suo lancio, poiché l'interfaccia è già nota.

Poi c'è lo strano problema di ETH. ETH esisteva prima di ERC-20, quindi non segue lo standard. Questo compromette la componibilità. La soluzione: WETH. Wrapped Ether è un wrapper ERC-20 attorno a ETH nativo. Depositando 1 ETH, si riceve 1 WETH che i protocolli DeFi possono gestire normalmente. WBTC fa la stessa cosa per Bitcoin, portando il valore di BTC nell'ecosistema di Ethereum come token ERC-20 garantito 1:1 da Bitcoin reali in custodia.

Il risultato pratico: oggi posso creare un protocollo DeFi che funzioni con ogni token ERC-20 mai creato, inclusi quelli che non esistono ancora. Il mio codice non ha bisogno di conoscere nello specifico USDT. Non necessita di un aggiornamento se domani qualcuno lancia una nuova stablecoin. L'interfaccia gestisce tutto. Questa componibilità è il motivo per cui Ethereum ha più attività DeFi, più TVL (Total Value Locked) e più strumenti per sviluppatori di qualsiasi altra blockchain. Lo standard ERC-20 è il fondamento su cui si basa tutto il resto.

Rischi per la sicurezza e problemi comuni relativi al codice ERC-20

Lasciatemi parlare del bug di approvazione che è costato milioni agli utenti DeFi e che quasi nessuno comprende finché non ne subisce le conseguenze.

Quando scambi token su Uniswap o depositi su Aave, la dApp ti chiede di "autorizzarla" per spendere i tuoi token. La maggior parte delle dApp, di default, concede un'autorizzazione illimitata. Sembra innocuo finché non capisci cosa significa: quello smart contract può spendere ogni singolo token di quel tipo presente nel tuo wallet, in qualsiasi momento e per sempre, finché non revochi esplicitamente l'autorizzazione. Se il contratto viene hackerato tra sei mesi, l'attaccante utilizzerà la tua vecchia autorizzazione per prelevare i token a cui avevi dimenticato di aver dato accesso.

È successo. Più di una volta. La soluzione è semplice ma fastidiosa: approvare solo l'importo esatto necessario per ogni transazione. Oppure utilizzare Revoke.cash per eliminare le vecchie approvazioni che si erano dimenticate. Io controllo il mio ogni pochi mesi. È sempre peggio di quanto mi aspetti. ERC-2612 è uno standard più recente che sostituisce le approvazioni on-chain con permessi firmati, riducendo questo rischio. Ma la maggior parte delle dApp utilizza ancora il vecchio schema.

Ogni settimana, le persone vengono truffate con token falsi. Un truffatore pubblica un contratto ERC-20 chiamato "Uniswap" o "Chainlink" con un indirizzo leggermente diverso. Lo si cerca su un DEX, si vede il nome familiare e si acquista il falso. Il denaro finisce direttamente nel portafoglio del truffatore. L'indirizzo del vero contratto LINK è 0x514910771AF9Ca656af840dff83E8264EcF986CA. Quello falso potrebbe essere 0x514910...qualcos'altro. Copiate sempre l'indirizzo da CoinGecko o dal sito ufficiale del progetto. Non cercate mai solo per nome.

Poi ci sono i token con trucchi nascosti. In apparenza, il contratto sembra un normale ERC-20. Sotto la superficie, chi lo ha implementato ha aggiunto una funzione che gli permette di coniare un numero illimitato di nuovi token. Oppure una tassa di vendita che si prende il 99% dei tuoi token quando tenti di scambiarli. O ancora una blacklist che impedisce a chiunque, tranne a chi lo ha implementato, di vendere. Lo standard ERC-20 non dice nulla su ciò che un contratto non può fare. Specifica solo le funzioni minime. Tutto il resto è a discrezione dello sviluppatore. Gli audit dei token, DextScore e i contratti verificati su Etherscan esistono proprio per colmare questa lacuna tra la semplicità dello standard e la creatività dei truffatori.

Qualsiasi domanda?

Sì. Chiunque può implementare un token ERC-20 su Ethereum utilizzando Solidity e strumenti come OpenZeppelin e Remix IDE. La barriera tecnica è bassa. La creazione di un token base richiede meno di un`ora e il costo del gas per l`implementazione varia dai 20 ai 500 dollari, a seconda delle condizioni di rete. La parte difficile non è creare il token, ma costruire qualcosa per cui valga la pena crearne uno.

Su Ethereum sono stati implementati oltre 500.000 contratti di token ERC-20. La maggior parte è inattiva, abbandonata o si tratta di truffe. Solo poche migliaia presentano un volume di scambi significativo e un utilizzo reale. I principali token ERC-20 per capitalizzazione di mercato (USDT, USDC, LINK, UNI, DAI) rappresentano la stragrande maggioranza del valore totale.

No. ERC-20 è lo standard tecnico (il progetto). USDT è uno specifico token stablecoin che utilizza lo standard ERC-20. Si può pensare a ERC-20 come alle specifiche USB e a USDT come a uno specifico dispositivo USB. USDT esiste anche su altre blockchain (Tron, Solana, Avalanche) utilizzando i rispettivi standard di token, ma la versione per Ethereum è un token ERC-20.

Qualsiasi portafoglio Ethereum che supporti token personalizzati è un portafoglio ERC-20. MetaMask, Trust Wallet, Coinbase Wallet, Rainbow, Plisio, Trezor e Ledger visualizzano e gestiscono tutti i token ERC-20. Quando aggiungi l`indirizzo del contratto di un token a MetaMask, questo legge le funzioni ERC-20 (balanceOf, simbolo, decimali) per mostrare il saldo. Non è necessario un portafoglio speciale per i token ERC-20. Qualsiasi portafoglio che si connetta a Ethereum funziona.

No. Coinbase è un exchange di criptovalute. Tuttavia, Coinbase supporta i token ERC-20 per depositi e prelievi tramite la rete Ethereum. Coinbase ha anche creato Base, una rete Layer 2 su Ethereum dove i token ERC-20 possono essere utilizzati con commissioni di transazione (gas fee) inferiori. Se invii un token ERC-20 al tuo conto Coinbase, assicurati di selezionare la rete Ethereum (o la corretta rete Layer 2) per evitare di perdere i fondi.

No. ETH è la criptovaluta nativa di Ethereum. Esiste a livello di protocollo ed è precedente allo standard ERC-20. I token ERC-20 sono costruiti su Ethereum utilizzando smart contract. ETH non segue le regole ERC-20, motivo per cui esiste WETH (Wrapped ETH), che fornisce a ETH un formato compatibile con ERC-20 per l`utilizzo in DeFi. Quando interagisci con la maggior parte dei protocolli DeFi, i tuoi ETH vengono automaticamente convertiti in WETH in background.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.