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.