L'intera storia dell'umanità è un tentativo di distruggere il vecchio ordine delle cose e costruirne uno nuovo, naturalmente migliore. (Autore anonimo)
Nell'articolo precedente Abbiamo esaminato le tecnologie su cui si basano tutte le blockchain. È ora di capire quali problemi possono risolvere le moderne blockchain. Iniziamo dando un'occhiata all'analisi dello stato attuale della blockchain e alle sue prospettive future. Come tecnico, apprezzo l'azienda Gartner con i suoi numerosi cicli di maturità tecnologica (Hype Cycles). Il grafico mostra il ciclo di maturità della blockchain nel business alla fine del 2018. Quali conclusioni possiamo trarre?

Analisi di Gartner
- Dal grafico si vede che molte industrie moderne stanno cercando di applicare la blockchain per risolvere i loro problemi produttivi, e ogni anno appaiono nuove industrie che iniziano a esplorare la blockchain.
- Tuttavia, finora nessuna industria ha raggiunto né il plateau della produttività né tanto meno la discesa del chiarimento.
- Naturalmente, non tutte le industrie che attualmente si trovano sulla strada verso il picco delle aspettative raggiungeranno un plateau di produttività, ma a giudicare dalla massiccia attività, tra 5-10 anni saremo testimoni dell'uso diffuso di diversi casi d'uso.
- E dove sono Bitcoin, il mining e in generale le criptovalute, vi chiederete? Queste tecnologie portano sicuramente profitti? Sono state presenti nei grafici degli anni passati, ma quest'anno hanno già lasciato il plateau di produttività nei loro legittimi 10 anni.
Il grafico seguente mostra la maturità delle tecnologie blockchain:

Cosa si può dire di questo grafico?
- La maggior parte delle tecnologie blockchain moderne è ancora oggetto di discussione. Non perché siano nuove, ma perché le industrie ne stanno esplorando l'applicabilità alla propria struttura dati, al volume e alla velocità di elaborazione, cercando opportunità su come le tecnologie blockchain possano aumentare l'efficienza e ridurre i costi.
- L'interesse nei confronti del mining di criptovalute, del blockchain classico e, in generale, della tecnologia del registro distribuito sta cominciando a diminuire.
Ora vediamo in quali casi le industrie stanno cercando di applicare la blockchain. Alla fine del 2018, Gartner ha condotto una ricerca e ha presentato i risultati in forma di matrice, dove lungo l'asse orizzontale sono elencati i casi d'uso, lungo quello verticale le industrie, e i cerchi alle intersezioni mostrano quanto un determinato caso d'uso sia richiesto in un'industria specifica:

Quali conclusioni possiamo trarre da questa tabella?
- La maggior parte dei progetti utilizza la blockchain per registrare, distribuire e condividere dati (Shared Record Keeping e Internal Record Keeping).
- Una parte significativa dei progetti utilizza la blockchain per monitorare il movimento di valore o il cambio di proprietari (Asset Tracking).
- L'identificazione (Identity Management) è gradualmente necessaria in quasi tutte le industrie.
- Attualmente, la tokenizzazione (Digital Tokens) non è molto richiesta e, sorprendentemente, lo stesso si può dire per i contratti smart (Smart Contracts).
Schema generale della blockchain
Quando si disegna un blockchain applicato a un settore specifico, tutti gli schemi sono fondamentalmente simili: esiste una rete blockchain, nella quale i partecipanti registrano e leggono informazioni tramite Dapp (applicazione decentralizzata). La differenza sta nei dettagli, ad esempio, non solo le persone possono registrare informazioni nel blockchain, ma anche i dispositivi della piattaforma IoT (Internet of Things). Consideriamo uno schema generale con l'esempio dell'IoT, poiché è una delle applicazioni più discusse del blockchain. In aggiunta, dotiamo i dispositivi IoT di una SIM per trasmettere i dati, utilizzando la rete mobile dell'operatore telefonico, o meglio un eSIM, per poter utilizzare reti mobili qualsiasi. La rete mobile sarà, ovviamente, 5G, poiché la gestione dei dispositivi IoT è una delle principali applicazioni della rete 5G. I moduli GPS / GLONASS possono tenere traccia della posizione. Per il corretto funzionamento dei contratti intelligenti è necessario avere informazioni da fonti esterne, come i tassi di cambio azionari o valute. A tal fine si utilizzano i cosiddetti oracoli blockchain. Ultimo dettaglio: un modulo di intelligenza artificiale per l'analisi dei dati. , che gli algoritmi AI (Intelligenza Artificiale) funzioneranno in modo efficace su dati provenienti dalla blockchain, poiché sono completi, coerenti e ordinati cronologicamente.
Abbiamo quindi ottenuto uno schema di progetto blockchain generalizzato. Ora possiamo creare qualsiasi titolo e adattare lo schema per diverse industrie. Ad esempio, "Tracciamento del movimento di cisterne per l'industria petrolifera" oppure "Produzione di componenti per il settore automobilistico" o "Fornitura di carne contadina nei negozi al dettaglio".
Blockchain + IoT + 5G + GPS + AI

Passiamo a casi concreti.
Analisi dei casi
Selezioniamo casi per le industrie elencate e consideriamo su quali blockchain possono essere realizzati. Si scopre che non c'è nulla da cercare, poiché esiste una "con esempi e link. Essa raccoglie casi di applicazione della blockchain nelle seguenti industrie:
- settore automobilistico
- settore pubblico
- settore estrattivo
- sanità
- cultura e arte
- immobiliare
- manifattura
- retail
- agricoltura
- telecomunicazioni
- trasporti
- settore finanziario
- settore energetico
- gestione dei diritti d'autore
Risultati dell'analisi di un insieme di casi
- Naturalmente, la blockchain si adatta bene al fintech, poiché le transazioni e il cambiamento di proprietà degli asset sono alla base del sistema finanziario.
- La blockchain è logicamente applicabile in casi con 'catene di distribuzione', ad esempio, nel trasporto di container. Il container è considerato un valore che viene trasferito da una compagnia di trasporti a un'altra. Oppure, ad esempio, nella tracciatura degli alimenti e nel monitoraggio dell'intera catena di fornitura dal campo ai negozi al dettaglio. In questo caso, il consumatore può essere sicuro che il prodotto sia stato realizzato da un produttore specifico in determinate condizioni. Adesso, simili informazioni sulle etichette possono essere credute solo sulla parola.
- Un caso attuale riguarda l'identificazione delle persone attraverso l'IAM (Identity and Access Management) e la conservazione dei dati personali. Con l'arrivo della blockchain è emerso un metodo per risolvere questo problema, basato sulla memorizzazione dei dati personali in un registro distribuito e, attraverso il protocollo Zero Knowledge Proof, l'individuo può decidere quali dati condividere e con chi. Un esempio classico è la conferma che un cittadino ha compiuto 18 anni. Attualmente, si utilizzano il passaporto o la patente, contenenti informazioni irrilevanti per la convalida, come l'indirizzo di residenza. Utilizzando la blockchain, sarà possibile verificare che una persona abbia 18 anni senza divulgare ulteriori informazioni.
- In questa stessa dimensione rientra anche il caso della registrazione in blockchain dei dati medici dei pazienti, per consentirne il trasferimento tra le strutture, senza compromettere la riservatezza. Questo rappresenta un elemento comune a molti casi in cui, da un lato, è necessaria l'identificazione delle persone e la possibilità di condividere informazioni senza impedimenti, mentre, dall'altro, è fondamentale proteggere (crittografare) i dati personali e privati.
Blockchain e stato
In molti paesi, esistono programmi governativi per lo sviluppo della blockchain. Anche in Russia esiste , nel quale la blockchain (registro distribuito) è considerata una delle direzioni di sviluppo. Per lo Stato, lo sviluppo della blockchain è rilevante nelle seguenti aree:
- Creazione di registri di transazioni immobiliari;
- Creazione di registri per la registrazione degli atti di stato civile, ad esempio per la registrazione di nascite, matrimoni, divorzi;
- Registrazione nei blockchain dei risultati delle elezioni e delle votazioni.
Blockchain e Telecomunicazioni
I casi realizzati nell'industria delle telecomunicazioni influenzeranno la maggior parte delle persone. per gli operatori di telecomunicazioni, l'applicazione della blockchain è più pertinente per affrontare le seguenti sfide:
- Gli operatori possono eliminare gli intermediari (centri di clearing) nella fornitura del roaming e effettuare pagamenti direttamente tra di loro.
- Identificazione di persone e dispositivi IoT.
- Conteggio automatico delle violazioni delle condizioni di servizio degli abbonati (SLA) basato su smart contract e pagamento delle indennità.
- Gestione di un database distribuito di telefoni rubati.
- Gestione di un database distribuito per la MNP (Mobile Number Portability) e eliminazione dell'intermediario rappresentato da un database centralizzato.
Analisi delle blockchain
Per scopi di sistematizzazione, ho cercato di trovare una classificazione delle blockchain per generazioni. Non ne ho trovata una universalmente riconosciuta, ma tutti concordano sul fatto che la prima generazione è Bitcoin, la seconda è Ethereum, mentre per la terza dipende dalle preferenze personali. Mi sembra logica la seguente classificazione:
- Prima generazione (Bitcoin): supporta solo la funzionalità di trasferimento di criptovaluta da un conto all'altro.
- Nella seconda generazione sono stati aggiunti i contratti smart (Ethereum) e la multivaluta (BitShares).
- La terza generazione consente di operare non solo con criptovalute, ma anche con qualsiasi attivo digitale (assets), implementando logiche di business arbitraria e configurando flessibilmente l'algoritmo di consenso. Un esempio di blockchain universale è Hyperledger Fabric.
Diamo anche un'occhiata ai rappresentanti di tutte le generazioni, in termini di caratteristiche che aiutano a capire quali casi d'uso possono essere realizzati su ciascuna blockchain:
Bitcoin
Ethereum
Bitshares
Hyperledger Fabric
Exonum
Generazione della blockchain
1
2
2
3
3
Sito
Prestazioni in TPS
7
20-30
10,000
1000
10,000
È possibile creare una blockchain privata?
no
no
sì
sì
sì
Numero di nodi nella rete
Oltre 10.000
Oltre 10.000
Effettivo 20 –30 nodi
L'efficienza è determinata dal sistema Apache Kafka
L'efficienza è determinata dal consenso BFT: 10-20 nodi
Commissione media per transazioni
0.5$
0.1$
inferiore a Ethereum
no
no
Sistemi operativi supportati per i nodi
Windows, Linux, MacOS
Windows, Linux, MacOS, Raspberry Pi
Ubuntu, Windows
Windows, Linux, MacOS
Linux, MacOS
Distribuzione dei nodi
Manuale
Manuale, Docker
Manuale
Docker, docker-compose
Manuale, Docker
Consenso
PoW
Pow
DPoS
Sistema di voto, utilizza Apache Kafka
BFT
Smart contract
Non nella comprensione comune
Linguaggio di programmazione Solidity
Preinstallati e il loro numero è limitato. Scritto in C++
Linguaggi di programmazione Go, JS
Rust
Linguaggio di programmazione usato per scrivere la blockchain
C++
C++
C++
Go
Rust
DB per l'archiviazione dei dati della blockchain
LevelDB
LevelDB
LevelDB
goleveldb — LevelDB in Go
RocksDB
Sviluppo e manutenzione
Satoshi Nakamoto & Co
Vitalik Buterin & Co
Dan Larimer & Co
The Linux Foundation, IBM, Oracle
Bitfury Group
Limitazioni nell'implementazione dei casi
Prestazioni e presenza di commissioni.
Prestazioni e presenza di commissioni. Adatti per pilot e PoC.
Presenza di commissioni e numero limitato di scenari d'uso implementati.
Hyperledger Fabric — non ci sono limiti, se non ci si aspetta prestazioni elevate.
Exonum limita il consenso BFT e presenta un'alta barriera all'ingresso, poiché per implementare i contratti smart è necessario integrarli nel codice sorgente.
Conclusione
Oggi, l'uso di qualsiasi nuova tecnologia viene spesso presentato come la soluzione a un problema. Pertanto, all'inizio è importante verificare se in quel caso specifico sia davvero necessario il blockchain. Per fare ciò, è necessario rispondere alle domande se tutte le funzionalità elencate sono necessarie.
- Crittografia
- Immutabilità e completezza della storia dei dati
- Distribuzione
- Decentralizzazione
- Tokenizzazione
- Contratti intelligenti
Se non sono necessarie tutte le caratteristiche elencate, potrebbe essere più efficace l'uso di tecnologie diverse dal blockchain. Se si decide comunque di utilizzare il blockchain, è importante tenere presente le peculiarità del blockchain che, per la sua natura, non possono essere modificate:
- Diverse blockchain presentano diverse caratteristiche tecniche e limitazioni, quindi in base al caso specifico è necessario scegliere il blockchain appropriato.
- La performance della blockchain varia notevolmente a seconda del consenso. E se viene scelto un determinato blockchain, è probabile che non possa essere "ottimizzato".
- La scalabilità lineare è una richiesta comune per i sistemi informatici. Tuttavia, la blockchain può scalare peggio di quanto lineare.
- I dati che devono essere memorizzati possono avere una struttura che riduce l'efficacia dell'uso della blockchain.
- Nei blockchain privati, è necessario garantire una sicurezza almeno pari a quella dei sistemi IT aziendali in uso.
A causa di queste limitazioni, attualmente la blockchain è per lo più utilizzata in casi semplici, in cui è necessaria l'eliminazione degli intermediari o deve essere raggiunta la verifica dell'autenticità e dell'immutabilità dei dati tra partecipanti che non sono sotto un unico controllo.
Nella prossima parte, esploreremo la blockchain nel cloud e vedremo come tutto funziona.
Questo è solo l'inizio!
Fonte: habr.com
