Как Биткойн избегает разделения на несколько сетей p2p?

Итак, поскольку Биткойн полностью децентрализован, что мешает формированию нескольких сетей p2p?

И что происходит с цепочкой блоков, когда две отдельные P2P-сети в конечном итоге достигают друг друга? Согласятся ли все узлы использовать самую длинную цепочку блоков?

Не означает ли это, что куча транзакций будет потеряна?

Ответы (1)

Пока все следуют одним и тем же правилам, майнинг является конвергентным, потому что ожидаемый интервал в десять минут позволяет каждому полному узлу догнать текущее состояние сети.

Отдельные p2p-сети (альткойны) основаны на другом наборе правил, одним из которых является блок Genesis в блокчейне. Поскольку их блок Genesis отличается, и каждый блок ссылается на своего следующего предка, пока не будет достигнут блок Genesis, блоки, найденные в другой цепочке, недействительны для цепочки с другим блоком Genesis. Они и их предки не являются действительной частью этой цепочки.

Как указывает Питер ниже, IP-адреса некоторых узлов жестко запрограммированы, что позволяет новым узлам обнаруживать своих первых одноранговых узлов Биткойн.

Если бы правила были одинаковыми, но две сети отдельно расширяли цепочку, то при повторном соединении превалировала бы самая тяжелая цепочка. Другая (более легкая) цепочка устареет и не будет продолжена. Все транзакции, которые ранее были подтверждены в сети более легкой цепочки, станут неподтвержденными и действительными для майнинга, пока UTXO, которые они тратят, все еще не израсходованы в более тяжелой цепочке. Процесс исправления вилки цепи путем ее устранения в пользу более тяжелого наконечника цепи называется «реорганизацией цепи».

Тяжелее и легче здесь относится к цепочке с наибольшим доказательством работы. Пока оба конца цепочки имеют одинаковую сложность, это упростит более длинную цепочку. Если цепочки имеют разные сложности (поскольку отдельные подсказки цепочки прошли сброс сложности), нам действительно нужно сравнить агрегированное доказательство работы.

Вы не ответили: «Итак, поскольку биткойн полностью децентрализован, что мешает формированию нескольких сетей p2p?». Ответ заключается в том, что обнаружение узлов не является полностью децентрализованным. Существуют жестко заданные исходные IP-адреса и DNS-идентификаторы, которые предотвращают разделение.