基于区块链的公共可追踪的电子投票方法、系统及设备
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及电子投票技术领域,尤其是涉及一种基于区块链的公共可追踪的电子投票方法、系统及设备。
背景技术
投票的隐私性是电子投票系统亟需的特性。现有技术提出了各种保护隐私的方案,包括基于混合网络的电子投票、基于同态加密的电子投票和基于盲签名的电子投票。上述方案都是为了通过打破选民和他们的选票之间的联系来增强电子投票的隐私性。然而,传统的电子投票系统需要一个受信任的第三方来控制投票过程和统计投票结果,这可能会受到拒绝服务(DoS)攻击和单点故障的影响。
现有技术的解决方案仍然采用第三方来计算和揭示投票结果,这需要对第三方的道德信任。一种基于区块链的具有自统计特性的电子投票系统是为分布式投票方案量身定制的,因为它满足了统计过程中的一个关键要求。每个人都可以在没有中心化机构的协助下计算出投票结果,自统计方案使任何实体都能执行计票计算,而不是传统的中心化机构。后来,有人提出了公开投票网络(the Open Vote Network),这是在以太坊(Ethereum)中实现的第一个具有最大选民隐私的自统计和去中心化的电子投票协议。然而,这些自统计协议存在天然的公平性问题,即最后一个选民可以在投票前提前计票。对最终结果的提前获取可能会影响选民的选择,从而导致自适应问题和中断问题。最后一个投票人可以根据当前的投票情况任意改变他的选票,甚至在投票结果不符合他的期望时中断此次投票。
为了完善自统计电子投票协议中的公平性问题,有人提出了两个协议,分别增加了承诺轮和恢复轮,以解决上述提出的自统计协议中的自适应和中断问题,但是,弃权的投票者的投票无法恢复。有人指出了流产问题,并通过同时增加承诺阶段和恢复阶段解决了这个问题。他们利用零知识证明来确保承诺阶段和投出阶段的选票的一致性,并将该协议应用于去中心化的物联网场景中。区块链的开放性给分布式电子投票带来了活力和支持,但也给监管带来了挑战,因为不诚实的选民可能会恶意投票一次以上,即所谓的双重投票。在一次投票初选中,有一千人可能投了两次票,这对公众的信任造成了严重打击。许多加密方法被用来解决问责问题,如可链接的群签名和可追踪的环形签名。还有人提出了一种基于区块链的可追踪的自我统计电子投票协议,利用可链接的群签名和同态时间锁谜题,确保了投票者的隐私和防止双重投票。虽然该协议不依赖中心化的权威机构来计算投票结果,但它仍需要第三方的参与来追踪的恶意选民。因此,现有的自统计电子投票方案存在缺乏公平性和监管的问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于区块链的公共可追踪的电子投票方法、系统及设备,能够提高投票的公平性和监管力度,保证了完全的匿名性。
第一方面,本发明实施例提供了一种基于区块链的公共可追踪的电子投票方法,所述基于区块链的公共可追踪的电子投票方法包括:
通过私钥计算公钥,并向投票权威机构发送所述公钥和与所述公钥对应的第一零知识证明进行登记,以使所述投票权威机构验证所述第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端;
接收到所述秘密份额后,将所述公钥和所述第一零知识证明发送至区块链;
获取所述区块链上其他投票终端的公钥,并根据所述其他投票终端的公钥计算重构密钥;
采用所述重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明;
采用所述私钥和投票标记对所述加密投票内容进行签名;
将所述加密投票内容、所述签名和所述第二零知识证明发送至所述区块链,以使智能合约根据所述签名和所述第二零知识证明检查所述加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至所述区块链;
采用所述解答秘密对所述聚合结果进行解密,计算出投票统计结果。
与现有技术相比,本发明第一方面具有以下有益效果:
本方法通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端,采用时间锁谜题,有效地解决了自适应性问题,同时避免了额外的计算开销;接收到秘密份额后,将公钥和第一零知识证明发送至区块链,获取区块链上其他投票终端的公钥,并根据其他投票终端的公钥计算重构密钥;采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明,采用私钥和投票标记对加密投票内容进行签名,通过加密和签名,能够提高投票的公平性;将加密投票内容、签名和第二零知识证明发送至区块链,以使智能合约根据签名和第二零知识证明检查加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至区块链,通过追踪恶意投票者,以在匿名性和问责制之间取得平衡,能够保证完全的匿名性,同时实现对恶意投票行为的监管,从而使得投票安全;采用解答秘密对聚合结果进行解密,计算出投票统计结果,采用共享时间锁谜题的解答秘密来计算出投票统计结果,可以防止部分计票结果提前泄露,提高投票的公平性。
根据本发明的一些实施例,所述通过私钥计算公钥,并向投票权威机构发送所述公钥和与所述公钥对应的第一零知识证明进行登记,以使所述投票权威机构验证所述第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端,包括:
选取随机值数作为私钥,并根据所述私钥计算公钥;
向投票权威机构发送所述公钥和与所述公钥对应的第一零知识证明,以使所述投票权威机构检查所述第一零知识证明,若所述第一零知识证明有效,则使所述投票权威机构将共享时间锁谜题的解答秘密的秘密份额发送至多个投票终端。
根据本发明的一些实施例,所述采用所述重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明,包括:
采用所述重构密钥对投票内容进行加密,获得加密投票内容:
通过如下方式生成第二零知识证明:
其中,x
根据本发明的一些实施例,所述采用所述私钥和投票标记对所述加密投票内容进行签名,包括:
采用私钥x
令:
ρ
生成一个知识签名
随机选取ω
使用哈希函数H
计算c
返回签名
其中,h表示关于ε的哈希,G表示生成元g的阶为p的循环群,
根据本发明的一些实施例,所述加密投票内容的有效性由所述智能合约通过如下方式进行检查:
对第二零知识证明
e=e
在签名中将ε解析为
h=H(ε),R
检验
其中,(e,e
若所述签名和所述第二零知识证明检查通过,则表示所述加密投票内容有效;若所述签名和所述第二零知识证明中有任意一个等式没有满足,则拒绝投票通过。
根据本发明的一些实施例,有效投票由所述智能合约通过如下方式进行追踪:
对与投票标记ε相关的两张有效投票
对签名σ′计算R
初始化空列表TLIST,对于所有
根据本发明的一些实施例,所述采用所述解答秘密对所述聚合结果进行解密,计算出投票统计结果,包括:
在计算投票统计结果前,使所述智能合约解析时间锁谜题Vpuzzle为(N,μ,t,C),并计算
用所述解答秘密将所述加密投票内容的聚合结果解密为
其中,N表示RSA整数,μ表示初始化的随机数,t表示时间难度参数,C表示解答秘密的加密值,v
第二方面,本发明实施例还提供了一种基于区块链的公共可追踪的电子投票系统,所述基于区块链的公共可追踪的电子投票系统包括:
投票登记单元,用于通过私钥计算公钥,并向投票权威机构发送所述公钥和与所述公钥对应的第一零知识证明进行登记,以使所述投票权威机构验证所述第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端;
第一发送单元,用于接收到所述秘密份额后,将所述公钥和所述第一零知识证明发送至区块链;
密钥计算单元,用于获取所述区块链上其他投票终端的公钥,并根据所述其他投票终端的公钥计算重构密钥;
投票加密单元,用于采用所述重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明;
投票签名单元,用于采用所述私钥和投票标记对所述加密投票内容进行签名;
第二发送单元,用于将所述加密投票内容、所述签名和所述第二零知识证明发送至所述区块链,以使智能合约根据所述签名和所述第二零知识证明检查所述加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至所述区块链;
投票统计单元,用于采用所述解答秘密对所述聚合结果进行解密,计算出投票统计结果。
第三方面,本发明实施例还提供了一种基于区块链的公共可追踪的电子投票设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如上所述的一种基于区块链的公共可追踪的电子投票方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的一种基于区块链的公共可追踪的电子投票方法。
可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例的一种基于区块链的公共可追踪的电子投票方法的流程图;
图2是本发明另一实施例的一种基于区块链的公共可追踪的电子投票方法的流程图;
图3是本发明一实施例的关于私钥的第一零知识证明的示意图;
图4是本发明一实施例的关于选票构造正确的第二零知识证明的示意图;
图5是本发明一实施例的一种基于区块链的公共可追踪的电子投票系统的结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
现有技术的解决方案仍然采用第三方来计算和揭示投票结果,这需要对第三方的道德信任。一种基于区块链的具有自统计特性的电子投票系统是为分布式投票方案量身定制的,因为它满足了统计过程中的一个关键要求。每个人都可以在没有中心化机构的协助下计算出投票结果,自统计方案使任何实体都能执行计票计算,而不是传统的中心化机构。后来,有人提出了公开投票网络(the Open Vote Network),这是在以太坊(Ethereum)中实现的第一个具有最大选民隐私的自统计和去中心化的电子投票协议。然而,这些自统计协议存在天然的公平性问题,即最后一个选民可以在投票前提前计票。对最终结果的提前获取可能会影响选民的选择,从而导致自适应问题和中断问题。最后一个投票人可以根据当前的投票情况任意改变他的选票,甚至在投票结果不符合他的期望时中断此次投票。
为了完善自统计电子投票协议中的公平性问题,有人提出了两个协议,分别增加了承诺轮和恢复轮,以解决上述提出的自统计协议中的自适应和中断问题,但是,弃权的投票者的投票无法恢复。有人指出了流产问题,并通过同时增加承诺阶段和恢复阶段解决了这个问题。他们利用零知识证明来确保承诺阶段和投出阶段的选票的一致性,并将该协议应用于去中心化的物联网场景中。区块链的开放性给分布式电子投票带来了活力和支持,但也给监管带来了挑战,因为不诚实的选民可能会恶意投票一次以上,即所谓的双重投票。在一次投票初选中,有一千人可能投了两次票,这对公众的信任造成了严重打击。许多加密方法被用来解决问责问题,如可链接的群签名和可追踪的环形签名。还有人提出了一种基于区块链的可追踪的自我统计电子投票协议,利用可链接的群签名和同态时间锁谜题,确保了投票者的隐私和防止双重投票。虽然该协议不依赖中心化的权威机构来计算投票结果,但它仍需要第三方的参与来追踪的恶意选民。因此,现有的自统计电子投票方案存在缺乏公平性和监管的问题。
为了解决上述问题,本发明通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至投票终端,采用时间锁谜题,有效地解决了自适应性问题,同时避免了额外的计算开销;接收到秘密份额后,将公钥和第一零知识证明发送至区块链,获取区块链上其他投票终端的公钥,并根据其他投票终端的公钥计算重构密钥;采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明,采用私钥和投票标记对加密投票内容进行签名,通过加密和签名,能够提高投票的公平性;将加密投票内容、签名和第二零知识证明发送至区块链,以使智能合约根据签名和第二零知识证明检查加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至区块链,通过追踪恶意投票者,以在匿名性和问责制之间取得平衡,能够保证完全的匿名性,同时实现对恶意投票行为的监管,从而使得投票安全;采用解答秘密对聚合结果进行解密,计算出投票统计结果,采用共享时间锁谜题的解答秘密来计算出投票统计结果,可以防止部分计票结果提前泄露,提高投票的公平性。
参照图1,本发明实施例提供了一种基于区块链的公共可追踪的电子投票方法,本基于区块链的公共可追踪的电子投票方法包括但不限于步骤S100至步骤S700,其中:
步骤S100、通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端;
步骤S200、接收到秘密份额后,将公钥和第一零知识证明发送至区块链;
步骤S300、获取区块链上其他投票终端的公钥,并根据其他投票终端的公钥计算重构密钥;
步骤S400、采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明;
步骤S500、采用私钥和投票标记对加密投票内容进行签名;
步骤S600、将加密投票内容、签名和第二零知识证明发送至区块链,以使智能合约根据签名和第二零知识证明检查加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至区块链;
步骤S700、采用解答秘密对聚合结果进行解密,计算出投票统计结果。
在一些实施例的步骤S100至步骤S700中,为了有效地解决了自适应性问题,同时避免了额外的计算开销,本实施例通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端;为了能够提高投票的公平性,本实施例通过接收到秘密份额后,将公钥和第一零知识证明发送至区块链,获取区块链上其他投票终端的公钥,并根据其他投票终端的公钥计算重构密钥;采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明,采用私钥和投票标记对加密投票内容进行签名;为了在匿名性和问责制之间取得平衡,同时实现对恶意投票行为的监管,能够保证完全的匿名性,从而使得投票安全,本实施例通过将加密投票内容、签名和第二零知识证明发送至区块链,以使智能合约根据签名和第二零知识证明检查加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至区块链;为了防止部分计票结果提前泄露,提高投票的公平性,本实施例通过采用解答秘密对聚合结果进行解密,计算出投票统计结果。
在一些实施例中,通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端,包括:
选取随机值数作为私钥,并根据私钥计算公钥;
向投票权威机构发送公钥和与公钥对应的第一零知识证明,以使投票权威机构检查第一零知识证明,若第一零知识证明有效,则使投票权威机构将共享时间锁谜题的解答秘密的秘密份额发送至多个投票终端。
具体的,投票权威机构随机选取一个s∈Z
每个选民(即投票终端)挑选一个随机值x
在本实施例中,采用时间锁谜题有效地解决了自适应性问题,同时避免了额外的计算开销。
在一些实施例中,采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明,包括:
采用重构密钥对投票内容进行加密,获得加密投票内容:
通过如下方式生成第二零知识证明:
其中,x
在本实施例中,采用重构密钥对投票内容进行加密,能够提高投票的公平性和安全性,提高隐私保护。
在一些实施例中,采用私钥和投票标记对加密投票内容进行签名,包括:
采用私钥x
令:
ρ
生成一个知识签名
随机选取ω
使用哈希函数H
计算c
返回签名
其中,h表示关于ε的哈希,G表示生成元g的阶为p的循环群,
在本实施例中,通过签名防止假冒投票,能够提高投票的公平性和安全性。
在一些实施例中,加密投票内容的有效性由智能合约通过如下方式进行检查:
对第二零知识证明
e=e
在签名中将ε解析为
h=H(ε),R
检验
其中,(e,e
若签名和第二零知识证明检查通过,则表示加密投票内容有效;若签名和第二零知识证明中有任意一个等式没有满足,则拒绝投票通过。
在本实施例中,通过检验签名和零知识证明来检查记录在区块链上的投票的有效性,能够提高投票的安全性和公平性。
在一些实施例中,有效投票由智能合约通过如下方式进行追踪:
对与投票标记ε相关的两张有效投票
对签名σ′计算R
初始化空列表TLIST,对于所有
在本实施例中,引入了一个可追踪环签名,以在匿名性和问责制之间取得平衡,这保证了完全的匿名性,使人们无法区分一个合法选民的身份。
在一些实施例中,采用解答秘密对聚合结果进行解密,计算出投票统计结果,包括:
在计算投票统计结果前,使智能合约解析时间锁谜题Vpuzzle为(N,μ,t,C),并计算
用解答秘密将加密投票内容的聚合结果解密为
其中,N表示RSA整数,μ表示初始化的随机数,t表示时间难度参数,C表示解答秘密的加密值,v
在本实施例中,采用共享时间锁谜题的解答秘密来计算出投票统计结果,可以防止部分计票结果提前泄露,提高投票的公平性。
为方便本领域人员理解,以下提供一组最佳实施例:
为了在实现问责制的同时保持公平和隐私,本实施例的技术方案是一种基于区块链的具有公共可追踪性的自统计的电子投票方法,具体流程如图2所示。本实施例的技术方案包括如下步骤:
(1)投票前阶段。投票权威机构初始化电子投票事件并将投票参数发布到区块链。首先,每个选民向投票权威机构登记以获得有效的公钥/私钥对和秘密共享份额。然后,选民向区块链发布他的公钥和关于私钥的零知识证明。具体步骤如下:
首先投票权威机构初始化电子投票事件,G表示关于生成元g的阶为p的循环群,Z
H:{0,1}
投票权威机构随机选取一个s∈Z
每个选民(即投票终端)挑选一个随机值x
最终,投票权威机构在区块链上发布公共参数:
pp={p,G,g,H,H
(2)投票阶段。每个选民收集链上所有其他选民的公钥并计算重构密钥。区块链可以存储和管理发布的重构密钥列表。然后,每个选民使用相应的重构密钥对其投票内容进行加密,并最终将其选票发布到区块链,包括加密的投票内容,零知识证明和签名。在这里本实施例只考虑两个投票选项{0,1},用
参照图4,其中,图中的Voter表示选民,Smart Contract表示智能合约,每个选民V
其中,x
每个选民采用自己的私钥x
令:
ρ
然后,选民生成一个知识签名
1)选民随机选取ω
2)选民使用哈希函数H
3)计算c
返回签名
其中,h表示关于ε的哈希,G表示生成元g的阶为p的循环群,
(3)投票后阶段。智能合约通过检验签名和零知识证明来检查记录在区块链上的选票的有效性,然后汇总所有选票以获得加密的统计结果。在预定时间过去之前,每个选民可以通过解开时间锁谜题计算出相应的解答,或者在预定时间从投票权威机构处获得解答。然后用时间锁谜题的解答对加密统计结果进行解密,得到最终投票结果。当双重投票发生时,参与者可以调用追踪算法来揭露恶意选民的身份。具体步骤如下:
1)每个人都可以通过校验零知识证明和签名来检查选票是否有效。
对第二零知识证明
e=e
若上述等式中有任意一个等式没有满足,则拒绝选票通过并输出0;
在签名中将ε解析为
h=H(ε),R
检验
其中,(e,e
若签名和第二零知识证明检查都通过,则表示加密投票内容有效,验证者接收并输出1,否则拒绝选票通过并输出0。
2)给定与投票标记ε相关的两张有效投票
具体的:
1.将ε解析为
2.初始化空列表TLIST,对于所有
3.若列表TLIST中存在唯一的pk,则输出恶意投票者pk。
3)智能合约收集所有有效选票
1.在计算投票统计结果前,将时间锁谜题Vpuzzle解析为(N,μ,t,C),并计算
2.收集区块链上所有的有效选票,计算所有加密投票内容b
其中,N表示RSA整数,μ表示初始化的随机数,t表示时间难度参数,C表示解答秘密的加密值,v
在本实施例中,采用时间锁谜题技术,有效地处理了自适应性问题,同时避免了额外的计算开销,引入了一个可追踪环签名,以在匿名性和问责制之间取得平衡,这保证了完全的匿名性,使人们无法区分一个合法选民的身份,并采用了限时投票保密性,可以防止部分计票结果提前泄露,提高投票的公平性。
参照图5,本发明实施例还提供了一种基于区块链的公共可追踪的电子投票系统,本基于区块链的公共可追踪的电子投票系统包括投票登记单元100、第一发送单元200、密钥计算单元300、投票加密单元400、投票签名单元500、第二发送单元600和投票统计单元700,其中:
投票登记单元100,用于通过私钥计算公钥,并向投票权威机构发送公钥和与公钥对应的第一零知识证明进行登记,以使投票权威机构验证第一零知识证明并发送共享时间锁谜题的解答秘密的秘密份额至多个投票终端;
第一发送单元200,用于接收到秘密份额后,将公钥和第一零知识证明发送至区块链;
密钥计算单元300,用于获取区块链上其他投票终端的公钥,并根据其他投票终端的公钥计算重构密钥;
投票加密单元400,用于采用重构密钥对投票内容进行加密,获得加密投票内容,并生成第二零知识证明;
投票签名单元500,用于采用私钥和投票标记对加密投票内容进行签名;
第二发送单元600,用于将加密投票内容、签名和第二零知识证明发送至区块链,以使智能合约根据签名和第二零知识证明检查加密投票内容的有效性,追踪恶意投票者并聚合所有有效投票,将所有有效投票的聚合结果发送至区块链;
投票统计单元700,用于采用解答秘密对聚合结果进行解密,计算出投票统计结果。
需要说明的是,由于本实施例中的一种基于区块链的公共可追踪的电子投票系统与上述的一种基于区块链的公共可追踪的电子投票方法基于相同的发明构思,因此,方法实施例中的相应内容同样适用于本系统实施例,此处不再详述。
本发明实施例还提供了一种基于区块链的公共可追踪的电子投票设备,包括:至少一个控制处理器和用于与至少一个控制处理器通信连接的存储器。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的一种基于区块链的公共可追踪的电子投票方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的一种基于区块链的公共可追踪的电子投票方法,例如,执行以上描述的图1中的方法步骤S100至步骤S700。
以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种基于区块链的公共可追踪的电子投票方法,例如,执行以上描述的图1中的方法步骤S100至步骤S700的功能。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。
- 基于区块链的可追踪的完全匿名电子投票方法及系统
- 一种基于区块链的电子投票方法、系统、设备及存储介质