Informazione
Approfondimenti
Cultura Bitcoin
Gruppo ufficiale

Canali e liquidità sul campo

Un canale Lightning ha liquidità in uscita e in entrata. Come si scelgono le controparti, come si apre il primo canale su Umbrel, come si ottiene liquidità in entrata e come si chiude un canale.

Il capitolo in breve

Capitolo
3 di 4
Livello
Avanzato
Lettura
6 min
Domande
5

Nel capitolo precedente abbiamo messo al sicuro seed e backup dei canali e configurato una watchtower. Ora possiamo mettere i primi fondi nel nodo e aprire un canale.

Il canale e la sua liquidità

Un canale nasce da una transazione on-chain, la transazione di apertura, che blocca i fondi in un output controllato insieme dai due nodi: per spenderlo servono le firme di entrambi. Chi apre il canale lo finanzia di solito da solo, e all’inizio tutti i fondi stanno dal suo lato.

I fondi che stanno dal tuo lato sono la liquidità in uscita: ti servono per pagare. Quelli che stanno dal lato della controparte sono la liquidità in entrata: ti servono per ricevere. Ogni pagamento sposta fondi da un lato all’altro senza cambiare la capacità totale del canale: quando paghi, la tua liquidità in uscita diminuisce e quella in entrata aumenta dello stesso importo; quando ricevi accade il contrario. Un canale appena aperto da te, quindi, permette di pagare ma non di ricevere.

Non tutta la liquidità in uscita è spendibile. Le specifiche del protocollo (BOLT 2) prevedono che ciascuna delle due parti tenga nel canale una riserva che non può spendere, perché abbia sempre qualcosa da perdere se pubblicasse uno stato vecchio; le specifiche suggeriscono l’1% della capacità. Chi ha aperto il canale paga inoltre le commissioni della transazione che rappresenta lo stato del canale, e anche queste riducono l’importo spendibile.

Scegliere le controparti

La capacità di pagare dipende da chi sono le tue controparti e da quanto sono collegate al resto della rete. Il corso di Plan ₿ indica quattro criteri: un nodo ben collegato, con una capacità complessiva adeguata, commissioni moderate e una storia di disponibilità continua e di canali aperti da tempo. Per valutarli si usano gli explorer Lightning, come Amboss e 1ML.

Mastering Lightning Network consiglia di aprire più di un canale, per non dipendere da una sola controparte, ma non troppi, e di non aprirli troppo piccoli, perché aprire e chiudere un canale costa una commissione on-chain ogni volta. Grazie ai pagamenti in più parti, un pagamento grande può usare insieme la capacità di più canali. Il manuale sconsiglia di scegliere i nodi più grandi, perché concentrano la rete, e indica i nodi attivi da più di un anno come più affidabili di quelli appena nati. Un’altra possibilità è aprire un canale verso un commerciante da cui si compra spesso: il suo identificativo di nodo si trova nell’invoice.

Aprire il primo canale su Umbrel

Nell’app Lightning Node, il pulsante Deposit del wallet on-chain genera un indirizzo di ricezione. Il corso di Plan ₿ indica di inviare un po’ più della capacità che si vuole dare al canale, perché la transazione di apertura ha una sua commissione: per un canale da 500.000 sat, per esempio, si invia un importo maggiore. Quando il deposito è confermato, accanto compare una freccia verde.

Poi si preme Open Channel, si inserisce l’identificativo del nodo scelto, si indica l’importo da bloccare nel canale, si regola la commissione della transazione di apertura e si conferma. Il canale diventa utilizzabile dopo il numero di conferme richiesto dalla controparte. A quel punto l’app mostra tutta la liquidità dal tuo lato.

L’apertura aggiorna il backup dei canali: su Umbrel la copia cifrata viene caricata in automatico, e chi conserva anche una copia propria del file channel.backup deve scaricarla di nuovo, come visto nel capitolo precedente.

Ottenere liquidità in entrata

Per ricevere serve liquidità dal lato delle controparti. Mastering Lightning Network osserva che ottenerla è più difficile che ottenere liquidità in uscita, soprattutto per chi vende e incassa più di quanto spende. I modi sono diversi:

  • spendere: ogni pagamento sposta fondi verso la controparte e crea spazio per ricevere;
  • chiedere a un altro nodo di aprire un canale verso il tuo, offrendosi di fare lo stesso;
  • partecipare a un’apertura collaborativa, come quelle organizzate da LightningNetwork+, in cui più nodi aprono canali l’uno verso l’altro e ciascuno ottiene liquidità in uscita e in entrata;
  • pagare un servizio che apre un canale verso il tuo nodo;
  • usare uno swap, come Loop Out di Lightning Labs, che richiede LND: si invia un pagamento Lightning e si ricevono in cambio bitcoin on-chain, e la liquidità passa dal lato della controparte.

Lo swap non richiede di fidarsi del servizio: il manuale lo descrive come un’operazione atomica, in cui il pagamento on-chain dipende dal completamento di quello Lightning e viceversa, e ha un costo in commissioni.

Ribilanciare i canali

Con l’uso, la liquidità di un canale può finire tutta da un lato. Il manuale descrive tre modi per riequilibrarla: uno swap come Loop Out; attendere pagamenti che attraversino il canale nella direzione opposta; oppure un pagamento circolare, che parte dal tuo nodo attraverso un canale con molta liquidità in uscita e torna al tuo nodo attraverso un canale con molta liquidità in entrata, riequilibrandoli entrambi al costo delle commissioni di inoltro. Il pagamento circolare è supportato dalla maggior parte delle implementazioni.

Su Umbrel si possono installare dall’app store gestori del nodo come ThunderHub e Ride The Lightning. ThunderHub mostra i canali aperti, in apertura e chiusi con la distribuzione della liquidità, permette di modificare le commissioni di ciascun canale e offre strumenti per il ribilanciamento.

Chiudere un canale

La chiusura cooperativa è la via ordinaria: i due nodi concordano una transazione di chiusura che assegna a ciascuno il proprio saldo; in ThunderHub, chi avvia la chiusura cooperativa sceglie la commissione on-chain. La chiusura forzata serve quando la controparte è offline, non risponde o la trattativa per la chiusura cooperativa si blocca: il nodo pubblica da solo l’ultimo stato del canale.

La chiusura forzata ha due svantaggi. Le commissioni sono spesso alte, e i fondi di chi l’ha avviata restano bloccati da un timelock per un numero di blocchi stabilito all’apertura del canale, mentre la controparte, nei canali con output anchor, aspetta un solo blocco. Gli output anchor permettono anche di aumentare la commissione della transazione di chiusura se resta ferma.

I fondi di un canale chiuso tornano nel wallet on-chain del nodo, che resta un hot wallet: per metterli in un cold wallet serve un’altra transazione on-chain.

Con i canali aperti e la liquidità in entrata e in uscita, il nodo può pagare e ricevere. Nel prossimo capitolo, Pagare e ricevere in piena autonomia, vediamo come si ricevono e si inviano i pagamenti e come si impostano le commissioni di inoltro.

Test del capitolo

5 domande su quello che hai appena letto: tocca una domanda per aprirla. Le risposte sono tutte nel capitolo: se una non torna, il riscontro ti dice dove rileggere.

  1. Perché un canale appena aperto da te permette di pagare ma non di ricevere?