Page 174 - 《软件学报》2026年第6期
P. 174
吕永阳 等: XCMP 协议的形式化验证与改进: 提升跨链交互安全性 2493
定量的 DOT 代币作为违规成本. 同时, 钓鱼者 C 将获得相应数量的代币作为奖励 (该步骤对应第 5.4 节 (4) 消息
转移接收和第 5.4 节 (5) 承诺验证). 反之, 若钓鱼者 C 验证结果显示平行链 S 的消息处于有效状态且可正常使用,
则消息将顺利流转至平行链 S, 并在其内部等待合适的时机被打包进新的区块中, 从而完成跨链通信的完整流程
(该步骤对应第 5.4 节 (6) 打包消息成区块). E-XCMP 协议的监督机制不仅保障了跨链消息处理的公平性与高效
性, 加强了消息的时效性与可用性, 还通过经济激励的手段促进了验证者的积极参与与自我监督, 使得整个跨链生
态系统更加健壮与可信.
此外, 针对超时情况, 本文在 E-XCMP 协议的监督机制中加入超时重传机制 [39] . 该机制旨在确保在钓鱼者 C
检测到消息未按时到达或处理失败时, 能够自动触发消息重传请求. 通过对超时事件的监控和重传机制的执行, 可
以显著降低消息丢失的风险, 提升系统的消息处理能力 (该步骤对应第 5.4 节 (4) 消息转移接收).
5.4 协议具体内容
基于扩展的机制, 本节将详细阐述 E-XCMP 协议的实现细节. 图 7 以时序图的形式描述了 E-XCMP 协议跨链
消息的发送与接收过程.
用户 Collator S Validator S 出口队列 钓鱼者C 入口队列 Validator D Collator D
(1) 触发跨链数据 生成Data
发送Data
生成Mi, IDi, PMi
发送{Mi, IDi, PMi}
记录ti
(2) 消息发送准备
保存{Mi, IDi, PMi, ti}
记录IDi, PMi
生成PMN
通过轮询获取Mi
(3) 消息转移发送
接收{Mi, IDi, PMi, ti}
发送消息
验证有效期和可用性
(4) 消息转移接收 超时或不可用
判决 不超时或可用
收集Mi
发送N个Mi
(5) 承诺验证 发送PMN 发送PMN' 形成PMN'
验证PMN与PMN'是否相等
(6) 打包消息成区块 验证成功 将N个Mi打包成区块
发送区块
(7) 添加区块至区
块链 添加到中继链尾部
图 7 E-XCMP 协议时序图
(1) 触发跨链数据
平行链 S 中的用户调用已部署的智能合约, 触发一条发往平行链 D 的跨链数据 Data, 将 Data 发送给平行链
S 的 Collator S .
(2) 消息发送准备
Collator S 在收到 Data 后, 连同目的地址 (Addi)、时间戳 (Ti)、总消息数 (N)、块标识 (Xi) 等信息形成消息 Mi=
{Addi, Ti, N, Xi, Data}, 并生成消息标识 IDi, 同时使用 Pedersen 承诺 [28] 机制按照如下公式生成承诺 PMi:
PMi = Data∗G + seedi∗H (1)
其中, G 和 H 为有限域椭圆曲线上两个位置不同的固定点; Mi 为隐私跨链数据; *表示有限域上离散对数运算的二
元关系; seedi 为平行链 D 产生的随机数种子, i ∈ {1,2,3,...,N} .
随后, Collator S 将 PMi、IDi 和 Mi 放入平行链 S 的出口队列中. 此时, 平行链 S 的 Validator S 记录进入队列等

