Разработчики, которые ставят безопасность на первое место, могут ожидать, что безошибочное кодирование станет достижимым в 2030-х годах, согласно соучредителю Ethereum Виталикe Бутерину.

После спорного хардфорка Gnosis Chain для восстановления $9.4 миллиона из взлома Balancer соучредитель Ethereum Виталик Бутерин сказал, что убеждение в том, что «ошибки неизбежны, вы не можете создать безошибочный код», перестанет быть истинным в 2030-х годах.

Что сказал Виталик Бутерин о кодировании?

Виталик Бутерин сделал прогноз, что безошибочный код станет реальностью в 2030-х годах в ходе общения на платформе социальных сетей X.

Обсуждение началось, когда Gnosis Chain объявила, что она выполнила хард-форк 22 декабря, как сообщалось Cryptopolitan. Хард-форк восстановил $9.4 миллиона, украденных во время эксплуатации Balancer в ноябре 2024 года, которая выкачала более $128 миллионов через несколько блокчейнов. Восстановление потребовало, чтобы большинство валидаторов приняли новое программное обеспечение, и те, кто не обновился, сталкиваются с наказаниями.

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

«Существует всего 7 контрактов, которые стоит писать, и их следует просто закрепить на базовом уровне и получить безопасность от разнообразия клиентов», - написал пользователь.

Бутерин затем ответил, уточнив, что формальная проверка не равнозначна доказуемо безошибочному. Он пошел дальше и предложил, что доказуемо безошибочный код может быть даже невозможен.

«Я бы даже сказал, что 'доказуемо безошибочно' невозможно, потому что 'безошибочный' означает 'нет разрыва между намерением и исполнением кода', а наше намерение - это чрезвычайно сложный объект, к которому у нас есть только ограниченный доступ».

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

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

Возможно ли будущее безошибочного кода?

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

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

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

Присоединяйтесь к премиум-сообществу крипто-трейдинга бесплатно на 30 дней - обычно $100/мес.