Что такое BIP39 или как перенести криптовалюту из одного криптокошелька на другой

seed phrase bip39 wallet supportПри создании криптовалютного кошелька Вас попросят сохранить список из 12 или 24 слов, с помощью которого Вы сможете восстановить свои крипто активы при потере или поломки аппаратного кошелька или компьютера с программным крипто кошельком. Обычно восстановление кошелька не составляет проблем, но бывают ситуации, когда Вы хотите сменить свой аппаратный кошелек по своим личным причинам или из-за того что Ваш криптокошелек, которым Вы раньше пользовались, больше не выпускается или не обновляется. Вы можете подумать, что ваша seed фраза из 24 слов для восстановления вашего кошелька кажется теперь полностью бесполезной.  Но сразу паниковать и кричать, что все пропало не стоит, т.к. есть определенные стандарты формирования seed фраз (мнемоническая фраза), которых обычно придерживаются разработчики криптовалютных кошельков. Поэтому любую seed фразу можно путем специальных преобразований сделать совместимой с любым крипто кошельком.

Для начала разберемся что из себя представляет seed фраза.

Как известно криптовалютный кошелек состоит из публичного и приватного ключа, где публичный ключ в привычном нам понимании называется адресом, а приватный ключ это пароль к кошельку. Далее приватный ключ шифруется и получается некий набор букв и символов схожий с приватным ключом, который практически невозможно запомнить и в процессе записи такого длинного ключа легко допустить ошибку. Что бы seed фраза воспринималась легче и максимально снижалось количество ошибок при записи, seed фраза дополнительно шифруется набором из 12 или 24 слов (бывают варианты 13 и 15 слов). Список слов определен заранее и состоит из 2048 слов на различных языках мира: английском, японском, китайском, корейском, испанском, французском, итальянском, португальском и чешском. Но обычно в 90% случаях используется только один язык - английский. Ознакомится с списком 2048 английских слов используемых для генерации seed фраз можно по этой ссылке https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt 

Что такое BIP39, BIP32, BIP44, BIP48, BIP49, BIP84, BIP144?

BIP39 это общепризнанный стандарт на сегодняшний день для формирования seed фраз из 12 или 24 слов. Выбрать вариант между 12 или 24 словами у кошелька поддерживающего BIP39 Вы можете самостоятельно. Так же этот стандарт регламентирует используемые 2048 слов, о которых мы говорили ранее. 

Еще существует стандарт мнемонических фраз BIP44. Это частный случай BIP39, создан для совместимости с BIP32, где доступна мнемоническая фраза только на 12 слов. 

BIP32 на данный момент считается устаревшим форматом, который используется с 2011 года (кошелек Electrum). Используется мнемоническая фраза только из 12 слов. На данный момент не рекомендуется использовать кошельки которые поддерживают только BIP32.

BIP84 и BIP141 используется для SegWit кошельков bitcoin, обратно совместим с BIP32.

BIP48 является дополнением к BIP32, который предлагает использовать мастер ключ (пароль) подходящий сразу к нескольким независимым друг от друга кошелькам. В мастер пароль может быть записано до 4294967296 дочерних (приватных) ключей уже от конкретного публичного адреса (кошелька).

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

Что бы восстановить доступ к вашим крипто активам бывает недостаточно знать только seed фразу, т.к. разные кошельки могут использовать разные пути деривиации.

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

Записываются пути деривиации следующим образом: m / Purpose' / Coin Type' / Account' / Change / Address

Пример: m/44'/195'/0'/0

Получается что бы восстановить доступ к вашим крипто активам нужно знать не только seed фразу, но и пути деривиации для применямых кошельшков

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

 bip 39 crypto wallet support

Потом встает закономерный вопрос: что делать со всеми этими данными?

Далее нам нужен преобразователь мнемонических фраз или Mnemonic Code Converter.

Он преобразует Вашу seed фразу от одного кошелька в seed фразу для другого кошелька.

В этом поможет утилита от Ian Coleman https://github.com/iancoleman/bip39/releases/tag/0.5.4 

ВАЖНО: выполняйте все преобразования на локальном компьютере без подключения к интернет. После применения перезагрузить компьютер. Или еще лучше выполнять все на одноразовой виртуальной машине.  

Попрактиковаться с произвольными seed фразами так же можно и на веб сайте: iancoleman.io/bip39

Так же Вам обязательно следует знать, что не все криптокошельки придерживаются BIP32, BIP39, BIP44 и если Вы используете один из них, то восстановить доступ к криптовалюте на других криптокошельках у Вас не получится. Единственный выход это пересылать с одного адреса  на другой пока у Вас еще есть доступ к такому кошельку. Один из таких кошельков это Atomic Wallet.

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

Вывод: Используйте крипто кошельки поддерживающих BIP39 с seed фразой на 24 слова для максимальной безопасности, а BIP44 для максимальной совместимости с разными криптовалютными кошельками.