Seed-фраза: главный ключ к безопасности криптовалюты
Вопрос безопасности является ключевым для владельцев цифровых активов. Ведь в отличие от традиционных активов и банковских вкладов, криптовалюты нельзя застраховать, и при утрате пароля доступ к ним восстановить не получится.
Важнейший принцип криптовалют — "некастодиальность" — подход, при котором пользователь сам владеет приватными ключами своих кошельков, и нет никакого оператора или сервиса, у которого можно было бы "попросить восстановить доступ". Центральный элемент такого хранения — seed-фраза. Именно она дает доступ к кошельку и к активам, и именно ее нужно сохранять максимально надежно.
Что такое seed-фраза?
Seed-фраза представляет собой мнемоническую последовательность псевдослучайных слов, которая позволяет восстановить доступ к цифровым активам в некастодиальном кошельке.
Количество слов последовательности может варьироваться в зависимости от используемого формата seed-фразы в различных кошельках. Наиболее часто встречаются seed-фразы длиной 12, 18, 20 и 24 слова. По сути, seed-фраза является мастер-ключом для доступа к криптокошельку, как код от сейфа.
Примечание: в документах и статьях можно встретить различные вариации названия seed-фразы, такие как:
- Сид (seed);
- Мнемонический пароль;
- Мнемоническая, начальная, резервная или парольная фраза;
- Фраза восстановления.
Разновидности seed-фраз
Существует несколько наиболее распространенных форматов seed-фраз:
- BIP32. Первый формат seed-фразы, позволяющий генерировать несколько ключей и описывающий структуру иерархических детерминированных или HD-кошельков;
- BIP39. Пожалуй, самый распространенный и стандартный формат, использующий фиксированный словарь из 2048 слов. BIP39 позволяет генерировать seed-фразу из 12 и 24 слов, а также поддерживает расширение до 13—25 слов при помощи кодовой фразы (passphrase);
- BIP44. Формат, аналогичный BIP32, но используемый для альткоинов, созданных на основе протокола биткоина, таких как Ethereum, Dogecoin, Bitcoin Cash, Litecoin и подобных;
- SLIP39, также известный как резервная копия Шамира (Shamir Backup). Позволяет разделить seed-фразу на несколько частей, что повышает безопасность хранения. Формат SLIP39 поддерживает лишь ограниченное количество кошельков, таких как, например, Trezor и Electrum.
Примечание: аббревиатура BIP означает "предложение по улучшению биткоина", а число — его порядковый номер. Сгенерированная seed-фраза остается неизменной, а ее формат не совместим с другими. Это означает, что нельзя поменять формат seed-фразы, например, BIP39 на BIP44.
Особенности seed-фразы
Seed-фраза обеспечивает резервное копирование кошельков. Даже если пользователь потеряет устройство или доступ к кошельку, то сможет его восстановить при помощи сохраненной seed-фразы.
Помимо этого, seed-фраза обеспечивает полный контроль над активами. Это гарантирует, что никто, кроме самого владельца, не сможет распоряжаться его криптовалютой при условии, если seed-фраза не была скомпрометирована ранее.
Еще одной из ключевых особенностей seed-фразы является независимость от конкретных приложений. Это означает, что в случае блокировки или прекращения поддержки какого-либо кошелька можно получить доступ к своим средствам через другое приложение.
Наконец, другим особенным свойством seed-фразы является детерминированность. Это означает, что одна seed-фраза генерирует один и тот же уникальный набор ключей.
Как создать seed-фразу?
Существует несколько способов создания seed-фразы. Самый простой и наиболее популярный — автоматический при создании кошелька в приложении. Многие криптокошельки могут самостоятельно генерировать seed-фразу и даже предлагают на выбор создание мнемонических паролей из 12–24 слов, а некоторые — даже с расширением (кодовой фразой).
Однако случайность такой мнемонической фразы будет зависеть от используемого генератора случайных чисел (ГСЧ). Кроме того, при создании seed-фразы автоматически в кошельке существует риск ее компрометации, например, если устройство заражено вредоносным ПО.
Дополнительно существуют онлайн-генераторы, но использовать этот способ крайне не рекомендуется, поскольку неизвестно, кто и как может хранить сгенерированные ключи. Это также касается специального ПО, которое позволяет генерировать сразу множество seed-фраз.
Наиболее надежным считается ручной способ генерации seed-фразы при помощи оффлайн-инструментов, таких как ELLIPAL Joy, и игральных кубиков. Эти способы являются более сложными, но считаются самыми безопасными и обеспечивают лучшую случайность.
Рекомендации по безопасному созданию и хранению seed-фразы
- Безопаснее всего записывать seed-фразу на бумаге или специальном металлическом устройстве (например, Cryptosteel или CryptoTag) для хранения мнемонических паролей с закрытыми окнами и в помещении без камер. Для повышения безопасности можно разделить seed-фразу на несколько частей, перемещать последовательность слов в соответствии с сохраненным алгоритмом или использовать специальный формат SLIP39;
- Не следует хранить seed-фразу в цифровом виде (текст или фото), а также в облачном хранилище;
- Лучше хранить несколько копий seed-фразы на случай повреждения или пропажи одной из них, однако при этом возрастет риск компрометации seed-фразы. Хранить seed-фразу рекомендуется в оффлайне, однако подойдут и менеджеры паролей, например, Bitwarden.
- Дополнительным способом повысить безопасность seed-фразы является использование кодовой фразы, которую лучше хранить отдельно;
- Не следует вводить seed-фразу в онлайн-формах, особенно, если пользователя убеждают в опасности или при запросе якобы службой поддержки — это мошенничество. Seed-фраза нужна только для восстановления кошелька непосредственно в программном клиенте или устройстве;
- Самыми безопасными считаются аппаратные кошельки, которые "запирают" seed-фразу внутри устройства и не позволяют извлечь ее оттуда.
Можно ли подобрать seed-фразу?
Теоретически подобрать seed-фразу возможно, но даже для существующих квантовых компьютеров это крайне маловероятно. Даже если объединить все самые мощные суперкомпьютеры в мире, на перебор могут уйти квинтиллионы лет, что превышает возраст Вселенной.
Единственным вариантом расчета двух одинаковых фраз, по мнению экспертов, может быть ошибка ГСЧ, когда алгоритм выдает неслучайные числа. Поэтому при генерации seed-фразы необходимо убедиться в надежности генератора, сделанного в соответствии с определенными спецификациями. Эту информацию можно проверить на сайте поставщика криптокошелька.
Какова вероятность, что кто-то создаст дубликат seed-фразы?
Может показаться, что 2048 слов является малым количеством для генерации уникальных приватных ключей, однако это не так. Это обеспечивает порядка 5,44 × 10³⁹ комбинаций для 12 слов и более чем 10⁷⁷ — для 24.
Другими словами, вероятнее будет наткнуться на один и тот же атом во Вселенной, чем создать две одинаковые seed-фразы.
Существуют ли альтернативы seed-фразам?
Seed-фраза до недавнего времени была единственным способом резервного копирования криптокошельков, однако технологии не стоят на месте. Кроме того, криптоэнтузиасты опасаются, что с развитием квантовых технологий алгоритм генерации seed-фразы можно будет быстро взломать.
Некоторые криптокошельки уже предлагают альтернативы seed-фразам, такие как:
- MPC (Multi-Party Computation) — способ хранения, при котором приватный ключ разделяется на несколько частей, хранящихся в разных местах;
- Social Recovery — реализация доступа к ключам через доверенных лиц;
- Новые виды аппаратных кошельков со встроенными биометрическими механизмами Secure Enclave для разблокировки.
