MSTR Cat

Blockchain/Nível V · Camadas/5.1 Lightning/Lição 3

Faturas: BOLT11 e BOLT12

De strings de uso único a ofertas reutilizáveis, e os servidores web que preencheram essa lacuna

MateriaisUma carteira Lightning capaz de decodificar faturasUma ferramenta de decodificação pública BOLT11 acessível por meio do navegadorUm exemplo de fatura BOLT11 e uma string de oferta BOLT12

Curiosidade

  1. Por que um pedido de pagamento com validade de uma hora força os comerciantes a realizarem regenerações constantes?
  2. Como um código QR estático pode permanecer válido por anos e ainda gerar notas fiscais únicas e seguras para cada transação?
  3. Quais campos de dados específicos permitem que uma carteira verifique se uma fatura não foi adulterada antes de enviar fundos?

Explorar

  1. A fatura BOLT11 é uma sequência bech32 que começa com ‘lnbc’ e contém todos os parâmetros de pagamento necessários. Ela codifica um valor opcional (em bitcoin, com uma letra multiplicadora, permitindo frações menores que um satoshi), um hash de pagamento específico derivado de uma imagem secreta, e um timestamp de vencimento padrão de uma hora. A chave pública do node destinatário identifica o local de pagamento, enquanto dicas de roteamento opcionais orientam o pagador caso canais diretos não estejam disponíveis. Toda a sequência é assinada pelo destinatário, garantindo sua integridade.
  2. Essa arquitetura torna as faturas BOLT11 estritamente de uso único. Uma vez que o remetente paga o hash de pagamento associado, a fatura é liquidada e não pode ser resgatada novamente. Pagar duas vezes é inseguro: após o primeiro pagamento, a pré-imagem fica conhecida por todos os nós daquela rota, portanto qualquer um desses nós que também faça parte da rota do segundo pagamento poderia retê-la. Essa restrição exige códigos QR dinâmicos para o varejo, onde os comerciantes precisam gerar uma nova string para cada cliente, o que complica o hardware de ponto de venda.
  3. Os desenvolvedores da comunidade resolveram esse problema por meio de LNURL e Endereços Lightning, que dependem de servidores da web externos. O usuário escaneia um URI estático que aponta para um ponto final do servidor; a carteira obtém uma fatura BOLT11 atualizada desse servidor antes de iniciar o pagamento. Isso separa o endereço público dos dados específicos da transação, permitindo que um único link sirva para pagamentos ilimitados, mantendo, em segundo plano, a segurança de faturas únicas e de uso único.
  4. As ofertas 'offers' do BOLT12, projetadas por Rusty Russell e adicionadas à especificação em 2024, internalizam esse fluxo. Esses códigos de pagamento reutilizáveis começam com 'lno' e funcionam como identificadores estáticos para um nó beneficiário. Ao serem escaneados, a carteira do pagador envia uma mensagem onion diretamente pela Lightning Network para obter uma fatura atualizada do criador da oferta. Isso elimina a dependência de servidores web externos, integrando a geração de solicitações ao protocolo principal.
  5. O BOLT12 oferece recursos de suporte ausentes no BOLT11, incluindo fluxos nos quais o comerciante paga o usuário, como reembolsos ou saques (pagamentos recorrentes foram propostos, mas removidos da especificação unificada). As ofertas também podem utilizar caminhos ocultos para esconder o nó receptor dentro do grafo de canais, em vez de divulgar sua chave pública. Esse design reduz vazamentos de privacidade em comparação com faturas padrão que exibem diretamente dicas de roteamento ou endereços alternativos.
  6. Pagamentos espontâneos contornam completamente as faturas, utilizando os protocolos keysend ou AMP (Atomic Multi-Path), nos quais o remetente envia fundos para uma chave de nó conhecida sem solicitação prévia. Para verificação prática, cole qualquer fatura Lightning em um decodificador público BOLT11. Identifique o prefixo legível por humanos, o valor, o hash do pagamento, o tempo de validade e a assinatura do beneficiário. Compare isso com uma string 'lno', que não contém hash de pagamento, apenas o que o pagador precisa para solicitar uma fatura: o ID do nó ou os caminhos até ele.

Fatos-chave

  • As faturas BOLT11 são sequências bech32 de uso único que começam com ‘lnbc’, codificando o valor, o hash e a assinatura.
  • LNURL e Endereços Lightning utilizam servidores da Web para buscar faturas BOLT11 atualizadas a partir de links estáticos.
  • Os BOLT12 começam com ‘lno’ e geram faturas únicas por meio de mensagens Onion na rede Lightning.
  • As ofertas do BOLT12 são reutilizáveis e suportam pagamentos de comerciante para usuário, como reembolsos, o que o BOLT11 não faz.
  • O prazo de validade padrão para uma fatura BOLT11 é de uma hora (3600 segundos).
  • Keysend permite pagamento espontâneo para uma chave pública de nó sem fatura.

Exercício nove, seis, três, um

9ReunirListe 9 formatos ou identificadores distintos de solicitação de pagamento utilizados em finanças digitais, desde códigos tradicionais de transferência bancária até padrões modernos de criptomoedas. Indique se cada um é de uso único ou reutilizável.
6AgruparAgrupe os 9 em 6 categorias com base em como eles lidam com a unicidade: estático-reutilizável, dinâmico-de-uso-único, mediado por servidor-com-busca-atualizada, nativo do protocolo-com-busca-atualizada, baseado em chave-spontâneo ou outro.
3DestilarReduza os 6 grupos a 3 trade-offs fundamentais entre conveniência do usuário (códigos estáticos) e segurança criptográfica (hashes únicos).
1CristalizarEscreva 1 frase explicando por que as ofertas BOLT12 eliminam a necessidade de servidores web externos em fluxos de pagamento reutilizáveis.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS