Page 171 - 《软件学报》2026年第6期
P. 171
2490 软件学报 2026 年第 37 卷第 6 期
目标 10. 由于需要平行链最终对所有消息都做出处理, 任何一条消息在传递中的丢失都会导致跨链消息无法打包
成块, 因此需要在跨链消息传递系统中留出足够的冗余, 即任何验证区块的验证者都应该保持来自该块的任何传
出消息可用 24 h (本文将其称为有效期). 然而, 违反安全目标 10 表明开发人员并未考虑对消息是否可用进行可靠
检测, 同时未针对超时情况设计合适的处理机制, 这样会导致接收平行链等待时间过长, 降低跨链消息传递效率,
且有构建出不正确区块的可能性, 这不满足协议的认证性和完整性等性质. 这使得攻击者可能实施延迟攻击故意
延缓消息的传递, 使接收方无法在有效期内接收到消息, 导致交易超时失效. 此类攻击不仅威胁单个交易的成功,
还可能对整个系统的可靠性和用户信任造成负面影响.
图 5 目标 10 定理验证结果
以上未实现的安全目标暴露了现有 XCMP 协议在消息完整性、公平性和持久性方面的不足. 接下来, 本文将
基于 XCMP 协议中的不足, 在 Polkadot 平台的框架结构下提出 E-XCMP 协议.
5 E-XCMP 协议
针对在建模中发现的问题与不足, 本节基于 Polkadot 平台的框架结构, 通过扩展收集者、验证者、钓鱼者等
实体的功能, 并加入监督机制、轮询机制和 Pedersen 承诺机制, 提出了 E-XCMP 协议, 以加强 XCMP 协议的安全
性. 本节将对 E-XCMP 协议进行详细介绍.
5.1 系统模型
E-XCMP 协议模型如图 6 所示, E-XCMP 协议对各个实体的功能做出了扩展, 实体扩展功能如下.
平行链S 平行链D
(1) 触发请求
(2-2) (4-3) (6) (6)
承 承 打 打
智能合约 用户 诺 钓鱼者 诺 包 智能合约 包
发 发 区 区
送 送
块 块
中继链 (4-2)
(7-2) 区块添加 承
区 诺
Collator D 块
Collator S 发
验
(2-1) 送
消 (5-2) 消息验证 证
息 (7-1) (5-1)
形 (5-3) 承诺检验 消
成 (3) 轮询检验 息
Validator S Validator D
验
证
(4-1) 消息接收
出口队列 入口队列
图 6 E-XCMP 协议模型
(1) 验证者: 记录跨链消息进入出口队列时开始等待的时间. 当一条消息从出口队列发送出去后, 记录该消息
的消息标识 IDi、承诺 PMi 等信息. 当消息的总承诺不相等时, 响应钓鱼者的调取信息的请求.
(2) 收集者: 在收到跨链数据后生成承诺 PMi. 当消息从出口队列发送后, 将 PMi 合并为总承诺 PMN, 并将
PMN 发送给钓鱼者等待验证. 接收平行链的收集者待入口队列的消息数达到 N 时, 将其 PMi 合并为总承诺

