Scambio di asset digitali
Comprendi meglio come funziona la proprietà e lo scambio sicuro di asset digitali
10min
Comprendi meglio come funziona la proprietà e lo scambio sicuro di asset digitali
10min
Episodi di Blockchain Revolution
Benvenuti ad una nuova lezione di questo corso in formato podcast dedicato alla tecnologia blockchain e al web3. Nelle precedenti lezioni abbiamo visto come è possibile utilizzare le identità digitali, in particolar modo le identità crittografiche composte da una chiave pubblica e una chiave privata, per ricevere informazioni confidenziali e per effettuare firme digitali.
Ma nell'introduzione a questo corso abbiamo detto che queste identità sarebbero state utilizzate anche per detenere e scambiare asset digitali. Ma com'è possibile tutto ciò? Come funziona il meccanismo per possedere e scambiare valori digitali grazie a queste identità e alla tecnologia blockchain? Partiamo come al solito con un esempio. Immaginiamoci di avere una banconota da 5 euro e di volerla scambiare. Essendo una banconota fisica è molto facile, basta cederla a qualcuno e quel qualcuno entrerà in possesso di quel valore, ovvero dei 5 euro. Ma io posso immaginare di fare una fotografia alla banconota e utilizzare questa fotografia in formato png, in formato pdf, per scambiare il valore contenuto nella banconota? Beh, innanzitutto mi dovrei chiedere chi è disposto ad accettare una fotografia, un file pdf che rappresenta la banconota invece della banconota stessa. Allora immaginiamoci di fare questa cosa.
Io vado in banca, deposito la banconota e dico alla banca di cedere la banconota a chiunque si presenti con l'immagine che io ho fatto della banconota stessa. Ecco, qui iniziano a sorgere i primi problemi, cioè come faccio a definire chi è in possesso di un'immagine? Chi ne possiede una copia? Beh, in questo modo però io potrei prendere l'immagine e farne 100 copie e chi è il vero possessore? Allora immaginiamoci un meccanismo per il quale io possa in ogni istante definire chi è il possessore del file digitale, quindi della fotografia della banconota. Quello che potrei fare inizialmente è fare la fotografia della banconota e scrivere da qualche parte in un registro che poi vedremo com'è fatto, che quella banconota appartiene all'identità 23 che è la mia chiave pubblica.
A questo punto chiunque potrebbe fare una copia di quella banconota, però attenzione su quel registro ci sarebbe scritto che il possessore, il proprietario di quella banconota è l'identità 23, cioè io. Questo, se ci pensate, è molto simile a quello che avviene al catasto, dove vado a registrare i dati della mia abitazione o della mia automobile. Esistono quindi, e utilizziamo già nella vita di tutti i giorni, dei registri in cui vengono censiti dei beni, appunto le automobili o le case, e a ciascuno di questi beni viene associato l'identificativo del proprietario. Ora cosa succede se io voglio trasferire il bene, nel nostro caso la banconota da 5 euro, a qualcun altro? Beh, in realtà è molto semplice, basta che io gli chieda la sua identità, quindi la chiave pubblica che lo contraddistingue, e poi firmi una sorta di assegno digitale dove scrivo che la banconota a 5 euro che è in mio possesso, che è in possesso dell'identità 23, viene ceduta alla nuova identità. Immaginiamoci di volerla cedere all'identità 100, ecco scriverò un assegno dove dirò che l'identità 23 cede la proprietà della banconota da 5 euro all'identità 100, e firmerò questo assegno con la mia chiave privata, cioè 10, in modo che chiunque leggendo l'assegno firmato possa verificare che è stato scritto proprio da 23, cioè il precedente proprietario della banconota. Ovviamente il solo assegno firmato non è sufficiente, perché io potrei firmare più di un assegno dove cedo il bene, ovvero la banconota 5 euro, per esempio potrei firmare un assegno digitale dove cedo la banconota da 5 euro a 100, e poi firmo un altro assegno digitale dove cedo la banconota da 5 euro all'identità 150.
Ecco che entrambi gli assegni sarebbero validi perché sarebbero firmati da me, ma soltanto il primo che si presentasse alla banca con questi assegni potrebbe ripetere la banconota, il secondo rimarrebbe in qualche modo a mani vuote. Ecco che quindi oltre a questi assegni digitali firmati è necessario qualcosa in più, è necessario un registro dove io vado a scrivere queste transazioni, questi assegni. Quindi se io, identità 23, cedo la banconota all'identità 100, lo scrivo su questo registro, in modo tale che quando poi provo a cederla a 150, 150 si accorgerà che la banconota non è più in mio possesso, non è più di 23, ma è dell'identità 100. E quindi se io provo a cederla nuovamente a fare il quesito double spending, questo errore o questa frode verrebbe subito rilevata. Ed ecco allora che quando mi presento alla banca per ritirare la banconota fisica da 5 euro, non devo più portare l'immagine della quale potrebbero essercene decine o centinaia di copie in circolazione, ma mi presento e faccio vedere come la proprietà dell'immagine è associata a una certa chiave pubblica e poi devo soltanto dimostrare alla banca che io sono in possesso di quella chiave pubblica. Come faccio? Esattamente come abbiamo visto nelle precedenti lezioni, ovvero risolvendo una sfida, una challenge che la banca mi imporrà e dimostrando che conosco la chiave privata associata alla chiave pubblica che detiene il valore digitale di quella banconota, cioè l'immagine della banconota da 5 euro. Ed ecco com’è possibile quindi detenere e scambiare asset digitali, quindi valori digitali, grazie alla tecnologia blockchain e alle chiavi pubbliche e private delle nostre identità crittografiche. E che tipo di asset possiamo detenere? Esistono fondamentalmente due tipologie di beni che posso gestire con queste tecnologie. La prima categoria è quella dei cosiddetti beni fungibili, ovvero che sono in qualche modo intercambiabili.
Pensate ad esempio a delle banconote o delle monete, quindi se io presto a qualcuno 10 euro, quando questo qualcuno mi ridà i 10 euro, quindi salda il suo debito, non è importante che lo faccia con la stessa banconota con la quale ho fatto il prestito, potrebbe addirittura darmelo con dettagli diversi, quindi io gli presto 10 euro con una banconota da 10 euro e lui me ne ridà con due banconote da 5 o con 5 monete da un euro. Non tutti i beni però sono così interscambiabili. Se, ad esempio, io presto a qualcuno la mia auto o un quadro o la mia casa, non mi va bene che lui mi ridia un'auto qualunque o un quadro qualunque o una casa qualunque.
Voglio proprio che mi ridia il bene che gli ho prestato in prima istanza. Questi beni sono detti non fungibili perché non sono facilmente intercambiabili l'uno con l'altro. Anzi, a volte sono addirittura unici. Ma come faccio a gestire il fatto che gli utenti, queste identità crittografiche, detengano e scambiano dei beni su blockchain? Si sfrutta una caratteristica che è la programmabilità delle blockchain, cioè oltre a rappresentare i beni come asset digitali, questi asset sono anche programmabili. Si sfruttano quindi dei programmi che girano su blockchain, questo tema lo affronteremo più nel dettaglio nelle prossime lezioni, e si creano questi programmi che gestiscono la detenzione e lo scambio di asset. Più in particolare, se parlo di beni fungibili, posso immaginarmi un programma che gestisca una tabella di questo tipo. La tabella è fatta da due colonne, nella colonna di sinistra ho le identità criptografiche, quindi le chiavi pubbliche, e nella colonna di destra il saldo, ovvero quanti oggetti digitali detiene ciascuna identità criptografica. Questi oggetti vengono spesso chiamati token, e quindi immaginatevi che in questa tabella ci saranno le varie identità crittografiche, chiavi pubbliche, a un certo punto ci sarà la chiave pubblica 23, che rappresenta la mia identità, e di fianco ci sarà il mio saldo, ad esempio se c'è scritto 75, vuol dire che io ho 75 token. Quando io firmo un assegno digitale, grazie al quale trasferisco parte dei miei token, ad esempio 5 dei miei token, a un'altra identità, scriverò un assegno dove scriverò il destinatario, il mittente sono io, il valore sono 5 token, firmerò questo assegno e a quel punto mettendolo su blockchain succederà che il mio saldo verrà aggiornato da 75 a 70, e il saldo del destinatario verrà incrementato di 5 unità. In modo simile se si parla di token non fungibili, quindi i famosi token NFT, quindi non fungible token, avremo una tabella leggermente diversa, fatta sempre da due colonne, nella colonna di sinistra avrò l'identificativo del bene, quindi immaginatevi potrebbe essere la targa di un'automobile, oppure l'indicazione di un determinato quadro, oppure potrebbero essere le indicazioni catastali di un determinato immobile, e sulla colonna di destra c'è scritto l'identificativo del proprietario, cioè la sua chiave pubblica.
In questo caso trasferire il possesso di quel bene digitale, di questo token non fungibile, significa cambiare l'intestazione, quindi cambiare la colonna di destra, e al posto della mia chiave pubblica scrivere la chiave pubblica di qualcun altro. Quindi l'assegno sarà fatto in questo modo, se voglio trasferire la proprietà dell'oggetto X che appartiene a me, io scriverò una sezione digitale dove io 23 cedo il possesso del bene X che in questo momento appartiene a me, quindi nella tabella a fianco a X c'è scritto 23, lo cedo a un'altra chiave pubblica, firmo l'assegno con la mia chiave privata e chiunque può verificare che io ho voluto cedere l'oggetto digitale a qualcun altro, che ovviamente ne diventa il nuovo proprietario. Ovviamente questo meccanismo presuppone che io possa confezionare questi assegni, mettendo tutte le informazioni che desidero, che io sappia firmarli utilizzando la mia chiave privata, e che io possa scriverli su questo registro dove tutti possono leggere e quindi verificare chi è l'attuale proprietario di ciascun bene.
Di tutte queste informazioni, di tutte queste transazioni e assegni, è importante ovviamente la corretta firma, cioè devono essere stati scritti dal proprietario del bene, ma è anche importante l'ordinamento temporale, perché ovviamente se io prima cedo il bene a una persona e poi a un'altra, ovviamente il proprietario è colui a cui l'ho ceduto per primo e quindi l'ordinamento temporale è fondamentale. Nelle prossime lezioni vedremo com'è possibile avere un registro di questo tipo condiviso a livello mondiale e che garantisca l'ordinamento temporale di tutte le transazioni che vengono scritte su di esso.