[发明专利]一种基于区块链和零知识证明的投票方法及装置有效
| 申请号: | 201911039149.X | 申请日: | 2019-10-29 |
| 公开(公告)号: | CN110855443B | 公开(公告)日: | 2022-07-01 |
| 发明(设计)人: | 周子衡 | 申请(专利权)人: | 上海唯链信息科技有限公司 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;G07C13/00 |
| 代理公司: | 北京德和衡律师事务所 11405 | 代理人: | 李颖 |
| 地址: | 200001 上海市长宁*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 区块 知识 证明 投票 方法 装置 | ||
本发明提供一种基于区块链和零知识证明的投票方法、装置、系统及介质,所述方法包括:区块链中设置投票发起方I、验证方A、W名投票方Pi,所述投票发起方I设置投票规则及投票选项;所述W名投票方中的每一个Pi进行投票,利用第一零知识证明ZKP1对所述每一个投票方Pi的每个投票选项结果证明;利用第二零知识证明ZKP2对所述每一个投票方Pi的所有投票选项结果证明;所述验证方A计算每个投票选项的总得票数,利用第三零知识证明ZKP3对所述每个投票选项的总得票数结果证明。根据本发明的方案,实现了不记名投票,并使得投票方可以证明选票的有效性、验证方可以证明唱票结果的有效性,提高了证明的准确性和速度。
技术领域
本发明涉及数据信息处理领域,尤其涉及一种基于区块链和零知识证明的投票方法及装置。
背景技术
电子投票是互联网领域常见的一种应用,使用场景通常为,投票发起方利用应用服务器提供的投票功能发起投票,设置相应的投票规则、投票选项,通过应用服务器发布给特定或不特定的群体。再由应用服务器对参与投票的各投票方提交的投票结果进行处理及统计,并将总的投票结果呈现出来。
然而,这种电子投票方案依赖于中心化的服务器,对网络安全要求性极高,且投票结果可能被操纵,难以实现真正的不记名投票,这使得电子投票方案仅能应用于一些不重要的场景。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库。由于区块链上的交易的确认和记录需要所有区块链节点达成共识,因此区块链能够安全地存储交易和其他数据,保证其不被伪造或篡改。现有的基于区块链的投票方案大多集中于以中心化的方式进行投票,并由服务器将投票结果传输到区块链进行存储,区块链仅是作为存证投票结果的载体,并没有参与到投票过程,提高了电子投票系统的开发和维护成本,电子投票方案依然依赖于中心服务器,无法实现真正的不记名投票,也无法证明投票的各个阶段的数据的有效性。
发明内容
为解决上述技术问题,本发明提出了一种基于区块链和零知识证明的投票方法、装置、系统及介质,所述方法、装置、系统及介质,用以解决现有技术中不能真正实现不记名投票,以及投票的各阶段数据不安全、有效的技术问题。
根据本发明的第一方面,提供一种基于区块链和零知识证明的投票方法,包括:
步骤S101:区块链中设置投票发起方I、验证方A、W名投票方Pi,所述投票发起方I设置投票规则及投票选项;所述验证方A生成投票公钥和投票私钥,并公布所述投票公钥,其中1≤i≤W;
步骤S102:所述W名投票方中的每一个Pi进行投票,利用第一零知识证明ZKP1对所述每一个投票方Pi的每个投票选项结果证明;利用第二零知识证明ZKP2对所述每一个投票方Pi的所有投票选项结果证明;
步骤S103:所述验证方A计算每个投票选项的总得票数,利用第三零知识证明ZKP3对所述每个投票选项的总得票数结果证明。
进一步地,所述投票发起方I设置投票规则、投票选项、投票时间段。
进一步地,所述验证方生成投票公钥gk和投票私钥k,并公布所述投票公钥gk;由投票方Pi选择N个随机数作为该投票方Pi的私钥,记为投票方Pi对每个投票选项进行投票,与该投票选项对应的投票结果为为0表示未选中该选项,为1表示对选中该选项,Pi计算
进一步地,所述所述利用第一零知识证明ZKP1对所述每一个投票方Pi的每个投票选项结果证明包括:
Pi计算
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海唯链信息科技有限公司,未经上海唯链信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911039149.X/2.html,转载请声明来源钻瓜专利网。





