Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
4 февраля 2014, 7:52:59 PM   # 1
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я опубликовал экспериментальную версию моего bip32utils библиотека и генератор сценария:

https://github.com/jmcorgan/bip32utils

Это чистая реализация Python проекта стандарта BIP0032, а недавно были внесены поправки Питером Wiulle в запросе на вытягивание GitHub счет BIP, и зависит только от Python ECDSA библиотеки доступны в PyPI.

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

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

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

Каталог тестов содержит сценарии, которые проверяют соответствие с тестовыми векторами BIP0032 опубликованными.

Это начальное усилие, которое не получило большого тестирования и обратной связи, так что я бы не рекомендовал полагаться на это ни за что, но символические суммы БТД, пока не будет более зрелым.

Обратная связь приветствуется.
Johnathan сейчас офлайн Пожаловаться на Johnathan   Ответить с цитированием Мультицитирование сообщения от Johnathan Быстрый ответ на сообщение Johnathan


Как заработать Биткоины?
Без вложений. Не майнинг.


5 февраля 2014, 12:27:33 AM   # 2
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Получил 1806 Биткоинов
Реальная история.





Ницца!

Я буду играть с этим завтра и после некоторых отзывов здесь.
teukon сейчас офлайн Пожаловаться на teukon   Ответить с цитированием Мультицитирование сообщения от teukon Быстрый ответ на сообщение teukon

5 февраля 2014, 12:39:18 PM   # 3
 
 
Сообщения: 345
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

ничего себе .. не мог обойти кодирования это мое чувство .. спасибо
xeroc сейчас офлайн Пожаловаться на xeroc   Ответить с цитированием Мультицитирование сообщения от xeroc Быстрый ответ на сообщение xeroc

5 февраля 2014, 5:00:30 PM   # 4
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Я буду играть с этим завтра и после некоторых отзывов здесь.
Спасибо, с нетерпением жду этого.
Johnathan сейчас офлайн Пожаловаться на Johnathan   Ответить с цитированием Мультицитирование сообщения от Johnathan Быстрый ответ на сообщение Johnathan

5 февраля 2014, 6:50:31 PM   # 5
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Отказ от ответственности: Не ожидайте от меня. Я не программист и создал только счет GitHub, так что я мог бы прокомментировать Regex Golf Gist.

До сих пор я просто играл с основами.

Я создал BIP0032 тест вектор # 1 с помощью команды в вашем риом и получил желаемый результат.

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

Код:
$ Bip32gen -i энтропию -f / DEV / случайное -n 128 -o privkey, xprv -F - -X м
aec8cfc47b43d518e1c6ce27ca2035af7f598f39e10748be395a27be23dcf1ee
xprv9s21ZrQH143K3E8CHFyZactH1tY5gnofwvtELcdtUeZuewTYh32z1sQdBfCdUdc1CcGAMVLddqUK9ioP6NGRtPNRAbFRp6RLbte1iVqduC2

Код:
>>> Base58.decode ( 'xprv9s21ZrQH143K3E8CHFyZactH1tY5gnofwvtELcdtUeZuewTYh32z1sQdBfCdUdc1CcGAMVLddqUK9ioP6NGRtPNRAbFRp6RLbte1iVqduC2') кодируют ( 'шестигранной'). [92: -8]
'Aec8cfc47b43d518e1c6ce27ca2035af7f598f39e10748be395a27be23dcf1ee'

Я сделал быстрый взгляд на код, но я не получил до сих пор с ним. Я немного запутался, как изменился ваш стиль. Например, сравните расширенную версию ключа обработки в fromExtendedKey
Код:
       # Проверка адрес версия / тип
        версия = сырые [: 4]
        если version.encode ( 'HEX') == '0488ade4':
            KeyType = 'xprv'
        Элиф version.encode ( 'шестигранной') == '0488b21e':
            KeyType = 'xpub'
        еще:
            поднять ValueError ("неизвестен расширенная версия ключа")
к тому, что в ExtendedKey
Код:
       версия = '\ x04 \ x88 \ XB2 \ x1e', если секретна Ложные еще '\ x04 \ x88 \ XAD \ xe4'

По этой теме: 0x0488ade4 бы и 0x0488b21e быть лучше в качестве констант модуля? Как легко было бы добавить поддержку для ключей testnet?

Это все, что у меня есть время на сегодняшний день. Надеюсь, я найду время, чтобы переместить некоторые средства вокруг завтра.
teukon сейчас офлайн Пожаловаться на teukon   Ответить с цитированием Мультицитирование сообщения от teukon Быстрый ответ на сообщение teukon

5 февраля 2014, 6:59:41 PM   # 6
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Я создал BIP0032 тест вектор # 1 с помощью команды в вашем риом и получил желаемый результат.

Затем я создал свой собственный мастер-ключ с bip32gen и использовать ваш модуль Base58 для разложения выхода и сравнить его с форматом сериализация, как указано BIP0032.  Мне удалось восстановить секретный ключ просто отлично.
Хорошо. Спасибо за тестирование.

Я сделал быстрый взгляд на код, но я не получил до сих пор с ним. Я немного запутался, как изменился ваш стиль. Например, сравните расширенную версию ключа обработки в fromExtendedKey
Код:
       # Проверка адрес версия / тип
        версия = сырые [: 4]
        если version.encode ( 'HEX') == '0488ade4':
            KeyType = 'xprv'
        Элиф version.encode ( 'шестигранной') == '0488b21e':
            KeyType = 'xpub'
        еще:
            поднять ValueError ("неизвестен расширенная версия ключа")
к тому, что в ExtendedKey
Код:
       версия = '\ x04 \ x88 \ XB2 \ x1e', если секретна Ложные еще '\ x04 \ x88 \ XAD \ xe4'

По этой теме: 0x0488ade4 бы и 0x0488b21e быть лучше в качестве констант модуля? Как легко было бы добавить поддержку для ключей testnet?
Да, было бы чище, чтобы сделать эти константы модуля; Я был в немного спешке, чтобы эта часть выполнена. Это хорошая обратная связь для очистки.

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

5 февраля 2014, 7:23:12 PM   # 7
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Да, было бы чище, чтобы сделать эти константы модуля; Я был в немного спешке, чтобы эта часть выполнена. Это хорошая обратная связь для очистки.

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

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

Не волнуйтесь. Я буду играть только с тривиальными количествами.
teukon сейчас офлайн Пожаловаться на teukon   Ответить с цитированием Мультицитирование сообщения от teukon Быстрый ответ на сообщение teukon

5 февраля 2014, 9:48:45 PM   # 8
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

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

20 августа 2014, 8:34:18 PM   # 9
 
 
Сообщения: 484
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Можете ли вы описать, как я 5, как я могу получить первый адрес первого счета с помощью этого инструмента в соответствии с BIP-0044 учитывая Я знаю xpub?
Это должно быть м / 44 '/ 0' / 0' / 0/0
Deafboy сейчас офлайн Пожаловаться на Deafboy   Ответить с цитированием Мультицитирование сообщения от Deafboy Быстрый ответ на сообщение Deafboy

20 августа 2014, 9:36:33 PM   # 10
 
 
Сообщений: 39
Цитировать по имени
цитировать ответ
по умолчанию Re: BIP0032 Иерархических детерминированного Wallet ключ bip32utils генератора (Python)

Можете ли вы описать, как я 5, как я могу получить первый адрес первого счета с помощью этого инструмента в соответствии с BIP-0044 учитывая Я знаю xpub?
Это должно быть м / 44 '/ 0' / 0' / 0/0

Если у вас есть расширенный открытый ключ, соответствующий м / 44H / 0h / 0h / 0 (обратите внимание на синтаксис BIP32 изменился) в файле, скажем test.xpub, вы можете просто:

Код:
$ Bip32gen -i -f xpub test.xpub -o адр 0
1NaKvDgeVnXqvTpFzzngmH1RG9cN3BkVfh

Это переводится как "начиная с удлиненным открытым ключом, хранящимся в файле «test.xpub», генерируешь адрес, связанный с детским номером 0, и записать его на стандартный вывод", (Адрес показан от xpub из произвольного семени бумажника).
Johnathan сейчас офлайн Пожаловаться на Johnathan   Ответить с цитированием Мультицитирование сообщения от Johnathan Быстрый ответ на сообщение Johnathan



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW