Дружелюбный хакер мог эмитировать ETH бесконечно, но не стал – и получил награду от разработчиков

Дружелюбный хакер Джей Фримен мог эмитировать ETH бесконечно, но не стал - и получил награду от разработчиков

Джей Фриман недавно нашел способ обмануть решение Optimism для масштабирования Ethereum таким образом, что можно эмитировать «эфир» практически бесконечно. Однако вместо того, чтобы использовать уязвимость, он сообщил о проблеме команде разработчиков Optimism, которая наградила его бонусом в размере $2 млн за обнаружение ошибки.

Протокол выпускает внутренние токены для повышения производительности и снижения комиссий

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

Optimism bridge

Потому что, подобно тому, как это работает с мостами блокчейна, такими как Wormhole, платформа выпускает альтернативные токены ETH, которые существуют только в сети Optimism и выполняют функцию долгового обязательства (IOU). Чтобы получить долговые расписки, пользователи сначала блокируют свои (настоящие) монеты в смарт-контракте в качестве обеспечения. После этого они получат «фальшивые токены». Затем эти токены могут быть переведены почти мгновенно и с очень низкой комиссией по сравнению с реальными транзакциями в сети. Это концепция Optimism о масштабировании уровня 2.
Если пользователи Optimism затем захотят, чтобы их долговые расписки-токены снова стали реальными ETH, они должны сначала подождать неделю, прежде чем их токены Ethereum, депонированные в качестве залога, будут выпущены. Все кажется вполне разумным.
Однако Фриман обнаружил серьезную уязвимость в коде, который заставляет смарт-контракты после их выполнения удалять себя и возвращать соответствующие эфиры отправителю.

Таким образом, функция вернула токены отправителю, но оставила связанные долговые расписки Ethereum вне сети. Ошибку теперь можно использовать для манипулирования смарт-контрактами для обхода ошибки. Это позволило выпускать бесконечное количество этих вспомогательных ETH. По словам Фримена, токены теперь можно использовать, чтобы «сеять хаос в криптоэкосистеме».

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

Такие уязвимости известны как ошибки переполнения. Еще в 2010 году кто-то использовал аналогичную ошибку, чтобы выпустить 184 миллиарда биткоинов. В то время потребовался софтфорк, чтобы сбросить блокчейн до предела в 21 миллион BTC, установленного Сатоши Накамото.

Ошибка выявлена в канун Рождества, но потенциал не обнаружен

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

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

Джей Фриман

Жертва безопасности в пользу производительности, как это делает Optimism, не является альтернативой для Фримена. Он «не хочет» поддерживать блокчейн-проекты по «фундаментальным вопросам децентрализации или безопасности». Потому что это означает, что ключевые моменты технологии еще предстоит улучшить. Однако они были бы слишком важны и поэтому «не должны быть запоздалыми».
Команде «Optimism», должно быть, повезло, что баг выявил Фримен, а не к криминальный деятель. Обнаружение проблемы стоило «всего» два миллиона долларов.

Роман
Оцените автора
Безопасник
Добавить комментарий