(57)【要約】【課題】秘密投票を可能とする電子投票システムを提供する。【解決手段】認証サーバ２００ａは、投票者に紐付けられる第一ＩＤと、投票者の認証情報とを含む認証データを用いて投票者を認証する認証処理部と、投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを、複数の認証サーバ２００ａ等で同期する第一同期部とを備え、投票サーバ３００ａは、投票者が投票する票に紐付けられる第二ＩＤであって、第一ＩＤとは独立である第二ＩＤと、票の投票内容を示す投票情報とを含む投票データを端末から受信する投票処理部と、投票データに含まれる投票情報である第二取引データと投票に紐付られていないダミー取引データとを含む第二ブロックチェーンを、複数の投票サーバ３００ａ等で同期する第二同期部とを備え、端末は、認証データを認証サーバに送信し、認証が成功した後に投票データを複数の投票サーバのうちの一の投票サーバに送信する。【選択図】図１
2019053712.tif 000002
【特許請求の範囲】
【請求項１】
端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、
前記複数の認証サーバのそれぞれは、
投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、
前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、
前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期する第一同期部とを備え、
前記複数の投票サーバのそれぞれは、
前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、
前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、
前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期する第二同期部とを備え、
前記端末は、
前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、
前記データ生成部は、さらに、
前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する
電子投票システム。
【請求項２】
複数の投票サーバのそれぞれは、さらに、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成する第二取引データ生成部と、
前記ダミー票の投票内容とを含む取引データである前記ダミー取引データを生成するダミーデータ生成部と、
前記第二取引データ生成部が生成した１以上の前記第二取引データと、前記ダミーデータ生成部が生成した１以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する第二ブロック生成部とを備える
請求項１に記載の電子投票システム。
【請求項３】
前記ダミーデータ生成部は、さらに、
生成した前記ダミー取引データの個数を出力する
請求項２に記載の電子投票システム。
【請求項４】
前記ダミーデータ生成部は、
予め、前記複数の投票サーバが生成する前記ダミー取引データの個数を決定し、決定した前記個数を他の投票サーバの前記ダミーデータ生成部と共有する
請求項２又は３に記載の電子投票システム。
【請求項５】
前記ダミーデータ生成部は、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容とは異なる投票内容を有する前記ダミー取引データを生成する
請求項３又は４に記載の電子投票システム。
【請求項６】
複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、
前記複数の認証サーバのそれぞれは、
投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、
前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、
前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期する第一同期部とを備え、
前記複数の投票サーバのそれぞれは、
前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、
前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、
前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期する第二同期部とを備える
電子投票システム。
【請求項７】
電子投票システムにおける複数の投票サーバのうちの一の投票サーバの制御方法であって、
投票者が投票する票に紐付けられる第二ＩＤであって、前記投票者に紐付けられる第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを端末から受信し、
受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、
記憶している前記第二ブロックチェーンを、前記複数の認証サーバのうち前記一の当該投票サーバを除く１以上の投票サーバと同期し、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成し、
生成した１以上の前記第二取引データと、生成した１以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する
制御方法。
【請求項８】
端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムの制御方法であって、
前記複数の認証サーバのそれぞれにより、
投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証し、
前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶し、
記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期し、
前記複数の投票サーバのそれぞれにより、
前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信し、
受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、
記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期し、
前記端末により、
前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信し、
前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子投票システム、及び、制御方法に関する。
【背景技術】
【０００２】
近年、一部の地方自治体において電子投票が行われている。電子投票システムでは、投票者の投票内容を秘匿にするために、投票者の認証情報と投票内容との紐付けをさせないようにする必要がある。
【０００３】
特許文献１に開示される電子投票システムでは、投票者の認証に用いられる通信端末に投票参加チケットを送信し、通信端末が投票参加チケットを匿名化して送信することで、投票者の匿名性を確保している。
【０００４】
また、電子投票システムは、システムの信頼性が高いこと、及び、記録されている投票内容の改変がされないことという要件の具備も必要である。非特許文献１では、システムの高信頼性、及び、投票内容の改変の防止を実現するためにブロックチェーンを用いることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１１−５１７８２５号公報
【非特許文献】
【０００６】
【非特許文献１】「ブロックチェーンの分散台帳を利用した電子投票による集合知の構成」  情報処理  第５７巻  第１２号  ｐｐ．１２０４−１２０９
【発明の概要】
【発明が解決しようとする課題】
【０００７】
電子投票システムにおいて投票をブロックチェーンで管理する場合、投票結果を含むブロックチェーンを公開すると、投票者と投票内容との紐付けができてしまい、秘密投票が実現し得ないという問題がある。
【０００８】
そこで、本発明は、秘密投票を可能とする電子投票システム等を提供する。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る電子投票システムは、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期する第二同期部とを備え、前記端末は、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、前記データ生成部は、さらに、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。
【００１０】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１１】
本発明によれば、秘密投票が可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態における電子投票システムの構成を示す模式図である。
【図２】図２は、ブロックチェーンのデータ構造を示す説明図である。
【図３】図３は、取引データのデータ構造を示す説明図である。
【図４】図４は、実施の形態における投票端末の構成を示すブロック図である。
【図５】図５は、実施の形態における認証サーバの構成を示すブロック図である。
【図６】図６は、実施の形態における投票サーバの構成を示すブロック図である。
【図７】図７は、実施の形態における電子投票システムの初期化処理を示すシーケンス図である。
【図８】図８は、実施の形態における初期化処理中の認証コインの所有者を示す説明図である。
【図９】図９は、実施の形態における初期化処理中の投票コインの所有者を示す説明図である。
【図１０】図１０は、実施の形態における電子投票システムの投票処理を示す第一のシーケンス図である。
【図１１】図１１は、実施の形態における電子投票システムの投票処理を示す第二のシーケンス図である。
【図１２】図１２は、実施の形態における投票処理中の認証コインの所有者を示す説明図である。
【図１３】図１３は、実施の形態における投票処理中の投票コインの所有者を示す説明図である。
【図１４】図１４は、実施の形態におけるブロックに含まれる投票内容を示す説明図である。
【図１５】図１５は、実施の形態における電子投票システムの投票終了処理を示すフロー図である。
【図１６】図１６は、実施の形態における投票結果を示す説明図である。
【図１７】図１７は、実施の形態における投票サーバによる投票結果の公開処理を示すシーケンス図である。
【図１８】図１８は、実施の形態における電子投票システムでの投票に用いる投票端末を示す模式図である。
【図１９】図１９は、実施の形態における電子投票システムでの投票結果の公開に用いる端末を示す模式図である。
【発明を実施するための形態】
【００１３】
本発明の一態様に係る電子投票システムは、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期する第二同期部とを備え、前記端末は、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、前記データ生成部は、さらに、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。
【００１４】
上記態様によれば、電子投票システムは、正当な投票者であることの認証と、認証後に行われる投票とで、互いに独立のＩＤを含むデータを用いる。これにより、例えば選挙後に認証の結果と投票内容とが公開された場合でも、その投票内容の投票を行った投票者が特定されないようにすることができる。また、認証されたことを示すデータと投票内容を示すデータとをそれぞれ個別のブロックチェーンで管理することで、各データの改ざんを抑制することができる。さらに、投票内容が格納されたブロックチェーンに、投票者による投票の内容を示すデータと、投票者による投票に紐付られていないダミー票の投票内容を示すデータとが格納されているので、投票者による投票内容が特定されることが抑制される。よって、電子投票システムは、秘密投票を可能とする。
【００１５】
例えば、複数の投票サーバのそれぞれは、さらに、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成する第二取引データ生成部と、前記ダミー票の投票内容とを含む取引データである前記ダミー取引データを生成するダミーデータ生成部と、前記第二取引データ生成部が生成した１以上の前記第二取引データと、前記ダミーデータ生成部が生成した１以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する第二ブロック生成部とを備えてもよい。
【００１６】
上記態様によれば、電子投票システムは、投票者による投票の内容を含む取引データと、ダミー取引データとをブロックチェーンに格納する。よって、電子投票システムは、投票者によるダミー取引データを利用して、秘密投票を可能とする。
【００１７】
例えば、前記ダミーデータ生成部は、さらに、生成した前記ダミー取引データの個数を出力してもよい。
【００１８】
上記態様によれば、電子投票システムは、出力されたダミー取引データの個数を、候補者の得票数から差し引くことで、実際の候補者の得票数を算出することができる。
【００１９】
例えば、前記ダミーデータ生成部は、予め、前記複数の投票サーバが生成する前記ダミー取引データの個数を決定し、決定した前記個数を他の投票サーバの前記ダミーデータ生成部と共有してもよい。
【００２０】
上記態様によれば、電子投票システムは、複数の投票サーバにより生成するダミー取引データの個数が予め決定されているので、より確実に、予め決定された個数のダミー取引データを生成することができる。仮に生成するダミー取引データの個数が予め定められていなければ、投票者による投票がなされている最中に、生成すべきダミー取引データの個数が変動することがあり得る。これにより複数の投票サーバにおいて生成するダミー取引データの個数が変動し、投票数の算出が不正確になる要因になり得る。
【００２１】
例えば、前記ダミーデータ生成部は、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容とは異なる投票内容を有する前記ダミー取引データを生成してもよい。
【００２２】
上記態様によれば、電子投票システムは、投票者による投票と異なる投票内容を有するダミー取引データをブロックチェーンに格納するので、候補者ごとの得票数を均一化する方向に得票数が変化する。これにより、投票者による投票の秘密性が欠如することが抑制される。
【００２３】
また、本発明の一態様に係る電子投票システムは、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期する第二同期部とを備えてもよい。
【００２４】
上記態様によれば、電子投票システムは、電子投票システムに含まれない端末を用いて、上記と同様に秘密投票を可能とする。
【００２５】
また、本発明の一態様に係る投票サーバの制御方法は、電子投票システムにおける複数の投票サーバのうちの一の投票サーバの制御方法であって、投票者が投票する票に紐付けられる第二ＩＤであって、前記投票者に紐付けられる第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを端末から受信し、受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、記憶している前記第二ブロックチェーンを、前記複数の認証サーバのうち前記一の当該投票サーバを除く１以上の投票サーバと同期し、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成し、生成した１以上の前記第二取引データと、生成した１以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する。
【００２６】
これにより、上記電子投票システムと同様の効果を奏する。
【００２７】
また、本発明の一態様に係る電投票システムの制御方法は、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムの制御方法であって、前記複数の認証サーバのそれぞれにより、投票者に紐付けられる第一ＩＤと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証し、前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶し、記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く１以上の認証サーバと同期し、前記複数の投票サーバのそれぞれにより、前記投票者が投票する票に紐付けられる第二ＩＤであって、前記第一ＩＤとは独立である第二ＩＤと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信し、受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く１以上の投票サーバと同期し、前記端末により、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信し、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。
【００２８】
これにより、上記電子投票システムと同様の効果を奏する。
【００２９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３０】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３１】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３２】
（実施の形態）
本実施の形態において、秘密投票を可能とする電子投票システムについて説明する。
【００３３】
１．  システム構成
電子投票システムは、投票者に対して投票端末を用いて電子的な投票をさせるシステムである。電子投票システムは、投票端末と認証サーバとの間で投票に関する認証処理を行い、その後、投票端末と投票サーバとの間で投票処理を行う。電子投票システムが投票者による投票を受け付ける期間を投票期間ともいう。なお、電子投票システムによって投票する人を「投票者」ともいい、これに対して、投票できる権利を有する者を有権者という。
【００３４】
以降において、電子投票システムについて図面を参照しながら説明する。
【００３５】
１．１  電子投票システム１０の全体構成
図１は、本実施の形態に係る電子投票システム１０の構成を示した図である。電子投票システム１０は、投票端末１００ａ、１０１ａ、１０２ａ、１００ｂ、１０１ｂ、１０２ｂ、１００ｃ、１０１ｃ及び１０２ｃ（投票端末１００ａ等ともいう）と、認証サーバ２００ａ、２００ｂ及び２００ｃ（認証サーバ２００ａ等ともいう）と、投票サーバ３００ａ、３００ｂ及び３００ｃ（投票サーバ３００ａ等ともいう）とを備え、これらがネットワークＮで接続されている。なお、電子投票システム１０は、投票端末１００ａ等を備えず、電子投票システム１０の外部の端末、例えば投票者が保有している端末を投票端末１００ａ等として利用してもよい。
【００３６】
認証サーバ２００ａ等は、投票者が正当であるか否かの認証を行い、認証された投票者を示す情報を管理している。認証サーバ２００ａは、上記の認証、及び、情報の管理に公知のブロックチェーンの技術を利用している。すなわち、認証サーバ２００ａは、仮想的な取引（トランザクション）の対象の取引履歴をブロックチェーンによって管理している。ここでは、仮想的な取引対象としてコイン（認証コインともいう）を用いて説明するが、仮想的な取引対象はコインに限定されない。また、複数の認証サーバ２００ａなどは、認証コインの取引履歴を収めたブロックチェーンを共有し、相互に承認することで取引履歴の改ざんを防止している。認証コインは、認証サーバ２００ａ等により生成され、投票端末１００ａ等に提供される。投票者の認証が成功すると、認証コインは、投票端末１００ａから認証サーバ２００ａに提供される。認証コインの授受を認証取引ともいう。認証コインは実体を有しない仮想的なコインであり、その取引履歴が認証サーバ２００ａ等によって管理されている。認証コインは、当該認証コインを一意に識別し得るＩＤ（識別子）を有している。認証コインのＩＤは、有権者に割り振られるＩＤに１対１に紐付けられている。認証コインのＩＤを認証ＩＤともいう。
【００３７】
投票サーバ３００ａ等は、投票者による投票内容を管理している。投票サーバ３００ａは、投票内容の管理に公知のブロックチェーンの技術を利用している。すなわち、投票サーバ３００ａは、仮想的な取引対象の取引履歴をブロックチェーンによって管理している。ここでは、仮想的な取引対象としてコイン（投票コインともいう）を用いて説明するが、仮想的な取引対象はコインに限定されない。また、複数の投票サーバ３００ａなどは、投票コインの取引履歴を収めたブロックチェーンを共有し、相互に承認することで取引履歴の改ざんを防止している。投票コインは、投票サーバ３００ａにより生成され、認証サーバ２００ａを経て投票端末１００ａ等に提供される。投票コインの授受を投票取引ともいい、投票端末１００ａから候補者への投票コインの提供が、選挙における投票に相当する。投票コインは実体を有しない仮想的なコインであり、その取引履歴が投票サーバ３００ａ等によって管理されている。そして、投票者による投票の際に、投票端末１００ａから候補者に提供される。最終的に候補者が獲得した投票コインの個数が、電子投票における候補者の得票数になる。投票コインは、従来の選挙における投票用紙に相当する。投票コインは、当該投票コインを一意に識別し得るＩＤ（識別子）を有している。投票コインのＩＤは、投票者が投票する票に１対１に紐付けられている。投票コインのＩＤを投票ＩＤともいう。
【００３８】
認証コインのＩＤと投票コインのＩＤとは、互いに独立である。
【００３９】
電子投票システム１０は、例えば、３つのサブシステムＡ、Ｂ及びＣに区分されている。なお、サブシステムの数は３に限られず、２以上の任意の数であってよい。
【００４０】
電子投票システム１０は、市町村、県又は全国規模の選挙に用いられ得るように、複数の認証サーバ２００ａ等と、複数の投票サーバ３００ａ等とにより処理を分散させるとともに、情報共有をしている。また、複数の認証サーバ２００ａ同士、及び、複数の投票サーバ３００ａ同士でブロックチェーン技術における相互の承認を行うことによって取引履歴の改ざんを防止している。
【００４１】
例えば、投票者が投票所に設置された投票端末１００ａを用いて投票をするケースでは、認証サーバ２００ａと投票サーバ３００ａとは、投票所ごとに設けられる。この場合、サブシステムＡ、Ｂ及びＣのそれぞれが投票所に対応して設けられる。例えば、日本における全国規模の選挙では、サブシステムの数は、数万程度になり得る。
【００４２】
また、投票者が自宅などでネットワーク経由で投票をするケースでは、認証サーバ２００ａと投票サーバ３００ａとは、有権者の属性（性別、居住地、職業など）ごとに設けられてもよい。この場合、サブシステムＡ、Ｂ及びＣのそれぞれが有権者の属性それぞれに対応して設けられる。
【００４３】
図２は、ブロックチェーンのデータ構造を示す説明図である。
【００４４】
ブロックチェーンは、その記録単位であるブロックがチェーン（鎖）上に接続されたものである。それぞれのブロックは、複数の取引データと、直前のブロックのハッシュ値とを有している。具体的には、ブロックＢ２には、その前のブロックＢ１のハッシュ値が含まれている。そして、ブロックＢ２に含まれる複数の取引データと、ブロックＢ１のハッシュ値とから演算されたハッシュ値が、ブロックＢ２のハッシュ値として、ブロックＢ３に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、規則された取引データの改ざんを有効に防止する。
【００４５】
仮に過去の取引データが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
【００４６】
各取引データは、コインの新規生成及び授受を示している。このコインは、認証コイン及び投票コインに相当する。
【００４７】
図３は、取引データのデータ構造を示す第一の説明図である。
【００４８】
図３に示される取引データは、コインが保持者から提供先に提供されることを示す取引データＤ１の一例である。取引データＤ１は、保持者を示すアドレスＰ１と、提供先を示すアドレスＰ２と、アドレスＰ１及びＰ２のハッシュ値に対して、保持者の署名鍵で署名することで生成される電子署名Ｐ３とを含んでいる。なお、新たなコインが生成されるときにも取引データが生成される。新たなコインが生成されるときの取引データは、アドレスＰ１が空欄となる。
【００４９】
以降において、投票端末１００ａ、認証サーバ２００ａ及び投票サーバ３００ａについて順に説明する。なお、他の投票端末、他の認証サーバ、及び、他の投票サーバについても同様の説明が成立する。
【００５０】
１．２  投票端末１００ａの構成
投票端末１００ａは、投票者の認証情報、及び、投票内容の入力を投票者から受け、また、各種情報を表示する端末である。投票端末１００ａは、投票者が保有する携帯端末（具体的には、携帯電話端末、スマートフォン、パーソナルコンピュータ）であってもよいし、投票所に備え付けの端末であってもよい。
【００５１】
図４は、本実施の形態に係る投票端末１００ａの構成を示すブロック図である。投票端末１００ｂ及び１００ｃも同様の構成である。投票端末１００ａは、表示部１１１と、入力部１１２と、取引データ生成部１１３と、通信部１１４とを備える。投票端末１００ａは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。
【００５２】
表示部１１１は、投票時の画面を表示する表示装置である。単に「画面」という場合、液晶ディスプレイ又は有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置に表示される、画像で映し出される画面を意味する。以降でも同様である。
【００５３】
入力部１１２は、投票時の認証情報の入力、及び、投票内容の入力を投票者から受け付ける。
【００５４】
取引データ生成部１１３は、投票者の認証のための認証データと、投票者による投票のための投票データとを生成する。また、取引データ生成部１１３は、認証に伴う認証コインの授受のための認証取引データと、投票者による投票に伴う投票コインの授受のための投票取引データとを生成する。認証データは、投票者本人に固有の認証ＩＤを含む認証情報と、投票端末１００ａの電子署名（単に署名ともいう）とを含む。電子署名は、認証情報のハッシュ値を署名鍵で署名生成したものである。認証取引データは、認証コインを投票端末１００ａから認証サーバ２００ａに提供する取引を示す取引データである。認証取引データを第一取引データともいう。
【００５５】
また、投票データは、電子投票における投票内容と、投票端末１００ａの署名とを含む。投票内容は、具体的には、投票先の候補者を示す情報、又は、信任もしくは不信任などを示す情報である。投票取引データは、認証サーバ２００ａから提供された投票コインを、候補者に提供する取引を示す取引データである。投票取引データを第二取引データともいう。
【００５６】
取引データ生成部１１３は、認証データを生成し、生成した認証データを認証サーバ２００ａに送信する。また、取引データ生成部１１３は、認証サーバ２００ａに認証データを送信することで、認証サーバ２００ａによる認証が成功した後に投票データを生成し、生成した投票データを投票サーバ３００ａに送信する。
【００５７】
なお、投票端末１００ａによる署名の生成に必要な署名鍵は、あらかじめ投票端末１００ａが保持していてもよいし、投票者による認証情報の入力を受ける際に、認証サーバ２００ａから取得するとしてもよい。
【００５８】
通信部１１４は、認証サーバ２００ａ及び投票サーバ３００ａそれぞれとの通信を行う通信インタフェースである。この通信は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）によりなされてもよい。その場合、ＴＬＳ通信用の暗号鍵は、通信部１１４が保持してもよい。
【００５９】
１．３  認証サーバ２００ａの構成
図５は、本実施の形態における認証サーバ２００ａの構成を示すブロック図である。認証サーバ２００ｂ及び２００ｃも同様の構成である。認証サーバ２００ａは、画面データ生成部２１１と、取引データ検証部２１２と、取引データ生成部２１３と、ブロック生成部２１４と、同期部２１５と、記憶部２１６と、通信部２１７とを備える。認証サーバ２００ａ等は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。
【００６０】
画面データ生成部２１１は、投票端末１００ａから認証のためのアクセスがあると、認証用の画面を描画するための画面データを生成する。具体的には、画面データ生成部２１１は、投票端末１００ａで、投票者から認証情報の入力を受けるための画面を描画するための画面データを生成する。
【００６１】
取引データ検証部２１２は、投票端末１００ａから認証取引データを受信すると、受信した認証取引データを検証する。取引データ検証部２１２は、投票端末１００ａから認証取引データを受信すると、受信した認証取引データに含まれている署名が正当であるかを検証し、また、認証情報が正当であるかを検証する。認証情報の正当性の検証では、電子投票システム１０によって事前に発行された認証情報であるか、また、投票期間中に一の認証情報が２回以上使用されていないかなどを検証する。一の認証情報が２回以上使用されていないものであるか否かは、記憶部２１６を参照することで、当該一の認証情報による認証の取引が記憶部２１６に記憶されていないものであるかどうかで確認する。取引データ検証部２１２は、検証処理の結果、認証情報が正当であると判定した場合には、認証取引データを記憶部２１６に記憶する。また、正当な認証取引データは、同期部２１５により、他の認証サーバ２００ｂ及び２００ｃへ送信し、同期される。
【００６２】
また、取引データ検証部２１２は、投票サーバ３００ａから投票取引データを受信すると、投票取引データに含まれている署名が正当であるかを検証する。
【００６３】
取引データ生成部２１３は、認証取引に係る認証取引データを生成する。取引データ生成部２１３は、初期化処理において、有権者の人数と同じ個数の認証コインを新たに生成する認証取引データを生成する。この時点での認証コインの所有者は、有権者それぞれである。
【００６４】
また、取引データ生成部２１３は、投票サーバ３００ａから提供される投票コインを投票端末１００ａに提供する投票取引データを生成する。取引データ生成部２１３は、第一取引データ生成部に相当する。
【００６５】
ブロック生成部２１４は、複数の認証サーバ２００ａの間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、ＰＢＦＴ（Ｐｒａｃｔｉｃａｌ  Ｂｙｚａｎｔｉｎｅ  Ｆａｕｌｔ  Ｔｏｌｅｒａｎｃｅ）とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。ブロック生成部２１４は、一以上の認証取引に関してコンセンサスアルゴリズムで合意形成ができた場合には、認証取引データを含むブロックを生成し、記憶部２１６に記憶する。さらに、ブロック生成部２１４は、生成したブロックを、記憶部２１６に記憶されているブロックチェーンに接続する。ブロック生成部２１４は、第一ブロック生成部に相当する。
【００６６】
同期部２１５は、複数の認証サーバ２００ａの間で、ブロックチェーンのブロックの同期、及び、認証取引データの同期を行う。複数の認証サーバ２００ａの間では、ｐｅｅｒ  ｔｏ  ｐｅｅｒでブロックチェーンのブロックの同期が行われる。例えば、投票端末１００ａから認証取引データを受信し、取引データ検証部２１２により認証取引データの正当性が検証されると、同期部２１５は、他の認証サーバ２００ｂ及び２００ｃに認証取引データの複製を送信することによって、検証済みの認証取引データを他の認証サーバ２００ｂ及び２００ｃの記憶部２１６に記憶させる。また、同期部２１５は、他の認証サーバ２００ｂ及び２００ｃから認証取引データを受信したら、受信した認証取引データを記憶部２１６に記憶する。
【００６７】
記憶部２１６は、認証取引データと、ブロックチェーンのブロックとを記憶する記憶装置である。記憶部２１６が記憶しているブロックには、ブロックを識別し得る識別子（ＩＤ）が付与されている。記憶部２１６が記憶しているブロックチェーンを第一ブロックチェーンともいう。
【００６８】
通信部２１７は、投票端末１００ａ及び投票サーバ３００ａそれぞれとの通信を行う通信インタフェースである。この通信は、ＴＬＳによりなされてもよい。その場合、ＴＬＳ通信用の暗号鍵は、通信部２１７が保持してもよい。
【００６９】
なお、取引データ検証部２１２と取引データ生成部２１３とは、投票者に紐付けられる認証ＩＤ（つまり第一ＩＤ）と、投票者の認証情報とを含む認証データを投票端末１００ａから受信し、受信した認証データを用いて投票者を認証する認証処理部２１２Ａに相当する。
【００７０】
１．４  投票サーバ３００ａの構成
図６は、本実施の形態における投票サーバ３００ａの構成を示すブロック図である。投票サーバ３００ｂ及び３００ｃも同様の構成である。投票サーバ３００ａは、画面データ生成部３１１と、候補者ＤＢ（データベース）３１２と、取引データ検証部３１３と、取引データ生成部３１４と、ダミーデータ生成部３１５と、ブロック生成部３１６と、同期部３１７と、記憶部３１８と、通信部３１９とを備える。投票サーバ３００ａは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。
【００７１】
画面データ生成部３１１は、投票端末１００ａから投票のためのアクセスがあると、投票用の画面を描画するための描画データである画面データを生成する。具体的には、画面データ生成部３１１は、候補者ＤＢ３１２から候補者に関する情報を取得し、投票端末１００ａに表示される画面であって、投票者による投票情報の入力を受けるための画面を描画するための描画データである画面データを生成する。
【００７２】
候補者ＤＢ３１２は、候補者に関する情報が記憶されているデータベースである。候補者ＤＢ３１２には、少なくとも、候補者を特定する情報が記憶されている。具体的には、候補者ＤＢ３１２には、候補者を特定する情報として候補者の氏名を示す文字列が記憶されており、さらに当該候補者の顔写真を示す画像などが記憶されていてもよい。
【００７３】
取引データ検証部３１３は、投票端末１００ａから投票取引データを受信すると、受信した投票取引データを検証する。取引データ検証部３１３は、投票取引データに含まれている署名が正当であるかを検証し、また、投票情報が正当であるかを検証する。投票情報の正当性の検証では、電子投票システム１０によって事前に発行された投票情報であるか、また、投票期間中に一の投票情報が２回以上使用されていないかなどを検証する。一の投票情報が２回以上使用されているか否かは、記憶部３１８を参照することで、当該一の投票情報が記憶部３１８に記憶されていないものであるかどうかで確認する。取引データ検証部３１３は、検証処理の結果、投票情報が正当であると判定した場合には、投票取引データを記憶部３１８に記録する。また、正当な投票取引データは、同期部３１７により、他の投票サーバ３００ｂ及び３００ｃへ送信し、同期される。
【００７４】
取引データ生成部３１４は、投票取引に係る投票取引データを生成する。取引データ生成部３１４は、初期化処理において、有権者の人数と同じ個数の投票コインを新たに生成する投票取引データを生成する。この時点での投票コインの所有者は、投票サーバ３００ａである。次に、取引データ生成部３１４は、認証サーバ２００ａに投票コインを提供する投票取引データ（第三取引データに相当）を生成する。生成する投票取引データには、提供先の投票コインの所有者を示す情報（つまり、認証サーバ２００ａを示す情報）と、投票サーバ３００ａの署名とが含まれる。認証サーバ２００ａに投票コインを提供する投票取引データを生成した時点で、投票コインの所有者は認証サーバ２００ａになる。取引データ生成部３１４は、第二取引データ生成部に相当する。
【００７５】
ダミーデータ生成部３１５は、ダミーの投票コインを生成する投票取引データを生成し、ブロック生成部３１６にブロックを生成させる。ダミーの投票コインの投票取引データを、ダミー取引データともいう。取引データ生成部３１４が生成する投票取引データが、投票者による投票の投票内容を含むのに対して、ダミーデータ生成部３１５が生成するダミー取引データは、投票者による投票に紐付られていないダミー票の投票内容を含む。なお、ダミー取引データが示すダミー票の投票内容は、複数の候補者のうちからランダムに定めてもよいし、投票端末１００ａ等から受信した投票データに含まれる投票内容とは異なる投票内容としてもよい。
【００７６】
また、ダミーデータ生成部３１５は、生成したダミーの投票コインの個数を記録しておき、投票期間が終了した後に、生成したダミーの投票コインの個数を出力する。例えば、ダミーデータ生成部３１５は、候補者Ｘへの投票に相当する投票取引データを何個生成したかを出力する。なお、ダミーデータ生成部３１５が生成するダミーの投票コインの個数は、事前に投票サーバ３００ａ、３００ｂ及び３００ｃの間で予め定めて共有しておいてもよい。
【００７７】
また、ダミーの投票コインを生成するタイミングは任意に定められてよい。
【００７８】
ブロック生成部３１６は、複数の投票サーバ３００ａ等の間でコンセンサスアルゴリズムを実行する。ブロック生成部３１６は、ダミーデータ生成部３１５からのコンセンサスアルゴリズムの実行依頼を基に、複数の投票サーバ３００ａ等の間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、ＰＢＦＴを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。投票取引データに関して、コンセンサスアルゴリズムで合意形成ができた場合には、投票取引データを含むブロックを生成し、記憶部３１８に記憶する。さらに、ブロック生成部３１６は、生成したブロックを、記憶部３１８に記憶されているブロックチェーンに接続する。ブロック生成部３１６は、第二ブロック生成部に相当する。
【００７９】
また、ブロック生成部３１６は、認証サーバ２００ａに投票コインを提供する投票取引データ（第三取引データ）を含むブロック（第三ブロックに相当）を生成し、生成したブロックをブロックチェーンに接続する。第三取引データは、認証処理部２１２Ａ（取引データ検証部２１２）が複数の有権者それぞれに対する認証をすることができる状態になったことを示す取引データである。
【００８０】
また、ブロック生成部３１６は、認証サーバ２００ａから投票端末１００ａに投票コインを提供する投票取引データ（第四取引データ）を含むブロック（第四ブロックに相当）を生成し、生成した第四ブロックを第二ブロックチェーンに接続する。第四取引データは、認証サーバ２００ａにより投票者が認証されたことによって、投票端末１００ａが投票者による投票内容の入力を受けることができる状態になったことを示す取引データである。
【００８１】
同期部３１７は、複数の投票サーバ３００ａ等の間で、ブロックチェーンのブロックの同期、及び、投票取引データの同期を行う。複数の投票サーバ３００ａの間では、ｐｅｅｒ  ｔｏ  ｐｅｅｒでブロックチェーンのブロックの同期が行われる。例えば、投票端末１００ａから投票取引データを受信し、取引データ検証部３１３により投票取引データの正当性が検証されると、同期部３１７は、他の投票サーバ３００ｂ及び３００ｃに投票取引データの複製を送信し、検証済みの投票取引データを他の投票サーバ３００ｂ及び３００ｃの記憶部３１８に記憶させる。また、同期部３１７は、他の投票サーバ３００ｂ及び３００ｃから投票取引データを受信したら、受信した投票取引データを記憶部３１８に記憶する。
【００８２】
記憶部３１８は、投票取引データと、ブロックチェーンのブロックとを記憶する記憶装置である。記憶部３１８が記憶しているブロックチェーンを第二ブロックチェーンともいう。
【００８３】
通信部３１９は、投票端末１００ａ及び認証サーバ２００ａそれぞれとの通信を行う通信インタフェースである。この通信は、ＴＬＳによりなされてもよい。その場合、ＴＬＳ通信用の暗号鍵は、通信部３１９が保持してもよい。
【００８４】
なお、取引データ検証部３１３と取引データ生成部３１４とは、投票者が投票する票に紐付けられる投票ＩＤ（つまり第二ＩＤ）であって、認証ＩＤとは独立である投票ＩＤと、票の投票内容を示す投票情報とを含む投票データを投票端末１００ａから受信する投票処理部３１３Ａに相当する。
【００８５】
１．５  投票端末とサーバ間の投票シーケンス
以降において、電子投票システム１０による処理について説明する。ここでは、投票端末１００ａ等と認証サーバ２００ａ等との間で認証コインを用いて投票者の認証を行うとともに、投票端末１００ａ等と投票サーバ３００ａ等との間で投票コインを用いて投票を行う処理について説明する。その際、認証済みの投票者のみに投票を許可するために、投票コインは認証サーバ２００ａを経て投票端末１００ａに提供される。
【００８６】
以降において、初期化処理、投票処理、終了処理、及び、投票結果の公開処理について順に説明する。
【００８７】
＜初期化処理＞
図７は、本実施の形態における電子投票システム１０の初期化処理を示すシーケンス図である。図８及び図９は、それぞれ、本実施の形態における初期化処理中の認証コイン及び投票コインの所有者を示す説明図である。認証コイン及び投票コインの所有者は、それぞれ、認証サーバ２００ａ等及び投票サーバ３００ａ等により管理されている。
【００８８】
図７に示される初期化処理は、電子投票システム１０を用いる１回の選挙について、事前に１回実行される処理である。
【００８９】
ステップＳ１０１において、認証サーバ２００ａは、認証初期化処理を実行する。認証初期化処理は、有権者に事前に配布されているＩＤ（有権者ＩＤともいう）を認証ＩＤとして有する認証コインを生成する認証取引データを生成し、生成した認証取引データを含むブロックを生成する。この段階では、認証コインの所有者は、当該有権者ＩＤにより識別される有権者である（図８参照）。
【００９０】
ステップＳ１０２において、投票サーバ３００ａは、投票初期化処理を実行する。投票初期化処理は、有権者の人数と同じ個数の投票コインを生成する投票取引データを生成し、生成した投票取引データを含むブロックを生成する。この段階では、すべての投票コインの所有者は、投票サーバ３００ａである（図９の（ａ）参照）。投票コインのＩＤは、投票コインそれぞれを一意に識別できる文字列又は値であり、すべて異なる。投票コインのＩＤは、ランダムに選択される文字列又は値であってもよい。投票コインのＩＤがすべて異なる文字列又は値であることで、ブロックチェーンを参照したときに、同じ投票コインが二重に利用されていないものであるか否かについての確認ができる。
【００９１】
また、投票サーバ３００ａは、将来に生成するダミーの投票コインの個数を決定し、他の投票サーバ３００ｂ及び３００ｃと共有する。ここでは、各投票サーバは各候補者に５００票ずつ投票することを示すダミーの投票取引データを生成するとして説明する。なお、投票サーバ３００ａは、上記で決定したダミーの投票コインの個数を出力してもよい。
【００９２】
ステップＳ１０３において、投票サーバ３００ａは、ステップＳ１０２で生成した投票コインを認証サーバ２００ｃに提供する投票取引データを生成し、生成した投票取引データを含むブロックを生成する。また、生成した投票取引データを認証サーバ２００ｃに送信する。なお、投票コインの提供先が認証サーバ２００ｃである場合を例として説明するが、投票コインの提供先は、他の認証サーバ２００ａ又は２００ｂであってもよい。この段階では、認証サーバ２００ｃに提供された投票コインの所有者を示す情報が、認証サーバ２００ｃに変更されている（図９の（ｂ）参照）。
【００９３】
ステップＳ１０４において、認証サーバ２００ｃは、他の認証サーバ２００ａ及び２００ｂとの間で同期処理を行う。同期処理では、認証サーバ２００ｃは、同期部２１５によって、受信した投票取引データを、他の認証サーバ２００ａ及び２００ｂに送信する。認証サーバ２００ａ及び２００ｂの同期部２１５は、認証サーバ２００ｃの同期部２１５から受信した投票取引データを記憶する。
【００９４】
＜投票処理＞
図１０及び図１１は、本実施の形態における電子投票システム１０の投票処理を示すシーケンス図である。図１２及び図１３は、それぞれ、本実施の形態における投票処理中の認証コイン及び投票コインの所有者を示す説明図である。
【００９５】
図１０及び図１１に示される投票処理は、１人の投票者が１回の投票を行うときに１回実行される処理であり、１回の選挙において投票者の人数と同じ回数だけ実行される。
【００９６】
ステップＳ２０１において、投票端末１００ａは、認証サーバ２００ａにアクセスする。このアクセスは、例えば、認証サーバ２００ａが提供しているＷｅｂサイトへのＷｅｂアクセスであり、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）又はＨＴＴＰＳ（ＨＴＴＰ  ｏｖｅｒ  ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）／ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ））などが用いられ得る。
【００９７】
ステップＳ２０２において、認証サーバ２００ａは、ステップＳ２０１でのアクセスに応じて、投票者の有権者ＩＤを取得するための認証画面の画面データを生成し、投票端末１００ａに送信する。
【００９８】
ステップＳ２０３において、投票端末１００ａは、ステップＳ２０２で送信された画面データに基づいて認証画面を表示し、投票者の有権者ＩＤを含む認証情報の入力を受ける。投票者は、投票端末１００ａに表示された認証画面を視認し、事前に配布されている有権者ＩＤを投票端末１００ａに入力する。投票者は、有権者ＩＤを手入力してもよいし、投票端末１００ａによって有権者ＩＤが記録されたバーコード又は二次元コードを読み取ることで入力してもよい。
【００９９】
ステップＳ２０４において、投票端末１００ａは、ステップＳ２０３で入力された有権者ＩＤを認証ＩＤとして用いて認証取引データを生成する。
【０１００】
ステップＳ２０５において、投票端末１００ａは、ステップＳ２０４で生成した認証取引データを認証サーバ２００ａへ送信する。ここでは、認証取引データを認証サーバ２００ａに送信する場合を例として説明するが、他の認証サーバ２００ｂ及び２００ｃに送信してもよい。認証サーバ２００ａは、送信された認証取引データを受信する。
【０１０１】
ステップＳ２０６において、認証サーバ２００ａは、ステップＳ２０５で投票端末１００ａから受信した認証取引データの検証を行う。認証取引データの検証では、記憶部２１６に記憶されている認証取引データのブロックチェーンを参照し、投票端末１００ａから受信した認証取引データに含まれる有権者ＩＤが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。有権者ＩＤが当該ブロックチェーンに既に格納されていないものであると判定した場合には、認証取引データの検証に成功したとし、既に格納されていると判定した場合には、認証取引データの検証に失敗したとする。
【０１０２】
上記ステップＳ２０６で認証取引データの検証に失敗した場合には、認証サーバ２００ａは、エラー処理を行う（不図示）。エラー処理では、例えば、投票端末１００ａにエラーメッセージを通知する。エラーメッセージは、「有権者ではない」または「既に認証済みのため、同じ有権者ＩＤは利用できない」等のメッセージを含んでもよい。また、エラー処理では、これ以降に投票端末１００ａによる投票データの送信などの投票処理を行うことを禁止する。
【０１０３】
上記ステップＳ２０６で認証取引データの検証に成功した場合には、ステップＳ２０７に進む。
【０１０４】
ステップＳ２０７において、認証サーバ２００ａは、他の認証サーバ２００ｂ及び２００ｃに認証取引データの複製を送信する。認証サーバ２００ｂ及び２００ｃは、受信した認証取引データを検証する。
【０１０５】
ステップＳ２０８において、認証サーバ２００ａ、２００ｂ及び２００ｃは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した認証取引データが正当な取引であることが検証される。認証サーバ２００ａ、２００ｂ及び２００ｃは、検証済みの認証取引データを含むブロックの生成を行う。これにより、認証済みの有権者ＩＤを含むブロックが生成されるので、この後に同じ有権者ＩＤを含む認証取引データを受信しても、ブロックチェーンを参照することで同一有権者ＩＤの二重利用であることを判断することができる。この段階では、認証がなされた有権者の有権者ＩＤを有する認証コインの所有者が認証サーバ２００ａに変更されている（図１２参照）。
【０１０６】
ステップＳ２０９において、認証サーバ２００ａは、ステップＳ２０５で認証取引データを送信した投票端末１００ａに投票コインを提供する投票取引データを生成し、生成した投票取引データを投票端末１００ａ及び投票サーバ３００ａに送信する。
【０１０７】
ステップＳ２１０において、認証サーバ２００ａは、生成した投票取引データの複製を他の認証サーバ２００ｂ及び２００ｃに送信し、投票取引データの同期をとる。認証サーバ２００ａ、２００ｂ及び２００ｃは、生成した投票取引データに係る投票コインを利用済みとして記録する。
【０１０８】
ステップＳ２１１において、投票サーバ３００ａは、ステップＳ２０９で認証サーバ２００ａから受信した投票取引データの検証を行う。投票取引データの検証では、記憶部３１８に記憶されている投票取引データのブロックチェーンを参照し、認証サーバ２００ａから受信した投票取引データに含まれる投票ＩＤが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。投票ＩＤが当該ブロックチェーンに既に格納されていないものであると判定した場合には、投票取引データの検証に成功したとし、既に格納されていると判定した場合には、投票取引データの検証に失敗したとする。
【０１０９】
上記ステップＳ２１１で投票取引データの検証に失敗した場合には、投票サーバ３００ａはエラー処理を行う（不図示）。エラー処理では、例えば、投票端末１００ａにエラーメッセージを通知する。エラーメッセージは、「既に投票済みのため、同じＩＤは利用できない」等のメッセージを含んでもよい。また、エラー処理では、これ以降に投票端末１００ａによる投票データの送信などの投票処理を行うことを禁止する。
【０１１０】
ステップＳ２１２において、投票サーバ３００ａは、他の投票サーバ３００ｂ及び３００ｃに投票取引データの複製を送信する。投票サーバ３００ｂ及び３００ｃは、受信した投票取引データを検証する。
【０１１１】
ステップＳ２１３において、投票サーバ３００ａ、３００ｂ及び３００ｃは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した投票取引データが正当な取引であることが検証される。投票サーバ３００ａ、３００ｂ及び３００ｃは、検証済みの投票取引データを含むブロックの生成を行う。この段階では、ステップＳ２０６で認証取引データの検証が成功した投票者に提供される投票コインの所有者が、投票端末１００ａに変更されている（図１３の（ａ）参照）。
【０１１２】
ステップＳ２２１において、投票端末１００ａは、投票サーバ３００ａにアクセスする。このアクセスは、例えば、投票サーバ３００ａが提供しているＷｅｂサイトへのＷｅｂアクセスであり、ＨＴＴＰ又はＨＴＴＰＳなどが用いられ得る。ここでは、投票端末１００ａが投票サーバ３００ａにアクセスする場合を例として説明するが、投票サーバ３００ｂ又は３００ｃにアクセスする場合にも同様の説明が成立する。
【０１１３】
ステップＳ２２２において、投票サーバ３００ａは、ステップＳ２２１でのアクセスに応じて、投票者による投票のための投票画面の画面データを生成し、投票端末１００ａに送信する。このとき、投票サーバ３００ａは、候補者ＤＢ３１２を参照し、候補者の一覧を含む画面データを生成する。この投票画面は、投票者が投票先である候補者を選択するために閲覧する画面である。
【０１１４】
ステップＳ２２３において、投票端末１００ａは、ステップＳ２２２で送信された画面データに基づいて投票画面を表示し、投票先の候補者を示す情報の入力を受ける。投票者は、投票端末１００ａに表示された投票画面を視認し、投票先の候補者を示す情報である投票情報を入力する。投票者は、表示デバイスに表示された画面を操作することで投票情報を入力してもよいし、投票先の候補者の名前などの情報を手入力することで投票情報を入力してもよい。投票端末１００ａは、投票者から投票先の候補者を示す投票情報の入力を受けると、投票情報を含む投票取引データを生成する。これは、投票先の候補者に投票コインを提供する投票取引データである。投票端末１００ａは、生成した投票取引データを、投票サーバ３００ａに送信する。
【０１１５】
ステップＳ２２４において、投票サーバ３００ａは、ステップＳ２２３で投票端末１００ａから受信した投票取引データの検証を行う。投票取引データの検証では、記憶部３１８に記憶されている投票取引データのブロックチェーンを参照し、投票端末１００ａから受信した投票取引データに含まれる投票ＩＤが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。投票ＩＤが当該ブロックチェーンに既に格納されていないものであると判定した場合には、投票取引データの検証に成功したとし、既に格納されていると判定した場合には、投票取引データの検証に失敗したとする。
【０１１６】
上記ステップＳ２２４で投票取引データの検証に失敗した場合には、投票サーバ３００ａは、エラー処理を行う（不図示）。エラー処理では、例えば、投票端末１００ａにエラーメッセージを通知する。エラーメッセージは、「既に投票済みのため、同じ投票ＩＤは利用できない」等のメッセージを含んでもよい。
【０１１７】
上記ステップＳ２２４で投票取引データの検証に成功した場合には、ステップＳ２２５に進む。
【０１１８】
ステップＳ２２５において、投票サーバ３００ａは、他の投票サーバ３００ｂ及び３００ｃに投票取引データの複製を送信する。投票サーバ３００ｂ及び３００ｃは、受信した投票取引データを検証し、記憶部３１８に記憶する。
【０１１９】
ステップＳ２２６において、投票サーバ３００ａは、ダミーの投票コインを生成するダミー取引データを生成する。ただし、投票サーバ３００ａは、常に本ステップを実行するのではなく、投票期間内に生成すべきダミーの投票コインの個数として事前に定められた個数の投票コインを、投票期間のうちに生成できるように、所定回数だけ本ステップを実行するように制御する。なお、このとき、投票サーバ３００ａ、３００ｂ及び３００ｃのうちの任意の一台以上の投票サーバがダミー取引データを生成してもよい。
【０１２０】
ステップＳ２２７において、投票サーバ３００ａは、ステップＳ２２６で生成したダミーの投票取引データを、投票サーバ３００ｂ及び３００ｃに送信することで、投票サーバ間で共有する。
【０１２１】
ステップＳ２２８において、投票サーバ３００ａ、３００ｂ及び３００ｃは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した投票取引データが正当な取引であることが検証される。受信した投票取引データが正当な取引であると検証された場合、検証された投票取引データを含むブロックの生成を行う。これにより、投票済みの投票ＩＤを含むブロックが生成されるので、この後に同じ投票ＩＤを含む投票取引データを受信しても、ブロックチェーンを参照することで同一投票ＩＤの二重利用であることを判断することができる。この段階では、投票者による投票に用いられた投票コインの所有者が、投票先の候補者である候補者Ｘに変更されている（図１３の（ｂ）参照）。
【０１２２】
なお、ステップＳ２２８のコンセンサスアルゴリズムの実行は、毎回行うのではなく、所定の条件が成立した場合のみ行うようにしてもよい。所定の条件は、例えば、ブロックに含める投票取引データが匿名化に関する所定の基準、より具体的には、ｋ−匿名化のｋ＝２およびｌ−多様性のｌ＝３を満たすという条件としてもよい。
【０１２３】
図１４はブロックに含まれる投票取引の一例である。
【０１２４】
図１４に示されるブロックは、投票ＩＤが１０１である投票コインが候補者Ｘに投票され、同様に、投票ＩＤが１０２、１０３、１０４及び１０５である投票コインが、それぞれ、候補者Ｙ、Ｘ、Ｚ及びＺに投票されたことを示す投票取引データを含む。ここで、投票ＩＤが１０３である投票コインは、認証サーバ２００ａなどにより認証を受けた有権者による投票に相当する。一方、投票ＩＤが１０１、１０２、１０４及び１０５である投票コインは、ダミーの投票コインである。
【０１２５】
図１４に示されるブロックは、有権者による投票に係る投票コインと、ダミーの投票コインとを含むので、このブロックだけを見ても、有権者がどの投票を行ったかを特定することができない。
【０１２６】
このようにして、投票サーバ３００ａのブロックチェーンのブロックが公開された場合であっても、有権者による投票の内容が漏えいすることを防止できる。
【０１２７】
＜終了処理＞
図１５は、本実施の形態における電子投票システム１０の投票終了処理を示すフロー図である。図１５に示される一連の処理は、投票サーバ３００ａ、３００ｂ及び３００ｃの少なくとも１つが実行すればよい。図１６は、本実施の形態における投票結果を示す説明図である。
【０１２８】
図１５に示されるように、ステップＳ３０１において、ブロック生成部３１６は、投票期間が超過したか否かを判定する。投票期間が超過したと判定した場合（ステップＳ３０１でＹｅｓ）にはステップＳ３０２に進み、投票期間が超過していないと判定した場合（ステップＳ３０１でＮｏ）には再びステップＳ３０１を実行する。つまり、ブロック生成部３１６は、投票期間が超過するまでステップＳ３０１で待ち状態をとる。
【０１２９】
ステップＳ３０２において、記憶部３１８に記録されている投票取引データであって、未だブロックチェーンに含まれていない投票取引データを含むブロックを生成し、生成したブロックをブロックチェーンに接続する。なお、このとき、記憶部３１８に記録されている投票取引データであって、未だブロックチェーンに含まれていない投票取引データが匿名化の基準を満たしていない場合であっても、ブロックを生成し、ブロックチェーンに接続してもよい。
【０１３０】
ステップＳ３０３において、投票サーバ３００ａ、３００ｂ及び３００ｃは、コンセンサスアルゴリズムを実行する。この処理の内容は、ステップＳ２２８と同じである。
【０１３１】
ステップＳ３０４において、投票サーバ３００ａは、各候補者に投票された投票コインの個数を出力する。出力される情報には、ダミーの投票コインの個数も含まれる。
【０１３２】
このようにすることで、投票サーバ３００ａ等は、すべての投票取引データをブロックチェーンに接続し、その後に、ダミーの投票コインを含む、各候補者に投票された投票コインの個数を出力することができる。
【０１３３】
この出力を利用して、投票取引データを示すブロックチェーンから得られる各候補者への投票数から、ダミーの投票コインの個数を差し引くことで、候補者の実際の得票数が算出される（図１６参照）。例えば、候補者Ｘへの投票数である５６７８票から、ダミー投票数である１５００票を差し引くことで、候補者Ｘの得票数が４１７８と算出される。候補者Ｙ及びＺについても同様である。
【０１３４】
ここで、ダミーの投票コインの数、つまり、ダミーの投票数が事前に公開されている場合、投票サーバが不正に投票数を水増ししていないかについての確認が可能となる利点がある。
【０１３５】
＜投票結果の公開処理＞
図１７は、実施の形態における投票サーバ３００ａによる投票結果の公開処理を示すシーケンス図である。
【０１３６】
図１７に示される一連の処理は、端末１１０から投票サーバ３００ａに、投票結果の公開のためのアクセスがなされた場合に行われる処理である。このアクセスは、例えば、投票サーバ３００ａが提供しているＷｅｂサイトへのＷｅｂアクセスであり、ＨＴＴＰ又はＨＴＴＰＳなどが用いられ得る。なお、投票サーバ３００ａにアクセスする端末１１０は、投票端末１００ａであってもよいし、他の端末であってもよい。
【０１３７】
なお、ここでは、投票サーバ３００ａが上記アクセスを受けた場合を例として説明するが、他の投票サーバ３００ｂ又は３００ｃが上記アクセスを受けた場合でも同様である。
【０１３８】
ステップＳ４０１において、投票サーバ３００ａの画面データ生成部３１１は、現時点が、投票結果を公開することを許容する期間内であるか否かを判定する。投票結果を公開することを許容する期間を公開期間ともいう。公開期間は、例えば、投票期間の終了後の期間であり、つまり投票が締め切られた時点より後の期間である。ステップＳ４０１で公開期間内であると判定した場合（ステップＳ４０１でＹｅｓ）には、ステップＳ４０２に進み、そうでない場合（ステップＳ４０１でＮｏ）には、ステップＳ４１１に進む。
【０１３９】
ステップＳ４０２において、画面データ生成部３１１は、記憶部３１８に記憶されている投票取引データが格納されたブロックチェーンを取得する。
【０１４０】
ステップＳ４０３において、画面データ生成部３１１は、ステップＳ４０２で取得したブロックチェーンに含まれる情報に基づいて、投票結果を示す画面の画面データを生成する。そして、画面データ生成部３１１は、生成した画面データを端末に送信し、端末において投票結果を示す画面を表示させる。
【０１４１】
ステップＳ４１１において、画面データ生成部３１１は、エラー処理を行う。エラー処理では、例えば、端末にエラーメッセージを通知する。エラーメッセージは、「まだ公開期間ではないので、投票結果を公開できません」等のメッセージを含んでもよい。
【０１４２】
なお、画面データ生成部３１１は、ステップＳ４０２で、投票サーバ３００ａ等が投票期間中に生成したダミーの投票取引データの個数を示す情報を取得してもよい。その場合、画面データ生成部３１１は、ステップＳ４０３で、投票期間中に生成したダミーの投票取引データの個数を示す情報をさらに含む画面データを生成し、生成した画面データを端末に送信してもよい。このようにすれば、端末により、ダミーの投票取引データの個数を示す情報をさらに提示できる。
【０１４３】
以降において、電子投票システム１０での投票に用いる投票端末１００ａの画面、及び、投票結果の公開に用いる端末の画面の例を説明する。
【０１４４】
図１９は、本実施の形態における電子投票システム１０での投票に用いる投票端末１００ａを示す模式図である。
【０１４５】
図１９に示される投票端末１００ａは、投票先の候補者を選択するための画面を表示し、投票者に提示している。
【０１４６】
図１９に示される画面は、投票者に対して投票を促すメッセージを示す画像４０１を含んでいる。また、候補者の氏名及び顔写真を示す画像４０２、及び、候補者に投票することを示すボタンの画像４０３を含んでいる。投票者が画像４０３つまり投票ボタンに対して操作をすると、入力部１１２は、当該投票ボタンに対応づけられた候補者へ投票するという投票内容を受けたことになる。
【０１４７】
図２０は、本実施の形態における電子投票システム１０での投票結果の公開に用いる端末１１０を示す模式図である。
【０１４８】
図２０に示される端末１１０は、投票結果を公開するための画面を表示し、投票者に提示している。
【０１４９】
図２０に示される画面は、当該画面に表示している内容が投票結果であることを示すメッセージを示す画像４１１を含んでいる。また、候補者の氏名及び顔写真を示す画像４１２、及び、候補者の得票数を示す画像４１３を含んでいる。また、最も得票数が多い候補者の画像４１２は、当選したことを示す枠の画像４１４によって囲まれている。
【０１５０】
端末１１０は、このような画面によって投票結果を提示することができる。
【０１５１】
１．６  実施の形態の効果
本実施の形態の電子投票システムは、正当な投票者であることの認証と、認証後に行われる投票とで、互いに独立のＩＤを含むデータを用いる。これにより、例えば選挙後に認証の結果と投票内容とが公開された場合でも、その投票内容の投票を行った投票者が特定されないようにすることができる。また、認証されたことを示すデータと投票内容を示すデータとをそれぞれ個別のブロックチェーンで管理することで、各データの改ざんを抑制することができる。さらに、投票内容が格納されたブロックチェーンに、投票者による投票の内容を示すデータと、投票者による投票に紐付られていないダミー票の投票内容を示すデータとが格納されているので、投票者による投票内容が特定されることが抑制される。よって、電子投票システムは、秘密投票を可能とする。
【０１５２】
また、電子投票システムは、投票者による投票の内容を含む取引データと、ダミー取引データとをブロックチェーンに格納する。よって、電子投票システムは、投票者によるダミー取引データを利用して、秘密投票を可能とする。
【０１５３】
また、電子投票システムは、出力されたダミー取引データの個数を、候補者の得票数から差し引くことで、実際の候補者の得票数を算出することができる。
【０１５４】
上記態様によれば、電子投票システムは、複数の投票サーバにより生成するダミー取引データの個数が予め決定されているので、より確実に、予め決定された個数のダミー取引データを生成することができる。仮に生成するダミー取引データの個数が予め定められていなければ、投票者による投票がなされている最中に、生成すべきダミー取引データの個数が変動することがあり得る。これにより複数の投票サーバにおいて生成するダミー取引データの個数が変動し、投票数の算出が不正確になる要因になり得る。
【０１５５】
上記態様によれば、電子投票システムは、投票者による投票と異なる投票内容を有するダミー取引データをブロックチェーンに格納するので、候補者ごとの得票数を均一化する方向に得票数が変化する。これにより、投票者による投票の秘密性が欠如することが抑制される。
【０１５６】
上記態様によれば、電子投票システムは、電子投票システムに含まれない端末を用いて、上記と同様に秘密投票を可能とする。
【０１５７】
２．  その他変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１５８】
（１）上記の実施の形態では、認証サーバと投票サーバとは別の装置として説明したが、認証サーバと投票サーバを同一の装置としてもよい。このとき、認証サーバが保持する記録部は投票端末などに公開しない。
【０１５９】
（２）上記の実施の形態では、認証コイン及び投票コインの提供によって認証及び投票を実現したが、仮想的な取引対象の一例としてコインを用いたものであり、仮想的な取引対象はコインに限定されない。
【０１６０】
（３）上記の実施の形態では、投票サーバは投票端末から投票取引を受信した後に、ダミーの投票取引データを生成して、ブロックを生成しているが、これに限定されない。例えば、投票端末から複数の投票取引データを受信してからダミーの投票取引データを生成し、ブロックを生成するとしてもよい。また、ダミーの投票取引データは、事前に生成しておくとしてもよい。
【０１６１】
（４）上記の実施の形態では、認証サーバから投票端末に投票コインの提供を行っているが、投票端末への投票コインの投票の投票取引を投票サーバに送信するとしてもよい。また、投票サーバでは認証サーバから投票取引を受信し、投票取引の検証を行うとしてもよい。これにより、投票端末への投票コインの提供についてもブロックチェーンで管理できる。
【０１６２】
（５）上記の実施の形態では、投票結果の公開は、投票端末からのアクセスに基づいて行っているが、これに限定するわけではなく、投票サーバにアクセスできる端末であれば何でもよい。また、投票サーバが投票取引を含むブロックチェーンを公開するとしてもよい。また、投票結果は、ダミーの投票取引データを除いた投票数のみを公開するとしてもよい。
【０１６３】
（６）上記の実施の形態では、選挙の電子投票を一例に説明したが、これに限定するわけではなく、一般的な投票であればよく、また、信任投票やアンケートに適用するとしてもよい。例えば、株主総会の決議やアンケートに利用することで、決議やアンケート結果の改ざんを防止することができる。
【０１６４】
（７）上記の実施の形態では、ダミーの投票取引データは、投票サーバで同数のダミーの投票取引データを生成したが、これに限定されない。例えば、各投票サーバでダミーの投票取引数を決定し、投票締め切り後に公開するとしてもよい。このとき、各ブロックに含まれるダミーの投票コインの数を変更するとしてもよい。また、各投票サーバで決定したダミーの投票コインの個数を事前に投票サーバ間で共有するとしてもよい。
【０１６５】
（８）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１６６】
（９）上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１６７】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０１６８】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１６９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１７０】
（１０）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１７１】
（１１）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１７２】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１７３】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１７４】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１７５】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１７６】
（１２）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１７７】
なお、本実施の形態の電子投票システムは、以下のようにも記載され得るが、この記載に限定されない。
【０１７８】
（ａ）投票端末と、複数の認証サーバ、複数の投票サーバからなる電子投票システムであって、前記投票端末は、認証取引および投票取引を生成する第一の取引生成部を含み、前記第一の取引生成部は、有権者の識別子から認証取引を生成すると認証サーバに送信し、前記認証サーバから投票権を譲渡された第一の投票取引から第二の投票取引を生成すると投票サーバに送信し、前記複数の認証サーバは、前記投票端末から前記認証取引を受信すると認証取引の検証を行う第一の取引検証部と、認証取引を生成する第二の取引生成部と、認証取引のブロック生成を行う第一のブロック生成部を含み、前記取引検証部は、前記認証取引を受信すると、前記認証取引に含まれる識別子がブロックチェーンに２つ以上存在するか否かを検証し、２つ以上ある場合は二重使用と判断し、前記第二の取引生成部は、前記取引検証部で前記認証取引の検証が成功すると前記投票サーバから受信した第三の投票取引から前記第一の投票取引を生成して投票端末へ送信し、前記複数の投票サーバでは、前記投票端末から前記第二の投票取引を受信すると取引の検証を行う第二の取引検証部と、投票取引を生成する第三の取引生成部と、ダミーの投票取引を生成する第四の取引生成部と、投票取引のブロック生成を行う第二のブロック生成部を含み、前記第二の取引検証部は、前記投票端末から前記第二の投票取引を受信すると、前記第二の投票取引に含まれる投票権がブロックチェーンに２つ以上存在するか否かを検証し、２つ以上ある場合は二重使用と判断し、前記第三の取引生成部は、投票権の第三の投票取引を生成し、前記認証サーバに送信し、前記第二のブロック生成部は、前記第二の投票取引と、前記ダミーの投票取引を含んでブロックを生成することを特徴とする電子投票システム。
【０１７９】
（ｂ）前記複数の投票サーバの前記第四の取引生成部は、さらに、生成した前記ダミーの投票取引の数を公開することを特徴とする（ａ）に記載の電子投票システム。
【０１８０】
（ｃ）前記複数の投票サーバの前記第四の取引生成部は、さらに、ダミーの投票取引の数をあらかじめ前記複数の投票サーバ間で共有することを特徴とする（ａ）に記載の電子投票システム。
【０１８１】
（ｄ）前記複数の投票サーバの前記第四の取引生成部は、さらに、前記第二の投票取引に含まれる投票内容と異なるダミーの投票取引を生成することを特徴とする（ｂ）に記載の電子投票システム。
【０１８２】
これにより、投票端末と認証サーバ間で有権者であるかの認証を行い、有権者の場合、認証サーバが投票サーバから譲渡されている投票権を投票端末に譲渡する。投票端末では譲渡された投票権を用いて投票を行うことができる。投票サーバでは投票権が二重に利用されているかの検証を行うことで、有権者の情報がなくとも、不正な投票を防止できる。また、投票サーバは、投票取引にブロックチェーンを用いることで、投票結果の改ざんをも防止できる。さらに、ブロックにダミーの投票を入れることによって、ユーザの投票内容を識別することができないため、安全な電子投票システムを構築できる。
【０１８３】
以上、一つまたは複数の態様に係る電子投票システムなどについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１８４】
本発明に係る電子投票システムは、秘密投票を可能とする。
【符号の説明】
【０１８５】
１０  電子投票システム
１００ａ、１０１ａ、１０２ａ、１００ｂ、１０１ｂ、１０２ｂ、１００ｃ、１０１ｃ、１０２ｃ  投票端末
１１０  端末
１１１  表示部
１１２  入力部
１１３、２１３、３１４  取引データ生成部
１１４、２１７、３１９  通信部
２００ａ、２００ｂ、２００ｃ  認証サーバ
２１１、３１１  画面データ生成部
２１２、３１３  取引データ検証部
２１２Ａ  認証処理部
２１４、３１６  ブロック生成部
２１５、３１７  同期部
２１６、３１８  記憶部
３００ａ、３００ｂ、３００ｃ  投票サーバ
３１２  候補者ＤＢ
３１５  ダミーデータ生成部
４０１、４０２、４０３、４１１、４１２、４１３、４１４  画像
Ｂ１、Ｂ２、Ｂ３  ブロック
Ｄ１  取引データ
Ｎ  ネットワーク
Ｐ１、Ｐ２  アドレス
Ｐ３  電子署名
【図１】
2019053712.tif 000003
【図２】
2019053712.tif 000004
【図３】
2019053712.tif 000005
【図４】
2019053712.tif 000006
【図５】
2019053712.tif 000007
【図６】
2019053712.tif 000008
【図７】
2019053712.tif 000009
【図８】
2019053712.tif 000010
【図９】
2019053712.tif 000011
【図１０】
2019053712.tif 000012
【図１１】
2019053712.tif 000013
【図１２】
2019053712.tif 000014
【図１３】
2019053712.tif 000015
【図１４】
2019053712.tif 000016
【図１５】
2019053712.tif 000017
【図１６】
2019053712.tif 000018
【図１７】
2019053712.tif 000019
【図１８】
2019053712.tif 000020
【図１９】
2019053712.tif 000021