Представляем обновление сети Amarok!

The Other Crowd
6 min readApr 12, 2022

--

Выводим Connext на новый уровень

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

Сегодня мы с радостью анонсируем вам первое обновление сети Connext.

Обновление, которое мы назвали Amarok, включает в себя обширные изменения в нашем основном протоколе, чтобы значительно улучшить опыт пользователя сети.

Amarok: скоро

Почему “Amarok”? Мы решили назвать наши сетевые обновления в алфавитном порядке в честь мифологических существ. Amarok — это гигантский волк из эскимосской мифологии. 🐺

Мотивация

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

Проблемы пользователей

  1. Затраты на газ: Для совершения межсетевых операций нынешний процесс опирается на две фазы — подготовки + заполнения. Из-за этого процесс не может быть легко масштабирован.
  2. Подпись для получения средств: завершение транзакции требует от пользователей подписи при помощи кошелька для получения средств. Это позволяет минимизировать требуемое доверие в сторону Connext, но в то же время это является болью, ибо пользователю нужно оставаться онлайн до момента подписи.
  3. Риск блокировки средств: транзакции пользователей имеют отношения тет-а-тет с роутером. Если роутер уходит в офлайн или теряет своё соединение с сетью в процессе транзакции пользователя, средства могут застрять, пока транзакция не отменится системой (72 часа).
  4. Скорость: т.к. пользователи связаны с конкретным роутером для их транзакции, любые задержки, которые испытывает роутер, также влияют на опыт пользователя.
  5. Фрагментация ликвидности: ликвидность, предоставляемая роутерами, зависит от пути: это означает, что она доступна между конкретными парами конкретных сетей. С ростом количества сетей для пользователей становится всё сложнее совершать транзакции с крупными суммами.

Проблемы разработчиков

  1. Зависимость от оффчейн аукционов: большинство подобных решений на текущий момент — это чисто смарт-контракты. Connext требует sdk со стороны клиента для нахождения роутера для конкретной транзакции.
  2. Подпись для получения средств: требование подписи вынуждает разработчиков следить за транзакциями и подписывать получение средств в нужное время. Это добавляет много головной боли и сложности по сравнению с простой он-чейн транзакцией.
  3. Отсутствие обобщенного обмена сообщениями: Connext уже поддерживает вызов контрактов между сетями, но это можно сделать безопасно только в некоторых случаях. Требовать у разработчиков, чтобы они изучали, когда они могут и не могут использовать эту функцию, является большим препятствием.

Проблемы роутеров

  1. Ребалансировка: роутеры отправляют средства в сеть получения и получают средства в сети отправления. Это означает, что их ликвидность движется между сетями, и может застрять в одной из них, что приводит к снижению эффективности капитала.
  2. Непонятный ROI: очень сложно посчитать ROI (окупаемость инвестиций) роутера из-за двухфазового процесса и необходимости собирать фрагментированные данные из разных сетей.
  3. Строгость аптайма: как было описано ранее, если роутер уходит в офлайн во время транзакции, средства пользователя могут застрять на 72 часа. Эта строгая необходимость всегда быть онлайн увеличивает сложность работы роутера.
  4. Газовое горе: Транзакции могут быть отменены как пользователями так и роутерами. Однако, когда это происходит, нет четкого механизма возмещения первоначальных затрат на газ.

Как мы изначально рассчитывали решить эти проблемы?

Ранее мы думали, что их можно исправить с помощью комбинации двух факторов:

  • Награды — например, использование ценообразования vAMM для стимулирования ребалансировки и сокращений для обеспечения оперативности.
  • Интеграции с кошельками — перенос кода Connext SDK в кошельки позволил бы нам абстрагироваться от процесса “подписи для получения средств” для разработчиков и пользователей.

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

Добро пожаловать в Amarok

Модульная совместимость

Прорыв в нашем мышлении произошел благодаря тесному сотрудничеству с Nomad. Nomad — это оптимистичный мост, который дает нам полную, со сведенным к минимуму доверием, коммуникацию в любой сети, но с компромиссом в виде 30 минут задержки.

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

модульное построение стека протоколов

Новый процесс

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

Поскольку ни один роутер не указывается явно заранее, существует риск, что роутеры могут соревноваться друг с другом в пуле памяти для завершения данной транзакции. Это неоптимальный результат, поскольку проигрыш в такой гонке все равно обходится роутерам дорого. Чтобы исправить это, мы вводим Секвенсор (похожий по концепции на секвенсор роллапов), который отвечает за сбор заявок (попыток транзакций) от маршрутизаторов и публикует их в сеть партиями.

Обратите внимание, что роль секвенсора в Connext никак не влияет на основную безопасность системы или средств в ней. Это просто механизм, предназначенный для справедливого распределения комиссионного дохода/работы между роутерами, что может быть сделано без доверия, если есть (а) доступность данных обо всех заявках роутеров для данной пользовательской транзакции, и (б) детерминированный процесс выбора победившей заявки. В настоящее время мы изучаем подходы к этому, включая потенциальную возможность того, чтобы секвенсор публиковал данные в свой собственный роллап ИЛИ чтобы роутеры и секвенсор достигли консенсуса Tendermint.

Узнайте больше о новом процессе в нашем основном посте на Github!

Изменения для заинтересованных сторон

Обновление Amarok обеспечивает гораздо лучший процесс и набор функций, которые решают проблемы заинтересованных сторон, которые мы обозначили ранее:

  1. Процесс Запусти-и-Забудь: Вместо двухфазного потока с подписями, все транзакции теперь происходят в одной транзакции в сети отправления, что упрощает опыт как пользователя, так и разработчика. Нам также больше не нужны отмены, что устраняет затраты на “газовую боль” для маршрутизаторов.
  2. Маршрутизация-1-из-N: Любой роутер может завершить транзакцию пользователя, устраняя возможность блокировки средств пользователя и значительно снижая требования к аптайму маршрутизаторов. Это также полностью устраняет необходимость в коде аукциона офчейн для разработчиков.
  3. Более простая ликвидность: Роутеры получают ликвидность в сети назначения транзакции, именно там, где они ее предоставляют. Ликвидность также больше не зависит от пути. Это устраняет головную боль, связанную с ребалансировкой и фрагментацией, значительно повышая эффективность и доступность капитала.
  4. Более дешевые и быстрые транзакции: Новый процесс сокращает количество вызово в сети с 4 до 2, что делает транзакции не только намного дешевле, но и быстрее.
  5. Передача произвольных сообщений: Возможно, самым интересным улучшением Amarok является возможность для разработчиков создавать межсетевые dapps с возможностью полного выражения. Это открывает такие мощные возможности, как асинхронная разработка в стиле JS, включая поддержку обратных вызовов в Solidity. 🤯 Подробнее об этом в ближайшее время!

Что следует далее?

Временная шкала

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

В ближайшие недели мы планируем выпустить:

  • Разбор процесса интеграции, режимов отказа и доверительных предположений Connext после обновления.
  • Полностью работающую публичную тестовую сеть, на которой сможет работать любой желающий.
  • Инструкции как стать роутером и участвовать в тестовой сети.
  • Инструментарий/библиотеки Solidity для обратных вызовов xchain.
  • Хранилище примеров кроссчейновых dapps (xapps).

Аудиты для обновления запланированы на май, а в июне будет проведено обновление основной сети.

Создавай с Connext

До сих пор наша команда была сосредоточена на децентрализации сети и автоматизации процесса управления роутером. С обновлением Amarok мы откроем ворота для разработчиков, которые смогут создать совершенно новый мир xapps.

Что вы можете создать? Вот несколько простых примеров использования, которые мы обсуждали с нашими партнерами по пилотному проекту:

  • Соединение ликвидности DEX в разных сетях при помощи единой транзакции.
  • Кроссчейновые хранилища и управление их стратегиями.
  • Критические операции протокола, такие как репликация/синхронизация глобальных констант (например PCV) между сетями.
  • Внедрение UniV3 TWAP-ов в каждую сеть без использования ораклов.
  • Независимый от сети гавернанс veToken.
  • Совместимость разных метавселенных.

Есть идея крутого кроссчейн приложения (xapp) ? Напиши нам в discord или подайся на грант!

О Connext

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

Сайт | Документация | Twitter | Discord | Github | Блог | Telegram [RU]

--

--