December 19, 2022

Расширение IBC за пределы экосистемы Cosmos

Привет. Мы продолжаем цикл статей и переводов про экосистему Cosmos. По своему формату не все может войти в CosmoBook, но часть статей, которые нам попадаются заслуживают внимания сообщества. Важно понимать где мы находимся и куда идем. Одним из конкурентных преимуществ экосистемы Cosmos называют IBC. Сегодня продолжаем цикл рассказов про IBC (первая статья тут) обзором от Datachain (оригинал тут). Перевод выполнен сообществом creeptah.

Возможно, не все из вас знают, что IBC (Inter-Blockchain Communication) не ограничивается только блокчейнами, созданными с помощью Cosmos SDK; IBC - это протокол взаимодействия, не зависящий от блокчейна, и его можно использовать с широким спектром блокчейнов по всему миру.

IBC предлагает уникальную и мощную платформу для взаимодействия с минимизацией доверия. Впечатляющий рост с момента его создания свидетельствует о его безопасности, совместимости и расширяемости.

Поскольку IBC изначально был разработан в Cosmos, большинство блокчейнов, которые в настоящее время связаны с IBC, являются приложениями Cosmos. Однако мы вот-вот войдем в мир, где многие другие экосистемы блокчейнов связаны с IBC как с безопасным, отказоустойчивым и универсальным протоколом взаимодействия.

Фактически, инженерные работы по расширению Interchain идут полным ходом — разрабатывается возможность подключения IBC для сетей Hyperledger Fabric, Hyperledger Besu, Corda, Near Protocol, Polkadot и Kusama.

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

Как сделать IBC доступным за пределами сетей приложений Cosmos

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

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

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

1. Основные реализации IBC на конкретных языках

IBC изначально был написан на Golang (ibc-go) как модуль Cosmos SDK. Ibc-go позволяет блокчейнам, созданным с помощью Cosmos SDK, взаимодействовать друг с другом, но не может сделать это для других блокчейнов, особенно для тех, которые требуют реализации контрактов и модулей на других языках, таких как Solidity, Rust и т. д. Эти блокчейны требуют реализации IBC на соответствующих языках.

2. Легкие клиентские реализации для проверки состояния консенсуса в блокчейне

Проверка консенсусного состояния другого блокчейна обеспечивается клиентом light в IBC. Клиент light может отслеживать и эффективно проверять состояние блокчейна контрагента. Как вы, возможно, уже заметили, нам нужны легкие клиенты для каждого алгоритма консенсуса, чтобы проверить консенсус каждого блокчейна. ICS (Interchain Standards) определяет клиент Tendermint, который позволяет нам проверять корректность блокчейнов на основе Tendermint, но требуется реализовать различные легкие клиенты для поддержки различных алгоритмов консенсуса, которые есть в каждом блокчейне.

Основная логика IBC

Во-первых, с точки зрения логики ядра IBC, помимо ibc-go, существуют реализации IBC на других языках: реализация IBC в Solidity (IBC-Solidity) и реализация IBC в Rust (ibc-rs).

IBC-Solidity (реализация IBC в Solidity)

IBC-Solidity - это реализация IBC в Solidity. При финансовой поддержке Interchain Foundation Datachain работает над внедрением, чтобы обеспечить надежную совместимость между блокчейнами Cosmos-SDK и блокчейнами EVM. Datachain предоставила код Hyperledger Foundation в качестве одного из основных программных продуктов в проекте под названием “YUI”. IBC-Solidity позволяет взаимодействовать с блокчейнами на основе EVM, включая Ethereum, через IBC.

IBC-rs (реализация IBC в Rust)

ibc-rs - это реализация IBC в Rust, в основном благодаря команде неофициальных систем и команде Composable Finance. Растет число блокчейнов, написанных на Rust, но на данный момент большинство вариантов использования с использованием ibc-rs связаны с подключением Interchain и экосистемы DotSama. Например, Centauri, созданный командой Composable Finance, представляет собой надежный связующий хаб, работающий на базе IBC. Первоначально Centauri начали подключать парачейн Picasso и сети приложений Cosmos, и они представили демонстрацию обмена между этими цепочками блоков на Cosmoverse 2022. Кроме того, они находятся в процессе расширения своей экосистемы до Near. Brainjar, основатель и генеральный директор Composable Finance, сказал, что первым вариантом использования Centauri станет первым бездоверительным мостом Kusama <> Polkadot.

Клиенты IBC Light

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

Ethereum / EVM

Что касается Ethereum и EVM, были реализованы tendermint-sol, который позволяет проверять консенсус Tendermint в блокчейнах на основе EVM, хотя он и является экспериментальным, и ibc-harmony-client, который позволяет проходить верификацию Harmony в блокчейнах на основе Cosmos SDK. Демонстрационный код для связи между сетями приложений Cosmos и Harmony с использованием IBC можно увидеть здесь. Кроме того, после Мерджа, поскольку Ethereum теперь является блокчейном PoS, разрабатывается легкий клиент для Ethereum. Легкий клиент для Ethereum, основанный на модели безопасности IBC, будет выпущен если не в ближайшем будущем, то в обозримом. Однако, как некоторые из вас, возможно, знают, стоимость проверки в блокчейнах Ethereum и EVM является одной из наиболее серьезных проблем, связанных с подключением к этим блокчейнам через IBC, поэтому нам нужно устранить проблему, чтобы реализовать ее в основной сети.

Экосистема DotSama (Polkadot and Kusama)

С внедрением ibc-rs также создаются мосты между экосистемой DotSama (Polkadot и Kusama) и сетями приложений Cosmos, использующими IBC. Например, Composable Finance внедряет клиент BEEFY light и клиент GRANDPA light, которые позволяют проходить верификацию парачейнов в сетяхCosmos. Команда Composable Finance также внедрила Pallet IBC, модуль, позволяющий использовать IBC в блокчейнах на основе субстрата. С той же целью Octopus Network также внедряет Substrate IBC Pallet.

Корпоративные блокчейны

Как я ранее объяснял в посте в блоге Cosmos, IBC также полезен в корпоративном пространстве из-за своего способа взаимодействия с минимизированным доверием. На данный момент существуют легкие клиенты для Hyperledger Fabric, Hyperledger Besu (консенсус IBFT 2.0) и Corda, на долю которых приходится большой процент блокчейнов, используемых в корпоративном пространстве. Datachain является основным поставщиком этих клиентов Light и объединился с Mitsubishi UFJ Trust and Bank, одним из крупнейших банков Японии, для реализации взаимодействия между Quorum и Corda с использованием IBC.

Проблемы, с которыми сталкивается IBC, и усилия по их решению

Как описано выше, растет число реализаций IBC и легких клиентов, которые могут расширить IBC на другие сети. С другой стороны, есть также некоторые проблемы, которые нам необходимо решить, чтобы расширить экосистему IBC: это “стоимость проверки” и “масштабируемость”.

Стоимость проверки зависит от алгоритма консенсуса для каждого блокчейна и наличия поддержки криптографических примитивов, необходимых для проверки. Например, когда вы пытаетесь подключить блокчейны на основе Tendermint к сетям на основе EVM, в которых предварительная компиляция Ed25519 недоступна с использованием IBC, высокая стоимость выполнения (стоимость газа) часто является серьезной проблемой. Особенно для Ethereum стоимость газа была бы непрактично высокой.

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

Тем не менее, существуют текущие проекты и исследовательские работы, которые позволят решить эту проблему высокой стоимости проверки в IBC. LCP (Light Client Proxy) - один из примеров решения этой проблемы. LCP - это промежуточное программное обеспечение прокси-сервера для верификации легкого клиента. Он использует “Прокси-метод”, который выполняет верификацию легкого клиента от имени проверяющей сети и проверяет ее достоверность в проверяющей сети. Кто-то считает, что это добавило бы доверия к прокси-системе, но это достигается с помощью TEE (Trusted Execution Environment) для выполнения верификации легкого клиента в анклаве, так что это все еще способ взаимодействия с минимизированным доверием. Первоначальная реализация LCP использует Intel SGX, один из наиболее представительных и протестированных TEE.

Кроме того, есть еще одна замечательная работа по решению проблемы: ZK-IBC. Основная концепция ZK-IBC заключается в том, что он создает zk-доказательство действительности подписи Ed25519 и проверяет доказательство в сетях EVM, чтобы снизить стоимость проверки. Над ZK-IBC работают как Electron Labs, так и Polymer Labs. Он все еще находится на стадии PoC, и есть некоторые практические проблемы, такие как стоимость подтверждения и компромисс между стоимостью проверки и задержкой, но, возможно, это станет прорывом в будущем.

Заключительные мысли

Как видно из этого поста, предпринимается множество усилий и исследований, направленных на распространение IBC на различные экосистемы блокчейнов. Согласно Карте зон, по состоянию на ноябрь 2022 года IBC подключила более 50 сетей приложений Cosmos — экспоненциальный рост с момента запуска IBC менее двух лет назад.

Сеть блокчейнов будет расти экспоненциально, когда станет возможным взаимодействовать посредством IBC с сетями EVM и экосистемой Dotsama.

Хотя затраты на проверку и расширяемость являются сложными при применении IBC к некоторым блокчейнам, в настоящее время они решаются с помощью множества усилий, таких как LCP и ZK-IBC. Давайте двигаться вперед, чтобы создать мир взаимосвязанных блокчейнов, расширяя интернет блокчейнов.

Twitter: https://twitter.com/datachain_en

Twitter | GitHub| Веб-сайт

Переведено командой @creeptah.

Чекайте переводы в канале The Farm

Обсудить эту и другие новости можно у нас в чате.

CosmoBook - общедоступная многоязычная универсальная интернет-энциклопедия экосистемы Cosmos со свободным контентом, реализованная на принципах вики.