Я пытался понять протокол и читать соответствующие документы, но в какой-то момент я застрял.
Насколько я понимаю (поправьте меня, если не так), когда происходит транзакция, она транслируется в сеть, и некоторые майнеры ее получают. Когда достигается определенное количество транзакций, они упаковываются в блок и начинается хэш-гонка.
Чего я не понимаю, так это; в этой схеме не должны ли все майнеры иметь идеальную когерентность памяти и синхронизацию времени, чтобы они знали, когда блок должен быть запечатан, и начать итерацию для хэшей? Или им не нужно майнить и хэшировать один и тот же глобальный блок, но есть отдельные блоки, которые позже проверяются другими майнерами, и коллизии транзакций между блоками не имеют значения?
Я знаю, что неправильно понимаю очень простой пункт в протоколе, но я не могу понять, что именно.
Майнер начинает создавать новый блок, как только получает действительный блок от другого майнера. Затем он начинает создавать и хэшировать следующий блок поверх только что полученного блока.
Вы были правы, когда думали, что у каждого майнера есть отдельный блок от остальных. Не смотрите на это так, как будто все майнеры сотрудничают, чтобы найти хеш для одного и того же блока, а скорее конкурируют друг с другом, чтобы сделать свой собственный блок следующим в цепочке. Если они находят действительный блок, они транслируют его, а другие майнеры отказываются от своих усилий и вместо этого сосредотачивают свои вычислительные мощности на следующем блоке.
e,f,g
только транзакции, и начинает искать для него соответствующий одноразовый номер.Часть вашего заблуждения заключается в следующем: «когда будет достигнуто определенное количество транзакций». Майнинг не требует определенного количества транзакций; законно иметь блок вообще без транзакций (за исключением транзакции вознаграждения за блок «coinbase»). «Гонка хэшей» продолжается всегда; не запускается и не останавливается. Когда майнер получает новую транзакцию, он просто включает ее в уже имеющиеся у него транзакции, генерирует новый заголовок блока и продолжает хеширование нового заголовка. Нет требования, чтобы все майнеры работали с одним и тем же набором транзакций.
Марч