Skip to main content

Factura (Lightning) | Bitcoin Glossary | Mapping Bitcoin

Factura (Lightning)

Lightning

Also known as: BOLT 11 invoice, Lightning payment request

Solicitud de pago en la Red Lightning codificada como cadena que comienza con 'lnbc', contiene monto, destino, hash de pago y tiempo de vencimiento.

Descripción General

Una factura Lightning es una solicitud de pago estandarizada usada en la Red Lightning, definida por la especificación BOLT 11. A diferencia de las transacciones Bitcoin en cadena donde el remitente inicia un pago a una dirección, los pagos Lightning son de tipo pull: el destinatario genera una factura que contiene toda la información que el pagador necesita para enrutar un pago hacia él. La factura se presenta típicamente como una larga cadena alfanumérica o código QR.

Estructura de la Factura

Una factura BOLT 11 codifica varios datos:

lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlcuszp33fs9nqa9...

Desglose del prefijo:
┌──────────┬─────────────────────────────────────────┐
│ ln       │ Red Lightning                           │
│ bc       │ red principal de Bitcoin (tb para testnet)│
│ 15u      │ Monto: 15 micro-BTC (1.500 sats)        │
└──────────┴─────────────────────────────────────────┘

Campos de datos codificados:
┌──────────────────────────────────────────────────────┐
│ payment_hash    → Identificador único del pago       │
│ timestamp       → Cuándo se creó la factura          │
│ expiry          → Por cuánto tiempo es válida         │
│                   (predeterminado: 3600 segundos/1h) │
│ description     → Descripción del pago legible       │
│ destination     → Clave pública del nodo destinatario│
│ routing_hints   → Rutas de enrutamiento sugeridas    │
│ min_final_cltv  → Timelock mínimo para el salto final│
│ signature       → Firma del destinatario             │
└──────────────────────────────────────────────────────┘

Flujo de Pago

Destinatario                           Pagador
    │                                    │
    │  1. Generar secreto R              │
    │     Calcular H = hash(R)           │
    │                                    │
    │  2. Crear factura con H ────────►  │
    │     (vía código QR, texto, etc.)   │
    │                                    │
    │                    3. Decodificar factura│
    │                    4. Encontrar ruta    │
    │                    5. Enviar pago       │
    │                       via HTLCs        │
    │  ◄──── cadena HTLC ────────────    │
    │                                    │
    │  6. Revelar R para reclamar pago   │
    │  ──── R se propaga de vuelta ───►  │
    │                                    │
    │  ¡Pago completado!                 │

Tipos de Facturas

Facturas con monto especificado: Incluyen un monto de pago específico. El pagador debe enviar exactamente ese monto.

Facturas de monto cero: Permiten al pagador elegir el monto. Útiles para donaciones o propinas.

Facturas AMP: Permiten dividir el pago en múltiples rutas usando pagos de múltiples rutas atómicas (Atomic Multi-Path).

Limitaciones de las Facturas

  • De un solo uso: Cada factura solo debe pagarse una vez. Reutilizar una factura es un riesgo de seguridad porque el secreto de pago (preimagen) se revela al primer pago.
  • Vencimiento: Las facturas caducan (predeterminado: 1 hora). Las facturas vencidas no pueden pagarse.
  • El destinatario debe estar en línea: El nodo Lightning del destinatario debe estar ejecutándose para generar facturas y recibir pagos.

Alternativas y Extensiones

  • LNURL: Un protocolo que permite enlaces de pago reutilizables, retiros e interacciones Lightning más amigables con el usuario
  • BOLT 12 (Ofertas): Un formato de factura de próxima generación que soporta códigos de pago reutilizables, recurrencia y privacidad del pagador
  • Keysend: Permite enviar pagos sin factura, generando espontáneamente la preimagen de pago en el lado del remitente
  • Lightning Address: Un formato similar al correo electrónico ([email protected]) que resuelve a endpoints LNURL para pagos sin interrupciones

Conceptos Erróneos Comunes

  • Las facturas no son direcciones. A diferencia de las direcciones Bitcoin que pueden recibir múltiples pagos, una factura Lightning estándar está destinada a un único pago.
  • El monto de la factura no está bloqueado en la billetera del remitente. El remitente puede elegir no pagar una factura en cualquier momento antes de iniciar el pago.
  • El vencimiento de la factura no significa que los fondos se pierden. Si una factura vence antes del pago, no se mueve dinero. El destinatario simplemente genera una nueva factura.