Invoices
Las solicitudes de pago de Lightning
⚡ Lightning Network
En Lightning, para recibir un pago, primero creas una invoice (una "solicitud de pago"). Es el equivalente a que el Bar de Bob diga: "págame el valor de una cerveza, y aquí está cómo probar que el pago llegó".
Qué hay dentro de una invoice
Una invoice es un texto codificado (normalmente empieza con lnbc y se muestra como un código QR). Por dentro, lleva cosas como:
- Valor — cuánto debe pagarse (también puede ser una invoice "abierta", sin valor fijo).
- Descripción — una nota sobre qué es el pago (por ejemplo, "1 cerveza").
- Candado (hash del pago) — la "traba" del pago. Es el hash de un secreto que solo el receptor conoce.
- Validez — una invoice expira después de un tiempo (suele ser de un solo uso).
- Firma — firmada por la clave del receptor, probando que la invoice es suya.
El secreto que prueba el pago
La parte más inteligente es el par secreto / candado — el mismo "candado con secreto" que vimos en Cómo funciona Lightning.
Cuando Bob crea la invoice, su cartera sortea un secreto (llamado preimage) y coloca en la invoice solo el candado (el hash de ese secreto).
El pago solo se completa cuando ese secreto se revela. Como solo Bob conoce el secreto, revelarlo prueba que fue él quien recibió el pago — y eso es exactamente lo que destraba el pago a lo largo de todo el camino en la red. En la práctica, el secreto revelado funciona como un recibo de la cerveza.
Lightning Address (más práctico)
Una invoice es de un solo uso y expira, así que no sirve para imprimirla en un cartel fijo en la barra del bar. Para eso existe la Lightning Address, que se parece a un correo electrónico (por ejemplo, bardebob@cartera.com). Es fija y reutilizable: cuando alguien va a pagar, la cartera usa ese dirección para buscar una invoice nueva automáticamente por detrás.
En la parte técnica, veremos el formato exacto de las invoices (el estándar BOLT 11) — y la idea es tener aquí un decodificador de invoices para que puedas inspeccionar el contenido de una.