首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 一种基于区块链的不记名投票和多条件计票的方法

一种基于链的不记名投票和多条件计票的方法

阅读:1发布:2021-11-22

专利汇可以提供一种基于链的不记名投票和多条件计票的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 的不记名投票和多条件计票的方法,属于互联网技术领域。该方法包括以下步骤:投票人登记、投票、投票查询和结果统计。本发明通过对投票人关键且唯一的身份信息进行公钥加密、再hash生成唯一的投票人保密身份信息,保证投票人的身份唯一性、信息安全性和防止恶意的刷票行为。因投票人保密身份信息是用投票人公钥加密后再hash的,此信息只有投票人可以查验,并实现不记名投票。通过对投票人的公开信息进行加密、数字签名,将加密、签名后的公开信息保存在区块链各网络 节点 的 数据库 中,可在保证投票人的投票权利和信息安全的情况下,满足通过 智能合约 进行多条件计票。,下面是一种基于链的不记名投票和多条件计票的方法专利的具体信息内容。

1.一种基于链的不记名投票和多条件计票的方法,其特征在于:利用区块链的数据加密算法和防篡改特性,来保证投票人的信息隐私、正当投票权利和最终投票结果不被篡改,利用仅投票人可查验的报名身份信息来实现不记名投票;具体包括以下步骤:
S1:投票人登记;
S2:投票人投票;
S3:投票人投票查询;
S4:投票结果统计。
2.根据权利要求1所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述步骤S1具体为:
S101:投票人提交一份公钥、唯一可鉴别投票人身份的需保密信息组合和一份可公开的身份信息;
S102:投票人在可信任投票终端上,利用椭圆曲线算法生成一对公私密钥,自己保留私钥,各投票终端、各区块链网络节点均生成一份CA证书;
S103:填写本次投票需要公开的投票人信息;
S104:将投票人的需保密身份信息组合生成唯一摘要,并用公钥加密,再hash生成身份hash值;
S105:将投票人的身份hash值、投票人公开信息和公钥进行数字签名并提交区块链网络进行共识认证;
S106:区块链网络计算节点收到登记共识认证后,用本节点的CA证书进行CA认证后,并确认登记是来自可信任的终端,用提交的公钥进行登记解密获取投票人登记信息;
S107:调用智能合约登记接口,并将投票人公钥、身份hash值、身份公开信息存储于数据库中;
S108:将本次登记事务进行全网共识并进行上链记录、返回终端用户登记结果。
3.根据权利要求2所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述需要公开的投票人信息包括性别、年龄、区域条件;所述投票人的身份信息包括姓名和id。
4.根据权利要求1所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述步骤S2为:投票人在可信任终端将自己的投票结果信息、身份组织hash值进行私钥加密和数字认证后进行投票;具体为:
S201:投票人在可信任投票终端上发起投票,投票人将自己的投票信息利用私钥进行加密,并将加密后的投票信息和身份组合hash值进行数字签名后提交至区块链网络进行共识认证;
S202:区块链网络计算节点收到投票共识认证后,先利用本节点下的CA证书进行数字签名认证,并确认投票是来自可信任的投票终端;
S203:调用智能合约接口获取本节点下的数据库中存储的该投票人的相应公钥,key=投票人身份hash值,value=公钥;
S204:用投票人公钥对投票信息进行解密,获取投票结果,并通过智能合约记录接口将数据存于节点数据库中;
S205:将本次投票事务进行全网共识并进行上链记录、返回终端用户投票结果。
5.根据权利要求1所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述步骤S3为:投票人通过终端查询自己的投票结果,还能提供接口去查询全部投票情况;具体为:
S301:投票人在可信任投票终端上发起投票查询,投票人将自己的身份组合hash值和查询条件进行CA数字签名后发起查询;
S302:区块链各节点根据共识验证,计算节点进行数字签名认证后调用智能合约查询接口进行投票查询,并将查询结果用投票人的公钥加密;
S303:将本次查询事务进行全网共识并进行上链记录、返回终端用户查询结果;
S304:在可信任的终端用投票查询人的私钥进行解密后获得查询结果。
6.根据权利要求1所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述步骤S4为:通过一个可信任投票查询终端可进行实时或最终的多条件投票情况统计;具体为:
S401:统计投票情况时,提交一个包含投票事务编号和投票统计条件信息;
S402:利用CA证书进行数字签名并提交至区块链网络,进行全网共识认证后,计算节点将根据查询条件参数调用智能合约统计查询接口;
S403:智能合约从数据库中提取投票数据,根据查询条件将投票初始数据进行结果封装;
S404:将本次查询事务进行全网共识并进行上链记录、返回终端用户结果。
7.根据权利要求6所述的一种基于区块链的不记名投票和多条件计票的方法,其特征在于:所述票事务编号为定位某一次投票活动;所述投票统计条件为某个候选者的id、年龄、性别和区域条件。

说明书全文

一种基于链的不记名投票和多条件计票的方法

技术领域

[0001] 本发明涉及一种基于区块链的不记名投票和多条件计票的方法,属于互联网技术领域。

背景技术

[0002] 现有的开源区块链技术大部分是去中介化管理的,而主权区块链技术虽然解决了监管问题,却导致了出现公私钥丢失、CA证书丢失和信息无保障等问题。
[0003] 现有的电子投票系统,虽然可以做到不记名投票,但是很难对恶意刷票、投票人投票信息篡改和黑客篡改等问题。
[0004] 现有的基于区块链的投票技术,虽然可以解决去中介化、防篡改、信息加密等特点,但是很难实现不记名投票、投票人动态注册和投票、多条件计票等问题。
[0005] 现有的网络投票技术中,无法做到分布式、可信任、去中介化和多终端投票的功能,这导致了可以在线下统计投票的情况。

发明内容

[0006] 有鉴于此,本发明的目的是提供一种基于区块链的不记名投票和多条件计票的方法,解决了去中介化、分布式和多可信任终端的不记名投票系统的问题;通过在各区块链投票终端和区块链网络各节点中各保存一份CA证书来保证终端投票安全。通过对投票人关键且唯一的身份信息进行加密、再hash生成唯一的投票人保密身份信息,以此来保证投票人的身份唯一性、信息安全性和防止恶意的刷票行为。因投票人保密身份信息是用投票人公钥加密后再hash的,所以此信息只有投票人可以查验,并以此来达到不记名投票。通过对投票人的公开信息进行加密、数字签名,然后将加密、签名后的公开信息保存在区块链各网络节点的数据库中,以此来满足通过智能合约进行多条件计票。通过本发明可在保证投票人的投票权利和信息安全的情况下,实现分布式的、多可信任终端的不记名投票和多条件的计票功能。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] 一种基于区块链的不记名投票和多条件计票的方法,利用区块链的数据加密算法和防篡改特性,来保证投票人的信息隐私、正当投票权利和最终投票结果不被篡改;具体包括以下步骤:
[0009] S1:投票人登记;
[0010] S2:投票人投票;
[0011] S3:投票人投票查询;
[0012] S4:投票结果统计。
[0013] 进一步,所述步骤S1具体为:
[0014] S101:投票人提交一份公钥、唯一可鉴别投票人身份的信息组合和一份可公开的身份信息;
[0015] S102:投票人在可信任投票终端上,利用椭圆曲线算法生成一对公私密钥,自己保留私钥,各投票终端、各区块链网络节点均生成一份CA证书;
[0016] S103:填写本次投票需要公开的投票人信息;
[0017] S104:将投票人的身份信息组合生成唯一摘要,并用公钥加密,再hash生成身份hash值;
[0018] S105:将投票人的身份hash值、投票人公开信息和公钥进行数字签名并提交区块链网络进行共识认证;
[0019] S106:区块链网络计算节点收到登记共识认证后,用本节点的CA证书进行CA认证后,并确认登记是来自可信任的终端,用提交的公钥进行登记解密获取投票人登记信息;
[0020] S107:调用智能合约登记接口,并将投票人公钥、身份hash值、身份公开信息存储于数据库中;
[0021] S108:将本次登记事务进行全网共识并进行上链记录、返回终端用户登记结果。
[0022] 进一步,所述需要公开的投票人信息包括性别、年龄、区域条件;所述投票人的身份信息包括姓名和id。
[0023] 进一步,所述步骤S2为:投票人在可信任终端将自己的投票结果信息、身份组织hash值进行私钥加密和数字认证后进行投票;具体为:
[0024] S201:投票人在可信任投票终端上发起投票,投票人将自己的投票信息利用私钥进行加密,并将加密后的投票信息和身份组合hash值进行数字签名后提交至区块链网络进行共识认证;
[0025] S202:区块链网络计算节点收到投票共识认证后,先利用本节点下的CA证书进行数字签名认证,并确认投票是来自可信任的投票终端;
[0026] S203:调用智能合约接口获取本节点下的数据库中存储的该投票人的相应公钥,key=投票人身份hash值,value=公钥;
[0027] S204:用投票人公钥对投票信息进行解密,获取投票结果,并通过智能合约记录接口将数据存于节点数据库中;
[0028] S205:将本次投票事务进行全网共识并进行上链记录、返回终端用户投票结果。
[0029] 进一步,所述步骤S3为:投票人通过终端查询自己的投票结果,还能提供接口去查询全部投票情况;具体为:
[0030] S301:投票人在可信任投票终端上发起投票查询,投票人将自己的身份组合hash值和查询条件进行CA数字签名后发起查询;
[0031] S302:区块链各节点根据共识验证,计算节点进行数字签名认证后调用智能合约查询接口进行投票查询,并将查询结果用投票人的公钥加密;
[0032] S303:将本次查询事务进行全网共识并进行上链记录、返回终端用户查询结果;
[0033] S304:在可信任的终端用投票查询人的私钥进行解密后获得查询结果。
[0034] 进一步,所述步骤S4为:通过一个可信任投票查询终端可进行实时或最终的多条件投票情况统计;具体为:
[0035] S401:统计投票情况时,提交一个包含投票事务编号和投票统计条件信息;
[0036] S402:利用CA证书进行数字签名并提交至区块链网络,进行全网共识认证后,计算节点将根据查询条件参数调用智能合约统计查询接口;
[0037] S403:智能合约从数据库中提取投票数据,根据查询条件将投票初始数据进行结果封装;
[0038] S404:将本次查询事务进行全网共识并进行上链记录、返回终端用户结果。
[0039] 进一步,所述票事务编号为定位某一次投票活动;所述投票统计条件为某个候选者的id、年龄、性别和区域条件。
[0040] 本发明的有益效果是:
[0041] a.利用区块链、CA证书和各操作终端实现可信任的分布式投票终端;
[0042] b.投票人的信息分为保密信息和公开信息,保密信息用私钥加密后再hash操作;
[0043] c.将注册、投票、查询、计票等操作上链,形成可追溯的历史凭证;
[0044] d.将保密信息和公开信息存放在区块链网络各节点数据库中,可根据公开信息进行多条件计票;
[0045] e.在智能合约中设置投票人查询接口,投票人用保密信息可查询投票结果,以此来保证投票信息不被篡改;
[0046] f.投票人的操作信息均通过私钥加密,保证了投票相关操作的信息安全。
[0047] 本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和权利要求书来实现和获得。附图说明
[0048] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
[0049] 图1为本发明中投票人登记流程图
[0050] 图2为本发明中投票人投票流程图;
[0051] 图3为本发明中投票人投票查询/结果统计流程图;
[0052] 图4为本发明工作原理图。

具体实施方式

[0053] 以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
[0054] 利用区块链的数据加密算法和防篡改特性,来保证投票人的信息隐私、正当投票权利和最终投票结果不被篡改。总体包括四个步骤:
[0055] 如图1所示,为投票人登记流程。投票人提交一份公钥、唯一可鉴别投票人身份的信息组合和一份可公开的身份信息。
[0056] a.首先,投票人在可信任投票终端上,利用椭圆曲线算法生成一对公私密钥,自己保留私钥,各投票终端、各区块链网络节点均生成一份CA证书;
[0057] b.然后,填写本次投票需要公开的投票人信息(如sex、age、区域等条件);
[0058] c.再者,将投票人的身份信息(name、id等身份认证信息)组合生成唯一摘要,并用公钥加密,再hash生成身份hash值;
[0059] d.然后,将投票人的身份hash值、投票人公开信息和公钥进行数字签名并提交区块链网络进行共识认证;
[0060] e.再者,区块链网络计算节点收到登记共识认证后,用本节点的CA证书进行CA认证后(确认登记是来自可信任的终端),用提交的公钥进行登记解密获取投票人登记信息;
[0061] f.之后,调用智能合约登记接口,并将投票人公钥、身份hash值、身份公开信息存储于数据库中;
[0062] g.最后,将本次登记事务进行全网共识并进行上链记录、返回终端用户登记结果。
[0063] 如图2所示,为投票人投票流程。投票人在可信任终端将自己的投票结果信息、身份组织hash值进行私钥加密和数字认证后进行投票。
[0064] a.首先,投票人在可信任投票终端上发起投票,投票人将自己的投票信息利用私钥进行加密,并将加密后的投票信息和身份组合hash值进行数字签名后提交至区块链网络进行共识认证;
[0065] b.然后,区块链网络计算节点收到投票共识认证后,先利用本节点下的CA证书进行数字签名认证(确认投票是来自可信任的投票终端);
[0066] c.再者,调用智能合约接口获取本节点下的数据库中存储的该投票人(key=投票人身份hash值,value=公钥)的相应公钥;
[0067] d.之后,用投票人公钥对投票信息进行解密,获取投票结果,并通过智能合约记录接口将数据存于节点数据库中;
[0068] e.最后,将本次投票事务进行全网共识并进行上链记录、返回终端用户投票结果。
[0069] 在图3中,投票人投票查询。投票人可通过终端查询自己的投票结果,这里也可提供接口去查询全部投票情况。
[0070] a.首先,投票人在可信任投票终端上发起投票查询,投票人将自己的身份组合hash值和查询条件进行CA数字签名后发起查询;
[0071] b.然后,区块链各节点根据共识验证,计算节点进行数字签名认证后调用智能合约查询接口进行投票查询,并将查询结果用投票人的公钥加密;
[0072] c.之后,将本次查询事务进行全网共识并进行上链记录、返回终端用户查询结果;
[0073] d.最后,在可信任的终端用投票查询人的私钥进行解密后获得查询结果。
[0074] 在图3中,投票结果统计。通过一个可信任投票查询终端可进行实时或最终的多条件投票情况统计。
[0075] a.首先,统计投票情况时,提交一个包含了投票事务编号(定位某一次投票活动)、投票统计条件(如某个候选者的id和分age、sex、区域等条件)等信息;
[0076] b.然后,利用CA证书进行数字签名并提交至区块链网络,进行全网共识认证后,计算节点将根据查询条件参数调用智能合约统计查询接口;
[0077] c.再者,智能合约从数据库中提取投票数据,根据查询条件将投票初始数据进行结果封装;
[0078] d.最后,将本次查询事务进行全网共识并进行上链记录、返回终端用户结果。
[0079] 图4为本发明工作原理图。
[0080] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈