[发明专利]一种投票智能合约的形式验证方法有效

专利信息
申请号: 201911088334.8 申请日: 2019-11-08
公开(公告)号: CN110929295B 公开(公告)日: 2021-11-05
发明(设计)人: 邱炜伟;李伟;李启雷;梁秀波;尹可挺;张丁文 申请(专利权)人: 杭州趣链科技有限公司
主分类号: G06F21/64 分类号: G06F21/64;G06Q40/04
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 邱启旺
地址: 310051 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 投票 智能 合约 形式 验证 方法
【权利要求书】:

1.一种投票智能合约的形式验证方法,其特征在于,该方法具体包括如下步骤:

(1)定义投票智能合约,用于实现按定义的流程和权限向指定候选对象进行投票的功能;定义包括:候选对象和投票人的数据结构、状态变量、检查合约所有者和投票流程的修饰器、投票相关业务的公共函数;

候选对象的数据结构至少包含主键和得票数这两个字段,投票人的数据结构至少包含主键和是否投票这两个字段;

所述的状态变量为记录合约所有者、投票流程、候选对象和投票人信息的数组和映射;

所述的公共函数包含合约所有者在正确的投票流程管理候选对象和投票人信息函数、合约所有者在正确的投票流程管理投票流程函数、具有投票权利的任何人在正确的投票流程对指定的候选对象进行投票函数、相关方在正确的投票流程查看投票结果函数、相关方在正确的投票流程查询候选对象和投票人信息函数;

所述的修饰器包括用于检查是否为合约所有者的合约所有者修饰器和用于检查是否处于正确投票流程的投票流程修饰器,所述的合约所有者修饰器用于修饰合约所有者在正确的投票流程管理候选对象和投票人信息函数、合约所有者在正确的投票流程管理投票流程函数这两个函数;所述的投票流程修饰器作用在所有函数上;

定义时,按顺序依次定义候选对象和投票人的数据结构、状态变量、检查合约所有者和投票流程的修饰器、投票相关业务的公共函数;

(2)定义形式验证规范,用于描述投票智能合约的功能,定义智能合约中每个投票相关函数的异常、返回值和对状态变量的规范;所述的形式验证规范包括如下:

(2.1)对于合约所有者在正确的投票流程中管理候选对象和投票人信息函数,形式验证规范为:当且仅当调用者不为合约所有者或者调用者未在正确的投票流程调用时,规范要求函数异常;当函数正常调用后,规范要求候选对象和投票人信息的状态变量记录正确的数据,其他状态变量保持不变;

(2.2)对于合约所有者在正确的投票流程中管理投票流程函数,形式验证规范为:当且仅当调用者不为合约所有者或者调用者未在正确的投票流程调用时,规范要求函数异常;函数正常调用后,规范要求指定投票流程相关的状态变量变为下一个投票流程,其他状态变量保持不变;

(2.3)对于具有投票权利的任何人在正确的投票流程对指定的候选对象进行投票函数,形式验证规范为:当且仅当调用者没有投票权或调用者已经投过票或调用者未在正确的投票流程调用时,规范要求函数异常;函数正常调用后,规范要求指定的候选对象的投票数字段增加,投票人的是否投票字段变为已投票状态,而其他字段保持不变;

(2.4)对于相关方在正确的投票流程查看投票结果函数,形式验证规范为:当且仅当调用者不是相关方或调用者未在正确的投票流程调用,规范要求函数异常;函数正常调用后,规范要求返回结果为指定的候选对象相关信息,所有状态变量保持不变;

(2.5)对于相关方在正确的投票流程查询候选对象和投票人信息函数,形式验证规范为:当且仅当调用者不是相关方或调用者未在正确的投票流程调用,规范要求函数异常;函数正常调用后,规范要求返回结果为指定的候选对或投票人的信息;

(3)利用步骤(2)定义的形式验证规范对投票智能合约进行形式验证,用于检查投票智能合约的实现是否符合形式验证规范,若不符合则定位到合约中的错误代码并指明错误原因,若符合则显示验证通过;形式验证包括对智能合约中每个投票相关函数的异常、返回值、所有者状态变量、投票流程状态变量、候选对象和投票人信息状态变量建立数学模型,推导证明在步骤(2)定义的形式验证规范要求的条件下,函数中涉及的状态变量是否被赋值为预期的参数,函数中未涉及的状态变量是否保持原值。

2.根据权利要求1所述投票智能合约的形式验证方法,其特征在于,所述步骤(3)中,对于投票相关函数异常的形式验证,模型建立和证明的方法是:根据对调用者地址和当前投票流程的条件判断,对异常这一返回值进行赋值并终止函数,证明当且仅当条件成立时,异常返回值为真。

3.根据权利要求1所述投票智能合约的形式验证方法,其特征在于,所述步骤(3)中,对于返回值的形式验证,模型建立和证明的方法是:在相关方在正确的投票流程查询候选对象和投票人信息函数中,经过对异常条件的判断,将相关候选对象和投票人状态变量的字段赋值给返回值,证明当函数不抛异常时,返回值等于相应的候选对象和投票人的信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911088334.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top