Что будет делать майнер, когда придет транзакция с высокой комиссией, но он построил свой блок и решает головоломку?

Насколько мне известно, процесс майнинга выглядит следующим образом:

шаг 1: соберите серию транзакций и создайте блок, заполнив необходимую информацию, такую ​​как хэш предыдущего блока, корень дерева Меркла и т. д.

шаг 2: решение головоломки путем постоянного изменения поля «nonce» блока, чтобы сделать хэш заголовка блока меньше цели.

Когда майнер построил блок (шаг 1) и пытается решить головоломку (шаг 2), приходит очень привлекательная транзакция с высокой комиссией, может ли майнер отказаться от проделанной работы, реконструировать блок и возобновить решение головоломки? головоломка?

От какой именно работы он отказался бы?
Работа по изменению «одноразового номера» текущего блока

Ответы (3)

Современная система майнинга будет делать и то, и другое.

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

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

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

Возможно, важно то, что стоимость передачи для решения практически равна нулю.

Шаблон блока обновляется (возможно) каждые несколько секунд, пополняется новыми транзакциями.

откажется ли шахтер от работы, которую он сделал

Каждый блок с хешем, удовлетворяющим цели, распространяется. Но если блок не был создан, помните, что майнинг — это процесс Пуассона, наиболее важным свойством которого является отсутствие памяти . Если добыча блока занимает в среднем 10 минут, а после 5 минут добычи изменение шаблона блока не уменьшит ожидаемое время до следующего блока (поэтому «сдаться» — не лучшее слово).

восстановить блок и заново решить головоломку?

Да.

Рассмотрим такую ​​ситуацию: до того, как пришла транзакция с высокой комиссией, майнер не обновлял свой блок и постоянно менял «одноразовый номер» того же блока, пространство бесполезных результатов, которые он получил, равно S. Теперь транзакция с высокой комиссией приходит, майнер реконструирует блок и снова начинает решать головоломку, что, если полученные им результаты снова попадут в S? Не означает ли это, что проделанная им работа напрасна?
SHA256, как и другие хорошие криптографические хеш-функции, имеет лавинный эффект, что означает, что изменение даже одного бита на входе приведет к совершенно другому результату. Найденные новые хэши будут совершенно другими, поскольку хэш Меркла транзакций (или хеш всех TXID в блоке) также может действовать как одноразовый номер для изменения выходного хэша. @Лучше
Вычисление одного хеша занимает время порядка наносекунд, и каждая попытка независима. Не потому, что вы уже перепробовали миллиард неудачных хэшей, вы как-то «приблизились» к поиску решения. Другими словами: PoW не требует прогресса, за исключением времени, необходимого для вычисления одного хэша, что очень мало по сравнению с масштабом времени, в котором происходят транзакции.

Когда майнер построил блок (шаг 1) и пытается решить головоломку (шаг 2), приходит очень привлекательная транзакция с высокой комиссией, может ли майнер отказаться от проделанной работы, реконструировать блок и возобновить решение головоломки? головоломка?

Либо эта работа произвела блок, либо нет. Если он произвел блок, он обязательно будет транслировать этот блок. Если он не произвел блок, то он ничего не теряет, отказываясь от него. Так что нет никакой «работы, которую он сделал», от которой он мог бы «бросить».

Работа, которую выполняют майнеры, либо создает блок, либо нет. Невозможно пройти часть пути к созданию блока только для того, чтобы начать сначала.