Skip to content
Blockchain

Почему я могу проверить код на соответствие спецификации, но не могу проверить саму спецификацию?

84

Возможность

Формальная верификация смарт-контрактов доказывает, что код соответствует заданной спецификации, но не позволяет определить, действительно ли эта спецификация отражает предполагаемое поведение контракта. Опрос MDPI 2025 года, посвящённый современным инструментам автоматизированного аудита, показал, что они обнаруживают лишь от 8 до 20 процентов уязвимостей, которые можно использовать в реальных условиях эксплуатации, при этом обеспечивая более 90-процентный охват низкоуровневых синтаксических шаблонов. Пробел заключается в самой спецификации: логические ошибки, условия блокировки активов и допущения оракулов почти никогда не фигурируют в спецификациях, поскольку инженеры не знают, как их перечислить до того, как уязвимость продемонстрирует такую необходимость. В статье PropertyGPT, представленной на конференции NDSS 2025, прямо указывается, что сообществу по-прежнему не хватает средств автоматического генерации исчерпывающих свойств для эффективной формальной верификации. Каждый аудит, который признает контракт соответствующим неполной спецификации, создает ложное чувство уверенности, а не гарантирует безопасность

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

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

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

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

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

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

Частота7/10

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

Пробелы9/10

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

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