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

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

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



背景技术:

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

在专利文献1所公开的电子投票系统中,向在投票人的认证中使用的通信终端发送投票参加券,通信终端将投票参加券进行匿名化并发送,由此确保了投票人的匿名性。

另外,电子投票系统也需要具备系统的可靠性高以及所记录的投票内容的改变不被改变这样的要件。在非专利文献1中,公开了为了实现系统的高可靠性以及防止投票内容的改变而使用区块链(blockchain)。

现有技术文献

专利文献1:特表2011-517825号公报

非专利文献1:《利用了区块链的分布式总账的电子投票的集合知的构成》信息处理第57卷第12号pp.1204-1209



技术实现要素:

发明要解决的问题

在电子投票系统中利用区块链管理投票的情况下,存在如下问题,即,若公开包含投票结果的区块链,则会导致将投票人和投票内容关联,无法实现秘密投票。

因此,本公开提供一种能够进行秘密投票的电子投票系统等。

用于解决问题的技术方案

本公开的一技术方案的电子投票系统具备:终端;

多个认证服务器,所述多个认证服务器包含第一认证服务器和至少一个其他认证服务器;以及

多个投票服务器,所述多个投票服务器包含第一投票服务器和至少一个其他投票服务器,

所述第一认证服务器具备:

第一存储器;和

第一处理器,在运行中执行第一工作,

所述第一工作包括:

从所述终端接收认证数据,所述认证数据包含与投票人关联的第一id和所述投票人的认证信息;

使用接收到的所述认证数据对所述投票人进行认证;

将第一区块链存储于第一存储部,所述第一区块链包含表示通过所述认证所述投票人得到了认证这一情况的第一交易数据;以及

将存储于所述第一存储部的所述第一区块链与所述其他认证服务器进行同步,

所述第一投票服务器具备:

第二存储器;和

第二处理器,在运行中执行第二工作,

所述第二工作包括:

从所述终端接收投票数据,所述投票数据包含与所述投票人投的票关联的第二id和表示所述票的投票内容的投票信息,所述第一id和所述第二id是独立的;

在从所述终端接收到所述投票数据的情况下,生成表示接收到的所述投票数据所包含的所述投票内容的第二交易数据;

从多个第二区块中决定应包含所述第二交易数据的第二区块;

生成包含所述第二交易数据的所述第二区块;

将所述第二区块连接于第二区块链;

将所述第二区块链存储于所述第二存储部;以及

将存储于所述第二存储部的所述第二区块链与所述其他投票服务器进行同步,

所述终端具备:

第三存储器;和

第三处理器,在运行中执行第三工作,

所述第三工作包括:

生成所述认证数据;

将生成的所述认证数据发送给所述第一认证服务器;

在由所述第一认证服务器进行的认证成功了之后生成所述投票数据;以及

将生成的所述投票数据发送给所述第一投票服务器。

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

发明的效果

根据本公开,能够进行秘密投票。

附图说明

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

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

图3是表示交易数据的数据结构的说明图。

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

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

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

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

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

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

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

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

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

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

图14是表示实施方式的包含投票交易数据的区块的区块id的说明图。

图15是表示实施方式的将投票交易数据包含在区块中的状况的说明图。

图16是表示实施方式的与可否执行共识算法相关的处理的流程图。

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

图18是表示实施方式的投票服务器的投票结果的公开处理的时序图。

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

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

具体实施方式

本公开的一技术方案的电子投票系统具备:

终端;

多个认证服务器,所述多个认证服务器包含第一认证服务器和至少一个其他认证服务器;以及

多个投票服务器,所述多个投票服务器包含第一投票服务器和至少一个其他投票服务器,

所述第一认证服务器具备:

第一存储器;和

第一处理器,在运行中执行第一工作,

所述第一工作包括:

从所述终端接收认证数据,所述认证数据包含与投票人关联的第一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与投票人投的票1对1关联。也将投票硬币的id称为投票id。

认证硬币的id与投票硬币的id彼此独立。

电子投票系统10例如被区别为3个子系统a、b以及c。此外,子系统的数不限定于3,也可以是2以上的任意数。

电子投票系统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的用于认证的访问时,生成用于描画认证用的画面的画面数据。具体而言,画面数据生成部211利用投票终端100a,生成用于描画用来从投票人接受认证信息的输入的画面的画面数据。

交易数据验证部212在从投票终端100a接收到认证交易数据时,对接收到的认证交易数据进行验证。交易数据验证部212在从投票终端100a接收到认证交易数据时,验证接收到的认证交易数据所包含的签名是否合法,另外,对认证信息是否合法进行验证。在认证信息的合法性的验证中,验证是否是通过电子投票系统10事先发行了的认证信息,另外,验证在投票期间中一个认证信息是否被使用了2回以上等。一个认证信息是否被使用2回以上通过参照存储部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相当于从投票终端100a接收包含与投票人关联的认证id(也即是第一id)和投票人的认证信息的认证数据,并使用接收到的认证数据对投票人进行认证的认证处理部212a。

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事先发行的投票信息,另外,验证在投票期间中一个投票信息是否被使用2回以上等。一个投票信息是否被使用了2回以上通过参照存储部318来确认该一个投票信息是否没有存储于存储部318。交易数据验证部313在验证处理的结果是判定为投票信息合法的情况下,将投票交易数据存储于存储部318。另外,合法的投票交易数据通过同步部317向其他投票服务器300b以及300c发送,并进行同步。

交易数据生成部314生成与投票交易相关的投票交易数据。交易数据生成部314在初始化处理中,生成投票交易数据,该投票交易数据新生成与选民的人数相同个数的投票硬币。该时间点的投票硬币的所有者是投票服务器300a。接着,交易数据生成部314生成向认证服务器200a提供投票硬币的投票交易数据(相当于第三交易数据)。在生成的投票交易数据中包含表示作为提供目标的、投票硬币的所有者的信息(也即是,表示认证服务器200a的信息)和投票服务器300a的签名。在生成了向认证服务器200a提供投票硬币的投票交易数据的时间点,投票硬币的所有者成为认证服务器200a。交易数据生成部314相当于第二交易数据生成部。

决定部315决定将交易数据生成部314生成的1个以上的投票交易数据包含于区块生成部316生成的多个区块中的哪个区块。通过如上所述决定将上述投票交易数据包含于多个区块中的哪个区块,在区块链中保存投票交易数据的顺序成为与投票人的投票的顺序不同的独自的顺序。换言之,在区块链中能够使保存投票交易数据的顺序成为与投票人的投票的顺序相独立的顺序。

例如,决定部315将交易数据生成部314生成的1个以上的投票交易数据决定为包含在区块生成部316生成的多个第二区块中的随机的一个区块中。随机的一个区块可以通过随机数而决定。另外,决定部315也可以将交易数据生成部314生成的1个以上的投票交易数据决定为包含在区块生成部316生成的多个区块中的、基于从投票终端100a接收到的信息而确定的一个第二区块中。在此,从投票终端100a接收到的信息例如可采用,投票终端100a的物理地址或逻辑地址这样的通信地址、通过投票终端100a生成的随机数等。

另外,决定部315使区块生成部316生成如上所述决定的区块,以使得交易数据生成部314生成的1个以上的投票交易数据包含在该区块中。

区块生成部316在多个投票服务器300a等之间执行共识算法。区块生成部316基于来自决定部315的共识算法的执行请求,基于生成的区块的区块id,抽出存储部318所包含的相应的投票交易数据,在多个投票服务器300a等之间执行共识算法。共识算法既可以使用pbft,也可以使用其他公知的共识算法。关于满足了匿名化的基准的投票交易数据,在利用共识算法达成了合意的情况下,生成包含投票交易数据的区块,并存储于存储部318。进而,区块生成部316将生成的区块连接于存储于存储部318的区块链。区块生成部316相当于第二区块生成部。

另外,区块生成部316生成包含向认证服务器200a提供投票硬币的投票交易数据(第三交易数据)的区块(相当于第三区块),将生成的区块连接于区块链。第三交易数据是表示认证处理部212a(交易数据验证部212)成为能够对多个选民分别进行认证的状态这一情况的交易数据。

另外,区块生成部316生成包含从认证服务器200a向投票终端100a提供投票硬币的投票交易数据(第四交易数据)的区块(相当于第四区块),并将生成的第四区块连接于第二区块链。第四交易数据是表示投票人通过认证服务器200a而得到了认证,由此,投票终端100a成为了能够接受投票人的投票内容的输入的状态这一情况的交易数据。

同步部317在多个投票服务器300a等之间进行区块链的区块的同步以及投票交易数据的同步。在多个投票服务器300a之间通过peertopeer(对等计算)进行区块链的区块的同步。例如,从投票终端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的1回选举,事先执行1回处理。

在步骤s101中,认证服务器200a执行认证初始化处理。认证初始化处理中,生成认证交易数据,并生成包含所生成的认证交易数据的区块,所述认证交易数据生成具有向选民事先分配的id(也称为选民id)来作为认证id的认证硬币。在该阶段中,认证硬币的所有者是通过该选民id进行识别的选民(参照图8)。

在步骤s102中,投票服务器300a执行投票初始化处理。投票初始化处理中,生成投票交易数据,并生成包含所生成的投票交易数据的区块,所述投票交易数据生成与选民的人数相同个数的投票硬币。在该阶段中,全部投票硬币的所有者是投票服务器300a(参照图9(a))。投票硬币的id是能够唯一识别各个投票硬币的字符串或值,全部都不同。投票硬币的id也可以是随机选择的字符串或值。通过将投票硬币的id设为全部都不同的字符串或值,在参照区块链时,能够确认相同的投票硬币是否没有被二重利用。

在步骤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所示的投票处理是1个投票人进行1回投票时执行1回处理,在1回选举中执行与投票人的人数相同的回数。

在步骤s201中,投票终端100a对认证服务器200a进行访问。该访问例如是向认证服务器200a提供的web站点进行的web访问,可以利用http(hypertexttransferprotocol:超文本传输协议)或https(httpoverssl(securesocketslayer:安全套接层)/tls(transportlayersecurity:传输层安全性))等。

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

在步骤s203中,投票终端100a基于在步骤s202发送来的画面数据显示认证画面,接受包含投票人的选民id的认证信息的输入。投票人对投票终端100a所显示的认证画面进行视觉识别,将事先分配了的选民id输入至投票终端100a。投票人既可以手动输入选民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进行错误处理(未图示)。在错误处理中,例如,向投票终端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。此时,投票交易数据的投票id可以被随机选择。通过随机选择投票id,投票id不会成为时序性,也即是,使得与时序无关地选择投票id,能够进一步防止对投票人确定投票内容这一情况的发生。此外,在选择时,既可以存储选择完毕的投票id,并选择所存储的投票id以外的投票id,也可以参照区块链的总账选择认证服务器200a等持有权利的投票id。

在步骤s210中,认证服务器200a将所生成的投票交易数据的副本向其他认证服务器200b以及200c发送,取得投票交易数据的同步。认证服务器200a、200b以及200c将与所生成的投票交易数据相关的投票硬币记录为利用完毕。

在步骤s211中,投票服务器300a进行在步骤s209中从认证服务器200a接收到的投票交易数据的验证。在投票交易数据的验证中,参照存储部318所存储的投票交易数据的区块链,判定从认证服务器200a接收到的投票交易数据所包含的投票id是否尚未保存于该区块链的投票id。在判定为投票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站点的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决定包含投票交易数据的区块。更具体而言,投票服务器300a的决定部315决定将在步骤s223发送来的投票交易数据进行包含的区块的区块id。区块id是在与本步骤相同的一系列处理所包含的步骤s228中生成的区块的区块id、或是在与本步骤相同的一系列处理之后执行的步骤s228中生成的区块的区块id。在此,区块id既可以随机决定,也可以基于从投票终端100a接收到的信息而决定。

在步骤s226中,投票服务器300a向其他投票服务器300b以及300c发送投票交易数据的副本。投票服务器300b以及300c对接收到的投票交易数据进行验证,并存储于存储部318。另外,投票服务器300a通过将在步骤s225决定的区块id向其他投票服务器300b以及300c发送,而与其他投票服务器300b以及300c的决定部315共有。

在步骤s227中,投票服务器300a决定在接下来的步骤s228中生成的区块所包含的投票交易数据。所决定的投票交易数据基于步骤s225中的决定而被决定。另外,投票服务器300b以及300c决定将在步骤s223中发送来的投票交易数据包含于在步骤s226接收到的区块id的区块中。

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

此外,步骤s226的共识算法的执行并不是每当进行投票时每回都进行,而是仅在生成的区块所包含的投票交易数据存在的情况下进行。针对这一点在以下进行说明。

图14是表示本实施方式的包含投票交易数据的区块的区块id的说明图。图15是表示本实施方式的投票交易数据包含于区块的状况的说明图。

图14中示出了决定部315决定了的、保存投票交易数据的区块id。

更具体而言,图14中针对投票id为101~107的投票硬币示出了作为投票目标的候选人和所保存的区块的区块id。

例如,投票id为101的投票硬币被投向候选人x,并由决定部315决定为包含于区块id为2的区块。另外,投票id为102的投票硬币被投向候选人y,并由决定部315决定为包含于区块id为1的区块。其他也同样。

该情况下,如图15所示,各投票交易数据包含在区块中。在图15中,将横轴作为经过时间,在上段示出投票服务器300a接收的投票交易数据,在下段示出保存该投票交易数据的区块。

如图15所示,投票id为102、103以及104的投票交易数据保存在区块id为1的区块中。另外,投票id为101以及106的投票交易数据保存在区块id为2的区块中。其他也同样。

并且,在图15中应包含在用虚线的矩形示出的区块中的投票交易数据不存在时,不执行区块的生成以及共识算法。

图16是表示本实施方式的关于可否执行共识算法的处理的流程图。图16所示的一系列处理是图11中的步骤sa所包含的处理。此外,图16所示的一系列处理由投票服务器300a、300b以及300c中的至少1个执行即可。

如图16所示,在步骤s231中,决定部315判定在接着本步骤进行的步骤s231中应包含在区块链中的投票交易数据是否记录在存储部318中。

然后,在由步骤s231判定为上述投票交易数据存储于存储部318的情况下(在步骤s231中为是),在步骤s226中,由投票服务器300a、300b以及300c执行共识算法。

另一方面,在判定为上述投票交易数据没有存储于存储部318的情况下(在步骤s231中为否),不执行共识算法,结束投票处理。该情况下,在针对与该投票处理中的投票人不同的投票人进行的投票处理中,判定为投票交易数据没有存储于存储部318的情况下(在步骤s231中为是),执行共识算法,由区块生成部316进行区块生成。

这样一来,使得以与投票人的投票顺序独立的顺序将投票交易数据保存在区块中。由此,具有如下优点:即使在公开了区块的内容的情况下,也不确定哪个投票人投了哪个候选人,即隐匿。

<结束处理>

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

图17所示的一系列处理由投票服务器300a、300b以及300c中的至少1个执行即可。

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

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

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

这样一来,投票服务器300a等能够将全部的投票交易数据连接于区块链。

<投票结果的公开处理>

图18是表示实施方式的投票服务器300a的投票结果的公开处理的时序图。

图18所示的一系列处理是在从终端110向投票服务器300a进行用于公开投票结果的访问的情况下进行的处理。该访问例如是向投票服务器300a提供的web站点进行的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进行错误处理。在错误处理中,例如,向终端通知错误消息。错误消息也可以包含“由于还没到公开期间,所以无法公开投票结果”等消息。

之后,对在电子投票系统10的投票中使用的投票终端100a的画面以及投票结果的公开中使用的终端的画面例进行说明。

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

图19所示的投票终端100a显示用于选择作为投票目标的候选人的画面,并向投票人提示。

图19所示的画面包含有表示对投票人催促投票的消息的图像401。另外,包含有表示候选人的氏名以及脸部写真的图像402以及表示向候选人投票的按钮的图像403。当投票人对图像403也即是投票按钮进行操作时,输入部112接受向与该投票按钮进行了关联的候选人投票这样的投票内容。

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

图20所示的终端110显示用于公开投票结果的画面,并向投票人提示。

图20所示的画面包含有示出表示该画面所显示的内容是投票结果这一情况的消息的图像411。另外,包含有表示候选人的氏名以及脸部写真的图像412以及候选人的得票数的图像413。另外,得票数最多的候选人的图像412由表示已当选的框的图像414包围。

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

1.6实施方式的效果

本实施方式的电子投票系统在是合法的投票人的认证和认证后进行的投票中使用包含彼此独立的id的数据。由此,例如即使在选举后公开了认证的结果和投票内容的情况下,也能够使得进行了该投票内容的投票的投票人不会被确定出。另外,通过将表示得到了认证的数据和表示投票内容的数据用彼此独立的区块链管理,能够抑制各数据的篡改。进而,在保存了投票内容的区块链中,由于将保存了投票内容的区块按独自的顺序生成并连接,所以可抑制投票人的投票内容被确定出。由此,电子投票系统能够进行秘密投票。

另外,电子投票系统按随机的顺序将投票交易数据包含在区块中,并保存在区块链中。由此,电子投票系统中,由于投票交易数据的顺序是随机的,所以即使在公开了投票内容被保存的区块链的情况下,也能抑制投票内容,也即是,哪个投票人投了哪个候选人被确定出。这样一来,电子投票系统能够进行秘密投票。

另外,电子投票系统中,在基于从终端接收到的信息确定的区块中包含投票交易数据,并保存在区块链中。由此,电子投票系统中,由于基于独立于投票服务器而设定的信息来确定包含投票交易数据的区块,所以能够进一步提高投票人的投票顺序和保存有投票内容的区块的顺序之间的独立性。

另外,电子投票系统能够将包含投票交易数据的区块在投票服务器间设定为相同。

另外,电子投票系统能够使用电子投票系统所不包含的终端与上述同样地进行秘密投票。

2.其他变形例

此外,基于上述实施方式说明了本公开,但是本公开当然并不限定于上述实施方式。以下那样的情况也包含在本公开中。

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

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

(3)在上述的实施方式中,投票服务器决定了包含投票交易数据的区块的区块id,但是也可以决定将投票交易数据包含于区块的时机。

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

(5)在上述的实施方式中,投票结果的公开基于来自投票终端的访问进行,但是并不限定于此,只要是能够对投票服务器进行访问的终端则任何终端都可以。另外,投票服务器也可以公开包含投票交易的区块链。

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

(7)在上述实施方式中,投票服务器在从投票终端接收到投票交易之后,决定在多个区块中的哪个区块包含投票交易数据,但是不限定于此,也可以按照预定的算法来决定。此时,算法可以不公开而仅由投票服务器管理。例如,算法是,接收到的投票交易中、投票内容重复的投票交易包含在下一个区块等投票内容不会被识别即可。

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

(9)上述的实施方式中的各装置中,构成的构成要素的一部分或全部也可以由1个系统lsi(largescaleintegration:大规模集成电路)构成。系统lsi是将多个构成部集成在1个芯片上制造而成的超多功能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)一种包括投票终端、多个认证服务器、多个投票服务器的电子投票系统,其特征在于,所述投票终端包含生成认证交易和投票交易的第一交易生成部,所述第一交易生成部,在根据选民的标识符生成认证交易时将其发送给认证服务器,在根据从所述认证服务器转让了投票权的第一投票交易生成第二投票交易时将其发送给投票服务器,所述多个认证服务器包含:第一交易验证部,在从所述投票终端接收到所述认证交易时进行认证交易的验证;第二交易生成部,生成认证交易;第一区块生成部,进行认证交易的区块生成,所述第一交易验证部在接收到所述认证交易时,验证所述认证交易所包含的标识符在区块链中是否存在2个以上,在存在2个以上的情况下判断为二重使用,所述第二交易生成部在由所述第一交易验证部进行的所述认证交易的验证成功时,根据从所述投票服务器接收到的第三投票交易生成所述第一投票交易并向投票终端发送,在所述多个投票服务器中,包含:第二交易验证部,在从所述投票终端接收到所述第二投票交易时进行交易的验证;第三交易生成部,生成投票交易;决定部,决定将投票交易包含于区块的时机;第二区块生成部,进行投票交易的区块生成,所述第二交易验证部在从所述投票终端接收到所述第二投票交易时,验证所述第二投票交易所包含的投票权是否在区块链中存在2个以上,在存在2个以上的情况下判断为二重使用,所述第三交易生成部生成投票权的第三投票交易,并发送给所述认证服务器,所述第二区块生成部按照所述决定部决定的包含投票交易的时机,生成从所述第二投票交易抽出的投票交易的区块。

(b)如(a)所记载的电子投票系统,其特征在于,所述多个投票服务器的所述决定部进一步包含投票交易的时机在所述多个投票服务器间共有。

(c)如(a)所记载的电子投票系统,其特征在于,所述多个投票服务器的所述决定部进一步基于从所述投票终端接收到的信息决定包含投票交易的时机。

由此,在投票终端与认证服务器间进行是否是选民的认证,在是选民的情况下,认证服务器将从投票服务器转让的投票权转让给投票终端。在投票终端中能够使用转让来的投票权进行投票。通过在投票服务器中进行投票权是否被二重利用的验证,即使没有选民的信息,也能够防止不正常的投票。另外,投票服务器通过在投票交易中使用区块链,也能够防止投票结果的篡改。进而,通过使将投票交易包含于区块的时机随机,无法识别用户的投票内容,因此能够构筑安全的电子投票系统。

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

产业上的可利用性

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

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