Короткий ответ: чем сид-фраза отличается от приватного ключа
Сид-фраза — это корневой секрет кошелька. Из неё по стандартным правилам выводится множество приватных ключей, поэтому одна фраза обслуживает много адресов и сетей. Приватный ключ — это один конкретный ключ для подписи транзакций одного аккаунта. Он не заменяет фразу и не открывает остальные адреса кошелька.
Поэтому вопрос «что сохранять» не имеет одного ответа для всех. Основа резервной копии — сид-фраза. Отдельные приватные ключи сохраняют только для адресов, которые в эту фразу не входят, например для аккаунтов, импортированных вручную.
| Критерий | Сид-фраза | Приватный ключ |
|---|---|---|
| Что это | Набор слов, кодирующий корневой секрет кошелька | Один секрет для подписи транзакций одного аккаунта |
| Что восстанавливает | Весь кошелёк: адреса, выведенные по стандартным путям | Только один адрес или аккаунт |
| Сколько адресов покрывает | Потенциально много, в разных сетях | Один |
| Можно ли вывести одно из другого | Из фразы выводятся приватные ключи | Исходную фразу из ключа не восстановить |
| Что будет при утере | Без другой копии — потеря доступа ко всему кошельку | Потеря доступа к этому адресу и активам на нём |
| Когда сохранять | Обязательно | Только для импортированных вручную адресов |
Что такое приватный ключ и что он контролирует
В Ethereum обычный пользовательский аккаунт — это внешне управляемый аккаунт, EOA. Им распоряжается тот, у кого есть приватный ключ. Аккаунты смарт-контрактов устроены иначе: у них нет приватного ключа, их поведение задаёт код контракта. Поэтому когда говорят «приватный ключ кошелька», обычно имеют в виду ключ обычного аккаунта.
В Ethereum приватный ключ — это 64 шестнадцатеричных символа. Из него получают публичный ключ, а из публичного — адрес: последние 20 байт хеша Keccak-256 от публичного ключа плюс префикс 0x. Получается 42-символьный адрес. Обратное направление невозможно: по публичному ключу нельзя вычислить приватный.
Один приватный ключ — один аккаунт. Им подписывают транзакции и сообщения, то есть доказывают право распоряжаться средствами на этом адресе. Ключ не даёт доступа к другим адресам того же кошелька. В разных блокчейнах форматы ключей и адресов отличаются, но логика «ключ подписывает, публичная часть проверяет» сохраняется.
Приватный ключ можно хранить в зашифрованном файле, например в keystore с паролем. Этот пароль шифрует файл, но не является BIP-39 passphrase и не меняет набор адресов. Потеря пароля к keystore и потеря passphrase — разные сценарии с разными последствиями.
Что такое сид-фраза и как из неё получаются ключи
Сид-фраза, которую также называют мнемонической фразой или recovery seed, — это читаемое представление случайного секрета. По стандарту BIP-39 фраза чаще всего состоит из 12 или 24 слов; 12 слов кодируют 128 бит, 24 слова — 256 бит. Контрольная сумма помогает заметить часть опечаток при вводе, но не делает фразу «паролем» и не защищает от кражи.
Строго говоря, BIP-39 описывает именно мнемоническую фразу, а seed — это результат её преобразования. В быту и то и другое называют сид-фразой. Из seed получается мастер-ключ, а дальше работает иерархия BIP-32: из мастер-ключа выводятся дочерние ключи по путям вида m/44'/60'/0'/0/0. В этом пути 44' — назначение, 60' — код монеты Ethereum, 0' — аккаунт, 0 — ветка внешних адресов, 0 — индекс адреса.
Именно поэтому одна фраза обслуживает много адресов. Поменялся индекс в конце пути — получился другой адрес. Поменялся код монеты — получилась ветка для другого блокчейна. При этом разные кошельки могут использовать разные пути и порядок адресов. Одна и та же фраза в другом кошельке иногда показывает не тот набор адресов, который вы ожидали: это не обязательно потеря средств, но повод проверить сеть и настройки вывода.
Отдельный секрет — passphrase, которую иногда называют «25-м словом». Она не входит в 12 или 24 слова и не восстанавливается из них. Passphrase меняет результат вывода ключей: с той же фразой, но без passphrase вы получите другой кошелёк. По документации Trezor, если passphrase забыта, кошелёк нельзя восстановить даже при правильной резервной копии, поэтому её записывают и хранят отдельно.
У BIP-39 есть пороговая альтернатива — SLIP39, он же Shamir backup. Секрет делят на несколько долей по 20 или 33 слова; всего можно создать до 16 долей и задать порог, например 3 из 5. Любые 3 доли из 5 восстанавливают кошелёк, потеря 2 долей восстановление не блокирует, а потеря 3 делает его невозможным. Пока число долей меньше порога, отдельные доли не дают информации о секрете. Это принципиально отличается от ручного деления фразы на две части: каждая половина обычной фразы всё равно сужает перебор.
Что восстанавливает фраза, а что — ключ
Сид-фраза восстанавливает весь кошелёк: адреса, которые выводятся из неё по стандартным путям, в совместимом кошельке. BIP-39 широко поддерживается, поэтому фразу от одного кошелька часто можно ввести в другой — при условии, что вы знаете нужный путь и сеть. Но совместимость не абсолютная: у разных кошельков свои настройки, а SLIP39 использует другой словарь и не подходит для кошелька, который ждёт BIP-39.
Приватный ключ восстанавливает только один адрес или аккаунт. Если у вас остался ключ от адреса A, вы сможете импортировать его и распоряжаться средствами на A. Адреса B и C, которые были в том же кошельке, но выводились из фразы, без фразы не появятся.
Собрать исходную фразу из одного приватного ключа нельзя. Вывод идёт в одну сторону: фраза содержит корневой секрет, из которого строятся ветки, а ключ — это одна из веток. По ключу можно проверить, что он соответствует адресу, но не понять, какая именно фраза его породила. Практически это означает, что приватный ключ — не «сокращённая сид-фраза», а отдельный, более узкий секрет.
Что в итоге сохранять
Сид-фразу — на физическом носителе, в двух местах.
Passphrase — отдельно от фразы, тоже офлайн.
Доли SLIP39 — если используете пороговую схему; в количестве не меньше порога.
Приватные ключи импортированных аккаунтов — только если они не выводятся из фразы.
Памятку без секретов — какой стандарт и какой кошелёк использовали; это помогает выбрать совместимый инструмент, но не заменяет секрет.
Если криптовалюта лежит на бирже или в другом кастодиальном сервисе, сид-фразы у вас обычно нет: доступ восстанавливается через аккаунт, почту и двухфакторную аутентификацию. Это другая модель: вы доверяете хранение посреднику и не управляете ключами напрямую.
Один пример: одна фраза, много адресов
Представим гипотетическую фразу из 12 слов. Из неё получается мастер-ключ. По пути m/44'/60'/0'/0/0 выводится адрес A, по пути m/44'/60'/0'/0/1 — адрес B, по пути m/44'/60'/0'/0/2 — адрес C. Все три адреса относятся к одному кошельку и восстанавливаются из одной фразы, если кошелёк использует тот же путь.
Теперь представим частичную резервную копию: сохранён только приватный ключ адреса A. После сброса кошелька вы импортируете этот ключ и видите адрес A. Адреса B и C не появятся, потому что их ключи не входят в сохранённый секрет. Если бы была сохранена фраза, а не один ключ, восстановились бы все три адреса.
Пример с пороговой схемой: при SLIP39 3 из 5 любые три доли восстанавливают кошелёк. Потеря одной или двух долей не мешает восстановлению. Потеря трёх долей делает восстановление невозможным, даже если две оставшиеся доли целы. Если две доли попадут к постороннему, а порог равен трём, он не получит секрет; если у него окажутся три доли — получит.
Как хранить: правила, которые не зависят от кошелька
Главный принцип простой: секрет должен существовать офлайн и в физическом виде. Любая цифровая копия — фото, файл, заметка в облаке, сообщение в мессенджере — расширяет поверхность атаки. Если фраза попала в чужое распоряжение, кошелёк считается скомпрометированным, даже если вы пока не видите списаний.
Запишите фразу вручную сразу при создании кошелька. Сверьте каждое слово с тем, что показывает устройство или приложение. Не полагайтесь на память и не откладывайте запись.
Не делайте цифровых копий. Не фотографируйте фразу, не сохраняйте в облачных заметках, почте, мессенджерах и не отправляйте себе. Не вводите слова на сайтах и в приложениях, даже если вам пишет «поддержка».
Сделайте физические копии на долговечном носителе. Бумага изнашивается; металлическая пластина лучше переносит воду, огонь и время. Но металл не защищает от кражи, поэтому важны ещё место и доступ.
Разместите копии в двух географически разных местах. Каждая полная копия — это полный секрет. Две копии повышают устойчивость к потере, но увеличивают число мест, где секрет может утечь; доступ к ним должен быть ограничен.
Passphrase храните отдельно от фразы. Если потерять passphrase, восстановление невозможно даже с правильной фразой. Если она лежит рядом с фразой, один взлом или одна находка даёт доступ ко всему.
Для SLIP39 распределите доли по разным местам и людям. Помните: набор долей меньше порога бесполезен, но если у одного человека окажется достаточно долей, он получит доступ. Схема не спасает от неверно выбранного порога.
Проверьте резервную копию до того, как уничтожать старую. У некоторых аппаратных кошельков есть штатная функция проверки резерва. Не проверяйте фразу вводом на сторонних сайтах. Trezor, например, рекомендует использовать Check backup в Trezor Suite и только после успешной проверки уничтожать старый бэкап.
Для импортированных приватных ключей ведите отдельный учёт. Если ключ не выводится из сид-фразы, он не восстановится вместе с кошельком. Храните его по тем же правилам: офлайн, без цифровых копий, с ограниченным доступом.
Если к посторонним попала сид-фраза, считайте скомпрометированным весь кошелёк: смена пароля в приложении не поможет. Создайте новый кошелёк с новой фразой и переведите туда активы. Если утёк только приватный ключ одного импортированного адреса, достаточно увести средства с этого адреса на новый. Чем быстрее это сделать, тем меньше времени у злоумышленника.
Подходы к хранению — от аппаратного кошелька до мультиподписи — подробнее разобраны в статье «Стратегии хранения криптовалюты». О том, как устроены ключи в холодном кошельке, — в материале «Где хранятся приватные ключи в холодном кошельке?».
Типичные ошибки и как они оборачиваются потерей доступа
Фраза в облаке или в переписке. Утечка равносильна передаче кошелька постороннему: у него будет всё, что нужно для подписи.
Ручное деление фразы на две части «для надёжности». Каждая половина не даёт криптографической защиты пороговой схемы и сужает перебор. Для разделения секрета нужен SLIP39 или аналогичная схема, а не разрез фразы.
Уверенность, что приватный ключ заменит фразу. При переустановке кошелька один ключ вернёт один адрес, а не весь набор.
Забытый passphrase при сохранённой фразе. Правильная фраза без passphrase даёт другой кошелёк; восстановить прежний невозможно.
Опора на память вместо записи. Фразу из 12 или 24 слов легко перепутать через месяцы, особенно если вы редко ею пользуетесь.
PIN или пароль приложения считают резервной копией. PIN защищает доступ к устройству, но не восстанавливает кошелёк после сброса или поломки.
Ввод фразы на сайте «для проверки». Так работают фишинговые страницы. Проверять резерв нужно штатной функцией устройства или в контролируемой офлайн-среде, а не на случайном ресурсе.
Уничтожение старой копии до проверки новой. Если новая запись содержит ошибку, вы останетесь без рабочего бэкапа.
Вопросы и ответы
Сид-фраза и приватный ключ — это одно и то же?
Нет. Сид-фраза — корневой секрет, из которого выводится множество ключей. Приватный ключ — один ключ для одного аккаунта. Фраза восстанавливает весь кошелёк, ключ — только свой адрес.
Можно ли восстановить сид-фразу, если остался только приватный ключ?
Нет. Вывод ключей идёт в одну сторону: из фразы получаются ключи, но по одному ключу исходную фразу не собрать. Можно пользоваться адресом от этого ключа, но не восстановить весь кошелёк.
Нужно ли сохранять приватные ключи, если есть сид-фраза?
Только для адресов, которые не выводятся из этой фразы, например для вручную импортированных аккаунтов. Ключи, выведенные из фразы, отдельно сохранять не нужно — это лишние копии секрета.
Что будет, если потерять сид-фразу или приватный ключ?
Потеря фразы без другой копии обычно означает потерю доступа ко всему кошельку после сброса или поломки устройства. Потеря одного приватного ключа — потерю только этого адреса. Если используется SLIP39, восстановление невозможно, когда оставшихся долей меньше порога.
Где хранить passphrase, чтобы не потерять доступ?
На физическом носителе, офлайн и отдельно от сид-фразы. Не полагайтесь на память: если passphrase забыта, кошелёк не восстановить даже с правильной фразой.



