Если биткойн-клиент выходит из сети или пропускает новый блок, каков процесс поиска текущего основного блокчейна? И как биткойн гарантирует, что обновления блокчейна будут распространяться на каждое устройство, подключенное к сети (т. е. убедиться, что у подключенных узлов никогда не будет пропущенного блока в леджере?). предыдущий блок? И тогда как он гарантирует, что текущая транслируемая цепочка является дополнением к основной цепочке, а не какой-то вилкой? Например, если клиент подключается к сети и получает блок заданной высоты, как он узнает, что у него больше всего работы в любой цепочке, и что локальная копия содержит все блоки в цепочке?
Пиры узла сообщат узлу высоту их самой длинной цепочки блоков, и если это больше, чем то, что в настоящее время хранится узлом, он запросит недостающие блоки у этого узла (для их проверки и сохранения). Кроме того, если узел находится в сети и получает новый блок, он просматривает хэш своего родителя и решает, есть ли у него уже родитель или нет. Если у него нет родителя, он попросит его у своих сверстников. Таким образом, он в конечном итоге загрузит все недостающие блоки и снова будет обновлен.
Узел будет отслеживать длину каждого форка блокчейна и будет использовать самый длинный из найденных, который он считает действительным. Если появляется длинная вилка, которую узел считает недействительной, он покажет предупреждение о том, что либо узел устарел, либо одноранговые узлы.
пебвиндкрафт
612 руб.