Anastasia Labs связала управление Cardano с исполнением в dApp
Реализация с открытым исходным кодом позволяет dApp Cardano с добровольным подключением распознавать вступившее в силу решение управления уровня 1 и выполнять заранее определенное изменение. Сквозной тест завершен в SanchoNet, подтвержденного развёртывания в основной сети нет.
By SongMarketCap
Anastasia Labs продемонстрировала прямую связь между управлением Cardano и выполнением внутри децентрализованного приложения. За 13 подтвержденных транзакций в SanchoNet демонстрационный dApp отреагировал на вступившее в силу изменение параметров протокола, увеличив собственную комиссию с 1 ADA до 2 ADA.
Тест в SanchoNet связывает управление с изменениями в dApp
Управление уровня 1 в Cardano может утверждать изменения параметров протокола, выводы средств из казны, хардфорки и обновления Constitutional Committee. Отдельные dApp обычно работают под собственными системами управления, которые могут зависеть от ключей администратора, мультиподписных кошельков или специализированных для приложения DAO.
Anastasia Labs разработала паттерн проектирования с открытым исходным кодом, который позволяет dApp использовать вступившее в силу решение управления Cardano в качестве авторизации для изменения собственного состояния. Реализация написана на Aiken для Plutus V3 и опубликована в репозитории команды aiken-design-patterns.
В демонстрации использовалось действие управления, которое изменило одну запись в модели стоимости Plutus V3. После того как изменение прошло весь процесс управления и стало активным в SanchoNet, dApp распознал обновленную модель и выпустил токен авторизации под названием PASS. Заключительная транзакция сожгла токен и увеличила комиссию приложения с 1 ADA до 2 ADA.
Реестр Cardano обеспечивает сигнал управления
Реализация не исследует историю голосования и не зависит от идентификатора конкретного действия управления. Вместо этого она проверяет активную модель стоимости Plutus, применяемую реестром Cardano после вступления в силу изменения параметра.
Это устраняет необходимость во внешнем оракуле для подтверждения того, что предложение принято. Валидация также не требует ключа администратора проекта, одобрения мультиподписью или бэкенд индексатора. Реестр применяет новый параметр, а валидатор dApp сравнивает активную модель стоимости со значением, зафиксированным в его предложении.
Тест из 13 транзакций охватывал публикацию эталонных скриптов, инициализацию состояний приложения и управления, отправку связанного действия с параметром, чеканку токена PASS после вступления в силу и выполнение изменения комиссии.
Philip DiSarro из Anastasia Labs описал результат как доказательство того, что ранее считалось невозможным. Смартконтракты Plutus не могут напрямую считывать результат вступившего в силу действия управления через специальное поле. Вместо этого паттерн аутентифицирует активную модель стоимости, доступную во время выполнения скрипта.
Использовать модель могут только dApp с добровольным подключением
Паттерн не передает управлению Cardano контроль над произвольными приложениями. Разработчики должны целенаправленно интегрировать необходимые валидаторы, определить допустимые изменения состояния и связать выполнение с выбранным сигналом управления.
Опубликованный тест продемонстрировал только изменение комиссии в демонстрационном приложении. Anastasia Labs выделила обновления контрактов, изменения параметров dApp, операции казны и аварийные средства управления как возможные приложения, однако эти варианты использования не входили в задокументированный прогон в SanchoNet.
У модели также есть нерешенные ограничения. Ее сигнал не связан с уникальным Governance Action ID, ее временная конфигурация зависит от настройки мультиподписи, а авторизация требует фактического изменения модели стоимости сети. О независимом аудите безопасности, продукционной интеграции или развёртывании в основной сети Cardano не объявлялось.
Результат представляет собой паттерн проектирования приложения с открытым исходным кодом, а не новую функцию протокола Cardano. Он дает разработчикам проверенный способ заменить контролируемый проектом ключ одобрения на вступившее в силу решение управления уровня 1, при условии что dApp изначально создан для принятия такого полномочия.