Два слова, що в крипті використовують як синоніми — а не повинні

«Приватний ключ» і «seed-фраза» в більшості україномовних крипто-публікацій використовуються як синоніми. Це не одне й те саме. Seed-фраза — це інструкція відновлення: послідовність з 12 або 24 англійських слів, що через алгоритм BIP-39 детермінованим чином регенерує весь гаманець: кожен приватний ключ, кожну публічну адресу, кожен шлях деривації. Приватний ключ — це конкретний криптографічний файл, виведений з цього seed, зазвичай 32-байтне число, що використовується для підпису однієї конкретної адреси.

Втратите seed-фразу — втрачаєте доступ до всіх адрес, коли-небудь виведених з неї. Втратите один приватний ключ, але seed ще на руках — можна регенерувати цей ключ. Seed — корінь; приватні ключі — гілки. Поводьтеся з ними по-різному в зберіганні, бекапі, спадковому плануванні, і в розмові з будь-ким, хто стверджує, що йому «потрібен ваш приватний ключ для лагодження чогось».

Механіка BIP-39 простими словами

BIP-39 — це специфікація 2013 року, що вирішила реальну проблему: випадкові hex-рядки в 256 біт незручно запам'ятовувати, важко диктувати по телефону, легко неправильно скопіювати. Специфікація мапить випадкове 128 чи 256-бітне число в послідовність з 12 або 24 англійських слів з фіксованого списку в 2 048 записів.

Список з 2 048 слів навмисно обмежений. Жодне слово не є префіксом іншого. Жодних слів довших 8 літер. Жодних слів з регіональними орфографічними варіантами. Останнє слово в послідовності кодує 4-бітну (для 12-словних seed) або 8-бітну (для 24-словних) контрольну суму. Якщо ви записали 11 правильних слів і одне неправильне, контрольна сума не сходиться — саме так Mnemonic Format Checker на цьому сайті ловить помилки переписування до того, як вони стануть невідновними втратами.

З seed-слів BIP-32 виводить майстер-приватний ключ, а BIP-44 проходить по дереву «дочірніх» приватних ключів, по одному на адресу, по одному на ланцюг. Стандартний шлях деривації для Bitcoin — m/44'/0'/0'/0/0 для першої адреси. Ethereum використовує m/44'/60'/0'/0/0. Різні гаманці іноді використовують різні шляхи — тому перенесення seed-фрази між гаманцями іноді дає адреси, відмінні від очікуваних.

Що реально означає «контроль»

У крипто-кастоді «у вас є контроль» — бінарний стан без напівтонів. Або приватний ключ для адреси існує в місці, до якого можете дійти тільки ви, або в місці, до якого може дійти і хтось ще. Жодного часткового контролю, «майже кастоді», «він у мене, але біржа також зберігає копію для безпеки» — цього немає.

Акаунт на біржі — це не кастоді. Bybit, Binance, OKX, KuCoin — всі вони тримають ваші активи у власних пулах гаманців і кредитують ваш акаунт числом. Число може бути заморожене, скасоване, заблоковане на перевірку compliance, або обнулене якщо біржа стає неплатоспроможною. Крах FTX 2022 року зробив це явним у масштабі: клієнти думали, що в них «є» 8 мільярдів у крипті на платформі; у них були IOU. Апаратний гаманець під подушкою з seed, яку ви записали — це кастоді. Все інше — ступені довіри до чужої кастоді від вашого імені.

НБУ, ДПС і Кіберполіція проводять одну лінію у своїх рекомендаціях: активи на регульованій біржі — власність клієнта в теорії, але відновлення на практиці залежить від платоспроможності біржі та готовності співпрацювати. Активи в самокастоді однозначно ваші і однозначно ваша проблема.

Де seed-фраза йде не так

Найчастіший режим відмови в роздрібному крипто-кастоді — не зломи бірж, не фішинг, не падіння ринку. Це втрата seed-фрази — холдер забуває, куди записав, пожежа знищує єдину копію, чоловік очищає шухляду під час переїзду, жорсткий диск падає з єдиним цифровим бекапом. Оцінки індустрії ставлять це в 20-25% всього коли-небудь випущеного крипто, з одним лише Bitcoin показуючим близько 4 мільйонів BTC, що вважаються постійно недоступними.

Другий найчастіший режим відмови: seed існує, але був скопійований в місце, що виявилося не приватним. Фото, синхронізовані в iCloud. Notes-застосунки з бекапом у Google Drive. Менеджери паролів, що пройшли через фішинг. Шматки паперу в шухляді для шкарпеток, сфотографовані під час казуального обходу квартири. Звіт Chainalysis 2024 року оцінив, що близько 35% втрат «вкраденої крипти» відстежуються назад до розкриття seed-фрази, а не до активного фішингу чи компрометації біржі.

П'ятирівнева ієрархія зберігання seed-фрази

  • Рівень 1 — Дві металеві пластини в двох географічних місцях. Вибийте seed на двох сталевих пластинах (Cryptotag, Billfodl, Cryptosteel). Одну вдома у вогнестійкому сейфі; другу в банківській комірці, у батьків, або у адвоката. Переживає вогонь, повінь, крадіжку однієї локації, і час. Вартість: 120–300 USD. Дефолт для холдингів від 500 000 грн.
  • Рівень 2 — Папір у двох географічних місцях. Та сама архітектура, папір замість металу. Безкислотний папір, tamper-evident конверт, вогнестійкий сейф. Прийнятно для менш ніж 500 000 грн. Вартість: 5 USD.
  • Рівень 3 — Shamir Secret Sharing (SLIP-39). Seed ділиться на N частин; будь-які M можуть реконструювати. Trezor Safe 3 і Safe 5 підтримують SLIP-39 нативно.
  • Рівень 4 — Мультисиг з двома або більше апаратними гаманцями. Кошти тримаються під адресою 2-of-3 або 3-of-5 мультисиг. У кожного підписуючого пристрою свій seed. Захисна стеля: жодна компрометація seed не втрачає кошти.
  • Рівень 5 — Зашифрований цифровий бекап з passphrase у пам'яті. Seed зашифрований довгою passphrase, яку ви пам'ятаєте; шифротекст зберігається в менеджері паролів. Passphrase не покидає вашу голову.

Методи, яких варто уникати: фото на телефоні (синхронізоване в хмару, скановане malware), запис у notes-застосунку (шифрування прив'язане до акаунту), запис у менеджері паролів без шару шифрування (відкритий текст для кожного, хто зламає менеджер), запам'ятовування тільки в голові (пам'ять не достатньо довговічна через десятиліття, травму голови, або деменцію).

Passphrase BIP-39, також звана «25-е слово»

Passphrase BIP-39 — це окремий опціональний шар, що додається поверх seed з 12 або 24 слів. Вона не зберігається ніде на пристрої. Неможливо вивести її з одного seed. Разом seed-слова плюс passphrase виробляють зовсім інший набір адрес, ніж seed виробив би один.

Захисна логіка проста: якщо злодій отримає ваші seed-слова, але не знає вашу passphrase, він бачить «приманний» гаманець (виведений тільки з seed, з будь-яким малим балансом, який ви опціонально там тримаєте). Реальні кошти знаходяться в адресах, виведених з seed плюс passphrase, повністю невидимих для злодія.

Правила passphrase: мінімум 12 символів, змішаний регістр, ідеально не в якомусь словнику, і абсолютно ніколи не записуйте на тому ж носії, що seed. Загальна практика: запам'ятовувати passphrase, написати підказку, що має сенс тільки для вас, на металевій пластині, ніколи не писати саму passphrase.

Компроміс: забута passphrase втрачає доступ до реальних коштів назавжди. Практикуйте набирати passphrase раз на місяць. М'язова пам'ять — це бекап проти забування.

Репетиція відновлення

Раз на рік запускайте репетицію відновлення. Купіть дешевий запасний апаратний гаманець будь-якого типу. Ініціалізуйте. Відновіть seed з вашої металевої пластини або паперового бекапу. Перевірте, що адреси на відновленому гаманці співпадають з адресами на вашому активному гаманці (адреса-1 Bitcoin, адреса-0 Ethereum — повинні бути ідентичні символ-за-символом).

Якщо адреси не співпадають, щось не так: неправильно вибита літера на пластині, пошкоджений паперовий бекап, невірно запам'ятане слово. Краще знайти це під час репетиції, ніж під час реального відновлення, коли ви втратили активний пристрій.

Якщо ви використовуєте passphrase, репетуйте і з passphrase. Переконайтеся, що і приманний гаманець (тільки seed) і реальний (seed плюс passphrase) відновлюються правильно. Після репетиції зітріть запасний пристрій. Сенс репетиції — валідувати бекап, а не залишити третю копію seed розкиданою навколо.

Як виглядає чистий приватний ключ і коли ви можете з ним зіткнутися

Поза контекстами, що використовують явно BIP-39 (що є більшістю сучасних гаманців), ви зрідка стикаєтеся з чистими приватними ключами. Приватний ключ Bitcoin у форматі WIF (Wallet Import Format) виглядає як 5K... або L... або K... — 51 або 52-символьний base58 рядок. Приватний ключ Ethereum — 64-символьний шістнадцятковий рядок, що починається з 0x.

Старі Bitcoin-гаманці (до 2014) генерували окремі приватні ключі, по одному на адресу. Деякі smart-contract гаманці генерують session keys, що технічно приватні ключі, але з обмеженим scope. Brain wallets — дискредитована практика виведення приватного ключа із запам'ятованої фрази за допомогою hash-функції — виробляють чисті приватні ключі. Ніщо з цього не схоже на те, як працюють сучасні гаманці, але це існує в реальності.

Потік імпорту: більшість гаманців мають опцію «Імпорт приватного ключа» окремо від «Відновлення з seed-фрази». Імпорт приватного ключа створює «watch-only» або «імпортовану» адресу, що не виводиться з вашого поточного seed. Переведіть кошти з цієї імпортованої адреси на адресу, виведену з вашого seed, якомога швидше — імпортована адреса — це сирота в дереві вашого гаманця, якою складніше керувати довгостроково.

Що робити, коли хтось просить ваш приватний ключ

Коротка відповідь: ні в кого ніколи немає легітимної причини запитати ваш приватний ключ. Не у підтримки біржі. Не у «команди клієнтської служби Ledger». Не у офіційного акаунту проєкту в X. Не у Кіберполіції. Ні в кого, ніколи, ні за яких обставин.

Більш довга відповідь та сама. Не існує сценарію, в якому легітимний сервіс чи людина потребує вашого приватного ключа. Біржі керують вашими активами з внутрішніми гаманцями; їм не потрібен ваш зовнішній приватний ключ ні для чого. Виробники апаратних гаманців діагностують проблеми пристрою, ніколи не потребуючи seed — діагностичний режим Ledger Live читає серійні номери і версії прошивки пристроїв, не seed.

Коли розмова йде «нам потрібно верифікувати ваш гаманець, будь ласка введіть вашу seed-фразу або приватний ключ на нашому порталі», розмова — це шахрайство. Завжди. Без винятку. Людина, що питає — атакуючий. Зупиніть розмову, зробіть скриншот для доказів, і подайте заяву до Кіберполіції через cyberpolice.gov.ua, якщо платіж був запитаний або відправлений.

Спадкове планування: розмова, яку ніхто не веде

Більшість українських крипто-холдерів не сказали чоловіку/дружині, виконавцю заповіту чи адвокату, де зберігається seed-фраза або як її використовувати. Коли холдер вмирає або стає недієздатним, seed-фраза стає нерелевантною — ніхто не знає, що вона існує, чи де живе, чи що з нею робити. Холдинги фактично зникають.

Мінімальний крок спадкового планування: напишіть односторінковий документ «інструкції з відновлення крипто», підписаний і датований, що зберігається разом з іншими матеріалами спадкового планування (заповіт, документи на нерухомість). Документ не містить сам seed. Він називає: модель пристрою, локацію сейфу, де живе бекап seed, ПЗ гаманця, необхідне для взаємодії з seed, і список кожного біржового акаунту з обліковими даними у вашому менеджері паролів.

Документ не повинен називати passphrase BIP-39. Passphrase — це шар, що захищає від того, що виконавець піде не туди, або документ відновлення витече. Passphrase повідомляється тільки чоловіку/дружині (усно) або зберігається в окремому запечатаному конверті в іншого адвоката, з інструкцією випустити тільки за свідоцтвом про смерть + судовим рішенням.

П'ять правил для засвоєння

  • Правило 1 — Seed-фраза — це інструкція відновлення. Поводьтеся з нею як з паспортом без терміну придатності: тримайте фізично, у двох місцях, ніколи не дозволяйте їй торкатися інтернету.
  • Правило 2 — Приватний ключ — це одна гілка дерева, що вирощує seed. Втратите приватний ключ — можна регенерувати з seed. Втратите seed — втратите все.
  • Правило 3 — Ні у кого ніколи немає легітимної причини запитати ані те ані інше. Сам запит — доказ шахрайства.
  • Правило 4 — Passphrase BIP-39 додає шар захисту, до якого злодії не доходять тільки з seed. Використовуйте, якщо ваші холдинги перевищують шість цифр.
  • Правило 5 — Запускайте репетицію відновлення раз на рік. Вартість — один вечір. Вартість не робити — потенційно все.

Подальше читання на цьому сайті: П'ять методів зберігання seed, Порівняння апаратних гаманців, Відновлення після витоку, Самоперевірка з 30 пунктів.