CN109274505B - 一种基于区块链技术的匿名电子选举方法 - Google Patents
一种基于区块链技术的匿名电子选举方法 Download PDFInfo
- Publication number
- CN109274505B CN109274505B CN201811402066.8A CN201811402066A CN109274505B CN 109274505 B CN109274505 B CN 109274505B CN 201811402066 A CN201811402066 A CN 201811402066A CN 109274505 B CN109274505 B CN 109274505B
- Authority
- CN
- China
- Prior art keywords
- voting
- address
- block chain
- user
- signature
- 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
- 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/3247—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 involving digital signatures
- H04L9/3257—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 involving digital signatures using blind signatures
-
- 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/3247—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 involving digital signatures
- H04L9/3249—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 involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Abstract
本发明公开了一种基于区块链技术的匿名电子选举方法,通过区块链技术与传统加密算法相结合设计新的匿名投票方法。区块链作为一门重要的应用创新技术,提供了一套需要集体来维护去中心化、安全可靠的分布式数据库技术方案,使其在解决许多应用问题时具有明显的优势。本发明采用以太坊区块链中的智能合约来代替可信的第三方,以区块链中账号的交易来实现投票过程,并采用盲签名算法来保护投票的匿名性,整个投票过程及投票结果都会被记录在以太坊区块链中,从而设计出一种新的基于区块链技术的电子投票方法,能够实现投票的公开透明,提高投票的安全性。
Description
技术领域
本发明属于计算机通信安全领域,尤其涉及一种基于区块链技术的匿名电子投票方法。
背景技术
近年来,电子投票已经慢慢被人们所熟知,相较于通常所使用的纸质投票,电子投票具有很多优点,包括:投票方式简单易操作、计票方便快捷、准确率高,可以大大节省开支。电子投票最初是由美国的密码学家David Chaum于1981年提出,在全世界范围内都有着广阔的应用,特别是近年来随着互联网应用的普及,电子投票得到了蓬勃发展,但同时也面临诸多挑战。
基于互联网的电子投票,由于网络的开放性,存在着更多的安全隐患,因此很多早期投票协议并不适合大规模推广应用。在此之后,相关密码学理论得到进一步发展,世界上有许多密码学家都对此进行了进一步研究,并提出了一些采用不同密码学算法的电子选举方案,但是目前的电子投票方案由于采用传统的加密手段、数据传输和共享方式,很难做到满足高安全性的要求。
为了解决上述问题,克服传统安全手段的缺陷,使得电子投票安全高效、信息公开、可以防止合谋攻击,则需要提出新的解决方案。
发明内容
本发明的目的在于提供一种基于区块链技术的匿名电子投票方法,该方法目的在于解决传统的电子投票方法的难以保证投票公开性、匿名性、高安全性的问题。
为达到上述目的,本发明的技术方案是这样实现的:
管理员用户新建并发布投票项目;
投票用户选择投票项目;
投票用户通过以太坊网络生成一个用于投票的以太坊地址;
投票用户随机选择盲化因子,对该区块链地址进行加盲处理,得到盲消息;
投票用户将加盲信息与个人身份信息发送给签名机构申请进行签名认证;
签名机构受到信息后,验证该用户是否为合法投票者;
签名机构判断该用户是否首次申请签名;
签名机构用私钥对加盲信息签名,并将签名发还给投票用户;
签名机构在签名信息表中记录该投票用户,防止二次签名;
投票用户收到加盲签名,对信息去盲,得到地址签名;
投票用户将地址签名与地址通过匿名渠道发送到认证合约上;
认证合约判断该地址是否被签名机构进行过签名,验证正确,向该地址转入以太币,作为投票依据;
投票用户选择候选项,使用该地址对候选项地址转入以太币,一次投票完成;
计票合约累加该候选项所接受合法地址投票的次数,作为票数;
多方节点产生共识后写入以太坊区块链账本,投票结果公布。
本发明对比现有技术方案,有如下优点:
本发明在传统的电子投票方法中引入了区块链技术,用以太坊中的智能合约来代替可信的第三方,以区块链地址的交易来实现投票过程,并采用RSA盲签名算法来保护投票的匿名性,投票人可以隐去现实的身份去进行投票,整个投票过程及投票结果都会被记录在以太坊区块链中,每个投票节点都可以通过查看区块链中账号的交易过程来检验整个投票过程的真实性、可靠性、完整性,能够实现投票的公开透明,适用于大规模投票,同时提高了投票的安全性。
附图说明
图1是本发明基于区块链技术的匿名电子投票方法的投票方法时序图;
图2是本发明基于区块链技术的匿名电子投票方法的业务流程图;
图3是本发明基于区块链技术的匿名电子投票方法的投票方法流程图;
图4是本发明基于区块链技术的匿名电子投票方法的框架层次图;
具体实施方式
本发明提供一种基于区块链技术的匿名电子投票方法,方法实现的具体投票时序图如图1所示,该方法目的在于解决传统的电子投票方法的难以保证投票公开性、匿名性、高安全性的问题。实现区块链投票的框架层次图如图4所示。
本发明的区块链匿名电子投票方法包括如下步骤:
S1)图2是本发明的业务流程图,当管理员用户新建并发布投票项目后,投票用户选择相应的投票项目;
S2)投票用户为此投票项目请求生成以太坊区块链地址,并且投票用户在请求生成区块链地址之前需要拥有一个身份ID,此ID不仅可以标识用户身份还可以用于生成区块链地址;
S3)以太坊区块链对外界提供Web3接口,调用personal.newAccount接口与以太坊平台进行交互,为投票用户都生成一个区块链账号,此区块链地址用于投票且只有用户本人知晓;
S4)投票用户根据RSA盲签名加密算法的要求,为所需加密的区块链地址随机选取加盲因子,实现对地址的加盲;
S5)投票用户将加盲后的信息发送给签名机构,请求签名机构盲签名,签名机构是个拥有公私钥第三方机构,签名机构验证用户的身份ID,判断用户是否具有投票资格。签名机构使用私钥对具有投票资格用户发送的加盲信息进行签名,并将该签名信息发还给原投票用户;
S6)签名机构在签名信息表中记录该投票用户,防止二次签名;
S7)投票用户接受盲签名信息后,根据RSA盲签名加密算法的要求对信息实现去盲,得到地址签名;
S8)投票用户将地址签名与地址通过匿名渠道发送到认证合约上,请求验证该地址的投票资格,认证合约部署在以太坊区块链中,接受用户发送的地址与地址签名信息,主要功能是验证该地址是否为签名机构所签名,验证通过,则表明该地址具有投票资格;
S9)认证合约验证通过后,管理员向该地址转入投票代币用于后续投票;
S10)投票用户选择候选项地址,使用该地址对候选项地址转入以太币,一次投票完成;
S11)调用计票合约累加该候选项地址所接受合法地址投票的次数,计票合约是部署在以太坊区块链中,统计用户对于合法候选项投票的次数,将次数累加并将此作为候选项获得的票数。
S12)区块链的多方节点产生共识后写入以太坊区块链账本,投票结果公布。
S13)投票用户通过查看交易信息可验证投票是否正确,图4是本发明的具体投票方法流程图。
以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化或修饰,均仍属于本发明技术方案的保护范围。
Claims (6)
1.一种基于区块链技术的匿名电子选举方法,其特征在于包括如下步骤:
步骤1:投票用户请求生成以太坊区块链地址;
步骤2:使用以太坊区块链为用户生成地址,并将结果返回;具体为:投票用户在请求生成区块链地址之前需要拥有一个身份ID,此ID不仅可以标识用户身份还可以用于生成区块链地址;以太坊区块链对外界提供Web3接口,调用personal.newAccount接口与以太坊平台进行交互,为每个候选项和用户都生成一个区块链账号,候选项的区块链地址仅仅是作为接收转账的地址,不需要进行其他操作,而用户生成的区块链地址用于投票且只有用户本人知晓;
步骤3:投票用户对新生成的地址进行加盲处理;
步骤4:投票用户将加盲后的信息发送给签名机构,请求签名机构盲签名;
步骤5:签名机构验证用户的投票资格,验证通过后进行签名,并将签名信息返回;
步骤6:投票用户接受盲签名信息后对信息实现去盲,得到地址签名;
步骤7:投票用户将地址签名信息发送至认证合约,请求验证该地址的投票资格;
步骤8:认证合约验证通过后,由管理员向签名后的地址转入投票代币;
步骤9:投票用户使用该地址向候选项地址进行转账投票;
步骤10:计票合约统计选票,公布结果,记录实际投票人数。
2.如权利要求1所述的方法,其特征在于:用户请求生成区块链地址后,用户将使用该地址进行转账投票操作,且转账投票操作记录在以太坊区块链中。
3.如权利要求1所述的基于区块链技术的匿名电子选举方法,其特征在于:所述步骤3中,投票用户根据RSA盲签名加密算法的要求,为所需加密的区块链地址随机选取加盲因子,实现对地址的加盲。
4.如权利要求1所述的一种基于区块链技术的匿名电子选举方法,其特征在于:所述的签名机构是个拥有公私钥第三方机构,签名机构验证用户的身份ID,判断用户是否具有投票资格;签名机构使用私钥对具有投票资格用户发送的加盲信息进行签名,并将该签名信息发还给原投票用户。
5.如权利要求1所述的一种基于区块链技术的匿名电子选举方法,其特征在于:所述的认证合约部署在以太坊区块链中,接受用户发送的地址与地址签名信息,验证该地址是否为签名机构所签名,验证通过,则表明该地址具有投票资格,管理员向该地址转入投票代币用于后续投票。
6.如权利要求1所述的一种基于区块链技术的匿名电子选举方法,其特征在于:所述的计票合约部署在以太坊区块链中,统计用户对于合法候选项投票的次数,将次数累加并将此作为候选项获得的票数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811402066.8A CN109274505B (zh) | 2018-11-22 | 2018-11-22 | 一种基于区块链技术的匿名电子选举方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811402066.8A CN109274505B (zh) | 2018-11-22 | 2018-11-22 | 一种基于区块链技术的匿名电子选举方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109274505A CN109274505A (zh) | 2019-01-25 |
CN109274505B true CN109274505B (zh) | 2021-09-24 |
Family
ID=65191313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811402066.8A Active CN109274505B (zh) | 2018-11-22 | 2018-11-22 | 一种基于区块链技术的匿名电子选举方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274505B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934988B (zh) * | 2019-02-15 | 2021-05-28 | 三亚哈尔滨工程大学南海创新发展基地 | 一种基于区块链的电子投票方法 |
CN110097678A (zh) * | 2019-03-13 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 基于区块链的投票方法、装置、计算机设备及存储介质 |
CN110149304B (zh) * | 2019-04-01 | 2020-08-04 | 中国科学院信息工程研究所 | 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统 |
CN110232764B (zh) * | 2019-05-16 | 2021-09-21 | 暨南大学 | 基于区块链的匿名电子投票方法及系统 |
CN110619521A (zh) * | 2019-08-27 | 2019-12-27 | 复旦大学 | 基于区块链的匿名调子调查系统 |
CN110519268B (zh) * | 2019-08-27 | 2024-03-05 | 深圳前海微众银行股份有限公司 | 基于区块链的投票方法、装置、设备、系统及存储介质 |
CN111416709B (zh) * | 2020-03-18 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 基于区块链系统的投票方法、装置、设备及存储介质 |
CN111159683B (zh) * | 2020-04-03 | 2020-08-21 | 深圳壹账通智能科技有限公司 | 电子投票方法、装置、计算机和存储介质 |
CN111817855B (zh) * | 2020-06-10 | 2023-02-24 | 北京航空航天大学 | 基于以太坊区块链的电子投票方法及系统 |
TWI755210B (zh) * | 2020-12-22 | 2022-02-11 | 天宿智能科技股份有限公司 | 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN108109257A (zh) * | 2018-01-05 | 2018-06-01 | 杭州电子科技大学 | 一种基于区块链的匿名电子投票方法 |
CN108765683A (zh) * | 2018-05-23 | 2018-11-06 | 栾友祥 | 一种基于区块链技术的投票系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170352219A1 (en) * | 2015-08-06 | 2017-12-07 | Blockchain Technologies Corporation | System and method for securely receiving and counting votes in an election |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
-
2018
- 2018-11-22 CN CN201811402066.8A patent/CN109274505B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN108109257A (zh) * | 2018-01-05 | 2018-06-01 | 杭州电子科技大学 | 一种基于区块链的匿名电子投票方法 |
CN108765683A (zh) * | 2018-05-23 | 2018-11-06 | 栾友祥 | 一种基于区块链技术的投票系统 |
Non-Patent Citations (2)
Title |
---|
区块链交易数据隐私保护机制;祝烈煌;《大数据》;20180118;全文 * |
基于区块链的安全投票系统设计与实现;颜春辉;《通信技术》;20180810;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109274505A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274505B (zh) | 一种基于区块链技术的匿名电子选举方法 | |
CN110599147B (zh) | 一种基于区块链的密文检索公平支付方法及系统 | |
CN110383279B (zh) | 用于检测重放攻击的系统和方法 | |
Ruffing et al. | Liar, liar, coins on fire! Penalizing equivocation by loss of bitcoins | |
CN106878000B (zh) | 一种联盟链共识方法及系统 | |
CN102722931B (zh) | 基于智能移动通讯设备的投票系统及其方法 | |
Çabuk et al. | A survey on feasibility and suitability of blockchain techniques for the e-voting systems | |
CN110431577B (zh) | 用于检测重放攻击的系统和方法 | |
CN106910051A (zh) | 一种基于联盟链的dns资源记录公证方法及系统 | |
AU2017313687A1 (en) | Dynamic cryptocurrency aliasing | |
CN108270551B (zh) | 一种区块链上的安全业务构建系统 | |
CN113239382A (zh) | 一种基于区块链智能合约的可信身份模型 | |
Al-Khouri | PKI in government digital identity management systems | |
CN104079413A (zh) | 增强型一次性动态口令的认证方法及系统 | |
Qu et al. | A electronic voting protocol based on blockchain and homomorphic signcryption | |
CN102377573A (zh) | 一种口令可安全更新的双因子身份认证方法 | |
CN110414983A (zh) | 基于区块链的征信信息处理方法、装置、设备及存储介质 | |
CN106533681B (zh) | 一种支持部分出示的属性证明方法与系统 | |
Islam | A privacy-preserving transparent central bank digital currency system based on consortium blockchain and unspent transaction outputs | |
CN104519039B (zh) | 发话服务器、发话方法、发话系统、发话终端及移动终端 | |
CN110555682B (zh) | 基于联盟链的多通道实现方法 | |
CN103873586A (zh) | 基于数字证书的公共帐号管理方法及微博管理平台 | |
CN114169888B (zh) | 一种通用型支持多重签名的加密货币保管方法 | |
CN104766172A (zh) | 一种可验证的印章取模方法 | |
CN110519291A (zh) | 基于边缘计算和信道相关性的数据传输认证方法及系统 |
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 |