1. Главная
  2. / BIP39 по-русски
  3. / 12 или 24 слова в сид-фразе: что лучше и надёжнее
Опубликовано

12 или 24 слова в сид-фразе: что лучше и надёжнее

Сид-фраза из 24 слов содержит 256 бит энтропии, а из 12 слов — 128, так что теоретически 24 слова надёжнее. На практике подобрать перебором нельзя ни ту, ни другую, а ключи биткоин-кошелька в обоих случаях построены на кривой secp256k1 с уровнем безопасности около 128 бит — независимо от длины фразы. Если фраза сгенерирована случайно и хранится в тайне, 12 слов достаточно. 24 слова оправданы, если посторонний может увидеть часть записи — например, на фотографии — или узнать все слова, но не их порядок. Ниже разберём, сколько бит несёт фраза каждой длины, сколько вариантов остаётся, если часть слов неизвестна, сколько слов создают популярные кошельки и какую длину выбрать. Как устроена сама фраза, рассказано в статье о том, что такое сид-фраза.

Сколько слов в сид-фразе

Каждое слово BIP39 обозначает 11-битное число — свой номер в списке, от 0 до 2047. Спецификация BIP39 допускает от 128 до 256 бит энтропии с шагом 32 бита. К энтропии дописывается контрольная сумма — первые ENT/32 бит её хеша SHA-256, где ENT — длина энтропии в битах. Отсюда пять допустимых длин фразы:

СловБит энтропииБит контрольной суммыВсего битВариантов последнего слова
121284132128
15160516564
18192619832
21224723116
2425682648

Последнее слово несёт оставшиеся биты энтропии и всю контрольную сумму. Во фразе из 12 слов это 7 бит энтропии и 4 бита суммы, поэтому, когда первые 11 слов выбраны, завершить фразу могут ровно 2⁷ = 128 слов из 2048. Во фразе из 24 слов — 3 бита энтропии и 8 бит суммы, и подходящих слов остаётся 8. После 23 слов abandon (так начинается публичный тестовый вектор BIP39) годятся только эти восемь:

art  diesel  false  kite  organ  ready  surface  trouble

Подходящие последние слова для любого тестового начала фразы покажет калькулятор последнего слова. Из этой схемы следуют ещё две вещи:

  • Контрольная сумма не добавляет секретности. Она вычисляется из энтропии, поэтому действительных фраз из 12 слов 2¹²⁸, а не 2048¹² = 2¹³².
  • Сид у обеих длин одного размера. BIP39 пропускает слова через PBKDF2 — 2048 итераций HMAC-SHA512 — и получает 64-байтный сид. Длина фразы определяет лишь, сколько разных сидов возможно.

Если в записи 20 или 33 слова, это не BIP39: скорее всего, перед вами доля SLIP-39 — стандарта со своим списком из 1024 слов (у Trezor он раньше назывался Shamir Backup). А 12 слов из Electrum — фраза собственного формата Electrum: вместо контрольной суммы BIP39 у неё номер версии. Дальше речь идёт только о фразах BIP39.

Надёжнее ли 24 слова

Математически да: 2²⁵⁶ возможных фраз против 2¹²⁸. На практике разница почти ничего не меняет, и причин две.

Обе длины не подобрать перебором

2¹²⁸ — это около 3,4 × 10³⁸, а 2²⁵⁶ — около 1,16 × 10⁷⁷. Ни один злоумышленник не переберёт сколько-нибудь заметную часть ни тех, ни других вариантов. Trezor в разборе резервных копий из 12, 20 и 24 слов оценивает 12 слов в 128 бит безопасности — столько же, сколько даёт приватный ключ Bitcoin, — а о 256 битах 24 слов пишет, что это намного больше, чем нужно.

Кривая ограничивает безопасность уровнем около 128 бит

Сид — не единственный путь к кошельку. Биткоин-адресами управляют приватные ключи на кривой secp256k1. Стандарт SEC 2, который задаёт эту кривую, в таблице 1 оценивает её стойкость в 128 бит и поясняет, что это значит: решение задачи дискретного логарифмирования на кривой такого размера, как считается, требует около 2¹²⁸ операций. Злоумышленник, увидевший один из ваших публичных ключей, может атаковать этот ключ напрямую, и насколько это трудно, определяет кривая, а не сид.

Поэтому с 24 словами сид несравнимо труднее подобрать, чем любой отдельный ключ, но поднять стойкость ключа выше примерно 128 бит, которые даёт кривая, длина фразы не может. Фраза из 12 слов уже соответствует этому уровню.

Когда 24 слова действительно помогают

Длина начинает играть роль, когда злоумышленник — или вы сами — уже знает часть фразы. Тогда объём перебора зависит от того, сколько слов ещё неизвестно.

Сколько вариантов остаётся, если слова неизвестны

Каждое неизвестное слово увеличивает перебор в 2048 раз, а контрольная сумма затем отсеивает большинство комбинаций: 15 из 16 у фразы из 12 слов и 255 из 256 у фразы из 24 слов. Вот сколько кандидатов остаётся, если известно, на каких местах стоят недостающие слова:

Неизвестных слов12 слов15 слов18 слов21 слово24 слова
11286432168
2262 144131 07265 53632 76816 384
3536 870 912268 435 456134 217 72867 108 86433 554 432
41 099 511 627 776549 755 813 888274 877 906 944137 438 953 47268 719 476 736

Числа точные, если среди неизвестных есть последнее слово, и средние в остальных случаях. Например, если стереть пятое слово в публичной тестовой фразе из 12 слов (11 раз abandon и about), проверку проходит 131 слово, а в 24-словном тестовом векторе (23 раза abandon и art) — 10. Проверка контрольной суммы требует одного вычисления SHA-256, поэтому медленный шаг PBKDF2 нужен только кандидатам, которые её прошли.

При одинаковом числе пропусков фраза из 24 слов оставляет меньше кандидатов, потому что её контрольная сумма вдвое длиннее. А если одно-два слова потеряли вы сами, перебор при любой длине по силам программам восстановления; как его провести, рассказано в статье о том, как найти и исправить ошибку в сид-фразе.

Всё решает число скрытых слов

Преимущество 24 слов проявляется, когда посторонний видит часть записи: одну колонку на фотографии, лист, на который удалось мельком взглянуть, или половину разделённой фразы. Тогда скрытой остаётся гораздо более длинная часть фразы:

Что узнал злоумышленникФраза из 12 словФраза из 24 слов
8 слов4 неизвестных: около 1,1 × 10¹² кандидатов (2⁴⁰)16 неизвестных: около 3,7 × 10⁵⁰ (2¹⁶⁸)
Половину слов6 неизвестных: около 4,6 × 10¹⁸ (2⁶²)12 неизвестных: около 2,1 × 10³⁷ (2¹²⁴)
Все слова, но не их порядок12! = 479 001 600 перестановок (около 2²⁹)24! ≈ 6,2 × 10²³ перестановок (около 2⁷⁹)

Перебрать около триллиона кандидатов — большая, но выполнимая работа: в 2⁸⁸ раз меньше, чем подбор целой фразы из 12 слов. А 2¹⁶⁸ вариантов не перебрать. В последней строке контрольная сумма сокращает перебор для 12 слов примерно до 30 млн перестановок, которые имеет смысл проверять дальше. Похожий довод приводит Trezor, объясняя, почему Model One по умолчанию создаёт 24 слова: при восстановлении на этой модели слова вводят на компьютере, и 24 слова делают этот процесс безопаснее.

Та же математика объясняет, почему делить фразу по словам — слабая защита. Каждая часть сужает перебор, и Trezor предупреждает: если хранить первые и последние 12 слов в разных местах, защита будет не такой, как при настоящем разделении секрета. Если резервную копию нужно хранить по частям, используйте доли SLIP-39 или мультиподпись, а не делите слова; оба способа разобраны в статье о том, как хранить сид-фразу.

Чем приходится платить за 24 слова

  • Вдвое больше записи и проверок. Каждая бумажная копия, металлическая пластина и проверка резервной копии занимают вдвое больше времени, а каждое лишнее слово — ещё один шанс ошибиться при переписывании.
  • Зато опечатки отсеиваются надёжнее. Случайная ошибка в одном слове проходит проверку контрольной суммы примерно в одном случае из 16 у фразы из 12 слов (4 бита суммы) и лишь в одном из 256 у фразы из 24 слов (8 бит). Это подтверждает моделирование 200 000 случайных ошибок в одном слове для каждой длины: незамеченными остались около 6 % ошибок в 12 словах и около 0,4 % в 24.
  • Дольше ввод на аппаратном кошельке. Если слова вводят на экране самого устройства или его кнопками, набирать придётся вдвое больше.
  • Меньше кошельков для восстановления. Не каждый кошелёк принимает 24 слова: Exodus пишет, что его секретные ключи всегда состоят из 12 слов, и в справке описывает восстановление только по 12 словам. Phantom создаёт 12 слов, но может импортировать фразу BIP39 из 24 слов.

Сколько слов создают популярные кошельки

Данные в таблице взяты из справки и документации самих разработчиков по состоянию на октябрь 2026 года, для Trezor — из того же разбора резервных копий. Называют фразу по-разному: в русской справке MetaMask это «секретная фраза для восстановления», у Ledger — «секретная фраза восстановления», у Exodus — 12-word secret key.

КошелёкДлина по умолчаниюДругие варианты и примечания
Ledger (все устройства)24 слова, другой длины устройства не создаютПри восстановлении принимают фразы из 12 и 18 слов, созданные другими кошельками, но пользоваться фразой, созданной не на устройстве Ledger, компания не рекомендует
Trezor Model One (снят с продажи)24 слова (BIP39)12 слов
Trezor Model T12 слов (BIP39)24 слова; SLIP-39 из одной или нескольких долей
Trezor Safe 312 слов до июня 2024 года, затем копия SLIP-39 из одной доли в 20 словBIP39 из 12 или 24 слов; SLIP-39 из одной или нескольких долей
Trezor Safe 5, Safe 7Копия SLIP-39 из одной доли в 20 словBIP39 из 12 или 24 слов; SLIP-39 из нескольких долей
MetaMask12 слов—
Trust Wallet12 словSwift-кошельки вместо фразы используют ключ доступа (passkey)
Exodus12 словВсегда 12
Coinbase Wallet12 словВместо фразы для входа можно использовать почту, аккаунт Apple или Google либо ключ доступа (passkey)
Phantom12 словИмпортирует фразы BIP39 из 24 слов
Electrum12 слов в формате ElectrumСобственный формат, 132 бита; фразы BIP39 Electrum не создаёт

При создании кошелька в Trezor Suite можно выбрать формат резервной копии, отличный от стандартного для устройства. Доля SLIP-39 из 20 слов хранит 128-битный секрет, как и 12 слов BIP39: лишние слова несут служебные данные о долях и более длинную контрольную сумму — три слова, или 30 бит.

12 слов нельзя превратить в 24

BIP39 подаёт в PBKDF2 сами слова в качестве пароля, поэтому любое их изменение — в том числе двенадцать дописанных слов — даёт сид, никак не связанный с прежним. Это видно на двух публичных тестовых фразах. Обе получены из энтропии, состоящей из одних нулевых бит, но их первые адреса нативного SegWit по пути деривации BIP84 m/84'/0'/0'/0/0 без парольной фразы не имеют ничего общего:

12 слов   abandon ×11 about  →  bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu
24 слова  abandon ×23 art    →  bc1qzmtrqsfuaf6l6kkcsseumq26ukaphfj9skkug6

Обе фразы — опубликованные тестовые векторы, поэтому никогда не отправляйте средства на эти адреса. Чтобы сменить длину, создайте новый кошелёк с новой, только что сгенерированной фразой и переведите в него средства. То же говорят производители кошельков: Phantom отмечает, что фраза восстановления создаётся один раз и изменить её нельзя, а Trezor — что копию BIP39 нельзя преобразовать в SLIP-39: нужно создать новый кошелёк и перевести в него средства.

Парольная фраза — другой способ защиты

Если вы опасаетесь, что кто-то найдёт записанные слова, длина не поможет: укравший лист получит всю фразу целиком. Помогает парольная фраза BIP39. BIP39 подмешивает её при вычислении сида: любая парольная фраза открывает действительный, но другой кошелёк, а ваш — только правильная. Чем за это платят:

  • Это второй секрет, который тоже нужно сохранить. Потеряете его — одни слова откроют только кошелёк без парольной фразы.
  • Её должен поддерживать кошелёк, в котором вы будете восстанавливать доступ. Проверьте, что в приложениях и устройствах, где может понадобиться восстановление, есть поле для парольной фразы.
  • Добавить её позже — значит создать новый кошелёк. Как и при смене длины, средства придётся переводить.

Сколько слов выбрать

Выбирайте длину по тому, чем может подвести ваша резервная копия, а не по тому, насколько внушительно звучит число:

  • Обычный программный кошелёк: оставьте 12 слов, которые создало приложение. Реальные угрозы здесь — фишинг, вредоносные программы и небрежное хранение, и ни от одной из них длина не спасает.
  • Аппаратный кошелёк: оставьте длину по умолчанию — например, 24 слова на Ledger или копию из 20 слов на новых Trezor Safe.
  • Запись, которую могут частично увидеть, или восстановление через компьютер, как на Trezor Model One: выбирайте 24 слова. Такая фраза гораздо надёжнее, если посторонний подсмотрел часть слов или узнал все слова, но не их порядок. Но никакая длина не поможет, если вы вводите фразу в приложение кошелька на заражённом компьютере: он видит все слова по порядку.
  • Крупные суммы или долгое хранение: 24 слова дают запас ценой более долгой записи. Против того, кто найдёт записанные слова, сильнее парольная фраза, а для резервной копии по частям подходят доли SLIP-39 или мультиподпись. Заранее продумайте и то, как доступ к средствам получат близкие: об этом рассказывает статья о наследовании криптовалюты.
  • У вас уже 12 слов: оставьте их. Смена длины означает новый кошелёк и переводы в блокчейне, а выигрыш от неё невелик.

Какой бы ни была длина, фразу должен создать надёжный генератор случайных чисел на устройстве, которому вы доверяете. Генератор сид-фразы на этом сайте предназначен только для обучения на тестовых фразах.

Частые вопросы

Сколько слов может быть в сид-фразе?

По стандарту BIP39 — 12, 15, 18, 21 или 24 слова. Чаще всего кошельки создают 12 или 24 слова, а 15, 18 и 21 слово принимают не все: Ledger, например, при восстановлении предлагает только 12, 18 или 24 слова. 20 или 33 слова обычно означают долю SLIP-39, а не фразу BIP39.

Вдвое ли надёжнее 24 слова, чем 12?

Нет. Подобрать их в 2¹²⁸ раз труднее, а не вдвое. Но и фразу из 12 слов подобрать невозможно, а ключи secp256k1, которые стоят за биткоин-адресами, дают около 128 бит безопасности, поэтому против перебора обе длины на практике одинаково надёжны.

Почему Ledger создаёт 24 слова, а MetaMask — 12?

Каждый производитель сам выбирает длину по умолчанию. Обе длины стандартные для BIP39, поэтому любую из этих фраз можно восстановить в другом BIP39-кошельке, который принимает такую длину, хотя пути деривации могут отличаться.

Можно ли дописать к 12 словам ещё 12?

Нет. Сид вычисляется из самих слов, поэтому 24 слова — это уже другой кошелёк. К тому же набор, полученный дописыванием, обычно не проходит даже проверку контрольной суммы: у 24 слов она занимает 8 бит, и случайный набор проходит её лишь в одном случае из 256. Чтобы перейти на 24 слова, создайте новый кошелёк и переведите в него средства.

Как проверить контрольную сумму фразы?

Кошелёк проверяет её сам при восстановлении. Чтобы посмотреть, как работает проверка, введите публичную тестовую фразу на странице проверки сид-фразы. Настоящую фразу не вводите ни на одном сайте.