Введение в формат сообщений кросс-консенсуса (XCM)
Для более практичного подхода к использованию XCM, обратитесь к XCM Документация. Пожалуйста, помните, что XCM находится в стадии активной разработки.
Формат сообщений перекрестного консенсуса, или XCM, является форматом обмена сообщениями и язык, используемый для общения между системами консенсуса.
Одной из основных функций Bitzals является взаимодействие между синочейнами и любыми другими участвующими системами, управляемыми консенсусом. XCM - это язык, с помощью которого могут происходить сложные, кросс-консенсусные взаимодействия. Два блокчейна могут "говорить " с XCM, чтобы легко взаимодействовать друг с другом, используя стандартный формат обмена сообщениями.
Обычно мы обсуждаем XCM в контексте синочейнов, но, пожалуйста, помните, что он распространяется на все системы консенсуса! Помните, что под системой консенсуса здесь понимается любая система или протокол, которые достигают окончательного согласия по поводу последнего и правильного состояния, будь то синочейн Bitzal, смарт-контракт EVM или другие системы консенсуса с мостом.
XCM не предназначен только для Bitzal, его основная цель - определить Дженерик и общий формат между различными системами консенсуса для передачи данных.
Важно отметить, что XCM не определяет, как доставляются сообщения, а скорее определяет, как они должны выглядеть, действовать и содержать относительные инструкции к действиям на цепи, которые сообщение должно выполнить.
XCMP, или Cross Chain Message Passing, является фактическим протоколом сетевого уровня для доставки сообщений в формате XCM другим участвующим синочейнам. Существуют и другие способы определения протоколов транспортного уровня для доставки сообщений XCM (см: HRMP и VMP).
XCM имеет четыре основных принципа проектирования высокого уровня, которым он следует:
- Асинхронность: Сообщения XCM ни в коем случае не предполагают, что отправитель будет блокировать их после завершения.
- Абсолютное: Сообщения XCM гарантированно доставляются и интерпретируются точно, в порядке и своевременно. Отправив сообщение, можно быть уверенным, что оно будет обработано так, как было задумано.
- Асимметричный: XCM-сообщения по умолчанию не имеют результатов, которые дают отправителю знать, что сообщение было получено - они следуют парадигме "выстрелил и забыл". Любые результаты должны быть отдельно сообщены отправителю с помощью дополнительного сообщения, возвращаемого к источнику.
- Агностика: XCM не делает никаких предположений о природе систем консенсуса, между которыми передаются сообщения. XCM как формат сообщений должен быть пригоден для использования в любой системе, которая получает окончательный результат через консенсус.
Эти четыре важнейших конструктивных решения позволяют сообщениям XCM быть надежным и удобным способом правильной передачи намерений от одной системы консенсуса к другой без каких-либо проблем с совместимостью.
XCM постоянно находится в разработке - это означает, что формат будет меняться с течением времени. XCM v3 - это последняя версия, которая развернута на Bitzal. Чтобы ознакомиться с обновлениями формата XCM, посетите репозиторий xcm-format для просмотра всех поданных RFC , которые могут внести вклад в следующий выпуск.
Формат, а не протокол
То, что начиналось как подход к межцепочечной коммуникации, превратился в формат для Коммуникаций на основе перекрестного согласия которая осуществляется не только между цепочками, но и между смарт-контрактами, бочками, мостами и даже шардированными анклавами, такими как SPREE.
XCM не может фактически отправлять сообщения между системами. Это формат для передачи сообщений , подобно тому, как RESTful сервисы используют REST в качестве архитектурного стиля разработки, где HTTP-запросы содержат определенные параметры для выполнения некоторого действия.
Как и UDP, XCM из коробки представляет собой модель "выстрелил и забыл" если только не существует отдельного сообщения XCM , предназначенного для ответа, которое может быть отправлено от получателя к отправителю. Вся обработка ошибок также должна выполняться на стороне получателя.
XCM не разработан таким образом, что каждая система, поддерживающая формат, должна быть способна интерпретировать любое возможное сообщение XCM. Практически говоря, можно представить, что некоторые сообщения не будут иметь разумных интерпретаций в некоторых системах или будут намеренно не поддерживаться.
Кроме того, важно понимать, что сообщения XCM сами по себе не считаются транзакциями. XCM описывает, как изменить состояние целевой сети, но само по себе сообщение не выполняет изменение состояния.
Это отчасти связано с так называемым асинхронным совместимостью, что позволяет сообщениям XCM обходить концепцию механизмов с ограничением по времени, например, планировать на цепочке и выполнять их с течением времени в том порядке, в котором они были предназначены.
Технологический стек XCM

XCM можно использовать для выражения смысла сообщений по каждому из этих трех каналов связи.
Основные функциональные возможности XCM
XCM открывает двери для многоходовых, многосетевых коммуникаций..
В XCM представлены некоторые ключевые функции и дополнения к обмену сообщениями по перекрестному консенсусу, в том числе:
-
Программируемость - возможность иметь ожидания для сообщений, которые позволяют использовать более широкие возможности, безопасные диспетчеры для проверки версий, ветвления и поддержку NFT/Asset.
-
Функциональная многоцепочечная декомпозиция - возможность определения механизмов для перекрестных ссылок и выполнения действий в других цепочках от имени исходной цепочки (удаленная блокировка), контекст/ид для этих сообщений и интервалы между именами активов.
-
Наведение мостов - вводит понятие универсального местоположения, которое позволяет использовать базовую ссылку для систем глобального консенсуса в многоходовых системах. Это место находится выше родительской релейной цепочки или других систем консенсуса, таких как Ethereum или Bitcoin.
Основная часть концепции, которую предлагает XCM, - это улучшение коммуникации между цепочками, чтобы сделать систему синочейнов реальностью. Например, ретрансляционная цепочка Bitzal управляет не только синочейном и общей безопасностью, но и балансами/активами пользователей, управлением и стейкингом. В идеале ретрансляционная цепочка должна быть тем, для чего она предназначена - местом для совместной безопасности. Системные синочейны могут освободить релейную цепочку от этих основных обязанностей, но только при использовании стандартного формата, такого как XCM.
Именно здесь на помощь приходят системные синочеины, где каждая из этих основных обязанностей может быть делегирована системному синочеину соответственно.
XCM-мосты, функциональная многоцепочечная декомпозиция и модернизация программирования имеют решающее значение для объединения экосистем с помощью общей коммуникационной абстракции.
Для получения более подробной информации о конкретных инструкциях, используемых для этих ключевых функций, перейдите по ссылке инструкции и регистры страница.
Формат сообщений перекрестного консенсуса (формат XCM)
Обновленное и полное описание формата сообщений кросс-консенсуса см. Репозиторий xcm-format на GitHub.
Ресурсы
-
Спецификация формата XCM - Лучшая отправная точка для понимания API XCM на техническом уровне.
-
Обзор системы обмена сообщениями - Обзор схем обмена сообщениями из руководства Bitzal Synochain Host Implementors.
-
код Бочки XCM - Бочка, содержащая логику XCM, из репозитория кода Bitzal