CN110071800A - 一种基于区块链的公平安全电子投票协议方法 - Google Patents
一种基于区块链的公平安全电子投票协议方法 Download PDFInfo
- Publication number
- CN110071800A CN110071800A CN201910283105.5A CN201910283105A CN110071800A CN 110071800 A CN110071800 A CN 110071800A CN 201910283105 A CN201910283105 A CN 201910283105A CN 110071800 A CN110071800 A CN 110071800A
- Authority
- CN
- China
- Prior art keywords
- secret
- block chain
- participant
- share
- fair
- 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.)
- Pending
Links
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及一种基于区块链的公平安全电子投票协议方法,包括以下步骤:S1、系统建立;S2、输入阶段;S3、计算阶段;S4、输出阶段;S5、恢复盲化数据阶段。本发明在安全多方计算协议中加入经济惩罚机制,在执行计算之前先缴纳押金,计算结束后对参与方行为进行验证,诚实者的押金将被退回,恶意者的押金将平分给诚实者。通过引入区块链,利用智能合约构建惩罚机制以实现公平性,智能合约自动执行,保证了在没有可信方的情况下管理参与方的押金并对参与方行为进行可信判断。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的公平安全电子投票协议方法。
背景技术
电子投票是利用互联网、计算机以及密码学技术的一种新型现代化投票方式。电子投票能够大大降低投票活动带来的人力物力消耗,克服许多传统直至投票存在的弊端。1992年,三位日本科学家提出了著名的FOO电子投票协议,被认为是第一个使用的适用于大规模的电子投票方案,在此之后研究人员在FOO方案基础上进行了诸多改进,但FOO电子投票协议固有的缺陷始终无法克服:(1)选票碰撞问题:投票人若填写两张完全相同的选票,则计票机构在计票阶段无法分辨出这是恶意投票还是两张来自不同投票人的相同选票;(2)隐私问题:计票阶段,机票机构人需要打开投票人的选票,选票信息不再保密;(3)无法区分不诚实投票者,机票机构无法区分诚实者与不诚实者,为了维护投票的匿名性,投票机构也无法查看是谁发送的投票。
在此基础上,科研人员提出了基于安全多方计算的电子投票方案,此方案允许在没有可信第三方的情况下,多个参与方可以通过网络交互进行协同计算,以此代替计票节点。安全多方计算(secure multiparty computation,MPC)用于解决一组互不信任的参与方之间保护其隐私的协同计算问题在安全MPC场景中,持有秘密输入的两方或多方,希望共同计算一个函数并得到各自的输出,在这个过程中,除了应得的输出之外,参与方得不到任何额外信息。但是基于安全多方计算的电子投票协议仍无法解决两个问题:(1)安全性问题:在该方案中,仍然需要注册机构和授权机构对投票者的信息进行确认,并对投票者的投票进行授权,若注册机构或授权机构被腐蚀或攻破,则协议无法正常执行。(2)在安全多方计算的秘密分享阶段,参与者无法保证其获得的秘密份额属于同一个秘密,且在计算过程中,无法保证某一节点的计算结果是否正确。(3)公平性问题:安全多方计算协议的公平性指的是当恶意节点获得输出时,所有的诚实节点也应该获得输出。然而Cleve已经证明公平的安全多方计算在非诚实多数的情况下是不可能获得的。在计票阶段,需要足够多的投票节点参与恢复投票,如果有恶意节点拒绝参与恢复,或者其先一步恢复结果,拒绝提供自己的数据,诚实节点就无法获得投票结果,公平性就无法得到保证。
有鉴于上述的缺陷,本设计人积极加以研究创新,以期创设一种基于区块链的公平安全电子投票协议方法,使其更具有产业上的利用价值。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于区块链的公平安全电子投票协议方法,解决现有技术中存在的安全性问题和公平性问题。
为实现上述目的,本发明采用如下技术方案:
一种基于区块链的公平安全电子投票协议方法,包括以下步骤:
S1、系统建立:首先,选定若干个候选人,若干个投票者,建立统计服务器,投票者在本地执行协议,将智能合约上传至区块链,协议开始时所有参与方需要向智能合约缴纳押金,否则协议终止;
S2、输入阶段:每个投票者将自己的投票数据xi(i=1-n)进行盲化处理得到x'i,通过在链下执行Gennaro VSS方案和Pedersen同态承诺方案,在所有参与方中分享各自的秘密投票数据;
S3、计算阶段:每个投票者首先验证自己得到的秘密数据份额是否为正确的份额,其次将对所有投票者的秘密数据份额进行加法运算,通过执行加法协议来实现的计算,其中,加法协议为:Si,i、Si,j均为秘密数据份额;
S4、输出阶段:计算阶段输出的是重建盲化的投票结果数据y'所需要的秘密份额,每个协议参与者得到份额yi',所有的投票者需要公开自己的份额来恢复秘密,所有参与方和统计服务器共同执行一个公平的秘密重建协议,该阶段需要与智能合约进行多轮交互,参与方先链下向其他参与方公布自己的秘密份额,其他参与方验证后,将验证结果反馈给智能合约,由智能合约判定恶意方,最终恶意方押金会被平分给诚实方,该阶段中诚实方只要收集到足够的正确份额即可恢复秘密,如果恢复失败,将得到补偿;
S5、恢复盲化数据阶段,投票者和服务器都得到了盲化的投票结果数据y',参与者帮助统计服务器投票结果数据y,得到最终投票结果,其中
作为本发明的进一步改进,公平的秘密重建协议包括本地协议和智能合约,本地协议由参与方在本地执行,智能合约由区块链节点执行。
作为本发明的进一步改进,公平的秘密重建协议包括准备阶段、承诺与链下验证阶段、检查阶段和再检查阶段。
作为本发明的进一步改进,准备阶段依次包括发布智能合约步骤和缴纳押金步骤。
作为本发明的进一步改进,承诺与链下验证阶段依次包括执行计算步骤、发送承诺步骤、相互验证并尝试恢复秘密步骤和验证结果步骤。
作为本发明的进一步改进,检查阶段依次包括请求验证结果相应步骤。
作为本发明的进一步改进,再检查阶段依次包括发送自己的秘密份额步骤、再检查请求步骤、再验证结果响应步骤、利用份额数组恢复秘密步骤、退款请求步骤及返还押金和补偿步骤。
借由上述方案,本发明至少具有以下优点:
(1)在数据分发阶段,投票者将自己的投票数据进行盲化处理,这样即使安全性道被监听,节点之间相互传递的信息被截获,攻击者仍然无法获得投票者的具体投票数据。
(2)取消了授权机构和注册机构,整个协议由投票者共同运行,增加了协议的效率和安全性。
(3)协议在数据分发阶段采用了可验证秘密分享方案和Pedersen同态承诺方案,保证了数据分发的正确性以及计算过程的正确性。
(4)安全模型中最常见的就半诚实模型和恶意敌手模型,这两种模型假设参与者的行为从始至终遵循初始设定,半诚实方会一直推断其他参与者的信息,恶意方则会一直破坏协议执行。但现实中的参与者往往是理性的,他们会为自身的利益最大化来采取行动,在适当的激励机制下,所有人(或大多数人)可以不做任何破坏。
本发明在安全多方计算协议中加入经济惩罚机制,在执行计算之前先缴纳押金,计算结束后对参与方行为进行验证,诚实者的押金将被退回,恶意者的押金将平分给诚实者。通过引入区块链,利用智能合约构建惩罚机制以实现公平性,智能合约自动执行,保证了在没有可信方的情况下管理参与方的押金并对参与方行为进行可信判断。任何提前终止协议或发送错误份额的参与方都会被智能合约识别并没收全部押金,而诚实参与方不管有没有最终恢复出秘密,都会返还押金并且得到补偿,这使得基于区块链的电子投票协议的公平性得到了保证,并且只要押金数适当,所有理性的参与方都会选择诚实的执行协议。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明一种基于区块链的公平安全电子投票协议方法的流程示意图;
图2是本发明一种基于区块链的公平安全电子投票协议方法的公平的秘密重建协议的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
一种基于区块链的公平安全电子投票协议方法,包括以下步骤:
S1、系统建立:首先,选定若干个候选人,若干个投票者,建立统计服务器,投票者在本地执行协议,将智能合约上传至区块链,协议开始时所有参与方需要向智能合约缴纳押金,否则协议终止;
S2、输入阶段:每个投票者将自己的投票数据xi(i=1-n)进行盲化处理得到xi',通过在链下执行Gennaro VSS方案和Pedersen同态承诺方案,在所有参与方中分享各自的秘密投票数据;
S3、计算阶段:每个投票者首先验证自己得到的秘密数据份额是否为正确的份额,其次将对所有投票者的秘密数据份额进行加法运算,通过执行加法协议来实现的计算,其中,加法协议为:Si,i、Si,j均为秘密数据份额;
S4、输出阶段:计算阶段输出的是重建盲化的投票结果数据y'所需要的秘密份额,每个协议参与者得到份额yi',所有的投票者需要公开自己的份额来恢复秘密,所有参与方和统计服务器共同执行一个公平的秘密重建协议,该阶段需要与智能合约进行多轮交互,参与方先链下向其他参与方公布自己的秘密份额,其他参与方验证后,将验证结果反馈给智能合约,由智能合约判定恶意方,最终恶意方押金会被平分给诚实方,该阶段中诚实方只要收集到足够的正确份额即可恢复秘密,如果恢复失败,将得到补偿;
S5、恢复盲化数据阶段,投票者和服务器都得到了盲化的投票结果数据y',参与者帮助统计服务器投票结果数据y,得到最终投票结果,其中
优选的,公平的秘密重建协议包括本地协议和智能合约,本地协议由参与方在本地执行,智能合约由区块链节点执行。
优选的,公平的秘密重建协议包括准备阶段、承诺与链下验证阶段、检查阶段和再检查阶段。
优选的,准备阶段依次包括发布智能合约步骤和缴纳押金步骤。
优选的,承诺与链下验证阶段依次包括执行计算步骤、发送承诺步骤、相互验证并尝试恢复秘密步骤和验证结果步骤。
优选的,检查阶段依次包括请求验证结果相应步骤。
优选的,再检查阶段依次包括发送自己的秘密份额步骤、再检查请求步骤、再验证结果响应步骤、利用份额数组恢复秘密步骤、退款请求步骤及返还押金和补偿步骤。
如图1所示,
一、本发明基于区块链的公平安全电子投票协议方法综述
1、系统建立
若干位候选人C1,C2...Cm,若干个投票者P1,P2...Pn。若干个投票者都是区块链的一个节点,在本地执行协议LocProtocol,将智能合约VoteContract上传至区块链,协议开始时所有参与方需要向智能合约VoteContract缴纳押金,否则协议终止。设P为n个参与方之间协商的一个大素数,满足P=2q+1,q也是一个素数,g为的q阶元,h为g生成的子群中的随机元素。
2、输入阶段
投票者Pi(i=1,2...n),按照选票上的候选人顺序进行投票,每位投票人对于每位候选人都有一张选票。选票是一串二进制数字,共有k([log2n]+1)位,其中前k-1位为0,最后一位为表决位,设为vj:
当投票者对所有候选人表决完之后,投票人Pi会得到一个位数为m*k的投票数据0...0v10...0v20...0...0vm,将该二进制数转换为十进制数得到xi。投票者Pi选取令x'i=xi+ri。投票者Pi将xi利用Shamir秘密共享方案将自己的输入分享给其他投票者,并使用Pedersen同态承诺方案来保证秘密份额的验证性。Pi选择两个随机多项式,秘密值多项式ai(x)=α0+α1x+α2x2+...+αix'和辅助值多项式bi(x)=β0+β1x+β2x2+...+βix',其中α0为秘密值x'。Pi将份额si,j=(ai(j),bi(j))秘密发送给其他投票者Pj,j-1,...n。同时Pi广播承诺值
投票者Pi收到自己的份额Si,j之后,需要验证自己的份额是否正确,即自己的份额是否与其他人的份额在同一个次数为t的多项式上(称为VSPS性质)。方法如下:
因为f(x)=α0+α1x+α2x2+...+αtxt,有
记为所以
投票者随机选取δ∈[1,n],Aδ是已公布的承诺,计算
记λji为V-1的第j行第i列的值,有所以
其中
投票者Pj首先将计算得到的Aδ'和之前公布的Aδ进行比较,若相等,则检查自己的份额是否与对应的承诺相匹配,若匹配则认为收到的份额是正确的,如果不匹配,则向分发者重新申请份额。通过这一验证过程,每个投票者都能监督秘密分发者正确分发份额。
安全性分析:通过上述推导过程可以看出,如果分发的份额不在同一个t次多项式上,无法通过VSPS验证,因此可以检测出分发者是否诚实。此外,Pi广播的承诺中与秘密有关的信息仅为A0=ga(0)hb(0)modp,没有泄露关于a(0)的任何信息,所以该过程是信息论安全的。
3、计算阶段
假设参与方Pj拥有通过VSPS验证的α和β的份额aj和βj以及对应的辅助值份额ρj和σj,需要计算γ=α+β,Ij计算γj=αj+βj作为自己加法门所得到的秘密份额,同时公布其对该份额的承诺,
由于电子投票协议只涉及加法运算,所以无需在每一次加法运算后公布承诺,而是当所有加法完成后,公布盲化的投票结果的秘密份额的承诺即可。投票者Pj接受到所有投票人发送来的投票秘密份额之后,计算:
以及yj'的承诺值:
并广播Cj'。
其余参与方可计算若Cj'与之相等,则证明承诺Cj'是很正确的。
4、输出阶段
计算阶段结束后,每个投票者Pi获得重建盲化投票结果数据y'所需要的秘密份额yi'以及份额承诺辅助值εi。公开信息为对秘密y'的承诺C0以及对份额的承诺Cj',j=1,2,...n。
输出阶段借助区块链实现公平的秘密重建协议,只需要检验投票者公布的份额yi',与其之前公开的承诺Ci'是否匹配,如果匹配,就是正确的份额,只要找到t+1个正确的份额,y'就能被正确恢复。
5、盲化恢复阶段
投票者Pi将ri通过安全信道发送给统计服务器S,S将被盲化的匹配结果数据恢复出来,得到真实数据:
y即为所有投票人选票的十进制数之和,将其转换为二进制数,再按k位截取,每截取的k位二进制数转换为十进制数得到的数就是对应的候选人的得票数,根据选票排序即可得到候选人的排名。
二、公平的秘密重建协议
在输出阶段,所有的参与方需要公开自己的份额来恢复秘密,但是恶意参与方在得到别人的秘密份额并成功恢复秘密之后,没有公开自己的份额就提前中止协议,这有可能导致某些诚实的参与方得不到最终的结果,破坏了MPC协议的公平性。所以需要执行公平的秘密重建协议,检测恶意参与方并对其进行惩罚,同时对诚实参与方进行补偿。因为存在经济惩罚机制,理性的参与者不会选择作恶。
公平的秘密重建协议包括本地协议LocalContract(记为LC)和智能合约VoteContact(记为VC)。LC由参与方在本地执行,规定了参与方的计算操作以及发送给VC的数据,VC则由区块链节点执行,负责保管押金及在秘密重建阶段对参与方行为进行判断。
如下内容分别对本地协议LocalContract和智能合约VoteContract进行解释说明。
1、参与方本地协议LocalContract(LC)
Init:协议参与方集合P:={P1,P2,...Pn},押金数为$dep,验证数组Ji全为0,设p为n个参与方之间协商的一个大素数,满足p=2q+1,q也是一个素数,g为的q阶元,h为g生成的子群中的随机元素。
Deposit:若T<over(0),将(Deposit,$dep,Pi)发送给VC。一旦T≥over(0)+2:将(GetD,Pi)发送给VC;
收到D后:如果D!=1,得到退还的押金,协议终止。
Compute:一旦T≥over(0)+2:执行电子投票协议的输入和计算阶段,对于每个i∈[n],Pi得到输出结果OUTi=(yi',δi,C0,C1,...,Cn),其中
Commit:一旦T≥over(1)+2:将(Commit,Pi,Ci)发送给VC;
Open:一旦T≥over(1)+2:将(Verify,Pi,yi',εi)发送给其他参与者Pj(j1i);
Verify:一旦收到Pj(j1i)的(Verify,yi',εi):确认T<over(3),验证是否等于Ci,相等则Ji[j]:=1;
验证完所有份额后,任取t+1个正确份额恢复秘密,成功则Ji[0]:=1,并将(Verify,Pi,Ji)发送给VC
Check:一旦T ≥over(4)+2:向VC发送(Check,Pi);
收到U后,如果J[0]=1,向VC发送(Pay,Pi),如果押金退还正确,协议终止;
如果J[0]!=1&&J[i]!=1,向VC发送(ReVerify,Pi,yi',εi);
ReCheck:一旦T≥over(5)+2:向VC发送(ReCheck,Pi)
收到(U,Sh)后如果J[0]=1,若此时Ii未恢复秘密,则利用Sh恢复,若秘密恢复,向VC发送(Pay,Pi),如果押金退还正确,协议终止;
如果J[0]!=1,则秘密恢复失败,一旦T>over(6)+2,向VC发送(RePay,Pi),如果押金退还正确,协议终止;
2、智能合约VoteContract(VC)
Init:协议参与方集合P:={P1,P2,...Pn},统计服务器S,恶意参与方集合恶意方个数f初始值为0,押金标志位D:=0,押金数为$dep,押金记录数组M为全0,数组Ch和Sh分别用来计算参与方公布的承诺和份额。
Deposit:一旦收到Pi的(Deposit,$dep):确认T<over(0)且Ledger[Pi]>=$dep;
Ledger[Pi]:=Ledger[Pi]-$dep,Ledger[VoteContract]:=Ledger[VoteContract]+$dep;
M[i]:=1;D:=M[1]&...M[n];
GetD:一旦收到Pi的(GetD):确认T<over(1);如果D!=1,退还押金;返回D;
Commit:一旦收到Pi的(Commit,Ci):确定T<over(2),记录Pi触发动作,Ch[i]:=Ci;
一旦T>over(2):将没有触发Commit的参与方加入F;
Verify:一旦收到来自Pi的(Verify,Ji):确认T<over(4),记录Ii的触发动作,J:=J&Ji;
一旦T>over(4):将没有触发Verify的参与者加入F
Check:收到Pi的(Check):U:=(J,F),返回U;
ReVerify:一旦收到Pi的(ReVerify,yi',εi):确认T<over(5),如果J[0]!=1&&J[i]!=1,验证是否等于Ci,相等则Sh[i]:=(y'i,εi),J[i]:=1;
一旦T≥over(5),检查是否已有足够份额恢复秘密数据。
ReCheck:收到Pi的(ReCheck):将份额没有通过验证的参与方加入F,若Sh已有足够份额恢复秘密数据,J[0]:=1,U:=(J,F),返回(U,Sh);
Pay:一旦收到Pi的(Pay):如果J[0]=1&&Pi∈P-F,返还押金和补偿金,Ledger[Pi]:=Ledger[Pi]+$dep+(f·$dep)/(n-f)
RePay:一旦T>over(6):F:=F∪{Pi|i∈[1,n]&&J[i]!=1};
一旦收到Pi的(RePay),如果Pi∈P-F,Ledger[Pi]:=Ledger[Pi]+$dep+(f·$dep)/(n-f)
3、公平的秘密重建协议分为准备阶段、承诺与验证阶段、检查和再检查阶段,具体流程如图2所示。
3.1准备阶段
参与节点向VC提交押金(Deposit),记over(ρ)为第ρ轮的结束时间。参与方在over(0)之前缴纳押金,当VC检测到所有人都缴纳押金之后,置标志位D为1。一旦T>over(0),VC不再接受押金,如果此时D!=1则将押金退还,协议终止,否则协议继续。
3.2承诺与链下验证阶段
各参与者在链下执行执行电子投票协议的输入和计算阶段(Compute),得到各自的输出,参与者Pi在over(2)之前向VC提交自己的输出份额的承诺Ci(Commit),VC将Ci存入Ch[i]。一旦T>over(2),VC将没有发送承诺的参与方加入恶意集合F。在over(3)之前,参与方Pi将自己的秘密份额yi'以及辅助承诺值εi发送给其余参与Pj(j=1,2,...n,j≠i)(Open)。Pj使用一个验证数组Jj来记录自己对其他参与方份额的验证结果,验证完所有份额后,如果能够成功恢复秘密,则Jj[0]:=1。Pj在over(4)之前将验证数组Jj发给VC(Verify)。VC将收到的所有验证数组逐位相与,得到状态数组J,一旦T>over(4),将没有提交验证数组的参与方加入恶意集合F中。
3.3检查阶段
参与者Pi向VC查询(J,F)(Check),如果J[0]=1,说明协议公平执行,所有参与方都成功恢复了秘密,协议执行成功,Pi向VC发出退款请求(Pay),VC没收恶意集合中的参与者的押金,将退款和补偿金返还诚实节点,协议终止。
3.4再检查阶段
如果J[0]=0,说明存在参与方没有成功秘密数据,Pi需要在over(5)之前向VC发送重新验证请求(ReVerify),将自己的份额提交给VC。VC从Ch[i]中提取出Ai进行验证,若通过则将份额存入Sh[i],J[i]:=1。当T≥over(5)+2之后,Pi向VC发送再次检查请求(ReCheck),VC检查当前份额数组Sh是否足够恢复秘密,是则J[0]:=1,然后将(U,Sh)返回。如果J[0]=1且Pi之前未恢复秘密,则可以使用Sh恢复,若秘密成功恢复,协议执行成功,Pi向VC发出退款请求(Pay),VC将退款和补偿金返还,协议终止。如果J[0]=0,秘密恢复失败,T>over(6)+2后,Pi向VC发出退款请求(RePay),VC没收恶意集合中的参与者的押金,将退款和补偿金返还诚实节点,协议终止。
本发明在安全多方计算协议中加入经济惩罚机制,在执行计算之前先缴纳押金,计算结束后对参与方行为进行验证,诚实者的押金将被退回,恶意者的押金将平分给诚实者。通过引入区块链,利用智能合约构建惩罚机制以实现公平性,智能合约自动执行,保证了在没有可信方的情况下管理参与方的押金并对参与方行为进行可信判断。任何提前终止协议或发送错误份额的参与方都会被智能合约识别并没收全部押金,而诚实参与方不管有没有最终恢复出秘密,都会返还押金并且得到补偿,这使得基于区块链的电子投票协议的公平性得到了保证,并且只要押金数适当,所有理性的参与方都会选择诚实的执行协议。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (7)
1.一种基于区块链的公平安全电子投票协议方法,其特征在于,包括以下步骤:
S1、系统建立:首先,选定若干个候选人,若干个投票者,建立统计服务器,投票者在本地执行协议,将智能合约上传至区块链,协议开始时所有参与方需要向智能合约缴纳押金,否则协议终止;
S2、输入阶段:每个投票者将自己的投票数据xi(i=1-n)进行盲化处理得到xi',通过在链下执行Gennaro VSS方案和Pedersen同态承诺方案,在所有参与方中分享各自的秘密投票数据;
S3、计算阶段:每个投票者首先验证自己得到的秘密数据份额是否为正确的份额,其次将对所有投票者的秘密数据份额进行加法运算,通过执行加法协议来实现的计算,其中,加法协议为:Si,i、Si,j均为秘密数据份额;
S4、输出阶段:计算阶段输出的是重建盲化的投票结果数据y'所需要的秘密份额,每个协议参与者得到份额yi',所有的投票者需要公开自己的份额来恢复秘密,所有参与方和统计服务器共同执行一个公平的秘密重建协议,该阶段需要与智能合约进行多轮交互,参与方先链下向其他参与方公布自己的秘密份额,其他参与方验证后,将验证结果反馈给智能合约,由智能合约判定恶意方,最终恶意方押金会被平分给诚实方,该阶段中诚实方只要收集到足够的正确份额即可恢复秘密,如果恢复失败,将得到补偿;
S5、恢复盲化数据阶段,投票者和服务器都得到了盲化的投票结果数据y',参与者帮助统计服务器投票结果数据y,得到最终投票结果,其中
2.如权利要求1所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述公平的秘密重建协议包括本地协议和智能合约,所述本地协议由参与方在本地执行,所述智能合约由区块链节点执行。
3.如权利要求1或2任一所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述公平的秘密重建协议包括准备阶段、承诺与链下验证阶段、检查阶段和再检查阶段。
4.如权利要求3所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述准备阶段依次包括发布智能合约步骤和缴纳押金步骤。
5.如权利要求3所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述承诺与链下验证阶段依次包括执行计算步骤、发送承诺步骤、相互验证并尝试恢复秘密步骤和验证结果步骤。
6.如权利要求3所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述检查阶段依次包括请求验证结果相应步骤。
7.如权利要求3所述的一种基于区块链的公平安全电子投票协议方法,其特征在于,所述再检查阶段依次包括发送自己的秘密份额步骤、再检查请求步骤、再验证结果响应步骤、利用份额数组恢复秘密步骤、退款请求步骤及返还押金和补偿步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910283105.5A CN110071800A (zh) | 2019-04-10 | 2019-04-10 | 一种基于区块链的公平安全电子投票协议方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910283105.5A CN110071800A (zh) | 2019-04-10 | 2019-04-10 | 一种基于区块链的公平安全电子投票协议方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110071800A true CN110071800A (zh) | 2019-07-30 |
Family
ID=67367419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910283105.5A Pending CN110071800A (zh) | 2019-04-10 | 2019-04-10 | 一种基于区块链的公平安全电子投票协议方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071800A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912705A (zh) * | 2019-11-14 | 2020-03-24 | 山东师范大学 | 一种基于区块链的分布式电子投票方法及系统 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112184220A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112489283A (zh) * | 2020-11-24 | 2021-03-12 | 杭州链城数字科技有限公司 | 一种基于区块链和安全多方计算的电子投票选举统计方法 |
CN112581132A (zh) * | 2020-12-24 | 2021-03-30 | 华南理工大学 | 一种保证投票发起人权益的公平的区块链投票方法及系统 |
CN113037462A (zh) * | 2021-03-31 | 2021-06-25 | 华南理工大学 | 一种基于区块链和安全多方计算的公平电子投票协议方法 |
CN113378191A (zh) * | 2021-06-01 | 2021-09-10 | 贵州大学 | 一种半诚实模型下基于信息熵的安全多方计算方案 |
CN116720006A (zh) * | 2023-08-10 | 2023-09-08 | 数据空间研究院 | 一种基于有限用户敏感属性的公平推荐方法、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
-
2019
- 2019-04-10 CN CN201910283105.5A patent/CN110071800A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912705A (zh) * | 2019-11-14 | 2020-03-24 | 山东师范大学 | 一种基于区块链的分布式电子投票方法及系统 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112184220A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112489283A (zh) * | 2020-11-24 | 2021-03-12 | 杭州链城数字科技有限公司 | 一种基于区块链和安全多方计算的电子投票选举统计方法 |
CN112581132A (zh) * | 2020-12-24 | 2021-03-30 | 华南理工大学 | 一种保证投票发起人权益的公平的区块链投票方法及系统 |
CN113037462A (zh) * | 2021-03-31 | 2021-06-25 | 华南理工大学 | 一种基于区块链和安全多方计算的公平电子投票协议方法 |
CN113037462B (zh) * | 2021-03-31 | 2022-09-20 | 华南理工大学 | 一种基于区块链和安全多方计算的公平电子投票协议方法 |
CN113378191A (zh) * | 2021-06-01 | 2021-09-10 | 贵州大学 | 一种半诚实模型下基于信息熵的安全多方计算方案 |
CN116720006A (zh) * | 2023-08-10 | 2023-09-08 | 数据空间研究院 | 一种基于有限用户敏感属性的公平推荐方法、设备及介质 |
CN116720006B (zh) * | 2023-08-10 | 2023-11-03 | 数据空间研究院 | 一种基于有限用户敏感属性的公平推荐方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110071800A (zh) | 一种基于区块链的公平安全电子投票协议方法 | |
Zheng et al. | An overview of blockchain technology: Architecture, consensus, and future trends | |
Desai et al. | A hybrid blockchain architecture for privacy-enabled and accountable auctions | |
Gangwal et al. | A survey of Layer-two blockchain protocols | |
Ziegeldorf et al. | Coinparty: Secure multi-party mixing of bitcoins | |
EP3850569A1 (en) | Smart contract execution using distributed coordination | |
EP3642774B1 (en) | System and method of multi-round token distribution using a blockchain network | |
Cachin et al. | Blockchain, cryptography, and consensus | |
Khalil et al. | Tex-a securely scalable trustless exchange | |
CN111709749A (zh) | 一种具有条件隐私保护的可追踪区块链交易系统 | |
CN113037462B (zh) | 一种基于区块链和安全多方计算的公平电子投票协议方法 | |
Abbas et al. | Analysis of polkadot: Architecture, internals, and contradictions | |
CN116250210A (zh) | 用于网络化的数据交易的认证和授权的方法、装置和计算机可读介质 | |
US20240163098A1 (en) | Computer-implemented methods and systems for controlling tasks implemented by a cyclically-ordered set of nodes participating in a blockchain network | |
Mishra et al. | Quantum anonymous veto: a set of new protocols | |
EP3827550A2 (en) | Computer-implemented system and method for asset mixing | |
Robinson | Consensus for crosschain communications | |
US20230065435A1 (en) | Decentralized voting using quantum intelligence | |
Singh et al. | Understanding the public, private and consortium consensus algorithms in blockchain technology | |
Rewatkar et al. | Decentralized voting application using blockchain | |
US20230198773A1 (en) | Voting using choice coin on a blockchain | |
CN114154969B (zh) | 一种基于区块链的大型交易和结算方法 | |
CN110135847A (zh) | 基于区块链的用于提高电子拍卖安全性的系统及方法 | |
CN113839768A (zh) | 一种基于卫星链中继的跨链通信方法 | |
Alruwaili et al. | Intelligent transaction techniques for blockchain platforms |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190730 |
|
RJ01 | Rejection of invention patent application after publication |