Pular para o conteúdo
buybitcoinsmart

Glossário / Lightning e camada 2

Expiração da fatura

O que é a expiração da fatura?
A expiração da fatura é o campo x de uma solicitação de pagamento BOLT11, um número de segundos contado a partir do próprio carimbo de data e hora da fatura, após o qual pagador e beneficiário devem ambos recusá-la.

Toda fatura Lightning carrega um prazo, e a contagem regressiva começa no momento em que a fatura foi assinada, não no momento em que ela chegou até você. Sem o campo x, o padrão é 3600 segundos, uma hora. Assim, uma fatura que ficou a maior parte dessa hora em uma conversa de chat pode falhar minutos depois de chegar até você, sem nenhuma razão visível.

Como funciona

A expiração da fatura viaja como campo etiquetado do tipo 6, escrito com a letra x, carregando uma contagem de segundos em big-endian.

Uma string BOLT11 começa com um carimbo de data e hora de 35 bits que conta os segundos desde 1º de janeiro de 1970 UTC, depois os campos etiquetados e por fim uma assinatura. A expiração é um desses campos e é relativa: o prazo é aquele carimbo de data e hora mais a expiração, então nada na fatura indica um horário legível. O BOLT11 orienta o pagador a não tentar um pagamento depois de passada essa soma, e orienta o beneficiário a não aceitar nenhum também.

As duas instruções são um SHOULD e não um MUST, então uma fatura expirada não está criptograficamente morta. O hash de pagamento ainda funciona; o que impede o pagamento é a política nas duas pontas, e não um bloqueio. Sua carteira se recusa a tentar, e um nó que tenha descartado a preimagem não conseguiria liquidar de qualquer forma.

O valor é empacotado em grupos de cinco bits e deve usar o comprimento mais curto que caiba, sem grupos de zeros à esquerda. Os próprios exemplos da especificação mostram a faixa: 60 segundos ocupam dois grupos, escritos pu, e 604800 segundos ocupam quatro, escritos jw5q. Um codificador que preenche o campo não é apenas desleixado: os leitores são instruídos a tratar como inválida uma fatura com um campo x, c ou 9 não mínimo.

Ninguém pode prorrogar uma fatura depois de emitida. A assinatura cobre o prefixo legível por humanos e toda a parte de dados, então editar um caractere da expiração a quebra. Um comerciante que queira lhe dar mais tempo precisa emitir uma nova solicitação e assiná-la de novo.

O padrão de uma hora não foi escolhido ao acaso: a justificativa da especificação diz que ele deixa tempo para pagar on-chain em vez disso, por meio do endereço alternativo que o campo f pode carregar.

Onde você vê isso

A expiração da fatura aparece como o anel de contagem regressiva em torno de um código QR, como uma linha rotulada expiry em qualquer decodificador e como a recusa que uma carteira dá quando você cola algo vencido.

Os vetores de teste da especificação mostram os dois extremos da faixa. Uma fatura de 2500 micro-bitcoin descrita como 1 cup coffee define a expiração em 60 segundos, porque fixa um preço de três dólares no balcão. Uma fatura da Blockstream Store, de 88,85 USD em mercadorias incluindo um Ledger Nano S, define a expiração em 604800 segundos, sete dias, porque uma confirmação de pedido é uma fatura a pagar e não um balcão.

Onde a fatura é criada decide quem escolheu o número. A Phoenix, que este site analisa, roda um nó Lightning real no celular em vez de uma conta em um servidor, então a expiração em uma solicitação de recebimento é configuração do próprio nó dela. Com um aplicativo que guarda seus fundos, o número vem do operador, e decodificar uma de suas faturas costuma ser a única forma de conhecê-lo.

Expiração da fatura vs delta de expiração CLTV

A expiração da fatura e o delta de expiração CLTV são dois relógios de um pagamento Lightning, e correm em unidades diferentes sobre metades diferentes do problema.

A expiração da fatura é em segundos de relógio contados desde o carimbo de data e hora da fatura, e decide se o pagamento pode sequer ser tentado. Um delta de expiração CLTV é medido em blocos, e o campo c da mesma fatura carrega o mínimo do destinatário para o salto final, que o pagador deve tratar como pelo menos 18 blocos quando o campo está ausente. Um diz se você deve começar; o outro diz por quanto tempo seu dinheiro pode ficar preso em um HTLC depois de você ter começado.

Não confundir com

Perguntas frequentes

Uma fatura Lightning expirada ainda pode ser paga?

Às vezes, porque o BOLT11 diz que os dois lados SHOULD recusar após o prazo, e não MUST. Nada de criptográfico bloqueia um pagamento tardio, então um nó receptor que ainda guarde a pré-imagem pode liquidá-lo se sua política permitir. Uma carteira que segue a especificação não vai tentar, então trate uma fatura expirada como morta.

Posso prorrogar a expiração de uma fatura que já enviei?

Não, porque a expiração fica dentro da parte da fatura coberta pela assinatura. Editar um caractere a quebra. Gere uma nova fatura, assinada de novo, e descarte a antiga.

Uma fatura Lightning sem campo de expiração nunca expira?

Não, ela expira após 3600 segundos. O BOLT11 torna o campo x opcional e define o padrão como uma hora, então uma fatura que não diz nada sobre a expiração é uma fatura de uma hora, e não uma fatura permanente.

Leia a seguir

Fontes

Última revisão: 6 de setembro de 2026.

Termos relacionados

Mais em Lightning e camada 2

Ler esta página em inglês