Создание блоков по мере поступления новых транзакций и механика подтверждения работы

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

Допустим, Алиса отправляет Бобу 1 BTC. Эта транзакция передается всей сети майнеров, которые затем проверяют правильность транзакции и пытаются найти одноразовый номер для создания блока со всеми другими транзакциями, которые они получили.

Однако существует множество широковещательных транзакций, происходящих одновременно. Транзакции могут поступать на разные узлы в разное время из-за задержки. Как каждый отдельный узел узнает, сколько и каких транзакций включить в блок? Что происходит с транзакциями, поступающими на узел во время «майнинга» блока? Или новые транзакции добавляются в блок во время его майнинга? Какие данные из транзакций объединяются с одноразовым номером и хэшируются для поиска цели?

Ответы (1)

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

Заголовок блока — это то, что хешируется, он содержит номер версии, корень меркла транзакций (по сути, криптографическую сводку всех транзакций, которые нужно зафиксировать, какие из них включены), отметку времени, цель сложности и хэш предыдущего блока. См.: https://en.bitcoin.it/wiki/Block_hashing_algorithm .

Возможно ли, что одну или несколько транзакций могут выбрать разные майнеры?
Да, разные майнеры могут выбирать разные транзакции или упорядочивать транзакции в блоке по-разному.