Ради разговора и различения двух блоков, позволяет обозначить их BLOCK_A и BLOCK_B
Тот факт, что Меркл корни идентичны между BLOCK_A и BLOCK_B не будет иметь никакого влияния на поведении. Это будет продолжаться так же, как любое другое время, два шахтеры решения блока почти в то же самое время. В частности:
Часть сети, которая получила BLOCK_A первый бы добавить BLOCK_A их blockchain. Когда они получили BLOCK_B, они бы не добавить их blockchain, так как они уже имеют цепь этой высоты.
Часть сети, которая получила BLOCK_B первый бы добавить BLOCK_B их blockchain. Когда они получили BLOCK_A, они бы не добавить их blockchain, так как они уже имеют цепь этой высоты.
Тогда шахтеры, которые приняли BLOCK_A бы приступить к работе на следующий блок на высоте BLOCK_A + 1
В то же время, шахтеры, которые приняли BLOCK_B бы приступить к работе на следующий блок на высоте BLOCK_B + 1
Как только один из этих шахтеров решена блока, они будут транслировать. Давайте предположим на минуту, что это шахтер, который строит на вершине BLOCK _A.
Поскольку BLOCK_A и BLOCK_B оба на ту же высоту, этот новый блок будет сделать более длинную цепь. Все узлы, которые ранее принятые BLOCK_A бы просто добавить этот новый блок в цепочке после BLOCK_A. Все узлы, которые ранее принятые BLOCK_B бы отказаться (orhpan) BLOCK и принять новую длинную цепочку BLOCK_A и BLOCK_A + 1. Сеть будет сходиться на этой новой цепи.
Я думаю, что бы BLOCK_A + 1 будет совместима с цепью с использованием BLOCK_B, так как они имеют один и тот же хэш, и вы можете приковать блоки вместе. И поэтому, когда BLOCK_A + 1 выходит и транслируется, теперь у вас есть:
цепь: BLOCK_A -> BLOCK_A + 1
цепь: BLOCK_B _> BLOCK_A + 1
они только начинают бы расходящимися, если Ая Wouldnt проверки, но это может или не может произойти в следующем блоке. Может быть, я просто ответил на мой собственный вопрос.