今日,波卡官方发布了XCMP跨链消息传递总体架构。本文是波卡百科进阶部分的跨链消息传递XCMP章节,XCMP是波卡跨链设计的核心之一,让消息能在波卡各个平行链间传递。
跨链交易通过基于Merkle树的简单排队机制来解决,以确保准确性。中继链验证人的任务是将一个平行链的输出队列上的交易移动到目标平行链的输入队列中。但是,只有关联的元数据作为哈希存储在中继链存储器中。
输入和输出队列有时在代码库和相关文档中分别称为“入口”和“出口”消息。
XCMP概览
XCMP目前正在开发中,细节可能会有变化。但是,总体架构和设计决策如下:
跨链消息不会传递到中继链。
跨链消息将被限制为以字节为单位的最大大小。
Bitdeer通过挪威、不丹新数据中心推动加密挖矿扩张:金色财经报道,比特币矿企Bitdeer Technologies Group发布了2023年6月的运营更新。比特小鹿首席执行官孔令辉表示,其位于不丹的100MWGedu采矿数据中心将于7月开始运营,而另一个涉及在挪威Tydal采矿设施建设175MW浸没式冷却数据中心的重大项目正在进行中,预计于2025年完工。据更新,截至2023年6月,已有约10,000台矿机抵达比特小鹿的Gedu数据中心,其中包括约8,000台新矿机。
据报道,另有22,000台设备正在运送到该数据中心,预计该数据中心在2023年7月投入运营后将为该公司的总电力容量额外贡献100兆瓦。[2023/7/11 10:46:44]
平行链可以拒绝来自其他平行链的消息,在这种情况下,调度平行链将知道这个块。
Starknet最新社区电话会议将讨论Alpha v0.12.0版本升级:6月25日消息,Starknet第47次社区电话会议将于6月27日举行,将公开讨论Starknet Alpha v0.12.0版本升级。届时StarkWare和Lambda Class将向Builder委员会和参会代表们展示Starknet新版本,为即将进行的投票做准备。[2023/6/26 21:59:38]
收集人节点负责在链之间路由消息。
收集人生成一个“出口”消息列表,并将从其他平行链接收“入口”消息。
在每个块上,平行链被期望从所有其他平行链的某个子集路由消息。
当一个收集人产生一个新的块交给验证人时,它将收集最新的入口队列信息并进行处理。
某1inch投资者向Binance转入701万枚1INCH:4月30日消息,据 Twitter 用户 @BitcoinEmber 监测,某 1inch 投资者向 Binance 转入 701 万枚 1INCH,价值约 342 万美元。该投资者共获得 1500 万枚 1INCH,目前已将解锁的 1125 万枚 1INCH 全部出售。其中:200 万枚链上出售,出售均价 1.34 美元;75 万枚转入 FTX,当时价格为 3.47 美元;850 万枚转入 Binance,均价 0.62 美元。
该投资者/机构或已实现 1060 万美元收益,按单价 0.01 美元投资成本,回报率 70 倍;按单价 0.067 美元投资成本,回报率 10.6 倍。[2023/4/30 14:35:39]
验证人将检查下一个平行链块的新候选者是否包含对该平行链的预期入口消息的处理。
THORChain发布“Terra LPers行动呼吁”,Terra流动性提供商需在Terra分叉前删除所有流动性:5月18日消息,去中心化跨链交易协议THORChain发布“Terra LPers行动呼吁”,呼吁Terra流动性提供商删除所有流动性。其中THORChain版本1.89已经发布,它将允许提现,有LUNA或UST的用户将有时间退出流动性池,并且仍然有资格获得Terra的5月27日空投快照,不过这必须在Terra分叉之前完成。流动性提供者需要在THORChain将Terra从网络中清除之前按照指示及时提取,如果用户迟到,将没有资格申请快照,资金也可能会永远丢失,此外如果流动性提供者不采取任何行动,其LUNA或UST的其余部分将退还到相关的钱包中。[2022/5/18 3:24:37]
XCMP队列必须首先通过打开两个平行链之间的通道来启动。通道由发送方和接收方的平行链辨识,这意味着它是一个单向通道。一对平行链之间最多可以有两个通道,一个用于向另一个链发送消息,另一个用于接收消息。通道的打开需要DOT押金,当通道关闭时将返回。
水平中继路由信息传递(HRMP)
在XCMP仍在实现的过程中,它的替代品是一种称为HRMP的权宜之计。HRMP具有与XCMP相同的接口和功能,但是对资源的要求更高,因为它将所有消息存储在中继链存储中。当XCMP实现时,HRMP计划被弃用并逐步淘汰,XCMP将取而代之。
注意:权宜之计协议是对未完全完成的功能的临时替代。虽然XCMP本身仍在开发中,但HRMP是一个有效的替代品。
垂直消息传递
垂直消息传递有两种,向上消息传递和向下消息传递。当消息来自平行链或平行线程并从该平行链到中继链时,使用UMP。当一条消息从中继链发出并以平行链为目的地时,DMP被用来进行相反的操作。通过DMP传递的消息可能来自平行链。在这种情况下,第一个UMP用于将消息传递到中继链,而DMP用于将其向下移动到另一个平行链。
XCMP消息格式
有关XCMP消息格式的描述,请参阅GitHub上的xcm格式存储库。https://github.com/paritytech/xcm-format
XCMP示例
存在于平行链?A上的智能合约会将一条消息路由到平行链B,在这个消息中,调用另一个智能合约,在该链中进行一些资产的转移。
Charlie在parachainA上执行智能合约,目的是为parachainB上的智能合约发起一条新的跨链消息。
parachainA的收集人节点将把这个新的跨链消息与目的地和时间戳一起放入其出站消息队列中。
parachainB的收集人节点通常ping所有其他收集人节点去请求新消息。当parachainB的收集人进行下一次ping时,它将在parachainA上看到这个新消息,并将其添加到自己的入站队列中,以便处理到下一个块中。
parachainA的验证人也将读取出站队列并知道消息。parachainB的验证人也会这样做。这样他们就能够验证消息传输的发生。
当parachainB的收集人正在构建其链中的下一个块时,它将处理入站队列中的新消息以及它可能已经找到/接收到的任何其他消息。
在处理过程中,消息将在parachainB上执行智能合约,并按预期完成资产转移。
收集人现在将这个块交给验证人,验证人本身将验证该消息是否已被处理。如果消息被处理并且块的所有其他方面都有效,那么验证人将把parachainB的这个块包含到中继链中。
资源
XCMPScheme-Web3基金会研究wiki上关于跨链的完整技术描述:https://research.web3.foundation/en/latest/polkadot/XCMP.html
MessagingOverview-平行链实施指南中的消息传递方案概述:https://w3f.github.io/parachain-implementers-guide/messaging.html
XCMFormat-XCMP格式的说明:https://github.com/paritytech/xcm-format
原文:
https://wiki.polkadot.network/docs/en/learn-crosschain
翻译:PolkaWorld
欢迎学习Substrate:https://substrate.dev/
关注Substrate进展:https://github.com/paritytech/substrate
关注Polkadot进展:https://github.com/paritytech/polkadot
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。