Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
25 июля 2013, 1:05:59 AM   # 1
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я заметил сегодня, что спецификация протокола на Bitcoin вики говорит, что блок заголовки имеют дополнительное количество varint транзакций в конце в полезной нагрузке заголовков: "Обратите внимание, что блок-заголовки в этом пакете включают в себя подсчет транзакций (в var_int, так что может быть больше, чем 81 байт на заголовок), в отличии от заголовков блоков, которые отправляются на шахтер."

https://en.bitcoin.it/wiki/Protocol_specification#headers

Тем не менее, в соответствии с таблицей выводимой для формата заголовка блока говорится: "txn_count, uint8_t, Количество записей транзакций, то это значение всегда 0",

https://en.bitcoin.it/wiki/Protocol_specification#Block_Headers

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

Кто-нибудь знаком с исходным кодом знаю, должен ли он быть uint8_t или varint? Благодарю.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon


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


25 июля 2013, 1:19:56 AM   # 2
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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





Посмотрите в main.cpp, функция ProcessMessage. Искать "getheaders" потому что ProcessMessage длинная функция.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

25 июля 2013, 1:29:39 AM   # 3
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Я вижу свой комментарий там, что говорит "// мы должны использовать CBlocks как CBlockHeaders не будет включать в себя 0x00 NTX рассчитывать в конце", Я не уверен, что на самом деле CBlock использует в качестве логики для NTX, хотя. Даже если это только когда-либо выписывала 0, если кто-то положил 3 байт varint там бы он прочитал, что правильно?
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

25 июля 2013, 4:31:44 AM   # 4
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Хорошо, так что итерация, начиная с CBlockIndex * pindex и толкает результат pindex->GetBlockHeader () в вектор CBlock.

CBlock включает в себя вектор CTransaction, VTX.

CBlock :: IMPLEMENT_SERIALIZE делает блок правильной, а затем вектор транзакции.

Поскольку это делается таким образом, что не всегда добавлять какие-либо операций, список транзакций здесь всегда сериализовать 0x00, который является правильным кодированием для подсчета нуля следует ноль записей.

Честно говоря, я понятия не имею, где это сообщение обрабатывается при получении. ProcessMessage имеет великан, если / ElseIf / другая структуру, которая выглядит для ASCII строки каждого типа сообщения. Ни один из МФСА, кажется, не заботиться о строке "заголовки", И я не могу найти его в другом месте либо.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

25 июля 2013, 9:36:56 AM   # 5
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Честно говоря, я понятия не имею, где это сообщение обрабатывается при получении. ProcessMessage имеет великан, если / ElseIf / другая структуру, которая выглядит для ASCII строки каждого типа сообщения. Ни один из МФСА, кажется, не заботиться о строке "заголовки", И я не могу найти его в другом месте либо.

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

31 июля 2013, 2:14:21 PM   # 6
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Спасибо за информацию. Мое предположение было бы, что клиенты SPV должны читать его как varint, я не могу себе представить, что было бы полезно только когда-либо позволить один байт для подсчета транзакций.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

31 июля 2013, 4:38:50 PM   # 7
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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

31 июля 2013, 5:12:18 PM   # 8
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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

Кроме того, спасибо за удивительную работу, которую вы делаете с bitcoinj! Я был в состоянии интегрировать с bitcoind инструментом сравнения и что будет очень полезно для меня вниз по линии.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

31 июля 2013, 5:42:14 PM   # 9
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Основываясь на том, что вы говорите, это звучит как вики следует указать, что количество транзакций один байт, то, не varint?

Это varint. Varint на ноль является единственным 0 байт.

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

31 июля 2013, 6:07:17 PM   # 10
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Основываясь на том, что вы говорите, это звучит как вики следует указать, что количество транзакций один байт, то, не varint?

Это varint. Varint на ноль является единственным 0 байт.

Когда заголовок является частью блока, он дает количество транзакций.

На основании ответа Майка и в контексте сообщения заголовков, хотя, это звучит как не должно быть varint здесь, только один нулевой байт. Для нуля, что выходит то же самое, но я пытаюсь понять, правильное поведение синтаксического анализа. Если я когда-нибудь ненулевой байт в таком положении, что бы правильное поведение быть? Рассмотрим все сообщения недействительным? С другой стороны, если я игнорирую разницу я должен был бы знать, если я должен читать только, что последний байт или если я должен попытаться прочитать его как varint.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

31 июля 2013, 6:52:32 PM   # 11
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Основываясь на том, что вы говорите, это звучит как вики следует указать, что количество транзакций один байт, то, не varint?

Это varint. Varint на ноль является единственным 0 байт.

Когда заголовок является частью блока, он дает количество транзакций.

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

/вздох

Вы должны стремиться следовать закону Постела. В этом случае, это означает, что (с использованием RFC2119 обозначения):

Если вы создаете "заголовки" пакет, вы должен включают в себя должным образом кодированный varint, представляющее количество операций, которые включены в пакет. Количество сделок, включенное должен равным нулю.  (Единственное допустимое кодирование для нуля один октет:. 0x00 0x05 этого права.)

Если вы читаете "заголовки" пакет, вы должен разобрать это поле в качестве varint. Вы должен отвергать любые пакеты, которые включают в себя ненулевое число транзакций. Вы май отключить пир, который послал его, и попытку публично пристыдить автор этой реализации.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

31 июля 2013, 7:27:50 PM   # 12
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

/вздох

Вы должны стремиться следовать закону Постела. В этом случае, это означает, что (с использованием RFC2119 обозначения):

Если вы создаете "заголовки" пакет, вы должен включают в себя должным образом кодированный varint, представляющее количество операций, которые включены в пакет. Количество сделок, включенное должен равным нулю.  (Единственное допустимое кодирование для нуля один октет:. 0x00 0x05 этого права.)

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

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

31 июля 2013, 8:49:43 PM   # 13
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Основываясь на том, что вы говорите, это звучит как вики следует указать, что количество транзакций один байт, то, не varint?

Это varint. Varint на ноль является единственным 0 байт.

Когда заголовок является частью блока, он дает количество транзакций.

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

/вздох

Вы должны стремиться следовать закону Постела. В этом случае, это означает, что (с использованием RFC2119 обозначения):

Если вы создаете "заголовки" пакет, вы должен включают в себя должным образом кодированный varint, представляющее количество операций, которые включены в пакет. Количество сделок, включенное должен равным нулю.  (Единственное допустимое кодирование для нуля один октет:. 0x00 0x05 этого права.)

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

К сожалению, это один из тех случаев, когда это может быть легко получить это неправильно. Похоже, стоит разобраться, есть ли какие-либо поломки или поведение изменения с 0.3.x дней. Мы изменили CBlock к CBlockHeader и вполне возможно, что один может иметь выход на "количество сделок" переменная, а другой не сделал. Стоит проверить.

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

1 августа 2013, 12:23:50 PM   # 14
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

К сожалению, это один из тех случаев, когда это может быть легко получить это неправильно. Похоже, стоит разобраться, есть ли какие-либо поломки или поведение изменения с 0.3.x дней. Мы изменили CBlock к CBlockHeader и вполне возможно, что один может иметь выход на "количество сделок" переменная, а другой не сделал. Стоит проверить.



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

1 августа 2013, 12:51:27 PM   # 15
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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

Вы должны сделать (0.01BTC) пожертвование в вики, чтобы получить доступ на запись.

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

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

1 августа 2013, 1:07:48 PM   # 16
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

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

Вы должны сделать (0.01BTC) пожертвование в вики, чтобы получить доступ на запись.

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

Я думаю, что ссылка пожертвования дает другой адрес для каждого человека.

Это было почти наверняка я не читал создать страницу аккаунта очень хорошо. Я послал в моем пожертвовании, моя первая покупка Bitcoin, спасибо!
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

1 августа 2013, 3:12:48 PM   # 17
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Я представил изменения в вики: https://en.bitcoin.it/wiki/Protocol_specification#Block_Headers

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

2 августа 2013, 4:41:05 AM   # 18
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

К сожалению, это один из тех случаев, когда это может быть легко получить это неправильно. Похоже, стоит разобраться, есть ли какие-либо поломки или поведение изменения с 0.3.x дней. Мы изменили CBlock к CBlockHeader и вполне возможно, что один может иметь выход на "количество сделок" переменная, а другой не сделал. Стоит проверить.

Это может быть случай.

Непроверенные тезис, основанный на коде чтения:  "заголовки" Формат сообщения изменяется при https://github.com/bitcoin/bitcoin/pull/2013 был слит в ноябре 2012 года.

Вы, возможно, обнаружили протокол связанной bitcoind ошибки.

Обновление: Неправильно. Я был неправильным кодом.

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

2 августа 2013, 1:41:16 PM   # 19
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

К сожалению, это один из тех случаев, когда это может быть легко получить это неправильно. Похоже, стоит разобраться, есть ли какие-либо поломки или поведение изменения с 0.3.x дней. Мы изменили CBlock к CBlockHeader и вполне возможно, что один может иметь выход на "количество сделок" переменная, а другой не сделал. Стоит проверить.

Это может быть случай.

Непроверенные тезис, основанный на коде чтения:  "заголовки" Формат сообщения изменяется при https://github.com/bitcoin/bitcoin/pull/2013 был слит в ноябре 2012 года.

Вы, возможно, обнаружили протокол связанной bitcoind ошибки.

Обновление: Неправильно. Я был неправильным кодом.



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

2 августа 2013, 2:14:24 PM   # 20
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Wiki осветление на заголовки полезной нагрузки

Спасибо за проверку на это! Был ли я исправить, чтобы обновить таблицу заголовков блоков на вики, чтобы указать, что значение является var_int, что всегда 0?

Для "заголовки" Ответное сообщение, что является правильным.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW