BIP-39
Стандарт Bitcoin Improvement Proposal номер 39, описывающий, как из случайной энтропии получается мнемоническая фраза из 12, 18 или 24 слов. Используется почти всеми современными кошельками, включая TON-кошельки.
Синонимы: bip 39, bip0039, мнемонический стандарт
BIP-39 (Bitcoin Improvement Proposal 39) — стандарт, описывающий процедуру генерации, кодирования и восстановления мнемонической фразы. Принят в Bitcoin-сообществе в 2013 году и с тех пор стал индустриальной нормой: его используют все основные TON-кошельки (Tonkeeper, MyTonWallet, Tonhub, Wallet в Telegram), а также Ethereum, Bitcoin, Solana и большинство других экосистем.
Что описывает стандарт
BIP-39 фиксирует три вещи:
- Словари. Список из 2048 слов на 11 языках (английский, японский, китайский упрощённый и традиционный, французский, итальянский, испанский, корейский, чешский, португальский). Английский — де-факто стандарт для TON.
- Алгоритм генерации. Случайная энтропия (128, 192 или 256 бит) → SHA-256 → контрольная сумма → биты разбиваются по 11 → каждые 11 бит = индекс в словаре → слово.
- Преобразование в seed. Мнемоника + опциональный passphrase → PBKDF2-HMAC-SHA512 (2048 итераций) → 64-байтовый master seed.
Зачем 2048 слов
11 бит на слово (2¹¹ = 2048). 24 слова × 11 бит = 264 бит, из которых 256 — энтропия и 8 — контрольная сумма для проверки целостности при ручном вводе.
Слова отобраны так, чтобы первые 4 буквы каждого слова были уникальными — это позволяет вводить только префикс, а остальное автодополнить. Также в словаре нет похожих по написанию слов (избежание ошибок), и нет коротких слов до 3 букв.
TON и BIP-39
TON-кошельки используют только английский словарь BIP-39 и фразы из 24 слов. Деривация ключей идёт по схеме, специфичной для TON (Ed25519, путь m/44'/607'/0'), но мнемоника-источник — стандартный BIP-39. Это значит, что одну и ту же 24-словную фразу теоретически можно использовать и в TON-кошельке, и в Bitcoin/Ethereum-кошельке — они выведут разные ключи и адреса, потому что путь деривации разный.
Passphrase (BIP-39 25-е слово)
Опциональный пароль, который добавляется к мнемонике на этапе PBKDF2. Меняет master seed → меняет все адреса. На практике в TON-кошельках passphrase встречается редко — Tonkeeper, например, его не использует. В Bitcoin (особенно при работе с Ledger) — гораздо чаще.