Token ERC20, stablecoin, ICO. Un po’ di chiarezza

Cosa è un token?

Un token è un bene virtuale, motivo per cui viene identificato come gettone virtuale, che ha un determinato valore nel contesto in cui viene erogato. Questi token quindi hanno il loro valore, ma esso è limitato ad un particolare contesto, analogamente ad un buono da €20 in un negozio di abbigliamento vale sì €20, ma li vale solo in quel negozio.

A differenza di una criptovaluta un token viene semplicemente prodotto dallo sviluppatore, nelle quantità e nelle modalità desiderate. Se io possiedo un negozio posso creare quanti buoni voglio, non c’è una banca a cui rivolgermi.

Prima di procedere con questo post consiglio la lettura di Cosa sono gli smart contract?.

Un particolare token: le stablecoin

Le stablecoin sono dei token associati in modo fisso a delle valute fisiche, come il dollaro statunitense. Il loro prezzo quindi non è variabile come potrebbe essere quello di una criptovaluta ma è associato uno ad uno alla moneta in questione. Per comodità di seguito utilizzeremo sempre i dollari.

Dato che 1 token vale 1$, ad ogni token emesso sul mercato dovrebbe essere associato ad un dollaro “bloccato” in cassaforte. Quando il richiedente del token vuole il suo dollaro il token diventerà inutilizzabile e in cambio verrà restituito il dollaro in questione. Tecnicamente parlando questo significa che la moneta è supportata 1:1 da attività reali come il dollaro americano, l’oro o il petrolio che devono essere archiviati in ambienti centralizzati fidati come un conto bancario. Gli utenti di un sistema come questo devono fidarsi della terza parte che lo garantisce.

Le stablecoin sono state create per risolvere il problema della variazione continua nel prezzo delle criptovalute che impedisce il loro utilizzo sia quotidiano, sia su derivati o accordi a lungo termine.

Il progetto più noto di stablecoin è Tether, basato sul dollaro americano. Ci sono attualmente 2,6 miliardi di dollari in gettoni Tether in circolazione, senza audit fidati sulle corrispondenti garanzie.

Cosa è una ICO?

ICO, letteralmente Initial Coin Offering, è la procedura per cui viene commercializzato il nuovo token. In particolare gli investitori acquistano token in cambio del finanziamento di un progetto nella speranza che il progetto abbia successo, che il token aumenti di valore e/o che produca rendimenti. Gli iniziatori di una ICO, a loro volta, hanno bisogno di denaro dagli investitori per finanziare il progetto.

Il processo è simile all’IPO (Initial Public Offering) che avviene quando una azienda vuole essere quotata in borsa e conseguentemente le azioni di una società sono vendute al pubblico; la differenza è che le ICO sono notevolmente meno regolamentate e quindi è necessaria più attenzione per evitare truffe. D’altronde chiunque può creare il proprio token dal valore nullo e venderlo.

Per monitorare i nuovi ICO consiglio il sito IcoDrops.

Sviluppare un token: lo standard ERC20

What is ERC-20? Explanation of details | by eiki | Medium

ERC20 (Ethereum Request Comment 20) è uno standard tecnico implementativo per lo sviluppo di smart contract che devono servire per l’implementazione di nuovi token sulla blockchain di Ethereum. Tali smart contract potranno distribuire token, nonché controllarne la fornitura e monitorarne il movimento e i saldi. 

Ad oggi la quantità di token ERC20 è enorme, basta controllare su Etherscan per avere una idea.

Funzioni standard

Essendo uno standard ogni smart contract per la fornitura di token ERC20 deve avere le seguenti sei funzioni:

  • totalSupply: quanti token esistono in totale. Può essere definito e costante oppure variabile qualora il token possa essere sottoposto a mining
  • transfer: trasferisce il token all’utente che lo chiede
  • allowance: per verificare la quantità di token approvati
  • balanceOf: permette di consultare il saldo dei titolari dei token
  • approve: autorizza altri utenti a spendere i tuoi token. Questo importo approvato è memorizzato in quantità permessa

Di seguito le definizioni delle funzioni in Solidity.

function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)

Il vantaggio di avere uno standard è la possibilità di sviluppare applicazioni, exchange, portafogli e quant’altro in modo indipendente dal token specifico.

Altri standard

ERC-20 non è l’unico standard per token su Ethereum ma è il primo che è stato realizzato; nel corso degli anni sono stati creati altri protocolli con lo scopo di migliorare ERC-20 oppure con l’intenzione di ottenere altri obiettivi.

Esempio di standard alternativi sono ERC721 e ERC1155.

Fonti

Indice

Share
Ultimi articoli
Join

Newsletter

Nessuno spam, solo articoli interessanti ;)

Focus

Post correlati

solidity

Introduzione a Solidity e EVM

Solidity è un linguaggio orientato agli oggetti pensato per implementare smart contract sulla blockchain Ethereum e in particolare sulla Ethereum Virtual Machine (EVM). E’ un

polygon

Appunti su Polygon

Polygon (ex Matic) nasce come blockchain per risolvere i soliti problemi legati ad Ethereum: la scalabilità (lento e fee elevate) e la interoperabilità (compatibilità solo

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)