1 декабря 2016, 1:47:24 PM   # 1
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Предположим, что плохой шахтер (который намеревается атаковать сеть) Устпешно мин блоке, для которого найденное хеш несколько Нули больше, чем ток, потребляемый усилия военнопленного. Если шахтер устанавливает поле Nbits на заминированном заголовке блока на значение намного выше, чем текущая цель военнопленного, но совместимый с хэш он нашел для этого блока и что блок является 2016th на заданном целевом уровне, что будут делать другие узлы делать?

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

Заметки:
  • GetNextWorkRequired использует Nbits из последнего блока, чтобы вычислить новый уровень сложности;
  • По-видимому CheckProofOfWork проверяет хэш против поля Nbits внутри самого блока, а не против локально вычисленного мишени dificulty на заданной высоте - которая была бы независимой от узла, который опубликовал блок;
  • Я не проверял, проверяет, является ли код, которым Nbits сверяется такой локально вычисленной целью сложности

Видеть https://github.com/bitcoin/bitcoin/blob/57b34599b2deb179ff1bd97ffeab91ec9f904d85/src/pow.cpp для деталей.

Edit: цель усилий не увеличится более, что 4x, так как кодируются в GetNextWorkRequired
manuelra сейчас офлайн Пожаловаться на manuelra   Ответить с цитированием Мультицитирование сообщения от manuelra Быстрый ответ на сообщение manuelra


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


1 декабря 2016, 2:00:27 PM   # 2
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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





Предположим, что плохой шахтер (который намеревается атаковать сеть) Устпешно мин блоке, для которого найденное хеш несколько Нули больше, чем ток, потребляемый усилия военнопленного. Если шахтер устанавливает поле Nbits на заминированном заголовке блока на значение намного выше, чем текущая цель военнопленного, но совместимый с хэш он нашел для этого блока и что блок является 2016th на заданном целевом уровне, что будут делать другие узлы делать?
Поля бит должны иметь точное ожидаемое значение, в противном случае блок получает отвергнут (проигнорирован) узлы.
Тяжелее или легче - не имеет значения, это будет по-прежнему недействительным.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

2 декабря 2016, 9:17:13 PM   # 3
 
 
Сообщения: 224
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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

4 декабря 2016, 7:51:38 AM   # 4
 
 
Сообщения: 700
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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

4 декабря 2016, 5:22:13 PM   # 5
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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

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

4 декабря 2016, 5:36:45 PM   # 6
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Nbits

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

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

Я видел его давно, нужно знать, как реализовать это в моем дерьме.

Он переехал все вокруг кода базы до сих пор, но искать место, где GetNextWorkRequired () вызывается из.

ATM это в файле validation.cpp:
Код:
BOOL ContextualCheckBlockHeader (Const CBlockHeader& блок, CValidationState& состояние, Const Консенсус :: Params& consensusParams, Const CBlockIndex * pindexPrev, int64_t nAdjustedTime)
{
    Const INT nHeight = pindexPrev == NULL? 0: pindexPrev->nHeight + 1;
    // Проверяем доказательство работы
    если (block.nBits! = GetNextWorkRequired (pindexPrev, &блок, consensusParams))
        вернуть state.DoS (100, ложный, REJECT_INVALID, "плохие-diffbits", ложный, "неправильное доказательство работы");
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW