【技术实现步骤摘要】
一种基于区块链的分布式电子投票方法及系统
本专利技术涉及分布式电子投票
,尤其涉及一种基于区块链的分布式电子投票方法及系统。
技术介绍
本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。电子投票逐渐成为主流的投票方式,但是电子投票也存在很多挑战,对电子投票也有很多的属性要求如:安全性、匿名性、合法性、公平性和可验证性等。大多数电子投票机制并不能完全满足上述所有要求,而且很少能够在满足基本属性的前提下实现高效的多候选者投票。现有技术中,许多的电子投票方案需要第三方来监督投票和计票,将会导致投票者隐私泄露,增大投票作弊的风险,存在一定的安全性问题。
技术实现思路
为了解决上述问题,本专利技术提出了一种基于区块链的分布式电子投票方法及系统,将区块链和同态签密应用到分布式电子投票中,利用区块链来实现不需要第三方辅助的批量计票和批量验证。在一些实施方式中,采用如下技术方案:一种基于区块链的分布式电子投票方法,包括:区块链生成公共参数,针对每一个投票者, ...
【技术保护点】
1.一种基于区块链的分布式电子投票方法,其特征在于,包括:/n区块链生成公共参数,针对每一个投票者,生成唯一的密钥对;/n根据接收到的投票者发出的投票指令,利用盲化因子对投票指令对应的选票进行盲化,再对盲化因子进行同态签密,将盲化的选票和签密结果以交易的形式提交给区块链,区块链对选票进行验证并公布;/n对密签的选票执行解签密和计票操作,并将计票结果提交给区块链;/n区块链对计票结果进行验证;/n区块链对有效的计票结果进行汇总,计算出每位候选者的得票并公布结果。/n
【技术特征摘要】
1.一种基于区块链的分布式电子投票方法,其特征在于,包括:
区块链生成公共参数,针对每一个投票者,生成唯一的密钥对;
根据接收到的投票者发出的投票指令,利用盲化因子对投票指令对应的选票进行盲化,再对盲化因子进行同态签密,将盲化的选票和签密结果以交易的形式提交给区块链,区块链对选票进行验证并公布;
对密签的选票执行解签密和计票操作,并将计票结果提交给区块链;
区块链对计票结果进行验证;
区块链对有效的计票结果进行汇总,计算出每位候选者的得票并公布结果。
2.如权利要求1所述的一种基于区块链的分布式电子投票方法,其特征在于,区块链生成公共参数,针对每一个投票者,生成唯一的密钥对,具体为:
区块链执行Setup()算法,输出公共参数[q(x),p,q,g,H];其中,定义多项式q(x)为有限域Zq上的n次不可约多项式,p为一个大素数,q为p-1的大素数因子,g是中的q阶生成元,定义单向的哈希函数H:
执行KeyGen()算法生成投票指令的公私钥对(pki,ski),其中,ski为私钥,为随机选择的的一个生成元;pki为公钥,且
3.如权利要求1所述的一种基于区块链的分布式电子投票方法,其特征在于,利用盲化因子对选票进行盲化,具体为:
盲化因子为任意选择的随机数b(i,k),盲化操作为:
V(i,k)=(v(i,k)+b(i,k))modp;
其中,v(i,k)为选票格式。
4.如权利要求1所述的一种基于区块链的分布式电子投票方法,其特征在于,所述区块链对选票进行验证并公布,具体为:
检验发出投票指令的投票者是否还有投票余额,然后检验投票指令对应的选票是否合法。
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。