O que significa Lock Time na transação Bitcoin: LockTime: Block height, Date?

Ao construir uma transação de Bitcoin na carteira de Bitcoin Electrum e core, você encontrará esta opção chamada Tempo de Bloqueio.

Na carteira principal, oferece a opção de escolher o tempo de confirmação da transação. Enquanto no Electrum você pode especificar a hora e a data do bloco.

electrum bitcoin locktime

Na maioria das transações, você não precisa usar esse recurso de tempo de bloqueio. Se você deseja que sua transação seja final, basta deixar este campo com a configuração padrão. Dependendo do tráfego do mempool e de suas taxas, a transação será confirmada nos próximos blocos.

Alguns iniciantes, sem saber o que esta função faz, eles bloqueiam acidentalmente suas transações por dias ou até meses.

Recentemente, um de nossos usuários teve sua transação paralisada por semanas. Ao verificar a transação no explorador de bloco, havia um campo chamado tempo de bloqueio que especificava o bloco de tempo de bloqueio: 664777. Significa simplesmente que essa transação em particular só será válida na altura de bloco fornecida. A transação não pode ser incluída em um bloco até que o bloco 664777 tenha sido minado.

Então, o que significa o tempo de bloqueio na transação Bitcoin? Qual é a finalidade deste recurso e quando você precisa definir um tempo de bloqueio para sua transação?

O que é o tempo de bloqueio na transação Bitcoin?

O tempo de bloqueio na transação Bitcoin é especificado pelo usuário. É o momento em que uma determinada transação pode ser adicionada ao blockchain.

Locktime é o último campo em um dado de transação usado para pós-datação. Isso define a hora ou o bloco mais antigo em que os mineiros podem escolher a transação e anexá-la ao bloco mais recente no blockchain.

Quando um remetente especifica um tempo de bloqueio, a transação simplesmente permanecerá bloqueada até a altura ou hora de bloqueio especificada.

Por exemplo, se um usuário especificou a altura do bloco de tempo de bloqueio @ 664777 e se a altura do bloco atual é 664700, então o usuário tem que esperar até que o bloco 664777 seja alcançado. Somente após a mineração do bloco 664777, os mineiros tentarão incluir sua transação em um bloco. No Bitcoin o tempo de bloqueio é de 10 minutos, então mais ou menos o usuário tem que esperar 770 horas (cerca de um mês) para que sua transação seja confirmada.

Por que usar esta função?

Em primeiro lugar, a maioria das transações de Bitcoin não requer essa função e não usa um tempo de bloqueio definido. Portanto, qualquer transação que não use este recurso terá um tempo de bloqueio definido como 0x00000000.

Se você não deseja que sua transação seja bloqueada até a altura ou hora do bloco específico, você pode simplesmente definir o tempo de bloqueio para menos que a altura do bloco atual ou o tempo UNIX. Isso definirá o campo locktime para 0x00000000. Desta forma, sua transação será finalizada. Então, quando exatamente precisamos desta função?

Na função LockTime simples, é usada para bloquear uma transação até uma altura ou ponto de tempo específico do bloco. Definir o tempo de bloqueio significa que a transação será confirmada apenas quando o tempo necessário ou a altura do bloco forem atingidos. A transação não será válida até que a função especificada seja atendida.

Os nós validam todas as transações e, se uma transação contiver um script de tempo de bloqueio, eles simplesmente a rejeitarão. A transação que tem o tempo de bloqueio especificado só será adicionada ao blockchain após o tempo definido ou altura do bloco que foi decorrido e não antes dele.

Pense neste recurso como um cheque pós-datado escrito com uma data futura. O cheque não será compensado antes da data especificada. Da mesma forma, com o tempo de bloqueio, as moedas não podem ser gastas até um tempo especificado ou até que uma certa altura de bloco tenha passado. Isso simplesmente bloqueará o UTXO por um determinado período de tempo.

Como o recurso de tempo de bloqueio do Bitcoin pode ser usado?

Por exemplo, digamos que você queira enviar Bitcoin para alguém agora, mas só deseja que ele receba no futuro. Ou digamos que você deseja enviar dinheiro para a conta poupança de seus filhos, que eles não podem gastar até que o bloqueio expire. Com o tempo de bloqueio, você basicamente está assinando uma transação com antecedência que não será confirmada até que o bloqueio expire.

O LockTime pode ser definido de duas maneiras. Pode ser o tempo real ou pode ser especificado na altura do bloco. Bitcoin core, electrum e a maioria das outras carteiras Bitcoin terão lock_time definido para a altura do bloco atual por padrão. Você precisará especificar a data ou o número do bloqueio apenas se desejar bloquear sua transação.

Este recurso especifica as condições baseadas no tempo em que uma transação se torna válida. É uma ferramenta poderosa e é uma função totalmente opcional. Se você não tiver certeza sobre esse recurso, basta deixar o campo de tempo de bloqueio com as configurações padrão. Dessa forma, sua transação será instantaneamente retransmitida para a rede.

Não complique as coisas e não bloqueie acidentalmente suas moedas por anos.

Espero que tudo se esclareça.