October 8, 2022

Как получить доступ к приватным ключам из seed-фразы

В последнее время, криптопользователи из России и других стран сталкиваются с различными видами проблем на централизованных площадках и вынуждены переходить на некастодиальные кошельки (Ledger, Trezor, Trust Wallet, SafePall и т.д.). Большинство выбирают наиболее простые решения, использование программных кошельков завёрнутых в оболочку мобильных приложений (Trust Wallet, Exodus, SafePall)

- Но что делать, если приложения начнут блокировать и возможно ли это?

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

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

Разберемся с этим вопросом в данной статье.

Это важно понимать:

  • Главный "ключ" от вашего криптокошелька - это приватный ключ (private key). Но в мультивалютных некастодиальных решениях, чаще всего пользователям выдают seed-фразу (mnemonic) состоящую из 12, 18 или 24 слов.
  • Seed-фраза содержит в себе все приватные ключи от всех адресов, которые были сгенерированы в кошельке, и дает к ним полный контроль.
    Приватный ключ - дает доступ только к конкретному адресу блокчейна
  • Сгенерированные Вашим кошельком слова в seed-фразе, не являются случайными. Они взяты из определенного набора из 2048 слов, известного как "список слов BIP39"
Все слова из списка BIP39 можно посмотреть на GITHUB
  • Сама seed-фраза не дает полного представления о кошельке и его содержимом. Существует криптографическая процедура, которая называется «иерархически детерминированный кошелёк». Она переводит seed-фразу в Мастер-ключ, из которого все остальные ключи развёртываются в «детерминистическом» порядке. Так как seed-фраза является математически генерируемой детерминированной последовательностью (см. рисунок ниже), то он работает независимо от типа кошелька. Ключевая фраза (seed) и Мастер-ключ стандартизированы одинаково и единственная проблема состоит в том, что существует два широко применяемых алгоритма восстановления ключей и адреса кошелька, они называются BIP32 и BIP44, реже BIP49, BIP84, BIP141.
  • Если seed-фраза была создана, используя кошелек с поддержкой стандарта BIP44, то при попытке восстановления его при помощи кошелька с BIP32, будет открыт пустой кошелёк. Поэтому важно знать, какой кошелек подходит для восстановления из вашей seed-фразы.
Поддерживают алгоритм BIP44 (Ledger, Trezor, Trust Wallet, Exodus, MultiBit)
Поддерживают алгоритм BIP32 (Electrum, MultiBit)

Для обычного пользователя, это все может показаться "темным лесом", но не все так страшно, как кажется.

Так что же все-таки делать, если по каким-то причинам, нет доступа к Вашему кошельку?

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

Разберем 2 пункт подробнее

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

Мы лично протестировали этот метод, восстановив доступ к кошелькам ETH и ATOM

Задача. Имеем: $ETH на TrustWallet, доступ к кошельку потерян, seed-фраза имеется.

Требуется: восстановить контроль над средствами.

❗️Вы берете на себя полную ответственность за сохранность ваших активов, продолжая следовать инструкции. Дальнейшие операции будут проходить с Вашей мнемонической (seed) фразой. Отдельно отметим, чтоб вы ни в коем случае не делились вашей seed фразой с третьими лицами

  • Для обеспечения безопасности вашей seed-фразы рекомендуем отключить ПК от сетей LAN, Wi-Fi, Bluetooth. Использовать ПК который больше никогда не будет подключен к сети или сразу же после восстановления приватного ключа, на нем будет переустановлена ОС
  • Открываем скачаный релиз bip39-standalone.html, в поле BIP39 Mnemonic вводите свою seed-фразу
  • В поле Coin выбираете нужную монету, в нашем случае $ETH
  • В разделе Derived Addresses находим наш адрес кошелька и его приватный ключ. Обычно нужный адрес стоит в первой строке, но можно воспользоваться поиском через Ctrl+F.
  • Может быть такое, что на странице нет Вашего адреса. Нужно подняться выше, в раздел Derivation Path и перебирая вкладки стандартов BIP, найти тот алгоритм где будет нужный кошелек.

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

  • В приложении выбираем нужную монету $ETH и "Восстановить"
  • Вводим наш приватный ключ в поле Private Key и подключаемся
  • Проверяем адрес. Кошелек наш, доступ восстановлен.

Данным способом можно восстанавливать любые приватные ключи Ваших монет во всех блокчейнах из seed-фразы


Статья подготовлена для читателей https://t.me/cryptoperry и наших друзей