Akamon Beta — Улучшения в эпоху Бэббиджа 🚀
Развитие и повышение эффективности по мере приближения хардфорка Vasil
Akamon — нативный шлюз между Cardano и Polygon 🌉
Контракты Cardano в Akamon Beta изначально были разработаны для работы в эпоху Алонзо, поскольку мы не знали, когда произойдет хард-форк Vasil (или же вы можете назвать это эпохой Бэббиджа). Однако, как вы уже знаете, хардфорк Vasil был успешно запущен в общедоступной тестовой сети 3 июля.
Поскольку бета-версия Akamon находится только на ранней стадии, мы поняли, что это отличный шанс применить все оптимизации и улучшения, которые доступны только благодаря хардфорку. Мы хотим, чтобы сообщество ознакомилось с последними улучшениями Cardano и знало, чего ожидать, когда хард-форк Vasil появится в основной сети в конце этого года.
Мы классифицируем улучшения, появившиеся в результате хардфорка, на две категории:
- Пассивная: разработчикам не нужно вносить какие-либо изменения в свои dApp, чтобы воспользоваться этими улучшениями.
Пример: Diffusion Pipelining, хранилище UTXO на диске. - Активная: разработчики должны сами вносить изменения в свои децентрализованные приложения.
«Активные» улучшения — это то, в чем мы заинтересованы и то с чем мы рады работать:
- CIP-31: Эталонные входы
- CIP-32: Встроенные базы данных
- CIP-33: Справочные сценарии
- CIP-40: Сопутствующий вывод
- CIP-42: Новый встроенный Plutus:
serialiseBuiltinData
Мы предполагаем, что читатели уже в некоторой степени знакомы с этими CIP и с тем, как они могут улучшить децентрализованные приложения Cardano в теории. Поэтому мы сосредоточимся только на том, что мы сделали в Akamon Beta, используя такие улучшения:
Інструменти та бібліотеки Скрипти Розгортання Вбудовані дані Інші оптимізації «Фактично» Рішення Oracle
⚒️ Инструменты и библиотеки
Даже в конце июня и начале июля, когда мы готовились к хард-форку, многие популярные инструменты и библиотеки все еще не были готовы к эпохе Бэббиджа, и на момент написания статьи это все еще было правдой. Однако мы предвидели это и решили глубоко посвятить себя отечественным решениям, таким как cardano-index
и cardano-tx-builder
. В результате мы смогли адаптировать Akamon Beta к эпохе Бэббиджа и быстрее экспериментировать с новыми улучшениями — вместо того, чтобы ждать, пока внешние библиотеки будут готовы и станут стабильны.
К сожалению, мы не можем реализовать все сами, и нам все еще нужно дождаться, когда экосистема Cardano сдвинется с места в целом. Например, на момент написания статьи многие браузерные кошельки не могли подписать транзакцию с помощью встроенных данных или исходных данных… Мы ожидаем, что ситуация с этим станет намного лучше в ближайшие несколько недель, когда хардфорк приблизится к основной сети.
📄 Развертывание скриптов
До хард-форка Vasil, чтобы использовать заблокированный скриптом UTXO или чеканить токены, вам всегда нужно было включать в транзакцию необходимые скрипты. Как следствие, транзакции с использованием смарт-контрактов Plutus были огромны по размеру. Уже одно это вызывает несколько проблем:
- Все мы слышали о знаменитой проблеме «размера скрипта» в Cardano: размер транзакций ограничен 16 КБ; поэтому разработчики не могут создавать сложные транзакции, требующие взаимодействия 3-4 скриптов, даже если их скрипты оптимизированы с точки зрения исполнительных единиц.
- Также существует ограничение на размер блока, что означает, что в один блок может попасть лишь небольшое количество сложных транзакций, что создает у сообщества несколько «ложное» впечатление о низкой пропускной способности Cardano.
- Комиссия за транзакцию зависит от размера транзакции (наряду с единицами исполнения и некоторой фиксированной суммой); более крупные транзакции имеют более высокие комиссии.
Все полностью изменилось в эпоху Бэббиджа; с CIP-31 (эталонные входы) и CIP-33 (эталонные сценарии) сценарии больше не нужно включать непосредственно в транзакции. Вместо этого их можно «развернуть», создав UTXO с эталонными сценариями (CIP-33). Транзакции, требующие этих сценариев, могут просто ссылаться (CIP-31) на эти UTXO развертывания, и они будут разрешены и доступны в контексте оценки узлами Cardano.
С помощью этой техники мы можем уменьшить размер транзакций валидаторов в 5-10 раз (в зависимости от сложности), сократив при этом комиссию за транзакцию в 2-3 раза. По нашему опыту, это механизм, меняющий правила игры, потому что он приносит пользу не только нам, но и всему сообществу: если все децентрализованные приложения используют одинаковые методы, в один блок Cardano можно включить гораздо больше транзакций, а пропускная способность всей сети и эффективность будет гораздо выше.
📑 Встроенные базы
До хард-форка Vasil вы могли создавать UTXO с блокировкой скриптов только с хэшами данных, но для использования этих UTXO вам необходимо было предоставить данные, соответствующие сохраненному хэшу данных. Это должно было уменьшить объем данных, хранящихся в цепочке. Однако это не всегда может быть правдой:
- Во многих наших контрактах нам также необходимо проверять данные выходов, чтобы увидеть, удовлетворяют ли они определенным условиям, поэтому нам обычно приходится включать данные в качестве дополнительных в транзакцию, создающую UTXO.
- Чтобы построить транзакцию, потребляющую UTXO, нам нужно где-то получить соответствующие данные. Без централизованных баз данных единственное место, где мы можем их хранить, — это фактический блокчейн Cardano.
Это приводит к тому, что в большинстве случаев данные необходимо включать как в производящую, так и в потребляющую транзакцию, фактически дважды включая их в транзакцию, дважды оплачивая комиссию.
С CIP-32 (Inline Datums) мы можем просто включить датум в производящую транзакцию, и он будет доступен всем. Это не является препятствием для Akamon Beta, но, безусловно, является хорошим общим улучшением, позволяющим снизить размер транзакции (снова) и устранить некоторую путаницу для разработчиков dApp в отношении того, когда и как они должны делать эти данные доступными для использования транзакций.
🔮 «Почти» решение Oracle
Но использование CIP-32 (Inline Datums) на этом не заканчивается, в сочетании с CIP-31 (Reference Inputs) мы можем иметь UTXO, подобные Oracle, выступающие в качестве источника данных для других контрактов. Это действительно эффективный метод для редко обновляемых данных. Это позволяет нам сделать эти взаимодействия без перегрузок в Akamon Beta:
- Распределить собранные сборы между валидаторами
- Перенос заблокированных средств пользователей децентрализованным способом
Мы проводим обширные исследования и исследования по теме Oracle, и нам еще многое предстоит написать. Тем не менее, давайте оставим это для наших следующих технических отчетов 😉
⚙️ Другие оптимизации
Наряду с улучшениями, внесенными хард-форком Vasil, мы также серьезно оптимизировали контракты. После проведения внутренних тестов мы ожидаем, что пропускная способность Polygon → Cardano будет в 5 раз больше, чем было у нас изначально в общедоступной тестовой сети, и примерно в 10 раз больше, чем у нас было с Akamon Alpha. Но мы обязательно предоставим более подробную статистику после сбора реальных данных от пользователей, когда в общедоступной тестовой сети ситуация станет более стабильной.
Одна оптимизация, которую мы пробовали, использовала CIP-42 (New Plutus Builtin: serialiseBuiltinData
); это позволяет нам проверять согласованность запросов между утверждениями с более эффективными вычислениями.
Мы также планируем использовать CIP-40 (вывод залога) для лучшего управления UTXO валидаторов и защиты их от потери ненужных залогов при возникновении аномалий.
🔗Акамон Ссылки
Akamon FAQ
Подробный пошаговый пользовательский опыт передачи Akamon Akamon Public Issue Tracker
MELD — будь своим собственным банком
Мы считаем важным, чтобы каждый получил контроль над своей финансовой жизнью и имел равный доступ к финансовым инструментам, используемым профессионалами, а не только централизованными учреждениями, правительствами или 1%. Мы хотим предоставить финансовую свободу и контроль массам, в том числе тем, кто не пользуется банковскими услугами.
У нас есть долгосрочная цель — обеспечить доступ к этим инструментам для 15 триллионов долларов, которые в настоящее время заблокированы в мировой экономике, включая 2 миллиарда человек во всем мире, которые не имеют доступа к банковским услугам. Это люди, платят самые высокие комиссионные, получают худшее клиентское обслуживание, и у них больше всего проблем.
Наше видение состоит в том, чтобы создать экосистему, которая позволит людям восстановить финансовый контроль, предоставив им инструменты и услуги, необходимые им для управления своими деньгами на их условиях. Будь то создание обеспеченной долговой позиции (CDP) с помощью криптовалюты, получение процентного дохода за кредитование фиата заемщикам или даже участие в программах поощрения, мы стремимся предоставить нашим пользователям функции, необходимые им для управления их собственной финансовой жизнью.