Pionieri della blockchain
Accedi

Token non fungibili, non solo gattiniTempo di lettura: 6 min.

Token non fungibili ERC721

Di CryptoKitties ne hanno parlato tutti, chi in bene, chi in male. Non tutti hanno compreso le reali potenzialità del progetto, molti se ne sono lamentati solamente per aver congestionato la rete Ethereum. Come se avere troppo successo fosse un problema… sorvoliamo però sulla questione.

Quello di cui ci interessiamo in questo articolo è di andare ad analizzare ciò che di tecnologicamente interessante ha stimolato quel progetto, ovvero la proposta dello standard ERC721, atto proprio a definire le modalità di manipolazione di token non fungibili.

Cosa sono i token non fungibili? Vediamolo assieme.

Non tutti i token sono uguali

Oggi siamo oramai abituati a possedere e a gestire nei nostri wallet Ethereum tutta una serie di monete che non siano ether. Questo tipo di monete, nella stragrande maggioranza dei casi, sono dei token ERC20. ERC20 è uno standard per contratti definito per gestire l’utilizzo di token così detti fungibili, ovvero i quali, posti uno a fianco all’altro due token dello stesso tipo, essi sono di uguale valore e sostituibili. Una moneta, è un bene fungibile.

Se io ho una moneta da 1 Euro, posso senza problemi sostituirla con un’altra moneta da 1 Euro, ed avrò lo stesso valore. Se io ho un ether od un token, posso entrambi sostituirli con un ether od un token equivalenti, ed otterrò lo stesso valore. Semplice.

Ora immaginiamo di avere un bene non fungibile, ovvero per cui non valga questa proprietà di sostituibilità. Ad esempio un paio di scarpe. Posto un determinato tipo di paio di scarpe, con un certo colore, una misura, un design unici e caratteristici, pongo a fianco un altro paio di scarpe. Sono sempre scarpe, ma potranno essere diverse: potranno essere di un altro numero, avere un altro colore od avere un design completamente differente. Se volessi rappresentarle con un token, questi dovrebbero essere necessariamente “non fungibili”, e per i CryptoKitties è lo stesso. Da cui la necessità di uno standard.

ERC721

Lo standard ERC721 viene steso e proposto su Github  (https://github.com/ethereum/EIPs/issues/721) il 22 settembre di quest’anno, da un certo Dieter Shirley, Direttore della Blockchain Technology ad Axiom Zen, proprio l’azienda che ha realizzato i CryptoKitties. I detrattori del progetto dovranno almeno prendere atto di questo. Lo standard in questione è ancora in definizione, nonostante i propositori siano già usciti col servizio, e si occupa di definire la tracciabilità e la proprietà quelli che loro chiamano NFT (Non-fungible Token).

Ogni NFT sottostà a queste rigide regole:

  • Ogni NFT è unico
  • Ogni NFT è indivisibile, non è cioè possibile possedere una porzione di NFT
  • Ogni NFT possiede un ID univoco, tale cui la coppia (indirizzo contratto, token ID) sia unica all’interno dell’ecosistema Ethereum

Oltre a questo, pone anche delle funzionalità facoltative per i token, ovvero:

  • È possibile per ciascun NFT possedere dei metadata specifici
  • È possibile definire per una tipologia di NFT un simbolo e un nome, come per gli ERC20

Gli obiettivi primari di questo standard sono due, ovvero:

  • Realizzare un’interfaccia comune per l’interazione tra contratti, indipendentemente dalla tipologia di token, e dal contratto che li utilizza
  • Definire un’interfaccia comune per permettere ai wallet del futuro di gestire ciascuno di questi token, indipendentemente dalla loro tipologia, come oggi accade con gli ERC20

Come obiettivo secondario, ci si è concentrati nel mantenere l’interfaccia quanto più simile ai token ERC20, dove possibile, per semplificare in primis la vita degli sviluppatori. Ovviamente, laddove vi fossero importanti differenze legate alla fungibilità, delle scelte differenti sono state prese.

Ma cosa definisce lo standard, e quali funzioni potremo svolgere dai nostri wallet?

Definizione dello standard

Stando all’ultima versione pubblicata, le caratteristiche minime da implementare per essere “ERC721 compliant” sono le seguenti. Compatibili con l’ERC20:

  • Sarà possibile definire un nome comune del token, questa parte è opzionale
  • Sarà possibile definire un simbolo comune del token, anche questa parte è opzionale
  • Sarà possibile contare il quantitativo di NFT posseduti da un particolare indirizzo

Le funzionalità invece specifiche dell’NFT sono le seguenti:

  • Dato un ID, sarà possibile ricavarne l’indirizzo del proprietario
  • Dato un ID ed un destinatario, sarà possibile trasferire la proprietà del token al destinatario
  • Dato un ID ed un destinatario, sarà possibile AUTORIZZARE il destinatario a richiedere la proprietà del token
  • E quindi, se siete il destinatario, dato quell’ID potrete ricevere la proprietà del token
  • Dato un indirizzo ed un indice, sarà possibile ricevere l’ID del token relativo da esso posseduto. Questo può essere utile, ad esempio, all’enumerazione dei token posseduti da un utente
  • Dato un ID, sarà possibile ricevere le informazioni relative ad eventuali metadata specifici associati. Questi metadata dovranno essere codificati in forma di URL, e l’URL dovrà utilizzare il protocollo IPFS, HTTP, o in futuro Swarm

Conclusioni

Gli aggiornamenti sul protocollo terminano qui, lo standard sembra essere in via di conclusione, ed è improbabile che vi saranno grossi stravolgimenti.

In un futuro prossimo potremo avere dei wallet generici in grado di gestire delle proprietà personali di ogni tipo, che siano essi dei beni digitali, dei biglietti per eventi, degli oggetti collezionabili, degli item in un videogioco di ruolo, o qualsiasi altra cosa che abbia un valore unico e distinguibile da ciascun altro elemento simile, ed avremo contratti anche complessi in grado di amministrarli. E tutto questo, grazie ai cripto gattini.

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su telegram
Condividi su whatsapp
Condividi su reddit
Mirko Da Corte

Mirko Da Corte

Appassionato di tecnologia da sempre, incontrai per caso blockchain in un pomeriggio di sole. Fu amore a prima vista. Founder e CTO di Digicando Srl, collaboro alla moderazione del gruppo Ethereum Italia

Vuoi approfondire le dinamiche di questo articolo?

Prenota una consulenza con un esperto del team di EtherEvolution che saprà rispondere alle tue domande.
Mirko Da Corte

Mirko Da Corte

Appassionato di tecnologia da sempre, incontrai per caso blockchain in un pomeriggio di sole. Fu amore a prima vista. Founder e CTO di Digicando Srl, collaboro alla moderazione del gruppo Ethereum Italia

Vuoi approfondire le dinamiche di questo articolo?

Prenota una consulenza con un esperto del team di EtherEvolution che saprà rispondere alle tue domande.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

CRIPTOGENESIS

Come comprare, proteggere e rivendere le tue prime criptovalute