Обзор Azuro: беттинг протокола
Протокол для проектов со ставками на что либо.
Акцент на ликвидности, децентрализации и открытости.
Оглавление
Аудит
Команда
Есть на https://www.linkedin.com/company/azuroprotocol
Как видим, был опыт и в криптосфере, и есть много подтверждённых навыков...
Контент тематический, есть две компании с работой Solidity разработчиком.
Работает здесь и в Clearpool с 2021 года, работал с 2016 по 2021 в Scentbird.
В Forseti Solidity разработчиком был. В общем, тоже большой опыт.
Навыки с подтверждениями, в т. ч. за последние 6 месяцев.
В Midium:
Последний пост 22 ноября. До этого в сентябре.
У последнего поста 69 хлопков от 9 пользователей, у предпоследнего - от двух, и у третьего - 50 от одного.
В канале анонсов последний пост 6 декабря:
В основном чате есть сообщения сегодня, причём в том числе ответы членов команды:
В Twitter последний пост 37 минут назад:
Лайкают и репостят активно, хоть и не невероятно много (меньше ста лайков и меньше 10 репостов у последних постов).
Концепт
Многие (даже вроде Виталик Бутерин) говорили о том, что сейчас нет хорошего решения для беттинга в блокчейн сфере. Azuro хочет стать таким решением за счёт поддержки максимальной децентрализации...
- Поставщики данных: те, кто берут данные из web2 или web3 и поставляют в протокол.
- Фронтенд-операторы: те, кто запускают фронтенды (сайты или приложения) к протоколу, обслуживают их.
- Поставщики ликвидности: те, кто поставляют ликвидность для ставок.
Есть и Dune со статистикой:
Эмпанирует, что всё открыто (можно посмотреть в одном месте).
В первой таблице топ событий, первое из которых получило 1178 ставок на сумму $390,051.29 от 601 пользователей.
Не знаю, много ли это по сравнению с другими беттинг протоколами, но меня впечатляет...
Кстати, самая крупная ставка 10К $.
Во второй таблице "Users stats" показан топ пользователей. Первый из них сделал 34 ставки на сумму $218,805, общая сумма $299,503.
Общая прибыль $80,697 - это хорошая сумма...
В DefiLlama написано, что TVL 6,87 МЛН $ - это хороший результат:
Коин
По данным Cryptorank:
Собрали 7.5 МЛН $ от Arrington XRP Capital, Delphi Digital, Merit Circle, Mask Network, Hypersphere Ventures, Alliance DAO, PathDAO, Ethereal Ventures, Gnosis, Polymorphic Capital, Flow Ventures...
Инвесторы за исключением одного-двух не впечатляют...
Но это могут быть не последние инвестиции...
В документации упоминается токен для ДАО и в Cryptorank даже написан уже его тикер, так что 99%, что будет.
+ в Github есть скрипт airdrop и claim тестового токена.
Код
Начнём с SDK:
Последний коммит был вчера, показано 13 измененных файлов с 242 добавлениями и 30 удалениями.
29 сентября последний коммит, но для серьёзного софта, который часто менять не надо, может это и нормально... Тем более, что в коммите последнем:
Показано 56 измененных файлов с 23 092 добавлениями и 18 464 удалениями.
Субграфы - сервис для хранения и работы с данными. Последний коммит 19 июня с 5 изменениями и 5 удалениями, а вот предпоследний (он же первый в репозитории):
Содержит много изменений, но это из-за новых файлов.
Итог: Github не очень активный. Поставим оценку 4 из 5.
Документация
"Concepts":
На странице описано, что есть 3 составляющие:
- Azuro protocol - смартконтракты для ставок.
- Azuro DAO - ДАО.
- Azuro components - компоненты для построения интерфейсов к приложениям ставок.
А также даются ссылки на другое...
Мы же перейдём по "The Azuro Vision", которая откроет следующую страницу документации:
Здесь говорится, что ставки были популярны всегда, а сейчас - ещё больше чем раньше. Но они мониполизированы корпорациями. Azuro же создаёт протокол ставок, управляемый сообществом.
Переходим к "The Azuro Protocol":
Протокол Azuro - это децентрализованный протокол, который позволяет делать ставки в одноранговых сетях без посредников. Он построен на блокчейнах, совместимых с EVM, и состоит из нескольких смарт-контрактов, которые обрабатывают различные аспекты процесса ставок, такие как пулы ликвидности, условия ставок, ставки в реальном времени и выплаты. Протокол использует автоматизированного маркет-мейкера для определения коэффициентов различных исходов и обеспечения честности и прозрачности процесса размещения ставок.
+ даны ссылки на репозиторий смартконтрактов и доки по ним.
Перейдём к Frontends:
Интерфейсами могут быть приложения, виджеты, инструменты, интеграции или даже автономные продукты, которые используют пулы ликвидности Azuro и предоставляют пользовательский интерфейс для взаимодействия с пользователями. В то время как некоторые DApps могут копировать существующие продукты и создавать новые пользовательские интерфейсы с локализацией и специализацией, более опытные разработчики могут пойти дальше и создавать новые продукты в целом, создавая новые пулы и другие наложения поверх инфраструктуры Azuro и базовой ликвидности.
Операторы интерфейса получают % от прибыли, получаемой пулами (от части, связанной с активностью их собственных пользователей). Каждый оператор интерфейса предоставляет свой адрес смарт-контракту со ставками своих пользователей, а контракт LP распределяет часть прибыли на адрес интерфейса.
Операторы интерфейса имеют возможность выбирать, какие рынки отображать в своем приложении. Они могут выбирать из списка поддерживаемых условий в режиме реального времени по протоколу и удалять события, которые не нужны.
"Bettors":
Каждая ставка — это транзакция со смарт-контрактами.
Игроки могут получить доступ к рынкам через веб-сайты, приложения или виджеты (известные как «Фронтенды»), которые подключаются к Azuro для доставки услуги ставок для конечных пользователей.
При доступе к рынкам, поддерживаемым Azuro, игрокам не нужно вносить депозиты или снимать средства. Хотя UX/UI на интерфейсы не контролируются Azuro - предполагаемое использование рынков Azuro таково: активы у пользователя -> он делает ставку - активы попадают в смартконтракт.
Как только игра закончится, игрокам просто нужно будет получить свой выигрыш по смарт-контракту (если их ставка выиграла).
Предоставление ликвидности в один из пулов Azuro открывает доступ к LP практически на всех рынках ставок, поддерживаемых соответствующий пул. Это возможность в один клик получить доступ к тысячам рынков ставок.
Пулы ликвидности зарабатывают за счет спреда, встроенного в коэффициенты, на которые игроки делают ставки. Прибыль Пула ликвидности — это разница между токенами, помещенными из пула в Условия, и токенами возвращёнными в пул после разрешения этих условий.
Чем больше игроков и ставок по протоколу – тем выше вероятность того, что пул окажется прибыльным. Т.е. - чем дольше продолжительность позиции каждой LP, тем выше вероятность того, что она принесет положительную доходность.
Годовая процентная ставка рассчитывается в два этапа:
- Ежедневная доходность определяется путем деления общей суммы вознаграждений, распределенных поставщикам ликвидности за решенные события в течение дня, на объем пула ликвидности на конец этого дня.
- Затем ежедневные доходы пересчитываются в годовой отчет за годичный период.
Есть риски того, что позиции, удерживаемые менее недели могут быть убыточными. Иногда и больше, но вероятность прибыли составляет 99%.
Когда пользователь вносит новый депозит ликвидности, он подвергается риску потерь пула, которые могут возникнуть на рынках, которые уже открыты на момент внесения депозита. Положительное влияние на прибыль пула начинается с рынков, которые создаются после внесения депозита. Поэтому почти наверняка новая позиция по ликвидности покажет отрицательную доходность в первые несколько дней (т. е. до того, как она начнет получать положительную подверженность новым рынкам, появляющимся в протоколе).
Период блокировки составляет 7 дней после внесения ликвидности. Это означает, что вы можете обеспечить ликвидность для 7 дней и более. Не меньше.
Когда пользователь отзывает ликвидность, он немедленно теряет доступ к пулу (т. е. ко всем неразрешенным рынкам ставок).
Поставщик данных - это организация, имеющая необходимый доступ в пуле для создания и отмены событий, создания, разрешения или отмены Условий и обновления коэффициентов. Поставщики данных - это субъекты, обеспечивающие наличие Условий, на которые можно делать ставки, и вероятность этих условий такова, что пул со временем приносит прибыль от ставок.
Во время создания Условий поставщик данных устанавливает:
- Общее виртуальное подкрепление для каждого условия и соответствующие исходы
- Маржу для каждого условия/исхода, таким образом устанавливая коэффициенты.
Поставщик данных получает часть прибыли, причитающейся Пулу. Это может быть как владелец пула, так и любой другой адрес для дополнительной безопасности.
В инфраструктуре контрактов поставщик данных представлен в виде адреса, на который LP перечисляет часть прибыли после выполнения каждого условия.
"Rewards":
Термин "вознаграждение" в протоколе Azuro означает процент от прибыли пула, который распределяется между теми, кто вносит вклад в его работу.
В настоящее время в Пуле существует 4 типа вкладчиков, каждый из которых имеет соответствующее вознаграждение: Партнерское вознаграждение, вознаграждение LP, вознаграждение Data Provider, вознаграждение Azuro DAO.
Для LP и Data Providers после выполнения каждого условия прибыль или убыток пула умножается на ставку вознаграждения (25% и 10% соответственно) и добавляется к балансу вознаграждения контрибьютора. Для партнёров вознаграждение составляет 2% от объема ставок, связанных с их адресом, за календарный месяц (максимум 70% от прибыли пула). Оно распределяется один раз в месяц.
- Фронтенды (партнёры( получают 2% от объема ставок (максимум 70% от прибыли пула)
- Провайдеры ликвидности - 25% от прибыли пула
- Поставщики данных - 10% от прибыли пула
- Azuro DAO - переменная (*)
Вознаграждение партнеров (в % от прибыли пулов) может меняться. Эта изменчивость возможна благодаря вознаграждению DAO, которое, таким образом, также является переменным. То есть в зависимости от того, сколько остается после распределения вознаграждения между LPs, Data Providers и Affiliates, - остаток получает Azuro DAO. В случае, если вознаграждение партнёров, LP и поставщиков данных превышает прибыль пула за месяц - "недостающее" вознаграждение предоставляется партнёрам из козначейства ДАО.
Механизм ставок - это общий термин для контрактов, которые включают в себя логику создания условий, приема ставок, расчета выплат по ставкам и начисления вознаграждений партнерам.
Эти контракты подключаются к Пулу его владельцем через Фабрику, и доступ к размещению ставок и снятию выплат предоставляется только через контракт LP, для которого он был развернут.
Механизм ставок может наследовать контракт CoreBase, который содержит фундаментальную логику для облегчения процесса ставок в условиях с несколькими исходами. В настоящее время проект Azuro включает в себя два движка для ставок: PrematchCore для ставок в прематче, который основан на контракте CoreBase, и BetExpress для комбинированных ставок.
"Conditions":
В дизайне протокола Azuro каждый рынок, представленный в пуле, называется условием.
Условия управляются поставщиками данных и содержат информацию об игре, с которой они связаны, усилении, марже и ставках, средствах, коэффициентах и потенциальных выплатах для каждого исхода.
Далее пример, но я его показывать не буду - при желании ознакомитесь на странице.
Пул - это система смарт-контрактов, которая образует единую платформу для ставок. Любой желающий может развернуть в сети свой собственный пул, используя контракт Factory.
Каждый пул включает в себя контракт LP, который служит основной точкой входа в логику пула и отвечает за управление ликвидностью пула, и контракт Access, который позволяет владельцу пула легко контролировать функции контрактов пула.
Владелец пула может подключить неограниченное количество движков ставок, которые охватывают логику создания условий, приема ставок, расчета выплат по ставкам и вознаграждения партнеров.
"Odds":
Коэффициенты - это показатель того, сколько участник рынка (т. е. беттор) может выиграть по сравнению с тем, сколько он поставил.
Коэффициенты представляют собой вероятность того, что определенный исход в Условии действительно произойдет. Коэффициенты для каждого исхода условия определяются как отношение общего объема средств условия к объему средств данного конкретного исхода.
Чем выше коэффициент, тем меньше шансов на то, что исход произойдет, и тем выше потенциальная выплата для игрока, сделавшего ставку на этот исход. Коэффициенты ставок используются пулом для управления рисками и установления размеров выплат по различным ставкам.
Расчет коэффициентов основан на виртуальных средствах условия и его марже. После создания условия начальное подкрепление пропорционально распределяется между виртуальными фондами исходов на основе их начальных коэффициентов, предоставленных поставщиком данных. Когда беттор делает ставку, виртуальный фонд исхода, на который он ставит, увеличивается на сумму ставки, а чистый коэффициент рассчитывается по определённой формуле.
Её и другие формулы можете посмотреть на странице (мне они недоступны).
Усиление - это начальная сумма ликвидности, которая распределяется между исходами условия в соответствии с коэффициентами ставок. Она задается в момент создания условия и не может быть изменена в дальнейшем.
Оно используется для обеспечения потенциальных выплат по ставкам, когда средств, полученных от других ставок на Условие, недостаточно. Таким образом, значение усиления также представляет собой максимальный потенциальный убыток, который пул может понести из-за условия.
Дерево сегментов - это структура данных, которая позволяет эффективно находить и изменять данные в диапазоне элементов. Каждый депозит представлен в виде отдельного элемента "листа" в дереве сегментов. Листья - это наиболее удаленные элементы в дереве сегментов.
Два листа (левый и правый) объединяются в один родительский узел. Два узла (левый и правый) объединяются в родительский узел и так далее до единственного корня всего дерева сегментов. Корневой узел дерева сегментов представляет собой наиболее актуальное значение суммы его дочерних элементов (листьев). Корень не имеет родителей, а листья не имеют детей.
Дерево ликвидности - это структура данных, используемая для отслеживания предоставленной ликвидности на основе дерева сегментов. В задаче учета ликвидности корневой узел содержит самое актуальное значение ликвидности.
Технические подробности на странице.
"Dictionaries":
Каждая игра может иметь множество рынков и исходов, связанных с этими рынками, например, футбольное событие может иметь набор из:
Блокчейн не хранит текстовую информацию об исходах. У каждого исхода есть идентификатор outcomeId, который используется для получения информации из словарей протокола. "Словари" - это набор файлов с текстовыми описаниями конкретных исходов. Пример есть в соответствующем репозитории.
Дальнейшее углубление на странице. Главное - суть поняли.
Виртуальные фонды - это механизм вычисления вероятности исходов для условия.
В смарт-контрактах на базе CoreBase вероятность каждого исхода в Условии хранится в виде виртуальных фондов исходов. Чем больше значение виртуального фонда исхода по отношению к виртуальным фондам других исходов, тем выше воспринимаемая вероятность этого исхода и, следовательно, тем ниже шансы на этот конкретный исход.
Остальные данные и формулы на странице.
На странице представлены формулы начисления баллов. Поскольку это не является основной частью протокола, описывать далее не буду и страницу, и раздел.
Azuro DAO - это децентрализованная автономная организация, управляющая протоколом Azuro. В инфраструктуре контрактов Azuro DAO является владельцем контракта Factory, на который LP начисляет часть прибыли после выполнения каждого условия. Azuro DAO также отвечает за предоставление корректных результатов Условий через SafeOracle, если поставщик данных не предоставил результат или если он был признан спорщиком неверным.
В настоящее время Azuro DAO находится в фазе 1, где участники являются ранними вкладчиками проекта. По мере развития Azuro процедура голосования будет меняться.
Следующая версия DAO вступит в силу после запуска токена $AZUR и будет предназначена только для держателей токенов Azuro.
Последующие две страницы пропущу как неосновные.
Contracts, Subgraph и SDK предназначены для разработчиков, поэтому покажу лишь их основные страницы.
Основную инфраструктуру протокола составляют следующие смарт-контракты:
- Factory. Содержит функции для развертывания пулов и связанных с ними движков для ставок. Принадлежит Azuro DAO.
- LP. Служит основной точкой входа для логики пула. Этот контракт содержит всю основную логику пула и ликвидность для предоставления ставок. Принадлежит его создателю.
- Access. Позволяет владельцу пула контролировать доступ к функциям контракта пула. Принадлежит владельцу пула.
- Betting Engines. Включают в себя логику создания условий, приема ставок, вычисления выплат по ставкам и расчета вознаграждений. Эти контракты могут быть подключены к Пулу его владельцем в неограниченном количестве. Принадлежат владельцу Пула.
Дополнительные инструменты, не влияющие на логику работы Пула:
- Freebet. Инструмент, позволяющий предоставлять фрибеты любому пользователю.
- SafeOracle. Система разрешения споров Azuro по результатам условий.
"Subgraph":
Azuro использует несколько субграфов для индексации и организации данных, полученных от смарт-контрактов Azuro. Эти субграфы размещаются на сервисе The Graph и могут использоваться для запросов к данным Azuro.
Репозиторий вам показывал, а на странице размещён далее список некоторых URL для субграфов. Если нужно, заходите и смотрите.
"SDK":
SDK предоставляет обширную коллекцию полезных хуков и утилит React для создания собственного приложения для ставок, избавляя вас от необходимости беспокоиться об утомительных деталях настройки.
Далее типы, ссылка на NPM и пример.
В "Guides" тоже больше для разработчиков:
Поэтому пожалуй пропущу весь раздел.
"Releases":
Список версий по разным частям протокола.
Документация очень подробная, погружающая в протокол. Оценка 5 из 5.
Можно было бы сказать, что не хватает инструкций для пользователей, но этим протокол не должен заниматься: этим должны заниматься интерфейсы...
Перед практикой: экосистема
Достаточно много приложений, но все они либо ограничены ставками на спорт, либо казино в целом. Поэтому я рассмотрю только первое - bookmaker.XYZ.
Практика
Сайт https://azuro.org/
О проекте. Первая кнопка "TRY IT NOW" открывает экосистему, вторая и третья "START NOW" - форму подачи заявки. А вот четвёртая открывает страницу для провайдеров ликвидности.
Liquidity
В списке видим пулы. Первый содержит больше 5,7 МЛН $ с APR 18.60%, что круто.
Второй в Linia даже меньше и ликвидность, и APR...
Нажимаю "Add liquidity" у первого:
Вводим сумму, отмечаем две галочки согласия и жмём "APPROVE", подтверждаем в кошельке и видим кнопку "CONFIRM":
Жмём по ней и подтверждаем в кошельке. Всё:
Данные по пулу, в который вложился, с недоступной пока кнопкой вывода.
Нажимаем по кнопке меню, выбираем nft, указываем процент от суммы и жмём "CONFIRM" с подтверждением в кошельке.
У меня 7 дней будет недоступен он ещё...
bookmaker.xyz
Дисклеймер: я никого не призываю заниматься ставками на спорт. Это лишь обзор протокола и интерфейса.
"SIGN" и подписываем (проверяйте, что там текст, а не 0x... строка).
Вы можете подключить бота по ссылке "Connect".
Фильтрация событий и начало ставки
В верхнем меню вы можете выбрать фильтр, например, по спортивным играм:
Выбираю "Dota 2 - ESL One Kuala Lumpur" первую "Tundra - BB Team":
Выбираю команду и заполняю сумму:
"APPROVE AMOUNT" и утверждаем:
"PLACE BET" и подтверждаем в кошельке:
Теперь можем в "My Bets" найти:
В случае выигрыша сможете забрать награду.
Всё видно в информации. Итоговая сумма +1.11 USDT.
"REDEEM" и подтверждаем в кошельке. Всё:
Пишет "Redeemed" - я забрал токены из смартконтракта.
В эксплорере видим этот перевод:
Так и работает Azuro protocol.
Остальная часть сайта нам не особо интересна, т. к. не относится к протоколу ставок.
Итог по практике
оценка 4 из 5. Весь функционал реализован хорошо, но не хватает ставок на другие события... Всё же не одним спортом всё ограничивается...
Общий итог
Оценка 27 из 30. Можно сказать, что проект хороший.
Всё
Благодарю за внимание. С вами был незрячий программист и автор обзоров. Подписывайтесь на https://t.me/blind_dev - будете получать новые обзоры от меня и новости по разработкам.