面向区块链底层协议的形式化建模与验证方法及系统

文档序号:36092445发布日期:2023-11-18 12:01阅读:63来源:国知局
面向区块链底层协议的形式化建模与验证方法及系统

本发明属于计算机网络协议安全分析领域,提供了一种面向区块链底层协议的形式化建模与验证方法及系统。


背景技术:

1、区块链技术由于其数据的不可篡改、公开透明、多方共享和一致决策等优秀特性,被认为是一种能够改变业务和机构运作模式的重大突破性技术。而区块链系统中不同节点之间达成数据一致性的共识协议是整个区块链系统正常工作的核心部分。随着近年来对共识协议研究,人们逐渐将目光聚焦在其形式化验证这一富有挑战性的工作中来。在这一领域目前已经有许多通过不同的工具验证各种协议的工作,包括palmskog等人在isabelle/hol中验证了以太坊的caspercbc的部分属性;rahli在基于coq的velisarios框架中验证了pbft的安全属性;在基于dafny的ironfleet工具验证了muti-paxos协议安全性和活性。yackolley等人在半同步的系统中证明了tendermint共识的一致性、有效性和可终止性。thin等人利用符号化方法形式化分析tendermint共识协议,利用模型检测csp#构建协议形式化模型,并用patmodelchecker验证协议是否满足给定的安全性质。

2、然而,这些工作都面临一些重要的问题,一方面现有区块链底层协议形式化工作主要都是使用手工验证方式,形式化建模高度依赖专家经验,证明难度大且不易实现自动化,并且适用面有限、人力成本较高,难以对区块链底层系统做出全面的分析。因此,本发明提出了一种面向区块链底层协议的形式化建模与验证设计。


技术实现思路

1、本发明实施例的目的在于提供一种面向区块链底层协议的形式化建模与验证方法,旨在解决现有技术中导致的上述多项缺陷或缺陷之一。

2、本发明实施例是这样实现的,一种面向区块链底层协议的形式化建模与验证方法,所述方法包括以下步骤:

3、输入区块链底层协议中对每个共识节点的执行过程描述,输入待验证的共识属性的逻辑描述;

4、设定该区块链底层协议的运行约束条件,该运行约束条件至少包括网络条件和敌手模型;

5、根据每个共识节点的执行过程描述,及其中与节点群体相关的关键字得到对节点群体执行逻辑的描述,建立共识协议模型;

6、遵循所述待验证的共识属性,通过内置的约束求解规则逆向推理所述共识协议模型执行中是否存在违反待验证的共识属性的路径;

7、检测推理的路径上与执行轮次相关的环状结构,并在满足预设规则时终止推理,在推理终止后输出协议验证结果。

8、本发明实施例的另一目的在于提供一种面向区块链底层协议的形式化建模与验证系统,所述系统包括:协议输入单元、条件设定单元、模型生成单元、模型验证单元和归纳推理单元;

9、所述协议输入单元,用于输入区块链底层协议中对每个共识节点的执行过程描述,输入待验证的共识属性的逻辑描述;

10、所述条件设定单元,用于设定该区块链底层协议的运行约束条件,该运行约束条件至少包括网络条件和敌手模型;

11、所述模型生成单元,用于根据每个共识节点的执行过程描述,及其中与节点群体相关的关键字得到对节点群体执行逻辑的描述,建立共识协议模型;

12、所述模型验证单元,遵循所述待验证的共识属性,通过内置的约束求解规则逆向推理所述共识协议模型执行中是否存在违反待验证的共识属性的路径;

13、所述归纳推理单元,用于检测推理的路径上与执行轮次相关的环状结构,并在满足预设规则时终止推理,在推理终止后输出协议验证结果。

14、本发明实施例的另一目的在于提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述面向区块链底层协议的形式化建模与验证方法的步骤。

15、本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述面向区块链底层协议的形式化建模与验证方法的步骤。

16、本发明实施例提供的一种面向区块链底层协议的形式化建模与验证方法,使用从网络节点群组出发的全新建模与验证思路,与已有的形式化建模方法相比,该方法在保证正确性的前提下极大地缩减了需要验证的状态空间,避免状态空间爆炸的问题,保证在有限的时间内获得正确的结果。同时该方案可以实现整个验证过程的全自动进行,无需人工干预,极大地提高了对区块链底层共识协议的验证工作效率。



技术特征:

1.一种面向区块链底层协议的形式化建模与验证方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述面向区块链底层协议的形式化建模与验证方法,其特征在于,所述方法还包括:

3.根据权利要求1所述面向区块链底层协议的形式化建模与验证方法,其特征在于,所述检测推理的路径上与执行轮次相关的环状结构采用环状结构检测算法。

4.根据权利要求1所述面向区块链底层协议的形式化建模与验证方法,其特征在于,所述根据每个共识节点的执行过程描述,及其中与节点群体相关的关键字得到对节点群体执行逻辑的描述,建立共识协议模型的步骤,具体包括:

5.根据权利要求1所述面向区块链底层协议的形式化建模与验证方法,其特征在于,所述输入区块链底层协议中对每个共识节点的执行过程描述,输入待验证的共识属性的逻辑描述通过形式模型生成器实现。

6.根据权利要求1所述面向区块链底层协议的形式化建模与验证方法,其特征在于,所述遵循所述待验证的共识属性,通过内置的约束求解规则逆向推理所述共识协议模型执行中是否存在违反待验证的共识属性的路径;具体包括:

7.一种面向区块链底层协议的形式化建模与验证系统,其特征在于,所述系统包括:协议输入单元、条件设定单元、模型生成单元、模型验证单元和归纳推理单元;

8.根据权利要求7所述的面向区块链底层协议的形式化建模与验证系统,其特征在于,所述系统还包括:模型补充单元;

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至6中任一项权利要求所述面向区块链底层协议的形式化建模与验证方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至6中任一项权利要求所述面向区块链底层协议的形式化建模与验证方法的步骤。


技术总结
本发明适用于计算机网络协议安全分析领域,提供了一种面向区块链底层协议的形式化建模与验证方法及系统,所述方法包括以下步骤:输入区块链底层协议中对每个共识节点的执行过程描述,输入待验证的共识属性的逻辑描述;设定该区块链底层协议的运行约束条件,该运行约束条件至少包括网络条件和敌手模型;根据每个共识节点的执行过程描述,及其中与节点群体相关的关键字得到对节点群体执行逻辑的描述,建立共识协议模型;本发明使用从网络节点群组出发的全新建模与验证思路,与已有的形式化建模方法相比,该方法在保证正确性的前提下极大地缩减了需要验证的状态空间,避免状态空间爆炸的问题,保证在有限的时间内获得正确的结果。

技术研发人员:王炯涵,黄文超,熊焰,汪万森,付贵禄
受保护的技术使用者:中国科学技术大学
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1