量子区块链投票方法、系统、装置和计算机设备与流程
未命名
10-21
阅读:83
评论:0
1.本技术涉及区块链技术领域,特别是涉及一种量子区块链投票方法、系统、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
2.随着社会的不断发展,匿名投票成为了制定决策的重要方式之一;匿名投票需要保证投票过程中的选票不会被篡改。
3.在相关技术中,通常引入假设可信的第三方来进行匿名投票过程中的记票和公布结果,从而协助匿名投票的完成;因此,选票在匿名投票过程中是否会被篡改,即基于第三方的匿名投票方法的安全性,很大程度上取决于第三方的可信度。
4.然而,第三方的可信度依赖于严格的假设,一旦严格的假设在匿名投票过程中无法得以实施,则容易出现选票被篡改的情况,从而降低了匿名投票的安全性。
技术实现要素:
5.基于此,有必要针对上述匿名投票的安全性较低的技术问题,提供一种能够提高匿名投票的安全性的量子区块链投票方法、系统、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种量子区块链投票方法。所述方法包括:
7.发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;
8.根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;
9.将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
10.在其中一个实施例中,在将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块之后,还包括:
11.在所述第二区块公布所有投票方的投票结果的情况下,根据所述第一区块返回的所述投票方的匿名标识,查询所述投票结果,得到所述投票方对应的目标投票结果;
12.对所述投票方的选票和所述目标投票结果进行一致性验证。
13.在其中一个实施例中,所述对所述投票方的选票和所述目标投票结果进行一致性验证,包括:
14.确认所述目标投票结果对应的选票;
15.在所述投票方的选票和所述目标投票结果对应的选票相同的情况下,确定所述投票方的选票与所述目标投票结果之间的一致性验证通过。
16.在其中一个实施例中,在确认所述目标投票结果对应的选票之后,还包括:
17.在所述投票方的选票和所述目标投票结果对应的选票不相同的情况下,确定所述投票方的选票与所述目标投票结果之间的一致性验证不通过;
18.向所述区块链发送投票申诉请求;所述投票申诉请求用于请求再次进行投票。
19.第二方面,本技术还提供了一种量子区块链投票方法,应用于区块链,所述区块链中有第一区块和第二区块,所述方法包括:
20.通过所述第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块;所述投票终端用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识发送至所述第二区块;
21.通过所述第二区块,基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
22.在其中一个实施例中,所述基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,包括:
23.根据所述投票终端发送的匿名标识,在所述第一区块发送的各个投票方的量子密钥中,识别出所述投票方的目标量子密钥;
24.根据所述目标量子密钥,对所述投票终端发送的加密选票进行解密处理,得到所述投票方的解密后的选票。
25.在其中一个实施例中,所述基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,包括:
26.接收投票终端发送的投票方的投票申请;所述投票方的投票申请携带有所述投票方的真实标识;
27.根据所述投票申请携带的真实标识,对所述投票方进行投票资质验证;
28.在所述投票方的投票资质验证通过的情况下,生成所述投票方对应的匿名标识,并将所述第一区块存储的量子密钥作为所述投票方对应的量子密钥。
29.在其中一个实施例中,所述第一区块还用于在基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识之后,记录所述投票申请携带的真实标识;所述投票申请还携带有所述投票申请针对的投票活动的活动标识;
30.所述根据所述投票申请携带的真实标识,对所述投票方进行投票资质验证,包括:
31.根据所述投票申请携带的活动标识,获取所述活动标识对应的投票活动的投票方名单;
32.在所述投票方名单中存在所述投票申请携带的真实标识的情况下,基于所述第一区块记录的真实标识,确定所述投票方在所述投票活动中的投票次数;
33.在所述投票方在所述投票活动中为首次投票的情况下,确定所述投票方的投票资质验证通过。
34.在其中一个实施例中,所述区块链中有多个第一区块;
35.所述通过所述第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,还包括:
36.通过所述多个第一区块中的目标区块,接收投票终端发送的投票方的投票申请;所述目标区块为所述多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块;
37.通过所述目标区块,基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识;
38.在发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块之后,还包括:
39.将所述多个第一区块中,相对于所述目标区块的下一个第一区块确定为所述目标区块。
40.第三方面,本技术还提供了一种量子区块链投票系统。所述系统包括:投票终端和区块链;所述区块链中有第一区块和第二区块;
41.所述投票终端,用于发送投票方的投票申请至所述第一区块;
42.所述第一区块,用于基于所述投票终端发送的所述投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块;
43.所述投票终端,用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;
44.所述第二区块,用于基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
45.第四方面,本技术还提供了一种量子区块链投票装置。所述装置包括:
46.申请发送模块,用于发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;
47.选票加密模块,用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;
48.选票发送模块,用于将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
49.第四方面,本技术还提供了一种量子区块链投票装置。所述装置包括:
50.信息发送模块,用于通过区块链中的第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识发送至所述投票终端和所述区块链中的第二区块;所述投票终端用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识发送至所述第二区块;
51.选票解密模块,用于通过所述区块链中的第二区块,基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
52.第六方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理
器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
53.发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;
54.根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;
55.将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
56.第七方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
57.发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;
58.根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;
59.将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
60.第八方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
61.发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;
62.根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;
63.将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
64.上述量子区块链投票方法、系统、装置、计算机设备、存储介质和计算机程序产品,首先发送投票方的投票申请至区块链中的第一区块;第一区块用于基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块;然后根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票;最后将加密选票和第一区块返回的匿名标识,发送至第二区块;第二区块用于基于第一区块发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。这样,一方面,基于量子密钥,能够保证投票方的选票在传输过程中不会被查看和篡改,保证了选票内容的隐私性和安全性;另一方面,通过区块链,能够保证投票过程对于各个投票方而言是公开、透明的,并且进一步保证了投票方的选票在投票过程中不会被篡改;因此,基于上述过程的量子区块链投票方法,能够在不引入需要依赖严格假设
的第三方的情况下,实现公开、透明且不易被篡改的投票过程,提高了匿名投票的安全性。
附图说明
65.图1为一个实施例中量子区块链投票方法的应用环境图;
66.图2为一个实施例中量子区块链投票方法的流程示意图;
67.图3为一个实施例中第二区块公布的投票结果的示意图;
68.图4为一个实施例中对投票方的选票和投票方对应的目标投票结果进行一致性验证的步骤的流程示意图;
69.图5为另一个实施例中量子区块链投票方法的流程示意图;
70.图6为一个实施例中确定投票方对应的量子密钥和匿名标识的步骤的流程示意图;
71.图7为一个实施例中对投票方进行投票资质验证的步骤的流程示意图;
72.图8为另一个实施例中确定投票方对应的量子密钥和匿名标识的步骤的流程示意图;
73.图9为一个实施例中为量子密钥池向区块链中的多个第一区块下发量子密钥的示意图;
74.图10为又一个实施例中量子区块链投票方法的时序流程图;
75.图11为一个实施例中量子区块链投票系统的示意图;
76.图12为一个实施例中量子区块链投票装置的结构框图;
77.图13为另一个实施例中量子区块链投票装置的结构框图;
78.图14为一个实施例中计算机设备的内部结构图。
具体实施方式
79.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
80.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
81.还需要说明的是,本技术提供的量子区块链投票方法、系统、装置、计算机设备、存储介质和计算机程序产品,可以应用于金融科技领域,在重要项目的决策过程中发挥作用,例如投票决定用户是否有进行某项金融交易的资质,再例如投票决定企业是否需要进行某项投资;还可以用于其他相关领域,比如在区块链技术领域中,用于防御量子计算机攻击对量子匿名投票的攻击。
82.本技术实施例提供的量子区块链投票方法,可以应用于如图1所示的应用环境中。该应用环境包括投票终端102、区块链中的第一区块104和区块链中的第二区块106,投票终端102、第一区块104和第二区块106之间通过网络进行通信。其中,投票终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机以及平板电脑等;第一区块104和第二区块106
均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
83.具体地,首先,投票终端102发送投票方的投票申请至区块链中的第一区块104;然后,第一区块104基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票终端102和区块链中的第二区块106;接着,投票终端102根据第一区块104返回的量子密钥,对投票方的选票进行加密处理,得到加密选票;再接着,投票终端102将加密选票和第一区块104返回的匿名标识,发送至第二区块106;最后,第二区块106基于第一区块104发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。
84.在一示例性实施例中,如图2所示,提供了一种量子区块链投票方法,以该方法应用于图1中的投票终端为例进行说明,包括以下步骤:
85.步骤s202,发送投票方的投票申请至区块链中的第一区块。
86.其中,投票终端为投票方在投票过程中使用的终端,投票终端可以被一个投票方使用,也可以被多个投票方使用。
87.其中,第一区块用于基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块。
88.其中,第二区块用于对各个投票方的选票进行统计,并公布所有投票方的投票结果。
89.具体地,投票终端根据投票方的真实标识,生成投票方对应的投票申请,并将投票方的投票申请发送至区块链中的第一区块;其中,投票方的真实标识用于表征投票方的真实身份。
90.第一区块在接收到投票终端发送的投票请求之后,会为投票方随机生成唯一的匿名标识,以实现投票过程中的匿名,并记录投票申请携带的真实标识,以便于后续区分投票方是否为首次投票;然后,第一区块将存储的量子密钥确定为投票方的量子密钥,并将匿名标识和量子密钥作为密钥序列发送给投票终端和第二区块。第一区块存储的量子密钥,通过量子密钥池调用qkd(quantum key distribution,量子密钥分发协议)算法以及量子通道产生。
91.举例说明,第一区块接收到投票终端发送的投票方i的投票申请后,为投票方i随机分配一个唯一的匿名标识idi,并将自身存储的量子密钥mi分配给投票方i,然后,第一区块将匿名标识idi和量子密钥mi组成密钥序列{idi,mi},并将密钥序列发送给投票方。
92.步骤s204,根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票。
93.具体地,投票终端根据第一区块返回的投票方对应的量子密钥,对投票方的选票进行加密处理,从而得到投票方的加密选票。基于投票方的加密选票,任何人都无法得知投票方的选票内容,因此,对选票的加密处理使得投票过程具备了隐私性。
94.举例说明,假设投票方i的选票为vi,那么投票终端根据第一区块返回的量子密钥mi,可以对选票vi进行加密处理,例如通过公式得到加密选票其中,mod表示取模运算,n表示投票过程中的候选项的数量,候选项为投票可选择的对象。
95.能够理解的是,量子密钥与传统密钥不同,量子加密利用了量子态的特性,在通信中传输的并不是密钥本身,而是量子态的状态,从而使得加密后的选票不会被篡改。首先,
量子态是不可克隆的,因此攻击者无法窃取密钥或加密后的信息,提高了安全性;其次,量子态在传输过程中是不可测量的,攻击者无法从中获取任何信息,因此,即使攻击者能够窃取密钥或量子态,也无法获得任何有用的信息,提高了保密性;最后,量子加密利用的是基本的物理原理,因此不会受到未来计算技术的威胁,提供了未来信息安全的保障。
96.步骤s206,将加密选票和第一区块返回的匿名标识,发送至第二区块。
97.其中,第二区块用于基于第一区块发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。
98.能够理解的是,第二区块也可以用独立于区块链的、可以实现解密、统计与公布的服务器来实现。
99.具体地,投票终端将投票方的加密选票,以及第一区块返回的投票方对应的匿名标识,作为投票方的选票序列,发送给第二区块。
100.第二区块接收到投票终端发送的投票方的选票序列,首先会从选票序列中提取出该选票方的匿名标识;然后,通过该选票方的匿名标识,在第一区块发送给第二区块的各个选票方的密钥序列中,识别出该选票方对应的密钥序列,进而提取出该选票方的量子密钥;基于该选票方的量子密钥,第二区块能够对该选票方的选票序列中的加密选票进行解密处理,从而将加密选票还原为解密后的选票。第二区块在对所有选票方的加密选票都进行解密处理之后,还会统计所有的解密后的选票,得到各个候选项的选票数量,并根据各个选票方的匿名标识,公布各个选票方的解密后的选票。
101.能够理解的是,第二区块还会记录已经解密过的加密选票的数量,从而便于确定是否已经对所有选票方的加密选票都进行了解密处理,进而能够保证在获取到所有投票方的解密后的选票的情况下,对投票结果进行公布。
102.举例说明,投票终端将投票方i的加密选票和匿名标识idi组合为选票序列并将该选票序列发送给第二区块;第二区块接收到选票序列后,根据选票序列中的匿名标识idi,在第一区块发送的各个密钥序列中,识别出投票方i的密钥序列{idi,mi},从而第二区块能够基于投票方i的量子密钥mi对投票方i的加密选票进行解密处理,得到投票方i的解密后的选票yi。
103.然后,第二区块在得到各个选票方的解密后的选票后,公布投票结果(包括各个候选项的选票数量,以及各个选票方的匿名标识和解密后的选票)。如图3所示为第二区块公布的投票结果的示意图。
104.需要说明的是,出于匿名投票需要达到的目的,匿名投票需要满足以下五个必要属性:合法性、隐私性、不可重投性、可验证性以及公平性;其中,合法性是指只有具有投票资质的投票方才可以参与投票;隐私性是指除了投票方本人,其他投票方无法知晓投票方的选票,同时还需要隐藏投票方与其对应的选票之间的对应关系,即实现匿名投票;不可重投性是指每个投票方只有一张选票会被统计;可验证性是指投票方可在投票过程结束后,跟踪自己的选票,检查是否投票成功,以及选票是否被篡改;公平性是指每个投票方投出的选票不会被其他人影响,也不会对其他人产生影响,即实现选票的不可篡改。
105.基于上述实施例提供的量子区块链投票方法,能够通过匿名标识隐藏投票方与其对应的选票之间的对应关系,并且通过基于量子密钥的加密处理使得选票无法被篡改,从
而满足了匿名投票所需要满足的隐私性和公平性。
106.上述实施例提供的量子区块链投票方法中,投票终端首先发送投票方的投票申请至区块链中的第一区块;第一区块用于基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块;然后投票终端根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票;最后投票终端将加密选票和第一区块返回的匿名标识,发送至第二区块;第二区块用于基于第一区块发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。这样,一方面,基于量子密钥,能够保证投票方的选票在传输过程中不会被查看和篡改,保证了选票内容的隐私性和安全性;另一方面,通过区块链,能够保证投票过程对于各个投票方而言是公开、透明的,并且进一步保证了投票方的选票在投票过程中不会被篡改;因此,基于上述过程的量子区块链投票方法,能够在不引入需要依赖严格假设的第三方的情况下,实现公开、透明且不易被篡改的投票过程,提高了匿名投票的安全性。
107.在一示例性实施例中,在上述步骤s206,将加密选票和第一区块返回的匿名标识,发送至第二区块之后,具体还包括以下内容:在第二区块公布所有投票方的投票结果的情况下,根据第一区块返回的投票方的匿名标识,查询投票结果,得到投票方对应的目标投票结果;对投票方的选票和目标投票结果进行一致性验证。
108.其中,投票结果包括投票方的匿名标识和解密后的选票。
109.其中,一致性为投票方的选票和目标投票结果对应的选票之间的一致性。
110.具体地,投票终端在第二区块公布所有投票方的投票结果的情况下,根据第一区块返回的投票方的匿名标识,在第二区块公布的所有投票方的投票结果中,查询出投票方对应的目标投票结果;然后,投票终端验证投票方的选票和目标投票结果之间的一致性,若一致性验证通过,说明投票方的选票没有被篡改,投票成功,若一致性验证不通过,说明投票方的选票被篡改,需要重新发起投票。
111.本实施例中,基于第二区块公布的解密后的选票和匿名标识,投票终端能够查询投票方对应的目标选票结果,从而实现对选票的跟踪,满足了匿名投票所需要满足的可验证性,提高了匿名投票的安全性。
112.在一示例性实施例中,对投票方的选票和目标投票结果进行一致性验证,具体包括以下内容:确认目标投票结果对应的选票;在投票方的选票和目标投票结果对应的选票相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证通过。
113.其中,目标投票结果对应的选票,为第二区块基于投票方的加密选票得到的解密后的选票。
114.具体地,投票终端确认目标投票结果对应的选票,并比较投票方的选票和目标投票结果对应的选票,若二者相同,则说明二者之间的一致性验证通过,投票方的选票没有被篡改。
115.参阅图3,举例说明,假设投票方i的匿名标识idi为匿名标识5,选票vi为候选项1;投票终端根据匿名标识5,查询投票方i对应的目标投票结果为“匿名标识5,候选项1”,即目标投票结果对应的选票yi为候选项1,即vi=yi,因此投票方i的选票和目标投票结果对应的选票相同,二者之间的一致性验证通过。
116.本实施例中,投票终端基于投票方的选票和目标选票结果对应的选票之间的一致
性验证,实现了对选票的跟踪,满足了匿名投票所需要满足的可验证性,提高了匿名投票的安全性。
117.在一示例性实施例中,在确认目标投票结果对应的选票之后,具体还包括以下内容:在投票方的选票和目标投票结果对应的选票不相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证不通过;向区块链发送投票申诉请求。
118.其中,投票申诉请求用于请求再次进行投票。
119.具体地,投票终端比较投票方的选票和目标投票结果对应的选票,若二者不相同,则说明二者之间的一致性验证不通过;在投票方的选票与目标投票结果之间的一致性验证不通过的情况下,投票终端项区块链发送投票申诉请求,以请求再次进行投票;再次进行的投票可以是针对选票被篡改的投票方的,也可以是针对所有投票方的。
120.参阅图3,举例说明,假设投票方i的匿名标识idi为匿名标识5,选票vi为候选项3;投票终端根据匿名标识5,查询投票方i对应的目标投票结果为“匿名标识5,候选项1”,即目标投票结果对应的选票yi为候选项1,即vi≠yi,因此投票方i的选票和目标投票结果对应的选票不相同,二者之间的一致性验证不通过。
121.投票终端在第二区块公布所有投票方的投票结果的情况下,对投票方的选票和投票方对应的目标投票结果进行一致性验证的完整过程,可以如图4所示。
122.本实施例中,投票终端基于投票方的选票和目标选票结果对应的选票之间的一致性验证,实现了对选票的跟踪,满足了匿名投票所需要满足的可验证性,提高了匿名投票的安全性。
123.在一示例性实施例中,如图5所示,提供了另一种量子区块链投票方法,以该方法应用于图1中的部署有第一区块和第二区块的区块链为例进行说明,包括以下步骤:
124.步骤s502,通过第一区块,基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票终端和第二区块。
125.步骤s504,通过第二区块,基于第一区块发送的量子密钥和匿名标识,对投票终端发送的加密选票进行解密处理,并公布解密后的选票和匿名标识。
126.其中,投票终端用于根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票,将加密选票和第一区块返回的匿名标识发送至第二区块。
127.具体地,首先,投票终端根据投票方的真实标识,生成投票方对应的投票申请,并将投票方的投票申请发送至区块链中的第一区块;其中,投票方的真实标识用于表征投票方的真实身份。
128.然后,第一区块接收投票终端发送的投票请求,为投票方随机生成唯一的匿名标识,同时,第一区块将存储的量子密钥确定为投票方的量子密钥,并将匿名标识和量子密钥作为密钥序列发送给投票终端和第二区块。第一区块存储的量子密钥,通过量子密钥池调用qkd(quantum key distribution,量子密钥分发协议)算法以及量子通道产生。
129.接着,投票终端根据第一区块返回的投票方对应的量子密钥,对投票方的选票进行加密处理,从而得到投票方的加密选票,并将投票方的加密选票,以及第一区块返回的投票方对应的匿名标识,作为投票方的选票序列,发送给第二区块。
130.最后,第二区块接收投票终端发送的投票方的选票序列,从选票序列中提取出该选票方的匿名标识,然后,通过该选票方的匿名标识,在第一区块发送给第二区块的各个选
票方的密钥序列中,识别出该选票方对应的密钥序列,进而提取出该选票方的量子密钥;基于该选票方的量子密钥,第二区块能够对该选票方的选票序列中的加密选票进行解密处理,从而将加密选票还原为解密后的选票。第二区块在对所有选票方的加密选票都进行解密处理之后,还会统计所有的解密后的选票,得到各个候选项的选票数量,并根据各个选票方的匿名标识,公布各个选票方的解密后的选票。
131.需要说明的是,关于上述应用于区块链的量子区块链投票方法的具体限定,可以参考应用于投票终端的量子区块链投票方法的具体限定,在此不再赘述。
132.上述实施例提供的量子区块链投票方法中,区块链首先通过第一区块,基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票终端和第二区块;投票终端用于根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票,将加密选票和第一区块返回的匿名标识发送至第二区块;然后通过第二区块,基于第一区块发送的量子密钥和匿名标识,对投票终端发送的加密选票进行解密处理,并公布解密后的选票和匿名标识。这样,一方面,基于量子密钥,能够保证投票方的选票在传输过程中不会被查看和篡改,保证了选票内容的隐私性和安全性;另一方面,基于区块链,能够保证投票过程对于各个投票方而言是公开、透明的,并且进一步保证了投票方的选票在投票过程中不会被篡改;因此,基于上述过程的量子区块链投票方法,能够在不引入需要依赖严格假设的第三方的情况下,实现公开、透明且不易被篡改的投票过程,提高了匿名投票的安全性。
133.在一示例性实施例中,上述步骤s504中,基于第一区块发送的量子密钥和匿名标识,对投票终端发送的加密选票进行解密处理,具体包括以下步骤:根据投票终端发送的匿名标识,在第一区块发送的各个投票方的量子密钥中,识别出投票方的目标量子密钥;根据目标量子密钥,对投票终端发送的加密选票进行解密处理,得到投票方的解密后的选票。
134.具体地,在步骤s502中,第一区块会将参与投票的各个投票方的匿名标识和量子密钥作为密钥序列,发送给第二区块,投票终端会将加密选票和匿名标识作为选票序列发送给第二区块;第二区块接收到投票终端发送的选票序列之后,首先从选票序列中识别出该选票序列所属的投票方的匿名标识,然后基于匿名标识,在第一区块发送的各个密钥序列中,识别出该投票方的密钥序列,并基于密钥序列中的量子密钥,对选票序列中的加密选票进行解密处理,从而得到投票方的解密后的选票。
135.举例说明,假设投票终端发送投票方i的选票序列给第二区块,第二区块基于投票终端发送的投票方i的选票序列中的匿名标识idi,在第一区块发送的各个密钥序列中,识别出投票方i的密钥序列{idi,mi},然后再基于密钥序列中的量子密钥mi对投票方i的加密选票进行解密处理,例如通过公式得到投票方i的解密后的选票yi。
136.本实施例中,第二区块基于投票终端发送的匿名标识,能够从第一区块发送的各个量子密钥中,确定出投票方的量子密钥,从而能够对投票终端发送的加密选票进行准确解密,还原出投票方的选票,使其不会在加密解密过程中发生变化,从而完成了针对投票方的投票。
137.如图6所示,在一示例性实施例中,上述步骤s502中,基于投票终端发送的投票方
的投票申请,确定投票方对应的量子密钥和匿名标识,具体包括以下步骤:
138.步骤s602,接收投票终端发送的投票方的投票申请。
139.步骤s604,根据投票申请携带的真实标识,对投票方进行投票资质验证。
140.步骤s606,在投票方的投票资质验证通过的情况下,生成投票方对应的匿名标识,并将第一区块存储的量子密钥作为投票方对应的量子密钥。
141.其中,投票方的投票申请携带有投票方的真实标识。
142.其中,投票方的投票资质,用于表征投票方能否进行投票,例如投票方是否属于投票活动的参与者,再例如投票方是否为第一次投票。基于对投票方是否属于投票活动的参与者的验证,能够满足匿名投票所需要满足的合法性;基于对投票方是否为第一次投票的验证,能够满足匿名投票所需要满足的不可重投性。
143.具体地,投票终端根据投票方的真实标识,生成投票方的投票申请,并将投票申请发送给第一区块;第一区块根据投票申请携带的真实标识,确认该投票申请对应的投票方,是否能够进行投票,若能够进行投票,则确定该投票方的投票资质验证通过,第一区块为该投票方随机生成匿名标识,并将第一区块存储的量子密钥作为该投票方对应的量子密钥;若不能够进行投票,则第一区块拒绝该投票申请。
144.本实施例中,第一区块通过对投票方的投票资质验证,能够确保投票方是在允许投票的情况下进行的投票,确保了投票方的选票的有效性。
145.在一示例性实施例中,第一区块还用于在基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识之后,记录投票申请携带的真实标识;投票申请还携带有投票申请针对的投票活动的活动标识。
146.如图7所示,上述步骤ss604,根据投票申请携带的真实标识,对投票方进行投票资质验证,具体包括以下步骤:
147.步骤s702,根据投票申请携带的活动标识,获取活动标识对应的投票活动的投票方名单。
148.步骤s704,在投票方名单中存在投票申请携带的真实标识的情况下,基于第一区块记录的真实标识,确定投票方在投票活动中的投票次数。
149.步骤s706,在投票方在投票活动中为首次投票的情况下,确定投票方的投票资质验证通过。
150.其中,投票方名单用于记录对应的投票活动的参与者的真实标识。
151.具体地,第一区块在确定投票方对应的量子密钥和匿名标识之后,还会记录投票申请携带的该投票方的真实标识,以便于后续确认投票方是否为首次投票。
152.第一区块根据投票申请携带的真实标识,对投票方进行投票资质验证的具体过程如下:第一区块首先根据投票申请携带的活动标识,确定投票申请针对的投票活动,并获取该投票活动的投票方名单,进而确认投票方名单中是否存在投票申请携带的真实标识,若不存在,则说明该真实标识对应的投票方不为该投票活动的参与者,拒绝该投票申请,若存在,则说明该真实标识对应的投票方为该投票活动的参与者,进一步根据第一区块记录的真实标识,确定该真实标识对应的投票方是否参与过投票,若参与过,则拒绝该投票申请,若没有参与过,则说明该真实标识对应的投票方在投票活动中为首次投票,进而确定该真实标识对应的投票方的投票资质验证通过。
153.举例说明,假设现有一投票活动,其对应的投票方名单为{真实标识1,真实标识2,真实标识3,真实标识4},第一区块记录的真实标识为{真实标识1,真实标识3}。
154.若第一区块接收到的投票申请携带的真实标识为真实标识1,虽然投票方名单中有真实标识1,但由于第一区块已经记录了真实标识1,因此说明该投票方已经投过票了,基于不可重投性,第一区块将拒绝该投票申请。
155.若第一区块接收到的投票申请携带的真实标识为真实标识5,由于投票方名单中并没有真实标识5,因此说明该投票方不属于该投票活动的参与者,基于合法性,第一区块将拒绝该投票申请。
156.若第一区块接收到的投票申请携带的真实标识为真实标识4,由于投票方名单中有真实标识4,且第一区块并未记录有真实标识4,因此说明该投票方既是参与者又是首次投票,第一区块根据该投票申请,确定投票方对应的量子密钥和匿名标识。
157.本实施例中,第一区块通过对投票方的投票资质验证,能够确保投票方是在既是参与者又是第一次投票的情况下进行的投票,从而满足了匿名投票所需要满足的合法性和不可重投性。
158.在一示例性实施例中,区块链中有多个第一区块。
159.如图8所示,第一区块确定投票方对应的量子密钥和匿名标识的具体过程如下:
160.步骤s802,通过多个第一区块中的目标区块,接收投票终端发送的投票方的投票申请。
161.步骤s804,通过目标区块,基于投票申请,确定投票方对应的量子密钥和匿名标识。
162.步骤s806,在发送量子密钥和匿名标识至投票终端和第二区块之后,将多个第一区块中,相对于目标区块的下一个第一区块确定为目标区块。
163.其中,目标区块为多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块。在第一区块在确定投票方对应的量子密钥和匿名标识之后,记录投票申请携带的真实标识的情况下,可以通过第一区块是否记录有真实标识,来确定第一区块是否发送过匿名标识和量子密钥。
164.具体地,如图9所示,为量子密钥池向区块链中的多个第一区块下发量子密钥的示意图。量子密钥池不断产生新的量子密钥,并通过密钥队列的队尾,将新的量子密钥存储在密钥队列中,密钥队列的队首指针指向多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块,即目标区块;量子密钥池将密钥队列中的队首密钥发送给队首指针指向的区块,即目标区块。
165.在投票终端发送投票方的投票申请给区块链之后,区块链会将投票申请下发给多个第一区块中的目标区块;目标区块接收到投票请求后,基于投票请求为投票方随机分配匿名标识,并将目标区块存储的量子密钥,即密钥队列中的队首密钥,分配给投票方,从而得到投票方的匿名标识和量子密钥。
166.然后,目标区块将投票方的匿名标识和量子密钥发送至投票终端和第二区块,并且,区块链将多个第一区块中,相对于目标区块的下一个第一区块确定为新的目标区块;接着,量子密钥池删除密钥队列中的队首密钥,排在第二位的量子密钥成为新的队首密钥,且量子密钥池将其指针指向新的目标区块。
167.能够理解的是,在区块链中,区块之间通过指针进行排列,每个区块的指针会指向下一个区块,因此,在第一区块中,未发送过匿名标识和量子密钥的各个区块是连续的,因此可以将多个第一区块中,相对于目标区块的下一个第一区块确定为新的目标区块。
168.参阅图9,举例说明,多个第一区块中未发送过匿名标识和量子密钥的各个区块中的首位区块为第一区块1,那么量子密钥池将密钥队列的队首指针指向第一区块1;当投票终端将投票方i的投票申请发送给第一区块1时,第一区块1生成投票方i的匿名标识,并将密钥队列中的队首密钥,即量子密钥1作为投票方i的量子密钥;当第一区块1将投票方i的匿名标识和量子密钥发送给投票终端和第二区块后,区块链将第一区块2作为新的目标区块,同时量子密钥池删除密钥队列中的量子密钥1,量子密钥2成为新的队首密钥,且量子密钥池将其指针指向新的目标区块,即第一区块2。
169.本实施例中,通过多个第一区块中的目标区块的更新,能够保证投票方与第一区块之间的一一对应,进而保证投票方与量子密钥的一一对应,从而使得一个量子密钥仅仅能够分配给唯一一个投票方,进一步保证了选票在加密、传输过程中的安全性,以及在解密过程中的正确性,使其不会被轻易篡改,提高了匿名投票的安全性。
170.在一示例性实施例中,如图10所示,还提供了又一种量子区块链投票方法,以该方法应用于图1中的投票终端和区块链为例进行说明,区块链中包括有多个第一区块和第二区块,该方法包括以下步骤:
171.①
投票终端发送投票方的投票申请至第一区块中的目标区块;目标区块为多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块;
172.②
目标区块根据投票申请携带的真实标识,对投票方进行投票资质验证;
173.③
目标区块在投票方的投票资质验证通过的情况下,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块;
174.④
区块链将多个目标区块中,相对于目标区块的下一个第一区块确定为新的目标区块;
175.⑤
投票终端根据旧的目标区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票,并将加密选票和旧的目标区块返回的匿名标识,发送至第二区块;
176.⑥
第二区块根据投票终端发送的匿名标识,在各个目标区块发送的投票方的量子密钥中,识别出投票方的目标量子密钥,并根据目标量子密钥,对投票终端发送的加密选票进行解密处理,得到投票方的解密后的选票,并公布解密后的选票和匿名标识。
177.⑦
投票终端在第二区块公布所有投票方的投票结果的情况下,根据旧的目标区块返回的投票方的匿名标识,查询投票结果,得到投票方对应的目标投票结果,并对投票方的选票和目标投票结果进行一致性验证;
178.⑧
投票终端在投票方的选票与目标投票结果之间的一致性验证不通过的情况下,向区块链发送投票申诉请求;投票申诉请求用于请求再次进行投票。
179.本实施例中,一方面,通过匿名标识隐藏投票方与其对应的选票之间的对应关系,并且通过基于量子密钥的加密处理使得选票无法被篡改,满足了匿名投票所需要满足的隐私性和公平性;另一方面,基于第二区块公布的解密后的选票和匿名标识,投票终端能够查询投票方对应的目标选票结果,从而实现对选票的跟踪,满足了匿名投票所需要满足的可
验证性;再一方面,通过第一区块对投票方的投票资质验证,能够确保投票方是在既是参与者又是第一次投票的情况下进行的投票,从而满足了匿名投票所需要满足的合法性和不可重投性;因此,基于以上过程的量子区块链投票方法,能够在不引入需要依赖严格假设的第三方的情况下,实现公开、透明且不易被篡改的投票过程,提高了匿名投票的安全性。
180.为了更清晰阐明本技术实施例提供的量子区块链投票方法,以下以一个具体的实施例对该量子区块链投票方法进行具体说明,但应当理解的是,本技术实施例并不限于此。在一示例性实施例中,本技术再提供了一种量子区块链投票方法,具体包括以下步骤:
181.步骤1:生成密钥。
182.通过qkd量子密钥池生成量子密钥,并将量子密钥存储在密钥队列中,密钥队列的队首指针指向区块链的多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块。
183.步骤2:身份认证和密钥分发。
184.投票终端将投票方的真实身份信息发送给当前第一区块,以申请投票;当前第一区块验证投票方的身份合法且为第一次投票,则为投票方分配唯一的匿名标识,以及密钥队列的队首的量子密钥,并将匿名标识和量子密钥发送给投票终端;同时,当前第一区块还将匿名标识和队首的量子密钥发送给区块链中的第二区块。
185.当前第一区块记录投票方的真实身份信息、匿名标识和对应的量子密钥,然后量子密钥池删除密钥队列中的队首的量子密钥,第二位的量子密钥成为新的队首的量子密钥,且其指针指向当前第一区块的下一个第一区块。
186.步骤3:投票。
187.投票终端用量子密钥将投票方的选票加密,并将加密后的选票和匿名标识发送给第二区块。
188.步骤4:统计投票结果。
189.第二区块收到加密后的选票和匿名标识后,通过匿名标识确定对应的量子密钥,并用对应的量子密钥对加密后的选票进行解密,得到解密后的选票;然后,第二区块统计所有的解密后的选票,得到投票结果并公布,同时公布各个解密后的选票及其匿名标识。
190.步骤5:验证选票。
191.投票方通过投票终端,借助匿名标,在第二区块公布的各个解密后的选票,找到对应于自己的解密后的选票,并对比解密后的选票与原本的选票是否一致,若不一致,则发起投票申诉请求,请求重新开始投票过程。
192.本实施例中,第一,上述方法借助了区块链技术,实现了身份认证和密钥分发,不再依赖于假设可信的第三方协助完成投票,提升了匿名投票的安全性。第二,上述方法中使用的量子密钥均由qkd技术生成,减少了消耗的量子资源,提高了效率。第三,上述方法全面地满足了合法性,隐私性,不可重投性,可验证性等匿名投票的必要属性,提升了投票方法的安全性,保护投票结果的有效性。
193.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个
阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
194.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的量子区块链投票方法的量子区块链投票系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个量子区块链投票系统实施例中的具体限定可以参见上文中对于量子区块链投票方法的限定,在此不再赘述。
195.在一示例性实施例中,如图11所示,提供了一种量子区块链投票系统,系统包括:投票终端和区块链;区块链中有第一区块和第二区块。
196.投票终端,用于发送投票方的投票申请至第一区块。
197.第一区块,用于基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票终端和第二区块。
198.投票终端,用于根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票,将加密选票和第一区块返回的匿名标识,发送至第二区块。
199.第二区块,用于基于第一区块发送的量子密钥和匿名标识,对投票终端发送的加密选票进行解密处理,并公布解密后的选票和匿名标识。
200.在一示例性实施例中,投票终端,还用于在第二区块公布所有投票方的投票结果的情况下,根据第一区块返回的投票方的匿名标识,查询投票结果,得到投票方对应的目标投票结果;确认目标投票结果对应的选票;在投票方的选票和目标投票结果对应的选票相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证通过;在投票方的选票和目标投票结果对应的选票不相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证不通过,并向区块链发送投票申诉请求;其中,投票申诉请求用于请求再次进行投票。
201.在一示例性实施例中,第二区块,还用于根据投票终端发送的匿名标识,在第一区块发送的各个投票方的量子密钥中,识别出投票方的目标量子密钥;根据目标量子密钥,对投票终端发送的加密选票进行解密处理,得到投票方的解密后的选票。
202.在一示例性实施例中,投票申请还携带有投票申请针对的投票活动的活动标识。
203.第一区块,还用于在基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识之后,记录投票申请携带的真实标识。
204.第一区块,还用于接收投票终端发送的投票方的投票申请;投票方的投票申请携带有投票方的真实标识;根据投票申请携带的活动标识,获取活动标识对应的投票活动的投票方名单;在投票方名单中存在投票申请携带的真实标识的情况下,基于第一区块记录的真实标识,确定投票方在投票活动中的投票次数;在投票方在投票活动中为首次投票的情况下,确定投票方的投票资质验证通过;在投票方的投票资质验证通过的情况下,生成投票方对应的匿名标识,并将第一区块存储的量子密钥作为投票方对应的量子密钥。
205.在一示例性实施例中,区块链中有多个第一区块。
206.第一区块,还用于通过多个第一区块中的目标区块,接收投票终端发送的投票方的投票申请;目标区块为多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块;通过目标区块,基于投票申请,确定投票方对应的量子密钥和匿名标识。
207.区块链,还用于将多个第一区块中,相对于目标区块的下一个第一区块确定为目标区块。
208.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的应用于投票终端的量子区块链投票方法的量子区块链投票装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个量子区块链投票装置实施例中的具体限定可以参见上文中对于量子区块链投票方法的限定,在此不再赘述。
209.在一示例性实施例中,如图12所示,提供了一种用于实现应用于投票终端的量子区块链投票方法的量子区块链投票装置,包括:申请发送模块1202、选票加密模块1204和选票发送模块1206,其中:
210.申请发送模块1202,用于发送投票方的投票申请至区块链中的第一区块;第一区块用于基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块。
211.选票加密模块1204,用于根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票。
212.选票发送模块1206,用于将加密选票和第一区块返回的匿名标识,发送至第二区块;第二区块用于基于第一区块发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。
213.在一示例性实施例中,上述用于实现应用于投票终端的量子区块链投票方法的量子区块链投票装置还包括一致性验证模块,用于在第二区块公布所有投票方的投票结果的情况下,根据第一区块返回的投票方的匿名标识,查询投票结果,得到投票方对应的目标投票结果;对投票方的选票和目标投票结果进行一致性验证。
214.在一示例性实施例中,一致性验证模块,还用于确认目标投票结果对应的选票;在投票方的选票和目标投票结果对应的选票相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证通过。
215.在一示例性实施例中,一致性验证模块,还用于在投票方的选票和目标投票结果对应的选票不相同的情况下,确定投票方的选票与目标投票结果之间的一致性验证不通过;向区块链发送投票申诉请求;投票申诉请求用于请求再次进行投票。
216.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及应用于区块链的量子区块链投票方法的量子区块链投票装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个量子区块链投票装置实施例中的具体限定可以参见上文中对于量子区块链投票方法的限定,在此不再赘述。
217.在一示例性实施例中,如图13所示,提供了一种用于实现应用于区块链的量子区块链投票方法的量子区块链投票装置,包括:信息发送模块1302和选票解密模块1304,其中:
218.信息发送模块1302,用于通过区块链中的第一区块,基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识发送至投票终端和区块链中的第二区块;投票终端用于根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票,将加密选票和第一区块返回的匿名标识发送至第二区块。
219.选票解密模块1304,用于通过区块链中的第二区块,基于第一区块发送的量子密钥和匿名标识,对投票终端发送的加密选票进行解密处理,并公布解密后的选票和匿名标识。
220.在一示例性实施例中,选票解密模块1304,还用于根据投票终端发送的匿名标识,在第一区块发送的各个投票方的量子密钥中,识别出投票方的目标量子密钥;根据目标量子密钥,对投票终端发送的加密选票进行解密处理,得到投票方的解密后的选票。
221.在一示例性实施例中,信息发送模块1302,还用于接收投票终端发送的投票方的投票申请;投票方的投票申请携带有投票方的真实标识;根据投票申请携带的真实标识,对投票方进行投票资质验证;在投票方的投票资质验证通过的情况下,生成投票方对应的匿名标识,并将第一区块存储的量子密钥作为投票方对应的量子密钥。
222.在一示例性实施例中,第一区块还用于在基于投票终端发送的投票方的投票申请,确定投票方对应的量子密钥和匿名标识之后,记录投票申请携带的真实标识;投票申请还携带有投票申请针对的投票活动的活动标识。
223.信息发送模块1302,还用于根据投票申请携带的活动标识,获取活动标识对应的投票活动的投票方名单;在投票方名单中存在投票申请携带的真实标识的情况下,基于第一区块记录的真实标识,确定投票方在投票活动中的投票次数;在投票方在投票活动中为首次投票的情况下,确定投票方的投票资质验证通过。
224.在一示例性实施例中,区块链中有多个第一区块。
225.信息发送模块1302,还用于通过多个第一区块中的目标区块,接收投票终端发送的投票方的投票申请;目标区块为多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块;通过目标区块,基于投票申请,确定投票方对应的量子密钥和匿名标识;将多个第一区块中,相对于目标区块的下一个第一区块确定为目标区块。
226.上述量子区块链投票装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
227.在一示例性实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种量子区块链投票方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
228.本领域技术人员可以理解,图14中示出的结构,仅仅是与本技术方案相关的部分
结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
229.在一示例性实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
230.在一示例性实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
231.在一示例性实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
232.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
233.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
234.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种量子区块链投票方法,其特征在于,所述方法包括:发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。2.根据权利要求1所述的方法,其特征在于,在将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块之后,还包括:在所述第二区块公布所有投票方的投票结果的情况下,根据所述第一区块返回的所述投票方的匿名标识,查询所述投票结果,得到所述投票方对应的目标投票结果;对所述投票方的选票和所述目标投票结果进行一致性验证。3.根据权利要求2所述的方法,其特征在于,所述对所述投票方的选票和所述目标投票结果进行一致性验证,包括:确认所述目标投票结果对应的选票;在所述投票方的选票和所述目标投票结果对应的选票相同的情况下,确定所述投票方的选票与所述目标投票结果之间的一致性验证通过。4.根据权利要求3所述的方法,其特征在于,在确认所述目标投票结果对应的选票之后,还包括:在所述投票方的选票和所述目标投票结果对应的选票不相同的情况下,确定所述投票方的选票与所述目标投票结果之间的一致性验证不通过;向所述区块链发送投票申诉请求;所述投票申诉请求用于请求再次进行投票。5.一种量子区块链投票方法,其特征在于,应用于区块链,所述区块链中有第一区块和第二区块,所述方法包括:通过所述第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块;所述投票终端用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识发送至所述第二区块;通过所述第二区块,基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,包括:根据所述投票终端发送的匿名标识,在所述第一区块发送的各个投票方的量子密钥中,识别出所述投票方的目标量子密钥;根据所述目标量子密钥,对所述投票终端发送的加密选票进行解密处理,得到所述投票方的解密后的选票。
7.根据权利要求5所述的方法,其特征在于,所述基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,包括:接收投票终端发送的投票方的投票申请;所述投票方的投票申请携带有所述投票方的真实标识;根据所述投票申请携带的真实标识,对所述投票方进行投票资质验证;在所述投票方的投票资质验证通过的情况下,生成所述投票方对应的匿名标识,并将所述第一区块存储的量子密钥作为所述投票方对应的量子密钥。8.根据权利要求7所述的方法,其特征在于,所述第一区块还用于在基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识之后,记录所述投票申请携带的真实标识;所述投票申请还携带有所述投票申请针对的投票活动的活动标识;所述根据所述投票申请携带的真实标识,对所述投票方进行投票资质验证,包括:根据所述投票申请携带的活动标识,获取所述活动标识对应的投票活动的投票方名单;在所述投票方名单中存在所述投票申请携带的真实标识的情况下,基于所述第一区块记录的真实标识,确定所述投票方在所述投票活动中的投票次数;在所述投票方在所述投票活动中为首次投票的情况下,确定所述投票方的投票资质验证通过。9.根据权利要求5至8任意一项所述的方法,其特征在于,所述区块链中有多个第一区块;所述通过所述第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,还包括:通过所述多个第一区块中的目标区块,接收投票终端发送的投票方的投票申请;所述目标区块为所述多个第一区块中,未发送过匿名标识和量子密钥的各个区块中的首位区块;通过所述目标区块,基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识;在发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块之后,还包括:将所述多个第一区块中,相对于所述目标区块的下一个第一区块确定为所述目标区块。10.一种量子区块链投票系统,其特征在于,所述系统包括:投票终端和区块链;所述区块链中有第一区块和第二区块;所述投票终端,用于发送投票方的投票申请至所述第一区块;所述第一区块,用于基于所述投票终端发送的所述投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票终端和所述第二区块;所述投票终端,用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块,用于基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。
11.一种量子区块链投票装置,其特征在于,所述装置包括:申请发送模块,用于发送投票方的投票申请至区块链中的第一区块;所述第一区块用于基于所述投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识至所述投票方对应的投票终端和所述区块链中的第二区块;选票加密模块,用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票;选票发送模块,用于将所述加密选票和所述第一区块返回的匿名标识,发送至所述第二区块;所述第二区块用于基于所述第一区块发送的量子密钥和匿名标识,对所述加密选票进行解密处理,并公布解密后的选票和所述匿名标识。12.一种量子区块链投票装置,其特征在于,所述装置包括:信息发送模块,用于通过区块链中的第一区块,基于投票终端发送的投票方的投票申请,确定所述投票方对应的量子密钥和匿名标识,并发送所述量子密钥和所述匿名标识发送至所述投票终端和所述区块链中的第二区块;所述投票终端用于根据所述第一区块返回的量子密钥,对所述投票方的选票进行加密处理,得到加密选票,将所述加密选票和所述第一区块返回的匿名标识发送至所述第二区块;选票解密模块,用于通过所述区块链中的第二区块,基于所述第一区块发送的量子密钥和匿名标识,对所述投票终端发送的加密选票进行解密处理,并公布解密后的选票和所述匿名标识。13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
技术总结
本申请涉及一种量子区块链投票方法、系统、装置、计算机设备、存储介质和计算机程序产品,涉及区块链技术领域,还可以用于金融科技领域或其他相关领域。所述方法包括:发送投票方的投票申请至区块链中的第一区块;第一区块用于基于投票申请,确定投票方对应的量子密钥和匿名标识,并发送量子密钥和匿名标识至投票方对应的投票终端和区块链中的第二区块;根据第一区块返回的量子密钥,对投票方的选票进行加密处理,得到加密选票;将加密选票和第一区块返回的匿名标识,发送至第二区块;第二区块用于基于第一区块发送的量子密钥和匿名标识,对加密选票进行解密处理,并公布解密后的选票和匿名标识。采用本方法,能够提高匿名投票的安全性。安全性。安全性。
技术研发人员:刘江珊 张骞 王炎林 贾渤
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.08.22
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/