Найти в Дзене

Мнемоническая фраза или фраза восстановления: что это такое и для чего она нужна

Оглавление

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

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

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

Так как любой обладатель мнемонической фразы получает доступ к балансам, то следует очень надежно ее хранить.

Почему "фраза восстановления"

-2

Любой новичок, пришедший в крипту, рано или поздно сталкивается с тем, что нужно выписывать и надежно хранить фразу восстановления. Большинство относится к этому наиважнейшему процессу как к капче — увидеть слова, составить их в нужном порядке для подтверждения и наконец-то открыть кошелек. Благополучно «разгадав капчу», пользователь кладет большой и толстый SKIP на бэкап фразы и пользуется кошельком со своими балансами ровно до того момента, пока по каким-либо причинам его гаджет не окирпичится или жесткий диск не крашнется.

После этого начинается типичная паника: «Как восстановить доступ?», «Как открыть кошелек, у меня есть его адрес?», «Почему новые слова ввел, а балансы нулевые?», «Как получить старые слова по номеру телефона?» и т. д., и т. п.

Без фразы — НИКАК!

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

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

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

Безвозвратная утеря фразы восстановления означает безвозвратную утерю балансов кошелька.

Почему Mnemonic phrase вместо логина и пароля

Количество комбинаций для сид-фразы, состоящей из 12 слов
Количество комбинаций для сид-фразы, состоящей из 12 слов

Количество комбинаций для сид-фразы, состоящей из 24 слов
Количество комбинаций для сид-фразы, состоящей из 24 слов

При генерации фраз, использует целый набор слов, взятых из словаря. Список слов для иерархически детерминированных кошельков (англ. hierarchical deterministic, или HD-Wallet) имеет 2048 слов. По умолчанию язык словаря английский, но может использоваться любой. Слова не превышают определенную длину (обычно предел до 7 символов). Все они закодированы в UTF-8 с определенной нормализацией всех символов. Обязательной является уникальность каждого слова по первым четырем символам, которые однозначно определяют слово в словаре, а остальные символы используются, чтобы завершить это слово до удобной для чтения, запоминания (потому и мнемоник) формы.

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

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

Тем, кто уверен в том, что сможет подобрать фразу для конкретного адреса обычным перебором, могу предложить испытать удачу во «взломе» этого кошелька, на котором лежит 68,5 BTC: линк. В качестве помощи даю словарь слов, которые используются для генерации фраз: линк.

Почему Seed фраза, а не приватный ключ

Структура seed-фразы
Структура seed-фразы

Seed — с англ. «семя». Это слово не просто так применяется к фразе. Как видно по картинке выше, каждая сид-фраза является неким семенем, из которого «произрастает» дерево приватных и связанных с ними публичных ключей. Такая структура называется иерархически детерминированной.

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

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

Обычный детерминированный кошелек заключает в seed'е около 4 миллиардов уникальных ключей.

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

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

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

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

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

Не твои ключи — не твоя крипта

-6

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

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

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

Сервис полностью владеет криптовалютой пользователя, самостоятельно решает, как ею распоряжаться, когда и на каких условиях возвращать.

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

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

И самое важное, не суйте свои фразы куда ни попадя, всё-таки это ключи доступа, а не пальцы!!!