(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-14
(45)【発行日】2024-06-24
(54)【発明の名称】データ管理方法、データ管理システム及びプログラム
(51)【国際特許分類】
G06Q 10/00 20230101AFI20240617BHJP
G06Q 50/06 20240101ALI20240617BHJP
【FI】
G06Q10/00
G06Q50/06
(21)【出願番号】P 2020559238
(86)(22)【出願日】2019-12-10
(86)【国際出願番号】 JP2019048189
(87)【国際公開番号】W WO2020122039
(87)【国際公開日】2020-06-18
【審査請求日】2022-10-05
(32)【優先日】2018-12-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】海上 勇二
(72)【発明者】
【氏名】添田 純一郎
【審査官】田川 泰宏
(56)【参考文献】
【文献】特開2018-112827(JP,A)
【文献】特開2018-128723(JP,A)
【文献】特開2018-050378(JP,A)
【文献】特開2018-049399(JP,A)
【文献】国際公開第2017/092788(WO,A1)
【文献】国際公開第2017/067587(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
認証サーバと機器とを備えるデータ管理システムにおけ
るデータ管理方法であって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、
前記第1トランザクションデータに含まれる前記機器データが
、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含
み、
前記第1トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第1データではない場合、前記第1トランザクションデータを前記分散台帳ではない記録装置に記録する、
データ管理方法。
【請求項2】
前記データ管理方法では、さらに、
前記認証サーバが有している情報種別リストを参照して、前記取得ステップにおいて取得した前記第1トランザクションデータに含まれる機器データが、前記情報種別リストに示される第1データであるかを判定する判定ステップを含み、
前記記録ステップでは、前記判定ステップにおいて前記第1トランザクションデータに含まれる前記機器データが、前記情報種別リストに示される第1データであると判定された場合に、前記第1トランザクションデータを含むブロックを生成する、
請求項1に記載のデータ管理方法。
【請求項3】
前記データ管理システムは、さらに、データサーバを備え、
前記データ管理方法は、さらに、
前記判定ステップにおいて、前記第1トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第1データではないと判定された場合、前記機器データを前記データサーバに送信することで、前記データサーバに、前記機器データを前記データサーバが備える記録装置に記録させる記録ステップを含む、
請求項2に記載のデータ管理方法。
【請求項4】
前記機器は、前記情報種別リストを有しており、
前記データ管理方法では、さらに、
前記情報種別リストを参照して、前記機器が取得または生成したデータが、前記情報種別リストに示される第1データであるかを、前記機器により判定される機器判定ステップと、
前記機器により、前記機器判定ステップにおいて前記情報種別リストに示される第1データであると判定された場合、前記機器が取得または生成したデータを前記機器データとして含めて前記第1トランザクションデータが生成され
、前記認証サーバに送信される機器送信ステップとを含み、
前記取得ステップでは、前記機器送信ステップにより送信された前記第1トランザクションデータを取得する、
請求項1に記載のデータ管理方法。
【請求項5】
前記データ管理システムは、さらに、データサーバを備え、
前記データ管理方法は、さらに、
前記機器判定ステップにおいて、前記機器が取得または生成したデータが、前記情報種別リストに示される第1データではないと、前記機器により判定された場合、前記機器が取得または生成したデータが前記データサーバに、前記機器により送信されることで、前記機器が取得または生成したデータが前記データサーバの備える記録装置に、前記データサーバにより記録される機器データ記録ステップとを含む、
請求項4に記載のデータ管理方法。
【請求項6】
前記データ管理システムは、さらに、サービスサーバを備え、
前記データ管理方法は、さらに、
前記サービスサーバと前記機器とで契約が成立したことを確認するためのスマートコントラクトが、前記サービスサーバにより生成され、第2トランザクションデータに含められて、前記サービスサーバか
ら前記認証サーバに送信される送信ステップとを含み、
前記記録ステップでは、前記送信ステップにおいて送信された前記第2トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する、
請求項
1~5のいずれか1項に記載のデータ管理方法。
【請求項7】
認証サーバと機器とを備えるデータ管理システムにおけるデータ管理方法であって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、
前記第1トランザクションデータに含まれる前記機器データが、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含み、
前記取得ステップでは
、サービスサーバと前記機器とで契約が成立したことを示す第3トランザクションデー
タを取得し、
前記記録ステップでは、前記取得ステップにおいて取得した前記第3トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録し、
前記データ管理方法は、さらに、
前記分散台帳に記録されたブロックに含まれる前記第3トランザクションデータに基づき
、スマートコントラクトを動作させることで、前記サービスサーバと前記機器とで成立した前記契約に関連するデータを、前記情報種別リストに追加させる追加ステップを含む、
データ管理方法。
【請求項8】
認証サーバと機器とを備えるデータ管理システムにおけるデータ管理方法であって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、
前記第1トランザクションデータに含まれる前記機器データが、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含み、
前記データ管理方法は、さらに、
前記記録ステップにおいて前記第1トランザクションデータを含むブロックが前記分散台帳に記録された場合、前記第1トランザクションデータに基づき
、スマートコントラクトを動作させることで、前記機器に対してトークンを発行する発行ステップを含む、
データ管理方法。
【請求項9】
前記所定の契約は、電力に関する契約であり、
前記機器データは、電力に関するデータである、
請求項1~8のいずれか1項に記載のデータ管理方法。
【請求項10】
前記所定の契約は、前記機器とは異なる第1機器及び第2機器の連携に関する契約であり、
前記機器データは、前記第1機器の動作完了後の前記第2機器の状態に関するデータである、
請求項1~8のいずれか1項に記載のデータ管理方法。
【請求項11】
前記第1機器は、第1工程で動作するロボットであり、
前記第2機器は、前記第1工程の後に動作するロボットである、
請求項10に記載のデータ管理方法。
【請求項12】
認証サーバと、
機器とを備え、
前
記認証サーバは、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得部と、
前記第1トランザクションデータに含まれる前記機器データが
、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータの検証を行うトランザクションデータ検証部と、
前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する同期部と、を含
み、
前記認証サーバまたは前記機器は、前記第1トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第1データではない場合、前記第1トランザクションデータを前記分散台帳ではない記録装置に記録する、
データ管理システム。
【請求項13】
認証サーバと機器とを備えるデータ管理システムにおけ
るデータ管理方法をコンピュータに実行させるプログラムであって、
前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、
前記第1トランザクションデータに含まれる前記機器データが
、分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する
第1記録ステップと、
前記第1トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第1データではない場合、前記第1トランザクションデータを前記分散台帳ではない記録装置に記録する第2記録ステップと、をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ管理方法、データ管理システム及びプログラムに関し、特にユーザから収集したデータを管理するデータ管理方法、データ管理システム及びプログラムに関する。
【背景技術】
【0002】
近年、ユーザのデータ及び機器のデータなどのデータを収集、分析及び流通するシステムが検討されている。今後、IoT(Internet of Things)が進展しAI等が普及することにより、従来よりも多くのデータを収集することが可能となるため、収集したデータの利活用が期待されている。
【0003】
しかし、収集したデータが改ざんされてしまうと、データの利活用に支障が発生する。例えば、AIの学習に用いるデータが改ざんされてしまうと誤った学習が行われ、結果としてAIに誤った処理を行わせることになることが考えられる。また、IoTの機器間で通信を行って連動して動作する場合にセンサ情報などが改ざんされてしまうと、IoTの機器間で連動して動作することができなくなることも考えられる。
【0004】
このため、収集したデータが改ざんされないように防止する必要がある。例えば非特許文献1では、ブロックチェーンを用いることでデータベースの改ざんが困難となることが開示されている。非特許文献1によれば、ブロックチェーンを用いて、例えばデータベースなどのデータを管理することで、収集したデータの改ざんを防止することができる。
【先行技術文献】
【非特許文献】
【0005】
【文献】NISTIR 8202 Blockchain Technology Overview(https://nvlpubs.nist.gov/nistpubs/ir/2018/NIST.IR.8202.pdf、2018年11月21日検索)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、IoTのすべてのデータをブロックチェーンで管理することは難しい。例えば、IoTのすべてのデータをブロックチェーンで管理する場合、管理するデータ量が膨大になり記憶するための容量が足りなくなる可能性もある。また、ブロックが生成されるまでに時間を要するためリアルタイムにデータを利活用する必要があっても遅延が発生したり、大量のトランザクションデータに機器間の連動に必要なデータが含まれていた場合、必要なデータがなかなかブロックに含まれずに連動できなかったりする可能性がある。このように、IoTのすべてのデータをブロックチェーンで管理するのは難しいという課題がある。
【0007】
本開示は、上述の事情を鑑みてなされたもので、必要なデータのみをブロックチェーン技術を用いて管理することができるデータ管理方法等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本開示のデータ管理方法は、分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第1の認証サーバによって実行されるデータ管理方法であって、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、前記第1トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含む。
【0009】
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示によれば、必要なデータのみをブロックチェーン技術を用いて管理することができる。よって、データを利活用する上で効率がよく安全なシステムの構築が可能となる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態に係るデータ管理システムの全体構成の一例を示す図である。
【
図2】
図2は、実施の形態に係る住宅の全体構成の一例を示す図である。
【
図3】
図3は、
図2に示すコントローラの機能構成の一例を示すブロック図である。
【
図4】
図4は、実施の形態に係る情報種別リストの一例を示す図である。
【
図5】
図5は、実施の形態に係る認証サーバの機能構成の一例を示すブロック図である。
【
図6】
図6は、ブロックチェーンのデータ構造を示す説明図である。
【
図7】
図7は、実施の形態に係るデータサーバの機能構成の一例を示すブロック図である。
【
図8】
図8は、実施の形態に係るサービスサーバの機能構成の一例を示すブロック図である。
【
図9】
図9は、実施の形態に係る住宅と認証サーバとデータサーバとサービスサーバとの間の全体シーケンスを示す図である。
【
図10】
図10は、
図9のステップS100に示すスマートコントラクト登録処理の詳細を説明するためのシーケンス図である。
【
図11】
図11は、
図9のステップS200に示す契約処理の詳細を説明するためのシーケンス図である。
【
図12】
図12は、
図9のステップS300に示すデータ登録処理の詳細を説明するためのシーケンス図である。
【
図13】
図13は、実施の形態の変形例に係る認証サーバの機能構成の一例を示すブロック図である。
【
図14】
図14は、
図9のステップS300に示すデータ登録処理の詳細の変形例に係る例を説明するためのシーケンス図である。
【発明を実施するための形態】
【0012】
本開示の一実施態様のデータ管理方法は、分散台帳をそれぞれ有する複数の認証サーバと機器とを備えるデータ管理システムにおける前記複数の認証サーバのうちの第1の認証サーバによって実行されるデータ管理方法であって、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得ステップと、前記第1トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する記録ステップと、を含む。
【0013】
これにより、必要なデータのみを、ブロックチェーン技術を用いて管理するデータ管理方法を実現できる。よって、データを利活用する上で効率がよく安全なシステムの構築が可能となる。
【0014】
また、前記第1の認証サーバは、前記情報種別リストを有しており、前記データ管理方法では、さらに、前記情報種別リストを参照して、前記取得ステップにおいて取得した前記第1トランザクションデータに含まれる機器データが、前記情報種別リストに示される第1データであるかを判定する判定ステップを含み、前記記録ステップでは、前記判定ステップにおいて前記第1トランザクションデータに含まれる前記機器データが、前記情報種別リストに示される第1データであると判定された場合に、前記第1トランザクションデータを含むブロックを生成するとしてもよい。
【0015】
また、前記データ管理システムは、さらに、データサーバを備え、前記データ管理方法は、さらに、前記判定ステップにおいて、前記第1トランザクションデータに含まれる前記機器データが前記情報種別リストに示される第1データではないと判定された場合、前記機器データを前記データサーバに送信することで、前記データサーバに、前記機器データを前記データサーバが備える記録装置に記録させる記録ステップを含むとしてもよい。
【0016】
また、前記機器は、前記情報種別リストを有しており、前記データ管理方法では、さらに、前記情報種別リストを参照して、前記機器が取得または生成したデータが、前記情報種別リストに示される第1データであるかを、前記機器により判定される機器判定ステップと、前記機器により、前記機器判定ステップにおいて前記情報種別リストに示される第1データであると判定された場合、前記機器が取得または生成したデータを前記機器データとして含めて前記第1トランザクションデータが生成され、前記第1の認証サーバに送信される機器送信ステップとを含み、前記取得ステップでは、前記機器送信ステップにより送信された前記第1トランザクションデータを取得するとしてもよい。
【0017】
また、前記データ管理システムは、さらに、データサーバを備え、前記データ管理方法は、さらに、前記機器判定ステップにおいて、前記機器が取得または生成したデータが、前記情報種別リストに示される第1データではないと、前記機器により判定された場合、前記機器が取得または生成したデータが前記データサーバに、前記機器により送信されることで、前記機器が取得または生成したデータが前記データサーバの備える記録装置に、前記データサーバにより記録される機器データ記録ステップとを含むとしてもよい。
【0018】
また、前記データ管理システムは、さらに、サービスサーバを備え、前記データ管理方法は、さらに、前記サービスサーバと前記機器とで契約が成立したことを確認するためのスマートコントラクトが、前記サービスサーバにより生成され、第2トランザクションデータに含められて、前記サービスサーバから前記第1の認証サーバに送信される送信ステップとを含み、前記記録ステップでは、前記送信ステップにおいて送信された前記第2トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録するとしてもよい。
【0019】
また、前記取得ステップでは、前記サービスサーバと前記機器とで契約が成立したことを示す第3トランザクションデータであって前記機器により生成された第3トランザクションデータを取得し、前記記録ステップでは、前記取得ステップにおいて取得した前記第3トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録し、前記データ管理方法は、さらに、前記分散台帳に記録されたブロックに含まれる前記第3トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記サービスサーバと前記機器とで成立した前記契約に関連するデータを、前記情報種別リストに追加させる追加ステップを含むとしてもよい。
【0020】
また、前記データ管理方法は、さらに、前記記録ステップにおいて前記第1トランザクションデータを含むブロックが前記分散台帳に記録された場合、前記第1トランザクションデータに基づき、前記スマートコントラクトを動作させることで、前記機器に対してトークンを発行する発行ステップを含むとしてもよい。
【0021】
また、前記所定の契約は、電力に関する契約であり、前記機器データは、電力に関するデータであるとしてもよい。
【0022】
また、前記所定の契約は、前記機器とは異なる第1機器及び第2機器の連携に関する契約であり、前記機器データは、前記第1機器の動作完了後の前記第2機器の状態に関するデータであるとしてもよい。
【0023】
ここで、前記第1機器は、第1工程で動作するロボットであり、前記第2機器は、前記第1工程の後に動作するロボットであってもよい。
【0024】
また、本開示の一実施態様のデータ管理システムは、分散台帳をそれぞれ有する複数の認証サーバと、機器とを備え、前記複数の認証サーバのうちの第1の認証サーバは、前記機器が取得または生成したデータである機器データを含み、前記機器により生成された第1トランザクションデータを取得する取得部と、前記第1トランザクションデータに含まれる前記機器データが、前記分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである情報種別リストに示される第1データである場合、前記第1トランザクションデータの検証を行うトランザクションデータ検証部と、前記第1トランザクションデータを含むブロックを生成し、生成した前記ブロックを前記分散台帳に記録する同期部と、を含む。
【0025】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
【0026】
(実施の形態)
まず、本開示のシステム構成について説明する。
【0027】
[1. システム構成]
本開示のデータ管理システムは、機器が取得または生成したデータのうち所定の契約に関連するデータのみ必要なデータとして分散台帳に記録する。これにより、本開示のデータ管理システムは、必要なデータのみをブロックチェーン技術を用いて管理することができる。
【0028】
以下では、図面を参照しながら実施の形態におけるデータ管理システム等の説明を行う。
【0029】
[1.1 データ管理システム10の全体構成]
図1は、本実施の形態に係るデータ管理システム10の全体構成の一例を示す図である。
【0030】
データ管理システム10は、
図1に示すように、例えば住宅100a、100b、100cと、認証サーバ200a、200b、200cと、データサーバ300と、サービスサーバ400とを備える。これらは、通信ネットワーク500で接続されている。なお、以下では、住宅100a、100b、100cを代表して住宅100とも称する場合がある。
【0031】
また、認証サーバ200a、200b、200c(以下、代表して認証サーバ200とも称する)は、記憶装置201a、201b、201c(以下、代表して記憶装置201とも称する)と接続する。認証サーバ200は、記憶装置201と通信ネットワーク500を介して接続されていてもよいし、内部に記憶装置201を備えてもよい。記憶装置201は、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
【0032】
なお、
図1では、データ管理システム10が、3つの認証サーバ200と1つのデータサーバ300と1つのサービスサーバ400とを備える場合の例が示されているが、これに限らない。例えば、データ管理システム10は、4つ以上の認証サーバを備えてもよいし、サービスサーバ400を備えなくてもよい。
【0033】
[1.2 住宅100aの構成]
住宅100a、100b、100cは同様の構成を有するので、以下では、代表して住宅100aの構成について説明する。
【0034】
図2は、本実施の形態に係る住宅100aの全体構成の一例を示す図である。
【0035】
住宅100aは、
図2に示すように、コントローラ1001と、太陽光発電設備1002と、蓄電池1003と、電力メータ1004とを備える。コントローラ1001、太陽光発電設備1002、蓄電池1003及び電力メータ1004は、通信ネットワーク1006で接続されている。また、太陽光発電設備1002、蓄電池1003及び電力メータ1004は、電力ネットワーク1005で接続されている。電力ネットワーク1005は外部の電力ネットワークに接続していてもよい。なお、住宅100aは、例えば住家などの家屋であるが、これに限られない。住宅100aは、工場、ビルなどの建物であってもよい。つまり、住宅100aは、ユーザが使用する建物であれば、その態様は問われない。また、以下では、住宅100a内にある機器を宅内の機器(以降、宅内機器)と称する。また、宅内機器には、太陽光発電設備1002、蓄電池1003及び電力メータ1004を含めても、含めなくてもよい。住宅100aが工場である場合には、宅内機器には、ロボットも含まれる。
【0036】
<コントローラ1001>
コントローラ1001は、本開示の機器の一例である。コントローラ1001は、例えば、エネルギーマネジメントシステムのコントローラである。本実施の形態では、コントローラ1001は、宅内機器などを操作したり、太陽光発電設備1002の発電状況または蓄電池1003の蓄電状態を含む宅内機器の状態を受信して表示したりする。また、コントローラ1001は、宅内機器などを操作した場合、宅内機器から宅内機器の状態変更などを示すデータを受信する。また、コントローラ1001は、デマンドレスポンスに応じる場合に電力利用を抑えたり、電力取引に応じる場合に電力メータ1004を介して、外部の電力ネットワーク(図示しない)に送電を行ったりする。
【0037】
また、コントローラ1001は、電力抑制または住宅間の電力取引など所定の契約に関する情報をユーザに提供し、ユーザの同意のもとトランザクションデータを生成する。また、コントローラ1001は、宅内機器の操作履歴、センサ情報、及び、電力情報などのデータを取得してデータサーバ300に送信したり、契約に関する情報を含むトランザクションデータを生成して認証サーバ200に送信したりする。契約に関する情報の詳細は後述するが、例えば、電力取引に基づく送電情報、または電力抑制に基づく蓄電池からの利用を示すデータである。
【0038】
<太陽光発電設備1002>
太陽光発電設備1002は、太陽電池を用いて太陽光から直接的に電力に変換する発電方式を搭載した装置等である。太陽光発電設備1002は、発電した電力を、電力ネットワーク1005を介して、蓄電池1003に蓄電したり、外部の電力ネットワークに送電したりする。
【0039】
<蓄電池1003>
蓄電池1003は、太陽光発電設備1002で発電した電力を蓄電する。蓄電池1003は、例えばコントローラ1001の指示により、蓄電した電力を、電力ネットワーク1005を介して、外部の電力ネットワークに送電する。また、蓄電池1003は、例えばコントローラ1001の指示により、電力ネットワーク1005を介して外部の電力ネットワークから受電した電力を蓄電してもよい。なお、蓄電池1003は必須の構成ではなく、住宅100aに備えられていなくてもよい。
【0040】
<電力メータ1004>
電力メータ1004は、外部の電力ネットワークに送電される電力量または外部の電力ネットワークから受電される電力量を計測する。電力メータ1004は、コントローラ1001の指示により、太陽光発電設備1002または蓄電池1003が外部の電力ネットワークに送電したとき、太陽光発電設備1002または蓄電池1003が送電した時刻と電力量とを計測し、コントローラ1001に通知する。電力メータ1004は、コントローラ1001からの指示により、外部の電力ネットワークから受電した電力または宅内機器で使用した電力を計測する。
【0041】
以下、コントローラ1001の構成の一例について説明する。
【0042】
[1.3 コントローラ1001の構成]
図3は、
図2に示すコントローラ1001の機能構成の一例を示すブロック図である。
【0043】
コントローラ1001は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ1001は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ1001は、
図3に示すように、制御部10001、トランザクションデータ生成部10002、記録部10003及び通信部10004を備える。
【0044】
<制御部10001>
制御部10001は、データを取得または生成した場合、情報種別リストを参照して、当該データが、情報種別リストに示される第1データであるかを判定する。制御部10001は、当該データが、情報種別リストに示される第1データであると判定した場合、当該データを機器データとして含む第1トランザクションデータを生成するようにトランザクションデータ生成部に依頼する。なお、制御部10001は、当該データが、情報種別リストに示される第1データではないと判定した場合、通信部10004を介して当該データを、データサーバ300に送信する。
【0045】
本実施の形態では、制御部10001は、宅内機器の操作をした場合、宅内機器から宅内機器の状態変更などを示すデータを受信する。受信するデータは、例えば宅内機器の状態を示す機器情報またはセンサ情報を含む。また、制御部10001は、宅内機器の操作をした場合、宅内機器の操作履歴または履歴情報を含むデータを生成してもよい。
【0046】
制御部10001は、このようデータを生成または取得した場合、情報種別リストを参照し、当該データが所定の契約に関する情報(データ)であるかを判定する。制御部10001は、当該データが所定の契約に関する情報であると判定した場合、当該データを機器データとして含むトランザクションデータを生成するようトランザクションデータ生成部に依頼する。
【0047】
ここで、情報種別リストは、記憶装置201aの分散台帳に記録する対象となるデータであって所定の契約に関連するデータを示すデータリストである。情報種別リストは、制御部10001に参照されて、制御部10001が取得または生成したデータが契約に関する情報であるか否かの判定するために用いられる。情報種別リストは、例えばサービスサーバ400から提供されて、記録部10003に記録されていてもよい。
【0048】
図4は、本実施の形態に係る情報種別リストの一例を示す図である。
【0049】
情報種別リストは、例えば
図4に示すように、契約種別、宅内機器及び情報種別の項目を含んでいる。契約種別は、所定の契約を示しており、
図4に示す例では、電力抑制と電力取引の契約とが示されている。宅内機器は、契約種別ごとに定められた機器であり、分散台帳に記録する対象となるデータを生成または保持する宅内(住宅100内)の機器を示している。また、情報種別は、機器ごとに定められており、分散台帳に記録する対象となる情報を示している。
【0050】
例えば、契約種別として電力抑制の契約が成立したとする。この場合、制御部10001は、情報種別リストを参照し、電力メータの電力情報と、蓄電池の充電量及び放電情報と、太陽光発電設備の発電量情報とを含むトランザクションデータを生成するように、トランザクションデータ生成部10002にこれらのデータを送信する。これにより、これらのデータを含むトランザクションデータが認証サーバ200に送信され、認証サーバ200が有する記憶装置201の分散台帳に記録される。
【0051】
なお、情報種別リストには、情報種別ごとに時間情報が付与されていてもよい。具体的には、情報種別リストには、トランザクションデータの生成の頻度または時間間隔などが時間情報として記載されていてもよい。そして、制御部10001は、情報種別ごとの時間情報に合わせて対象の宅内機器からデータを取得し、トランザクションデータ生成部10002に送信することで、取得したデータを含むトランザクションデータを生成させてもよい。
【0052】
また、情報種別リストは、コントローラ1001が保持してもよいし、認証サーバ200が保持してもよい。情報種別リストが認証サーバに保持される場合には、制御部10001は、定期的または非定期に認証サーバ200に問い合わせることで、対象の宅内機器のデータを生成または取得してもよい。
【0053】
なお、制御部10001は、当該データが所定の契約に関する情報ではないと判定した場合、当該データをデータサーバ300に送信する。制御部10001は、契約に関する情報ではないと判定したデータをトランザクションデータ生成部10002に送信することで、データサーバ300に送信してもよい。
【0054】
<トランザクションデータ生成部10002>
トランザクションデータ生成部10002は、制御部10001から、契約に関連する宅内機器のデータすなわち機器データを受信すると、受信した機器データを含むトランザクションデータを生成する。
【0055】
本実施の形態では、トランザクションデータ生成部10002は、制御部10001から受信した機器データのハッシュ値を演算し、機器データと演算したハッシュ値とを含むトランザクションデータを生成する。より具体的には、トランザクションデータ生成部10002は、ユーザまたはコントローラ1001を識別する識別子であるブロックチェーンアドレスと、機器データと、機器データのハッシュ値と、署名とを含めたトランザクションデータを生成する。ここで、署名は、ユーザ個別の署名生成鍵を用いて生成される。また、トランザクションデータには当該トランザクションデータを識別する識別子が付与されてもよい。
【0056】
トランザクションデータ生成部10002は、生成したトランザクションデータを記録部10003に記録するとともに、通信部10004を介して認証サーバ200に送信する。
【0057】
なお、トランザクションデータ生成部10002は、契約に関する情報ではないデータを制御部10001から受信した場合、当該データを含むトランザクションデータを生成し、通信部10004を介してデータサーバ300に送信するとしてもよい。
【0058】
<記録部10003>
記録部10003は、トランザクションデータ生成部10002で生成されたトランザクションデータを記録する。また、記録部10003は、サービスサーバ400から受信したサービスの情報、契約に関する情報及び情報種別リストを記録する。また、記録部10003は、住宅100aの内部(宅内)でやり取りされたデータを記録してもよい。
【0059】
<通信部10004>
通信部10004は、通信ネットワーク500を介して、認証サーバ200、データサーバ300及びサービスサーバ400との通信を行う。この通信は、TLS(Transport Layer Security)によりなされてもよい。この場合、TLS通信用の暗号鍵は通信部10004で保持されてもよい。
【0060】
次に、認証サーバ200a等について説明する。
【0061】
[1.4 認証サーバ200aの構成]
認証サーバ200a、200b、200cは同様の構成を有するので、以下では、代表して認証サーバ200aの構成について説明する。
【0062】
図5は、本実施の形態に係る認証サーバ200aの機能構成の一例を示すブロック図である。認証サーバ200aは、
図5に示すように、トランザクションデータ検証部211と、ブロック生成部212と、同期部213と、スマートコントラクト管理部214と、記録部215と、通信部216とを備える。なお、トランザクションデータ検証部211は必須ではない。認証サーバ200aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【0063】
<トランザクションデータ検証部211>
トランザクションデータ検証部211は、受信したトランザクションデータを検証する。より具体的には、トランザクションデータ検証部211は、受信した第1トランザクションデータに含まれる機器データが、分散台帳に記録する対象となるデータであって情報種別リストに示される第1データである場合、第1トランザクションデータの検証を行う。
【0064】
本実施の形態では、トランザクションデータ検証部211は、住宅100から機器データを含むトランザクションデータを受信すると、トランザクションデータに含まれるアドレス、機器データ、及び署名が正当であるかを検証する。同様に、トランザクションデータ検証部211は、サービスサーバ400から、スマートコントラクトを含むトランザクションデータを受信すると、トランザクションデータに含まれるアドレス、スマートコントラクト、及び署名が正当であるかを検証する。ここでのスマートコントラクトは、例えばサービスサーバ400と住宅100のコントローラ1001とで契約が成立したことを確認するためのプログラムである。同様に、トランザクションデータ検証部211は、住宅100から、サービスサーバ400と住宅100のコントローラ1001とで契約が成立したことを示すトランザクションデータを受信すると、トランザクションデータに含まれるアドレス及び署名等が正当であるかを検証する。
【0065】
このように、トランザクションデータ検証部211は、受信したトランザクションデータの正当性を確認することで第1トランザクションデータ~第3トランザクションデータを検証する。
【0066】
トランザクションデータ検証部211は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを、記録部215に記録し、同期部213へ通知する。
【0067】
<ブロック生成部212>
ブロック生成部212は、受信した第1トランザクションデータに含まれる機器データが、分散台帳に記録する対象となるデータであって情報種別リストに示される第1データである場合、第1トランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に記録する。
【0068】
本実施の形態では、ブロック生成部212は、トランザクションデータ検証部211においてトランザクションデータの検証が成功した場合、当該トランザクションデータを含むブロックを生成し、複数の認証サーバの間でトランザクションデータについてのコンセンサスアルゴリズムを実行する。ここで、ブロック生成部212は、コンセンサスアルゴリズムとして、PBFT(Practical Byzantine Fault Tolerance)またはPoW(Proof of Work)とよばれるコンセンサスアルゴリズムを用いてもよい。また、ブロック生成部212は、その他の公知のコンセンサスアルゴリズムを用いてもよい。
【0069】
なお、認証サーバ200aがトランザクションデータ検証部211を備えない場合には、ブロック生成部212は、受信したトランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に記録すればよい。
【0070】
このように、本実施の形態では、ブロック生成部212は、認証サーバ200a、認証サーバ200b及び認証サーバ200cの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部212は、まず、1以上のトランザクションデータを含むブロックチェーンのブロックを生成する。本実施の形態では、ブロック生成部212は、第1トランザクションデータ、第2トランザクションデータまたは第3トランザクションデータを含むブロックを生成する。次に、ブロック生成部212は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部212は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部215に記録する。ブロック生成部212により生成されたブロックは、記録部215によりブロックチェーンに接続されて記録される。
【0071】
ここで、ブロックチェーンのデータ構造と、ブロックチェーンに含まれるトランザクションデータの一部のデータ構造とについて説明する。
【0072】
図6は、ブロックチェーンのデータ構造を示す説明図である。
【0073】
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。なぜなら、仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難であるからである。
【0074】
<同期部213>
同期部213は、認証サーバ(認証サーバ200a~200c)の間でブロックチェーンのブロック、またはトランザクションデータの同期を行う。
【0075】
複数の認証サーバ200a~200cの同期部213では、peer to peerでブロックチェーンのトランザクションデータの同期を行う。そして、同期部213は、複数の認証サーバ200a~200cにおいて同期が行われたブロックチェーンのトランザクションデータを記録部215に記録する。
【0076】
例えば、同期部213は、トランザクションデータ検証部211においてトランザクションデータの正当性が検証されると、他の認証サーバ200b、200cに検証済みのトランザクションデータを転送し、認証サーバ(認証サーバ200a~200c)の間で同期を行う。また、同期部213は、他の認証サーバ200b、200cから検証済みのトランザクションデータを記録部215に一時記録し、認証サーバ(認証サーバ200a~200c)の間で同期を行う。
【0077】
<スマートコントラクト管理部214>
スマートコントラクト管理部214は、記憶装置201aの分散台帳に格納されているスマートコントラクトのコントラクトコードなどを実行することで、スマートコントラクトを動作させる。
【0078】
より具体的には、コントラクトコードが記載されたトランザクションデータ(第3トランザクションデータ)を含むブロックが記憶装置201aの分散台帳に記録されたとする。この場合、スマートコントラクト管理部214は、第3トランザクションデータに基づき、記憶装置201aの分散台帳に格納されているスマートコントラクトを動作させることで、サービスサーバ400と機器とで成立した契約に関連するデータを、情報種別リストに追加させる。ここで、情報種別リストが住宅100のコントローラ1001などの機器が保持されている場合には、スマートコントラクトを動作させることで、当該契約に関連するデータが当該機器に送信されるので、情報種別リストに追加される。情報種別リストが記録部215に記録されている場合には、スマートコントラクトを動作させることで、当該契約に関連するデータが記録部215に記録されている情報種別リストに追加される。
【0079】
また、第1トランザクションデータを含むブロックが記憶装置201aの分散台帳に記録されたとする。この場合、スマートコントラクト管理部214は、第1トランザクションデータに基づき、スマートコントラクトを動作させることで、機器に対してトークンを発行する。
【0080】
つまり、スマートコントラクト管理部214は、データサーバ300から取得されて登録されたスマートコントラクトのコントラクトアドレスが付与されたトランザクションデータを含むブロックが記憶装置201aの分散台帳に記録されたとき、スマートコントラクトの実行を行う。例えば、データサーバ300から取得されて登録されたスマートコントラクトに、電力抑制に基づく蓄電池からの電力利用により、住宅100にインセンティブを支払うことが規定されているとする。この場合、スマートコントラクト管理部214は、住宅100から受信した当該電力利用を示すトランザクションデータを含むブロックが記憶装置201aの分散台帳に記録されたとき、スマートコントラクトを実行する。実行されたスマートコントラクトは、分散台帳に記録されたトランザクションデータを生成して住宅100に対し、インセンティブを支払うためにトークンの発行などを行う。
【0081】
<記録部215>
記録部215は、ブロックチェーンのトランザクションデータとブロックを記録する。より具体的には、記録部215は、トランザクションデータをブロックに含めて、記憶装置201aの分散台帳にあるブロックチェーンに記録する。当該記憶装置201aは、記録部215の内部に構成されていてもよいし、
図1に示すように、認証サーバ200aの外部に構成されていてもよい。
【0082】
本実施の形態では、記録部215は、住宅100aから受信したトランザクションデータまたはサービスサーバ400から受信したトランザクションデータを含んで生成されたブロックを、記憶装置201aの分散台帳に記録する。また、記録部215は、サービスサーバ400と住宅100のコントローラ1001とで契約が成立したことを示す第3トランザクションデータを含んで生成されたブロックを、記憶装置201aの分散台帳に記録してもよい。
【0083】
<通信部216>
通信部216は、通信ネットワーク500を介して、住宅100、データサーバ300、及び、他の認証サーバ200b、200cとの通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部216で保持してもよい。
【0084】
より具体的には、通信部216は、住宅100のコントローラ1001などの機器が取得または生成したデータである機器データを含み、当該機器により生成された第1トランザクションデータを取得する。また、通信部216は、サービスサーバ400から、スマートコントラクトを含む第2トランザクションデータを受信する。また、通信部216は、サービスサーバ400と機器とで契約が成立したことを示す第3トランザクションデータであって機器により生成された第3トランザクションデータを取得する。
【0085】
次に、データサーバ300について説明する。
【0086】
[1.5 データサーバ300の構成]
データサーバ300は、記憶装置301と接続する。データサーバ300は、内部に記憶装置301を備えるとして説明するが、記憶装置301と通信ネットワーク500を介して接続されていてもよい。
【0087】
図7は、本実施の形態に係るデータサーバ300の機能構成の一例を示すブロック図である。データサーバ300は、
図7に示すように、記憶装置301と、データ管理部311と、データ検証部312と、通信部314とを備える。データサーバ300は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【0088】
<データ管理部311>
データ管理部311は、住宅100から受信したデータを、記憶装置301に記録する。より具体的には、データ管理部311は、住宅100から受信したデータであって住宅100のコントローラ1001などの機器が取得または生成したデータを、記憶装置301に記録する。
【0089】
また、データ管理部311は、認証サーバ200またはサービスサーバ400から、データの提供依頼があった場合、記憶装置301に記録されているデータを提供する。
【0090】
<データ検証部312>
データ検証部312は、記憶装置301に記録されているデータが改ざんされていないかを検証する。本実施の形態では、データ検証部312は、例えば住宅100から受信したデータのハッシュ値を演算し、当該データとともに記憶装置301に記録する。これにより、データ検証部312は、記憶装置301に記録されているデータのハッシュ値を演算し、記憶装置301に記録されているハッシュ値と比較することで、記憶装置301に記録されているデータが改ざんされていないかを検証することができる。
【0091】
<記憶装置301>
記憶装置301は、住宅100から受信したデータであって住宅100のコントローラ1001などの機器が取得または生成したデータを記録する。記憶装置301は、例えばHDDなどである。
【0092】
<通信部314>
通信部314は、通信ネットワーク500を介して、住宅100、認証サーバ200及びサービスサーバ400との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部314で保持してもよい。
【0093】
次に、サービスサーバ400について説明する。
【0094】
[1.6 サービスサーバ400の構成]
図8は、本実施の形態に係るサービスサーバ400の機能構成の一例を示すブロック図である。サービスサーバ400は、
図10に示すように、サービス管理部411と、トランザクションデータ生成部412と、記録部413と、通信部414とを備える。サービスサーバ400は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【0095】
<サービス管理部411>
サービス管理部411は、住宅100のコントローラ1001などの機器と所定の契約が成立したか否かを管理する。例えば、サービス管理部411は、電力の需要予測などを基に住宅100での電力利用の抑制などの調整を行うために、住宅100に電力抑制の依頼を行う。ここで、住宅100は、住宅間での電力取引を行い、住宅で余剰な電力を他の住宅に融通することで、系統からの電力利用を抑制するとしてもよい。
【0096】
また、サービス管理部411は、住宅100のコントローラ1001などと電力抑制の方法を決定し、契約情報及び抑制方法に応じて、分散台帳に記録する対象となる住宅100から取得すべきデータであって契約に関連するデータを示す情報種別のリストを生成する。
【0097】
また、サービス管理部411は、例えば、電力抑制などの所定の契約に応じた住宅100からの応答を起点として、情報種別リストを当該住宅100に送付するためのスマートコントラクトを生成する。なお、スマートコントラクトには、所定の契約の内容等を示す契約情報と、所定の契約に関連するデータを示す情報種別のリストとが含まれていてもよい。この場合、スマートコントラクトには、契約情報及び情報種別リストを含んだ関数が定義されることになる。
【0098】
また、サービス管理部411は、例えば、所定の契約に応じた住宅100が、契約に関連するデータを含むトランザクションデータを認証サーバ200に送信し分散台帳に記録されることで、住宅100にインセンティブを支払うことが定義されたスマートコントラクトを生成してもよい。
【0099】
サービス管理部411は、生成したスマートコントラクトをトランザクションデータ生成部412に送信するとともに、記録部413に記録する。
【0100】
なお、サービス管理部411は、電力抑制などの所定の契約に応じた住宅100からの応答を起点として情報種別リストを当該住宅100に送付してもよい。
【0101】
<トランザクションデータ生成部412>
トランザクションデータ生成部412は、サービス管理部411から、スマートコントラクトを受信すると、受信したスマートコントラクトを含むトランザクションデータを生成する。生成したトランザクションデータを認証サーバに送信する。
【0102】
<記録部413>
記録部413は、サービス管理部411が生成したスマートコントラクト及び情報種別リストを記録する。なお、記録部413は、サービス管理部411が管理する所定の契約の内容等を示す契約情報を記録してもよいし、サービス管理部411が決定した電力調整の方法を記録してもよい。
【0103】
<通信部414>
通信部414は、通信ネットワーク500を介して、住宅100、認証サーバ200及びデータサーバ300との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部414で保持されてもよい。
【0104】
より具体的には、通信部414は、サービスサーバ400と機器とで契約が成立したことを確認するためのスマートコントラクトを含む第2トランザクションデータを、第1の認証サーバ200に送信する。
【0105】
[1.7 住宅と認証サーバとデータサーバとサービスサーバとの間の全体シーケンス]
続いて、住宅100aと認証サーバ200a~200cとデータサーバ300とサービスサーバ400との間でのデータ管理のシーケンスについて説明する。
【0106】
図9は、本実施の形態に係る住宅100と認証サーバ200とデータサーバ300とサービスサーバ400との間の全体シーケンスを示す図である。なお、
図9に示す住宅100aは、住宅100bまたは100cでもよい。
【0107】
まず、ステップS100において、認証サーバ200a、200b、200cとサービスサーバ400との間でスマートコントラクト登録処理を行う。次に、ステップS200において、住宅100aと認証サーバ200a、200b、200cとサービスサーバ400との間で契約処理を行う。次に、ステップS300において、住宅100aと認証サーバ200a、200b、200cとデータサーバ300との間でデータ登録処理を行う。
【0108】
以下、ステップS100~ステップS300の処理の詳細について説明する。
【0109】
[1.7.1 スマートコントラクト登録処理]
続いて、認証サーバ200a、200b、200cとサービスサーバ400との間でのスマートコントラクト登録処理の詳細について説明する。
【0110】
図10は、
図9のステップS100に示すスマートコントラクト登録処理の詳細を説明するためのシーケンス図である。
図10では、サービスサーバ400が認証サーバ200cにスマートコントラクトを登録するとして説明するが、これに限らない。サービスサーバ400は、他の認証サーバ200a、200bにもスマートコントラクトを登録するとしてもよく、同様の処理となる。
【0111】
まず、サービスサーバ400は、スマートコントラクトを生成する(S101)。ここで、サービスサーバ400は、電力抑制などの所定の契約に応じた住宅100a等からの応答を起点として、情報種別リストを住宅100a等に送付するためのプログラムであるスマートコントラクトを生成するとする。この場合、例えば、サービスサーバ400は、所定の契約の内容として電力抑制の内容を示す契約情報と、所定の契約として電力抑制に関連するデータを示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成してもよい。
【0112】
なお、サービスサーバ400は、所定の契約に応じた住宅100a等が、契約に関連するデータを含むトランザクションデータを認証サーバ200a等に送信し分散台帳に記録されたとき、住宅100aにインセンティブを支払うことを定義したスマートコントラクトを生成してもよい。
【0113】
次に、サービスサーバ400は、ステップS101で生成したスマートコントラクトを含むトランザクションデータ(以下、第2トランザクションデータと称する)を生成して、認証サーバ200cに送信する(S102)。
【0114】
次に、認証サーバ200cは、サービスサーバ400から受信した第2トランザクションデータの検証を行う(S103)。なお、ステップS103はスキップしてもよい。
【0115】
ステップS103において、認証サーバ200cは、第2トランザクションデータの検証が成功しなかった場合(S103でN)、サービスサーバ400にその旨の通知を行い(S104)、スマートコントラクト登録処理を終了する。
【0116】
一方、ステップS103において、認証サーバ200cは、第2トランザクションデータの検証が成功した場合(S103でY)、他の認証サーバ200a、200bに第2トランザクションデータを転送する(S105)。なお、ステップS103がスキップされた場合には、認証サーバ200cは、サービスサーバ400から受信した第2トランザクションデータを他の認証サーバ200a、200bに転送すればよい。また、他の認証サーバ200a、200bでは、転送されて受信した第2トランザクションデータを同様に検証する。
【0117】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する(S106)。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信した第2トランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれ第2トランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、第2トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。このようにして、サービスサーバ400が生成したスマートコントラクトは、分散台帳に登録(記録)される。登録されたスマートコントラクトは、住宅100a等から、当該スマートコントラクトのコントラクトアドレスを含むトランザクションデータが分散台帳に記録された後に実行される。
【0118】
なお、スマートコントラクトには、住宅100aがサービスサーバ400と所定の契約を成立した場合、契約が成立した住宅の識別子(例えばブロックチェーンアドレス)を記録するプログラムが含まれていてもよい。
【0119】
[1.7.2 契約処理]
続いて、住宅100aと認証サーバ200a、200b、200cとサービスサーバ400との間の契約処理の詳細について説明する。以下では、契約種別として電力抑制である電力に関する契約(上記の所定の契約の一つ)がサービスサーバ400と住宅100aの間で成立し、当該契約に関連するデータを示す新たな情報種別リストが住宅100aに送信される契約処理を例に挙げて説明する。
【0120】
図11は、
図9のステップS200に示す契約処理の詳細を説明するためのシーケンス図である。
【0121】
まず、サービスサーバ400は、電力抑制が必要と判断し、電力抑制の依頼を生成する(S201)。具体的には、サービスサーバ400は、各住宅(住宅100a、100b、100c)に対し、電力抑制の依頼を行う。
【0122】
次に、サービスサーバ400は、生成した電力抑制の依頼を、各住宅(住宅100a、100b、100c)に送信する(S202)。
【0123】
次に、各住宅は、サービスサーバ400から電力抑制の依頼を受信し、電力抑制に応じるか否かを判断する(S203)。このとき、各住宅ではコントローラ1001がユーザに電力抑制の依頼に応じるか否かを表示して判断させるとしてもよいし、宅内機器である蓄電池1003の蓄電量から判断するとしてもよい。
【0124】
ステップS203において、例えば住宅100aは、電力抑制に応じないと判断した場合(S203でN)、サービスサーバ400にその旨を通知し(S204)、契約処理を終了する。
【0125】
一方、ステップS203において、例えば住宅100aは、電力抑制に応じると判断した場合(S203でY)、トランザクションデータ(以下、第3トランザクションデータと称する)を生成する(S205)。ここで、第3トランザクションデータには、サービスサーバ400からの電力抑制の依頼に応じる旨を示す情報など、サービスサーバ400と住宅100a(住宅100aのコントローラ1001)とで契約が成立したことを示す情報が含まれる。そして、住宅100aは、生成した第3トランザクションデータを、認証サーバ200aに送信する。なお、住宅100aは、認証サーバ200aに第3トランザクションデータを送信するとして説明するが、これに限らない。住宅100aは、他の認証サーバ200b、200cにも第3トランザクションデータを送信してもよく、同様の処理となる。また、図示していないが、住宅100aは、サービスサーバ400に、サービスサーバ400からの電力抑制の依頼に応じる旨の通知をしてもよい。
【0126】
次に、認証サーバ200aは、住宅100aから受信した第3トランザクションデータの検証を行う(S206)。なお、ステップS206はスキップしてもよい。
【0127】
ステップS206において、認証サーバ200aは、第3トランザクションデータの検証が成功しなかった場合(S206でN)、住宅100aにその旨の通知(エラー通知と称する)を行い(S207)、契約処理を終了する。
【0128】
一方、ステップS206において、認証サーバ200aは、第3トランザクションデータの検証が成功した場合(S206でY)、他の認証サーバ200b、200cに第3トランザクションデータを転送する(S208)。なお、ステップS206がスキップされた場合には、認証サーバ200aは、住宅100aから受信した第3トランザクションデータを他の認証サーバ200a、200bに転送すればよい。また、他の認証サーバ200b、200cでは、転送されて受信した第3トランザクションデータを同様に検証する。
【0129】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する(S209)。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信した第3トランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれ第3トランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、第3トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。このようにして、住宅100aが電力抑制の依頼などの所定の契約に応じたこと(つまり契約の成立)が分散台帳すなわちブロックチェーンに記録される。
【0130】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、分散台帳に記録された第3トランザクションデータに基づき、スマートコントラクトを実行する(S210)。
【0131】
次に、実行されたスマートコントラクトは、サービスサーバ400に、電力抑制の依頼に応じた住宅100aを通知するとともに、住宅100aに、電力抑制の契約に関連するデータを示す新たな情報種別リストを送信する(S211)。
【0132】
次に、住宅100aは、ステップS211で送信された情報種別リストを受信すると、受信した新たな情報種別リストを記録する(S212)。
【0133】
このようにして、住宅100aはサービスサーバ400と所定の契約が成立する毎に、成立した所定の契約に関連するデータを示すデータリストである新たな情報種別リストを受信して、既に保持していた情報種別リストに追加することができる。
【0134】
[1.7.3 データ登録処理]
続いて、住宅100aと認証サーバ200a、200b、200cとデータサーバ300との間のデータ登録処理の詳細について説明する。
【0135】
図12は、
図9のステップS300に示すデータ登録処理の詳細を説明するためのシーケンス図である。
図12では、住宅100aが宅内機器で生成されたデータを送信するとして説明するが、これに限らない。同様の処理となるが、他の住宅100b、100cが宅内機器で生成されたデータを送信してもよい。
【0136】
まず、住宅100aでは、宅内機器が生成したデータ、宅内機器の操作情報を含む履歴情報が収集される(S301)。本実施の形態では、例えば電力メータが生成した電力情報、太陽光発電が生成した発電量、コントローラ1001が操作した宅内機器の履歴情報、または宅内機器のセンサデータなどデータがコントローラ1001により収集される。
【0137】
次に、住宅100a(のコントローラ1001)は、情報種別リストを参照し、収集したデータが契約に関連している情報か否かを判定する(S302)。
【0138】
ステップS302において、住宅100aは、収集したデータが、情報種別リストに示される契約に関連するデータ(以下機器データと称する)ではないと判定した場合(S302でN)、収集したデータをデータサーバ300に送信する(S303)。すると、データサーバ300は、住宅100aから受信したデータを記録する(S304)。
【0139】
一方、ステップS302において、住宅100aは、収集したデータが、情報種別リストに示される機器データであると判定した場合(S302でY)、収集したデータを含むトランザクションデータ(以下、第1トランザクションデータと称する)を生成し(S305)、認証サーバ200aに送信する。なお、住宅100aは、認証サーバ200aに第1トランザクションデータを送信するとして説明するが、これに限らない。住宅100aは、他の認証サーバ200b、200cにも第1トランザクションデータを送信してもよく、同様の処理となる。また、住宅100aは、認証サーバ200aに第1トランザクションデータを送信するとともに、データサーバ300にも第1トランザクションデータを送信するとしてもよい。
【0140】
次に、認証サーバ200aは、住宅100aから受信した第1トランザクションデータの検証を行う(S306)。なお、ステップS306はスキップしてもよい。
【0141】
ステップS306において、認証サーバ200aは、第1トランザクションデータの検証が成功しなかった場合(S306でN)、住宅100aにその旨の通知すなわちエラー通知を行い(S307)、データ登録処理を終了する。
【0142】
一方、ステップS306において、認証サーバ200aは、第1トランザクションデータの検証が成功した場合(S306でY)、他の認証サーバ200b、200cに第1トランザクションデータを転送する(S308)。なお、ステップS306がスキップされた場合には、認証サーバ200aは、住宅100aから受信した第1トランザクションデータを他の認証サーバ200a、200bに転送すればよい。また、他の認証サーバ200b、200cでは、転送されて受信した第1トランザクションデータを同様に検証する。
【0143】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する(S309)。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信した第1トランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、第1トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。このようにして、所定の契約に関連した機器データが分散台帳すなわちブロックチェーンに記録される。
【0144】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、分散台帳に記録された第1トランザクションデータに基づき、スマートコントラクトを実行する(S310)。
【0145】
次に、実行されたスマートコントラクトは、分散台帳に記録された第1トランザクションデータを生成した住宅100aに、インセンティブを支払うためにトークンを発行する(S311)。
【0146】
[1.8 効果等]
上記の実施の形態によれば、収集したデータのうち契約に関連するデータのみを必要なデータとして分散台帳に記録することで、必要なデータのみをブロックチェーン技術を用いて管理することができる。これにより、必要なデータの改ざんを防止することができる。また、必要なデータのみをブロックチェーン技術を用いて管理することができるので、分散台帳の容量を節約でき、ブロックチェーン技術での管理に要するリソースを抑制することができる。よって、データを利活用する上で、効率がよく安全なデータ管理システムの構築が可能となる。
【0147】
また、上記の実施の形態によれば、サービスサーバ400と住宅100a等との間で契約が成立されたことを示すトランザクションデータが生成され分散台帳に記録されることにより、スマートコントラクトが実行されて情報種別リストが追加される。これにより、住宅100a等がサービスサーバ400との契約が成立したことを保証することができるだけでなく、成立した契約に関連するデータをより確実に分散台帳に記録できる。
【0148】
なお、上記の実施の形態によれば、契約に関連しないデータは、データサーバ300に記録される。これにより、ブロックチェーンのトランザクションデータが膨大に生成されないので、ブロックが生成されるまでに時間を抑制することができるので、よりリアルタイムにデータを利活用することができる。
【0149】
[2. その他変形例]
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【0150】
(1)上記の実施の形態では、認証サーバ200とデータサーバ300とは別の装置として説明したが、これに限らない。認証サーバ200とデータサーバ300とは同一の装置であってもよい。この場合、認証サーバ200は、契約に関連する情報のみをブロックチェーンのブロックに含めて生成すればよい。
【0151】
(2)上記の実施の形態では、住宅100のコントローラ1001は、情報種別リストを参照し、取得または生成したデータが契約に関する情報か否か判定しているが、これに限らない。認証サーバが、情報種別リストを参照し、住宅100のコントローラ1001から受信したデータが契約に関する情報か否かを判定してもよい。
【0152】
以下、この場合について図を用いて説明する。
【0153】
図13は、本実施の形態の変形例に係る認証サーバ200aの機能構成の一例を示すブロック図である。
図5に示す認証サーバ200aと同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0154】
図13に示す認証サーバ200aは、
図5に示す認証サーバ200aに対して、データ管理部221が追加されている点で構成が異なる。
【0155】
データ管理部221は、情報種別リストを参照して、通信部216を介して取得した第1トランザクションデータに含まれる機器データが、情報種別リストに示される第1データであるかを判定する。
【0156】
より具体的には、データ管理部221は、サービスサーバ400から情報種別リストを取得する。データ管理部221は、住宅100から受信した第1トランザクションデータに含まれるデータであって住宅100のコントローラ1001などの機器が取得または生成したデータが情報種別リストに示される例えば契約に関する情報などの第1データであるかを判定する。
【0157】
データ管理部221は、住宅100から受信したデータが契約に関する情報などの第1データであると判定した場合、第1トランザクションデータをトランザクションデータ検証部211に送信し、第1トランザクションデータの検証を行わせる。つまり、トランザクションデータ検証部211は、データ管理部221において第1トランザクションデータに含まれる機器データが、情報種別リストに示される第1データであると判定された場合に、第1トランザクションデータの検証を行うことになる。
【0158】
データ管理部221は、住宅100から受信したデータが、情報種別リストに示される契約に関する情報などの第1データではないと判定した場合、住宅100から受信したデータをデータサーバ300に送信する。これにより、データ管理部221は、データサーバ300に、データ管理部221が送信したデータを、記録装置301に記録させることができる。
【0159】
なお、本変形例では、住宅100aは、コントローラ1001などの機器が取得または生成したデータを第1トランザクションデータに含めて、認証サーバ200aに送信する。このようにして、住宅100側で分散台帳に記録する対象となるデータであるかを判定せず、認証サーバ200a側で判定させることで、契約に関連するデータのみ必要なデータとして分散台帳に記録する。
【0160】
図14は、
図9のステップS300に示すデータ登録処理の詳細の本変形例に係る例を説明するためのシーケンス図である。
図14では、住宅100aが宅内機器で生成されたデータを送信するとして説明するが、これに限らない。同様の処理となるが、他の住宅100b、100cが宅内機器で生成されたデータを送信してもよい。
【0161】
まず、住宅100aでは、宅内機器が生成したデータ、宅内機器の操作情報を含む履歴情報が収集される(S321)。ここでも、例えば電力メータが生成した電力情報、太陽光発電が生成した発電量、コントローラ1001が操作した宅内機器の履歴情報、または宅内機器のセンサデータなどデータがコントローラ1001により収集される。
【0162】
次に、住宅100a(のコントローラ1001)は、収集したデータを含むトランザクションデータ(以下、第1トランザクションデータと称する)を生成する(S322)。ここで第1トランザクションデータは、収集したデータを個々に含むとして説明する。
【0163】
次に、住宅100aは、ステップS322において生成した第1トランザクションデータを認証サーバ200aに送信する(S323)。
【0164】
次に、認証サーバ200aは、住宅100aから第1トランザクションデータを受信すると、情報種別リストを参照し、受信した第1トランザクションデータに含まれるデータが契約に関連している情報か否かを判定する(S324)。
【0165】
ステップS324において、認証サーバ200aは、住宅100aから受信した第1トランザクションデータに含まれるデータが契約に関連する情報ではないと判定した場合(S324でN)、第1トランザクションデータに含まれるデータをデータサーバ300に送信する(S325)。すると、データサーバ300は、認証サーバ200aから受信したデータを記録する(S326)。
【0166】
一方、ステップS324において、認証サーバ200aは、住宅100aから受信した第1トランザクションデータに含まれるデータが契約に関連する情報であると判定した場合(S324でY)、住宅100aから受信した第1トランザクションデータの検証を行う(S327)。
【0167】
ステップS327において、認証サーバ200aは、第1トランザクションデータの検証が成功しなかった場合(S327でN)、住宅100aにその旨の通知すなわちエラー通知を行い(S328)、データ登録処理を終了する。
【0168】
一方、ステップS327において、認証サーバ200aは、第1トランザクションデータの検証が成功した場合(S327でY)、他の認証サーバ200b、200cに第1トランザクションデータを転送する(S329)。なお、他の認証サーバ200b、200cでは、転送されて受信した第1トランザクションデータを同様に検証する。さらに、認証サーバ200aは、データサーバ300にも第1トランザクションデータを転送するとしてもよい。この場合、データサーバ300では、受信した第1トランザクションデータまたは第1トランザクションデータに含まれるデータを記録する。
【0169】
次に、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する(S330)。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信した第1トランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、第1トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。
【0170】
このようにして、認証サーバ200aは、住宅100から取得したデータのうち、所定の契約に関連した機器データのみを分散台帳すなわちブロックチェーンに記録することができるので、住宅100側で契約に関連する情報か否かを判定する必要がなくなる。
【0171】
(3)上記の実施の形態では、所定の契約として、サービスサーバ400と住宅100とが電力抑制の契約を行う場合の例を挙げて説明したが、これに限らない。所定の契約は、
図4の情報種別リストに示される契約種別である電力取引の契約であってもよいし、
図4では不図示のIoTの機器の連携の契約であってもよい。
【0172】
まず、所定の契約として、電力取引の契約を行う場合について説明する。
図10に示すスマートコントラクト登録処理では、ステップS101において、サービスサーバ400は、電力取引の契約についてのスマートコントラクトを生成する。例えばサービスサーバ400は、電力取引の内容を示す契約情報として売電する住宅と買電する住宅の変数を定義し、電力取引に関連するデータとして契約が成立した住宅が有する電力メータの情報を示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成する。そして、サービスサーバ400は、認証サーバ200に生成したスマートコントラクトを送信することで、認証サーバ200の分散台帳に登録させる。
【0173】
図11に示す契約処理では、ステップS203で電力取引に応じた住宅100が、ステップS205で生成した売電もしくは買電のトランザクションデータを認証サーバ200に送信する。認証サーバ200は、取得した売電もしくは買電のトランザクションデータを分散台帳に記録したときに、スマートコントラクトを実行し、売電する住宅100と買電する住宅100の電力が満たされかを確認する。例えば、認証サーバ200は、買電する住宅100から、10KWhの電力を必要とする旨を示すトランザクションデータを取得し、売電する1以上の住宅100から、一定の電力を売ることができる旨のトランザクションデータを取得し、分散台帳に記録し、スマートコントラクトを実行する。認証サーバ200は、スマートコントラクトを実行し、売電する住宅100と買電する住宅100の電力が満たされかを確認し、売電する1以上の住宅100が得ることができる電力の合計値が10KWhを超えていた場合、契約が成立したと判定する。そして、スマートコントラクトは、電力取引の契約に関連するデータを示す情報種別リストを、契約が成立した住宅100それぞれに送信する。
【0174】
図12に示すデータ登録処理では、契約が成立した住宅100は、電力メータの情報を含むトランザクションデータを生成し、認証サーバ200に送信する。
【0175】
このようにして、必要なデータとして、電力取引の契約に関連するデータのみを分散台帳に記録し管理することができる。これにより、ブロックチェーンで売電または買電が実行されていることが保証される。
【0176】
続いて、所定の契約として、IoTの機器連携の契約を行う場合について説明する。
図10に示すスマートコントラクト登録処理では、ステップS101において、サービスサーバ400は、機器連携の契約についてのスマートコントラクトを生成する。
【0177】
例えばサービスサーバ400は、機器連携の内容を示す契約情報として連携する機器を定義し、機器連携の内容を示す契約情報として、連携する各機器の状態を示す情報種別のリストとを含んだ関数を定義したスマートコントラクトを生成する。また、サービスサーバ400は、スマートコントラクトに、さらに、連携する機器が機器Aと機器Bである場合に機器Aの動作の完了後に機器Bの状態を確認する関数を定義する。一例を挙げると、サービスサーバ400は、機器Aをある部屋の鍵とし、機器Bをある部屋の照明器具とした場合、機器Aである鍵が施錠されたというトランザクションデータが分散台帳に記録されたときに、機器Bである照明器具が状態を確認するようなスマートコントラクトを生成する。そして、サービスサーバ400は、認証サーバ200に生成したスマートコントラクトを送信することで、認証サーバ200の分散台帳に登録させる。
【0178】
図11に示す契約処理では、ステップS203で住宅100が機器連携の契約に応じた場合、ステップS205で機器連携の契約に応じた旨のトランザクションデータを作成するとしてもよい。また、ステップS205で当該住宅100のコントローラ1001が機器Aと機器Bとを紐付けして機器Aと機器Bとが連携したことを示すトランザクションデータを作成してもよい。これにより、例えば、機器Aとしての鍵の施錠と、機器Bとしての照明器具の状態確認とが紐付けされる機器連携の契約に応じた旨のトランザクションデータが作成される。
【0179】
図12に示すデータ登録処理では、機器連携の契約に応じた住宅100は、機器Aの動作状態を示すトランザクションデータと、機器Bの動作状態を示すトランザクションデータを生成し、認証サーバ200に送信する。認証サーバ200は、機器Aの動作状態を示すトランザクションデータを分散台帳に記録すると、スマートコントラクトを実行し、機器Bの状態を含むトランザクションデータを確認し、確認した機器Bの状態情報を取得する。認証サーバ200は、スマートコントラクトを実行して取得した機器Bの状態情報を含むトランザクションデータを生成し、分散台帳に記録する。
【0180】
このようにして、必要なデータとして、機器連携の契約に関連するデータとして、連携動作した機器の状態のうち後の状態のみを分散台帳に記録し管理することができる。これにより、ブロックチェーンで機器の連携の情報が保証される。
【0181】
機器連携の機器は、部屋の鍵であったり部屋の照明であったりしてもよいが、ロボットであってもよい。ロボットの連携としては、例えばロボット機器Aとロボット機器Bとが連動して荷物の配送を行うが考えられる。この場合、ロボット機器Aの状態を示すトランザクションデータが分散台帳に記録されると、スマートコントラクトを実行することによりロボット機器Bの状態を確認し、確認したロボット機器Bの状態情報を取得してもよい。そして、認証サーバ200は、スマートコントラクトを実行して取得したロボット機器Bの状態情報を含むトランザクションデータを生成し、分散台帳に記録する。これにより、分散台帳でロボットの連携が正しく動作し、荷物の受け取りができているか否かの確認が可能となる。ロボット機器の状態情報としては、例えば、荷物の識別子または荷物の配送中のセンサ情報などであってもよい。なお、配送中ではないとき、センサ情報などのロボット機器の状態情報はデータサーバに送信されるとしてもよい。
【0182】
また、ロボットの連携の確認としては、前工程のロボット機器の状態を示すトランザクションデータが分散台帳に記録されると、スマートコントラクトを実行することにより後工程のロボット機器の状態を確認し、確認した状態情報を取得してもよい。そして、認証サーバ200は、スマートコントラクトを実行して取得した後工程のロボット機器の状態情報を含むトランザクションデータを生成し、分散台帳に記録する。これにより、ロボットの連携が正しく動作しているかどうかの確認ができる。
【0183】
なお、スマートコントラクトは、分散台帳に記録されるプログラムであり、分散台帳に記録されたトランザクションデータに含まれるコントラクトアドレスに基づき実行されるため、トランザクションデータを生成しないとされるが、これに限らない。スマートコントラクトは、実行することで得たデータを含むトランザクションデータを生成するとしてもよい。
【0184】
(4)上記の実施の形態では、認証サーバ200は、第1トランザクションデータに含まれる契約に関連するデータを、一つのブロックチェーンで管理をしているが、これに限らない。認証サーバ200は、契約ごとのブロックチェーンに分けて契約に関連するデータを管理するとしてもよい。例えば、電力抑制に関する機器データと電力取引に関する機器データとでブロックチェーンを分けるとしてもよい。
【0185】
(5)上記の実施の形態では、認証サーバ200または住宅100は、分散台帳に記録する対象となるすべての契約種別の情報を含む1つの情報種別リストを保持するとして説明したが、これに限らない。認証サーバ200または住宅100は、契約種別ごとに1つの情報種別リストを保持するとしてもよい。
【0186】
(6)上記の実施の形態では、サービスサーバ400が、住宅100等に電力抑制の依頼などのサービス依頼を送信しているが、これに限らない。サービスサーバ400は、サービス依頼を示すトランザクションデータを生成し、認証サーバ200に送信するとしてもよい。この場合、住宅100は、認証サーバ200にポーリングなどを行い、認証サーバ200にサービス依頼を示すトランザクションデータがあるか否かを確認すればよい。
【0187】
また、サービスサーバ400は、サービス依頼を行うスマートコントラクトを含むトランザクションデータを生成し、認証サーバ200に送信するとしてもよい。この場合、認証サーバ200は、サービスサーバ400からサービス依頼を行うトランザクションデータをブロックチェーンのブロックに含めて記録した時に、当該サービス依頼を行うスマートコントラクトを実行し、各住宅100に当該サービス依頼を送信させてもよい。
【0188】
(7)上記の実施の形態では、住宅100は、電力抑制の依頼などのサービス依頼に応じる場合に、第3トランザクションデータを生成して認証サーバ200に送信するとして説明したが、これに限らない。住宅100は、第3トランザクションデータを生成して認証サーバ200に送信するとともに、サービスサーバ400に、サービス依頼に応じる旨の通知を行ってもよい。
【0189】
(8)上記の実施の形態では、スマートコントラクトを実行することで、住宅100が保持する情報種別リストの更新をさせるとして説明したが、これに限らない。スマートコントラクトの実行がされないとしてもよい。この場合、データサーバ300は、記録されている情報種別リストが更新された場合、サービス依頼に応じている住宅100に情報種別リストが更新された旨の通知を行ってもよい。
【0190】
また、サービスサーバ400が情報種別リストを更新した場合、認証サーバ200が保持する情報種別リストが更新されるとしてもよい。認証サーバ200が情報種別リストをブロックチェーンに記録して管理している場合、更新された情報種別リストをブロックチェーンに記録するとしてもよい。
【0191】
(9)上記の実施の形態では、住宅100が電力抑制の依頼などの契約に応じた場合、住宅100は、情報種別リストを参照し、契約に関連する第1データを含む第1トランザクションデータを生成して、認証サーバ200に送信しているが、これに限らない。住宅100のコントローラ1001などの機器は、所定の基準により、第1データ以外のデータで分散台帳に記録した方がよいと判定した場合には、当該第1データ以外のデータを含むトランザクションデータを生成して認証サーバ200に送信してもよい。例えば住宅100のコントローラ1001などの機器は、契約に関連する第1データでなくても、複数の機器が連携して動作する場合に、連携動作に関するデータを含むトランザクションデータを生成して認証サーバ200に送信してもよい。
【0192】
(10)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、SSD、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0193】
(11)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0194】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
【0195】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【0196】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0197】
(12)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0198】
(13)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0199】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標)Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0200】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0201】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0202】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0203】
(14)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0204】
本開示は、データ管理方法、データ管理システム及びプログラムに利用でき、例えば保証が必要なデータのみをブロックチェーンで管理することで、改ざんを防止する安全なシステムに用いられるデータ管理方法、データ管理システム及びプログラムに利用可能である。
【符号の説明】
【0205】
100a、100b、100c 住宅
200a、200b、200c 認証サーバ
201a、201b、201c、301 記憶装置
211 トランザクションデータ検証部
212 ブロック生成部
213 同期部
214 スマートコントラクト管理部
215、413、10003 記録部
216、314、414、10004 通信部
221、311 データ管理部
300 データサーバ
312 データ検証部
400 サービスサーバ
411 サービス管理部
412、10002 トランザクションデータ生成部
500 通信ネットワーク
1001 コントローラ
1002 太陽光発電設備
1003 蓄電池
1004 電力メータ
1005 電力ネットワーク
1006 通信ネットワーク
10001 制御部