CN113381991B - 基于区块链的电子投票系统及方法 - Google Patents
基于区块链的电子投票系统及方法 Download PDFInfo
- Publication number
- CN113381991B CN113381991B CN202110629318.6A CN202110629318A CN113381991B CN 113381991 B CN113381991 B CN 113381991B CN 202110629318 A CN202110629318 A CN 202110629318A CN 113381991 B CN113381991 B CN 113381991B
- Authority
- CN
- China
- Prior art keywords
- voter
- voting
- zero knowledge
- proof
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本发明涉及一种基于区块链的电子投票系统,所述系统包括候选人单元、投票人单元、选举组织方和区块链平台;所述选举组织者对每个投票人的身份进行认证,验证其是否具有投票资格;所述投票人在选举系统中登记后进行投票;所述区块链平台用于保证已提交的数据不会被删除或篡改。本发明实现分布式防篡改,不依赖任何中央机构来完成投票和计票程序。
Description
技术领域
本发明涉及区块链领域,具体涉及一种基于区块链的电子投票系统及方法。
背景技术
选举和投票是民众行使公民权利不可或缺的机制。近来,许多政府都投入了大量资金用于建立一个可信的投票系统。爱沙尼亚就在国家选举中采用了在线投票。然而,在线选举系统也存在着安全隐患。2015年,新南威尔士选举委员会承认,多达66000张选票被在线投票网站iVote泄露,这些选票可能在无法觉察的情况下被曝光或篡改。这一重大事故暴露了传统电子投票系统的漏洞。由于中心化架构系统容易面临单点故障和DDoS攻击等问题,传统的在线投票系统往往存在着选票容易被修改甚至删除的情况。此外,由于缺乏有效的验证机制,还会出现同一投票人双投甚至多投的行为。同样,在传统的在线投票系统中,选举结果往往由选举组织者统计。即使组织者行为不当,提供虚假的结果,投票人也没有办法核实选举结果。
由于集中式模型的种种缺点,有必要减少对集中式架构的依赖,构建一个分布式的电子投票系统,以保证系统的不可篡改、隐私保护和可审计性。近年来,区块链技术在加密货币领域取得了很大的成功,它维护了一个不可变的分布式帐本以防止数据被篡改。该分布式账本不是由单个组织者管理,而是由区块链系统中的所有节点管理。在区块链中,不同区块由加密和哈希算法链接形成了区块链。每个区块都包含了前一个块的抗碰撞哈希、交易记录和时间戳。一旦数据被区块记录下来,该数据就无法被篡改。这种方式确保了帐本中数据记录的持久性和可验证性。
由于区块链的这些优良特性,许多基于区块链的在线投票系统被陆续提出。现有的方案大致可以分为两类。(1)需要计票机构的系统。尽管这些方案利用区块链的抗篡改特性来记录选票,它们仍然依赖一个或多个中央机构(如计票机构)来解密加密的选票并计算选举结果。(2)自计票系统。在自计票系统中,计票是一个公开的过程,每个实体(包括投票人和候选人)都可以验证所有的选票,从而计算最终的选举结果。然而,很多现有自计票系统是基于电子公告板(bulletin board)的,它无法抵抗黑客篡改或删除选票的攻击。
此外,现有的系统很少支持带保护隐私的灵活投票模式(flexible votingparadigm withprivacy protection)。大多数系统只实现了“是或否(yes-or-no)”的简单投票模式,从而使多个候选人竞选单个席位。然而在实际场景中,计分投票(score voting)选举制也在各种选举中被广泛采用。在计分投票中,投票人为每个候选人以分值进行投票,得票分数相加或平均后,由得分最高的候选人当选。以联合国秘书长的选举为例,投票人可以为候选人投出“赞成”、“反对”和“无意见”这三类票。另一个例子是犹他州绿党官员的选举,每张选票包含0-9这十个分数等级。计分投票也被用来评选奥斯卡最佳视觉效果的5个提名奖项。然而,现有在线投票系统均无法在保护隐私的前提下实现这种重要的选举类型。
发明内容
有鉴于此,本发明的目的在于提供一种基于区块链的电子投票系统及方法,实现分布式防篡改,不依赖任何中央机构来完成投票和计票程序。
为实现上述目的,本发明采用如下技术方案:
一种基于区块链的电子投票系统,所述系统包括候选人单元、投票人单元、选举组织方和区块链平台;所述选举组织者对每个投票人的身份进行认证,验证其是否具有投票资格;所述投票人在选举系统中登记后进行投票;所述区块链平台用于保证已提交的数据不会被删除或篡改。
进一步的,所述系统采用分布式ElGamal密码系统,在所述ElGamal密码系统中,E(m)是消息m的密文,E(m1+m2)可以由E(m1)·E(m2)计算得出;令为一个循环群,其中g是阶为素数p的群的生成元;表示集合{0,1,…,p-1},表示假设系统中有n个用户,每个用户都有一个私钥/公钥对该分布式系统的公钥消息m被加密为E(m)=(c1,c2)=(gr,gm·PKr),其中);解密时,每个用户需要计算一个部分解密值并将其广播;最终每个用户都能计算出
一种基于区块链的电子投票系统的投票方法,包括以下步骤:
预先定义一个固定参数P,设定每一张选票中的评分之和必须等于P;
进一步的,所述生成承诺Ci和零知识证明具体如下:为每个候选人分配一个评分pi,j,并满足0≤pi,j≤P, 以私钥Xi、评分和公钥为输入,生成承诺Ci和相应的零知识证明 首先计算然后选取随机数为每个pi,j计算Ci,j=(ζi,j,ηi,j),其中于是的承诺为
表达式
证明了(ηi,j,γi,j)中的pi,j是commit算法中承诺的值;
进一步的,若存在弃票的情况,则计票方式如下:
上述式子成立是由于
进一步的,,所述零知识证明方法如下:
(1)选择ρ,ek,k∈[0,p]\{j}。计算 aj=gρ,bj=(Wi)ρ;对于所有τ∈[0,P],计算 计算c=H(si,j,ζi,j,ηi,j,{aτ,bτ}τ∈[0,P]),dj=c-∑k=[0,P]\{j}dk,ej=ρ-si,jdj,
(1)选择ρ,ek,e’k,dk,d’k,其中k∈{0,1,2,…,j-1,j+1,…,P};计算aj=gρ,bj=(Wi)ρ,a’j=gρ,b’j=(Wi·g)ρ;然后,投票者对所有τ∈{0,1,2,…,P}计算接着,随机选择并计算 dj=c-∑k=[0,P],k≠jdk,ej=ρ-si,jdj,d’j=c-∑k=[0,P],k≠jd’k,e’j=ρ-Xid’j,f’j=ρ-ri,jd’j;
本发明与现有技术相比具有以下有益效果:
1、本发明实现分布式防篡改。该系统完全分布式,不依赖任何中央机构来完成投票和计票程序;与传统的选举方案相比,本发明利用区块链来防止选票被篡改或删除,实现了个人可验证性(individual verifiability),使每个投票人都可以验证自己的加密选票是否记录在区块链上,是否被正确机票。普遍可验证性(universal verifiability)保证了每个实体都可以计算并验证选举结果;
2、本发明在保护隐私的同时实现灵活的计分投票。投票人可以将指定范围内的不同评估分数分配给候选人。在每张选票中,评估分数的总和必须为一个常数。在投票阶段,投票人对候选人的评估分数进行加密,以确保机密性。隐私保护的计分投票所面临的主要挑战是,如何在不泄露具体分数的前提下,证明选票中的每个评估分数都在规定的范围内,并且分数的总和为一个常数。本发明提出了双零知识证明(dual-ZKP),它不仅为每个元素提供了“范围证明”,还为一组元素提供了“总和证明”。dual-ZKP的性质使得证明者可以在同一组元素集合上证明所有元素同时满足两个约束条件(即对单个元素的约束,以及对所有元素总和的约束)。我们设计了“1-out-K”的零知识证明算法来证明分数满足范围约束,并利用分布式ElGamal密码系统和零知识证明来证实评分总和为一个常数
3、本发明还设有弃票处理机制,每个投票人在将加密的选票公布在区块链之前,都应该对投票(即评估分数)做出承诺。如果一些投票人放弃公布选票,其他投票人仍然可以从承诺还原出选举结果。
附图说明
图1是本发明一实施例中分数投票示例;
图2是本发明系统模型示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图2,本发明提供一种基于区块链的电子投票系统,所述系统包括一组候选人和投票人,选举组织方和区块链平台。在本实施例中,系统中候选人的个数为nc,记为投票人的个数为nv,记为选举组织者需要对每个投票人的身份进行认证,验证其是否具有投票资格。投票人在选举系统中登记后可以进行投票。区块链平台用于保证已提交的数据不会被删除或篡改。
在本实施例中,符号变量设定如表1所示:
表1:符号变量
优选的,在本实施例中,投票系统的密码系统采用分布式ElGamal密码系统,在所述ElGamal密码系统中,E(m)是消息m的密文,E(m1+m2)可以由E(m1)·E(m2)计算得出;令为一个循环群,其中g是阶为素数p的群的生成元;表示集合{0,1,…,p-1},表示假设系统中有n个用户,每个用户都有一个私钥/公钥对该分布式系统的公钥消息m被加密为E(m)=(c1,c2)=(gr,gm·PKr),其中);解密时,每个用户需要计算一个部分解密值并将其广播;最终每个用户都能计算出
在本实施例中,还提供一种基于区块链的电子投票系统的投票方法,包括以下步骤:
优选的,在本实施例中,在注册阶段,每个投票人需要执行KeyGen算法为自己生成一个私钥/公钥对(Xi,Yi)。同时,还需要执行KeyDerive为对候选人的投票生成一个私钥/公钥对(xi,j,yi,j),其中i∈[nv],j∈[nc]。
为每个候选人分配一个评分pi,j,并满足0≤pi,j≤P, 以私钥Xi、评分和公钥为输入,生成承诺Ci和相应的零知识证明 首先计算然后选取随机数为每个pi,j计算Ci,j=(ζi,j,ηi,j)(其中)。于是的承诺为
在本实施例中,投票阶段:
在本实施例中,自计票阶段具体如下:
在本实施例中,优选的系统中的零知识证明方法如下。
(1)选择ρ,ek,k∈[0,p]\{j}。计算 aj=gρ,bj=(Wi)ρ。对于所有τ∈[0,P],计算 计算c=H(si,j,ζi,j,ηi,j,{aτ,bτ}τ∈[0,P]),dj=c-∑k=[0,P]\{j}dk,ej=ρ-si, jdj,
(1)选择ρ,ek,e’k,dk,d’k,其中k∈{0,1,2,…,j-1,j+1,…,P}。计算aj=gρ,bj=(Wi)ρ,a’j=gρ,b’j=(Wi·g)ρ。然后,投票者对所有τ∈{0,1,2,…,P}计算接着,随机选择并计算 dj=c-∑k=[0,P],k≠jdk,ej=ρ-si,jdj,d’j=c-∑k=[0,P],k≠jd’k,e’j=ρ-Xid’j,f’j=ρ-ri,jd’j。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种基于区块链的电子投票系统,其特征在于,所述系统包括候选人单元、投票人单元、选举组织方和区块链平台;所述选举组织方对每个投票人的身份进行认证,验证其是否具有投票资格;所述投票人在选举系统中登记后进行投票;所述区块链平台用于保证已提交的数据不会被删除或篡改;所述系统采用分布式ElGamal密码系统,在所述ElGamal密码系统中,E(m)是消息m的密文,E(m1+m2)可以由E(m1)·E(m2)计算得出;令为一个循环群,其中g是阶为素数p的群的生成元;p表示集合{0,1,…,p-1},表示p\0={1,…,p-1};假设系统中有n个用户,每个用户都有一个私钥/公钥对该分布式系统的公钥消息m被加密为E(m)=(c1,c2)=(gr,gm·PKr),其中解密时,每个用户需要计算一个部分解密值并将其广播;最终每个用户都能计算出
2.一种基于区块链的电子投票系统的投票方法,其特征在于,包括以下步骤:
预先定义一个固定参数P,设定每一张选票中的评分之和必须等于P;
所述生成承诺Ci和零知识证明具体如下:为每个候选人分配一个评分pi,j,并满足0≤pi,j≤P, 以私钥Xi、评分和公钥为输入,生成承诺Ci和相应的零知识证明 首先计算然后选取随机数为每个pi,j计算Ci,j=(ζi,j,ηi,j),其中于是的承诺为
表达式
证明了(ηi,j,γi,j)中的pi,j是commit算法中承诺的值;
6.根据权利要求2所述的基于区块链的电子投票系统的投票方法,其特征在于,所述零知识证明方法如下:
(1)选择计算 aj=gρ,bj=(Wi)ρ;对于所有τ∈[0,P],计算 计算c=H(si,j,ζi,j,ηi,j,{aτ,bτ}τ∈[0,P]),dj=c-Σk=[0,P]\{j}dk,ej=ρ-si, jdj,
(1)选择其中k∈{0,1,2,…,j-1,j+1,…,P};计算aj=gρ,bj=(Wi)ρ,a'j=gρ,b′j=(Wi·g)ρ;然后,投票者对所有τ∈{0,1,2,…,P}计算接着,随机选择并计算 dj=c-∑k=[0,P],k≠jdk,ej=ρ-si,jdj,d′j=c-Σk=[0,P],k≠jd'k,e'j=ρ-Xid′j,f′j=ρ-ri,jd′j;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629318.6A CN113381991B (zh) | 2021-06-04 | 2021-06-04 | 基于区块链的电子投票系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629318.6A CN113381991B (zh) | 2021-06-04 | 2021-06-04 | 基于区块链的电子投票系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381991A CN113381991A (zh) | 2021-09-10 |
CN113381991B true CN113381991B (zh) | 2022-12-13 |
Family
ID=77576225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629318.6A Active CN113381991B (zh) | 2021-06-04 | 2021-06-04 | 基于区块链的电子投票系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113381991B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114005217A (zh) * | 2021-10-21 | 2022-02-01 | 浙江工商大学 | 一种基于区块链的电子投票系统及方法 |
CN114444090B (zh) * | 2021-12-17 | 2023-06-20 | 中国科学院信息工程研究所 | 一种高效的秘密唯一领导人选举方法 |
CN117040928B (zh) * | 2023-10-08 | 2024-02-09 | 广州市悦智计算机有限公司 | 一种基于区块链智能合约实现投票权隐私发放方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785494A (zh) * | 2018-12-21 | 2019-05-21 | 暨南大学 | 基于区块链的可追踪的匿名电子投票方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019092650A1 (en) * | 2017-11-09 | 2019-05-16 | Electric Society Sa | An ad-hoc network |
US11257077B2 (en) * | 2017-11-30 | 2022-02-22 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
CN110060403B (zh) * | 2019-03-21 | 2021-06-22 | 杭州电子科技大学 | 基于区块链的一人多票电子投票方法及系统 |
CN110224993B (zh) * | 2019-05-16 | 2021-09-21 | 暨南大学 | 基于区块链的可追责匿名电子投票方法及系统 |
CN110555933B (zh) * | 2019-07-31 | 2021-04-30 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 电子投票方法、装置、设备及计算机存储介质 |
CN111476548B (zh) * | 2020-04-16 | 2024-01-23 | 山东师范大学 | 一种基于区块链的职称评审方法及系统 |
CN111612961B (zh) * | 2020-06-04 | 2021-04-06 | 西安电子科技大学 | 一种对投票人选票信息加密的电子投票方法 |
-
2021
- 2021-06-04 CN CN202110629318.6A patent/CN113381991B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785494A (zh) * | 2018-12-21 | 2019-05-21 | 暨南大学 | 基于区块链的可追踪的匿名电子投票方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113381991A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dimitriou | Efficient, coercion-free and universally verifiable blockchain-based voting | |
CN113381991B (zh) | 基于区块链的电子投票系统及方法 | |
WO2020124843A1 (zh) | 基于区块链的可追踪的匿名电子投票方法 | |
Juels et al. | Coercion-resistant electronic elections | |
Yang et al. | Priscore: blockchain-based self-tallying election system supporting score voting | |
CN110912705B (zh) | 一种基于区块链的分布式电子投票方法及系统 | |
CN112487468B (zh) | 基于区块链的可追踪的完全匿名电子投票方法及系统 | |
KR20060127194A (ko) | 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템 | |
Kremer et al. | To du or not to du: A security analysis of du-vote | |
CN114005217A (zh) | 一种基于区块链的电子投票系统及方法 | |
CN114333137A (zh) | 基于部分盲签名与区块链的匿名和抗胁迫电子投票系统 | |
CN114677794B (zh) | 一种基于区块链的电子投票方法 | |
CN109544772B (zh) | 一种安全高效的电子投票方法 | |
Fan et al. | DHS-voting: a distributed homomorphic signcryption E-voting | |
Khader et al. | Proving {Prêt}{à} Voter Receipt Free Using Computational Security Models | |
Lijuan et al. | Electronic Voting Scheme Based on Blockchain and SM2 Cryptographic Algorithm Zero-Knowledge Proof | |
CN113496406A (zh) | 一种基于区块链的强匿名电子投票协议 | |
Panja | Zero-Knowledge Proof, Deniability and Their Applications in Blockchain, E-Voting and Deniable Secret Handshake Protocols | |
Saini et al. | An Analytical study of E-voting System. | |
Akinyokun | Secure voter authentication for poll-site elections in developing countries | |
Canard et al. | Defeating malicious servers in a blind signatures based voting system | |
Fraser et al. | Protecting the privacy of voters: New definitions of ballot secrecy for e-voting | |
Agrawal et al. | Publicly auditable privacy-preserving electoral rolls | |
CN117201037A (zh) | 一种基于区块链、环签名和同态加密的电子投票选举方法 | |
Canard et al. | How to fit cryptographic e-voting into smart cards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |