Contenuti
- Introduzione
- Cos'è il Lightning Network?
- Perché il Lightning Network è necessario?
- Come funziona il Lightning Network?
- Limiti del Lightning Network
- Lo stato attuale del Lightning Network
- In chiusura
Introduzione
Cos'è il Lightning Network?
Ciò che in realtà stai facendo con la tua prima transazione è creare una sorta di smart contract con un altro utente. Entreremo nei dettagli tra poco – per ora, pensa a uno smart contract che conserva un registro privato con l'altro utente. Puoi scrivere molte transazioni in questo registro. Sono visibili soltanto a te e alla tua controparte, ma nessuno di voi può ingannare l'altro grazie ad alcune caratteristiche speciali della configurazione.
In qualsiasi momento, uno dei due può pubblicare lo stato corrente del canale nella blockchain. A quel punto, i saldi di ciascuna parte del canale verranno allocati on-chain ai rispettivi partecipanti.
Perché il Lightning Network è necessario?
Quando sposti questa sperimentazione lontana dalla blockchain, hai molta più flessibilità. Se qualcosa va storto, non avrà alcun impatto sul network di Bitcoin. Le soluzioni layer two non compromettono nessuno dei presupposti di sicurezza che hanno mandato avanti il protocollo per 10+ anni.
Inoltre, nessuno è obbligato a smettere di fare le cose alla vecchia maniera. Le transazioni on-chain continuano a funzionare come sempre per l'utente, e ora si aggiunge anche l'opzione di scambiare valore off-chain.
Ci sono diversi vantaggi che derivano dall'uso del Lightning Network. Di seguito ne descriveremo alcuni tra i più importanti.
Scalabilità

Commissione Media per Transazione Bitcoin (in USD)
Potrebbe sembrare insignificante per transazioni che spostano migliaia di dollari in Bitcoin, ma per i pagamenti più piccoli non è sostenibile. Chi sarebbe disposto a pagare un caffè da $3 con una commissione da 5$?
Con il Lightning Network, paghi comunque due commissioni – una per aprire il tuo canale, e un'altra per chiuderlo. Tuttavia, tu e la tua controparte potete effettuare migliaia di transazioni gratuitamente una volta che il canale è aperto. Dopodiché, dovete solo pubblicare lo stato finale sulla blockchain.
Nello schema generale, se più utenti si affidano a soluzioni off-chain come il Lightning Network, lo spazio nei blocchi verrà usato in modo più efficiente. I trasferimenti di basso valore e alta frequenza possono essere eseguiti nei canali di pagamento, mentre lo spazio nei blocchi viene usato per transazioni più grandi e per l'apertura/chiusura dei canali. Questo renderebbe il sistema accessibile a una base di utenti notevolmente più ampia, provvedendo alla scalabilità nel lungo termine.
Micropagamenti
Lightning è molto più attraente per i micropagamenti. Le commissioni sulle transazioni regolari rendono impraticabile lo scambio di somme minime sulla main chain. In un canale, invece, sei libero di inviare una frazione di una frazione di un Bitcoin gratuitamente.
I micropagamenti sono presenti in una lunga serie di casi d'uso. Alcuni ipotizzano che potrebbero essere un valido sostituto per i modelli basati su abbonamento, in cui gli utenti pagano invece somme minuscole ogni volta che usano un servizio.
Privacy
Se Alice ha un canale con Bob e Bob ha un canale con Carol, Alice e Carol possono inviarsi pagamenti tramite Bob. Se Dan è collegato a Carol, Alice può inviare pagamenti a lui. Puoi immaginare come questo si espanda in un vasto network di canali di pagamento interconnessi. In una configurazione del genere, non puoi affermare con certezza dove sono finiti i fondi di Alice una volta chiuso il canale.
Come funziona il Lightning Network?
Abbiamo spiegato come il Lightning Network si basa, sostanzialmente, su canali tra nodi. Ora diamo un'occhiata a come funziona nello specifico.
Indirizzi multifirma
Questo inizia con entrambi che depositano, diciamo, 3 BTC nell'indirizzo multifirma controllato congiuntamente. E' importante ribadire che Bob non può spostare fondi dall'indirizzo senza che Alice sia d'accordo, o viceversa.
Ora, potrebbero semplicemente usare un foglio di carta e regolare i saldi per ogni parte. Entrambi hanno un saldo iniziale di 3 BTC. Se Alice vuole effettuare un pagamento di 1 BTC a Bob, perché non prendere nota che Alice ora possiede 2 BTC e Bob possiede 4 BTC? I saldi potrebbero essere registrati in questo modo fino a quando non decidono di spostare i fondi fuori dal Lightning Network.
E' possibile, ma dove sta il divertimento? Più importante, questo metodo non rende incredibilmente facile non collaborare? Se Alice finisce col possedere 6 BTC e Bob zero, Bob non perde nulla rifiutando di rilasciare i fondi (eccetto, forse, la sua amicizia con Alice).
Hash Timelock Contract (HTLC)
Il sistema che abbiamo descritto sopra è noioso e non offre niente di nuovo rispetto alle configurazioni trusted che usiamo già oggi. Le cose si fanno molto più interessanti quando introduciamo un meccanismo che fa rispettare il “contratto” tra Alice e Bob. Se una delle parti decide di non seguire le regole, l'altra ha comunque un rimedio per togliere i propri fondi dal canale.
Gli HTLC sono creati combinando haslock e timelock. In pratica, gli HTLC possono essere usati per creare pagamenti condizionali – il ricevente deve fornire un segreto prima di un certo tempo, o il mittente può reclamare i fondi. La parte successiva è probabilmente meglio spiegata con un esempio, quindi torniamo ad Alice e Bob.
Apertura e chiusura dei canali
Abbiamo fatto l'esempio di Alice e Bob che creano transazioni per finanziare l'indirizzo multifirma che condivideranno. Ma queste transazioni non sono ancora pubblicate sulla blockchain! Prima abbiamo bisogno di un'altra cosa.

Tre monete da Bob e tre monete da Alice.
Potrebbe provare a trasmettere subito la transazione, ma questa non sarebbe valida in quanto Bob non ha incluso la sua firma. Alice deve prima dare a Bob la transazione incompleta. Una volta che lui aggiunge la sua firma, diventa valida.
Non abbiamo ancora messo in atto un meccanismo per far sì che tutti si comportino onestamente. Come abbiamo detto in precedenza, se la tua controparte si rifiuta di collaborare, i tuoi fondi sono a tutti gli effetti intrappolati. Andiamo a illustrare il meccanismo che previene questa situazione. Ci sono diversi pezzi in movimento, quindi abbi pazienza.
Ciascun partecipante deve inventarsi un segreto – chiamiamoli A e B. Sarebbero segreti pessimi se Alice e Bob li rivelassero, quindi devono tenerli nascosti per ora. La coppia genererà le hash dei rispettivi segreti – h(A) e h(B). Quindi, invece di condividere i loro segreti, condividono le hash l'uno con l'altra.

Alice e Bob condividono le hash dei propri segreti tra loro.
Se pensi a un canale come il mini-registro a cui abbiamo fatto riferimento prima, le transazioni di impegno sono gli aggiornamenti che fai al registro. Ogni volta che crei una nuova coppia di transazioni di impegno, stai ribilanciando i fondi tra i due partecipanti.

La transazione di Alice con due output – uno al suo stesso indirizzo, e uno a un nuovo multisig. Ha ancora bisogno della firma di Bob per renderla valida.
Bob fa lo stesso – un output paga sé stesso, l'altro paga un altro indirizzo multisig. La firma e la dà ad Alice.

Ora abbiamo due transazioni incomplete molto simili tra loro.
I nuovi indirizzi multifirma (dove sono destinati gli output da 3 BTC) hanno alcune proprietà singolari. Diamo un'occhiata alla transazione incompleta che Alice ha firmato e dato a Bob. L'output multisig può essere speso nelle seguenti condizioni:
- Entrambe le parti possono firmarla in collaborazione.
- Bob può spenderla da solo dopo un determinato periodo di tempo (a causa della nostra timelock).
- Alice può spenderla se conosce il segreto di Bob, B.
Per la transazione che Bob ha dato ad Alice:
- Entrambe le parti possono firmarla in collaborazione.
- Alice può spenderla da sola dopo un determinato periodo di tempo.
- Bob può spenderla se conosce il segreto di Alice, A.
Tieni presente che nessuna delle due parti conosce il segreto dell'altra, quindi 3) non è ancora una possibilità. Un altro fattore da considerare è che, se firmi una transazione, la tua controparte può spenderla immediatamente in quanto non ci sono condizioni speciali sul suo output. Puoi aspettare che la timelock scada per spendere i fondi da solo, oppure collaborare con l'altra parte per spenderli subito.
Ok! Ora puoi pubblicare le transazioni verso l'indirizzo multifirma 2-di-2 originale. E' finalmente sicuro, dato che puoi recuperare i tuoi fondi nel caso in cui la tua controparte abbandoni il canale.
Una volta confermate le transazioni, il canale è attivo. La prima coppia di transazioni ci mostra lo stato attuale del mini-registro. Attualmente, pagherà 3 BTC a Bob e 3 BTC ad Alice.
Quando Alice vuole effettuare un nuovo pagamento a Bob, la coppia crea due nuove transazioni per sostituire il primo set. Il metodo è lo stesso – sono firmate solo a metà. Tuttavia, Alice e Bob devono prima abbandonare i vecchi segreti e scambiare nuove hash per il prossimo giro di transazioni.

Se Alice vuole pagare 1 BTC a Bob, per esempio, le due nuove transazioni accrediteranno 2 BTC ad Alice e 4 BTC a Bob. In questo modo, il saldo viene aggiornato.
Entrambe le parti possono firmare e trasmettere una delle transazioni più recenti in qualsiasi momento per “regolarla” sulla blockchain. Tuttavia, la parte che lo fa dovrà aspettare fino alla scadenza della timelock, mentre l'altra potrà spendere immediatamente. Ricorda, se Bob firma e trasmette la transazione di Alice, ora lei ha un output senza condizioni.
Vuoi iniziare con le criptovalute? Compra Bitcoin su Binance!
In che modo il Lightning Network previene le frodi?
Alice riceve la sua moneta immediatamente. Bob, invece, deve aspettare che la timelock scada per spendere dall'indirizzo multifirma. Ricordi l'altra condizione di cui abbiamo parlato che permette ad Alice di spendere gli stessi fondi immediatamente? Ha bisogno di un segreto che allora non aveva, ma ora ce l'ha – non appena il secondo giro di transazioni è stato creato, Bob ha rivelato quel segreto.
Mentre Bob aspetta, senza poter fare nulla fino a quando non scade la timelock, Alice può spostare quei fondi. Questo meccanismo punitivo significa che ci sono poche probabilità che i partecipanti cerchino di imbrogliare, perché la controparte avrà accesso alle loro monete.
Routing dei pagamenti
Abbiamo già accennato a questo argomento – i canali possono essere connessi. Altrimenti il Lightning Network non sarebbe molto utile per i pagamenti. Saresti davvero disposto a bloccare $500 in un canale con un bar solo per poter pagare il caffè quotidiano per i prossimi mesi?
Non sei costretto a farlo. Se Alice apre un canale con Bob e Bob ne ha già uno con Carol, Bob può reindirizzare i pagamenti tra Alice e Carol. Questo funziona attraverso diversi “salti”, quindi Alice può di fatto pagare chiunque sia collegato tramite un percorso.

In questo scenario, Alice può scegliere diversi percorsi per arrivare a Frank. In pratica, sceglierà sempre il più facile.
Per il loro ruolo nel routing, gli intermediari potrebbero prendere una piccola commissione (anche se non c'è alcun obbligo). Il Lightning Network è ancora nuovo, quindi deve ancora materializzarsi un mercato delle commissioni. Molti si aspettano di vedere in futuro commissioni basate sulla liquidità fornita.
Sulla catena di base, la commissione si basa esclusivamente sullo spazio che la tua transazione occupa in un blocco – il valore trasmesso non importa – pagamenti da $1 e $10.000.000 hanno lo stesso costo. Al contrario, il concetto di spazio nel blocco non esiste all'interno del Lightning Network.

I saldi degli utenti prima e dopo un trasferimento di 0,3 BTC da Alice a Frank.
Se Alice vuole inviare 0,3 BTC a Frank, spinge 0,3 BTC verso il lato di Carol del canale. Quindi Carol spinge 0,3 BTC dal proprio saldo locale verso il canale con Frank. Di conseguenza, il saldo di Carol rimane lo stesso: il +0,3 BTC da Alice e il -0,3 BTC a Frank si annullano a vicenda.
Carol non sta perdendo valore agendo come collegamento con Frank, ma si sta rendendo meno flessibile. Infatti, ora può spendere 0,6 BTC nel suo canale con Alice, ma solo 0,1 BTC nel canale con Frank.
Puoi immaginare una situazione in cui Alice è collegata soltanto a Carol, mentre Frank è connesso a un network molto più vasto. Prima, Carol poteva inviare un totale di 0,4 BTC agli altri tramite Frank, mentre ora può spingere solo 0,1 BTC dato che questo è tutto quello che ha nella sua estremità del canale.
Come menzionato prima, l'applicazione di una commissione non è un requisito effettivo. Qualcuno potrebbe non avere problemi con la riduzione di liquidità. Altri potrebbero semplicemente aprire canali direttamente con il destinatario.
Limiti del Lightning Network
Sarebbe fantastico se il Lightning Network si dimostrasse la soluzione a tutti i problemi di scalabilità di Bitcoin. Sfortunatamente, presenta delle lacune che potrebbero essere d'ostacolo.
Usabilità
Per ora, questo non è possibile con il Lightning Network. Le opzioni sono limitate quando si tratta di app per smartphone – in genere, i nodi Lightning richiedono l'accesso a un nodo Bitcoin per essere utilizzabili integralmente.
Dopo la configurazione di un client, gli utenti devono anche iniziare a aprire canali prima di poter effettuare pagamenti. Questo può rivelarsi un processo lungo, e potrebbe essere troppo per un principiante che ha appena scoperto i concetti di capacità in entrata/in uscita.
Detto questo, nuovi miglioramenti vengono apportati costantemente per ridurre gli ostacoli all'accesso, e per fornire agli utenti un'esperienza più fluida.
Liquidità
Una delle critiche principali del Lightning Network è che la tua capacità di transazione è limitata. Non puoi spendere più di quanto hai bloccato in un canale. Se spendi tutti i tuoi fondi in modo che il saldo remoto abbia tutti i fondi del canale, dovrai chiudere il canale. In alternativa, puoi aspettare che qualcuno ti paghi utilizzando il canale, ma questa opzione non è ideale.
Hub centralizzati
A causa del problema menzionato nella sezione precedente, ci sono dei dubbi sulla possibilità della creazione di enormi “hub” nel network, ovvero grandi entità con numerosi collegamenti e una notevole liquidità. Qualsiasi pagamento significativo finirebbe per passare da una o più di queste entità.
Ovviamente, questa situazione non sarebbe ottimale. Indebolirebbe il sistema, considerando che se queste entità andassero offline sconvolgerebbero le relazioni tra i peer. Viene inoltre introdotto un maggiore rischio di censura dato che ci sono solo pochi punti attraverso cui passano le transazioni.
Lo stato attuale del Lightning Network
Ad Aprile 2020, il Lightning Network sembra essere in salute. Conta più di 12.000 nodi online, 30.000+ canali attivi, e poco più di 920 BTC in capacità.

Distribuzione globale di nodi Lightning Network. Fonte: explorer.acinq.co
In chiusura
Ci sono ancora alcuni ostacoli relativi all'usabilità da superare, poiché al momento l'operazione di un nodo Lightning richiede un certo livello di competenza tecnica. Con il grande sviluppo in atto, però, potremmo assistere alla riduzione degli ostacoli all'accesso nel corso del tempo.
Se i suoi problemi possono essere risolti, il Lightning Network potrebbe diventare parte integrante dell'ecosistema di Bitcoin, aumentando notevolmente la scalabilità e le velocità delle transazioni.