ru
Назад к списку

Уязвимость EIP-1559 могла остановить сеть Ethereum после летнего хардфорка

source-logo  cryptor.net 31 Май 2021 02:33, UTC

Разработчики Ethereum изменят этим летом принцип распределения вознаграждения за добычу блоков. Обновление EIP-1559 будет сжигать часть комиссий, снизив общую инфляцию сети, но оставит возможность увеличивать размеры выплат майнерам, чтобы ускорить транзакции.

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

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

Баг заметил шведский разработчик Ethereum Mapтин Xoлcт Cвeндe. Об этом в своем твиттере сообщил Тим Бейко, уже исправивший уязвимость четырьмя строчками кода.
Первые две проверяют, чтобы величина комиссии не превышала вероятность с числом 2^256. Число, полученное при возведении двойки в эту степень по своему значению больше, чем количество атомов во Вселенной.

Такая проверка исключает возможность появления аномальной комиссии в сети, размещенной реальным владельцем ETH. Функция позволяет не только остановить атаку хакеров, но и отклонить часть переводов пользователей, перепутавших в кошельке поля транзакции и комиссии.

Последние две строчки кода сравнивают баланс Отправителя с выставленной комиссией, умноженной на использованный газ. Исправление бага никак не отразится на планах запуска хардфорка London, который вводит понятие базовой комиссии, рассчитанной по факту реальной загрузки блоков. Это поможет владельцам ETH понять, насколько они переплачивают или недоплачивают при отправке транзакции.

cryptor.net