(57)【要約】  分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける複数の認証サーバのうちの第１の認証サーバによって実行されるデータ管理方法であって、機器が取得または生成したデータである機器データを含み、機器により生成された第１トランザクションデータを取得する取得ステップと、第１トランザクションデータに含まれる機器データが、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、第１トランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に記録する記録ステップと、を含む。
2020122039.tif 000002
【特許請求の範囲】
【請求項１】
分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ管理方法であって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得ステップと、
前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含む、
データ管理方法。
【請求項２】
前記第１の認証サーバは、前記情報種別リストを有しており、
前記データ管理方法では、さらに、
前記情報種別リストを参照して、前記取得ステップにおいて取得した前記第１トランザクションデータに含まれる機器データが、前記情報種別リストに示される第１データであるかを判定する判定ステップを含み、
前記記録ステップでは、前記判定ステップにおいて前記第１トランザクションデータに含まれる前記機器データが、前記情報種別リストに示される第１データであると判定された場合に、前記第１トランザクションデータを含むブロックを生成する、
請求項１に記載のデータ管理方法。
【請求項３】
前記データ管理システムは、さらに、データサーバを備え、
前記データ管理方法は、さらに、
前記判定ステップにおいて、前記第１トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第１データではないと判定された場合、前記機器データを前記データサーバに送信することで、前記データサーバに、前記機器データを前記データサーバが備える記録装置に記録させる記録ステップを含む、
請求項２に記載のデータ管理方法。
【請求項４】
前記機器は、前記情報種別リストを有しており、
前記データ管理方法では、さらに、
前記情報種別リストを参照して、前記機器が取得または生成したデータが、前記情報種別リストに示される第１データであるかを、前記機器により判定される機器判定ステップと、
前記機器により、前記機器判定ステップにおいて前記情報種別リストに示される第１データであると判定された場合、前記機器が取得または生成したデータを前記機器データとして含めて前記第１トランザクションデータが生成され、前記第１の認証サーバに送信される機器送信ステップとを含み、
前記取得ステップでは、前記機器送信ステップにより送信された前記第１トランザクションデータを取得する、
請求項１に記載のデータ管理方法。
【請求項５】
前記データ管理システムは、さらに、データサーバを備え、
前記データ管理方法は、さらに、
前記機器判定ステップにおいて、前記機器が取得または生成したデータが、前記情報種別リストに示される第１データではないと、前記機器により判定された場合、前記機器が取得または生成したデータが前記データサーバに、前記機器により送信されることで、前記機器が取得または生成したデータが前記データサーバの備える記録装置に、前記データサーバにより記録される機器データ記録ステップとを含む、
請求項４に記載のデータ管理方法。
【請求項６】
前記データ管理システムは、さらに、サービスサーバを備え、
前記データ管理方法は、さらに、
前記サービスサーバと前記機器とで契約が成立したことを確認するためのスマートコントラクトが、前記サービスサーバにより生成され、第２トランザクションデータに含められて、前記サービスサーバから前記第１の認証サーバに送信される送信ステップとを含み、
前記記録ステップでは、前記送信ステップにおいて送信された前記第２トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する、
請求項３または５に記載のデータ管理方法。
【請求項７】
前記取得ステップでは、前記サービスサーバと前記機器とで契約が成立したことを示す第３トランザクションデータであって前記機器により生成された第３トランザクションデータを取得し、
前記記録ステップでは、前記取得ステップにおいて取得した前記第３トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録し、
前記データ管理方法は、さらに、
前記分散台帳に記録されたブロックに含まれる前記第３トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記サービスサーバと前記機器とで成立した前記契約に関連するデータを、前記情報種別リストに追加させる追加ステップを含む、
請求項６に記載のデータ管理方法。
【請求項８】
前記データ管理方法は、さらに、
前記記録ステップにおいて前記第１トランザクションデータを含むブロックが前記分散台帳に記録された場合、前記第１トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記機器に対してトークンを発行する発行ステップを含む、
請求項６に記載のデータ管理方法。
【請求項９】
前記所定の契約は、電力に関する契約であり、
前記機器データは、電力に関するデータである、
請求項１〜８のいずれか１項に記載のデータ管理方法。
【請求項１０】
前記所定の契約は、前記機器とは異なる第１機器及び第２機器の連携に関する契約であり、
前記機器データは、前記第１機器の動作完了後の前記第２機器の状態に関するデータである、
請求項１〜８のいずれか１項に記載のデータ管理方法。
【請求項１１】
前記第１機器は、第１工程で動作するロボットであり、
前記第２機器は、前記第１工程の後に動作するロボットである、
請求項１０に記載のデータ管理方法。
【請求項１２】
分散台帳をそれぞれ有する複数の認証サーバと、
機器とを備え、
前記複数の認証サーバのうちの第１の認証サーバは、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得部と、
前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータの検証を行うトランザクションデータ検証部と、
前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する同期部と、を含む、
データ管理システム。
【請求項１３】
分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ管理方法をコンピュータに実行させるプログラムであって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得ステップと、
前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ管理方法、データ管理システム及びプログラムに関し、特にユーザから収集したデータを管理するデータ管理方法、データ管理システム及びプログラムに関する。
【背景技術】
【０００２】
近年、ユーザのデータ及び機器のデータなどのデータを収集、分析及び流通するシステムが検討されている。今後、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）が進展しＡＩ等が普及することにより、従来よりも多くのデータを収集することが可能となるため、収集したデータの利活用が期待されている。【０００３】
しかし、収集したデータが改ざんされてしまうと、データの利活用に支障が発生する。例えば、ＡＩの学習に用いるデータが改ざんされてしまうと誤った学習が行われ、結果としてＡＩに誤った処理を行わせることになることが考えられる。また、ＩｏＴの機器間で通信を行って連動して動作する場合にセンサ情報などが改ざんされてしまうと、ＩｏＴの機器間で連動して動作することができなくなることも考えられる。【０００４】
このため、収集したデータが改ざんされないように防止する必要がある。例えば非特許文献１では、ブロックチェーンを用いることでデータベースの改ざんが困難となることが開示されている。非特許文献１によれば、ブロックチェーンを用いて、例えばデータベースなどのデータを管理することで、収集したデータの改ざんを防止することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】NISTIR 8202 Blockchain Technology Overview(https://nvlpubs.nist.gov/nistpubs/ir/2018/NIST.IR.8202.pdf、２０１８年１１月２１日検索)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＩｏＴのすべてのデータをブロックチェーンで管理することは難しい。例えば、ＩｏＴのすべてのデータをブロックチェーンで管理する場合、管理するデータ量が膨大になり記憶するための容量が足りなくなる可能性もある。また、ブロックが生成されるまでに時間を要するためリアルタイムにデータを利活用する必要があっても遅延が発生したり、大量のトランザクションデータに機器間の連動に必要なデータが含まれていた場合、必要なデータがなかなかブロックに含まれずに連動できなかったりする可能性がある。このように、ＩｏＴのすべてのデータをブロックチェーンで管理するのは難しいという課題がある。【０００７】
本開示は、上述の事情を鑑みてなされたもので、必要なデータのみをブロックチェーン技術を用いて管理することができるデータ管理方法等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本開示のデータ管理方法は、分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ管理方法であって、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得ステップと、前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含む。【０００９】
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示によれば、必要なデータのみをブロックチェーン技術を用いて管理することができる。よって、データを利活用する上で効率がよく安全なシステムの構築が可能となる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係るデータ管理システムの全体構成の一例を示す図である。
【図２】図２は、実施の形態に係る住宅の全体構成の一例を示す図である。
【図３】図３は、図２に示すコントローラの機能構成の一例を示すブロック図である。
【図４】図４は、実施の形態に係る情報種別リストの一例を示す図である。
【図５】図５は、実施の形態に係る認証サーバの機能構成の一例を示すブロック図である。
【図６】図６は、ブロックチェーンのデータ構造を示す説明図である。
【図７】図７は、実施の形態に係るデータサーバの機能構成の一例を示すブロック図である。
【図８】図８は、実施の形態に係るサービスサーバの機能構成の一例を示すブロック図である。
【図９】図９は、実施の形態に係る住宅と認証サーバとデータサーバとサービスサーバとの間の全体シーケンスを示す図である。
【図１０】図１０は、図９のステップＳ１００に示すスマートコントラクト登録処理の詳細を説明するためのシーケンス図である。
【図１１】図１１は、図９のステップＳ２００に示す契約処理の詳細を説明するためのシーケンス図である。
【図１２】図１２は、図９のステップＳ３００に示すデータ登録処理の詳細を説明するためのシーケンス図である。
【図１３】図１３は、実施の形態の変形例に係る認証サーバの機能構成の一例を示すブロック図である。
【図１４】図１４は、図９のステップＳ３００に示すデータ登録処理の詳細の変形例に係る例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１２】
本開示の一実施態様のデータ管理方法は、分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ管理方法であって、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得ステップと、前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含む。
【００１３】
これにより、必要なデータのみを、ブロックチェーン技術を用いて管理するデータ管理方法を実現できる。よって、データを利活用する上で効率がよく安全なシステムの構築が可能となる。
【００１４】
また、前記第１の認証サーバは、前記情報種別リストを有しており、前記データ管理方法では、さらに、前記情報種別リストを参照して、前記取得ステップにおいて取得した前記第１トランザクションデータに含まれる機器データが、前記情報種別リストに示される第１データであるかを判定する判定ステップを含み、前記記録ステップでは、前記判定ステップにおいて前記第１トランザクションデータに含まれる前記機器データが、前記情報種別リストに示される第１データであると判定された場合に、前記第１トランザクションデータを含むブロックを生成するとしてもよい。
【００１５】
また、前記データ管理システムは、さらに、データサーバを備え、前記データ管理方法は、さらに、前記判定ステップにおいて、前記第１トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第１データではないと判定された場合、前記機器データを前記データサーバに送信することで、前記データサーバに、前記機器データを前記データサーバが備える記録装置に記録させる記録ステップを含むとしてもよい。
【００１６】
また、前記機器は、前記情報種別リストを有しており、前記データ管理方法では、さらに、前記情報種別リストを参照して、前記機器が取得または生成したデータが、前記情報種別リストに示される第１データであるかを、前記機器により判定される機器判定ステップと、前記機器により、前記機器判定ステップにおいて前記情報種別リストに示される第１データであると判定された場合、前記機器が取得または生成したデータを前記機器データとして含めて前記第１トランザクションデータが生成され、前記第１の認証サーバに送信される機器送信ステップとを含み、前記取得ステップでは、前記機器送信ステップにより送信された前記第１トランザクションデータを取得するとしてもよい。
【００１７】
また、前記データ管理システムは、さらに、データサーバを備え、前記データ管理方法は、さらに、前記機器判定ステップにおいて、前記機器が取得または生成したデータが、前記情報種別リストに示される第１データではないと、前記機器により判定された場合、前記機器が取得または生成したデータが前記データサーバに、前記機器により送信されることで、前記機器が取得または生成したデータが前記データサーバの備える記録装置に、前記データサーバにより記録される機器データ記録ステップとを含むとしてもよい。
【００１８】
また、前記データ管理システムは、さらに、サービスサーバを備え、前記データ管理方法は、さらに、前記サービスサーバと前記機器とで契約が成立したことを確認するためのスマートコントラクトが、前記サービスサーバにより生成され、第２トランザクションデータに含められて、前記サービスサーバから前記第１の認証サーバに送信される送信ステップとを含み、前記記録ステップでは、前記送信ステップにおいて送信された前記第２トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録するとしてもよい。
【００１９】
また、前記取得ステップでは、前記サービスサーバと前記機器とで契約が成立したことを示す第３トランザクションデータであって前記機器により生成された第３トランザクションデータを取得し、前記記録ステップでは、前記取得ステップにおいて取得した前記第３トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録し、前記データ管理方法は、さらに、前記分散台帳に記録されたブロックに含まれる前記第３トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記サービスサーバと前記機器とで成立した前記契約に関連するデータを、前記情報種別リストに追加させる追加ステップを含むとしてもよい。
【００２０】
また、前記データ管理方法は、さらに、前記記録ステップにおいて前記第１トランザクションデータを含むブロックが前記分散台帳に記録された場合、前記第１トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記機器に対してトークンを発行する発行ステップを含むとしてもよい。
【００２１】
また、前記所定の契約は、電力に関する契約であり、前記機器データは、電力に関するデータであるとしてもよい。
【００２２】
また、前記所定の契約は、前記機器とは異なる第１機器及び第２機器の連携に関する契約であり、前記機器データは、前記第１機器の動作完了後の前記第２機器の状態に関するデータであるとしてもよい。
【００２３】
ここで、前記第１機器は、第１工程で動作するロボットであり、前記第２機器は、前記第１工程の後に動作するロボットであってもよい。
【００２４】
また、本開示の一実施態様のデータ管理システムは、分散台帳をそれぞれ有する複数の認証サーバと、機器とを備え、前記複数の認証サーバのうちの第１の認証サーバは、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第１トランザクションデータを取得する取得部と、前記第１トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第１データである場合、前記第１トランザクションデータの検証を行うトランザクションデータ検証部と、前記第１トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する同期部と、を含む。
【００２５】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
【００２６】
（実施の形態）
まず、本開示のシステム構成について説明する。
【００２７】
［１．  システム構成］
本開示のデータ管理システムは、機器が取得または生成したデータのうち所定の契約に関連するデータのみ必要なデータとして分散台帳に記録する。これにより、本開示のデータ管理システムは、必要なデータのみをブロックチェーン技術を用いて管理することができる。
【００２８】
以下では、図面を参照しながら実施の形態におけるデータ管理システム等の説明を行う。
【００２９】
［１．１  データ管理システム１０の全体構成］
図１は、本実施の形態に係るデータ管理システム１０の全体構成の一例を示す図である。
【００３０】
データ管理システム１０は、図１に示すように、例えば住宅１００ａ、１００ｂ、１００ｃと、認証サーバ２００ａ、２００ｂ、２００ｃと、データサーバ３００と、サービスサーバ４００とを備える。これらは、通信ネットワーク５００で接続されている。なお、以下では、住宅１００ａ、１００ｂ、１００ｃを代表して住宅１００とも称する場合がある。
【００３１】
また、認証サーバ２００ａ、２００ｂ、２００ｃ（以下、代表して認証サーバ２００とも称する）は、記憶装置２０１ａ、２０１ｂ、２０１ｃ（以下、代表して記憶装置２０１とも称する）と接続する。認証サーバ２００は、記憶装置２０１と通信ネットワーク５００を介して接続されていてもよいし、内部に記憶装置２０１を備えてもよい。記憶装置２０１は、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
【００３２】
なお、図１では、データ管理システム１０が、３つの認証サーバ２００と１つのデータサーバ３００と１つのサービスサーバ４００とを備える場合の例が示されているが、これに限らない。例えば、データ管理システム１０は、４つ以上の認証サーバを備えてもよいし、サービスサーバ４００を備えなくてもよい。
【００３３】
［１．２  住宅１００ａの構成］
住宅１００ａ、１００ｂ、１００ｃは同様の構成を有するので、以下では、代表して住宅１００ａの構成について説明する。
【００３４】
図２は、本実施の形態に係る住宅１００ａの全体構成の一例を示す図である。
【００３５】
住宅１００ａは、図２に示すように、コントローラ１００１と、太陽光発電設備１００２と、蓄電池１００３と、電力メータ１００４とを備える。コントローラ１００１、太陽光発電設備１００２、蓄電池１００３及び電力メータ１００４は、通信ネットワーク１００６で接続されている。また、太陽光発電設備１００２、蓄電池１００３及び電力メータ１００４は、電力ネットワーク１００５で接続されている。電力ネットワーク１００５は外部の電力ネットワークに接続していてもよい。なお、住宅１００ａは、例えば住家などの家屋であるが、これに限られない。住宅１００ａは、工場、ビルなどの建物であってもよい。つまり、住宅１００ａは、ユーザが使用する建物であれば、その態様は問われない。また、以下では、住宅１００ａ内にある機器を宅内の機器（以降、宅内機器）と称する。また、宅内機器には、太陽光発電設備１００２、蓄電池１００３及び電力メータ１００４を含めても、含めなくてもよい。住宅１００ａが工場である場合には、宅内機器には、ロボットも含まれる。
【００３６】
＜コントローラ１００１＞
コントローラ１００１は、本開示の機器の一例である。コントローラ１００１は、例えば、エネルギーマネジメントシステムのコントローラである。本実施の形態では、コントローラ１００１は、宅内機器などを操作したり、太陽光発電設備１００２の発電状況または蓄電池１００３の蓄電状態を含む宅内機器の状態を受信して表示したりする。また、コントローラ１００１は、宅内機器などを操作した場合、宅内機器から宅内機器の状態変更などを示すデータを受信する。また、コントローラ１００１は、デマンドレスポンスに応じる場合に電力利用を抑えたり、電力取引に応じる場合に電力メータ１００４を介して、外部の電力ネットワーク（図示しない）に送電を行ったりする。
【００３７】
また、コントローラ１００１は、電力抑制または住宅間の電力取引など所定の契約に関する情報をユーザに提供し、ユーザの同意のもとトランザクションデータを生成する。また、コントローラ１００１は、宅内機器の操作履歴、センサ情報、及び、電力情報などのデータを取得してデータサーバ３００に送信したり、契約に関する情報を含むトランザクションデータを生成して認証サーバ２００に送信したりする。契約に関する情報の詳細は後述するが、例えば、電力取引に基づく送電情報、または電力抑制に基づく蓄電池からの利用を示すデータである。
【００３８】
＜太陽光発電設備１００２＞
太陽光発電設備１００２は、太陽電池を用いて太陽光から直接的に電力に変換する発電方式を搭載した装置等である。太陽光発電設備１００２は、発電した電力を、電力ネットワーク１００５を介して、蓄電池１００３に蓄電したり、外部の電力ネットワークに送電したりする。
【００３９】
＜蓄電池１００３＞
蓄電池１００３は、太陽光発電設備１００２で発電した電力を蓄電する。蓄電池１００３は、例えばコントローラ１００１の指示により、蓄電した電力を、電力ネットワーク１００５を介して、外部の電力ネットワークに送電する。また、蓄電池１００３は、例えばコントローラ１００１の指示により、電力ネットワーク１００５を介して外部の電力ネットワークから受電した電力を蓄電してもよい。なお、蓄電池１００３は必須の構成ではなく、住宅１００ａに備えられていなくてもよい。
【００４０】
＜電力メータ１００４＞
電力メータ１００４は、外部の電力ネットワークに送電される電力量または外部の電力ネットワークから受電される電力量を計測する。電力メータ１００４は、コントローラ１００１の指示により、太陽光発電設備１００２または蓄電池１００３が外部の電力ネットワークに送電したとき、太陽光発電設備１００２または蓄電池１００３が送電した時刻と電力量とを計測し、コントローラ１００１に通知する。電力メータ１００４は、コントローラ１００１からの指示により、外部の電力ネットワークから受電した電力または宅内機器で使用した電力を計測する。
【００４１】
以下、コントローラ１００１の構成の一例について説明する。
【００４２】
［１．３  コントローラ１００１の構成］
図３は、図２に示すコントローラ１００１の機能構成の一例を示すブロック図である。
【００４３】
コントローラ１００１は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ１００１は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ１００１は、図３に示すように、制御部１０００１、トランザクションデータ生成部１０００２、記録部１０００３及び通信部１０００４を備える。
【００４４】
＜制御部１０００１＞
制御部１０００１は、データを取得または生成した場合、情報種別リストを参照して、当該データが、情報種別リストに示される第１データであるかを判定する。制御部１０００１は、当該データが、情報種別リストに示される第１データであると判定した場合、当該データを機器データとして含む第１トランザクションデータを生成するようにトランザクションデータ生成部に依頼する。なお、制御部１０００１は、当該データが、情報種別リストに示される第１データではないと判定した場合、通信部１０００４を介して当該データを、データサーバ３００に送信する。
【００４５】
本実施の形態では、制御部１０００１は、宅内機器の操作をした場合、宅内機器から宅内機器の状態変更などを示すデータを受信する。受信するデータは、例えば宅内機器の状態を示す機器情報またはセンサ情報を含む。また、制御部１０００１は、宅内機器の操作をした場合、宅内機器の操作履歴または履歴情報を含むデータを生成してもよい。
【００４６】
制御部１０００１は、このようデータを生成または取得した場合、情報種別リストを参照し、当該データが所定の契約に関する情報（データ）であるかを判定する。制御部１０００１は、当該データが所定の契約に関する情報であると判定した場合、当該データを機器データとして含むトランザクションデータを生成するようトランザクションデータ生成部に依頼する。
【００４７】
ここで、情報種別リストは、記憶装置２０１ａの分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである。情報種別リストは、制御部１０００１に参照されて、制御部１０００１が取得または生成したデータが契約に関する情報であるか否かの判定するために用いられる。情報種別リストは、例えばサービスサーバ４００から提供されて、記録部１０００３に記録されていてもよい。
【００４８】
図４は、本実施の形態に係る情報種別リストの一例を示す図である。
【００４９】
情報種別リストは、例えば図４に示すように、契約種別、宅内機器及び情報種別の項目を含んでいる。契約種別は、所定の契約を示しており、図４に示す例では、電力抑制と電力取引の契約とが示されている。宅内機器は、契約種別ごとに定められた機器であり、分散台帳に記録する対象となるデータを生成または保持する宅内（住宅１００内）の機器を示している。また、情報種別は、機器ごとに定められており、分散台帳に記録する対象となる情報を示している。
【００５０】
例えば、契約種別として電力抑制の契約が成立したとする。この場合、制御部１０００１は、情報種別リストを参照し、電力メータの電力情報と、蓄電池の充電量及び放電情報と、太陽光発電設備の発電量情報とを含むトランザクションデータを生成するように、トランザクションデータ生成部１０００２にこれらのデータを送信する。これにより、これらのデータを含むトランザクションデータが認証サーバ２００に送信され、認証サーバ２００が有する記憶装置２０１の分散台帳に記録される。
【００５１】
なお、情報種別リストには、情報種別ごとに時間情報が付与されていてもよい。具体的には、情報種別リストには、トランザクションデータの生成の頻度または時間間隔などが時間情報として記載されていてもよい。そして、制御部１０００１は、情報種別ごとの時間情報に合わせて対象の宅内機器からデータを取得し、トランザクションデータ生成部１０００２に送信することで、取得したデータを含むトランザクションデータを生成させてもよい。
【００５２】
また、情報種別リストは、コントローラ１００１が保持してもよいし、認証サーバ２００が保持してもよい。情報種別リストが認証サーバに保持される場合には、制御部１０００１は、定期的または非定期に認証サーバ２００に問い合わせることで、対象の宅内機器のデータを生成または取得してもよい。
【００５３】
なお、制御部１０００１は、当該データが所定の契約に関する情報ではないと判定した場合、当該データをデータサーバ３００に送信する。制御部１０００１は、契約に関する情報ではないと判定したデータをトランザクションデータ生成部１０００２に送信することで、データサーバ３００に送信してもよい。
【００５４】
＜トランザクションデータ生成部１０００２＞
トランザクションデータ生成部１０００２は、制御部１０００１から、契約に関連する宅内機器のデータすなわち機器データを受信すると、受信した機器データを含むトランザクションデータを生成する。
【００５５】
本実施の形態では、トランザクションデータ生成部１０００２は、制御部１０００１から受信した機器データのハッシュ値を演算し、機器データと演算したハッシュ値とを含むトランザクションデータを生成する。より具体的には、トランザクションデータ生成部１０００２は、ユーザまたはコントローラ１００１を識別する識別子であるブロックチェーンアドレスと、機器データと、機器データのハッシュ値と、署名とを含めたトランザクションデータを生成する。ここで、署名は、ユーザ個別の署名生成鍵を用いて生成される。また、トランザクションデータには当該トランザクションデータを識別する識別子が付与されてもよい。
【００５６】
トランザクションデータ生成部１０００２は、生成したトランザクションデータを記録部１０００３に記録するとともに、通信部１０００４を介して認証サーバ２００に送信する。
【００５７】
なお、トランザクションデータ生成部１０００２は、契約に関する情報ではないデータを制御部１０００１から受信した場合、当該データを含むトランザクションデータを生成し、通信部１０００４を介してデータサーバ３００に送信するとしてもよい。
【００５８】
＜記録部１０００３＞
記録部１０００３は、トランザクションデータ生成部１０００２で生成されたトランザクションデータを記録する。また、記録部１０００３は、サービスサーバ４００から受信したサービスの情報、契約に関する情報及び情報種別リストを記録する。また、記録部１０００３は、住宅１００ａの内部（宅内）でやり取りされたデータを記録してもよい。
【００５９】
＜通信部１０００４＞
通信部１０００４は、通信ネットワーク５００を介して、認証サーバ２００、データサーバ３００及びサービスサーバ４００との通信を行う。この通信は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）によりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部１０００４で保持されてもよい。
【００６０】
次に、認証サーバ２００ａ等について説明する。
【００６１】
［１．４  認証サーバ２００ａの構成］
認証サーバ２００ａ、２００ｂ、２００ｃは同様の構成を有するので、以下では、代表して認証サーバ２００ａの構成について説明する。
【００６２】
図５は、本実施の形態に係る認証サーバ２００ａの機能構成の一例を示すブロック図である。認証サーバ２００ａは、図５に示すように、トランザクションデータ検証部２１１と、ブロック生成部２１２と、同期部２１３と、スマートコントラクト管理部２１４と、記録部２１５と、通信部２１６とを備える。なお、トランザクションデータ検証部２１１は必須ではない。認証サーバ２００ａは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【００６３】
＜トランザクションデータ検証部２１１＞
トランザクションデータ検証部２１１は、受信したトランザクションデータを検証する。より具体的には、トランザクションデータ検証部２１１は、受信した第１トランザクションデータに含まれる機器データが、分散台帳に記録する対象となるデータであって情報種別リストに示される第１データである場合、第１トランザクションデータの検証を行う。
【００６４】
本実施の形態では、トランザクションデータ検証部２１１は、住宅１００から機器データを含むトランザクションデータを受信すると、トランザクションデータに含まれるアドレス、機器データ、及び署名が正当であるかを検証する。同様に、トランザクションデータ検証部２１１は、サービスサーバ４００から、スマートコントラクトを含むトランザクションデータを受信すると、トランザクションデータに含まれるアドレス、スマートコントラクト、及び署名が正当であるかを検証する。ここでのスマートコントラクトは、例えばサービスサーバ４００と住宅１００のコントローラ１００１とで契約が成立したことを確認するためのプログラムである。同様に、トランザクションデータ検証部２１１は、住宅１００から、サービスサーバ４００と住宅１００のコントローラ１００１とで契約が成立したことを示すトランザクションデータを受信すると、トランザクションデータに含まれるアドレス及び署名等が正当であるかを検証する。
【００６５】
このように、トランザクションデータ検証部２１１は、受信したトランザクションデータの正当性を確認することで第１トランザクションデータ〜第３トランザクションデータを検証する。
【００６６】
トランザクションデータ検証部２１１は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを、記録部２１５に記録し、同期部２１３へ通知する。
【００６７】
＜ブロック生成部２１２＞
ブロック生成部２１２は、受信した第１トランザクションデータに含まれる機器データが、分散台帳に記録する対象となるデータであって情報種別リストに示される第１データである場合、第１トランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に記録する。
【００６８】
本実施の形態では、ブロック生成部２１２は、トランザクションデータ検証部２１１においてトランザクションデータの検証が成功した場合、当該トランザクションデータを含むブロックを生成し、複数の認証サーバの間でトランザクションデータについてのコンセンサスアルゴリズムを実行する。ここで、ブロック生成部２１２は、コンセンサスアルゴリズムとして、PBFT（Practical Byzantine Fault Tolerance）またはPoW（Proof of Work）とよばれるコンセンサスアルゴリズムを用いてもよい。また、ブロック生成部２１２は、その他の公知のコンセンサスアルゴリズムを用いてもよい。
【００６９】
なお、認証サーバ２００ａがトランザクションデータ検証部２１１を備えない場合には、ブロック生成部２１２は、受信したトランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に記録すればよい。
【００７０】
このように、本実施の形態では、ブロック生成部２１２は、認証サーバ２００ａ、認証サーバ２００ｂ及び認証サーバ２００ｃの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部２１２は、まず、１以上のトランザクションデータを含むブロックチェーンのブロックを生成する。本実施の形態では、ブロック生成部２１２は、第１トランザクションデータ、第２トランザクションデータまたは第３トランザクションデータを含むブロックを生成する。次に、ブロック生成部２１２は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部２１２は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部２１５に記録する。ブロック生成部２１２により生成されたブロックは、記録部２１５によりブロックチェーンに接続されて記録される。
【００７１】
ここで、ブロックチェーンのデータ構造と、ブロックチェーンに含まれるトランザクションデータの一部のデータ構造とについて説明する。
【００７２】
図６は、ブロックチェーンのデータ構造を示す説明図である。
【００７３】
ブロックチェーンは、その記録単位であるブロックがチェーン（鎖）状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックＢ２には、その前のブロックＢ１のハッシュ値が含まれている。そして、ブロックＢ２に含まれる複数のトランザクションデータと、ブロックＢ１のハッシュ値とから演算されたハッシュ値が、ブロックＢ２のハッシュ値として、ブロックＢ３に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。なぜなら、仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難であるからである。
【００７４】
＜同期部２１３＞
同期部２１３は、認証サーバ（認証サーバ２００ａ〜２００ｃ）の間でブロックチェーンのブロック、またはトランザクションデータの同期を行う。
【００７５】
複数の認証サーバ２００ａ〜２００ｃの同期部２１３では、peer to peerでブロックチェーンのトランザクションデータの同期を行う。そして、同期部２１３は、複数の認証サーバ２００ａ〜２００ｃにおいて同期が行われたブロックチェーンのトランザクションデータを記録部２１５に記録する。
【００７６】
例えば、同期部２１３は、トランザクションデータ検証部２１１においてトランザクションデータの正当性が検証されると、他の認証サーバ２００ｂ、２００ｃに検証済みのトランザクションデータを転送し、認証サーバ（認証サーバ２００ａ〜２００ｃ）の間で同期を行う。また、同期部２１３は、他の認証サーバ２００ｂ、２００ｃから検証済みのトランザクションデータを記録部２１５に一時記録し、認証サーバ（認証サーバ２００ａ〜２００ｃ）の間で同期を行う。
【００７７】
＜スマートコントラクト管理部２１４＞
スマートコントラクト管理部２１４は、記憶装置２０１ａの分散台帳に格納されているスマートコントラクトのコントラクトコードなどを実行することで、スマートコントラクトを動作させる。
【００７８】
より具体的には、コントラクトコードが記載されたトランザクションデータ（第３トランザクションデータ）を含むブロックが記憶装置２０１ａの分散台帳に記録されたとする。この場合、スマートコントラクト管理部２１４は、第３トランザクションデータに基づき、記憶装置２０１ａの分散台帳に格納されているスマートコントラクトを動作させることで、サービスサーバ４００と機器とで成立した契約に関連するデータを、情報種別リストに追加させる。ここで、情報種別リストが住宅１００のコントローラ１００１などの機器が保持されている場合には、スマートコントラクトを動作させることで、当該契約に関連するデータが当該機器に送信されるので、情報種別リストに追加される。情報種別リストが記録部２１５に記録されている場合には、スマートコントラクトを動作させることで、当該契約に関連するデータが記録部２１５に記録されている情報種別リストに追加される。
【００７９】
また、第１トランザクションデータを含むブロックが記憶装置２０１ａの分散台帳に記録されたとする。この場合、スマートコントラクト管理部２１４は、第１トランザクションデータに基づき、スマートコントラクトを動作させることで、機器に対してトークンを発行する。
【００８０】
つまり、スマートコントラクト管理部２１４は、データサーバ３００から取得されて登録されたスマートコントラクトのコントラクトアドレスが付与されたトランザクションデータを含むブロックが記憶装置２０１ａの分散台帳に記録されたとき、スマートコントラクトの実行を行う。例えば、データサーバ３００から取得されて登録されたスマートコントラクトに、電力抑制に基づく蓄電池からの電力利用により、住宅１００にインセンティブを支払うことが規定されているとする。この場合、スマートコントラクト管理部２１４は、住宅１００から受信した当該電力利用を示すトランザクションデータを含むブロックが記憶装置２０１ａの分散台帳に記録されたとき、スマートコントラクトを実行する。実行されたスマートコントラクトは、分散台帳に記録されたトランザクションデータを生成して住宅１００に対し、インセンティブを支払うためにトークンの発行などを行う。
【００８１】
＜記録部２１５＞
記録部２１５は、ブロックチェーンのトランザクションデータとブロックを記録する。より具体的には、記録部２１５は、トランザクションデータをブロックに含めて、記憶装置２０１ａの分散台帳にあるブロックチェーンに記録する。当該記憶装置２０１ａは、記録部２１５の内部に構成されていてもよいし、図１に示すように、認証サーバ２００ａの外部に構成されていてもよい。
【００８２】
本実施の形態では、記録部２１５は、住宅１００ａから受信したトランザクションデータまたはサービスサーバ４００から受信したトランザクションデータを含んで生成されたブロックを、記憶装置２０１ａの分散台帳に記録する。また、記録部２１５は、サービスサーバ４００と住宅１００のコントローラ１００１とで契約が成立したことを示す第３トランザクションデータを含んで生成されたブロックを、記憶装置２０１ａの分散台帳に記録してもよい。
【００８３】
＜通信部２１６＞
通信部２１６は、通信ネットワーク５００を介して、住宅１００、データサーバ３００、及び、他の認証サーバ２００ｂ、２００ｃとの通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部２１６で保持してもよい。
【００８４】
より具体的には、通信部２１６は、住宅１００のコントローラ１００１などの機器が取得または生成したデータである機器データを含み、当該機器により生成された第１トランザクションデータを取得する。また、通信部２１６は、サービスサーバ４００から、スマートコントラクトを含む第２トランザクションデータを受信する。また、通信部２１６は、サービスサーバ４００と機器とで契約が成立したことを示す第３トランザクションデータであって機器により生成された第３トランザクションデータを取得する。
【００８５】
次に、データサーバ３００について説明する。
【００８６】
［１．５  データサーバ３００の構成］
データサーバ３００は、記憶装置３０１と接続する。データサーバ３００は、内部に記憶装置３０１を備えるとして説明するが、記憶装置３０１と通信ネットワーク５００を介して接続されていてもよい。
【００８７】
図７は、本実施の形態に係るデータサーバ３００の機能構成の一例を示すブロック図である。データサーバ３００は、図７に示すように、記憶装置３０１と、データ管理部３１１と、データ検証部３１２と、通信部３１４とを備える。データサーバ３００は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【００８８】
＜データ管理部３１１＞
データ管理部３１１は、住宅１００から受信したデータを、記憶装置３０１に記録する。より具体的には、データ管理部３１１は、住宅１００から受信したデータであって住宅１００のコントローラ１００１などの機器が取得または生成したデータを、記憶装置３０１に記録する。
【００８９】
また、データ管理部３１１は、認証サーバ２００またはサービスサーバ４００から、データの提供依頼があった場合、記憶装置３０１に記録されているデータを提供する。
【００９０】
＜データ検証部３１２＞
データ検証部３１２は、記憶装置３０１に記録されているデータが改ざんされていないかを検証する。本実施の形態では、データ検証部３１２は、例えば住宅１００から受信したデータのハッシュ値を演算し、当該データとともに記憶装置３０１に記録する。これにより、データ検証部３１２は、記憶装置３０１に記録されているデータのハッシュ値を演算し、記憶装置３０１に記録されているハッシュ値と比較することで、記憶装置３０１に記録されているデータが改ざんされていないかを検証することができる。
【００９１】
＜記憶装置３０１＞
記憶装置３０１は、住宅１００から受信したデータであって住宅１００のコントローラ１００１などの機器が取得または生成したデータを記録する。記憶装置３０１は、例えばＨＤＤなどである。
【００９２】
＜通信部３１４＞
通信部３１４は、通信ネットワーク５００を介して、住宅１００、認証サーバ２００及びサービスサーバ４００との通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部３１４で保持してもよい。
【００９３】
次に、サービスサーバ４００について説明する。
【００９４】
［１．６  サービスサーバ４００の構成］
図８は、本実施の形態に係るサービスサーバ４００の機能構成の一例を示すブロック図である。サービスサーバ４００は、図１０に示すように、サービス管理部４１１と、トランザクションデータ生成部４１２と、記録部４１３と、通信部４１４とを備える。サービスサーバ４００は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【００９５】
＜サービス管理部４１１＞
サービス管理部４１１は、住宅１００のコントローラ１００１などの機器と所定の契約が成立したか否かを管理する。例えば、サービス管理部４１１は、電力の需要予測などを基に住宅１００での電力利用の抑制などの調整を行うために、住宅１００に電力抑制の依頼を行う。ここで、住宅１００は、住宅間での電力取引を行い、住宅で余剰な電力を他の住宅に融通することで、系統からの電力利用を抑制するとしてもよい。
【００９６】
また、サービス管理部４１１は、住宅１００のコントローラ１００１などと電力抑制の方法を決定し、契約情報及び抑制方法に応じて、分散台帳に記録する対象となる住宅１００から取得すべきデータであって契約に関連するデータを示す情報種別のリストを生成する。
【００９７】
また、サービス管理部４１１は、例えば、電力抑制などの所定の契約に応じた住宅１００からの応答を起点として、情報種別リストを当該住宅１００に送付するためのスマートコントラクトを生成する。なお、スマートコントラクトには、所定の契約の内容等を示す契約情報と、所定の契約に関連するデータを示す情報種別のリストとが含まれていてもよい。この場合、スマートコントラクトには、契約情報及び情報種別リストを含んだ関数が定義されることになる。
【００９８】
また、サービス管理部４１１は、例えば、所定の契約に応じた住宅１００が、契約に関連するデータを含むトランザクションデータを認証サーバ２００に送信し分散台帳に記録されることで、住宅１００にインセンティブを支払うことが定義されたスマートコントラクトを生成してもよい。
【００９９】
サービス管理部４１１は、生成したスマートコントラクトをトランザクションデータ生成部４１２に送信するとともに、記録部４１３に記録する。
【０１００】
なお、サービス管理部４１１は、電力抑制などの所定の契約に応じた住宅１００からの応答を起点として情報種別リストを当該住宅１００に送付してもよい。
【０１０１】
＜トランザクションデータ生成部４１２＞
トランザクションデータ生成部４１２は、サービス管理部４１１から、スマートコントラクトを受信すると、受信したスマートコントラクトを含むトランザクションデータを生成する。生成したトランザクションデータを認証サーバに送信する。
【０１０２】
＜記録部４１３＞
記録部４１３は、サービス管理部４１１が生成したスマートコントラクト及び情報種別リストを記録する。なお、記録部４１３は、サービス管理部４１１が管理する所定の契約の内容等を示す契約情報を記録してもよいし、サービス管理部４１１が決定した電力調整の方法を記録してもよい。
【０１０３】
＜通信部４１４＞
通信部４１４は、通信ネットワーク５００を介して、住宅１００、認証サーバ２００及びデータサーバ３００との通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部４１４で保持されてもよい。
【０１０４】
より具体的には、通信部４１４は、サービスサーバ４００と機器とで契約が成立したことを確認するためのスマートコントラクトを含む第２トランザクションデータを、第１の認証サーバ２００に送信する。
【０１０５】
［１．７  住宅と認証サーバとデータサーバとサービスサーバとの間の全体シーケンス］
続いて、住宅１００ａと認証サーバ２００ａ〜２００ｃとデータサーバ３００とサービスサーバ４００との間でのデータ管理のシーケンスについて説明する。
【０１０６】
図９は、本実施の形態に係る住宅１００と認証サーバ２００とデータサーバ３００とサービスサーバ４００との間の全体シーケンスを示す図である。なお、図９に示す住宅１００ａは、住宅１００ｂまたは１００ｃでもよい。
【０１０７】
まず、ステップＳ１００において、認証サーバ２００ａ、２００ｂ、２００ｃとサービスサーバ４００との間でスマートコントラクト登録処理を行う。次に、ステップＳ２００において、住宅１００ａと認証サーバ２００ａ、２００ｂ、２００ｃとサービスサーバ４００との間で契約処理を行う。次に、ステップＳ３００において、住宅１００ａと認証サーバ２００ａ、２００ｂ、２００ｃとデータサーバ３００との間でデータ登録処理を行う。
【０１０８】
以下、ステップＳ１００〜ステップＳ３００の処理の詳細について説明する。
【０１０９】
［１．７．１  スマートコントラクト登録処理］
続いて、認証サーバ２００ａ、２００ｂ、２００ｃとサービスサーバ４００との間でのスマートコントラクト登録処理の詳細について説明する。
【０１１０】
図１０は、図９のステップＳ１００に示すスマートコントラクト登録処理の詳細を説明するためのシーケンス図である。図１０では、サービスサーバ４００が認証サーバ２００ｃにスマートコントラクトを登録するとして説明するが、これに限らない。サービスサーバ４００は、他の認証サーバ２００ａ、２００ｂにもスマートコントラクトを登録するとしてもよく、同様の処理となる。
【０１１１】
まず、サービスサーバ４００は、スマートコントラクトを生成する（Ｓ１０１）。ここで、サービスサーバ４００は、電力抑制などの所定の契約に応じた住宅１００ａ等からの応答を起点として、情報種別リストを住宅１００ａ等に送付するためのプログラムであるスマートコントラクトを生成するとする。この場合、例えば、サービスサーバ４００は、所定の契約の内容として電力抑制の内容を示す契約情報と、所定の契約として電力抑制に関連するデータを示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成してもよい。
【０１１２】
なお、サービスサーバ４００は、所定の契約に応じた住宅１００ａ等が、契約に関連するデータを含むトランザクションデータを認証サーバ２００ａ等に送信し分散台帳に記録されたとき、住宅１００ａにインセンティブを支払うことを定義したスマートコントラクトを生成してもよい。
【０１１３】
次に、サービスサーバ４００は、ステップＳ１０１で生成したスマートコントラクトを含むトランザクションデータ（以下、第２トランザクションデータと称する）を生成して、認証サーバ２００ｃに送信する（Ｓ１０２）。
【０１１４】
次に、認証サーバ２００ｃは、サービスサーバ４００から受信した第２トランザクションデータの検証を行う（Ｓ１０３）。なお、ステップＳ１０３はスキップしてもよい。
【０１１５】
ステップＳ１０３において、認証サーバ２００ｃは、第２トランザクションデータの検証が成功しなかった場合（Ｓ１０３でＮ）、サービスサーバ４００にその旨の通知を行い（Ｓ１０４）、スマートコントラクト登録処理を終了する。
【０１１６】
一方、ステップＳ１０３において、認証サーバ２００ｃは、第２トランザクションデータの検証が成功した場合（Ｓ１０３でＹ）、他の認証サーバ２００ａ、２００ｂに第２トランザクションデータを転送する（Ｓ１０５）。なお、ステップＳ１０３がスキップされた場合には、認証サーバ２００ｃは、サービスサーバ４００から受信した第２トランザクションデータを他の認証サーバ２００ａ、２００ｂに転送すればよい。また、他の認証サーバ２００ａ、２００ｂでは、転送されて受信した第２トランザクションデータを同様に検証する。
【０１１７】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する（Ｓ１０６）。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第２トランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第２トランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第２トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。このようにして、サービスサーバ４００が生成したスマートコントラクトは、分散台帳に登録（記録）される。登録されたスマートコントラクトは、住宅１００ａ等から、当該スマートコントラクトのコントラクトアドレスを含むトランザクションデータが分散台帳に記録された後に実行される。
【０１１８】
なお、スマートコントラクトには、住宅１００ａがサービスサーバ４００と所定の契約を成立した場合、契約が成立した住宅の識別子（例えばブロックチェーンアドレス）を記録するプログラムが含まれていてもよい。
【０１１９】
［１．７．２  契約処理］
続いて、住宅１００ａと認証サーバ２００ａ、２００ｂ、２００ｃとサービスサーバ４００との間の契約処理の詳細について説明する。以下では、契約種別として電力抑制である電力に関する契約（上記の所定の契約の一つ）がサービスサーバ４００と住宅１００ａの間で成立し、当該契約に関連するデータを示す新たな情報種別リストが住宅１００ａに送信される契約処理を例に挙げて説明する。
【０１２０】
図１１は、図９のステップＳ２００に示す契約処理の詳細を説明するためのシーケンス図である。
【０１２１】
まず、サービスサーバ４００は、電力抑制が必要と判断し、電力抑制の依頼を生成する（Ｓ２０１）。具体的には、サービスサーバ４００は、各住宅（住宅１００ａ、１００ｂ、１００ｃ）に対し、電力抑制の依頼を行う。
【０１２２】
次に、サービスサーバ４００は、生成した電力抑制の依頼を、各住宅（住宅１００ａ、１００ｂ、１００ｃ）に送信する（Ｓ２０２）。
【０１２３】
次に、各住宅は、サービスサーバ４００から電力抑制の依頼を受信し、電力抑制に応じるか否かを判断する（Ｓ２０３）。このとき、各住宅ではコントローラ１００１がユーザに電力抑制の依頼に応じるか否かを表示して判断させるとしてもよいし、宅内機器である蓄電池１００３の蓄電量から判断するとしてもよい。
【０１２４】
ステップＳ２０３において、例えば住宅１００ａは、電力抑制に応じないと判断した場合（Ｓ２０３でＮ）、サービスサーバ４００にその旨を通知し（Ｓ２０４）、契約処理を終了する。
【０１２５】
一方、ステップＳ２０３において、例えば住宅１００ａは、電力抑制に応じると判断した場合（Ｓ２０３でＹ）、トランザクションデータ（以下、第３トランザクションデータと称する）を生成する（Ｓ２０５）。ここで、第３トランザクションデータには、サービスサーバ４００からの電力抑制の依頼に応じる旨を示す情報など、サービスサーバ４００と住宅１００ａ（住宅１００ａのコントローラ１００１）とで契約が成立したことを示す情報が含まれる。そして、住宅１００ａは、生成した第３トランザクションデータを、認証サーバ２００ａに送信する。なお、住宅１００ａは、認証サーバ２００ａに第３トランザクションデータを送信するとして説明するが、これに限らない。住宅１００ａは、他の認証サーバ２００ｂ、２００ｃにも第３トランザクションデータを送信してもよく、同様の処理となる。また、図示していないが、住宅１００ａは、サービスサーバ４００に、サービスサーバ４００からの電力抑制の依頼に応じる旨の通知をしてもよい。
【０１２６】
次に、認証サーバ２００ａは、住宅１００ａから受信した第３トランザクションデータの検証を行う（Ｓ２０６）。なお、ステップＳ２０６はスキップしてもよい。
【０１２７】
ステップＳ２０６において、認証サーバ２００ａは、第３トランザクションデータの検証が成功しなかった場合（Ｓ２０６でＮ）、住宅１００ａにその旨の通知（エラー通知と称する）を行い（Ｓ２０７）、契約処理を終了する。
【０１２８】
一方、ステップＳ２０６において、認証サーバ２００ａは、第３トランザクションデータの検証が成功した場合（Ｓ２０６でＹ）、他の認証サーバ２００ｂ、２００ｃに第３トランザクションデータを転送する（Ｓ２０８）。なお、ステップＳ２０６がスキップされた場合には、認証サーバ２００ａは、住宅１００ａから受信した第３トランザクションデータを他の認証サーバ２００ａ、２００ｂに転送すればよい。また、他の認証サーバ２００ｂ、２００ｃでは、転送されて受信した第３トランザクションデータを同様に検証する。
【０１２９】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する（Ｓ２０９）。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第３トランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第３トランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第３トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。このようにして、住宅１００ａが電力抑制の依頼などの所定の契約に応じたこと（つまり契約の成立）が分散台帳すなわちブロックチェーンに記録される。
【０１３０】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、分散台帳に記録された第３トランザクションデータに基づき、スマートコントラクトを実行する（Ｓ２１０）。
【０１３１】
次に、実行されたスマートコントラクトは、サービスサーバ４００に、電力抑制の依頼に応じた住宅１００ａを通知するとともに、住宅１００ａに、電力抑制の契約に関連するデータを示す新たな情報種別リストを送信する（Ｓ２１１）。
【０１３２】
次に、住宅１００ａは、ステップＳ２１１で送信された情報種別リストを受信すると、受信した新たな情報種別リストを記録する（Ｓ２１２）。
【０１３３】
このようにして、住宅１００ａはサービスサーバ４００と所定の契約が成立する毎に、成立した所定の契約に関連するデータを示すデータリストである新たな情報種別リストを受信して、既に保持していた情報種別リストに追加することができる。
【０１３４】
［１．７．３  データ登録処理］
続いて、住宅１００ａと認証サーバ２００ａ、２００ｂ、２００ｃとデータサーバ３００との間のデータ登録処理の詳細について説明する。
【０１３５】
図１２は、図９のステップＳ３００に示すデータ登録処理の詳細を説明するためのシーケンス図である。図１２では、住宅１００ａが宅内機器で生成されたデータを送信するとして説明するが、これに限らない。同様の処理となるが、他の住宅１００ｂ、１００ｃが宅内機器で生成されたデータを送信してもよい。
【０１３６】
まず、住宅１００ａでは、宅内機器が生成したデータ、宅内機器の操作情報を含む履歴情報が収集される（Ｓ３０１）。本実施の形態では、例えば電力メータが生成した電力情報、太陽光発電が生成した発電量、コントローラ１００１が操作した宅内機器の履歴情報、または宅内機器のセンサデータなどデータがコントローラ１００１により収集される。
【０１３７】
次に、住宅１００ａ（のコントローラ１００１）は、情報種別リストを参照し、収集したデータが契約に関連している情報か否かを判定する（Ｓ３０２）。
【０１３８】
ステップＳ３０２において、住宅１００ａは、収集したデータが、情報種別リストに示される契約に関連するデータ（以下機器データと称する）ではないと判定した場合（Ｓ３０２でＮ）、収集したデータをデータサーバ３００に送信する（Ｓ３０３）。すると、データサーバ３００は、住宅１００ａから受信したデータを記録する（Ｓ３０４）。
【０１３９】
一方、ステップＳ３０２において、住宅１００ａは、収集したデータが、情報種別リストに示される機器データであると判定した場合（Ｓ３０２でＹ）、収集したデータを含むトランザクションデータ（以下、第１トランザクションデータと称する）を生成し（Ｓ３０５）、認証サーバ２００ａに送信する。なお、住宅１００ａは、認証サーバ２００ａに第１トランザクションデータを送信するとして説明するが、これに限らない。住宅１００ａは、他の認証サーバ２００ｂ、２００ｃにも第１トランザクションデータを送信してもよく、同様の処理となる。また、住宅１００ａは、認証サーバ２００ａに第１トランザクションデータを送信するとともに、データサーバ３００にも第１トランザクションデータを送信するとしてもよい。
【０１４０】
次に、認証サーバ２００ａは、住宅１００ａから受信した第１トランザクションデータの検証を行う（Ｓ３０６）。なお、ステップＳ３０６はスキップしてもよい。
【０１４１】
ステップＳ３０６において、認証サーバ２００ａは、第１トランザクションデータの検証が成功しなかった場合（Ｓ３０６でＮ）、住宅１００ａにその旨の通知すなわちエラー通知を行い（Ｓ３０７）、データ登録処理を終了する。
【０１４２】
一方、ステップＳ３０６において、認証サーバ２００ａは、第１トランザクションデータの検証が成功した場合（Ｓ３０６でＹ）、他の認証サーバ２００ｂ、２００ｃに第１トランザクションデータを転送する（Ｓ３０８）。なお、ステップＳ３０６がスキップされた場合には、認証サーバ２００ａは、住宅１００ａから受信した第１トランザクションデータを他の認証サーバ２００ａ、２００ｂに転送すればよい。また、他の認証サーバ２００ｂ、２００ｃでは、転送されて受信した第１トランザクションデータを同様に検証する。
【０１４３】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する（Ｓ３０９）。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第１トランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第１トランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第１トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。このようにして、所定の契約に関連した機器データが分散台帳すなわちブロックチェーンに記録される。
【０１４４】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、分散台帳に記録された第１トランザクションデータに基づき、スマートコントラクトを実行する（Ｓ３１０）。
【０１４５】
次に、実行されたスマートコントラクトは、分散台帳に記録された第１トランザクションデータを生成した住宅１００ａに、インセンティブを支払うためにトークンを発行する（Ｓ３１１）。
【０１４６】
［１．８  効果等］
上記の実施の形態によれば、収集したデータのうち契約に関連するデータのみを必要なデータとして分散台帳に記録することで、必要なデータのみをブロックチェーン技術を用いて管理することができる。これにより、必要なデータの改ざんを防止することができる。また、必要なデータのみをブロックチェーン技術を用いて管理することができるので、分散台帳の容量を節約でき、ブロックチェーン技術での管理に要するリソースを抑制することができる。よって、データを利活用する上で、効率がよく安全なデータ管理システムの構築が可能となる。
【０１４７】
また、上記の実施の形態によれば、サービスサーバ４００と住宅１００ａ等との間で契約が成立されたことを示すトランザクションデータが生成され分散台帳に記録されることにより、スマートコントラクトが実行されて情報種別リストが追加される。これにより、住宅１００ａ等がサービスサーバ４００との契約が成立したことを保証することができるだけでなく、成立した契約に関連するデータをより確実に分散台帳に記録できる。
【０１４８】
なお、上記の実施の形態によれば、契約に関連しないデータは、データサーバ３００に記録される。これにより、ブロックチェーンのトランザクションデータが膨大に生成されないので、ブロックが生成されるまでに時間を抑制することができるので、よりリアルタイムにデータを利活用することができる。
【０１４９】
［２．  その他変形例］
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０１５０】
（１）上記の実施の形態では、認証サーバ２００とデータサーバ３００とは別の装置として説明したが、これに限らない。認証サーバ２００とデータサーバ３００とは同一の装置であってもよい。この場合、認証サーバ２００は、契約に関連する情報のみをブロックチェーンのブロックに含めて生成すればよい。
【０１５１】
（２）上記の実施の形態では、住宅１００のコントローラ１００１は、情報種別リストを参照し、取得または生成したデータが契約に関する情報か否か判定しているが、これに限らない。認証サーバが、情報種別リストを参照し、住宅１００のコントローラ１００１から受信したデータが契約に関する情報か否かを判定してもよい。
【０１５２】
以下、この場合について図を用いて説明する。
【０１５３】
図１３は、本実施の形態の変形例に係る認証サーバ２００ａの機能構成の一例を示すブロック図である。図５に示す認証サーバ２００ａと同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１５４】
図１３に示す認証サーバ２００ａは、図５に示す認証サーバ２００ａに対して、データ管理部２２１が追加されている点で構成が異なる。
【０１５５】
データ管理部２２１は、情報種別リストを参照して、通信部２１６を介して取得した第１トランザクションデータに含まれる機器データが、情報種別リストに示される第１データであるかを判定する。
【０１５６】
より具体的には、データ管理部２２１は、サービスサーバ４００から情報種別リストを取得する。データ管理部２２１は、住宅１００から受信した第１トランザクションデータに含まれるデータであって住宅１００のコントローラ１００１などの機器が取得または生成したデータが情報種別リストに示される例えば契約に関する情報などの第１データであるかを判定する。
【０１５７】
データ管理部２２１は、住宅１００から受信したデータが契約に関する情報などの第１データであると判定した場合、第１トランザクションデータをトランザクションデータ検証部２１１に送信し、第１トランザクションデータの検証を行わせる。つまり、トランザクションデータ検証部２１１は、データ管理部２２１において第１トランザクションデータに含まれる機器データが、情報種別リストに示される第１データであると判定された場合に、第１トランザクションデータの検証を行うことになる。
【０１５８】
データ管理部２２１は、住宅１００から受信したデータが、情報種別リストに示される契約に関する情報などの第１データではないと判定した場合、住宅１００から受信したデータをデータサーバ３００に送信する。これにより、データ管理部２２１は、データサーバ３００に、データ管理部２２１が送信したデータを、記録装置３０１に記録させることができる。
【０１５９】
なお、本変形例では、住宅１００ａは、コントローラ１００１などの機器が取得または生成したデータを第１トランザクションデータに含めて、認証サーバ２００ａに送信する。このようにして、住宅１００側で分散台帳に記録する対象となるデータであるかを判定せず、認証サーバ２００ａ側で判定させることで、契約に関連するデータのみ必要なデータとして分散台帳に記録する。
【０１６０】
図１４は、図９のステップＳ３００に示すデータ登録処理の詳細の本変形例に係る例を説明するためのシーケンス図である。図１４では、住宅１００ａが宅内機器で生成されたデータを送信するとして説明するが、これに限らない。同様の処理となるが、他の住宅１００ｂ、１００ｃが宅内機器で生成されたデータを送信してもよい。
【０１６１】
まず、住宅１００ａでは、宅内機器が生成したデータ、宅内機器の操作情報を含む履歴情報が収集される（Ｓ３２１）。ここでも、例えば電力メータが生成した電力情報、太陽光発電が生成した発電量、コントローラ１００１が操作した宅内機器の履歴情報、または宅内機器のセンサデータなどデータがコントローラ１００１により収集される。
【０１６２】
次に、住宅１００ａ（のコントローラ１００１）は、収集したデータを含むトランザクションデータ（以下、第１トランザクションデータと称する）を生成する（Ｓ３２２）。ここで第１トランザクションデータは、収集したデータを個々に含むとして説明する。
【０１６３】
次に、住宅１００ａは、ステップＳ３２２において生成した第１トランザクションデータを認証サーバ２００ａに送信する（Ｓ３２３）。
【０１６４】
次に、認証サーバ２００ａは、住宅１００ａから第１トランザクションデータを受信すると、情報種別リストを参照し、受信した第１トランザクションデータに含まれるデータが契約に関連している情報か否かを判定する（Ｓ３２４）。
【０１６５】
ステップＳ３２４において、認証サーバ２００ａは、住宅１００ａから受信した第１トランザクションデータに含まれるデータが契約に関連する情報ではないと判定した場合（Ｓ３２４でＮ）、第１トランザクションデータに含まれるデータをデータサーバ３００に送信する（Ｓ３２５）。すると、データサーバ３００は、認証サーバ２００ａから受信したデータを記録する（Ｓ３２６）。
【０１６６】
一方、ステップＳ３２４において、認証サーバ２００ａは、住宅１００ａから受信した第１トランザクションデータに含まれるデータが契約に関連する情報であると判定した場合（Ｓ３２４でＹ）、住宅１００ａから受信した第１トランザクションデータの検証を行う（Ｓ３２７）。
【０１６７】
ステップＳ３２７において、認証サーバ２００ａは、第１トランザクションデータの検証が成功しなかった場合（Ｓ３２７でＮ）、住宅１００ａにその旨の通知すなわちエラー通知を行い（Ｓ３２８）、データ登録処理を終了する。
【０１６８】
一方、ステップＳ３２７において、認証サーバ２００ａは、第１トランザクションデータの検証が成功した場合（Ｓ３２７でＹ）、他の認証サーバ２００ｂ、２００ｃに第１トランザクションデータを転送する（Ｓ３２９）。なお、他の認証サーバ２００ｂ、２００ｃでは、転送されて受信した第１トランザクションデータを同様に検証する。さらに、認証サーバ２００ａは、データサーバ３００にも第１トランザクションデータを転送するとしてもよい。この場合、データサーバ３００では、受信した第１トランザクションデータまたは第１トランザクションデータに含まれるデータを記録する。
【０１６９】
次に、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する（Ｓ３３０）。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信した第１トランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれ第１トランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、第１トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。
【０１７０】
このようにして、認証サーバ２００ａは、住宅１００から取得したデータのうち、所定の契約に関連した機器データのみを分散台帳すなわちブロックチェーンに記録することができるので、住宅１００側で契約に関連する情報か否かを判定する必要がなくなる。
【０１７１】
（３）上記の実施の形態では、所定の契約として、サービスサーバ４００と住宅１００とが電力抑制の契約を行う場合の例を挙げて説明したが、これに限らない。所定の契約は、図４の情報種別リストに示される契約種別である電力取引の契約であってもよいし、図４では不図示のＩｏＴの機器の連携の契約であってもよい。
【０１７２】
まず、所定の契約として、電力取引の契約を行う場合について説明する。図１０に示すスマートコントラクト登録処理では、ステップＳ１０１において、サービスサーバ４００は、電力取引の契約についてのスマートコントラクトを生成する。例えばサービスサーバ４００は、電力取引の内容を示す契約情報として売電する住宅と買電する住宅の変数を定義し、電力取引に関連するデータとして契約が成立した住宅が有する電力メータの情報を示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成する。そして、サービスサーバ４００は、認証サーバ２００に生成したスマートコントラクトを送信することで、認証サーバ２００の分散台帳に登録させる。
【０１７３】
図１１に示す契約処理では、ステップＳ２０３で電力取引に応じた住宅１００が、ステップＳ２０５で生成した売電もしくは買電のトランザクションデータを認証サーバ２００に送信する。認証サーバ２００は、取得した売電もしくは買電のトランザクションデータを分散台帳に記録したときに、スマートコントラクトを実行し、売電する住宅１００と買電する住宅１００の電力が満たされかを確認する。例えば、認証サーバ２００は、買電する住宅１００から、１０ＫＷｈの電力を必要とする旨を示すトランザクションデータを取得し、売電する１以上の住宅１００から、一定の電力を売ることができる旨のトランザクションデータを取得し、分散台帳に記録し、スマートコントラクトを実行する。認証サーバ２００は、スマートコントラクトを実行し、売電する住宅１００と買電する住宅１００の電力が満たされかを確認し、売電する１以上の住宅１００が得ることができる電力の合計値が１０ＫＷｈを超えていた場合、契約が成立したと判定する。そして、スマートコントラクトは、電力取引の契約に関連するデータを示す情報種別リストを、契約が成立した住宅１００それぞれに送信する。
【０１７４】
図１２に示すデータ登録処理では、契約が成立した住宅１００は、電力メータの情報を含むトランザクションデータを生成し、認証サーバ２００に送信する。
【０１７５】
このようにして、必要なデータとして、電力取引の契約に関連するデータのみを分散台帳に記録し管理することができる。これにより、ブロックチェーンで売電または買電が実行されていることが保証される。
【０１７６】
続いて、所定の契約として、ＩｏＴの機器連携の契約を行う場合について説明する。図１０に示すスマートコントラクト登録処理では、ステップＳ１０１において、サービスサーバ４００は、機器連携の契約についてのスマートコントラクトを生成する。
【０１７７】
例えばサービスサーバ４００は、機器連携の内容を示す契約情報として連携する機器を定義し、機器連携の内容を示す契約情報として、連携する各機器の状態を示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成する。また、サービスサーバ４００は、スマートコントラクトに、さらに、連携する機器が機器Ａと機器Ｂである場合に機器Ａの動作の完了後に機器Ｂの状態を確認する関数を定義する。一例を挙げると、サービスサーバ４００は、機器Ａをある部屋の鍵とし、機器Ｂをある部屋の照明器具とした場合、機器Ａである鍵が施錠されたというトランザクションデータが分散台帳に記録されたときに、機器Ｂである照明器具が状態を確認するようなスマートコントラクトを生成する。そして、サービスサーバ４００は、認証サーバ２００に生成したスマートコントラクトを送信することで、認証サーバ２００の分散台帳に登録させる。
【０１７８】
図１１に示す契約処理では、ステップＳ２０３で住宅１００が機器連携の契約に応じた場合、ステップＳ２０５で機器連携の契約に応じた旨のトランザクションデータを作成するとしてもよい。また、ステップＳ２０５で当該住宅１００のコントローラ１００１が機器Ａと機器Ｂとを紐付けして機器Ａと機器Ｂとが連携したことを示すトランザクションデータを作成してもよい。これにより、例えば、機器Ａとしての鍵の施錠と、機器Ｂとしての照明器具の状態確認とが紐付けされる機器連携の契約に応じた旨のトランザクションデータが作成される。
【０１７９】
図１２に示すデータ登録処理では、機器連携の契約に応じた住宅１００は、機器Ａの動作状態を示すトランザクションデータと、機器Ｂの動作状態を示すトランザクションデータを生成し、認証サーバ２００に送信する。認証サーバ２００は、機器Ａの動作状態を示すトランザクションデータを分散台帳に記録すると、スマートコントラクトを実行し、機器Ｂの状態を含むトランザクションデータを確認し、確認した機器Ｂの状態情報を取得する。認証サーバ２００は、スマートコントラクトを実行して取得した機器Ｂの状態情報を含むトランザクションデータを生成し、分散台帳に記録する。
【０１８０】
このようにして、必要なデータとして、機器連携の契約に関連するデータとして、連携動作した機器の状態のうち後の状態のみを分散台帳に記録し管理することができる。これにより、ブロックチェーンで機器の連携の情報が保証される。
【０１８１】
機器連携の機器は、部屋の鍵であったり部屋の照明であったりしてもよいが、ロボットであってもよい。ロボットの連携としては、例えばロボット機器Ａとロボット機器Ｂとが連動して荷物の配送を行うが考えられる。この場合、ロボット機器Ａの状態を示すトランザクションデータが分散台帳に記録されると、スマートコントラクトを実行することによりロボット機器Ｂの状態を確認し、確認したロボット機器Ｂの状態情報を取得してもよい。そして、認証サーバ２００は、スマートコントラクトを実行して取得したロボット機器Ｂの状態情報を含むトランザクションデータを生成し、分散台帳に記録する。これにより、分散台帳でロボットの連携が正しく動作し、荷物の受け取りができているか否かの確認が可能となる。ロボット機器の状態情報としては、例えば、荷物の識別子または荷物の配送中のセンサ情報などであってもよい。なお、配送中ではないとき、センサ情報などのロボット機器の状態情報はデータサーバに送信されるとしてもよい。
【０１８２】
また、ロボットの連携の確認としては、前工程のロボット機器の状態を示すトランザクションデータが分散台帳に記録されると、スマートコントラクトを実行することにより後工程のロボット機器の状態を確認し、確認した状態情報を取得してもよい。そして、認証サーバ２００は、スマートコントラクトを実行して取得した後工程のロボット機器の状態情報を含むトランザクションデータを生成し、分散台帳に記録する。これにより、ロボットの連携が正しく動作しているかどうかの確認ができる。
【０１８３】
なお、スマートコントラクトは、分散台帳に記録されるプログラムであり、分散台帳に記録されたトランザクションデータに含まれるコントラクトアドレスに基づき実行されるため、トランザクションデータを生成しないとされるが、これに限らない。スマートコントラクトは、実行することで得たデータを含むトランザクションデータを生成するとしてもよい。
【０１８４】
（４）上記の実施の形態では、認証サーバ２００は、第１トランザクションデータに含まれる契約に関連するデータを、一つのブロックチェーンで管理をしているが、これに限らない。認証サーバ２００は、契約ごとのブロックチェーンに分けて契約に関連するデータを管理するとしてもよい。例えば、電力抑制に関する機器データと電力取引に関する機器データとでブロックチェーンを分けるとしてもよい。
【０１８５】
（５）上記の実施の形態では、認証サーバ２００または住宅１００は、分散台帳に記録する対象となるすべての契約種別の情報を含む１つの情報種別リストを保持するとして説明したが、これに限らない。認証サーバ２００または住宅１００は、契約種別ごとに１つの情報種別リストを保持するとしてもよい。
【０１８６】
（６）上記の実施の形態では、サービスサーバ４００が、住宅１００等に電力抑制の依頼などのサービス依頼を送信しているが、これに限らない。サービスサーバ４００は、サービス依頼を示すトランザクションデータを生成し、認証サーバ２００に送信するとしてもよい。この場合、住宅１００は、認証サーバ２００にポーリングなどを行い、認証サーバ２００にサービス依頼を示すトランザクションデータがあるか否かを確認すればよい。
【０１８７】
また、サービスサーバ４００は、サービス依頼を行うスマートコントラクトを含むトランザクションデータを生成し、認証サーバ２００に送信するとしてもよい。この場合、認証サーバ２００は、サービスサーバ４００からサービス依頼を行うトランザクションデータをブロックチェーンのブロックに含めて記録した時に、当該サービス依頼を行うスマートコントラクトを実行し、各住宅１００に当該サービス依頼を送信させてもよい。
【０１８８】
（７）上記の実施の形態では、住宅１００は、電力抑制の依頼などのサービス依頼に応じる場合に、第３トランザクションデータを生成して認証サーバ２００に送信するとして説明したが、これに限らない。住宅１００は、第３トランザクションデータを生成して認証サーバ２００に送信するとともに、サービスサーバ４００に、サービス依頼に応じる旨の通知を行ってもよい。
【０１８９】
（８）上記の実施の形態では、スマートコントラクトを実行することで、住宅１００が保持する情報種別リストの更新をさせるとして説明したが、これに限らない。スマートコントラクトの実行がされないとしてもよい。この場合、データサーバ３００は、記録されている情報種別リストが更新された場合、サービス依頼に応じている住宅１００に情報種別リストが更新された旨の通知を行ってもよい。
【０１９０】
また、サービスサーバ４００が情報種別リストを更新した場合、認証サーバ２００が保持する情報種別リストが更新されるとしてもよい。認証サーバ２００が情報種別リストをブロックチェーンに記録して管理している場合、更新された情報種別リストをブロックチェーンに記録するとしてもよい。
【０１９１】
（９）上記の実施の形態では、住宅１００が電力抑制の依頼などの契約に応じた場合、住宅１００は、情報種別リストを参照し、契約に関連する第１データを含む第１トランザクションデータを生成して、認証サーバ２００に送信しているが、これに限らない。住宅１００のコントローラ１００１などの機器は、所定の基準により、第１データ以外のデータで分散台帳に記録した方がよいと判定した場合には、当該第１データ以外のデータを含むトランザクションデータを生成して認証サーバ２００に送信してもよい。例えば住宅１００のコントローラ１００１などの機器は、契約に関連する第１データでなくても、複数の機器が連携して動作する場合に、連携動作に関するデータを含むトランザクションデータを生成して認証サーバ２００に送信してもよい。
【０１９２】
（１０）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ＳＳＤ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１９３】
（１１）上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１９４】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０１９５】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１９６】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１９７】
（１２）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１９８】
（１３）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１９９】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０２００】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２０１】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０２０２】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２０３】
（１４）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２０４】
本開示は、データ管理方法、データ管理システム及びプログラムに利用でき、例えば保証が必要なデータのみをブロックチェーンで管理することで、改ざんを防止する安全なシステムに用いられるデータ管理方法、データ管理システム及びプログラムに利用可能である。
【符号の説明】
【０２０５】
１００ａ、１００ｂ、１００ｃ    住宅
２００ａ、２００ｂ、２００ｃ    認証サーバ
２０１ａ、２０１ｂ、２０１ｃ、３０１    記憶装置
２１１    トランザクションデータ検証部
２１２    ブロック生成部
２１３    同期部
２１４    スマートコントラクト管理部
２１５、４１３、１０００３    記録部
２１６、３１４、４１４、１０００４    通信部
２２１、３１１    データ管理部
３００    データサーバ
３１２    データ検証部
４００    サービスサーバ
４１１    サービス管理部
４１２、１０００２    トランザクションデータ生成部
５００    通信ネットワーク
１００１    コントローラ
１００２    太陽光発電設備
１００３    蓄電池
１００４    電力メータ
１００５    電力ネットワーク
１００６    通信ネットワーク
１０００１    制御部
【図１】
2020122039.tif 000003
【図２】
2020122039.tif 000004
【図３】
2020122039.tif 000005
【図４】
2020122039.tif 000006
【図５】
2020122039.tif 000007
【図６】
2020122039.tif 000008
【図７】
2020122039.tif 000009
【図８】
2020122039.tif 000010
【図９】
2020122039.tif 000011
【図１０】
2020122039.tif 000012
【図１１】
2020122039.tif 000013
【図１２】
2020122039.tif 000014
【図１３】
2020122039.tif 000015
【図１４】
2020122039.tif 000016
【国際調査報告】
2020122039.tif 000017
2020122039.tif 000018
2020122039.tif 000019
2020122039.tif 000020