Le transazioni Bitcoin non possono diventare definitive in pochi millisecondi. Competono per uno spazio limitato nei blocchi e, in media, un nuovo blocco viene minato solo ogni dieci minuti circa. Quindi, come può un pagamento Lightning raggiungere quasi all’istante un negozio dall’altra parte del mondo, con una commissione molto bassa?

La risposta non è una blockchain più veloce. I pagamenti Lightning non vengono scritti sulla blockchain di Bitcoin, almeno nella grande maggioranza dei casi.

Gli utenti Lightning bloccano invece bitcoin nei cosiddetti canali di pagamento e si scambiano aggiornamenti firmati che modificano chi può rivendicare quei fondi. Questi canali formano una rete, permettendo a un pagamento di passare attraverso più partecipanti anche quando mittente e destinatario non hanno un collegamento diretto.

Molti hanno già usato il Lightning network, ma pochi capiscono davvero come funziona. Analizziamola un pezzo alla volta.

Perché abbiamo bisogno di Lightning?

Ogni normale transazione Bitcoin deve essere trasmessa all'intera rete, verificata dai nodi, inclusa in un blocco e conservata per sempre nella blockchain. È proprio questo che rende Bitcoin verificabile in modo indipendente: chiunque può eseguire un nodo e verificare l'intera cronologia senza dover chiedere il permesso a una banca o a un intermediario di pagamento.

Questa caratteristica comporta però un limite voluto. Lo spazio disponibile nei blocchi è limitato, il che significa che non tutti nel mondo possono acquistare il caffè del mattino con una normale transazione Bitcoin. Semplicemente, non c'è abbastanza spazio. Aumentare la dimensione dei blocchi senza limiti farebbe crescere i requisiti di banda, potenza di calcolo e spazio di archiviazione necessari per eseguire un nodo, rendendo la verifica indipendente sempre più difficile.

Lightning adotta quindi un approccio diverso. Le transazioni Bitcoin restano il livello di regolamento (settlement layer), mentre i pagamenti ricorrenti avvengono su un secondo livello. Invece di chiedere all'intera rete Bitcoin di registrare ogni acquisto di un caffè, due partecipanti possono regolare tra loro un numero elevato di pagamenti e pubblicare sulla blockchain solo il risultato finale, quando necessario.

È importante tenere presente un aspetto: Lightning è Bitcoin. Rimane strettamente legato alla rete Bitcoin e non è una "nuova moneta". I pagamenti Lightning sono pagamenti in Bitcoin. Semplicemente utilizzano lo spazio limitato disponibile nei blocchi in modo più efficiente e con minore frequenza.

Un canale di pagamento nasce su Bitcoin

Immagina che Alice voglia utilizzare 0,001 BTC, ovvero 100.000 satoshi, per effettuare pagamenti Lightning. Per farlo, apre un canale con Bob creando una transazione Bitcoin che blocca quei fondi in un wallet controllato da entrambi i partecipanti del canale. Puoi immaginarlo come uno speciale wallet multisig 2 di 2, in cui sia Alice sia Bob possiedono una chiave e possono spendere i fondi solo congiuntamente.

Come vedremo più avanti, questo wallet multisig deve soddisfare alcune proprietà fondamentali affinché il canale di pagamento funzioni in modo sicuro e senza richiedere fiducia tra le parti. Per il momento, però, questi dettagli non sono importanti.

La transazione di finanziamento viene registrata sulla blockchain di Bitcoin. Una volta ottenuto un numero sufficiente di conferme, il canale può essere utilizzato per effettuare pagamenti.

All'inizio, il canale potrebbe presentarsi così, con l'intero saldo dalla parte di Alice, dato che è stata lei a creare la transazione di apertura:

  • Alice: 100.000 satoshi
  • Bob: 0 satoshi
  • Capacità totale: 100.000 satoshi

Ricorda che i bitcoin non hanno lasciato la blockchain. Si trovano semplicemente in un wallet diverso. Ciò che cambia durante la vita del canale è il modo in cui i due partecipanti concordano di poter spendere quei fondi. Vediamo un esempio.

I pagamenti sono accordi

Immagina un contratto di affitto per un appartamento in cui versi al proprietario un deposito cauzionale di 1.000 USD. Alla fine del contratto, il proprietario è tenuto a restituirti quei 1.000 USD.

Ora supponiamo che tu debba risarcire il proprietario per un mobile che hai danneggiato. Potresti inviargli un normale bonifico bancario o pagarlo in contanti. In alternativa, potreste semplicemente modificare il contratto di affitto, riducendo il deposito cauzionale a 900 USD. In questo modo gli avresti di fatto pagato 100 USD senza spostare denaro: è bastato aggiornare il contratto.

Questo è (più o meno) esattamente il modo in cui funziona un canale Lightning. I 1.000 USD di questo esempio rappresentano la capacità del canale e tu e il proprietario potreste "inviarvi" denaro tutte le volte che volete semplicemente aggiornando il contratto. Quando poi il contratto termina, vi limitate a regolare il saldo in base all'importo del deposito cauzionale concordato in quel momento.

Il contratto in Bitcoin

In Bitcoin non stiamo parlando di contratti di affitto, naturalmente, ma di transazioni. I due concetti, però, non sono così diversi: firmare una transazione Bitcoin è, dal punto di vista concettuale, molto simile a firmare un contratto.

Torniamo al nostro canale di pagamento. Supponiamo che Alice invii 20.000 satoshi a Bob. Non creano né trasmettono una normale transazione Bitcoin. I loro nodi Lightning costruiscono invece e firmano una nuova coppia di transazioni di regolamento (settlement transactions) che riflettono il saldo aggiornato:

  • Alice: 80.000 satoshi
  • Bob: 20.000 satoshi

Queste sono chiamate commitment transaction. Ciascun partecipante possiede una transazione valida che può pubblicare in qualsiasi momento per chiudere il canale e distribuire i fondi secondo l'ultimo saldo concordato. Le due versioni differiscono in alcuni dettagli, poiché ciascuna è progettata per essere pubblicata da uno dei due partecipanti, ma entrambe rappresentano lo stesso stato del canale.

Se in seguito Bob restituisce 5.000 satoshi ad Alice, i nodi creano un nuovo stato del canale e un nuovo insieme di transazioni non ancora pubblicate:

  • Alice: 85.000 satoshi
  • Bob: 15.000 satoshi

Ancora una volta, non viene trasmesso nulla alla rete Bitcoin. Alice e Bob hanno semplicemente sostituito il loro precedente accordo di regolamento con uno più aggiornato. Possono ripetere questo processo tutte le volte che vogliono, senza aspettare la creazione di un nuovo blocco e senza pagare commissioni di transazione. Proprio come nell'esempio del deposito cauzionale aggiornato nel contratto di affitto.

Questo è il primo concetto fondamentale da comprendere su Lightning: il saldo off-chain di un canale Lightning non è una voce registrata in un libro mastro globale come avviene per le normali transazioni. È invece rappresentato dall'ultima serie di transazioni Bitcoin firmate dai partecipanti del canale.

Rubare il saldo di un canale

A questo punto potresti chiederti perché Alice, ad esempio, non possa semplicemente pubblicare sulla rete Bitcoin un vecchio accordo di regolamento. Dopotutto, una transazione Bitcoin firmata rimane valida e, così facendo, potrebbe di fatto annullare i pagamenti effettuati a Bob o, in altre parole, appropriarsi dei suoi fondi.

Nell'esempio del contratto di affitto, sarebbe il sistema giudiziario, cioè un giudice, a risolvere la controversia tra proprietario e inquilino, facendo valere il contratto più recente firmato da entrambe le parti. In Bitcoin, però, la situazione è più complessa. Serve un meccanismo puramente tecnico, perché non esiste una terza parte fidata a cui affidarsi.

Ogni volta che il canale passa a un nuovo stato, entrambe le parti si scambiano informazioni che revocano quello precedente. Questo avviene in modo crittografico, rivelando una specifica chiave che l'altra parte può utilizzare in caso di tentativo di frode.

Se Alice prova a pubblicare una commitment transaction già revocata, cioè tenta di barare, il pagamento destinato a lei viene temporaneamente bloccato. Durante questo intervallo, Bob può utilizzare le informazioni di revoca per dimostrare che Alice ha pubblicato uno stato non più valido del canale e reclamare tutti i fondi che lei ha cercato di sottrarre.

Gli script utilizzati in queste transazioni sono in realtà più complessi, ma il principio è semplice: chi tenta di chiudere il canale utilizzando uno stato non aggiornato rischia di perdere l'intero saldo del canale. E non solo: perde anche la fiducia economica degli altri partecipanti alla rete, scoraggiandoli dall'aprire nuovi canali con lui.

Questo meccanismo di penalizzazione spiega anche perché un nodo Lightning non possa ignorare la blockchain per sempre. Bob deve essere in grado di rilevare la chiusura del canale con uno stato non aggiornato e reagire entro il periodo previsto per contestarla (dispute window). Il nodo non deve rimanere online ogni secondo della giornata, ma deve controllare la blockchain con sufficiente frequenza oppure delegare questo compito a un altro servizio, chiamato watchtower.

Questo è uno dei principali compromessi del Lightning network: per proteggere i tuoi fondi, devi continuare a tenerli sotto controllo.

I canali formano una rete

Come avrai intuito, il concetto di un singolo canale di pagamento, che consente di effettuare un numero arbitrario di pagamenti tra due partecipanti, può essere esteso a una rete di canali di pagamento interconnessi. In questo modo, è possibile effettuare un numero arbitrario di pagamenti tra molti più partecipanti.

Un canale tra Alice e Bob è utile, ma aprire un canale separato con ogni persona o negozio farebbe perdere gran parte dei vantaggi di Lightning. Bob potrebbe invece avere un altro canale aperto con Carol, che a sua volta ne ha uno con David.

In questo modo, Alice può inviare un pagamento a David instradandolo attraverso diversi canali:

Anche se Alice non ha un canale diretto con David, è possibile aggiornare tutti e tre i canali in modo che il valore venga trasferito da Alice a David:

  • Alice invia 1.000 sats a Bob.
  • Bob invia 1.000 sats a Carol.
  • Carol invia 1.000 sats a David.
  • Di fatto, David ha ricevuto 1.000 sats da Alice.

Bob e Carol inoltrano il pagamento utilizzando i bitcoin che hanno già disponibili sul lato corretto dei rispettivi canali. Per fornire questo servizio (cioè mettere a disposizione la propria liquidità e mantenere il nodo online) possono applicare una piccola commissione di instradamento (routing fee). È per questo che anche i pagamenti Lightning prevedono una commissione, seppur molto contenuta.

Purtroppo, però, la storia non finisce qui, perché a questo punto emerge un nuovo problema: Alice non dovrebbe pagare Bob se non ha la certezza che David riceverà il pagamento. Allo stesso modo, Bob non dovrebbe pagare Carol se il pagamento in arrivo da Alice non è garantito. E Carol non dovrebbe poter incassare il denaro di Bob senza completare il pagamento verso David.

Lightning risolve questo problema attraverso pagamenti condizionati.

Il segreto che collega ogni passaggio

Quando David crea una normale invoice Lightning, il suo wallet genera un segreto casuale. Questo segreto è chiamato preimage, un termine crittografico che indica semplicemente "il valore originale". Il wallet inserisce poi nella fattura Lightning l'impronta digitale (hash) di questa preimage.

Alice utilizza questo hash per creare una catena di Hashed Timelock Contracts (HTLC). In termini semplificati, ogni contratto stabilisce quanto segue:

Puoi riscuotere questo pagamento se riveli il segreto corrispondente a questo hash entro la scadenza. In caso contrario, il denaro torna al mittente.

Alice propone quindi un pagamento condizionato a Bob. Bob ne propone uno corrispondente a Carol e Carol ne propone uno a David. Le scadenze diventano progressivamente più brevi man mano che ci si avvicina al destinatario, così ogni nodo che inoltra il pagamento ha il tempo necessario per recuperare il pagamento ricevuto qualora uno dei passaggi successivi debba essere risolto sulla blockchain.

David conosce il segreto e può quindi rivelarlo per riscuotere il pagamento finale. Non appena Carol viene a conoscenza del segreto, può a sua volta riscuotere il pagamento da Bob. Bob può infine riscuotere quello da Alice. Lo stesso elemento di prova sblocca il pagamento a ritroso lungo l'intero percorso.

Se il percorso si interrompe o David non rivela mai il segreto, l'HTLC scade e le modifiche in sospeso vengono annullate o rimborsate. Questo rende il pagamento atomico: o viene completato con successo lungo tutto il percorso, oppure fallisce senza lasciare nessuno nella situazione di aver pagato il nodo successivo senza aver ricevuto nulla in cambio.

Nel normale funzionamento, tutto questo avviene tramite messaggi scambiati tra i nodi Lightning. Le transazioni HTLC sono importanti perché consentono a ogni partecipante di far rispettare l'esito del pagamento sulla blockchain di Bitcoin qualora la cooperazione tra le parti venga meno. In altre parole, tutti questi sofisticati contratti, supportati dalla crittografia per impedire qualsiasi tentativo di frode, non sono altro che transazioni Bitcoin firmate. Se qualcosa va storto, la transazione può essere pubblicata sulla blockchain di Bitcoin e i fondi tornano a chi ne ha diritto.

Come si chiude un canale

Proprio come un contratto di affitto, anche un canale Lightning non rimane aperto per sempre. Esistono due modi principali per chiuderlo.

  • In una chiusura cooperativa, entrambi i partecipanti concordano il saldo finale e firmano una transazione di chiusura. È generalmente la soluzione più semplice ed economica. Una volta confermata la transazione, ciascun partecipante torna ad avere il controllo della propria quota direttamente sulla blockchain. Restando nell'analogia del contratto di affitto, è come se inquilino e proprietario si accordassero semplicemente sull'importo finale del deposito cauzionale da restituire.
  • In una chiusura unilaterale, invece, uno dei partecipanti pubblica la propria commitment transaction più recente senza la collaborazione dell'altra parte. Questa procedura è nota anche come force close. Si tratta di una funzione di sicurezza fondamentale: nessuna delle due parti può trattenere in ostaggio i bitcoin dell'altra semplicemente andando offline o rifiutandosi di firmare.

Una chiusura unilaterale è più lenta e può risultare più costosa. I timelock devono scadere e gli HTLC non ancora risolti possono richiedere ulteriori transazioni sulla blockchain. Tuttavia, finché l'utente conserva l'ultimo stato valido del canale e monitora la blockchain quando necessario, il protocollo garantisce sempre una via d'uscita unilaterale, applicata direttamente dalla rete Bitcoin.

Questo è il fondamento del modello di sicurezza di Lightning. I partecipanti collaborano per ottenere velocità, ma non devono fidarsi l'uno dell'altro per la custodia dei fondi. In caso di disaccordo, è la rete Bitcoin a fungere da arbitro finale, proprio come il giudice nell'esempio del contratto di affitto.

Abbiamo così analizzato gli elementi fondamentali di un pagamento sulla rete Lightning. Naturalmente ci sarebbero molti altri aspetti da approfondire: come fa un nodo a trovare un percorso attraverso la rete? Esistono meccanismi di penalizzazione diversi e come si confrontano tra loro? Come si possono superare i limiti di liquidità? Per il momento, però, fermiamoci ai concetti essenziali.

Il ruolo di un hardware wallet

Un hardware wallet e un wallet Lightning risolvono problemi completamente diversi.

BitBox è progettato per custodire in sicurezza le tue chiavi private nel lungo periodo e richiede che ogni transazione venga verificata e confermata nel display. Questo è ideale per la sicurezza, ma poco pratico per Lightning: ogni volta che viene inviato o ricevuto un pagamento, è necessario firmare un nuovo stato del canale in coordinamento con gli altri nodi Lightning. A meno che tu non voglia passare le giornate accanto al tuo hardware wallet, pronto a confermare ogni pagamento in arrivo.

Per molti utenti, la soluzione più pratica è quindi simile a quella di un conto di risparmio e di un portafoglio: conservare importi più elevati in cold storage su un hardware wallet e trasferire solo una piccola somma destinata alle spese quotidiane in un wallet Lightning non-custodial. In questo modo si limita l'importo esposto nel caso in cui lo smartphone, il computer o il wallet Lightning vengano compromessi, mantenendo al tempo stesso la comodità dei pagamenti istantanei.

Anche su Lightning, la self-custody resta fondamentale. Prima di scegliere un wallet, verifica se controlli personalmente le chiavi private, come funziona il recupero, chi gestisce i canali e cosa succede se il provider del wallet smette di esistere. Un wallet Lightning descrive una tecnologia di pagamento, non un modello di sicurezza universale.

Stiamo inoltre lavorando attivamente all'integrazione di un wallet Lightning nella BitBoxApp, per offrire un'esperienza fluida tra queste due diverse filosofie di wallet. Anche in questo scenario, l'hardware wallet continuerà a svolgere un ruolo importante, derivando le chiavi private del wallet Lightning dal proprio backup, così da evitare la necessità di gestire un backup separato per il wallet Lightning.

Conclusione

Il Lightning network non è una parte separata di Bitcoin e non rappresenta una scorciatoia per aggirarne le regole. È una rete di canali di pagamento supportata da vere transazioni Bitcoin.

I partecipanti ai canali aggiornano transazioni firmate invece di trasmettere ogni singolo pagamento alla rete. I meccanismi di revoca impediscono che una delle due parti possa barare, mentre complessi script Bitcoin collegano più canali tra loro, garantendo che un pagamento instradato venga completato con successo lungo tutto il percorso oppure fallisca in modo sicuro.

È questo che permette a Lightning di offrire pagamenti praticamente istantanei senza fare affidamento su un intermediario centralizzato. La sua velocità deriva dallo spostare le operazioni di routine off-chain, mentre la sua sicurezza deriva dal mantenere sempre una via di ritorno alla blockchain di Bitcoin. Il risultato è una soluzione ideale per i pagamenti quotidiani, a patto che gli utenti comprendano i compromessi legati a liquidità, disponibilità, backup e ai rischi dei wallet hot.

Per conservare bitcoin nel lungo periodo, il cold storage rimarrà generalmente la scelta migliore. Per pagamenti frequenti e di piccolo importo, Lightning rappresenta un complemento ideale, non un sostituto, del livello principale di Bitcoin.


Non hai ancora un BitBox?

Mantenere le tue criptovalute al sicuro non deve essere complicato. Gli hardware wallet BitBox conservano le chiavi private delle tue criptovalute offline, così puoi gestire i tuoi fondi in modo sicuro.

Sia il BitBox02 Nova che il BitBox02 sono disponibili anche in una versione dedicata solo a Bitcoin, con un firmware radicalmente ottimizzato: meno codice significa meno punti vulnerabili, migliorando ulteriormente la sicurezza quando conservi solo Bitcoin.

Ordina il BitBox02 Nova o il BitBox02 nel nostro shop!


Shift Crypto è un'azienda privata con sede a Zurigo, in Svizzera. Il nostro team di contributori di Bitcoin, esperti di criptovalute e ingegneri della sicurezza crea prodotti che consentono ai clienti di godere di un percorso senza stress dal livello principiante a quello di padronanza nella gestione delle criptovalute. BitBox02, il nostro hardware wallet di seconda generazione, consente agli utenti di memorizzare, proteggere e effettuare transazioni in Bitcoin e altre criptovalute con facilità - insieme al suo compagno software, la BitBoxApp.