Codice open-source

Banca d’Italia: un protocollo per usare la blockchain pubblica in modo permissioned

Banca d'Italia consenso BFT DLT Banca Centrale

Un protocollo di consenso open-source per una DLT di Banca Centrale. È questo l’obiettivo del nuovo progetto raccontato da Banca d’Italia, che potrebbe trovare applicazione nella realizzazione di piattaforme di CBDC e per la tokenizzazione degli asset finanziari.

Ecco quanto emerso dallo studio di Banca d’Italia “Consenso BFT con quorum confidenziale per una DLT di Banca Centrale".

DLT permissioned per il finance

Il paper di Banca d’Italia tira le fila delle funzionalità e delle potenzialità delle tecnologie che si basano sul registro distribuito, ovvero le DLT, caratterizzate da elementi quali la programmabilità e l’uso di crittografia avanzata, che le rendono appunto adatte all’utilizzo in ambienti controllati da un’autorità centrale, o da un insieme di autorità, come ad esempio il settore finanziario.

In questi contesti, la scelta ricade naturalmente su DLT permissioned, ovvero dove è presente un sottoinsieme di partecipanti, detti anche validatori, autorizzato ad approvare, o rifiutare, le transazioni.

In contesti permissionless, al contrario, questa autorizzazione cade e non è più necessaria, rendendo questo tipo di ambienti poco adatti al finance.

Il protocollo di consenso? È ad alto consumo

Tuttavia, tutte le DLT (permissionless o permissioned) funzionano grazie a un processo decisionale finalizzato a raggiungere un accordo sul prossimo stato del registro. E questo processo si chiama “protocollo di consenso”: una componente fondamentale di ogni DLT, perché consente ai validatori di operare senza interruzioni anche nel caso in cui alcuni di essi vengano compromessi, oppure siano disconnessi dalla rete.

Nei contesti permissionless raggiungere il consenso può richiedere un ingente consumo di risorse computazionali (Proof of Work, PoW), oppure finanziarie (Proof of Stake, PoS), mentre con una DLT permissioned questo consumo non è necessario: gli algoritmi basati su Proof of Authority (PoA) funzionano grazie al fatto che esiste un gruppo di validatori fidati, a cui viene data la capacità di accettare o rifiutare le transazioni proposte dai partecipanti.

In genere, questi validatori raggiungono il consenso tramite votazione a maggioranza.

Il protocollo FBFT per il consenso

Banca d’Italia presenta quindi il protocollo FBFT (FROSTed Byzantine Fault Tolerance), che rappresenta un nuovo approccio al consenso PoA, in grado di garantire la confidenzialità dei validatori.

Questo combina l'algoritmo Practical Byzantine Fault Tolerance (PBFT), un noto risultato in ambito sistemi distribuiti, con lo schema di firma a soglia chiamato Flexible Round-Optimized Schnorr Threshold (FROST), un recente contributo di crittografia.

Grazie a FROST, il protocollo FBFT certifica il raggiungimento del consenso utilizzando una firma congiunta, che rappresenta l'approvazione di un insieme di transazioni da parte di un quorum di validatori.

Inoltre, grazie a PBFT, fornisce tolleranza a fallimenti cosiddetti "bizantini", in cui alcuni validatori smettono di funzionare o addirittura mostrano comportamenti malevoli, magari a causa di un guasto software o di un attacco cyber.

Infine, FBFT preserva la confidenzialità dei validatori, in quanto il loro numero e le loro identità sono note solo all'autorità centrale o ai loro delegati, riducendo il rischio di attacchi mirati.

Adattare la blockchain pubblica a un contesto permissioned

Ecco, il lavoro di Via Nazionale mostra come questo protocollo possa essere integrato nel codice di una blockchain pubblica per adattarla a un contesto permissioned, e valuta le performance del sistema in diversi scenari.

Inoltre, per incoraggiare ulteriori ricerche, il codice sorgente è pubblicato in open-source, rendendo liberamente disponibile l’algoritmo di consenso sviluppato in-house dalla banca centrale.

L’obiettivo, seppure sperimentale e non ancora pronto al lancio sul mercato, è creare una piattaforma alternativa per una infrastruttura transazionale distribuita e resiliente: gestito da un insieme di attori fidati e distribuiti su scala geografica, è potenzialmente utilizzabile in applicazioni come le central bank digital currencies all’ingrosso e al dettaglio, oppure, in prospettiva, per la tokenizzazione di asset finanziari.