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

吕永阳 等: XCMP   协议的形式化验证与改进: 提升跨链交互安全性                                            2495


                  6.1.1    协议建模
                    在本节中, 首先进行模式定义, 随后基于模式定义进行操作定义, 实现对                     E-XCMP  协议的系统性建模.
                    (1) 模式定义
                    (a) 消息模式
                    ● Add: Parachain  消息的接收方.
                    ● T:  Z 消息的时间戳.
                    ● N:  N 消息所属区块中消息的个数, 用于确保消息在区块内的完整性.
                    ● X: string  消息所属区块的唯一标识符.
                    ● m: string  表示跨链数据的具体内容.
                    ● size:  Z 消息大小.
                        size ⩽ maxMessageSize 确保每条消息的大小在预定限制内, 以保证消息传递在资源限制范围内进行. 具
                    约束
                 体见代码   11.

                 代码  11. Message.
                 Add: Parachain
                 T:  Z
                 N:  N
                 X: string
                 m: string
                 size:  Z
                 size ≤ maxMessageSize
                    (b) 区块模式
                    ● Xi: string  表示该区块的唯一标识符, 用于标识每个区块.
                    ● messages: seq Message 是一个消息序列, 表示该区块中包含的所有消息.
                            ∀m : Message|m ∈ ran messages@m.X=Xi  确保区块中所有消息的标识符    m.X  与区块的标识符     Xi 一
                    约束条件
                 致. 这意味着每条消息都必须与所属区块匹配, 确保消息的正确关联和完整性. 具体见代码                           12.
                 代码  12. Block.

                 Xi: string
                 message: seq Message

                   ∀ m: Message | m  ∈ ran messages · m.X=Xi
                    (c) 平行链状态模式
                    ● ingressQueue: seq Message 平行链的入口队列.
                    ● egressQueue: seq Message 平行链的出口队列.
                    ● dot: DOT  表示平行链的存储资源, 用于管理通道的存款和交易费用.
                    约束条件    ∀m : Message|m ∈ ran ingressQueue∨m ∈ ran egressQueue@m.size ⩽ maxMessageSize 确保所有消息, 无
                 论是在入口队列还是出口队列中, 其大小都不超过最大消息大小                     maxMessageSize. 具体见代码  13.

                 代码  13. ParachainState.
                 ingressQueue: seq Message
   171   172   173   174   175   176   177   178   179   180   181