Что такое детерминированный кошелек?

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

34 голоса | спросил Gary Rowe 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 01:19:10 +0400 2011, 01:19:10

5 ответов


15

Вы ударили ноготь по голове. Детерминированным кошельком является любая система, которая использует кодовую фразу или другой фрагмент данных для создания пары ключей повторяемым образом. До тех пор, пока вы запомните кодовую фразу, от нее может быть сгенерирована ключевая пара, поэтому хранилище перестало быть проблемой безопасности. Существует несколько способов генерации детерминированных кошельков, но мой фаворит - это Генератор Bitcoin-Address (C #, Windows, здесь )

ответил David Perry 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 01:27:12 +0400 2011, 01:27:12
15

Обычно, когда вы отправляете деньги, вы также генерируете новый закрытый /открытый ключ для возврата «change». поэтому каждый раз, когда вы отправляете деньги, ваш кошелек растет немного.

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

Это имеет много преимуществ. Тривиально создавать резервные копии и переносить их. его можно использовать с нескольких компьютеров.

afaik, webcoin.ch использует эту концепцию. Нынешний «официальный» клиент не работает.

ответил Andreas Petersson 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 01:29:04 +0400 2011, 01:29:04
12

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

  • оригинальное секретное семя
  • идентификатор /порядковый номер желаемой ключевой пары

Существует два типа детерминированных кошельков:

  • последовательные детерминированные кошельки
  • иерархические детерминированные кошельки

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

Например, если я использую кодовую фразу:

'shepherd mais pack rate enamel horace diva filesize maximum really roar mall'

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

hex(sha256('shepherd mais pack rate enamel horace diva filesize maximum really roar mall 0'))
hex(sha256('shepherd mais pack rate enamel horace diva filesize maximum really roar mall 1'))
...

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

Иерархический детерминированный кошелек, с другой стороны, начинается с одной пары ключей в качестве основной пары ключей. Частным ключом этой ключевой пары является секретное семя.

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

Закрытый ключ дочернего элемента может быть восстановлен владельцем, выполнив ту же мультипликативную операцию на закрытом ключе родителя. Это связано с тем, что m Pubkey /Pubkey = m Privkey /Privkey.

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

...

Если вы ищете реализацию последовательных детерминированных кошельков на основе python, я поставил их здесь: https: //github.com/blockstack/pybitcoin (или просто «pip install pybitcoin»).

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

ответил Ryan 27 Jam1000000amMon, 27 Jan 2014 06:42:37 +040014 2014, 06:42:37
4

Другим примером использования детерминированных кошельков является BCCAPI, который представляет собой библиотеку для создания легких защищенных клиентов Bitcoin. http://code.google.com/p/bccapi/

ответил Jan 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 01:42:33 +0400 2011, 01:42:33
2

Первичные предложения по улучшению биткойнов (BIP), связанные с детерминированными, в частности иерархическими детерминированными (HD) кошельками для облегчения переносимости между реализациями, чтобы избежать блокировки поставщика, - это BIP 32, 39, 44 BIP. Возможно, вы захотите изучить libbitcoin примеры интерфейсов командной строки для применения BIPs 32, 39 и 44.

ответил skaht 16 J000000Saturday16 2016, 05:29:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132