Кошельки и сид-фраза: как хранить ключи

Кошелёк не хранит монеты — он хранит ключи. А сид-фраза — это резервная копия всех твоих ключей в виде набора слов.

«Не твои ключи — не твои монеты. Эта фраза стоила многим людям всех их сбережений, когда они о ней забыли.»

Мы выяснили, что всё держится на приватном ключе. Но запомнить длинную строку из 64 символов невозможно, а потерять — фатально. Поэтому придумали кошельки и сид-фразы, которые делают управление ключами удобным и восстанавливаемым.

Что такое сид-фраза

Сид-фраза (seed phrase, мнемоническая фраза) — это последовательность из 12 или 24 слов, сгенерированных по стандарту BIP-39 из словаря в 2048 слов. Из этой фразы кошелёк математически выводит все твои приватные ключи. Цепочка такая:

   Сид-фраза  ->  приватные ключи  ->  публичные ключи  ->  адреса

   'apple river stone ...'  (12-24 слова, BIP-39)
        |
        v
   из неё детерминированно рождаются все ключи кошелька

   Потерял сид-фразу -> потерял доступ навсегда.
   Украли сид-фразу  -> украли все средства.

Удобство в том, что записав 12 слов на бумаге, ты резервируешь сразу все свои адреса. Покажем, как из одной фразы детерминированно рождается набор разных ключей.

Попробуй сам ▶ Запусти код прямо здесь — он работает в браузере:

import hashlib

seed_phrase = 'apple river stone tiger cloud ...'  # пример (не используй реальную!)

def derive_key(seed, index):
    # из одной фразы выводим много ключей по индексу (упрощённо)
    data = (seed + ':' + str(index)).encode()
    return hashlib.sha256(data).hexdigest()

for i in range(3):
    key = derive_key(seed_phrase, i)
    print(f'Ключ #{i}: {key[:24]}...')

# Та же фраза всегда даёт те же ключи -> кошелёк восстановим
again = derive_key(seed_phrase, 0)
print('Восстановили ключ #0 идентично?', again == derive_key(seed_phrase, 0))

Горячие и холодные кошельки

ТипГде ключиПлюсыМинусы
ГорячийНа устройстве с интернетом (приложение, расширение)Удобно, быстроУязвим к взлому и фишингу
ХолодныйОфлайн (аппаратный кошелёк, бумага)Гораздо безопаснееМенее удобно для частых операций

Есть ещё важное различие. Некастодиальный кошелёк — ключи у тебя, ты полностью отвечаешь за сохранность. Кастодиальный (например, на бирже) — ключи держит компания, и ты доверяешь ей, как банку. Отсюда поговорка: «не твои ключи — не твои монеты».

Частые заблуждения

  • «Кошелёк хранит монеты». Нет, он хранит ключи; монеты остаются в блокчейне.
  • «Сид-фразу можно хранить в заметках телефона». Очень опасно: при взломе устройства её украдут. Лучше офлайн, на бумаге или металле.
  • «Биржа = кошелёк». Биржа — это кастодиальный сервис: ключи у неё, и при её банкротстве или взломе ты можешь всё потерять.

Важно понимать (риски)

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

Разбор: почему 12 слов надёжнее, чем кажется

Может показаться, что 12 слов из словаря — слабая защита: ну что такое двенадцать слов? Но давай посчитаем. Словарь BIP-39 содержит 2048 слов. Каждое слово в сид-фразе — это выбор одного из 2048 вариантов. Для 12 слов число комбинаций астрономическое — порядка двух в степени 128. Перебрать его не под силу никаким компьютерам ни сейчас, ни в обозримом будущем.

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

Итоги

  • Кошелёк хранит ключи, а не монеты.
  • Сид-фраза (BIP-39, 12-24 слова) восстанавливает все ключи кошелька.
  • Холодные кошельки безопаснее горячих; некастодиальные дают полный контроль.
  • Сид-фразу нельзя сообщать никому и вводить на сайтах — это главный вектор краж.
Проверьте себя
1. Что позволяет восстановить сид-фраза?
AТолько один адрес
BВсе приватные ключи и адреса кошелька
CПароль от биржи
DИсторию транзакций сети
2. Почему говорят «не твои ключи — не твои монеты»?
AКлючи дороже монет
BЕсли ключами владеет кто-то другой (например биржа), он и контролирует средства
CМонеты можно купить только за ключи
DКлючи нужны для майнинга