IBC (расшифровывается как Inter-Blockchain Communication) — это протокол для обеспечения связи, передачи данных и активов между различными независимыми блокчейнами. IBC позволяет передавать токены, из одного блокчейна в другой безопасно и децентрализованно в рамках экосистемы Cosmos.
Использование протокола IBC может значительно улучшить функциональную совместимость и взаимосвязь между различными блокчейнами, что позволяет создать более бесшовную и взаимосвязанную децентрализованную экосистему.
Как работает IBC?
IBC предоставляет общий блокчейн-протокол для стандартизированного и не требующего доверия обмена данными, который состоит из двух слоев:
- Транспортный слой (IBC/TAO) — слой обеспечивающий инфраструктуру для установления безопасных соединений и аутентификации пакетов данных между блокчейнами.
- Прикладной слой (IBC/APP) — слой определяющий, как пакеты данных должны быть упакованы и интерпретированы связываемыми блочейнами.
Эти оба слоя завернуты в «легкий клиент», самой передачей данных между между блокчейнами занимаются внешние ретрансляторы (Relayer).
Что такое Ретранслятор (Relayer)?
Ретрансляторы — это оффчейн-субъекты, обеспечивающие соединение между двумя блокчейнами, сканирующие состояние двух взаимосвязанных блокчейнов, ищущие намерение отправить межсетевую транзакцию, а затем передающие данные и подтверждение их фиксации в другой блокчейн.
Например, в случае передачи взаимозаменяемых токенов между двумя блокчейнами ретрансляторы несут ответственность за доказательство того, что ваши токены заблокированы в блокчейн А и предоставлены в блокчейне Б.
Ретрансляторы используют облегченный клиент каждого блокчейна для проверки входящих сообщений в блокчейне А и отправки их (и подтверждения передачи) в блокчейн Б. Блокчейн А не может отправлять данные напрямую в блокчейн Б и вместо этого фиксирует хэш пакет данных в своем собственном конечном автомате. Это конкретное состояние, которое ретрансляторы отслеживают, чтобы отправить этот пакет и его подтверждение в Блокчейн Б.
Безопасность не требующая доверия
Безопасность IBC не зависит от третьих лиц и не требует проверки валидности транзакций между блокчейнами. Безопасность IBC в основном обеспечивается легкими клиентами, которые проверяют доказательства обязательств и состояние двух взаимосвязанных блокчейнов.
Безопасность IBC основана на:
- Доверии связанных блокчейнов.
- Механизмах изоляции сбоев, чтобы ограничить ущерб, причиненный, если блокчейн действует злонамеренно.
IBC устойчив к византийскому анализу благодаря проверке доказательств легким клиентом. Если бы ретранслятор действовал злонамеренно, пакет был бы отклонен блокчейном контрагента, потому что доказательство было бы недействительным (поскольку легкий клиент и ретрансляторы независимы).