CN112685751A - 数据处理方法、装置及电子投票系统 - Google Patents
数据处理方法、装置及电子投票系统 Download PDFInfo
- Publication number
- CN112685751A CN112685751A CN202011565199.4A CN202011565199A CN112685751A CN 112685751 A CN112685751 A CN 112685751A CN 202011565199 A CN202011565199 A CN 202011565199A CN 112685751 A CN112685751 A CN 112685751A
- Authority
- CN
- China
- Prior art keywords
- information
- voting
- party
- hidden
- parties
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000004364 calculation method Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 59
- 239000012634 fragment Substances 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据处理方法、装置及电子投票系统,方法应用于电子投票系统中的计算方,该计算方属于目标区块链,方法包括:分别接收多个投票方发送的隐藏信息,隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息;根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;接收其他计算方发送的多个第一信息;根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息;对第二信息进行处理,获得目标投票信息,目标投票信息表征各个投票方的投票信息的总和。
Description
技术领域
本申请涉及区块链技术领域,更具体的说是涉及一种数据处理方法、装置及电子投票系统。
背景技术
随着互联网技术的发展,电子投票逐渐代替传统的投票方式,被广泛应用在日常生活中。将区块链作为电子投票系统能够实现对投票方的身份验证,并且会使得投票信息不可篡改及可追溯性。
但是,由于区块链有着不可篡改、可验证和透明化的特点,当用户获得了投票系统的控制权,可以获得对应的私钥信息对投票信息进行分析,以获得投票方的身份信息和投票内容信息,从而使得投票系统无法实现真正的匿名投票处理。
发明内容
有鉴于此,本申请提供如下技术方案:
一种数据处理方法,应用于电子投票系统的计算方,所述电子投票系统至少包括多个投票方和多个计算方,且所述计算方属于目标区块链,所述方法包括:
分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
接收其他计算方发送的多个第一信息;
根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
可选地,所述根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息,包括:
基于自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到对应于每一隐藏信息的第三信息,以去除每一隐藏信息内自身对应的子数据片段;
根据多个所述第三信息,确定多个所述第一信息;其中,每一所述第一信息内包含每一所述投票方对应的第三信息。
可选地,同一所述第一信息内的多个所述第三信息的指数相同。
可选地,所述根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,包括:
对具有相同计算特征且来自不同计算方的第一信息进行处理,得到所述第二信息。
可选地,所述计算特征包括指数。
可选地,所述对所述第二信息进行处理,获得目标投票信息,包括:
根据所述第二信息,确定投票信息集合;所述投票信息集合内包括每一所述投票方的投票信息,且所述投票信息集合内的多个所述投票信息乱序排列;
根据所述投票信息集合,获得所述目标投票信息。
可选地,在所述目标区块链上建立对应于所述目标投票结果的区块,所述区块能够被所述投票方访问。
可选地,所述方法还包括:
对所述投票方的身份信息进行验证,得到投票方的身份验证结果;
其中,所述对所述投票放的身份信息进行验证,得到投票方的身份验证结果,包括:
响应于接收到投票方的身份信息,调用所述目标区块链的身份验证智能合约;
基于所述智能合约对所述身份信息进行验证,得到投票方的身份验证结果;
将所述身份验证结果上传至所述目标区块链。
一种数据处理装置,应用于电子投票系统的计算方,所述电子投票系统至少包括多个投票方和多个计算方,且所述计算方属于目标区块链,所述装置包括:
第一接收单元,用于分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
第一处理单元,用于根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
第二接收单元,用于接收其他计算方发送的多个第一信息;
确定单元,用于根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
第二处理单元,用于对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
一种电子投票系统,包括:多个投票方和多个计算方,且所述计算方属于目标区块链;
所述投票方,用于根据各个计算方发送的子数据片段对投票信息进行隐藏处理,获得隐藏信息;
所述计算方,用于执行如上任意一项所述的数据处理方法。
经由上述的技术方案可知,本申请公开的一种数据处理方法、装置及电子设备中,在电子投票系统中属于目标区块链的计算方接收到多个投票方发送的隐藏信息后,根据自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到多个第一信息;再根据自身计算得到多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一隐藏信息内的所有子数据片段;再对第二信息进行处理,获得目标投票信息,该目标投票信息表征各个投票方的投票信息的总和。由此,电子投票系统的计算方在计算过程中获取到的投票信息是投票方隐藏处理的信息,而不会获得原始投票信息,任意计算方也无法根据其他计算方的处理结果还原出相应的投票信息,只能计算得到各个投票方的投票信息的总和,实现了电子投票系统的匿名投票,保证了投票方的隐私信息的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种电子投票系统的结构示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种投票方与计算方的数据传输的示意图;
图4为本申请实施例提供的一种数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种数据处理方法,该数据处理方法应用于电子投票系统的计算方。参见图1,其示出了本申请实施例提供的一种电子投票系统的结构示意图,在该电子投票系统中包括多个投票方和多个计算方,其中,投票方用于生成投票信息,计算方用于对接收到的投票方发送的投票信息对应的相关信息进行计算,使得最终输出的目标投票信息让电子投票系统的参与方无法获得投票方真实的身份信息。即目标投票信息是无法将投票方的真实的投票信息与投票方的身份进行对应的信息,如计算方最终计算得到的目标投票信息可以是各个投票信息的总和。其中,投票方是多个,计算方也是多个。隐藏信息是各个投票方根据自身的真实投票信息和接收到的子数据片段处理得到的。每一投票方的隐藏信息需要发送给各个计算方,即每一计算方接收来自各个投票方对应的隐藏信息。计算方对隐藏信息的处理过程详见本申请下述实施例。需要说明的是,在本申请实施例中计算方属于目标区块链,实现了对投票方发送的隐私信息的计算是在目标区块链完成的,以解决由于区块链透明化特性带来的无法真正实现匿名投票处理的问题。计算方是目标区块链上的一个节点,该节点是指接入区块链网络中的任意形式的计算设备,如服务器和终端。投票方可以投票方可以基于自身的客户端将生成的隐藏信息发送至目标区块链的计算方,对应于投票方的客户端可以是链下节点,也可以是目标区块链上的节点,若是链下节点,则需要将隐藏信息发送至目标区块链的信息输入节点,以使得能够通过该信息输入节点将隐藏信息发送给目标区块链上的计算方。
参见图2,其示出了本申请实施例提供的一种数据处理方法,该方法应用于电子投票系统的计算方,电子投票系统至少包括多个投票方和多个计算方,且计算方属于目标区块链,需要说明的是,每一计算方的在投票系统中的数据处理方法均与图2所示的数据处理方法相似。该数据处理方法可以包括以下步骤:
S101、分别接收投票方发送的隐藏信息。
为了能够实现电子投票系统的匿名投票,计算方接收到的并不是投票方真实的投票信息,而是投票方对投票信息进行隐藏处理的隐藏信息。
每个投票方会生成一个真实的投票信息,该投票信息只有其自己能够获知,然后每一个投票方都会接收到各个计算方发送的子数据片段,利用这些子数据片段对投票信息进行隐藏处理,得到隐藏信息。每个计算方会存储有一个子数据片段,并且每个计算方存储的子数据片段不同。
参见图3,其示出了本申请实施例提供的一种投票方与计算方数据传输的示意图。在图3中包括投票方A、投票方B,以及四个计算方,分别用peer1、peer2、peer3、peer4表示。投票方A生成的真实的投票信息为A,投票方B生成的真实投票信息为B。计算方中的peer1存储的子数据片段为[r1],peer2存储的子数据片段为[r2],peer,3存储的子数据片段为[r3],peer4存储的子数据片段为[r4]。每一计算方将自身存储的子数据片段发送给各个投票方,使得投票方A和投票方B分别接收到的子数据片段为[r1]、[r2]、[r3]和[r4]。为了能够实现对投票信息的隐藏,投票方不直接利用子数据片段计算,以避免子数据片段被截取时能够还原出原始的投票信息。投票方可以利用获取到的各个子数据片段,计算得到一个组合数据,该组合数据能够表征各个子数据片段组合后的信息。
本申请实施例中对投票方生成组合数据的方法并不限制,如可以采用插值算法来获得该组合数据,具体的,可以采用拉格朗日插值法实现,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。若已知y=f(x)在互不相同n+1个点x0,x1,x2,…,xn处的函数值y0,y1,y2,…,yn,即该函数y=f(x)经过(x0,y0),(x1,y1),…(xn,yn)这n+1,则可以创建一个过这n+1个点的,次数不超过n的多项式y=Pn(x),使得其满足:
Pn(xk)=yk,k=0,1,…n
对应于图3示例中,子数据片段为[r1]、[r2]、[r3]和[r4]可以对应于上述中的(x0,y0),(x1,y1),…(xn,yn)这些点,即子数据片段中对应xn的值可以是表示计算方标识数据的数值,对应yn的值可以表示该子数据片段的数值,因此,可以基于上述各个子数据片段通过插值法获得r,r可以表示基于子数据片段生成的多项式函数,也可以是在获得多项式函数后随机选取一个对应x的数值得到的函数值,对此不进行限制。
然后,投票方根据各个子数据片段插值获得的r进行隐藏处理,得到各个投票方对应的隐藏信息。对于投票方A的隐藏信息可以表示为即对于投票方B的隐藏信息可以表示为即上述只是隐藏处理的一种计算方法,也可以基于计算得到的r采用其他的计算方法,本申请实施例对此不进行限制。
在各个投票方通过隐藏处理得到了隐藏信息之后,需要将隐藏信息发送给计算方,若投票方为目标区块链的链下节点,则投票方可以将隐藏信息发送给区块链中进行信息接收的节点,由该节点将隐藏信息发送至各个计算方对应的节点。若投票方为目标区块链节点,则可以通过信息广播的形式将隐藏信息发送给计算方,例如,利用异步广播协议进行隐藏信息的广播,使得如果有一个计算方收到投票方的隐藏信息,那么每个计算方也会收到对应的隐藏信息。
S102、根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息。
在本申请实施例中计算方需要基于接收到的投票方的隐藏信息进行相关计算,使得最终能够获得关于各个投票方的投票信息的总和。由于隐藏信息是基于各个计算方的子数据片段进行隐藏处理得到的,因此,对于每一计算方需要根据自身存储的子数据片段对隐藏信息进行处理,以在隐藏信息中去除自身子数据片段,逐步恢复出投票信息的关联信息。每一个计算方会接收到若干个投票方发送的隐藏信息,对于每一个隐藏信息都会基于该计算方自身存储的子数据片段进行处理,得到若干个处理后的隐藏信息,然后可以对处理后的隐藏信息采用匹配的处理方式来得到多个第一信息,每一第一信息均是对各个投票方的隐藏信息去除该计算方自身子数据片段后通过相应的匹配计算得到的信息。其中,匹配的处理方式可以采用k次幂的处理方式,对应的第一个第一信息可以是基于1次幂计算得到,第二个第一信息可以是基于2次幂计算的,以此类推,k的取值与计算方的数量有关。需要说明的是,在本申请实施例中选用的处理方式、计算方式均以获得隐藏信息中的投票信息的目标投票信息为目的,其具体的处理形式可以不同,目标投票信息可以反映真实的投票情况,但是无法获得具体是哪个一个投票方生成的投票信息。
S103、接收其他计算方发送的多个第一信息。
每一个计算方都会基于自身的子数据片段对隐藏信息进行处理,然后需要将各个计算方生成的多个第一信息进行汇总,以便进行后续的处理,可以汇总至任一计算方来完成后续的处理。
S104、根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息。
S105、对第二信息进行处理,获得目标投票信息。
在获得第一信息时经过的处理包括在隐藏信息中去除了计算方自身存储的子数据片段,但是由于隐藏信息是根据每一计算方发送的子数据片段进行隐藏处理得到的,因此,需要将每一计算方的子数据片段均在隐藏信息中去掉才能恢复出于投票信息相关的目标投票信息。即通过各个计算方得出的多个第一信息可以确定第二信息,以去除每一隐藏信息内的所有子数据片段。第二信息包含各个投票方的投票信息,但是该过程仅是通过去除计算方各自子数据片段后相应处理的第一信息来获得第二信息的,对于每一计算方得到的多个第一信息中还包括了其他计算方的子数据片段,因此第二信息内包含的投票信息也是出于隐藏状态的。
由于第二信息内包含的投票信息是出于隐藏状态的,需要对第二信息进行处理以获得真实的投票信息的关联信息即目标投票信息。本申请实施例中应用该数据处理方法的电子投票系统可以实现全匿名投票,计算过程中获取到的投票信息仅仅是投票方产生的投票内容信息,而不包括投票方的身份信息,即最终输出的目标投票信息表征各个投票方的投票信息的总和。在对第二信息进行处理时需要在隐藏信息中恢复投票信息,该处理过程包括乱序的过程,该乱序是指即使获得各个投票方的投票信息也无法获知每一投票信息来源于哪个投票方。具体的,处理方式可以将对第二信息处理的过程,等效为多项式求解的过程,使得该多项式有若干个解,每个解对应一个投票方的投票信息,而该多项式输出解的顺序是随机的,因此,得到的各个投票信息也是随机输出的,无法与投票方进行对应。例如,多项式的形式可以最终化简为(x-m1)·(x-m2)·····(x-mk)=0的形式,该等式的解可以是m1、m2…mk,这个解是没有顺序的,因此,本申请实施例中即使中间过程求解出的投票信息也是无序的。最终获得目标投票信息是各个投票信息的总和,该总和可以是以投票信息的集合输出,也可以是以被投票方进行统计得出的结果。例如,对三个参选人员人进行投票,参选人员有张三、李四、王五,每个投票方可以选取一个参选人员投出赞成票,有五个投票方,在本申请实施例中电子投票系统最终输出的目标投票信息可以是{张三、李四、张三、王五、张三},也可以是{张三总计3票、李四总计1票、王五总计1票}。
本申请公开的一种应用于电子投票系统的数据处理方法,在电子投票系统中属于目标区块链的计算方接收到多个投票方发送的隐藏信息后,根据自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到多个第一信息;再根据自身计算得到多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一隐藏信息内的所有子数据片段;再对第二信息进行处理,获得目标投票信息,该目标投票信息表征各个投票方的投票信息的总和。由此,电子投票系统的计算方在计算过程中获取到的投票信息是投票方隐藏处理的信息,而不会获得原始投票信息,任意计算方也无法根据其他计算方的处理结果还原出相应的投票信息,只能计算得到各个投票方的投票信息的总和,实现了电子投票系统的匿名投票,保证了投票方的隐私信息的安全性。
下面对本申请实施例中的各个相关步骤的可能的实现方式进行说明。
在一种实现方式中,步骤S102中根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息,可以通过以下方式实现:
基于自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到对应于每一隐藏信息的第三信息,以去除每一隐藏信息内自身对应的子数据片段;
根据多个所述第三信息,确定多个所述第一信息。
其中,每一所述第一信息内包含每一投票方对应的第三信息。各个投票方的隐藏信息是通过各个计算方的子数据片段计算得到的,若对隐藏信息进行恢复处理,需要先将子数据片段去除掉,但是每一计算方只存储有自身的子数据片段,所以需要先在每一个计算方中去除掉其自身的子数据片段,得到第三信息,该第三信息实质是投票信息和其他计算方的子数据片段的计算结果,由于每一计算方接收到的投票信息是来自多个投票方的,因此每一计算方计算得到的多个第三信息是对应多个投票方的。
要去除各个计算方的子数据片段,需要与其他计算方进行数据交互,此处交互的数据是去除了当前计算方本身的子数据片段的数据,包括了其他计算方的子数据片段,而投票方也是多个,需要将针对各个投票方计算的第三信息进行计算,得到第一信息,即第一信息是对应于每一投票方的第三信息得到的。为了能够获得最终的处理结果,可以对第三信息进行相应的数学变形处理,以简化处理过程,降低处理资源的占用。如同一所述第一信息内的多个所述第三信息的指数相同,也可以是第三信息具有相同的计算特征,如对应同一函数进行计算。
例如,投票方包括甲、乙、丙,然后投票方输出的隐藏信息分别为A、B、C,第一计算方的子数据片段为r1,那么第一计算方计算出的针对甲的第三信息为A1=A-r1;针对乙的第三信息为B1=B-r1;针对丙的第三信息为C1=C-r1。需要说明的是上述对第三信息进行计算的过程中的“-”表示的是去除投票方隐藏信息中第一计算方的子数据片段的运算,其还可以采用其他具体的运算方式实现,本申请不进行限制。在第一计算方计算得到了各个投票方的第三信息后,其计算获得多个第一信息,由于同一第一信息内的多个第三信息的指数相同。因此,在第一计算方计算得到的第一信息可以是:
S11=A1+B1+C1;
S12=(A1)2+(B1)2+(C1)2;
S13=(A1)3+(B1)3+(C1)3;
…
S1k=(A1)k+(B1)k+(C1)k;
其中,k的取值与计算方的数量相关,便于后续与各个计算方的第一信息进行汇总处理。
在一种实现方式中,步骤S104根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,可以通过以下方式实现:
对具有相同计算特征且来自不同计算方的第一信息进行处理,得到所述第一信息。
其中,相同计算特征可以表示在计算获得第一信息的计算方式相同,也可以表示利用相同的处理参数。例如,计算特征包括指数,即将不同计算方中对应数据的指数相同的第一信息进行处理,得到第二信息。
仍以上述举例进行说明,在第一计算方计算得到的第一信息可以是S11=A1+B1+C1;S12=(A1)2+(B1)2+(C1)2;S13=(A1)3+(B1)3+(C1)3;…S1k=(A1)k+(B1)k+(C1)k;第二计算方计算得到的第一信息可以是S21=A2+B2+C2;S22=(A2)2+(B2)2+(C2)2;S23=(A2)3+(B2)3+(C2)3;…S2k=(A2)k+(B2)k+(C2)k。需要说明的是,其中A1是基于第一计算方的子数据片段对投票方甲的隐藏信息进行处理的结果,A2是基于第二计算方的子数据片段对投票方甲的隐藏信息进行处理的结果。因此,二者的计算原理是一致的,可以将A1和A2作为第一信息中的相匹配的参数。然后在计算第二信息时,第二信息S1=S11+S21,S2=S12+S22…,这样在计算S1时,S11和S21分别对应各自计算的参数的一次幂,计算S2时利用的是S12和S22各自参数的二次幂,使得采用了相同的计算特征能够简化后续的处理过程。
在一种实现方式中,步骤S105对第二信息进行处理,获得目标投票信息,可以通过以下方式实现:
根据第二信息,确定投票信息集合;
根据所述投票信息集合,获得目标投票信息。
其中,投票信息集合内包括每一投票方的投票信息,且投票信息集合内的多个投票信息乱序排列。即在投票信息集合中对应了各个投票方的真实的投票信息,但是仅是代表投票内容的投票信息,不包括投票方的信息,并且各个投票信息是乱序排列的,可以是将投票信息随机排列的,也可以是以一种特定的顺序,如根据投票信息中的首字符在字符表中的顺序进行排序,若投票信息中包括数值,可以根据数值的大小进行排序。对应的,根据第二信息,确定投票信息集合时可以将第二信息转换为对应的计算模型求解的过程,该计算模型具有输出解的无序的特点,具体的创建数学模型以及求解的过程在本申请后续实施例中以具体的参数进行解释说明。
在本申请实施例中计算方属于目标区块链,将对投票信息进行匿名输出处理的过程可以在目标区块链上实现,可以利用区块链的不可篡改、可验证和透明化的特性,对数据进行存储和追溯,同时也可以解决区块链透明等特性带来的数据隐私性较差的问题。
在一种可能的实现方式中,可以在目标区块链上建立对应于目标投票结果的区块,将目标投票结果存储在该区块中,该区块能够被投票方进行访问。若投票方为目标区块链的节点,其可以直接对存储有目标投票结果的区块进行访问,若投票方为目标区块链的链下节点,投票方可以生成投票结果的访问请求,将该请求发送至目标区块链中的某个节点,使得通过该节点访问目标区块链中存储有目标投票结果的区块,再由该节点将目标投票结果反馈给投票方。
需要说明的是,在本申请实施例中除了可以将目标投票结果生成对应的区块外,还可以将计算中的关键信息也生成对应的区块,使得目标区块链对该信息进行存储,便于后续信息的追溯。如可以将上述处理过程中的第一信息、第二信息、以及各个计算方的子数据片段等进行上链存储。
在本申请实施例还可以将区块链作为电子投票系统做到身份验证、投票不能被更改,结果上链验证可查以及完全匿名的处理。对应的,本申请的数据处理方法还包括:
对投票方的身份信息进行验证,得到投票方的身份验证结果,
该过程可以具体包括:
响应于接收到投票方的身份信息,调用所述目标区块链的身份验证智能合约;
基于智能合约对身份信息进行验证,得到投票方的身份验证结果;
将身份验证结果上传至目标区块链。
为了保证投票方身份的真实可信需要在投票方生成投票信息之前,对投票方的身份进行验证,保证投票方的真实可信。该过程可以由计算方进行验证,当其接收到投票方的身份信息后,计算方可以调用目标区块链的身份验证智能合约审核其身份,得到投票方的身份验证结果,然后将身份验证结果上传至目标区块链。例如,身份验证结果通过密钥文件体现,身份验证智能合约可以为投票方随机生成密钥文件作为其身份的证明,并将生成的密钥文件存储在目标区块链中的存储该信息的区块。还可以根据该身份验证结果确定当前投票方是否有参与投票的资格,允许有投票资格的投票方参与投票。这样使得区块链中身份验证和匿名投票的同时实现。
下面以具体的应用实例对本申请的电子投票系统中的数据处理方法进行说明。
假设投票方有三个,分别是投票方甲、投票方乙和投票方丙,计算方有三个分别是第一计算方、第二计算方和第三计算方。投票方甲生成的真实的投票信息为A,投票方乙生成的真实的投票信息为B,投票方丙生成的真实的投票信息为C,第一计算方存储的子数据片段为[r1],第二计算方存储的子数据片段为[r2],第三计算方存储的子数据片段为[r3]。
第一计算方、第二计算方、第三计算方分别将各自的子数据片段分别发送给投票方甲、投票方乙和投票方丙,使得投票方基于接收到的各个计算方的子数据片段进行插值得到第一数据r,即第一数据r是根据[r1]、[r2]和[r3]计算得到的。
各个投票方基于第一数据r计算各自投票信息的隐藏信息如下:
然后各个投票方将各自的隐藏信息分别发送至各个计算方,使得各个计算方均接收到来自投票方甲、投票方乙和投票方丙的隐藏信息。
然后对于各个计算方需要根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到对应每一隐藏信息的第三信息,以去除每一隐藏信息内自身对应的子数据片段,再根据多个第三信息,确定多个第一信息。
第一计算方计算得到的第三信息为:
第二计算方计算得到的第三信息为:
第三计算方计算得到的第三信息为:
第一计算方计算得到的第一信息为:
第二计算方计算得到的第一信息为:
第三计算方计算得到的第一信息为:
以第一计算方为例,其可以根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息。在该实施例中第一信息的相同计算特征是指相同的指数,因此,可以对具有相同指数来自不同计算方的第一信息进行处理,得到第二信息。即各个计算方之间对第一信息进行交互,可以获得S11与S21与S31相同。例如,可以采用插值法确定一个函数能够表示各个节点的第一信息的关系,该函数确定为第二信息,对应于该插值法[S11]、[S21]、[S31]可以为对应的子数据片段,这样通过插值法可以获得S1,使得S1能够表示[S11]、[S21]、[S31]内部的函数关系。插值法的具体做法可以参见上述实施例中隐藏信息的处理过程,此处不进行赘述。
通过上述计算可以得出第二信息表示为Si,Si=Ai+Bi+Ci,其中,对应于本例子i∈[1,3]。
若有k个投票方,其分别对应的投票信息为m1,m2,……,mk。共有i个计算方,且i大于等于2。则Si=m1 i+m2 i+……+mk i其中,i∈[1,k]。
在获得了第二信息即Si,需要对其进行求解,以得到目标投票信息。为了便于描述将A=m1,B=m2,C=m3。
此时,S1=m1+m2+m3;
S2=m1 2+m2 2+m3 2;
S3=m1 3+m2 3+m3 3。
可以将上述求解过程转换为数学计算模型的求解过程。可以利用牛顿恒等式来求解,牛顿恒等式为:
f(x)=akxk+ak-1xk-1+...+a1x+a0
当上述多项式f(x)=0时,存在根m1,m2,……,mk。
因此,可以将多项式f(x)等效为f(x)=(x-m1)(x-m2)...(x-mk)=0
在多项式里,次数相等的项的系数相等,常数项与常数项也相等。
以k=3为例:
f(x)=a3x3+a2x2+a1x+a0=(x-m1)(x-m2)(x-m3)
=x3-(m1+m2+m3)x2+(m1m2+m1m3+m2m3)x+m1m2m3
又由于S1=m1+m2+m3,根据多项式系数相等,则上面x2的系数相等,即:
a2=-(m1+m2+m3)=-S1。
由此类推Si可以通过求解方程获得ai,这样就获得了多项式f(x)的系数,就能求解出方程f(x)=0的跟,从而得到了mi。需要说明的是,本申请在计算过程中计算方计算的数据基础是各个投票方的隐藏信息和自身的子数据片段,并且计算过程中需要将各个计算方处理的信息进行混合处理,因此即使获得了投票信息,也无法对应到相匹配的投票方。进一步如上述的计算过程中利用了f(x)=(x-m1)(x-m2)...(x-mk)=0这种计算方式,那么输出根的顺序是无法确定的,即等式中各项的顺序是不一定的。因此即使获取到本申请中间的计算过程,得到的各个投票信息也是无法确定来自哪个投票方的。进一步本申请输出的目标投票信息是各个投票信息的总和,是一个混合输出结果。
在电子投票的应用场景中,张三和李四竞选某个职位,投票方应用自己的客户端将隐藏信息发送给计算方,计算方对隐藏信息进行处理计算,得到最终的目标投票结果。即只有投票方自己知道自己的投票信息的真实内容。若投票方甲的投票信息为张三、投票方乙的投票信息为李四,投票丙的投票信息为张三,这些投票信息只有自己知道,输入至计算方的是各个投票方的隐藏信息,然后投票方对隐藏信息进行处理,其中计算方彼此会进行交互,将处理的中间信息即第一信息汇总至一个计算方计算,得出目标投票信息即:张三两票、李四一票。
参见图4,其示出了本申请实施例提供的一种数据处理装置的结构示意图,该装置应用于电子投票系统的计算方,电子投票系统至少包括多个投票方和多个计算方,且所述计算方属于目标区块链。本实施例中的技术方案主要用于实现电子投票系统的真正的匿名处理。
具体的,本实施例中的装置可以包括以下单元:
第一接收单元10,用于分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
第一处理单元20,用于根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
第二接收单元30,用于接收其他计算方发送的多个第一信息;
确定单元40,用于根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
第二处理单元50,用于对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
从上述技术方案可以看出,本申请实施例提供的一种数据处理装置中,接收到多个投票方发送的隐藏信息后,根据自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到多个第一信息;再根据自身计算得到多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一隐藏信息内的所有子数据片段;再对第二信息进行处理,获得目标投票信息,该目标投票信息表征各个投票方的投票信息的总和。由此,电子投票系统的计算方在计算过程中获取到的投票信息是投票方隐藏处理的信息,而不会获得原始投票信息,任意计算方也无法根据其他计算方的处理结果还原出相应的投票信息,只能计算得到各个投票方的投票信息的总和,实现了电子投票系统的匿名投票,保证了投票方的隐私信息的安全性。
在一种实现方式中,第一处理单元20具体用于:
基于自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到对应于每一隐藏信息的第三信息,以去除每一隐藏信息内自身对应的子数据片段;
根据多个所述第三信息,确定多个所述第一信息;其中,每一所述第一信息内包含每一所述投票方对应的第三信息。
可选地,同一所述第一信息内的多个所述第三信息的指数相同。
在一种实现方式中,确定单元40具体用于:
对具有相同计算特征且来自不同计算方的第一信息进行处理,得到所述第二信息。
可选地,所述计算特征包括指数。
在一种实现方式中,第二处理单元50具体用于:
根据所述第二信息,确定投票信息集合;所述投票信息集合内包括每一所述投票方的投票信息,且所述投票信息集合内的多个所述投票信息乱序排列;
根据所述投票信息集合,获得所述目标投票信息。
另外,所述装置还包括:
区块建立单元,用于在所述目标区块链上建立对应于所述目标投票结果的区块,所述区块能够被所述投票方访问。
在一种实现方式中,所述装置还包括:
验证单元,用于对所述投票方的身份信息进行验证,得到投票方的身份验证结果;
其中,所述验证单元具体用于:
响应于接收到投票方的身份信息,调用所述目标区块链的身份验证智能合约;基于所述智能合约对所述身份信息进行验证,得到投票方的身份验证结果;将所述身份验证结果上传至所述目标区块链。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
在本申请实施例中还提供了一种电子投票系统,包括多个投票放和多个计算方,且所述计算方属于目标区块链。其中,所述投票方,用于根据各个计算方发送的子数据片段对投票信息进行隐藏处理,获得隐藏信息;所述计算方,用于执行如上任意一项所述的数据处理方法,此处不再详述。
在本申请实施例中还提供了一种电子设备,该电子设备可以为目标区块链上的计算方。该电子设备主要用于实现电子投票系统的匿名投票。本实施例中的电子设备可以包括以下结构:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:
分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
接收其他计算方发送的多个第一信息;
根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
需要活命的是,本实施例中的处理器的具体实现可以参考前文中的相应内容,此处不再详述。
本说明书中每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理方法,应用于电子投票系统的计算方,所述电子投票系统至少包括多个投票方和多个计算方,且所述计算方属于目标区块链,所述方法包括:
分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
接收其他计算方发送的多个第一信息;
根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
2.根据权利要求1所述的方法,所述根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息,包括:
基于自身存储的子数据片段对各个投票方的隐藏信息进行处理,得到对应于每一隐藏信息的第三信息,以去除每一隐藏信息内自身对应的子数据片段;
根据多个所述第三信息,确定多个所述第一信息;其中,每一所述第一信息内包含每一所述投票方对应的第三信息。
3.根据权利要求2所述的方法,其中,同一所述第一信息内的多个所述第三信息的指数相同。
4.根据权利要求1所述的方法,所述根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,包括:
对具有相同计算特征且来自不同计算方的第一信息进行处理,得到所述第二信息。
5.根据权利要求4所述的方法,所述计算特征包括指数。
6.根据权利要求1所述的方法,所述对所述第二信息进行处理,获得目标投票信息,包括:
根据所述第二信息,确定投票信息集合;所述投票信息集合内包括每一所述投票方的投票信息,且所述投票信息集合内的多个所述投票信息乱序排列;
根据所述投票信息集合,获得所述目标投票信息。
7.根据权利要求1所述的方法,所述方法还包括:
在所述目标区块链上建立对应于所述目标投票结果的区块,所述区块能够被所述投票方访问。
8.根据权利要求1所述的方法,所述方法还包括:
对所述投票方的身份信息进行验证,得到投票方的身份验证结果;
其中,所述对所述投票方的身份信息进行验证,得到投票方的身份验证结果,包括:
响应于接收到投票方的身份信息,调用所述目标区块链的身份验证智能合约;
基于所述智能合约对所述身份信息进行验证,得到投票方的身份验证结果;
将所述身份验证结果上传至所述目标区块链。
9.一种数据处理装置,应用于电子投票系统的计算方,所述电子投票系统至少包括多个投票方和多个计算方,且所述计算方属于目标区块链,所述装置包括:
第一接收单元,用于分别接收多个投票方发送的隐藏信息,所述隐藏信息为每一投票方根据各个计算方发送的子数据片段对投票信息进行隐藏处理得到的信息,每个计算方存储的子数据片段不同;
第一处理单元,用于根据自身存储的子数据片段以及各个投票方的隐藏信息进行处理,得到多个第一信息;
第二接收单元,用于接收其他计算方发送的多个第一信息;
确定单元,用于根据自身计算得到的多个第一信息以及其他计算方发送的多个第一信息,确定第二信息,以去除每一所述隐藏信息内的所有子数据片段;所述第二信息包含各个投票方的投票信息,且所述第二信息内包含的投票信息处于隐藏状态;
第二处理单元,用于对所述第二信息进行处理,获得目标投票信息,所述目标投票信息表征各个投票方的投票信息的总和。
10.一种电子投票系统,包括:多个投票方和多个计算方,且所述计算方属于目标区块链;
所述投票方,用于根据各个计算方发送的子数据片段对投票信息进行隐藏处理,获得隐藏信息;
所述计算方,用于执行如权利要求1-8中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011565199.4A CN112685751B (zh) | 2020-12-25 | 2020-12-25 | 数据处理方法、装置及电子投票系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011565199.4A CN112685751B (zh) | 2020-12-25 | 2020-12-25 | 数据处理方法、装置及电子投票系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685751A true CN112685751A (zh) | 2021-04-20 |
CN112685751B CN112685751B (zh) | 2024-04-26 |
Family
ID=75451755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011565199.4A Active CN112685751B (zh) | 2020-12-25 | 2020-12-25 | 数据处理方法、装置及电子投票系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685751B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108711212A (zh) * | 2018-05-21 | 2018-10-26 | 中国联合网络通信集团有限公司 | 投票存证方法、装置及系统 |
CN108768992A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的信息匿名传输方法、设备及可读存储介质 |
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN109493053A (zh) * | 2018-11-22 | 2019-03-19 | 质数链网科技成都有限公司 | 一种用于联盟区块链系统的匿名交易方法 |
CN109687979A (zh) * | 2019-03-06 | 2019-04-26 | 郑州师范学院 | 一种环签名方法、装置、设备及介质 |
CN110009354A (zh) * | 2019-04-04 | 2019-07-12 | 郑州师范学院 | 一种区块链中基于群签名的投票方法 |
CN110391911A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链匿名投票系统及方法 |
WO2020124843A1 (zh) * | 2018-12-21 | 2020-06-25 | 暨南大学 | 基于区块链的可追踪的匿名电子投票方法 |
US20200250912A1 (en) * | 2018-07-18 | 2020-08-06 | Boe Technology Group Co., Ltd. | Distributed Voting System, Method, Apparatus, Computer Device and Readable Storage Medium |
-
2020
- 2020-12-25 CN CN202011565199.4A patent/CN112685751B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768607A (zh) * | 2018-05-14 | 2018-11-06 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN108768992A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的信息匿名传输方法、设备及可读存储介质 |
CN108711212A (zh) * | 2018-05-21 | 2018-10-26 | 中国联合网络通信集团有限公司 | 投票存证方法、装置及系统 |
US20200250912A1 (en) * | 2018-07-18 | 2020-08-06 | Boe Technology Group Co., Ltd. | Distributed Voting System, Method, Apparatus, Computer Device and Readable Storage Medium |
CN109493053A (zh) * | 2018-11-22 | 2019-03-19 | 质数链网科技成都有限公司 | 一种用于联盟区块链系统的匿名交易方法 |
WO2020124843A1 (zh) * | 2018-12-21 | 2020-06-25 | 暨南大学 | 基于区块链的可追踪的匿名电子投票方法 |
CN109687979A (zh) * | 2019-03-06 | 2019-04-26 | 郑州师范学院 | 一种环签名方法、装置、设备及介质 |
CN110009354A (zh) * | 2019-04-04 | 2019-07-12 | 郑州师范学院 | 一种区块链中基于群签名的投票方法 |
CN110391911A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链匿名投票系统及方法 |
Non-Patent Citations (1)
Title |
---|
范洪博,谢华材,张晶: "一种基于区块链技术的可信电子投票方法", 《软件导刊》, vol. 17, no. 5, pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
CN112685751B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111600707B (zh) | 一种在隐私保护下的去中心化联邦机器学习方法 | |
CN110825349B (zh) | 随机数生成方法、区块链节点、系统及介质 | |
CN108768992B (zh) | 基于区块链的信息匿名传输方法、设备及可读存储介质 | |
CN112468302B (zh) | 基于可验证多方秘密分享的可编辑区块链 | |
CN108848148B (zh) | 基于区块链的交易信息确认方法及装置 | |
Huang et al. | Resource allocation and consensus of blockchains in pervasive edge computing environments | |
CN111819817A (zh) | 针对基于双线性映射累加器的授权的区块链实现的方法和系统 | |
CN110177124A (zh) | 基于区块链的身份认证方法及相关设备 | |
CN104392534A (zh) | 一种基于手指静脉特征识别的电子投票系统 | |
CN111711655A (zh) | 一种基于区块链的电子数据存证方法、系统、存储介质及终端 | |
Azouvi et al. | Winning the caucus race: Continuous leader election via public randomness | |
CN111612600A (zh) | 区块链拍卖方法、设备、存储介质及区块链系统 | |
CN113676333A (zh) | 一种两方协作生成sm2盲签名方法 | |
CN112613601A (zh) | 神经网络模型更新方法、设备及计算机存储介质 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN111787034B (zh) | 区块生成方法、同步方法、装置、区块链系统和存储介质 | |
GB2593109A (en) | Reliability verification system for digital-asset data packet | |
CN112685750A (zh) | 数据处理方法及装置 | |
CN112685751B (zh) | 数据处理方法、装置及电子投票系统 | |
CN116614519A (zh) | 基于优化共识算法的视频及相关信息轻量级可信上链方法 | |
CN114826607B (zh) | 基于区块链的边缘计算节点压缩方法及轻量级存储系统 | |
CN115865426A (zh) | 隐私求交方法和装置 | |
Medley et al. | Collaborative verifiable delay functions | |
CN113486368A (zh) | 一种基于区块链技术的输入数据可信性验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |