LNURL

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

In genere, quando un utente desidera ricevere un pagamento su Lightning Network, deve generare un invoice.

LNURL è uno standard che consente di ricevere satoshi su Lightning senza che l'utente debba fornire un invoice.

LNURL elimina questa complessità consentendo di creare un codice QR statico riutilizzabile o un link URL statico che si può utilizzare per pagare un altro utente Lightning.

LNURL è uno stack di semplici protocolli per coordinare le informazioni necessarie per effettuare pagamenti tramite Lightning Network utilizzando HTTP.

LNURL ha smussato e migliorato gran parte dell'esperienza utente sull'utilizzo di Lightning Network, ma richiede l'uso di un server Web per essere utilizzato. Tutte le richieste e le risposte vengono gestite tramite HTTP e per gestire queste modalità semplificate di coordinamento ed esecuzione dei pagamenti è necessaria un'infrastruttura aggiuntiva oltre al nodo Lightning stesso. Questo è un requisito perfettamente ragionevole per qualsiasi fornitore di servizi online o commerciante, che realisticamente avrà comunque bisogno di un server Web per fornire i propri servizi o prodotti online.

Tuttavia, per un utente finale non tecnico che da casa desidera semplicemente un'esperienza più semplice, un venditore ambulante, un negozio fisico o altri utenti che non hanno a disposizione un server web, questo può essere un requisito pesante e potenzialmente rischioso

Tre elementi fondamentali del protocollo LNURL sono:

  • uno schema di autenticazione, in cui una chiave pubblica può essere utilizzata per accedere a un servizio
  • uno schema di invoice, o richiesta di pagamento, con il quale un wallet può eseguire il ping di un server tramite un codice QR statico e recuperare una invoice
  • uno schema di richiesta di prelievo (withdraw request) con il quale un wallet può eseguire il ping di un server e richiedere che il server paghi una fattura fornita dal wallet.

Le invoice lightning sono molto più lunghe degli indirizzi Bitcoin on-chain, il pagamento stesso è un processo interattivo che richiede a entrambe le parti di essere online, quindi ha senso coordinare i dettagli di pagamento in modo interattivo su una connessione di rete.

Il protocollo di autenticazione è di fatto solamente il server che fornisce un numero generato casualmente che il wallet dell'utente firma con una chiave appena generata. Dopo che il valore casuale firmato è stato ricevuto dal server, salva la chiave associata da utilizzare negli accessi futuri.


aggiornato il 2022-06-09