【技术实现步骤摘要】
基于区块链的电子投票方法、装置及存储介质
本专利技术涉及区块链
,具体地说,涉及基于区块链的电子投票方法、装置及存储介质。
技术介绍
随着互联网技术的发展,基于互联网技术的电子投票应用在越来越多的场景中,例如上市公司召开年度股东大会、民主选举等场景。借助互联网技术为投票效率的提升带来巨大的帮助,同时也大大节约了投票活动的成本。然而传统电子投票系统使用中心化服务器来实现投票统计,很难同时确保隐私性以及可验证性,在可验证性方面,传统电子投票系统由中心机构管控,投票结果由电子投票系统汇总发布,投票账户对于投票结果生成的过程不了解,也无法验证投票结果的正确性。中心机构的工作人员有篡改数据的能力,易造成暗箱操作。投票记录与统计结果由中心服务器处理,公示的投票结果需要依靠中心机构的信用背书来保证真实性,无法验证投票的正确性,难以让公众信服。并且,传统模式投票结果的发布依赖人工干预,无法确保投票者信息的保密性。目前虽然也有区块链技术应用在投票中,但是多数都是在投票环节采用区块链技术,保护了投票者的隐私,但是在最终的计票阶段,是投票组织者将投票密文解密得到投票结果,但各投票方无法验证投票发起方公布的投票结果是否正确,这无法保证投票的公正性,而截至目前,暂未有公开的解决方案。
技术实现思路
为解决以上技术问题,本专利技术提供一种基于区块链的电子投票方法,包括以下步骤:创建投票账户:在区块链上创建投票箱账户以及多个投票账户,其中,投票箱账户包括账户余额为0的支持账户和反对账户,任一投票账 ...
【技术保护点】
1.一种基于区块链的电子投票方法,其特征在于,包括以下步骤:/n创建投票账户:在区块链上创建投票箱账户以及多个投票账户,其中,投票箱账户包括账户余额为0的支持账户和反对账户,任一投票账户i的余额为投票账户i拥有的投票权重a
【技术特征摘要】
1.一种基于区块链的电子投票方法,其特征在于,包括以下步骤:
创建投票账户:在区块链上创建投票箱账户以及多个投票账户,其中,投票箱账户包括账户余额为0的支持账户和反对账户,任一投票账户i的余额为投票账户i拥有的投票权重ai,i=1至n;
发起投票并上传至区块链:任一投票账户i同时发起两笔交易Ti1和Ti2,其中,Ti1交易将所有的投票权重投给投票箱账户中的一个账户,而Ti2交易向投票箱账户中的另一个账户投0票,其中,所述两笔交易采用佩德森承诺格式,并使用椭圆曲线加密算法形成交易的密文Ti1=ai*G+x_tia*H,和Ti2=0*G+x_tir*H,
其中,G和H是椭圆曲线上设定的点,且满足H=h*G,h为私钥,
其中,x_tia表示投票账户i支持的盲因子;
x_tir表示投票账户i反对的盲因子;
从而得到支持账户的余额的密文AP=ap*G+xp*H;
反对账户的余额的密文RP=ar*G+xr*H;
其中,a1、a2、…am表示投票账户1、2、…m投支持票的投票权重,ap=(a1+a2+...+am)表示支持账户的余额的明文,m表示有m个投票账户投支持票;
am+1、…、an表示投票账户m+1、…、n投反对票的投票权重,ar=(am+1+...+an)表示反对账户的余额的明文,
xp=(x_t1a+x_t2a+...+x_tma+x_t(m+1)r+...x_tnr),xp表示m个支持盲因子与n-m个反对盲因子的和;
xr=(x_t1r+x_t2r+...+x_tmr+x_t(m+1)a+...x_tna),xr表示m个反对盲因子与n-m个支持盲因子的和;
验证投票:提供AP和RP大小关系的签名,并进行验证投票结果。
2.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,在所述验证投票的过程中,如果ap=ar成立,则按以下步骤进行验证,
投票箱账户计算xp-xr作为私钥,并利用该私钥对票数消息ap=ar进行椭圆曲线数字签名,得到签名结果sig1;
投票箱账户将签名结果sig1发送到区块链上;
任一投票账户运算Diff1=AP–RP作为公钥;
使用Diff1和Sig1进行ECDSA验签,如果验签结果通过,则说明AP=RP。
3.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,验证投票过程中,如果ap>ar,则按以下步骤进行验证,
投票箱账户计算ap-ar-1和xp-xr,并计算票数消息ap-ar-1≥0的范围证明签名Sig2;
投票箱账户将范围证明签名结果sig2发送到区块链上;
投票账户运算Diff2=AP–RP–G;
使用Diff2和Sig2进行范围证明验签,如果验签结果通过,则说明AP>RP。
4.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,
验证投票过程中,如果ap<ar,则按以下步骤进行验证,
投票箱账户计算ar-ap-1和xr-xp,并计算票数消息ar-ap-1≥0的范围证明签名Sig3;
投票箱账户将范围证明签名结果sig3发送到区块链上;
运算Diff3=RP–AP–G;
投票账户使用Diff3和Sig3进行范围证明验签,如果验签结果通过,则说明RP>AP。
5.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,
创建投票账户过程中,投票箱账户采用KV数据库创建KV键值对在区...
【专利技术属性】
技术研发人员:张宝,谢丹力,王梦寒,朱斌,贾牧,褚镇飞,刘恩科,
申请(专利权)人:深圳壹账通智能科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。