Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 ноября 2011, 7:13:00 PM   # 1
 
 
Сообщения: 2268
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

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


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

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

Из namecoind исходного кода:
Код:
    неподписанных INT ранд = nNonce;
    Rand = Rand * 1103515245 + 12345;
    Rand + = nChainID;
    Rand = Rand * 1103515245 + 12345;

    если (nChainIndex! = (рант% nРазмер:))
        возвращать ошибку ("Aux POW неправильный индекс");

Я не понимаю. Nonce и цепь ID эффективно складываются вместе. Если бы я попробовать другое случайное слово это будет просто сделать те же две цепей сталкиваются в другом слоте. Это сделало бы больше смысла, если Nonce и цепь ID умножались, то, используя различные одноразовые номера будут давать различные результаты.

Я должен увеличить количество слотов (nРазмер:) пока нет столкновений? Или другие вспомогательные цепи должны использовать другую формулу?
DrHaribo сейчас офлайн Пожаловаться на DrHaribo   Ответить с цитированием Мультицитирование сообщения от DrHaribo Быстрый ответ на сообщение DrHaribo


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


7 ноября 2011, 12:29:08 PM   # 2
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

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





Это обходной путь для чего-то, что лучше сделано по-другому. См "альтернативные цепи" вики страница для обсуждения.

По существу, вы хотите, чтобы кто-то не пытается решить несколько блоков одновременно с одной и той же работой. Путь Vince сделал это немного странно - лучший способ это сделать требует доказательств работы хэш быть уникальными. Видеть:

https://en.bitcoin.it/wiki/Alternative_Chains#Protecting_against_double_proof

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

7 ноября 2011, 2:20:23 PM   # 3
 
 
Сообщения: 686
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

Я не понимаю. Nonce и цепь ID эффективно складываются вместе. Если бы я попробовать другое случайное слово это будет просто сделать те же две цепей сталкиваются в другом слоте. Это сделало бы больше смысла, если Nonce и цепь ID умножались, то, используя различные одноразовые номера будут давать различные результаты.
Это не кажется, полностью правда, из-за способом результата берется по модулю числа доступных временных интервалов; если это не степень двойки оказывается, что изменение может одноразовый номер редко вызывает встречные цепи не сталкиваются. Это своего рода нарушается, хотя. (Это также позор, потому что мощности из-два числа слотов концептуально проще.)

Я должен увеличить количество слотов (nРазмер:) пока нет столкновений? Или другие вспомогательные цепи должны использовать другую формулу?
Я бы предложил попробовать несколько сотен или тысяч, и если одноразовые номера, которые не работают увеличить количество слотов на один и попробуйте еще раз. Используя нечетные значения для nРазмера: может помочь тоже. К счастью, вы должны сделать это один раз при запуске только.

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

7 ноября 2011, 7:44:38 PM   # 4
 
 
Сообщения: 686
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

Это не кажется, полностью правда, из-за способом результата берется по модулю числа доступных временных интервалов; если это не степень двойки оказывается, что изменение может одноразовый номер редко вызывает встречные цепи не сталкиваются. Это своего рода нарушается, хотя.
За исключением, конечно, я пропустил в первый раз, что слитый добыча не поддерживает не-включения питания из-2 номера слотов:

Код:
   если (nРазмер:! = (1 << vChainMerkleBranch.size ()))
        возвращать ошибку ("Aux размер POW Merkle филиал не соответствует родительской coinbase");
Ничего себе, что это довольно сильно нарушена.
makomk сейчас офлайн Пожаловаться на makomk   Ответить с цитированием Мультицитирование сообщения от makomk Быстрый ответ на сообщение makomk

7 ноября 2011, 7:58:32 PM   # 5
 
 
Сообщения: 2268
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

Я не понимаю. Nonce и цепь ID эффективно складываются вместе. Если бы я попробовать другое случайное слово это будет просто сделать те же две цепей сталкиваются в другом слоте. Это сделало бы больше смысла, если Nonce и цепь ID умножались, то, используя различные одноразовые номера будут давать различные результаты.
Это не кажется, полностью правда, из-за способом результата берется по модулю числа доступных временных интервалов; если это не степень двойки оказывается, что изменение может одноразовый номер редко вызывает встречные цепи не сталкиваются. Это своего рода нарушается, хотя. (Это также позор, потому что мощности из-два числа слотов концептуально проще.)

Если A == B, где А = Х% Z и В = Y, Z%, то увеличение Х и Y на ту же величину означает, что вы все еще есть A == B. Это не имеет значения, Z является степенью 2. (% по модулю и == равенство)

Другое дело, что количество Merkle листьев требуется быть степенью 2. Namecoin проверки правильности блок, что число Merkle листьев равна (1 << vChainMerkleBranch.size ()). Если вы слиты добыча 3 проигрываемых цепи, вы должны использовать фиктивный слот Merkle лист.

По существу, вы хотите, чтобы кто-то не пытается решить несколько блоков одновременно с одной и той же работой. Путь Vince сделал это немного странно - лучший способ это сделать требует доказательств работы хэш быть уникальными.
Если я что-то не хватает, не будет ли это сделать двойной атаки расходы намного дешевле, потому что вы могли бы одни и те же работы по обе стороны от двойной потратить?

Важно также, чтобы остановить кого-то от создания X количества блоков друг на друга с одной хэш. Я предполагаю, что это проблема, упомянутая в https://en.bitcoin.it/wiki/Alternative_Chains#Protecting_against_double_proof.

Но я думаю, что двойная расходы атака вы говорите еще страшней.

Можете ли вы остановить кого-то работать на нескольких вилок с той же хеширования власти, просто требуя проигрываемых военнопленные быть уникальным? Для меня решение namecoin выглядит гораздо более безопасным. Это просто жаль, что формула для индексов Merkle нарушается.
DrHaribo сейчас офлайн Пожаловаться на DrHaribo   Ответить с цитированием Мультицитирование сообщения от DrHaribo Быстрый ответ на сообщение DrHaribo

7 ноября 2011, 7:59:13 PM   # 6
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

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

7 ноября 2011, 8:12:36 PM   # 7
 
 
Сообщения: 686
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

Если A == B, где А = Х% Z и В = Y, Z%, то увеличение Х и Y на ту же величину означает, что вы все еще есть A == B. Это не имеет значения, Z является степенью 2. (% по модулю и == равенство)
В этом случае это не имеет значения, кажется, немного, вероятно, потому что результат усекается до 32 бит до начала операции по модулю. Вы правы, хотя - слито добыча код требует, чтобы это было сила-в любом случае.

Хороший возможный кандидат для лучшей функции является "окончательный" функция от http://burtleburtle.net/bob/c/lookup3.c - хотя переход на это нужно будет какое-то образом общаться с объединенной реализацией горнорудной на сервере пула или где угодно и говорить им, что это используется для этой конкретной цепи.

Редактировать: Например:
Код:
#define lrot (х, п) (((х) << (П)) | ((Икс) >> (32- (п))))

uint32_t п = (0xDEADBEEF ^ chain_id) - lrot (chain_id, 14);
Nonce = (Nonce ^ п) - lrot (п, 11);
chain_id = (chain_id ^ Nonce) - lrot (Nonce, 25);
п = (п ^ chain_id) - lrot (chain_id, 16);
Nonce = (Nonce ^ п) - lrot (п, 4);
chain_id = (chain_id ^ Nonce) - lrot (Nonce, 14);
п = (п ^ chain_id) - lrot (chain_id, 24);
chainIndex = п% nРазмер:
makomk сейчас офлайн Пожаловаться на makomk   Ответить с цитированием Мультицитирование сообщения от makomk Быстрый ответ на сообщение makomk

9 ноября 2011, 1:37:03 PM   # 8
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Nonce для индекса Merkle дерева объединенной горно цепи

Если я что-то не хватает, не будет ли это сделать двойной атаки расходы намного дешевле, потому что вы могли бы одни и те же работы по обе стороны от двойной потратить?

Вы до сих пор не может обогнать основную цепь, если у вас есть 51% мощности.

Если вы беспокоитесь о злоумышленнике, используя прибыль от добычи на основной цепи платить за оборудование или что-то, возможно, вы могли бы сделать оба блок будет считаться недействительным. То есть, если вы видите следующую цепочку:

Код:
а -> b1 -> b3
  \ -> Би 2 -> b4

Если b3 и b4 акцию PoW, то оба считается недействительным, и цепь должна быть восстановлена ​​с одной из этих точек. Ни одна из сторон выигрывает. Это не позволит вам разорвать цепь, если вы не можете найти хэш столкновения.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW