Il Bitcoin si aggiorna alla Lightning Network: la sfida al circuito Visa

Il Bitcoin è ufficialmente passato ad accogliere la possibilità di effettuare transazioni al di fuori della Blockchain. Come funzione la Lightning Network?

Il Bitcoin si aggiorna alla Lightning Network: la sfida al circuito Visa
Articolo a cura di

C'è chi crede che il Bitcoin sia una mera bolla finanziara, una fonte di speculazione e di guadagno facile. I gamers sono arrivati all'odio verso il mining dopo il sold-out delle schede video tanto da rifiutare qualsiasi criptovaluta e invocare la censura mediatica. Il punto è che non è così semplice non parlarne, considerando che è diventato un fenomeno così grande che attualmente esistono centinaia di criptovalute, aziende che stanno cominciando a valutare la possibilità di implementare la Blockchain e stati che improvvisamente si sono ritrovati a rendere illegali o a regolamentare queste monete. Non si può ignorare una tematica del genere, considerando che il Bitcoin mira a diventare il sistema di scambio del futuro e lo sta dimostrando con il nuovo upgrade di cui vi andreamo a parlare, ovvero la Lightning Network. Come per ogni nostro articolo sull'argomento, vi spiegheremo brevemente ogni concetto per chiunque fosse a digiuno di Blockchain, mettendo in luce nuovi aspetti per incuriosire anche chi ci segue da settimane su queste tematica.

Dalla lentezza della Blockchain alla soluzione della Lightning Network

La Blockchain è la raccolta di tutta la storia monetaria del Bitcoin, sostenuta da una rete di computer sparsi in tutto il mondo appartenenti ai noti miners, che lasciano acceso il proprio calcolatore per approvare e mettere al sicuro tutte le transazioni che gli utilizzatori dei Bitcoin stanno effettuando in quel momento. Ogni volta che un miner riesce a validare un blocco di transazione (che attualmente pesa 1 MB) vince un premio in denaro costituito da Bitcoin nuovi e da tutte le commissioni associate alla transazioni. Il blocco dovrà essere scaricato anche da tutti gli altri miners così che tutti abbiano una versione aggiornata della Blockchain. Il sistema ha una sicurezza tale da rendere la rete dei Bitcoin praticamente impenetrabile per qualunque Hacker. Il problema più evidente però è la lentezza di questo processo: la Blockchain riesce a validare solo 7 transazioni al secondo, a causa del peso massimo di un singolo blocco della Blockchain di 1MB, calcolato ogni 10 minuti. Il circuito Visa invece gestisce circa 2000 transazioni al secondo, ma può arrivare ad un massimo di 56.000 transazioni al secondo. Dovrebbe esserevi chiaro che attualmente il Bitcoin non può assolutamente soppiantare un sistema monetario vero, perché è estremamente lento per colpa della dimensione del blocco di 1MB. Perché la dimensione del blocco non viene aumentata? Perché il peso andrebbe a gravere su tutta la Blockchain: ogni miner deve aver scaricato lo storico di tutte le transazioni sul proprio PC dal 2009 ad oggi, ovvero più di 120 gigabyte che costituiscono l'archivio degli spostamenti di denaro.

Questo perché la rete è decentralizzata e non esiste nessuno in grado di controllare qualcun altro, ma solo miners che hanno più potenza computazionale di altri, ognuno dei quali deve avere tutto il database del Bitcoin per partecipare alla Blockchain. Se il peso del blocco calcolato ogni 10 minuti aumenta, la Blockchain aumenterebbe in modo spropositato. Già oggi il suo peso si incrementa di più di 4GB ogni mese, ovvero 51GB all'anno. Il solo raddoppiamento del blocco implicherebbe un aumento di 100GB annui. Se dovesse gestire 2.000 transazioni come il circuito Visa il peso aumenterebbe di diversi terabyte l'anno, con la conseguenza di rendere inaccessibile la Blockchain ai più nei prossimi anni. Il Bitcoin però è nato come un sistema decentrato e deve garantire la possibilità a più utenti di entrare a farne parte. Per questo il Bitcoin ha introdotto l'aggiornamento SegWit che porta la Lightning Network alla realtà e permette di avere un sistema di transazioni che non va più a gravare sul peso della Blockchain.

La Lightning Network è la soluzione che alleggerisce il peso delle transazioni sulla Blockchain

La Lightning Network che verrà introdotta dopo il 21 agosto con SegWit crea un sistema di canali di pagamento che funziona con transazioni off-chain, ovvero al di fuori della Blockchain, che hanno l'obiettivo di ridurre le transazioni da calcolare da parte dei miners. Vi avevamo già parlato del problema delle commissioni elevate e della votazione del primo agosto. Il vero funzionamento di questo scambio di Bitcoin off-chain è dannatamente complicato, dunque cercheremo di evidenziare i meccanismi principali e il sistema che impedisce una potenziale frode. I più curiosi posso andare a cercarlo su portali specializzati mentre qui vi faremo un riassunto basilare.

Prendiamo come esempio due persone che si chiamano Rick e Morty (nomi 'a caso') che vogliono creare un canale di scambio di Bitcoin tra di loro: Rick è uno scienziato che vende molte cianfrusaglie tecnologiche mentre Morty è un suo fedele acquirente, quindi è chiaro il suo interesse nell'aprire un canale di pagamento che non passa per la Blockchain, così da essere rapido ed evitare le commissioni (anche se questo non è proprio vero, ma ci arriveremo alla fine). Dunque Rick e Morty aprono un canale nel quale mettono una cifra ciascuno, per esempio 2 Bitcoin a testa per un totale di 4 Bitcoin. In questo modo creano una opening transaction che deve passare per la Blockchain perché chiaramente deve essere tracciato che Rick e Morty hanno messo ognuno 2 Bitcoin a testa su un fondo comune che non è più gestito on-chain (nella cantena) ma off-chain (fuori dalla catena). Il realtà la Blockchain non saprà nulla di quello che accade in quel canale se non l'esito finale quando viene chiuso (potenzialmente può rimanere aperto per sempre).

Come avrete capito il canale è bidirezionale, ed infatti entrambi partecipano alla opening transaction. Ora Morty vuole spendere 1 Bitcoin per comprare un collare elettronico per il suo cane e crea una transazione detta commitment transaction nella quale indica che invia 1 Bitcoin a sé stesso (dal canale creato) e 3 Bitcoin a Rick e dà questa commitment transaction a Rick, in modo che se vorrà chiudere il canale gli basterà inviare questa transazione (firmata da Morty, ovvero approvata). Allo stesso modo Rick crea una commitment transaction speculare e la invia a Morty firmata. Le commitment transaction non vengono inviate da nessuno alla Blockchain perché devono rimanere off-chain, verrà inviato solo lo stato finale del canale ai miners, quando sia Rick che Morty decideranno di chiudere il canale. Diciamo che sono una garanzia di entrambi affinché nessuno dei due pensi di truffare l'altro. Se nessuno fa il furbo, non c'è alcun interesse nel terminare il canale. Supponiamo che Morty si accorga che il collare è rotto e voglia farsi rimborsare da Rick: a questo punto è chiaro che Rick dovrà ridare 1 Bitcoin a Morty, quindi serviranno altre due commitment transaction che assegnano 2 Bitcoin a testa e che aggiornano lo stato finale della transazioni sostituendo le precedenti commitment transaction.

Se una delle due parti cerca di inviare le vecchie commitment transaction alla Blockchain per derubare l'altro dovranno aspettare un certo lasso di tempo prima di vedersi riconosciuti la transazione: quel tempo viene fissato per far sì che l'altra persona se ne accorga e possa reclamare tutti i Bitcoin di tutto il canale per via del furto. Perché? Perché la commitment transaction è fatta in modo che se Rick invia la prima commitment transaction che attesta che spettano 3 Bitcoin a lui e 1 a Morty (nonostante gli avesse promesso il rimborso di 1 Bitcoin firmando la seconda commitment transaction), allora non fa altro che inviare subito 1 Bitcoin a Morty e dovrebbe aspettare 1000 blocchi validati dai miners prima di poter ricevere i restanti 3 Bitcoin. Nel frattempo Morty, avendo la commitment transaction più recente firmata da Rick che attesta che spettano 2 Bitcoin ad ognuno, potrebbe identificare il tentativo di furto e reclamare tutti i Bitcoin del canale. Il fatto che il potenziale ladro possa perdere tutti i Bitcoin disincentiva il tentativo di furto. Comunque vadano le cose, l'ultima transazione che sancisce la chiusura del canale è lo stato finale di come sono distribuiti i Bitcoin tra le due parti e devono essere notificati alla Blockchain.

Conseguenze delle transazioni off-chain

Chiaramente il procedimento è stato semplificato (per quanto possibile) nel precedente paragrafo ma il meccanismo teorico è quello descritto. Nei canali a più persone il discorso si complica maggiormente tanto che potrebbero essere necessari degli intermediari finanziari o comunque la presenza di banche che possano garantire un flusso regolare dei Bitcoin senza che ci siano problemi dovuti alla mancanza di fondi in un nodo delle Lightning network o ad eventuali attese eccessivamente lunghe. Quindi in questo caso, nonostante la Blockchain rimanga a tutti gli effetti decentralizzata, tutte le operazioni off-chain potrebbero comunque richiedere delle piccoli commissioni dovute alla presenza di un intermediario.

Questo punto in particolare ha decretato la nascita del Bitcoin Cash, causata proprio dal fatto che la Blockchain non avrebbe più avuto il controllo dei canali tra gli utenti, dunque nessuna commissione per i miners nonché l'introduzione di intemediari finanziari. Entro il 21 agosto tutti i software Bitcoin dovrebbero essere aggiornati per riconoscere SegWit e dunque la Lightning Network, e da lì ci sarà un banco di prova importante prima del già discusso SegWit2x, ovvero il raddoppiamento del blocco da 1 MB ad 2MB richiesto a gran voce da alcuni miners che dovrebbe entrare prima della fine dell'anno. L'obiettivo ormai è chiaro: il Bitcoin vuole evitare qualsiasi pericolo di scissione per diventare una rete di scambio monetario che possa arrivare a quantità di transazioni per secondo paragonabili a quelle del circuito Visa.