Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
26 февраля 2012, 3:13:19 AM   # 1
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Как есть пара endiannesses, используемые Bitcoin, что такое правильный способ для кодирования "данные" Ответ на getmemorypool JSON API вызова?
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu


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


29 февраля 2012, 2:04:54 AM   # 2
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

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





https://en.bitcoin.it/wiki/BIP_DRAFT:_getmemorypool не совсем еще сделано, и нуждается в двойной проверке.
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

29 февраля 2012, 3:26:56 AM   # 3
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

Это хороший проект, но это на самом деле не определяет, как кодировать блок. Даже порядок байт "previousblockhash" в getmemorypool отличается от той, которую мы можем смотреть закодированной в getwork "данные", Так что это может быть довольно запутанным.
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

29 февраля 2012, 3:48:04 AM   # 4
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

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

Даже порядок байт "previousblockhash" в getmemorypool отличается от той, которую мы можем смотреть закодированной в getwork "данные", Так что это может быть довольно запутанным.
Это потому, что getwork "данные" является частью SHA256 Midstate, который интерпретирует данные прямого порядка байт, как обратный порядок байты ... так эффективно инвертирует каждый 32 бит.
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

6 марта 2012, 1:53:54 AM   # 5
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

Так что давайте посмотрим, если я получаю эту вызывающую getmemorypool:
Код:
{ 'Previousblockhash': '0000000016375af4a21b4ce2b2ce64b5a5b27b5eab4c15e97db66208c7938ef8', '' сделки: [], 'версии': 1, 'coinbasevalue': +5000000000, 'время': 1330998016, 'биты': ''} 1c2336a4
Я могу представить его шахтер, правильный ответ от шахтера бы это:
Код:
"00000001c7938ef87db66208ab4c15e9a5b27b5eb2ce64b5a21b4ce216375af400000000e23686456c488b08b45a4d813a8aba9add29e9e36c8008a9051927300c6b39f24f556b001c2336a4c6c3fe55000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000"

И собственно вызов bitcoind через getmemorypool бы это:
Код:
"010000000000000016375AF4A21B4CE2B2CE64B5A5B27B5EAB4C15E97DB66208C7938EF80C6B39F2051927306C8008A9DD29E9E33A8ABA9AB45A4D816C488B08E2368645006B554FA436231C55FEC3C60101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF0A5468655069616368750BFFFFFFFF0100F2052A01000000434104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC00000000"

Или затормозить его вверх:

Код:
01000000 - версия
0000000016375AF4A21B4CE2B2CE64B5A5B27B5EAB4C15E97DB66208C7938EF8 - предыдущая хэш
0C6B39F2051927306C8008A9DD29E9E33A8ABA9AB45A4D816C488B08E2368645 - Merkle корень
006B554F - метка времени
A436231C - биты
55FEC3C6 - нонс
01 - номер транзакции

01000000 - версия
01 - входы
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - вход
0A - длина сценария
5468655069616368750B - скрипт
FFFFFFFF - последовательность
01 - выходы
00F2052A01000000 - значение
43 - длина сценария
4104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC - скрипт
00000000 - Locktime

Я все еще получаю "Ложь" в ответ на это. Где я делаю ошибку?
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

6 марта 2012, 2:19:09 AM   # 6
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

Код:
01000000 - версия
0000000016375AF4A21B4CE2B2CE64B5A5B27B5EAB4C15E97DB66208C7938EF8 - предыдущая хэш
0C6B39F2051927306C8008A9DD29E9E33A8ABA9AB45A4D816C488B08E2368645 - Merkle корень
006B554F - метка времени
A436231C - биты
55FEC3C6 - нонс
01 - номер транзакции

01000000 - версия
01 - входы
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - вход
0A - длина сценария
5468655069616368750B - скрипт
FFFFFFFF - последовательность
01 - выходы
00F2052A01000000 - значение
43 - длина сценария
4104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC - скрипт
00000000 - Locktime

Я все еще получаю "Ложь" в ответ на это. Где я делаю ошибку?
Код:
01000000 - версия
НЕПРАВИЛЬНО: 0000000016375AF4A21B4CE2B2CE64B5A5B27B5EAB4C15E97DB66208C7938EF8 - предыдущая хэш
ИСПРАВЛЕНО: f88e93c70862b67de9154cab5e7bb2a5b564ceb2e24c1ba2f45a371600000000 - предыдущая хэш
НЕПРАВИЛЬНО: 0C6B39F2051927306C8008A9DD29E9E33A8ABA9AB45A4D816C488B08E2368645 - Merkle корень
FIXED: 458636e2088b486c814d5ab49aba8a3ae3e929dda908806c30271905f2396b0c - Merkle корень
006B554F - метка времени
A436231C - биты
55FEC3C6 - нонс
01 - номер транзакции

01000000 - версия
01 - входы
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - вход
0A - длина сценария
5468655069616368750B - скрипт
FFFFFFFF - последовательность
01 - выходы
00F2052A01000000 - значение
43 - длина сценария
4104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC - скрипт
00000000 - Locktime
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

17 марта 2012, 10:28:02 PM   # 7
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: Getmemorypool данные правильный ответ?

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

Это данные Getmemorypool я получил (игнорируя все операции):

Код:
{ 'Previousblockhash': '0000000020bcc87b08b88b6ccf1f79022bb2404b26e8fcec398fe323e93f2bc1', '' сделки: [], 'версии': 1, 'coinbasevalue': 5005350000, 'время': 1332022461, 'биты': ''} 1c2336a4

Таким образом, получили этот ответ Getwork:

Код:
00000001e93f2bc1398fe32326e8fcec2bb2404bcf1f790208b88b6c20bcc87b00000000b0bdf352aa835722693225753422bea517f9143755c2c705fad08617be75d1de4f65086e1c2336a462295f9f000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000

И пытался называть getmemorypool Bitcoin со следующими параметрами:


Код:
010000000000000020BCC87B08B88B6CCF1F79022BB2404B26E8FCEC398FE323E93F2BC1BE75D1DEFAD0861755C2C70517F914373422BEA569322575AA835722B0BDF3526E08654FA436231C9F5F29620101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF1D546865506961636875277E427B80F359164A5BC11171D7ED423A35EC7EFFFFFFFF0100F2052A01000000434104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC00000000


Код:
01000000C12B3FE923E38F39ECFCE8264B40B22B02791FCF6C8BB8087BC8BC2000000000BE75D1DEFAD0861755C2C70517F914373422BEA569322575AA835722B0BDF3526E08654FA436231C9F5F29620101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF1D546865506961636875277E427B80F359164A5BC11171D7ED423A35EC7EFFFFFFFF0100F2052A01000000434104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC00000000


Код:
010000000000000020BCC87B08B88B6CCF1F79022BB2404B26E8FCEC398FE323E93F2BC152F3BDB0225783AA75253269A5BE22343714F91705C7C2551786D0FADED175BE6E08654FA436231C9F5F29620101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF1D546865506961636875277E427B80F359164A5BC11171D7ED423A35EC7EFFFFFFFF0100F2052A01000000434104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC00000000


Код:
01000000C12B3FE923E38F39ECFCE8264B40B22B02791FCF6C8BB8087BC8BC200000000052F3BDB0225783AA75253269A5BE22343714F91705C7C2551786D0FADED175BE6E08654FA436231C9F5F29620101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF1D546865506961636875277E427B80F359164A5BC11171D7ED423A35EC7EFFFFFFFF0100F2052A01000000434104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC00000000

И все они вернулись ложь.

Из того, что я понимаю, собственно brakedown должен быть таким:

Код:
01000000
C12B3FE923E38F39ECFCE8264B40B22B02791FCF6C8BB8087BC8BC2000000000
52F3BDB0225783AA75253269A5BE22343714F91705C7C2551786D0FADED175BE
6E08654F
A436231C
9F5F2962
01
01000000
01
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF
1D
546865506961636875277E427B80F359164A5BC11171D7ED423A35EC7E
FFFFFFFF
01
00F2052A01000000
43
4104475876434DAB12C149E7DC68AA4AEF44B7DAD9BC9B90CB1C6751EAD47DE7BA3AC7AA10C6BCDEB6DC42C85BB7588BC114C6E47072E0264FB1C33B6FBD69E040F2AC
00000000

Так что я пытался каждый вариант предыдущего хэша и Merkle корня байт. То, что я предполагаю, что проблема может быть это:
-Клиент Bitcoin не любит обработки getmemorypool
-Я сделал ошибку вычисления в Merkle корня
-Установка временного значения неправильно
-Существует что-то не так с coinbase сделки
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW