Я понял, что когда приходит новая транзакция, майнеры должны начать все сначала или, по крайней мере, изменить свое дерево Меркла, чтобы включить новую транзакцию, по сути, снова начиная с нуля.
Если я посмотрю транзакции в реальном времени на https://blockchain.info/ , как майнеры вообще могут создать блок, если перерыва нет?
Если вы не определите перерыв как несколько микросекунд, и поскольку каждую секунду вы можете вычислить, я думаю, миллиарды возможных хэшей, мне все еще трудно понять, как новый блок «выбирается» или проверяется в понятных человеку терминах.
Майнинг основан на вычислениях, но он не постоянный, а случайный. По сути, каждый вычисленный хэш генерирует случайное число. Если случайное число меньше целевого, можно создать блок. Вероятность того, что какой-то отдельный хеш будет достаточно низким, ничтожно мала (у вас больше шансов выиграть в лотерею несколько раз подряд), но именно поэтому вам нужно вычислить много хэшей. Фактическое дерево Меркла не имеет значения, если само дерево действительно. Майнеры не обязаны включать все транзакции в мемпул, поэтому они обычно отправляют блоки всякий раз, когда находят действительный хэш.
Так что на самом деле обновления дерева меркла не имеют значения. На самом деле, это может быть полезно, так как есть больше одноразовых номеров, которые можно попробовать.
Майнеры выбирают, какие транзакции включать в свои блоки. Таким образом, им не нужно постоянно включать вновь поступившие транзакции в блоки, которые они пробуют. Они могут, если захотят, например, воспользоваться возможностью получения более высоких комиссий за транзакции, связанных с новыми транзакциями.
Нейт Элдридж
блокировать
Нейт Элдридж
Нейт Элдридж
блокировать
Нейт Элдридж
блокировать
блокировать