Если побеждает майнер с наибольшей способностью решать блок, почему каждый раз не выигрывает один и тот же майнер? Разве этот майнер по-прежнему не обладал бы сильнейшей способностью выполнять доказательство работы в следующем блоке и, таким образом, выигрывать каждый блок?
Майнинг не выигрывает майнер с «самой сильной способностью решить блок». Майнинг — это случайный процесс без прогресса. Каждый блок-кандидат независимо имеет крошечный шанс быть действительным блоком.
Каждый майнер работает с отдельным, непересекающимся набором блоков-кандидатов. Кандидаты в блоки присваивают вознаграждение за блок своему автору с выходом в транзакциях Coinbase, и поэтому каждый майнер имеет свой собственный набор транзакций, отличающийся от набора других майнеров. Поскольку каждый работает над отдельным набором работ, и каждая часть работы имеет крошечный шанс на победу (независимо от того, что еще было испробовано!), майнинг — это пуассоновский процесс , а не линейный стек работ, который нужно активировать. через. Таким образом, у майнера с наибольшей вычислительной мощностью есть наибольшие шансы выиграть блок, но только вероятностно.
Думайте о майнинге как о покупке лотерейного билета для каждого хешированного кандидата в блок. Лишь небольшая часть билетов в банке является выигрышной, но кто-то может выбрать победителя со второй попытки, в то время как другой уже купил пятьдесят проигрышных билетов. Однако, когда вы покупаете больше билетов быстрее, ваши шансы на выигрыш выше.
Для лучшего понимания того, что такое майнинг, вы можете посмотреть « Что такое майнинг? ».
Каждый майнер работает над другим блоком. Хотя они используют некоторые из одних и тех же данных, есть несколько частей блока, которые полностью зависят от решения майнера, и эти различия делают блоки разными. Это также означает, что у них разные хэши, поэтому каждый майнер ищет другую часть пространства поиска SHA256d.
Хотя каждый из блоков, над которыми работает каждый майнер, будет иметь одинаковую высоту и родительский блок, они будут иметь разные транзакции и могут иметь разные номера версий блоков и временные метки.
Но наиболее очевидной вещью будут транзакции, которые хешируются в корень Меркла. Всего одна отличающаяся транзакция или всего одна транзакция в другой позиции вызовет изменение корня меркла, что приведет к изменению заголовка блока, что, таким образом, сделает хэш другим. И у каждого майнера, по крайней мере, его транзакция coinbase будет отличаться от транзакций всех остальных. Это связано с тем, что транзакция coinbase содержит вывод, который платит майнеру, поэтому очевидно, что каждый майнер будет оплачивать свою транзакцию coinbase сам, а не кто-то другой. Исходя из этого простого факта, транзакции в блоках, над которыми работают майнеры, будут отличаться, по крайней мере, в coinbase.
Так как все майнеры работают с разными блоками, каждый раз, когда они пытаются это сделать, будет получен хэш блока, которого еще не видел ни один другой майнер. Таким образом, мелкий майнер может быть достаточно удачлив, потому что блок, который он пробует, имеет одноразовый номер, благодаря которому хэш удовлетворяет требованиям PoW до того, как более крупный майнер найдет такой одноразовый номер для своего блока.
Джонатан Чад Фалинг
Доктор Харибо