Della tecnologia
blockchain si considerano prevalentemente le caratteristiche di alta affidabilità nella
gestione distribuita delle informazioni. Un altro elemento molto interessante nell'utilizzo dei ledger distribuiti è meno citato: la possibilità di
automatizzare le transazioni legate alla blockchain usando gli smart contract.
Come indica la denominazione, gli
smart contract sono veri e propri "contratti" tra le parti che co-gestiscono una blockchain. In estrema sintesi, uno smart contract formalizza e codifica una operazione che avviene o meno
a seconda delle informazioni contenute in uno o più elementi della blockchain. La definizione di "smart" deriva dal fatto che gli smart contract si eseguono
automaticamente al verificarsi delle loro condizioni, senza bisogno di interventi umani.
In teoria sono tutti elementi
molto positivi. Pensiamo ad esempio a un sistema blockchain collegato alla concessione di prestiti. Può essere studiato in modo che una controparte, ad esempio una finanziaria, inserisca come nuovo elemento di una blockchain i dati finanziari e personali di chi chiede un prestito. A quel punto si attiva uno smart contract che esamina questi dati,
fa una valutazione di solvibilità del richiedente e, se questa è positiva secondo le condizioni previste e codificate, attiva un trasferimento di denaro. Il processo avviene in maniera automatica e veloce, con soddisfazione di tutti.
Il problema è che uno smart contract
potrebbe non funzionare come previsto sulla carta. Come un qualsiasi programma (in fondo è fatto di codice) potrebbe dare risultati imprevisti di fronte a condizioni anomale o semplicemente per una cattiva programmazione. Inoltre, il rischio potenziale di una esecuzione impropria è aumentato dal fatto che gli smart contract, come tutta la tecnologia blockchain, operano in una logica distribuita e
non sono facilmente bloccabili quando qualcosa va storto.
Ora
Fujitsu - per la precisione i Fujitsu Laboratories e il Fujitsu Research and Development Center - ha sviluppato
una tecnologia in grado di esaminare uno smart contract identificando automaticamente quali sono i suoi
potenziali rischi di generare transazioni improprie e dove si trovano, cioè in quali parti del codice sorgente. È una novità di interesse per gli sviluppatori, che grazie ad essa possono sviluppare smart contract migliori.
Il sistema progettato da Fujitsu sa esaminare gli smart contract associati alla piattaforma
Ethereum ed evidenziare tutte le sei categorie di rischio teorizzate per quest'ultima. Il tasso di
accuratezza nell'identificazione dei rischi è del 100 percento, contro il 67 percento stimato per altri sistemi di valutazione. La precisione nell'identificare le porzioni di codice "vulnerabili" è stimata all'
88 percento. Fujitsu ritiene di poter concretizzare la sua tecnologia in un prodotto commerciale già quest'anno, estendendone poi l'applicazione anche alla piattaforma blockchain Hyperledger.