一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的匿名投票方法、装置、设备及存储介质与流程

2022-07-13 13:17:42 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种基于区块链的匿名投票方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.区块链技术是一种链上数据公开透明的分布式数据库技术,并且由于区块链的公开性、不可篡改性,区块链技术常常被应用为公开投票。
3.而在实际应用中,投票者可能出于保护自身的目的,往往有匿名投票的需求,这种场景下,亟需要一种公正公开且能匿名投票的方法。


技术实现要素:

4.本发明提供一种基于区块链的匿名投票方法、装置及计算机可读存储介质,其主要目的在于解决在投票时匿名性与公正性相互冲突的问题。
5.为实现上述目的,本发明提供的一种基于区块链的匿名投票方法,包括:
6.根据预构建的投票者白名单,获取投票者的投票意向,并利用预构建的匿名投票协议,将所述投票意向编译为投票明文;
7.利用同态加密技术将所述投票明文加密为密文,并将所述密文上传至预构建的区块链节点中;
8.实时统计所述区块链节点中的未投票人数;
9.当所述未投票人数归零时,对所述区块链节点中的各个密文进行同态加密加法运算,统计投票结果。
10.可选的,所述利用预构建的匿名投票协议,将所述投票意向编译为投票明文,包括:
11.构建第一预设字节的保留域、第二预设字节的随机数域及第三预设字节的投票域;
12.将所述投票意向导入所述投票域中,并根据预设规则,将所述保留域、所述随机数域及所述投票域进行连接,得到投票明文。
13.可选的,所述利用同态加密技术将所述投票明文加密为密文,包括:
14.利用预构建的密钥生成器随机生成一个密钥;
15.利用所述密钥对所述投票明文进行加密,得到初级密文;
16.利用预设的函数处理方法对所述初级密文进行同态转换,得到所述密文。
17.可选的,所述实时统计所述区块链节点中的未投票人数,包括:
18.获取投票者白名单中投票者的全部人数;
19.当上链所述区块链节点中的密文的数量加一时,对所述全部人数进行减一操作,得到未投票人数;
20.利用预设接口服务,实时可视化输出所述未投票人数。
21.可选的,所述将所述密文上传至预构建的区块链节点中,包括:
22.利用消息摘要算法对所述密文进行哈希计算,得到哈希值;
23.根据预构建的文件url及所述哈希值,将所述密文存储至所述区块链节点中。
24.可选的,所述利用消息摘要算法对所述密文进行哈希计算,得到哈希值,包括:
25.根据预设的格式化策略,对所述密文进行分组及填充处理,得到初始化数据;
26.获取预构建的n个官方初始值,并利用所述官方初始值对所述初始化数据进行预测次数的循环计算,得到n个加密值;
27.根据预设顺序,将所述n个加密值进行连接得到所述哈希值。
28.可选的,所述根据预构建的投票者白名单,获取投票者的投票意向之后,所述方法还包括:
29.获取各个投票者授予的信息访问权限;
30.根据所述信息访问权限,获取各个投票者的身份信息,并利用预构建的投票白名单查询所述各个身份信息,得到各个投票者的投票角色等级;
31.根据各个投票者的投票角色等级对各个投票者进行投票批次划分。
32.为了解决上述问题,本发明还提供一种基于区块链的匿名投票装置,所述装置包括:
33.票文生成模块,用于根据预构建的投票者白名单,获取投票者的投票意向,并利用预构建的匿名投票协议,将所述投票意向编译为投票明文;
34.票文上链模块,用于利用同态加密技术将所述投票明文加密为密文,并将所述密文上传至预构建的区块链节点中;
35.进度监控模块,用于实时统计所述区块链节点中的未投票人数;
36.结果输出模块,用于当所述未投票人数归零时,对所述区块链节点中的各个密文进行同态加密加法运算,统计投票结果。
37.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
38.至少一个处理器;以及,
39.与所述至少一个处理器通信连接的存储器;其中,
40.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的基于区块链的匿名投票方法。
41.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于区块链的匿名投票方法。
42.本发明实施例利用匿名投票协议将投票者的投票意向进行编译,得到投票明文,再将投票明文同态加密上传至区块链,其中,本发明实施例的所述投票协议可以使得相同投票意向的密文之间没有关系,且多字节空间的密文无法被暴力穷举的方式反推出来,大大增加了各个投票意向的匿名性,此外,通过区块链技术,使得投票意向的密文无法被修改,增加投票公正性。因此本发明提出的基于区块链的匿名投票方法、装置、电子设备及计算机可读存储介质,可以解决解决在投票时匿名性与公正性相互冲突的问题。
附图说明
43.图1为本发明一实施例提供的基于区块链的匿名投票方法的流程示意图;
44.图2为本发明一实施例提供的票文上链过程中具体加密的流程示意图;
45.图3为本发明一实施例提供的基于区块链的匿名投票方法的一个步骤的详细流程示意图;
46.图4为本发明一实施例提供的基于区块链的匿名投票装置的功能模块图;
47.图5为本发明一实施例提供的实现所述基于区块链的匿名投票方法的电子设备的结构示意图。
48.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
49.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
50.本技术实施例提供一种基于区块链的匿名投票方法。所述基于区块链的匿名投票方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于区块链的匿名投票方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
51.参照图1所示,为本发明一实施例提供的基于区块链的匿名投票方法的流程示意图。在本实施例中,所述基于区块链的匿名投票方法包括:
52.s1、根据预构建的投票者白名单,获取投票者的投票意向,并利用预构建的匿名投票协议,将所述投票意向编译为投票明文。
53.本发明其中一个实施例通过配置智能合约的方式,完成本发明所述基于区块链的匿名投票方法。其中,所述智能合约至少包括下述内容:
54.一张投票者白名单:只有所述投票者白名单上的账号才能参与匿名投票,且所述投票者白名单中的每个账号只能执行一次投票动作,每一个投票动作只能提交自己的投票意向,任何账号都不可以更改其他账号的投票意向;
55.一个管理员角色:所述管理员角色最初由部署所述智能合约的账号担任,后期也可以修改成其他账号,所述管理员角色负责添加投票账号到所述投票者白名单中,以及最后执行统计投票结果的操作。
56.总之,本发明实施例根据所述智能合约,完成投票过程。
57.具体的,本发明实施例根据各个投票者登录的投票客户端,并利用所述投票者白名单对投票者进行身份验证后,获取各个投票者的投票意向。
58.进一步地,本发明实施例中,所述利用预构建的匿名投票协议,将所述投票意向编译为投票明文,包括:
59.构建第一预设字节的保留域、第二预设字节的随机数域及第三预设字节的投票域;
60.将所述投票意向导入所述投票域中,将一个随机数导入所述随机数域中,并根据预设规则,将所述保留域、所述随机数域及所述投票域进行连接,得到投票明文。
61.其中,本发明实施例根据预设的连接规则构建一个由【“保留域” “随机数域” “投票域”】的队列组成的投票明文,其中,保留域4字节,随机数域28字节,所述投票域32字节。
62.其中,本发明实施例使用所述随机数域可以使得相同投票意向的密文在后续的加密过程中显示不一样,而所述保留域可以防止统计投票结果的时候,使用同态加密加法会导致最终结果数据溢出。
63.此外,本发明另一实施例中,所述根据预构建的投票者白名单,获取投票者的投票意向之后,所述方法还包括:
64.获取各个投票者授予的信息访问权限;
65.根据所述信息访问权限,获取各个投票者的身份信息,并利用预构建的投票白名单查询所述各个身份信息,得到各个投票者的投票角色等级;
66.根据各个投票者的投票角色等级对各个投票者进行投票批次划分。
67.具体的,本发明另一实施例中,可以类似于“联合国五常投票与全体国家代表投票”、“评委投票与现场观众投票”的方式,将投票机制进行分级、多样化处理,方便处理不同问题时的使用。
68.s2、利用同态加密技术将所述投票明文加密为密文,并将所述密文上传至预构建的区块链节点中。
69.其中,所述同态加密技术定义为基于数学难题的计算复杂性理论的密码学技术,我们可理解为一种不需要访问数据本身就可以加工数据的方法。
70.详细的,如图2所示,本发明实施例中,所述利用同态加密技术将所述投票明文加密为密文,包括:
71.s21、利用预构建的密钥生成器随机生成一个密钥;
72.s22、利用所述密钥对所述投票明文进行加密,得到初级密文;
73.s23、利用预设的函数处理方法对所述初级密文进行同态转换,得到所述密文。
74.具体的,本发明实施例利用密钥生成器subkey来生成密钥,再利用所述密钥对所述投票明文进行初步加密,得到初级密文,再根据投票管理员预设的函数处理方法将所述初级密文进行同态转换,得到所述密文。其中,所述密文与所述初级密文的表现形式不同,但是都可以根据所述密钥解密为完全相同的投票明文。
75.进一步地,本发明实施例中,所述将所述密文上传至预构建的区块链节点中,包括:
76.利用消息摘要算法对所述密文进行哈希计算,得到哈希值;
77.根据预构建的文件url及所述哈希值,将所述密文存储至所述区块链节点中。
78.本发明实施例为更好的存储投票结果,采用了哈希存证及链接存证的方法,其中,所述哈希存证就是把密文的哈希值进行保存上链,所述哈希值通常称为文件的“数字指纹”;而所述链接存证即添加了密文的uri地址,这样区块链上就存储了“密文地址 密文数字指纹”这两套东西了,这两套可以互相印证,加强密文存储的安全性。
79.此外,所述信息摘要算法的特征是加密过程不需要额外密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文,
因此不需要找到明文,只要能根据所述哈希值找到明文的位置即可。
80.进一步地,本发明实施例中,所述利用消息摘要算法对所述密文进行哈希计算,得到哈希值,包括:
81.根据预设的格式化策略,对所述密文进行分组及填充处理,得到初始化数据;
82.获取预构建的n个官方初始值,并利用所述官方初始值对所述初始化数据进行预测次数的循环计算,得到n个加密值;
83.根据预设顺序,将所述n个加密值进行连接得到所述哈希值。
84.本发明实施例中,所述格式化策略是指利用预设大小的截取窗口将所述密文进行截取,最后不完整的余数部分先补一个
‘1’
再将剩下部分补
‘0’
,得到规则的初始化数据;再从所述消息摘要算法的官网获取初始值a、b、c、d,其中,a=0x01234567;b=0x89abcdef;c=0xfedcba98;d=0x76543210,然后,利用所述4个初始值对所述密文进行循环加工,得到4个8位16进制的加密值,再根据a、b、c、d的顺序对所述4个加密值进行连接得到32位的16进制哈希值。
85.s3、实时统计所述区块链节点中的未投票人数。
86.详细的,如图3所示,本发明实施例中,所述实时统计所述区块链节点中的未投票人数,包括:
87.s31、获取投票者白名单中投票者的全部人数;
88.s32、当上链所述区块链节点中的密文的数量加一时,对所述全部人数进行减一操作,得到未投票人数;
89.s33、利用预设接口服务,实时可视化输出所述未投票人数。
90.本发明从所述投票者白名单获取参与投票的人数,然后利用预设的监控服务实时监控所述区块链节点中密文的更新情况,当所述区块链节点中出现新的密文时,启动预设计算引擎对所述参与投票的人数进行减一,并通过投票客户端进行展示当前投票进度。
91.s4、当所述未投票人数归零时,对所述区块链节点中的各个密文进行同态加密加法运算,统计投票结果。
92.当所述未投票人数归零时,判定投票过程结束,本发明实施例通过多线程操作,利用所述加密及所述函数处理方法对所述区块链节点中的各个密文进行同步同态加密加法运算,并将同态加密加法运算结果进行类别分类统计,得到投票结果。
93.本发明另一实施例中,还可以通过预设时间对投票过程进行限制,当投票时间达到预设的截止时间时,可以停止投票过程,并将未投票的人归为弃权。
94.此外,本技术实施例可以基于人工智能技术对相关的数据进行上述s1至s4的自动化操作。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
95.总之,本发明实施例利用匿名投票协议将投票者的投票意向进行编译,得到投票明文,再将投票明文同态加密上传至区块链,其中,本发明实施例的所述投票协议可以使得相同投票意向的密文之间没有关系,且多字节空间的密文无法被暴力穷举的方式反推出来,大大增加了各个投票意向的匿名性,此外,通过区块链技术,使得投票意向的密文无法被修改,增加投票公正性。
interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
109.所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
110.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
111.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
112.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
113.所述电子设备1中的所述存储器11存储的基于区块链的匿名投票程序是多个指令的组合,在所述处理器10中运行时,可以实现:
114.根据预构建的投票者白名单,获取投票者的投票意向,并利用预构建的匿名投票协议,将所述投票意向编译为投票明文;
115.利用同态加密技术将所述投票明文加密为密文,并将所述密文上传至预构建的区块链节点中;
116.实时统计所述区块链节点中的未投票人数;
117.当所述未投票人数归零时,对所述区块链节点中的各个密文进行同态加密加法运算,统计投票结果。
118.具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
119.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
120.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
121.根据预构建的投票者白名单,获取投票者的投票意向,并利用预构建的匿名投票协议,将所述投票意向编译为投票明文;
122.利用同态加密技术将所述投票明文加密为密文,并将所述密文上传至预构建的区块链节点中;
123.实时统计所述区块链节点中的未投票人数;
124.当所述未投票人数归零时,对所述区块链节点中的各个密文进行同态加密加法运算,统计投票结果。
125.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
126.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
127.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
128.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
129.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
130.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
131.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
132.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
133.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献