BIP-44 (Bitcoin Improvement Proposal 44) доповнює BIP-32 стандартною структурою шляху, завдяки якій з однієї seed-фрази можна вивести гаманці для кількох монет, кілька акаунтів для кожної монети та окремі ланцюжки адрес для отримання й для решти. Саме тому одна фраза з 12 слів може тримати BTC, ETH, LTC і десятки інших монет під однією резервною копією.

П'ять рівнів шляху

BIP-44 задає шлях у форматі m / purpose' / coin_type' / account' / change / address_index:

  • purpose — для BIP-44 завжди 44' (новіші BIP використовують 49', 84', 86' для варіантів SegWit і Taproot)
  • coin_type — 0' для Bitcoin, 60' для Ethereum, 145' для Bitcoin Cash; значення зареєстровані в SLIP-44
  • account — 0' для першого акаунта, 1' для другого і так далі
  • change — 0 для адрес отримання, 1 для адрес решти
  • address_index — 0, 1, 2, … для кожної наступної адреси в акаунті

Отже, перша адреса отримання Bitcoin зазвичай лежить за шляхом m/44'/0'/0'/0/0, а перша адреса Ethereum — за шляхом m/44'/60'/0'/0/0.

Чому ця структура важлива на практиці

Три практичні наслідки:

По-перше, MetaMask використовує нестандартний шлях для Ethereum (m/44'/60'/0'/0 без останнього рівня — рівень change він обробляє інакше). Якщо імпортувати seed-фразу з MetaMask у Ledger Live чи Trezor Suite зі стандартним шляхом BIP-44, ви не побачите тих самих адрес. Звідси чимало звернень у підтримку «куди зникли мої кошти», які зрештою виявляються розбіжністю шляхів.

По-друге, Bitcoin SegWit (BIP-49, SegWit в обгортці P2SH) і native SegWit (BIP-84, bech32) мають різні значення purpose. Гаманець, відновлений як «BIP-44 Bitcoin», покаже не ті баланси, що відновлений як «BIP-84 Bitcoin», навіть із тієї самої seed-фрази.

По-третє, реєстр coin_type (SLIP-44) не охоплює всього. Новіші мережі іноді беруть той самий coin_type, що й зовсім інша мережа (Polygon роками використовував 60' від Ethereum). Тобто гаманець Polygon і гаманець Ethereum, виведені з однієї seed-фрази, мають буквально ті самі приватні ключі. Це задумано так, а не помилка, але багатьох дивує.

Де ви натрапите на шлях

Апаратні гаманці показують шлях під час відновлення: Trezor Suite запропонує «Standard» (BIP-44), «Native SegWit» (BIP-84) і «Taproot» (BIP-86). Оберіть той, який використовував початковий гаманець, — і адреси повернуться. Оберете не той — адреси будуть технічно правильні, але інші, і з нульовим балансом.

Що почитати далі: BIP-32, BIP-39, Шлях деривації.