La rete Lightning è un’infrastruttura di pagamento di secondo livello, costruita sulla rete Bitcoin, che consente transazioni veloci e a basso costo. Per comprendere appieno come funziona la rete Lightning, è essenziale capire cosa sono i canali di pagamento e come funzionano.

Cos’è un Canale di Pagamento?

Un canale di pagamento su Lightning è una sorta di “strada privata” tra due utenti, che consente transazioni Bitcoin veloci e ripetitive. Quando un canale viene aperto, ha una capacità fissa, che è definita in anticipo dagli utenti. Questa capacità rappresenta l’importo massimo di Bitcoin che può essere trasmesso nel canale in un determinato momento.

Caratteristiche Principali

  • I canali sono bidirezionali
  • Hanno una capacità fissa predefinita
  • Permettono transazioni veloci e ripetitive
  • Non richiedono conferme sulla blockchain per ogni transazione

Come Funzionano i Canali di Pagamento?

I canali di pagamento sono bidirezionali, il che significa che hanno due “lati”. Ad esempio, se Alice e Bob aprono un canale di pagamento, Alice può inviare Bitcoin a Bob e Bob può inviare Bitcoin ad Alice. Le transazioni all’interno del canale non modificano la capacità totale del canale, ma modificano la ripartizione di questa capacità tra i partecipanti.

Requisiti per le Transazioni

Perché una transazione sia possibile in un canale di pagamento Lightning, l’utente che invia i fondi deve avere abbastanza Bitcoin dal suo lato del canale. Se Alice vuole inviare 1 Bitcoin a Bob attraverso il loro canale, deve avere almeno 1 Bitcoin dal suo lato del canale.

Limiti e Potenzialità

Anche se la capacità di un canale di pagamento Lightning è fissa, ciò non limita il numero totale di transazioni o il volume totale di Bitcoin che possono essere trasmessi attraverso il canale. Ad esempio, se Alice e Bob hanno un canale con una capacità di 1 Bitcoin, possono effettuare:

  • Centinaia di transazioni da 0,01 Bitcoin
  • Migliaia di transazioni da 0,001 Bitcoin
  • Qualsiasi combinazione di importi che non superi la capacità totale del canale

Esempio Pratico

Ecco un esempio concreto di come funziona un canale di pagamento:

Stato iniziale del canale:

  • Alice: 100.000 SAT
  • Bob: 30.000 SAT

Dopo una transazione di 40.000 SAT da Alice a Bob:

  • Alice: 60.000 SAT
  • Bob: 70.000 SAT

Bitcoin: Indirizzi, UTXO e Transazioni

In questo capitolo, esploreremo il funzionamento delle transazioni Bitcoin, un concetto fondamentale per comprendere la Lightning Network. Analizzeremo anche gli indirizzi multi-firma, elemento essenziale per l’apertura dei canali Lightning.

La Catena delle Chiavi

Il processo di transazione Bitcoin si basa su una catena di elementi crittografici:

Chiave Privata → Chiave Pubblica → Indirizzo

Durante una transazione:

  1. Bob fornisce un indirizzo (derivato dalla sua chiave pubblica)
  2. Alice, che ha ricevuto bitcoin su un suo indirizzo, usa la sua chiave privata per:
    • Firmare la transazione
    • Sbloccare i bitcoin dell’indirizzo

UTXO: Unspent Transaction Output

In Bitcoin, ogni transazione deve muovere tutti i bitcoin disponibili. Gli UTXO (Unspent Transaction Output) rappresentano questi “pezzi” di bitcoin che devono essere completamente utilizzati in ogni transazione.

Esempio di Transazione UTXO

Situazione iniziale:

  • Alice possiede 0,002 BTC
  • Bob possiede 0 BTC

Quando Alice decide di inviare 0,0015 BTC a Bob:

  1. Alice firma una transazione per l’intero ammontare (0,002 BTC)
  2. 0,0015 BTC vengono inviati a Bob
  3. 0,0005 BTC tornano ad Alice come nuovo UTXO

Rappresentazione grafica:

Alice (0,002 BTC)
  |
  V
Transazione Bitcoin (0,002 BTC)
  |
  |----> Bob (0,0015 BTC)
  |
  V
Alice (nuovo UTXO: 0,0005 BTC)

Firme Multiple in Lightning Network

La Lightning Network utilizza un sistema di firme multiple (multisig) con caratteristiche specifiche:

Caratteristiche Principali

  • Richiede 2 firme per sbloccare i fondi
  • Entrambe le parti (es. Alice e Bob) devono approvare lo spostamento dei fondi
  • Utilizza transazioni 2/2 (sono necessarie entrambe le firme)

Differenze con Altri Sistemi Multisig

  • Le transazioni 2/2 di Lightning sono diverse da altri schemi multisig come:
    • 2/3 (due firme qualsiasi su tre possibili)
    • 3/5 (tre firme qualsiasi su cinque possibili)

Importanza in Lightning Network

Questo sistema garantisce che:

  • Nessuna parte può spostare i fondi unilateralmente
  • Entrambi i partecipanti devono cooperare per qualsiasi movimento di fondi
  • Maggiore sicurezza nelle transazioni del canale

Apertura di un Canale Lightning Network

Livelli di Comunicazione

Lightning Network opera su diversi livelli di comunicazione:

  1. Comunicazione p2p (protocollo Lightning Network)
  2. Canale di pagamento (protocollo Lightning Network)
  3. Transazione Bitcoin (protocollo Bitcoin)

Processo di Apertura del Canale

1. Comunicazione Iniziale

I nodi stabiliscono un dialogo iniziale:

Alice: "Ciao, voglio aprire un canale!"
Bob: "Ok, ecco il mio indirizzo pubblico."

2. Creazione dell’Indirizzo Multi-firma

  • Alice riceve l’indirizzo pubblico di Bob
  • Utilizza entrambi gli indirizzi pubblici (suo e di Bob)
  • Crea un indirizzo multi-sig 2/2

3. Transazione di Finanziamento

Esempio con Alice che possiede un UTXO di 0,002 BTC e vuole aprire un canale di 0,0013 BTC:

La transazione crea due nuovi UTXO:

  • 0,0013 BTC → indirizzo multi-sig 2/2
  • 0,0007 BTC → indirizzo di cambio di Alice
UTXO Iniziale (Alice)
    0,002 BTC
        |
        V
Transazione di Finanziamento
        |
        |-----> Multi-sig 2/2 (0,0013 BTC)
        |
        -----> Cambio Alice (0,0007 BTC)

4. Protezione dei Fondi

Per garantire la sicurezza dei fondi, Alice segue questi passaggi:

  1. Prima della Pubblicazione:
    • Crea una “transazione di ritiro”
    • Questa transazione spende i fondi dall’indirizzo multi-sig verso un suo indirizzo
  2. Processo di Sicurezza:
    • Alice prepara entrambe le transazioni (finanziamento e ritiro)
    • Contatta Bob per la firma
    • Spiega che è una misura di sicurezza
    • Bob firma con la sua chiave pubblica
    • Alice ottiene la capacità di recuperare i fondi autonomamente
  3. Finalizzazione:
    • Alice pubblica le transazioni
    • Il canale viene aperto ufficialmente
    • Stato iniziale: 130.000 SAT (0,0013 BTC) dal lato di Alice

Note Importanti

  • La transazione di finanziamento non viene pubblicata immediatamente
  • La firma di Bob sulla transazione di ritiro è necessaria prima della pubblicazione
  • Questo processo garantisce la sicurezza dei fondi di Alice
  • Bob accetta di firmare perché non compromette la sua posizione

Transazioni Lightning e di Impegno

Questo capitolo esplora il funzionamento interno delle transazioni Lightning Network, con particolare focus sulle transazioni di impegno (commitment transactions) e come gestiscono il trasferimento di fondi tra le parti.

Transazioni di Impegno: Il Meccanismo di Base

La transazione di prelievo/chiusura on-chain funziona come un contratto che rappresenta lo stato corrente del canale. Questo contratto garantisce la corretta distribuzione dei fondi tra le parti in caso di chiusura del canale.

Esempio Pratico di Evoluzione del Canale

1. Apertura del Canale

  • Alice apre un canale con 130.000 SAT
  • Transazione di prelievo iniziale:
    • Alice: 130.000 SAT
    • Bob: 0 SAT
Stato iniziale:
Alice (130.000 SAT) =============== Bob (0 SAT)

2. Primo Trasferimento

  • Alice invia 30.000 SAT a Bob
  • Nuova transazione di prelievo:
    • Alice: 100.000 SAT
    • Bob: 30.000 SAT
Dopo il primo trasferimento:
Alice (100.000 SAT) =============== Bob (30.000 SAT)

3. Secondo Trasferimento

  • Alice invia 10.000 SAT a Bob
  • Nuova transazione di prelievo:
    • Alice: 90.000 SAT
    • Bob: 40.000 SAT
Dopo il secondo trasferimento:
Alice (90.000 SAT) =============== Bob (40.000 SAT)

Caratteristiche Chiave

  1. Immobilità dei Fondi
    • I bitcoin non si muovono fisicamente
    • Solo il saldo finale viene aggiornato
  2. Transazioni di Impegno
    • Ogni trasferimento crea una nuova transazione di impegno
    • Le transazioni sono firmate ma non pubblicate on-chain
    • Rappresentano l’accordo più recente tra le parti
  3. Consenso Bilaterale
    • Ogni aggiornamento richiede l’accordo di entrambe le parti
    • Le transazioni sono considerate “giuste” da entrambi i partecipanti

Punti Importanti da Ricordare

  • Le transazioni di prelievo sono in realtà transazioni di impegno
  • I trasferimenti di satoshi si realizzano attraverso nuove transazioni di impegno
  • Il sistema mantiene un registro aggiornato dei saldi senza pubblicare transazioni on-chain
  • Ogni parte mantiene i propri diritti sui fondi attraverso queste transazioni di impegno

Transazioni di Impegno e Meccanismi di Sicurezza

Il Problema dell’Imbroglio

È tecnicamente possibile pubblicare uno stato precedente del canale, poiché le transazioni di impegno precedenti hanno già le firme di entrambi i partecipanti. Per prevenire questo tipo di imbroglio, Lightning Network implementa dei meccanismi di sicurezza sofisticati.

Meccanismi di Sicurezza

1. Elementi Chiave

Due elementi fondamentali vengono aggiunti alle transazioni di impegno:

  • Timelock: Blocca i fondi fino a un blocco specifico N
  • Chiave di revoca: Combinazione dei segreti di Alice e Bob

2. Funzionamento

  • Il proprietario deve attendere la fine del Timelock per accedere ai fondi
  • Chi possiede la chiave di revoca può spostare i fondi immediatamente, senza attendere il Timelock
  • Se una parte tenta di imbrogliare, l’altra può utilizzare la chiave di revoca per appropriarsi dei fondi come punizione

Transazioni di Impegno Asimmetriche

Le transazioni di impegno sono diverse per ogni parte:

Per Alice

Transazione di Impegno di Alice:
- 130.000 SAT dal suo lato
- Timelock attivo sui suoi fondi
- Chiave di revoca inizialmente solo in suo possesso

Per Bob

Transazione di Impegno di Bob:
- Restrizioni simmetriche ma diverse
- Proprio Timelock
- Propria chiave di revoca

Processo di Scambio dei Segreti

  1. Stato Iniziale
    • Alice apre il canale con 130.000 SAT
    • Ha un Timelock sui suoi fondi
    • Possiede la sua chiave di revoca
  2. Durante i Trasferimenti
    • Alice fornisce il suo vecchio segreto a Bob
    • Bob può punire Alice se tenta di pubblicare uno stato precedente
    • Bob fornisce il suo segreto ad Alice
    • Alice può punire Bob se tenta di imbrogliare

Meccanismo di Aggiornamento

Per ogni nuova transazione:

  1. Viene generato un nuovo segreto
  2. Viene creata una nuova chiave di revoca
  3. La transazione precedente viene “distrutta” condividendo il segreto di revoca
  4. Si stabilisce un nuovo stato sicuro del canale

Tempistiche e Accesso ai Fondi

  • Per chi invia i fondi:
    • Deve attendere la fine del Timelock
    • Può usare la chiave di revoca solo dopo il Timelock
  • Per chi riceve i fondi:
    • Può utilizzare la chiave di revoca prima del Timelock
    • Ha priorità in caso di tentativo di imbroglio

Esempio di Sequenza di Sicurezza

Transazione #1:
- Creazione dei segreti iniziali
- Stabilimento dei Timelock

Transazione #2:
- Scambio dei segreti della transazione #1
- Creazione di nuovi segreti

Transazione #3:
- Scambio dei segreti della transazione #2
- Creazione di nuovi segreti
- Protezione completa contro gli stati precedenti

Conclusione

Questo sistema di sicurezza a più livelli garantisce che:

  • Nessuna parte possa imbrogliare pubblicando stati precedenti
  • Ogni tentativo di imbroglio può essere punito
  • La parte onesta ha sempre il tempo di reagire grazie al Timelock
  • La sicurezza del canale è mantenuta attraverso un sistema di “punizioni” automatiche

Chiusura dei Canali Lightning Network

Introduzione

La chiusura di un canale Lightning Network può avvenire in tre modi diversi, ognuno con le proprie caratteristiche e conseguenze:

  • Il Buono: Chiusura cooperativa
  • Il Brutale: Chiusura forzata
  • Il Truffatore: Chiusura fraudolenta

1. Il Buono: Chiusura Cooperativa

Questa è la modalità di chiusura ottimale, dove entrambe le parti collaborano.

Processo

  1. I partner concordano di chiudere il canale
  2. Interrompono tutte le transazioni in corso
  3. Convalidano uno stato finale del canale
  4. Si accordano sui costi di rete (pagati da chi ha aperto il canale)
  5. Creano la transazione di chiusura

Caratteristiche

  • Nessun Timelock
  • Nessuna chiave di revoca
  • Processo rapido
  • Costi contenuti
  • Transazione pubblicata immediatamente

2. Il Brutale: Chiusura Forzata

Questa modalità si verifica quando una parte non può o non vuole cooperare.

Scenario Tipico

Alice: Vuole chiudere il canale
Bob: Offline (problemi di connessione/elettricità)

Processo

  1. Alice pubblica l’ultima transazione di impegno
  2. Il Timelock si attiva
  3. I costi sono basati su stime precedenti

Problematiche dei Costi

Il protocollo usa costi stimati 5x superiori a quelli attuali Esempi di scenari:

 Scenario 1: Sovrapagamento
 - Costo attuale: 1 SAT
 - Costo pagato: 50 SAT
 - Risultato: 50 volte sovrapagato

 Scenario 2: Sottopagamento
 - Costo attuale: 100 SAT
 - Costo pagato: 50 SAT
 - Risultato: 2 volte sottopagato

Svantaggi

  • Processo più lungo (Timelock)
  • Costi imprevedibili
  • Rischio di ritardi nella convalida dai minatori
  • Maggiore incertezza complessiva

3. Il Truffatore: Tentativo di Frode

Questo scenario si verifica quando una parte tenta di imbrogliare il sistema.

Tentativo di Frode

  • Alice pubblica una vecchia transazione di impegno
  • Spera di ottenere un saldo più favorevole

Meccanismo di Protezione

  1. Bob monitora costantemente la MemPool
  2. Verifica eventuali tentativi di pubblicare vecchie transazioni
  3. Se trova una transazione fraudolenta:
    • Utilizza la chiave di revoca
    • Punisce Alice prendendo tutti i SAT del canale

Conclusioni

Riepilogo dei Metodi di Chiusura

  1. Chiusura Cooperativa
    • Più veloce
    • Meno costosa
    • Processo ottimale
  2. Chiusura Forzata
    • Più lenta
    • Costi imprevedibili
    • Rischi di convalida
  3. Tentativo di Frode
    • Rischio di perdita totale dei fondi
    • Meccanismo di punizione automatico
    • Forte deterrente contro comportamenti disonesti

Importanza della Comprensione

  • La scelta del metodo di chiusura influenza tempi e costi
  • La conoscenza dei meccanismi protegge da perdite
  • Un utilizzo informato garantisce transazioni eque e sicure

Lightning Network: Funzionamento e Routing dei Pagamenti

Introduzione alla Rete Lightning

Lightning Network funziona come una rete interconnessa di canali di pagamento. È composta da migliaia di peer (nodi) che sono collegati tra loro attraverso canali di liquidità. Questi canali permettono di effettuare transazioni tra peer anche quando non sono direttamente connessi.

Come Funziona la Liquidità

La liquidità nei canali ha alcune caratteristiche fondamentali:

  • Non può essere trasferita direttamente tra canali diversi
  • I pagamenti seguono percorsi attraverso più canali
  • Ogni nodo e canale mantiene la propria liquidità indipendente

Per esempio, in un percorso Alice -> Eden -> Bob, i satoshi non si muovono direttamente da Alice a Bob, ma seguono due passaggi:

  1. Da Alice a Eden
  2. Da Eden a Bob

Esempio Pratico di Transazione

Stato Iniziale della Rete:

Alice (130 SAT) ==== (0 SAT) Susie
Susie (90 SAT) ==== (200 SAT) Eden
Eden (150 SAT) ==== (100 SAT) Bob

Dopo un Trasferimento di 40 SAT da Alice a Bob:

Alice (90 SAT) ==== (40 SAT) Susie
Susie (50 SAT) ==== (240 SAT) Eden
Eden (110 SAT) ==== (140 SAT) Bob

Limitazioni e Direzioni dei Pagamenti

È importante notare che non tutti i pagamenti sono possibili in ogni direzione. Per esempio, nello stato iniziale, Bob non potrebbe inviare 40 SAT ad Alice perché Susie non ha sufficiente liquidità nel canale con Alice.

Sistema di Commissioni

I nodi della Lightning Network richiedono commissioni per l’instradamento delle transazioni. Le commissioni si dividono in due tipi:

  1. Commissione Fissa:
    • 1 SAT per default
    • Indipendente dall’importo della transazione
    • Modificabile dal nodo
  2. Commissione Variabile:
    • 0,01% per default
    • Basata sull’importo della transazione

Esempio di Struttura delle Commissioni:

  • Alice - Susie: 1/1 (1 fisso, 1 variabile)
  • Susie - Eden: 0/200
  • Eden - Bob: 1/1

Calcolo delle Commissioni per un Pagamento di 40.000 SAT:

  1. Commissioni Alice: 1 + (40.000 * 0,000001)
  2. Commissioni Susie: 8 SAT (0 + 40.000 * 0,0002)
  3. Commissioni Eden: 1,04 SAT (1 + 40.000 * 0,000001)

Privacy e Routing a Cipolla

Il sistema utilizza un “routing a cipolla” per garantire la privacy:

  • Solo il nodo iniziale (mittente) conosce il percorso completo
  • I nodi intermediari non conoscono:
    • L’identità del mittente originale
    • L’identità del destinatario finale
    • La lunghezza totale del percorso

Processo di Routing

  1. Il nodo mittente (es. Alice) calcola il percorso ottimale
  2. Determina le commissioni totali necessarie
  3. Invia il pagamento attraverso la rete
  4. I nodi intermediari processano la transazione senza conoscere i dettagli completi

Questo sistema garantisce efficienza nelle transazioni e privacy per tutti i partecipanti, rendendo Lightning Network una soluzione scalabile per i pagamenti Bitcoin.

HTLC - Contratti Hashed Time Locked nella Lightning Network

Introduzione agli HTLC

Gli HTLC (Hash Time Locked Contracts) sono contratti di pagamento fondamentali nella Lightning Network che garantiscono la sicurezza delle transazioni attraverso il routing. Questi contratti possono essere sbloccati solo con un segreto specifico e hanno una scadenza temporale, rendendoli essenzialmente dei pagamenti condizionali.

Funzionamento con Esempio Pratico

Stato Iniziale:

Alice (100.000 SAT) ==== (30.000 SAT) Susie (250.000 SAT) ==== (0 SAT) Bob

Processo di Pagamento HTLC:

  1. Generazione del Segreto:
    • Bob genera un segreto S (preimmagine)
    • Calcola l’hash r = hash(s)
  2. Sequenza di Pagamento:
    • Bob invia una fattura ad Alice contenente “r”
    • Alice crea un HTLC di 40.000 SAT verso Susie, condizionato alla rivelazione di “s’” tale che hash(s') = r
    • Susie crea un HTLC simile verso Bob
    • Bob sblocca l’HTLC di Susie rivelando “s”
    • Susie sblocca l’HTLC di Alice rivelando “S”

Meccanismo di Scadenza

  • Gli HTLC hanno un sistema di scadenza che procede dall’ultimo al primo
  • Ordine di scadenza: prima Susie-Bob, poi Alice-Susie
  • Questo ordine garantisce che:
    • Se Bob torna online, il processo può continuare normalmente
    • Si evitano situazioni in cui gli intermediari lavorano inutilmente

Struttura delle Transazioni di Impegno

Nel caso di Alice, la transazione di impegno include:

  1. Output #1: 60.000 SAT per Alice
    • Protetti da Timelock
    • Includono una chiave di revoca
    • Rappresentano il saldo rimanente
  2. Output #2: 30.000 SAT per Susie
    • Già di proprietà di Susie
  3. Output #3: 40.000 SAT in HTLC
    • HTLC-out dal punto di vista di Alice
    • HTLC-in dal punto di vista di Susie

Scenari di Chiusura del Canale

Chiusura Cooperativa

  • I pagamenti vengono interrotti
  • Si attende l’esecuzione dei trasferimenti HTLC
  • Transazione più leggera (1-2 output)
  • Costi di commissione ridotti

Chiusura Forzata

  • Pubblicazione di tutti gli HTLC in corso
  • Transazione più pesante
  • Costi significativamente più alti
  • Processo più complesso da gestire

Risoluzione degli HTLC

  • Se Susie possiede la preimmagine “s”, può riscattare i fondi dall’HTLC
  • Se l’HTLC scade senza che la preimmagine sia rivelata, i fondi tornano ad Alice
  • Gli UTXO funzionano come pagamenti con condizioni diverse
  • Dopo l’esecuzione o la scadenza, lo stato del canale si aggiorna e l’HTLC viene rimosso

Conclusione

Il sistema HTLC è fondamentale per la sicurezza della Lightning Network, garantendo che:

  • I pagamenti siano verificabili
  • Gli intermediari rispettino i loro impegni
  • I fondi siano protetti durante il routing
  • Le transazioni possano essere annullate in modo sicuro se necessario

Trovare la Propria Strada nella Lightning Network

Informazioni Disponibili sulla Rete

Dati Pubblici

  • Capacità totale del canale (somma delle liquidità di entrambe le parti)
  • Annunci di nuovi canali
  • Aggiornamenti delle commissioni
  • Chiusure dei canali (visibili sulla blockchain)

Dati Non Pubblici

  • Distribuzione della liquidità all’interno dei canali
  • Posizione esatta dei fondi tra i partecipanti

Criteri per la Ricerca del Percorso

La ricerca del percorso ottimale si basa su diversi fattori:

  1. Probabilità di Successo vs Costi
  2. Scadenza degli HTLC
  3. Numero di nodi intermedi
  4. Fattore casuale

Esempio di Ricerca Percorso

Possibili Percorsi

  1. Alice > 1 > 2 > 5 > Bob
  2. Alice > 1 > 2 > 4 > 5 > Bob
  3. Alice > 1 > 2 > 3 > Bob

Processo di Selezione

  • Si cerca il percorso con il minor costo e la maggior probabilità di successo
  • Si valuta la capacità massima dei canali
  • Si considera il numero di hop (salti)

Esempio di Valutazione

Se il canale 2-3 ha una capacità di soli 130.000 SAT, un tentativo di invio di 100.000 SAT avrebbe basse probabilità di successo, rendendo il percorso 3 poco praticabile.

Processo di Tentativo e Fallimento

Primo Tentativo (Fallito)

  1. Alice invia HTLC di 100.000 SAT a 1
  2. 1 invia HTLC di 100.000 SAT a 2
  3. 2 tenta HTLC di 100.000 SAT a 5, ma fallisce per mancanza di liquidità

Secondo Tentativo (Riuscito)

  1. Alice invia HTLC di 100.000 SAT a 1
  2. 1 invia HTLC di 100.000 SAT a 2
  3. 2 invia HTLC di 100.000 SAT a 4
  4. 4 invia HTLC di 100.000 SAT a Bob
  5. Bob sblocca il pagamento con la preimmagine

Processo di Sblocco

Il segreto si propaga all’indietro attraverso la catena:

  1. Bob → 5
  2. 5 → 4
  3. 4 → 2
  4. 2 → 1
  5. 1 → Alice

Ottimizzazioni del Routing

Informazioni nella Fattura

Bob può includere nella fattura:

  • Importo
  • Indirizzo
  • Hash della preimmagine
  • Informazioni sui suoi canali

Vantaggi delle Informazioni Aggiuntive

  1. Bob può indicare la liquidità dei canali diretti
  2. Può segnalare nodi non utilizzabili
  3. Può informare su canali privati disponibili

Conclusione

Il routing nella Lightning Network è un processo sofisticato che bilancia:

  • Privacy delle informazioni sulla liquidità
  • Efficienza nella ricerca del percorso
  • Ottimizzazione dei costi
  • Massimizzazione della probabilità di successo

Il sistema permette transazioni veloci e sicure, mantenendo la privacy degli utenti, attraverso un processo iterativo di ricerca e tentativo dei percorsi ottimali.

Fatture Lightning Network: Invoice, LNURL e Keysend

Anatomia di una Fattura Lightning

Esempio di Fattura

lnbc1m1pskuawzpp5qeuuva2txazy5g483tuv9pznn9ft8l5e49s5dndj2pqq0ptyn8msdqqcqzpgxqrrsssp5v4s00u579atm0em6eqm9nr7d0vr64z5j2sm5s33x3r9m4lgfdueq9qyyssqxkjzzgx5ef7ez3dks0laxayx4grrw7j22ppgzyhpydtv6hmc39skf9hjxn5yd3kvv7zpjdxd2s7crcnemh2fz26mnr6zu83w0a2fwxcqnvujl3

Struttura del Prefisso (lnbc1m)

  • ln: Indica Lightning Network
  • bc: Bitcoin mainnet
  • 1: Importo
  • m: Unità di misura (milli)

Sistema di Unità

  • m: milli (10^-3)
  • u: micro (10^-6)
  • n: nano (10^-9)
  • p: pico (10^-12)

Codifica Bech32

  • Utilizza 32 caratteri
  • Base di caratteri:
    • Numeri: 1-0 (10 caratteri)
    • Lettere: a-z (26 caratteri)
    • Esclusi: b, i, o, 1

Componenti della Fattura

Elementi Obbligatori

  1. Timestamp di creazione
  2. Importo del pagamento

Elementi Opzionali

  1. Hash preimmagine
  2. Segreto di pagamento (per onion routing)
  3. Dati arbitrari
  4. Chiave pubblica LN del destinatario
  5. Tempo di scadenza (default: 1 ora)
  6. Indicazioni di instradamento
  7. Firma del pacchetto

LNURL

Caratteristiche

  • Metaprotocollo per Lightning Network
  • Permette l’invio diretto di satoshi
  • Non richiede una richiesta di pagamento preliminare
  • Migliora l’esperienza utente

Keysend

Funzionamento

  1. Invio Diretto
    • Alice può inviare denaro a Bob senza richiesta preliminare
    • Alice recupera l’ID di Bob
    • Alice crea una pre-immagine autonomamente
  2. Processo
    • Alice include la pre-immagine nel messaggio
    • Bob riceve una richiesta “a sorpresa”
    • Bob può rilasciare il denaro immediatamente

Vantaggi

  • Maggiore spontaneità nei pagamenti
  • Riduce i passaggi necessari
  • Semplifica le transazioni non pianificate

Esempio di Decodifica

Analisi di una Fattura da 100.000 SAT

lnbc1m = 1 * 0.0001 BTC = 100.000 SAT

Questa fattura richiede il pagamento di 100.000 SAT sulla rete Lightning della mainnet Bitcoin.

Conclusione

Le fatture Lightning Network, nonostante la loro apparente complessità, rappresentano un sistema efficiente per codificare le richieste di pagamento. L’introduzione di protocolli come LNURL e funzionalità come Keysend ha ulteriormente migliorato la flessibilità e l’usabilità del sistema, permettendo transazioni più immediate e spontanee.