bestchange

Вы здесь

Что такое Lock Time в транзакции Биткоин: LockTime: высота блока, дата?

Lock Time Bitcoin что это такое

Lock Time в Биткойн-транзакции указывается пользователем. Это время, когда конкретная транзакция может быть добавлена ​​в цепочку блоков. Проще говоря, Lock Time – это функция отложенной транзакции.

После создания Биткойн-транзакции в Electrum и в Core Bitcoin wallet вы найдете опцию под названием «Lock Time».

В Core Bitcoin wallet эта функция дает возможность выбрать время подтверждения для вашей транзакции. А на Electrum вы можете указать время и дату блока.

bitcoin-locktime

В большинстве транзакций вам не нужно использовать функцию Lock Time. Если вы хотите, чтобы ваша транзакция была окончательной, просто оставьте это поле по умолчанию. В зависимости от трафика мемпула и ваших комиссий транзакция будет подтверждена в следующих нескольких блоках.

Некоторые новички, не зная, что делает эта функция, случайно блокируют свою транзакцию на несколько дней или даже месяцев.

Недавно у одного из наших пользователей транзакция зависла на несколько недель. После проверки транзакции в block explorer появилось поле под названием lock time, которое указывало lock time блока (время блокировки блока): 664777.

Это означает, что эта конкретная транзакция будет действительна только при заданной высоте блока (до нее транзакция не будет отправлена). Транзакция не может быть включена в блок, пока блок 664777 не будет добыт.

Итак, в этой статье Вы узнаете что означает «lock time» в транзакции Bitcoin? Какова цель этой функции и когда Вам нужно установить lock time для транзакции?

Что такое Lock Time в транзакции Биткойн?

Lock Time в Биткойн-транзакции указывается пользователем. Это время, когда конкретная транзакция может быть добавлена ​​в цепочку блоков.

Lock time - это последнее поле в заполняемых данных транзакции, которое используется для пост-датирования. Эта функция позволяет выбрать время или высоту блока удобную для отправителя, а майнеры смогут выбрать транзакцию и прикрепить ее к последнему блоку в блокчейне.

Когда отправитель указывает Lock time, транзакция просто остается заблокированной до указанной высоты или времени блока.

Например, если пользователь указал Lock time на высотуе блока №664777, и если текущая высота блока составляет №664700, то пользователь должен дождаться того момента, когда наступит блок №664777.

Только после того, как блок №664777 будет добыт, майнеры попытаются включить свою транзакцию в блок.

В Биткойне время блока составляет 10 минут, поэтому пользователю приходется ждать около 770 часов (примерно месяц), чтобы его транзакция была подтверждена.

Зачем нужна функция Lock time?

Прежде всего, для большинства Биткойн транзакций эта функция не требуется, и она не использует Lock time. Таким образом, для любых транзакций, которые не используют эту функцию, время блока будет установлено на 0x00000000.

Если вы не хотите, чтобы ваша транзакция блокировалась (откладывалась) до определенной высоты или времени блока, вы можете просто установить время блокировки меньше (Lock time), чем текущая высота блока или время UNIX.

Это установит в поле Lock time значение 0x00000000. Таким образом ваша транзакция будет окончательной, то есть отправится мгновенно.

Когда именно понадобится эта функция?

В простом случае функция LockTime используется для блокировки транзакции до достижения определенной высоты блока или времени.

Установка Lock Time означает, что транзакция будет подтверждена только тогда, когда будет соблюдено требуемое время или высота блока. Транзакция не будет действительной, пока не будет выполнена указанная функция.

Узлы проверяют каждую транзакцию, и, если транзакция содержит функцию Lock Time, они просто отклонят ее. Транзакция, для которой указано значение Lock Time, будет добавлена ​​в блокчейн только по истечении установленного времени или высоты блока, но не до него.

Думайте об этой функции как о почтовом чеке с указанной в нем будущей датой. Чек не будет погашен до указанной даты.

Аналогично с функцией Lock Time монеты не могут быть потрачены до указанного времени или до тех пор, пока не будет пройдена определенная высота блока. Это просто заблокирует UTXO на заранее определенный период времени.

Как можно использовать функцию LockTime с Bitcoin?

Например, предположим, что Вы хотите отправить кому-то Биткойн сейчас, но чтобы получатель получили его только в будущем (к примеру через 4 дня).

Или предположим, что вы хотите отправить деньги на сберегательный счет ваших родственников, которые они не могут потратить, пока не истечет срок блокировки (LockTime). Используя lock time, вы, по сути, заранее подписываете транзакцию, которая не будет подтверждена до истечения срока блокировки.

Lock Time можно установить двумя способами. Это может быть фактическое время или высота блока.

Bitcoin core, Electrum и большинство других Биткойн-кошельков по умолчанию будут выставлять для lock time текущую высоту блока. Вам нужно будет указать дату или номер блока, только если вы хотите заблокировать транзакцию (отложить ее).

Эта функция определяет основанные на времени условия, при которых транзакция становится действительной. Это мощный инструмент, но который является необязательной функцией. Если вы не уверены в этой функции, просто оставьте поля lock time по умолчанию. Таким образом, ваша транзакция будет мгновенно передана в сеть – отправлена.

Не усложняйте ситуацию и случайно не заблокируйте свои монеты на долгие годы.

Оцените статью: 
Средняя: 5 (2 оценки)

Категория: 

Хотите самым первым получать уникальную и важную информацию?
Добавляйте нас в закладки!
Подписывайтесь на наши проекты!
Аватар пользователя Максим Анисимов
Автор: Максим Анисимов Блокчейн-инженер, разработчик Android приложений, финансист с 2012 года. Разрабатывает приложения для криптовалют, блокчейна и инвестиций. Изучает программы, их уязвимости
Добавьте комментарий