电子投票系统以及控制方法与流程

文档序号:17188417发布日期:2019-03-22 21:40阅读:395来源:国知局
电子投票系统以及控制方法与流程

本公开涉及电子投票系统以及控制方法。



背景技术:

近年来,一部分地方自治团体在进行电子投票。在电子投票系统中,为了隐匿投票者的投票内容,需要使得不让投票者的认证信息与投票内容相关联。

在专利文献1(日本特表2011-517825号公报)所公开的电子投票系统中,向投票者的认证所使用的通信终端发送投票参与票证(ticket),通信终端将投票参与票证以匿名化的方式发送,由此来确保投票者的匿名性。

另外,电子投票系统也需要具备如系统的可靠性高以及所记录的投票内容不会被改变这样的要件。在非专利文献1(“利用区块链分布式台账的电子投票的群智慧的构成”,信息处理,第57卷,第12号,第1204-1209页(「ブロックチェーンの分散台帳を利用した電子投票による集合知の構成」情報処理第57巻第12号pp.1204-1209))中,公开了为了实现系统的高可靠性以及对改变投票内容的防止而使用区块链(blockchain)。



技术实现要素:

发明所要解决的问题

在电子投票系统中通过区块链管理投票的情况下,存在如下问题:将包含投票结果的区块链公开时,会形成投票者与投票内容的关联,无法实现秘密投票(无记名投票)。

于是,本公开提供能够实现秘密投票的电子投票系统等。

用于解决问题的技术方案

本公开的一个技术方案涉及的电子投票系统,具备终端、多个认证服务器和多个投票服务器,所述多个认证服务器包括第一认证服务器和至少一个其他认证服务器,所述多个投票服务器包括第一投票服务器和至少一个其他投票服务器,所述第一认证服务器具备第一存储器和第一处理器,所述第一处理器在运行中执行第一处理,所述第一处理包括:从所述终端接收认证数据,使用接收到的所述认证数据来对投票者进行认证,所述认证数据包含与所述投票者相关联的第一id和所述投票者的认证信息;将第一区块链存储于所述第一存储器,所述第一区块链包含表示所述投票者通过所述认证得到认证这一情况的第一事务(transaction,交易、处理事项)数据;以及将所述第一存储器所存储的所述第一区块链与所述其他认证服务器进行同步,所述第一投票服务器具备第二存储器和第二处理器,所述第二处理器在运行中执行第二处理,所述第二处理包括:从所述终端接收投票数据,所述投票数据包含与所述投票者所投的票相关联的第二id和表示所述票的投票内容的投票信息,所述第一id与所述第二id相独立;将第二区块链存储于所述第二存储器,所述第二区块链包含第二事务数据和伪(dummy,虚拟)事务数据,所述第二事务数据是接收到的所述投票数据所包含的所述投票信息,所述伪事务数据是包含与所述投票者的投票不相关联的伪票的投票内容的事务数据;以及将所述第二存储器所存储的所述第二区块链与所述其他投票服务器进行同步,所述终端具备第三存储器和第三处理器,所述第三处理器在运行中执行第三处理,所述第三处理包括:生成所述认证数据;将生成的所述认证数据发送给所述第一认证服务器;以及在由所述第一认证服务器进行的认证成功后生成所述投票数据,将生成的所述投票数据发送给所述第一投票服务器。

此外,这些总括性或具体的技术方案既可以通过系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序以及记录介质的任意组合来实现。

发明效果

根据本公开,能够实现秘密投票。

附图说明

图1是表示实施方式中的电子投票系统的构成的示意图。

图2是表示区块链的数据结构的说明图。

图3是表示事务数据的数据结构的说明图。

图4是表示实施方式中的投票终端的构成的框图。

图5是表示实施方式中的认证服务器的构成的框图。

图6是表示实施方式中的投票服务器的构成的框图。

图7是表示实施方式中的电子投票系统的初始化处理的时序图。

图8是表示实施方式中的初始化处理中的认证币(coin)的所有者的说明图。

图9是表示实施方式中的初始化处理中的投票币的所有者的说明图。

图10是表示实施方式中的电子投票系统的投票处理的第一时序图。

图11是表示实施方式中的电子投票系统的投票处理的第二时序图。

图12是表示实施方式中的投票处理中的认证币的所有者的说明图。

图13是表示实施方式中的投票处理中的投票币的所有者的说明图。

图14是表示实施方式中的区块所包含的投票内容的说明图。

图15是表示实施方式中的电子投票系统的投票结束处理的流程图。

图16是表示实施方式中的投票结果的说明图。

图17是表示实施方式中的投票服务器所进行的投票结果的公开处理的流程图。

图18是表示实施方式中的电子投票系统中的投票所使用的投票终端的示意图。

图19是表示实施方式中的电子投票系统中的投票结果的公开所使用的终端的示意图。

具体实施方式

本公开的一个技术方案涉及的电子投票系统,具备终端、多个认证服务器和多个投票服务器,所述多个认证服务器包括第一认证服务器和至少一个其他认证服务器,所述多个投票服务器包括第一投票服务器和至少一个其他投票服务器,所述第一认证服务器具备第一存储器和第一处理器,所述第一处理器在运行中执行第一处理,所述第一处理包括:从所述终端接收认证数据,使用接收到的所述认证数据来对投票者进行认证,所述认证数据包含与所述投票者相关联的第一id和所述投票者的认证信息;将第一区块链存储于所述第一存储器,所述第一区块链包含表示所述投票者通过所述认证得到认证这一情况的第一事务数据;以及将所述第一存储器所存储的所述第一区块链与所述其他认证服务器进行同步,所述第一投票服务器具备第二存储器和第二处理器,所述第二处理器在运行中执行第二处理,所述第二处理包括:从所述终端接收投票数据,所述投票数据包含与所述投票者所投的票相关联的第二id和表示所述票的投票内容的投票信息,所述第一id与所述第二id相独立;将第二区块链存储于所述第二存储器,所述第二区块链包含第二事务数据和伪事务数据,所述第二事务数据是接收到的所述投票数据所包含的所述投票信息,所述伪事务数据是包含与所述投票者的投票不相关联的伪票的投票内容的事务数据;以及将所述第二存储器所存储的所述第二区块链与所述其他投票服务器进行同步,所述终端具备第三存储器和第三处理器,所述第三处理器在运行中执行第三处理,所述第三处理包括:生成所述认证数据;将生成的所述认证数据发送给所述第一认证服务器;以及在由所述第一认证服务器进行的认证成功后生成所述投票数据,将生成的所述投票数据发送给所述第一投票服务器。

根据上述技术方案,电子投票系统在是否为正当(合法、有效)的投票者的认证和认证后所进行的投票中,使用包含彼此独立的id的数据。由此,例如即使在选举后公开了认证的结果和投票内容的情况下,也能够使得进行了该投票内容的投票的投票者不被确定。另外,通过将表示得以认证这一情况的数据与表示投票内容的数据分别用单独的区块链进行管理,能够抑制各数据的篡改。再者,保存有投票内容的区块链中保存有表示投票者的投票的内容的数据、和表示与投票者的投票不相关联的伪票的投票内容的数据,因此抑制投票者的投票内容被确定。由此,电子投票系统能够实现秘密投票。

例如也可以为,所述第二处理还包括:在从所述终端接收到所述投票数据的情况下,生成第二事务数据,所述第二事务数据表示接收到的所述投票数据所包含的所述投票内容;生成作为包含所述伪票的投票内容的事务数据的所述伪事务数据;生成包含所述第二事务数据和所述伪事务数据的第二区块;以及将生成的所述第二区块连接于所述第二区块链。

根据上述技术方案,电子投票系统将包含由投票者进行的投票的内容的事务数据、和伪事务数据保存于区块链。由此,电子投票系统利用投票者的伪事务数据,能够实现秘密投票。

例如也可以为,所述第二处理还包括:输出所生成的所述伪事务数据的个数。

根据上述技术方案,电子投票系统通过从候选人的得票数减去被输出的伪事务数据的个数,能够算出实际的候选人的得票数。

例如也可以为,所述第二处理还包括:预先决定所述多个投票服务器生成的所述伪事务数据的个数;以及将决定的所述个数与所述其他投票服务器进行共享。

根据上述技术方案,电子投票系统预先决定了由多个投票服务器生成的伪事务数据的个数,因此能够更切实地生成预先决定的个数的伪事务数据。假如没有预先确定要生成的伪事务数据的个数,那么在投票者的投票进行的过程中,应该生成的伪事务数据的个数可能会发生变动。由此在多个投票服务器中生成的伪事务数据的个数发生变动,可能成为投票数的算出变得不准确的重要原因。

例如也可以为,所述第二处理还包括:在从所述终端接收到所述投票数据的情况下,生成具有与接收到的所述投票数据所包含的所述投票内容不同的投票内容的所述伪事务数据。

根据上述技术方案,电子投票系统将具有与投票者的投票不同的投票内容的伪事务数据保存于区块链,因此得票数沿使每位候选人的得票数均衡的方向变化。由此,抑制投票者的投票的秘密性欠缺。

另外,本公开的一个技术方案涉及的电子投票系统,具备多个认证服务器和多个投票服务器,所述多个认证服务器包括第一认证服务器和至少一个其他认证服务器,所述多个投票服务器包括第一投票服务器和至少一个其他投票服务器,所述第一认证服务器具备第一存储器和第一处理器,所述第一处理器在运行中执行第一处理,所述第一处理包括:从终端接收认证数据,使用接收到的所述认证数据来对投票者进行认证,所述认证数据包含与所述投票者相关联的第一id和所述投票者的认证信息;将包含第一事务数据的第一区块链存储于所述第一存储器,所述第一区块链包含表示所述投票者通过所述认证得到认证这一情况的第一事务数据;以及将所述第一存储器所存储的所述第一区块链与所述其他认证服务器进行同步,所述第一投票服务器具备第二存储器和第二处理器,所述第二处理器在运行中执行第二处理,所述第二处理包括:从所述终端接收投票数据,所述投票数据包含与所述投票者所投的票相关联的第二id和表示所述票的投票内容的投票信息,所述第一id与所述第二id相独立;将第二区块链存储于所述第二存储器,所述第二区块链包含第二事务数据和伪事务数据,所述第二事务数据是接收到的所述投票数据所包含的所述投票信息,所述伪事务数据是包含与所述投票者的投票不相关联的伪票的投票内容的事务数据;以及将所述第二存储器所存储的所述第二区块链与所述其他投票服务器进行同步。

根据上述技术方案,电子投票系统使用不包含于电子投票系统的终端,能够与上述同样地实现秘密投票。

另外,本公开的一个技术方案涉及的投票服务器的控制方法,是电子投票系统中的多个投票服务器中的第一投票服务器的控制方法,所述多个投票服务器包括至少一个其他投票服务器,所述控制方法包括:用处理器,从终端接收投票数据,所述投票数据包含与投票者所投的票相关联的第二id和表示所述票的投票内容的投票信息,与所述投票者相关联的第一id和所述第二id相独立;将第二区块链存储于存储器,所述第二区块链包含第二事务数据和伪事务数据,所述第二事务数据是接收到的所述投票数据所包含的所述投票信息,所述伪事务数据是包含与所述投票者的投票不相关联的伪票的投票内容的事务数据;用所述处理器,将所述存储器所存储的所述第二区块链与所述其他投票服务器进行同步;在从所述终端接收到所述投票数据的情况下,用所述处理器生成第二事务数据,所述第二事务数据表示接收到的所述投票数据所包含的所述投票内容;用所述处理器生成包含所述第二事务数据和所述伪事务数据的第二区块;以及用所述处理器将生成的所述第二区块连接于所述第二区块链。

由此,实现与上述电子投票系统同样的效果。

另外,本公开的一个技术方案涉及的电子投票系统的控制方法,是具备终端、多个认证服务器和多个投票服务器的电子投票系统的控制方法,所述多个认证服务器包括第一认证服务器和至少一个其他认证服务器,所述多个投票服务器包括第一投票服务器和至少一个其他投票服务器,所述控制方法包括:用所述第一认证服务器的第一处理器,从所述终端接收认证数据,使用接收到的所述认证数据来对投票者进行认证,所述认证数据包含与所述投票者相关联的第一id和所述投票者的认证信息;将第一区块链存储于所述第一认证服务器的第一存储器,所述第一区块链包含表示所述投票者通过所述认证得到认证这一情况的第一事务数据;用所述第一处理器,将所述第一存储器所存储的所述第一区块链与所述其他认证服务器进行同步;用所述第一投票服务器的第二处理器,从所述终端接收投票数据,所述投票数据包含与投票者所投的票相关联的第二id和表示所述票的投票内容的投票信息,所述第一id与所述第二id相独立;将第二区块链存储于所述第一投票服务器的第二存储器,所述第二区块链包含第二事务数据和伪事务数据,所述第二事务数据是接收到的所述投票数据所包含的所述投票信息,所述伪事务数据是包含与所述投票者的投票不相关联的伪票的投票内容的事务数据;用所述第二处理器,将所述第二存储器所存储的所述第二区块链与所述其他投票服务器进行同步;用所述终端的第三处理器,生成所述认证数据;用所述第三处理器将生成的所述认证数据发送给所述第一认证服务器;在由所述第一认证服务器进行的认证成功后,用所述第三处理器生成所述投票数据;以及用所述第三处理器将生成的所述投票数据发送给所述第一投票服务器。

由此,实现与上述电子投票系统同样的效果。

此外,这些总括性或具体的技术方案既可以通过系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序以及记录介质的任意组合来实现。

以下,参照附图,具体地对实施方式进行说明。

此外,以下说明的实施方式均表示总括性或具体的例子。以下实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等为一例,并非旨在限定本公开。另外,对于以下实施方式中的构成要素中的、没有记载在表示最上位概念的独立权利要求中的构成要素,作为任意的构成要素进行说明。

(实施方式)

在本实施方式中,对能够实现秘密投票的电子投票系统进行说明。

1.系统构成

电子投票系统是让投票者使用投票终端进行电子投票的系统。电子投票系统在投票终端与认证服务器之间进行与投票有关的认证处理,之后在投票终端与投票服务器之间进行投票处理。也将电子投票系统受理投票者的投票的期间称为投票期间。此外,也将利用电子投票系统投票的人称为“投票者”,相对于此,将具有能投票的权利的人称为选举人(选民)。

下面,参照附图,对电子投票系统进行说明。

1.1电子投票系统10的整体构成

图1是示出本实施方式涉及的电子投票系统10的构成的图。电子投票系统10具备投票终端100a、101a、102a、100b、101b、102b、100c、101c和102c(也称为投票终端100a等)、认证服务器200a、200b和200c(也称为认证服务器200a等)以及投票服务器300a、300b和300c(也称为投票服务器300a等),并通过网络n将它们连接。此外,电子投票系统10也可以不具备投票终端100a等,而利用电子投票系统10外部的终端、例如投票者所拥有的终端作为投票终端100a等。

认证服务器200a等进行投票者是否正当的认证,管理着表示已被认证的投票者的信息。认证服务器200a在上述认证以及信息的管理中利用了公知的区块链技术。即,认证服务器200a利用区块链管理着虚拟事务(transaction)的对象的事务历史记录。在此,使用币(也称为认证币)作为虚拟事务对象来进行说明,但虚拟事务对象不限定于币。另外,多个认证服务器200a等通过共享收存有认证币的事务历史记录的区块链并相互认可,从而防止事务历史记录的篡改。认证币由认证服务器200a等生成,并被提供给投票终端100a等。当投票者的认证成功时,从投票终端100a向认证服务器200a提供认证币。也将认证币的授受(交换)称为认证事务。认证币是不具有实体的虚拟的币,其事务历史记录由认证服务器200a等所管理。认证币具有能够唯一地识别该认证币的id(标识符)。认证币的id与分配给选举人的id一对一地相关联。也将认证币的id称为认证id。

投票服务器300a等管理着投票者的投票内容。投票服务器300a在投票内容的管理中利用了公知的区块链技术。即,投票服务器300a利用区块链管理着虚拟事务对象的事务历史记录。在此,使用币(也称为投票币)作为虚拟事务对象来进行说明,但虚拟事务对象不限定于币。另外,多个投票服务器300a等通过共享收存有投票币的事务历史记录的区块链并相互认可,从而防止事务历史记录的篡改。投票币由投票服务器300a生成,并经由认证服务器200a提供给投票终端100a等。也将投票币的授受称为投票事务,从投票终端100a向候选人的对投票币的提供相当于选举中的投票。投票币是不具有实体的虚拟的币,其事务历史记录由投票服务器300a等所管理。而且,在投票者投票时,从投票终端100a提供给候选人。候选人最终获得的投票币的个数成为电子投票中的候选人的得票数。投票币相当于以往的选举中的纸质选票。投票币具有能够唯一地识别该投票币的id(标识符)。投票币的id与投票者所投的票一对一地相关联。也将投票币的id称为投票id。

认证币的id与投票币的id相互独立。

电子投票系统10例如划分为三个子系统a、b以及c。此外,子系统的数量不限于三个,也可以为两个以上的任意数量。

电子投票系统10通过多个认证服务器200a等和多个投票服务器300a等来使处理分散并且进行信息共享,以使得能够在市镇村、省或者全国范围的选举中使用。另外,通过在多个认证服务器200a彼此以及多个投票服务器300a彼此间进行区块链技术中的相互的认可,防止事务历史记录的篡改。

例如,在投票者使用设置于投票站的投票终端100a进行投票的情况下,认证服务器200a和投票服务器300a按各投票站而设置。在该情况下,与投票站相对应地设置子系统a、b以及c的每一个。例如在日本全国范围的选举中,子系统的数量可能达到数万个左右。

另外,在投票者在家中等经由网络进行投票的情况下,认证服务器200a和投票服务器300a也可以按选举人的属性(性别、居住地、职业等)而设置。在该情况下,分别与选举人的各属性相对应地设置子系统a、b以及c的每一个。

图2是表示区块链的数据结构的说明图。

区块链是在链条(锁链)上连接作为其记录单位的区块而成的。各个区块具有多个事务数据以及紧接着的前一区块的哈希值。具体而言,区块b2中包含其前面的区块b1的哈希值。而且,根据区块b2所包含的多个事务数据和区块b1的哈希值而运算出的哈希值作为区块b2的哈希值包含于区块b3。这样,通过将前面的区块的内容作为哈希值包含在内并且将区块连接为链条状,从而有效地防止对所连接的事务数据的篡改。

假设过去的事务数据被变更,则区块的哈希值会变为不同于变更前的值,而为了用篡改后的区块冒充正确的区块,必须将之后的区块全部重做,该工作在现实中是非常困难的。

各事务数据表示币的新生成以及授受。该币相当于认证币以及投票币。

图3是表示事务数据的数据结构的第一说明图。

图3所示的事务数据是表示币从保持者被提供给提供目标(目的地)这一情况的事务数据d1的一例。事务数据d1含有表示保持者的地址p1、表示提供目标的地址p2以及通过用保持者的签名密钥对地址p1及p2的哈希值进行签名而生成的电子签名p3。此外,在生成新的币时也生成事务数据。生成新的币时的事务数据的地址p1为空。

下面,依次对投票终端100a、认证服务器200a以及投票服务器300a进行说明。此外,对于其他投票终端、其他认证服务器以及其他投票服务器,同样的说明也成立。

1.2投票终端100a的构成

投票终端100a是如下终端:从投票者接受投票者的认证信息以及投票内容的输入,另外显示各种信息。投票终端100a既可以是投票者拥有的便携终端(具体而言是移动电话终端、智能手机、个人计算机),也可以是装配于投票站的终端。

图4是表示本实施方式涉及的投票终端100a的构成的框图。投票终端100b以及100c也是同样的构成。投票终端100a具备显示部111、输入部112、事务数据生成部113以及通信部114。投票终端100a能够通过处理器使用存储器执行预定程序来实现。

显示部111是显示投票时的画面的显示装置。在简单称为“画面”的情况下,意味着显示于液晶显示器或者有机el(electro-luminescence,场致发光)显示器等显示装置的由图像映现出的画面。以下也是同样的。

输入部112从投票者受理投票时的认证信息的输入以及投票内容的输入。

事务数据生成部113生成用于投票者的认证的认证数据、和用于投票者的投票的投票数据。另外,事务数据生成部113生成用于伴随着认证的认证币授受的认证事务数据、和用于伴随着投票者的投票的投票币授受的投票事务数据。认证数据包含认证信息和投票终端100a的电子签名(也简单称为签名),所述认证信息包含投票者本人固有的认证id。电子签名是用签名密钥对认证信息的哈希值进行签名而生成的。认证事务数据是表示将认证币从投票终端100a提供给认证服务器200a的事务的事务数据。也将认证事务数据称为第一事务数据。

另外,投票数据包含电子投票中的投票内容和投票终端100a的签名。具体而言,投票内容是表示投票目标候选人的信息或者表示信任或不信任等的信息。投票事务数据是表示将从认证服务器200a提供的投票币提供给候选人的事务的事务数据。也将投票事务数据称为第二事务数据。

事务数据生成部113生成认证数据并将生成的认证数据发送给认证服务器200a。另外,事务数据生成部113通过向认证服务器200a发送认证数据,从而在由认证服务器200a进行的认证成功后生成投票数据,并将生成的投票数据发送给投票服务器300a。

此外,由投票终端100a进行的签名生成所需的签名密钥既可以由投票终端100a事先保持,也可以在接受由投票者对认证信息的输入时从认证服务器200a取得。

通信部114是与认证服务器200a以及投票服务器300a各自进行通信的通信接口。该通信也可以利用tls(transportlayersecurity,传输层安全协议)来进行。在该情况下,tls通信用的密钥也可以由通信部114保持。

1.3认证服务器200a的构成

图5是表示本实施方式中的认证服务器200a的构成的框图。认证服务器200b以及200c也是同样的构成。认证服务器200a具备画面数据生成部211、事务数据验证部212、事务数据生成部213、区块生成部214、同步部215、存储部216以及通信部217。认证服务器200a等能够通过处理器使用存储器执行预定程序来实现。

画面数据生成部211在有来自投票终端100a的用于认证的访问(access)时,生成用于描绘认证用的画面的画面数据。具体而言,画面数据生成部211生成画面数据,所述画面数据用于在投票终端100a描绘用于从投票者接受认证信息的输入的画面。

事务数据验证部212在从投票终端100a接收到认证事务数据时,对接收到的认证事务数据进行验证。事务数据验证部212在从投票终端100a接收到认证事务数据时,验证接收到的认证事务数据所包含的签名是否正当,另外验证认证信息是否正当。在认证信息的正当性的验证中,验证是否是由电子投票系统10事先所发行的认证信息,另外验证在投票期间内一个认证信息是否被使用了两次以上等。通过如下方式来确认一个认证信息是否没有被使用两次以上:参照存储部216,由此判断存储部216中是否没有存储利用该一个认证信息的认证的事务。事务数据验证部212在验证处理的结果是判定为认证信息正当的情况下将认证事务数据存储于存储部216。另外,正当的认证事务数据由同步部215向其他认证服务器200b以及200c发送而被同步。

另外,事务数据验证部212在从投票服务器300a接收到投票事务数据时,对投票事务数据所包含的签名是否正当进行验证。

事务数据生成部213生成认证事务涉及的认证事务数据。事务数据生成部213在初始化处理中生成认证事务数据,所述认证事务数据新生成与选举人的人数相同个数的认证币。在该时刻的认证币的所有者是每个选举人。

另外,事务数据生成部213生成将从投票服务器300a提供的投票币提供给投票终端100a的投票事务数据。事务数据生成部213相当于第一事务数据生成部。

区块生成部214在多个认证服务器200a之间执行共识算法。共识算法既可以使用被称为pbft(practicalbyzantinefaulttolerance,实用拜占庭容错算法)的共识算法,也可以使用其他公知的共识算法。区块生成部214在关于一个以上的认证事务通过共识算法成功建立了共识的情况下,生成包含认证事务数据的区块,并存储于存储部216。再者,区块生成部214将生成的区块连接于存储部216所存储的区块链。区块生成部214相当于第一区块生成部。

同步部215在多个认证服务器200a等之间进行区块链的区块的同步以及认证事务数据的同步。在多个认证服务器200a等之间,对等(peertopeer,点对点)地进行区块链的区块的同步。例如,在从投票终端100a接收到认证事务数据且认证事务数据的正当性已由事务数据验证部212验证时,同步部215通过向其他认证服务器200b以及200c发送认证事务数据的副本,从而使已验证的认证事务数据存储于其他认证服务器200b以及200c的存储部216。另外,同步部215如果从其他认证服务器200b以及200c接收到认证事务数据,则将接收到的认证事务数据存储于存储部216。

存储部216是存储认证事务数据和区块链的区块的存储装置。存储部216所存储的区块中附加有能够识别区块的标识符(id)。也将存储部216所存储的区块链称为第一区块链。

通信部217是与投票终端100a以及投票服务器300a各自进行通信的通信接口。该通信也可以利用tls来进行。在该情况下,tls通信用的密钥也可以由通信部217保持。

此外,事务数据验证部212和事务数据生成部213相当于认证处理部212a,所述认证处理部212a从投票终端100a接收包含与投票者相关联的认证id(也就是说第一id)和投票者的认证信息的认证数据,使用接收到的认证数据对投票者进行认证。

1.4投票服务器300a的构成

图6是表示本实施方式中的投票服务器300a的构成的框图。投票服务器300b以及300c也是同样的构成。投票服务器300a具备画面数据生成部311、候选人db(数据库)312、事务数据验证部313、事务数据生成部314、伪数据生成部315、区块生成部316、同步部317、存储部318以及通信部319。投票服务器300a能够通过处理器使用存储器执行预定程序来实现。

画面数据生成部311在有来自投票终端100a的用于投票的访问时,生成画面数据,所述画面数据是用于描绘投票用的画面的绘图数据。具体而言,画面数据生成部311从候选人db312取得与候选人有关的信息,生成画面数据,所述画面数据是用于描绘显示于投票终端100a的用于接受由投票者对投票信息的输入的画面的绘图数据。

候选人db312是存储有与候选人有关的信息的数据库。候选人db312中至少存储有确定候选人的信息。具体而言,在候选人db312中,作为确定候选人的信息,存储有表示候选人的姓名的文字串,再者也可以存储有表示该候选人的面部照片的图像等。

事务数据验证部313在从投票终端100a接收到投票事务数据时,对接收到的投票事务数据进行验证。事务数据验证部313验证投票事务数据所包含的签名是否正当,另外验证投票信息是否正当。在投票信息的正当性的验证中,验证是否是由电子投票系统10事先所发行的投票信息,另外验证在投票期间内一个投票信息是否被使用了两次以上等。通过如下方式来确认一个投票信息是否被使用了两次以上:参照存储部318,由此判断存储部318中是否没有存储该一个投票信息。事务数据验证部313在验证处理的结果是判定为投票信息正当的情况下将投票事务数据记录于存储部318。另外,正当的投票事务数据由同步部317向其他投票服务器300b以及300c发送而被同步。

事务数据生成部314生成投票事务涉及的投票事务数据。事务数据生成部314在初始化处理中生成投票事务数据,所述投票事务数据新生成与选举人的人数相同个数的投票币。在该时刻的投票币的所有者是投票服务器300a。接着,事务数据生成部314生成向认证服务器200a提供投票币的投票事务数据(相当于第三事务数据)。在生成的投票事务数据中,包含表示提供目标的投票币的所有者的信息(也就是说表示认证服务器200a的信息)和投票服务器300a的签名。在生成了向认证服务器200a提供投票币的投票事务数据的时刻,投票币的所有者变为认证服务器200a。事务数据生成部314相当于第二事务数据生成部。

伪数据生成部315生成投票事务数据,并使区块生成部316生成区块,所述投票事务数据生成伪投票币。也将伪投票币的投票事务数据称为伪事务数据。相对于事务数据生成部314生成的投票事务数据包含由投票者进行的投票的投票内容,伪数据生成部315生成的伪事务数据包含与由投票者进行的投票不相关联的伪票的投票内容。此外,伪事务数据所示的伪票的投票内容既可以从多个候选人中随机地确定,也可以设为与从投票终端100a等接收到的投票数据所包含的投票内容不同的投票内容。

另外,伪数据生成部315记录所生成的伪投票币的个数,并在投票期间结束后,输出所生成的伪投票币的个数。例如,伪数据生成部315输出生成了多少个相当于给候选人x的投票的投票事务数据。此外,伪数据生成部315生成的伪投票币的个数也可以事先在投票服务器300a、300b以及300c之间预定并共享。

另外,生成伪投票币的定时(timing)可以任意地来确定。

区块生成部316在多个投票服务器300a等之间执行共识算法。区块生成部316基于来自伪数据生成部315的共识算法的执行委托,在多个投票服务器300a等之间执行共识算法。共识算法既可以使用pbft,也可以使用其他公知的共识算法。关于投票事务数据,通过共识算法成功建立了共识的情况下,生成包含投票事务数据的区块,并存储于存储部318。再者,区块生成部316将生成的区块连接于存储部318所存储的区块链。区块生成部316相当于第二区块生成部。

另外,区块生成部316生成包含向认证服务器200a提供投票币的投票事务数据(第三事务数据)的区块(相当于第三区块),将生成的区块连接于区块链。第三事务数据是表示认证处理部212a(事务数据验证部212)处于能够进行对多个选举人中的每个人的认证的状态的事务数据。

另外,区块生成部316生成包含从认证服务器200a向投票终端100a提供投票币的投票事务数据(第四事务数据)的区块(相当于第四区块),将生成的第四区块连接于第二区块链。第四事务数据是表示由于投票者已由认证服务器200a认证从而投票终端100a处于能够接受由投票者对投票内容的输入的状态的事务数据。

同步部317在多个投票服务器300a等之间进行区块链的区块的同步以及投票事务数据的同步。在多个投票服务器300a等之间,对等地进行区块链的区块的同步。例如,在从投票终端100a接收到投票事务数据且投票事务数据的正当性已由事务数据验证部313验证时,同步部317向其他投票服务器300b以及300c发送投票事务数据的副本,使已验证的投票事务数据存储于其他投票服务器300b以及300c的存储部318。另外,同步部317如果从其他投票服务器300b以及300c接收到投票事务数据,则将接收到的投票事务数据存储于存储部318。

存储部318是存储投票事务数据和区块链的区块的存储装置。也将存储部318所存储的区块链称为第二区块链。

通信部319是与投票终端100a以及认证服务器200a各自进行通信的通信接口。该通信也可以利用tls来进行。在该情况下,tls通信用的密钥也可以由通信部319保持。

此外,事务数据验证部313和事务数据生成部314相当于投票处理部313a,所述投票处理部313a从投票终端100a接收包含投票id(也就是说第二id)和投票信息的投票数据,所述投票id与投票者所投的票相关联且独立于认证id,所述投票信息表示票的投票内容。

1.5投票终端与服务器间的投票时序

下面,对电子投票系统10的处理进行说明。在此,对如下处理进行说明:在投票终端100a等与认证服务器200a等之间使用认证币进行投票者的认证,并且在投票终端100a等与投票服务器300a等之间使用投票币进行投票。此时,为了仅允许已认证的投票者投票,投票币经由认证服务器200a提供给投票终端100a。

下面,依次对初始化处理、投票处理、结束处理以及投票结果的公开处理进行说明。

<初始化处理>

图7是表示本实施方式中的电子投票系统10的初始化处理的时序图。图8以及图9分别是表示本实施方式中的初始化处理中的认证币以及投票币的所有者的说明图。认证币以及投票币的所有者分别由认证服务器200a等以及投票服务器300a等管理着。

图7所示的初始化处理是针对使用电子投票系统10的一次选举而被事先执行一次的处理。

在步骤s101中,认证服务器200a等执行认证初始化处理。认证初始化处理生成认证事务数据,并生成包含所生成的认证事务数据的区块,所述认证事务数据生成具有事先发布给选举人的id(也称为选举人id)作为认证id的认证币。在该阶段,认证币的所有者是由该选举人id识别的选举人(参照图8)。

在步骤s102中,投票服务器300a等执行投票初始化处理。投票初始化处理生成投票事务数据,并生成包含所生成的投票事务数据的区块,所述投票事务数据生成与选举人的人数相同个数的投票币。在该阶段,所有投票币的所有者是投票服务器300a等(参照图9的(a))。投票币的id是能够唯一地识别各个投票币的文字串或者值,全部不同。投票币的id也可以是随机选择的文字串或者值。投票币的id全部为不同的文字串或者值,由此,在参照区块链时,能够进行对于投票币是否是没有被双重(重复)利用的币的确认。

另外,投票服务器300a决定将来要生成的伪投票币的个数,并与其他投票服务器300b以及300c共享。在此,设为各投票服务器生成表示对各候选人分别投1500票的伪投票事务数据来进行说明。此外,投票服务器300a也可以输出上述所决定的伪投票币的个数。

在步骤s103中,投票服务器300a生成将在步骤s102中生成的投票币提供给认证服务器200c的投票事务数据,并生成包含所生成的投票事务数据的区块。另外,将生成的投票事务数据发送给认证服务器200c。此外,以投票币的提供目标是认证服务器200c的情况为例来进行说明,但投票币的提供目标也可以是其他认证服务器200a或者200b。在该阶段,表示提供给了认证服务器200c的投票币的所有者的信息变更成认证服务器200c(参照图9的(b))。

在步骤s104中,认证服务器200c在与其他的认证服务器200a以及200b之间进行同步处理。在同步处理中,认证服务器200c通过同步部215将接收到的投票事务数据发送给其他认证服务器200a以及200b。认证服务器200a以及200b的同步部215将从认证服务器200c的同步部215接收到的投票事务数据进行存储。

<投票处理>

图10以及图11是表示本实施方式中的电子投票系统10的投票处理的时序图。图12以及图13分别是表示本实施方式中的投票处理中的认证币以及投票币的所有者的说明图。

图10以及图11所示的投票处理是在一位投票者进行一次投票时执行一次的处理,在一次选举中会被执行的次数与投票者的人数相同。

在步骤s201中,投票终端100a访问认证服务器200a。该访问例如是向认证服务器200a所提供的网站(website)的web访问,能够使用http(hypertexttransferprotocol,超文本传输协议)或者https(httpoverssl(securesocketslayer,安全套接层)/tls(transportlayersecurity,传输层安全协议))等。

在步骤s202中,认证服务器200a根据步骤s201中的访问,生成用于取得投票者的选举人id的认证画面的画面数据,发送给投票终端100a。

在步骤s203中,投票终端100a基于在步骤s202中发送来的画面数据显示认证画面,并接受包含投票者的选举人id的认证信息的输入。投票者对显示于投票终端100a的认证画面进行视觉识别,对投票终端100a输入事先被发布的选举人id。投票者既可以手动输入选举人id,也可以通过由投票终端100a读取记录有选举人id的条形码或者二维码来输入。

在步骤s204中,投票终端100a使用在步骤s203中被输入的选举人id作为认证id来生成认证事务数据。

在步骤s205中,投票终端100a将在步骤s204中生成的认证事务数据向认证服务器200a进行发送。在此,以将认证事务数据发送给认证服务器200a的情况为例来进行说明,但也可以发送给其他认证服务器200b以及200c。认证服务器200a接收发送来的认证事务数据。

在步骤s206中,认证服务器200a进行对在步骤s205中从投票终端100a接收到的认证事务数据的验证。在认证事务数据的验证中,参照存储部216所存储的认证事务数据的区块链,判定从投票终端100a接收到的认证事务数据所包含的选举人id是否尚未保存于该区块链。在判定为选举人id尚未保存于该区块链的情况下,认证事务数据的验证为成功,在判定为已经保存的情况下,认证事务数据的验证为失败。

在上述步骤s206中认证事务数据的验证失败的情况下,认证服务器200a进行出错(error)处理(未图示)。在出错处理中,例如向投票终端100a通知出错消息。出错消息可以包含“不是选举人”或者“由于已经认证过,故相同的选举人id不可用”等消息。另外,在出错处理中,禁止此后进行由投票终端100a对投票数据的发送等投票处理。

在上述步骤s206中认证事务数据的验证成功的情况下,前进至步骤s207。

在步骤s207中,认证服务器200a向其他认证服务器200b以及200c发送认证事务数据的副本。认证服务器200b以及200c对接收到的认证事务数据进行验证。

在步骤s208中,认证服务器200a、200b以及200c执行共识算法。通过执行共识算法,接收到的认证事务数据是正当的事务这一情况得以验证。认证服务器200a、200b以及200c进行对包含已验证的认证事务数据的区块的生成。由此,由于生成包含已认证的选举人id的区块,因此即使此后接收到包含相同的选举人id的认证事务数据,也能够通过参照区块链而判断是同一选举人id的双重利用。在该阶段,具有得以认证的选举人的选举人id的认证币的所有者变更成认证服务器200a(参照图12)。

在步骤s209中,认证服务器200a生成向在步骤s205中发送了认证事务数据的投票终端100a提供投票币的投票事务数据,将生成的投票事务数据发送给投票终端100a以及投票服务器300a。

在步骤s210中,认证服务器200a将生成的投票事务数据的副本发送给其他认证服务器200b以及200c,取得投票事务数据的同步。认证服务器200a、200b以及200c将生成的投票事务数据涉及的投票币记录为已利用。

在步骤s211中,投票服务器300a进行对在步骤s209中从认证服务器200a接收到的投票事务数据的验证。在投票事务数据的验证中,参照存储部318所存储的投票事务数据的区块链,判定从认证服务器200a接收到的投票事务数据所包含的投票id是否尚未保存于该区块链。在判定为投票id尚未保存于该区块链的情况下,投票事务数据的验证为成功,在判定为已经保存的情况下,投票事务数据的验证为失败。

在上述步骤s211中投票事务数据的验证失败的情况下,投票服务器300a进行出错处理(未图示)。在出错处理中,例如向投票终端100a通知出错消息。出错消息可以包含“由于已经投过票,故相同的id不可用”等消息。另外,在出错处理中,禁止此后进行由投票终端100a对投票数据的发送等投票处理。

在步骤s212中,投票服务器300a向其他投票服务器300b以及300c发送投票事务数据的副本。投票服务器300b以及300c对接收到的投票事务数据进行验证。

在步骤s213中,投票服务器300a、300b以及300c执行共识算法。通过执行共识算法,接收到的投票事务数据是正当的事务这一情况得以验证。投票服务器300a、300b以及300c进行对包含已验证的投票事务数据的区块的生成。在该阶段,提供给在步骤s206中认证事务数据的验证成功了的投票者的投票币的所有者变更成投票终端100a(参照图13的(a))。

在步骤s221中,投票终端100a访问投票服务器300a。该访问例如是向投票服务器300a所提供的网站的web访问,能够使用http或者https等。在此,以投票终端100a访问投票服务器300a的情况为例来进行说明,但在访问投票服务器300b或者300c的情况下,同样的说明也成立。

在步骤s222中,投票服务器300a根据步骤s221中的访问,生成用于投票者的投票的投票画面的画面数据,发送给投票终端100a。此时,投票服务器300a参照候选人db312,生成包含候选人一览的画面数据。该投票画面是投票者为了选择作为投票目标的候选人而浏览的画面。

在步骤s223中,投票终端100a基于在步骤s222中发送来的画面数据显示投票画面,并接受表示投票目标候选人的信息的输入。投票者对显示于投票终端100a的投票画面进行视觉识别,输入投票信息,所述投票信息是表示投票目标候选人的信息。投票者既可以通过操作显示于显示设备的画面来输入投票信息,也可以通过手动输入投票目标候选人的姓名等信息来输入投票信息。投票终端100a在接受到来自投票者的表示投票目标候选人的投票信息的输入时,生成包含投票信息的投票事务数据。这是向投票目标候选人提供投票币的投票事务数据。投票终端100a将生成的投票事务数据发送给投票服务器300a。

在步骤s224中,投票服务器300a进行对在步骤s223中从投票终端100a接收到的投票事务数据的验证。在投票事务数据的验证中,参照存储部318所存储的投票事务数据的区块链,判定从投票终端100a接收到的投票事务数据所包含的投票id是否尚未保存于该区块链。在判定为投票id尚未保存于该区块链的情况下,投票事务数据的验证为成功,在判定为已经保存的情况下,投票事务数据的验证为失败。

在上述步骤s224中投票事务数据的验证失败了的情况下,投票服务器300a进行出错处理(未图示)。在出错处理中,例如向投票终端100a通知出错消息。出错消息可以包含“由于已经投过票,故相同的投票id不可用”等消息。

在上述步骤s224中投票事务数据的验证成功了的情况下,前进至步骤s225。

在步骤s225中,投票服务器300a向其他投票服务器300b以及300c发送投票事务数据的副本。投票服务器300b以及300c对接收到的投票事务数据进行验证,并存储于存储部318。

在步骤s226中,投票服务器300a生成伪事务数据,所述伪事务数据生成伪投票币。但是,投票服务器300a并非总是执行本步骤,而是控制为将本步骤执行预定次,以使得能够在投票期间内生成如下个数的投票币,所述个数被事先确定为应该在投票期间内生成的伪投票币的个数。此外,此时也可以为,投票服务器300a、300b以及300c中任意的一台以上的投票服务器生成伪事务数据。

在步骤s227中,投票服务器300a通过将在步骤s226中生成的伪投票事务数据发送给投票服务器300b以及300c,在投票服务器间进行共享。

在步骤s228中,投票服务器300a、300b以及300c执行共识算法。通过执行共识算法,接收到的投票事务数据是正当的事务这一情况得以验证。在验证为接收到投票事务数据是正当的事务的情况下,进行对包含得以验证的投票事务数据的区块的生成。由此,由于生成包含已投票的投票id的区块,因此即使此后接收到包含相同的投票id的投票事务数据,也能够通过参照区块链而判断是同一投票id的双重利用。在该阶段,由投票者进行的投票中所使用了的投票币的所有者变更成作为投票目标候选人的候选人x(参照图13的(b))。

此外,步骤s228的共识算法的执行也可以并非每次都进行,而仅在预定条件成立的情况下进行。预定条件例如可以为如下条件:区块所含的投票事务数据满足与匿名化有关的预定基准,更具体而言是k-匿名化的k=2以及l-多样性的l=3。

图14是区块所包含的投票事务的一例。

图14所示的区块包含表示如下情况的投票事务数据:投票id为101的投票币被投给了候选人x,同样地,投票id为102、103、104和105的投票币分别被投给了候选人y、x、z和z。在此,投票id为103的投票币相当于受到认证服务器200a等认证了的选举人的投票。另一方面,投票id为101、102、104和105的投票币是伪投票币。

图14所示的区块包含由选举人进行的投票涉及的投票币和伪投票币,因此只看该区块,无法确定选举人进行了哪个投票。

如此,在投票服务器300a的区块链的区块公开了的情况下,也能够防止选举人的投票的内容泄漏。

<结束处理>

图15是表示本实施方式中的电子投票系统10的投票结束处理的流程图。投票服务器300a、300b以及300c中的至少一个执行图15所示的一系列处理即可。图16是表示本实施方式中的投票结果的说明图。

如图15所示,在步骤s301中,区块生成部316判断是否超过了投票期间。在判定为超过了投票期间的情况下(步骤s301:是),前进至步骤s302,在判定为没有超过投票期间的情况下(步骤s301:否),再次执行步骤s301。也就是说,区块生成部316在步骤s301中取等待状态直到超过投票期间。

在步骤s302中,生成包含存储部318所记录的、尚未包含于区块链的投票事务数据的区块,将生成的区块连接于区块链。此外,此时也可以为,即使在存储部318所存储的、尚未包含于区块链的投票事务数据没有满足匿名化的基准的情况下,也生成区块并将其连接于区块链。

在步骤s303中,投票服务器300a、300b以及300c执行共识算法。该处理的内容与步骤s228相同。

在步骤s304中,投票服务器300a输出投给各候选人的投票币的个数。输出的信息中也包含伪投票币的个数。

通过这样,投票服务器300a等能够将所有投票事务数据连接于区块链,并在此后输出包含伪投票币的、投给各候选人的投票币的个数。

利用该输出,将从表示投票事务数据的区块链获得的给各候选人的投票数减去伪投票币的个数,由此算出候选人的实际的得票数(参照图16)。例如从作为给候选人x的投票数的5678票减去作为伪投票数的1500票,由此算出候选人x的得票数为4178。对于候选人y以及z也是同样的。

在此,具有如下优点:在事先公开了伪投票币的数量、也就是说伪投票数的情况下,能够进行对于投票服务器是否不正当地虚报了投票数的确认。

<投票结果的公开处理>

图17是表示实施方式中的投票服务器300a所进行的投票结果的公开处理的流程图。

图17所示的一系列处理是在从终端110向投票服务器300a进行了用于投票结果的公开的访问的情况下所进行的处理。该访问例如是向投票服务器300a所提供的网站的web访问,能够使用http或者https等。此外,访问投票服务器300a的终端110既可以是投票终端100a,也可以是其他终端。

此外,在此以投票服务器300a受到上述访问的情况为例进行说明,但在其他投票服务器300b或者300c受到上述访问的情况下也是同样的。

在步骤s401中,投票服务器300a的画面数据生成部311判定当前时刻是否在容许公开投票结果的期间内。也将容许公开投票结果的期间称为公开期间。公开期间例如是投票期间结束后的期间,也就是说投票截止的时刻之后的期间。在步骤s401中判定为在公开期间内的情况下(步骤s401:是),前进至步骤s402,否则(步骤s401:否),前进至步骤s411。

在步骤s402中,画面数据生成部311取得保存有存储部318所存储的投票事务数据的区块链。

在步骤s403中,画面数据生成部311基于在步骤s402中取得的区块链所包含的信息,生成表示投票结果的画面的画面数据。而且,画面数据生成部311将生成的画面数据发送给终端,使终端显示表示投票结果的画面。

在步骤s411中,画面数据生成部311进行出错处理。在出错处理中,例如向终端通知出错消息。出错消息可以包含“由于未到公开期间,故无法公开投票结果”等消息。

此外,画面数据生成部311也可以在步骤s402中取得表示投票服务器300a等在投票期间内生成的伪投票事务数据的个数的信息。在该情况下,画面数据生成部311也可以在步骤s403中生成还包含表示在投票期间内生成的伪投票事务数据的个数的信息的画面数据,并将生成的画面数据发送给终端。通过这样,能够由终端进一步提示表示伪投票事务数据的个数的信息。

下面,说明电子投票系统10中的投票所使用的投票终端100a的画面、以及投票结果的公开所使用的终端的画面的例子。

图18是表示本实施方式中的电子投票系统10中的投票所使用的投票终端100a的示意图。

图18所示的投票终端100a显示用于选择投票目标候选人的画面,向投票者进行提示。

图18所示的画面含有表示促使投票者投票的消息的图像401。另外,含有表示候选人的姓名和面部照片的图像402、以及表示给候选人投票的按钮的图像403。在投票者对图像403也就是说投票按钮进行操作时,输入部112将会接受到给与该投票按钮相关联的候选人投票这一投票内容。

图19是表示本实施方式中的电子投票系统10中的投票结果的公开所使用的终端110的示意图。

图19所示的终端110显示用于公开投票结果的画面,向投票者进行提示。

图19所示的画面含有表示消息的图像411,所述消息表示该画面所显示的内容是投票结果。另外,含有表示候选人的姓名和面部照片的图像412、以及表示候选人的得票数的图像413。另外,得票数最多的候选人的图像412由表示当选这一情况的边框的图像414所包围。

终端110能够通过这样的画面来提示投票结果。

1.6实施方式的效果

本实施方式的电子投票系统在是否为正当的投票者的认证和认证后所进行的投票中,使用包含彼此独立的id的数据。由此,例如即使在选举后公开了认证的结果和投票内容的情况下,也能够使得进行了该投票内容的投票的投票者不被确定。另外,通过将表示得以认证这一情况的数据与表示投票内容的数据分别用单独的区块链进行管理,能够抑制各数据的篡改。再者,保存有投票内容的区块链中保存有表示投票者的投票的内容的数据、和表示与投票者的投票不相关联的伪票的投票内容的数据,因此抑制投票者的投票内容被确定。由此,电子投票系统能够实现秘密投票。

另外,电子投票系统将包含由投票者进行的投票的内容的事务数据、和伪事务数据保存于区块链。由此,电子投票系统利用投票者的伪事务数据,能够实现秘密投票。

另外,电子投票系统通过从候选人的得票数减去被输出的伪事务数据的个数,能够算出实际的候选人的得票数。

根据上述技术方案,电子投票系统预先决定了由多个投票服务器生成的伪事务数据的个数,因此能够更切实地生成预先决定的个数的伪事务数据。假如没有预先确定要生成的伪事务数据的个数,那么在投票者的投票进行的过程中,应该生成的伪事务数据的个数可能会发生变动。由此在多个投票服务器中生成的伪事务数据的个数发生变动,可能成为投票数的算出变得不准确的重要原因。

根据上述技术方案,电子投票系统将具有与投票者的投票不同的投票内容的伪事务数据保存于区块链,因此得票数沿使每位候选人的得票数均衡的方向变化。由此,抑制投票者的投票的秘密性欠缺。

根据上述技术方案,电子投票系统使用不包含于电子投票系统的终端,能够与上述同样地实现秘密投票。

2.其他变形例

此外,基于上述实施方式说明了本公开,但本公开当然不限定于上述实施方式。如下情况也包含于本公开。

(1)在上述实施方式中,设为认证服务器与投票服务器是不同的装置进行了说明,但也可以将认证服务器与投票服务器设为同一装置。此时,认证服务器保持的存储部不对投票终端等公开。

(2)在上述实施方式中,通过认证币及投票币的提供实现了认证以及投票,而这是使用了币作为虚拟事务对象的一例,虚拟事务对象不限定于币。

(3)在上述实施方式中,投票服务器在从投票终端接收到投票事务后生成伪投票事务数据并生成区块,但不限定于此。例如也可以为,在从投票终端接收到多个投票事务数据之后生成伪投票事务数据并生成区块。另外,也可以事先生成伪投票事务数据。

(4)在上述实施方式中,从认证服务器向投票终端进行投票币的提供,但也可以将向投票终端的投票币的投票的投票事务发送给投票服务器。另外,也可以在投票服务器中从认证服务器接收投票事务并进行投票事务的验证。由此,对于向投票终端的投票币的提供,也能够用区块链进行管理。

(5)在上述实施方式中,投票结果的公开基于来自投票终端的访问而进行,但不限定于此,只要是能够访问投票服务器的终端即可。另外,也可以设为投票服务器公开包含投票事务的区块链。另外,投票结果也可以设为仅公开除了伪投票事务数据的投票数。

(6)在上述实施方式中,以选举的电子投票为一例进行了说明,但不限定于此,是一般的投票即可,另外也可以适用于信任投票和/或问卷调查。例如,通过利用于股东大会的决议和/或问卷调查,能够防止决议和/或问卷调查结果的篡改。

(7)在上述实施方式中,关于伪投票事务数据,在投票服务器中生成了相同数量的伪投票事务数据,但不限定于此。例如也可以为,在各投票服务器中决定伪投票事务数,并在投票截止后公开。此时,也可以变更各区块所包含的伪投票币的数量。另外,也可以将在各投票服务器中决定的伪投票币的个数事先在投票服务器间共享。

(8)上述实施方式中的各装置具体而言是由微处理器、rom、ram、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。所述ram或者硬盘单元中记录有计算机程序。所述微处理器按照所述计算机程序进行工作,由此各装置实现其功能。在此,计算机程序是为了实现预定功能而组合多个表示对计算机的指令的命令码而构成的。

(9)构成上述实施方式中的各装置的构成要素的一部分或者全部也可以由1个系统lsi(largescaleintegration:大规模集成电路)构成。系统lsi是在一个芯片上集成多个构成部而制造出的超多功能lsi,具体而言,是构成为包括微处理器、rom、ram等的计算机系统。所述ram中记录有计算机程序。所述微处理器按照所述计算机程序进行工作,由此系统lsi实现其功能。

另外,构成上述各装置的构成要素的各部分既可以单独地形成为单芯片,也可以形成为包含一部分或全部的单芯片。

另外,在此,采用了系统lsi,但根据集成度的不同,有时也称为ic、lsi、超大lsi,特大lsi。另外,集成电路化的方法不限于lsi,也可以通过专用电路或通用处理器实现。可以利用能够在lsi制造后编程的fpga(fieldprogrammablegatearray:现场可编程门阵列)、能够重构lsi内部的电路单元的连接或设定的可重构处理器。

再者,如果出现通过半导体技术的进步或派生的其他技术来置换lsi的集成电路化的技术,当然,也可以使用该技术进行功能模块的集成化。也存在应用生物技术等的可能性。

(10)构成上述各装置的构成要素的一部分或者全部可以由能够相对于各装置拆装的ic卡或单体的模块构成。所述ic卡或所述模块是由微处理器、rom、ram等构成的计算机系统。所述ic卡或所述模块可以包括上述的超多功能lsi。微处理器按照计算机程序进行工作,由此所述ic卡或所述模块实现其功能。该ic卡或该模块可以具有防篡改性能。

(11)本公开可以是上述所示的方法。另外,也可以是通过计算机实现这些方法的计算机程序,或者由所述计算机程序构成的数字信号。

另外,本公开可以将所述计算机程序或者所述数字信号记录于能够由计算机读取的记录介质,例如软盘、硬盘、cd-rom、mo、dvd、dvd-rom、dvd-ram、bd(blu-ray(注册商标)disc)、半导体存储器等。另外,也可以是在这些记录介质中记录的所述数字信号。

另外,本公开也可以将所述计算机程序或者所述数字信号经由电气通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等来传送。

另外,本公开可以是具备微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器按照所述计算机程序进行工作。

另外,通过将所述程序或者所述数字信号记录于所述记录介质而移送,或者将所述程序或者所述数字信号经由所述网络等移送,可以通过独立的其他计算机系统实施。

(12)也可以将上述实施方式以及上述变形例分别组合。

此外,本实施方式的电子投票系统虽然也可以如以下方式记载,但不限定于该记载。

(a)一种由投票终端、多个认证服务器和多个投票服务器构成的电子投票系统,其特征在于,所述投票终端包括生成认证事务及投票事务的第一事务生成部,所述第一事务生成部在根据选举人的标识符生成了认证事务时发送给认证服务器,在根据从所述认证服务器转让了投票权的第一投票事务生成了第二投票事务时发送给投票服务器,所述多个认证服务器包括:第一事务验证部,其在从所述投票终端接收到所述认证事务时进行认证事务的验证;第二事务生成部,其生成认证事务;以及第一区块生成部,其进行认证事务的区块生成,所述第一事务验证部在接收到所述认证事务时,验证区块链中是否存在两个以上的所述认证事务所包含的标识符,在有两个以上的情况下判断为是双重使用,所述第二事务生成部当在所述第一事务验证部中所述认证事务的验证成功时根据从所述投票服务器接收到的第三投票事务生成所述第一投票事务并向投票终端发送,在所述多个投票服务器中,包括:第二事务验证部,其在从所述投票终端接收到所述第二投票事务时进行事务的验证;第三事务生成部,其生成投票事务;第四事务生成部,其生成伪投票事务;以及第二区块生成部,其进行投票事务的区块生成,所述第二事务验证部在从所述投票终端接收到所述第二投票事务时,验证区块链中是否存在两个以上的所述第二投票事务所包含的投票权,在有两个以上的情况下判断为是双重使用,所述第三事务生成部生成投票权的第三投票事务并发送给所述认证服务器,所述第二区块生成部生成包含所述第二投票事务和所述伪投票事务的区块。

(b)根据(a)所述的电子投票系统,其特征在于,所述多个投票服务器的所述第四事务生成部进一步将生成的所述伪投票事务的数量公开。

(c)根据(a)所述的电子投票系统,其特征在于,所述多个投票服务器的所述第四事务生成部进一步将伪投票事务的数量事先在所述多个投票服务器间共享。

(d)根据(b)所述的电子投票系统,其特征在于,所述多个投票服务器的所述第四事务生成部进一步生成与所述第二投票事务所包含的投票内容不同的伪投票事务。

由此,在投票终端与认证服务器间进行是否是选举人的认证,在是选举人的情况下,认证服务器将从投票服务器转让的投票权转让给投票终端。在投票终端中能够使用被转让的投票权进行投票。在投票服务器中,通过进行投票权是否被双重利用的验证,从而即使没有选举人的信息也能够防止不正当的投票。另外,投票服务器通过对投票事务使用区块链,从而也能够防止投票结果的篡改。再者,通过对区块加入伪投票,从而由于无法识别用户的投票内容,因此能够构建安全的电子投票系统。

以上,基于实施方式说明了一个或多个技术方案涉及的电子投票系统等,但本公开不限定于该实施方式。只要不脱离本公开的宗旨,对本实施方式实施本领域技术人员能够想到的各种变形而得到实施方式、将不同的实施方式中的构成要素组合而构建的实施方式均包括在一个或多个技术方案的范围内。

产业上的可利用性

本公开涉及的电子投票系统能够实现秘密投票。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1