Eclipse — сетевая изоляция, не обход правил консенсуса. Full Node продолжает отвергать недопустимые данные, но может задерживаться, цензурироваться или оставаться на старой допустимой ветви.
Атакующий должен захватить значимые сетевые пути жертвы, а не просто установить одно соединение. Работающая связь с честным соседом может нарушить полный контроль. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]
Исследование Heilman и соавторов 2015 года рассматривало заполнение адресных таблиц и перехват переподключения. Результат зависит от ресурсов и реализации; исторический эксперимент не проверяет нынешнюю версию. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Core v29.0 — addrman]
Атакующий выбирает, какие блоки и транзакции пропускать внутрь или наружу. Он может удерживать сообщения и наблюдать источники транзакций даже без большинства хешрейта. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]
Full Node продолжает проверять подписи, скрипты и эмиссию. Изоляция не делает недопустимый блок допустимым, но проверка не обнаружит допустимый блок, который никогда не поступил. [Bitcoin Developer Guide — Block Chain]
Без новых честных блоков узел может оставаться у старой вершины; изолированный майнер — тратить работу на покинутую остальной сетью ветвь. Доступность и актуальность отличаются от допустимости. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]
Получатель может видеть подтверждения в допустимой ветви атакующего, а после восстановления связи — её реорганизацию. Ветви всё ещё нужен Proof of Work; выдуманное число подтверждений само не обманет Full Node. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Developer Guide — Block Chain] [Bitcoin Optech — Eclipse attacks]
Группировка адресов и разнообразные исходящие пути снижают концентрацию. Разные адреса могут принадлежать одному противнику; разнообразие не гарантирует независимости. [Bitcoin Core v29.0 — addrman] [Bitcoin Core v29.0 — Peer connections]
Bitcoin Core использует пробные соединения feeler и дополнительные соединения передачи блоков для поиска иных путей. Первые проверяют адреса, вторые могут приносить новые заголовки; ни одни сами не гарантируют конца изоляции. [Bitcoin Core v29.0 — Peer connections]
Известный сосед, заданный вручную, может добавить путь, но требует доверия к доступности и сетевой связи. Больше соединений через одного провайдера не обязательно означает независимые пути. [Bitcoin Developer Guide — P2P Network] [Bitcoin Optech — Eclipse attacks]
Eclipse нацелена на узел или выбранную группу, а более широкое разделение сети отделяет целые области. Защита оценивает пути и модель противника, а не только число открытых соединений. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]
Для полной картины прочитайте эту статью вместе с Sybil attack, Block propagation, Compact block relay, Nakamoto consensus. На эту статью также ссылаются Двойная трата, Sybil attack, Neutrino.