BIP-39 (Bitcoin Improvement Proposal 39) — специфікація, що перетворила абстрактні «256 біт ентропії» на дванадцять або двадцять чотири англійські слова, якими майже кожен сучасний гаманець резервує ключі. Автори — Марек Палатінус, Павол Руснак, Аарон Войсін і Шон Бов; стандарт ухвалено у 2013 році. Сьогодні це фактичний стандарт для Ledger, Trezor, Coldcard, Keystone, MetaMask, Rabby і десятків інших гаманців.
Що саме стандартизував BIP-39
По-перше, словник. Фіксований англійський словник на 2 048 слів, підібраний так, щоб перші чотири літери кожного слова були унікальними, — зручно для гравіювання на маленьких сталевих пластинах. Існують словники японською, корейською, іспанською, французькою та ще сімома мовами, але найширше підтримується саме англійський.
По-друге, перетворення ентропії на слова. Гаманець хешує ентропію, додає біти контрольної суми (один біт на кожні 32 біти ентропії) і ділить результат на 11-бітні блоки. Кожен блок — це номер слова в словнику. Виходить дванадцять слів для 128 біт ентропії або двадцять чотири — для 256.
По-третє, перетворення слів на зерно (seed). Слова проходять через PBKDF2-HMAC-SHA512 з 2 048 ітераціями, а необов'язкова парольна фраза слугує «сіллю». Результат — 512-бітне зерно, з якого за BIP-32 виводяться ключі.
Контрольна сума, що непомітно ловить помилки
Якщо ви неправильно переписали слова, контрольна сума не зійдеться, і гаманець не дасть завершити відновлення. Так ловиться більшість випадкових замін одного слова й майже всі заміни кількох слів. Це одна з найбільш недооцінених функцій, що захищають користувача.
Чим BIP-39 не є
BIP-39 — це не BIP-32 (дерево деривації) і не BIP-44 (структура шляхів для кількох акаунтів і монет). Це три окремі стандарти, що працюють разом: BIP-39 перетворює слова на зерно, BIP-32 — зерно на дерево ключів, а BIP-44 розкладає дерево на акаунти й монети. Майже кожен сучасний гаманець підтримує всі три.
Заковика: BIP-39 домінує, але не всюди. Cardano використовує іншу схему (специфікація Icarus / Yoroi). Старі гаманці Solana використовували seed-фрази без кроку деривації BIP-32. Завжди перевіряйте, що гаманець, на який переходите, використовує те саме поєднання BIP-39, BIP-32 і BIP-44.
Що почитати далі: Мнемонічна фраза, BIP-32, BIP-44, Шлях деривації.