(57)【要約】【課題】プライバシ情報の漏洩を抑制することができる制御方法等を提供する。【解決手段】第１のユーザが使用する住宅１００ａから、第１の電子署名を含む第１のトランザクションデータを受け取るステップ（Ｓ２０４）と、受け取った第１のトランザクションデータに含まれる第１の電子署名を検証するステップ（Ｓ２０５）と、受け取った第１のトランザクションデータの正当性を検証するステップ（Ｓ２０６）と、検証が成功した場合、第１のトランザクションデータについての、第１のコンセンサスアルゴリズムを実行するステップ（Ｓ２０９）と、第１のコンセンサスアルゴリズムによって第１のトランザクションデータの正当性が検証された場合、第１のトランザクションデータを含むブロックを分散台帳に記録するステップと（Ｓ２０９）を含み、第１の電子署名は、第１のユーザが属するグループに割り当てられたグループ署名である。【選択図】図１２
2019133630.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備にネットワークを介して通信可能に接続される複数のサーバとを備える電力取引システムにおける、前記複数のサーバのうちの第１のサーバによって実行される制御方法であって、
前記ネットワークを介して前記第１の電力設備から、第１のトランザクションデータであって前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレス、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを受け取るステップと、
受け取った前記第１のトランザクションデータに含まれる前記第１の電子署名を検証するステップと、
受け取った前記第１のトランザクションデータの正当性を検証するステップと、
前記第１の電子署名の検証及び前記第１のトランザクションデータの正当性の検証が成功した場合、前記複数のサーバのうちの前記第１のサーバとは異なる複数の第２のサーバとともに、前記第１のトランザクションデータの前記正当性について合意するための、第１のコンセンサスアルゴリズムを実行するステップと、
前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合、前記第１のトランザクションデータを含むブロックを前記第１のサーバの分散台帳に記録するステップとを含み、
前記第１の電子署名は、前記第１のユーザを含む複数のユーザが属する第１のグループに割り当てられた第１のグループ署名である、
制御方法。
【請求項２】
さらに、
前記ネットワークを介して前記第２の電力設備から、第２のトランザクションデータであって前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第２のブロックチェーンアドレス、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報、及び、前記第２のユーザに紐づけられる第２の電子署名を含む第２のトランザクションデータを受け取るステップと、
受け取った前記第２のトランザクションデータに含まれる前記第２の電子署名を検証するステップと、
受け取った前記第２のトランザクションデータの正当性を検証するステップと、
前記第２の電子署名の検証及び前記第２のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第２のトランザクションデータ前記正当性について合意するための第２のコンセンサスアルゴリズムを実行するステップと、
前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合、前記第２のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップと、を含み、
前記第２の電子署名は、前記第２のユーザを含む複数のユーザが属する第２のグループに割り当てられた第２のグループ署名である、
請求項１に記載の制御方法。
【請求項３】
前記第１のトランザクションデータは、さらに、前記売電電力が売電可能な第１の日時を示す第１のタイムスタンプを含み、
前記第２のトランザクションデータは、さらに、前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプを含み、
前記制御方法は、さらに、
前記分散台帳に記録されている前記売電量情報及び前記第１のタイムスタンプと、前記買電量情報及び前記第２のタイムスタンプとをそれぞれ比較することで電力取引のマッチングを行うステップと、
前記電力取引のマッチングが成立した場合、前記第１のブロックチェーンアドレス及び前記第２のブロックチェーンアドレス、並びに、前記電力取引において取引される取引電力量とを含む第３のトランザクションデータを生成するステップと、
前記第３のトランザクションデータを前記複数の第２のサーバに転送して、前記複数の第２のサーバとともに、前記第３のトランザクションデータの正当性について合意するための第３のコンセンサスアルゴリズムを実行するステップと、
前記第３のコンセンサスアルゴリズムによって前記第３のトランザクションデータの前記正当性について合意された場合、前記第３のトランザクションデータを含むブロックを、前記分散台帳に記録するステップとを含む、
請求項２に記載の制御方法。
【請求項４】
前記制御方法は、さらに、
前記電力取引が成立した場合、前記電力取引が成立した旨を、前記第１の電力設備及び前記第２の電力設備に通知し、
前記ネットワークを介して前記第１の電力設備から、第４のトランザクションデータであって前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第４のブロックチェーンアドレス、第１の電力設備が前記第２の電力設備に電力を送電した電力量を示す送電情報、及び前記第１の電子署名を含む第４のトランザクションデータを受け取るステップと、
受け取った前記第４のトランザクションデータに含まれる前記第１の電子署名を検証し、受け取った前記第４のトランザクションデータの正当性を検証するステップと、
前記第１の電子署名の検証及び前記第４のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第４のトランザクションデータの前記正当性について合意するための第４のコンセンサスアルゴリズムを実行するステップと、
前記第４のコンセンサスアルゴリズムによって前記第４のトランザクションデータの前記正当性について合意された場合、前記第４のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップと、
前記ネットワークを介して前記第２の電力設備から、第５のトランザクションデータであって前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第５のブロックチェーンアドレス、前記第２の電力設備が前記第１の電力設備から電力を受電した電力量を示す受電情報、及び前記第２の電子署名を含む第５のトランザクションデータを受け取るステップと、
受け取った前記第５のトランザクションデータに含まれる前記第２の電子署名を検証し、受け取った前記第５のトランザクションデータの正当性を検証するステップと、
前記第２の電子署名の検証及び前記第５のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第５のトランザクションデータの前記正当性について合意するための第５のコンセンサスアルゴリズムを実行するステップと、
前記第５のコンセンサスアルゴリズムによって前記第５のトランザクションデータの前記正当性について合意された場合、前記第５のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップとを含む、
請求項３に記載の制御方法。
【請求項５】
前記電力取引システムは、さらに、サービスサーバを備え、
前記制御方法では、
前記サービスサーバが、前記第１のユーザ及び前記第２のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、
前記鍵を生成するステップでは、
前記第１の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第１の電力設備に送信するステップと、
前記第２の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第２の電力設備に送信するステップと、
前記グループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含む、
請求項２〜４のいずれか１項に記載の制御方法。
【請求項６】
前記電力取引システムは、さらに、サービスサーバを備え、
前記制御方法では、
前記サービスサーバが、前記第１のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、
前記鍵を生成するステップでは、
前記第１のユーザを含む複数のユーザが属する前記第１のグループに割り当てたグループ署名の鍵を生成するステップと、
前記第１の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第１の電力設備に送信するステップと、
前記第１のグループに割り当てたグループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含む、
請求項２〜４のいずれか１項に記載の制御方法。
【請求項７】
前記電力取引システムは、さらに、サービスサーバを備え、
前記制御方法では、
前記サービスサーバが、前記第２のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、
前記鍵を生成するステップでは、
前記第２のユーザを含む複数のユーザが属する前記第２のグループに割り当てたグループ署名の鍵を生成するステップと、
前記第２の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第２の電力設備に送信するステップと、
前記第２のグループに割り当てたグループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含む、
請求項２〜４のいずれか１項に記載の制御方法。
【請求項８】
さらに、前記サービスサーバが、前記第１のサーバの前記分散台帳を参照し、トランザクションデータを取得するステップと、
前記サービスサーバが、取得した前記トランザクションデータに含まれるグループ署名を開示し、前記グループ署名を行ったユーザを特定するステップとを含む、
請求項５〜７のいずれか１項に記載の制御方法。
【請求項９】
さらに、前記サービスサーバが、特定したユーザに対してインセンティブの支払いを行った後に、前記インセンティブの支払いを行った旨を通知するステップを含む、
請求項８に記載の制御方法。
【請求項１０】
前記第２のブロックチェーンアドレスは、前記第２の電力設備のコントローラにより、前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子として都度生成される、
請求項２〜８のいずれか１項に記載の制御方法。
【請求項１１】
前記第１のブロックチェーンアドレスは、前記第１の電力設備のコントローラにより、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子として都度生成される、
請求項１〜５のいずれか１項に記載の制御方法。
【請求項１２】
前記第１のコンセンサスアルゴリズムを実行するステップでは、
前記複数の第２のサーバのそれぞれから前記第１のトランザクションデータの正当性の検証が成功したか否かを示す第１報告を受け取るステップと、
前記第１報告の数が所定の数を超えたか否かを判定するステップと、
前記第１報告の数が前記所定の数を超えたとき、前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合であると判定するステップとを含む、
請求項１〜１１のいずれか１項に記載の制御方法。
【請求項１３】
前記第２のコンセンサスアルゴリズムを実行するステップでは、
前記複数の第２のサーバのそれぞれから前記第２のトランザクションデータの正当性の検証が成功したか否かを示す第２報告を受け取るステップと、
前記第２報告の数が所定の数を超えたか否かを判定するステップとを含み、
前記第２報告の数が前記所定の数を超えたとき、前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合であると判定するステップとを含む、
請求項２〜１０のいずれか１項に記載の制御方法。
【請求項１４】
前記第１の電力設備及び前記第２の電力設備は、太陽光発電装置、ガス発電装置、風力発電装置の少なくとも一を含む、
請求項１〜１３のいずれか１項に記載の制御方法。
【請求項１５】
第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備がネットワークを介して通信可能な複数のサーバとを備える電力取引システムにおける前記第１の電力設備を制御するコントローラであって、
前記コントローラは、プロセッサと、前記プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備え、
前記所定の処理は、
前記第１の電力設備の余剰電力量が所定の値以上であるか否かを判定するステップと、
前記余剰電力量が前記所定の値以上である場合、第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレスと、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを生成するステップと、
前記ネットワークを介して前記第１のトランザクションデータを前記複数のサーバのうちの第１のサーバに送信するステップと、
前記第１のトランザクションデータの正当性の検証が前記複数のサーバによってされ、前記第１のトランザクションデータを含むブロックが前記複数のサーバそれぞれの分散台帳に記録された場合、前記売電量情報を含み、前記第１の電力設備の売電希望を示す売電登録情報をディスプレイに表示させ、
前記第１の電子署名は、前記第１のユーザが属するグループに割り当てられたグループ署名である、
コントローラ。
【請求項１６】
第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備がネットワークを介して通信可能な複数のサーバとを備える電力取引システムにおける前記第１の電力設備の電力取引の情報を表示するディスプレイの制御方法であって、
前記第１の電力設備の余剰電力量が所定の値以上である場合に、第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレス、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータが、前記ネットワークを介して前記複数のサーバのうちの第１のサーバに送信されてから、前記複数のサーバによって前記第１のトランザクションデータの正当性が検証されるまでの間、前記売電量情報を含み、前記第１の電力設備の売電希望を示す売電登録情報を前記ディスプレイに表示させ、
前記第１のトランザクションデータの正当性が前記複数のサーバによって検証された場合に、前記売電登録情報を前記ディスプレイに表示させ、
前記第１のトランザクションデータの正当性が前記複数のサーバによって合意されなかった場合に、合意されなかった旨を示す失敗情報を前記ディスプレイに表示させ、
前記第１の電子署名は、前記第１のユーザが属するグループに割り当てられたグループ署名である、
制御方法。
【請求項１７】
第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備にネットワークを介して通信可能に接続される複数のサーバとを備える電力取引システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、
前記データ構造は、
前記第１のユーザの秘密鍵を用いて生成されたブロックに含まれる、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子であるブロックチェーンアドレスと、
前記第１の電力設備が売電可能な売電電力の量を示す売電量情報と、
前記第１のユーザに紐づけられ、前記第１のユーザが属するグループに割り当てられたグループ署名である第１の電子署名とを含み、
前記売電量情報は、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報及び前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプと比較されることで行われる電力取引のマッチングに用いられる、
データ構造。
【請求項１８】
第１のユーザが使用する第１の電力設備と、
第２のユーザが使用する第２の電力設備と、
ネットワークを介して前記第１の電力設備及び前記第２の電力設備に通信可能に接続される複数のサーバとを備える電力取引システムであって、
前記第１の電力設備に含まれる第１コントローラは、
第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレスと、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを生成し、
前記ネットワークを介して、前記第１のトランザクションデータを前記複数のサーバのうちの第１のサーバに送信し、
前記第２の電力設備に含まれる第２コントローラは、
第２のトランザクションデータであって、前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第２のブロックチェーンアドレスと、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報、前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプ、及び、前記第２のユーザに紐づけられる第２の電子署名を含む第２のトランザクションデータを生成し、
前記ネットワークを介して、前記第２のトランザクションデータを、前記複数のサーバのうちの第２のサーバに送信し、
前記第１のサーバは、
受け取った前記第１のトランザクションデータに含まれる前記第１の電子署名を検証し、
受け取った前記第１のトランザクションデータの正当性を検証し、
前記第１の電子署名の検証及び前記第１のトランザクションデータの正当性の検証が成功した場合、前記第１のトランザクションデータを前記第１のサーバを除く前記複数のサーバに転送し、
前記第２のサーバは、
受け取った前記第２のトランザクションデータに含まれる前記第２の電子署名を検証し、
受け取った前記第２のトランザクションデータの正当性を検証し、
前記第２の電子署名の検証及び前記第２のトランザクションデータの正当性の検証が成功した場合、前記第２のトランザクションデータを前記第２のサーバを除く前記複数のサーバに転送し、
前記複数のサーバは、
前記第１のトランザクションデータの前記正当性について合意するための第１のコンセンサスアルゴリズムを実行し、
前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合に、前記第１のトランザクションデータを含むブロックを前記複数のサーバそれぞれの分散台帳に記録し、
前記第２のトランザクションデータの前記正当性について合意するための第２のコンセンサスアルゴリズムを実行し、
前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合に、前記第２のトランザクションデータを前記分散台帳に記録する、
電力取引システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御方法、コントローラ、データ構造及び電力取引システムに関し、特に家庭などで発生した電力を取引する電力取引システム、並びに、その電力取引システムにおける制御方法、コントローラ及びデータ構造に関する。
【背景技術】
【０００２】
近年、太陽光発電など再生可能エネルギーが普及してきている。太陽光発電では、自家発電した電力を利用するだけでなく、余剰の電力を電力事業者に売電するといったことも行われている。
【０００３】
将来的には、電力事業者だけでなく、近隣住民に直接販売するといったことも想定される。しかし、需要家間の直接売買すなわち電力の個人間取引では、電力を売る需要家と買う需要家でマッチングをとり、電力を融通する必要があるため、電力会社などの仲介者を必要とする。
【０００４】
それに対して、電力分野における電力の個人間取引に対してブロックチェーン技術を活用し、自律分散型のシステムを構築する技術が検討されている（例えば非特許文献１）。非特許文献１に開示される技術によれば、例えば、太陽光発電を保有する需要家が、余った電力を他の需要家に売電したい場合、電力会社などの仲介者を介さずに、ブロックチェーン技術を使って価値の移転を行うことができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】みずほ産業調査、デジタルイノベーションはビジネスをどう変革するか-注目の取り組みから課題と戦略を探る-、電力 -ブロックチェーン技術を活用した電力シェアリングエコノミーの展望、Ｖｏｌ．５７、Ｎｏ．１、２０１７（ＵＲＬ：https://www.mizuhobank.co.jp/corporate/bizinfo/industry/sangyou/m1057.html）
【非特許文献２】Mihir Bellare、外２名、「Foundations of Group Signatures: Formal Definitions, Simplified Requirements, and a Construction Based on General Assumptions」、[online]、「Advances in Cryptology - EUROCRYPT 2003」、［平成30年1月11日検索］、インターネット（URL：https://cseweb.ucsd.edu/~mihir/papers/gs.pdf）、Springer Berlin Heidelberg
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に開示されている技術では、電力を売る側の需要家のトランザクションデータが公開されるので、その需要家が電力を融通できる時刻または電力量から、家での在または不在などが推定され得るという問題がある。つまり、非特許文献１に開示されている技術では、プライバシ情報が漏洩する可能性がある。
【０００７】
本開示は、上述の事情を鑑みてなされたもので、プライバシ情報の漏洩を抑制することができる制御方法等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本開示の制御方法は、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備にネットワークを介して通信可能に接続される複数のサーバとを備える電力取引システムにおける、前記複数のサーバのうちの第１のサーバによって実行される制御方法であって、前記ネットワークを介して前記第１の電力設備から、第１のトランザクションデータであって前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレス、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを受け取るステップと、受け取った前記第１のトランザクションデータに含まれる前記第１の電子署名を検証するステップと、受け取った前記第１のトランザクションデータの正当性を検証するステップと、前記第１の電子署名の検証及び前記第１のトランザクションデータの正当性の検証が成功した場合、前記複数のサーバのうちの前記第１のサーバとは異なる複数の第２のサーバとともに、前記第１のトランザクションデータの前記正当性について合意するための、第１のコンセンサスアルゴリズムを実行するステップと、前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合、前記第１のトランザクションデータを含むブロックを前記第１のサーバの分散台帳に記録するステップとを含み、前記第１の電子署名は、前記第１のユーザを含む複数のユーザが属する第１のグループに割り当てられた第１のグループ署名である。
【０００９】
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示の制御方法等によれば、プライバシ情報の漏洩を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係る電力取引システム全体構成の一例を示す図である。
【図２】実施の形態に係る住宅の全体構成の一例を示す図である。
【図３】図２に示すコントローラの機能構成を示すブロック図である。
【図４】実施の形態に係る売電依頼情報を入力するための入力画面の一例を示す図である。
【図５】実施の形態に係る買電依頼情報を入力するための入力画面の一例を示す図である。
【図６】実施の形態に係る認証サーバの機能構成を示すブロック図である。
【図７Ａ】ブロックチェーンのデータ構造を示す説明図である。
【図７Ｂ】トランザクションデータのデータ構造を示す説明図である。
【図８Ａ】実施の形態に係る売電リストの一例を示す図である。
【図８Ｂ】実施の形態に係る買電リストの一例を示す図である。
【図８Ｃ】実施の形態に係る電力取引リストの一例を示す図である。
【図９】実施の形態に係るサービスサーバの機能構成を示すブロック図である。
【図１０】実施の形態に係るサービスサーバと住宅と認証サーバとの間におけるサービスの登録処理を示すシーケンス図である。
【図１１】実施の形態に係る住宅と認証サーバの間の電力取引の全体シーケンス図である。
【図１２】実施の形態に係る住宅と認証サーバの間の売電依頼処理のシーケンス図である。
【図１３】実施の形態に係る住宅と認証サーバの間の買電依頼処理のシーケンス図である。
【図１４】実施の形態に係る住宅と認証サーバの間の電力取引処理のシーケンス図である。
【図１５】実施の形態に係る住宅と認証サーバの間の電力取引処理のシーケンス図である。
【図１６】実施の形態に係る住宅とサービスサーバの間のインセンティブ支払い処理のシーケンス図である。
【発明を実施するための形態】
【００１２】
本開示の一態様に係る制御方法は、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備にネットワークを介して通信可能に接続される複数のサーバとを備える電力取引システムにおける、前記複数のサーバのうちの第１のサーバによって実行される制御方法であって、前記ネットワークを介して前記第１の電力設備から、第１のトランザクションデータであって前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレス、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを受け取るステップと、受け取った前記第１のトランザクションデータに含まれる前記第１の電子署名を検証するステップと、受け取った前記第１のトランザクションデータの正当性を検証するステップと、前記第１の電子署名の検証及び前記第１のトランザクションデータの正当性の検証が成功した場合、前記複数のサーバのうちの前記第１のサーバとは異なる複数の第２のサーバとともに、前記第１のトランザクションデータの前記正当性について合意するための、第１のコンセンサスアルゴリズムを実行するステップと、前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合、前記第１のトランザクションデータを含むブロックを前記第１のサーバの分散台帳に記録するステップとを含み、前記第１の電子署名は、前記第１のユーザを含む複数のユーザが属する第１のグループに割り当てられた第１のグループ署名である。
【００１３】
このように、住宅からのトランザクションデータに含まれる署名をグループ署名とする。
【００１４】
これにより、売電依頼を示すブロックチェーンの第１のトランザクションデータが公開されても、当該第１のトランザクションデータから住宅及び住宅のユーザを特定できないので、プライバシ情報の漏洩を抑制することができる。
【００１５】
また、さらに、前記ネットワークを介して前記第２の電力設備から、第２のトランザクションデータであって前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第２のブロックチェーンアドレス、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報、及び、前記第２のユーザに紐づけられる第２の電子署名を含む第２のトランザクションデータを受け取るステップと、受け取った前記第２のトランザクションデータに含まれる前記第２の電子署名を検証するステップと、受け取った前記第２のトランザクションデータの正当性を検証するステップと、前記第２の電子署名の検証及び前記第２のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第２のトランザクションデータ前記正当性について合意するための第２のコンセンサスアルゴリズムを実行するステップと、前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合、前記第２のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップと、を含み、前記第２の電子署名は、前記第２のユーザを含む複数のユーザが属する第２のグループに割り当てられた第２のグループ署名であるとしてもよい。
【００１６】
これにより、買電依頼を示す第２のブロックチェーンのトランザクションデータが公開されても、当該第２のトランザクションデータから住宅及び住宅のユーザを特定できないので、プライバシ情報の漏洩を抑制することができる。
【００１７】
また、前記第１のトランザクションデータは、さらに、前記売電電力が売電可能な第１の日時を示す第１のタイムスタンプを含み、前記第２のトランザクションデータは、さらに、前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプを含み、前記制御方法は、さらに、前記分散台帳に記録されている前記売電量情報及び前記第１のタイムスタンプと、前記買電量情報及び前記第２のタイムスタンプとをそれぞれ比較することで電力取引のマッチングを行うステップと、前記電力取引のマッチングが成立した場合、前記第１のブロックチェーンアドレス及び前記第２のブロックチェーンアドレス、並びに、前記電力取引において取引される取引電力量とを含む第３のトランザクションデータを生成するステップと、前記第３のトランザクションデータを前記複数の第２のサーバに転送して、前記複数の第２のサーバとともに、前記第３のトランザクションデータの正当性について合意するための第３のコンセンサスアルゴリズムを実行するステップと、前記第３のコンセンサスアルゴリズムによって前記第３のトランザクションデータの前記正当性について合意された場合、前記第３のトランザクションデータを含むブロックを、前記分散台帳に記録するステップとを含むとしてもよい。
【００１８】
これにより、電力取引のマッチング結果を示すブロックチェーンの第３のトランザクションデータが公開されても、当該第３のトランザクションデータから取引を行った住宅及び住宅のユーザを特定できないので、プライバシ情報の漏洩を抑制することができる。
【００１９】
また、前記制御方法は、さらに、前記電力取引が成立した場合、前記電力取引が成立した旨を、前記第１の電力設備及び前記第２の電力設備に通知し、前記ネットワークを介して前記第１の電力設備から、第４のトランザクションデータであって前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第４のブロックチェーンアドレス、第１の電力設備が前記第２の電力設備に電力を送電した電力量を示す送電情報、及び前記第１の電子署名を含む第４のトランザクションデータを受け取るステップと、受け取った前記第４のトランザクションデータに含まれる前記第１の電子署名を検証し、受け取った前記第４のトランザクションデータの正当性を検証するステップと、前記第１の電子署名の検証及び前記第４のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第４のトランザクションデータの前記正当性について合意するための第４のコンセンサスアルゴリズムを実行するステップと、前記第４のコンセンサスアルゴリズムによって前記第４のトランザクションデータの前記正当性について合意された場合、前記第４のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップと、前記ネットワークを介して前記第２の電力設備から、第５のトランザクションデータであって前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第５のブロックチェーンアドレス、前記第２の電力設備が前記第１の電力設備から電力を受電した電力量を示す受電情報、及び前記第２の電子署名を含む第５のトランザクションデータを受け取るステップと、受け取った前記第５のトランザクションデータに含まれる前記第２の電子署名を検証し、受け取った前記第５のトランザクションデータの正当性を検証するステップと、前記第２の電子署名の検証及び前記第５のトランザクションデータの正当性の検証が成功した場合、前記複数の第２のサーバとともに、前記第５のトランザクションデータの前記正当性について合意するための第５のコンセンサスアルゴリズムを実行するステップと、前記第５のコンセンサスアルゴリズムによって前記第５のトランザクションデータの前記正当性について合意された場合、前記第５のトランザクションデータを含むブロックを前記第１のサーバの前記分散台帳に記録するステップとを含むとしてもよい。
【００２０】
これにより、電力取引結果を示すブロックチェーンのトランザクションデータが公開されても、当該トランザクションデータから取引を行った住宅及び住宅のユーザを特定できないので、プライバシ情報の漏洩を抑制することができる。
【００２１】
また、前記電力取引システムは、さらに、サービスサーバを備え、前記制御方法では、前記サービスサーバが、前記第１のユーザ及び前記第２のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、前記鍵を生成するステップでは、前記第１の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第１の電力設備に送信するステップと、前記第２の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第２の電力設備に送信するステップと、前記グループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含むとしてもよい。
【００２２】
また、前記電力取引システムは、さらに、サービスサーバを備え、前記制御方法では、前記サービスサーバが、前記第１のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、前記鍵を生成するステップでは、前記第１のユーザを含む複数のユーザが属する前記第１のグループに割り当てたグループ署名の鍵を生成するステップと、前記第１の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第１の電力設備に送信するステップと、前記第１のグループに割り当てたグループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含むとしてもよい。
【００２３】
また、前記電力取引システムは、さらに、サービスサーバを備え、前記制御方法では、前記サービスサーバが、前記第２のユーザが属するグループに割り当てたグループ署名の鍵を生成するステップを含み、前記鍵を生成するステップでは、前記第２のユーザを含む複数のユーザが属する前記第２のグループに割り当てたグループ署名の鍵を生成するステップと、前記第２の電子署名を生成するのに用いられる前記グループ署名の署名用の秘密鍵を生成し、前記第２の電力設備に送信するステップと、前記第２のグループに割り当てたグループ署名の署名検証鍵である公開鍵を前記複数のサーバに配布するステップとを含むとしてもよい。
【００２４】
また、さらに、前記サービスサーバが、前記第１のサーバの前記分散台帳を参照し、トランザクションデータを取得するステップと、前記サービスサーバが、取得した前記トランザクションデータに含まれるグループ署名を開示し、前記グループ署名を行ったユーザを特定するステップとを含むとしてもよい。
【００２５】
また、さらに、前記サービスサーバが、特定したユーザに対してインセンティブの支払いを行った後に、前記インセンティブの支払いを行った旨を通知するステップを含むとしてもよい。
【００２６】
また、前記第２のブロックチェーンアドレスは、前記第２の電力設備のコントローラにより、前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子として都度生成されるとしてもよい。
【００２７】
また、前記第１のブロックチェーンアドレスは、前記第１の電力設備のコントローラにより、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子として都度生成されるとしてもよい。
【００２８】
また、前記第１のコンセンサスアルゴリズムを実行するステップでは、前記複数の第２のサーバのそれぞれから前記第１のトランザクションデータの正当性の検証が成功したか否かを示す第１報告を受け取るステップと、前記第１報告の数が所定の数を超えたか否かを判定するステップと、前記第１報告の数が前記所定の数を超えたとき、前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合であると判定するステップとを含むとしてもよい。
【００２９】
また、前記第２のコンセンサスアルゴリズムを実行するステップでは、前記複数の第２のサーバのそれぞれから前記第２のトランザクションデータの正当性の検証が成功したか否かを示す第２報告を受け取るステップと、前記第２報告の数が所定の数を超えたか否かを判定するステップとを含み、前記第２報告の数が前記所定の数を超えたとき、前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合であると判定するステップとを含むとしてもよい。
【００３０】
また、前記第１の電力設備及び前記第２の電力設備は、太陽光発電装置、ガス発電装置、風力発電装置の少なくとも一を含むとしてもよい。
【００３１】
また、本開示の一態様に係るコントローラは、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備がネットワークを介して通信可能な複数のサーバとを備える電力取引システムにおける前記第１の電力設備を制御するコントローラであって、前記コントローラは、プロセッサと、前記プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備え、前記所定の処理は、前記第１の電力設備の余剰電力量が所定の値以上であるか否かを判定するステップと、前記余剰電力量が前記所定の値以上である場合、第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレスと、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを生成するステップと、前記ネットワークを介して前記第１のトランザクションデータを前記複数のサーバのうちの第１のサーバに送信するステップと、前記第１のトランザクションデータの正当性の検証が前記複数のサーバによってされ、前記第１のトランザクションデータを含むブロックが前記複数のサーバそれぞれの分散台帳に記録された場合、前記売電量情報を含み、前記第１の電力設備の売電希望を示す売電登録情報をディスプレイに表示させ、前記第１の電子署名は、前記第１のユーザが属するグループに割り当てられたグループ署名である。
【００３２】
また、本開示の一態様に係るコントローラの制御方法は、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備がネットワークを介して通信可能な複数のサーバとを備える電力取引システムにおける前記第１の電力設備の電力取引の情報を表示するディスプレイの制御方法であって、前記第１の電力設備の余剰電力量が所定の値以上である場合に、第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレス、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータが、前記ネットワークを介して前記複数のサーバのうちの第１のサーバに送信されてから、前記複数のサーバによって前記第１のトランザクションデータの正当性が検証されるまでの間、前記売電量情報を含み、前記第１の電力設備の売電希望を示す売電登録情報を前記ディスプレイに表示させ、前記第１のトランザクションデータの正当性が前記複数のサーバによって検証された場合に、前記売電登録情報を前記ディスプレイに表示させ、前記第１のトランザクションデータの正当性が前記複数のサーバによって合意されなかった場合に、合意されなかった旨を示す失敗情報を前記ディスプレイに表示させ、前記第１の電子署名は、前記第１のユーザが属するグループに割り当てられたグループ署名である。
【００３３】
また、本開示の一態様に係るデータ構造は、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、前記第１の電力設備及び前記第２の電力設備にネットワークを介して通信可能に接続される複数のサーバとを備える電力取引システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、前記データ構造は、前記第１のユーザの秘密鍵を用いて生成されたブロックに含まれる、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子であるブロックチェーンアドレスと、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報と、前記第１のユーザに紐づけられ、前記第１のユーザが属するグループに割り当てられたグループ署名である第１の電子署名とを含み、前記売電量情報は、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報及び前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプと比較されることで行われる電力取引のマッチングに用いられる。
【００３４】
また、本開示の一態様に係る電力取引システムは、第１のユーザが使用する第１の電力設備と、第２のユーザが使用する第２の電力設備と、ネットワークを介して前記第１の電力設備及び前記第２の電力設備に通信可能に接続される複数のサーバとを備える電力取引システムであって、前記第１の電力設備に含まれる第１コントローラは、第１のトランザクションデータであって、前記第１のユーザ及び前記第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレスと、前記第１の電力設備が売電可能な売電電力の量を示す売電量情報、及び、前記第１のユーザに紐づけられる第１の電子署名を含む第１のトランザクションデータを生成し、前記ネットワークを介して、前記第１のトランザクションデータを前記複数のサーバのうちの第１のサーバに送信し、前記第２の電力設備に含まれる第２コントローラは、第２のトランザクションデータであって、前記第２のユーザ及び前記第２の電力設備の少なくとも一方を識別する識別子である第２のブロックチェーンアドレスと、前記第２の電力設備が買電可能な買電電力の量を示す買電量情報、前記買電電力が買電可能な第２の日時を示す第２のタイムスタンプ、及び、前記第２のユーザに紐づけられる第２の電子署名を含む第２のトランザクションデータを生成し、前記ネットワークを介して、前記第２のトランザクションデータを、前記複数のサーバのうちの第２のサーバに送信し、前記第１のサーバは、受け取った前記第１のトランザクションデータに含まれる前記第１の電子署名を検証し、受け取った前記第１のトランザクションデータの正当性を検証し、前記第１の電子署名の検証及び前記第１のトランザクションデータの正当性の検証が成功した場合、前記第１のトランザクションデータを前記第１のサーバを除く前記複数のサーバに転送し、前記第２のサーバは、受け取った前記第２のトランザクションデータに含まれる前記第２の電子署名を検証し、受け取った前記第２のトランザクションデータの正当性を検証し、前記第２の電子署名の検証及び前記第２のトランザクションデータの正当性の検証が成功した場合、前記第２のトランザクションデータを前記第２のサーバを除く前記複数のサーバに転送し、前記複数のサーバは、前記第１のトランザクションデータの前記正当性について合意するための第１のコンセンサスアルゴリズムを実行し、前記第１のコンセンサスアルゴリズムによって前記第１のトランザクションデータの前記正当性について合意された場合に、前記第１のトランザクションデータを含むブロックを前記複数のサーバそれぞれの分散台帳に記録し、前記第２のトランザクションデータの前記正当性について合意するための第２のコンセンサスアルゴリズムを実行し、前記第２のコンセンサスアルゴリズムによって前記第２のトランザクションデータの前記正当性について合意された場合に、前記第２のトランザクションデータを前記分散台帳に記録する。
【００３５】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【００３６】
（実施の形態）
まず、本開示のシステム構成について説明する。
【００３７】
［１．  システム構成］
本開示の電力取引システム１０は、グループのメンバが匿名でグループの一員として署名できるという性質を持つグループ署名を用いることで、プライバシ情報を保護しつつ、ブロックチェーン技術を活用した電力取引を行う。
【００３８】
ここで、グループ署名について説明する。グループ署名を用いると、グループに所属しているメンバは、グループに所属していることのみを認証することができる。また、グループ署名では、署名が正当なグループメンバによって生成されたものであるかを誰でも検証できる。なお、その署名からはグループメンバによって生成されたことのみが検証できるが、グループメンバを特定することはできないという特性を持つ。ただし、問題が生じた場合など必要に応じてグループ署名を発行した管理者のみが署名者を特定できるという性質をもつ。
【００３９】
以下では、図面を参照しながら実施の形態における電力取引システム等の説明を行う。
【００４０】
［１．１  電力取引システム１０の全体構成］
図１は、本実施の形態に係る電力取引システム１０の全体構成の一例を示す図である。
【００４１】
電力取引システム１０は、図１に示すように、例えば住宅１００ａ、１００ｂ、１００ｃと、認証サーバ２００ａ、２００ｂ、２００ｃと、サービスサーバ３００とを備える。これらは、通信ネットワーク４００で接続されている。また、住宅１００ａ、１００ｂ、１００ｃは電力ネットワーク５００で接続されている。電力ネットワーク５００は、住宅間で電力の融通ができるネットワークであり、専用線であってもよいし、電力会社が敷設した電力網を利用するとしてもよい。
【００４２】
また、認証サーバ２００ａ、２００ｂ、２００ｃは記憶装置２０１ａ、２０１ｂ、２０１ｃと接続する。認証サーバ２００ａ等は、記憶装置２０１ａ等と通信ネットワーク４００を介して接続されていてもよいし、内部に記憶装置２０１ａを備えてもよい。記憶装置２０１ａは、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
【００４３】
なお、図１では、電力取引システム１０は、３つの住宅と３つの認証サーバを備える例が示されているが、これに限らない。すなわち、電力取引システム１０は、４つ以上の住宅と４つ以上の認証サーバとを備えてもよい。
【００４４】
［１．２  住宅１００ａの構成］
住宅１００ｂ、１００ｃも同様の構成であるため、以下では、住宅１００ａを例に挙げて説明する。
【００４５】
図２は、本実施の形態に係る住宅１００ａの全体構成の一例を示す図である。
【００４６】
住宅１００ａは、図２に示すように、コントローラ１０１と、太陽光発電１０２と、蓄電池１０３と、電力メータ１０４とを備える。コントローラ１０１、太陽光発電１０２、蓄電池１０３及び電力メータ１０４は、通信ネットワーク１１０で接続されている。また、太陽光発電１０２、蓄電池１０３及び電力メータ１０４は、電力ネットワーク１１１で接続されており、電力メータ１０４から住宅１００ａの外の電力ネットワーク５００に接続されている。
【００４７】
ここで、住宅１００ａ等は、第１ユーザまたは第２ユーザが使用する電力設備を有する建物の一例であり、例えば住家などの家屋であるが、これに限られない。住宅１００ａ等は、工場、ビルなどの建物であってもよい。つまり、住宅１００ａ等は、ユーザが使用する電力設備を有する建物であれば、その態様は問われない。
【００４８】
＜コントローラ１０１＞
コントローラ１０１は、例えば、エネルギーマネジメントシステムのコントローラであり、電力取引システム１０における第１の電力設備または第２の電力設備を制御するコントローラの一例である。
【００４９】
本実施の形態では、コントローラ１０１は、太陽光発電１０２での発電状況を表示したり、蓄電池１０３の蓄電状態を表示したり、売電または買電の申請などを入力したりする。また、コントローラ１０１は、太陽光発電１０２及び蓄電池１０３を制御し、電力ネットワーク１１１または、電力ネットワーク５００に電力を送電する。また、コントローラ１０１は、電力ネットワーク５００に送電された電力量を管理し、認証サーバ２００ａ等に通知する。詳細については後述する。
【００５０】
＜太陽光発電１０２＞
太陽光発電１０２は、第１の電力設備または第２の電力設備に含まれる太陽光発電装置の一例である。太陽光発電１０２は、太陽電池を用いて太陽光を直接的に電力に変換する発電方式を搭載した装置である。太陽光発電１０２は、発電した電力を、蓄電池１０３に蓄電したり、電力ネットワーク５００に送電したりする。太陽光発電１０２は、例えばコントローラ１０１の送電指示により、発電した電力を電力ネットワーク１１１を介して電力ネットワーク５００に送電する。
【００５１】
なお、太陽光発電１０２は、太陽光発電装置である場合にかぎらず、ガス発電装置、風力発電装置などであってもよい。
【００５２】
＜蓄電池１０３＞
蓄電池１０３は、太陽光発電１０２で発電された電力を蓄電する。蓄電池１０３は、例えばコントローラ１０１の送電指示により、蓄電した電力を電力ネットワーク５００に送電する。また、蓄電池１０３は、例えばコントローラ１０１の受電指示により、電力ネットワーク５００から受電された電力を蓄電してもよい。なお、蓄電池１０３は必須の構成ではなく、住宅１００ａに備えられていなくてもよい。
【００５３】
＜電力メータ１０４＞
電力メータ１０４は、第１の電力設備または第２の電力設備に含まれ、電力ネットワーク５００に送電またはから受電される電力量を計測する。電力メータ１０４は、コントローラ１０１の送電指示により、太陽光発電１０２または蓄電池１０３が電力を電力ネットワーク５００に送電したとき、電力が送電された時刻と電力量とを計測し、コントローラ１０１に通知する。また、電力メータ１０４は、コントローラ１０１からの電力利用の指示により、電力ネットワーク５００から受電して利用した電力量を計測する。
【００５４】
以下、コントローラ１０１の構成の一例について説明する。
【００５５】
［１．３  コントローラ１０１の構成］
図３は、図２に示すコントローラ１０１の機能構成を示すブロック図である。
【００５６】
コントローラ１０１は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ１０１は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ１０１は、入力部１０１１と、トランザクションデータ生成部１０１２と、署名生成部１０１３と、制御部１０１４と、記録部１０１５と、通信部１０１６とを備える。以下、各構成要素について説明する。
【００５７】
＜入力部１０１１＞
図４は、本実施の形態に係る売電依頼情報を入力するための入力画面の一例を示す図である。図５は、本実施の形態に係る買電依頼情報を入力するための入力画面の一例である。
【００５８】
入力部１０１１は、ユーザが電力取引のサービスに申し込みするための情報の入力を受け付け、通信部１０１６を介して、サービスサーバ３００に送信する。また、入力部１０１１は、ユーザが売電依頼または買電依頼する情報を入力するための入力画面を作成する。
【００５９】
入力部１０１１は、作成した入力画面において、ユーザによって売電依頼情報または買電依頼情報が入力された場合、入力された売電依頼情報または買電依頼情報をトランザクションデータ生成部１０１２と署名生成部１０１３とに送信する。
【００６０】
例えば図４に示すように、売電依頼情報を入力するための入力画面１０５ａでは、日付、売電量及び売電の単価がユーザにより入力される。なお、図４に示す例では、売電量をｋＷｈで表示しているが、これに限らない。売電量を、売電後の蓄電量で指定してもよいし、蓄電量の割合で指定するとしてもよい。また、売電の単価は、ユーザにより入力される場合に限らず、予め電力取引システム１０に定められていてもよい。なお、入力部１０１１が、入力画面１０５ａにおいて日付、売電量及び売電の単価を仮に入力した状態で提示し、ユーザに「はい」、または「いいえ」などのように承諾の有無を入力してもってもよい。
【００６１】
また、例えば図５に示すように、買電依頼情報を入力するための入力画面１０５ｂでは、日付、売電量及び買電の単価がユーザにより入力される。なお、図５に示す例でも、買電量をｋＷｈで表示しているが、これに限らない。買電量を、買電後の蓄電量で指定してもよい。また、買電の単価は、ユーザにより入力される場合に限らず、予め電力取引システム１０に定められていてもよい。なお、入力部１０１１が、入力画面１０５ｂにおいて日付、買電量及び買電の単価を仮に入力した状態で提示し、ユーザに「はい」、または「いいえ」などのように承諾の有無を入力してもってもよい。
【００６２】
＜トランザクションデータ生成部１０１２＞
トランザクションデータ生成部１０１２は、入力部１０１１から受信した売電依頼情報または売電依頼情報と、署名生成部１０１３から受信した署名情報とを基にブロックチェーンにおけるトランザクションデータを生成する。なお、トランザクションデータ生成部１０１２は、太陽光発電１０２の余剰電力量が所定の値以上であるか否かを判定し、所定の値以上であればトランザクションデータを生成してもよい。ここで、所定の値とは、例えば余剰電力量が入力部１０１１から受信した売電依頼情報に含まれる売電量である。
【００６３】
トランザクションデータ生成部１０１２が生成するトランザクションデータは、第１のトランザクションデータ及び第２のトランザクションデータの一例である。
【００６４】
第１のトランザクションデータは、第１のユーザ及び第１の電力設備の少なくとも一方を識別する識別子である第１のブロックチェーンアドレスと、第１の電力設備が売電可能な売電電力の量を示す売電量情報、売電電力が売電可能な第１の日時を示す第１のタイムスタンプ、及び、第１のユーザに紐づけられる第１の電子署名を含む。ここで、第１の電子署名は、第１のユーザを含む複数のユーザが属する第１のグループに割り当てられた第１のグループ署名である。なお、第１のトランザクションデータは、第１のタイムスタンプを含まないとしてもよい。
【００６５】
また、第２のトランザクションデータは、第２のユーザ及び第２の電力設備の少なくとも一方を識別する識別子である第２のブロックチェーンアドレス、第２の電力設備が買電可能な買電電力の量を示す買電量情報、買電電力が買電可能な第２の日時を示す第２のタイムスタンプ、及び、第２のユーザに紐づけられる第２の電子署名を含む。ここで、第２の電子署名は、第２のユーザを含む複数のユーザが属する第２のグループに割り当てられた第２のグループ署名である。なお、第１のユーザと第２のユーザとが属するグループは同じである。また、第２のトランザクションデータは、第２のタイムスタンプを含まないとしてもよい。また、第１のブロックチェーンアドレスは、第１の電力設備のコントローラにより、第１のユーザ及び第１の電力設備の少なくとも一方を識別する識別子として都度生成されてもよい。また、第２のブロックチェーンアドレスは、第２の電力設備のコントローラにより、第２のユーザ及び第２の電力設備の少なくとも一方を識別する識別子として都度生成されてもよい。つまり、第１のブロックチェーンアドレス及び第２のブロックチェーンアドレスは、ワンタイムアドレスであってもよい。
【００６６】
このように、本実施の形態では、トランザクションデータ生成部１０１２が生成するトランザクションデータには、ユーザまたはコントローラのブロックチェーンアドレスと、売電依頼情報もしくは買電依頼情報と、署名生成部１０１３が生成したグループ署名とが含まれる。
【００６７】
トランザクションデータ生成部１０１２は、生成したトランザクションデータを記録部１０１５に記録する。また、トランザクションデータ生成部１０１２は、生成したトランザクションデータを、通信部１０１６を介して、認証サーバ２００ａ等の少なくとも一に送信する。
【００６８】
また、トランザクションデータ生成部１０１２は、電力メータ１０４から電力ネットワーク５００に送電した旨の通知を受けると、通知に含まれる時刻と送電した電力量とを含むトランザクションデータを生成し、記録部１０１５に記録する。トランザクションデータ生成部１０１２は、通信部１０１６を介して、生成したトランザクションデータを認証サーバ２００ａ等の少なくとも一に送信する。より具体的には、電力メータ１０４からの通知を受けてトランザクションデータ生成部１０１２が生成するトランザクションデータは、第４のトランザクションデータ及び第５のトランザクションデータの一例である。
【００６９】
第４のトランザクションデータは、第１のユーザ及び第１の電力設備の少なくとも一方を識別する識別子である第４のブロックチェーンアドレス、第１の電力設備が第２の電力設備に電力を送電した電力量を示す送電情報、及び第１の電子署名を含む。第５のトランザクションデータは、第２のユーザ及び第２の電力設備の少なくとも一方を識別する識別子である第５のブロックチェーンアドレス、第２の電力設備が第１の電力設備から電力を受電した電力量を示す受電情報、及び第２の電子署名を含む。
【００７０】
＜署名生成部１０１３＞
署名生成部１０１３は、入力部１０１１から受信した売電依頼情報または売電依頼情報を基にグループ署名の署名を生成する。署名生成部１０１３は、署名生成鍵を、事前にサービスサーバ３００から受信して保持している。
【００７１】
より具体的には、署名生成部１０１３は、事前に入力部１０１１により送信された電力取引のサービスに申し込みするための情報を受けてサービスサーバ３００が生成したグループ署名の署名用の秘密鍵すなわちユーザ個別の署名生成鍵を受信して保持する。署名生成部１０１３は、保持している署名生成鍵を用いて、入力部１０１１から受信した売電依頼情報または買電依頼情報を基に、グループ署名の署名である第１の電子署名または第２の電子署名を生成する。
【００７２】
なお、グループ署名は、非特許文献２の方法を用いて生成及び利用してもよい。署名生成部１０１３が生成するグループ署名の署名すなわち第１の電子署名または第２の電子署名は、ユーザ個別の署名生成鍵すなわち第１のユーザの署名生成鍵または第２のユーザの署名生成鍵を用いて生成される。署名生成部１０１３が生成した第１の電子署名または第２の電子署名からは、第１ユーザまたは第２ユーザが同一のグループに属するメンバであることは判別できるが、どのユーザが第１の電子署名または第２の電子署名を生成したかを特定できない。これは、上述したグループ署名の特性である。
【００７３】
＜制御部１０１４＞
制御部１０１４は、認証サーバ２００ａ等から電力取引が成立した旨を示す電力取引成立通知を受信すると、電力取引成立通知に基づき、太陽光発電１０２または蓄電池１０３に指示を送信する。例えば、制御部１０１４は、電力を送電させる制御を行う場合、太陽光発電１０２で発電した電力または蓄電池１０３に蓄電している電力を電力ネットワーク５００に送電する旨を示す送電指示を太陽光発電１０２と蓄電池１０３に送信する。また、制御部１０１４は、電力を利用させる制御を行う場合、電力ネットワーク５００から電力を利用し、蓄電池１０３に電力を蓄電する旨を示す受電指示を蓄電池１０３に送信する。
【００７４】
制御部１０１４は、コントローラ１０１に内蔵または接続されるディスプレイを制御し、認証サーバ２００ａに送信した売電依頼情報または買電依頼情報等を表示させてもよい。また、制御部１０１４は、第１のトランザクションデータの正当性についての合意が複数の認証サーバによってされ、第１のトランザクションデータを含むブロックが複数の認証サーバそれぞれの分散台帳に記録された場合、売電量情報及び第１のタイムスタンプを含み、第１の電力設備の売電希望を示す売電登録情報をディスプレイに表示させてもよい。なお、制御部１０１４は、複数の認証サーバによって第１のトランザクションデータの正当性についての合意がされるまでの間も売電登録情報をディスプレイに表示させてもよい。
【００７５】
一方、例えば制御部１０１４は、第１のトランザクションの正当性についての合意が複数の認証サーバによってされなかった場合に、その旨を示す失敗情報をディスプレイに表示させてもよい。
【００７６】
＜記録部１０１５＞
記録部１０１５は、トランザクションデータ生成部１０１２で生成したトランザクションデータを記録する。本実施の形態では、記録部１０１５は、トランザクションデータ生成部１０１２で生成した第１のトランザクションデータ若しくは第２のトランザクションデータ、または、第４のトランザクションデータ若しくは第５のトランザクションデータを記録する。
【００７７】
＜通信部１０１６＞
通信部１０１６は、通信ネットワーク４００を介してサービスサーバ３００及び認証サーバ２００ａ等との通信を行う。この通信は、ＴＬＳ（Transport Layer Security）によりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部１０１６で保持してもよい。
【００７８】
本実施の形態では、通信部１０１６は、通信ネットワーク４００を介して第１のトランザクションデータまたは第２のトランザクションデータを複数の認証サーバのうち第１のサーバに送信する。また、通信部１０１６は、通信ネットワーク４００を介して第４のトランザクションデータまたは第５のトランザクションデータを複数の認証サーバのうちの少なくとも一のサーバである第１の認証サーバに送信する。
【００７９】
次に、認証サーバ２００ａ等について説明する。
【００８０】
［１．４  認証サーバ２００ａの構成］
図６は、本実施の形態に係る認証サーバ２００ａの機能構成を示すブロック図である。認証サーバ２００ｂ、２００ｃも同様の構成であるため、認証サーバ２００ａを例に挙げて説明する。
【００８１】
認証サーバ２００ａは、図６に示すように、署名検証部２１１と、トランザクションデータ検証部２１２と、ブロック生成部２１３と、同期部２１４と、取引生成部２１５と、記録部２１６と、通信部２１７とを備える。認証サーバ２００ａは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【００８２】
＜署名検証部２１１＞
署名検証部２１１は、第１のトランザクションデータを受け取った場合、受け取った第１のトランザクションデータに含まれる第１の電子署名を検証する。署名検証部２１１は、第２のトランザクションデータを受け取った場合、受け取った第２のトランザクションデータに含まれる第２の電子署名を検証する。同様に、署名検証部２１１は、第４のトランザクションデータを受け取った場合、受け取った第４のトランザクションデータに含まれる第１の電子署名を検証する。署名検証部２１１は、第５のトランザクションデータを受け取った場合、受け取った第５のトランザクションデータに含まれる第２の電子署名を検証する。ここで、署名検証部２１１は、サービスサーバ３００により配布されたグループ署名の署名検証鍵である公開鍵を保持している。署名検証部２１１は、保持している公開鍵を用いて第１の電子署名または第２の電子署名を検証する。
【００８３】
このように、署名検証部２１１は、受信したトランザクションデータのグループ署名である第１の電子署名または第２の電子署名の検証を行う。署名検証部２１１は、グループ署名の署名検証鍵を、サービスサーバ３００から事前に受信し保持している。
【００８４】
また、署名検証部２１１は、検証の結果、グループ署名すなわち第１の電子署名または第２の電子署名の検証が正しい場合、その旨をトランザクションデータ検証部２１２に通知する。
【００８５】
なお、グループ署名の検証において、署名検証鍵はサービス共通である。署名検証部２１１は、署名検証鍵を用いることで、第１の電子署名が、サービスサーバ３００に登録されている署名生成鍵で生成されている署名であることを検証できる一方で、どの署名生成鍵で生成されたかは特定できない。つまり、認証サーバ２００ａ側では、受信したトランザクションデータがどの住宅のトランザクションデータであるかをブロックチェーンアドレスで識別できる。一方、認証サーバ２００ａ側ではブロックチェーンアドレスから住宅の特定はできないため、どの住宅がトランザクションデータを生成したかを特定することはできない。これは、上述したグループ署名の特性である。
【００８６】
＜トランザクションデータ検証部２１２＞
トランザクションデータ検証部２１２は、第１のトランザクションデータを受け取った場合、受け取った第１のトランザクションデータの正当性を検証する。トランザクションデータ検証部２１２は、第２のトランザクションデータを受け取った場合、受け取った第２のトランザクションデータの正当性を検証する。同様に、トランザクションデータ検証部２１２は、第４のトランザクションデータまたは第５のトランザクションデータを受け取った場合、受け取った第４のトランザクションデータまたは第５のトランザクションデータの正当性を検証する。
【００８７】
このように、トランザクションデータ検証部２１２は、住宅１００ａ等から受信したトランザクションデータの正当性を検証する。より具体的には、トランザクションデータ検証部２１２は、住宅１００ａ等から、トランザクションデータを受信すると、トランザクションデータに含まれるブロックチェーンアドレスと、売電依頼情報若しくは買電依頼情報または電力の情報が正しいものであるかを検証する。トランザクションデータ検証部２１２は、検証した結果、トランザクションデータが正当なトランザクションデータであると判断し、かつ、署名検証部２１１から署名の正当性の通知を受信した場合、トランザクションデータを記録部２１６に記録する。
【００８８】
また、トランザクションデータ検証部２１２は、電力の情報が正しいものであるかの検証として、記録部２１６に記録されている電力取引結果を示すトランザクションデータを参照し、正しく電力が送電または利用されているかの検証を行う。トランザクションデータ検証部２１２は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを同期部２１４へ通知する。
【００８９】
＜ブロック生成部２１３＞
ブロック生成部２１３は、第１の電子署名の検証及び第１のトランザクションデータの正当性の検証が成功した場合、第１のサーバとは異なる複数の第２のサーバである他の認証サーバ２００ｂ、２００ｃとともに、第１のトランザクションデータの正当性について合意するための、第１のコンセンサスアルゴリズムを実行する。また、ブロック生成部２１３は、第２の電子署名の検証及び第２のトランザクションデータの正当性の検証が成功した場合、他の認証サーバ２００ｂ、２００ｃとともに、第２のトランザクションデータの正当性について合意するための第２のコンセンサスアルゴリズムを実行する。また、ブロック生成部２１３は、第１の電子署名の検証及び第４のトランザクションデータの正当性の検証が成功した場合、他の認証サーバ２００ｂ、２００ｃとともに、第４のトランザクションデータの正当性について合意するための第４のコンセンサスアルゴリズムを実行してもよい。また、ブロック生成部２１３は、第２の電子署名の検証及び第５のトランザクションデータの正当性の検証が成功した場合、他の認証サーバ２００ｂ、２００ｃとともに、第５のトランザクションデータの正当性について合意するための第５のコンセンサスアルゴリズムを実行してもよい。また、ブロック生成部２１３は、後述する第３のトランザクションデータが他の認証サーバ２００ｂ、２００ｃに転送された場合、他の認証サーバ２００ｂ、２００ｃとともに、第３のトランザクションデータの正当性について合意するための第３のコンセンサスアルゴリズムを実行してもよい。
【００９０】
このように、ブロック生成部２１３は、複数の認証サーバの間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、ＰＢＦＴ（Practical Byzantine Fault Tolerance）とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。なお、ＰＢＦＴを用いる場合、ブロック生成部２１３は、まず、他の認証サーバ２００ｂ、２００ｃのそれぞれからトランザクションの正当性の検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、ブロック生成部２１３は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性について合意された場合であると判定すればよい。
【００９１】
また、ブロック生成部２１３は、コンセンサスアルゴリズムによってトランザクションデータの正当性について合意された場合、トランザクションデータを含むブロックを認証サーバ２００ａの記憶装置２０１ａの分散台帳に記録する。なお、このコンセンサスアルゴリズムは、第１のコンセンサスアルゴリズム〜第５のコンセンサスアルゴリズムを意味し、このトランザクションデータは、第１のトランザクションデータ〜第５のトランザクションデータを意味する。
【００９２】
このように、本実施の形態では、ブロック生成部２１３は、認証サーバ２００ａ、認証サーバ２００ｂ及び認証サーバ２００ｃの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部２１３は、まず、一以上のトランザクションデータを含むブロックチェーンのブロックを生成する。次に、ブロック生成部２１３は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部２１３は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部２１６に記録する。ブロック生成部２１３により生成されたブロックは、記録部２１６に記録されているブロックチェーンに接続されて記録される。
【００９３】
ここで、ブロックチェーンのデータ構造と、トランザクションデータのデータ構造とについて説明する。
【００９４】
図７Ａは、ブロックチェーンのデータ構造を示す説明図である。
【００９５】
ブロックチェーンは、その記録単位であるブロックがチェーン（鎖）状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックＢ２には、その前のブロックＢ１のハッシュ値が含まれている。そして、ブロックＢ２に含まれる複数のトランザクションデータと、ブロックＢ１のハッシュ値とから演算されたハッシュ値が、ブロックＢ２のハッシュ値として、ブロックＢ３に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
【００９６】
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
【００９７】
本実施の形態では、各トランザクションデータは、売電依頼を示す第１のトランザクションデータ、買電依頼を示す第２のトランザクションデータ、及び、後述する電力取引のマッチング結果を示す第３のトランザクションデータを示している。また、各トランザクションデータは、売電の電力取引結果を示す第４のトランザクションデータ、及び、買電の電力取引結果を示す第５のトランザクションデータを示している。
【００９８】
図７Ｂは、トランザクションデータのデータ構造を示す説明図である。
【００９９】
図７Ｂに示されるトランザクションデータＤ１は、第１トランザクションデータ〜第５トランザクションデータの一例である。トランザクションデータＤ１は、保持者を示すアドレスＰ１と、提供先を示すアドレスＰ２と、アドレスＰ１及びＰ２のハッシュ値に対して、保持者の署名鍵で署名することで生成される電子署名Ｐ３とを含んでいる。なお、新たにトランザクションデータが生成されるときのトランザクションデータは、アドレスＰ１が空欄となる。
【０１００】
＜同期部２１４＞
同期部２１４は、複数の認証サーバ（認証サーバ２００ａ〜２００ｃ）の間でブロックチェーンのブロック、または、トランザクションデータの同期を行う。
【０１０１】
より具体的には、同期部２１４は、トランザクションデータ検証部２１２により、住宅１００ａから取得したトランザクションデータの正当性が検証されると、他の認証サーバ２００ｂ及び２００ｃにトランザクションデータの複製を転送する。複数の認証サーバでは、ｐｅｅｒ  ｔｏ  ｐｅｅｒでブロックチェーンのトランザクションデータの同期が行われる。そして、同期部２１４は、同期が行われたブロックチェーンのトランザクションデータを記録部２１６に記録する。
【０１０２】
例えば、同期部２１４は、売電依頼を示す第１トランザクションデータまたは買電依頼を示す第２トランザクションデータを受信し、正当性を検証すると、他の認証サーバ２００ｂ及び２００ｃに第１または第２のトランザクションデータを転送するとともに、検証したトランザクションデータを記録部２１６に記録する。また、同期部２１４は、他の認証サーバ２００ｂ及び２００ｃからトランザクションデータを受信した場合、トランザクションデータを記録部２１６に記録する。
【０１０３】
＜取引生成部２１５＞
取引生成部２１５は、記憶装置２０１ａの分散台帳に記録されている売電量情報及び第１のタイムスタンプと、買電量情報及び第２のタイムスタンプとを比較することで電力取引のマッチングを行う。取引生成部２１５は、電力取引のマッチングが成立した場合、電力取引のマッチングが成立した売電元を示す第１のブロックチェーンアドレス及び買電先を示す第２のブロックチェーンアドレス、並びに、電力取引において取引される取引電力量とを含む第３のトランザクションデータを生成する。なお、取引生成部２１５は、電力取引が成立した場合、電力取引が成立した旨を、第１の電力設備及び第２の電力設備に通知してもよい。
【０１０４】
本実施の形態では、取引生成部２１５は、記録部２１６に記録されている複数の売電依頼で構成される売電リストと買電依頼で構成される買電リストとを照合し、電力の売買取引のマッチングを行う。取引生成部２１５は、マッチングが成立した場合、電力取引のマッチング結果を示す第３のトランザクションデータを生成し、記録部２１６に記録する。
【０１０５】
図８Ａは、本実施の形態に係る売電リストの一例を示す図である。図８Ｂは、本実施の形態に係る買電リストの一例を示す図である。図８Ａに示すように、売電リストは、ブロックチェーンアドレスと、売電可能な日付と、その日に売電可能な売電量と、売電の単価と、グループ署名とを含んで構成されている。このように、売電リストの各行には、第１のブロックチェーンアドレス、売電可能な第１の日時を示す第１のタイムスタンプ、及び、第１のユーザに紐づけられる第１の電子署名が含まれている。また、図８Ｂに示すように、買電リストは、ブロックチェーンアドレスと、買電可能な日付と、その日に買電可能な買電量と、買電の単価と、グループ署名とを含んで構成されている。このように、買電リストの各行には、第２のブロックチェーンアドレス、買電可能な第２の日時を示す第２のタイムスタンプ、及び、第２のユーザに紐づけられる第２の電子署名が含まれている。
【０１０６】
取引生成部２１５は、図８Ａに示すような売電リストの売電可能な日付と売電量と、図８Ｂに示すような買電リストの日付と買電量とを参照し、マッチングを行う。例えば、図８Ａでは、ブロックチェーンアドレス「０ｘ０３５４７９２１」が日付「２０１７年１２月１５日の１３時」から売電量「２０ｋＷｈ」を単価「２０円」で売電を希望することが記録されている。一方、図８Ｂでは、ブロックチェーンアドレス「０ｘ０４５８７４６３」が日付「２０１７年１２月１５日の１３時３０分」から買電量「１０ｋＷｈ」を単価「２０円」で買電を希望することが記録されている。これらから、取引生成部２１５は、ブロックチェーンアドレス「０ｘ０３５４７９２１」からブロックチェーンアドレス「０ｘ０４５８７４６３」に日付「２０１７年１２月１５日１３時３０分」から取引量「１０ｋＷｈ」を単価「２０円」で取引する電力取引が成立したと決定する。取引生成部２１５は、電力取引が成立すると、売電元のブロックチェーンアドレス及び買電先のブロックチェーンアドレスと、日付と、取引量と、単価とを含む電力取引のマッチング結果を示すトランザクションデータを生成し、記録部２１６に記録する。
【０１０７】
図８Ｃは、本実施の形態に係る取引生成部２１５により行われた電力取引のマッチング結果を示す電力取引リストの一例を示す図である。図８Ｃに示す電力取引リストは、売電元のブロックチェーンアドレスである売電元アドレスと、買電先のブロックチェーンアドレスである買電先アドレスと、日付と、電力の取引量と、単価とが示されている。なお、電力取引リストには、認証サーバ２００ａの署名が含まれるがここでは図示しない。このように、電力取引リストの各行には、電力取引のマッチングが成立した売電元を示す第１のブロックチェーンアドレス及び買電先を示す第２のブロックチェーンアドレス、並びに、電力取引において取引される取引電力量が含まれている。
【０１０８】
取引生成部２１５は、図８Ｃの電量取引リストの行に示される情報を含む電力取引のマッチング結果を示すトランザクションデータを生成し、記録部２１６に記録する。そして、取引生成部２１５は、この電力取引のマッチング結果を示すトランザクションデータを生成した後に、電力取引を行う住宅１００ａ等に電力取引の内容を示す電力取引結果を通知する。なお、取引生成部２１５は、電力取引結果を、定期的にブロードキャストをしてもよいし、電力取引を行う住宅をブロックチェーンアドレスで識別できる場合は、それぞれに通知するとしてもよい。
【０１０９】
＜記録部２１６＞
記録部２１６は、ブロックチェーンのトランザクションデータをブロックで記憶装置２０１ａに記録する。当該記憶装置２０１ａは、記録部２１６の内部に構成されていてもよいし、図１に示すように、認証サーバ２００ａの外部に構成されていてもよい。このトランザクションデータは、上述した、売電依頼を示す第１トランザクションデータ、買電依頼を示す第２トランザクションデータ、及び、電力取引のマッチング結果を示す第３トランザクションデータである。また、このトランザクションデータは、売電の電力取引結果を示す第４トランザクションデータ、及び、買電の電力取引結果を示す第５トランザクションデータであってもよい。
【０１１０】
＜通信部２１７＞
通信部２１７は、２以上の住宅１００ａ等、他の認証サーバ２００ｂ、２００ｃ、及び、サービスサーバ３００との通信を行う。より具体的には、通信部２１７は、２以上の住宅１００ａ等、他の認証サーバ２００ｂ、２００ｃ、及び、サービスサーバ３００と通信を行う通信インタフェースである。２以上の住宅１００ａ等及びサービスサーバ３００との通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部２１７で保持してもよい。
【０１１１】
次に、サービスサーバ３００について説明する。
【０１１２】
［１．５  サービスサーバ３００の構成］
図９は、本実施の形態に係るサービスサーバ３００の機能構成を示すブロック図である。
【０１１３】
サービスサーバ３００は、図９に示すように、鍵管理部３１１と、署名開示部３１２と、インセンティブ管理部３１３と、記録部３１４と、通信部３１５とを備える。サービスサーバ３００は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【０１１４】
＜鍵管理部３１１＞
鍵管理部３１１は、サービスに登録している住宅１００ａ等のユーザの申し込みに基づいてグループ署名の鍵を生成し、管理する。例えば、鍵管理部３１１は、第１のユーザ及び第２のユーザが属するグループに割り当てたグループ署名の鍵を生成する。本実施の形態では、鍵管理部３１１は、第１の電子署名を生成するのに用いられるグループ署名の署名用の秘密鍵を生成し、第１の電力設備に送信する。また、鍵管理部３１１は、第２の電子署名を生成するのに用いられるグループ署名の署名用の秘密鍵を生成し、第２の電力設備に送信する。また、鍵管理部３１１は、グループ署名の署名検証鍵である公開鍵を複数の認証サーバに配布する。また、鍵管理部３１１は、グループ署名の署名開示鍵を生成し、記録部３１４に記録する。
【０１１５】
より具体的には、鍵管理部３１１は、第１のユーザを含む複数のユーザが属する第１のグループに割り当てたグループ署名の鍵を生成し、第２のユーザを含む複数のユーザが属する第２のグループに割り当てたグループ署名の鍵を生成する。
【０１１６】
また、鍵管理部３１１は、第１の電子署名を生成するのに用いられるグループ署名の署名用の秘密鍵を生成し、第１の電力設備に送信し、第１のグループに割り当てたグループ署名の署名検証鍵である公開鍵を複数の認証サーバに配布する。また、鍵管理部３１１は、第２の電子署名を生成するのに用いられるグループ署名の署名用の秘密鍵を生成し、第２の電力設備に送信し、第２のグループに割り当てたグループ署名の署名検証鍵である公開鍵を複数の認証サーバに配布する。
【０１１７】
換言すると、鍵管理部３１１は、生成したグループ署名の署名生成鍵を、申し込んだ住宅１００ａ等のユーザに送信する。また、鍵管理部３１１は、生成したグループ署名の署名検証鍵を認証サーバ２００ａ等に送信する。なお、鍵管理部３１１は、生成した署名開示鍵を、記録部３１４に記録する。
【０１１８】
＜署名開示部３１２＞
署名開示部３１２は、一の認証サーバの分散台帳を参照し、トランザクションデータを取得する。署名開示部３１２は、取得したトランザクションデータに含まれるグループ署名を開示し、グループ署名を行ったユーザを特定する。
【０１１９】
本実施の形態では、署名開示部３１２は、認証サーバ２００ａ等に売電の電力取引結果を示すトランザクションデータの参照依頼を送付して、当該トランザクションデータを含むブロック等の分散台帳の内容を受信する。署名開示部３１２は、受信して得たトランザクションデータに含まれているグループ署名の開示を行い、売電したユーザを特定する。これは、上述したグループ署名の特性から、サービスサーバ３００でのみ可能な処理である。そして、署名開示部３１２は、特定したユーザを示すユーザ情報をインセンティブ管理部に通知する。
【０１２０】
＜インセンティブ管理部３１３＞
インセンティブ管理部３１３は、特定したユーザに対してインセンティブの支払いを行った後に、インセンティブの支払いを行った旨を通知する。
【０１２１】
本実施の形態では、インセンティブ管理部３１３は、署名開示部３１２からユーザ情報を受信すると、特定したユーザに対し、インセンティブの通知を行う。インセンティブの支払いは、現金を振り込むとしてもよいし、電力取引ポイントを支払うとしてもよいし、ブロックチェーンを利用した仮想通貨で支払うとしてもよい。また、インセンティブの支払いは、他の電力取引または商品購買の際の値引き額として支払うとしてもよい。なお、インセンティブの支払いを、仮想通過で支払う場合には、インセンティブ管理部３１３は、署名開示部３１２からユーザ情報を開示せずすなわちグループ署名の署名開示をせずに、支払うとしてもよい。
【０１２２】
＜記録部３１４＞
記録部３１４は、鍵管理部３１１で生成されたグループ鍵の署名生成鍵、署名検証鍵及び署名開示鍵を記録する。
【０１２３】
＜通信部３１５＞
通信部３１５は、２以上の住宅１００ａ等、及び、認証サーバ２００ａ、２００ｂ、２００ｃとの通信を行う。より具体的には、通信部３１５は、２以上の住宅１００ａ等、及び、認証サーバ２００ａ、２００ｂ、２００ｃと通信を行う通信インタフェースである。２以上の住宅１００ａ等及び認証サーバ２００ａ、２００ｂ、２００ｃとの通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部３１５で保持してもよい。
【０１２４】
［１．６  サービスサーバと住宅間の登録処理］
続いて、サービスサーバ３００と住宅１００ａ等と認証サーバ２００ａ等との間におけるサービスの登録処理について説明する。ここでは、一例として、各住宅のユーザが住宅１００ａ等にあるコントローラ１０１を用いてサービスサーバ３００にサービス申し込みを行う場合について説明する。
【０１２５】
図１０は、本実施の形態に係るサービスサーバ３００と住宅１００ａ等と認証サーバ２００ａ等の間におけるサービスの登録処理を示すシーケンス図である。
【０１２６】
まず、ステップＳ１０１において、住宅１００ａのユーザは、電力取引のサービスに申し込みするための情報である申し込み情報をサービスサーバ３００に送信する。同様に、ステップＳ１０２において、住宅１００ｂのユーザは、申し込み情報をサービスサーバ３００に送信する。また、ステップＳ１０３において、住宅１００ｃのユーザは、申し込み情報をサービスサーバ３００に送信する。このように、各住宅のユーザは、各住宅からサービスの申し込み情報をサービスサーバ３００に送信することで、サービスの申し込みを行う。
【０１２７】
次に、ステップＳ１０４において、サービスサーバ３００は、各住宅から申し込み情報を受信すると、申し込み情報に基づいてグループ署名の鍵を生成する。具体的には、サービスサーバ３００は、申し込み情報に基づいて各住宅向けにグループ署名の署名用の秘密鍵であるユーザ個別の署名生成鍵を生成し、各住宅に送信する。また、サービスサーバ３００は、申し込み情報に基づいて、署名開示鍵を生成し、自身で保持する。また、サービスサーバ３００は、申し込み情報に基づいて、グループ署名の署名検証鍵である公開鍵を生成し、署名検証鍵を、認証サーバ２００ａ等に送信する。
【０１２８】
次に、ステップＳ１０５において、住宅１００ａのユーザは、サービスサーバ３００からユーザ個別の署名生成鍵を受信し、登録する。同様に、ステップＳ１０６において、住宅１００ｂのユーザは、サービスサーバ３００からユーザ個別の署名生成鍵を受信し、登録する。また、ステップＳ１０７において、住宅１００ｃのユーザは、サービスサーバ３００からユーザ個別の署名生成鍵を受信し、登録する。このように、各住宅は、サービスサーバ３００からグループ署名の署名用の秘密鍵を受信し、登録する。
【０１２９】
次に、ステップＳ１０８において、認証サーバ２００ａ等では、サービスサーバ３００から、グループ署名の署名検証鍵である公開鍵を受信し、登録する。
【０１３０】
［１．７  住宅と認証サーバ間の電力取引の全体シーケンス］
続いて、住宅１００ａ等と認証サーバ２００ａ等との間での電力取引のシーケンスについて説明する。図１１は、本実施の形態に係る住宅１００ａ等と認証サーバ２００ａ等の間の電力取引の全体シーケンス図である。各処理については後述する。
【０１３１】
まず、ステップＳ２００において、例えば住宅１００ａと認証サーバ２００ａ、２００ｂ、２００ｃとの間で売電依頼処理が行われる。
【０１３２】
次に、ステップＳ３００において、例えば住宅１００ｃと認証サーバ２００ａ、２００ｂ、２００ｃとの間で買電依頼処理が行われる。
【０１３３】
次に、ステップＳ４００において、認証サーバ２００ａ、２００ｂ、２００ｃのいずれかで電力取引のマッチングが成立すると、成立した電力取引に基づいて電力取引処理が行われる。
【０１３４】
なお、ステップＳ２００の売電依頼処理と、ステップＳ３００の買電依頼処理とはどちらが先に実行されてもよく、非定期に行われる。また、ステップＳ４００の電力取引処理は、ステップＳ２００の売電依頼処理またはステップＳ３００の買電依頼処理が行われるたびに実行されてもよいし、定期的に実行されてもよい。
【０１３５】
［１．７．１  住宅と認証サーバ間の売電依頼処理］
続いて、住宅１００ａ等と認証サーバ２００ａ等と間での売電依頼処理について説明する。図１２は、本実施の形態に係る住宅１００ａ等と認証サーバ２００ａ等の間の売電依頼処理のシーケンス図である。図１２では、一例として住宅１００ａが売電するとして説明するが、これに限らない。他の住宅１００ｂ等でもよく同様の売電依頼処理のシーケンスとなる。
【０１３６】
まず、ステップＳ２０１において、住宅１００ａのコントローラ１０１またはユーザは、売電を希望する場合、電力の売電依頼情報を入力する。例えば、住宅１００ａのユーザが外出するため、住宅１００ａでの電力の利用の予定がない場合に売電依頼が行われる。また、例えば、住宅１００ａにおいて、太陽光発電１０２によって発電された電力が余剰になった場合、または太陽光発電１０２によって発電される電力が余剰になることが見込まれる場合などに売電依頼が行われる。
【０１３７】
次に、ステップＳ２０３において、住宅１００ａのコントローラ１０１は、入力された売電依頼情報に基づき、売電依頼を示すトランザクションデータ（以下、第１のトランザクションデータと称する）を生成する。第１のトランザクションデータは、上述したように、ブロックチェーンアドレス、日付、売電量、単価、及び、グループ署名を含んで構成される。
【０１３８】
次に、ステップＳ２０４において、住宅１００ａのコントローラ１０１は、生成した第１のトランザクションデータを認証サーバ２００ａに送信する。なお、図１２に示す例では、住宅１００ａのコントローラ１０１は、生成した第１のトランザクションデータを認証サーバ２００ａに送信しているが、他の認証サーバ２００ｂ、２００ｃに送信してもよい。他の認証サーバ２００ｂ、２００ｃに送信した場合も同様である。
【０１３９】
次に、ステップＳ２０５において、認証サーバ２００ａは、住宅１００ａから受信した第１のトランザクションデータのグループ署名の検証を行う。
【０１４０】
ステップＳ２０５において、第１のトランザクションデータのグループ署名の検証が成功した場合（Ｓ２０５でＹ）、認証サーバ２００ａは、住宅１００ａから受信した第１のトランザクションデータの正当性の検証を行う（Ｓ２０６）。
【０１４１】
ステップＳ２０６において、第１のトランザクションデータの正当性の検証が成功した場合（Ｓ２０６でＹ）、他の認証サーバ２００ｂ、２００ｃに、第１のトランザクションデータを転送する（Ｓ２０８）。他の認証サーバ２００ｂ、２００ｃでも、受信した第１のトランザクションデータを同様に検証する。
【０１４２】
なお、ステップＳ２０５において、第１のトランザクションデータのグループ署名の検証が成功しなかった場合（Ｓ２０５でＮ）、認証サーバ２００ａは、住宅１００ａにその旨の通知を送信し（Ｓ２０７）、処理を終了する。同様に、ステップＳ２０６において、第１のトランザクションデータの正当性の検証が成功しなかった場合（Ｓ２０６でＮ）、認証サーバ２００ａは、住宅１００ａにその旨の通知を送信し（Ｓ２０７）、処理を終了する。ステップＳ２０５とステップＳ２０６は図１２に示す順に行わなくてもよく、逆順であってもよい。
【０１４３】
次に、ステップＳ２０９において、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、第１のトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第１のトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第１のトランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。
【０１４４】
［１．７．２  住宅と認証サーバ間の買電依頼処理］
続いて、住宅１００ａ等と認証サーバ２００ａ等との間での買電依頼処理について説明する。図１３は、本実施の形態に係る住宅１００ａ等と認証サーバ２００ａ等の間の買電依頼処理のシーケンス図である。図１３では、一例として住宅１００ｃが売電するとして説明するが、これに限らない。他の住宅１００ｂ等でもよく同様の買電依頼処理のシーケンスとなる。
【０１４５】
まず、ステップＳ３０１において、住宅１００ｃのコントローラ１０１またはユーザは、買電を希望する場合、電力の買電依頼情報を入力する。例えば、住宅１００ｃにおいて、蓄電池１０３の蓄電量が少なく、かつ、多くの電力の利用が予定される場合に買電依頼が行われる。また、例えば、住宅１００ｃにおいて、他の住宅１００ａ等から余剰電力を買電したほうが電力会社から電力を購入するより安く済む場合などに買電依頼が行われてもよい。
【０１４６】
次に、ステップＳ３０３において、住宅１００ｃのコントローラ１０１は、入力された買電依頼情報に基づき、買電依頼を示すトランザクションデータ（以下、第２のトランザクションデータと称する）を生成する。第２のトランザクションデータは、上述したように、ブロックチェーンアドレス、日付、買電量、単価、グループ署名を含んで構成される。
【０１４７】
次に、ステップＳ３０４において、住宅１００ｃのコントローラ１０１は、生成した第２のトランザクションデータを認証サーバ２００ｃに送信する。なお、図１３に示す例では、住宅１００ｃのコントローラ１０１は、生成した第２のトランザクションデータを認証サーバ２００ｃに送信しているが、他の認証サーバ２００ａ、２００ｂに送信してもよい。他の認証サーバ２００ａ、２００ｂに送信した場合も同様である。
【０１４８】
次に、ステップＳ３０５において、認証サーバ２００ｃは、住宅１００ｃから受信した第２のトランザクションデータのグループ署名の検証を行う。
【０１４９】
ステップＳ３０５において、第２のトランザクションデータのグループ署名の検証が成功した場合（Ｓ３０５でＹ）、認証サーバ２００ｃは、住宅１００ｃから受信した第２のトランザクションデータの正当性の検証を行う（Ｓ３０６）。
【０１５０】
ステップＳ３０６において、第２のトランザクションデータの正当性の検証が成功した場合（Ｓ３０６でＹ）、他の認証サーバ２００ａ、２００ｂに、第２のトランザクションデータを転送する（Ｓ３０８）。他の認証サーバ２００ａ、２００ｂでも、受信した第２のトランザクションデータを同様に検証する。
【０１５１】
なお、ステップＳ３０５において、第２のトランザクションデータのグループ署名の検証が成功しなかった場合（Ｓ３０５でＮ）、認証サーバ２００ｃは、住宅１００ｃにその旨の通知を送信し（Ｓ３０７）、処理を終了する。同様に、ステップＳ３０６において、第２のトランザクションデータの正当性の検証が成功しなかった場合（Ｓ３０６でＮ）、認証サーバ２００ｃは、住宅１００ｃにその旨の通知を送信し（Ｓ３０７）、処理を終了する。ステップＳ３０５とステップＳ３０６は図１３に示す順に行わなくてもよく、逆順であってもよい。
【０１５２】
次に、ステップＳ３０９において、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、第２のトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第２のトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第２のトランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。
【０１５３】
［１．７．３  住宅と認証サーバ間の電力取引処理］
続いて、住宅１００ａ等と認証サーバ２００ａ等との間での電力取引処理について説明する。図１４及び図１５は、本実施の形態に係る住宅１００ａ等と認証サーバ２００ａ等の間の電力取引処理のシーケンス図である。図１４では、一例として認証サーバ２００ａが電力取引のマッチング等を行うとして説明するが、これに限らない。他の認証サーバ２００ｂ、２００ｃが行うとしてもよく、同様の電力取引処理のシーケンスとなる。
【０１５４】
まず、ステップＳ４０１において、認証サーバ２００ａは、売電リストと買電リストとをマッチングする。認証サーバ２００ａは、売電リストと買電リストとの照合すなわちマッチングを定期的に行ってもよいし、売電依頼または買電依頼のイベント発生毎に行ってもよい。
【０１５５】
次に、ステップＳ４０２において、認証サーバ２００ａは、売電リストと買電リストとを照合し、電力取引のマッチングが成立するかを判定する。より具体的には、認証サーバ２００ａは、売電したいブロックチェーンアドレスの供給者と買電したいブロックチェーンアドレスの需要者との日付、電力量及び単価がそれぞれの許容される範囲に入っているかを確認する。なお、ステップＳ４０２において、認証サーバ２００ａは、電力取引のマッチングが成立しないと判定した場合（Ｓ４０２でＮ）、ステップＳ４０１に戻って、再度マッチングを行う。
【０１５６】
一方、ステップＳ４０２において、認証サーバ２００ａは、電力取引のマッチングが成立すると判定した場合（Ｓ４０２でＹ）、電力取引のマッチング結果を示すトランザクションデータ（以下、第３のトランザクションデータと称する）を生成する（Ｓ４０３）。
【０１５７】
次に、ステップＳ４０４において、認証サーバ２００ａは、生成した第３のトランザクションデータを他の認証サーバ２００ｂ、２００ｃに転送する。
【０１５８】
次に、ステップＳ４０５において、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、第３のトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第３のトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第３のトランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。
【０１５９】
次に、ステップＳ４０６において、認証サーバ２００ａは、電力取引の内容を示す電力取引結果を通知する。なお、認証サーバ２００ａは、通知方法として、電力取引のマッチング成立毎にサービスに参加している住宅１００ａ等にブロードキャストしてもよいし、定期的に各住宅１００ａ等に電力取引結果を通知してもよい。
【０１６０】
次に、ステップＳ４０７において、住宅１００ａは、電力取引結果を受信し、電力取引のマッチングが成立しているかを確認する。
【０１６１】
次に、ステップＳ４０８において、住宅１００ａは、電力取引結果に基づき、電力を電力ネットワーク５００に送電する。
【０１６２】
一方、ステップＳ４０９において、住宅１００ｃは、電力取引結果を受信し、電力取引のマッチングが成立しているかを確認する。
【０１６３】
次に、ステップＳ４１０において、住宅１００ｃは、電力取引結果に基づき、電力ネットワーク５００からの電力を利用する。
【０１６４】
次に、図１５に示すように、ステップＳ４１１において、住宅１００ａは、電力を電力ネットワーク５００に送電後、電力を送電した情報を含む売電の電力取引結果を示すトランザクションデータ（以下、第４のトランザクションデータと称する）を生成する。
【０１６５】
次に、ステップＳ４１２において、住宅１００ａは、生成した第４のトランザクションデータを、認証サーバ２００ａに送信する。なお、上述したように、第４のトランザクションデータには、住宅１００ａのユーザが管理する署名生成鍵で生成されたグループ署名すなわち第１の電子署名も含まれている。
【０１６６】
次に、ステップＳ４１３において、認証サーバ２００ａは、受信した第４のトランザクションデータの検証を行う。より具体的には、認証サーバ２００ａは、第４のトランザクションデータのグループ署名の検証及び第４のトランザクションデータの正当性の検証を行う。また、認証サーバ２００ａは、第４のトランザクションデータの検証として、第３のトランザクションデータに含まれる電力取引結果と矛盾をしていないか否かの検証も行う。
【０１６７】
ステップＳ４１３において、認証サーバ２００ａは、第４のトランザクションデータの検証が成功しなかった場合（Ｓ４１３でＮ）、住宅１００ａに、第４のトランザクションデータの検証が成功しなかった旨を示すエラー通知を送信し（Ｓ４１４）、処理を終了する。
【０１６８】
一方、ステップＳ４１３において、認証サーバ２００ａは、第４のトランザクションデータの検証が成功した場合（Ｓ４１３でＹ）は、他の認証サーバ２００ｂ、２００ｃに、第４のトランザクションデータを転送する（Ｓ４１５）。他の認証サーバ２００ｂ、２００ｃでも、受信した第４のトランザクションデータを同様に検証する。
【０１６９】
また、ステップＳ４１６において、住宅１００ｃは、電力ネットワーク５００からの電力を利用後、電力を利用した情報を含む買電の電力取引結果を示すトランザクションデータ（以下、第５のトランザクションデータと称する）を生成する。
【０１７０】
次に、ステップＳ４１７において、住宅１００ｃは、生成した第５のトランザクションデータを、認証サーバ２００ｃに送信する。なお、上述したように、第５のトランザクションデータには、住宅１００ｃのユーザが管理する署名生成鍵で生成されたグループ署名すなわち第２の電子署名も含まれている。
【０１７１】
次に、ステップＳ４１８において、認証サーバ２００ｃは、受信した第５のトランザクションデータの検証を行う。より具体的には、認証サーバ２００ｃは、第５のトランザクションデータのグループ署名の検証及び第５のトランザクションデータの正当性の検証を行う。また、認証サーバ２００ｃは、第５のトランザクションデータの検証として、第３のトランザクションデータに含まれる電力取引結果と矛盾をしていないか否かの検証も行う。
【０１７２】
ステップＳ４１８において、認証サーバ２００ｃは、第５のトランザクションデータの検証が成功しなかった場合（Ｓ４１８でＮ）、住宅１００ｃに、第５のトランザクションデータの検証が成功しなかった旨を示すエラー通知を送信し（Ｓ４１９）、処理を終了する。
【０１７３】
一方、ステップＳ４１８において、認証サーバ２００ｃは、第５のトランザクションデータの検証が成功した場合（Ｓ４１８でＹ）は、他の認証サーバ２００ａ、２００ｂに、第５のトランザクションデータを転送する（Ｓ４２０）。他の認証サーバ２００ａ、２００ｂでも、受信した第５のトランザクションデータを同様に検証する。
【０１７４】
次に、ステップＳ４２１において、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第４のトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第４のトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第４のトランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。同様に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第５のトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第５のトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第５のトランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。なお、第４のトランザクションデータのブロックと第５のトランザクションデータを含むブロックとは、第１〜第３のトランザクションデータを含むブロックとは異なるブロックチェーンに接続されて分散台帳に記録されてもよい。
【０１７５】
［１．８  住宅とサービスサーバ間のインセンティブの支払い処理］
続いて、住宅１００ａ等とサービスサーバ３００との間でのインセンティブの支払いのシーケンスについて説明する。
【０１７６】
図１６は、本実施の形態に係る住宅１００ａ等とサービスサーバ３００の間のインセンティブ支払い処理のシーケンス図である。図１６では、一例として住宅１００ａにインセンティブが支払われるとして説明するが、これに限らず、他の住宅１００ｂ等でも同様である。
【０１７７】
まず、ステップＳ５０１において、サービスサーバ３００は、分散台帳の参照依頼すなわち、分散台帳に記録される売電の電力取引結果を示す第４のトランザクションデータの参照依頼を生成する。なお、サービスサーバ３００は、参照依頼を、定期的に生成してもよいし、認証サーバ２００ａ等から電力取引があった旨の通知してもらい、その後に生成してもよい。
【０１７８】
次にステップＳ５０２において、サービスサーバ３００は、認証サーバ２００ａに、生成した参照依頼を送信する。図１６に示す例では、サービスサーバ３００は、認証サーバ２００ａに参照依頼を送信しているが、これに限らない。サービスサーバ３００は、他の認証サーバ２００ｂ等に参照依頼を送信してもよい。他の認証サーバ２００ｂ、２００ｃに送信した場合も同様である。
【０１７９】
次に、ステップＳ５０３において、認証サーバ２００ａは、第４のトランザクションデータを含むブロックを送信する。なお、認証サーバ２００ａは、第４のトランザクションデータを含む分散台帳の内容をすべて送信してもよいし、前回送信していた場合には前回との差分の内容のみを送信するとしてもよい。
【０１８０】
次に、ステップＳ５０４において、サービスサーバ３００は、第４のトランザクションデータに含まれるグループ署名の開示を行い、売電した住宅のユーザである住宅１００ａのユーザを特定する。
【０１８１】
次に、ステップＳ５０５において、サービスサーバ３００は、特定したユーザにインセンティブを支払う。
【０１８２】
次に、ステップＳ５０６において、サービスサーバ３００は、特定したユーザに対してインセンティブの支払いを行った後に、インセンティブの支払いを行った旨の通知を送信する。なお、サービスサーバ３００は、特定したユーザの住宅１００ａにインセンティブの支払いをした旨の通知を送信してもよい。
【０１８３】
［１．９  効果等］
以上のように、実施の形態に係る電力取引システム１０等によれば、住宅からのトランザクションデータに含まれる署名をグループ署名とする。これにより、売電依頼リスト及び買電依頼リストが公開されても、公開されたブロックチェーンのトランザクションデータから、売電依頼リスト及び買電依頼リストに含まれる住宅を特定できないので、住宅のユーザのプライバシを保護することができる。このように、実施の形態に係る電力取引システム１０等によれば、プライバシ情報の漏洩を抑制することができる。
【０１８４】
また、実施の形態に係る電力取引システム１０等によれば、サービスサーバのみがグループ署名を開示することができるので、電力取引を行った住宅またはそのユーザに対するインセンティブの支払いも可能となる。
【０１８５】
また、実施の形態に係る電力取引システム１０等によれば、不正なユーザが電力を必要でないにも関わらず、公開されるブロックチェーンの分散台帳の内容を得て、電力を買う側の需要家のリストを公開しても、電力を買う側の需要家を特定することはできない。このため、電力を買う側の需要家に必要以上の電力が送られ電力システムが不安定になることもない。つまり、実施の形態に係る電力取引システム１０等によれば、ブロックチェーンのトランザクションデータを記録する分散台帳の内容が認証サーバから漏えいしたとしても、ユーザのプライバシを保護しつつ、電力取引を安全に継続できる。
【０１８６】
さらに、実施の形態に係る電力取引システム１０等によれば、ブロックチェーンを活用して電力取引するので、電力取引についての改ざんを防止できるので、正しくインセンティブの支払いをできる。
【０１８７】
［２．  その他変形例］
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０１８８】
（１）上記の実施の形態では、認証サーバ２００ａ等とサービスサーバ３００とは別の装置として説明したが、認証サーバ２００ａ等の一とサービスサーバ３００とを同一の装置としてもよい。
【０１８９】
（２）上記の実施の形態では、認証サーバ２００ａ等は、トランザクションデータの検証を失敗した場合、住宅１００ａ等に通知しているが、サービスサーバ３００にも通知するとしてもよい。
【０１９０】
（３）上記の実施の形態では、サービスサーバ３００は、インセンティブの支払い後に、インセンティブの支払いを行った旨の通知を送信しているが、インセンティブの支払い後にトランザクションデータを生成し、認証サーバに記録するとしてもよい。このトランザクションデータにはインセンティブを支払ったブロックチェーンアドレスとインセンティブの内容を示す情報とサービスサーバの署名とを含むとしてもよい。
【０１９１】
（４）認証サーバ２００ａ等により、売電依頼と買電依頼とがマッチングされても電力取引が成立しなかった場合、売電依頼及び／または買電依頼が再度行われるとしてもよい。これにより、売電依頼と買電依頼とにおける時刻や電力の単価を再設定することが可能となり、電力取引の成立可否を再度判断することができる。
【０１９２】
（５）買電依頼により電力を買い取った場合、買い取ったユーザは、その支払いを電力取引のサービス会社に直接支払いをするとしてもよいし、以前に売電したことで得たポイントまたは仮想通貨で支払いをするとしてもよい。
【０１９３】
（６）上記の実施の形態では、電力取引処理後にサービスサーバ３００は、インセンティブを支払っているが、買電した住宅のユーザからの支払い処理後に売電した住宅のユーザにインセンティブを支払うとしてもよい。また、買電した住宅のユーザが、売電した住宅のユーザのブロックチェーンアドレスに直接インセンティブを支払うとしてもよい。
【０１９４】
（７）上記の実施の形態では、認証サーバ２００ａ等により電力取引が成立するかの判断がされているが、これに限らない。ブロックチェーンのスマートコントラクト機能を用いて、認証サーバ２００ａにあらかじめ電力取引の成立可否の判断プログラムを実装しておき、自動で電力取引の判断をするとしてもよい。
【０１９５】
（８）上記の実施の形態では、売電及び買電の単価をユーザが入力しているが、これに限定するわけではない。サービスサーバ３００が売電単価と買電単価とを設定し、ユーザに承諾の有無を選択させるとしてもよい。また、売電単価と買電単価とは、時刻によって変更されてもよい。
【０１９６】
（９）上記の実施の形態では、認証サーバ２００ａ等が、時刻と単価とを用いて、電力取引のマッチングを行っているが、これに限らない。認証サーバ２００ａ等は、電力ネットワーク５００における電力の送電の容易さを基に判断するとしてもよい。例えば、売電する住宅から買電する住宅まで電力ネットワーク５００を経由する場合に、距離が近い住宅から電力取引をするとしてもよい。また、認証サーバ２００ａ等は、電力ネットワークの送電における電力の損失が少ない住宅を優先的にマッチングするとしてもよい。これにより、電力取引サービス全体として電力の損失を少なくすることができる。
【０１９７】
（１０）売電する住宅が電力使用の権利のトークンを発行し、買電する住宅のユーザがそのトークンを購入するとしてもよい。これにより、ユーザ間で電力取引を直接行うことができる。
【０１９８】
（１１）上記実施の形態では、ユーザが売電処理の依頼を行っているが、これに限らない。太陽光発電１０２により発電された電力が蓄電池１０３の蓄電容量または設定されたしきい値を超える場合に、コントローラ１０１が売電依頼を自動で行うとしてもよい。しきい値はユーザが設定するとしてもよいし、あらかじめ設定されているとしてもよいし、住宅１００ａ等が過去に利用した最大の電力量に設定されるとしてもよい。これにより、ユーザの売電処理の手間を軽減することができる。
【０１９９】
（１２）上記実施の形態では、住宅１００ａ等が電力を送電した場合にトランザクションデータを生成しているが、太陽光発電１０２により発電された電力を当該住宅で利用した場合にもトランザクションデータを生成するとしてもよい。これにより、太陽光発電１０２で発電された電力を管理することができる。さらに、太陽光発電１０２で発電された電力を利用した場合に、サービスサーバ３００からインセンティブのポイントが発行されるとしてもよい。
【０２００】
（１３）また、本開示には、上記実施の形態の電力取引システム１０においてブロックチェーンとして記録されるブロックに用いられるデータ構造も含まれる。より具体的には、本開示のデータ構造は、ユーザの秘密鍵を用いて生成されたブロックに含まれるブロックチェーンアドレスと、第１の電力設備が売電可能な売電電力の量を示す売電量情報と、その売電電力が売電可能な日時を示すタイムスタンプと、ユーザに紐づけられ、当該ユーザが属するグループに割り当てられたグループ署名とを含む。そして、本開示のデータ構造に含まれる売電量情報及びタイムスタンプは、第２の電力設備が買電可能な買電電力の量を示す買電量情報及び買電電力が買電可能な日時を示すタイムスタンプと比較されることで行われる電力取引のマッチングに用いられる。
【０２０１】
（１４）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２０２】
（１５）上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２０３】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又はすべてを含むように１チップ化されてもよい。
【０２０４】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２０５】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２０６】
（１６）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２０７】
（１７）本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２０８】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０２０９】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２１０】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０２１１】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２１２】
（１８）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２１３】
本開示は、電力取引システムにおいて、住宅からグループ署名を含む電力情報のトランザクションデータを送信し、認証サーバで管理することで、プライバシを保護しつつ、電力取引をすることができる。
【符号の説明】
【０２１４】
１００ａ、１００ｂ、１００ｃ  住宅
１０１  コントローラ
１０２  太陽光発電
１０３  蓄電池
１０４  電力メータ
１１０  通信ネットワーク
１１１  電力ネットワーク
１０１１  入力部
１０１２  トランザクションデータ生成部
１０１３  署名生成部
１０１４  制御部
１０１５  記録部
１０１６  通信部
２００ａ、２００ｂ、２００ｃ  認証サーバ
２１１  署名検証部
２１２  トランザクションデータ検証部
２１３  ブロック生成部
２１４  同期部
２１５  取引生成部
２１６  記録部
２１７  通信部
３００  サービスサーバ
３１１  鍵管理部
３１２  署名開示部
３１３  インセンティブ管理部
３１４  記録部
３１５  通信部
４００  通信ネットワーク
５００  電力ネットワーク
【図１】
2019133630.tif 000003
【図２】
2019133630.tif 000004
【図３】
2019133630.tif 000005
【図４】
2019133630.tif 000006
【図５】
2019133630.tif 000007
【図６】
2019133630.tif 000008
【図７Ａ】
2019133630.tif 000009
【図７Ｂ】
2019133630.tif 000010
【図８Ａ】
2019133630.tif 000011
【図８Ｂ】
2019133630.tif 000012
【図８Ｃ】
2019133630.tif 000013
【図９】
2019133630.tif 000014
【図１０】
2019133630.tif 000015
【図１１】
2019133630.tif 000016
【図１２】
2019133630.tif 000017
【図１３】
2019133630.tif 000018
【図１４】
2019133630.tif 000019
【図１５】
2019133630.tif 000020
【図１６】
2019133630.tif 000021