Gearbox UX: Познакомьтесь с Gearbots🤖

nikitakle
Gearbox Protocol ⚙️🧰
10 min readFeb 10, 2023

Gearbox V2 стал знаковым достижением для DAO. Компануемое кредитное плечо в его истинном смысле наконец-то воплотился в жизнь благодаря масштабному обновлению продукта. Хотя продукт является основой любого проекта, в течение нескольких месяцев мы наблюдали, как другой аспект dApp набирает обороты. Из всех открытых счетов 67% использовали новую UX-функцию под названием “Готовые стратегии”, которая помогает развернуть предпочитаемую стратегию в один клик. И это то, что мы хотели развить в Gearbox V2.1 — пользовательский опыт.

Узнайте больше о прогрессе V2 в ежемесячном новостном обновлении ниже

Процесс создания Gearbots

Исходя из этого, на прошлой неделе мы представили Gearbots на нашем стриме с Mellow Protocol, Brahma Finance, Wonderland и Gelato Network. На стриме обсуждалась необходимость автоматизации в DeFi, ее влияние на UX, способы разработки Gearbots и возможные приложения, которые мы можем разработать для ботов. Вы можете (и должны) посмотреть стрим по ссылке ниже, несколько настоящих гигамозгов объединились вместе для мозгового штурма следующего этапа Gearbox.

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

Кто такие Gearbots🤖 и зачем они нужны?

Эту часть можно посмотреть здесь.

В V2 компания Gearbox улучшила опыт пользователей, которые должны подключаться к другому протоколу DeFi через Gearbox, а затем переходить к своему dApp для развертывания позиции. Это было сделано с помощью готовых стратегий. Мы сделали их еще быстрее, обеспечив выполнение в один клик через multicall. Но мы все еще заметили проблему…

Пользователю кредитного счета по-прежнему приходится несколько раз открывать ноутбук и входить в наш dApp, чтобы вручную отслеживать состояние своего фактора здоровья и позиции. Кроме того, опция добавления обеспечения была использована 1,74 раза на каждый открытый Кредитный Аккаунт. Это говорит о том, как много ручного вмешательства требуется для управления Кредитным Аккаунтом в настоящее время, поскольку автоматизация на данный момент невозможна.

Существуют сторонние методы и возможность создания собственного смарт-контракта, которые помогут вам автоматизировать эту работу, но ни один из них не является удобным для пользователя или полностью безопасным.

Протоколы Brahma и Mellow предложили альтернативу, создав хранилища поверх Gearbox, и сделали чудеса для мелких вкладчиков, ищущих рычаги для ведения фарминга. Но пользователи теряют гибкость в управлении CA с предпочтительным риск-менеджментом. Счета с высокой стоимостью в дальнейшем не имеют решения в этом отношении.

И вот почему нужны Gearbots🤖.

Gearbots — это автоматизированные контракты с открытым исходным кодом, которые решают конкретные проблемы, такие как управление HF, создание стоп-лоссов, переключение стратегий и многое другое. Объедините их с Кредитными Аккаунтами Gearbox, и многое станет возможным…

Brahma это описывает так:

“Как отрасль, мы все больше движемся в сторону автоматизации и упрощения работы протоколов для пользователей, поэтому наличие Gearbots на вашем Кредитном Аккаунте— это, безусловно, гораздо более простой и безопасный способ для пользователей получить доступ к автоматизации без дополнительного риска смарт-контрактов”.

Так что же могут делать роботы Gearbots?

Gearbots будут иметь определенные типы доступа, в которых они могут быть закодированы. У создателя будет выбор: ограничить использование созданного им бота определенным конкретным кругом пользователей. Или же они могут разрешить свободный доступ для всех. Хотя мы еще только начинаем работать с ботами, есть несколько сильных и четких примеров использования этих методов, где боты могут принести значительную пользу.

  1. Автоматизированное управление портфелем

Основной особенностью ботов является возможность автоматического управления портфелем. Это позволит вам выбрать ботов, которые будут управлять вашей стратегией, и позволить ботам позаботиться об исполнении. Это будет огромным скачком к тому, чтобы сделать UX Gearbox ближе к UX CEX. А с некоторыми ботами, возможно, даже больше…

  1. Стоп-лоссы/Тейк-профит бот: Выберите точку цены выхода для вашей позиции, и как только оракул достигнет входного значения, ваша позиция будет автоматически закрыта.
  2. Бот для управления HF: Хотите, чтобы ваш HF всегда был выше определенного порога? Просто установите его, и бот будет автоматически вносить ваши средства на CA, чтобы избежать ликвидации.
  3. Бот для управления стратегиями: боты для управления стратегиями эффективно позволяют вам перемещать средства из одной стратегии в другую, исходя из ваших приоритетов. Хотите фармить только на уровне выше 15%? Включите его, и бот переместит вас в пул с 15%+ APY, если ваша стратегия опустится ниже этого уровня.

Это только первые примеры, и еще множество ботов могут и, вероятно, будут существовать. Но как пользователи могут их использовать? Все просто, для ботов без права доступа они будут использовать “модели доверия”. Каждый пользователь CA может определить значения модели доверия для своего бота и настроить ее. Возможна еще большая кастомизация, поскольку пользователь сам решает, каких ботов он хочет использовать, а каких нет. И это дает все возможности CEX ON CHAIN.

Цитата от Mellow:

“У нас есть инструмент, созданный для Health Factor, и мы можем создать другие. Но было бы лучше, если бы у Gearbox был один. Потому что если каждый будет создавать свои новые решения используя свои протоколы, это будет еще менее безопасно, если будет одно решение, которое все время улучшается, и каждый сможет его использовать. Поэтому я думаю, что это гораздо лучше с точки зрения безопасности.

Хотя это полностью справедливо для большинства частных лиц, есть учреждения, которые используют multisig для управления своими портфелями. Но на данный момент не существует простого способа сделать это, учитывая повторное подписание. Хотя мы ожидаем, что более важные решения и контроль все еще будут оставаться за владельцами multisig, более частые действия, такие как контроль уровня HF выше определенного порога или выход по определенной цене, могут быть закодированы, что значительно снижает хлопоты. А это еще большее улучшение UX для институционалов. Что касается ботов, они могут дать им специфические разрешения и гарантировать, что только уполномоченные лица могут устанавливать параметры.

2. Доверие, делегированное управление средствами on-chain

Говоря об институционалах, мы пережили год централизованных криптовалютных VC. Управление фондами само по себе имеет недостатки “доверяй нам”, и кредиторы оказались на милости фондов, которые тоже брали в долг.

Хотя есть настоящие управляющие фондами, которые создают стратегии, превосходящие по эффективности, очень мало тех, кто делает это on-chain и без доверия. С помощью Gearbots теперь можно создать фонд on-chain, которым легко управлять с помощью автоматизации, а вкладчикам не придется передавать хранение своих средств третьей стороне. Вам все равно придется доверять компетентности управляющего фондом, но вы можете быть уверены, что сами средства не находятся в их владении. Кроме того, выбор сделок и ферм, которые они совершают, относительно безопаснее благодаря нашему разрешенному списку. Риск управляется в соответствии с выбранной трастовой моделью, а подтверждение резервов может быть подтверждено on-chain в любое время.

Что касается кредиторов, то вам не нужно беспокоиться. Вам не будут лгать о кредитном плече и других факторах в игре. Используя Gearbots, вы можете давать деньги в долг, зная, какова модель доверия, и проверять все требования фонда on-chain.

Итак, как создать бота?

Эта часть статьи, вероятно, будет немного технической, но она полна альфы, если вы хотите узнать, как боты работают on-chain. Для создания неизменяемого контракта бота на Gearbox есть четыре важнейшие части.

1. Execute(): более важный аспект execute сосредоточен на доступности и на том, кто может получить доступ к созданному боту. Пользователь может эффективно сделать бота с ограниченным доступом или иметь бота доступного для всех.

Первый вариант — боты с правами доступа. Например, если вы являетесь институциональным игроком или если вы хотите создать собственное пользовательское решение и не добавлять его в магазин ботов, что может позволить другим получить к нему доступ. Вы можете создать модификатор в самом коде, чтобы сделать доступ к нему ограниченным для определенных участников. Это позволит вам контролировать доступность бота.

Другая сторона ботов — это боты без разрешений, и она больше связана с автоматизацией с помощью децентрализованных сервисов, таких как Wonderland или Gelato. В этом случае каждый может использовать этот метод. Но как гарантировать, что он будет работать эффективно?

2. storeState(): Это функция, которая фактически является хранилищем параметров бота. Перед запуском бота пользователь вводит в нее свои желаемые параметры, чтобы убедиться, что бот работает так, как он задумал. Эти точки данных, которые обеспечивают правильную работу, мы называем системой доверия.

Даже если пользователь допустит 100 потенциальных точек доступа к своим средствам, он может предпринять шаги для обеспечения безопасности этих средств с помощью заданных параметров. Используя функцию storeState(), они могут эффективно создать параметры для функционирования бота до того, как он начнет работать. Вы можете ввести свои SL, защиту HF и многое другое на ботах, созданных другими, и извлечь из этого максимальную выгоду.

3. botMulticall(): это фактически исполнитель контракта бота. Доступная в каталоге CreditFaçade, botMulticall имеет две важнейшие функции. Сначала он вызывает данные, чтобы узнать, какие значения будут иметь различные параметры. Если в результате проверки check() подтверждается, что значения находятся в пределах нормы, функция multicall начинает своп, чтобы убедиться, что стратегия выполнена.

4. check(): Функция check эффективно просматривает значения в системе доверия и вычисляет, соответствуют ли им значения исполнения сделки. Одним из таких примеров являются параметры проскальзывания. Если бот проверяет и обнаруживает, что входные параметры проскальзывания при переключении стратегии ниже фактических, это приведет к тому, что бот не будет выполнять транзакцию и обеспечит эффективное выполнение стратегии.
Чтобы понять это более глубоко, вам следует посмотреть следующую часть стрима

Чтобы понять это более подробно, вам следует посмотреть следующую часть стрима:

Из вышеприведенного объяснения стало ясно, что при выполнении вышеуказанного приоритеты состоят в следующем:

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

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

Пример кода: Боты лимитных ордеров

Пример кода был представлен в прямом эфире Дмитрием из Gearbox. Вы можете пропустить чтение этого раздела, посмотрев часть видео:

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

Функции здесь были разработаны таким образом, что хотя ордер может быть исполнен кем угодно, никто другой не сможет манипулировать или редактировать вводимую пользователем цену соответствия. В то же время, поскольку требуется несколько свопов с токенами различной ликвидности, мы также должны убедиться, что на уровне botmulticall невозможна атака, поскольку это может стать еще одним потенциальным вектором атаки. Но он все равно должен продолжать выполнять свою основную работу по эффективному обмену активами.

Как было сказано выше, мы начинаем с функции выполнения, которая здесь включает в себя “функцию проверки ордера”. Эта функция в основном проверяет, не истек ли срок действия ордера. Ордер срабатывает, если была установлена цена срабатывания, и в принципе ордер может быть исполнен.

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

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

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

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

Ресурсы для разработчиков: Упрощение разработки

Как видно из приведенного примера, разработка бота не занимает много времени, поскольку код является лаконичным. На создание вышеупомянутого бота ушло около двух недель. Из них 4 дня ушло на создание самого бота, а остальные — на тестирование бота на точность и исправление кода. Хотя создание бота может занять не слишком много времени, это все еще новая вещь, и она может быть сложной. Таким образом, мы намерены разработать определенные возможности, которые помогут разработчикам легко создавать ботов

  1. Шаблонный репозиторий ботов: Разработчики часто берут код и редактируют определенные параметры или добавляют что-то свое, чтобы изменить его по своему вкусу. Создав репозиторий шаблонов таких кодов, мы можем эффективно помочь разработчикам адаптировать их под свои нужды и выстроить стратегию. Это можно рассматривать как набор для проверки кода, который используется несколькими ботами, и таким образом можно создать инфра.
  2. Наборы для тестирования: Учитывая, что многие из этих ботов будут созданы для самой Gearbox, наличие набора тестов для ботов, создаваемых людьми, снижает риск.
    Система управления ролями: Для Gearbox не так уж много “ролей”, которые нужно создавать. Системы определены, поэтому правильное определение их сферы применения и их аудит помогут повысить уровень безопасности, а также легкость, с которой разработчики могут создавать ботов.
  3. Гранты и инициативы: В настоящее время в DAO открыты обсуждения, в ходе которых люди могут предлагать инициативы, которые, по их мнению, могут принести пользу. Если у вас есть идея, касающаяся Gearbots или Gearbox в целом, но вам нужна поддержка для ее реализации, смело предлагайте ее. Если за него проголосуют, DAO предоставит вам поддержку, необходимую для реализации вашего предложения. Подробности вы можете узнать ниже.

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

Также обсуждается SDK для Gearbox и многое другое, что может позволить сторонним разработчикам понять и внести свой вклад. Но пока это все, что касается ботов. Мы скоро вернемся с новыми обновлениями!

Если вы хотите присоединиться — просто зарегистрируйтесь в Discord. Обсуждайте и делитесь идеями. Вот как вы можете следить за развитием проекта:

Присоединяйтесь к нам в Дискорд

--

--