Invoices

Os pedidos de pagamento da Lightning

⚡ Lightning Network

Na Lightning, para receber um pagamento, você primeiro cria uma invoice (um "pedido de pagamento"). É o equivalente ao Bar do Bob dizer: "me paga o valor de uma cerveja, e aqui está como provar que o pagamento chegou".

O que tem dentro de uma invoice

Uma invoice é um texto codificado (normalmente começa com lnbc e é mostrado como um QR code). Por dentro, ela carrega coisas como:

Anatomia de uma invoice Lightning: um QR code e suas partes — valor, descrição, cadeado (hash do pagamento), validade e assinatura.

O segredo que prova o pagamento

A parte mais inteligente é o par segredo / cadeado — o mesmo "cadeado com segredo" que vimos em Como a Lightning funciona.

Quando o Bob cria a invoice, a carteira dele sorteia um segredo (chamado de preimage) e coloca na invoice apenas o cadeado (o hash desse segredo).

O pagamento só se completa quando esse segredo é revelado. Como só o Bob conhece o segredo, revelá-lo prova que foi ele quem recebeu — e é exatamente isso que destrava o pagamento ao longo de todo o caminho na rede. Na prática, o segredo revelado funciona como um recibo da cerveja.

Lightning Address (mais prático)

Uma invoice é de uso único e expira, então não dá para imprimir num cartaz fixo no balcão do bar. Para isso existe a Lightning Address, que parece um e-mail (ex.: bardobob@carteira.com). Ela é fixa e reutilizável: quando alguém vai pagar, a carteira usa esse endereço para buscar uma invoice nova automaticamente nos bastidores.

Na parte técnica, vamos ver o formato exato das invoices (o padrão BOLT 11) — e a ideia é ter por aqui um decodificador de invoice para você espiar o conteúdo de uma.