Перейти к основному содержанию
Change page

Разнообразие клиентов

Последнее обновление страницы: 23 февраля 2026 г.

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

Предварительные условия

Если вы еще не понимаете, что такое узлы и клиенты, ознакомьтесь с разделом «Узлы и клиенты». Определения и находятся в глоссарии.

Почему существует несколько клиентов?

Существует множество независимо разработанных и поддерживаемых клиентов, поскольку разнообразие клиентов делает сеть более устойчивой к атакам и ошибкам. Множество клиентов - это уникальная сила Ethereum - другие блокчейны полагаются на безошибочность одного клиента. Однако недостаточно просто иметь в наличии несколько клиентов — они должны быть приняты сообществом, а общее количество активных узлов должно быть распределено между ними относительно равномерно.

Почему разнообразие клиентов важно?

Наличие множества независимо разработанных и поддерживаемых клиентов жизненно важно для здорового развития децентрализованных сетей. Давайте рассмотрим причины, почему.

Ошибки

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

Устойчивость к атакам

Многообразие клиентов также обеспечивает устойчивость против атак. Например, атака, которая обманывает определенный клиент (opens in a new tab), заставляя его перейти на определенное ответвление цепи, вряд ли будет успешной, потому что другие клиенты, скорее всего, не будут уязвимы таким же образом, и каноническая цепь останется неповрежденной. Низкая разнообразность клиентов увеличивает риск, связанный со взломом доминирующего клиента. Разнообразие клиентов уже доказало, что оно является важной защитой от злоумышленных атак на сеть, например, во время обновления Shanghai в 2016 году Dos-атака был возможна, т.к. злоумышленники смогли обмануть доминирующий клиент (Geth) на выполнение медленной дисковой операции на ввод/вывод данных десятки тысяч раз за блок. Поскольку альтернативные клиенты также работали, но были без этой уязвимости, Ethereum смог противостоять атаке и продолжать работать, пока уязвимость в Geth не была исправлена.

Окончательность Proof-of-Stake

Ошибка в клиенте консенсуса с более 33% узлов Ethereum может помешать уровню консенсуса финализировать, то есть пользователи не могут доверять, что транзакции не будут отменены или изменены в какой-то момент. Это было бы очень проблематично для многих приложений, построенных на Ethereum, особенно приложений DeFi.

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

Хотя это маловероятные сценарии, экосистема Ethereum может смягчить риск их возникновения путем одинакового распределения активных узлов по разным клиентам. В идеале, ни один клиент консенсуса никогда не достигнет 33% доли от всех узлов.

Совместная ответственность

Наличие мажоритарных клиентов также влечет за собой человеческие издержки. Это возлагает большое напряжение и ответственность на небольшую команду разработчиков. Чем меньше разнообразие клиентов, тем большая ответственность лежит на разработчиках, поддерживающих мажоритарный клиент. Распределение этой ответственности на несколько команд хорошо как для здоровья узлов сети Ethereum, так и для людей этой сети.

Текущее разнообразие клиентов

Клиенты исполнения

Клиенты консенсуса

Эта диаграмма может быть устаревшей — перейдите на ethernodes.org (opens in a new tab) и clientdiversity.org (opens in a new tab) для получения актуальной информации.

Две круговые диаграммы выше показывают срезы текущего разнообразия клиентов для уровней исполнения и консенсуса (на момент написания в октябре 2025 года). Разнообразие клиентов с годами улучшилось, а на уровне исполнения наблюдается снижение доминирования Geth (opens in a new tab). Nethermind (opens in a new tab) занимает второе место, Besu (opens in a new tab) — третье, а Erigon (opens in a new tab) — четвертое. На остальные клиенты приходится менее 3 % сети. Доля самого распространенного клиента уровня консенсуса, Lighthouse (opens in a new tab), ненамного превышает долю второго по популярности клиента. На Prysm (opens in a new tab) и Teku (opens in a new tab) приходится ~31 % и ~14 % соответственно, а другие клиенты используются редко.

Данные по уровню исполнения были получены с supermajority.info (opens in a new tab) 26 октября 2025 года. Данные для клиентов консенсуса были получены от Майкла Спроула (opens in a new tab). Получить данные о клиентах консенсуса сложнее, поскольку клиенты уровня консенсуса не всегда имеют однозначные «следы», которые можно использовать для их идентификации. Данные были сгенерированы с помощью алгоритма классификации, который иногда путает некоторых миноритарных клиентов (подробнее см. здесь (opens in a new tab)). На диаграмме выше эти неоднозначные классификации обозначаются двойной меткой (например, Nimbus/Teku). Тем не менее, очевидно, что большая часть сети использует Prysm. Несмотря на то, что значения на диаграмме являются лишь снимками в определенные моменты времени, они дают хорошее общее представление о текущем состоянии разнообразия клиентов.

Актуальные данные о разнообразии клиентов для уровня консенсуса теперь доступны на clientdiversity.org (opens in a new tab).

Уровень исполнения

До сих пор обсуждение разнообразия клиентов в основном касалось уровня консенсуса. Однако на клиент исполнения Geth (opens in a new tab) в настоящее время приходится около 85 % всех узлов. Этот процент проблематичен по тем же причинам, что и для клиентов консенсуса. Например, баг в Geth, влияющий на обработку транзакций или построение полезных нагрузок выполнения, может привести к тому, что клиенты консенсуса одобрят проблемные или ошибочные транзакции. Таким образом, Ethereum будет безопаснее при более равномерном распределении клиентов исполнения, в идеале — когда ни один клиент не представляет больше 33% сети.

Использование миноритарного клиента

Решение проблемы разнообразия клиентов требует не только того, чтобы отдельные пользователи выбирали миноритарные клиенты, но и того, чтобы пулы валидаторов и такие организации, как крупные децентрализованные приложения и биржи, также переключались на другие клиенты. Однако все пользователи могут внести свой вклад в устранение текущего дисбаланса и уравновешивание использования всего доступного программного обеспечения Ethereum. После обновления «Слияние» все операторы узлов должны будут запустить клиент исполнения и клиент консенсуса. Выбор комбинаций клиентов, предложенных ниже, поможет улучшить разнообразие клиентов.

Клиенты-исполнители

Клиенты консенсуса

Опытные пользователи могут помочь ускорить этот процесс, написав больше учебных руководств и документации для миноритарных клиентов и поощряя за переход с доминирующих клиентов своих коллег, управляющих узлами. Руководства по переключению на миноритарный клиент консенсуса доступны на clientdiversity.org (opens in a new tab).

Панели мониторинга разнообразия клиентов

Ряд панелей дают в реальном времени статистику о разных клиентах уровня выполнения и консенсуса.

Уровень консенсуса:

Уровень исполнения:

Дополнительные материалы

Была ли эта статья полезной?