Nuovo bug di Bitcoin Lightning Network: routing di pagamento non attribuito

Gli sviluppatori di Bitcoin lo sono discutere un nuovo bug di Lightning Network che può causare errori di routing dei pagamenti non attribuiti. Questo bug può causare il fallimento dei pagamenti di Lightning Network senza che le parti coinvolte ne sappiano il motivo.

A differenza del livello base Bitcoin in cui migliaia di operatori di nodi convalidano le transazioni, i pagamenti Lightning possono coinvolgere un minimo di due persone. Gli utenti sacrificano di proposito la sicurezza della blockchain di Bitcoin in cambio di velocità più elevate e commissioni più economiche.

All'interno di Lightning Network, i pagamenti possono fallire se qualcosa va storto in qualsiasi fase dei vari processi di firma multipla. Ad esempio, il destinatario finale potrebbe rifiutarsi di rilasciare un'immagine preliminare a conferma di aver ricevuto il pagamento oppure un nodo Lightning Network potrebbe andare offline.

Un errore di routing di pagamento non attribuito significa che il chi spende non saprebbe nemmeno cosa è andato storto. O un messaggio di errore è stato danneggiato durante il ritorno al mittente o non hanno mai ricevuto un messaggio. Potrebbero continuare a provare a utilizzare un nodo difettoso senza nemmeno rendersi conto che c'è un problema.

Se gli spender ricevono una notifica su cosa è andato storto, possono riprovare dopo aver apportato alcune modifiche, come passare a un nodo Lightning Network diverso.

Possibili soluzioni per l'errore di routing di pagamento non attribuito

Lo sviluppatore Joost Jager ha anticipato questo problema e proposto una soluzione nel 2019. Ha notato che un canale di pagamento potrebbe richiedere molto tempo per confermare che la transazione è andata a buon fine. Ha consigliato di aggiungere due timestamp ai messaggi che i nodi rimandano al mittente della transazione. Un timestamp rappresenterebbe l'ora in cui il nodo ha ricevuto la transazione e l'altro timestamp quando il nodo ha inoltrato la transazione alla fermata successiva. Entrambi i timestamp lo farebbero dare ai mittenti un'idea di quali canali sono lenti a trasmettere le transazioni ed evitare quei canali in futuro.

Il 19 ottobre 2022, Jager postato una versione aggiornata della sua correzione del percorso di pagamento non attribuita che migliorerebbe i messaggi di errore in modo che non sembrino incomprensibili a un mittente. I messaggi migliorati consentiranno ai mittenti di identificare il nodo esatto che ha causato il fallimento della loro transazione in modo da poterlo escludere dalle transazioni future.

Russell arrugginito suggerimenti un'alternativa: ogni nodo di routing verrebbe pagato uno seduto anche quando una transazione fallisce. I mittenti potrebbero dire da quale nodo di routing si è verificato un errore confrontando il numero di satoshi inviati con il numero di satoshi che hanno ricevuto indietro. Questa tecnica di conteggio satoshi funzionerebbe anche se un messaggio di errore fosse danneggiato. (Nota: un satoshi equivale a centomilionesimo di bitcoin.)

Le implementazioni LND di Lightning Network erano afflitte da errori

Il 1 novembre 2022, Lightning Labs rilasciato un aggiornamento di emergenza per correggere un bug che impediva ai nodi LND di analizzare le transazioni che richiedevano molti input di controllo. I nodi che non si aggiornano potrebbero non impedire la chiusura dannosa del canale una volta scaduti i timelock.

Uno sviluppatore noto come "Burak" ha attivato il bug con una transazione contenente il messaggio, "farai funzionare CLN [Core Lightning] e sarai felice".

Burak ha attaccato con successo LND Lightning. Due volte.

Burak ha attivato un bug simile il 9 ottobre 2022, quando lo sviluppatore anonimo ha inviato una transazione multisig di 998 su 999 tapscript. Questo tipo di transazione avrebbe richiesto 998 firme di chiave privata per l'autenticazione, rendendo difficile l'esecuzione del processo. Lui vantato di farlo per una commissione di $ 4.90.

Leggi di più: Il bug blocca bitcoin all'interno di Lightning Network per ore

Utente Twitter Stadicus detto gli attacchi un "smontaggio selvaggio" e ha suggerito di avviare un programma di ricompense dei bug.

Un hacker di nome Anthony Towns rivendicato ha cercato di avvertire gli sviluppatori di Lightning Network del bug, ma afferma che il repository btcd sembra non avere un meccanismo per segnalare bug di sicurezza.

Due sviluppatori di Lightning Network hanno proposto possibili soluzioni per il problema dell'errore di routing dei pagamenti non attribuito. Migliorando i messaggi, la proposta di Joost Jager renderebbe più facile individuare dove si è verificato il problema. La proposta di Russell lo farebbe costano ai mittenti qualche satoshi in più, ma consentono di rintracciare il problema anche se un messaggio non riesce a tornare al mittente. Nel frattempo, gli sviluppatori stanno risolvendo i bug che potrebbero causare il fallimento dei nodi LND in primo luogo.

Per notizie più informate, seguici su Twitter ed Google News o ascolta il nostro podcast investigativo Innovato: Blockchain City.

Fonte: https://protos.com/new-bitcoin-lightning-network-bug-unattributed-payment-routing/