The invention belongs to the field of formal methods, and discloses a method and system of block chain system modeling and security verification based on MSVL. In MC, block chain system is modeled by MSVL and expressed by program p; the property of block chain system is described by PPTL and expressed by formula_;; in MC, the safety of block chain system is verified by adding MSVL modelling program P and property_described by PPTL. \u3002 The block chain of the invention is modeled by MSVL program, and the security property of the block chain is described by PPTL, while PPTL is the proposition subset of PTL and MSVL is the executable subset of PTL, so MSVL and PTL can be executed in MC uniformly. Compared with other methods, the invention does not need to use another formal language, call other tools and a large number of manual proofs, and only needs to provide. The PPTL formula of the property to be verified is automatically proved by MC.
【技术实现步骤摘要】
基于MSVL的区块链系统建模和安全性验证的方法及系统
本专利技术属于计算机辅助设计
,尤其涉及一种基于MSVL的区块链系统建模和安全性验证的方法及系统。
技术介绍
目前,业内常用的现有技术是这样的:目前,用到区块链技术的系统应用的技术发展可以大致分为三个阶段。第一个阶段主要发展为数字加密货币系统;第二个阶段主要发展为金融系统;第三个阶段主要发展为区块链社会。目前正处于二阶段的初期,并且一定不会长期处于该时期。区块链是以时间线索来组织数据,并且每隔一段时间将数据进行打包成区块,再以链条和时间顺序链接这些区块而成的特定数据结构,保证了其可追溯性,并且以密码学的方式保证其不可篡改和不可伪造,是一个分布式、去中心化、公开共享的总账本。区块链的数据结构可简单的描述如下:一种基于时间戳的链式结构,区块链的基本组成单位是区块,区块有包含了区块头和区块体,区块头包含六个基本要素:前一区块的摘要值,是经过hash加密后的固定长度的字符串;时间戳;挖矿难度;该区块中交易打包的摘要值;经过挖矿大量的计算后得到的随机数;本区块链的摘要值。区块体只要包含了该时间段的所有交易,使用Merkle树的数据结构,所有交易是Merkle树的叶子结点,然后每两个结点生成一个父亲结点,依次类推直到生成根结点。区块链具有五大特性:去中心化、时序数据、集体维护、可编程、安全可信。即便是区块链具有以上五大特性并且区块链技术被广泛的应用,但是区块链技术仍然存在着安全方面的问题,不同技术层面都可能存在安全问题。在节点层,与传统服务器的安全防范措施相比,区块链系统中的每一个计算节点可以说都是“裸奔”的 ...
【技术保护点】
1.一种基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,所述基于MSVL的区块链系统建模和安全性验证的方法在MC中用MSVL对区块链系统建模,用程序p表示;用PPTL描述区块链系统的性质,用公式φ表示;在MC中,加入MSVL的建模程序p和用PPTL描述的性质φ,验证区块链系统的安全性。
【技术特征摘要】
1.一种基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,所述基于MSVL的区块链系统建模和安全性验证的方法在MC中用MSVL对区块链系统建模,用程序p表示;用PPTL描述区块链系统的性质,用公式φ表示;在MC中,加入MSVL的建模程序p和用PPTL描述的性质φ,验证区块链系统的安全性。2.如权利要求1所述的基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,所述基于MSVL的区块链系统建模和安全性验证的方法利用MSVL程序p对区块链系统进行建模;利用PPTL公式φ描述区块链系统的性质。3.如权利要求1所述的基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,所述基于MSVL的区块链系统建模和安全性验证的方法包括以下步骤:步骤一,使用MSVL语言对区块链系统建模,数据结构中的结构体表示区块链系统中的区块、交易、用户以及用户间的通信;在建模中,用函数表示区块链系统中的基本操作;使用数据结构中的图结构建模p2p网络,顶点的集合即用户集;步骤二,分别从数据层,网络层,共识层,激励层,合约层找用户关心的性质,采用PPTL公式描述,对区块链建模系统的安全性进行验证;步骤三,将建模的MSVL程序和描述性质的PPTL公式在MC验证,检查区块链系统的安全性性质是否满足。4.如权利要求3所述的基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,使用MSVL语言对区块链系统建模的区块链系统中的用户类型分为四种,分别用四个参数表示具体为:k1:表示用户有无路由功能,决定了该用户能否与其他用户通信;k2:表示用户有无钱包功能,决定了该用户能否与其他用户交易;k3:表示用户有无挖矿功能,决定了该用户是否具有获取奖励的资格及共识机制是否有效;k4:表示用户有无管理功能,决定了该用户是否具有发行货币的权利;使用数据结构中的结构体表示区块链系统中的区块、交易、用户以及用户间的通信,具体为:区块链中的区块信息用结构体structBlock表示;区块链中的交易信息用结构体structTrade表示;区块链中的用户信息用结构体structNodes表示;区块链中的用户间通信用结构体structEdges表示;使用MSVL中的函数表示区块链系统中的功能,具体为:functionpass表示进入区块链系统的一个简单的身份认证函数;functionBAAC_max表示区块链系统的共识机制-活跃度与信用度的权衡比较算法,用来计算出获得奖励的矿工;functionpay表示一条交易中的转账支付的函数;functionrecord表示生成新区块前的所有交易记录的函数;functionp2p表示p2p网络用户结点及其相互通信的遍历检测函数。5.如权利要求3所述的基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,PPTL公式根据具体要验证的安全性性质确定,首先根据需要验证的性质,定义命题;然后根据命题的逻辑关系,得出相应合理的PPTL公式。6.如权利要求3所述的基于MSVL的区块链系统建模和安全性验证的方法,其特征在于,用MSVL对需要进行验证的区块链系统进行建模的方法具体包括:(1)建模程序中的用户类型用四个参数表示:k1:用户有无路由功能,;k2:用户有无钱包功能;k3:用户有无挖矿功能;k4:用户有无管理功能;(2)定义四个结构体来...
【专利技术属性】
技术研发人员:王小兵,朱云凯,段振华,赵亮,田聪,张南,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。