BIP39 и мнемоническая фраза

Делитесь и голосуйте:

Содержание статьи:

Вы читаете эту статью, потому что хотите самостоятельно изучить информацию. Вы не доверяете, а проверяете. Недостаточно, если вам просто скажут: «Вот, запиши эти слова. Не теряй их и никому не показывай. Удачи!» Надо понять, откуда эти слова взялись и что они означают. И главное, надо понять, как и почему эти слова позволяют вам владеть биткойнами на вашем новом кошельке.

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

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

Ваш приватный ключ в мнемоническом виде (BIP39)

Пример мнемонической фразы из 24 слов. Источник: privacypros.io

Если кратко, то эти 12 или 24 слова – это то, что получится, если перевести с двоичного кода (языка компьютеров, состоящего из ноликов и единичек) на язык, который вы можете узнать, понять и (пожалуй, главное) запомнить.

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

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

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

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

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

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

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

Не обязательно даже скачивать тот же кошелёк. Можно скачать любой кошелёк, поддерживающий BIP39, и ввести вашу мнемоническую фразу, чтобы получить доступ к вашим биткойнам.

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

Начинаете видеть «магию» Биткойна? Дальше вы узнаете, что такое BIP39 и как оно работает.

Предложение об улучшении Биткойна №39: что это и как оно работает?

BIP расшифровывается как Bitcoin Improvement Proposal – «предложение по улучшению Биткойна». Просмотреть такие предложения можно на GitHub, но мы здесь рассмотрим только BIP-0039 (обычно называемое просто BIP39).

Репозиторий для BIP. Источник: privacypros.io

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

BIP39 помогает пользователям обезопасить свои секретные ключи, представив их в виде детерминистической фразы – обычных слов, которые проще произнести, записать и, возможно, запомнить. Проще всего объяснить, как это работает, на иллюстрации того, как создать собственный приватный ключ.

Источник: privacypros.io

Следующие шаги – общее руководство, как сгенерировать собственный приватный ключ. Подробнее каждый шаг мы рассмотрим далее в статье.

  1. Выберем 256 битов (т. е. 256 единичек и ноликов). Конвертируем наши 256 битов из двоичной системы в шестнадцатеричную (если только они уже не записаны в шестнадцатеричной системе. Убедитесь, что у вас есть оба варианта – они вам оба понадобятся).
  2. Вставим шестнадцатеричный вариант в хеш-функцию SHA-256 (двоичную), чтобы получить хеш, который мы будем использовать для создания контрольной суммы.
  3. Новый хеш будет записан в шестнадцатеричном коде, поэтому мы возьмём первые два знака и конвертируем их из шестнадцатеричной системы в 8 двоичных знаков (битов). Получив наши последние 8 битов, добавим их к изначальным 256 битам и получим в итоге 264 бита.
  4. Разделим наши 264 бита на группы по 11. Вставим каждую группу из 11 битов (слева направо) в конвертер, чтобы вместо двоичных чисел получить обычные десятичные.
  5. Найдём соответствующие слова в списке слов BIP39.

Имейте в виду: в двоичной системе счёт начинается с 0. Если вы смотрите на список слов BIP39, обратите внимание, начинается ли он с 1 или 0. Если он начинается с 1, вам понадобится добавить +1 к вашему результату конвертирования двоичного кода в десятичные числа, чтобы найти в списке верное соответствующее слово.

  1. С помощью конвертера мнемонических кодов Иэна Коулмена можно проверить, правильно ли вы всё сделали.
  2. Итак, мы создали собственный секретный ключ и превратили его в мнемоническую фразу по стандарту BIP39.

Прежде чем начать

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

Шаг 1: Выбираем наши биты

Источник: privacypros.io

Выбирая 256 битов, которые вы будете использовать для создания мнемонической фразы, в идеале вам нужна случайность. Использовать скачанный кошелёк, чтобы автоматически сгенерировать случайную мнемоническую фразу, пожалуй, лучший способ. Однако в образовательных целях мы создадим нашу фразу сами. Чтобы получить мои 256 битов, я введу в хеш-функцию SHA-256 фразу «billfold waterproof fireproof metal», и результат и будет моей нужной случайной последовательностью (также часто называемой «энтропией»). Я использую этот онлайн-генератор хешей SHA-256.

Источник: privacypros.io

Имейте в виду, что этот генератор, как и практически все другие, доступные в сети, даёт только шестнадцатеричный выход. Если вам нужен двоичный хеш, см. шаг 2.

Шаг 2: Хешируем выбранные 256 битов и используем выход для создания контрольной суммы

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

Источник: privacypros.io

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

Источник: privacypros.io

После этого, если промотать вниз, вы увидите список выходов. Найдите SHA-256. Скопируйте только первые две цифры этого выхода.

Источник: privacypros.io

Мой результат хеширования начинается с 41 – это запись в шестнадцатеричном коде. Однако нам нужен двоичный код (8 битов), поэтому я быстро вернулся в предыдущий инструмент для конвертирования и ввёл эти два первых знака хеша, чтобы найти 8 нужных цифр: 11000000.

Шаг 3: Добавим первые 8 битов хеша к изначальным 256 битам, чтобы получить 264 бита

Источник: privacypros.io

Обратите внимание, что мы хотим получить мнемоническую фразу из 24 слов для большей безопасности, поэтому мы используем 264 бита. Однако вы можете проследовать инструкциям BIP39, чтобы получить 12, 15, 18 или 21 слово.

Шаг 4: Разделим наши 264 бита на 24 группы по 11 битов

Получится что-то вроде этого:

01100111101
11100010000
11111010011
10011011100
00010100000
10010000111
00011110000
10101011011
10111111010
01000111010
11000011111
11010001011
01010010010
01001011010
01110000001
00100110100
10111010001
11100101111
11001101111
01010101000
10111100110
00001011000
11111101001
10111000000

Шаг 5: Конвертируем двоичное значение в десятичное

Имейте в виду: в BIP39 есть список из 2048 слов, потому что есть 2048 возможных комбинаций единичек и ноликов в группе из 11 битов. В справочном файле BIP39 они пронумерованы от 1 до 2048, но вы можете найти другой файл, где они пронумерованы от 0 до 2047. Каждая из ваших групп по 11 битов будет соответствовать одному слову из списка.

Если найденный вами список начинается с 1, вам нужно добавить +1 к каждому полученному числу, чтобы найти соответствующее слово. Если ваш список начинается с 0, то ничего делать не нужно.

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

01100111101829
111000100001808
111110100112003
100110111001244
00010100000160
100100001111159
00011110000240
101010110111371
101111110101530
01000111010570
110000111111567
110100010111675
01010010010658
01001011010602
01110000001897
00100110100308
101110100011489
111001011111839
110011011111647
01010101000680
101111001101510
0000101100088
111111010012025
101110000001510

Шаг 6: Конвертируем десятеричные числа в слова BIP39

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

Вот что мы в итоге получим:

011001111018291. guilt
1110001000018082. tilt
1111101001120033. whip
1001101110012447. oppose
000101000001608. beef
1001000011111599. movie
0001111000024013. bulk
10101011011137114. problem
10111111010153015. satisfy
0100011101057019. elder
11000011111156720. sentence
11010001011167521. sphere
010100100106584. false
010010110106025. ensure
011100000018976. ice
0010011010030810. charge
10111010001148911. riot
11100101111183912. tourist
11001101111164716. social
0101010100068017. fence
10111100110151018. rubber
000010110008822. arch
11111101001202523. wood
10111000000151024. rubber

Шаг 7: Не доверяй – проверяй

Mnemonic Code Converter Иэна Коулмена

Источник: privacypros.io

Воспользуйтесь конвертером мнемонических кодов Иэна Коулмена, чтобы проверить, создали ли вы правильную мнемоническую фразу из 24 слов. Введите ваши 24 слова в поле «BIP39 Mnemonic». Если вы всё сделали верно, то не увидите никаких ошибок. Прокрутите вниз, и этот инструмент покажет вам много информации о вашей мнемонической фразе и ваших адресах. С помощью этого инструмента также можно расширить вашу мнемоническую фразу, добавив дополнительное слово для большей безопасности и использования с HD-кошельком.

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

Если мнемонический конвертер говорит, что ваша фраза неверная

Такое случается. Очень легко допустить ошибку. Вот несколько советов, если это произойдёт:

  • Убедитесь, что контрольная сумма верная. Это самый вероятный источник ошибки.
  • При создании контрольной суммы убедитесь, что используете рекомендованный в статье генератор хешей SHA-256, потому что он хеширует двоичное значение. Если вы используете другой генератор, он может хешировать шестнадцатеричное значение, и тогда вы получите совершенно другой результат!
  • Если первый самый вероятный источник ошибки – контрольная сумма, а второй – хеширование, то третий – соотнесение чисел со словами из списка. К сожалению, потребуется перепроверить, сделали ли вы это правильно. Если вы делаете это, чтобы реально использовать адрес Биткойна для хранения денег, то вы должны убедиться, что всё верно.
  • И последний совет: если всё остальное не даст результата, начните с самого начала и внимательно проделайте все шаги – они работают.

Дополнительные слова для большей безопасности

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

Такие слова повышают безопасность вашей мнемонической фразы, требуя специального дополнительного элемента, который создаётся вами для доступа к биткойнам на вашем кошельке. В BIP39 приводится рекомендуемый способ создания расширенной seed-фразы.

Этот процесс также хорошо объяснён в книге Андреаса Антонопулоса «Осваиваем Биткойн». Мнемоническая фраза BIP39 + слово «mnemonic» + опциональная парольная фраза, созданная пользователем, вводятся в функцию растягивания ключа PBKDF2 с использованием HMAC-SHA512.

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

С помощью этой новой seed-фразы иерархический детерминированный кошелёк (HD-кошелёк) может сгенерировать вам практически неограниченное число биткойн-адресов. Все эти адреса защищены вашей секретной seed-фразой.

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

Вот и всё. Вы создали свой секретный ключ и превратили его в мнемоническую фразу, но главное, вы понимаете, что делает ваш кошелёк.

Что значит «мнемонический»?

Мнемоника, или мнемотехника, – это совокупность методов, которые помогают что-либо запомнить с помощью слов, идей или ассоциаций. Соответственно, мнемонический значит такой, который помогает запоминанию.

Парольная фраза то же самое, что пароль?

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

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

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

Источник

Вы всегда можете поблагодарить переводчика за проделанную работу:BTC: 3ECjCH5tPoyDCqHGCXfiiiLZQ3tVGzCSxBETH: 0xf45a9988c71363b717E48645A412D1eDa0342e7E

Больше горячих новостей

Государство и общество

Ждем новостей

Нет новых страниц

Следующая новость