Плюсы/минусы/ограничения мнемонических фраз — BIP39

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

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

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

или разделить фразу, или добавить дополнительную фразу-пароль поверх последовательности HD, или использовать секретный ключ Шамира...

все это просто создает больше точек отказа.

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

По крайней мере, мы можем быть уверены, что сами слова содержат достаточно энтропии, чтобы предотвратить угадывание, ПРАВИЛЬНЫЕ РЕБЯТА? ПРАВИЛЬНО?

Каковы плюсы, минусы, ограничения BIP39 или, по крайней мере, мои опасения. Я прочитал вики и уценку github для BIP39, и они ничего не делают для решения этих проблем, потому что эти BIP являются централизованным процессом.

Ответы (3)

ответить на первую часть;

вообще говоря, люди захотят сделать резервную копию всего своего кошелька, а не отдельных ПК. Таким образом, использование HD-кошелька и создание резервной копии начального числа (либо начальное число, либо мнемоника BIP39 не имеют значения) соответствует тому, что делают люди, использующие «обычные» кошельки, вы создаете резервную копию всего своего кошелька в одном месте (большинство кошельков имеют резервную копию/ экспортный файл для всего кошелька).

BIP32 — HD Wallets — (и BIP39) не должен заменять возможность разделения ваших резервных копий на несколько разбросанных закрытых ключей, он заменяет один кошелек, резервное копирование которого производится «традиционным» способом, 1 файл (или печать) на весь кошелек.

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

Но если вы хотите распределить риск, разделив свои биткойны на несколько резервных копий, вам нужно просто иметь несколько кошельков для их разделения.

BIP39 — это также только процесс преобразования семени в мнемонику и обратно, ваши (вышеупомянутые) проблемы на самом деле касаются HD-кошельков в целом, то есть BIP32 ;-)

теперь ваша единственная реальная забота о BIP39 — это слова, содержащие достаточно энтропии! и они это делают, потому что слова генерируются из 128 или 256-битной энтропии для начала, шестнадцатеричная энтропия разбивается на куски по 11, что означает, что в результате у вас есть список целых чисел 0-2047. этот список целых чисел переводится в слова (и обратно в шестнадцатеричный код и в двоичную энтропию, когда вы его используете).

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

гекс энтропии: 7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f

биты энтропии:

разделен на 11 частей длины: [0] => 01111111011 [1] => 11111011111 [2] => 11011111110 [3] => 11111110111 [4] => 11110111111 [5] => 10111111101 [6] => 11111101111 ] => 11101111111 [8] => 01111111011 [9] => 11111011111 [10] => 11011111110 [11] => 11111111000

эти части преобразованы в слова с использованием списка слов по умолчанию: победитель закона спасибо год волна колбаса стоит полезный победитель закона спасибо желтый

мнемоника вместе с паролем TREZOR преобразована в начальный шестнадцатеричный код: 2e8905819b8723fe2c1d161860e5ee1830318dbf49a83bd451cfb8440c28bd6fa457fe1296106559a3c80937a1c1069be3a7f9315bd388ee6269

теперь самое интересное заключается в том, что если вы используете другой пароль с той же мнемоникой, вы получаете другое семя и, следовательно, другой кошелек, у вас может быть 2 кошелька, и если вас ограбят, только передайте BTC в один из них ;-)

«BIP39 — это также только процесс преобразования начального числа в мнемоническое и обратно» — BIP39 использует односторонний хэш для получения начального числа BIP32. Нет пути назад.

Bitcoin-explorer проходит тестовые векторы BIP-39. Посмотрите на приведенные ниже примеры bitcoin-explorer, чтобы ответить на поставленные выше вопросы.

1) эхо "0" | bx base16-кодировать | бх ша256

effcce8fe9c6da7e1b50cccdfc082cdf8d1b135aed519bc27cfd5cacb16269d6

2) эхо "effcce8f" | bx мнемоника-новый

полезная игрушечная фраза

3) эхо "e9c6da7e" | bx мнемоника-новый

паника цикла правды

4) эхо "effcce8fe9c6da7e" | bx мнемоника-новый

полезная игрушка физическая сжимать ужас болезнь

5) echo "effcce8fe9c6da7e1b50cccdfc082cdf8d1b135aed519bc27cfd5cacb16269d6" | bx мнемоника-новый

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

6) echo "effcce8fe9c6da7e1b50cccdfc082cdf8d1b135aed519bc27cfd5cacb16269d6" | bx mnemonic-new --language en

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

7) echo "effcce8fe9c6da7e1b50cccdfc082cdf8d1b135aed519bc27cfd5cacb16269d6" | bx mnemonic-new --language es

trozo tez opinar сауна honra dar hombre azafrán rubí talón amapola pure salvar mármol heroe panico norma ascenso dátil posible ritmo perla otro ruptura

8) эхо "полезная игрушка физическая болезнь ужаса сжатия" | bx мнемоника-to-seed

ab226a6e34d87c6a469cfca5d034d7c053ee6f5478bccb1589bc3b216759cb263cab74503471c2f44cbe3d5c06e1e1a774a3feb51a8dfdcc4dd4aece392802e2

9) эхо "полезная игрушка физический ужас болезни" | bx мнемоника-to-seed -p TREZOR

a1e90b6de07f62e8e09268a138761e9a93296afa221fbefc7b4bcaefef71aac6d4a385af7a0ca34d96b275953d4bbd12d442d9738f1559c855f292e7a4a75daa

10) эхо "полезная игрушка физическое сжатие ужас болезнь капот социальная теория арктический образец паук луговой холм довольно оранжевый стать уволить богатый шлем поднять точку в ближайшее время" | bx мнемоника-to-seed

4703dc4343298d2ea7ddfa5f60b8a359f87c73f356b7eb684596f15390e1d8f67e42c5b224765bf10a4ed3437d3fd6b6110edb2c235ec997b1d969693bc12d18

Вопрос: какую bxбиблиотеку вы используете — потенциально ту: github.com/libbitcoin/libbitcoin-explorer ?
Да, это исходный код. Двоичные файлы доступны на github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX .
Не могли бы вы взглянуть на несоответствие? imgur.com/a/HDssr
Похоже, что исполняемый файл использовал boost без icu . Изучите install.sh для сборки с помощью icu.
Слишком занят, слишком много других проектов, вряд ли можно погрузиться в основную проблему.
Это выход из echo "0". Они дают четыре разных результата: "0", "00" 0 и 00. Кодировка bx base-16 преобразует любые данные в base16..."Двоичные данные для кодирования в Base16. Это может быть текст или любые другие данные."
Любое ограничение, связанное со сборкой, отличной от ICU, будет отражено как вывод ошибки.

Я считаю, что лучший способ рассматривать BIP39 — это сделать ваши ключи переносимыми. Затем вы можете переместить их из одного кошелька в другой и/или создать резервную копию мнемоники различными способами. Вы не привязаны к одному кошельку или системе резервного копирования. Раньше резервное копирование или перемещение ваших ключей в другой кошелек было сложной задачей, выполняемой по одному ключу за раз. Большинство людей не беспокоились, и когда их жесткий диск вышел из строя или они забыли пароль своего кошелька, все было в основном потеряно.

Действительно ли это снижает риск кражи? Нет. В идеальном мире у вас был бы надежный способ регенерации семян на лету и использование только мнемоники для перемещения из одного кошелька в другой.

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