- Хардфорки раскрывают ограничения бесконечно изменчивых смарт-контрактов в системах, критически важных для безопасности.
- Только узкий набор основных контрактов может оправдать безопасность базового уровня и разнообразие клиентов.
- Формальная проверка и более безопасные языки направлены на то, чтобы сделать критическое программное обеспечение доказуемо корректным.
Приложения, созданные как смарт-контракты внутри программируемых виртуальных машин, продолжают выявлять более глубокие структурные слабости в дизайне блокчейна. Недавние действия операторов, включая хардфорк для возврата средств после эксплойта Balancer, вновь вывели эту проблему на первый план. Операторы сетей действовали решительно, но это событие усилило ключевой вопрос о том, как блокчейны должны безопасно добавлять функциональность.
По словам c-node, разработчика zk, большая часть логики приложений может не принадлежать бесконечно изменяющимся смарт-контрактам. Он утверждает, что лишь ограниченный набор контрактов оправдывает долгосрочное существование, и что эти компоненты могут выиграть от базовой безопасности и разнообразия клиентов. В связи с этим, отрасли, возможно, придётся пересмотреть, являются ли универсальные виртуальные машины самым безопасным способом увеличения функциональности в больших масштабах.
there are only 7 contracts worth writing, and they should just be enshrined in the base layer and get security from client diversity
— c-node (@colludingnode) December 23, 2025
Почему баги сохраняются в критически важном ПО
Баги остаются неизбежными и сегодня, потому что разработчики по-прежнему меняют безопасность на скорость и гибкость. Кроме того, сложность программного обеспечения продолжает расти быстрее, чем качество верификации. Однако Виталик Бутерин ожидает, что этот баланс со временем изменится. Он прогнозирует, что утверждение о том, что насекомые неизбежны, перестанет быть правдой в 2030-х годах.
Registering a prediction:
— vitalik.eth (@VitalikButerin) December 24, 2025
"bugs are inevitable, you can't make bug-free code" will stop being true in the 2030s
(lots of software will continue to have bugs because in their use case, functionality gains are more important, but if you want bug-free code you'll have it) pic.twitter.com/ZMhfQgFeCR
Несколько факторов движут этот сдвиг. Языки программирования теперь внедряют более сильные системы типов и более строгие правила памяти. Кроме того, методы аудита улучшились благодаря автоматизации и состязательному тестированию.
Более того, формальные инструменты проверки всё чаще подтверждают правильность, а не предполагают её. Таким образом, код, критически важный для безопасности, постепенно становится доказуемым, а не внушающим надежду.
Согласно исследованию ChatGPT от Buterin, плотность дефектов уже резко снижалась при экстремальных инженерных условиях. В 1990 году, вероятно, была поставлена программа на 1000 линий, критически важная для безопасности, с восемь-десятью скрытыми насекомыми.
К 2000 году дисциплинированные команды сократили это число до четырёх. В результате к 2010 году усилия элиты приблизили количество дефектов к одному-двумя.
Кривая стоимости верификации
К 2020 году команды, тратящие миллион долларов на каждые 1000 линий, достигли почти нуля известных дефектов. Однако этот результат требовал тщательного рассмотрения и математической проверки.
Бутерин прояснил это предположение, обсуждая современные результаты. Он заявил: «Это если предположить крайние усилия высшего уровня при верификации этих 1000 строк, следующий шаг — снизить эту планку».
Важно, что будущие выгоды не будут зависеть только от дополнительных расходов. Они придут из лучших дефолтов. Языки автоматически предотвращают целые классы ошибок. Кроме того, системы доказательств будут интегрированы напрямую в рабочие процессы разработки.
Связанно: Виталик Бутерин называет рынки прогнозов противоядием от социальных сетей