Home » В течение 30 минут блокчейн Ethereum (ETH) перестал завершать блоки

В течение 30 минут блокчейн Ethereum (ETH) перестал завершать блоки

by Tim

В четверг поздно вечером блокчейн Ethereum столкнулся с проблемой, из-за которой блоки временно не могли быть правильно завершены. Хотя с тех пор все пришло в норму, вот что мы знаем об этом эпизоде на данный момент.

Блоки временно перестали завершаться на Ethereum

На момент написания статьи точная причина еще не была сообщена, но в течение примерно тридцати минут блокчейн Ethereum (ETH) столкнулся с проблемой, препятствующей финализации блоков

Важно отметить, что блокчейн не остановился. Однако в течение 3 эпох на уровне консенсуса произошла ошибка, похожая на то, что известно как «утечка бездействия».

Проще говоря, блокчейн вел себя так, как будто многие валидаторы были отключены от сети.

Это было не так, но факт в том, что в этот период валидаторами было выдано ограниченное количество сертификатов:

Рисунок 1 - Эпохи, столкнувшиеся с ошибкой консенсуса на Ethereum

Рисунок 1 — Эпохи, столкнувшиеся с ошибкой консенсуса на Ethereum

Проблема с используемым программным обеспечением

Для функционирования блокчейн Ethereum разделен на 2 составляющие: уровень исполнения, который позволяет проводить транзакции, и уровень консенсуса, который обеспечивает согласованность блоков. Для этих двух компонентов валидаторы могут использовать различное программное обеспечение, называемое клиентами.

Ethereum Foundation призывает валидаторов разнообразить используемые ими клиенты, чтобы в случае возникновения ошибки блокчейн продолжал нормально функционировать.

На рисунке ниже видно, что программное обеспечение, используемое для уровня консенсуса, правильно диверсифицировано, в то время как для уровня исполнения клиент Geth представлен слишком широко:

Рисунок 2 - Разнообразие клиентов, используемых валидаторами на Ethereum

Рисунок 2 — Разнообразие клиентов, используемых валидаторами на Ethereum


Поскольку ни один клиент уровня консенсуса не используется более чем 50% валидаторов, ошибка прошлой ночи не могла вызвать остановку или форк блокчейна. Это при условии, что проблема действительно возникла в одном из используемых программных пакетов.

В этом случае разработчик ядра Superphiz отмечает, что этой проблемы утечки неактивности можно было бы даже избежать, если бы ни одно программное обеспечение не представляло более 33% валидаторов:

Со своей стороны, Теренс Цао сообщил, что была выявлена проблема с клиентом Prysm, хотя мы не можем сказать, является ли она источником остановки проверки блока :

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

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

Related Posts

Leave a Comment