L'(in)utilità della Blockchain nel BIM – grinch mode

Blockchain e BIM, sembra il matrimonio perfetto, due tecnologie relativamente nuove, due tecnologie che stanno avendo in questi anni il massimo della copertura mediatica, due tecnologie delle quali tutti parlano.

Durante il MasterKeen7 alla Am4 di Lecco, ho sentito più di una volta parlare di blockchain, speculando su come potrebbe essere applicata al BIM. Su questo sono sempre stato molto critico, e con questo articolo voglio approfondire questa parte, anche se ammetto che il connubio BIM-Blockchain è comunque interessante sotto molti punti di vista, e continuerà a destare il mio interesse ed il mio studio.

Partiamo dalle due principali definizioni che ci possono essere utili.
(Userò i termini DL o DLT in modo interscambiabile, per riferirmi ad una Distribuited Ledger)

Blockchain vs Distributed Ledger

Blockchain

La blockchain è una struttura dati condivisa e immutabile. È definita come un registro digitale le cui voci sono raggruppate in blocchi, concatenati in ordine cronologico, e la cui integrità è garantita dall’uso della crittografia. La blockchain è immutabile in quanto il suo contenuto una volta scritto non è più né modificabile né eliminabile, a meno di non invalidare l’intera struttura.

wikipedia

Distributed Ledger

La DLT (Distributed Ledger Tecnology) , è un insieme di informazioni digitali sincronizzate e distribuite su più computer, senza che esista un amministratore o una gestione centralizzata dei dati. La DLT richiede l’esistenza di una rete di dispositivi interconnessi in cui ciascuno costituisce un nodo, e di un algoritmo di consenso che permette l’aggiornamento della DL solo se l’operazione ha avuto l’approvazione da un numero sufficiente di nodi.

wired

La blockchain è una applicazione di una Distributed Ledger, uno dei possibili suoi usi, ma per definizione deve essere pubblica, immutabile, aperta, libera.
Spesso però viene fatta confusione tra una blockchain pura (pubblica o permissionless) e le blockchain permissioned.
Mentre la prima non ha bisogno di organi di controllo, permessi di accesso o altro che possa in qualche modo bloccare o modificare la scrittura su di essa, la seconda invece è una blockchain gestita da un proprietario, che può decidere autonomamente alcuni aspetti chiave della blockchain, come chi può accedervi o i livelli di accesso e visibilità.

In termini puramente etici, la blockchain dovrebbe essere considerata solo quella pubblica, mentre le blockcahin private dovrebbero ricadere sotto il cappello delle DLT.

Quindi già da questa prima distinzione si capisce come nel mondo BIM è più consono parlare di DL che di blockchain.

Può sembrare che la differenza sia minima, ma in realtà le differenze ci sono e sono abissali, ma vediamo di capire meglio come poter implementare un DLT (blockchain o privata) con il BIM.

Progetto BIM internazionale

Prendiamo per esempio un progetto BIM internazionale, la costruzione di un hotel di lusso, con un committente, alcuni consulenti, 4-5 studi di progettazione che collaborano alla realizzazione del processo, un general contractor che gestirà la realizzazione, una società di gestione del Fit Out e l’azienda che si occuperà del Facility Management.

Per il momento sorvoliamo cosa può essere scritto sulla DL (lo vedremo dopo).
In un ambiente lavorativo di questo livello è necessario che ognuno abbia accesso a tutte le informazioni ? Oppure è necessario che ognuno abbia accesso alle sole informazioni che possono essere utili all’uso che serve ad ogni soggetto implicato nella progettazione/costruzione/gestione ? Già qui capiamo che una DL potrebbe essere più utile di una blockchain, in quanto il committente, che gestisce il progetto, può dare diversi livelli di accesso e gestire così una granularità di informazioni da condividere con i vari stakesholders diretti.
Se fosse stata utilizzata una blockchain oltre che non poter gestire gli accessi e altro, le informazioni sarebbero state realmente pubbliche, e quindi non solo visibili all’intero gruppo di stakeholders diretti, ma a tutto il mondo.

Per quanto bello potrebbe essere avere la totale trasparenza, in questo tipo di business è impossibile (anche perché non utile) una così ampia apertura verso l’esterno, anche solo per problemi di privacy e sicurezza.

Altro punto è il consenso che serve per la scrittura di un blocco. Nelle blockchain pubbliche, la maggior sicurezza si ha con il meccanismo di consenso chiamato “Proof of work” (quello utilizzato ad esempio da Bitcoin od Ethereum). Questo porta ad un notevole dispendio di energia per la validazione dei blocchi, ad un’estrema sicurezza contro attacchi o spam sulla rete ed una latenza ed un costo molto alto per scrivere la blockchain.

I meccanismi di consenso possono però essere di altro tipo, come il proof of stake, proof of authority, proof of space, proof of burn, proof of elapsed time ecc ecc.
Tutti gli altri meccanismi di consenso sono meno sicuri del proof of work, ma sono più veloci, meno energivori per la scrittura dei blocchi ed in genere non hanno costi.

In una realtà lavorativa come quello di un processo BIM per la costruzione di un hotel di lusso, il committente è più interessato alla velocità ed all’economia, andando quindi a prediligere una soluzione anche a discapito della sicurezza che un consenso come proof of work potrebbe dare.
Per ovviare al problema sicurezza quindi, deciderà a monte “chi può fare chi, e chi può fare cosa” [cit] andando ad utilizzare una blockchain permissioned e quindi non una vera blockchain ma piuttosto una Distributed Ledger.

Ma sulla Distributed Ledger cosa scriviamo ?

Altro punto per il quale ad oggi difficilmente potrebbe essere utilizzata una DL od una blockchain nel mondo del BIM è per i dati che è possibile srivere nei blocchi.

Assodato che la DL sarebbe la scelta più giusta da fare, qualora ci fosse la necessità di adottarla in un processo BIM, vediamo ora cosa possiamo scrivere su di essa.

In realtà difficilmente potremmo caricare su una DL i modelli, piuttosto che i PDF dei documenti o le immagini digitali. All’interno dei blocchi di una DL piuttosto che di una blockchain andremo a scrivere gli Hash dei file, ed altri hash di hash di hash (si è contorto e molto semplificato)

L’hash non è altro che un algoritmo unidirezionale per mappare un qualsiasi forma di dati di lunghezza arbitraria in una stringa a lunghezza fissa. Gli hash sono appunto unidirezionali, cioè non è possibile risalire ai dati iniziali solo dalla stringa di hash, e sono praticamente unici (prendetela per buona). Un tipo di hash molto usato è lo SHA, che a sua volta si divide in diverse versione, dallo SHA1 degli esordi, ai più moderni SHA2 (SHA256/SHA512).

Prendendo un qualsiasi file è possibile generare la HASH del suo contenuto.
Prendiamo ad esempio questo file PDF se facciamo uno SHA256 otterremo la stringa

b7c8704d158ebd3e3f368c01c950aeebf68de1ba12030976c3d48ad3da29b332

Tale stringa è legata al contenuto del file, se cambiassimo anche solo una lettera od uno spazio all’interno del file l’hash cambierebbe (non cambia se viene modificato il nome del file). Per questo l’hash di un file o di un testo è così importante, lo maschera ma al tempo stesso lo rende unico.
Avendo il file possiamo ricavare l’hash e controllare se il file che abbiamo è quello originale oppure no, ma solo avendo l’hash a disposizione è praticamente impossibile (?) ricavare il file iniziale. Insomma il vecchio metodo di nascondere in bella vista.

Ecco gli hash sono quelli che vengono scritti all’interno dei blocchi della blockchain, o della DLT. Le DLT a differenza della blockchain di Bitcoin per esempio, possono contenere molti più dati o metadati, a seconda della DLT e della sua implementazione.

Quindi l’ultimo punto che a mio avviso rende la blockchain o la DL poco utile in un processo BIM è che i modelli, i documenti e tutte le informazioni sono e restano archiviate su un computer, su un server o in cloud mentre sulla blockchain o sulla DL sono salvati in modo permanente ed immodificabile solo gli hash dei suddetti file e alcuni metadati di contorno.

E quindi ?

Alla fine, nonostante l’articolo tenda a smontare l’uso della blockchain e delle DL con la metodologia BIM, sono fiducioso che invece il matrimonio sia fattibile. Non sarà un matrimonio facile sia per l’una che per l’altra tecnologia. Ci sarà la necessità di inserire tra questi due sistemi uno o due layer di contorno per far funzionare al meglio la cosa. All’interno di un CDE ben strutturato anche una blockchain o una DL potrebbero essere molto utili. Inoltre con l’implementazione di smart-contract anche molti controlli e validazioni potrebbero essere demandate alla blockchain o DL automatizzando buona parte del lavoro.

Si potrebbe fare tutto questo anche senza ? Si !
Database e software di gestione lo possono fare, lo fanno e l’hanno fatto fino ad ora.

Si deve cercare di capire come invece farlo con la blockchain ? Assolutamente si !
Il futuro non è il passato, le blockchain stanno vivendo l’eldorado e da pochi anni si sta approfondendo le possibilità, i possibili usi e le possibili soluzioni ai problemi, ora è il momento di capire come adattarle al BIM.

La blockchain potrebbe essere utilizzata per alcune parti riguardanti i processi BIM, penso alla certificazione delle famiglie sui vari “siti catalogo” che permettono di scaricarle. Una blockchain pubblica permetterebbe di sapere se quel file della famiglia è l’ultima versione, se è il vero modello di quella casa produttrice o se è un modello fatto da una terza persona con lo stesso nome. Già ora queste informazioni potrebbero essere inserite all’interno di blockchain come quella di Bitcoin od Ethereum

Una DL invece potrebbe essere usata all’interno di un processo BIM lavorativo, per avere certezza dei file, dell’esistenza dello stesso in un determinato momento e per sapere se il file che abbiamo è l’ultimo a disposizione. Gli Smart-contract potrebbero in autonomia controllare le “Naming Convention”, il “Code Checking” ed automatizzare alcuni passaggi di stato in un CDE integrato. Mi viene in mente l’utilizzo di “Hyperledger-Fabric” (Disponibile su Amazon AWS, Microsoft Azure, Google Cloud Platform e possibilità di installarla su un qualsiasi server Linux, su MacOS e volendo anche su server Windows) per poterlo implementare, oppure una DLT fatta su misura per il BIM che coinvolga tutti gli studi, i general contractor e gli addetti ai lavori a livello globale, in una rete unica ma compartimentata, dove ognuno può contribuire a rendere la rete sicura, ma dove ogni progetto può essere gestito su canali privati.

Confusione ? si tanta. Nell’articolo ho sicuramente tralasciato molte informazioni, alcune sono forse troppo semplicistiche o superficiali, e per altre non ho distinto abbastanza quello che in realtà sono. Non voleva essere un articolo tecnico sulle blockchian, come molte cose che scrivo sono principalmente spunti di riflessione, che sarei ben grato di discutere con chi ne sa più di me. Quindi se avete consigli lasciateli nei commenti.


Note

Grazie a Marco Crotta di Blockchain Cafè che da esperto di Blockchain mi ha fatto questi appunti all’articolo:

  • Le DLT per come sono fatte non danno garanzie sulla immutabilità, data certa e garanzie verso terzi;
  • Hyperledge Fabric non è Byzantine Fault Tollerant e quindi non da il tipo ed il livello di garanzie necessarie ad applicazioni di questo tipo;
  • Su Blockchain pubblica c’è modo di gestire e controllare eventuali accessi;
  • Mi faceva notare come in una sola hash è possibile inserire il controllo di più hash e documenti ognuno distinto, riconoscibile e certificato a se.
Articolo creato 24

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Articoli correlati

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto