Duress Wallet — це гаманець, підготовлений для розкриття доступу, якщо хтось змушує власника віддати доступ до біткоїнів. Залежно від реалізації його відкриває спеціальний PIN або інша passphrase — додатковий секретний текст. Мета полягає в тому, щоб показати цей гаманець замість основного. Проте біткоїни в ньому справжні, і їх можна витратити. Функція може обмежити саме розкритий доступ, але не гарантує, що інша людина повірить показаному балансу або припинить погрози.
Гаманець — це застосунок або пристрій для отримання й надсилання біткоїнів. Приватні ключі — це таємні числа, за допомогою яких можна дозволити витрачання біткоїнів. Уявімо, що Петро тримає основні заощадження в одному гаманці, а інший готує на випадок примусу. Пристрій із відповідною функцією після спеціального PIN може відкрити лише другий: надати доступ до його ключів для підписання платежів. Основний гаманець із цього режиму недоступний. Це, однак, не підроблений екран із вигаданими грошима. Платіж із другого гаманця звичайним чином потрапить у мережу Bitcoin. Назва Duress Wallet сама не пояснює ні способу виведення ключів, ні інших дій, які запускає PIN. Петро має розуміти точну поведінку пристрою, а не лише назву в меню. [1] [6] [7]
PIN зазвичай розблоковує Hardware Wallet — пристрій, що захищає ключі. Passphrase BIP39 має іншу роль: разом із Seed Phrase, резервною копією у словах, вона бере участь в обчисленні seed, тобто початкових даних для створення ключів. Навіть passphrase з друкарською помилкою приймається програмою і зазвичай відкриває інший порожній гаманець. Перед обчисленням BIP39 уніфікує запис символів за допомогою нормалізації. Для повернення потрібні правильна копія й початкова passphrase; Trezor її не відновить. Тож зміна passphrase не схожа на зміну пароля пошти: біткоїни не переходять до нового гаманця. Підтримка passphrase також не означає підтримки спеціального Duress PIN. [2] [3]
Якщо хтось уже бачив основний гаманець Петра або знає його адреси, менша сума на іншому екрані не стирає цього знання. BIP39 допускає різні дійсні гаманці, але не доводить, що інших немає. COLDCARD пояснює це на прикладі SSSP — налаштування правил витрачання для одного підписанта: людина з основним PIN може експортувати XPUB. Цей розширений публічний ключ дозволяє спостерігати за відповідними адресами та балансом. Сам він не підписує платежів, але може розкрити інформацію. Значення мають також записи про купівлі й попередній доступ до застосунку. Водночас сам зв’язок транзакцій у блокчейні ще не доводить особу власника. [2] [5]
Одні Trick PIN лише відкривають інший гаманець, інші стирають секрети або назавжди блокують пристрій. Наслідки різні. Виходи Bitcoin — суми, пов’язані з умовами витрачання, — залишаються записаними в блокчейні. За наявності повної резервної копії вони можуть залишатися доступними на іншому пристрої. Якщо зникає єдина придатна копія ключів, доступ може втратити й сам власник. Стирання також не керує реакцією людини, яка погрожує. Тому опис функції не є порадою вмикати її в небезпечній ситуації. [1] [6]
Записати «резервний PIN» Петрові недостатньо. Треба знати, які дані відновлюють основний гаманець, а які — окремий: Seed Phrase, можливу passphrase і потрібні параметри отримання ключів. Самі слова копії не замінять забуту passphrase BIP39. Під час репетиції з окремими тестовими даними варто порівняти відомі адреси отримання й перевірити, що відкривається після перезапуску. Поява якогось дійсного гаманця в застосунку ще не підтверджує відновлення саме потрібного. Руйнівні опції не слід випробовувати на єдиній доступній резервній копії справжнього гаманця. [3] [4]
Крадіжка вимкненого пристрою, викрадення резервної копії та прямий примус людини — три різні ситуації. Противник щоразу має інші знання й можливості. Duress Wallet може бути частиною продуманої Self-custody, коли власник сам контролює ключі, але не дає універсально надійного сценарію. Не існує й технічно перевірюваної «безпечної суми» для другого гаманця. Важливі особиста безпека, близькі люди, відновлення й ризик власної помилки. Перевірка пристрою показує поведінку програми, а не майбутні дії нападника. Тому EFF радить будувати план безпеки на конкретних загрозах і регулярно його переглядати. [6] [5]
У BIP85 один головний набір секретних даних дозволяє повторно створювати інші гаманці. Основою є головний розширений приватний ключ BIP32: приватний ключ разом із даними для отримання наступних ключів. Обчислення проходить шляхом, де кожен крок має тип hardened і потребує приватного ключового матеріалу. Далі результат обробляє HMAC, хеш-функція з ключем. У цій ієрархії похідні гаманці називають нащадками, а головну основу — коренем. Нащадок не має дозволяти обчислити корінь; проте людина, яка отримала корінь і потрібні параметри, може знову створити нащадків. Окремі адреси тому не гарантують незалежних резервних копій. Варто розрізняти гаманець від спільного кореня, гаманець з іншою passphrase та гаманець зі справді незалежним seed. Для відновлення залишаються важливими правильний шлях та індекс — номер вибору конкретного нащадка. [4]
Документація COLDCARD розрізняє Duress Wallet без стирання основного seed і Wipe → Wallet, що стирає його, а потім відкриває вибраний гаманець. У ній наведено три варіанти BIP85 та старіший Legacy Wallet. Для основної резервної копії з 24 слів варіанти BIP85 використовують індекси 1001–1003, для 12 слів — 2001–2003. Legacy має шлях m/2147431408h/0h/0h; h позначає hardened крок. Це особливості конкретної реалізації, а не правила консенсусу Bitcoin. Інший пристрій чи версія firmware — внутрішньої програми — не обов’язково поводитиметься так само через схожу назву. Для відновлення теж потрібно знати точний режим. [1]
Для повної картини прочитайте також BIP85, BIP39 passphrase, Hardware Wallet, Самостійне зберігання, Secure Element, Seed Phrase.