Если я правильно понимаю, блок имеет только 4 байта (32 бита) для одноразового номера. Возможно ли, чтобы сложность стала достаточно высокой, чтобы не было одноразовых решений? Если да, то какие варианты есть у майнера?
Сложность уже доходит до того, что для решения блока требуется более квадриллиона хэшей. 2^32 всего 4 миллиарда. Менее одного раза из миллиарда будет какой -либо одноразовый номер, делающий блок действительным.
Майнер просто должен попробовать все возможные одноразовые номера в другом блоке. Он может изменять базу монет, набор транзакций и/или метку времени блока. Любое изменение любой из этих вещей приводит к новому шансу существования действительного одноразового номера.
Часто лучшим выбором является увеличение временной метки, практика, называемая NTime Rolling .
В любом случае временная метка блока не обязательно должна быть точной, поэтому вы можете вернуть временную метку назад, скажем, на десять секунд до начала майнинга, а затем увеличить ее 20 раз, прежде чем сдаться и получить новый блок. В худшем случае временная метка вашего блока будет смещена на дюжину секунд или около того — это никого не волнует.
После этого вы, вероятно, захотите получить новый блок, потому что в него могут быть включены некоторые новые транзакции — это не только повышает эффективность сети в целом, но и снижает вероятность того, что вы упустите комиссию за транзакцию.
Наличие решения зависит от содержимого блока, а также от возможных значений одноразового номера.
Блок транзакции может быть изменен при необходимости, что, по сути, означает, что вы можете попробовать еще 32 бита одноразовых значений. Существует дополнительный компонент блока транзакций, называемый «coinbase», который можно изменить без изменения фактических транзакций внутри блока. Это было в прошлом для вставки коротких сообщений в цепочку блоков .
Смерть И Налоги