Bitcoin Lightning: Risolto il Problema dei Canali Privati e del Finanziamento On-Chain
La nuova correzione della privacy del Bitcoin Lightning Development Kit previene le vulnerabilità che collegano canali privati al finanziamento on-chain, migliorando la sicurezza degli utenti.

Introduzione al Lightning Development Kit (LDK)
Il Lightning Development Kit (LDK), il software utilizzato per costruire applicazioni Bitcoin Lightning, ha introdotto una correzione della privacy che blocca una vulnerabilità documentata, la quale collegava un canale non annunciato all'output Bitcoin che lo sostiene.
La Vulnerabilità e la Correzione
Questa vulnerabilità sfruttava il modo in cui LDK inoltrava i messaggi onion, trasformando un identificatore di canale indovinato in una conferma di connessione tra due nodi sospetti. Bitcoin Optech ha evidenziato questo cambiamento il 30 ottobre.
Un canale non annunciato rimane al di fuori della mappa della rete pubblica, ma questo da solo non impediva che la ricerca di inoltro dei messaggi di LDK confermasse il suo collegamento di finanziamento. Un vero ID di canale breve, o SCID, funge da coordinata sulla blockchain. La specifica Lightning lo definisce utilizzando l'altezza del blocco, la posizione della transazione all'interno di quel blocco e la posizione dell'output all'interno di quella transazione. Insieme, questi elementi identificano il particolare output Bitcoin che finanzia un canale.
Meccanismo di Attacco
Un attaccante può derivare un ID candidato dalla posizione di un output senza sapere se appartiene a un canale tra i nodi sospetti. La vulnerabilità documentata forniva quella conferma mancante. Essa richiedeva all'attaccante di connettersi a entrambi i punti finali e costruire un percorso di messaggio onion attraverso di essi che tornasse all'attaccante.
Prima della correzione, la ricerca del canale di LDK poteva risolvere un vero SCID anche per un canale non annunciato, una volta confermato il suo finanziamento. Se il messaggio tornava con successo, l'attaccante poteva confermare che l'output indovinato e il canale tra quei nodi corrispondevano. La vulnerabilità dimostrata collegava quindi due pezzi di informazione: un output di finanziamento Bitcoin e i nodi Lightning che lo utilizzano.
Implementazione della Correzione
LDK ora rifiuta di risolvere il vero SCID di un canale non annunciato per l'inoltro dei messaggi onion. Alias validi rimangono utilizzabili come identificatori alternativi, consentendo così a un mittente di indirizzare il canale senza utilizzare le sue vere coordinate blockchain. Questo cambiamento chiude il percorso di ricerca mantenendo l'inoltro che utilizza un alias consentito.
La modifica è descritta nella richiesta di pull. Sotto le regole di routing onion di BOLT 4, un SCID di messaggio onion deve corrispondere a un identificatore annunciato o a un alias locale. L'inclusione della correzione nelle versioni del portafoglio installato rimane non verificata. Gli utenti hanno bisogno di conferma dal proprio fornitore di portafoglio prima di assumere che il software installato abbia questa protezione.