Skip to main content

Fatura (Lightning) | Bitcoin Glossary | Mapping Bitcoin

Fatura (Lightning)

Lightning

Also known as: BOLT 11 invoice, Lightning payment request

Solicitação de pagamento na Lightning Network codificada como string BOLT 11, contendo valor, destino, hash do pagamento e prazo de expiração.

Visão Geral

Uma fatura Lightning é uma solicitação de pagamento padronizada usada na Rede Lightning, definida pela especificação BOLT 11. Ao contrário das transações Bitcoin on-chain onde o remetente inicia um pagamento para um endereço, os pagamentos Lightning são baseados em pull: o destinatário gera uma fatura contendo todas as informações que o pagador precisa para rotear um pagamento até ele. A fatura é tipicamente apresentada como uma longa string alfanumérica ou código QR.

Estrutura da Fatura

Uma fatura BOLT 11 codifica várias informações:

lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlcuszp33fs9nqa9...

Detalhamento do prefixo:
┌──────────┬─────────────────────────────────────────┐
│ ln       │ Rede Lightning                          │
│ bc       │ mainnet do Bitcoin (tb para testnet)    │
│ 15u      │ Valor: 15 micro-BTC (1.500 sats)        │
└──────────┴─────────────────────────────────────────┘

Campos de dados codificados:
┌──────────────────────────────────────────────────────┐
│ payment_hash    → Identificador único do pagamento   │
│ timestamp       → Quando a fatura foi criada         │
│ expiry          → Por quanto tempo a fatura é válida │
│                   (padrão: 3600 segundos / 1 hora)   │
│ description     → Descrição do pagamento legível     │
│ destination     → Chave pública do nó destinatário   │
│ routing_hints   → Caminhos de roteamento sugeridos   │
│ min_final_cltv  → Timelock mínimo para o salto final │
│ signature       → Assinatura do destinatário         │
└──────────────────────────────────────────────────────┘

Fluxo de Pagamento

Destinatário                           Pagador
    │                                    │
    │  1. Gerar segredo R                │
    │     Computar H = hash(R)           │
    │                                    │
    │  2. Criar fatura com H ─────────►  │
    │     (via código QR, texto, etc.)   │
    │                                    │
    │                    3. Decodificar fatura│
    │                    4. Encontrar rota   │
    │                    5. Enviar pagamento │
    │                       via HTLCs       │
    │  ◄──── cadeia HTLC ────────────    │
    │                                    │
    │  6. Revelar R para reivindicar pag.│
    │  ──── R se propaga de volta ────►  │
    │                                    │
    │  Pagamento concluído!              │

Tipos de Faturas

Faturas com valor especificado: Incluem um valor de pagamento específico. O pagador deve enviar exatamente esse valor.

Faturas de valor zero: Permitem ao pagador escolher o valor. Úteis para doações ou gorjetas.

Faturas AMP: Permitem dividir o pagamento em múltiplos caminhos usando pagamentos de múltiplos caminhos atômicos (Atomic Multi-Path).

Limitações das Faturas

  • De uso único: Cada fatura deve ser paga apenas uma vez. Reutilizar uma fatura é um risco de segurança porque o segredo de pagamento (pré-imagem) é revelado no primeiro pagamento.
  • Expiração: As faturas expiram (padrão: 1 hora). Faturas expiradas não podem ser pagas.
  • O destinatário deve estar online: O nó Lightning do destinatário deve estar em execução para gerar faturas e receber pagamentos.

Alternativas e Extensões

  • LNURL: Um protocolo que permite links de pagamento reutilizáveis, saques e interações Lightning mais amigáveis ao usuário
  • BOLT 12 (Ofertas): Um formato de fatura de próxima geração que suporta códigos de pagamento reutilizáveis, recorrência e privacidade do pagador
  • Keysend: Permite enviar pagamentos sem fatura, gerando espontaneamente a pré-imagem de pagamento no lado do remetente
  • Lightning Address: Um formato semelhante a e-mail (usuá[email protected]) que resolve para endpoints LNURL para pagamentos sem interrupções

Conceitos Equivocados Comuns

  • Faturas não são endereços. Ao contrário dos endereços Bitcoin que podem receber múltiplos pagamentos, uma fatura Lightning padrão é destinada a um único pagamento.
  • O valor da fatura não está bloqueado na carteira do remetente. O remetente pode optar por não pagar uma fatura a qualquer momento antes de iniciar o pagamento.
  • A expiração da fatura não significa que os fundos são perdidos. Se uma fatura expirar antes do pagamento, nenhum dinheiro é movido. O destinatário simplesmente gera uma nova fatura.