Agoric

Agoric

В настоящее время большинство DeFi приложений используют архитектуру, где Web2 фронтенд (пользовательский интерфейс) пишется на JavaScript, а бэкенд (исполнительный код), представляющий собой набор смарт-контрактов, пишется на другом специализированном языке программирования. Во-первых, это требует от разработчиков смарт-контрактов знания узко специализированного языка, во-вторых, усложняет создание надежного фрэймворка, связывающего фронтенд и бэкенд.

* В некоторых сетях смарт-контракты пишутся на широко известных языках, например, в сети Near это Rust, но все же большая часть смарт-контрактов написано на Solidity, поэтому для большинства разработчиков и существует порог входа в крипто сферу, который заключается в необходимости изучения нового языка

Agoric – это платформа смарт-контрактов, которая позволяет разработчикам использовать для написания контрактов Hardened JavaScript. Таким образом Agoric намереваются привлечь большое количество разработчиков в DeFi, NFTs и Dapps, ведь JavaScript является одним из самых распространенных языков программирования.

Hardened JavaScript – это вариация JavaScript, позволяющая работать с потенциально небезопасным кодом, без рисков пострадать от багов или сторонних злонамеренных действий. Говоря простым языком – это такая продвинутая песочница для безопасной работы с любым, даже небезопасным, кодом. Более подробное техническое описание можно найти тут

Сеть Agoric разрабатывалась для того, чтобы уменьшить риски в децентрализованных финансовых системах, а также команда ставит своей задачей создание масштабной композитной библиотеки крипто экономических стандартов, наподобие тех библиотек, которые привели к взрывному росту JavaScript экосистем (например, Node.js). Наличие такой библиотеки даст разработчикам возможность быстро создавать смарт-контракты из уже готовых компонентов (поэтому библиотека и называется композитной). Также Agoric добавили в JavaScript улучшенные функции детерминизма и асинхронности, что дает разработчикам еще больше возможностей для разработки уникальных смарт-контрактов.

Компоненты Agoric

Эндпоинты (ключевые элементы архитектуры Agoric)

Zoe – это фреймворк для написание смарт-контрактов на JavaScript, отвечает за безопасное исполнение кода, а также обеспечивает пользователям и разработчикам защиту от злонамеренных действий c третьей стороны. Более того, Zoe выступает своего рода эскроу-агентом, т.е. при проведении сделок у пользователя есть гарантии, что, либо сделка была осуществлена, либо он получит назад свои активы.

Цифровые активы – это любые токены (в том числе и NFT).

Endo - выполняет такую же функцию для Hardened JavaScript, как и Node.js для JavaScript, а именно запускает гостевые программы и взаимодействует с протоколом передачи сообщений CapTP.

Tendermint – движок, на котором в данный момент строятся все блокчейны в экосистеме Cosmos (*подробнее в первой главе).

Протоколы

ERTP (Electronic Rights Transfer Protocol) - это стандарт Agoric для создания и передачи цифровых активов. Используя ERTP IP пользователь может создавать и использовать токены (NFT тоже), при этом все эти токены обладают одинаковыми свойствами безопасности и могут передаваться внутри сети.

Cap TP (capability transport protocol) – протокол, который позволяет объектам на одном компьютере безопасно обмениваться сообщениями с объектами на другом компьютере.

IBC – о том, что это такое, читайте в первой главе.

Agoric VM

Agoric VM – это виртуальная машина Agoric, которая обеспечивает три основные функции:

1) Предоставляет безопасную распределенную среду для исполнения кода JavaScript с возможностью использования готовых модулей. Безопасность использования модулей и повторного использования кода (code reuse) обеспечивается за счет OCap.

* Под использованием готовых модулей подразумевается такая функция, как составность или композитность (composability), о том, что это такое можно почитать тут.

Code reuse – это использование уже готового кода для написания новых функций или приложения.

2) Модель объектных возможностей (Object-Capability model или сокращенно OCap) модель безопасности, использующаяся в защищенных вычислительных системах. Agoric расширили возможности данной модели для обеспечения асинхронного программирования между сетями (*должен признаться, что мы сами не особо понимаем, что это значит).

Более подробно об OCap можно почитать тут.

3) Экспоненциальная композитность (Exponential composability) – этот термин обозначает использование готового кода, модулей и пакетов для создания новых приложений. Чтобы вы понимали масштабы – на середину 2021 года из библиотек Node.js было скачано более 800к различных пакетов, а ежедневное количество скачиваний превышает 1 миллиард (*данные из официальной документации Agoric). При этом лишь 3% кода пишется с нуля, весь остальной код является готовым и повторно используемым. Однако использование чужого кода может нести риски безопасности, а OCap как раз и защищает пользователей и разработчиков от этих рисков, привнося в блокчейн сферу все плюсы от использования готового кода.

Токеномика и экономическая модель Agoric

Экономическая модель Agoric строится на децентрализованных приложениях. Разработчики строят и запускают свои приложения в сети Agoric, пользователи могут создавать свои цифровые активы (токены и NFT), пользоваться приложениями и совершать транзакции, при этом платя комиссии. В общем, все довольно стандартно.

В сети Agoric есть два нативных токена – IST (изначально назывался RUN) и BLD.

BLD выполняет функции гавернанс токена и служит для обеспечения безопасности сети посредством стейкинга. Т.е. любой держатель этих токенов может депонировать их валидаторам и получать за это награды за стейкинг, а также принимать участие в голосованиях BLDer DAO (название DAO сети Agoric). Здесь опять все стандартно, но есть у этого токена и другая функция, о чем будет рассказано ниже.

Распределение токенов приведено на диаграмме

На момент написания данной главы (конец июля 2022) токен не торговался ни на одной бирже, однако у пользователей была возможность добавить свои токены в стейкинг.

Inter Protocol token IST – сверхобеспеченный экосистемный стейблкоин с привязкой к USD. Все комиссии в сети Agoric платятся в IST, далее эти IST идут на вознаграждение валидаторам, а также частично в резервный фонд протокола. В долгосрочных планах Agoric сделать так, чтобы IST был основным стейблом в экосистеме Cosmos, поскольку у пользователей будет возможность минтить IST под залог нативных токенов многих IBC блокчейнов, например, ATOM, OSMO, SCRT и других. Какие именно токены могут использоваться в качестве обеспечения путем голосования будут определять участники BLDer DAO. За минт IST с пользователей будет взиматься небольшая комиссия, которую пользователь будет выплачивать при погашении займа. Эта комиссия, также как и транзакционные комиссии, будет распределяться в виде наград валидаторам сети и отчислений в резервный фонд протокола.

Привязка курса IST к доллару США обеспечивается тремя типами арбитражного механизма, которые зависят от вида залогового актива. Parity stability mechanism используется, если залогом служат стейблкоины, Vaults – если залогом служат активы, одобренные BLDer DAO, ISTstake – если залогом служат токены BLD, находящиеся в стейкинге.

Хранилища (vaults) – смарт-контракты, в которых пользователи лочат свои активы в качестве залога и минтят IST. Каждый пользователь создает свое индивидуальное хранилище для каждого типа залогового актива. С пользователей взимается комиссия за минт (предназначена в основном для предотвращения спама), а также процентная ставка, которую пользователь выплачивает протоколу за использование долга (interest rate).

Кроме того, в зависимости от волатильности того или иного залогового актива для него определяется коэффициент сверхобеспечения (например, чтобы сминтить 100 IST под залог монеты A, пользователь должен будет внести монет A на сумму 150 USD в эквиваленте, это значит, что коэффициент сверхобеспечения для монеты A равняется 1,5. А для монеты B будет другой коэффициент, установленный с учетом волатильности этой монеты). Коэффициент сверхобеспечения, максимальный размер займа, комиссии и ликвидационные издержки (liquidation penalty) для каждого залогового актива устанавливаются BLDer DAO.

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

ISTstake – это альтернативный способ минта IST, доступный стейкерам BLD. Пользователи, застейкавшие свои BLD токены валидаторам, могут залочить часть этих токенов в качестве залога и сминтить IST. Эти залоговые токены продолжают приносить пользователям награды за стейкинг, но их нельзя вывести из стейкинга до тех пор, пока не будет погашен долг и уплачены комиссии за минт. Погашения долга происходит за счет списывания наград за стейкинг в уплату долга. ISTstake не имеет никакого ликвидационного механизма (т.е. BLD залог не может быть ликвидирован). Максимальный размер возможного долга и лимит на минт, а также комиссии устанавливаются BLDer DAO.

Parity stability module – даёт пользователям возможность минтить IST под залог популярных стейблкоинов через специальный смартконтракт без создания хранилищ. Этот способ минта облагается наименьшими комиссиями и позволяет быстро воспользоваться возможностями для арбитража в случае отклонения IST от номинального значения в 1 доллар.

Kinetic – нативный AMM сети Agoric, обеспечивает обмен и торговлю активами в сети, а также отвечает за осуществление ликвидационных процессов.

Резервный фонд (Reserve Pool) – играет две ключевые роли: предоставляет для Kinetic ликвидность для осуществления ликвидаций и обеспечивает погашение долговых позиций из своих резервов в случае форс-мажорных ситуаций. Для этих целей в резервном фонде хранятся различные криптоактивы.

Подводя итоги, хочется сказать, что IST предназначена ключевая роль в развитии DeFi в сети Agoric, привязка курса IST к USD защищена следующими механизмами:

  • Сверхобеспечение залоговыми активами;

  • Ликвидация, в случае снижения коэффициента обеспечения ниже порогового значения;

  • Резервный фонд;

  • Комиссии, выплачиваемые при минте;

  • Возможность использования ISTstake в качестве страховки.

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

Где посмотреть, что почитать

Официальный сайт (там и ссылочки на всю документацию и ресурсы) тут

Вайтпейпер тут

Вайтпейпер Inter Protocol тут

Механики работы Inter Protocol (видео) тут

Официальный блог тут

Ру группа Agoric в телеге тут

Last updated