- Как сгенерировать собственную seed фразу для кошелька? Безопасно ли это?
- Содержание статьи:
- BIP39 Mnemonic
- Создание собственной seed фразы
- Конвертер / генератор seed фраз — iancoleman.io
- BIP39 Diceware — создание seed фразы с помощью кубиков и монеты
- Выбор безопасного 25-го слова
- Советы по настраиваемой seed фразе, начальному значению восстановления и парольной фразе
- Подпишись на наш Telegram-канал и не пропускай важные новости из мира криптовалют и блокчейна*
- Создаём “бэкап” биткойнов при помощи магического набора слов
- Один набор слов, чтобы восстановить их все
- Как Сохранять и Восстанавливать
- Красота математики и проблема разных типов развёртки
- Как криптография использует магические слова
- Оффлайн и при помощи кубиков
Как сгенерировать собственную seed фразу для кошелька? Безопасно ли это?
Содержание статьи:
Это краткая инструкция для тех, кто хочет создать свои собственные seed фразы из 12/24 слов.
Конечно, вы можете создавать свои собственные seed фразы и использовать их в аппаратных кошельках или любых кошельках, совместимых с BIP39. Но этот метод крайне не рекомендуется.
Здесь мы покажем вам возможные способы создания собственной seed фразы. Но сначала позвольте объяснить, почему сгенерированные вручную seed фразы будут менее безопасными и почему вам следует использовать случайную генерацию.
BIP39 Mnemonic
BIP39 (Bitcoin Improvement Proposal) — это мнемонический код или предложение (группа легко запоминающихся слов), используемое для генерации иерархически детерминированных ключей.
Биткойн и другие приложения кошельков используют иерархический детерминированный процесс генерации ключей для теоретического получения бесконечного числа криптографических секретов из одного seed.
То есть публичные адреса криптовалюты и их приватные ключи являются производными от одного основного начального числа.
BIP39 — это промышленный стандарт для детерминированных ключей. Большинство аппаратных уошельков, таких как Ledger, Trezor, Keepkey и многие другие иерархические детерминированные (HD) кошельки используют BIP39 для генерации seed фраз.
Среди них большинство кошельков по умолчанию использует мнемонику из 24 слов. Он состоит из 24 случайных слов из 2048 слов, найденных в списке английских слов BIP39 .
Пример seed фразы BIP39 из 24 слов:
boss acid month act exit elegant eight column palace crystal pistol develop outside album enlist top boil fruit tree mean lava giggle occur retreat
Создание собственной seed фразы
Из стандартного списка из 2048 слов вы можете выбрать свою комбинацию из 24 слов. Однако, чтобы она работала должным образом, необходима определенная структура, и последнее слово обязательно должно содержать контрольную сумму.
Вероятно, вы могли бы выбрать любые 23 слова и поэкспериментировать с последним. Но поскольку последнее начальное число (24-е слово) seed фразы является контрольной суммой, не каждое слово будет работать.
Даже если вы сгенерировали корректную seed фразу вручную, делать это крайне не рекомендуется.
Почему? Человеческий мозг не очень хорош в случайности. Таким образом, практически любая seed фраза, созданная пользователем, будет менее безопасна, чем сгенерированная автоматически.
Создавая собственную seed фразу, вы облегчаете задачу кому-нибудь: можно будет понять вашу логику ее составления. Также помните, что есть боты, которые могут искать seed фразы, которые следуют определенному шаблону и не генерируются случайным образом.
Поэтому, если вы хотите сгенерировать собственную seed фразу, автогенерация — единственный способ обезопасить свои средства.
Настоятельно рекомендуется создавать seed фразы путем генерации случайных слов. Существует несколько хорошо зарекомендовавших себя программных обеспечения / кошельков с открытым исходным кодом, которые генерируют начальные числа с помощью PRNG (генератор псевдослучайных чисел) / CSPRNG (криптографически безопасный генератор псевдослучайных чисел).
Вы можете использовать Electrum, и другие аппаратные кошельки, так как они почти все используют один и тот же метод генерации seed фраз.
Но когда вы хотите создать свою собственную seed фразу из 24 слов вместо автоматически сгенерированной, предоставляемой программным обеспечением кошелька, вы можете использовать следующие инструменты.
Конвертер / генератор seed фраз — iancoleman.io
Это полностью открытый инструмент (https://iancoleman.io/bip39) для генерации seed фраз. Вы даже можете использовать этот сайт в автономном режиме. Просто щелкните правой кнопкой мыши и сохраните страницу как BIP39 — Mnemonic Code.html. Затем вы можете отключить Интернет и создать seed фразу в автономном режиме.
Он генерирует seed фразу BIP39 действительно случайным образом. Выберите 24 слова и нажмите «Создать», чтобы сгенерировать новую случайную seed фразу.
Но что, если вы думаете о том, чтобы вручную сгенерировать правильную начальную фразу без компьютера? Для этого и предназначены аппаратные кошельки. Они генерируют начальные числа / ключи полностью автономно на вашем устройстве.
Но дело в том, что у вас нет реального представления о процессе генерации. Итак, вы решили создать seed фразу вручную.
Есть один метод, для которого потребуется автономный компьютер, игральные кости и монета. Но это очень сложно и рекомендуется только технически продвинутым пользователям.
BIP39 Diceware — создание seed фразы с помощью кубиков и монеты
Процесс прост. Все, что вам понадобится, это обычные шестигранные кости, монета, ручка и лист бумаги, чтобы записать seed фразу.
Вместо того, чтобы выбирать слова вручную, вы собираетесь генерировать их, бросая кости (1-6) и подбрасывая монету (t / h).
Есть и другие способы составить список слов, просто бросая кости. Но это может не сработать, потому что вы не получите правильную контрольную сумму. Вам нужно будет настроить последнее слово, чтобы оно соответствовало требованиям контрольной суммы.
Для этого на GitHub есть утилита Force30. Он настроит ваш собственный список слов в соответствии с кошельками BIP39.
Используя этот метод, вы можете создать кошелек, совместимый с bip39, используя ручную энтропию.
Используйте этот метод на свой страх и риск.
Если вы действительно беспокоитесь о безопасности начального числа из 24 слов и сомневаетесь в RNG аппаратного кошелька, вам следует подумать об использовании надежной парольной фразы (25-е слово).
Выбор безопасного 25-го слова
Стандарт BIP39 поддерживает дополнительную парольную фразу, которая используется для шифрования исходной seed фразы из 24 слов. Это необязательно, но эта функция повышает безопасность и гибкость. Эта функция поддерживается всеми аппаратными кошельками, такими как Ledger, Trezor, Keepkey и т.д.
Установленная вами кодовая фраза (25-е слово) может быть полностью случайной, и это не обязательно должны быть слова из списка английских слов BIP39.
Но помните, что каждая возможная парольная фраза детерминированным образом определяет новый набор пар публичного / приватного ключей. Поэтому обязательно запишите кодовую фразу, которую вы используете для кошелька, на котором есть средства.
Если вы потеряете кодовую фразу, но у вас будет seed фраза из 24 слов, вы не сможете вернуть средства. Вам обязательно понадобится seed фраза из 24 слов и дополнительная кодовая фраза вместе.
Также помните, что парольная фраза чувствительна к регистру, и даже пробел является допустимым символом. Так что сделайте резервную копию / запишите точную парольную фразу без каких-либо ошибок. Также храните резервную копию где-нибудь отдельно от seed фразы из 24 слов. Например, вы можете хранить их в менеджерах паролей.
Теперь, прежде чем вы приступите к генерации собственной seed фразы, вот несколько вещей, которые вам нужно знать о seed фразе и парольной фразе.
Советы по настраиваемой seed фразе, начальному значению восстановления и парольной фразе
Если вы генерируете seed фразу из 24 слов в автономном режиме, мы рекомендуем вам записать исходное слово на бумаге.
Если вы установили дополнительную фразу-пароль, запишите и ее. Импортируйте seed в свой аппаратный кошелек или автономный компьютер.
Или вы можете использовать такие инструменты, как https://iancoleman.io/bip39/. Проверьте 1-й публичный адрес Биткойнов на вкладке получения и запишите его. Затем удалите все.
Затем снова импортируйте seed фразу из 24 слов и кодовую фразу (если она задана), чтобы убедиться, что у вас есть резервная копия комбинации записи.
Если ваша seed фраза и кодовая фраза BIP39 генерируют точно такие же общедоступные адреса Биткойнов, тогда все готово.
Не допускайте ошибок при использовании seed фразы из 24 слов и ключевой фразы. Если вы ошиблись с одним символом, то получите совершенно другой набор адресов. Вам следует вносить криптовалюту и начинать использовать комбинацию seed фразы и парольной фразы только в том случае, если вы уверены, что ваши резервные копии надежны.
Также помните, что больше, чем монет, потерянных в результате краж, потеряно монет в результате действий пользователей, постоянно блокирующих свои собственные монеты, чрезмерно усложняя безопасность.
Так что постарайтесь найти баланс между вашими потребностями в безопасности и вашей способностью не забывать делать резервную копию и использовать кодовую фразу, а не выбирать что-то настолько сложное, как генерация собственной seed фразу.
Защита вашей криптовалюты — это упражнения по уравновешиванию. Не подвергайтесь FOMO.
Надеемся, данная статья это объясняет.
Вы можете узнать больше о спецификации BIP 39 здесь:
Подпишись на наш Telegram-канал и не пропускай важные новости из мира криптовалют и блокчейна*
*Ссылка открывается даже, если телеграм заблокирован в вашем регионе
Источник
Создаём “бэкап” биткойнов при помощи магического набора слов
Легко сделать резервную копию (“бэкап”) ваших монет при использовании криптовалюты Биткойн. В этом руководстве мы расскажем вам, как использовать SEED для безопасного хранения биткойнов. Кроме этого, мы углубимся в технологию так называемых иерархически детерминированных кошельков и расскажем, как вы можете создать SEED-ключ оффлайн и при помощи кубиков.
Одно из самых распространённых заблуждений касательно использования Биткойна гласит, что вы должны быть IT-экспертом, чтобы его использовать. Так много людей говорят и думают, что они не понимают эту сумасшедшую штуку – Биткойн, даже некоторые биткойн-энтузиасты говорят вещи вроде: “Если вы не эксперт, лучше всего просто использовать сторонний сервис вроде Coinbase или Bitcoin.de”.
Такое заявление может звучать продуманно и ответственно, как указание детям не играть на железнодорожных путях. Но в реальности, подобный подход чудовищно неправильный и совсем “не Биткойновый”, по двум причинам.
Первая; если вы доверяете третьим лицам в хранении ваших средств, вам не нужен Биткойн. На самом деле, лучше бы вы доверились своему местному банку вместо какого-то анонимного сервера, на котором, неизвестно где вообще, хранится ваш кошелёк. Вторая; восхитительная криптография, из которой соткан Биткойн, а также большое количество проделанной разработчиками работы, позволяют удивительно просто создавать резервные копии кошельков без всякой сторонней помощи. По факту, если и есть одна единственная причина, по которой из-за Биткойна можно разволноваться, то вот какая: кто угодно может полностью контролировать свои деньги.
Это короткое руководство расскажет вам, как на практике сделать резервную копию ваших средств при помощи SEED-ключа. Инвестируйте пять минут в чтение, ещё пять минут в действие, и вы можете спать спокойно зная, что все ваши монеты в относительной безопасности. Если вы хотите копнуть глубже, стоит продолжить чтение, так как мы объясняем процедуру создания seed в оффлайне и при помощи кубиков, а также раскрываем принципы работы этой технологии.
Один набор слов, чтобы восстановить их все
Давайте начнём с полезной части; как вы можете сохранить и восстановить резервную копию вашего кошелька, используя seed?
Большинство кошельков имеют встроенную опцию “бекапа”. “Бекап” состоит из набора случайных английских слов, зачастую их 12, иногда 18 или 24. Выглядит так:
inspire october ten crop warfare wink game regular alley mimic anchor extra
Подобная цепочка слов не имеет никакого смысла, но также может оказаться одной из самых дорогих последовательностей слов за всю историю человечества. Это всё, что вам нужно знать, чтобы восстановить кошелёк, и не важно, сколько вы совершили транзакций и как много адресов сгеренировали.
Вы можете написать SEED-ключ на бумажном листке, скопировать содержимое листка, положить его в хранилище, выгравировать слова на камне, использовать техники запоминания и хранить слова в голове (опасно в случае потери памяти и кошелька одновременно – прим. пeр.), внести их в завещание. Не важно, как именно вы это сделаете, если вы смогли сохранить ключ, так чтобы никто кроме вас не смог его прочитать, вы можете отформатировать жёсткий диск, сжечь компьютер, выбросить телефон в океан. И даже тогда у вас будет возможность восстановить утраченные монеты. Последовательность слов – всё, что вам необходимо знать.
На самом деле, если вы достигли успехов в техниках запоминания, можно путешествовать по всему миру, даже не перевозя с собой биткойнов. Нет устройств, нет кошелька, нет монеты, нет записей, но вы будете в состоянии восстановить для траты столько монет, сколько захотите, используя лишь подключение к Интернету.
Никто не сможет украсть у вас деньги, и никто не сможет заблокировать их.
Разве это не магия? Вы храните деньги у себя в голове. Немногие функции предоставляют ту свободу, которую даёт Биткойн и SEED-ключ от биткойн-кошельков.
Как Сохранять и Восстанавливать
Всё очень просто. Загрузите программу-кошелёк с поддержкой так называемых иерархически детерминированных кошельков. Так как почти каждый Биткойн-кошелёк поддерживает эту технологию, список пригодных кошельков достаточно широк. В алфавитном порядке: Airbitz, Bither, BreadWallet, Coin.Space, Coinomi, CoPay, Electrum, Exodus, GreenAddress, Jaxx, Ledger, MultiBit, Mycelium, Simple Bitcoin Wallet, Trezor. Большинство из этих кошельков потребуют от вас записать ваш SEED перед тем, как вы сможете впервые открыть кошелёк. В некоторых из них необходимо искать опцию бекапа кошелька.
Записав SEED, вы выполнили самое сложное. Теперь у вас имеется строка с магическими словами. Но самый интересный вопрос остаётся открытым: как вы восстановите ваши деньги? Когда жёсткий диск ломается или смартфон попадает под каток, как вам вернуть доступ к монетам при помощи SEED-ключа?
Самое захватывающее во всей истории то, как вы будете использовать seed для возврата доступа, вы увидите себя сидящим у компьютера с замиранием сердца, пока кошелёк разворачивает ваш бекап. Когда вы впервые используете несколько слов для восстановления ваших монет на другой системе, возможно находящейся за тысячи километров от той, где вы изначально их хранили, этот момент будет магическим для вас и для Биткойна.
Самый простой способ быстро завладеть монетами – использовать такой же кошелёк, какой вы использовали для генерации SEED-ключа. Если бэкап создавался при помощи Electrum, используйте его; если был использован Trezor, то опять же используйте его, и так далее. Вы сможете непринуждённо восстановить монеты. На некоторых кошельках, вам необходимо искать опцию восстановления средств из бэкапа, на других вам необходимо открыть новый кошелёк из Seed. После некоторых поисков, вы найдёте эту опцию. Откроется специальное поле, в которое вы введёте ваши магические слова и все деньги будут восстановлены. Абракадабра!
Красота математики и проблема разных типов развёртки
Но не всегда всё так просто. Что если вы потеряли своё устройство? Что, если ваш Trezor сломался? И что, если пропадёт сервер, помогающий работать кошелькам вроде Electrum, Jaxx или Mycelium? Как вы сможете восстановить свои средства в настолько плачевной ситуации?
Все знают, что у вещей есть свойство со временем усложняться. Тем не менее, красота криптографии состоит в том, что у вас всегда есть приватные ключи. Ваша секретная последовательность слов является основой для развёртывания всех ваших приватных ключей, со всей математической строгостью.
Просто ради интереса, на секундочку, давайте углубимся в технические детали: есть криптографическая процедура, называемая “иерархически детерминированный кошелёк”, она переводит SEED-ключ в Мастер-ключ, из которого все остальные ключи развёртываются в “детерминистическом” порядке. Также, как вы не зависите от определённого калькулятора или софта при вычисления математической формулы, так и ваш SEED-ключ работает независимо от типа кошелька. Ему не нужно “доверять” — это математика; бэкап, который был создан при помощи Bither, сработает и в Exodus.
Единственная проблема состоит в том, что существует два типа стандартов. В то время, как ключевая фраза (SEED) и Мастер-ключ одинаково стандартизированы, существует два способа восстанавливать ключи и адреса вашего кошелька, они называются BIP32 и BIP44. Можете представить их в виде двух рек, разливающихся из одного ручья. Так что, если вы создали SEED используя кошелек с поддержкой BIP44, вроде Bither, и пытаетесь восстановить его при помощи кошелька с BIP32, типа Electrum, то вы откроете пустой кошелёк. Значит, необходимо выяснить, какой кошелёк подходит для восстановления.
Таблица ниже показывает, какие пути развёртывания используются самыми популярными кошельками; список не полон, и нет гарантии, так как нет точной информации о том, какой кошелёк использует какой BIP.
Помимо этого, существует несколько реализаций метода. Например, некоторые кошельки вроде Ledger используют фразу из 24 слов, тогда как другие, вроде Exodus, будут использовать SEED из 12 слов. И нет, вы не отделаетесь тем, что просто будете везде использовать первые 12 слов. SEED из 12 слов несовместим с кошельком, поддерживающим SEED из 24 слов. Также, не все кошельки используют и понимают тот же словарный набор, а у некоторых отсутствует правильная реализация путей развёртывания; например, Exodus может восстановить лишь первые 4 адреса, созданные с помощью Мастерключа, а на Coin.Space у нас не было возможности восстановить адреса, созданные при помощи другого кошелька, и так далее.
Если вам сложно восстанавливать утраченные деньги из-за отсутствующих стандартов, всё ещё остается возможность вернуться назад к основам. Просто посетите сайт с генератором BIP39, вроде предлагаемого Иэном Колеманом, или генератором BIP32. Здесь, вы можете просто ввести свой SEED-ключ, и получить всю необходимую для восстановления ваших средств информацию. Первое, приложение отобразит для вас приватные ключи и адреса. Вы можете взять их и использовать для восстановления адресов в Bitcoin Core, Electrum и других кошельках, позволяющих импортировать приватные ключи. Второе, инструменты покажут вам “Расширенный Ключ BIP32” (Extended Key) и Мастер-Ключ, который можно использовать для восстановления кошелька при помощи, например, Electrum.
Много слов, а смысл таков: обычно, это легко — восстанавливать ваши монеты при помощи секретной фразы. Вам не понадобится никакой IT-шной мудрости. Если для вас это сложно и вы столкнулись с проблемами совместимости кошельков, всё, что вам необходимо для получения ключей – ваш SEED. В наихудшем случае понадобится немного поработать. Если кошелёк правильно развернёт приватные ключи из Мастер-ключа, вы не потеряете свои монеты, главное – держать SEED при себе и никому его не показывать.
Как криптография использует магические слова
Теперь, давайте углубимся в подробности: что происходит? С помощью каких таких техник работает магическая последовательность слов? И, в конце концов, безопасен ли весь этот процесс?
Чтобы осознать принцип работы ключевой фразы, вам нужно больше знать о том, как хранятся биткойны. Возможно вы уже знаете, что получаете монеты при помощи адреса. Этот адрес образуется из ваших публичных ключей, а они образуются из приватных ключей. Таким образом, сначала ваш кошелёк сгенерирует приватный ключ затем он разворачивает публичный ключ а потом он трансформирует публичный ключ в адрес.
Очень простой способ сохранить монеты – просто записать или сохранить ваш приватный ключ в зашифрованый файл. Приватный ключ похож на случайный набор цифр и букв:
Рекомендуется для улучшения приватности и большей сохранности от коллизий не использовать одни и те же адреса несколько раз, большинство продвинутых кошельков создают новый адрес каждый раз, как вы кликаете “Получить”. Так, чтобы сделать бэкап средств, вам бы пришлось сохранять приватные ключи каждый раз, когда вы создаёте новую транзакцию. Ясное дело, что это весьма неудобно.
К счастью, в 2012 году разработчик Биткойна Питер Вуйле написал функцию для Биткойна, названную “Иерархически Детерминированные Кошельки”, известную как BIP32. Он разработал математику, позволяющую создавать Мастер-ключ, из которого все остальные приватные ключи могут быть развёрнуты в предопределённом порядке. Короче говоря, если у меня есть Мастер-ключ А, то я смогу получить из него ключи а, б, в, г, и так далее, именно в таком порядке. Разработчики, которые пришли позднее, например Марек Палатинус, из чешского Биткойн-стартапа Satoshi Labs, разработали инструменты для разворачивания Мастер-ключа из SEED в 12 или 24 слова (BIP39), а также инструменты для создания ключей с поддержкой нескольких аккаунтов (BIP44), что будет означать, что Мастер-ключ А производит аккаунты а, б, в и так далее, а внутри, скажем аккаунта а, он будет разворачивать ключи а, б, в, г и так далее, что является шикарной функцией кошельков, направленной на защиту пользовательской анонимности в условиях интенсивного сбора данных с блокчейна.
Ваш SEED является ключом, магической дверью, абракадаброй, соединённым с целым миром ключей и адресов. Это нечто вроде карты, показывающей вам где найти ваши биткойны в безбрежном океане стохастики. Вы можете развернуть ключи для Лайткойна, Monero, Эфириума и так далее, из одного и того же ключа, вот почему мультивалютные кошельки вроде Jaxx или Exodus могут при помощи одного SEED-ключа сохранять сразу множество криптовалют.
SEED даёт могущество, но с ним приходят и риски. То, что только вы должны знать его, является императивом. Именно здесь и начинаются проблемы.
В теории, SEED-ключ совершенно безопасен и является жёсткой математикой. Но на самом деле вам не хватает всего лишь ещё одной капли паранойи, чтобы сказать: а как я могу быть уверен, что SEED, произведённый на моём компьютере, знаю только я? В том случае, если кошельки вроде Electrum, Mycelium или Exodus создают последовательность слов, откуда вам знать, что не существует скрытого кода, отсылающего слова третьей стороне? И как вы можете точно знать, имеются ли на вашем ПК вирусы-шпионы, ждущие, пока биткойн-кошелёк загрузит SEED в оперативную память, а затем крадующие его? И наконец, как вы можете быть уверены, что ваш компьютер генерирует достаточное для создания безопасного ключа количество случайных исходных данных? Вы ведь в курсе, что компьютеры – не очень хорошие помощники в создании хаотичности?
Оффлайн и при помощи кубиков
Вы никогда не получите полную безопасность. Никогда. Но вы можете получить её в достаточно высокой степени. Для этого, вам стоит использовать генератор BIP39, вроде того, что предлагает сделать Иэн Колеман. Затем, вы сохраняете сайт для его использования на жесткий диск своего компьютера, выключаете Интернет, и запускаете сайт в режиме оффлайн. Теперь вы можете дать программе создать SEED без подключения к Интернету.
Для этого, можно использовать энтропию, создаваемую вашим компьютером, обычно этого вполне достаточно, но если вы не доверяете своему компьютеру, то также можете вставить свою собственную энтропию. Всё, что вам при этом необходимо – игральные кубики с шестью гранями. Лучше бы у вас их было несколько, и придётся бросать их не меньше 50-ти раз для получения надёжного источника энтропии. Вы бросаете кубики, пишете результат в поле на сайте, затем бросаете снова, и так далее. После сбора энтропии подобным образом, программа создаёт ваш SEED.
Когда процесс создания завершён, запишите SEED на бумажку. Если хотите хранить его в цифровом виде, пожалуйста, шифруйте файл при помощи сильного пароля и программы, которой вы доверяете. Затем прокрутите вниз и запишите BIP39 Мастер-ключ. Прокрутите ещё ниже, кликните на Производные BIP44 (BIP44 derivates), запишите некоторые адреса. Выбор адресов для получения средств зависит от того, в каком кошельке вы собрались разворачивать их, некоторые читают производные от BIP32, некоторые – от BIP44. Multibit умеет восстанавливать все типы производных.
Для удобства, можно скопировать адреса в нешифрованный файл на компьютере. Но туда можно копировать только адреса, не SEED! Никогда не храните SEED в нешифрованном виде на любом из ваших устройств, если намереваетесь хранить в этом кошельке большие деньги. После того, как всё сделано, можно закрыть вкладку с сайтом, выключить компьютер, чтобы очистить память ОЗУ, перезагрузиться, снова зайти в Интернет и поделиться своими адресами с другими, чтобы получать Биткойны. Теперь у вас имеется прекрасный и надёжный бумажный кошелёк для ваших биткойн-богатств.
Источник