Skip to content
Blockchain

Почему обновление смарт-контракта позволяет незаметно повредить хранилище, которое уже прошло аудит?

82

Возможность

Обновляемые паттерны прокси (UUPS, Transparent Proxy, Diamond) являются стандартом в производственном DeFi, однако несут строгое ограничение: схема хранилища новой реализации должна быть совместима с каждым слотом, назначенным предыдущей. Вставьте новую переменную состояния в неправильную позицию, и каждый последующий слот будет повреждён незаметно, без каких-либо ошибок в блокчейне. Автоматические проверки вроде плагина обновления OpenZeppelin выявляют очевидные случаи, но пропускают хранилище с пространствами имён ERC-7201 с нестандартной упаковкой, назначения слотов на уровне ассемблера и перекрёстные коллизии фасетов Diamond, когда два фасета претендуют на одну и ту же область хранилища. Рецензируемое исследование января 2026 года (ProxyLens) обнаружило значительный класс уязвимостей межфасетных коллизий, которые существующие инструменты не выявляют. Аудиторы проверяют контракты реализации изолированно и не могут восстановить полную карту хранилища прокси с несколькими делегированными фасетами.

Почему это важно

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

Как я оцениваю возможность

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

Серьёзность9/10

Насколько серьёзные проблемы это создаёт.

Частота6/10

Как часто люди с этим сталкиваются.

Пробелы8/10

Насколько мало хороших инструментов для этого существует сегодня.

Ещё задачи, достойные решения