Sigillo digitale
Introduzione
Il nostro sigillo digitale sostanzialmente è un NFT, acronimo di Non Fungible Token. Per comprendere come funziona, dobbiamo capire a grandi linee anche come funziona la blockchain sulla quale è ospitato. Conoscere alcuni concetti preliminari come la criptografia e l’algoritmo di Hash ci aiuterà e per questo motivo, di seguito ne forniremo una semplice sintesi con un approccio sostanzialmente intuitivo.
Passeremo poi a spiegare il concetto di blockchain, sempre cercando di semplificare per quanto possibile, partendo dalla blockchain di Bitcoin per poi passare alla blochchain di Ethereum che ha introdotto per prima il meccanismo degli Smart Contract grazie ai quali è possibile creare gli NFT, di fatto i sigilli digitali per certificare opere d’arte reali e opere d’arte digitali, per queste ultime l’NFT conferirà anche un attributo di unicità, risolvendo il problema della copia identica all’originale. Vedremo anche che esiste la possibilità di utilizzare blockchain Layer-2 come Polygon, compatibili con l’ecosistema Ethereum con commissioni decisamente più basse pur garantendo un livello di sicurezza elevato.
Criptografia
L’impiego più conosciuto della criptografia è una modalità di scrittura di dati, come testi, numeri e più in generale qualsiasi tipo di informazione, realizzata in modo che tali dati siano visibili solo a determinati soggetti, dove per soggetti intendiamo non solo persone fisiche ma anche sistemi informatici. L’utilizzo della criptografia si perde nella notte dei tempi, ne è un esempio il cifrario dell’imperatore Giulio Cesare. Esistono svariati sistemi di criptografia, uno particolarmente suggestivo, anche se non particolarmente complesso, è il Cryptex, un dispositivo che l’autore Dan Brown attribuisce nel suo libro Codice da Vinci a Leonardo (sembra che sia solo frutto di fantasia). Il Cryptex è un cilindro che contiene un papiro con informazioni segrete, il cilindro è fatto di anelli sovrapposti che riportano delle lettere e può essere aperto solo ruotando gli anelli fino a quando le lettere allineate corrispondono ad un codice segreto.
Questa è un’applicazione della crittografia molto colorità. Nella realtà possiamo criptare un teso o un messaggio utilizzando un algoritmo matematico (una formula) che, partendo da numeri e lettere (traducibili in numeri) e interagendo con un codice segreto (chiave), calcola una nuova sequenza di numeri e lettere che non hanno più nessun significato per chi le legge. Per ricostruire il testo originale si deve fare il processo a ritroso ma per farlo è necessario avere la chiave. Nel tempo i matematici hanno inventato algoritmi sempre più complessi che rendono di fatto il testo indecifrabile senza avere la chiave. Per semplicità parliamo di testo ma il meccanismo vale per qualsiasi dato.
Fin qua abbiamo parlato di criptografia a chiave simmetrica ma esiste una modalità detta a chiave asimmetrica.
Ricapitoliamo, con la chiave simmetrica possiamo criptare un testo, inviarlo e chi lo riceve lo può decriptarlo con la stessa chiave che noi gli abbiamo consegnato separatamente dal testo. Un terzo soggetto che dovesse intercettare il testo non può leggerlo senza la chiave.
Quando parliamo di chiave assimmetrica, parliamo di due chiavi, una privata e una pubblica legate tra di loro. L’algoritmo in questo caso è strutturato in modo da utilizzarle entrambe. Un soggetto possiede le due chiavi ma, mentre la chiave privata è nota solo al soggetto stesso, la chiave pubblica è visibile a tutti. Le chiavi come già detto sono legate una all’altra, per ogni chiave privata esiste una corrispondente chiave pubblica e viceversa.
Se criptiamo il testo con la chiave privata, il testo potrà essere decriptato solo con la chiave pubblica corrispondente. In questo caso non viene tutelata la segrettezza del testo dato che chiunque può aprirlo utilizzando la chiave pubblica. Il vantaggio in questo caso è che il soggetto che riceve il testo ha la certezza che è quello originale scritto dal proprietario della chiave pubblica. Se il testo fosse stato modificato da un terzo in fase di transito non sarebbe più decriptabile. E’ come se il messaggio fosse firmato, si tratta in pratica di una firma digitale.
Se criptiamo il messaggio con la chiave pubblica nessuno potrà aprire il messaggio tranne il soggetto che possiede la corrispondente chiave privata. In questo caso per esempio se mettiamo un testo su un sito web, potrà essere aperto solo dal destinatario che abbiamo scelto e del quale abbiamo usato la chiave pubblica.
Abbiamo parlato di testo per semplicità, ma il ragionamento vale per qualsiasi insieme di dati digitali contenuti in un file o che viaggiano in rete.
Il meccanismo della chiave assimmetrica è applicato nelle blockchain, questo aspetto sarà approfondito nella sezione dedicata.
Algoritmo di Hash
L’ algoritmo di Hash ci consente di calcolare, partendo da una stringa di dati, un testo o un file di qualsiasi natura, un codice la cui lunghezza è sempre la stessa. Questo codice ha una particolarità molto utile, consente di verificare l’integrità dei dati sui quali è stato calcolato. L’ hash può essere calcolato anche su un file di qualsiasi tipo, in fondo un file non è altro che un contenitore di dati.
Vediamo ora come è possibile verificare l’integrità di una stringa di dati o un file. Se calcoliamo l’hash di una stringa di dati e, dopo aver modificato anche una sola virgola della stringa, lo ricalcoliamo, i due hash calcolati saranno completamente diversi. Questo significa che, se conosciamo l’hash di una stringa originale e per qualche motivo la stringa viene modificato da qualcuno, andando a riprendere la stringa possiamo verificare se questa è stata effettivamente modificata o se il suo contenuto è quello creato in origine. Basterà calcolare nuovamente l’hash e confrontarlo con quello che avevamo conservato. Se i due hash coincidono siamo assolutamente sicuri che il contenuto del file è esattamente quello originale.
A rigore in teoria non si può escludere in assoluto che due stringhe di dati diverse possano generare lo stesso hash tuttavia questa evenienza è estremamente rara, come dire: se un colpo di vento fa cadere un castello di carte, non possiamo escludere che un secondo colpo di vento possa rimetterle in piedi, evidentemente si tratta di un evento non impossibile ma altamente improbabile. Per l’hash vale la stessa cosa, ciò vale particolarmente per le versioni più recenti dell’algoritmo come la versione SHA256 utilizzata nella blockchain alla quale facciamo riferimento noi. Questa versione è considerata oggi estremamente sicura.
L’algoritmo di hash SHA256 è un elemento importante della blochchain ma può anche essere utilizzato per garantire l’integrità dei dati di una cartella contenente un pacchetto completo di documentazione, vedremo come questa possibilità potrà essere sfruttata in una particolare struttura di NFT.
Se volete familiarizzare con l’algoritmo di hash di seguito alcuni link con il calcolatore online o da installare su PC:
Online: Defuse
PC Windows: Hash Checker – Matt Cooley
PC MAC: Hash Calculator – Tengu Software
Blockchain
La prima comparsa di questa tecnologia informatica risale al 2008 ad opera di Satoshi Nakamoto, si tratta di uno pseudonimo, ad oggi non è infatti nota la vera identità dell’inventore, non si sa neppure se sia un individuo o un’organizzazione. Si è rivelata una tecnologia molto versatile anche se l’inventore l’ha introdotta per un impiego molto particolare, la famosa criptomoneta (cryptocoin) Bitcoin. Per poter esistere, una moneta digitale deve essere supportata da un registro (Blockchain) che tiene traccia in modo indelebile di tutti i passaggi da un soggetto ad un altro o meglio da un indirizzo ad un’altro o meglio ancora da una chiave pubblica ad un’altra. Ricordatevi che dietro a ciascuna chiave pubblica c’è un soggetto fisico che può scegliere di restare anonimo. Per nostra fortuna la blockchain può fare altro oltre che gestire una moneta digitale anche se la maggior parte delle blockchain per funzionare richiedono comunque una propria moneta digitale.
Per rendere funzionante e credibile il sistema, il nostro Satoschi Nakamoto ha dovuto rendere pubblico tutto il codice (software) che gestisce la sua invenzione e questo è stato un bellissimo regalo, non proprio disinteressato, oggi la tecnologia è a disposizione di chiunque voglia creare la propria blockchain o utilizzare quelle già esistenti.
Cerchiamo di capire come funziona questa meraviglia, si tratta di una cosa tecnicamente molto complessa ma noi adotteremo, nel limite del possibile, un approccio intuitivo. A questo punto gli specialisti cominceranno a sorridere, ma noi che siamo “comuni mortali” non abbiamo altra strada che non sia quella della semplificazione ad ogni costo. Se ci riusciremo ci prenderemo un piccolo merito, quello di aver contribuito alla diffusione di questo potente strumento non solo tra gli specialisti, ma anche, passatemi il termine, tra le persone “comuni”.
Cominciamo dicendo che si tratta di un registro contabile sul quale vengono trascritte, in ordine cronologico, transazioni di varia natura.
Abbiamo a che fare con un registro molto particolare, proviamo a ricapitolare:
- Digitale – è nato digitale e non ha senso che fosse altrimenti;
- Transazioni inalterabili – nonostante sia digitale, una volta che una transazione è stata registrata, nessuno può più modificarla o cancellarla ;
- Transazioni anonime – ciascun utente è associato a una chiave pubblica, gli utenti generano transazioni utilizzando una chiave privata nota solo all’utente stesso.
- Timestamp – A ciascuna transazione è associata, sempre in modo indelebile data, ora, minuti, secondi;
- Accesso pubblico – chiunque può accedere al registro e vedere qualsiasi transazione caricata;
- Distribuito – vengono create innumerevoli copie identiche archiviate su migliaia di nodi (computer) collegati tra di loro in tutto il mondo;
- Indipendente – non è gestito da intermediari, una volta attivato, nessuno può averne il controllo esclusivo.
Si tratta quindi di un registro residente su una rete di nodi. I nodi (computer) di questa rete forniscono potenza elaborativa per registrare le transazioni che sono raccolte in blocchi collegati uno all’altro a partire dal primo blocco creato (Genesi). Da qui il nome blockchain, catena di blocchi.
Per garantire l’integrità , cioè l’impossibilità di modifica, delle transazioni, dei blocchi e in definitiva dell’intero registro, viene utilizzato l’hash con una modalità che proveremo a spiegare. Per essere più precisi, il registro è immutabile per la parte già in essere ma viene costantemente aggiornato con nuove transazioni che si vanno ad aggiungere in ordine cronologico.
Facciamo riferimento per semplicità a transazioni di criptomoneta, vedremo in seguito che si possono registrare anche transazioni di diversa natura. Abbiamo visto che per funzionare una blockchain ha comunque bisogno di una sua criptomoneta che è nella disponibilità dei vari utenti. Quando viene proposta una nuova transazione, per esempio, un utente A chiede di trasferire una parte della sua criptomoneta all’utente B, di fatto sul registro viene inserita una stringa con la data e la quantità trasferita, (vengono anche aggiornati i saldi di A e di B). Le transazioni/stringhe vengono raggruppate in blocchi. Nelle immagini che seguono sono simulati 4 blocchi, ogni blocco riporta 4 transazioni/stringhe (nella realtà sono di più, per semplicità ci fermiamo a 4). Noi abbiamo scritto le transazioni in modo semplice, in realtà il registro della blockchain usa la tecnica contabile del “dare/avere” e le transazioni sono organizzate con una struttura di “Database” per facilitare la lettura delle transazioni.




Ciascun blocco comprende 5 elementi:
- 1 Block – si tratta del numero blocco, i blocchi sono numerati in modo progressivo;
- 2 Nonce – Si tratta di un numero, a breve capiremo a cosa serve;
- 3 Data – Sono i dati, nel nostro caso la lista delle transazioni/stringhe;
- 4 Prev – Si tratta dell’hash calcolato sul blocco precedente, verificate osservando i 4 blocchi, il primo (Genesi) è a 0 non essendoci un blocco che lo precede;
- 5 Hash – E’ l’hash del blocco stesso, calcolato sull’insieme degli elementi 1, 2, 3, 4.
I quattro blocchi dimostrativi sono stati creati con un simulatore di calcolo, se volete provare ad utilizzarlo potete aprire questo link.
Vediamo cos’è il nonce. Avrete notato che gli hash iniziano con 4 zeri, il nonce è un numero che deve essere aggiunto al blocco per fare in modo che questa condizione (4 zeri iniziali) si verifi. Quando gli utenti inviano le richieste di registrazione di una transazione, queste vengono viste da tutti i nodi, i nodi stessi cominciano ad impilarle, a un certo punto, quando è il momento di chiudere il blocco i nodi cominciano a calcolare il nonce. L’unica possibiltà per fare questo, è procedere per tentativi, partendo da un numero, non necessariamente 1, se l’hash non ha 4 zeri, si incrementa il numero e si ricalcola fino a quando non si trova l’hash con i 4 zeri. I nodi nel fare questo lavoro sono in competizione tra di loro e la possibilità di arrivare primo dipende, oltre che dalla fortuna (il nodo decide da che numero partire), anche dalla potenza di calcolo di cui il nodo dispone. Il primo nodo che trova il nonce chiude il blocco e lo propone agli altri nodi che iniziano a verificare la correttezza del calcolo. Quando la maggioranza dei nodi conferma, il blocco viene aggiunto alla catena e si comincia a lavorare sul blocco successivo.
Vi chiederete a questo punto perchè i nodi dovrebbero fare tutto questo lavoro. Semplicemente perchè il nodo che chiude il blocco riceve una nuova moneta coniata che ha un valore di mercato. Questo sistema realizza la produzione di criptomoneta e garantisce la remunerazione dei nodi esistenti e nuovi nodi che, spinti da una prospettiva di guadagno, investono aumentando nel tempo le risorse di calcolo (hardware). I nodi guadagnano anche perchè gli utenti pagano una fee per registrare ciascuna transazione.
Proviamo adesso ad immaginare una catena di migliaia di blocchi. Se qualcuno volesse modificare una transazione in qualsiasi punto della catena, dovrebbe anche modificare tutti i blocchi successivamente creati per conservare la correttezza degli hash ma dovrebbe avere anche la complicità della maggioranza dei nodi o esserne proprietario realizzando un investimento enorme, impresa praticamente impossibile. Questo in definitiva è il motivo per cui una blockchain quando raggiunge una certa dimensione non è più di fatto alterabile. Grazie agli hash abbiamo un forte concatenamento tra i blocchi, per questo motivo si parla di catena di blocchi o blockchain.
Le immagini dei blocchi sopra riportate sono ricavate utilizzando un simulatore di calcolo online, potete provare ad utilizzarlo, questo è il link.
Inserite dei dati a caso e poi premete i tasti”Mine”, il tool calcola gli hask con 4 zeri, noterete che i tempi di calcolo tra un blocco e l’altro possono cambiare, dipende dai dati inseriti, una volta calcolati gli hash, provate a modificare i dati di un blocco, anche una semplice virgola, tutti i blocchi successivi, a partire da quello modificato, si colorano di rosso indicando che gli hash non sono più congruenti, per sistemarli dovrete ricalcolare tutti i blocchi successivi.
Questo meccanismo di validazione del blocco viene definito Proof-of-Work (PoW) per il fatto che viene richiesta una notevole attività di calcolo e investimenti in HW dedicato a garanzia del fatto che i nodi non abbiano alcun interesse a compromettere il buon funzionamento della blockchain. Abbiamo descritto nel dettaglio il meccanismo PoW perchè è sto il primo implementato e per certi versi il più geniale ma esistono altre modalità per garantire questo meccanismo in sicurezza, tra questi il più diffuso è quello definito Proof-of Stake (PoS), in questo caso i nodi non devono aver investito in risorse HW necessarie per effettuare calcoli ma devono immobilizzare nella blockchain un importo minimo di criptomoneta, anche in questo caso i nodi hanno tutto l’interesse a non compromettere la blockchain perchè in tal caso perderebbero il capitale immobilizzato. Il meccanismo PoS di recente sta molto diffondendo perchè decisamente più virtuoso dal punto di vista della salvaguardia dell’ambiente non essendo energivoro come PoW che richiede grosse quantità di energia per far girare l’HW.
Ci possono essere criteri in parte diversi nel funzionamento delle blockchain. Questa spiegazione ha lo scopo di presentare in generale i principi di funzionamento. Le approssimazioni e le eventuali imprecisioni sono l’inevitabile conseguenza dell’estrema sintesi che abbiamo cercato di fare.
Se non vi interessa spendere energie per capire questo rompicapo non è un grosso problema, basta accettare per buone le caratteristiche della blockchain e sfruttarne le funzionalità.
Token
Accettato il fatto che ciò che viene registrato sulla blockchain è indelebile e inalterabile, possiamo proseguire.
Abbiamo visto che sulla blockchain esiste una criptomoneta nativa ma è possibile inserire altri elementi, anche questi risulteranno indelebili e inalterabili.
Da questo punto in poi faremo riferimento alla blockchain di Ethereum nata nel 2015 grazie all’idea di Vitalik Butterin e considerata di seconda generazione o ad altre blockchain compatibili con l’ecosistema Ethereum. Queste sono le blockchain che utilizzeremo per creare i nostri “sigilli digitali”.
Ethereum ha realizzato un salto qualitativo , oltre ad avere la propria moneta nativa Ether (ETH), ha anche introdotto la possibilità da parte degli utenti di creare i cosidetti “Smart Contract”. Si tratta di stringhe di codice (programmi) che devono rispettare gli standard approvati dai fondatori. Per far funzionare questi Smart Contract, Ethereum ha creato una Ethereum Virtual Machine (EVM), un sistema particolare distribuito sui vari nodi in grado di eseguire gli Smart Contract, Gli Smart Contract sono a loro volta registrati sulla blockchain in modo indelebile e inalterabile come avviene per le transazioni effettuate dagli utenti e le transazioni generate in automatico dagli stessi Smart Contract.
Uno Smart Contract è in grado di produrre una transazione autonomamente e registrarla come conseguenza di richieste che arrivano dagli utenti, una volta lanciata una richiesta allo Smart Contract, viene eseguita senza che ci sia la possibilità di bloccarla. Così come un contratto firmato davanti a un notaio, una volta perfezionato produce effetti in modo irreversibile in funzione delle azioni messe in moto dai contraenti. La differenza è che lo Smart Contract lo fa quasi istantaneamente e da ciò deriva il suo nome.
Gli smart contract possono fare diverse cose, tra queste la possibilità di creare i token.
I token sono gettoni che gli utenti possono creare per gestire le proprie attività. Esistono due famiglie di token: fungibili e non fungibili (questi ultimi li utilizzeremo per il nostro sigillo digitale). Vediamo le differenze facendo anche alcuni esempi:
Token fungibili (standard ERC20) – sono token tutti uguali, è possibile crearne la quantità che si desidera, hanno un nome e un simbolo in comune e per chi li riceve è indifferente che sia uno piuttosto che un altro. Possono essere scambiati con beni o servizi che generalmente sono messi a disposizione del creatore e sono anche scambiabili con una certa quantità di Ether (criptomoneta nativa).
Facciamo un esempio, un utente organizza una rappresentazione teatrale che prevede 100 posti per il pubblico. L’utente crea sulla blockchain 100 token, li chiama “Spettacolo XYZ” e gli assegna un prezzo in Ether, inizialmente l’utente ha tutti i token registrati sotto il proprio indirizzo ma lo smart contract è fatto in modo che se qualcuno, che ha Ether sul proprio indirizzo, ne richiede uno lo smart contract registrato sulla blockchain trasferisce il token al richiedente e contestualmente il corrispondente valore in Ether al creatore del token. Il richiedente dimostrerà all’ingresso del teatro di avere il possesso del token per poter accedere. E il creatore potrà convertire gli Ether ricevuti in valuta (euro) o conservarli sul suo conto. Il richiedente, prima di utilizzarlo può trasferire il token ad altri. Di fatto, se ci pensate, il token fungibile può anche funzionare come una sottomoneta, se qualcuno si ricorda come un tempo venivano usati i gettoni del telefono, noterà una certa analogia . In alcuni casi può anche servire per ripartire la proprietà di un bene tra vari soggetti o in altri rappresentare un diritto di voto .
Token non fungibili o NFT (standard ERC721) – si tratta di token unici, non intercambiabili con altri equivalenti, ciascuno è infatti contraddistino da un numero identificativo (ID). Hanno inoltre una utilissima particolarità, possono essere collegati ad una lista di “metadati“, si tratta di informazioni che il creatore del token decide di associare a ciascun token per caratterizzarlo ulteriormente. Una volta creati risiedono in modo definitivo sulla blockchain e possono essere scambiati con criptomonete o trasferiti tra utenti con transazioni sempre registrate e tracciate. Per la realizzazione del sigillo digitale utilizzeremo questo tipo di token.
Wallet
Per conservare e scambiare cryptomonete e token e più in generale interagire con la blockchain abbiamo bisogno di un “Wallet“, si tratta di un portafoglio digitale. In realtà non è come quello che teniamo nelle nostre tasche, le criptomonete è i token non sono oggetti fisici. Il wallet ci permette di interagire con la blockchan attraverso le chiavi pubblica e privata non solo per trasferire/ricevere criptomonete e token ma anche per acquisire il controllo dei nuovi token che realizziamo, oltre che interagire con le applicazioni decentralizzate realizzate sulla blockchain. Tutte le informazioni come abbiamo visto risiedono sul registro della blockchain, compreso i saldi di tutto ciò che è in nostro possesso. Nonostante questo, se perdiamo il nostro wallet, tutte le nostre criptomonete/token cadranno nell’eterno oblio e nessuno potrà più averne accesso, non va dimenticato che in questo mondo non esistono intermediari che ci possono far recuperare il nostro wallet (a rigore, solo per i wallet online questo è possibile ma sono considerati i meno sicuri).
Possiamo scegliere di utilizzare tre tipi di wallet:
- Wallet online – le nostre chiavi sono registrate sul sito online (la chiave privata è criptata). Viene creata una passwor di di accesso che dobbiamo conservare con estrema cura, se la perdiamo per accedere dovremo chiedere all’amministratore del sito il ripristino. Nei wallet on line di fatto deleghiamo il sito alla gestione del nostro portafoglio. Il livello di sicurezza è il più basso, dipende in buona parte dall’affidabilità del sito.
- Wallet installato su PC o smartphone – le nostre chiavi sono registrate nel software del wallet. quando installiamo il wallet sul nostro dispositivo viene creata, oltre alla password, una lista casuale solitamente di 12 parole (seed phrase) che ci permetterà di reinstallare il wallet qualora il nostro dispositivo (o il suo software) vada perso o distrutto, in questo caso si devono conservare con estrema cura le 12 parole, la pasword verrà ricreata in fase di reinstallazione. Il livello di sicurezza è intermedio, è tutto in mano al proprietario del PC/smartphone ma esiste il rischio che un virus possa carpire la password e la chiave privata.
- Wallet hardware – funziona su PC ed è una chiavetta USB (o comunque un dispositivo esterno) che viene collegato al computer. La chiavetta è progettata in modo che la nostra chiave privata, non abbandona mai il dispositivo e non esiste la possibilità che un virus entri nella chiavetta. Anche in questo caso ci sono le 12 parole per ripristinare il wallet su una nuova chiavetta nel caso la prima vada distrutta o perduta. Per effettuare una transazione dovremo sbloccare la chiavetta con un PIN creato in fase di installazione. E’ considerata una soluzione estremamente sicura, chi volesse carpire la chiave privata dovrebbe entrare in possesso della chiavetta hardware e conoscere il PIN oppure avere accesso alle 12 parole di ripristino. I walle hardwer più diffusi sono Ledger Nano S e Trezor.
Un’ultima cosa, quando una richiesta dal wallet viene inviata alla blockchain, viene criptata usando la chiave privata che conosciamo solo noi (e il nostro wallet), la blockchain la prende in carico decriptandola con la nostra chiave pubblica, se l’operazione di decriptaggio va a buon fine, la transazione viene assegnata alla nostra chiave pubblica. La blockchain non ha informazione che dietro a quella chiave pubblica ci siamo noi.
IPFS – Interplanetary File System
I metadati non risiedono sulla blockchain per non appesantirla, possono essere inseriti su un sito web oppure, se vogliamo rendere anche questi dati inalterabili è possibile inserirli sull’ Interplanetary File System (IPFS). Si tratta di un sistema di archiviazione anche questa distribuita su migliaia di nodi (computer). Anche IPFS utilizza un particolare meccanismo di codifica basato su l’hash. Il nome del file, quando viene depositato viene trasformato in un codice che deriva dall’hash del contenuto e per richiamarlo si deve utilizzare questo codice al posto del nome file originale. Esistono diverse porte di accesso a IPFS dette “Gateway”, qui potete trovare una lista di IPFS Gateway. I metadati possono essere richiamati attraverso lo smart contract del token al quale sono collegati.
Di seguito un l’esempio di un file contenente metadati il cui mome originale era “Metadata – Fiore – FRE.txt” e che che abbiamo depositato su IPFS, il nome, come abbiamo detto è stato automaticamente codificato.
https://ipfs.io/ipfs/QmTxinDNJPCNH53yDU6vH7CWtN2XPjJJ9yBXJzVgdR6w9d
Provate ad aprirlo, contiene i metadati di un token che abbiamo creato per prova. All’interno trovere un altro indirizzo IPFS, si tratta di un’immagine alla quale è legato il token. Per comodità riportiamo il link di seguito.
https://ipfs.infura.io/ipfs/QmehHPVg5BZHpeMBUYyGVmGGb1eK1HMkaNFfi8HeUMubT6
La prima parte del link (in verde) è l’indirizzo del Gateway, l seconda parte in blu è l’indirizzo/codice del file, se provate a cambiare l’indirizzo del Gateway mantenendo l’indirizzo/codice del file invariato, otterrete lo stesso contenuto.
NFT – Non Fungible Token
Adipiscing voluptatum vel, adipisicing mus mollis? Quas commodi litora quia? Fugiat class, consectetuer magnam, iusto elementum suspendisse dapibus orci cupidatat eaque accusamus, litora ullamcorper integer. Luctus, iusto parturient deserunt alias. Facilisis harum ut per. Voluptates quis! Eum maxime nihil excepteur eveniet cumque! Nisi risus reiciendis. Etiam vehicula accusantium! Sollicitudin metus rerum justo alias adipisci, modi, varius, debitis accusantium proident turpis velit accusantium recusandae tellus quod? Harum? Aptent necessitatibus! Optio ut, neque perspiciatis, rerum duis modi mollit, ab temporibus vitae, litora, ullamco tempora corporis! Mollitia. Optio harum magna aliquip debitis nisi! Magni, ipsa vel natoque! Rutrum, bibendum ut nostrud suscipit tortor.
Minima ullamcorper quia duis pulvinar imperdiet nostra hymenaeos ipsa voluptatum debitis congue illum dui, laborum torquent habitasse ullam. Varius accumsan ultrices netus corrupti eum? Odit aptent porta vitae vel officiis. Nemo potenti! Tempore ultrices euismod iure! Commodo dignissim morbi, veritatis ridiculus cursus maecenas aperiam elementum, qui recusandae orci! Voluptatum nostrud recusandae congue tempus, nisl alias eum imperdiet nibh iste, varius, aptent distinctio assumenda ullam senectus fugit, totam venenatis, aenean sit vehicula pharetra! Non, delectus consequuntur, quia ratione suscipit. Laboriosam vel! Mollit, mi ultricies exercitation. Enim! Hymenaeos facilisi, ipsa. Diamlorem nihil facilisi quos iure blandit non lobortis consectetur id. Esse magnis.
Modi laoreet montes feugiat doloribus? Ea, eos cras assumenda, eveniet. Nullam illo gravida nobis inventore unde proin provident, eu doloribus repellendus! Aliqua maxime beatae! Lobortis pretium etiam recusandae, orci laoreet tempor, leo adipiscing pede amet sequi! Elit, odio quae, blandit rhoncus totam? Cumque luctus! Necessitatibus, eros? Repellat hic rutrum congue metus a rerum blandit non porta nostra laboris mauris odit corrupti, cupidatat earum convallis cillum excepteur hic molestie nunc magni maecenas commodo! Earum et cillum donec. Vestibulum elit. Cum, eveniet odio rutrum beatae! Sociosqu? Dolorum blanditiis architecto praesentium varius ante nibh perspiciatis, arcu eum explicabo porta congue. Veniam blanditiis minim.
Adipiscing voluptatum vel, adipisicing mus mollis? Quas commodi litora quia? Fugiat class, consectetuer magnam, iusto elementum suspendisse dapibus orci cupidatat eaque accusamus, litora ullamcorper integer. Luctus, iusto parturient deserunt alias. Facilisis harum ut per. Voluptates quis! Eum maxime nihil excepteur eveniet cumque! Nisi risus reiciendis. Etiam vehicula accusantium! Sollicitudin metus rerum justo alias adipisci, modi, varius, debitis accusantium proident turpis velit accusantium recusandae tellus quod? Harum? Aptent necessitatibus! Optio ut, neque perspiciatis, rerum duis modi mollit, ab temporibus vitae, litora, ullamco tempora corporis! Mollitia. Optio harum magna aliquip debitis nisi! Magni, ipsa vel natoque! Rutrum, bibendum ut nostrud suscipit tortor.
Minima ullamcorper quia duis pulvinar imperdiet nostra hymenaeos ipsa voluptatum debitis congue illum dui, laborum torquent habitasse ullam. Varius accumsan ultrices netus corrupti eum? Odit aptent porta vitae vel officiis. Nemo potenti! Tempore ultrices euismod iure! Commodo dignissim morbi, veritatis ridiculus cursus maecenas aperiam elementum, qui recusandae orci! Voluptatum nostrud recusandae congue tempus, nisl alias eum imperdiet nibh iste, varius, aptent distinctio assumenda ullam senectus fugit, totam venenatis, aenean sit vehicula pharetra! Non, delectus consequuntur, quia ratione suscipit. Laboriosam vel! Mollit, mi ultricies exercitation. Enim! Hymenaeos facilisi, ipsa. Diamlorem nihil facilisi quos iure blandit non lobortis consectetur id. Esse magnis.
Modi laoreet montes feugiat doloribus? Ea, eos cras assumenda, eveniet. Nullam illo gravida nobis inventore unde proin provident, eu doloribus repellendus! Aliqua maxime beatae! Lobortis pretium etiam recusandae, orci laoreet tempor, leo adipiscing pede amet sequi! Elit, odio quae, blandit rhoncus totam? Cumque luctus! Necessitatibus, eros? Repellat hic rutrum congue metus a rerum blandit non porta nostra laboris mauris odit corrupti, cupidatat earum convallis cillum excepteur hic molestie nunc magni maecenas commodo! Earum et cillum donec. Vestibulum elit. Cum, eveniet odio rutrum beatae! Sociosqu? Dolorum blanditiis architecto praesentium varius ante nibh perspiciatis, arcu eum explicabo porta congue. Veniam blanditiis minim.