Lightning Network: la scalabilità di Bitcoin
22 settembre, 2021
7 min
Il Lightning Network è una rete di nodi decentralizzata che permette di inviare un numero potenzialmente illimitato di transazioni istantaneamente.
Questa rete è parallela alla blockchain di Bitcoin, ed esegue alcune transazioni on-chain e altre off-chain.
Perché è stato inventato?
Satoshi Nakamoto è stato molto lungimirante nel programmare Bitcoin, ma ciò che non aveva forse previsto era la mole di transazioni che la blockchain avrebbe dovuto sopportare.
Pensiamo al boom del 2017, pensiamo al ritorno glorioso del 2020. Come si vede dal grafico sotto, lo scoppio dell’adozione ha messo a dura prova la prima blockchain al mondo, che ancora richiede circa 10 minuti per confermare ogni transazione.
Oltre a ciò, in questi casi di intasamento richiede alte commissioni, tempi dilatati e fallisce nel confermare alcune transazioni.
Non è propriamente pronta a competere in un futuro di dapp e finanza decentralizzata.
In risposta a questo limite sono nate tantissime altcoin, tuttavia alcune soluzioni sono emerse dall’interno dell’ecosistema di Bitcoin stesso. Si veda Bitcoin Cash, uno dei fork di Bitcoin che ha previsto un significativo aumento di grandezza dei blocchi.
I diversi fork di Bitcoin hanno apportato solamente questo tipo di cambiamento, tuttavia non basta aumentare la capacità di ogni blocco. Rimane, infatti, il problema della lentezza e dei possibili congestionamenti.
Così nel 2016 due sviluppatori pubblicano il Whitepaper del Lightning Network.
Come funziona un Lightning Network
Per capire il funzionamento di base di un lightning network, pensiamo alle transazioni che facciamo in un pub.
Chiara arriva al pub e ordina una birra. Se vuole solo quello pagherà subito. Se invece ordinerà diverse cose, le conviene farselo mettere in conto dal barista Andrea.
Così Chiara decide di lasciare il suo conto aperto.
Durante la sera ordina da bere e da mangiare. A fine serata riceve da Andrea il conto totale e paga.
Per capire come funziona il Lightning Network, trasportiamo questa logica nella dimensione della blockchain.
La transazione avviene su un cosiddetto “canale di pagamento”.
Prima di tutto, per poter aprire un canale di pagamento sul Lightning Network, serve un wallet multisignature. Questo significa che le criptovalute nel wallet potranno essere spese solo col permesso di 2 o più proprietari, che possiedono la chiave privata.
Quindi Chiara e Andrea possiedono un wallet in comune e vi versano ognuno il 50% dei Bitcoin che prevedono di utilizzare in totale.
Questa è una transazione su blockchain, che viene validata da un miner.
Una volta aperto il canale, Chiara e Andrea possono scambiarsi i Bitcoin a disposizione nel wallet come desiderano, finché lo desiderano. Tutti questi scambi saranno off-chain, gratuiti e istantanei.
Quando decidono di chiudere il canale, dovranno fare una transazione di chiusura su blockchain, autorizzandola con le loro chiavi private.
Canali di pagamento indiretti
Attraverso il routing, è possibile effettuare transazioni su LN anche con utenti a cui non si è connessi direttamente.
Routing
Il routing è il processo di selezione dei percorsi migliori in una rete in modo da facilitare il traffico di dati.
Per poter effettuare transazioni con un nodo della rete con cui non si ha un canale di pagamento diretto, è necessario che però il collegamento esista in modo indiretto. Quindi se A ha un canale con B e B ne ha uno con C, A può mandare Bitcoin a C istantaneamente.
Gli scambi di valore sono comunque sempre soggetti alla liquidità disponibile all’interno dei vari wallet multisig coinvolti nella rete.
Il lightning network è sicuro?
Le transazioni di apertura e chiusura di un canale sono su blockchain, e questo le rende sicure. Le altre transazioni off-chain invece sono registrate su entrambi i computer dei partecipanti e le comunicazioni tra i due nodi sono criptate.
Per proteggere le transazioni indirette da interventi di altri nodi nella rete, poi, vengono utilizzati degli smart contract particolari chiamati Hash Time Locked (HTLC). Si tratta di un tipo di pagamento in cui la transazione è bloccata finché una certa condizione non si verifica.
Per garantire il pagamento, l’HTLC usa i meccanismi di hashlock e timelock.
I timelock sono utilizzati per limitare il tempo in cui un canale di pagamento rimarrà aperto. Questo impedisce che un utente scompaia dalla rete, lasciando i fondi del portafoglio bloccati. Nel caso in cui Chiara scompaia, Andrea può ancora recuperare i propri fondi quando il timelock scade.
Un hashlock invece è un tipo di meccanismo che limita una spesa fino a quando una determinata informazione non viene confermata. Ad esempio, un pagamento viene inviato solo quando Chiara fornisce la sua chiave privata.
Memo
Il Lightning Network può essere usato con qualsiasi criptovaluta e blockchain che supporti wallet multisig e HTLC.
Lo stato dell’arte e casi d’uso
Dal 2016 questa tecnologia è oggetto di continua ricerca e sviluppo. Il network è completamente operativo, tuttavia sono state scoperte delle vulnerabilità nel codice non del tutto risolte. Inoltre la necessità di un wallet multisig ostacola l’accesso al servizio in un contesto che richiede valute fiat, e in generale l’usabilità di questa tecnologia è ancora molto carente.
Nonostante ciò, nel 2021 El Salvador ha adottato Bitcoin come valuta ufficiale e in questa procedura è stato assistito direttamente da Strike, un wallet per Lightning Network.
Per questo motivo e per l’aumento dell’adozione del Lightning da parte di diverse aziende ed exchange, in soli due mesi dall’annuncio la rete è cresciuta del 46%.
Lo sviluppo del LN apre la strada a diverse applicazioni, oltre che ai pagamenti istantanei con la blockchain di Bitcoin. Ad esempio, sarà possibile pagare un servizio ad abbonamento all’ora invece che ogni mese, in modo da pagare effettivamente a consumo.
In generale, faciliterà le microtransazioni come le donazioni su social o pagamenti in negozi, perché non richiede commissioni e la conferma del pagamento è istantanea.
Non a caso, sempre a El Salvador, un McDonald già accetta pagamenti in Bitcoin attraverso il Lightning Network.