[发明专利]一种基于区块链的强匿名电子投票协议在审
申请号: | 202010194384.0 | 申请日: | 2020-03-19 |
公开(公告)号: | CN113496406A | 公开(公告)日: | 2021-10-12 |
发明(设计)人: | 史闻博;杨茜雯;徐欣;费天龙;李聪慧;张永欣;鲁宁 | 申请(专利权)人: | 东北大学秦皇岛分校 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/06;G06F21/64;G06F21/62 |
代理公司: | 中国商标专利事务所有限公司 11234 | 代理人: | 姜司晨 |
地址: | 066004 河北省秦*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 匿名 电子 投票 协议 | ||
1.一种基于区块链的强匿名电子投票协议,其特征在于:所述协议包括监管者、混淆商、投票者、候选者、区块链五类实体,所述监管者审核后共有m个候选者Cj={C1,C2,...,Cm},n个投票者Ui={U1,U2,...,Un},候选者取得至少k个选票才可胜出;所述协议步骤如下:
S1、预投票阶段:
S1.1身份注册:
S1.1确定投票者和候选者的个数进行注册;设定有n个投票者Ui={U1,U2,...,Un}和m个候选者Cj={C1,C2,...,Cm}。其中,每个投票者Ui须有一个包含足够比特币的地址(bitcoinaddress,简称BAi),其对应公私钥对为(pui,pri)。投票者向监管者提交BAi及对应公钥和个人信息(包括身份签名)进行身份注册,管理员审核身份信息并验证签名与比特币地址对应后,为合格的投票者分发投票者编号(voter number,简称VN),并将其加入到投票者列表(voters list,简称VL),VL的每条记录由投票者的编号VNi和比特币地址BAi组成;
每个候选者构造Cj一对公私钥对PUj=PRj*G,保留私钥PRj,向监管者提交公钥PUj及身份信息进行注册,监管者审核后,构造候选者列表(candidates list,简称CL)并公布,CL包括候选者的身份说明及其对应公钥;
每个混淆商向监管者提交身份信息注册,审核通过后向其颁发群证书;
S1.2身份混淆:
集合VL中的所有合法投票者Ui执行混币协议获得用于存储投票的匿名的比特币地址(anonymous bitcoin address,简称ABA);在混淆协议完成后,监管者发布匿名地址列表(anonymous voters list,简称AVL),AVL={ABAi}i∈{1,...,n};
S1.3选票生成:
每个投票者用自己的公钥加密秘密份额si和支持的候选者的编号来构造选票,例如投票者Ui给候选者Cj投票,那么该选票的形式为
S2、投票阶段:
S2.1构造投票交易:
当所有投票者都构造完自己的选票之后,每个投票者Ui构造投票交易VoteTxi附带选票;交易输出为x个比特币,交易的输入地址为混淆阶段生成的匿名比特币地址ABAi,选票vi被记录于P2SH脚本;
投票交易的输出脚本基于“或”条件,条件一或条件二可解锁交易输出;
第一个解锁条件是一个P2SH形式的输出脚本;
创建M-N组合P2SH形式的UTXO时,用户首先需生成赎回脚本,存储所有公钥;在比特币协议中,堆栈语言PUSHDATA操作限制数据最大为520字节,赎回脚本受此限制最多仅能放置15个公钥;
然后使用HASH160算法生成此脚本的20字节长哈希值,创建输出脚本;在P2SH脚本中还可以存储数据,只需将赎回脚本中闲置的公钥位替换为数据;投票交易输出脚本第一个解锁条件对应的Redeem脚本RS中包含秘密共享的公钥P并存储选票vi,使用对应的秘密共享私钥签名可解锁,输出脚本存储通过HASH160算法计算RS的20字节长哈希值;
第二个解锁条件以P2PKH脚本附带时间锁的形式添加;
检查锁定时间验证(check lock time verify,简称CLTV)是一种比特币脚本操作符;它可以对交易的某个输出进行时间锁定,而不是锁定整个交易,交易输出中使用CLTV操作符后能够限制该输出只能在指定时间之后被解锁;
S2.2收集选票:
该环节候选者收集自己的选票,获取秘密共享份额;
候选者Cj在区块链上根据AVL中所有地址的交易记录查找VoteTxi,查看P2SH脚本中的公开的投票vi,依次尝试用自己的私钥PRj解密vi,成功解密即可获得选票中的私钥份额si以及候选者编号
S2.3投票成功:
如果某一候选者Cj成功获取k个或更多的私钥份额si,候选者可为每个投票交易都构造一个获胜交易WinTxj,也可将多个投票交易的输出作为一个获胜交易的输入,使用S签署每个输入,解锁投票交易输出脚本的第一个条件,即可获得n个投票交易VoteTxi中所有的UTXO;公众可通过查询记录在区块链中的获胜交易来验证该候选者取得足够秘密份额,候选者成功重构秘密共享的私钥,在投票中胜出;
获胜交易输入脚本解锁投票交易中P2SH形式UTXO,需提供S的签名并包含序列化的赎回脚本;
S2.4投票失败:
如果没有候选者得到足够的有效选票以重构秘密共享的私钥,将导致本次投票失败;
当时间超过T之后,投票交易第二个解锁条件的CLTV操作符才会失效,防止投票者在确定投票失败前转走比特币。此后每个投票者Ui都构造一个退款交易RefundTxi,将n*x个比特币返还到原匿名地址ABAi中。此交易输入为投票交易输出脚本的第二个条件,由投票者Ui使用私钥签署。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学秦皇岛分校,未经东北大学秦皇岛分校许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010194384.0/1.html,转载请声明来源钻瓜专利网。