logistica-blockchain-smart-contract

Blockchain per la logistica: a Trento sperimentiamo gli smart contract

10 Feb 2018
3 minuti

L’uso di applicazioni a base blockchain nell’ambito della catena logistica è al centro di un progetto che Spindox sta sviluppando con il proprio polo di ricerca di Trento, Spindox Labs.

Blockchain e logistica: Spindox Labs ci prova. Il nostro polo di ricerca e sviluppo di Trento sta lavorando a un progetto ambizioso, con l’obiettivo di creare un’infrastruttura in grado di registrare, certificare e mappare tutti i passaggi di mano di un materiale o di un prodotto lungo la filiera distributiva. Nel modello ogni passaggio di mano è irrevocabile e immutabile proprio perché i termini della transazione sono gestiti con la logica degli smart contract. Questi sono programmi che si eseguono esattamente nel modo in cui sono impostati dai loro creatori.

In sostanza uno smart contract permette di verificare che, nell’ambito di uno scambio fra due soggetti, le fonti di dati che determinano le condizioni di applicazione dello scambio stesso siano certificate e affidabili. Non solo: un’applicazione a base blockchain verifica che le modalità di lettura e controllo di queste fonti siano a loro volta certificate.

Immaginiamo, per fare un semplice esempio, che io intenda obbligarmi a consegnare un determinato quantitativo di merce a un dato partner logistico entro una certa data e secondo specifiche condizioni. Ebbene: quantitativo, destinatario e data di consegna diventano i termini contrattuali che vado a “scrivere” nel contratto, ovvero i dati inseriti nel programma in modo che esso possa essere eseguito.

In altri termini l’asset oggetto di scambio – nel nostro caso, la merce affidata all’operatore logistico – è descritto dal software, il quale genera un codice e convalida le condizioni previste dalle regole di scambio. In questo modo il programma determina automaticamente se l’asset deve essere trasferito o meno.

Smart contract per tutti

Gli scenari applicativi basati sulla tecnologia degli smart contract sono molteplici. È possibile creare un’applicazione blockchain per tracciare la provenienza di prodotti che passano di mano più volte lungo la catena di distribuzione (si pensi al controllo della filiera nel caso dei prodotti alimentari a denominazione di origine protetta), oppure per ridurre i rischi di frodi o insolvenze nel caso di pagamenti, o ancora per rendere più rapido il processo documentale che accompagna la spedizione di una merce, specie nel caso di import-export.

Nel nostro progetto l’obiettivo è l’implementazione di un’applicazione a base blockchain in grado di certificare tutti i passaggi di mano, dalla produzione alla consegna al cliente finale. Il progetto è realizzato per conto di uno dei principali operatori logistici a livello mondiale, presente in Italia con più di 150 centri e 4000 dipendenti.

Un’applicazione a base blockchain è spesso definita DApp, ovvero decentralized application. La sua caratteristica fondamentale è infatti di avere un componente di backend – lo smart contract, appunto – eseguito su una rete peer-to-peer decentralizzata. La sicurezza e l’irreversibilità dello scambio sono perseguite dunque applicando la logica della distribuzione peer-to-peer. Esiste infatti un ledger distribuito, che archivia e replica il documento. Quanto al frontend e all’interfaccia utente, essi possono essere scritti in qualsiasi linguaggio in grado di effettuare chiamate al backend. Ma lo stesso frontend può essere ospitato su in un’infrastruttura di storage decentralizzata.

Ethereum e IOTA

Quale tecnologia utilizziamo nell’ambito del nostro progetto di ricerca? Ne stiamo sperimentando due. La prima scelta è Ethereum, la piattaforma decentralizzata oggi più utilizzata per la creazione e la pubblicazione peer-to-peer di contratti intelligenti. Uno dei vantaggi di Ethereum è la disponibilità di tre linguaggi di programmazione creati apposta per la scrittura di contratti intelligenti: Serpent (derivazione di Python), Mutan (ispirato a Go) e LLL (che ha il suo modello nel vecchio Lisp). Nel caso di Ethereum lavoriamo sia con la componente di backend, ovvero la logica decentralizzata per la gestione degli smart contract, sia con quelle di frontend: Swarm (uno storage decentralizzato a base IPFS) e Whisper (un protocollo di messaggistica, anch’esso decentralizzato).

dapp-smart-contract-swarm-whisper-blockchain

La tecnologia alternativa a Ethereum che stiamo sperimentando è IOTA, la quale usa il protocollo Tangle invece di quello Blockchain. In entrambi gli scenari deve essere gestito uno dei problemi che maggiormente affettano il paradigma blockchain: la scalabilità (anche se IOTA dichiara di averli superati). Esiste infatti un limite al numero di transazioni che possono essere processate. Alla fine del 2017 Ethereum gestiva circa 800.000 transazioni al giorno, tenuto conto del limite tecnico che è di 15 transazioni al secondo. I creatori della piattaforma ipotizzano di lanciare una nuova tecnologia, denominata “sharding”. Questa consiste nella suddivisione della rete peer-to-peer in una serie di pezzi più piccoli, detti appunto “shard”. Nel frattempo giunge notizia che Zilliqa, una startup di Singapore, sta testando una rete blockchain in grado di gestire 2.400 transazioni al secondo.

Ok Leggi di più