UPLC Link проверяет смартконтракты Cardano на соответствие опубликованному коду

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

By SongMarketCap

Updated:

Cardano News - UPLC Link проверяет смартконтракты Cardano на соответствие опубликованному коду

UPLC Link позволяет пользователям Cardano проверять, соответствует ли развернутый смартконтракт исходному коду, опубликованному для него. Платформа с открытым исходным кодом пересобирает контракты и сравнивает их криптографические отпечатки. Через Cexplorer пользователи получают доступ к репозиторию и сведениям о сборке, связанным со скриптом, который они изучают.

Cexplorer связывает скрипты Cardano с их исходным кодом

Опция Cexplorer «Verify Source» связывает просмотр контракта с UPLC Link, предоставляя доступ к исходному репозиторию, точной ревизии кода, версии компилятора и параметрам контракта.

Giovanni Gargiulo, Senior Blockchain Architect в Cardano Foundation, продемонстрировал рабочий процесс во время Developers Office Hours 25 сентября. Опубликованный 7 октября обзор сессии описал интеграцию и планы по расширению поддержки компиляторов.

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

Для приложений, работающих с ADA и другими активами Cardano, это соединяет доступные для изучения правила со скриптами, управляющими свапами, займами или заблокированными средствами. Проверка исходников устанавливает эту связь, а аудит безопасности оценивает код на наличие уязвимостей.

Пересборка контрактов дает проверяемое совпадение

Смартконтракты Cardano выполняются в виде скомпилированного Untyped Plutus Core, или UPLC. Их хэши скриптов идентифицируют скомпилированные программы, не раскрывая, какая ревизия исходников или какие параметры сборки их породили.

UPLC Link начинает с конкретного коммита GitHub и версии компилятора. Он собирает исходники, вычисляет итоговые хэши скриптов и сравнивает их с ожидаемыми ончейн идентификаторами.

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

Для совпадения необходимы правильные исходники, компилятор и параметры.

Публичный интерфейс сейчас помечен как alpha и поддерживает контракты Aiken. В презентации описаны работы в направлении поддержки Scalus, Plutarch и plu-ts, а также планируемая интеграция с Blaster для автоматизированной формальной верификации свойств контрактов.

Эти расширения увеличат охват платформы за пределами ее текущего рабочего процесса Aiken.

Ончейн записи поддерживают независимую проверку

CIP-0171 предлагает общий формат метаданных для фиксации информации, необходимой для воспроизведения сборки контракта Cardano. Он использует метку метаданных транзакции 1984 для указания исходного репозитория, ревизии кода, компилятора, среды сборки и параметров.

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

Спецификация остается предложением в официальном реестре CIP. Ее формат учитывает несколько семейств компиляторов, при этом каждый инструмент проверки определяет, какие из них он поддерживает.

UPLC Link уже предлагает регистрацию через подписанную транзакцию Cardano, при этом сетевая комиссия оплачивается в ADA. Его бэкенд индексирует отправленные записи для обнаружения через публичный реестр. Проект также предоставляет API для других сервисов и публикует инструкции по запуску платформы локально.

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