Как использовать time-locked транзакции для отложенных выплат — практическое руководство

Как использовать time-locked транзакции для отложенных выплат — практическое руководство

Вы хотите заплатить сотруднику через три месяца, но не хотите, чтобы он мог потратить деньги раньше. Или вам нужно перевести средства партнёру, но только после выполнения условия — например, сдачи проекта. Вы не хотите полагаться на доверие. И не хотите, чтобы кто-то мог отозвать или изменить перевод после отправки. Всё это — задачи, для которых идеально подходят time-locked транзакции.

Это не магия. Это просто способ зафиксировать в блокчейне: «деньги отправлены, но доступны только после определённой даты или блока». И да — это работает на Bitcoin, Ethereum и многих других сетях. Давайте разберёмся, как это использовать на практике, без теории и без лишних слов.

Что такое time-locked транзакция и зачем она нужна

Time-locked (временная блокировка) — это механизм, который позволяет отправить криптовалюту, но сделать её недоступной для использования до определённого момента. Это не задержка в сети — это техническое ограничение, заложенное в саму транзакцию. Даже если у получателя есть приватный ключ, он не сможет потратить эти деньги до указанного времени.

Почему это полезно?

  • Вы платите аванс, но не хотите, чтобы человек ушёл с деньгами до завершения работы.
  • Вы распределяете выплаты по графику — например, 25% в месяц в течение 4 месяцев.
  • Вы участвуете в соглашении с контрагентом, где оплата зависит от выполнения условий по времени.
  • Вы хотите защитить средства от спонтанных трат — например, перевести часть дохода на «запасной счёт» с отсрочкой.

Суть проста: вы отправляете деньги, но ставите на них «таймер». Они не исчезают, не замораживаются банком — они просто не могут быть потрачены до указанного срока. И никто, кроме вас, не может это изменить.

Как это работает — пошагово

Всё происходит на уровне блокчейна. Вам не нужны специальные сервисы — только кошелёк, который поддерживает time-lock. Вот как это сделать на практике:

  1. Выберите сеть. Bitcoin — самый надёжный и проверенный для этого. Ethereum тоже поддерживает, но сложнее. Лучше начать с Bitcoin.
  2. Определите срок. Вы можете блокировать по времени (timestamp) или по номеру блока (block height). Время — проще для понимания. Например: «доступно 15 сентября 2024, 14:00 UTC».
  3. Создайте транзакцию с locktime. В кошельке, который это поддерживает (например, Electrum, Sparrow, или специализированные DApp-кошельки), вы указываете дату/время в поле «locktime» при отправке.
  4. Отправьте транзакцию. Она попадает в сеть, как обычная. Но получатель не может её потратить до указанного момента.
  5. Проверьте статус. Через блокчейн-эксплорер (например, blockstream.info для Bitcoin) вы видите, что транзакция есть, но её выходы помечены как «non-spendable until [дата]».

Важно: транзакция не «отправится позже». Она отправляется сразу. Просто её можно использовать только потом. Это ключевое отличие от «отложенного перевода» в банке — здесь нет посредников, нет задержек, нет риска, что платёж отменят.

Варианты блокировки: время vs блоки

Есть два способа задать время блокировки — и они работают по-разному.

Тип блокировки Как работает Плюсы Минусы
По времени (timestamp) Указывается конкретная дата и время в формате Unix (например, 1726387200 = 15.09.2024 14:00 UTC) Просто понятно: «через 30 дней», «в начале следующего месяца» Зависит от времени узлов сети — если узлы синхронизированы с разным временем, возможны небольшие расхождения
По номеру блока (block height) Указывается номер блока, например: «доступно после блока 840000» Более предсказуемо: блоки появляются регулярно (~10 мин на Bitcoin), нет зависимости от часов Нужно отслеживать темп майнинга. Если сеть замедлится — дата доступа сдвинется

Что выбрать? Если вы делаете выплату по календарному графику — используйте timestamp. Если вы привязываете выплату к прогрессу сети (например, «когда будет 100 000 блоков после старта проекта») — используйте block height. Для большинства бизнес-сценариев timestamp — проще и надёжнее.

Когда использовать time-lock — сценарии

Вот реальные ситуации, где это работает лучше всего:

  • Отложенный бонус. Вы даёте сотруднику 0.5 BTC, но только через 6 месяцев. Он знает, что деньги уже на его адресе — но не может их тронуть. Это мотивирует оставаться.
  • Постепенная выплата по контракту. Вы платите 1 BTC за проект, но разбиваете на 4 части: 0.25 BTC каждые 30 дней. Создаёте 4 транзакции с разными locktime.
  • Сделка с условием. Вы покупаете NFT, но оплата происходит только после получения ключа доступа. Вы отправляете BTC с locktime на 7 дней — если ключ не пришёл, вы можете отменить сделку (если у вас есть механизм отмены — см. ниже).
  • Семейный фонд. Вы переводите 1 BTC на кошелёк ребёнка, но разрешаете тратить только после 18 лет. Это безопаснее, чем дать ему ключ сейчас.

Если вы используете это для бизнеса — это снижает риски, убирает споры и делает соглашения прозрачными. Никто не может сказать: «я не получил», «я не знал», «вы не заплатили». Деньги уже на адресе, и они не тронутся до срока.

Частые ошибки — и как их избежать

Люди делают три ошибки — и потом тратят часы на восстановление ситуации.

  1. Указывают дату в прошлом. Транзакция с locktime в прошлом — это просто обычная транзакция. Деньги сразу доступны. Проверяйте дату дважды. Если вы указали 1 сентября 2023, а сегодня 2024 — транзакция сработает немедленно.
  2. Используют кошелёк без поддержки locktime. Многие мобильные кошельки (например, Trust Wallet, MetaMask по умолчанию) не позволяют задавать locktime. Вы можете отправить транзакцию — но она не будет заблокирована. Результат: деньги сразу доступны. Используйте только проверенные кошельки: Electrum (Bitcoin), Sparrow, или специализированные инструменты вроде Bitcoin Core.
  3. Не проверяют статус в блокчейн-эксплорере. Вы отправили — и думаете, что всё работает. Но если вы неправильно сформировали транзакцию, locktime может быть проигнорирован. Всегда проверяйте в blockstream.info (для Bitcoin) или etherscan.io (для Ethereum): есть ли поле «Locktime» и какое значение? Если его нет — вы не сделали time-lock.

Ещё одна подводная камень: если вы используете multisig (много-подписей), то locktime может работать только если все подписи были применены. Убедитесь, что вы понимаете, как ваша multisig-схема взаимодействует с locktime.

Как лучше сделать — практические рекомендации

Вот что работает на практике:

  • Всегда тестируйте на тестовой сети. Перед тем как отправить реальные деньги — сделайте пробную транзакцию на Bitcoin Testnet. Это бесплатно, и вы увидите, как всё работает.
  • Храните копию транзакции. Сохраните raw hex-код транзакции и её хеш. Если что-то пойдёт не так — вы сможете показать его юристу или техническому специалисту.
  • Используйте UTC. Не пишите «15 сентября» — укажите точное время в UTC. Временные зоны — источник ошибок.
  • Добавьте резервный срок. Например: «деньги доступны 15 сентября, но если проект не завершён до 30 сентября — возвращаются обратно». Для этого нужно использовать более сложные схемы (см. ниже).

Если вам нужно не просто отложить, а сделать условную выплату — например, «если условие A выполнено, деньги идут получателю, иначе — возвращаются» — тогда вам нужна смарт-контрактная схема. На Bitcoin это делается через OP_CHECKLOCKTIMEVERIFY и OP_CHECKSEQUENCEVERIFY. На Ethereum — через Solidity. Это уже не просто «отправить с locktime», а полноценный код. Если вам это нужно — лучше привлечь разработчика.

Что выбрать в зависимости от ситуации

Вот простое руководство:

  • Вы просто хотите отложить выплату на 2–6 месяцев — без условий: используйте Bitcoin + Electrum + timestamp. Просто, надёжно, бесплатно.
  • Вы платите по частям каждые 30 дней: создайте 3–4 отдельные транзакции с разными locktime. Не пытайтесь сделать одну «умную» транзакцию — это сложнее и рискованнее.
  • Вы хотите, чтобы деньги вернулись, если условие не выполнено: используйте multisig + time-lock + откатную транзакцию. Это требует знаний — лучше доверить разработчику.
  • Вы не хотите, чтобы получатель знал, что деньги уже пришли: это невозможно. Если транзакция в блокчейне — она видна. Можно только скрыть её смысл, но не факт её существования.

Если вы не уверены — начните с одного простого перевода. Отправьте 0.01 BTC с locktime на 7 дней. Проверьте, что получатель не может потратить до даты. Только после этого переходите к реальным суммам.

Что нельзя делать

Эти вещи — ловушки:

  • Не используйте time-lock как «отложенный перевод» в банке. В блокчейне нет отмены. Если вы ошиблись — деньги не вернуть, если только не у вас есть доступ к приватному ключу получателя.
  • Не делайте locktime слишком близко к текущему времени. Если вы отправляете транзакцию в 14:00 и ставите locktime на 14:05 — она может не сработать из-за задержек в сети.
  • Не полагайтесь на «всё автоматически». Даже если транзакция заблокирована — получатель может не знать, когда она станет доступна. Уведомите его вручную.

И главное: time-lock не заменяет юридический договор. Он только делает его технически выполнимым. Если вы заключаете соглашение — пишите его, подписывайте, и используйте time-lock как инструмент исполнения, а не как замену юридической силы.

Итог: что делать прямо сейчас

Если вы хотите использовать time-locked транзакции для отложенных выплат:

  1. Установите кошелёк Electrum (для Bitcoin) — он бесплатный, открытый и поддерживает locktime.
  2. Создайте новую транзакцию. В поле «Locktime» введите Unix-время нужной даты (например, 1726387200 для 15 сентября 2024, 14:00 UTC).
  3. Отправьте транзакцию. Убедитесь, что она появилась в блокчейн-эксплорере с пометкой «Locktime: 1726387200».
  4. Сообщите получателю: «Деньги уже на адресе, но будут доступны только 15 сентября. Проверьте сами — вот ссылка».
  5. Проверьте через 1–2 дня, что никто не смог потратить эти деньги раньше — это ваша гарантия, что всё работает.

Это не требует платформ, подписок, комиссий сверх обычных. Это работает на базовом уровне Bitcoin. И это надёжнее, чем любая «умная» платформа, которая обещает «отложенные выплаты» — потому что там вы доверяете их коду. Здесь вы доверяете математике.

Начните с малого. Отложите 0.001 BTC на 3 дня. Убедитесь, что это работает. Потом — увеличивайте. И больше никогда не полагайтесь на обещания. Деньги — это код. Код — это право. И вы можете его контролировать.

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

Platejigid.ru