Page 163 - 《软件学报》2026年第6期
P. 163

2482                                                       软件学报  2026  年第  37  卷第  6  期


                  1.5   Scyther
                    本文借助    Scyther [35,36] 这种形式化的安全协议分析工具, 来全面评估所提出的方案的安全性. Scyther 工具运
                 用  Athena 自动检查算法   [37] , 它可以自动验证安全协议的正确性, 检测协议是否满足机密性、完整性、认证性等安
                 全属性, Scyther 采用攻击者模型来模拟敌手的能力, 通过搜索协议的执行轨迹来发现潜在的攻击, 该工具支持多
                 种协议模型, 包括认证协议、密钥交换协议和组成员协议等, 它使用一种通用的协议表示语言, 可以处理各种加密
                 原语和协议构造, Scyther 输出的结果包括协议是否安全、发现的攻击轨迹以及安全隐患, 为协议设计者和分析者
                 提供了一种有效的自动化验证方法, 有助于提高安全协议的可靠性和鲁棒性.
                  2   协议概况

                    本节将全面概述      XCMP  协议的系统模型, 并详细描述其工作流程.
                  2.1   系统模型

                    在构建系统模型时, 各实体的功能至关重要, 以确保跨链通信的有效性和安全性. 本节根据                            XCMP  协议的原
                 理和要求, 总结出协议模型, 模型如图          2  所示, 并由以下实体构成.

                                      平行链S                                   平行链D
                                      (1) 触发请求
                                 智能合约         用户          钓鱼者                 智能合约

                                          (3) 记录元数据                     (7-2) 区块添加     (7-1)
                                                          中继链                       (6)  区
                                                                                    打   块
                                                                                    包   验
                                      Collator S                              Collator D  区  证
                                                                                    块
                                 (2)        (4-1)                       (5-2) 消息验证
                                 区           发
                                 块           送                                         (5-1)
                                                                                       消
                                 构           请                                         息
                                 建           求                                          验
                                     Validator S                              Validator D
                                                                                        证
                                                         (4-2) 消息接收
                                      出口队列                                    入口队列
                                                    图 2 XCMP  协议模型

                    (1) 用户  (User): 发起和接收跨链消息. 他们通过在平行链上触发操作, 如智能合约调用或资产转移, 生成跨链
                 数据. 这些数据经过平行链的收集者           (Collator) 处理, 并通过中继链传递到目标平行链, 实现跨链数据交互和操作
                 的完成.
                    (2) 收集者  (Collator): 生成平行链区块并处理跨链消息. 他们将待发送的跨链消息收集和打包至区块中, 再提
                 交给验证者. 同时, 收集者会将跨链消息的元数据记录在中继链上, 以便验证者根据中继链记录的元数据进行进一
                 步验证和确认.
                    (3) 验证者  (Validator): 负责确保跨链消息的有效性和顺序. 他们通过中继链提供的元数据来验证消息的真实
                 性, 并确保消息在发送链上已被最终确认. 经过验证的跨链消息会被纳入中继链中, 从而维护系统的数据一致性和
                 安全性.
                    (4) 钓鱼者  (Fisherman): 负责监控和验证跨链消息的正确性. 他们通过独立的机制检测平行链或验证者在处理
                 消息时是否有不正当行为或错误. 钓鱼者提供有关不符合协议的消息或区块的证据, 从而保障网络的安全性和一
                 致性, 防止恶意操作或错误传播.
   158   159   160   161   162   163   164   165   166   167   168