DLT, blockchain e altre ambiguità
Il lessico corretto aiuta la comprensione della tecnologia, anche di quella “a blocchi”.
Nel settore blockchain sussistono ancora ambiguità nelle definizioni utilizzate. Cerchiamo di fare chiarezza almeno per quanto riguarda i termini chiave che definiscono questa tecnologia.
Partiamo dal database distribuito che è un archivio digitale memorizzato su più dispositivi (computer/server) detti nodi. Questi nodi fanno parte di un’unica “organizzazione” — per esempio un’azienda; possiamo dire che “si fidano l’uno dell’altro”.
Il Distributed Ledger (DL, traducibile come “registro distribuito”) è una struttura dati digitale memorizzata su diversi nodi che non possono fidarsi l’uno dell’altro.
Ledger in inglese vuol dire anche libro mastro quindi possiamo immaginare che la struttura dati sia sostanzialmente un libro contabile rappresentato da un semplice file Excel o un database. Le informazioni presenti nel libro mastro rappresentano “transazioni”: un nodo trasferisce o scambia un bene digitale o la rappresentazione digitale di un bene fisico (soldi, asset servizi ecc.) con un altro nodo. Si possono aggiungere transazioni ma non cancellarle.
La Distributed Ledger Technology (DLT) indica una tecnologia in grado di memorizzare, aggiornare e sincronizzare il file tra i diversi computer (nodi) in maniera distribuita, ovvero senza passare per un nodo “centrale” che si occupi di redistribuire il file aggiornato agli altri nodi.
Una DLT consiste essenzialmente di tre parti:
1) un modello di dati (riproducente per esempio un libro contabile come abbiamo visto) che rappresenta lo stato attuale del registro, aggiornato all’ultima transazione effettuata
2) un linguaggio di comunicazione per la modifica del registro in seguito a una nuova transazione
3) un protocollo che permetta ai vari nodi di raggiungere un consenso (consensus) che garantisca che tutti i nodi condividano gli stessi dati nello stesso ordine e che previene operazioni di manipolazione da parte di nodi malevoli.
IOTA è un esempio di DLT.
Tra le DLT ve n’è un sottoinsieme chiamato blockchain.
Come si può intuire dal nome, le blockchain sono contraddistinte da un’ininterrotta catena di blocchi, ognuno legato al precedente. I blocchi sono formati da un certo numero di transazioni crittografate e convalidate dai tutti i nodi.
Attraverso la crittografia si hanno comunicazioni sicure e immutabilità del registro in un ambiente “difficile” come quello decentralizzato.
Quindi tutte le blockchain sono DLT, ma non tutti i DLT sono blockchain.
Avendo chiara — spero! — la distinzione tra DLT e blockchain può essere interessante raccogliere alcune definizioni di blockchain.
Don & Alex Tapscott nel loro libro “Blockchain Revolution” (Portfolio, 2016) affermano che
La blockchain è un registro digitale incorruttibile di transazioni economiche che può essere programmato per registrare non solo transazioni finanziarie ma praticamente ogni cosa abbia un valore.
Mike Orcutt, curatore di ChainLetter, newsletter del MIT sull’argomento, dà questa definizione
Una blockchain è essenzialmente un libro mastro contabile condiviso che utilizza la crittografia e una rete di computer per tracciare le risorse e proteggere il registro dalla manomissione.
Vitalik Buterin, fondatore di Ethereum, afferma:
Una blockchain è un sistema decentralizzato che contiene una qualche sorta di memoria condivisa.
Un documento della Banca Mondiale parla di blockchain come:
un particolare tipo di DLT che utilizza metodi crittografici e algoritmici per creare e verificare una struttura di dati in continua crescita, “append-only” , che assume la forma di una catena di cosiddetti “blocchi di transazioni” — la blockchain — che serve alla funzione di un libro mastro .
Qualche tempo fa ho elaborato una personale definizione.
Una blockchain è un insieme di tecniche, protocolli e strumenti che permette di avere un archivio digitale non modificabile di transazioni, distribuito tra i nodi di una rete e da essi validato periodicamente.
Come si può vedere, non esiste accordo sulla definizione di blockchain: di volta in volta si mette in risalto questa o quella caratteristica tecnica o funzionale anche se la natura distribuita e immodificabile restano sostanzialmente le chiavi descrittive principali.
Siamo giunti a un punto cruciale: la differenziazione tra blockchain pubbliche e private.
La prima vera blockchain è stata quella Bitcoin; è considerata una rete pubblica, aperta a tutti. Chiunque può accedervi, effettuare transazioni, leggere la storia di tutte le transazioni, “minare” (ovvero creare) bitcoin (con l’iniziale minuscola si indica la valuta digitale, con la maiuscola l’intera infrastruttura). Gli utenti godono di una “pseudo-anonimato”: questo significa che, sotto alcune condizioni, è possibile (anche se difficile) risalire all’identità reale dell’utente.
Anche Ethereum è una blockchain pubblica, e come per Bitcoin si usa anche il termine “permissionless”, per indicare la possibilità di accedervi liberamente.
Alcuni ritengono che blockchain pubbliche e permissionless non siano coincidenti: per esempio un sistema di votazione potrebbe essere basato su una blockchain pubblica ma comunque necessitare di permessi (credenziali di accesso) per evitare che un utente possa votare più volte.
Altre blockchain sono definite private: si può accedervi solamente se si è autorizzati, con credenziali tipo username e password (o certificati più sofisticati). Sono dette anche “permissioned” (o “enterprise blockchain”) e sono utilizzate per lo più in ambito industriale e in reti di business dove le informazioni sono di natura confidenziale. L’accesso controllato permette anche di stabilire chi può fare cosa: un utente potrebbe per esempio avere solo il permesso di lettura ma non di scrittura o potrebbe compiere solo un certo tipo di transazioni.
Sono esempi di blockchain permissioned Hyperledger Fabric, Ripple, Corda.
Anche qui per alcuni si possono differenziare blockchain private e permissioned: una blockchain installata esclusivamente su una rete privata potrebbe essere appunto privata ma permissionless.
Per alcuni la differenza tra pubbliche e private riguarda la fase di lettura dei dati, mentre quella tra permissionless e permissioned quella di scrittura e validazione delle transazioni.
Per concludere un sintetico schema con vantaggi e svantaggi delle blockchain pubbliche e private.
Per alcuni le vere blockchain sono solamente quelle pubbliche e nascono accese, a volte spiacevoli, discussioni tra “integralisti” e “pragmatici”.
Le due tipologie di blockchain sono in realtà sistemi diversi che servono per scopi diversi: l’”internet del valore” ha bisogno di entrambe.
Riferimenti
Belotti M., Božić N. et al. “A Vademecum on Blockchain Technologies: When,Which and How”
Falazi G., Khinchi V. et al. “Transactional Properties of Permissioned Blockchains”