Un nuovo protocollo di comunicazione tra nodi è un arrivo nella prossima versione di Bitcoin Core. Che vantaggi offre e come migliorerà Bitcoin?
Le criticità
I nodi Bitcoin comunicano e scambiano informazioni tra di loro tramite un protocollo di comunicazione peer-to-peer, con l’obiettivo di raggiungere consenso sullo stato della blockchain. L’attuale versione del protocollo P2P, pur avendo buone caratteristiche di resistenza alla censura, presenta alcuni punti critici:
- Un attaccante che monitora in massa tutte le transazioni che avvengono sulla rete, può usare i metadati delle transazioni per ottenere informazioni che dovrebbero rimanere confidenziali, come la fonte di una transazione (cioè il nodo che ha eseguito il broadcast) e l’orario in cui è stata creata.
- Le connessioni cominciano con una sequenza fissa di byte facilmente identificabile, che può essere usata da governi e gestori della rete internet per fare attività di censura o attacchi eclipse verso utenti e miner.
- Siccome le comunicazioni tra nodi non sono criptate, governi, ISP e gestori di rete WiFi possono operare un attacco man-in-the-middle che gli permette di intercettare i messaggi tra i nodi e tracciarli senza doversi connettere ai relativi peer. Ciò rende quindi l’attività di monitoraggio dei nodi e la violazione della loro privacy poco costosa per un attaccante.
La rete P2P è una componente importantissima di Bitcoin (lo stesso white paper enfatizza la natura P2P del protocollo già nel titolo), ma che spesso passa in secondo piano rispetto alle discussioni sul layer di consenso, che invece tendono a scaldare molto gli animi di appassionati e addetti ai lavori. Dunque è importantissimo che vi sia innovazione anche lato network P2P in modo da potenziarlo ed eliminarne i difetti laddove possibile. Proprio con questo scopo nasce la proposta per una seconda versione del protocollo di comunicazione P2P su bitcoin descritta nella Bitcoin Improvement Proposal (BIP) 324, pubblicata per la prima volta a marzo 2019 dallo sviluppatore Jonas Schnelli.
I miglioramenti
BIP 324 si pone come obiettivo quello di rendere più difficili gli attacchi sopra descritti, il che non vuol dire che diventino necessariamente impossibili, ma sicuramente molto più costosi e meno efficaci. Per ottenere ciò, BIP 324 prevede i seguenti miglioramenti:
- Rendere le comunicazioni tra i peer criptate, in modo che non sia possibile osservare il contenuto di un messaggio attraverso attacchi man-in-the-middle.
- Rendere il bytestream delle comunicazioni pseudorandomico, così che non sia possible individuare facilmente una transazione Bitcoin all’interno di una connessione Internet, rendendo impossibile per osservatori sulla rete monitorare l’attività dei nodi.
- Rendere il bytestream anche personalizzabile in modo da poter mimetizzare un messaggio verso la rete Bitcoin come se fosse parte di altri protocolli Internet. In questo modo un firewall non può più efficacemente bloccare le comunicazioni Bitcoin (come ad esempio la propagazione di un blocco).
È importate notare che anche con BIP 324 rimane comunque possibile per un attaccante portare avanti attività di monitoraggio e censura, ma ciò diventa esponenzialmente più costoso – in quanto dovrebbe costruire e gestire molti nodi Bitcoin e aprire tante connessioni con altri peer – e anche rilevabile con opportuni controlli da parte delle vittime.
Per facilitarne l’adozione, BIP 324 rimane retrocompatibile con i vecchi nodi che continuano ad usare la precedente versione del protocollo di comunicazione, e rimane anche facilmente aggiornabile grazie al versioning, lasciando quindi la porta aperta a potenziali miglioramenti futuri, come ad esempio l’introduzione di messaggi autenticati. L’aggiornamento non comporterà la necessità di risorse aggiuntive per far girare un nodo, permettendo quindi a Bitcoin di non alterare i propri trade-off di decentralizzazione.
Un progresso silenzioso
Innovazioni come BIP 324 possono apparire noiose e poco entusiasmanti, ma è proprio l’insieme di tutti questi piccoli miglioramenti nel corso degli anni che rendono Bitcoin più sicuro e resiliente di ogni alternativa, e permettono al protocollo di mantenere le proprie promesse di privacy e resistenza alla censura. Spesso si tende a focalizzare l’attenzione solo ad innovazioni che richiedono soft fork, in quanto tendono a stimolare di più il dibattito pubblico e promettono l’abilitazione di nuovi use case prima impossibili, ma per quanto nuove feature che possano portare valore aggiunto a Bitcoin senza comprometterne la sicurezza siano sicuramente benvenute, anche i miglioramenti che rafforzano le garanzie sulle caratteristiche core di Bitcoin sono altrettanto importanti per assicurarne il successo a lungo termine.
BIP 324 è testimonianza che lo sviluppo di Bitcoin non si fermerà quando il protocollo di consenso sarà ossificato, ma continuerà tramite miglioramenti e ottimizzazioni su diversi fronti fino a che rimarrà utilizzato.