Разработчики Ethereum выявили уязвимость в предложении EIP-1559, которая могла привести к перегрузке сети. Об этом рассказал участник Ethereum Foundation Тим Бейко.
We started with a lot of action as @mhswende identified an issue in EIP-1559 yesterday where the new fields introduced in transactions (maxFee & maxPriorityFee) did not have an explicit cap. This meant that an attacker could create arbitrarily large transactions.
— Tim Beiko | timbeiko.eth 🦇🔊 (@TimBeiko) May 28, 2021
Представленное в 2018 году EIP-1559 предполагает сжигание части транзакционных комиссий и способствует снижению волатильности цены газа. Предложение также позволяет пользователям платить майнерам «чаевые» для ускорения подтверждения транзакций.
Разработчик Мартин Холст Свенде обнаружил, что EIP-1559 не устанавливает ограничений на максимальную сумму таких платежей. Благодаря этому злоумышленник мог бы ввести абсурдно большое число, чтобы перегрузить сеть, даже если у него нет средств для оплаты.
«До EIP-1559 это невозможно, поскольку, если вы хотите создать транзакцию с огромной ценой газа, вам фактически необходимо иметь указанное количество ETH. Если ваша транзакция включена в блок, вы заплатите эту сумму», — объяснил Бейко.
Разработчики устранили уязвимость, добавив код, предложенный Свенде. Некоторые клиенты уже имплементировали решение.
Luckily, the fix for this is quite simple, as suggested by Martin here: https://t.co/x3W62DVcsi pic.twitter.com/OhNS6tLqQH
— Tim Beiko | timbeiko.eth 🦇🔊 (@TimBeiko) May 28, 2021
Спорное EIP-1559 получило поддержку со стороны разработчиков и пользователей, но разделило майнеров на два лагеря.
Противники предложения, среди которых совместно контролирующие 44,8% хешрейта сети пулы SparkPool и Ethermine, хотели сосредоточить в последнем более 51% вычислительных мощностей. Однако их попытка провалилась.
EIP-1559 станет частью хардфорка London, запланированного на июль 2021 года.
В мае разработчики раскрыли информацию об уязвимости, позволяющей провести DoS-атаку на блокчейн Ethereum. Ошибку обнаружили в марте 2019 года, но устранить ее удалось лишь в апреле 2021 года.