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 记录进入队列等
   169   170   171   172   173   174   175   176   177   178   179