hui_v_reduzah
Опытный user
- Регистрация
- 11 Янв 2021
- Сообщения
- 1,132
- Реакции
- 14
Меня спросили что это за опция в Электруме при создании нового кошелька - "Extend this seed with custom words"
Довольно полезная опция, если очень коротко, но как говорится "есть нюанс":
Для начала, стоит понимать что те 12/24 слова (реже другое количество) которые вы видите при генерации кошелька не являются сидом сами по себе. Это мнемоническая фраза, которая отражает изначальную энтропию и используется уже для деривации сида. Схема выглядит вот так:
Энтропия - мнемоника - сид.
В изначальном BIP32 схема существовала без мнемоники (из энтропии генерировался сид), которую в свою очередь добавили в BIP39. К несчастью, у BIP39 несколько нехороших свойств:
- Учитывая алгоритм создания мнемоники у него фиксированный словарь
В чем минус? В том, что при изменении расположения слов в словаре вы из вашей мнемоники ничего не получите. Точнее получите, но уже совсем другой сид. И следовательно, любая новая версия любого приложения должна использовать оригинальный, не измененный словарь чтобы иметь возможность обратной совместимости.
- BIP39 не несет версию мнемоники. Тоесть, "железо" никогда не знает какой конкретно алгоритм деривации (сюда же входит и используемый словарь) нужно применять, и пробует их все.
В Electrum с таким не согласны, поэтому разработали свою схему деривации:
hmac_sha_512("Seed version", seed_phrase)
Если упрощенно объяснять эту схему, то в функцию подается ваша сид фраза и версия словаря (Seed version) и потом это несколько раз хэшируется, а результат это и есть сид.
В чем отличие данной схемы от BIP39? Нет необходимости иметь только один словарь. Каждый новый словарь получает новую Seed version, что очень сильно упрощает алгоритм а также позволяет легко организовывать обратную совместимость.
В Электрум вы можете создать сид фразу как на 13 слов, так и на 24. Но есть одна проблема:
!!! Сид фразы Электрум не совместимы с софтом использующим стандартный BIP39 !!!
Тоесть, импортировать сид фразу из BIP39 в Электрум - можно. Наоборот - далеко не всегда (скорее даже нет)
Так как вы не знаете допустимые слова по BIP39, вы можете вполне добавить слова которых в оригинальном словаре нет, и как результат - такой сид будет приниматься только в Electrum. (Если что, оно вам об это укажет написав - "unknown wordlist" ). И еще возможно специализированных сервисах, по типу iancoleman (приложение проверенное, я уже о нем писал и сам много раз пользовался. Но думаю не стоит напоминать что надо брать оффлайновую версию, с отключенным интернетом).
Вот так вот. Теперь полагаю вы знаете насчет сидов Electrum-a и не наделаете никаких ошибок.
Довольно полезная опция, если очень коротко, но как говорится "есть нюанс":
Для начала, стоит понимать что те 12/24 слова (реже другое количество) которые вы видите при генерации кошелька не являются сидом сами по себе. Это мнемоническая фраза, которая отражает изначальную энтропию и используется уже для деривации сида. Схема выглядит вот так:
Энтропия - мнемоника - сид.
В изначальном BIP32 схема существовала без мнемоники (из энтропии генерировался сид), которую в свою очередь добавили в BIP39. К несчастью, у BIP39 несколько нехороших свойств:
- Учитывая алгоритм создания мнемоники у него фиксированный словарь
В чем минус? В том, что при изменении расположения слов в словаре вы из вашей мнемоники ничего не получите. Точнее получите, но уже совсем другой сид. И следовательно, любая новая версия любого приложения должна использовать оригинальный, не измененный словарь чтобы иметь возможность обратной совместимости.
- BIP39 не несет версию мнемоники. Тоесть, "железо" никогда не знает какой конкретно алгоритм деривации (сюда же входит и используемый словарь) нужно применять, и пробует их все.
В Electrum с таким не согласны, поэтому разработали свою схему деривации:
hmac_sha_512("Seed version", seed_phrase)
Если упрощенно объяснять эту схему, то в функцию подается ваша сид фраза и версия словаря (Seed version) и потом это несколько раз хэшируется, а результат это и есть сид.
В чем отличие данной схемы от BIP39? Нет необходимости иметь только один словарь. Каждый новый словарь получает новую Seed version, что очень сильно упрощает алгоритм а также позволяет легко организовывать обратную совместимость.
В Электрум вы можете создать сид фразу как на 13 слов, так и на 24. Но есть одна проблема:
!!! Сид фразы Электрум не совместимы с софтом использующим стандартный BIP39 !!!
Тоесть, импортировать сид фразу из BIP39 в Электрум - можно. Наоборот - далеко не всегда (скорее даже нет)
Так как вы не знаете допустимые слова по BIP39, вы можете вполне добавить слова которых в оригинальном словаре нет, и как результат - такой сид будет приниматься только в Electrum. (Если что, оно вам об это укажет написав - "unknown wordlist" ). И еще возможно специализированных сервисах, по типу iancoleman (приложение проверенное, я уже о нем писал и сам много раз пользовался. Но думаю не стоит напоминать что надо брать оффлайновую версию, с отключенным интернетом).
Вот так вот. Теперь полагаю вы знаете насчет сидов Electrum-a и не наделаете никаких ошибок.