Pular para o conteúdo
buybitcoinsmart

Glossário / Referência do desenvolvedor

PP expires

O que é PP expires?
PP expires era o carimbo de data e hora Unix opcional na mensagem PaymentDetails do BIP70 que dizia à carteira para deixar de aceitar a solicitação depois que aquele momento passasse.

Especificação no BIP-70.

Toda fatura de bitcoin a preço fixo precisa de um prazo, porque o preço se move enquanto o cliente decide. O BIP70 deu aos comerciantes um campo para isso, um carimbo de data e hora Unix de 64 bits, e o deixou como opcional. O hábito sobreviveu ao protocolo: a contagem regressiva em uma tela de compra instantânea ou em um caixa eletrônico de bitcoin faz exatamente a mesma função.

Como funciona

Status: histórico. expires era o campo 4 da mensagem PaymentDetails, e o Bitcoin Core tornou o BIP70 obsoleto na versão 0.19 antes de excluí-lo no 0.20.0, em 3 de junho de 2020. Nada implementa o campo hoje.

Dois relógios ficavam um ao lado do outro na mensagem. time era obrigatório e registrava quando o comerciante montou a solicitação; expires era opcional e registrava quando ela deveria deixar de ser válida. Ambos contavam segundos desde 1º de janeiro de 1970, e ambos eram inteiros sem sinal de 64 bits, o que evitava discretamente a barreira de 19 de janeiro de 2038 com que esbarra um contador com sinal de 32 bits.

A aplicação do prazo dependia inteiramente do software de quem pagava. A carteira comparava o carimbo de data e hora com o relógio do próprio sistema e se recusava a montar uma transação depois que o prazo passava, o que significa que um dispositivo com o relógio errado ou pagava uma fatura morta ou rejeitava uma fatura válida. Nada nesse campo tocava a blockchain. Uma transação que paga uma solicitação expirada é tão válida quanto qualquer outra, e se o comerciante a credita, a reembolsa ou simplesmente a mantém nunca foi uma questão do protocolo.

Prazos curtos traziam uma armadilha específica. O Bitcoin tem como alvo um bloco a cada dez minutos em média, então uma expiração de cinco minutos podia vencer antes de existir uma única confirmação, deixando um cliente que havia realmente pago e uma fatura que o software do comerciante já havia dado por perdida.

Onde você vê isso

Cotações a preço fixo estão em toda parte na compra de bitcoin, e cada uma delas tem uma expiração por trás.

A tela de compra instantânea de uma corretora mostra uma cotação ao lado de uma contagem regressiva, geralmente entre alguns segundos e um par de minutos. Deixe-a acabar e a cotação é refeita ao preço atual. Um caixa eletrônico de bitcoin faz a mesma coisa em um prazo mais longo, e isso é parte do motivo de seu spread ser maior: o operador absorve o risco de preço por todo o tempo que você passa na máquina.

A Lightning tornou o prazo obrigatório em vez de opcional. Uma fatura BOLT11 traz um campo x para a expiração, e quando ele está ausente o padrão é 3600 segundos, uma hora. Pague depois disso e um nó bem comportado rejeita o pagamento em vez de deixá-lo no limbo.

O conselho prático para quem paga é pouco glamouroso: quando há um prazo, não economize na taxa. Pagar de menos para economizar algumas centenas de satoshis é a forma mais comum de perder um prazo, e uma transação que chega tarde é justamente o caso que vira um chamado de suporte em vez de um pedido.

PP expires vs locktime

Uma expiração era uma solicitação do comerciante que o software da carteira escolhia respeitar; o locktime é uma regra que todo nó da rede aplica. Os dois correm em direções opostas, além de terem forças diferentes. expires marcava um momento a partir do qual um pagamento não deveria mais ser feito, e nenhum minerador jamais o verificou. O locktime, escrito na própria transação, indica uma altura de bloco ou um momento antes do qual a transação não pode ser incluída em bloco algum. Um fecha uma janela; o outro abre uma.

Não confundir com

Perguntas frequentes

O que acontecia se você pagasse uma solicitação de pagamento de bitcoin depois que ela expirasse?

A transação continuava válida, porque a expiração nunca foi uma regra da rede. Apenas o software do comerciante decidia o que fazer em seguida, o que na prática significava creditar o pagamento à nova cotação ou enviar um reembolso menos a taxa.

Por que a cotação de uma corretora expira depois de alguns segundos?

Porque o vendedor está garantindo a você um preço que precisa honrar. Uma contagem regressiva limita o quanto o mercado pode se mover enquanto você decide, e deixá-la vencer simplesmente refaz a cotação ao preço atual, em vez de cancelar seu pedido.

Leia a seguir

Termos relacionados

Mais em Referência do desenvolvedor

Ler esta página em inglês