摘要:智能合约是运行在区块链上的计算机协议,被广泛应用在各个领域中,但是其安全问题层出不穷,因此在智能合约部署到区块链上之前,需要对其进行安全审计.然而,传统的测试方法无法保证智能合约所需的高可靠性和正确性.说明了如何使用建模、仿真与验证语言(MSVL)和命题投影时序逻辑(PPTL)对智能合约进行建模和验证:首先介绍了MSVL与PPTL的理论基础;之后,通过分析和对比Solidity与MSVL语言的特性,开发了能够将Solidity程序转换为MSVL程序的SOL2M转换器,并详细介绍了SOL2M转换器的设计思路;最终,通过投票智能合约和银行转账智能合约两个实例,给出了SOL2M转换器的执行结果.使用PPTL从功能一致性、逻辑正确性以及合约完备性这3个方面描述了合约的性质,给出了使用统一模型检测器(UMC4M)对合约进行验证的过程.
Abstract:Smart contract is a computer protocol running on the blockchain, which is widely used in various fields. However, its security problems continue to emerge. Therefore, it is necessary to audit the security of a smart contract before it is deployed on the blockchain. Traditional testing methods cannot guarantee the high reliability and correctness required by smart contracts. This study shows how to use modeling, simulation, and verification language (MSVL) and propositional projection temporal logic (PPTL) to model and verify smart contracts. First, the theoretical basis of MSVL and PPTL is introduced. Then, by analyzing and comparing the characteristics of solidity and MSVL, an SOL2M converter which can convert a solidity program to an MSVL program is developed and its design idea is introduced in detail. Finally, the execution results of SOL2M converter are given by two examples of a vote smart contract and a bank transfer smart contract. The properties of contracts are described by PPTL on three aspects:function consistency, logic correctness, and contract completeness. And the process of using UMC4M (Unified Model Checker for MSVL) to verify the contract is also given.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6253
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
面向MSVL的智能合约形式化验证
本站小编 Free考研考试/2022-01-02
相关话题/智能 程序 语言 逻辑 设计
一种监控系统的链路跟踪型日志数据的存储设计
摘要:随着软件系统越来越复杂化和分布化,为系统提供具有完善功能的监控服务显得越来越重要.APM(applicationperformancemanagement)系统通过采集软件系统运行时的各项指标数据来分析软件的运行状态,例如CPU、内存使用率、垃圾回收的耗时、QPS等指标.此外,APM系统也会在 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02程序智能合成技术研究进展
摘要:近年来,随着信息技术快速发展,软件重要性与日俱增,极大地推动了国民经济的发展.然而,由于软件业务形态越来越复杂和需求变化越来越快,软件的开发和维护成本急剧增加,迫切需要探索新的软件开发模式和技术.目前,各行业在软件活动中积累了规模巨大的软件代码和数据,这些软件资产为软件智能化开发建立了数据基础 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向智能攻击的行为预测研究
摘要:人工智能的迅速发展和广泛应用促进了数字技术的整体跃升.然而,基于人工智能技术的智能攻击也逐渐成为一种新型的攻击手段,传统的攻击防护方式已经不能满足安全防护的实际需求.通过预测攻击行为的未来步骤,提前部署针对性的防御措施,可以在智能攻击的对抗中取得先机和优势,有效保护系统安全.首先界定了智能攻击 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02支撑人工智能的数据管理与分析技术专刊前言
摘要:近年来,支撑人工智能的数据管理与分析技术正成为大数据和人工智能领域研究的热点问题之一.利用和发展数据管理与分析理论技术,为提升人工智能系统全生命周期的效率和有效性提供基础性支撑,必将进一步促进基于大数据的人工智能技术发展与其在更大范围的推广应用.本专刊聚焦在数据管理与人工智能融合发展的过程中, ...中科院软件研究所 本站小编 Free考研考试 2022-01-02KGDB:统一模型和语言的知识图谱数据库管理系统
摘要:知识图谱是人工智能的重要基石,其目前主要有RDF图和属性图两种数据模型,在这两种数据模型之上有数种查询语言.RDF图上的查询语言为SPARQL,属性图上的查询语言主要为Cypher.10年来,各个社区开发了分别针对RDF图和属性图的不同数据管理方法,不统一的数据模型和查询语言限制了知识图谱的更 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02PandaDB:一种异构数据智能融合管理系统
摘要:随着大数据应用的不断深入,对大规模结构化/非结构化数据进行融合管理和分析的需求日益凸显.然而,结构化/非结构化数据在存储管理方式、信息获取方式、检索方式方面的差异给融合管理和分析带来了技术挑战.提出了适用于异构数据融合管理和语义计算的属性图扩展模型,并定义了相关属性操作符和查询语法.接着,基于 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于人工智能方法的数据库智能诊断
摘要:数据库是一种非常重要和基础的计算机系统软件,随着数据库在各行各业的广泛应用,越来越多的人开始关注数据库运行的稳定性.由于各种各样内部或是外部作用的影响,数据库在实际运行的过程中会出现性能异常,而这可能会带来巨大的经济损失.人们大多通过观察监控指标信息来进行数据库异常诊断,但是关于数据库监控指标 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02多模态视觉语言表征学习研究综述
摘要:我们生活在一个由大量不同模态内容构建而成的多媒体世界中,不同模态信息之间具有高度的相关性和互补性,多模态表征学习的主要目的就是挖掘出不同模态之间的共性和特性,产生出可以表示多模态信息的隐含向量.主要介绍了目前应用较广的视觉语言表征的相应研究工作,包括传统的基于相似性模型的研究方法和目前主流的基 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02智能软件定义网络
摘要:近年来,人工智能(artificialintelligence,简称AI)以强劲势头吸引着学术界和工业界的目光,并被广泛应用于各种领域.计算机网络为人工智能的实现提供了关键的计算基础设施.然而,传统网络固有的分布式结构往往无法快速、精准地提供人工智能所需要的计算能力,导致人工智能难以实际应用和 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02循环迭代程序的一种可信计算算法
摘要:循环迭代程序作为软件的基本组成部分,其正确运行具有重要意义.然而,有时(比如其相关错数大于0时)计算时的舍入误差(或表示误差)会导致循环迭代的计算结果不稳定.基于“中间计算精度自动动态调整”的计算技术,给出了循环迭代程序的一种可信计算算法.利用该算法,可获得循环迭代程序任意次迭代的任意位的正确 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02