当前位置: 首页 > 专利查询>新疆大学专利>正文

基于以太坊的分布式匿名投票方法、装置、设备及介质制造方法及图纸

技术编号:38243800 阅读:9 留言:0更新日期:2023-07-25 18:05
本发明专利技术公开了一种基于以太坊的分布式匿名投票方法、装置、设备及介质,包括:对登记的投票用户进行第一验证,在第一验证通过后将投票用户的身份承诺值存到区块链中,所有投票用户第一验证通过后,开启投票,获取投票用户在区块链上的所有身份承诺值,生成梅克尔树,并根据每个身份承诺值在梅克尔树中的位置,生成梅克尔树过程中的兄弟节点,基于投票用户的匿名身份和外部身份的信息,通过见证执行文件和证明密钥生成证明,获取每个投票用户的投票信息,并将投票信息和证明上传至区块链进行第二验证,在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票,采用本发明专利技术可提高投票的公开透明和提高系统的安全性。可提高投票的公开透明和提高系统的安全性。可提高投票的公开透明和提高系统的安全性。

【技术实现步骤摘要】
基于以太坊的分布式匿名投票方法、装置、设备及介质


[0001]本专利技术涉及区块链
,尤其涉及一种基于以太坊的分布式匿名投票方法、装置、设备及介质。

技术介绍

[0002]随着互联网技术的快速发展,许多传统的线下服务,都转移到了线上,而网上投票被称为电子投票,电子投票的用户就是选民和选举当局。选民可以随时随地的通过电子投票向选举当局提交他或她的选票,选举当局负责收集选民的选票。电子投票越来越流行,因为它具有很大的潜力,可以有效的处理大量选民的问题,节省时间和成本等优点,因此受到越来越多的关注,并正逐渐取代传统的投票方式。但是,与传统的投票方式不同,电子投票系统可能出现系统故障,网络和信息安全的问题。现有的电子投票系统不仅旨在提高投票的可访问性,还旨在维护一个安全和防篡改的系统,且澳大利亚、巴西、爱沙尼亚、荷兰和挪威等许多国家已经在全国选举中采用了电子投票,然而,这些实施电子投票协议和系统的尝试表明,一些安全问题仍然没有得到解决。
[0003]目前,使用服务器(典型的受信任的第三方)可以很容易的构建电子投票系统,但是,服务器会出现单点故障问题,造成数据丢失,但是区块链用一组独立的节点来代替集中式服务器,从而消除了集中式投票带来的单点故障问题。区块链包含了很多安全措施,但是由于其分布式共识的特性,攻击者仍然可以通过分析网络流量和公共账本中的交易信息从而获取到投票用户的信息。
[0004]因而,现有电子投票方式缺乏安全高效、信息透明。

技术实现思路

[0005]本专利技术实施例提供一种基于以太坊的分布式匿名投票方法、装置、计算机设备和存储介质,以提高电子投票的安全性和效率。
[0006]为了解决上述技术问题,本申请实施例提供一种基于以太坊的分布式匿名投票方法,所述基于以太坊的分布式匿名投票方法包括:
[0007]对登记的投票用户进行第一验证,在第一验证通过后将投票用户的身份承诺值存到区块链中;
[0008]在检测到所有投票用户第一验证通过后,开启投票,获取投票用户在区块链上的所有身份承诺值,生成梅克尔树,并根据每个所述身份承诺值在梅克尔树中的位置,生成梅克尔树过程中的兄弟节点,基于投票用户的匿名身份和外部身份的信息,通过见证执行文件和证明密钥生成证明;
[0009]获取每个投票用户的投票信息,并将所述投票信息和证明上传至区块链进行第二验证,以验证投票用户的身份承诺值是否存在树上;
[0010]在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票。
[0011]可选地,在所述对登记的投票用户进行验证,在验证通过后将投票用户的身份承
诺值存到区块链中,并在检测到所有投票用户验证通过后,开启投票之前,所述基于以太坊的分布式匿名投票方法还包括:
[0012]根据投票用户的个人信息进行以太坊地址的申请;
[0013]在获得管理员返回的以太坊地址后,为投票用户注册加密货币钱包,并连接到以太坊区块链网络;
[0014]根据投票用户的密钥地址将以太坊账户地址添加到投票用户的加密货币钱包中;
[0015]投票过程中从加密货币钱包中获取投票用户的账户信息,然后进行用户登记和验证。
[0016]可选地,在所述对登记的投票用户进行验证,在验证通过后将投票用户的身份承诺值存到区块链中,并在检测到所有投票用户验证通过后,开启投票之前,所述基于以太坊的分布式匿名投票方法还包括:
[0017]基于投票用户的身份承诺值和零知识证明机制,计算生成验证密钥,所述验证密钥用于对证明进行验证;
[0018]将所述验证密钥和验证算法通过智能合约的方式部署到区块链上。
[0019]可选地,所述在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票之后,所述基于以太坊的分布式匿名投票方法还包括:
[0020]在检测到投票成功后,将投票用户的用户信息和匿名身份哈希后的标识符,记录至区块链上。
[0021]可选地,所述在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票之后,所述基于以太坊的分布式匿名投票方法还包括:
[0022]采用计票合约在投票结束后统计选票,得到投票结果。
[0023]可选地,所述获取投票用户在区块链上的所有身份承诺值,生成梅克尔树,并根据每个所述身份承诺值在梅克尔树中的位置,生成梅克尔树过程中的兄弟节点包括:
[0024]在接收到投票用户的投票时,获取链上记录的所有身份承诺;
[0025]生成一个梅克尔树,最后返回包括梅克尔树树根,投票用户身份承若的路径索引数组,生成梅克尔树过程中相邻兄弟节点的哈希数组和投票用户身份承诺。
[0026]为了解决上述技术问题,本申请实施例还提供一种基于以太坊的分布式匿名投票装置,包括:
[0027]第一验证模块,用于对登记的投票用户进行第一验证,在第一验证通过后将投票用户的身份承诺值存到区块链中;
[0028]投票启动模块,用于在检测到所有投票用户第一验证通过后,开启投票,获取投票用户在区块链上的所有身份承诺值,生成梅克尔树,并根据每个所述身份承诺值在梅克尔树中的位置,生成梅克尔树过程中的兄弟节点,通过投票用户的匿名身份和外部身份的信息通过见证执行文件和证明密钥生成证明;
[0029]第二验证模块,用于获取每个投票用户的投票信息,并将所述投票信息和证明上传至区块链进行第二验证,以验证投票用户的身份承诺值是否存在树上;
[0030]投票执行模块,用于在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票。
[0031]可选地,所述基于以太坊的分布式匿名投票装置还包括:
[0032]地址申请模块,用于根据投票用户的个人信息进行以太坊地址的申请;
[0033]钱包注册模块,用于在获得管理员返回的以太坊地址后,为投票用户注册加密货币钱包,并连接到以太坊区块链网络;
[0034]地址添加模块,用于根据投票用户的密钥地址将以太坊账户地址添加到投票用户的加密货币钱包中;
[0035]信息获取模块,用于投票过程中从加密货币钱包中获取投票用户的账户信息,然后进行用户登记和验证。
[0036]可选地,所述基于以太坊的分布式匿名投票装置还包括:
[0037]证明密钥生成模块,用于基于投票用户的身份承诺值和零知识证明机制,计算生成验证密钥,所述验证密钥用于对证明进行验证;
[0038]部署模块,用于将所述验证密钥和验证算法通过智能合约的方式部署到区块链上。
[0039]可选地,所述基于以太坊的分布式匿名投票装置还包括:
[0040]用户信息上链模块,用于在检测到投票成功后,将投票用户的用户信息和匿名身份哈希后的标识符,记录至区块链上。
[0041]可选地,所述基于以太坊的分布式匿名投票装置还包括:
[0042]投票统计模块,用于采用计票合约在投票结束后统计选票,得到投票结果。
[0043本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于以太坊的分布式匿名投票方法,其特征在于,包括:对登记的投票用户进行第一验证,在第一验证通过后将投票用户的身份承诺值存到区块链中;在检测到所有投票用户第一验证通过后,开启投票,获取投票用户在区块链上的所有身份承诺值,生成梅克尔树,并根据每个所述身份承诺值在梅克尔树中的位置,生成梅克尔树过程中的兄弟节点,基于投票用户的匿名身份和外部身份的信息,通过见证执行文件和证明密钥生成证明;获取每个投票用户的投票信息,并将所述投票信息和证明上传至区块链进行第二验证,以验证投票用户的身份承诺值是否存在树上;在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票。2.如权利要求1所述的基于以太坊的分布式匿名投票方法,其特征在于,在所述对登记的投票用户进行验证,在验证通过后将投票用户的身份承诺值存到区块链中,并在检测到所有投票用户验证通过后,开启投票之前,所述基于以太坊的分布式匿名投票方法还包括:根据投票用户的个人信息进行以太坊地址的申请;在获得管理员返回的以太坊地址后,为投票用户注册加密货币钱包,并连接到以太坊区块链网络;根据投票用户的密钥地址将以太坊账户地址添加到投票用户的加密货币钱包中;投票过程中从加密货币钱包中获取投票用户的账户信息,然后进行用户登记和验证。3.如权利要求1所述的基于以太坊的分布式匿名投票方法,其特征在于,在所述对登记的投票用户进行验证,在验证通过后将投票用户的身份承诺值存到区块链中,并在检测到所有投票用户验证通过后,开启投票之前,所述基于以太坊的分布式匿名投票方法还包括:基于投票用户的身份承诺值和零知识证明机制,计算生成验证密钥,所述验证密钥用于对证明进行验证;将所述验证密钥和验证算法通过智能合约的方式部署到区块链上。4.如权利要求1所述的基于以太坊的分布式匿名投票方法,其特征在于,所述在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票之后,所述基于以太坊的分布式匿名投票方法还包括:在检测到投票成功后,将投票用户的用户信息和匿名身份哈希后的标识符,记录至区块链上,防止用户二次投票。5.如权利要求1所述的基于以太坊的分布式匿名投票方法,其特征在于,所述在第二验证成功后,采用智能合约根据投票用户的选择,向候选人进行投票之后,所述基于以太坊的分布式匿名投票方法还包括:采用计票合约在投票结...

【专利技术属性】
技术研发人员:汤文杰杨文忠田晓丹陈丹妮孙家文
申请(专利权)人:新疆大学
类型:发明
国别省市:

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

1