Какова максимальная задержка в сети для синхронизации узла с основной цепью?

Допустим, узел имеет очень большую задержку (ping/pong) между его собственной сетью и сетью, в которой находится большинство других узлов, скажем, около 13 минут , сможет ли он быть частью основного блокчейна (и будет ли он сможет действовать как любой другой узел, не только читая состояние цепочки, но и совершая транзакции) или ему придется соединяться в блокчейне с парами, которые находятся рядом с ним (несколько сотен миллисекунд) и иметь мост между своей цепочкой и далёкий-далёкий?

Спасибо.

Ответы (1)

Не с текущим протоколом. Такая функция потребует так называемой сети, устойчивой к задержкам/сбоям , что на данный момент серьезно выходит за рамки проекта. Такой протокол имеет множество совершенно уникальных проблем, и нет никакого реального смысла даже пытаться разработать такую ​​​​вещь, пока не возникнет реалистичный вариант использования. Поэтому, если НАСА не поставит перед собой новую задачу по развертыванию Ethereum на МКС, я не думаю, что мы увидим в этом большую потребность.

Так какова будет максимальная задержка? Загрузчик в Geth имеет 3,5-секундный тайм-аут для получения пакета заголовков с удаленного узла. Поэтому, если мы считаем, что узлу также необходимо искать заголовки, задержка в одну сторону составляет около 1,5 секунды.

Итак, чтобы завершить свой ответ, не могли бы вы представить, какой будет максимально допустимая задержка с текущими протоколами?
Загрузчик в Geth имеет 3,5-секундный тайм-аут для получения пакета заголовков с удаленного узла. Поэтому, если мы считаем, что узлу также необходимо искать заголовки, задержка в одну сторону составляет около 1,5 секунды. Это, вероятно, будет немного смягчено в Geth 1.5 с развертыванием одновременных загрузок заголовков, но мы не хотели останавливать синхронизацию из-за очень медленных пиров.
Теоретически задержка до Луны составляет около 1 секунды. Так что это выполнимо. это Марс, о котором совершенно не может быть и речи, с 20-минутной задержкой.
Луна слишком близко, меня это не интересует ;) Но что, если мы разбросаем космические ретрансляторы, которые запускают узлы по всему пути к Марсу, чтобы поддерживать задержку в 1 секунду между каждым узлом? Изменит ли это что-то?
Было бы разумнее использовать пользовательский протокол, который передает (соответствующим образом закодированные) блоки. Это определенно будет дешевле, чем строить множество концентрических колец спутников на солнечной орбите!