Разработчики утаили информацию о баге, приведшем к неработоспособности 13% нод Ethereum
Критический баг привел к непригодности для использования 13% нод Ethereum. Он присутствует в клиентах Parity-Ethereum и OpenEthereum версии 2.7 и старше и приводит к тому, что ноды не синхронизируются с последним блоком в сети.
Основным путем решения проблемы является повторная синхронизация с нуля на более ранних версиях ПО, однако при определенных конфигурациях нод на это может уйти до нескольких месяцев. В результате возрастет нагрузка на основной клиент Geth, хотя ситуация с централизацией нод в сети Ethereum и без того была неблагоприятной.
Использование множества вариаций ПО нод позволяет защитить сеть от атак, так как уязвимости одних версий с большой долей вероятности будут отсутствовать в других. Это, например, помогло во время «шанхайских атак» в 2016 году, когда ноды Geth моментально отключились от сети, а Parity-Ethereum продолжили работать.
Поддерживаемый Ethereum Foundation клиент Geth в настоящее время используется 80% нодами сети Ethereum. В июле разработчики сообщили о переносе хард форка Berlin, так как слишком большая зависимость сети от одного клиента считается вектором атаки. Предполагалось, что за это время меньшие клиенты получат более широкое распространение в сети, однако с тех пор ситуация только ухудшилась.
Как утверждает CoinDesk, информация о несоответствии клиента Parity-Ethereum текущим спецификациям являлась «общеизвестным секретом» среди разработчиков. Менеджер проекта OpenEthereum Марсело Руис де Олана подтвердил, что его команда сочла проблемы клиента неразрешимыми «с очень серьезным воздействием на использование памяти и дискового пространства».
Компания Parity Technologies, являющаяся изначальным создателем Parity-Ethereum, отказался от дальнейшей работы над ним в конце 2019 года. Затем он был передан децентрализованной организации OpenEthereum.
В OpenEthereum призывают операторов нод для восстановления работоспособности перейти на версию клиента 2.5. Де Олана сообщил, что в настоящее время над проектом работают четыре человека. Он рассчитывает на выход пригодной для использования версии к середине сентября, однако без дополнительной поддержки проблема диверсификации нод будет оставаться актуальной.
«В конечном счете, задача по повышению разнообразия клиентов Ethereum лежит на сообществе. Ценна любая помощь», – добавил он.
Источник