Comprendere Lightning Network
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:
- Bob fornisce un indirizzo (derivato dalla sua chiave pubblica)
- 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:
- Alice firma una transazione per l’intero ammontare (0,002 BTC)
- 0,0015 BTC vengono inviati a Bob
- 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:
- Comunicazione p2p (protocollo Lightning Network)
- Canale di pagamento (protocollo Lightning Network)
- 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:
- Prima della Pubblicazione:
- Crea una “transazione di ritiro”
- Questa transazione spende i fondi dall’indirizzo multi-sig verso un suo indirizzo
- 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
- 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
- Immobilità dei Fondi
- I bitcoin non si muovono fisicamente
- Solo il saldo finale viene aggiornato
- 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
- 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
- Stato Iniziale
- Alice apre il canale con 130.000 SAT
- Ha un Timelock sui suoi fondi
- Possiede la sua chiave di revoca
- 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:
- Viene generato un nuovo segreto
- Viene creata una nuova chiave di revoca
- La transazione precedente viene “distrutta” condividendo il segreto di revoca
- 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
- I partner concordano di chiudere il canale
- Interrompono tutte le transazioni in corso
- Convalidano uno stato finale del canale
- Si accordano sui costi di rete (pagati da chi ha aperto il canale)
- 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
- Alice pubblica l’ultima transazione di impegno
- Il Timelock si attiva
- 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
- Bob monitora costantemente la MemPool
- Verifica eventuali tentativi di pubblicare vecchie transazioni
- Se trova una transazione fraudolenta:
- Utilizza la chiave di revoca
- Punisce Alice prendendo tutti i SAT del canale
Conclusioni
Riepilogo dei Metodi di Chiusura
- Chiusura Cooperativa
- Più veloce
- Meno costosa
- Processo ottimale
- Chiusura Forzata
- Più lenta
- Costi imprevedibili
- Rischi di convalida
- 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:
- Da Alice a Eden
- 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:
- Commissione Fissa:
- 1 SAT per default
- Indipendente dall’importo della transazione
- Modificabile dal nodo
- 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:
- Commissioni Alice: 1 + (40.000 * 0,000001)
- Commissioni Susie: 8 SAT (0 + 40.000 * 0,0002)
- 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
- Il nodo mittente (es. Alice) calcola il percorso ottimale
- Determina le commissioni totali necessarie
- Invia il pagamento attraverso la rete
- 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:
- Generazione del Segreto:
- Bob genera un segreto
S
(preimmagine) - Calcola l’hash
r = hash(s)
- Bob genera un segreto
- 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:
- Output #1: 60.000 SAT per Alice
- Protetti da Timelock
- Includono una chiave di revoca
- Rappresentano il saldo rimanente
- Output #2: 30.000 SAT per Susie
- Già di proprietà di Susie
- 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:
- Probabilità di Successo vs Costi
- Scadenza degli HTLC
- Numero di nodi intermedi
- Fattore casuale
Esempio di Ricerca Percorso
Possibili Percorsi
Alice > 1 > 2 > 5 > Bob
Alice > 1 > 2 > 4 > 5 > Bob
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)
- Alice invia HTLC di 100.000 SAT a 1
- 1 invia HTLC di 100.000 SAT a 2
- 2 tenta HTLC di 100.000 SAT a 5, ma fallisce per mancanza di liquidità
Secondo Tentativo (Riuscito)
- Alice invia HTLC di 100.000 SAT a 1
- 1 invia HTLC di 100.000 SAT a 2
- 2 invia HTLC di 100.000 SAT a 4
- 4 invia HTLC di 100.000 SAT a Bob
- Bob sblocca il pagamento con la preimmagine
Processo di Sblocco
Il segreto si propaga all’indietro attraverso la catena:
- Bob → 5
- 5 → 4
- 4 → 2
- 2 → 1
- 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
- Bob può indicare la liquidità dei canali diretti
- Può segnalare nodi non utilizzabili
- 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
- Timestamp di creazione
- Importo del pagamento
Elementi Opzionali
- Hash preimmagine
- Segreto di pagamento (per onion routing)
- Dati arbitrari
- Chiave pubblica LN del destinatario
- Tempo di scadenza (default: 1 ora)
- Indicazioni di instradamento
- 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
- Invio Diretto
- Alice può inviare denaro a Bob senza richiesta preliminare
- Alice recupera l’ID di Bob
- Alice crea una pre-immagine autonomamente
- 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.