ERC-20
Definizione
ERC-20 (Ethereum Request for Comment 20) è lo standard per token più importante nella storia delle criptovalute, in quanto definisce l'interfaccia comune che tutti i token fungibili su Ethereum devono implementare. Proposto da Fabian Vogelsteller e Vitalik Buterin nel novembre 2015 e finalizzato come EIP-20, ERC-20 ha stabilito sei funzioni obbligatorie (`transfer`, `transferFrom`, `approve`, `allowance`, `balanceOf`, `totalSupply`) e due campi opzionali (`name`, `symbol`) che tutti i token conformi devono esporre. Questa standardizzazione è stata rivoluzionaria: qualsiasi wallet, exchange, protocollo DeFi o smart contract che comprenda l'interfaccia ERC-20 può funzionare con qualsiasi token ERC-20 senza integrazioni personalizzate, consentendo così l'interoperabilità e la componibilità dell'ecosistema DeFi. Tutti i principali token — USDC, USDT, LINK, UNI, AAVE, DAI, SHIB e migliaia di altri — sono token ERC-20. Lo standard ha dato il via al boom delle ICO del 2017, all'esplosione della DeFi del 2020 e rimane il fondamento primitivo dell'intera economia dei token Ethereum, con un volume cumulativo di transazioni ERC-20 che supera i trilioni di dollari.
Origine e storia
| Data | Event |
| Nov 2015 | Fabian Vogelsteller propone EIP-20 su Ethereum GitHub |
| Settembre 2017 | Lo standard ERC-20 è stato formalmente standardizzato; il boom delle ICO ne trae vantaggio: 5.6 miliardi di dollari raccolti nel 2017 tramite token ERC-20. |
| 2018 | Praticamente tutti i nuovi progetti di token vengono lanciati come ERC-20; l'ecosistema raggiunge oltre 100,000 token |
| 2020 | Estate DeFi: i token ERC-20 alimentano Uniswap, Compound, Aave, Yearn — oltre 1 miliardo di dollari bloccati |
| 2021 | Le stablecoin (USDC, USDT versione ERC-20) sono dominanti; il volume dei trasferimenti ERC-20 supera quello di BTC. |
| 2022 | La capitalizzazione di mercato dei token ERC-20 supera i 200 miliardi di dollari; centinaia di miliardi di dollari di volume di transazioni giornaliere. |
| 2023 | Lo standard ERC-20 rimane dominante; sono stati implementati oltre 500,000 contratti token ERC-20 unici. |
"ERC-20 è la specifica open source di maggior successo mai creata. Permette a ogni token di parlare la stessa lingua."
Come funziona
"Interfaccia obbligatoria ERC-20:
funzione totalSupply() → uint256 funzione balanceOf(indirizzo) → uint256 funzione transfer(indirizzo a, uint amount) → bool funzione transferFrom(indirizzo da, indirizzo a, uint amount) → bool funzione approve(indirizzo spender, uint amount) → bool funzione allowance(proprietario indirizzo, indirizzo spender) → uint256
Eventi: evento Trasferimento(indirizzo indicizzato da, indirizzo indicizzato a, valore uint256) evento Approvazione(indirizzo indicizzato proprietario, indirizzo indicizzato spenditore, valore uint256)
Come funziona il trasferimento: Alice invia 100 USDC a Bob:
- Alice chiama USDC.transfer(Bob, 100)
- Controlli del contratto: saldi[Alice] >= 100
- saldi[Alice] -= 100
- saldi[Bob] += 100
- emetti Trasferimento(Alice, Bob, 100)
Come funziona approve/transferFrom (modello DeFi):
- Alice chiama USDC.approve(UniswapRouter, 1000)
- UniswapRouter ora può spendere fino a 1000 USDC per conto di Alice.
- Il router chiama USDC.transferFrom(Alice, Pool, 1000)
| Funzione | Missione | Chi lo chiama |
| `totalSupply()` | Restituisce il conteggio totale dei token | Chiunque (visualizza) |
| `balanceOf(addr)` | Saldo dell'indirizzo di reso | Chiunque (visualizza) |
| `trasferimento(a, importo)` | Invio dei token dal chiamante | Detentore del token |
| `approva(acquirente, importo)` | Autorizzare il pagatore | Detentore del token |
| `transferFrom(from, to, amt)` | Trasferimento per conto | Utente autorizzato a spendere (DeFi) |
| `indennità(proprietario, spenditore)` | Verifica l'importo dell'approvazione | Chiunque (visualizza) |
In parole semplici
- Linguaggio token universaleOgni token ERC-20 utilizza la stessa interfaccia: MetaMask, Uniswap, Aave e Coinbase funzionano tutti con USDC, UNI, LINK e oltre 500,000 altri token perché seguono tutti le stesse regole.
- Saldi in un libro mastroIl contratto mantiene una mappatura degli indirizzi ai saldi: `transfer()` sottrae dal mittente e aggiunge al destinatario, il tutto all'interno del registro interno del contratto.
- Approvazione per la DeFiLa funzione `approve()` consente ai protocolli DeFi di spendere token per tuo conto: quando "approvi" Uniswap, gli dai il permesso di spostare i tuoi USDC per uno scambio.
- Facilitatore di ICOLo standard ERC-20 ha reso la creazione di token banale: qualsiasi sviluppatore poteva lanciare un token in poche ore, alimentando il boom delle ICO del 2017, durante il quale migliaia di progetti hanno raccolto miliardi.
- La primitiva DeFiCompound, Aave, Uniswap e ogni protocollo DeFi sono costruiti attorno ai token ERC-20. Eliminando gli ERC-20, l'intero ecosistema DeFi collasserebbe.
Esempi del mondo reale
| Scenario | Implementazione/Attuazione | Risultato |
| Stablecoin USDC | Circle lancia un contratto ERC-20 USDC con garanzia 1:1 in USD. | Oltre 25 miliardi di dollari in circolazione; accettati istantaneamente su ogni exchange e protocollo DeFi. |
| Scambio Uniswap | L'utente approva USDC, chiama swap → Il router chiama `transferFrom(utente, pool)` | Scambio senza interruzioni sfruttando il modello ERC-20 approve/transferFrom |
| Prestiti Aave | L'utente deposita USDC ERC-20; riceve aUSDC ERC-20 rappresentativo del deposito | Tutti i meccanismi di prestito sono basati sulla componibilità ERC-20. |
| Raccolta fondi ICO | Il progetto lancia un token ERC-20; gli investitori inviano ETH e ricevono token. | 2017-2018: Oltre 20 miliardi di dollari raccolti tramite la vendita di token ERC-20 |
Vantaggi
| Vantaggio | Descrizione |
| Compatibilità universale | Qualsiasi token ERC-20 funziona con qualsiasi portafoglio, exchange o protocollo DeFi conforme. |
| Implementazione semplice | 150 righe di codice Solidity per implementare un token completamente funzionante |
| componibilità | I token ERC-20 si integrano nei protocolli DeFi, consentendo la creazione di "lego monetari". |
| Effetti di rete dell'ecosistema | Oltre 500,000 token; ogni strumento e interfaccia supporta ERC-20 |
| Implementazioni di riferimento verificate | L'ERC-20 di OpenZeppelin è collaudato sul campo con miliardi di valore |
Svantaggi e rischi
| Svantaggio | Descrizione |
| approva() rischio di doppia spesa | Gli utenti possono essere anticipati durante la modifica delle autorizzazioni; sono necessarie due transazioni per ripristinare in modo sicuro |
| rischio di perdita dei token | Lo standard ERC-20 non offre alcuna protezione contro l'invio di token a contratti che non possono riceverli. |
| potenziale inflazionistico | Nessun meccanismo standard di limitazione dell'offerta: i progetti possono coniare token illimitati se progettati male |
| Problema con il gettone di pagamento | I trasferimenti ERC-20 richiedono ETH per il gas: i token da soli non sono sufficienti a coprire le proprie commissioni. |
Suggerimenti per la gestione del rischio:
- Prima di approvare Protocolli DeFi, comprendi cosa stai autorizzando: le approvazioni illimitate garantiscono l'accesso perpetuo per spendere i tuoi token
- Utilizza strumenti come Revoke.cash per esaminare e revocare le vecchie approvazioni ERC-20 al fine di ridurre la superficie di attacco.
- Verifica gli indirizzi dei contratti dei token da fonti ufficiali: i truffatori utilizzano token ERC-20 falsi con nomi simili
FAQ
Qual è la differenza tra ETH e i token ERC-20?
ETH è la valuta nativa di Ethereum, non un token ERC-20. I token ERC-20 vengono creati tramite smart contract SU Ethereum. Wrapped ETH (WETH) è una versione ERC-20 di ETH che gli consente di partecipare a protocolli DeFi che richiedono la conformità allo standard ERC-20.
Quanti token ERC-20 esistono?
Nel 2024, sulla rete principale di Ethereum erano stati implementati oltre 500,000 contratti token ERC-20 unici. La stragrande maggioranza aveva un valore di mercato trascurabile; solo circa 1,000-5,000 presentavano una liquidità e un utilizzo significativi.
Che cos'è un'approvazione illimitata in ERC-20?
Chiamando `approve(dex, type(uint256).max)` si concede al DEX il permesso di spendere l'intero saldo dei token per sempre. Questa pratica è comune per comodità, ma comporta dei rischi: se il protocollo viene violato, tutti i token approvati possono essere rubati.
È possibile coniare o bruciare token ERC-20?
Lo standard ERC-20 di per sé non specifica la creazione o la distruzione di token: sono opzionali. I progetti implementano la creazione (aumento dell'offerta totale) e la distruzione (riduzione) di token in base al loro modello di tokenomics.
Perché lo standard ERC-20 è stato rivoluzionario?
Prima dell'ERC-20, ogni token aveva un'interfaccia personalizzata: exchange e wallet richiedevano un'integrazione specifica per ciascun token. L'ERC-20 ha creato un linguaggio universale: sviluppando una volta per l'ERC-20, si ha immediatamente il supporto per tutti i token.
Consiglio di UPay: prima di interagire con qualsiasi protocollo DeFi basato su token ERC-20, utilizza Etherscan per verificare l'indirizzo del contratto del token e accertarti che corrisponda all'indirizzo ufficiale del progetto: i truffatori creano token con nomi e simboli identici per rubare le approvazioni agli utenti meno attenti.
Disclaimer: Questo contenuto ha solo scopo didattico e non costituisce consulenza finanziaria o di investimento. Si consiglia di condurre sempre le proprie ricerche prima di prendere qualsiasi decisione finanziaria.
UPay — Rendere la crittografia enciclopedica









