Автор: Babywhale, Foresight News
Серия технических решений, представленных командой разработчиков Cosmos, всегда пользовалась популярностью у команды разработчиков Web3. Будь то Cosmos SDK или IBC, многие из этих решений помогли разработчикам решить проблему изобретения велосипеда.
Хотя Cosmos представила множество продуктов в Web3, ее основной токен ATOM не получил выгоды от расширения экосистемы Cosmos. Но на прошлогодней конференции Cosmoverse выпуск официального документа Cosmos 2.0 принес ATOM дополнительную ценность, включая обеспечение безопасности «цепочки потребления» для сбора комиссий и получения доходов MEV. Проще говоря, если Cosmos 2.0 будет полностью реализован, ATOM также выиграет от постоянного расширения экосистемы Cosmos, поэтому оставшаяся проблема сейчас заключается в том, чтобы как можно скорее реализовать разработку Cosmos 2.0 и дальнейшее расширение экосистемы Cosmos.
В прошлом месяце фонд Interchain Foundation, целью которого является развитие экосистемы Cosmos, публично опубликовал свой план развития стека Interchain до 2024 года. Дорожная карта направлена на достижение четырёх стратегических целей:
Повысить модульность путем обобщения программного обеспечения, чтобы его можно было легче адаптировать к конкретным вариантам использования;
Улучшение опыта разработчиков для упрощения разработки с использованием Interchain Stack;
Погасите технический долг, чтобы вы могли быстрее добиться прогресса;
Стимулируйте принятие продукта пользователями.
Многие из этих планов могут изменить ваше мнение о перспективах развития Cosmos и ATOM.
КометаБФТ
CometBFT — это механизм репликации конечного автомата Interchain, который гарантирует, что валидаторы сети достигают консенсуса при генерации блоков, тем самым обеспечивая безопасность и согласованность сети блокчейнов.
Фонд Interchain Foundation заявил, что его цель — развивать Interchain, расширяя охват и сферу применения CometBFT, способствуя созданию независимых интероперабельных приложений. Более того, кросс-чейн стек общественных благ, включая CometBFT, должен достичь нового уровня гибкости и модульности, чтобы учитывать растущую дифференциацию приложений в Interchain, предоставлять услуги институционального уровня и конкурировать различными способами.
В феврале 2023 года Interchain Foundation выпустила CometBFT v0.34, а в марте — v0.37, включающую первую часть ABCI++. В конце марта Interchain Foundation выпустила релиз-кандидат v0.38 — финальную часть ABCI++, которая будет интегрирована в Cosmos SDK и IBC-go перед финальным релизом.
Interchain Foundation планирует выпустить версию v0.39, которая готовится к выпуску до конца 2023 года. Среди ее обновлений — повышение эффективности (сокращение потребления полосы пропускания и хранилища), API Data Companion, который в конечном итоге будет включать индексаторы и подсистемы RPC, и т. д. Ожидается, что она будет выпущена в начале 2024 года, и эта версия также может называться v1.
Чтобы понять, что такое ABCI++, начнём с ABCI. ABCI — это интерфейс между приложениями и консенсусом, отвечающий в первую очередь за выполнение блоков, определяемых консенсусом. С ABCI приложения взаимодействуют с консенсусом только для принятия решений и имеют минимальный контроль над выбором транзакций из пула памяти. ABCI++ добавляет программируемость на каждом этапе консенсуса, позволяя приложениям переупорядочивать, изменять, отменять, откладывать или добавлять транзакции, а также сокращать время создания блоков за счёт оптимизации генерации блоков.
Sei использует ABCI++ для оптимизации производства блоков, интеллектуальной трансляции блоков и параллельного выполнения заказов, тем самым повышая эффективность обработки транзакций в цепочке.
Подводя итог, CometBFT предоставляет высоконастраиваемые возможности построения блоков для цепочек, основанные на этом механизме консенсуса. Различные цепочки могут адаптировать генерацию блоков, порядок транзакций и их выполнение к своим конкретным потребностям, что значительно расширяет возможности оптимизации на уровне цепочки. Более того, Interchain Foundation предложил весьма амбициозную концепцию: позволить приложениям использовать функциональность IBC напрямую через интерфейс ABCI, независимо от виртуальной машины, фреймворка или стека модулей, на которых они разработаны. Это позволит IBC стать стандартом кросс-чейн взаимодействия для приложений, разработанных на таких цепочках, как Cosmos SDK, OP Stack и Celestia.
Cosmos SDK
Cosmos SDK — название, знакомое большинству людей. Это набор инструментов для разработки блокчейнов и роллап-решений, который используется в качестве основного инструмента во многих новых блокчейнах, включая Fairblock, dYdX V4 и Berachain, а также в многочисленных цепочках приложений в экосистеме Cosmos.
В плане разработки Cosmos SDK компания Interchain Foundation заявила, что основное внимание в новом году будет уделяться модуляризации и внедрению новых функций.
Во-первых, что касается оставшегося технического долга, Cosmos продолжит завершать незавершённую работу по оптимизации на уровне ядра, включая хранилище и ABCI, а также на уровне модулей и стейкинга. В частности,
Хранилище: производительность, масштабируемость.
Ядро: Модульное (использует различные механизмы консенсуса: Rollkit, Dymint и т. д.); Переключаемое (легко переключать компоненты: хранилище, различные загрузчики модулей (Wasm, FFI, gRPC и локальные), клиенты и т. д.).
Модули: легко проверить на различных виртуальных машинах; сократить общее количество строк кода; модульность (позволяет разработчикам приложений изменять бизнес-логику); переписать традиционные модули (Auth, Bank, Staking, Distribution, Mint, Slash и т. д.)
Криптография: переписана обработка ключей с целью сделать ее более модульной, что позволяет другим использовать собственные HSM; введены новые криптографические примитивы.
Во-вторых, что касается модульности, Interchain Foundation считает, что термин «модульность» в блокчейн-пространстве используется слишком часто, и что основное внимание следует уделить уровню модульности программного обеспечения. Interchain Foundation заявил, что во второй половине этого года сделает Cosmos SDK более модульным на уровне ядра и продолжит эту работу до 2024 года. В частности, Interchain Foundation:
Модульность консенсуса: модульная (использование различных механизмов консенсуса: Rollkit, Dymint и т. д.); переключаемая (компоненты можно легко переключать: хранилище, различные загрузчики модулей (Wasm, FFI, gRPC и локальные), клиенты и т. д.).
Хранение: позволяет переключать исходную структуру; позволяет использовать различные структуры между модулями; распараллеливание чтения и записи.
Возможность компоновки модулей: позволяет пользователям создавать ответвления или вставлять собственную логику (в зависимости от отзывов пользователей).
По третьему аспекту обслуживания особо ничего интересного нет. Что касается четвёртого плана, Interchain Foundation планирует запустить следующие обновления:
Кросс-языковая поддержка: загрузчики модулей (WASM, FFI, GRPC); возможна более тесная интеграция с CosmWasm.
Обновления: Отделите бизнес-логику модулей и VMS от обновлений ядра/узла; включите бесперебойные обновления (развертывание обновлений до достижения целевой высоты блока); включите синхронизацию из исходного состояния.
Исследования: схемы ZK для проверки модулей; доказательства мошенничества и действительности.
CosmJS
CosmJS — это библиотека, которая помогает разработчикам интегрировать клиенты на основе JavaScript с блокчейном Cosmos SDK.
Фонд Interchain планирует добавить новые кодировщики в библиотеку CosmJS, чтобы повысить её эффективность, уменьшить объём кода и предоставить пользователям более удобный и профессиональный интерфейс для разработки. Эти обновления направлены на добавление собственных визуализаций, оптимизацию размеров пакетов, автоматизацию процесса кодирования, обеспечение адаптивности к различным сетям и создание более компактного и расширяемого клиента.
Кроме того, ключевым аспектом этой работы было использование возможностей генерации кода Telescope для замены и автоматизации определенных целей, таких как создание более компактной библиотеки, удаление жестко запрограммированных вспомогательных методов и предоставление разработчикам возможности настраивать свои клиенты с помощью модулей и вспомогательных методов по своему выбору.
План обновления CosmJS в основном касается низкоуровневых технических аспектов, поэтому читатели могут ознакомиться с подробностями в оригинальной статье. Вкратце, он включает в себя кодирование сообщений «Proto Visual», синхронное обновление CosmJS с Cosmos SDK, более оптимизированные пакеты и оптимизацию кода, обновлённый кодировщик Amino и добавление модулей, поддержку нескольких сетевых адаптеров с разными ключами и сигнатурами, а также более компактный и расширяемый клиент Telescope и Helpers.
CosmWasm
CosmWasm — это фреймворк смарт-контрактов, созданный для Cosmos SDK. Он позволяет пользователям развертывать децентрализованные приложения без необходимости получения разрешений. Он также позволяет разработчикам блокчейнов разделить цикл разработки продукта и разработку блокчейна, сокращая количество обновлений валидаторов и, таким образом, снижая стоимость операций с блокчейном.
Фонд Interchain Foundation заявил, что Cosmos решил проблемы масштабируемости и снизил комиссию за транзакции до долей цента благодаря своей модели цепочки приложений на базе CometBFT, Cosmos SDK и практически нативной скорости выполнения контрактов Wasm. Однако это также привело к значительному увеличению доступного пространства блоков на уровне 1 (L1). Поэтому необходима оптимизация CosmWasm для упрощения разработки новых приложений и повышения эффективности использования блоков, с упором на внедрение IBC и аналитику учётных записей.
Interchain Foundation заявляет, что CosmWasm 2.0 будет выпущен и развернут в большинстве сетей к началу 2024 года. Это заложит основу для выпуска версий 2.1, 2.2 и 2.3 в течение 2024 года, которые будут включать:
Верификация с доказательством с нулевым разглашением. Верификация доказательств с нулевым разглашением в контрактах позволяет реализовать безопасные офчейн-вычисления и различные приложения, обеспечивающие конфиденциальность. Благодаря добавлению в интерфейс приложения эллиптической криптографии с поддержкой парного шифрования, CosmWasm готов к обслуживанию следующих приложений:
Определить интерфейс приложения и найти подходящую реализацию;
Предоставить полнофункциональный пример приложения, демонстрирующий, как использовать API в контракте;
Установите базовый уровень и стоимость газа.
Дальнейшее развитие функциональности IBC. Появились расширенные сценарии использования, которые невозможно реализовать с помощью IBC, и именно эти сценарии будут в центре внимания обновлений IBC:
Полная поддержка ADR-8, позволяющая контрактам реагировать на тайм-ауты и подтверждения отправленных пакетов;
Поддержка комиссий IBC, позволяющая контрактам самостоятельно оплачивать свои пакеты данных;
Созданы дополнительные отложенные ACK, позволяющие реализовать промежуточное программное обеспечение Packet Forward и длинный опрос ICQ в контрактах.
Другие обновления более низкого уровня или меньшей важности включают поддержание текущего программного стека, повышение эффективности доступа к хранилищу, улучшение authz, создание приложений IBC, проведение хакатона AwesomWasm II весной 2025 года, документацию CosmWasm для разработчиков DApp и запуск тестовой сети CosmWasm для упрощения тестирования разработчиками.
Протокол IBC
Протокол Interblockchain Communication (IBC) — это решение для обеспечения взаимодействия блокчейнов, которое обеспечивает безопасную передачу произвольных данных между блокчейнами без необходимости разрешения, обеспечивая бесперебойную отправку и получение данных между блокчейнами, приложениями и смарт-контрактами. С января 2022 года по февраль 2023 года ibc-go обеспечил 52 миллиона транзакций на общую сумму 29 миллиардов долларов США. В настоящее время к сети IBC подключено более 100 блокчейнов.
Экосистема IBC весьма богата. Помимо приложений, разработанных командами, финансируемыми ICF, существуют и другие протоколы, включая Osmosis для кросс-чейн транзакций; Stride и Neutron для широкого использования промежуточного программного обеспечения, ICA и запросов; DAO DAO для создания Polytone; Evmos для создания прекомпилятора IBC для передачи данных через EVM; и Injective для создания модуля Oracle Dataflow.
Interchain Foundation заявила, что в 2024 году IBC будет обновлена по двум темам: масштабируемость и удобство использования.
Масштабируемость
В настоящее время IBC сталкивается с многочисленными проблемами. На сегодняшний день только цепочки Cosmos SDK и CometBFT, использующие ibc-go, могут использовать протокол IBC. Более того, установление первого соединения с цепочкой, отличной от Cosmos, заняло почти два года. Если каждая интеграция будет занимать столько времени, реализация концепции IBC будет просто невозможна.
Кроме того, накладные расходы на обслуживание, связанные с внедрением нативных IBC и ретрансляторов, весьма существенны. Помимо расходов на обслуживание транспорта IBC и внедрение приложений, каждая новая подключаемая блокчейн-инфраструктура генерирует соответствующий ретранслятор, что влечет за собой расходы на обслуживание и разработку. Ретрансляторы в настоящее время не имеют устойчивого денежного потока и должны оплачивать газ и инфраструктурные расходы за предоставляемые ими услуги, в том числе через офчейн-протоколы для покрытия расходов на инфраструктуру, получение разрешений на создание фонда или использование модуля грантов Cosmos SDK.
Исходя из этого, конкретные обновления, необходимые с точки зрения масштабируемости, включают:
Минимизировать время разработки, необходимое для интеграции IBC;
Сокращение затрат на обслуживание интеграции IBC;
Создайте структуру соединений IBC для Layer1 и Rollup.
Доступность
ICS-20 (передача токенов) был первым прикладным модулем, представленным IBC-go в марте 2021 года, и с тех пор остаётся наиболее широко используемым. По мере усложнения приложений простой отправки токенов оказалось недостаточно для удовлетворения требований к совместимости. Поэтому в пакет ICS-20 было добавлено поле memo, позволяющее отправлять дополнительные данные вместе с токенами. В сочетании с промежуточным программным обеспечением это позволяет реализовать более сложные рабочие процессы, такие как кросс-чейн транзакции и стейкинг ликвидности в один клик. Однако шаблоны проектирования промежуточного программного обеспечения, указанные в ICS-30, часто используются вместе с полем memo, что вызывает широко распространённые опасения по поводу коллизий ключей. Более того, наложение нескольких промежуточных программных обеспечений создаёт проблемы с корректным форматированием поля memo, и промежуточное программное обеспечение должно выполняться в правильном порядке для рабочего процесса.
Номинал IBC представляет собой ещё одну сложность для разработчиков, поскольку пользовательские интерфейсы должны отображать номинал в удобном для восприятия формате, что требует ведения реестра в каждом проекте. Поскольку путь, пройденный токеном, определяет его конечный номинал IBC, токены, достигающие пункта назначения через разные цепочки или каналы, не являются взаимозаменяемыми. Некоторые существующие приложения решают эту проблему с помощью промежуточного программного обеспечения для пересылки пакетов, но эти решения основаны на конфигурации вне цепочки для определения идентификатора канала от источника токена до его пункта назначения. Долгосрочное решение должно использовать реестр внутри цепочки.
ICS-27, или Interchain Accounts (ICA), запущенный в марте 2022 года, в настоящее время поддерживает функциональность контроллера только в восьми цепочках. Первоначальный проект требовал создания собственного промежуточного программного обеспечения аутентификации для использования этой функции, что создавало прямое препятствие для более широкого внедрения. Рефакторинг в ibc-go v6 устранил это требование, но ICA по-прежнему страдает от множества проблем, которые пытаются решить альтернативные решения, такие как ics-999 и polytone: отсутствие кросс-канального упорядочивания, атомарность в многоканальных рабочих процессах и обработка ошибок, необходимая для атомарности.
В целом, разработчикам приложений и цепочек сложно освоить и полностью понять все компоненты IBC. Это отражается в проектных решениях, касающихся доверенных отправителей пакетов, что может привести к атакам при запросе эйрдропов или доверии промежуточному программному обеспечению через IBC. Более того, обновление до последней версии ibc-go часто не является приоритетом, поскольку примерно в 60% цепочек используются неподдерживаемые версии.
Учитывая множество существующих проблем, упомянутых выше, удобство использования IBC необходимо улучшить в следующих областях:
Улучшить процесс разработки для пользователей IBC — простота развертывания приложений в одной цепочке должна быть аналогична простоте развертывания приложений в нескольких цепочках;
Помимо ICS-20 (переводы токенов) на IBC можно использовать многофункциональные приложения;
Приложения, разработанные с использованием IBC, должны существенно отличаться от приложений, разработанных с использованием других протоколов.
Поддержка Strangelove для стека Interchain
Помимо Interchain Foundation, компания Strangelove, занимающаяся разработкой криптовалют и сыгравшая ключевую роль в продвижении и внедрении IBC, также предложила план поддержки стека Interchain. План внедрения и маркетинга IBC заслуживает особого внимания и включает в себя:
Подсеть Avalanche поддерживает IBC;
8 цепочек, включая цепочки, не относящиеся к Cosmos SDK, поддерживают легкие клиенты WASM;
8 сетей начали применять межконтрактные соглашения;
Другой парачейн Polkadot, помимо Composable, напрямую подключен к IBC;
Добавлена поддержка IBC в NEAR;
кросс-чейн IBC между Ethereum и Cosmos через cometBLS/ZK;
8 блокчейнов поддерживают IBC-App и промежуточное программное обеспечение;
4 цепочки поддерживают кросс-цепочку NFT формата ICS-721 через IBC.
