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

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


                    ● 元数据中的消息哈希值        (messageHash) 与根据跨链消息    M  计算出的哈希值一致.
                    如果存在满足上述条件的元数据, 则验证通过. Collator D           将队列中的消息打包成区块并执行相应的操作.

                 代码  9. ValidateMessage.
                 ΞRelaychainState
                 M?: Message
                 Block, Block': seq Message

                   ∃ metadata: Metadata
                  · metadata  ∈ ran metadatas
                   ∧ metadata.S=M?.S

                    ∧ metadata.D=M?.D
                    ∧ metadata.messageHash
                   =Hash(M?.S, M?.D, M?.CCdata, M?.timestamp)
                              ∧ 〈M?〉
                  ⇒Block'=Block
                    (5) 区块验证模式    (ValidateBlock)
                    在区块验证模式中, 执行完相应的操作后, 平行链               D  的收集者将区块提交给验证者验证, 验证通过后, 该区块
                 被添加到中继链尾部, 完成跨链消息的传递和处理. 具体如代码                   10  所示.
                 代码  10. ValidateBlock.

                 ΔRelaychainState
                 Block?: seq Message

                 Blocktest(Block?)
                 ⇒validatedBlocks'=validatedBlocks  ∧ 〈Block?〉

                  4.2   安全分析
                    在对现有    XCMP  协议进行形式化建模后, 本文定义了一系列形式化安全目标, 以确保跨链消息传递的正确性
                 和可靠性. 这些目标旨在规范协议行为, 确保消息的顺序、完整性、公平性和持久性, 为协议的设计与验证提供明
                 确指导, 并帮助识别潜在问题. 本文依据这            10  个安全目标进行了详尽的验证, 并通过           Z  语言建模检验协议在关键
                 安全目标上的符合性. 表       2  列出了  XCMP  协议在这些目标上的满足情况, √表示满足, ×表示不满足.

                                                 表 2   安全目标的形式化结果

                   序号                                   安全目标                                   形式化结果
                   目标1                       平行链的跨链消息按顺序到达另一平行链                                   √
                   目标2                         平行链按顺序接收传入的跨链消息                                    √
                   目标3     平行链接收另一平行链发送的同一区块中所有的消息, 要么全部成功接收, 要么全部接收失败                            ×
                   目标4                           跨链消息不会传递到中继链                                     √
                   目标5                         跨链消息的大小将受到字节数限制                                    √
                   目标6                       创建通道是启动跨链消息传递队列的前提                                   √
                   目标7                      收件人将在各个发件人之间公平地接收消息                                   ×
                   目标8                   到达的消息是在发送链的最终确定的记录中发送的                                   √
                   目标9                         消息的发送和接收的状态是一致的                                    √
                   目标10                    任何区块的任何传出消息需要保证可用1天左右                                  ×
   164   165   166   167   168   169   170   171   172   173   174