Zelcore
Z
Zelcore TeamMulti-Asset Crypto Wallet & Web3 Ecosystem

Проблема зберігання активів у різних мережах: одна сид-фраза — багато реєстрів

7 хв читання
Проблема зберігання активів у різних мережах: одна сид-фраза — багато реєстрів

Ви зберігаєте надійно один аркуш паперу — з дванадцятьма або двадцятьма чотирма словами — і йдете, впевнені, що ваші криптоактиви в безпеці. Але цей аркуш захищає не один обліковий запис. Він захищає всі облікові записи в усіх блокчейнах, які підтримує ваш гаманець. У Zelcore це означає понад 80 мереж одночасно. Розуміння того, чому це так і що це означає для ваших рішень щодо зберігання активів, — основа всього іншого в безпеці самостійного зберігання.

Як сид-фраза кодує цілий всесвіт ключів

Сид-фраза схожа на набір випадкових слів, але насправді це точне кодування вихідної ентропії. BIP-39 — пропозиція щодо вдосконалення Bitcoin, яка стандартизувала цей формат, — визначає список рівно з 2,048 англійських слів. Кожне слово кодує 11 бітів інформації, тож жодне слово не є декоративним: кожне слово у фразі містить конкретні дані. Фраза з 12 слів кодує 128 бітів ентропії, а фраза з 24 слів — 256 бітів.

Мнемонічна фраза сама по собі не є криптографічним seed. Перш ніж вивести будь-які ключі, гаманець обробляє мнемонічну фразу за допомогою PBKDF2-HMAC-SHA512 — обчислювально складної функції розтягування ключа — із 2,048 ітераціями. На виході отримуємо 512-бітне двійкове значення: власне seed. Це розтягування робить атаки перебором непрактичними, навіть якщо зловмисник вгадає частину слів.

Важливий наслідок: якщо ви додасте необов’язкову парольну фразу (іноді її називають 25-м словом), функція PBKDF2 врахує її та створить цілком інший 512-бітний seed. Ті самі дванадцять слів з іншою парольною фразою відкривають зовсім окремий гаманець. Між ними немає жодного зв’язку, а якщо ви забудете парольну фразу, кошти буде втрачено назавжди.

Дерево деривації: один seed, нескінченні облікові записи

512-бітний seed є коренем ієрархічного детерміністичного (HD) дерева гаманця, визначеного стандартом BIP-32. Гаманець передає байти seed у HMAC-SHA512 (використовуючи буквальний рядок "Bitcoin seed" як ключ), який ділить 512-бітний результат на дві однакові частини: 256-бітний головний приватний ключ і 256-бітний головний код ланцюга. Кожен дочірній ключ, ключ наступного рівня та адреса в гаманці виводяться з цих двох значень за допомогою повторних операцій HMAC-SHA512.

BIP-44 стандартизує спосіб навігації деревом і визначає шлях деривації у форматі m/purpose'/coin_type'/account'/change/index. Кожен сегмент має своє призначення:

Апострофи позначають посилену деривацію — односпрямовану операцію, яка математично не дає змоги використати скомпрометований дочірній ключ для виведення ключів того самого рівня або батьківського ключа. Тому ключі вашого облікового запису Ethereum не можуть розкрити ключі облікового запису Bitcoin, хоча обидва походять від одного головного ключа.

У Zelcore одна сид-фраза одночасно контролює BTC, ETH, SOL, ADA та десятки інших активів — кожен у власному піддереві coin_type, детерміністично виведеному з одного 512-бітного кореня.

Як працює ця атака: єдина точка відмови для всіх мереж

Оскільки деривація є детерміністичною та стандартизованою, кожен, хто має вашу сид-фразу, може відновити всі приватні ключі в усіх підтримуваних мережах. Це не вада конструкції — так вона й задумана. Модель безпеки передбачає, що ніхто інший ніколи не побачить сид-фразу.

Наслідки очевидні. Розголошення сид-фрази відкриває доступ не лише до ваших Bitcoin. Зловмисник може вивести адресу Ethereum, Solana, Cardano та всіх інших ваших активів одночасно. Щойно хтось сфотографує вашу фразу відновлення Bitcoin, активи в Solana також опиняться під загрозою. Зловмисник може навіть не знати, що у вас є SOL.

Втрата сид-фрази створює протилежну проблему: немає резервного способу відновлення для окремої мережі, відновлення облікового запису чи можливості звернутися до служби підтримки. Ентропію, з якої було створено seed, математично неможливо відновити. Втрата паперового запису означає одночасну втрату доступу до всіх мереж.

Саме тому апаратні гаманці створюють сид-фразу всередині захищеного елемента й ніколи не передають її підключеному комп’ютеру. Seed створюється офлайн і залишається там.

Метадані окремих мереж, які не зберігаються в seed

Відновлення із сид-фрази повторно створює приватні ключі та стандартні шляхи деривації, але не зберігає все. Деякі категорії даних лежать поза межами того, що можна відновити із seed:

Практична порада: занотуйте не лише сид-фразу, а й те, яким програмним забезпеченням гаманця та шляхами деривації ви користувалися. Сама сид-фраза не завжди дає достатньо інформації для відновлення через кілька місяців або років.

Повторне використання адрес і міжмережева ідентичність

Поділ на сегменти coin_type у BIP-44 означає, що адреси Bitcoin та Ethereum, виведені з однієї сид-фрази, математично не пов’язані — вони мають спільний корінь, але не спільний відкритий ключ. Водночас EVM-сумісні мережі — Ethereum, BNB Chain, Polygon, Avalanche C-Chain, Base та інші — використовують спільний coin_type = 60. Тому та сама адреса 0x... з’являється в кожній EVM-мережі.

Це задумано навмисно, але створює зв’язок ідентичності між мережами. Кожен, хто знає вашу адресу Ethereum, може переглянути вашу активність у всіх EVM-мережах за цією самою адресою. Якщо ви дбаєте про конфіденційність, зважте на це, перш ніж об’єднувати активи.

Модель UTXO у Bitcoin традиційно заохочує створювати нову адресу для кожної транзакції — HD-гаманці роблять це автоматично. Облікова модель Ethereum робить ротацію адрес рідкісною; більшість користувачів безстроково використовують одну адресу для кожного облікового запису. Повторне використання адреси Bitcoin для багатьох транзакцій послаблює конфіденційність, оскільки спрощує пов’язування входів зі спільним власником.

Для зберігання активів значної вартості розгляньте можливість розподілити їх за різними seed: використовуйте окрему сид-фразу для високоризикової торговельної діяльності та довгострокових активів або пристрій із фізичною ізоляцією від мережі (який ніколи не підключали до пристрою з доступом до інтернету) для значних активів.

Як захистити себе: усунення єдиної точки відмови

Сид-фраза — водночас ваш найпотужніший інструмент відновлення і найнебезпечніша єдина точка відмови. Ось конкретні кроки для її захисту:

  1. Запишіть її на металі, а не на папері. Пластини з нержавної сталі або титану витримують пожежу й повінь. Папір — ні.
  2. Ніколи не переводьте її в цифровий формат. Жодних знімків екрана, нотаток у хмарі, менеджерів паролів чи копій, набраних на клавіатурі. Щойно сид-фраза потрапляє на пристрій із доступом до мережі, поверхня для атаки суттєво збільшується.
  3. Перевірте відновлення, перш ніж вносити значні кошти. Відновіть гаманець на новому пристрої, використавши лише сид-фразу, і переконайтеся, що вона працює та створює очікувані адреси.
  4. Розгляньте схему розподілу секрету Шаміра (SLIP-39). SLIP-39 — це стандарт, який розділяє seed на N часток; для відновлення достатньо M із них. Це дає змогу зберігати частки в різних місцях: одну — у домашньому сейфі, одну — у людини, якій ви довіряєте, ще одну — у банківському сховищі. Жодне окреме місце при цьому не містить повного секрету.
  5. Зважте компроміс, пов’язаний із парольною фразою. Надійна парольна фраза (25-те слово) дає змогу правдоподібно заперечити наявність основних коштів: на гаманці без парольної фрази зберігається невелика сума-приманка, а справжні активи доступні лише з нею. Ризик симетричний: забути парольну фразу так само остаточно, як і втратити саму сид-фразу.

Для користувачів криптогаманців, які зберігають активи в багатьох мережах у Zelcore, особливо важливий останній пункт: під час однієї перевірки відновлення слід охопити всі мережі, якими ви активно користуєтеся, а не лише найочевиднішу.

Головне


Читайте також

«Не ваші ключі — не ваші монети»: що насправді зберігає біржа

«Не ваші ключі — не ваші монети»: що насправді зберігає біржа

Пояснюємо різницю між борговим зобов’язанням біржі перед вами та фактичним володінням активами в блокчейні. На прикладах FTX і Mt. Gox показуємо, що означає кастодіальне зберігання на практиці.

6 хв читання
Сид-фрази: головний ключ до всіх ваших облікових записів

Сид-фрази: як вони працюють, як їх зберігати та що з їхньою допомогою не відновити

Повний посібник із сид-фраз: як BIP-39 кодує їх, як BIP-32/44 дають змогу отримати кожен ключ у кожному блокчейні, як безпечно їх зберігати, що вони відновлюють і чого не відновлюють, а також які проблеми можуть виникнути лише під час відновлення.

12 хв читання
25-те слово: як парольна фраза додає другий рівень захисту

25-те слово: як парольна фраза додає другий рівень захисту

Як парольні фрази BIP-39 створюють повністю окремий прихований гаманець, чому вони є найнадійнішим захистом від фізичної крадіжки сид-фрази, які бувають серйозні наслідки помилок і коли такий ризик справді виправданий.

7 хв читання

Підпишіться на нашу розсилку

Раз на місяць — дружній лист від нас. Жодного спаму, лише останні новини Zelcore.

Підпишіться на нашу розсилку