一种基于联盟链的不记名电子投票方法技术

技术编号:29228144 阅读:60 留言:0更新日期:2021-07-10 01:15
本发明专利技术涉及区块链技术领域,具体涉及一种基于联盟链的不记名电子投票方法,包括以下步骤:发起节点广播候选人及候选人序号,发起节点产生N个混淆数,将混淆数分别派发给投票节点;投票节点生成若干个调整数和保留数,投票节点将若干个调整数随机派发给其他投票节点,将调整数与保留数相加作为新的保留数;投票节点使用其想要投票的候选人的序号对N求幂值并与保留数相加后签名广播,求得的最终和减去预设值后反推出N个加数,候选人序号对应幂值即得出候选人票数。本发明专利技术的有益效果是:1)使得投票节点的投票数对其他任何联盟链节点都具有隐私性,保证了投票方的隐私;2)能够有效发现发起方的作弊行为,保证投票的可信度。保证投票的可信度。保证投票的可信度。

【技术实现步骤摘要】
一种基于联盟链的不记名电子投票方法


[0001]本专利技术涉及区块链
,具体涉及一种基于联盟链的不记名电子投票方法。

技术介绍

[0002]随着互联网技术的发展,通过网络远程的进行电子投票逐渐走进人们的生活领域。通过网络的电子是以投票为中心的社会化网络服务,电子投票的票数的统计和显示完全由软件控制,无须人工参与,在一定程度上能够保证投票的公正性。为了保证投票的公正性及有效性,这些投票服务平台采取了多种验证技术来对投票请求人的身份进行验证。但目前的单子投票系统仍然是一个中心化的服务系统,其安全性不能得以很好的保证。且其可信度在社会中的印象不高。如何提高电子投票的公正性及有效性仍然是业界亟待解决的问题。联盟链是一种常用于企业应用的区块链实现形式,由多个企业或机构以一定准则建立。联盟链的准则建立及管理由联盟链委员会完成。因此联盟链的正常运行建立在联盟链委员会地位对等和被有效监督。联盟链委员会一般由联盟链成员通过投票选举形成,且联盟链委员会对联盟链的事务管理也通过匿名投票进行。目前在联盟链中实现不记名投票的方式为智能合约和安全多方计算。
[0003]如中国专利CN110110555A,公开日2019年8月9日,一种区块链中的投票方法,包括:群组服务单元接收N个联盟链委员的投票请求,任一个投票请求包含一个联盟链委员的密码承诺;针对一个密码承诺,群组服务单元根据密码承诺,确定一个联盟链委员的投票参数;群组服务单元将N个投票参数输入投票算法中进行计算,并将计算得到的待验证结果与预存的群管理私钥进行对比,若待验证结果与群管理私钥相同,则确定投票内容通过;投票算法设置为输入正确的投票参数的个数大于第一阈值时,计算得到的待验证结果与群管理私钥相同。其技术方案中联盟链委员直接将投票参数发送到投票算法,由投票算法判断联盟链委员的投票是否为通过,该技术方案不能保证投票方的隐私安全。且投票算法采用智能合约的形式运行在联盟链上,会导致联盟链的每个节点均有机会接触到其中的投票数据,不仅隐私性较差,还会导致效率较低。

技术实现思路

[0004]本专利技术要解决的技术问题是:目前电子投票的隐私性差和公信力低的技术问题。提出了一种基于联盟链的不记名电子投票方法,本方法能够提高投票的真实性并有效保护隐私。
[0005]为解决上述技术问题,本专利技术所采取的技术方案为:一种基于联盟链的不记名电子投票方法,包括发起节点和N个投票节点,包括以下步骤:所述发起节点广播候选人及候选人序号,所述发起节点产生N个和为预设值的混淆数,所述发起节点将N个所述混淆数分别派发给N个所述投票节点;所述投票节点收到混淆数后,生成若干个调整数和保留数,所述保留数和若干个所述调整数的和等于混淆数,所述投票节点将若干个调整数随机派发给其他投票节点,投票节点收到其他投票节点派发的调整数后,将调整数与保留数相加作为
新的保留数;所述投票节点使用其想要投票的候选人的序号对N求幂值,将幂值与保留数相加后签名广播,所述发起节点收到全部投票节点签名广播的数后求得最终和,将最终和减去预设值后反推出N个加数,候选人序号对应的幂值的数量即为候选人的得票数。所述幂值作为投票数。通过混淆数使投票节点之间不能获得其他投票节点的投票数,投票节点因此相互之间具有保密性,调整数和保留数使得发起节点无法获得投票节点最终使用的保留数,保证投票节点的投票数对发起节点也具有保密性,二者作用叠加使得投票节点的投票数对其他任何联盟链节点都具有隐私性,其他联盟链节点无法知晓投票节点将票投给了哪些候选人,保证了投票方的隐私。投票数与保留数相加后,是以签名后广播的形式发出,任何一个联盟链节点都可以自行计算最终投票结果,只需要发起节点公开预设值即可,发起节点在投票进行前可将预设值的哈希值上传到联盟链保存,投票结束后,所述投票节点将收到的混淆数拆分成N个加数,所述投票节点自己保留一个混淆数拆出的加数,而后分别将剩余N

1个加数发送给其他N

1个投票节点,每个投票节点将保留和收到的加数相加后签名广播,全部广播所求的和应当等于预设值。若不相等则判定发起方在混淆数上作弊,因而本方法能够有效发现发起方的作弊行为,而投票方因为无法有效控制投票结果向朝着自身有利的方向发展,而无作弊的动机,保证投票的可信度。
[0006]作为优选,任意投票节点想要验证投票则发起验证请求,其他N

1个投票节点同意后开始验证,发起验证的投票节点记为验证节点,所述验证节点产生N个和为0的验证数,所述验证节点保留一个验证数,将其他N

1个验证数派发给N

1个投票节点;投票节点收到验证数后,将验证数和保留数相加即为验证和,将验证和拆分为N个随机数,将N个随机数派发给N个投票节点,投票节点将收到的随机数求和后签名广播;所述验证节点收到的全部签名广播的随机数和的求和,记为随机数总和,若随机数总和与所述验证节点保留的验证数的和为所述的预设值,则判断验证通过,反之,则判断不通过,将验证结果签名后广播;若存在验证不通过的结果,则持续验证步骤直到超过预设比例的投票节点签名广播验证结果相同,若超过预设比例的投票节点签名广播的验证结果为通过,则最终判定投票有效,反之,则判断投票结果无效,对验证结果为有效的节点进行惩罚,删除本次投票的数据后,重新投票。通过验证数混淆收到的混淆数进行求和,判断混淆数和是否与预设值相等,能够检验发起方是否有作弊行为,同时能够更加有效的保护投票节点的隐私性。
[0007]作为优选,所述发起节点广播候选人及候选人序号,所述发起节点产生N个和为0的混淆数,所述发起节点收到全部投票节点签名广播的数后求得最终和,将最终和转换为N进制。将预设值设为0能够快速获得最终数。混淆数可以为负数,也可以为小数。
[0008]作为优选,所述发起节点将所述预设值的数字指纹上链存储,当所述发起节点收到全部投票节点签名广播的数后将所述预设值公开,N个所述投票节点验证所述预设值的数字指纹,而后所述投票节点将全部投票节点签名广播的数后求得最终和减所述预设值后转换为N进制,验证所述发起节点公开的N进制数是否一致,若不一致则发起验证请求,反之,则不做操作。本优选方案能够验证发起节点是否在计票环节作弊,保证计票的可靠。
[0009]作为优选,所述发起节点将N个所述混淆数分别派发给N个所述投票节点的方法包括:N个所述投票节点分别产生一对公私秘钥,所述投票节点将公钥随机发送给另一个投票节点,当投票节点收到其他投票节点发送的公钥时,将收到的公钥发送给所述发起节点;所述发起节点将收到N个公钥,将N个所述混淆数分别使用N个公钥加密后广播;所述投票节点
尝试使用私钥解密广播的加密混淆数,能够成功解密则接收解密出的混淆数。通过公私秘钥分发混淆数,能够确保混淆数不被泄露,保证隐私性。
[0010]作为优选,所述投票节点最多能够选择M个候选人投票,所述投票节点使用其想要投票的若干个候选人的序号分别对N+1求幂值,将幂值相加后再与保留数相加后签名广播,将最终和转换为N+1进制,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的不记名电子投票方法,包括发起节点和N个投票节点,其特征在于,包括以下步骤:所述发起节点广播候选人及候选人序号,所述发起节点产生N个和为预设值的混淆数,所述发起节点将N个所述混淆数分别派发给N个所述投票节点;所述投票节点收到混淆数后,生成若干个调整数和保留数,所述保留数和若干个所述调整数的和等于混淆数,所述投票节点将若干个调整数随机派发给其他投票节点,投票节点收到其他投票节点派发的调整数后,将调整数与保留数相加作为新的保留数;所述投票节点使用其想要投票的候选人的序号对N求幂值,将幂值与保留数相加后签名广播,所述发起节点收到全部投票节点签名广播的数后求得最终和,将最终和减去预设值后反推出N个加数,候选人序号对应的幂值的数量即为候选人的得票数。2.根据权利要求1所述的一种基于联盟链的不记名电子投票方法,其特征在于,还包括验证步骤:任意投票节点想要验证投票则发起验证请求,其他N

1个投票节点同意后开始验证,发起验证的投票节点记为验证节点,所述验证节点产生N个和为0的验证数,所述验证节点保留一个验证数,将其他N

1个验证数派发给N

1个投票节点;投票节点收到验证数后,将验证数和保留数相加即为验证和,将验证和拆分为N个随机数,将N个随机数派发给N个投票节点,投票节点将收到的随机数求和后签名广播;所述验证节点收到的全部签名广播的随机数和的求和,记为随机数总和,若随机数总和与所述验证节点保留的验证数的和为所述的预设值,则判断验证通过,反之,则判断不通过,将验证结果签名后广播;若存在验证不通过的结果,则持续验证步骤直到超过预设比例的投票节点签名广播验证结果相同,若超过预设比例的投票节点签名广播的验证结果为通过,则最终判定投票有效,反之,则判断投票结果无效,对验证结果为有效的节点进行惩罚,删除本次投票的数据后,重新投票。3.根据权利要求1或2所述的一种基于联盟链的不记名电子投票方法,其特征在于,所述发起节点广播候选人及候选人序号,所述发起节点产生N个和为0的混淆数,所述发起节点收到全部投票节点签名广播的数后求得最终和,将最终和转换为N...

【专利技术属性】
技术研发人员:张金琳俞学劢
申请(专利权)人:浙江数秦科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1