Lightning Network

Difficoltà: base

Argomento: tecnologia


DEFINIZIONE

Lightning Network è una soluzione di livello 2, un second layer, che si trova sopra Bitcoin, consentendo transazioni off-chain più rapide ed economiche.

È un protocollo progettato per aumentare notevolmente la velocità dei tempi di elaborazione delle transazioni in una rete blockchain, spostando off-chain il dettaglio delle transazioni.

Lightning Network è una rete decentralizzata che utilizza la funzionalità smart contract della blockchain di Bitcoin per consentire pagamenti istantanei attraverso una rete di partecipanti.

Lightning Network può consentire oltre 1 milione di transazioni al secondo, rispetto alle circa 7 transazioni al secondo che può gestire la rete Bitcoin.

L'uso normale di Lightning Network si basa su una tecnologia chiamata canali di pagamento, che vengono aperti tra i nodi.

Il canale è costantemente connesso alla blockchain, motivo per cui i bitcoin sulla blockchain di Bitcoin e i bitcoin sulla rete Lightning sono gli stessi. Non c'è differenza nel valore, è la stessa unità, non un altro token o risorsa.

A grandi linee, il ciclo di vita di un canale consiste in:

  • Funding Transaction: è la transazione on-chain di apertura del canale, che dota il canale di liquidità bloccando i bitcoin nella blockchain, e spostandoli virtualmente nel canale;
  • Commitment Transaction: sono le transazioni off-chain provvisorie che spostano la liquidità all'interno del canale, e non vengono trasmesse singolarmente nella blockchain;
  • Closing Transaction: la transazione di chiusura che gestisce i diversi casi di chiusura collaborativa, forzata o di difesa dal furto con transazioni di revoca.

Un canale di pagamento a due parti viene creato quando entrambe le parti creano una transazione multi-firma 2 su 2 sulla blockchain, con almeno una parte che impegna i fondi nella voce del ledger 2 su 2. Ogni persona ha una chiave privata e le transazioni che spendono dalla voce del ledger possono essere effettuate solo se entrambe le chiavi firmano. Questa transazione iniziale per aprire un canale richiede i soliti tempi di conferma on-chain, ma in seguito i partecipanti possono effettuare transazioni istantanee utilizzando i fondi allocati nel canale. Queste transazioni istantanee avvengono tramite il passaggio di transazioni firmate avanti e indietro, spendendo dalla voce del ledger 2 di 2. Ogni transazione è valida se trasmessa a tutti i canali di pagamento.

Ogni transazione sarebbe valida se trasmessa alla rete e inserita nella blockchain dai minatori della rete, ma in un canale di pagamento le transazioni firmate non vengono trasmesse finché i partecipanti non vogliono che il canale cessi di funzionare. Le transazioni firmate ma non trasmesse vengono scambiate utilizzando una comunicazione diretta peer-to-peer e vengono conservate come ricevute riscattabili dai partecipanti.

Quando viene effettuato un pagamento Lightning, non c'è garanzia che venga effettuato con successo. Ci sono diverse ragioni tecniche per cui i pagamenti possono fallire, come l'impossibilità per i nodi di trovare un percorso efficace perché non ce ne sono di disponibili in quel momento, o il fatto che impieghino troppo tempo a trovare un percorso e vadano in time out dopo un minuto. Nella comunità degli sviluppatori di Lightning sono in corso numerosi sforzi ingegneristici volti a migliorare questi problemi.

I fondi non vengono persi quando i pagamenti non vanno a buon fine, ma questo crea una brutta esperienza utente.

Lightning Network si basa in ultima analisi sulla blockchain sottostante, sia essa di Bitcoin o di altro tipo, per la sua sicurezza. Nel caso di Bitcoin, utilizza l'algoritmo proof-of-work sottostante che protegge l'intera rete per proteggere anche quest'ultima. La blockchain è l'arbitro finale, o in effetti un giudice automatico. Con Lightning, si sa sempre come deciderà il giudice, perché è pre-scritto nelle transazioni utilizzate per creare i canali di pagamento che compongono la rete Lightning. Si tratta di un giudice che non può essere ingannato o corrotto. In effetti, Lightning consente uno stato di "consenso locale", che in ultima analisi viene fatto rispettare dal "consenso globale" (la blockchain). Questo stato di consenso locale non ha una fiducia custodial simile a quella dei modelli tradizionali, in quanto ogni partecipante può chiudere unilateralmente e riscattare i propri fondi senza la cooperazione degli altri partecipanti. In definitiva, Lightning utilizza la blockchain sottostante come mezzo per regolare in batch le transazioni avvenute fuori dalla catena senza la fiducia della controparte.


aggiornato il 2022-12-30