Saltar al contenido
buybitcoinsmart

Glosario / Lightning y capa 2

Expiración de la factura

¿Qué es la expiración de la factura?
La expiración de la factura es el campo x de una solicitud de pago BOLT11, un número de segundos contados desde la propia marca de tiempo de la factura, tras el cual tanto el pagador como el beneficiario deberían rechazarla.

Toda factura Lightning lleva un plazo, y la cuenta regresiva empieza en el momento en que se firmó la factura, no en el momento en que le llegó a usted. Si no hay un campo x, el valor predeterminado es de 3600 segundos, una hora. Así que una factura que pasó la mayor parte de esa hora en un hilo de chat puede fallar minutos después de llegarle, sin ninguna razón visible.

Cómo funciona

La expiración de la factura viaja como el campo etiquetado de tipo 6, escrito con la letra x, que lleva un recuento de segundos en big endian.

Una cadena de caracteres BOLT11 empieza con una marca de tiempo de 35 bits que cuenta los segundos desde el 1 de enero de 1970 UTC, seguida de los campos etiquetados y luego de una firma. La expiración es uno de esos campos y es relativa: el plazo es esa marca de tiempo más la expiración, así que nada en la factura indica una hora legible. BOLT11 indica al pagador que no intente un pago una vez rebasada esa suma, y al beneficiario que tampoco acepte ninguno.

Ambas instrucciones son un SHOULD y no un MUST, así que una factura expirada no está criptográficamente muerta. El hash de pago sigue funcionando; lo que detiene el pago es la política de ambos extremos, no un bloqueo. Su billetera se niega a intentarlo, y un nodo que haya descartado la preimagen no podría liquidarlo de todos modos.

El valor se empaqueta en grupos de cinco bits y debe usar la longitud más corta en la que quepa, sin grupos de ceros a la izquierda. Los propios ejemplos de la especificación muestran el rango: 60 segundos ocupan dos grupos, que se escriben pu, y 604800 segundos ocupan cuatro, que se escriben jw5q. Un codificador que rellena el campo no es solo descuidado: se indica a los lectores de la factura que traten como no válida una factura con un campo x, c o 9 no mínimo.

Nadie puede prolongar una factura una vez emitida. La firma cubre el prefijo legible por humanos y toda la parte de datos, así que editar un solo carácter de la expiración la rompe. Un comerciante que quiera darle más tiempo debe emitir una nueva solicitud y volver a firmarla.

El valor predeterminado de una hora no se eligió al azar: la justificación de la especificación dice que deja tiempo para pagar on-chain en su lugar, mediante la dirección alternativa que puede llevar el campo f.

Dónde aparece

La expiración de la factura aparece como el anillo de cuenta regresiva alrededor de un código QR, como una línea con la etiqueta expiry en cualquier decodificador y como el rechazo que da una billetera cuando usted pega algo obsoleto.

Los vectores de prueba de la especificación muestran los dos extremos del rango. Una factura por 2500 microbitcoin descrita como 1 cup coffee establece la expiración en 60 segundos, porque asegura un precio de tres dólares en el mostrador. Una factura de la Blockstream Store, por 88,85 USD en productos que incluyen un Ledger Nano S, la establece en 604800 segundos, siete días, porque la confirmación de un pedido es una cuenta por pagar y no un mostrador.

Dónde se crea la factura decide quién eligió la cifra. Phoenix, reseñada en este sitio, ejecuta un nodo Lightning real en el teléfono en lugar de una cuenta en un servidor, así que la expiración de una solicitud para recibir es la configuración de su propio nodo. Con una aplicación con custodia, la cifra la pone el operador, y decodificar una de sus facturas suele ser la única forma de conocerla.

Expiración de la factura frente a delta de expiración CLTV

La expiración de la factura y la delta de expiración CLTV son dos relojes de un pago Lightning, y funcionan en unidades distintas sobre mitades distintas del problema.

La expiración de la factura se mide en segundos de hora real contados desde la marca de tiempo de la factura, y decide si el pago puede siquiera intentarse. Una delta de expiración CLTV se mide en bloques, y el campo c de la misma factura lleva el mínimo del destinatario para el último salto, que el pagador debe considerar de al menos 18 bloques cuando el campo no está presente. Una le dice si empezar; la otra, cuánto tiempo puede quedar bloqueado su dinero en un HTLC después de haber empezado.

No confundir con

Preguntas frecuentes

¿Se puede pagar todavía una factura Lightning expirada?

A veces, porque en BOLT11 el rechazo de ambas partes tras el plazo es un SHOULD, no un MUST. Nada criptográfico bloquea un pago tardío, así que un nodo receptor que todavía conserve la preimagen puede liquidarlo si su política lo permite. Una billetera que sigue la especificación no lo intentará, así que trate una factura expirada como muerta.

¿Puedo prolongar la expiración de una factura que ya envié?

No, porque la expiración está dentro de la parte de la factura que la firma cubre. Editar un solo carácter la rompe. Genere en su lugar una factura nueva, firmada de nuevo, y descarte la anterior.

¿Una factura Lightning sin campo de expiración no expira nunca?

No, expira a los 3600 segundos. BOLT11 hace opcional el campo x y define como valor predeterminado una hora, así que una factura que no dice nada sobre la expiración es una factura de una hora y no una permanente.

Para seguir leyendo

Fuentes

Última revisión: 6 de septiembre de 2026.

Términos relacionados

Más en la sección Lightning y capa 2

Leer esta página en inglés