Как сделать мнемоническую фразу юми

Добавил пользователь Евгений Кузнецов
Обновлено: 15.09.2024

Если вы сделали себе криптовалютный кошелек и решили его использовать по полной, то вы определенно озаботились вопросом его безопасности. Потому что, как и у любого кошелька, в котором держат деньги, у криптовалютного существует большая вероятность его кражи: ведь не каждый человек сможет не попасть в сети мошенников. И именно для большей безопасности все кошельки содержат так называемую seed-фразу.

Что же это такое? Это последовательность слов из списка 2048 терминов, которая уникальна для каждого кошелька и которая позволяет восстановить кошелек при его потере.

Что такое приватный ключ

У криптовалютного кошелька есть так называемый приватный ключ, ключ, который знаете только вы. Что же это такое? Это такой пин-код для доступа к вашему криптовалютному счёту, он позволяет отправлять криптовалюту любому другому человеку во всём мире. Кража такого счёта – это самое большое несчастье любого обладателя биткоинов или любой другой криптовалюты. Помимо приватных ключей, есть и публичные – они нужны для получения криптовалюты на ваш счёт.

Между прочим, в течение многих лет люди теряли свои приватные ключи, что приводило к очень большим убыткам. Например, некто Джеймс Хауэллс однажды потерял ключи от биткоин-кошелька, в котором были 7500 биткоинов, и это тот кошмар, который преследует многих владельцев биткоинов.

Именно для защиты приватного ключа и создается seed-фраза, с помощью которой можно восстановить доступ к нему.

Принцип работы

Как уже было сказано, сид-фраза – это последовательность из терминов, обычно их 12, 18 или 24, которые дают доступ к вашему приватному ключу и, следовательно, к криптовалютному кошельку.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Пример seed-фразы

Для генерации используется иерархический детерминированный процесс генерации ключей для получения бесконечного их числа.

Создание случайных чисел

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

Генераторы случайных чисел создают некую уникальную последовательность, а псевдослучайные числа вычисляются с использованием фиксированного детерминированного алгоритма.

В случае утраты доступа к кошельку, именно seed-фраза даёт возможность полного его восстановления.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Пример сид-фразы

Перевод чисел в слова

Каждый пользователь получает набор из 2048 слов, из которых и извлекаются последовательности от 12 до 24 слов (их количество вы также устанавливаете сами). Эти слова пронумерованы по порядку. Мнемоническая фраза превращается в число и на этой основе генерируются все пары ключей для этого кошелька.

Например, мнемоническая фраза: ведьма дорога вкладка

Числа: ведьма = 1, дорога=2, вкладка=5

Сид = 1 + 2 + 5 = 8.

Фраза генерируется именно при настройке вашего кошелька и поэтому крайне важно не пропустить этот шаг. После того, как вы получили в свой доступ эту последовательность слов, вам нужно записать её – именно на бумаге, поскольку именно этот вариант является один из самых безопасных способов хранения seed-фразы (другие способы будет описаны в конце статьи). Ее хранение на смартфоне, в облаке или прямо на ПК является небезопасным вариантом, поскольку у любого обладателя мнемонической фразы есть полный доступ к вашему криптовалютному кошельку.

Из кода создается мнемоническая фраза

Seed-фраза реализуется с помощью стандарта BIP-39 – он и предлагает метод генерации приватных ключей с использованием мнемонических слов. Стандарт выбирает слова случайным образом и создает из них длинное предложение.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

На изображении показано, из скольких слов можно сгенерировать seed-фразу и насколько она будет защищена. Чем больше слов – тем выше безопасность. Например, строка из 4 слов будет иметь 128 бит защиты, а при условии 12 слов злоумышленнику нужно будет выполнить 2128 операций: взломать даже эту последовательность пока невозможно даже для самых мощных систем. В общем, чем длиннее ключ, тем он надёжнее.

Как восстановить при потере

Если у вас полноценная seed-фраза, то можно восстановить доступ к кошельку в случае его утери. Восстановление будет показано на примере кошелька Coinomi. Происходит всё это довольно просто.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Итак, вы потеряли приватный ключ, но у вас есть seed-фраза, сохраненная на любом носителе, и вы уверены в её безопасности. Вы просто заходите в кошелек, выбираете Restore Wallet и вводите фразу целиком на следующем экране. Это всё: кошелек восстановлен.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Вы можете использовать любой кошелек, совместимый с технологией BIP39, для восстановления ваших средств.

Как обезопасить мнемоническую фразу для кошелька от потери

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

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

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Третий способ – аппаратный кошелёк, он представляет из себя обычную USB-флэшку (например, Ledger или Trezor), они хранят фразу безопасно в автономном режиме. Злоумышленники не смогут получить к ней доступ, не имея физического контакта с устройством и не зная пин-код доступа от него. Этот способ нельзя назвать надёжным на 100%, поскольку такой кошелек может быть сломан или потерян.

Зачем нужна мнемоническая seed-фраза криптовалютному кошельку?

Непопулярный вариант – хранение фразы в разделенном виде. Исходная фраза генерируется из 100 слов, а затем алгоритм разбивает ее на 5 частей. В этом случае seed-фразу можно восстановить и по частичной информации – но только если объединить не менее трёх частей.

Также вы можете создать дополнительные копии фразу (в любом виде) и хранить её на зашифрованном носителе, что можно назвать частным случаем аппаратного кошелька.

Что лучше не делать с seed-фразой

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

И, наконец, самый небезопасный способ хранения seed-фразы – на онлайн-кошельке. Они хранят ваши данные на серверах в Интернете и случаев взлома таких серверов достаточно, чтобы признать такой способ хранения наиболее опасным.

Часто задаваемые вопросы

Насколько надёжна генерация seed-фразы компьютером или телефоном?

Она достаточно надёжна, фраза никогда не повторяется, и вы можете спокойно генерировать её как на айфоне, так и на ПК.

Могу ли я придумать seed-фразу сам?

Да, но лучше этого не делать – это возможно в некоторых аппаратных кошельках. Сид-фраза получается с использованием сложного математического шифрования, где последнее слово (например, 24-е) зависит от предыдущих слов.

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

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

Может ли кто-то угадать мою мнемоническую фразу?

Нет, на сегодняшний день это невозможно в принципе.

Могу ли я запомнить seed-фразу и не использовать никакие физические способы хранения?

Можете попробовать, но лучше не доверять своей памяти. Достаточно забыть лишь одно слово – и все ваши деньги на криптокошельках будут безвозвратно утеряны.

Мнемоническая фраза (англ. Mnemonic phrase или Seed фраза) - это список слов, которые хранят всю информацию, необходимую для восстановления биткоин-кошелька. Кошелек обычно сам генерирует мнемоническую резервную фразу, чтобы пользователь записал ее на бумаге. Если компьютер пользователя сломается или жесткий диск повредится, он сможет снова загрузить тот же кошелек и использовать бумажную резервную копию, чтобы вернуть свои биткоины. Так как любой обладатель мнемонической фразы получает доступ к кошельку, требуется очень тщательно ее хранить.

Содержание

Программное обеспечение кошелька использует целый набор слов, взятых из словаря, причем каждое слово присваивается определенному числу. Фраза может быть преобразована в число, которое используется в качестве сида (seed), который генерирует все пары ключей для этого кошелька.

Англоязычный список слов для стандарта BIP39 имеет 2048 слов. Если фраза состоит из 12 слов, тогда число возможных комбинаций составляет 2048 в 12-й степени, или 2 в 132-й степени, то есть фраза будет иметь 132 бита безопасности.

Теоретически мнемоническую фразу можно придумать самому, но это небезопасно, так как человек плохо справляется со случайной генерацией. Лучший способ обезопасить свой кошелек – взять мнемоническую фразу, созданную с помощью специального генератора фраз.

Многие кошельки поддерживают создание двухфакторной мнемонической фразы. В этом случае кошелек генерирует мнемоническую фразу и запрашивает у пользователя пароль или кодовое слово. Затем для восстановления кошелька понадобится и мнемоническая фраза, и слово/пароль.

Большинство людей записывают фразы на бумаге, но их можно хранить многими другими способами: запомнить, записать на полях книги, выгравировать на металле и так далее. Для хранения на бумаге фразу лучше писать карандашом, а не ручкой. Записку следует хранить в темноте, избегая экстремально высоких или низких температур и влаги.

Некоторые люди разделяют свои фразы: шесть слов хранят в одном месте, шесть в другом. Это малоэффективно, так как обнаружение одной половины фразы облегчает подбор второй половины. Еще один неэффективный, но часто используемый способ: добавить во фразу слова, которые значимы лично для вас, чтобы запутать злоумышленника. Так как словарь из слов, которые используются для генерации мнемонических фраз, известен, не составит труда отсечь слова, которые в него не входят.


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

Мнемоническая фраза обычно составляет от 12 до 24 слов. А в словаре для генерации сид-фразы существует 2048 слов.

Существует несколько стандартов (BIP), используемых различными кошельками для взаимодействия с сид фразой:

BIP32 - это метод генерации дерева приватных ключей из главного закрытого ключа (мастер-ключа).

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

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

Как генерируется мнемоническая фраза технически?

Существует три шага:

  1. Случайное число (энтропия)
  2. Энтропия переводится в слова (мнемонику)
  3. Из мнемонических слов создается фраза

Упрощенная схема генерации сид-фразы

1. Создание случайных чисел (энтропии)

Энтропия должна быть от 128 до 256 бит.

Чтобы создать мнемоническую фразу, прежде всего нужно сгенерировать случайные числа (энтропию), которые являются нашим источником для сид-фразы.

Энтропия - это очень большое случайное число, которое никто никогда не генерировал раньше или никогда не будет генерировать в будущем.

Лучше всего думать об этом числе как о последовательности битов (например 10011010010001 . ), как компьютеры хранят числа.

Примечание: бит (0 или 1) является наименьшей единицей хранения информации на компьютере.

Генерируемая энтропия должна быть кратна 32 битам, поскольку это позволит разделить энтропию на четные порции и преобразовать ее в слова в дальнейшем.

Кроме того, энтропия должна составлять от 128 до 256 бит , так как этого достаточно, чтобы два человека не смогли сгенерировать одинаковую энтропию.

2. Энтропия переводится в слова (мнемонику)

Теперь, когда у нас есть энтропия, мы можем закодировать ее в слова.

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

Затем мы берем 1 бит этого хеша контрольной суммы на каждые 32 бита энтропии и добавляем его в конец нашей энтропии.

Затем мы разбиваем это на группы по 11 битов, преобразуем их в десятичные числа и используем эти числа для выбора соответствующих слов.

В словаре есть 2048 слов.

И теперь у нас есть мнемонический код.

Примечание: 11- битное число может содержать десятичное число между 0-2047 (именно поэтому в словаре 2048 слов).

Примечание: добавляя 1 бит контрольной суммы к каждым 32 битам энтропии, мы всегда получим кратное 33 битам, которое можно разделить на равные 11-битные порции.

3. Из мнемонического кода создается SEED-фраза

Теперь, когда у нас есть наш мнемонический код, мы можем преобразовать его в нашу SEED-фразу.

Чтобы создать СИД, нужно поместить мнемонический код в функцию PBKDF2. Эта функция, в основном, многократно хэширует мнемоническое предложение (+ необязательную парольную фразу), пока не получит окончательный 64-байтовый (256-битовый) результат.

Необязательная парольная фраза ( passphrase ) позволяет изменять конечный результат.

Этот 64-байтовый результат является вашей финальной СИД-фразой, которая может быть использована для создания мастер ключа для иерархического детерминированного кошелька.

Иерархия ключей в криптовалюте

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

Слова в мнемоническом предложении происходят из фиксированного списка из 2048 слов (они определяются BIP39). Первые 4 буквы каждого слова уникальны в списке.

Читайте также: