Сообщение от 8 января, опубликованное Ethereum Foundation (EF), показало, что разработчики работают над новой реализацией компилятора Vyper из-за «множества серьезных ошибок» в существующей версии.В ответ команда Vyperlang отметила, что эти ошибки не влияли на существующие смарт-контракты Vyper.
Vyper – альтернативный язык программирования для Ethereum, изначально задуманный Виталиком Бутериным.Он нацелен на то, чтобы быть как можно более понятным для человека, даже за счет отсутствия некоторых из более продвинутых функций, имеющихся в Solidity, основном языке.
Первоначально являясь частью основного стека кода Ethereum (ETH), с тех пор он превратился в независимый репозиторий после предварительной проверки Consensys Diligence в октябре 2019 года.В отчете обнаружено 31 проблема с компилятором Vyper, программным обеспечением, которое переводит язык в компьютерный код для виртуальной машины Ethereum (EVM).
Разработчики Ethereum Foundation рассказали в своем блоге, как постепенно разочаровались в сопровождающих Vyper:
«После нескольких месяцев работы мы скептически относились к тому, что кодовая база python, скорее всего, воплотит в жизнь идею, обещанную Vyper.Кодовая база содержала значительный технический и архитектурный долг, и с нашей точки зрения не было похоже, что существующие сопровождающие были сосредоточены на исправлении этого ».
Еще до выхода доклада команда EF начала работу над новым компилятором Vyper на основе языка Rust.Это решение было мотивировано увеличением переносимости на EWASM, новую реализацию виртуальной машины, которая заменила EVM, который должен быть представлен в Ethereum 2.0.
Ошибки компилятора не критичны, утверждают сопровождающие Vyper
Ошибки, обнаруженные в компиляторе Vyper, были особенно значительными из-за его использования в депозитном контракте Ethereum 2.0, критическом компоненте системы Proof-of-Stake (PoS).
Тем не менее, разработчики Vyper пояснили в ветке Twitter, что для самого контракта была проведена отдельная проверка Runtime Verification, которая не обнаружила нефиксированных ошибок.Для анализа использовался скомпилированный машинный код контракта, что означало, что любая аномалия, введенная компилятором, была бы обнаружена.
Кроме того, команда Vyperlang выпустила обновление 7 января, утверждая, что исправило более 75 процентов ошибок, выявленных в ходе аудита Consensys.
Разработка версий Vyper для Rust и Python будет продолжена, хотя разработчики EF по-прежнему надеются, что обе реализации будут работать в направлении единого языка Vyper – цель, которая, вероятно, потребует тесного сотрудничества между двумя командами.