А ничё, что это вы две разные задачи взяли?
Точная копия базы и точная копия записи в базе данных?
Если два человека один из Новой Зеландии, а другой из Копенгагена зальют
в торрент один и тот же фильм (по их мнению) но сам файл будет отличаться
на один байт, то хэш файла будет другой. И вы начав качать одну копию
файла всегда скачаете именно её, торрент не решит за вас - какая из копий
правильная, а какую надо стереть с лица земли.
А в чём, собственно, принципиальная разница? Вновь присоединившаяся нода - скачивает "точную копию базы" завершённых транзакций. А новые транзакции (записи) - добавляются способом, как я написал выше. Ну, какая-нибудь спецально сделанная нода может, конечно, "забить" на кофликт и продолжить броадкастить в сеть конфликтующие транзакции - в таком случае, её надо тоже банить, вот и всё.
Ну и на здоровье: как только происходит такой конфликт - обе транзакции объявляются недействительными, а Вася - "недостоверным" участником на сутки. Прикол в том, что всё это делается in real time, т.е., в пределах единиц секунд - а не раз в 10 минут, и то, если повезёт.
Кто их объявляет недействительными?Любая полная нода, обнаружившая этот конфликт.
Обе части сети (Петина часть и Колина часть) живут себе и не знают, что существует
коллизия. Об этом знает только Вася, но ему как раз на это срать с большой колокольни.
Ну так на здоровье. Только это уже будет другая "сеть", или если хотите, другой "блокчейн" - как биткойнкэш и биткойнголд.
А в пределх одной сети - только если трансатлантический кабель перегрызть, и спутники посбивать.