[发明专利]一种投票智能合约的形式验证方法有效
申请号: | 201911088334.8 | 申请日: | 2019-11-08 |
公开(公告)号: | CN110929295B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 邱炜伟;李伟;李启雷;梁秀波;尹可挺;张丁文 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06Q40/04 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 投票 智能 合约 形式 验证 方法 | ||
本发明公开了一种投票智能合约的形式验证方法。本发明设计了针对投票智能合约的形式验证规范接口,设计并实现了基于形式验证的投票智能合约模板。本发明的价值在于设计了一套通用的投票流程相关的智能合约形式验证方法,对投票智能合约的开发提供了形式验证上的一种安全标准和重要参考。本方法基于软件形式化验证方法进行实现,基于投票业务设计并建立了安全的形式规范,并转化为可形式验证的数学模型,从而提高投票智能合约的安全性。本发明的方法具有通用性,对于投票相关的智能合约都可以使用本方法进行开发和安全审计,对于投票一类业务系统而言,可以很好的适用。
技术领域
本发明涉及智能合约和形式验证的技术领域,具体涉及一种投票智能合约的形式验证方法。
背景技术
区块链2.0作为第二代可编程区块链,它的主要特点是允许用户写出更精密和智能的协议,也就是所谓的智能合约。由于区块链的难以篡改和数据公开等特性,有问题的智能合约无法及时修复造成巨大损失,因此智能合约在部署前的严格的安全审计变得尤为重要。目前主流的智能合约安全审计方案是形式验证,通过数学逻辑推导,证明合约实现符合预期。投票智能合约作为常见的合约应用领域,通过形式验证审计其安全性是保证投票业务公正、公平的关键前提。目前智能合约开发社区并没有投票业务相应的安全规范,使得开发投票智能合约容易出现安全漏洞,需要一套通用的投票流程相关的智能合约形式验证方法,为投票智能合约的开发提供开发参考和安全标准。
发明内容
针对现有技术规范的不足,本发明提供一种投票智能合约的形式验证方法,该方法可提高投票类智能合约的安全性。具体技术方案如下:
一种投票智能合约的形式验证方法,该方法具体包括如下步骤:
(1)定义投票智能合约,用于实现按定义的流程和权限向指定候选对象进行投票的功能。定义包括:候选对象和投票人的数据结构、状态变量、检查合约所有者和投票流程的修饰器、投票相关业务的公共函数;
候选对象的数据结构至少包含主键和得票数这两个字段,投票人的数据结构至少包含主键和是否投票这两个字段。
所述的状态变量为记录合约所有者、投票流程、候选对象和投票人信息的数组和映射。
所述的公共函数包含合约所有者在正确的投票流程管理候选对象和投票人信息函数、合约所有者在正确的投票流程管理投票流程函数、具有投票权利的任何人在正确的投票流程对指定的候选对象进行投票函数、相关方在正确的投票流程查看投票结果函数、相关方在正确的投票流程查询候选对象和投票人信息函数。
所述的修饰器包括用于检查是否为合约所有者的合约所有者修饰器和用于检查是否处于正确投票流程的投票流程修饰器,所述的合约所有者修饰器用于修饰合约所有者在正确的投票流程管理候选对象和投票人信息函数、合约所有者在正确的投票流程管理投票流程函数这两个函数;所述的投票流程修饰器作用在所有函数上。
定义时,按顺序依次定义候选对象和投票人的数据结构、状态变量、检查合约所有者和投票流程的修饰器、投票相关业务的公共函数。
(2)定义形式验证规范,用于描述投票智能合约的功能,定义智能合约中每个投票相关函数的异常、返回值和对状态变量的规范。所述的形式验证规范包括如下:
(2.1)对于合约所有者在正确的投票流程中管理候选对象和投票人信息函数,形式验证规范为:当且仅当调用者不为合约所有者或者调用者未在正确的投票流程调用时,规范要求函数异常;当函数正常调用后,规范要求候选对象和投票人信息的状态变量记录正确的数据,其他状态变量保持不变。
(2.2)对于合约所有者在正确的投票流程中管理投票流程函数,形式验证规范为:当且仅当调用者不为合约所有者或者调用者未在正确的投票流程调用时,规范要求函数异常;函数正常调用后,规范要求指定投票流程相关的状态变量变为下一个投票流程,其他状态变量保持不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911088334.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种泡绵接合机
- 下一篇:一种不含有机氯的杀菌剂生产工艺