以下に、図面を参照して、本発明にかかる電子投票システム、電子投票方法、および電子投票プログラムの実施の形態を詳細に説明する。
(実施の形態にかかる電子投票方法の一実施例)
図1は、実施の形態にかかる電子投票方法の一実施例を示す説明図である。図1において、第1装置100および第2装置110は、国会議員や都道府県知事などの選挙に利用可能な電子投票システムを制御するコンピュータである。選挙では、多重投票を防止し、匿名性を担保することが望まれる。
ここで、従来、多重投票を防止し、匿名性を担保した選挙は、投票用紙を用いて実現される。しかしながら、投票用紙を用いる場合、投票先への投票数を集計する集計作業にかかる時間やコストの増大化を招きやすく、また、投票先を特定困難な無効票が発生してしまうことがある。また、この場合、有権者は投票所を訪れなければ、投票先に投票することができないため、有権者にかかる負担の増大化を招いてしまう。
このため、集計作業にかかる時間やコストの増大化を抑制し、有権者にかかる負担の増大化を抑制するために、多重投票を防止し、匿名性を担保した、選挙に利用可能な電子投票システムを実現することが望まれる。しかしながら、電子投票システムでは、多重投票を防止し、匿名性を担保することは難しいため、選挙に利用可能な電子投票システムを実現することは難しい。
例えば、投票所に設置した端末装置からは投票可能にし、投票所に設置した端末装置以外からは投票不可能にすることにより、多重投票を防止し、匿名性を担保した、選挙に利用可能な電子投票システムを実現することが考えられる。しかしながら、この電子投票システムでは、有権者は投票所を訪れなければ、投票先に投票することができないため、有権者にかかる負担の増大化を抑制することができない。
また、例えば、有権者の投票権を管理するハードウェアトークンを利用し、多重投票を防止し、匿名性を担保した、選挙に利用可能な電子投票システムを実現することが考えられる。しかしながら、この電子投票システムでは、ハードウェアトークンを製造するコストが生じてしまう。また、この電子投票システムでは、有権者は投票所を訪れなければ、投票先に投票することができないため、有権者にかかる負担の増大化を抑制することができない。
また、電子投票システムにブロックチェーン(Block Chain)を利用し、いずれの有権者がいずれの投票先に投票したのかを分散台帳によって記録することにより、多重投票を防止することが考えられる。しかしながら、この電子投票システムでは、いずれの有権者がいずれの投票先に投票したのかが直接対応付けられてしまい、匿名性を担保することができない。
ブロックチェーンは、一定時間ごとに、データをまとめたブロックが生成され、生成されたブロックが連結されていくことにより、データを管理するリストである。ブロックチェーンは、1以上のノードに共通して記憶され、1以上のノードに共通して監視されることにより、分散台帳を実現する。
そこで、本実施の形態では、投票権の消尽をブロックチェーンに記録し、匿名性を有する口座への投票トークンの移転をブロックチェーンに記録し、消尽と移転の対応付けをブロックチェーンに記録することができる電子投票方法について説明する。この電子投票方法は、多重投票を防止し、匿名性を担保した電子投票システムを実現することができる。
図1の例では、(1−1)第1装置100は、投票トークンの移転要求を受け付ける。投票トークンは、その保有口座から投票先に所有権を移転することで投票を行うための、ソフトウェアトークンである。投票トークンは、投票に利用可能な票を表す情報である。移転要求は、有権者を特定する情報を含む。
第1装置100は、受け付けた移転要求から特定される有権者が有する投票権を消尽させる第1トランザクションの情報101を、第1分散台帳120に記録する。第1分散台帳120は、例えば、第1ブロックチェーンを含む。第1ブロックチェーンは、改ざん耐性を有する。第1装置100は、例えば、第1トランザクションの情報101を、第1ブロックチェーンに記録する。
(1−2)第1装置100は、複数の口座104のいずれかの口座104に投票トークンを移転させる第2トランザクションの情報102を、第2分散台帳130に記録する。口座104は、投票トークンを保持する入れ物であり、論理的な区分けである。口座104の匿名性は、例えば複数用意した口座104のいずれかひとつを有権者に割り当てることで実現される。第2分散台帳130は、例えば、第2ブロックチェーンを含む。第2ブロックチェーンは、改ざん耐性を有する。第1装置100は、例えば、第2トランザクションの情報102を、第2ブロックチェーンに記録する。
(1−3)第1装置100は、第1トランザクションと第2トランザクションとを対応付ける第3トランザクションの情報103を、第3分散台帳140に記録する。第3分散台帳140は、例えば、第3ブロックチェーンを含む。第3ブロックチェーンは、改ざん耐性を有する。第1装置100は、例えば、第1トランザクションのトランザクションIDと第2トランザクションのトランザクションIDとを対応付ける第3トランザクションの情報103を、第3ブロックチェーンに記録する。
これにより、第1装置100は、改ざん耐性を有する第1分散台帳120に、有権者の投票権の消尽を記録することができる。このため、第1装置100は、1つの投票権に基づき正式な数の投票トークンが利用されることを保証可能にし、1つの投票権に基づき不正な数の投票トークンが利用されることを防止可能にし、多重投票を防止可能にすることができる。
また、第1装置100は、改ざん耐性を有する第2分散台帳130に、いずれの有権者とも対応付けられなくてよい匿名性を有する口座104に投票トークンを移転したことを記録することができる。このため、第1装置100は、匿名性を確保した、投票先に投票可能な票を表す投票トークンを、有権者が利用可能にすることができ、匿名性を確保可能にすることができる。投票先は、例えば、国会議員や都道府県知事などの候補者である。
また、第1装置100は、改ざん耐性を有する第3分散台帳140に、有権者の投票権の消尽と、投票トークンの移転とを対応付けて記録することができる。このため、第1装置100は、1つの投票権に基づき正式な数の投票トークンが利用されたことを検証可能にすることができ、多重投票に対策可能にすることができる。
(1−4)第2装置110は、投票トークンの投票要求を受け付ける。投票要求は、第1装置100が投票トークンを移転可能であり、投票トークンを保持可能な複数の口座104のいずれかの口座104を特定する情報を含む。投票要求は、1以上の投票先のいずれかの投票先を特定する情報を含む。投票要求は、例えば、有権者を特定可能な情報を含まなくてよい。
第2装置110は、受け付けた投票要求から特定されるいずれかの口座104に存在する投票トークンを、受け付けた投票要求から特定される投票先を表す口座105に移転させる第4トランザクションの情報を、第2分散台帳130に記録する。投票先を表す口座105は、投票トークンを保持する入れ物であり、論理的な区分けである。投票先を表す口座105は、第1装置100が投票トークンを移転可能であり、投票トークンを保持可能な複数の口座104とは異なる。第2装置110は、例えば、第4トランザクションの情報を、第2ブロックチェーンに記録する。
これにより、第2装置110は、改ざん耐性を有する第2分散台帳130に、いずれかの口座104に存在する投票トークンが、投票先を表す口座105に投票されたことを記録することができる。このため、第2装置110は、いずれかの口座104に存在する投票トークンが、繰り返し利用されることを防止可能にすることができ、多重投票を防止可能にすることができる。また、第2装置110は、投票先を表す口座105ごとに投票された投票トークンの数を算出可能にすることができ、集計作業にかかる時間やコストの増大化を抑制可能にすることができる。
これにより、電子投票システムは、多重投票を防止可能にし、匿名性を担保可能にすることができる。また、電子投票システムは、第2分散台帳130に基づいて、集計作業にかかる時間やコストの増大化を抑制可能にすることができる。また、電子投票システムは、有権者が投票所を訪れなくてもよいようにすることができ、有権者にかかる負担の増大化を抑制可能にすることができる。
これにより、電子投票システムは、ハードウェアトークンを用いなくてよいため、実現にかかるコストの増大化を抑制することができる。また、電子投票システムは、投票先を選択可能にすることができ、書き損じなどによる無効票を削減可能にすることができる。また、電子投票システムは、有権者が投票所を訪れなくてもよいようにすることができ、投票率の向上を図ることができる。
ここでは、投票先が、国会議員や都道府県知事などの候補者である場合について説明したが、これに限らない。例えば、投票先が、所定の選択肢である場合があってもよい。具体的には、投票トークンを投票可能な投票先が、最高裁判所の裁判官の信任、不信任、棄権などの選択肢である場合があってもよい。
ここでは、複数の口座104が、匿名性を有することにより、匿名性を確保した、投票先に投票可能な票を表す投票トークンを、有権者が利用可能にする場合について説明したが、これに限らない。例えば、投票トークンを移転した口座104と有権者とが対応付けられ、投票トークンが投票先を表す口座105に投票されたことに応じて、口座104と有権者との対応付けを消去する場合があってもよい。以下の説明では、台帳に情報を記録する操作、トランザクションを「Tx」と表記する場合がある。
(電子投票システム200の一例)
次に、図2を用いて、図1に示した第1装置100および第2装置110を適用した、電子投票システム200の一例について説明する。
図2は、電子投票システム200の一例を示す説明図である。図2において、電子投票システム200は、投票権管理装置201と、投票管理装置202と、端末装置203と、1以上のノード204とを含む。
電子投票システム200において、投票権管理装置201と端末装置203とは、有線または無線のネットワークを介して接続される。ネットワークは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、電子投票システム200において、投票管理装置202と端末装置203とは、有線または無線のネットワークを介して接続される。
また、電子投票システム200において、投票権管理装置201とノード204とは、有線または無線のネットワークを介して接続される。また、電子投票システム200において、投票管理装置202とノード204とは、有線または無線のネットワークを介して接続される。また、ノード204間は、有線または無線のネットワークを介して接続される。
ノード204は、投票権台帳210、投票トークン発行台帳220、または、投票トークン保有台帳230のいずれかを実現するコンピュータである。ノード204は、例えば、図7に後述する投票権台帳210を記憶する。投票権台帳210は、図1に示した第1分散台帳120に対応する。ノード204は、例えば、図8に後述する投票トークン発行台帳220を記憶する。投票トークン発行台帳220は、図1に示した第3分散台帳140に対応する。ノード204は、例えば、図9に後述する投票トークン保有台帳230を記憶する。投票トークン保有台帳230は、図1に示した第2分散台帳130に対応する。ノード204は、例えば、サーバ、PC(Personal Computer)などである。
投票権管理装置201は、図1に示した第1装置100に対応するコンピュータである。投票権管理装置201は、投票権台帳210と投票トークン発行台帳220と投票トークン保有台帳230とを参照可能である。投票権管理装置201は、有権者を特定する情報を含む、投票トークンの移転要求を、端末装置203から受け付ける。投票権管理装置201は、投票トークンの移転要求を受け付けると、投票権台帳210を利用し、移転要求から特定される有権者が有する投票権を消尽させる。また、投票権管理装置201は、投票トークン保有台帳230を利用し、投票トークンを投票トークン保持口座に移転させる。また、投票権管理装置201は、投票トークン発行台帳220を利用し、消尽と移転とを対応付ける。また、投票権管理装置201は、投票トークンを移転させた投票トークン保持口座の認証情報を端末装置203に送信し、投票トークン保持口座を端末装置203で操作可能にする。投票権管理装置201は、例えば、サーバ、PCなどである。
投票管理装置202は、図1に示した第2装置110に対応するコンピュータである。投票管理装置202は、投票トークン保有台帳230を参照可能である。投票管理装置202は、投票トークン保持口座の認証情報を含む、投票トークンの投票要求を端末装置203から受け付ける。投票管理装置202は、投票トークンの投票要求を受け付けると、投票トークン保有台帳230を利用し、投票トークン保持口座に存在する投票トークンを、投票先を表す投票先口座に投票させる。投票管理装置202は、例えば、サーバ、PCなどである。
端末装置203は、有権者が利用可能なコンピュータである。端末装置203は、投票トークン保持口座の認証情報を、投票権管理装置201から受け付ける。端末装置203は、投票トークン保持口座の認証情報を受け付けると、有権者の操作入力に基づいて、投票先の入力を受け付ける。端末装置203は、投票先の入力を受け付けると、投票トークンの投票要求を、投票管理装置202に送信する。端末装置203は、例えば、サーバ、PC、タブレット端末、スマートフォンなどである。
ここでは、電子投票システム200が、投票権管理装置201を1つ含む場合について説明したが、これに限らない。例えば、電子投票システム200が、投票権管理装置201を2以上含む場合があってもよい。また、電子投票システム200が、投票管理装置202を1つ含む場合について説明したが、これに限らない。例えば、電子投票システム200が、投票管理装置202を2以上含む場合があってもよい。
ここでは、投票権管理装置201が、ノード204とは異なる装置である場合について説明したが、これに限らない。例えば、投票権管理装置201が、ノード204としても動作する場合があってもよい。また、投票管理装置202が、ノード204とは異なる装置である場合について説明したが、これに限らない。例えば、投票管理装置202が、ノード204としても動作する場合があってもよい。
(投票権管理装置201のハードウェア構成例)
次に、図3を用いて、投票権管理装置201のハードウェア構成例について説明する。
図3は、投票権管理装置201のハードウェア構成例を示すブロック図である。図3において、投票権管理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、投票権管理装置201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。メモリ302は、例えば、図4に後述する付与条件テーブル400を記憶する。
ネットワークI/F303は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、ノード204に接続され、ノード204が記憶する図7〜図9に後述する投票権台帳210、投票トークン発行台帳220、投票トークン保有台帳230などを参照可能にする。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、投票権管理装置201から着脱可能であってもよい。
投票権管理装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、投票権管理装置201は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、投票権管理装置201は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(付与条件テーブル400の記憶内容)
次に、図4を用いて、付与条件テーブル400の記憶内容について説明する。付与条件テーブル400は、例えば、図3に示した投票権管理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
図4は、付与条件テーブル400の記憶内容の一例を示す説明図である。図4に示すように、付与条件テーブル400は、属性と、トークン1口数と、トークン2口数と、トークン3口数と、トークン4口数とのフィールドを有する。付与条件テーブル400は、有権者の属性ごとに各フィールドに情報を設定することにより、付与条件がレコードとして記憶される。
属性のフィールドには、有権者の属性の一つである有権者の居住地が設定される。トークン1口数のフィールドには、有権者が利用可能なトークン1の数が設定される。トークン1は、投票トークンの一種である。トークン2口数のフィールドには、有権者が利用可能なトークン2の数が設定される。トークン2は、投票トークンの一種である。トークン3口数のフィールドには、有権者が利用可能なトークン3の数が設定される。トークン3は、投票トークンの一種である。トークン4口数のフィールドには、有権者が利用可能なトークン4の数が設定される。トークン4は、投票トークンの一種である。
(投票管理装置202のハードウェア構成例)
次に、図5を用いて、投票管理装置202のハードウェア構成例について説明する。
図5は、投票管理装置202のハードウェア構成例を示すブロック図である。図5において、投票管理装置202は、CPU501と、メモリ502と、ネットワークI/F503と、記録媒体I/F504と、記録媒体505とを有する。また、各構成部は、バス500によってそれぞれ接続される。
ここで、CPU501は、投票管理装置202の全体の制御を司る。メモリ502は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU501のワークエリアとして使用される。メモリ502に記憶されるプログラムは、CPU501にロードされることで、コーディングされている処理をCPU501に実行させる。
ネットワークI/F503は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F503は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F503は、例えば、ノード204に接続され、ノード204が記憶する図9に後述する投票トークン保有台帳230などを参照可能にする。ネットワークI/F503には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F504は、CPU501の制御に従って記録媒体505に対するデータのリード/ライトを制御する。記録媒体I/F504は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体505は、記録媒体I/F504の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体505は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体505は、投票管理装置202から着脱可能であってもよい。
投票管理装置202は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、投票管理装置202は、記録媒体I/F504や記録媒体505を複数有していてもよい。また、投票管理装置202は、記録媒体I/F504や記録媒体505を有していなくてもよい。
(ノード204のハードウェア構成例)
次に、図6を用いて、ノード204のハードウェア構成例について説明する。
図6は、ノード204のハードウェア構成例を示すブロック図である。図6において、ノード204は、CPU601と、メモリ602と、ネットワークI/F603と、記録媒体I/F604と、記録媒体605とを有する。また、各構成部は、バス600によってそれぞれ接続される。
ここで、CPU601は、ノード204の全体の制御を司る。メモリ602は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることで、コーディングされている処理をCPU601に実行させる。メモリ602は、例えば、図7〜図9に後述する投票権台帳210、投票トークン発行台帳220、投票トークン保有台帳230などを記憶する。
ネットワークI/F603は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F603は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F603には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F604は、CPU601の制御に従って記録媒体605に対するデータのリード/ライトを制御する。記録媒体I/F604は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体605は、記録媒体I/F604の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体605は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体605は、ノード204から着脱可能であってもよい。
ノード204は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、ノード204は、記録媒体I/F604や記録媒体605を複数有していてもよい。また、ノード204は、記録媒体I/F604や記録媒体605を有していなくてもよい。
(投票権台帳210の記憶内容)
次に、図7を用いて、投票権台帳210の記憶内容について説明する。投票権台帳210は、例えば、図6に示したノード204のメモリ602や記録媒体605などの記憶領域により実現される。
図7は、投票権台帳210の記憶内容の一例を示す説明図である。図7に示すように、投票権台帳210は、投票権台帳管理情報701と、投票権台帳Tx情報702とを有する。投票権台帳Tx情報702は、ブロックチェーンを用いて記憶される。投票権台帳管理情報701は、投票権台帳Tx情報702に基づいて更新される。
投票権台帳管理情報701は、住民IDと、状態とのフィールドを有する。住民IDのフィールドには、有権者を特定する情報として住民IDが設定される。状態のフィールドには、有権者が有する投票権の状態が設定される。投票権の状態は、例えば、未使用または行使済みである。
投票権台帳Tx情報702は、タイムスタンプと、TxIDと、Tx種別と、住民IDと、状態とのフィールドを有する。タイムスタンプのフィールドには、投票権台帳管理情報701を更新するTxが生成された時点を示すタイムスタンプが設定される。TxIDのフィールドには、Txを特定する情報がTxIDとして設定される。Tx種別のフィールドには、Txの種別を示すTx種別が設定される。住民IDのフィールドには、投票権台帳管理情報701の状態のフィールドを更新する有権者を特定する情報として住民IDが設定される。状態のフィールドには、投票権台帳管理情報701の状態のフィールドを更新する内容が設定される。更新する内容は、例えば、未使用または行使済みである。
(投票トークン発行台帳220の記憶内容)
次に、図8を用いて、投票トークン発行台帳220の記憶内容について説明する。投票トークン発行台帳220は、例えば、図6に示したノード204のメモリ602や記録媒体605などの記憶領域により実現される。
図8は、投票トークン発行台帳220の記憶内容の一例を示す説明図である。図8に示すように、投票トークン発行台帳220は、投票トークン発行台帳管理情報801と、投票トークン発行台帳Tx情報802とを有する。投票トークン発行台帳Tx情報802は、ブロックチェーンを用いて記憶される。投票トークン発行台帳管理情報801は、投票トークン発行台帳Tx情報802に基づいて更新される。
投票トークン発行台帳管理情報801は、発行IDと、投票権行使TxIDと、トークン払出TxIDと、投票権返還TxIDとのフィールドを有する。発行IDのフィールドには、投票権管理装置201が発行した投票トークンを特定する情報として発行IDが設定される。投票権行使TxIDのフィールドには、投票権の状態を「行使済み」に更新するTxを示す投票権台帳Tx情報702のTxIDが、投票権行使TxIDとして設定される。トークン払出TxIDのフィールドには、投票トークンを有権者に利用可能に払い出すTxを示す投票トークン保有台帳Tx情報902のTxIDが、トークン払出TxIDとして設定される。投票権返還TxIDのフィールドには、一度消尽した投票権を復活するTxを示す投票トークン発行台帳Tx情報802のTxIDが、投票権返還TxIDとして設定される。
投票トークン発行台帳Tx情報802は、タイムスタンプと、発行TxIDと、Tx種別と、発行IDと、投票権行使TxIDと、トークン払出TxIDとのフィールドを有する。タイムスタンプのフィールドには、投票トークン発行台帳管理情報801を更新するTxが生成された時点を示すタイムスタンプが設定される。発行TxIDのフィールドには、Txを特定する情報がTxIDとして設定される。Tx種別のフィールドには、Txの種別を示すTx種別が設定される。発行IDのフィールドには、投票権管理装置201が投票トークン発行手続きに関する一連のTx群を特定する情報として発行IDが設定される。投票権行使TxIDのフィールドには、投票権の状態を「行使済み」に更新するTxを示す投票権台帳Tx情報702のTxIDが、投票権行使TxIDとして設定される。トークン払出TxIDのフィールドには、投票トークンを有権者に利用可能に払い出すTxを示す投票トークン保有台帳Tx情報902のTxIDが、トークン払出TxIDとして設定される。
投票トークン発行台帳Tx情報802は、タイムスタンプと、TxIDと、Tx種別と、発行IDと、投票権返還TxIDとのフィールドを有する場合があってもよい。タイムスタンプのフィールドには、投票トークン発行台帳管理情報801を更新するTxが生成された時点を示すタイムスタンプが設定される。TxIDのフィールドには、Txを特定する情報がTxIDとして設定される。Tx種別のフィールドには、Txの種別を示すTx種別が設定される。発行IDのフィールドには、投票権管理装置201が発行した投票トークンを特定する情報として発行IDが設定される。投票権返還TxIDのフィールドには、一度消尽した投票権を復活するTxを示す投票トークン発行台帳Tx情報802のTxIDが、投票権返還TxIDとして設定される。
(投票トークン保有台帳230の記憶内容)
次に、図9を用いて、投票トークン保有台帳230の記憶内容について説明する。投票トークン保有台帳230は、例えば、図6に示したノード204のメモリ602や記録媒体605などの記憶領域により実現される。
図9は、投票トークン保有台帳230の記憶内容の一例を示す説明図である。図9に示すように、投票トークン保有台帳230は、投票トークン保有台帳管理情報901と、投票トークン保有台帳Tx情報902とを有する。投票トークン保有台帳Tx情報902は、ブロックチェーンを用いて記憶される。投票トークン保有台帳管理情報901は、投票トークン保有台帳Tx情報902に基づいて更新される。
投票トークン保有台帳管理情報901は、口座と、トークン1口数と、トークン2口数と、トークン3口数と、トークン4口数とのフィールドを有する。口座のフィールドには、トークンを保持するトークン保持口座、または、トークンを投票する投票先を表す投票先口座のいずれかの口座を特定する情報が設定される。トークン1口数のフィールドには、口座に存在するトークン1の数が設定される。トークン1は、投票トークンの一種である。トークン2口数のフィールドには、口座に存在するトークン2の数が設定される。トークン2は、投票トークンの一種である。トークン3口数のフィールドには、口座に存在するトークン3の数が設定される。トークン3は、投票トークンの一種である。トークン4口数のフィールドには、口座に存在するトークン4の数が設定される。トークン4は、投票トークンの一種である。
投票トークン保有台帳Tx情報902は、タイムスタンプと、TxIDと、Tx種別と、From口座と、To口座と、トークン1やトークン2やトークン3やトークン4の少なくともいずれかとのフィールドを有する。タイムスタンプのフィールドには、投票トークン保有台帳管理情報901を更新するTxが生成された時点を示すタイムスタンプが設定される。TxIDのフィールドには、Txを特定する情報がTxIDとして設定される。Tx種別のフィールドには、Txの種別を示すTx種別が設定される。From口座のフィールドには、投票トークンの移動元の口座を示す情報がFrom口座として設定される。To口座のフィールドには、投票トークンの移動先の口座を示す情報がTo口座として設定される。トークン1のフィールドには、From口座からトークン1をいくつTo口座に移動するかを示す情報が設定される。トークン2のフィールドには、From口座からトークン2をいくつTo口座に移動するかを示す情報が設定される。トークン3のフィールドには、From口座からトークン3をいくつTo口座に移動するかを示す情報が設定される。トークン4のフィールドには、From口座からトークン4をいくつTo口座に移動するかを示す情報が設定される。
(端末装置203のハードウェア構成例)
次に、図10を用いて、端末装置203のハードウェア構成例について説明する。
図10は、端末装置203のハードウェア構成例を示すブロック図である。図10において、端末装置203は、CPU1001と、メモリ1002と、ネットワークI/F1003と、記録媒体I/F1004と、記録媒体1005と、ディスプレイ1006と、入力装置1007とを有する。また、各構成部は、バス1000によってそれぞれ接続される。
ここで、CPU1001は、端末装置203の全体の制御を司る。メモリ1002は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1001のワークエリアとして使用される。メモリ1002に記憶されるプログラムは、CPU1001にロードされることで、コーディングされている処理をCPU1001に実行させる。
ネットワークI/F1003は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F1003は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F1003には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F1004は、CPU1001の制御に従って記録媒体1005に対するデータのリード/ライトを制御する。記録媒体I/F1004は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体1005は、記録媒体I/F1004の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体1005は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体1005は、端末装置203から着脱可能であってもよい。
ディスプレイ1006は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ1006は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。入力装置1007は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置1007は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
端末装置203は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、端末装置203は、記録媒体I/F1004や記録媒体1005を複数有していてもよい。また、端末装置203は、記録媒体I/F1004や記録媒体1005を有していなくてもよい。
(電子投票システム200の機能的構成例)
次に、図11を用いて、電子投票システム200の機能的構成例について説明する。
図11は、電子投票システム200の機能的構成例を示すブロック図である。電子投票システム200は、投票権管理装置201と、投票管理装置202とを含む。投票権管理装置201は、第1記憶部1110と、第1取得部1111と、第1記録部1112と、第2記録部1113と、第3記録部1114と、第1出力部1115とを含む。
第1記憶部1110は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、第1記憶部1110が、投票権管理装置201に含まれる場合について説明するが、これに限らない。例えば、第1記憶部1110が、投票権管理装置201とは異なる装置に含まれ、第1記憶部1110の記憶内容が投票権管理装置201から参照可能である場合があってもよい。
第1取得部1111〜第1出力部1115は、制御部の一例として機能する。第1取得部1111〜第1出力部1115は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
第1記憶部1110は、各機能部の処理に用いられる各種情報を記憶する。第1記憶部1110は、各機能部の処理において参照され、または更新される各種情報を記憶する。第1記憶部1110は、例えば、有権者の属性ごとに投票可能な投票トークンの種類と数とを対応付けて表す対応情報を記憶する。第1記憶部1110は、具体的には、図4に示した付与条件テーブル400を記憶する。
第1取得部1111は、各機能部の処理に用いられる各種情報を第1記憶部1110から取得し、各機能部に出力する。第1取得部1111は、例えば、各機能部の処理に用いられる各種情報を第1記憶部1110から取得し、各機能部に出力してもよい。第1取得部1111は、例えば、各機能部の処理に用いられる各種情報を、投票権管理装置201とは異なる装置から取得し、各機能部に出力してもよい。
第1取得部1111は、例えば、第3装置から有権者の識別情報を受け付ける。第3装置は、例えば、端末装置203である。第1取得部1111は、例えば、投票トークンの移転要求を端末装置203から受け付け、投票トークンの移転要求を第1記録部1112に出力する。これにより、第1取得部1111は、移転要求に基づき有権者を特定可能にすることができる。
第1記録部1112は、受け付けた移転要求から特定される有権者が有する投票権を消尽させる第1Txの情報を、第1分散台帳120に記録する。移転要求は、有権者を特定する情報を含む。第1Txの情報は、例えば、投票権台帳Tx情報である。第1分散台帳120は、例えば、投票権台帳210である。
第1記録部1112は、例えば、移転要求から特定される有権者が有する投票権を消尽させる投票権台帳Tx情報の記録要求を、ノード204に送信する。記録要求は、例えば、投票権台帳Tx情報の生成に用いる情報を含む。そして、第1記録部1112は、ノード204により、投票権台帳Tx情報を、投票権台帳210に記録させる。これにより、第1記録部1112は、1つの投票権に基づき正式な数の投票トークンが利用されることを保証可能にし、1つの投票権に基づき不正な数の投票トークンが利用されることを防止可能にし、多重投票を防止可能にすることができる。
第1記録部1112は、例えば、第1取得部1111が受け付けた識別情報に基づき有権者を認証成功したことに応じて、第1Txの情報を、第1分散台帳120に記録してもよい。これにより、第1記録部1112は、有権者ではない攻撃者に投票トークンを利用可能にしてしまうことを防止することができる。
第1記録部1112は、例えば、受け付けた移転要求から特定される有権者が有する投票権が未使用である場合、第1Txの情報を、第1分散台帳120に記録してもよい。一方で、第1記録部1112は、例えば、受け付けた移転要求から特定される有権者が有する投票権が行使済みである場合、第1Txの情報を、第1分散台帳120に記録しない。これにより、第1記録部1112は、利用者に重複して投票トークンを利用可能にしてしまうことを防止することができる。
第2記録部1113は、複数の口座のいずれかの口座に投票トークンを移転させる第2Txの情報を、第2分散台帳130に記録する。口座は、論理的な区分けである。複数の口座は、投票トークンを保持可能な口座である。複数の口座は、例えば、匿名性を有し、いずれの有権者とも対応付けられなくてよい。第2Txの情報は、例えば、投票トークン保有台帳Tx情報である。第2分散台帳130は、例えば、投票トークン保有台帳230である。
第2記録部1113は、例えば、投票トークン保有台帳Tx情報の記録要求を、ノード204に送信する。記録要求は、例えば、投票トークン保有台帳Tx情報の生成に用いる情報を含む。そして、第2記録部1113は、ノード204により、投票トークン保有台帳Tx情報を、投票トークン保有台帳230に記録させる。これにより、第2記録部1113は、匿名性を確保した、投票先に投票可能な票を表す投票トークンを、有権者が利用可能にすることができ、匿名性を確保可能にすることができる。
第2記録部1113は、例えば、第1分散台帳120への第1Txの情報の記録が確定した後、第2Txの情報を、第2分散台帳130に記録してもよい。第2記録部1113は、具体的には、投票権台帳210のブロックチェーンへの投票権台帳Tx情報の記録が確定した後、投票トークン保有台帳Tx情報を投票トークン保有台帳230に記録する。
第2記録部1113は、具体的には、ノード204から、投票権台帳210のブロックチェーンへの投票権台帳Tx情報の記録が確定したことを通知されると、投票トークン保有台帳Tx情報を投票トークン保有台帳230に記録する。これにより、第2記録部1113は、有権者の投票権が消尽していない可能性があるのに有権者に投票トークンを利用可能にしてしまうことを防止することができる。
第2記録部1113は、例えば、対応情報に基づいて、移転要求から特定される有権者の属性に対応付けられた数の、移転要求から特定される有権者の属性に対応付けられた種類の投票トークンを特定してもよい。第2記録部1113は、具体的には、移転要求から特定される有権者の属性に割り当てられた種類の投票トークンを、その投票トークンに対応付けられた数だけ特定する。そして、第2記録部1113は、特定した投票トークンを、複数の口座のいずれかの口座に移転させる第2Txの情報を、第2分散台帳130に記録してもよい。これにより、第2記録部1113は、複数の種類の投票トークンを利用可能にすることができる。
第2記録部1113は、例えば、受け付けた移転要求から特定される有権者が有する投票権が未使用である場合、第2Txの情報を、第2分散台帳130に記録してもよい。一方で、第2記録部1113は、例えば、受け付けた移転要求から特定される有権者が有する投票権が行使済みである場合、第2Txの情報を、第2分散台帳130に記録しない。
第3記録部1114は、第1Txと第2Txとを対応付ける第3Txの情報を、第3分散台帳140に記録する。第3Txの情報は、例えば、投票トークン発行台帳Tx情報である。第3分散台帳140は、例えば、投票トークン発行台帳220である。
第3記録部1114は、例えば、投票権台帳Tx情報のTxIDと、投票トークン保有台帳Tx情報のTxIDとを対応付ける投票トークン発行台帳Tx情報の記録要求を、ノード204に送信する。記録要求は、例えば、投票トークン発行台帳Tx情報の生成に用いる情報を含む。そして、第3記録部1114は、ノード204により、投票トークン発行台帳Tx情報を、投票トークン発行台帳220に記録させる。これにより、第3記録部1114は、1つの投票権に基づき正式な数の投票トークンが利用されたことを検証可能にすることができ、多重投票に対策可能にすることができる。
ここで、第3Txの情報は、1以上の移転要求のそれぞれの移転要求から特定される有権者が有する投票権を消尽させる第1Txをグループ化したTxグループと、第2Txとを対応付けるTxの情報であってもよい。これにより、第3記録部1114は、匿名性の確保を効率よく図ることができる。
第3記録部1114は、例えば、第2Txの情報の第2分散台帳130への記録が確定した後、第3Txの情報を、第3分散台帳140に記録してもよい。第3記録部1114は、具体的には、ノード204から、投票トークン保有台帳230のブロックチェーンへの投票トークン保有台帳Tx情報の記録が確定したことを通知されると、投票トークン発行台帳Tx情報を、投票トークン発行台帳220に記録してもよい。これにより、第3記録部1114は、投票トークンを利用可能にしていないのに、第3Txの情報を記録してしまい、誤って有権者に投票トークンを利用可能にしたと判断されることを防止することができる。
第1記録部1112は、第2分散台帳130への第2Txの情報の記録が失敗した場合、移転要求から特定される有権者が有する投票権を復活させる第5Txの情報を、第1分散台帳120に記録してもよい。第5Txの情報は、例えば、投票権台帳Tx情報である。第1記録部1112は、例えば、投票トークン保有台帳230のブロックチェーンへの投票トークン保有台帳Tx情報の記録が失敗した場合、有権者が有する投票権を復活させる投票権台帳Tx情報を、投票権台帳210に記録する。
第1記録部1112は、具体的には、ノード204から、投票トークン保有台帳230のブロックチェーンへの投票トークン保有台帳Tx情報の記録が失敗したことを通知されると、投票権台帳Tx情報を、投票権台帳210に記録する。これにより、第1記録部1112は、投票トークンを利用可能にしていない場合、有権者の投票権を復活させ、有権者が投票することができなくなることを防止することができる。
第1出力部1115は、投票トークンを移転したいずれかの口座を表す口座情報を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。
第1出力部1115は、例えば、投票トークンを移転したいずれかの口座を表す口座情報を、端末装置203に送信する。これにより、第1出力部1115は、有権者を特定する情報を用いずに有権者に投票トークンを利用可能にすることができ、匿名性の確保を図ることができる。
第1出力部1115は、各機能部の処理結果を出力してもよい。これにより、第1出力部1115は、各機能部の処理結果を利用者に通知可能にし、投票権管理装置201の管理や運用、例えば、投票権管理装置201の設定値の更新などを支援することができ、投票権管理装置201の利便性の向上を図ることができる。
投票管理装置202は、第2記憶部1120と、第2取得部1121と、第4記録部1122と、算出部1123と、第2出力部1124とを含む。
第2記憶部1120は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域によって実現される。以下では、第2記憶部1120が、投票権管理装置201に含まれる場合について説明するが、これに限らない。例えば、第2記憶部1120が、投票権管理装置201とは異なる装置に含まれ、第2記憶部1120の記憶内容が投票権管理装置201から参照可能である場合があってもよい。
第2取得部1121〜第2出力部1124は、制御部の一例として機能する。第2取得部1121〜第2出力部1124は、具体的には、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶されたプログラムをCPU501に実行させることにより、または、ネットワークI/F503により、その機能を実現する。各機能部の処理結果は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶される。
第2記憶部1120は、各機能部の処理に用いられる各種情報を記憶する。第2記憶部1120は、各機能部の処理において参照され、または更新される各種情報を記憶する。
第2取得部1121は、各機能部の処理に用いられる各種情報を第2記憶部1120から取得し、各機能部に出力する。第2取得部1121は、例えば、各機能部の処理に用いられる各種情報を第2記憶部1120から取得し、各機能部に出力してもよい。第2取得部1121は、例えば、各機能部の処理に用いられる各種情報を、投票権管理装置201とは異なる装置から取得し、各機能部に出力してもよい。
第2取得部1121は、例えば、複数の口座のいずれかの口座を表す口座情報を含む投票要求を受け付ける。第2取得部1121は、具体的には、複数の口座のいずれかの口座を表す口座情報を含む投票要求を、端末装置203から受信する。これにより、第2取得部1121は、有権者を特定する情報を用いずに有権者に投票トークンを利用可能にすることができ、匿名性の確保を図ることができる。
第4記録部1122は、受け付けた投票要求から特定されるいずれかの口座に存在する投票トークンを、受け付けた投票要求から特定される投票先を表す口座に移転させる第4Txの情報を、第2分散台帳130に記録する。口座は、論理的な区分けである。第4Txの情報は、例えば、投票トークン保有台帳Tx情報である。第4記録部1122は、例えば、投票トークン保有台帳Tx情報の記録要求を、ノード204に送信し、投票トークン保有台帳Tx情報を、投票トークン保有台帳230に記録させる。これにより、第4記録部1122は、投票先ごとに投票トークンを投票可能にし、投票トークンを用いた投票を実現することができる。
算出部1123は、第2分散台帳130への第4Txの情報の記録が確定した場合、1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を算出する。算出部1123は、例えば、投票トークン保有台帳230のブロックチェーンへの投票トークン保有台帳Tx情報の記録が確定すると、投票トークン保有台帳230を参照し、1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を算出する。
算出部1123は、具体的には、ノード204から、投票トークン保有台帳Tx情報の記録が確定したことを通知されると、投票トークン保有台帳230を参照し、1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を算出する。これにより、算出部は、投票先を表す口座ごとに投票された投票トークンの数を算出可能にすることができ、集計作業にかかる時間やコストの増大化を抑制可能にすることができる。
第2出力部1124は、算出部1123が算出した1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F503による外部装置への送信、または、メモリ502や記録媒体505などの記憶領域への記憶である。
第2出力部1124は、各機能部の処理結果を出力してもよい。これにより、第2出力部1124は、各機能部の処理結果を利用者に通知可能にし、投票管理装置202の管理や運用、例えば、投票管理装置202の設定値の更新などを支援することができ、投票管理装置202の利便性の向上を図ることができる。
(電子投票システム200の実施例1)
次に、図12〜図29を用いて、電子投票システム200の実施例1について説明する。実施例1では、有権者は、居住地に応じた投票と、居住地に限らない投票とを行うことができる。また、有権者は、投票葉書などを有する。まず、図12の説明に移行し、電子投票システム200のモジュール構成例について説明する。
図12は、電子投票システム200のモジュール構成例を示す説明図である。図12において、投票権管理装置201は、投票トークン発行手段1211と、投票権台帳Tx記録監視手段1212とを有する。投票管理装置202は、投票検査手段1221と、投票トークン集計手段1222とを有する。端末装置203は、口座情報取得手段1231と、口座情報保持手段1232と、投票トークン移転要求手段1233とを有する。次に、図13〜図15の説明に移行し、端末装置203の第1動作について説明する。
図13〜図15は、端末装置203の第1動作を示す説明図である。図13において、(13−1)有権者1301は、電子投票ポータルサイトのログイン画面において、投票葉書やマイナンバーなどを参照し、有権者IDと秘密鍵とを端末装置203に入力する。端末装置203は、有権者IDと秘密鍵との入力を受け付ける。次に、図14の説明に移行する。
図14において、端末装置203は、有権者IDと秘密鍵とによる有権者1301の認証が成功すると、電子投票ポータルサイトの認証成功画面1400を表示する。認証は、例えば、TLS(Transport Layer Security)のクライアント認証方式、または、有権者IDとパスフレーズの組み合わせによるベーシックパスワード認証方式などを用いることができる。認証成功画面1400は、例えば、有権者1301の氏名と生年月日と住所とを表示し、「属性を確認しました」の操作ボタン1401を表示する。ここで、図15の説明に移行する。
図15において、端末装置203は、操作ボタン1401がクリックされると、投票トークン発行手続き画面1500を表示する。投票トークン発行手続き画面1500は、例えば、有権者1301の属性に対応する、投票可能な選挙の種別と、投票数とを表示し、「投票トークンを発行する」の操作ボタン1501や「投票をやめる」の操作ボタンを表示する。投票トークン発行手続き画面1500は、具体的には、「○×地区代表選挙」と「全国区代表選挙」の2件の選挙を、投票可能な選挙の種別として表示する。ここで、操作ボタン1501がクリックされたとして、図16〜図21の説明に移行し、投票権管理装置201の第1動作について説明する。
図16〜図21は、投票権管理装置201の第1動作を示す説明図である。図16において、(16−1)端末装置203は、口座情報取得手段1231により、入力された有権者IDを含む投票トークン移転要求を、投票権管理装置201に送信する。
(16−2)投票権管理装置201は、投票トークン発行手段1211により、受信した投票トークン移転要求に含まれる有権者IDから特定される有権者1301の投票権を消尽させる、図17に後述する投票権台帳Tx情報1700の記録要求を生成する。投票権台帳Tx情報1700は、例えば、有権者IDから特定される有権者1301についての投票権台帳管理情報の状態のフィールドを、行使済みに設定する。
そして、投票権管理装置201は、投票トークン発行手段1211により、生成した投票権台帳Tx情報1700の記録要求を、ノード204に送信する。ノード204は、記録要求に基づいて、投票権台帳Tx情報1700を、投票権台帳210に記録する。ここで、図17の説明に移行する。
図17において、投票権台帳Tx情報1700は、例えば、タイムスタンプと、TxIDと、Tx種別と、住民IDと、状態とのフィールドを有する。TxIDのフィールドの値は、xxxxxxxxxabcである。Tx種別のフィールドの値は、状態変更である。住民IDのフィールドの値は、1234−5678−9012である。状態のフィールドの値は、行使済みである。次に、図18の説明に移行する。
図18において、(18−1)投票権管理装置201は、投票トークン発行手段1211により、予め発行した複数の投票トークンのいずれかの投票トークンを選択する。また、投票権管理装置201は、投票トークン発行手段1211により、複数の投票トークン保持口座のいずれかの投票トークン保持口座を選択する。
投票権管理装置201は、例えば、ランダムにいずれかの投票トークン保持口座を選択する。投票権管理装置201は、例えば、シーケンシャルにいずれかの投票トークン保持口座を選択してもよい。投票権管理装置201は、例えば、同じ投票トークン保持口座を、複数回選択することがあってもよい。
投票権管理装置201は、投票トークン発行手段1211により、選択した投票トークンを、選択した投票トークン保持口座に移転させる、図19に後述する投票トークン保有台帳Tx情報1900の記録要求を生成する。投票権管理装置201は、投票トークン保有台帳Tx情報1900の記録要求を、ノード204に送信する。ノード204は、記録要求に基づいて、投票トークン保有台帳Tx情報1900を、投票トークン保有台帳230に記録する。
ここで、投票権管理装置201は、付与条件テーブル400を参照し、1以上の投票トークンを選択してもよい。図18の例では、投票権管理装置201は、トークン1とトークン4とを選択する。トークン1は、例えば、全国区代表選挙に対応する投票トークンである。トークン4は、例えば、地区代表選挙に対応する投票トークンである。
また、投票権管理装置201は、投票権台帳Tx記録監視手段1212(不図示)により、投票権台帳Tx情報1700の記録が確定したことを検出した後、投票トークン発行手段1211により、投票トークン保有台帳Tx情報1900を記録してもよい。ここで、図19の説明に移行する。
図19において、投票トークン保有台帳Tx情報1900は、例えば、タイムスタンプと、TxIDと、Tx種別と、From口座と、To口座と、トークン1と、トークン4とのフィールドを有する。TxIDは、xxxxxxxxxdefである。Tx種別のフィールドの値は、権利の移動である。From口座のフィールドの値は、○×区役所である。To口座のフィールドの値は、voting−0022afagagaga435である。トークン1のフィールドの値は、トークン1の投票種類の投票トークンの数1である。トークン4のフィールドの値は、トークン4の投票種類の投票トークンの数1である。次に、図20の説明に移行する。
図20において、(20−1)投票権管理装置201は、投票トークン発行手段1211により、いずれかのノード204から、投票トークン発行台帳220に記録された投票トークン保有台帳Tx情報1900のTxIDを取得する。投票権管理装置201は、例えば、ノード204から投票トークン保有台帳Tx情報1900のTxIDを取得する。
(20−2)投票権管理装置201は、投票トークン発行手段1211により、図21に後述する投票トークン発行台帳Tx情報2100の記録要求を生成する。投票トークン発行台帳Tx情報2100は、投票権台帳Tx情報1700のTxIDと、投票トークン保有台帳Tx情報1900のTxIDとを対応付ける。
そして、投票権管理装置201は、投票トークン発行手段1211により、生成した投票トークン発行台帳Tx情報2100の記録要求を、ノード204に送信する。ノード204は、記録要求に基づいて、投票トークン発行台帳Tx情報2100を、投票トークン発行台帳220に記録する。次に、図21の説明に移行する。
図21において、投票トークン発行台帳Tx情報2100は、例えば、タイムスタンプと、発行TxIDと、Tx種別と、発行IDと、投票権行使TxIDと、トークン払出TxIDとのフィールドを有する。TxIDのフィールドの値は、xxxxxxxxx123である。Tx種別のフィールドの値は、変更である。発行IDのフィールドの値は、xxxxXYZである。
投票権行使TxIDのフィールドの値は、xxxxxxxxxabcである。投票権行使TxIDのフィールドの値は、投票権台帳Tx情報1700のTxIDのフィールドの値である。トークン払出TxIDのフィールドの値は、xxxxxxxxxdefである。トークン払出TxIDのフィールドの値は、投票トークン保有台帳Tx情報1900のTxIDのフィールドの値である。
これにより、投票権管理装置201は、投票権台帳210、投票トークン保有台帳230、投票トークン発行台帳220から、有権者1301の投票権に基づき正式な数の投票トークンが有権者1301に利用可能になったか否かを監査可能にすることができる。次に、図22〜図24の説明に移行し、端末装置203の第2動作について説明する。
図22〜図24は、端末装置203の第2動作を示す説明図である。図22において、(22−1)投票権管理装置201は、投票トークン発行手段1211により、投票トークンを移転した投票トークン保持口座を示す口座アドレスと秘密鍵とを端末装置203に送信する。
(22−2)端末装置203は、口座情報取得手段1231により、口座アドレスと秘密鍵とを取得し、口座情報保持手段1232により口座アドレスと秘密鍵とを保持する。
(22−3)端末装置203は、投票トークン移転要求手段1233により、口座アドレスと秘密鍵を取得し、図23に後述する確認用画面2300を表示する。次に、図23の説明に移行する。
図23において、確認用画面2300は、例えば、口座アドレスと秘密鍵とを表示し、「投票ポータルへアクセス」の操作ボタン2301を表示する。ここで、操作ボタン2301がクリックされたとして、図22の説明に戻る。
図22において、(22−4)端末装置203は、操作ボタン2301がクリックされたことに応じて、投票トークン移転要求手段1233により、電子投票ポータルサイトから、図24に後述する投票操作用ポータルに遷移し、投票画面2400を表示する。次に、図24の説明に移行する。
図24において、投票画面2400は、例えば、有権者1301の属性に対応する、投票可能な選挙の種別と、投票数とを表示し、「投票を行う」の操作ボタン2401や「投票をやめる」の操作ボタンを表示する。投票画面2400は、具体的には、「○×地区代表選挙」と「全国区代表選挙」の2件の選挙を、投票可能な選挙の種別として表示する。投票操作用ポータルでは、有権者IDのような有権者1301を特定する情報の入力は行われなくてよく、有権者1301の認証は行われなくてよい。
ここで、端末装置203は、操作ボタン2401がクリックされたことに応じて、投票トークン移転要求手段1233により、投票種類ごとに1以上の投票先候補を表示し、投票種類ごとに投票先の入力を受け付ける。端末装置203は、いずれかの投票種類に対応する投票トークンが2以上存在する場合、投票先に投票する投票トークンの数の入力を受け付けてもよい。次に、図25〜図27の説明に移行し、投票管理装置202の第1動作について説明する。
図25〜図27は、投票管理装置202の第1動作を示す説明図である。図25において、(25−1)端末装置203は、投票トークン移転要求手段1233により、口座アドレスと、秘密鍵に基づく電子署名と、投票種類ごとの投票先とを含む投票トークン移転要求を、投票管理装置202に送信する。ここで、電子署名は、例えば、投票権管理装置201が生成し、端末装置203に通知しておいてもよい。また、電子署名は、例えば、端末装置203のウェブブラウザが生成してもよい。
投票管理装置202は、投票検査手段1221により、投票トークン移転要求を受け付ける。投票管理装置202は、投票検査手段1221により、投票トークン移転要求に含まれる電子署名の正当性を確認する。投票管理装置202は、投票検査手段1221により、電子署名を正当と判定すると、投票トークン移転要求に含まれる投票先の正当性を確認する。投票管理装置202は、例えば、投票検査手段1221により、投票トークンの投票種類に対応する投票先候補以外が投票先である場合、投票先を不当と判定する。
(25−2)投票管理装置202は、投票検査手段1221により、電子署名を正当と判定し、かつ、投票先を正当と判定した場合、投票トークン移転要求に基づいて、図26に後述する投票トークン保有台帳Tx情報2600の記録要求を生成する。
投票トークン保有台帳Tx情報2600は、投票トークン保有台帳Tx情報2600の記録要求を、ノード204に送信する。ノード204は、記録要求に基づいて、投票トークン保有台帳Tx情報2600を、投票トークン保有台帳230に記録する。これにより、投票管理装置202は、投票種類ごとに、口座アドレスが示す投票トークン保持口座に存在する投票トークンを、投票先を表す投票先口座に移転させる。
一方で、投票管理装置202は、例えば、投票検査手段1221により、電子署名を不当と判定した場合、または、投票先を不当と判定した場合、投票トークン移転要求を破棄し、投票失敗を示す情報を端末装置203に送信する。次に、図26の説明に移行する。
図26において、投票トークン保有台帳Tx情報2600は、例えば、タイムスタンプと、TxIDと、Tx種別と、From口座と、To口座と、トークン1とのフィールドを有する。TxIDのフィールドの値は、xxxxxxxxxghiである。Tx種別のフィールドの値は、権利の移動である。
From口座のフィールドの値は、voting−0022afagagaga435である。From口座のフィールドの値は、投票トークン保有台帳Tx情報1900のTo口座のフィールドの値である。To口座のフィールドの値は、candidate−0353である。トークン1のフィールドの値は、移転させる投票トークンの数1である。次に、図27の説明に移行する。
図27において、(27−1)投票管理装置202は、投票トークン集計手段1222により、投票先ごとに投票トークンの数を集計し、投票トークン保有台帳230の管理情報に反映する。その後、投票管理装置202は、投票期間が終了すると、投票先ごとの投票数を公開する。これにより、投票管理装置202は、投票期間が終了してから、選挙結果を出力するまでにかかる時間の低減化を図ることができる。
また、投票管理装置202は、投票期間が終了すると、投票期間中は秘匿していた投票トーク保有台帳のブロックチェーンを公開する。これにより、投票管理装置202は、投票先ごとの投票数を監査可能にすることができる。また、投票管理装置202は、ブロックチェーンには有権者1301を特定する情報が含まれないため、匿名性を確保することができる。
また、選挙管理委員会は、投票権台帳210と、投票トークン発行台帳220と、投票トークン保有台帳230とを参照し、有権者1301の投票権に基づき正式な数の投票トークンが有権者1301に利用可能になったか否かを監査することができる。このため、選挙管理委員会は、選挙の公正性や有効性を確認することができる。
また、選挙管理委員会は、投票権台帳210と、投票トークン発行台帳220と、投票トークン保有台帳230とを参照し、不正に投票トークンが利用されたことを検出可能にすることができ、不正に利用された投票トークンを無効化することができる。選挙管理委員会は、例えば、投票権台帳Tx情報のTxIDが、投票トークン発行台帳220に記録されていない投票トークンがあれば、投票トークンの投票を無効化することができる。
次に、図28および図29を用いて、(18−1)において、投票トークン保有台帳Tx情報1900の投票トークン保有台帳230への記録が失敗した場合に応じた、投票権管理装置201の第2動作について説明する。
図28および図29は、記録失敗に応じた投票権管理装置201の第2動作を示す説明図である。図28において、(18−1)と同様に、(28−1)投票権管理装置201は、投票トークン発行手段1211により、投票トークン保有台帳Tx情報1900を投票トークン保有台帳230のブロックチェーンに記録する。ここで、ブロックチェーンのデータは、一定時間ごとに確定されるため、投票トークン保有台帳Tx情報1900の記録は、まだ確定していない。
(28−2)投票権管理装置201は、投票トークン発行手段1211により、投票トークン保有台帳Tx情報1900の記録が失敗した通知をノード204から受け付ける。
(28−3)投票権管理装置201は、投票トークン発行手段1211により、有権者IDから特定される有権者1301について投票権を復活させる、図29に後述する投票権台帳Tx情報2900の記録要求を生成する。投票権管理装置201は、投票トークン発行手段1211により、生成した投票権台帳Tx情報2900の記録要求を、ノード204に送信する。ノード204は、投票権台帳Tx情報2900を、投票権台帳210に記録する。
(28−4)投票権管理装置201は、投票トークン発行手段1211により、選択した投票トークンと、有権者1301についての投票権の復活とを対応付ける、図29に後述する投票トークン発行台帳Tx情報2901の記録要求を生成する。投票権管理装置201は、投票トークン発行手段1211により、生成した投票トークン発行台帳Tx情報2901の記録要求を、ノード204に送信する。ノード204は、投票トークン発行台帳Tx情報2901を、投票トークン発行台帳220に記録する。次に、図29の説明に移行する。
図29において、投票権台帳Tx情報2900は、例えば、タイムスタンプと、TxIDと、Tx種別と、住民IDと、状態とのフィールドを有する。TxIDのフィールドの値は、xxxxxxxxxjklである。Tx種別のフィールドの値は、状態変更である。住民IDのフィールドの値は、1234−5678−9012である。状態のフィールドの値は、未使用である。
図29において、投票トークン発行台帳Tx情報2901は、例えば、タイムスタンプと、TxIDと、Tx種別と、発行IDと、投票権返還TxIDとのフィールドを有する。TxIDのフィールドの値は、xxxxxxxxx456である。Tx種別のフィールドの値は、変更である。発行IDのフィールドの値は、xxxxXYZである。投票権返還TxIDのフィールドの値は、xxxxxxxxxjklである。投票権返還TxIDのフィールドの値は、投票権台帳Tx情報2900のTxIDのフィールドの値である。
(電子投票システムの実施例2)
次に、電子投票システムの実施例2について説明する。実施例2では、実施例1とは異なり、選挙管理委員会の委員による監査においても匿名性の担保を図る実施例である。実施例2では、選挙管理委員会の委員による監査においても、いずれの有権者がいずれの投票先に投票したかを特定困難にすることができる。実施例2では、投票権管理装置201の投票トークン発行手段1211に、複数Tx混合手段を追加する。
実施例2において、図16と同様に、投票権管理装置201は、投票トークン発行手段1211により、投票トークン移転要求を受信する。投票権管理装置201は、投票トークン発行手段1211により、投票トークン移転要求を受信する都度、投票トークン移転要求に含まれる有権者IDから特定される有権者の投票権を消尽させる投票権台帳Tx情報の記録要求を生成する。
投票権管理装置201は、複数Tx混合手段により、一定期間内に生成された投票権台帳Tx情報の記録要求をグループ化し、TxグループID「group0222」という属性情報を追加する。一定期間は、例えば、1分間である。投票権管理装置201は、投票トークン発行手段1211により、一定期間内に生成された投票権台帳Tx情報の記録要求を、ノード204に送信する。ノード204は、1以上の投票権台帳Tx情報を投票権台帳210に記録する。
実施例2において、図18と同様に、投票権管理装置201は、投票トークン保有台帳Tx情報を、投票トークン保有台帳230に記録する。
実施例2において、図20と同様に、投票権管理装置201は、投票トークン発行手段1211により、いずれかのノード204から、投票トークン発行台帳220に記録された投票トークン保有台帳Tx情報のTxIDを取得する。
図20とは異なり、投票権管理装置201は、投票トークン発行手段1211により、投票権台帳Tx情報のTxIDに代わり、TxグループID「group0222」を用いる。投票権管理装置201は、TxグループID「group0222」と、投票トークン保有台帳Tx情報のTxIDとを対応付ける、投票トークン発行台帳Tx情報の記録要求を生成する。
そして、投票権管理装置201は、投票トークン発行手段1211により、生成した投票トークン発行台帳Tx情報の記録要求を、ノード204に送信する。ノード204は、記録要求に基づいて、投票トークン発行台帳Tx情報を、投票トークン発行台帳220に記録する。
これにより、選挙管理委員会は、投票権台帳210と、投票トークン発行台帳220と、投票トークン保有台帳230とを参照し、有権者の投票権に基づき正式な数の投票トークンが有権者に利用可能になったか否かを監査することができる。このため、選挙管理委員会は、選挙の公正性や有効性を確認することができる。また、投票権管理装置201は、投票権台帳Tx情報をグループ化して扱うため、選挙管理委員会の委員による監査においても、いずれの有権者がいずれの投票先に投票したかを特定困難にすることができる。
(全体処理手順)
次に、図30を用いて、電子投票システムが実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図30は、全体処理手順の一例を示すシーケンス図である。図30において、投票権管理装置201は、予め複数の投票トークンを生成する(ステップS3001)。
次に、有権者の端末装置203は、投票トークンの移転要求を、投票権管理装置201に送信する(ステップS3002)。
次に、投票権管理装置201は、投票トークンの移転要求を受け付けると、有権者の投票権を無効化するトランザクションの情報を、投票権台帳に記録する(ステップS3003)。そして、投票権管理装置201は、複数の投票トークン保持口座のいずれかの投票トークン保持口座を選択する(ステップS3004)。
次に、投票権管理装置201は、選択した投票トークン保持口座に、複数の投票トークンのいずれかの投票トークンを移転するトランザクションの情報を、投票トークン保有台帳に記録する(ステップS3005)。そして、投票権管理装置201は、無効化のトランザクションを識別するTxIDと、移転のトランザクションを識別するTxIDとを対応付けるトランザクションの情報を、投票トークン発行台帳に記録する(ステップS3006)。
次に、投票権管理装置201は、投票トークンを移転した投票トークン保持口座の認証情報を、有権者の端末装置203に送信する(ステップS3007)。
次に、有権者の端末装置203は、有権者の操作入力に基づいて、投票トークンごとの投票先の選択を受け付ける(ステップS3008)。そして、有権者の端末装置203は、選択された投票先を表す投票先口座に、認証情報に対応する投票トークン保持口座に存在する投票トークンを投票する投票要求を、投票管理装置202に送信する(ステップS3009)。
次に、投票管理装置202は、選択された投票先を表す投票先口座に、認証情報に対応する投票トークン保持口座に存在する投票トークンを投票するトランザクションの情報を、投票トークン保有台帳に記録する(ステップS3010)。そして、投票管理装置202は、投票成功の情報を、有権者の端末装置203に送信する(ステップS3011)。
次に、投票管理装置202は、投票トークン保有台帳に記録された投票のトランザクションの情報に基づいて、投票先を表す投票先口座ごとに投票された投票トークンの数を算出し、投票結果を更新する(ステップS3012)。これにより、電子投票システム200は、多重投票を防止し、匿名性を担保することができる。
(記録処理手順)
次に、図31を用いて、投票権管理装置201が実行する、記録処理手順の一例について説明する。記録処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図31は、記録処理手順の一例を示すフローチャートである。図31において、投票権管理装置201は、複数の投票トークンを生成する(ステップS3101)。
次に、投票権管理装置201は、有権者の端末装置203から、投票トークンの移転要求を受け付けたか否かを判定する(ステップS3102)。ここで、移転要求を受け付けていない場合(ステップS3102:No)、投票権管理装置201は、ステップS3102の処理に移行する。一方で、移転要求を受け付けた場合(ステップS3102:Yes)、投票権管理装置201は、ステップS3103の処理に移行する。
ステップS3103では、投票権管理装置201は、有権者の投票権を無効化するトランザクションの情報を、投票権台帳に記録する(ステップS3103)。次に、投票権管理装置201は、複数の投票トークン保持口座のいずれかの投票トークン保持口座を選択する(ステップS3104)。そして、投票権管理装置201は、選択した投票トークン保持口座に、複数の投票トークンのいずれかの投票トークンを移転するトランザクションの情報を、投票トークン保有台帳に記録する(ステップS3105)。
次に、投票権管理装置201は、移転に成功したか否かを判定する(ステップS3106)。ここで、成功した場合(ステップS3106:Yes)、投票権管理装置201は、ステップS3107の処理に移行する。一方で、成功していない場合(ステップS3106:No)、投票権管理装置201は、ステップS3109の処理に移行する。
ステップS3107では、投票権管理装置201は、無効化のトランザクションを識別するTxIDと、移転のトランザクションを識別するTxIDとを対応付けるトランザクションの情報を、投票トークン発行台帳に記録する(ステップS3107)。次に、投票権管理装置201は、選択した投票トークン保持口座の認証情報を、有権者の端末装置203に送信する(ステップS3108)。そして、投票権管理装置201は、ステップS3102の処理に移行する。
ステップS3109では、投票権管理装置201は、有権者の投票権を再配布するトランザクションの情報を、投票権台帳に記録する(ステップS3109)。次に、投票権管理装置201は、対応付けのトランザクションを識別するTxIDと、再配布のトランザクションを識別するTxIDとを対応付けるトランザクションの情報を、投票トークン発行台帳に記録する(ステップS3110)。
そして、投票権管理装置201は、有権者の端末装置203に、投票権の行使失敗の情報を送信する(ステップS3111)。その後、投票権管理装置201は、ステップS3102の処理に移行する。これにより、投票権管理装置201は、多重投票を防止し、匿名性を担保した電子投票システム200を実現可能にすることができる。
以上説明したように、第1装置100によれば、投票トークンの移転要求を受け付け、受け付けた移転要求から特定される有権者が有する投票権を消尽させる第1Txの情報101を、第1分散台帳120に記録することができる。第1装置100によれば、投票トークンを保持可能な複数の口座のいずれかの口座に投票トークンを移転させる第2Txの情報102を、第2分散台帳130に記録することができる。第1装置100によれば、第1Txと第2Txとを対応付ける第3Txの情報103を、第3分散台帳140に記録することができる。
これにより、第1装置100は、1つの投票権に基づき正式な数の投票トークンが利用されることを保証可能にし、1つの投票権に基づき不正な数の投票トークンが利用されることを防止可能にし、多重投票を防止可能にすることができる。また、第1装置100は、匿名性を確保した、投票先に投票可能な票を表す投票トークンを、有権者が利用可能にすることができ、匿名性を確保可能にすることができる。また、第1装置100は、1つの投票権に基づき正式な数の投票トークンが利用されたことを検証可能にすることができ、多重投票に対策可能にすることができる。
第2装置110によれば、投票トークンの投票要求を受け付けることができる。第2装置110によれば、受け付けた投票要求から特定されるいずれかの口座に存在する投票トークンを、受け付けた投票要求から特定される投票先を表す口座に移転させる第4Txの情報を、第2分散台帳130に記録することができる。
これにより、第2装置110は、いずれかの口座104に存在する投票トークンが、繰り返し利用されることを防止可能にすることができ、多重投票を防止可能にすることができる。このように、電子投票システム200は、多重投票を防止し、匿名性を担保することができる。
第1装置100によれば、第1分散台帳120への第1Txの情報101の記録が確定した後、第2Txの情報102を、第2分散台帳130に記録することができる。これにより、第1装置100は、有権者の投票権が消尽していない可能性があるのに有権者に投票トークンを利用可能にしてしまうことを防止することができる。
第1装置100によれば、移転要求から特定される有権者の属性に対応付けられた数の、有権者の属性に対応付けられた種類の投票トークンを、いずれかの口座に移転させる第2Txの情報102を、第2分散台帳130に記録することができる。これにより、第1装置100は、複数の種類の投票トークンを利用可能にすることができる。
第1装置100によれば、第3Txの情報103は、1以上の移転要求のそれぞれの移転要求から特定される有権者が有する投票権を消尽させる第1Txをグループ化したTxグループと、第2Txとを対応付けることができる。これにより、第1装置100は、匿名性の確保を効率よく図ることができる。
第1装置100によれば、第2Txの情報102の第2分散台帳130への記録が確定した後、第3Txの情報103を、第3分散台帳140に記録することができる。これにより、第1装置100は、投票トークンを利用可能にしていないのに、第3Txの情報103を記録してしまい、誤って有権者に投票トークンを利用可能にしたと判断されることを防止することができる。
第1装置100によれば、第2分散台帳130への第2Txの情報102の記録が失敗した場合、移転要求から特定される有権者が有する投票権を復活させる第5Txの情報を、第1分散台帳120に記録することができる。これにより、第1装置100は、投票トークンを利用可能にしていない場合、有権者の投票権を復活させることができ、有権者が投票することができなくなることを防止することができる。
第1装置100によれば、端末装置203から有権者の識別情報を受け付け、受け付けた識別情報に基づき有権者を認証成功したことに応じて、第1Txの情報101を、第1分散台帳120に記録することができる。これにより、第1装置100は、有権者ではない攻撃者に投票トークンを利用可能にしてしまうことを防止することができる。
第2装置110によれば、第2分散台帳130への第4Txの情報の記録が確定した場合、1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を算出することができる。これにより、第2装置110は、投票先を表す口座105ごとに投票された投票トークンの数を算出可能にすることができ、集計作業にかかる時間やコストの増大化を抑制可能にすることができる。
第1装置100によれば、受け付けた移転要求から特定される有権者が有する投票権が未使用である場合、第1Txの情報101を、第1分散台帳120に記録し、第2Txの情報102を、第2分散台帳130に記録することができる。これにより、第1装置100は、利用者に重複して投票トークンを利用可能にしてしまうことを防止することができる。
第1装置100によれば、いずれかの口座を表す口座情報を出力することができる。第2装置110によれば、いずれかの口座を表す口座情報を含む投票要求を受け付けることができる。これにより、第1装置100は、有権者を特定する情報を用いずに有権者に投票トークンを利用可能にすることができ、匿名性の確保を図ることができる。
なお、本実施の形態で説明した電子投票方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した電子投票プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した電子投票プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1装置と第2装置とを含む電子投票システムであって、
前記第1装置は、
投票トークンの移転要求を受け付け、
受け付けた前記移転要求から特定される有権者が有する投票権を消尽させる第1トランザクションの情報を、第1分散台帳に記録し、
投票トークンを保持可能な複数の口座のいずれかの口座に投票トークンを移転させる第2トランザクションの情報を、第2分散台帳に記録し、
前記第1トランザクションと前記第2トランザクションとを対応付ける第3トランザクションの情報を、第3分散台帳に記録し、
前記第2装置は、
投票トークンの投票要求を受け付け、
受け付けた前記投票要求から特定される、前記第2分散台帳に記録された口座に存在する投票トークンを、受け付けた前記投票要求から特定される投票先を表す口座に移転させる第4トランザクションの情報を、前記第2分散台帳に記録する、
ことを特徴とする電子投票システム。
(付記2)前記第1装置は、
前記第1分散台帳への前記第1トランザクションの情報の記録が確定した後、前記第2トランザクションの情報を、前記第2分散台帳に記録する、ことを特徴とする付記1に記載の電子投票システム。
(付記3)前記第1装置は、
有権者の属性ごとの投票可能な投票トークンの種類と数とを対応付けて表す対応情報に基づいて、前記移転要求から特定される有権者の属性に割り当てられた種類の投票トークンを該投票トークンに対応付けられた数だけ前記いずれかの口座に移転させる前記第2トランザクションの情報を、前記第2分散台帳に記録する、ことを特徴とする付記1または2に記載の電子投票システム。
(付記4)前記第3トランザクションの情報は、
1以上の移転要求のそれぞれの移転要求から特定される有権者が有する投票権を消尽させる前記第1トランザクションをグループ化したトランザクショングループと、前記第2トランザクションとを対応付ける、ことを特徴とする付記1〜3のいずれか一つに記載の電子投票システム。
(付記5)前記第1装置は、
前記第2トランザクションの情報の前記第2分散台帳への記録が確定した後、前記第3トランザクションの情報を、前記第3分散台帳に記録する、ことを特徴とする付記1〜4のいずれか一つに記載の電子投票システム。
(付記6)前記第1装置は、
前記第2分散台帳への前記第2トランザクションの情報の記録が失敗した場合、前記移転要求から特定される有権者が有する投票権を復活させる第5トランザクションの情報を、前記第1分散台帳に記録する、ことを特徴とする付記1〜5のいずれか一つに記載の電子投票システム。
(付記7)前記第1装置は、
第3装置から前記有権者の識別情報を受け付け、
受け付けた前記識別情報に基づき前記有権者を認証成功したことに応じて、前記第1トランザクションの情報を、前記第1分散台帳に記録する、ことを特徴とする付記1〜6のいずれか一つに記載の電子投票システム。
(付記8)前記第2装置は、
前記第2分散台帳への前記第4トランザクションの情報の記録が確定した場合、1以上の投票先のそれぞれの投票先を表す口座に移転された投票トークンの数を算出する、ことを特徴とする付記1〜7のいずれか一つに記載の電子投票システム。
(付記9)前記第1装置は、
受け付けた前記移転要求から特定される有権者が有する投票権が未使用である場合、前記第1トランザクションの情報を、前記第1分散台帳に記録し、前記第2トランザクションの情報を、前記第2分散台帳に記録する、ことを特徴とする付記1〜8のいずれか一つに記載の電子投票システム。
(付記10)前記第1装置は、
前記いずれかの口座を表す口座情報を出力し、
前記第2装置は、
前記いずれかの口座を表す口座情報を含む前記投票要求を受け付ける、ことを特徴とする付記1〜9のいずれか一つに記載の電子投票システム。
(付記11)第1装置が、
投票トークンの移転要求を受け付け、
受け付けた前記移転要求から特定される有権者が有する投票権を消尽させる第1トランザクションの情報を、第1分散台帳に記録し、
投票トークンを保持可能な複数の口座のいずれかの口座に投票トークンを移転させる第2トランザクションの情報を、第2分散台帳に記録し、
前記第1トランザクションと前記第2トランザクションとを対応付ける第3トランザクションの情報を、第3分散台帳に記録し、
第2装置が、
投票トークンの投票要求を受け付け、
受け付けた前記投票要求から特定される、前記第2分散台帳に記録された口座に存在する投票トークンを、受け付けた前記投票要求から特定される投票先を表す口座に移転させる第4トランザクションの情報を、前記第2分散台帳に記録する、
ことを特徴とする電子投票方法。
(付記12)コンピュータに、
投票トークンの移転要求を受け付け、
受け付けた前記移転要求から特定される有権者が有する投票権を消尽させる第1トランザクションの情報を、第1分散台帳に記録し、
投票トークンを保持可能な複数の口座のいずれかの口座に投票トークンを移転させる第2トランザクションの情報を、前記複数の口座のいずれかの口座から投票先を表す口座に投票トークンを移転可能な第2装置がアクセス可能な第2分散台帳に記録し、
前記第1トランザクションと前記第2トランザクションとを対応付ける第3トランザクションの情報を、第3分散台帳に記録する、
処理を実行させることを特徴とする電子投票プログラム。