Размер Nonce - Будет ли он всегда достаточно большим?

Если я правильно понимаю, блок имеет только 4 байта (32 бит) для nonce. Возможно ли, чтобы трудность стала достаточно высокой, чтобы не было решений nonce? Если да, то какие варианты имеет шахтер?

31 голос | спросил Michael Pickens 28 +04002011-10-28T06:28:17+04:00312011bEurope/MoscowFri, 28 Oct 2011 06:28:17 +0400 2011, 06:28:17

2 ответа


24

Трудность уже до такой степени, что для решения блока требуется более четырех квадриллионов хэшей. 2 ^ 32 - всего 4 миллиарда. Менее чем через один миллиард раз будет any nonce, что делает блок действительным.

Шахтер просто должен попробовать все возможные nonce в другом блоке. Он может изменять коинбазу, набор транзакций и /или временную метку блока. Любое изменение любой из этих вещей приводит к появлению нового шанса на существование действительного nonce.

Часто лучший выбор заключается в том, чтобы набросить временную метку, практику, называемую Сканирование в режиме NTime .

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

После этого вы, вероятно, захотите получить новый блок, потому что могут быть включены некоторые новые транзакции - это не только повышает эффективность сети в целом, но и снижает вероятность того, что вы упустите комиссию за транзакцию .

ответил David Schwartz 28 +04002011-10-28T07:08:02+04:00312011bEurope/MoscowFri, 28 Oct 2011 07:08:02 +0400 2011, 07:08:02
4

Независимо от того, существует ли решение, зависит от содержимого блока, а также от возможных значений nonce.

Блок транзакции может быть изменен, если это необходимо, что существенно означает, что вы получите еще 32 бита значений nonce. Существует дополнительный компонент блока транзакций, называемый «коинбазой», который может быть изменен без изменения реальных транзакций внутри блока. Это было в прошлом, чтобы вставить короткие сообщения в цепочку блоков .

ответил Highly Irregular 28 +04002011-10-28T06:41:46+04:00312011bEurope/MoscowFri, 28 Oct 2011 06:41:46 +0400 2011, 06:41:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132