Из-за поспешного обновления 12% клиентов Ethereum стали непригодными для использования

Обновление клиента OpenEthereum, преемника клиента Parity для Ethereum, сделало узлы, работающие в новой версии, практически бесполезными.

Похоже, что ошибка возникла в версии 2.7.2 OpenEthereum, на которой также было основано последующее обновление 3.0.

Хотя выпуск 2.7 был отмечен как стабильный, с июня сообщество начало сообщать о периодических зависаниях клиента, что требовало ручного жесткого перезапуска узла.Проблема появляется случайным образом «один или три раза в месяц», и программа не может уведомить о своей неисправности.Некоторые пользователи объявили релиз «бесполезным» и «нарушенным для операторов узлов».

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

OpenEthereum решила просто отказаться от версии 2.7 из-за этой и других «ошибок гейзенбага», которые чрезвычайно трудно воспроизвести и, следовательно, исправить.

Новая итерация 3.0, основанная на последней действительно стабильной версии 2.5, должна быть выпущена в середине сентября перед берлинским хард-форком.

Однако до тех пор, пока этого не произойдет, операторы, загрузившие новую версию, останутся перед чрезвычайно сложной задачей перехода на более раннюю версию.

Лиам Аарон, разработчик инфраструктуры BlockNative, подчеркнул в Твиттере, что для перехода на более раннюю версию требуется полная ресинхронизация блокчейна, «что для некоторых конфигураций узлов займет месяцы», — сказал он.

Ошибка затрагивает около 50% текущих узлов Parity и все узлы, обозначенные как OpenEthereum, что в сумме составляет до 12% всей сети, согласно данным Ethernodes.

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

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

Сторонники мультиклиентного подхода полагают, что это предотвращает ошибки в одной реализации, приводящие к обрушению сети вместе с ними, и ошибка OpenEthereum, по-видимому, является именно таким сценарием.

Spread the love
12345 (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *