ERC-20

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

DataEvent
Nov 2015Fabian Vogelsteller propone EIP-20 su Ethereum GitHub
Settembre 2017Lo 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.
2018Praticamente tutti i nuovi progetti di token vengono lanciati come ERC-20; l'ecosistema raggiunge oltre 100,000 token
2020Estate DeFi: i token ERC-20 alimentano Uniswap, Compound, Aave, Yearn — oltre 1 miliardo di dollari bloccati
2021Le stablecoin (USDC, USDT versione ERC-20) sono dominanti; il volume dei trasferimenti ERC-20 supera quello di BTC.
2022La capitalizzazione di mercato dei token ERC-20 supera i 200 miliardi di dollari; centinaia di miliardi di dollari di volume di transazioni giornaliere.
2023Lo 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."
Fabian Vogelsteller, creatore dell'ERC-20

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:

  1. Alice chiama USDC.transfer(Bob, 100)
  2. Controlli del contratto: saldi[Alice] >= 100
  3. saldi[Alice] -= 100
  4. saldi[Bob] += 100
  5. emetti Trasferimento(Alice, Bob, 100)

Come funziona approve/transferFrom (modello DeFi):

  1. Alice chiama USDC.approve(UniswapRouter, 1000)
  2. UniswapRouter ora può spendere fino a 1000 USDC per conto di Alice.
  3. Il router chiama USDC.transferFrom(Alice, Pool, 1000)
FunzioneMissioneChi lo chiama
`totalSupply()`Restituisce il conteggio totale dei tokenChiunque (visualizza)
`balanceOf(addr)`Saldo dell'indirizzo di resoChiunque (visualizza)
`trasferimento(a, importo)`Invio dei token dal chiamanteDetentore del token
`approva(acquirente, importo)`Autorizzare il pagatoreDetentore del token
`transferFrom(from, to, amt)`Trasferimento per contoUtente autorizzato a spendere (DeFi)
`indennità(proprietario, spenditore)`Verifica l'importo dell'approvazioneChiunque (visualizza)

In parole semplici

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

ScenarioImplementazione/AttuazioneRisultato
Stablecoin USDCCircle 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 UniswapL'utente approva USDC, chiama swap → Il router chiama `transferFrom(utente, pool)`Scambio senza interruzioni sfruttando il modello ERC-20 approve/transferFrom
Prestiti AaveL'utente deposita USDC ERC-20; riceve aUSDC ERC-20 rappresentativo del depositoTutti i meccanismi di prestito sono basati sulla componibilità ERC-20.
Raccolta fondi ICOIl 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à universaleQualsiasi token ERC-20 funziona con qualsiasi portafoglio, exchange o protocollo DeFi conforme.
Implementazione semplice150 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'ecosistemaOltre 500,000 token; ogni strumento e interfaccia supporta ERC-20
Implementazioni di riferimento verificateL'ERC-20 di OpenZeppelin è collaudato sul campo con miliardi di valore

 Svantaggi e rischi

SvantaggioDescrizione
approva() rischio di doppia spesaGli utenti possono essere anticipati durante la modifica delle autorizzazioni; sono necessarie due transazioni per ripristinare in modo sicuro
rischio di perdita dei tokenLo standard ERC-20 non offre alcuna protezione contro l'invio di token a contratti che non possono riceverli.
potenziale inflazionisticoNessun meccanismo standard di limitazione dell'offerta: i progetti possono coniare token illimitati se progettati male
Problema con il gettone di pagamentoI 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

Novità & Eventi speciali