154 / 736DMS

Dead Man’s Switch

Что должно произойти, если владелец перестанет отвечать

Анна хочет, чтобы семья смогла получить доступ к её биткоинам, если она уже не сможет помочь. Dead Man’s Switch может после периода неактивности передать инструкции или открыть другой путь к средствам. Но он должен учитывать и потерю телефона, и пребывание Анны в больнице.

Dead Man’s Switch разрешает заранее заданное действие после пропущенного подтверждения или установленного срока. Он может отправить сообщение или открыть другой путь расходования биткоинов. Он не знает, умер ли владелец, а технический доступ не доказывает наследственных прав.

Анна готовит план для семьи: пока может, управляет биткоинами сама; если надолго станет недоступной, должны существовать другие возможности. Кошелёк — приложение или устройство для получения и отправки биткоинов. Подписать здесь означает с помощью закрытого ключа, секретного числового значения, создать проверяемое доказательство разрешения на платёж. Другие могут проверить подпись, не зная этого секрета. Выход транзакции записывает сумму и условия, при которых её можно потратить позже. Dead Man’s Switch оценивает определённый сигнал, например отсутствие подтверждения или возраст выхода. Он не знает, почему владелец перестал отвечать. Госпитализация, сломанный телефон или забытое обслуживание могут выполнить то же условие. Сначала нужно определить, что система действительно наблюдает и что после этого разрешено. Даже исправный механизм не устанавливает законного наследника. Он помогает плану, но не заменяет все связанные решения. [1] [5] [8] [9]

Сервис deadmansswitch.net показывает вариант с сообщениями: человек готовит письма, выбирает адресатов и регулярно подтверждает присутствие. После пропущенных подтверждений сервис отправляет сообщения. Это отличается от Bitcoin Script — правил, проверяемых сетью при расходовании средств. Письмо может указать, где искать документы, но не предоставить нужных подписей. Нужно учитывать недоставленные сообщения, потерю аккаунта и преждевременное раскрытие. Seed Phrase, слова для получения ключей кошелька, — не обычная заметка: после утечки смена таймера не отнимет чужого знания. Необходимо также решить вопрос перевода уязвимых средств под новые ключи. [7]

Другой вариант встроен в условия расходования кошелька. Например, Liana различает основной путь, доступный сразу, и путь восстановления после ожидания. В этой модели исходные полномочия Анны не прекращаются с окончанием срока. Добавляется возможность; кто-то по-прежнему должен создать, подписать и передать сети действительную транзакцию. Если у обоих держателей есть доступные пути, они могут конкурировать за один UTXO — конкретный ещё не потраченный выход транзакции. Решает подтверждённое расходование в цепочке, а не метка владелец или наследник в приложении. Пропущенное обслуживание может дать другому человеку доступ ещё при жизни Анны. [1] [5]

Подготовка начинается задолго до ближайшего срока. Анне нужны надёжные напоминания, запас времени и средства на возможные комиссии. Частое обновление стоит комиссий; долгое ожидание откладывает доступ по пути восстановления. Семье нужны правильные ключи, понятное описание кошелька и подходящая программа. Output Descriptor — машиночитаемое описание ключей и условий поиска и расходования выходов; сама конфигурация не заменяет требуемых подписей. Документы не должны застрять в аккаунте, который открывается только недоступным телефоном Анны. Такая копия существует, но не поможет в нужный момент. [5] [6]

При относительном временном ограничении у каждого UTXO собственное ожидание. Блок объединяет транзакции в пакет, добавляемый в общую историю. Если выход подтверждён в блоке H, а другой путь требует 1000 блоков, он доступен не раньше H+1000 при выполнении остальных условий. Вход в приложение или получение другого платежа не обнуляет возраст этого выхода. Анна должна потратить именно его и дождаться подтверждения нового с нужными условиями. Обновление лишь части кошелька может оставить старые выходы близко к границе. Открыть кошелёк сегодня — не то же самое, что обновить расписание всех монет. [1] [2] [9] [10]

Timelock ограничивает время доступности пути расходования. BIP 65 и OP_CHECKLOCKTIMEVERIFY задают абсолютную границу, например высоту блока. BIP 112 и OP_CHECKSEQUENCEVERIFY вместе с BIP 68 могут требовать определённого возраста UTXO. Временной относительный вариант использует единицы 512 секунд и median-time-past — время, полученное из блоков. BIP 113 описывает медиану временных меток предыдущих 11 блоков: среднее по позиции значение после сортировки. Это не часы телефона и не обещание точного календарного момента. Документы задают правила; читателю прежде всего нужно знать, какие часы использует его план. [1] [2] [3] [4]

Другой план может передать семье уже подписанную транзакцию с задержкой. Поле nLockTime ограничивает, когда именно эта транзакция может подтвердиться; само по себе оно не запрещает владельцу ключа подписать другую. Заранее подписанный план ссылается на конкретные UTXO, получателей и способ оплаты комиссии. Если другая подтверждённая транзакция первой потратит вход, старая подписанная транзакция станет непригодной. Изменение документа не обновляет ни средства, ни материалы семьи. Меняя план, нужно проверить реальные выходы, права подписи и передачу адресатам нового рабочего набора информации. [3]

Liana публикует инструкции для Signet — отдельной тестовой сети, монеты которой не имеют реальной стоимости. Там можно проверить преждевременную попытку, открытие пути восстановления и обновление срока UTXO. В собственном плане стоит также учесть недоставленные уведомления, потерю основного ключа и восстановление из действительно сохранённых материалов тестового кошелька. После смены получателя нужно выяснить, что всё ещё позволяют старые ключи и выходы. Действительная подпись, приём в mempool неподтверждённых транзакций и подтверждение в блоке — разные шаги. Одна удачная демонстрация не доказывает устойчивости к любому сбою. [6] [1]

Для полной картины прочитайте эту статью вместе с Bitcoin Inheritance Plan, Timelock, Bitcoin Vault, Miniscript, Output Descriptor, Seed Phrase. На эту статью также ссылаются Bitcoin Inheritance Plan.

DOC · 001BIP 112 — CHECKSEQUENCEVERIFYСпецификация DOC · 002BIP 68 — Relative lock-timeСпецификация DOC · 003BIP 65 — OP_CHECKLOCKTIMEVERIFYСпецификация DOC · 004BIP 113 — Median time-pastСпецификация DOC · 005Liana — Wallet architectureПервичный источник DOC · 006Liana — Signet testing guideДокументация DOC · 007Dead Man’s Switch — Service mechanismПервичный источник DOC · 008Bitcoin Developer Guide — WalletsДокументация DOC · 009Bitcoin Developer Guide — Block ChainДокументация DOC · 010Liana — ChangelogДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией