Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
1 июня 2011, 5:08:05 AM   # 1
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Во-первых - Как я могу получить открытый ключ бумажника Чужая? Или еще лучше, может ли открытый ключ быть получен из адреса?

Во-вторых - Как я могу генерировать адрес на основе этого открытого ключа? Какие математические расчеты, хэши, шифрование делается за кулисами?

В-третьих - Будет ли еще адрес "Работа" даже если он не был сгенерирован клиентом владельца Кошелька? Другими словами, если бы я имел открытый ключ чей-то кошелек, и генерируется адрес для них без их ведома, я мог послать их Bitcoins к этому вновь сгенерированного адрес, и они будут получать их?

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


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


1 июня 2011, 5:30:01 AM   # 2
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

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





Во-первых - Как я могу получить открытый ключ бумажника Чужая? Или еще лучше, может ли открытый ключ быть получен из адреса?

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

котировка
Как я могу генерировать адрес на основе этого открытого ключа? Какие математические расчеты, хэши, шифрование делается за кулисами?

Hash его с SHA-256, а затем хэш, что с RIPEMD-160. Затем добавьте версию и контрольную сумму и конвертировать его в base58.

Ввод открытого ключа здесь:
http://blockexplorer.com/q/hashpubkey
А затем ввести, что вывод страницы здесь:
http://blockexplorer.com/q/hashtoaddress

Вот мой PHP код, чтобы сделать это (pubKeyToAddress):
http://pastebin.com/vmRQC7ha

котировка
Будет ли адрес еще "Работа" даже если он не был сгенерирован клиентом владельца Кошелька? Другими словами, если бы я имел открытый ключ чей-то кошелек, и генерируется адрес для них без их ведома, я мог послать их Bitcoins к этому вновь сгенерированного адрес, и они будут получать их?

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

1 июня 2011, 5:36:00 AM   # 3
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Во-первых - Как я могу получить открытый ключ бумажника Чужая? Или еще лучше, может ли открытый ключ быть получен из адреса?

Чтобы построить адрес, двойной хэш (первый SHA-256 затем RIPEMD-160) открытого ключа добавляется к версии. Тогда первый четыре байта контрольной суммы (SHA-256 х 2) это значение добавляется. Все дело в том, base58 закодирован.

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

котировка
Во-вторых - Как я могу генерировать адрес на основе этого открытого ключа? Какие математические расчеты, хэши, шифрование делается за кулисами?

base58encode (версия + RIPEMD-160 (SHA-256 (public_key)) + контрольная сумма (версия + RIPEMD-160 (SHA-256 (public_key))))

Там, где контрольная сумма первые четыре байта SHA-256 (SHA-256 (данные)).

котировка
В-третьих - Будет ли еще адрес "Работа" даже если он не был сгенерирован клиентом владельца Кошелька? Другими словами, если бы я имел открытый ключ чей-то кошелек, и генерируется адрес для них без их ведома, я мог послать их Bitcoins к этому вновь сгенерированного адрес, и они будут получать их?

увидеть эту вики статью: https://en.bitcoin.it/wiki/Protocol_specification#Addresses

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

1 июня 2011, 5:41:05 AM   # 4
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Спасибо за ответы theymos и BitterTea!

Думаю, я не задавал довольно правильные вопросы, то ... Я предположил, что каждый кошелек был только один открытый ключ!

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

Кроме того, bittertea, в вашем уравнении является контрольная сумма умножается на результат "версия + RIPEMD-160 (SHA-256 (public_key))"?
SgtSpike сейчас офлайн Пожаловаться на SgtSpike   Ответить с цитированием Мультицитирование сообщения от SgtSpike Быстрый ответ на сообщение SgtSpike

1 июня 2011, 5:51:55 AM   # 5
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Спасибо за ответы theymos и BitterTea!

Думаю, я не задавал довольно правильные вопросы, то ... Я предположил, что каждый кошелек был только один открытый ключ!

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

Кроме того, bittertea, в вашем уравнении является контрольная сумма умножается на результат "версия + RIPEMD-160 (SHA-256 (public_key))"?

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

Проверьте страницу вики я связан, он должен быть более ясным.

котировка
Адресном Bitcoin в действительности хэш открытого ключа ECDSA, вычисленный таким образом:

Версия = 1 байт 0 (ноль); на тестовой сети, это 1 байт 111
Ключ хэш = Версия сцепляются с RIPEMD-160 (SHA-256 (открытый ключ))
Контрольная сумма = первые 4 байта SHA-256 (SHA-256 (Key хэш))
Bitcoin Address = Base58Encode (Key хэш сцепляются с контрольной суммой)
BitterTea сейчас офлайн Пожаловаться на BitterTea   Ответить с цитированием Мультицитирование сообщения от BitterTea Быстрый ответ на сообщение BitterTea

1 июня 2011, 6:02:35 AM   # 6
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

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

1 июня 2011, 6:13:43 AM   # 7
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Извините за все вопросы. 

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

1 июня 2011, 6:17:55 AM   # 8
 
 
Сообщений: 98
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

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

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

1 июня 2011, 6:20:08 AM   # 9
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Могу ли я вручную сгенерировать открытый / закрытый ключ, соответствующий заданному адресу

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

1 июня 2011, 6:22:54 AM   # 10
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Могу ли я вручную сгенерировать открытый / закрытый ключ, соответствующий заданному адресу

Что themos сказал.

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

Для того, чтобы получить закрытый ключ от публичного, который вы бы сломать ECDSA, и для того, чтобы получить открытый ключ от адреса, вы должны разорвать SHA-256 (или просканировать блок цепи).
BitterTea сейчас офлайн Пожаловаться на BitterTea   Ответить с цитированием Мультицитирование сообщения от BitterTea Быстрый ответ на сообщение BitterTea

1 июня 2011, 6:46:13 AM   # 11
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Тогда почему я не мог генерировать секретный ключ, сгенерировать открытый ключ на основе закрытого ключа, и генерирует адрес из открытого ключа? Или вы говорите, что это невозможно сгенерировать закрытый ключ, а затем импортировать его в файл бумажник?
SgtSpike сейчас офлайн Пожаловаться на SgtSpike   Ответить с цитированием Мультицитирование сообщения от SgtSpike Быстрый ответ на сообщение SgtSpike

1 июня 2011, 8:11:41 AM   # 12
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Почему вы не сказали нам, что вы пытаетесь сделать, и мы поможем вам найти лучший способ сделать это?
BitterTea сейчас офлайн Пожаловаться на BitterTea   Ответить с цитированием Мультицитирование сообщения от BitterTea Быстрый ответ на сообщение BitterTea

1 июня 2011, 8:22:27 AM   # 13
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Извините за тайны.

В конце концов, я хочу, чтобы создать свою собственную суету Bitcoin адресов (т.е. адресов, которые содержат определенные буквы / цифры комбо). Гэвин уже создал патч для стандартного клиента, который может сделать это, но я хотел бы иметь код, чтобы сделать это в PHP, и я хотел бы знать больше о том, как генерируются адреса. Я бы также хотел бы знать, если я могу генерировать такое тщеславие адрес для нескольких кошельков легко.

Я предполагаю, что это представляет собой пару вопросов. Будет ли сервер REQUIRE bitcoind быть запущен для того, чтобы найти адрес для кошелька? Или есть способ получения адреса без бумажника или bitcoind работает?

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

1 июня 2011, 5:39:31 PM   # 14
 
 
Сообщений: 98
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Если вы создали секретный ключ так же, как Bitcoin делает и разработали способ, чтобы получить, что в wallet.dat, то нет никаких причин, вы не могли бы делать то, что вы говорите. Там нет ничего особенного в закрытых ключах Bitcoin генерирует, что делает их адреса, они стандартны. Хитрая часть, вероятно, получить его в wallet.dat.
Anisoptera сейчас офлайн Пожаловаться на Anisoptera   Ответить с цитированием Мультицитирование сообщения от Anisoptera Быстрый ответ на сообщение Anisoptera

1 июня 2011, 7:31:38 PM   # 15
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Хитрая часть, вероятно, получить его в wallet.dat.
Что же касается, как идет, этот патч в работах:
http://forum.bitcoin.org/index.php?topic=8091.0
Магид сейчас офлайн Пожаловаться на Maged   Ответить с цитированием Мультицитирование сообщения от Maged Быстрый ответ на сообщение Maged

1 июня 2011, 7:55:26 PM   # 16
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: небольшой запрос технической информации ...

Благодаря Anisoptera. Угадайте, мне нужно, чтобы начать смотреть на то, как данные хранятся в бумажнике.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW