一种基于区块链的投票方法及装置制造方法及图纸

技术编号:27204643 阅读:16 留言:0更新日期:2021-01-31 12:23
本发明专利技术实施例提供了一种基于区块链的投票方法及装置,该方法包括服务器接收客户端发送的作为混淆信息的分片投票,生成分片投票的密文投票,基于分片投票、符合投票机制的k个随机数和k个随机数对应的k个承诺证明,生成针对分片投票的k类零知识证明,向区块链发送投票结果。由于在服务器上进行复杂的密文运算,可以减轻客户端的压力,并可以提高用户进行匿名投票的效率。而服务器接收的分片投票是经过客户端对用户的投票信息进行混淆处理确定的,可以有助于确保用户的投票信息的隐私安全性。此外,通过区块链验证服务器在处理分片投票的过程中是否对客户端发送的分片投票进行篡改,如此可以确保用户的投票信息的不可篡改性、可验证性。证性。证性。

【技术实现步骤摘要】
一种基于区块链的投票方法及装置


[0001]本专利技术实施例涉及金融科技(Fintech)领域,尤其涉及一种基于区块链的投票方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]现阶段,现有的匿名投票方法主要基于客户端或后台服务器进行匿名投票。具体地说,一种是为确保移动客户端的投票数据的安全性,依靠移动客户端自身完成整个投票加密过程,即依靠移动客户端对投票数据进行复杂的密文运算。然而,由于移动客户端的架构与服务器有所不同,即移动客户端的运算性能相比后台服务器有较大差别,导致移动客户端在对投票数据进行复杂的密文运算时,运算过程缓慢,造成移动客户端的投票加密效率较低,给用户带来极大不便。另一种是客户端将投票数据托管给后台服务器,依靠后台服务器完成整个投票加密过程,即依靠后台服务器对投票数据进行复杂的密文运算。然而,这种处理方式由于将投票数据托管给后台服务器,会使得用户失去对投票数据的掌控度,并在后台服务器发生故障或被攻击时,导致投票数据容易被泄露或窃取,因此无法确保投票数据的隐私安全性。
[0004]综上,目前亟需一种基于区块链的投票方法,用以确保投票数据的隐私安全性,并可以确保投票数据的不可篡改性、可验证性。

技术实现思路

[0005]本专利技术实施例提供了一种基于区块链的投票方法及装置,用以确保投票数据的隐私安全性,并可以确保投票数据的不可篡改性、可验证性。
[0006]第一方面,本专利技术实施例提供了一种基于区块链的投票方法,包括:
[0007]服务器接收客户端发送的作为混淆信息的分片投票;所述分片投票是所述客户端基于用户的投票信息生成的m个分片投票中的一个;m是根据服务器的数量确定的;
[0008]所述服务器生成所述分片投票的密文投票;
[0009]所述服务器基于所述分片投票、符合投票机制的k个随机数和所述k个随机数对应的k个承诺证明,生成针对所述分片投票的k类零知识证明;所述k个承诺证明是所述区块链对各服务器基于各自的k个随机数生成的k类承诺分片聚合后得到的;
[0010]所述服务器向所述区块链发送投票结果,所述投票结果包括所述密文投票及所述k类零知识证明;所述k类零知识证明用于所述区块链对各服务器的投票结果聚类后,确定聚类后的密文投票与所述k个承诺证明的匹配性。
[0011]上述技术方案中,由于在客户端上进行复杂的密文运算需要耗费较长的时间且运算效率低,因此在服务器上进行复杂的密文运算,可以有助于减轻客户端进行复杂密文运算的压力,并可以提高用户进行匿名投票的效率。此外,服务器接收的分片投票是经过客户
端对用户的投票信息进行混淆处理确定的,因此可以避免用户的投票信息存在泄露的风险,并可以有助于确保用户的投票信息的隐私安全性。再基于分片投票生成对应的密文投票,可以进一步确保用户的投票信息的隐私安全性。之后基于分片投票、符合投票机制的k个随机数和k个随机数对应的k个承诺证明,生成针对分片投票的k类零知识证明,以用于区块链对各服务器的投票结果聚类后,确定聚类后的密文投票与所述k个承诺证明的匹配性,如此可以通过区块链验证服务器在处理分片投票的过程中是否对客户端发送的分片投票进行篡改,从而可以确保用户的投票信息的不可篡改性、可验证性,以此来验证用户的投票信息是真实有效的,并可以提升用户的体验。进而可以解决现有技术中用户的投票数据存在运算效率低、易泄露、可篡改、不可验证的问题。
[0012]可选地,在所述生成针对所述分片投票的k类零知识证明之前,还包括:
[0013]所述服务器生成符合投票机制的k个随机数并基于所述k个随机数生成k类承诺分片;
[0014]所述服务器将所述k类承诺分片发送给所述区块链;
[0015]所述服务器从所述区块链获取k个承诺证明;所述k个承诺证明是所述区块链对各服务器的k类承诺分片中同类承诺分片进行聚合处理后生成的。
[0016]上述技术方案中,通过基于k个随机数生成k类承诺分片,可以确保k类承诺分片的随机性、不可预测性,并将k类承诺分片发送给区块链,以便区块链对各服务器的k类承诺分片中同类承诺分片进行聚合处理后生成k个承诺证明,如此可以确保k个承诺证明的不可篡改性、可验证性,并有助于后续通过验证该k个承诺证明来判断用户的投票信息是否真实有效。
[0017]可选地,所述投票机制为投票信息与剩余投票之和等于投票权益;所述分片投票包括混淆投票和混淆权益;
[0018]所述服务器基于所述分片投票、符合投票机制的k个随机数和所述k个随机数对应的k个承诺证明,生成针对所述分片投票的k类零知识证明,包括:
[0019]所述服务器根据所述k个随机数中第一随机数、所述k个承诺证明的综合承诺及所述混淆投票确定第一类零知识证明;
[0020]所述服务器根据所述k个随机数中第二随机数、所述k个承诺证明的综合承诺及混淆剩余投票确定第二类零知识证明;所述混淆剩余投票是根据所述混淆投票和所述混淆权益确定的;
[0021]所述服务器根据所述k个随机数中第三随机数、所述k个承诺证明的综合承诺及所述混淆权益确定第三类零知识证明。
[0022]上述技术方案中,通过根据k个随机数中第一随机数、k个承诺证明的综合承诺及混淆投票确定第一类零知识证明;根据k个随机数中第二随机数、k个承诺证明的综合承诺及混淆剩余投票确定第二类零知识证明;根据k个随机数中第三随机数、k个承诺证明的综合承诺及混淆权益确定第三类零知识证明,如此可以有助于后续通过验证该三类零知识证明来判断用户的投票信息是否真实有效。
[0023]可选地,所述服务器生成所述分片投票的密文投票,包括:
[0024]所述服务器基于椭圆曲线的第一公开点和第二公开点,生成所述混淆投票的第一加密信息和所述混淆剩余投票的第二加密信息;其中,所述第二公开点是所述区块链是根
据各服务器的密文私钥确定的;所述各服务器的密文私钥是所述各服务器根据自身私钥和所述椭圆曲线的第三公开点生成的;
[0025]所述k类承诺分片是通过如下方式确定的:
[0026]所述服务器基于所述k个随机数中各随机数和所述第一公开点,确定出所述k类承诺分片。
[0027]上述技术方案中,通过基于椭圆曲线的第一公开点和第二公开点,生成混淆投票的第一加密信息和混淆剩余投票的第二加密信息,如此可以实现对混淆投票、混淆剩余投票的加密,以此来生成分片投票的密文投票,有助于确保用户的投票信息的隐私安全性。
[0028]可选地,所述k个承诺证明的综合承诺是所述服务器对用户标识和k个承诺证明进行哈希运算得到的。
[0029]上述技术方案中,通过对用户标识和k个承诺证明进行哈希运算确定k个承诺证明的综合承诺,可以有助于确保k个承诺证明的隐私安全性,并有助于后续通过验证k个承诺证明的综合承诺来判断服务器是否对用户的分片本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的投票方法,其特征在于,包括:服务器接收客户端发送的作为混淆信息的分片投票;所述分片投票是所述客户端基于用户的投票信息生成的m个分片投票中的一个;m是根据服务器的数量确定的;所述服务器生成所述分片投票的密文投票;所述服务器基于所述分片投票、符合投票机制的k个随机数和所述k个随机数对应的k个承诺证明,生成针对所述分片投票的k类零知识证明;所述k个承诺证明是所述区块链对各服务器基于各自的k个随机数生成的k类承诺分片聚合后得到的;所述服务器向所述区块链发送投票结果,所述投票结果包括所述密文投票及所述k类零知识证明;所述k类零知识证明用于所述区块链对各服务器的投票结果聚类后,确定聚类后的密文投票与所述k个承诺证明的匹配性。2.如权利要求1所述的方法,其特征在于,在所述生成针对所述分片投票的k类零知识证明之前,还包括:所述服务器生成符合投票机制的k个随机数并基于所述k个随机数生成k类承诺分片;所述服务器将所述k类承诺分片发送给所述区块链;所述服务器从所述区块链获取k个承诺证明;所述k个承诺证明是所述区块链对各服务器的k类承诺分片中同类承诺分片进行聚合处理后生成的。3.如权利要求1所述的方法,其特征在于,所述投票机制为投票信息与剩余投票之和等于投票权益;所述分片投票包括混淆投票和混淆权益;所述服务器基于所述分片投票、符合投票机制的k个随机数和所述k个随机数对应的k个承诺证明,生成针对所述分片投票的k类零知识证明,包括:所述服务器根据所述k个随机数中第一随机数、所述k个承诺证明的综合承诺及所述混淆投票确定第一类零知识证明;所述服务器根据所述k个随机数中第二随机数、所述k个承诺证明的综合承诺及混淆剩余投票确定第二类零知识证明;所述混淆剩余投票是根据所述混淆投票和所述混淆权益确定的;所述服务器根据所述k个随机数中第三随机数、所述k个承诺证明的综合承诺及所述混淆权益确定第三类零知识证明。4.如权利要求1所述的方法,其特征在于,所述服务器生成所述分片投票的密文投票,包括:所述服务器基于椭圆曲线的第一公开点和第二公开点,生成所述混淆投票的第一加密信息和所述混淆剩余投票的第二加密信息;其中,所述第二公开点是所述区块链是根据各服务器的密文私钥确定的;所述各服务器的密文私钥是所述各服务器根据自身私钥和所述椭圆曲线的第三公开点生成的;所述k类承诺分片是通过如下方式确定的:所述服务器基于所述k个随机数中各随机数和所述第一公开点,确定出所述k类承诺分片。5.如权利要求3所述的方法,其特征在于,所述k个承诺证明的综合承诺是所述服务器对用户标识和k个承诺证明进行哈希运算得到的。6.一种基于区块链的投票方法,其特征在于,包括:
区块链接收m个服务器发送的m个k类承诺分片;所述k类承诺分片是各服务器基于各自的符合投票机制的k个随机数生成的;所述区块链对所述m个k类承诺分片中的同类的m个承诺分片进行聚类,得到k类承诺证明并上链;所述区块链接收所述m个服务器发送的m个投票结果;每个投票结果包括密文投票及k类零知识证明;所述密文投票是服务器根据作为混淆信息的分片投票确定的;所述区块链对m个密文投票进行聚类得到综合投票,并对m个k类零知识证明中的同类零知识证明进行聚类,得到k类综合证明;所述区块链通过所述k类综合证明,确定所述综合投票与所述k个承诺证明的匹配性。7.如权利要求6所述的方法,其特征在于,所述投票机制为投票信息与剩余投票之和等于投票权益;所述密文投票包括根据所述分片投票的混淆投票确定的第一加密信息和根据混淆剩余投票确定的第二加密信息;所述混淆剩余投票是根据所述混淆投票和所述分片投票的混淆权益确定的;所述区块链通过所述k类综合证明,确定所述综合投票与所述k个承诺证明的匹配性,包括:所述区块链根据所述k类综合证明中的第一类综合证明、所述k个承诺证明的综合承诺和第一加密信息,确定第一验证信息;所述区块链根据所述k类综合证明中的第二类综合证明、所述k个承诺证明的综合承诺和第二加密信息,确定第二验证信息;所述区块链根据所述k类综合证明中的第三类综合证明、所述k个承诺证明的综合承诺和用户的投票权益,确定第三验证信息;所述区块链根据所述第一验证信息、所述第二验证信息、所述第三验证信息和所述k个承诺证明的综合承诺,确定所述综合投票与所述k个承诺证明的匹配性。8.如权利要求...

【专利技术属性】
技术研发人员:李昊轩严强廖飞强王朝阳李辉忠张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1