BTC $64,422 ▲ 0.937% ETH $1,734 ▲ 0.76% BNB $591 ▲ 0.542% SOL $73 ▼ 0.858% BTC $64,422 ▲ 0.937% ETH $1,734 ▲ 0.76% BNB $591 ▲ 0.542% SOL $73 ▼ 0.858%
Альткоины

Неудачный ICO Ethereum 2016 разблокировал 1003 ETH

Белый хакер нашел способ вернуть 1 003,62 ETH из старого ICO 2016 года!

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

Реализацией проекта стал белый хакер, который нашел способ разблокировать ETH из контракта HongCoin после того, как они оказались заблокированы на девять лет.

Успех реализации зависел от первоначального контракта HongCoin multisig, который все еще требует действий от этой управленческой тропы для соответствующих вызовов администратора.

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

Контракт HongCoin резко контрастирует с основным слоем Ethereum, который остается неизменным И все же действующая разрешенная тропа и согласованная подпись от первоначального multisig сделали 48 первоначальных инвесторов возможными для получения средств через механизм возврата, который был сломан на годы.

Как это случилось с механизмом возврата, которая сломана HongCoin, это был Ethereum проект 2016 года, чья публичная репозитория описала это как

Исходя из контракта, в котором содержится ошибка В функции refundMyIcoInvestment() проверяется, превышает ли баланс токенов вызывающей стороны токенов, созданных

Если это условие верно, вызов отказа.

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

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

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

Эскимопутем в пути было другая старая часть кода

Мульти-сигнально-ограниченная функция mgmtIssueBountyToken() администратора могла добавить предоставленную сумму к балансу получателя и к bountyTokensCreated.

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

До Solidity 0.8.0, арифметика обрезалась при переполнении, если разработчики не добавили свои проверки

Старое поведение сформировало путь обхода.

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

Этап Основная деталь 2016 год продажи ICO HongCoin собрал ETH для Ethereum проекта в стиле венчурного фонда, который позже не смог достичь его цели.

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

Старая административная тропа Мульти-сигнально-ограниченная функция все еще существовала, которая могла изменить баланс с помощью пред-0.8 Solidity арифметики поведения.

Белый хакерская реализация 0xFlorent координировал с первоначальным мульти-сигналом HongCoin, чтобы разблокировать заблокированных держателей для возможности получения средств.

Доказательство на блокчейне 29 мая транзакция показывает успешный вызов функции refundMyIcoInvestment(), который производит внутренний 96 ETH перечислитель.

Мульти-сигнал сделал реализацию координированной

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

Координация имела такое же значение, как код

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

ICO началось 29 августа 2016 года, завершилось 28 октября 2016 года и не смогло достичь своих целей.

Наблюдаемая на блокчейне запись уже показывает активность возврата 29 мая был вызван refundMyIcoInvestment() и произведен внутренний 96 ETH перечислитель из контракта HongCoin в адрес инвестора.

Общая стоимость транзакции была 0 ETH, поскольку фактическое движение произошло внутри вызова контракта.

Кому следует следить за деньгами, должен отличать себя от завершенной дистрибуции

Состояние контракта и выполнение мульти-сигнал снова открыли путь к средствам, которые были недоступны на годы.

Визуальные примеры на блокчейне показывают активность возврата, а не полный учет каждой претензии, которая была признана инвестором.

Эпизод с HongCoin следует читать внимательно, прежде чем кто-либо будет делить его на другие застывшие деньги Ингредиенты были исключительно специфичными: идентифицированная логика контракта, административная функция, которая все еще может быть использована первоначальным путем управления, белый хакер, который был готов координировать, и достаточно оставшихся денег во время блокчейна, чтобы сделать эту попытку ценной.

Практическая деталь заключается в том, что владение и разрешение

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

Точно так же те же факты делают эпизод трудным для переноса

Многие застые контракты имеют активный контрольный ключ, чистую группу претендентов или публичную историю, которая делает ответственную реализацию правдоподобной.

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

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

Эфириум сохраняет ошибку и средство

Более широкая история Эфириума делает реализ


По материалам CryptoSlate

Конгресс США рассматривает криптовалюту Cardano отменил саммит 2026