Blockchain e applicazione del GDPR
Condividiamo alcuni sintetici spunti di riflessione in merito ad una delle tecnologie di cui si può prevedere un maggiore impatto sulla vita quotidiana di cittadini, consumatori e istituzioni, nel prossimo futuro.
In questo articolo, senza pretesa di completezza alcuna, si intendono condividere, nell’ottica di stabilire una base interpretativa comune sulla quale ragionare, in seguito, con riferimento alle norme del GDPR, alcuni sintetici spunti di riflessione in merito ad una delle tecnologie, o (per alcuni) filosofie, di cui si può prevedere un maggiore impatto sulla vita quotidiana di cittadini, consumatori e istituzioni, nel prossimo futuro.
Una definizione
Cominciamo quindi con il definire, in maniera molto rapida ed essenziale, con i limiti propri di ogni definizione, i requisiti teorici che caratterizzano l’impiego di tecnologie blockchain. In via di prima approssimazione, si può pensare, in termini giuridici, a una blockchain come a un registro (ledger) decentrato, utilizzato per annotare transazioni effettuate in svariati strumenti elettronici di elaborazione, presenti in una rete (chiamati nodi), in modo che i dati non possano essere alterati retroattivamente senza l’alterazione di tutti i blocchi seguenti e la collusione di almeno il 51% del network. Letteralmente la blockchain è una catena di blocchi: ogni blocco, che contiene al suo interno almeno una transazione, è collegato agli altri blocchi ed è validato tramite strumenti crittografici.
Le basi tecnologiche
Con riferimento, invece all’aspetto tecnologico possiamo pensare a una blockchain come a una metodologia di distribuzione di informazioni di varia natura, ad esempio volontà negoziale (smart-contracts), o valore (Bitcoin), basata su un database transazionale, eventualmente transnazionale, che funziona in maniera decentrata ed eventualmente acefala (senza cioè la necessità di un nodo principale o master), distribuito copiando, anche mediante la tecnologia delle reti peer to peer, su molteplici elaboratori (nodi) i dati contenuti nel database stesso che vengono divisi in blocchi (block), ognuno dei quali è composto da più transazioni. Dal punto di vista logico, la struttura del database della blockchain è formata dai blocchi che costituiscono una catena, in ipotesi pubblica, secondo una sequenza ben precisa (da qui il nome ‘blockchain’), basata sul proprio marcatore temporale (il cosiddetto ‘timestamp’) e su un valore univoco di identificazione risultante da un algoritmo (detto ‘hash’) calcolato sul contenuto del blocco precedente. Quindi esiste una sequenza temporale con cui le transazioni entrano a far parte di un blocco, scongiurando così ogni problema di simultaneità delle medesime.
Come funziona
Nello specifico, una transazione, per essere parte di una catena a blocchi:
(a), viene firmata digitalmente dal mittente(sender), con la propria chiave privata – la firma serve per garantire l’autenticità di una transazione;
(b), deve essere accettata dai nodi nella rete, quindi una transazione può essere accettata o rifiutata;
(c), viene annullata come se non fosse mai stata fatta se durante una transazione avviene qualche errore per qualsiasi motivo. Una volta accettata e validata, essa viene applicata al database e non è più modificabile.
I blocchi sono aggiunti alla catena a intervalli regolari, dopo il superamento di un processo di validazione che coinvolge i nodi della rete (mining). Il meccanismo del mining si basa sul ‘consenso’ da parte dei nodi della rete riguardo la validità della catena che viene formata, e nel corso della dinamica di crescita se ne possono formare temporaneamente più di una fino a che il consenso non decide quale sia quella valida. La ramificazione della catena è funzione del numero di blocchi che vengono aggiunti alla catena medesima e quindi è necessario attendere che un certo numero di blocchi sia aggiunto prima che ci sia certezza che un certo blocco non venga annullato, e con esso le transazioni contenute. Ad esempio Bitcoin necessita di 6 blocchi confermati in modo da ridurre al minimo la probabilità che una transazione sia falsificabile.
Blockchain pubbliche, private e ibride
Nel caso dei Bitcoin, il nodo ‘minatore’ che riesce a validare il blocco da aggiungere alla blockchain viene di norma ricompensato con un ammontare fisso di criptovaluta e con tutte le commissioni delle transazioni che verranno inserite all’interno del blocco. Le varie blockchain esistenti possono usare differenti algoritmi di selezione dei blocchi e di conferma; ad esempio l’algoritmo di tipo “Proof-of-Work” (PoW) usato da Bitcoin ed Ethereum. Un modello teorico alternativo a quello della blockchain pubblica, sulle cui questioni giuridiche ci intratterremo di qui a breve, è rappresentato dalla tecnologia delle blockchain private; vale a dire blockchain distribuite su reti chiuse, nel senso che possono accedervi e farne parte solo alcuni nodi predeterminati, in cui ogni partecipante è conosciuto e affidabile. In una blockchain privata solo il nodo che ha i diritti di gestione del database può effettuare le modifiche; esiste cioè un’autorità centrale (il nodo proprietario della blockchain privata) che ha il potere di cambiare le regole, di eliminare le transazioni passate, etc. basandosi sulle proprie regole. Per questo il modello di blockchain privata è il candidato principale ad essere usato da parte delle istituzioni finanziarie (applicazioni fintech) e delle grandi aziende (programmi di customer service, gestione di supply chain e logistica, ecc.). Inoltre, a differenza di quanto avviene nel caso di blockchain pubblica, le transazioni sono naturalmente ‘private’, quindi non accessibili dall’esterno. Il registro della blockchain viene totalmente controllato da una singola entità che ne determina la validità e la coerenza nel tempo. Questo previene il rischio dell’uso di blockchain decentralizzate (quelle pubbliche) per applicazioni critiche per una organizzazione, la quale non avrebbe il controllo sulla blockchain medesima. Le transazioni sono generalmente poco costose e le conferme della validità delle transazioni è più veloce poiché non esiste il complesso meccanismo di consenso tra i nodi della blockchain pubblica.
Esistono anche modelli di blockchain ‘ibride’, vale a dire blockchain con funzionalità sia pubbliche che private, con caratteristiche di accesso e distribuzione proprie della blockchain pubblica, ma con la differenza che solo alcuni nodi predeterminati, pur non rivestendo il ruolo di autorità centrale, come nelle blockchain private, hanno il potere di verifica delle transazioni rispetto alla totalità dei nodi connessi alla blockchain. Una blockchain ibrida fornisce molti dei vantaggi della blockchain privata (efficienza, privacy delle transazioni) senza l’obbligo di ricorrere a un’unica autorità, essendo il controllo devoluto a un gruppo di nodi appartenenti a differenti soggetti.