XCM 是一种消息格式,它不能用于在系统之间实际「发送」任何消息,它的作用仅在于表达接收者应该做什么。 随着最终的 Polkadot 1.0 版本和平行链的临近,跨共识消息格式(简称 XCM)即将发布其第一个生产就绪版本。这是对格式、其目标、工作原理的介绍,可用于实现典型的跨链任务。 我们从一个有趣的事实讲起。XCM 是「跨共识」消息格式,而不仅仅是「跨链」。这种差异是该格式在最终实现的目标上的标志,该格式不仅在链之间交流,而且在智能合约和模块之间,以及通过桥和分片(如 Polkadot 的 Spree)中发送各种想法。 一种格式,而不是一个协议为了更好地理解 XCM,重要的是要了解它的边界以及它在 Polkadot 技术堆栈中的位置。XCM 是一种消息格式。它不是消息传递协议。它不能用于在系统之间实际「发送」任何消息,它的作用仅在于表达接收者应该做什么。 不包括桥和合约模块,Polkadot 带有三个不同的系统,用于在其组成链之间实际通信 XCM 消息:UMP、DMP 和 XCMP。UMP (向上消息传递)允许平行链向它们的中继链发送消息。DMP (向下消息传递)允许中继链将消息向下传递到其平行链。XCMP 可能是其中最著名的,这允许平行链之间发送消息。XCM 可用于通过这三个通信通道中的任意一个来表达消息的含义。 除了在链之间发送消息之外,XCM 在其他语境也很有用,比如,可以用于在你之前不是很了解它交易格式的链上进行交易。对于业务逻辑变化很小的链(例如比特币),交易格式 —— 或者钱包用来向链发送指令的格式 —— 往往会无限期地保持完全相同,或者至少兼容。使用高度可进化的基于元协议的链,例如 Polkadot 及其组成的平行链,业务逻辑可以通过单个交易跨网络升级。这可以改变任何事情,包括交易格式,给钱包维护者带来潜在的问题,特别是对于需要离线保存的钱包(例如 Parity Signer)。由于 XCM 版本良好、抽象且通用,因此它可以用作一种为钱包提供持久交易格式的手段,用于创建许多常见交易。 目标XCM 旨在成为共识系统之间交流思想的语言。它应该足够通用,以便在整个不断发展的生态系统中正确并有用。它应该是可扩展的,由于可扩展性不可避免地意味着变化,它也应该是面向未来和向前兼容的。最后,它应该足够高效可以在链上运行,并且还能在计量环境中运行。 像所有语言一样,有些人会比其他人更倾向于使用某些元素。XCM 的设计方式并不是让每个支持 XCM 的系统都能够解释任何可能的 XCM 消息。有些消息在某些系统下不会有合理的解释。其他的可能是合理的,但由于资源限制或因为可以以更清晰、更规范的方式表达相同的内容,解释器仍然故意不支持。系统将不可避免地只支持可能消息的一个子集。资源严重受限的系统(如智能合约)可能只支持非常有限的「方言」。 (责任编辑:admin) |