Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
29 июля 2011, 6:26:25 PM   # 1
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

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


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

В нем говорится очень четко в вики:
котировка
<= 0xFFFF 3 0xfd + uint16_t
Вот это имеет смысл.

Но проблема в том, когда я getblocks с hash_stop равным нулю, я вернусь фактура где поле отсчет "FD f4 01"
Теперь, если я разобрать его в соответствии со спецификацией, это дает мне значение +753 (0xfd + 0x01f4). В то время как на самом деле правильное значение 500 (0x01f4)

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


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


29 июля 2011, 6:37:14 PM   # 2
 
 
Сообщения: 504
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

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





Вы ошибаетесь, я боюсь.

Путь переменной длины число работ является:
  • Посмотрите на первые байтах
  • Если первый байт меньше, чем 253, используйте байты буквально
  • Если первый байт 253, прочитать следующие два байта в качестве Little Endian 16-битового числа (всего байт чтения = 3)
  • Если первый байт 254, прочитать следующие четыре байта в качестве Little Endian 32-битного числа (всего байт чтения = 5)
  • Если первый байт 255, прочитать следующие восемь байт как Little Endian 64-битного числа (всего байт чтения = 9)
realnowhereman сейчас офлайн Пожаловаться на realnowhereman   Ответить с цитированием Мультицитирование сообщения от realnowhereman Быстрый ответ на сообщение realnowhereman

29 июля 2011, 7:41:53 PM   # 3
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

я надеюсь, что вы читали питон:
Код:
если Ord (bdata [0]) <= 0xFC:
    возвращающие Ord (bdata [0]), bdata [1:]
    если Ord (bdata [0]) == 0xFD:
        вернуться struct.unpack ("<хн", Bdata [: 3]) [0], bdata [3:]
    если Ord (bdata [0]) == 0xFE:
        вернуться struct.unpack ("<¯xI", Bdata [: 5]) [0], bdata [5:]
    если Ord (bdata [0]) == 0xff:
        вернуться struct.unpack ("<хо", Bdata [9]) [0], bdata [9:]
первый байт описывает, как долго целое число.
kokjo сейчас офлайн Пожаловаться на kokjo   Ответить с цитированием Мультицитирование сообщения от kokjo Быстрый ответ на сообщение kokjo

29 июля 2011, 8:18:08 PM   # 4
 
 
Сообщения: 574
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

Вы пропустили тот факт, что Bitcoin использует Little Endian в сети. Это, вероятно, самая большая ошибка дизайна Bitcoin в.
Error сейчас офлайн на ошибке Пожаловаться   Ответить с цитированием Мультицитирование Сообщения от ошибок Быстрый ответ на сообщение об ошибке

29 июля 2011, 8:27:54 PM   # 5
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

Вы пропустили тот факт, что Bitcoin использует Little Endian в сети. Это, вероятно, самая большая ошибка дизайна Bitcoin в.
Здесь мы видим, мастер "похвала со слабыми проклятым" техника. Я преклоняюсь перед вами, сэр.
JoelKatz сейчас офлайн Пожаловаться на JoelKatz   Ответить с цитированием Мультицитирование сообщения от JoelKatz Быстрый ответ на сообщение JoelKatz

29 июля 2011, 9:49:52 PM   # 6
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: переменная длиной целого числа - какой черт?

Вы пропустили тот факт, что Bitcoin использует Little Endian в сети. Это, вероятно, самая большая ошибка дизайна Bitcoin в.
Я бы не назвал это самым большим, но, вероятно, один из самых трудно исправить. Чем дольше он остается таким способом, тем выше шансы, что люди лелеять эту ошибку в альтернативных клиентах. В настоящее время альтернативный макет блок должен быть не слишком сложно реализовать. До тех пор, пока она остается таким образом все реализации будут страдать проблемы, связанные с этими несоответствиями, например, ufsminer который добывал на неправильных байтах.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW