La blockchain in contabilità

In questo articolo

La blockchain è una tecnologia che serve a proteggere i dati del giornale contabile, in modo da garantire nel tempo l’integrità e l’autenticità delle informazioni.

Nel 2002, Banana Contabilità è stato il primo software contabile al mondo a impiegare questa tecnologia. Nel 2008 la moneta virtuale Bitcoin ha adottato il medesimo approccio per garantire l’integrità del giornale distribuito. Il Bitcoin ha dimostrato che grazie alla blockchain i valori finanziari possono essere protetti da contraffazione anche se sono contenuti in archivi disponibili su internet. Fino a quel momento era opinione comune che l’unico modo per conservare i dati in modo sicuro, fosse metterli in luoghi inaccessibili.

Oggi tutti comprendono che grazie alla blockchain le informazioni possono essere preservate in modo semplice e sicuro.

Come funziona la blockchain

La blockchain (catena di blocchi) è un sistema di sicurezza che consente di preservare l’integrità del contenuto di una collezione di dati che cresce. Questa è la situazione tipica del giornale contabile, dove si devono proteggere le operazioni già inserite e dare la possibilità di aggiungerne delle nuove.

Per i computer, i dati sono delle sequenze di numeri. Il termine digitale, deriva dall’inglese “digit” che sta per cifra numerica.  Grazie a degli algoritmi, sviluppati per scopi crittografici, è possibile calcolare per qualsiasi sequenza di dati un numero, molto, molto, molto grande (“hash”), che identifica il contenuto in modo univoco. Se cambia il contenuto, cambia anche il numero. Se il contenuto invece rimane uguale, ripetendo l’operazione di calcolo si arriverà sempre allo stesso numero. Essendo il numero gigantesco è praticamente escluso che due sequenze di dati diversi, possa dare dei numeri uguali.

Gli algoritmi usati per creare sigilli digitali, sono i medesimi impiegati anche per la firma digitale dei documenti, e hanno delle caratteristiche che impediscono la contraffazione. Gli algoritmi per il calcolare i sigilli digitali sono molto complessi. Chi sviluppa programmi usa generalmente delle librerie apposite, curate da specialisti della crittografia

Il funzionamento della blockchain dal punto di vista logico è molto semplice. Per ogni elemento della collezione si calcola un sigillo digitale, includendo nel calcolo, oltre ai dati del movimento, anche il sigillo dell’operazione precedente. In questo modo i sigilli formano una catena così che il sigillo dell’ultimo movimento è anche il sigillo di tutta la collezione. Se il contenuto della collezione non cambia, ricalcolano i sigilli, si arriverà all’ultimo che è uguale a quello calcolato in precedenza. Se un qualsiasi elemento è cambiato, il sigillo risulterà diverso. Per sapere se una collezione è integra si ricalcolano i sigilli fino all’ultimo elemento e lo si confronta con sigillo originale. Se sono uguali la collezione è integra. Una ditta può dimostrare che i dati della contabilità non sono cambiati tenendo copia dei sigilli. Il revisore potrà verificare che non effettivamente non ci sono stati cambiamenti.

Il vantaggio della blockchain è però anche quello di potere aggiungere movimenti senza inficiare i sigilli precedenti. Quando si aggiunge un nuovo movimento, si calcola il nuovo sigillo e questo diventerà il nuovo sigillo dell’intera collezione. I sigilli precedenti, per esempio di una chiusura trimestrale, rimarranno gli stessi. L’operazione di calcolo di un nuovo sigillo è molto veloce, perché si necessita solo dei dati dell’operazione e del sigillo della operazione precedente. Per verificare invece l’integrità della collezione si deve ricalcolare tutti i sigilli partendo dal primo movimento. I computer sono comunque in grado di eseguire questi calcoli molto velocemente.

Blockchain di Banana Contabilità

In Banana Contabilità l’utente può lavorare in modo libero modificando i dati a piacimento. Di regola chi tiene la contabilità lavora per periodo, inserisce le operazioni di un mese, riconcilia i movimenti con quelli bancari. Quando vede che tutto è a posto, impartisce il comando per bloccare i movimenti.  È a questo punto che si usa la tecnologia della blockchain. Il programma calcola per ogni operazione il sigillo e lo mostra nella colonna “Lock Progressiv”, che se non è vuota significa che, il movimento non può più essere cambiato.

Il sigillo della prima registrazione viene calcolato solo sui dati dell’operazione. A partire dalla seconda registrazione, nel calcolo del sigillo il programma include, oltre ai dati della riga, anche il sigillo della riga precedente. Il sigillo contenuto nel "Lock progressive" sarà quindi il sigillo di tutti i movimenti, dall’inizio fino a quella riga.

Banana Accounting Blockchain

Il programma prima di calcolare il sigillo, assegna a ogni riga un proprio numero progressivo, così anche se le registrazioni sono messe in un’altra sequenza, è comunque sempre possibile ricalcolare i sigilli. In diverse nazioni le normative contabili prevedono che le operazioni contabili siano numerate progressivamente, quindi la numerazione delle righe consente al programma di risultare conforme alle disposizioni legali.

Il sistema del sigillo progressivo garantisce l’integrità di tutta la collezione dati. L’immagine mostra gli effetti di cambiamenti alla collezione di dati. Nella riga 3 è stata modifica la cifra dell’importo, da 3 a 4. Come si vede il sigillo della riga 2 e quelli successivi risultano diversi.
Banana Accounting Blockchain Modified

Si nota anche che i sigilli sono completamente diversi. L’imprevedibilità del risultato è una proprietà di questi algoritmi, voluta appositamente per impedire contraffazioni del sigillo tramite la ricostruzione dei dati originali partendo dal sigillo (proprietà dell’unidirezionalità).

Blockchain di Bitcoin

Banana Contabilità ha introdotto questa tecnologia nel 2002.

Nel 2008 è nata la moneta virtuale Bitcoin, che alla base è un sistema contabile che registra in un giornale la creazione di moneta e i trasferimenti da un proprietario a un altro. Satoshi Nakamoto, il fantomatico inventore del Bitcoin, per garantire l’integrità del giornale e allo stesso tempo permettere di aggiungere sempre nuovi movimenti ha usato il medesimo approccio di concatenazione dei sigilli.

Nel sistema di Bitcoin le operazioni di trasferimento sono aggiunte al giornale in blocchi. Ogni blocco è identificato dal sigillo del blocco (che nella terminologia Bitcoin si chiama Hash), che è calcolato sulla base del suo contenuto. Il blocco contiene anche il riferimento al sigillo del blocco precedente, per cui il sigillo di ogni blocco (eccetto il primo) è un sigillo progressivo come in Banana Contabilità. In questo modo i blocchi risultano concatenati fra di loro. Nakamoto nel suo documento ha usato il termine “chain of blocks” che ha poi dato origine del termine Blockchain, usato comunemente per caratterizzare questa tecnologia.

In Bitcoin i blocchi non sono numerati, ma partendo dall’ultimo si può ricostruire la catena e la posizione di ogni blocco nella sequenza, che nella terminologia del Bitcoin viene chiamata Altezza.

L’immagine che segue mostra come sono strutturati i blocchi nel giornale Bitcoin, con ciascuno che contiene il sigillo del blocco precedente.


Bitcoin journal structure

Il blocco al suo interno ha una struttura complessa, basata su delle Merkle Tree, concepita per garantire l’integrità dei dati e permettere una ricerca veloce delle transazioni.  Questa struttura dati consente di ricalcolare velocemente il sigillo, per verificare che i dati siano integri.

Come si nota dall’immagine i sigilli di ogni blocco iniziano con tanti zeri. Questo perché il sigillo del blocco in Bitcoin non serve solo a garantire l’integrità dei dati. In Bitcoin le transazioni contenute nel giornale sono la prova che i soldi appartengono a un proprietario. Per evitare che i valori non siano spostati senza la dovuta autorizzazione, l’aggiunta di blocchi del giornale sottostà a delle procedure complesse. Bitcoin permette di aggiungere dei blocchi solo se il sigillo comincia con ha un certo numero di zeri. Nel sistema Bitcoin l’aggiunta di blocchi è demandata a dei notai, che in gergo sono chiamati Minatori. Questi raccolgono e verificano gli ordini di trasferimento. Creano poi un blocco, successivo all’ultimo, dove indicano l’indirizzo su cui versare la ricompensa prevista per il lavoro e con il sigillo che ha il numero di zeri iniziali richiesto. Il primo che riesce vedrà il proprio blocco aggiunto e riceverà la ricompensa. Deve però prima costruire un blocco che contiene, oltre alle transazioni, un numero, il “nonce” che porta avere il sigillo con il numero di zeri richiesto. Devono provare miliardi e miliardi di combinazioni. Servono computer molto potenti e molta energia. Se propongono blocchi con operazioni non valide, questi saranno ovviamente scartati. Questo sistema di gestione, che retribuisce i notai, che investono più lavoro (proof of work) porta a escludere minatori che non lavorano onestamente ed è il motivo per cui i valori custoditi dal giornale Bitcoin sono considerati sicuri.

Gli aspetti organizzativi della conservazione dei dati

Dalla sintetica descrizione di come è organizzata l’aggiunta di transazione in Bitcoin, si capisce che qualsiasi sistema può funzionare solo se è gestito da operatori onesti. La blockchain è una tecnologia che permette di verificare l’integrità e autenticità di una collezione di dati. I dati saranno considerati autentici se i sigilli calcolati e quelli originali corrispondono. Questo presuppone che i sigilli originali siano autentici, se non lo sono, se vi è la possibilità di contraffare i sigilli, vi sarà anche la possibilità di modificare i dati, senza che vi sia la possibilità di accorgersi.

La blockchain però facilita di molto la messa in piedi di un’organizzazione efficace, ma da solo non è una garanzia che i dati siano integri e autentici. Nel sistema Bitcoin i dati del giornale sono disponibili in rete e tutti possono modificarli da chiunque. Ogni nodo della rete può però, scambiandosi il sigillo dell’ultimo blocco, capire se i propri dati sono autentici. L’operazione di verifica è semplice e veloce e quindi ogni nodo può interpellare tanti partecipanti. Il fatto che il giornale sia custodito in più punti e sia facile verificare l’autenticità è quello che rende impegnativo contraffare il giornale. La tecnologia della blockchain è il presupposto, ma il successo del sistema Bitcoin è largamente da attribuire all’organizzazione che ne garantisce, tramite un software apposito, il corretto funzionamento e i corretti stimoli perché il sistema sia gestito da attori onesti.

Utilizzo della blockchain in contabilità

La blockchain è uno strumento utilissimo alla gestione di raccolte di dati, come quelle della contabilità. La tecnologia deve però essere supportata da un’organizzazione dei sigilli originali adeguata. Il focus non deve essere qui sulla tecnologia, ma sulle questioni pratiche.

Quale sia il tipo di impiego, l’organizzazione deve essere adeguata alla struttura, dimensioni e persone coinvolte nell’impresa. L’approccio in una banca sarà diverso da quello di una piccola impresa.

Nelle piccole imprese per garantire l’autenticità dei dati contabili è sufficiente che l’operatore, periodicamente, dopo avere controllato la contabilità, la blocchi e prenda nota dei sigilli digitali dell’ultima operazione.

Per custodire i sigilli sono necessari semplici accorgimenti:

  • Il contabile stampa o invia per email a altri il sigillo dell’ultimo.
  • Il revisore annota nei suoi atti il sigillo relativo ai dati che ha verificato.
  • Un’organizzazione che ha più contabilità distribuite, quando consolida i dati prende nota dei sigilli.

I rischi nell’uso della blockchain

Nel 2002, quando gli utenti hanno iniziato a usare questa tecnologia, ci hanno richiesto l’aggiunta di un comando per sbloccare i dati. A una prima analisi ci sembrava problematico dare questa possibilità, ma dopo avere approfondito l’argomento è emerso chiaro che la responsabilità è chiaramente di chi gestisce la base dati e appartiene a lui di capire come agire. L’utilizzatore poteva comunque facilmente aggirare la protezione facendo una copia dell’archivio, prima di bloccare le registrazioni, oppure ricreare una contabilità e copiare e incollare i dati. Queste procedure facevano però perdere tempo e portavano a non più usare la funzionalità.

Sentendo le storie degli gli utenti appariva evidente che vi erano delle situazioni, che necessitavano delle correzioni. Per esempio, in sede di adempimenti fiscali, si notava che vi erano delle registrazioni non corrette. Procedere con storni era possibile, ma rendeva ancora più difficile la comprensione della contabilità.

Si è così deciso di mettere a disposizione la funzione di sblocco dei movimenti. Dall’esperienza di molti anni si è costatato che questo non riduce la sicurezza, ma permette di usare il sistema in modo intelligente e adeguato alla situazione.

D’altronde nel mondo digitale, le operazioni lasciano parecchie tracce. L’idea che si possa garantire la sicurezza evitando che non si possano modificare i dati della contabilità è un approccio sbagliato.

Il pericolo della blockchain è quello di rendere le organizzazioni ancora meno flessibili. Il successo del Bitcoin è un insegnamento importante per scongiurare questa deriva. Il sistema è completamente aperto e offre un’ampia flessibilità, tutti infatti possono inviare movimenti, validi o contraffatti. È al livello delle verifiche che le operazioni sono selezionate.

Lo stesso deve avvenire in contabilità. Spetta la responsabile della banca dati di verificare le operazioni, scartare quelle non valide e assicurare un’alta qualità dei dati. Contabilità pieni di storni e rettifiche sono difficilmente leggibili.

Con Banana Contabilità, questo approccio si è dimostrato molto valido. Gli utenti godono di un’ampia flessibilità, possono inserire dati, verificare, riconciliarli e sono quando sono certi che i dati sono corretti, procedono al blocco.

Le applicazioni che implementano la blockchain, dovrebbero quindi porre attenzione che l’utilizzo del sistema, non porti a rendere le organizzazioni rigide e ad avere dati pieni di correzioni e difficili da usare per capire i processi e l’andamento delle aziende.

 

Condividi questo articolo: Twitter | Facebook | LinkedIn | Email