基于Event-B方法的区块链PBFT共识算法的形式化建模和安全性验证方法技术

技术编号:27839932 阅读:51 留言:0更新日期:2021-03-30 12:21
本发明专利技术提供一种基于Event

【技术实现步骤摘要】
基于Event

B方法的区块链PBFT共识算法的形式化建模和安全性验证方法


[0001]本专利技术属于区块链安全性建模验证
,具体来说,是一种用Event

B建模验证语言设计一种基于Event

B方法的区块链共识算法安全性的建模与验证的方法。

技术介绍

[0002]目前区块链方面存在基于Event

B方法的安全性验证的研究,但开展的许多研究只针对智能合约,对于区块链上的共识算法,致力于改进和优化共识算法,而缺少对应用于区块链上的共识算法的安全性的形式化验证。
[0003]Event

B作为一种建模与验证的形式化方法,具有严格而精确的数学逻辑和语义。Eclipse集成开发环境下开发的Rodin平台作为Event

B的建模环境,集成了多种模型检测和验证工具,可以从不同视角观察所建模的行为顺序。基于Event

B的形式化验证方法,对区块链底层框架以及P2P网络下的通信机制进行抽象建模,引入具体的PB本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Event

B方法的区块链PBFT共识算法的形式化建模和安全性验证方法,其特征在于,包括:步骤1:确定实现区块链PBFT共识算法的模型核心元素,包括:区块、节点和节点行为类型;步骤2:在Event

B模型中对所述模型核心元素进行声明;步骤3:在Event

B模型中定义全局区块链,在Event

B模型的Machine里建立不变式,保证全局区块链的链式无环结构;对全局区块链的操作进行映射,建立抽象模型,在Event

B模型的Machine里建立不变式,保证全局区块链的操作都是由诚实行为的节点完成的;步骤4:在Event

B模型中对节点通信机制进行映射,建立抽象模型;其中,网络中任意节点都可以发送消息,并且网络中任意节点都最终会接收到其他节点发送的消息;步骤5:将步骤3所述全局区块链精化为分布式系统下每个节点的本地区块链;在Event

B模型的Machine里建立不变式,保证本地区块链的链式无环结构,本地区块链与全局虚拟区块链自身具有相同的结构,除了增加区块链结构到节点的映射,表示每个节点具有的本地区块链;步骤6:在Event

B模型中引入PBFT共识算法,对本地区块链的操作进行映射,并对全局区块链操作的前置条件进行精化;在Event

B模型的Machine里建立不变式,保证模型之间的精化关系,并保证每次共识达成时,步骤5所述的每个节点的本地区块链与全局虚拟区块链是一致的;对实现PBFT共识算法的元素进行声明,包括消息、消息接收方与发送方和节点所处阶段,对不同类型的消息的发送与接收建立对应的事件进行映射;步骤7:在Event

B模型中引入节点存在的恶意行为,包括篡改消息,对区块进行错误编号以及不遵守共识算法执行机制的行为;在Event

B模型的Machine里建立不变式,表示存在节点发生恶意行为时,达成共识的主节点仍然是做出诚实行为的节点,验证所实现的模型始终具有安全性。2.如权利要求1所述的基于Event

B方法的区块链PBFT共识算法的形式化建模和安全性验证方法,其特征在于,所述步骤2包括以下子步骤:步骤21:建立区块集合,区块集合中元素为打包好的包括上传到区块链以及未上传到区块链的区块;建立节点集合,节点集合中元素为参与共识并验证区块正确性的节点,对节点作为常量进行声明;建立类型集合,类...

【专利技术属性】
技术研发人员:冯世玲李钦
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1