La soluzione pensata per affrontare il problema della scalabilità di Bitcoin. Transazioni istantanee e commissioni minime, ereditando la sicurezza della blockchain
- Una soluzione alla scalabilità: Storia e concetti chiave del Lightning Network
- Funzionalità tecniche: Canali di pagamento, multisig e transazioni
- Pathfinding: come il Lightning Network individua i percorsi ottimali per le transazioni
- Il ruolo del routing e degli HTLC nei Pagamenti del Lightning Network
Una soluzione alla scalabilità: storia e concetti chiave del Lightning Network
Il tema della scalabilità è sempre stato uno dei problemi più spinosi per Bitcoin. La sicurezza e l’ampia decentralizzazione della rete comportano un inevitabile trade-off: una blockchain lenta e poco efficiente in termini di quantità di transazioni supportate (circa 280 mila al giorno). La creazione del Lightning Network (LN) è stata una mossa strategica per affrontare questo problema senza compromettere il primo strato dell’architettura di Bitcoin, anche definito Layer 1.
Nel 2015, Joseph Poon e Thaddeus Dryja hanno pubblicato un paper dal titolo The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. Tre anni dopo, il Lightning Network ha iniziato a operare come un secondo strato sopra al layer 1, che è costituito da circa 50.000 nodi distribuiti in tutto il mondo. Il layer 2 conta approssimativamente 17.000 nodi e offre una soluzione che consente pagamenti istantanei e potenzialmente illimitati senza coinvolgere costantemente la blockchain.
Funzionalità tecniche: canali di pagamento multisig e transazioni
Sul fronte tecnico, il Lightning Network utilizza una struttura di canali di pagamento tra due nodi. Se Alice e Bob desiderano effettuare frequenti transazioni, possono aprire un canale di pagamento. Inizialmente, entrambi dovranno depositare una certa quantità di bitcoin in un indirizzo multisig, che è essenzialmente una cassaforte condivisa registrata sulla blockchain. Questo è il canale di pagamento: il saldo iniziale potrebbe essere, ad esempio, 0,3 BTC.
All’interno di questo canale possono effettuare un numero illimitato di transazioni senza dover registrare ogni singola operazione sulla blockchain. Ogni transazione aggiorna semplicemente il saldo interno del canale. Questo è particolarmente vantaggioso perché evita le commissioni di transazione e i tempi di attesa per la conferma sulla blockchain.
Quando decideranno di chiudere il canale, il saldo finale verrà registrato sulla blockchain con una sola transazione. Così, anche dopo centinaia di transazioni all’interno del canale, sulla blockchain verranno registrate solo due operazioni: una per aprire il canale e una per chiuderlo.
E’ importante notare che i fondi nel canale di pagamento sono bloccati solo nel senso che sono riservati per le transazioni al suo interno. Questo non significa che siano inaccessibili; piuttosto, sono allocati in modo specifico per facilitare gli scambi rapidi e a basso costo tra i partecipanti del canale.
Pathfinding: come il Lightning Network individua i percorsi ottimali per le transazioni
Il pathfinding è un processo che consente il flusso di transazioni attraverso vari nodi. Gli utenti non devono per forza stabilire un canale diretto con ogni controparte con cui desiderino effettuare transazioni.
Il Lightning Network è di per sé una rete di nodi interconnessi. Questa architettura consente ai pagamenti di essere instradati attraverso più nodi, a patto che esista un percorso che consenta alla transazione di raggiungere la sua destinazione prevista.
Immaginiamo che il Nodo A desideri inviare un pagamento al Nodo D. A condizione che esista un percorso attraverso il quale la transazione possa avvenire, il pagamento può essere instradato con successo. Qui è dove entra in gioco il processo algoritmico del pathfinding. Con una rete costituita da oltre 16.000 nodi e circa 43.000 canali, con una liquidità media di 4 milioni di sats, trovare un percorso non è complicato.
La vera difficoltà sorge quando si tratta di selezionare i percorsi che abbiano sufficiente liquidità per supportare il pagamento. Se il Nodo A apre un canale con il Nodo B con una liquidità di 1 milione di sats, il canale è inizialmente sbilanciato: il Nodo A ha 1 milione di sats di liquidità in uscita e il Nodo B in entrata. Quando A invia 500.000 sats a B, il canale diventa bilanciato con 500.000 sats di liquidità sia in entrata che in uscita per entrambi i nodi.
Se il Nodo A desidera inviare 500.000 sats al Nodo D passando tramite B e C, ma anche un solo canale nel percorso non possiede tale liquidità, la transazione fallisce. Pertanto, il ruolo degli algoritmi di pathfinding si estende oltre la semplice individuazione di un percorso; deve anche accertare che il percorso abbia liquidità sufficiente perché la transazione venga elaborata con successo.
Il ruolo del routing e degli HTLC nei pagamenti del Lightning Network
Una volta trovato il percorso serve anche garantire la sicurezza dei pagamenti durante il loro transito da un nodo all’altro. Come fa il Lightning Network a garantire che un nodo all’interno del percorso di pagamento non agisca in modo malevolo, sottraendo fondi?
Prendiamo in considerazione Alice che desidera inviare 100 sats a David attraverso Bob e Carol. Bob e Carol forniscono la loro liquidità per completare questa transazione e sono incentivati da una commissione. Alice invia 106 sats a Bob, che ne trattiene 3 e invia 103 sats a Carol. Carol tiene i suoi 3 sats e inoltra 100 sats a David, completando così il pagamento con successo. Per evitare che Bob o Carol provino a incassare l’intera somma, il Lightning Network impiega quello che può essere essenzialmente definito uno smart-contract: l’Hashed Timelock Contract (HTLC)
David, il destinatario del pagamento, inizia generando un valore casuale noto come Payment Secret e calcola il suo hash SHA-256. Il Payment Hash viene quindi inviato ad Alice, la mittente. Viene poi stabilito un contratto ricorrente:
- Alice deposita 106 sats che Bob può sbloccare solo rivelando il Payment Secret dietro al Payment Hash;
- Bob concorda di pagare 103 dei 106 sats che riceverà da Alice a Carol, a condizione che Carol riveli il Payment Secret dietro al Payment Hash;
- Carol concorda di pagare 100 dei 103 sats che riceverà da Bob a David, a condizione che David riveli il Payment Secret dietro al Payment Hash.
In questo modo, David può rivelare il suo Payment Secret originale a Carol, che verificherà la sua corrispondenza con il Payment Hash e procederà a inviare la somma concordata di 100 sats. Carol passerà quindi il Payment Secret a Bob per ricevere i suoi 103 sats, e Bob rivelerà infine il Payment Secret ad Alice per sbloccare i suoi 106 sats.
Conclusioni
Il Lightning Network rappresenta un avanzamento significativo nella scalabilità di Bitcoin. Offre una soluzione che eredità l’integrità, la sicurezza e la decentralizzazione del layer 1, consentendo pagamenti istantanei su un layer superiore. Con meccaniche come il pathfinding e il routing, questa rete sopra alla rete rappresenta un’innovazione vitale, che con ogni probabilità guiderà il futuro delle transazioni digitali.
Comments 1