加密投票方法、计算机设备和存储介质技术

技术编号:28420764 阅读:23 留言:0更新日期:2021-05-11 18:28
本发明专利技术提供一种加密投票方法、计算机设备和存储介质,该方法包括:通过投票合约执行投票注册交易,将第一投票的第一公钥记录到区块链上;通过投票合约执行第一投票交易,在执行成功时将相应的第一加密投票信息记录到投票合约中;通过投票合约执行包括第一公钥所对应的第一私钥的投票结算交易:分别根据第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;根据所获取的各投票内容对第一投票进行结算。本发明专利技术实现了在投票过程中对所有的投票内容保密,而只要通过投票结算交易提供第一私钥即可根据第一私钥和各投票账户的公钥分别解密获取所有的投票内容以完成投票的结算。

【技术实现步骤摘要】
加密投票方法、计算机设备和存储介质
本申请涉及互联网
,具体涉及一种加密投票方法、计算机设备和存储介质。
技术介绍
当前的区块链投票方案中,每一次投票的投票内容都是公开记录在区块链上,因为如果每个投票者分别对自己的投票内容加密,则会导致结算投票时需要每个投票者分别提供解密的投票内容和验证方式,导致投票过程太过繁琐。因此现有的区块链投票方案难以满足在投票过程中对投票内容保密的业务需求。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种在区块链投票过程中对投票内容保密、同时可以便捷地结算投票的加密投票方法、计算机设备和存储介质。第一方面,本专利技术提供一种适用于区块链节点的加密投票方法,区块链上配置有投票合约,该方法包括:通过投票合约执行投票注册交易,将第一投票的第一公钥记录到区块链上,以供参与第一投票的各用户端:获取第一公钥;根据当前投票账户的第二私钥和第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;生成包括第一加密投票信息的第一投票交易并发送至区块链网络;通过投票合约执行第一投票交易,在执行成功时将相应的第一加密投票信息记录到投票合约中;通过投票合约执行包括第一公钥所对应的第一私钥的投票结算交易:分别根据第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;根据所获取的各投票内容对第一投票进行结算。第二方面,本专利技术提供一种适用于用户端的加密投票方法,区块链上配置有投票合约,该方法包括:为待注册的第一投票生成第一私钥和相应的第一公钥;生成包括第一公钥的投票注册交易并发送至区块链网络,以供区块链节点通过投票合约执行,将第一投票的第一公钥记录到区块链上,以供参与第一投票的各用户端:获取第一公钥;根据当前投票账户的第二私钥和第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;生成包括第一加密投票信息的第一投票交易并发送至区块链网络,以供区块链节点通过投票合约执行,在执行成功时将第一加密投票信息记录到投票合约中;生成包括第一私钥的投票结算交易并发送至区块链网络,以供区块链节点通过投票合约执行:分别根据第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;根据所获取的各投票内容对第一投票进行结算。第三方面,本专利技术提供另一种适用于用户端的加密投票方法,区块链上配置有投票合约,该方法包括:获取区块链上记录的第一投票的第一公钥;其中,第一公钥由区块链节点通过投票合约执行投票注册交易成功后记录到区块链上;根据当前投票账户的第二私钥和第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;生成包括第一加密投票信息的第一投票交易并发送至区块链网络,以供区块链节点通过投票合约执行,在执行成功时将第一加密投票信息记录到投票合约中。投票合约还用于执行包括第一公钥所对应的第一私钥的投票结算交易:分别根据第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;根据所获取的各投票内容对第一投票进行结算。第四方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的加密投票方法。第五方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的加密投票方法。本专利技术诸多实施例提供的加密投票方法、计算机设备和存储介质通过在注册投票时将第一公钥记录在区块链上,由投票的用户端根据投票账户的私钥和第一公钥通过Diffie-Hellman算法对投票内容加密,实现了在投票过程中对所有的投票内容保密,而只要通过投票结算交易提供第一私钥即可根据第一私钥和各投票账户的公钥分别解密获取所有的投票内容以完成投票的结算。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种加密投票方法的流程图。图2为本专利技术一实施例提供的另一种加密投票方法的流程图。图3为本专利技术一实施例提供的又一种加密投票方法的流程图。图4为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的一种加密投票方法的流程图。如图1所示,在本实施例中,本专利技术提供一种加密投票方法,包括:S11:通过投票合约执行投票注册交易,将第一投票的第一公钥记录到区块链上,以供参与第一投票的各用户端:获取第一公钥;根据当前投票账户的第二私钥和第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;生成包括第一加密投票信息的第一投票交易并发送至区块链网络;S13:通过投票合约执行第一投票交易,在执行成功时将相应的第一加密投票信息记录到投票合约中;S15:通过投票合约执行包括第一公钥所对应的第一私钥的投票结算交易:S151:分别根据第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;S153:根据所获取的各投票内容对第一投票进行结算。需要说明的是,在本申请所请求保护的各项投票方案仅对投票内容进行加密,而投票账户都是公开的,即,不匿名的;在申请人同期提交的另一些申请中,会阐述一些既对投票内容进行加密、又对投票账户匿名的方案,或,仅匿名而不对投票内容加密的方案。以下以用户A注册一项投票,用户BCDEF参与该投票为例,对上述方法进行示例性的阐述。首先,用户A的用户端为该待注册的投票生成第一私钥p1和相应的第一公钥P1。在生成上述公私钥对之后,用户A的用户端生成包括第一公钥P1的投票注册交易tx1并发送至区块链网络。在步骤S11中,区块链节点接收、广播、打包、通过投票合约执行tx1,将该投票与第一公钥P1的对应关系记录到区块链上。在本实施例中,用户A注册的该项投票是只有具有投票权的投票账户才可投票的。在注册投票后,用户A的用户端还生成包括用户BCDEF的投票账户信息(例如,投票账户的账户ID,公钥,或,地址,等等)的投票权配置交易tx2,并将tx2发送至区块链网络。区块链节点接收、广播、打包、通过投票合约执行tx2,在合约中记录本文档来自技高网...

【技术保护点】
1.一种加密投票方法,其特征在于,区块链上配置有投票合约,所述方法适用于区块链节点,所述方法包括:/n通过所述投票合约执行投票注册交易,将第一投票的第一公钥记录到区块链上,以供参与所述第一投票的各用户端:/n获取所述第一公钥;/n根据当前投票账户的第二私钥和所述第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;/n生成包括所述第一加密投票信息的第一投票交易并发送至区块链网络;/n通过所述投票合约执行所述第一投票交易,在执行成功时将相应的第一加密投票信息记录到所述投票合约中;/n通过所述投票合约执行包括所述第一公钥所对应的第一私钥的投票结算交易:/n分别根据所述第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;/n根据所获取的各投票内容对所述第一投票进行结算。/n

【技术特征摘要】
1.一种加密投票方法,其特征在于,区块链上配置有投票合约,所述方法适用于区块链节点,所述方法包括:
通过所述投票合约执行投票注册交易,将第一投票的第一公钥记录到区块链上,以供参与所述第一投票的各用户端:
获取所述第一公钥;
根据当前投票账户的第二私钥和所述第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;
生成包括所述第一加密投票信息的第一投票交易并发送至区块链网络;
通过所述投票合约执行所述第一投票交易,在执行成功时将相应的第一加密投票信息记录到所述投票合约中;
通过所述投票合约执行包括所述第一公钥所对应的第一私钥的投票结算交易:
分别根据所述第一私钥和各投票用户的第二公钥对相应的第一加密投票信息进行解密以获取相应的投票内容;
根据所获取的各投票内容对所述第一投票进行结算。


2.根据权利要求1所述的方法,其特征在于,所述通过所述投票合约执行所述第一投票交易还包括:
判断当前时间是否超过投票截止时间,或,当前区块高度是否超过投票截止高度:
是,则所述第一投票交易执行失败。


3.一种加密投票方法,其特征在于,区块链上配置有投票合约,所述方法适用于用户端,所述方法包括:
为待注册的第一投票生成第一私钥和相应的第一公钥;
生成包括所述第一公钥的投票注册交易并发送至区块链网络,以供区块链节点通过所述投票合约执行,将所述第一投票的所述第一公钥记录到区块链上,以供参与所述第一投票的各用户端:
获取所述第一公钥;
根据当前投票账户的第二私钥和所述第一公钥通过Diffie-Hellman算法对投票内容加密以生成第一加密投票信息;
生成包括所述第一加密投票信息的第一投票交易并发送至区块链网络,以供区块链节点通过所述投票合约执行,在执行成功时将所述第一加密投票信息记录到所述投票合约中;
生成包括所述第一私钥的投票结算交易并发送至区块链网络,以供区块链节点通过所述投票合约执行:
分...

【专利技术属性】
技术研发人员:何正军李斌王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江;33

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

1