Locktime

Impede uma transação de ser minerada antes de uma altura ou tempo

O campo locktime permite impedir que uma transação seja minerada até depois de uma altura de bloco ou um tempo específico.

Uma transação com um locktime no futuro também não será aceita nem retransmitida pelos nós, então você precisa armazená-la localmente até que o locktime tenha passado. Em outras palavras, definir um locktime é o equivalente a pós-datar um cheque.

Uso

Como o locktime funciona?

O campo locktime tem 4 bytes e pode conter valores entre 0 (0x00000000) e 4294967295 (0xffffffff). Você define uma altura de bloco ou um tempo usando faixas diferentes de valores:

ValorSignificado
0 a 499999999Altura de bloco
500000000 a 4294967295Tempo Unix

Isso é conhecido como "locktime absoluto", pois você define uma altura ou tempo específico no futuro. Também é possível definir um locktime relativo.

Para o campo locktime ser habilitado, pelo menos um dos valores de sequence das entradas precisa ser 0xfffffffe ou menor. Se todos os valores de sequence forem o máximo 0xffffffff, a transação é considerada "final" e o locktime fica desabilitado.

Altura

0 a 499999999

Definindo o locktime entre 0 e 499999999, você especifica que a transação só pode ser minerada após uma altura específica. (É uma faixa mais que suficiente: a blockchain só deve chegar à altura 499.999.999 daqui a uns 9.488 anos.)

Tempo

500000000 a 4294967295

Definindo o locktime entre 500000000 e 4294967295, você especifica que a transação só pode ser minerada após um tempo específico (em Unix Time):

Ícone Ferramenta

Unix Time

Converta entre um timestamp Unix (segundos desde 01/01/1970) e uma data legível (UTC).

A restrição de tempo é então baseada no campo de tempo do cabeçalho do bloco (controlado pelo minerador, e geralmente próximo do tempo atual).

Essa faixa permite definir um locktime entre 05 de novembro de 1985 e 07 de fevereiro de 2106.