Lo scopo della Blockchain è ottimizzare i costi di transazione e il Leed Time dell’intera catena di fornitura, cercando di eliminare il rischio di controparte e creare un vantaggio competitivo tipico delle economie di rete. Il rischio di controparte è il rischio che l’altra parte coinvolta in un accordo contrattuale non tenga fede alle condizioni definite nel contratto. L’ ottimizzazione dei costi e dei tempi legati alla generazione di un accordo di fiducia tra gli attori / agenti della catena (contratto), viene garantita dall’utilizzo degli smart contract e dalla convalida decentralizzata degli stessi. Gli smart contract permettono di trasformare ogni contratto analogico tra gli attori / agenti della catena di fornitura in un automatismo intelligente, dove ogni esecuzione contrattuale avviene in modo automatico, attivata dal verificarsi di un evento (Trigger Event) catturato dalla DApp che verifica le condizioni del contratto stesso.
I Trigger Event possono essere catturati dalla DApp sui flussi informatici della catena di fornitura che la stessa memorizza all’interno del proprio Data Warehouse o che acquisisce, tramite APIs, da fonti esterne:
- Dati pubblici
- Dati dei flussi operativi gestionali
- Dati dei flussi documentali
- Dati dei flussi finanziari
- Dati dei dati rilevati da sensori IoT
In questo contesto, la verifica della corretta esecuzione dell’accordo contrattuale, tra le parti attori / agenti della catena di fornitura, non è più demandata alla struttura centrale amministrativa di ogni organizzazione della catena di fornitura.
DA CONTRATTI ANALOGICI A CONTRATTI DIGITALI ED INTELLIGENTI
Un contratto intelligente (smart contract) è essenzialmente una logica aziendale che gira su una blockchain.
I contratti intelligenti possono essere semplici come un aggiornamento dei dati, o complessi
come l’esecuzione di un contratto con condizioni annesse. Esempio, un contratto smart può aggiornare il saldo di un conto, eseguire la convalida per garantire che ci sia abbastanza denaro in un altro conto prima di effettuare un addebito o una transazione.
Un contratto smart più complesso può essere scritto per stabilire che il costo della spedizione di un articolo dipende da quando arriva: soddisfatti i termini concordati da entrambe le parti, i fondi passano automaticamente di mano quando l’articolo viene ricevuto.
Esistono due tipi diversi di smart contract:
- “Installed smart contract “installano la logica aziendale sui validatoti della rete prima che la rete venga lanciata.
- “On-chain smart contracts” implementano la logica aziendale come transazione impegnata sulla blockchain e quindi richiamata dalle transazioni successive. Con gli “On-chain smart contracts”, il codice che definisce la logica aziendale diventa parte del ledger.
In generale, il livello di smart contract è responsabile dell’elaborazione di richieste di transazione e di determinare se le transazioni sono valide eseguendo la logica aziendale. La verifica e il controllo di ogni accordo contrattuale della catena di fornitura viene decentralizzato verso tutti i nodi (utente), parte della rete della Blockchain, secondo un protocollo di consenso.
Ogni smart contrat (accordo digitale intelligente) della catena di fornitura crea un blocco che viene validato da ogni nodo della Blockchain, utilizzando uno specifico protocollo di consenso. Solamente dopo la validazione da parte di tutti i nodi della catena, delle condizioni e dei dati del contratto, verrà aggiunto un nuovo blocco alla catena. Di fatto, tutti i blocchi (validati) della catena rappresentano tutti gli accordi contrattuali (validati) dell’intera catena di fornitura.
Per garantire che il sistema sia trasparente e a prova di manomissioni, ogni blocco, a partire dal blocco genesi (Blocco 0#), memorizza in modo sequenziale in un registro pubblico distribuito (Ledger) l’Hash di ogni blocco. L’Hash di ogni blocco è il risultato dell’applicazione di un algoritmo di criptazione legato all’Hash del blocco precedente e ai dati del blocco stesso.
Il blocco non memorizza l’Hash ma lo calcola ogni volta, per cui nel caso di manomissioni dei dati, l’Hash iniziale del blocco non coinciderebbe più con l’Hash del blocco precedente manomesso, il sistema rileva l’azzardo e non convalida il blocco. La mancata convalida del blocco determina la mancata convalida dello smart contract e quindi di tutte le sue condizioni sottostanti.
Memorizzando ogni passaggio della catena in un registro pubblico, dove ogni identità degli attori / agenti della catena di fornitura è individuato attraverso una chiave pubblica, il sistema garantisce trasparenza, immodificabilità, tracciabilità, integrità e correlazione di ogni contratto dell’intera catena della Supply Chain.