Синхронизирует ли узел 2009 года всю цепочку биткойнов?

Итак, синхронизирует ли узел 2009 года всю цепочку биткойнов, и влияет ли на это временное разделение 2013 года?

Ответы (2)

Теоретически это возможно, поскольку явные правила консенсуса не изменились. Однако на практике он не сможет синхронизироваться без некоторых специальных модификаций.

Во-первых, сетевая версия настолько старая, что ни одно современное нодовое ПО не будет принимать от нее подключения. Кроме того, формат сетевых сообщений изменился по сравнению с первым выпуском, так что теперь он содержит контрольную сумму сообщения. В первой версии биткойн-клиента не было контрольной суммы для сообщений. Это различие в сетевом протоколе приведет к сообщениям, которые не имеют смысла ни для одного из узлов в соединении.

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

Наконец, исходный биткойн-клиент не сможет синхронизироваться после форка 2013 года, если не будет увеличено количество блокировок BDB. При использовании настроек по умолчанию у него закончатся блокировки, когда он достигнет примерно этого времени, и, следовательно, не удастся синхронизировать.

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


Несколько месяцев назад я модифицировал версию Bitcoin Core, чтобы она была совместима с Bitcoin 0.1.0, а затем попытался ее синхронизировать. Код для этого здесь . Я остановил этот эксперимент через несколько дней, когда удалось синхронизировать только около 25 000 блоков.

(да/нет/вроде... см. лучший ответ Эндрю Чоу)

Да, синхронизируется. Хотя это будет очень медленно, так как блокчейн в наши дни довольно большой, а код тогда не был так хорошо оптимизирован.

Событие 2013 не будет иметь никакого эффекта, так как оно будет синхронизировано с самой длинной (наиболее рабочей) цепочкой.

На самом деле, не будет, но по глупой причине. Контрольные суммы были введены в протокол P2P в версии 0.2.10 (июнь 2010 г.), а в 2012 г. поддержка отсутствия контрольных сумм была удалена. Вам понадобится какой-то узел между этими датами, чтобы действовать как мост между ними.
Хардфорк 2013 года по-прежнему будет вызывать проблемы, потому что исходному биткойн-клиенту доступно недостаточное количество блокировок BDB.