这种普遍性甚至延伸到诸如为执行 XCM 消息支付费用之类的概念。由于我们知道 XCM 可用于多种系统,包括 gas 计量的智能合约平台和社区平行链,一直到系统平行链与其中继链之间的可信交互,因此我们不想将费用支付等元素烤得太深和在协议中变得不可逆转。 为什么不直接使用本地消息格式在某些情况下,捎带在本地信息 / 交易格式的链或智能合约可能很有用,但确实有一些很大的缺点,使其对 XCM 的目标不太有用。首先,链之间缺乏兼容性,因此打算向多个目的地发送消息的系统需要了解如何为每个目的地编写消息。在这一点上,即使是单个目的地也可能随着时间的推移改变其本地交易 / 消息格式。智能合约可能会升级,区块链可能会引入新功能或改变现有功能,从而改变其交易格式。 其次,链上的常见用例不容易适合单个交易;可能需要特殊的技巧来提取资金,交换资金,然后将结果全部存入单个交易中。连贯的储备资产框架所需的后续转移通知并不存在于不知道其他人的链中。 第三,诸如支付费用之类的操作不容易适应假设已经像智能合约消息一样协商费用支付的模型。相比之下,交易信封提供了一些支付处理的系统,但通常也被设计为包含一个签名,这在共识系统之间进行通信时没有意义。 一些初始用例虽然 XCM 的目标是通用的、灵活的和面向未来的,但它当然必须满足实际需求,尤其是链之间的代币转移。可选的费用支付(可能使用这些代币)是另一种方式,就像进行交换服务的通用接口一样,在整个 DeFi 世界中都很常见。最后,应该可以使用 XCM 语言进行一些特定于平台的操作。例如,在 Substrate 链中,可能需要将远程调用分派到其模块之一以访问专门的功能。 最重要的是,有许多我们希望支持的代币转移模型:我们可能只想简单地控制远程链上的帐户,允许本地链在远程链上拥有一个地址以接收资金并最终将其控制的资金转移到该远程链上的其他账户中。 我们可能有两个共识系统,它们都是特定代币的「本地家园」。想象一下像 USDT 或 USDC 这样的代币,它在几个不同的链上都有实例,并且完全可以互换。应该可以在一条链上销毁这样的代币,并在另一条支持的链上铸造相应的代币。在 XCM 的说法中,我们之所以称之为传送(teleport),是因为资产的转移实际上是通过在一侧销毁它,并在另一侧创建一个克隆来实现的。 最后,可能有两条链想要提名第三条链,其中一条链上的资产可能被视为本地资产,用作该资产的储备。每个链上资产的衍生形式将得到完全支持,允许衍生资产交换为支持它的储备链上的基础资产。这可能是两条链不一定相互信任的情况,但(至少就相关资产而言)愿意信任资产的本地链。这里的一个例子是我们有几个社区平行链想要在彼此之间发送 DOT。它们每个都有一个本地形式的 DOT,由 Statemint 链(DOT 的本地中心)上的平行链控制的 DOT 完全支持。当在链之间发送本地形式的 DOT 时,在后台,「真正的」DOT 在 Statemint 上的平行链帐户之间移动。 (责任编辑:admin) |