Sommario
introduzione
Qual è lo standard ERC-20?
Fatti rapidi sul token Ethereum
Come vengono generati i token ERC-20?
Quali funzioni ha ERC-20?
Moneta stabile
Token di sicurezza
gettone di utilità
Posso partecipare al mining di token ERC-20?
Vantaggi e svantaggi dei token ERC-20
Vantaggi dei token ERC-20
Svantaggi dei token ERC-20
Quali sono le differenze tra ERC-20, ERC-1155, ERC-223 e ERC-721?
Riassumere
introduzione
Ethereum è stata fondata da Vitalik Buterin nel 2014 e si posiziona come piattaforma open source per il lancio di applicazioni decentralizzate (DApp). La motivazione di Buterin per la creazione di questa nuova blockchain derivava in gran parte dalla mancanza di flessibilità nel protocollo Bitcoin.
Sin dal suo inizio, la blockchain di Ethereum ha attratto molti sviluppatori, aziende e imprenditori, generando un settore emergente di contratti intelligenti lanciati dagli utenti e applicazioni distribuite.
In questo articolo esamineremo lo standard ERC-20, che è un quadro importante per la creazione di token. Sebbene applicato solo alla rete Ethereum, è l’ispirazione per altri standard blockchain come BEP-2 di Binance Chain.
Qual è lo standard ERC-20?
In Ethereum, il nome completo di ERC è Ethereum Request for Comments, che è la richiesta di commento di Ethereum. Questi documenti tecnici delineano gli standard di programmazione di Ethereum. Questo non deve essere confuso con l’Ethereum Improvement Proposal (EIP), che è simile al BIP di Bitcoin ed è una proposta di miglioramento del protocollo stesso. L’obiettivo dell’ERC è stabilire un protocollo che faciliti l’interazione tra domande e contratti.
Sviluppato e scritto nel 2015 da Vitalik Buterin e Fabian Vogelsteller, ERC-20 propone un altro formato relativamente semplice per i token basati su Ethereum. Finché lo schema viene seguito, gli sviluppatori non hanno bisogno di reinventare la ruota e possono basarsi direttamente su ciò che accade nel settore.
Quando vengono creati nuovi token ERC-20, interoperano automaticamente con servizi e software che supportano lo standard ERC-20 (portafogli software, portafogli hardware, piattaforme di trading, ecc.).
È importante notare che lo standard ERC-20 si è evoluto in EIP (nello specifico EIP-20). A quel tempo, erano trascorsi diversi anni dalla proposta originale ampiamente diffusa, ma anche dopo diversi anni il nome "ERC-20" rimase.
Fatti rapidi sul token Ethereum
A differenza dell'ETH (la criptovaluta nativa di Ethereum), i token ERC-20 non vengono depositati su un conto, ma esistono solo all'interno del contratto, come un database indipendente. Specifica le regole per il token (ovvero nome, simbolo, divisibilità) e mantiene un elenco di indirizzi Ethereum che mappano i saldi degli utenti.
Per trasferire i token, gli utenti devono inviare una transazione a uno smart contract, chiedendo al contratto di destinare parte del saldo altrove. Ad esempio, se Alice vuole inviare 5.000 token Binance Academy a Bob, chiamerà una funzione nello smart contract corrispondente per eseguire l'istruzione.

La sua chiamata includeva una transazione Ethereum apparentemente regolare, che pagava 0 ETH al contratto token. Questa chiamata è inclusa tra gli altri campi della transazione e specifica l'intenzione di Alice: in questo caso vuole trasferire i token a Bob.
Anche senza inviare ether, deve pagare una commissione specifica per aggiungere la transazione al blocco. Se non disponi di ETH, dovresti pre-depositare un po' di ETH prima di trasferire i tuoi token.
Quello che segue è un esempio reale in Etherscan: qualcuno chiama un contratto BUSD. Vedrai che i token sono stati trasferiti e la commissione è stata pagata, anche se il campo del valore mostra che sono stati inviati 0 ETH.
Successivamente, acceleriamo il ritmo e diamo uno sguardo più da vicino alla tipica struttura contrattuale ERC-20.
Come vengono generati i token ERC-20?

Secondo lo standard ERC-20, il contratto deve impostare sei funzioni obbligatorie: totalSupply, saldoOf, trasferimento, trasferimentoDa, approvazione e indennità. Inoltre, è possibile specificare funzioni opzionali come nome, simbolo e decimale. Puoi capire la funzione in base al nome Non preoccuparti se non la capisci, la analizzeremo una per una di seguito.
Di seguito sono riportate le funzioni presentate tramite il linguaggio Solidity specifico di Ethereum.
fornitura totale
la funzione totalSupply() restituisce la visualizzazione pubblica (uint256)Dopo che l'utente ha richiamato la funzione di cui sopra, verrà restituita la fornitura totale di token detenuta dal contratto.
equilibrio di
funzione saldoDi(indirizzo_proprietario) visualizzazione pubblica restituisce (saldo uint256)A differenza di totalSupply, balanceOf utilizza gli indirizzi come parametri. Dopo la chiamata, il sistema restituisce il gettone contenente il saldo dell'indirizzo. Ricorda, gli account nella rete Ethereum sono pubblici e trasparenti. Puoi controllare il saldo di qualsiasi utente purché ne conosca l'indirizzo.
trasferimento
trasferimento funzione (indirizzo _to, uint256 _valore) ritorni pubblici (esito bool)La funzione di trasferimento supporta gli utenti nel trasferimento reciproco di token. È necessario fornire l'indirizzo di ricezione del token e l'importo del trasferimento.
Quando viene chiamato, transfer attiva un evento (l'evento "transfer" in questo caso) la cui funzione di base è dire alla blockchain di contenere un riferimento a questa funzione.
trasferito da
funzione transferFrom(indirizzo _from, indirizzo _to, uint256 _valore) pubblico restituisce (esito bool)La funzione transferFrom è una comoda alternativa alla funzione di trasferimento, migliorando efficacemente la programmabilità nelle applicazioni decentralizzate. Similmente alla funzione di trasferimento, viene utilizzata per spostare i token, ma questi token non appartengono necessariamente all'utente che chiama il contratto.
In altre parole, puoi autorizzare qualcun altro o un altro contratto a spostare fondi per tuo conto. Ad esempio, se non desideri pagare manualmente un servizio di abbonamento su base giornaliera/settimanale/mensile, puoi lasciare che il programma faccia il lavoro per te.
Gli eventi attivati da questa funzione sono gli stessi del trasferimento.
approvare
la funzione approva(indirizzo_spender, uint256_valore) restituisce pubblici (successo bool)Dal punto di vista della programmazione, l’approvazione è un’altra funzione molto utile che limita il numero di token che uno smart contract può prelevare dal saldo. Senza di esso, i contratti in corso potrebbero diventare non validi (o sfruttati) e tutti i fondi rischiano di essere rubati.
Ancora una volta, prendiamo come esempio il modello di abbonamento. Supponiamo che tu possieda una grande quantità di token Binance Academy e desideri impostare pagamenti settimanali ricorrenti per la tua DApp di streaming. Sono troppo occupato a leggere gli articoli di Binance Academy per dedicare tempo alla creazione manuale delle operazioni ogni settimana.
L'ampio saldo di token Binance Academy detenuti supera di gran lunga le commissioni richieste per pagare l'abbonamento. Per evitare che la DApp paghi tutte le risorse, puoi utilizzare l'approvazione per impostare un limite. Supponendo che il tuo abbonamento costi 1 token Binance Academy a settimana, il tuo abbonamento verrà pagato automaticamente in 5 mesi se il limite di approvazione è di 20 token.
Se il programma va storto e la DApp tenta di prelevare tutti i fondi, perderai solo fino a 20 token. Sebbene perdere i tuoi token sia sconvolgente, il risultato è molto migliore che perdere tutte le tue risorse.
Dopo aver chiamato questa funzione, approve attiverà l'evento di approvazione. Come la funzione di trasferimento, scriverà i dati sulla blockchain.
indennità
indennità funzione (indirizzo_proprietario, indirizzo_spender) restituzione della visualizzazione pubblica (uint256 rimanenti)l'indennità può essere utilizzata insieme ad approvare. Se al contratto sono concessi i diritti di gestione dei token, è possibile controllare il saldo prelevabile del token tramite esso. Ad esempio, presupponendo che il servizio di abbonamento utilizzi 12 dei 20 token approvati, la chiamata alla funzione di autorizzazione restituirà un totale di 8 token.
Altre funzioni opzionali
Tutto quanto discusso sopra è una funzione obbligatoria. D'altra parte, nome, simbolo e decimale sono funzioni opzionali, ma possono rendere ERC-20 più completo. Queste funzioni supportano rispettivamente l'aggiunta di un nome leggibile dall'uomo, l'impostazione del simbolo (ad esempio ETH, BTC, BNB) e la specifica del numero di cifre decimali in cui può essere suddiviso il token. Ad esempio, i gettoni utilizzati come valuta sono più divisibili e quindi più vantaggiosi rispetto ai gettoni utilizzati per rappresentare la proprietà di beni.
Dai un'occhiata a questo esempio su GitHub per vedere come apparirebbero questi elementi in un contratto reale.
Quali funzioni ha ERC-20?

Riassumendo tutte le funzioni di cui sopra, otteniamo un contratto ERC-20. Possiamo interrogare la fornitura totale, visualizzare i saldi, trasferire fondi e autorizzare altre DApp a gestire i token per nostro conto.
La flessibilità dei token ERC-20 è un enorme vantaggio. L'accordo stabilito non limita lo sviluppo e ciascuna parte può avviare altre funzioni e impostare parametri specifici in base alle proprie esigenze.
Moneta stabile
Le stablecoin (token ancorati alle valute fiat) utilizzano in genere lo standard dei token ERC-20. La transazione del contratto BUSD menzionata sopra è un tipico esempio e anche la maggior parte delle stablecoin utilizza questa forma.
Per le stablecoin sostenute dalle principali valute fiat, gli emittenti possono detenere riserve in euro, dollari USA, ecc., e quindi emettere token per ciascuna unità nelle riserve. Ciò significa che se vengono depositati 10.000 dollari nel caveau, l’emittente può creare 10.000 token, ciascuno del valore di 1 dollaro.
Da un punto di vista tecnico, è facile da implementare in Ethereum. L’emittente lancia semplicemente un contratto con 10.000 token e poi distribuisce i token agli utenti, promettendo che in futuro potranno scambiare i token con una certa percentuale di valuta fiat.
Gli utenti possono utilizzare i propri token per eseguire una serie di azioni, incluso l'acquisto di beni e servizi e l'applicazione alle DApp. In alternativa, all’emittente può essere richiesto di riscattare immediatamente questi token. In questo caso, l’emittente può anche distruggere i token restituiti (lasciarli scadere) e prelevare un importo equivalente di fiat dalla riserva.
Come accennato in precedenza, i contratti che regolano questo sistema sono relativamente semplici. Tuttavia, il lancio di una stablecoin richiede attenzione a molti altri fattori esterni (come logistica, conformità, ecc.) e molto impegno.
Token di sicurezza
I token di sicurezza sono simili alle stablecoin e possono anche essere completamente identici a livello contrattuale perché entrambi funzionano allo stesso modo. La differenza sta nell’emittente: i token di sicurezza rappresentano titoli come azioni, obbligazioni o beni reali. Di solito, anche se non sempre, concedono al detentore azioni in un'azienda o in una merce.
gettone di utilità
I token di utilità sono probabilmente il tipo di token più comune oggi. A differenza dei due token precedenti, gli utility token non sono supportati da alcun asset reale. Se le azioni delle compagnie aeree rappresentano token garantiti da asset, gli utility token sono come i programmi frequent flyer: hanno alcune funzionalità, ma nessun valore esterno. I token di utilità possono soddisfare numerose esigenze, come essere utilizzati come valuta di gioco, carburante per applicazioni decentralizzate e punti fedeltà.
➠ Vuoi iniziare il tuo viaggio nella criptovaluta? Benvenuto su Binance per acquistare Ethereum!
Posso partecipare al mining di token ERC-20?
Puoi partecipare al mining di Ethereum (ETH), ma i token non possono essere estratti: chiamiamo conio la creazione di nuovi token. Dopo l'entrata in vigore del contratto, gli sviluppatori assegneranno la fornitura in base ai piani e alle tabelle di marcia,
Ciò avviene generalmente tramite un'offerta iniziale di monete (ICO), un'offerta iniziale di scambio (IEO) o una offerta di token di sicurezza (STO). Potresti imbatterti in diverse varianti di questi acronimi, ma i concetti sono molto simili. Gli investitori inviano ether all'indirizzo del contratto e ricevono in cambio nuovi token. I fondi raccolti verranno utilizzati per finanziare lo sviluppo futuro del progetto. Gli utenti si aspettano di poter utilizzare i propri token (immediatamente o successivamente) o rivenderli con profitto man mano che il progetto cresce.
L'emissione di token non è necessariamente automatizzata. Molte campagne di crowdfunding supportano gli utenti nel completare i pagamenti utilizzando varie valute digitali (come BNB, BTC, ETH e USDT) e quindi distribuire il saldo corrispondente all'indirizzo fornito dall'utente.
Vantaggi e svantaggi dei token ERC-20
Vantaggi dei token ERC-20
Intercambiabilità
I token ERC-20 sono fungibili e tutte le unità possono essere scambiate tra loro. Quando si tratta di token Binance Academy, è lo stesso indipendentemente dalla moneta specifica che possiedi. Puoi commerciare con altre persone e i token funzionano allo stesso modo, in modo simile al denaro o all'oro.
Questo è l’ideale se il token che possiedi spera di trasformarsi in una valuta di qualche tipo. I token con caratteristiche distinte perdono la loro fungibilità e non soddisfano le tue esigenze. Ciò può far sì che alcuni token valgano meno o più di token simili, vanificando lo scopo originale.
flessibile
Come discusso nel capitolo precedente, i token ERC-20 sono estremamente personalizzabili e le soluzioni possono essere adattate a diverse applicazioni. Gli esempi includono l'utilizzo come valuta di gioco, punti fedeltà per programmi, oggetti da collezione digitali o persino per rappresentare opere d'arte e proprietà immobiliari.
molto popolare
L'ERC-20 sta guadagnando popolarità nel campo delle criptovalute e il progetto basato su di esso è molto convincente. Numerosi scambi, portafogli e contratti intelligenti sono ora compatibili con vari token appena lanciati. Inoltre, il supporto e la documentazione per gli sviluppatori sono abbastanza completi.
Svantaggi dei token ERC-20
Scarsa scalabilità
Questo è un problema comune a molte reti di criptovaluta e Ethereum non ne è immune. Nella sua forma attuale, non si adatta bene. L'invio di transazioni durante i periodi di punta comporta commissioni elevate e lunghi ritardi. Se vengono utilizzati token ERC-20 che causano congestione della rete, anche la loro disponibilità ne risentirà.
Questo non è un problema esclusivo di Ethereum, ma un compromesso che tutti i sistemi distribuiti sicuri devono fare. La comunità prevede di risolvere questi problemi dopo la migrazione a Ethereum 2.0 e implementare aggiornamenti come Ethereum Plasma ed Ethereum Casper.
Si prega di leggere "Scalabilità Blockchain: Sidechain e canali di pagamento" per saperne di più sui problemi di scalabilità.
Frode
Anche se non c’è nulla di sbagliato nella tecnologia in sé, per certi versi la facilità di emissione dei token può rappresentare uno svantaggio. I semplici token ERC-20 sono facili da creare, il che significa che chiunque può farlo, ma con intenzioni contrastanti.
Pertanto, è necessario investire con attenzione. Esistono molti schemi piramidali e schemi Ponzi mascherati da progetti blockchain. Devi fare le tue ricerche prima di investire per confermare se l'opportunità di investimento è legittima.
Quali sono le differenze tra ERC-20, ERC-1155, ERC-223 e ERC-721?
ERC-20 è stato il primo (e di gran lunga il più popolare) standard per i token Ethereum, ma non è l’unico. Nel corso degli anni sono stati sviluppati molti altri standard. La maggior parte di essi sono standard migliorati dell'ERC-20, altri cercano di raggiungere obiettivi completamente diversi.
Una manciata di standard insoliti si applicano ai token non fungibili (NFT). In alcuni casi, token unici con proprietà diverse possono renderti il beneficiario. Se desideri tokenizzare opere d'arte uniche, risorse di gioco, ecc., uno di questi tipi di contratti potrebbe essere più interessante.
Ad esempio, lo standard ERC-721 viene utilizzato nella popolarissima DApp CryptoKitties. Questo contratto fornisce un'API che consente agli utenti di coniare i propri token non fungibili e codificare i metadati (immagini, descrizioni, ecc.).
Lo standard ERC-1155 può essere visto come un miglioramento di ERC-721 ed ERC-20. Supporta standard di token sia fungibili che non fungibili in un unico contratto.
Altre opzioni, come ERC-223 o ERC-621, sono progettate per migliorare l'usabilità. Il primo implementa misure di protezione per impedire trasferimenti accidentali di token. Quest'ultimo fornisce funzionalità aggiuntive per aumentare o diminuire l'offerta di token.
Per saperne di più sugli NFT, leggi la Guida ai CryptoCollectibles e ai token non fungibili (NFT).
Riassumere
Lo standard ERC-20 è da molti anni l’attore dominante nel settore delle criptovalute. Le ragioni sono ovvie: lo standard è relativamente semplice e chiunque può implementare contratti semplici per soddisfare varie esigenze (token di utilità, stablecoin, ecc.). Tuttavia, l’ERC-20 manca di alcune caratteristiche di altri standard, ma resta da vedere se altri tipi di contratto potranno prendere il suo posto.


