1.0 Что такое IBC?
Inter-Blockchain Communication (IBC) протокол разрабатывается для стандартизации передачи данных между блокчейнами. Если отдельный блокчейн - это планета, то IBC - это космический челнок, который доставляет пакеты информации по маршруту, разработанному таким образом, чтобы минимизировать усилия всех заинтересованных сторон (управляющих сетью, производителей блоков, разработчиков блокчейна и конечных пользователей). Как интернет соединяет различные категории компьютеров, расположенных в других частях света, так и IBC хочет создать супермагистраль, по которой надежная, упорядоченная и аутентифицированная информация может безопасно передаваться от одного блокчейна к другому без подслушивания.
2.0 IBC в Antelope
Antelope IBCdApp, запущенный поверх одного блокчейна с поддержкой Antelope IBC (например, блокчейн EOS), вызывает определенные действия контракта IBC для взаимодействия с другими dApp, запущенными на совершенно другом блокчейне с поддержкой Antelope IBC (например, UX Network). Будучи смарт-контрактами, Antelope IBC не только легко обновляется, но и легко поддается аудиту. Antelope IBC не вызывает доверия, и в нем реализована функция, называемая мгновенной окончательностью.
Trustless
Пользователи и разработчики Antelope IBC доверяют только протоколу консенсуса активных и избранных производителей блоков исходной цепи и цепи назначения. Доверять какой-либо дополнительной третьей стороне нет необходимости.
Instant finality
Производство блоков в блокчейне Antelope проходит несколько четко определенных этапов. Первоначально блок является лишь предложением, еще не окончательным, он может быть заменен другим блоком, если он не удовлетворяет византийской отказоустойчивости. Он становится окончательным и необратимым, когда его одобряют (⅔ + 1) активных производителей блоков. В текущем сценарии блокчейну Antelope требуется 180 секунд, чтобы объявить предложенный блок окончательным. Такое большое время завершения блока является препятствием для разработки dApp в сети Antelope IBC. Чтобы преодолеть это препятствие, Antelope IBC разработала новую технологию под названием Instant Finality. После ее внедрения предложенный блок будет объявлен окончательным в течение нескольких секунд или даже меньше, что откроет путь для разработки от простых до сложных dApps на базе Antelope IBC.
Antelope IBC Протокол обещает мгновенно доказать, что событие произошло в другой сети с поддержкой Antelope IBC. Как показано на рисунке 1, AntelopeIO IBC включает в себя два типа доказательств - блочное доказательство и доказательство действия. Блочное доказательство также можно разделить на две части: тяжелое доказательство и легкое доказательство.
Figure 1 : Протокол IBC в Antelope
Смарт-контракт создается, когда блокчейн реализует протокол AntelopeIO IBC. На базе Antelope IBC могут быть созданы любые приложения (передача сменных токенов, передача не сменных токенов, создание и обслуживание кросс-цепочечных счетов, кросс-цепочечные запросы и т.д.). После создания смарт-контракта пользователи используют одну схему доказательства или комбинацию нескольких схем для связи через IBC.
Блокчейн-сети, использующие протокол AntelopeIO IBC, следующие:
3.0 IBC в Cosmos
Cosmos IBC в основном делится на два уровня: транспортный уровень и уровень приложений, как показано на рисунке 2.
Figure 2 : Первичные слои Cosmos IBC.
Сообщения, передаваемые через Cosmos IBC, шифруются в пакетах данных, которые упорядочиваются, аутентифицируются и передаются с помощью транспортного уровня. Ключевые компоненты транспортного уровня показаны на рисунке 3.
Figure 3 : Ключевые компоненты транспортного уровня протокола Cosmos IBC.
Light clients Cosmos IBC не хранят всю историю всех сообщений, присутствующих в блокчейне. Скорее, они подключаются к узлу и проверяют заголовки блоков. Различные типы доступных клиентов показаны на рисунке 4.
Figure 4 : Легкие клиенты компании Cosmos IBC.
Машины Solo (телефоны, ноутбуки, браузеры и т.д.) могут подключаться к машинам с поддержкой IBC с помощью Solo Machine Client.
Государственные машины, реплицированные с помощью алгоритма консенсуса Tendermint, могут взаимодействовать с другими реплицированными государственными машинами или одиночными машинами, используя Tendermint Client.
Wasm clients являются динамически обновляемыми клиентами.
Основанные на GHOST клиенты Recursive Ancestor Deriving Prefix Agreement (GRANDPA) могут быть реализованы блокчейнами, использующими гаджет финализации GRANDPA для связи с другими машинами состояний или соло-машинами.
Релайер - это процесс вне цепочки, который может получать состояние и отправлять транзакции в другие бухгалтерские книги, взаимодействующие по протоколу IBC. Релайер должен быть связан с финансируемым счетом на каждой цепочке. Если вы хотите соединить несколько цепочек, вы должны использовать один ретранслятор для каждой пары цепочек.
Connection semantics это протокол для установления безопасного соединения между двумя цепочками, имеющими легкого клиента другой цепочки.
Channel and Packet semantics обеспечивают механизм доставки сообщений для протокола IBC. Каждый канал связан с определенным соединением, и соединение может иметь любое количество каналов, присоединенных к нему.
Распределение портов между различными типами модулей определяется алгоритмом распределения портов. Модулю IBC может быть выделено любое количество портов.
Государственная машина блокчейна работает как менеджер vector commitment. Она имеет возможность и несет ответственность за добавление или удаление элементов из обязательства.
Host State Machine Requirements определяют минимальный набор интерфейсов, которые должны быть реализованы, и свойств, которые должны выполняться государственной машиной.
IBC handler интерфейс включает в себя методы для работы с клиентами IBC, соединениями, каналами и ретрансляцией пакетов.
Routing module принимает внешние дейтаграммы и обращается к обработчику IBC для обработки рукопожатий и передачи пакетов.
Application layer описывает семантику кодирования и обработки пакетов. На рисунке 5 показаны различные применения IBC.
Figure 5 : Прикладные уровни протокола Cosmos IBC.
Первое и самое главное применение IBC - это взаимозаменяемая передача токенов между цепочками. Благодаря этому стандарту пользователи могут передавать активы из одной цепи с поддержкой IBC в другую цепь с поддержкой IBC без дополнительных разрешений.
Межцепочечный счет - это межцепочечный протокол управления счетами, с помощью которого пользователи одной цепи с поддержкой IBC могут создавать и контролировать счета других цепей с поддержкой IBC так же, как это делают родные системы.
Межцепочечная безопасность поддерживается с помощью межцепочечной валидации. Это позволяет цепочке поставщиков предлагать безопасность нескольким цепочкам потребителей.
Механизм стимулирования общего ретранслятора предназначен для обработки платежей в дополнение к IBC.
IBC Middleware включает в себя интерфейсы и логику машины состояний, которые модуль должен реализовать, чтобы правильно функционировать в качестве промежуточного программного обеспечения между ядром IBC и подстрочным приложением.
Модуль межцепочечного запроса включает в себя структуры данных и логику машины состояний, которые позволяют выполнять межцепочечный запрос между цепочками с поддержкой IBC.
Модуль передачи нелетучих токенов включает в себя структуры данных, логику обработки машины состояний и процессы кодирования для передачи нелетучих токенов от одной цепи с поддержкой IBC к другой цепи с поддержкой IBC.
В следующих блокчейнах реализован Cosmos IBC:
4.0 Сравнение между IBC в Antelope и IBC в Cosmos
Критерии | Antelope IBC | Cosmos IBC |
Межцепочечное подтверждение | Мгновенно | Мгновенно |
Без доверия | Да | Да |
Кто может использовать? | Любой блокчейн | Любой блокчейн |
Какие приложения могут быть разработаны? | Любой тип dAPP, такой как передача взаимозаменяемого токена, передача не взаимозаменяемого токена, создание и обслуживание кросс-цепочечного аккаунта, межцепочечный запрос, утилиты фрагментации токена и т.д. | Любой тип dAPP, например, передача взаимозаменяемого токена, передача не взаимозаменяемого токена, создание и обслуживание межцепочечного аккаунта, межцепочечный запрос и т.д. |
Комиссия за газ | Очень низкая | Низкая |
Масштабируемость | Можно объединить любое количество блокчейнов. | Можно объединить любое количество блокчейнов. |
5.0 Заключение
Межблокчейновая коммуникация, создающая супермагистрали между островными блокчейнами, - это следующая волна развития блокчейна. Помимо Antelope IBC и Cosmos IBC существует множество других протоколов межцепочечной коммуникации (MAP, Layerzero, celer и т.д.). В будущем коалиция Antelope будет принимать только те блокчейны, которые имеют инфраструктуру для создания IBC.
Автор: Sukanta Manna
Редактор(ы): Markus Hinrichs; Randall Roland; Thian
Перевод: Evgeny Chirochkin
Источники и ссылки: