NEWSLETTER - IL CAFFE' DIGITALE
Sistemi Transazionali e Blockchain: riflessioni

N.  Marzo 2018
        

a cura di Vincenzo D’Appollonio 
Partner, The Innovation Group 

 

Oggi parlare di Blockchain e Bitcoin è di estrema attualità, in diverse prospettive: informatiche, economiche, finanziarie, sociali. Per molti la Blockchain rappresenta una sorta di Internet delle Transazioni, per altri la transazione Bitcoin/Blockchain può rappresentare la Internet del Valore. Alcune ‘keyword’ informatiche usate nelle diverse trattazioni mi hanno stimolato riflessioni sulle origini di questi concetti, sulla base di esperienze del mio passato.

Agli inizi degli anni ottanta in Olivetti partì un progetto di sviluppo ‘interno’ di un Sistema Transazionale basato su un modello ‘Client-Server’, integrato con un Data Base basato su un innovativo ‘Information Model reticolare-concatenato’: mi  assegnarono la responsabilità del Progetto, che venne poi realizzato dal mio Gruppo, distribuito tra i Laboratori dell’Olivetti Advanced Technology Center di Cupertino in Silicon Valley, e dell’Olivetti R&D di Trezzano S/N; nel 1985 rilasciammo il prodotto ‘MTX – Multisite Transactional System on Unix’, integrato con il prodotto ‘C-DB  Chained Data Base’.

MTX era un Sistema Transazionale dedicato alla  attività di elaborazione dei dati di tipo gestionale, caratterizzato quindi da più utenti Client che accedono concorrentemente a dati condivisi mediante procedure predefinite, le cosiddette Transazioni, cioè una sequenza raggruppata (…Blocco…) di operazioni elementari (…Transaction Unit…) che, se eseguita in modo corretto, produceva una variazione nella base di dati C-DB. MTX garantiva che, preso un qualsiasi elemento (TU) di tale raggruppamento, la sua esecuzione dovesse avvenire solamente al momento in cui vi fosse la possibilità di poter portare a termine l’esecuzione di ogni altro elemento dell’insieme Transazione (…validazione…); banalmente il meccanismo doveva essere tale far sembrare, all’esterno della Transazione, che tali operazioni elementari (TU) fossero svolte in contemporanea (azione di Commit). In caso di successo, il risultato delle operazioni doveva essere permanente o persistente, mentre in caso di insuccesso si doveva tornare allo stato precedente all’inizio della Transazione (caratteristica di Revocabilità, con procedure di rollback/undo applicate al …Registro/LOG delle Transazioni… associate ad una …Marca Temporale…).

MTX garantiva dunque alle Transazioni che operavano su C-DB le cosiddette proprietà ACID, acronimo di Atomicity (tutte o nessuna delle operazioni che vengono raggruppate in una transazione devono andare a buon fine); Consistency (il completamento della transazione deve lasciare il sistema in uno stato coerente); Isolation (ogni transazione non deve avere nessun effetto sulle altre); Durability (il risultato di una transazione deve essere persistente come l’entità nella quale la transazione ha avuto un Commit). La reale innovazione di MTX consisteva nella gestione delle Transazioni ‘ACID‘ in ambiente Distribuito-Multisito Client/Server (…Nodi…), in un momento in cui i Sistemi Transazionali di riferimento (CICS, IMS/DB-DC) erano tutti realizzati sul modello ‘main-frame’.

Nel  2009 un anonimo inventore, noto con lo pseudonimo di Satoshi Nakamoto, pubblica la sua idea di criptovaluta Bitcoin basata su un modello di Sistema Transazionale ACID per operare in Internet, che dà il nome a una nuova piattaforma tecnologica: la Blockchain, grande database distribuito per la gestione di transazioni crittografate su una rete decentralizzata di tipo peer-to-peer, grazie a un processo che unisce sistemi distribuiti, crittografia avanzata e teoria dei giochi (puzzle crittografici).

Pensando alle componenti basilari della Blockchain, ho ritrovato, in una sorta di ‘dejavu’, molti concetti sviluppati in MTX, quali Nodo (i partecipanti alla Blockchain  costituiti fisicamente dai Server di ciascun partecipante); Transazione (costituita dai dati che rappresentano i valori oggetto di “scambio” e che necessitano di essere validate); Blocco (rappresentato dal raggruppamento di un insieme di transazioni/TU che sono unite per essere verificate, approvate e poi archiviate dai Nodi); Processo di Validazione/gestione del Consenso in Rete, Registro/Ledger delle Transazioni distribuito (i Distributed Ledger vengono aggiornati solo dopo aver ottenuto il Consenso, ogni nodo viene aggiornato con l’ultima versione di ogni singola operazione di ciascun partecipante, ogni operazione rimane poi in modo indelebile e immutabile su ogni singolo Nodo), Marche Temporali/Time stamp; Miner (i veri Client della Blockchain per “l’estrazione dei Bitcoin”).

Riflessione finale di un ‘ex’ informatico: nihil sub sole novi… Purtroppo il mio MTX non generava Bitcoin…

ULTIMO NUMERO
ARCHIVIO
LE RUBRICHE
COME NASCE IL CAFFÈ DIGITALE
REGISTRATI
Iscriviti alla Newsletter mensile!
Ricevi gli articoli degli analisti di The Innovation Group e resta aggiornato sui temi del mercato digitale in Italia!