(57)【特許請求の範囲】
【請求項１】
ネットワーク間を通信可能に接続するネットワーク接続装置と、前記ネットワーク接続装置の配下のネットワークに接続されている複数のノードと、を有するブロックチェーンシステムであって、
前記ネットワーク接続装置の配下のネットワークに接続されている前記複数のノードに関する情報を管理するノード情報管理手段と、
前記複数のノードが配下のネットワークに接続されている前記ネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段と、
前記複数のノード及び前記ネットワーク接続装置の少なくとも一部でブロックチェーンノードが構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段と、
前記ノード情報管理手段が管理する前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段と、
前記ブロックチェーンネットワークに記録する為に投かんされた情報を、前記ブロックチェーンノードに伝播させる伝播手段と、
前記ブロックチェーンノードにおいて前記投かんされた情報が合意形成された場合に、前記投かんされた情報を前記ブロックチェーンネットワークに記録する記録手段と、
を有するブロックチェーンシステム。
【請求項２】
前記ブロックチェーンノード更新手段は、前記ブロックチェーンネットワーク情報管理手段が管理する前記ブロックチェーンネットワークに関する情報を参照して、前記ブロックチェーンノードの数が所定数以下であれば、前記ネットワーク接続装置情報管理手段が管理する前記ネットワーク接続装置に関する情報を参照し、前記ブロックチェーンノードを追加すること
を特徴とする請求項１記載のブロックチェーンシステム。
【請求項３】
前記ブロックチェーンノード更新手段は、前記ブロックチェーンネットワーク情報管理手段が管理する前記ブロックチェーンネットワークに関する情報を参照して、前記ブロックチェーンノードの一部を削除しても、前記ブロックチェーンノードの数が所定数以下とならなければ、前記ブロックチェーンノードの一部を、前記ブロックチェーンネットワークから削除すること
を特徴とする請求項２記載のブロックチェーンシステム。
【請求項４】
前記ブロックチェーンノード更新手段は、前記ネットワーク接続装置の配下のネットワークに接続されている前記ノード及び前記ネットワーク接続装置のリソース状況に基づき、前記ブロックチェーンノードとして追加又は削除する前記ノード及び前記ネットワーク接続装置を選択すること
を特徴とする請求項３記載のブロックチェーンシステム。
【請求項５】
前記ブロックチェーンノード更新手段は、更に、通信コストを考慮して、前記ブロックチェーンノードとして追加又は削除する前記ノード及び前記ネットワーク接続装置を選択すること
を特徴とする請求項４記載のブロックチェーンシステム。
【請求項６】
前記ノードは、物件の前記ネットワーク接続装置の配下のネットワークに接続されている設備機器であること、
を特徴とする請求項１乃至５の何れか一項に記載のブロックチェーンシステム。
【請求項７】
ネットワーク間を通信可能に接続するネットワーク接続装置を、
配下のネットワークに接続されている複数のノードに関する情報を管理するノード情報管理手段、
複数のノードが配下のネットワークに接続されている他のネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段、
前記ノード情報管理手段により管理されている前記ノード、前記ネットワーク接続装置及び前記ネットワーク接続装置情報管理手段により管理されている前記ノードの少なくとも一部でブロックチェーンノードが構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段、
前記ノード情報管理手段により管理されている前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段、
として機能させるためのプログラム。
【請求項８】
ネットワーク間を通信可能に接続するネットワーク接続装置であって、
配下のネットワークに接続されている複数のノードに関する情報を管理するノード情報管理手段と、
複数のノードが配下のネットワークに接続されている他のネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段と、
前記ノード情報管理手段により管理されている前記ノード、前記ネットワーク接続装置及び前記ネットワーク接続装置情報管理手段により管理されている前記ノードの少なくとも一部でブロックチェーンノードが構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段と、
前記ノード情報管理手段により管理されている前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段と、
を有するネットワーク接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ブロックチェーンノードを更新するブロックチェーンシステム、プログラム及びネットワーク接続装置に関する。
【背景技術】
【０００２】
例えば車両が取得した車両情報をセンターだけで管理すると、車両情報が第３者から不正に書き換えられることを抑制することやセンターでの内部不正による改ざんの検知または防止することが困難であるため、車両情報を複数のノードが分散台帳で管理する技術が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−２３８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、台帳管理システムの適正な台帳管理ノードが登録されているノードリストへの登録やノードリストからの削除を、オフラインで実行しているが、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新することに関して記載がない。
【０００５】
本開示は、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新できるブロックチェーンシステム、プログラム及びネットワーク接続装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示のブロックチェーンシステムは、ネットワーク間を通信可能に接続するネットワーク接続装置と、前記ネットワーク接続装置の配下のネットワークに接続されている複数のノードと、を有するブロックチェーンシステムであって、前記ネットワーク接続装置の配下のネットワークに接続されている前記複数のノードに関する情報を管理するノード情報管理手段と、前記複数のノードが配下のネットワークに接続されている前記ネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段と、前記複数のノード及び前記ネットワーク接続装置の少なくとも一部でブロックチェーンノードが構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段と、前記ノード情報管理手段が管理する前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段と、前記ブロックチェーンネットワークに記録する為に投かんされた情報を、前記ブロックチェーンノードに伝播させる伝播手段と、前記ブロックチェーンノードにおいて前記投かんされた情報が合意形成された場合に、前記投かんされた情報を前記ブロックチェーンネットワークに記録する記録手段と、を有する。
【０００７】
本開示によれば、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新できる。
【０００８】
前記ブロックチェーンノード更新手段は、前記ブロックチェーンネットワーク情報管理手段が管理する前記ブロックチェーンネットワークに関する情報を参照して、前記ブロックチェーンノードの数が所定数以下であれば、前記ネットワーク接続装置情報管理手段が管理する前記ネットワーク接続装置に関する情報を参照し、前記ブロックチェーンノードを追加することを特徴としてもよい。
【０００９】
本開示によれば、ブロックチェーンノードの数が所定数以下であれば、ブロックチェーンノードをブロックチェーンネットワークに追加できる。
【００１０】
前記ブロックチェーンノード更新手段は、前記ブロックチェーンネットワーク情報管理手段が管理する前記ブロックチェーンネットワークに関する情報を参照して、前記ブロックチェーンノードの一部を削除しても、前記ブロックチェーンノードの数が所定数以下とならなければ、前記ブロックチェーンノードの一部を、前記ブロックチェーンネットワークから削除することを特徴としてもよい。
【００１１】
本開示によれば、ブロックチェーンノードの数が所定数以下とならない範囲内で、ブロックチェーンノードを削除できる。
【００１２】
前記ブロックチェーンノード更新手段は、前記ネットワーク接続装置の配下のネットワークに接続されている前記ノード及び前記ネットワーク接続装置のリソース状況に基づき、前記ブロックチェーンノードとして追加又は削除する前記ノード及び前記ネットワーク接続装置を選択することを特徴としてもよい。
【００１３】
本開示によれば、ノード及びネットワーク接続装置のリソース状況に基づき、ブロックチェーンノードとして追加又は削除するノード及びネットワーク接続装置を選択できる。
【００１４】
前記ブロックチェーンノード更新手段は、更に、通信コストを考慮して、前記ブロックチェーンノードとして追加又は削除する前記ノード及び前記ネットワーク接続装置を選択することを特徴としてもよい。
【００１５】
本開示によれば、通信コストを考慮して、ブロックチェーンノードとして追加又は削除するノード及びネットワーク接続装置を選択できる。
【００１６】
前記ノードは、物件の前記ネットワーク接続装置の配下のネットワークに接続されている設備機器であること、を特徴としてもよい。
【００１７】
本開示によれば、物件のネットワーク接続装置の配下のネットワークに接続されている設備機器をノードとすることができる。
【００１８】
本開示のプログラムは、ネットワーク間を通信可能に接続するネットワーク接続装置を、配下のネットワークに接続されている複数のノードに関する情報を管理するノード情報管理手段、複数のノードが配下のネットワークに接続されている他のネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段、前記ノード情報管理手段により管理されている前記ノード、前記ネットワーク接続装置及び前記ネットワーク接続装置情報管理手段により管理されている前記ノードの少なくとも一部で構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段、前記ノード情報管理手段により管理されている前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段、として機能させる。
【００１９】
本開示によれば、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新できる。
【００２０】
本開示のネットワーク接続装置は、ネットワーク間を通信可能に接続するネットワーク接続装置であって、配下のネットワークに接続されている複数のノードに関する情報を管理するノード情報管理手段と、複数のノードが配下のネットワークに接続されている他のネットワーク接続装置に関する情報を管理するネットワーク接続装置情報管理手段と、前記ノード情報管理手段により管理されている前記ノード、前記ネットワーク接続装置及び前記ネットワーク接続装置情報管理手段により管理されている前記ノードの少なくとも一部で構成されるブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段と、前記ノード情報管理手段により管理されている前記複数のノードに関する情報の変更に応じて、前記ブロックチェーンノードを更新するブロックチェーンノード更新手段と、を有する。
【００２１】
本開示によれば、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新できる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係るブロックチェーンシステムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係るクラウドサーバの一例の機能ブロック図である。
【図４】本実施形態に係るＧＷの一例の機能ブロック図である。
【図５】本実施形態に係るノードの一例の機能ブロック図である。
【図６】ＧＷ情報の一例の構成図である。
【図７】ノード情報の一例の構成図である。
【図８】ブロックチェーンネットワーク情報の一例の構成図である。
【図９】ノード情報の変更を受信したクラウドサーバの処理の一例のフローチャートである。
【図１０】ブロックチェーンノード更新処理の一例のフローチャートである。
【図１１】本実施形態に係るブロックチェーンシステムの他の例の構成図である。
【図１２】第２の実施形態に係るＧＷの一例の機能ブロック図である。
【図１３】ノード情報の一例の構成図である。
【図１４】ブロックチェーンネットワーク情報の一例の構成図である。
【発明を実施するための形態】
【００２３】
次に、本発明の実施形態について詳細に説明する。
［第１の実施形態］
本実施形態では、ネットワークに接続されている複数のノードの一例として、物件の設備機器の例を説明する。物件の設備機器には、空調機器、監視装置や防犯装置、設備機器を操作するためのリモコン装置など、パーソナルコンピュータ（ＰＣ）以外の各種機器や装置も含まれる。
【００２４】
＜システム構成＞
図１は、本実施形態に係るブロックチェーンシステムの一例の構成図である。ブロックチェーンシステム１は、クラウドサーバ１０、ＧＷ１２ａ〜１２ｃ、ノード１４ａ〜１４ｎが、インターネットやＬＡＮなどのネットワーク１６、１８ａ〜１８ｃを介して接続されている。
【００２５】
図１のクラウドサーバ１０は一例であって、１台以上のコンピュータにより実現される情報処理システムであってもよい。ＧＷ１２ａ〜１２ｃは、エッジ、フォグ、クラウドなどのネットワーク間を通信可能に接続するネットワーク接続装置の一例であって、ゲートウェイである。以下ではＧＷ１２ａ〜１２ｃの何れでもよい場合はＧＷ１２と総称する。
【００２６】
ノード１４ａ〜１４ｎは、ＧＷ１２配下のネットワーク１８ａ〜１８ｃに通信可能に接続された物件の設備機器である。例えば図１ではＧＷ１２ａの配下のネットワーク１８ａにノード１４ａ〜１４ｃが通信可能に接続されている。ＧＷ１２ｂの配下のネットワーク１８ｂにノード１４ｄ〜１４ｈが通信可能に接続されている。ＧＷ１２ｃの配下のネットワーク１８ｃにノード１４ｉ〜１４ｎが通信可能に接続されている。以下では、ノード１４ａ〜１４ｎの何れでもよい場合はノード１４と総称する。ネットワーク１８ａ〜１８ｃの何れでもよい場合はネットワーク１８と総称する。
【００２７】
本実施形態に係るブロックチェーンシステム１では物件の設備機器であるノード１４に関する情報の変更（ノード１４の追加、削除、設定変更など）を、複数のノード１４により構成されるブロックチェーンネットワークに記録する。なお、ブロックチェーンネットワークを構成する複数のノード１４は後述のように更新される。また、ブロックチェーンネットワークは複数のノード１４及びＧＷ１２により構成されてもよく、後述するようにブロックチェーンネットワークを構成する複数のノード１４及びＧＷ１２が更新されてもよい。
【００２８】
図１のブロックチェーンシステム１は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【００２９】
＜ハードウェア構成＞
図１のクラウドサーバ１０、ＧＷ１２は、例えば図２に示すようなハードウェア構成のコンピュータ５００により実現される。なお、ノード１４のハードウェア構成については省略するが、情報処理が可能なリソースを有しているものとする。
【００３０】
図２は、本実施形態に係るコンピュータの一例のハードウェア構成図である。図２のコンピュータ５００は、入力装置５０１、出力装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７、及びＨＤＤ５０８などを備えており、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び出力装置５０２は必要なときに接続して利用する形態であってもよい。
【００３１】
入力装置５０１は、ユーザが各種信号を入力するのに用いるタッチパネル、操作キーやボタン、キーボードやマウスなどである。出力装置５０２は、画面を表示する液晶や有機ＥＬなどのディスプレイ、音声や音楽などの音データを出力するスピーカ等で構成されている。通信Ｉ／Ｆ５０７は、コンピュータ５００をネットワーク１６又は１８に接続するインターフェースである。これによりコンピュータ５００は、通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００３２】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。
【００３３】
なお、コンピュータ５００は、ＨＤＤ５０８に替えて、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００３４】
外部Ｉ／Ｆ５０３は、外部装置とのインターフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００３５】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００３６】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理（出力装置５０２に出力する画像や音声などを生成する処理も含む）を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００３７】
本実施形態に係るクラウドサーバ１０、ＧＷ１２、及びノード１４は上記したような情報処理が可能なリソースを利用してプログラムを実行することにより後述するような各種処理を実現できる。
【００３８】
＜ソフトウェア構成＞
《機能ブロック》
本実施形態に係るブロックチェーンシステム１のクラウドサーバ１０、ＧＷ１２、及びノード１４の機能ブロックについて説明する。図３は本実施形態に係るクラウドサーバの一例の機能ブロック図である。クラウドサーバ１０はプログラムを実行することで、通信部２０、ノード情報管理部２２、ＧＷ情報管理部２４、ブロックチェーンネットワーク情報管理部２６、ブロックチェーンノード更新部２８、ノード情報管理ＤＢ３０、ＧＷ情報管理ＤＢ３２、及びブロックチェーンネットワーク情報管理ＤＢ３４を実現する。
【００３９】
通信部２０はネットワーク１６を介して通信する。ノード情報管理部２２は、後述するようなノード情報を管理する。また、ＧＷ情報管理部２４は後述するようなＧＷ情報を管理する。また、ブロックチェーンネットワーク情報管理部２６は後述するようなブロックチェーンネットワーク情報を管理する。
【００４０】
ブロックチェーンノード更新部２８は、ブロックチェーンネットワークが複数のノード１４で構成される場合、ブロックチェーンネットワークを構成する複数のノード１４であるブロックチェーンノードを後述のように更新する。また、ブロックチェーンノード更新部２８は、ブロックチェーンネットワークが複数のノード１４及びＧＷ１２で構成される場合、ブロックチェーンネットワークを構成する複数のノード１４及びＧＷ１２であるブロックチェーンノードを後述のように更新する。
【００４１】
ノード情報管理ＤＢ３０は後述するようなノード情報を記録している。ＧＷ情報管理ＤＢ３２は後述するようなＧＷ情報を記録している。ブロックチェーンネットワーク情報管理ＤＢ３４は後述するようなブロックチェーンネットワーク情報を記録している。
【００４２】
図４は本実施形態に係るＧＷの一例の機能ブロック図である。ＧＷ１２はプログラムを実行することで、通信部４０、ノード情報受信部４２、及びノード情報送信部４４を実現する。
【００４３】
通信部４０は、ネットワーク１６又は１８を介して通信する。ノード情報受信部４２はノード１４からノード情報（ノード１４に関する情報）を受信する。ノード情報送信部４４はブロックチェーンネットワークが複数のノード１４で構成される場合、ノード情報受信部４２が受信したノード情報をクラウドサーバ１０に送信する。
【００４４】
なお、ＧＷ１２はブロックチェーンネットワークが複数のノード１４及びＧＷ１２で構成される場合、図４の構成に加えて、後述のブロックチェーンネットワーク情報受信部６２、ブロックチェーンネットワーク情報管理ＤＢ６４、及びトランザクション処理部６８に相当する機能ブロックを有する。
【００４５】
ノード情報送信部４４は、ブロックチェーンネットワークが複数のノード１４及びＧＷ１２で構成される場合、ノード情報受信部４２が受信したノード情報にリソース状況情報などの自身の情報を追加し、クラウドサーバ１０に送信する。
【００４６】
図５は、本実施形態に係るノードの一例の機能ブロック図である。ノード１４はプログラムを実行することで、通信部６０、ブロックチェーンネットワーク情報受信部６２、ブロックチェーンネットワーク情報管理ＤＢ６４、ノード情報通知部６６、及びトランザクション処理部６８を実現する。トランザクション処理部６８は、伝搬部８０、ブロック生成部８２、合意判定部８４、ブロック記録部８６、及びトランザクション生成部８８を有する。
【００４７】
通信部６０はネットワーク１８を介して通信する。ブロックチェーンネットワーク情報受信部６２は、後述のブロックチェーンネットワーク情報を受信する。ブロックチェーンネットワーク情報管理ＤＢ６４は、ブロックチェーンネットワーク情報受信部６２が受信した後述のブロックチェーンネットワーク情報を記録する。ノード情報通知部６６は、変更のあったノード情報を、ＧＷ１２を介してクラウドサーバ１０に通知する。
【００４８】
トランザクション処理部６８は、トランザクションに関する処理を行う。伝搬部８０はブロックチェーンネットワークに、変更のあったノード１４に関する情報（ノード１４の追加、削除、設定変更など）を記録する為に投かんされたトランザクションを、ブロックチェーンノードに伝播させる。ブロック生成部８２はブロックチェーン技術におけるブロックを生成する。合意判定部８４は、予め設定されたブロックチェーン技術の合意規則により合意形成のための処理を行う。ブロック記録部８６は合意形成されたブロックをブロックチェーンネットワークに記録する。
【００４９】
トランザクション生成部８８は変更のあったノード１４に関する情報（ノード１４の追加、削除、設定変更など）のトランザクションを生成し、ブロックチェーンネットワークに投かんすることで、ブロックチェーンノードにトランザクションを伝播させ、ブロックチェーンに記録させる。
【００５０】
クラウドサーバ１０のＧＷ情報管理ＤＢ３２に記録されているＧＷ情報は例えば図６のように構成される。図６はＧＷ情報の一例の構成図である。図６に示すようにＧＷ情報はＧＷアドレス、ノード数、利用可能ＢＣノード数、及び通信コストを項目として有する。
【００５１】
ＧＷアドレスはＧＷ１２の識別情報の一例である。ノード数は、そのＧＷ１２の配下のネットワーク１８に接続されているノード１４の数である。利用可能ＢＣノード数は、ＧＷ１２の配下のネットワーク１８に接続されているノード１４のうち、ブロックチェーンノードとして利用可能なノード１４の数である。通信コストは、そのＧＷ１２の配下のネットワーク１８に接続されているノード１４の通信に関するコストである。
【００５２】
このように、ＧＷ情報はＧＷ１２の配下のネットワーク１８（ＧＷ１２が束ねるネットワーク１８）に接続されているノード１４の数、ブロックチェーンノードとして利用可能なノード１４の数、通信コストを管理している。
【００５３】
クラウドサーバ１０のノード情報管理ＤＢ３０に記録されているノード情報は例えば図７のように構成される。図７はノード情報の一例の構成図である。図７に示すノード情報はＧＷアドレス、ノードアドレス、ＢＣノード利用可否情報、及びリソース状況情報を項目として有する。
【００５４】
ＧＷアドレスはＧＷ１２の識別情報の一例である。ノードアドレスはノード１４の識別情報の一例である。ＢＣノード利用可否情報は、ブロックチェーンノードとして利用可能か不能かを示す情報の一例である。リソース状況情報は、ノード１４のリソース（ＣＰＵ、ＲＡＭ、ＦＬＡＳＨなど）の余裕割合を示す情報の一例である。
【００５５】
このように、ノード情報はＧＷ１２の配下のネットワーク１８に接続されているノード１４ごとに、ＢＣノード利用可否情報及びリソース状況情報を管理している。図７に示したノード情報はブロックチェーンネットワークが複数のノード１４で構成される場合の例である。ブロックチェーンネットワークが複数のノード１４及びＧＷ１２で構成される場合のノード情報は、例えば図１３に示すようになる。
【００５６】
図１３はノード情報の一例の構成図である。図１３に示すノード情報は、複数のノード１４及びＧＷ１２でブロックチェーンノードが構成される例であるため、図７のノード情報の項目「ノードアドレス」が項目「ＧＷアドレス／ノードアドレス」に置き換えられている。
【００５７】
クラウドサーバ１０のブロックチェーンネットワーク情報管理ＤＢ３４に記録されているブロックチェーンネットワーク情報は例えば図８のように構成される。図８はブロックチェーンネットワーク情報の一例の構成図である。図８のブロックチェーンネットワーク情報はＧＷアドレス及びノードアドレスを項目として有している。例えば図８の例ではＧＷアドレス「１」の配下のネットワーク１８に接続されている２つのノード１４と、ＧＷアドレス「３」の配下のネットワーク１８に接続されている２つのノード１４と、により構成されるブロックチェーンネットワーク情報を表している。
【００５８】
このように、ブロックチェーンネットワーク情報は１つ以上のＧＷ１２の配下のネットワーク１８に接続されているノード１４により、ブロックチェーンネットワークを構成して管理できる。
【００５９】
図８に示したブロックチェーンネットワーク情報は、ブロックチェーンネットワークが複数のノード１４で構成される場合の例である。ブロックチェーンネットワークが複数のノード１４及びＧＷ１２で構成される場合のブロックチェーンネットワーク情報は、例えば図１４に示すようになる。
【００６０】
図１４はブロックチェーンネットワーク情報の一例の構成図である。図１４に示したブロックチェーンネットワーク情報は、複数のノード１４及びＧＷ１２でブロックチェーンノードが構成される例であるため、図８に示したブロックチェーンネットワーク情報の項目「ノードアドレス」が項目「ＧＷアドレス／ノードアドレス」に置き換えられる。
【００６１】
＜処理＞
本実施形態に係るブロックチェーンシステム１ではクラウドサーバ１０が管理している図８又は図１４のようなブロックチェーンネットワーク情報が、ブロックチェーンノードにそれぞれ送信される。ブロックチェーンネットワーク情報を受信したブロックチェーンノードは図８又は図１４のブロックチェーンネットワーク情報を参照することで、同一のブロックチェーンネットワークに参加している他のブロックチェーンノードを認識できる。
【００６２】
ブロックチェーンシステム１は、例えば物件ごとにＧＷ１２が設けられる。例えば図１のブロックチェーンシステム１ではＧＷ１２ａ〜１２ｃが異なる物件に設けられていてもよい。この場合、ＧＷ１２ａ〜１２ｃの配下のネットワーク１８ａ〜１８ｃは各物件の中で閉じたネットワークとなる。各物件の閉じたネットワーク１８は、ＧＷ１２により他の物件の閉じたネットワーク１８と通信可能に接続される。
【００６３】
ブロックチェーンシステム１の運用開始時、管理者等は、図６のＧＷ情報、図７又は図１３のノード情報、及び、図８又は図１４のブロックチェーンネットワーク情報を設定する。図６のＧＷ情報、図７又は図１３のノード情報、及び、図８又は図１４のブロックチェーンネットワーク情報が設定されることで、本実施形態に係るブロックチェーンシステム１はブロックチェーンネットワークによる、変更のあったノード１４に関する情報（ノード１４の追加、削除、設定変更など）の記録が開始される。
【００６４】
ブロックチェーンネットワークによる記録が開始されたあと、閉じたネットワーク１８に対するノード１４の追加、削除、ノード１４に対する設定変更が発生すると、該当するノード１４は、ノード情報の変更をＧＷ１２経由でクラウドサーバ１０に通知する。
【００６５】
図９は、ノード情報の変更を受信したクラウドサーバの処理の一例のフローチャートである。クラウドサーバ１０の通信部２０はステップＳ１０でＧＷ１２からノード情報の変更を受信すると、そのノード情報をノード情報管理部２２に送信する。
【００６６】
ステップＳ１２において、ノード情報の変更を受信したノード情報管理部２２はノード情報の変更が反映されるように、ノード情報管理ＤＢ３０に記録されているノード情報を更新する。また、ノード情報の変更によりＧＷ情報も変更される場合、ＧＷ情報管理部２４はＧＷ情報管理ＤＢ３２に記録されているＧＷ情報を更新する。
【００６７】
ブロックチェーンノード更新部２８はブロックチェーンノードの更新処理が必要か否かをステップＳ１４で判定する。
【００６８】
ブロックチェーンノード更新部２８はブロックチェーンノードの更新処理が必要と判定した場合、ステップＳ１６以降の処理を行う。一方、ブロックチェーンノード更新部２８はブロックチェーンノードの更新処理が不要と判定した場合、ステップＳ１６以降の処理をスキップする。
【００６９】
ステップＳ１６においてブロックチェーンノード更新部２８は、変更されたノード情報に基づき、図１０を用いて後述するように、適切なブロックチェーンノードの構成を判断して、ブロックチェーンノードを更新する。例えばステップＳ１６ではブロックチェーンのセキュリティを担保するために十分なブロックチェーンノードの数やリソースに満たなければ、ブロックチェーンノードの数を増やし、ブロックチェーンノードの数やリソースを減らしてもブロックチェーンのセキュリティを十分に担保できるのであれば、ブロックチェーンノードの数やリソースを減らす処理である。
【００７０】
例えば、新たにブロックチェーンに追加するブロックチェーンノードは、例えば通信コストの低いブロックチェーンノードを優先して選択すればよい。また、例えば、新たにブロックチェーンから削除するブロックチェーンノードは、例えば通信コストの高いブロックチェーンノードを優先して選択すればよい。
【００７１】
ステップＳ１８においてブロックチェーンネットワーク情報管理部２６はステップＳ１６のブロックチェーンノード更新処理の結果でブロックチェーンネットワーク情報管理ＤＢ３４に記録されているブロックチェーンネットワーク情報を更新し、ブロックチェーンノードにそれぞれ送信する。
【００７２】
ステップＳ１４及びＳ１６の処理は例えば図１０に示すフローチャートのように実行される。図１０はブロックチェーンノード更新処理の一例のフローチャートである。
【００７３】
ステップＳ３０においてブロックチェーンノード更新部２８はブロックチェーンノードの数が所定数（ブロックチェーンのセキュリティを担保可能なブロックチェーンノードの数）以下であるか否かを判定する。
【００７４】
ブロックチェーンノードの数が所定数以下であれば、ブロックチェーンノード更新部２８はステップＳ３２に進み、ブロックチェーンネットワークに追加可能なノード１４又はＧＷ１２があるか否かを判定する。
【００７５】
ブロックチェーンネットワークに追加可能なノード１４又はＧＷ１２がなければ、ブロックチェーンノード更新部２８はステップＳ３４に進み、ブロックチェーンのセキュリティを担保できないことから、ブロックチェーンのリセット処理を行う。ブロックチェーンのリセット処理はブロックチェーンへの記録を停止する処理である。
【００７６】
なお、ブロックチェーンのリセット処理は、ブロックチェーンへの記録を、期限を設けてペンディングし、期限が来るまでにブロックチェーンノードをブロックチェーンネットワークに追加できれば、ブロックチェーンへの記録を継続するようにしてもよい。ブロックチェーンのリセット処理は、ブロックチェーンへの記録を即座に中止し、ブロックチェーンへの記録を最新のブロックからやり直すようにしてもよい。
【００７７】
ブロックチェーンネットワークに追加可能なノード１４又はＧＷ１２があれば、ステップＳ３２からＳ３６に進み、ブロックチェーンノード更新部２８はブロックチェーンネットワークへのノード追加処理を行う。ステップＳ３６のノード追加処理は、図６のＧＷ情報及び図７のノード情報に基づき、通信コストが低く、リソース状況に余裕のあるブロックチェーンノードを選択してブロックチェーンに追加する。
【００７８】
ブロックチェーンノードの数が所定数以下でなければ、ブロックチェーンノード更新部２８はステップＳ３０からＳ３８に進み、ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがあるか否かを判定する。
【００７９】
ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがあれば、ブロックチェーンノード更新部２８はステップＳ３８からＳ４０に進み、ブロックチェーンネットワークからのノード削除処理を行う。ステップＳ４０のブロックチェーンネットワークからのノード削除処理はブロックチェーンのセキュリティを担保可能な範囲内で、ブロックチェーンから通信コストの高いブロックチェーンノードを優先して削除する処理である。
【００８０】
ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがなければ、ブロックチェーンノード更新部２８はステップＳ４０の処理をスキップする。
【００８１】
図１０のフローチャートではブロックチェーンノードの数が所定数以下であるか否かを判定していたが、ブロックチェーンノードのリソース状況の余裕度による判定など、他の情報を用いた判定であってもよい。
【００８２】
また、本実施形態に係るブロックチェーンシステム１では、変更のあったノード１４に関する情報（ノード１４の追加、削除、設定変更など）を、そのノード１４が通知する例を説明したが、クラウドサーバ１０又はＧＷ１２が検知するようにしてもよい。
【００８３】
本実施形態に係るブロックチェーンシステム１によれば、ブロックチェーンノード更新処理によりブロックチェーンのセキュリティを担保可能なブロックチェーンネットワークが維持される。これにより、追加、削除、設定変更などが行われる可能性のある物件の設備機器をブロックチェーンノードとして利用しても、セキュリティを担保しながら、物件の設備機器であるノード１４に関する情報の変更を、ブロックチェーンに記録できる。
［第２の実施形態］
第１の実施形態に係るブロックチェーンシステム１は図１１に示すような構成により実現してもよい。図１１は、本実施形態に係るブロックチェーンシステムの他の例の構成図である。なお、図１１のブロックチェーンシステム１００は一部を除いて図１のブロックチェーンシステム１と同様であるため、適宜説明を省略する。
【００８４】
ブロックチェーンシステム１００はＧＷ１１２ａ〜１１２ｃ、ノード１１４ａ〜１１４ｎが、インターネットやＬＡＮなどのネットワーク１１６、１１８ａ〜１１８ｃを介して接続されている。ブロックチェーンシステム１００は図１のブロックチェーンシステム１のクラウドサーバ１０が省略された構成である。
【００８５】
省略されたクラウドサーバ１０の機能ブロックのうち、第２の実施形態に係るブロックチェーンシステム１００でも必要な機能ブロックは、例えば図１２に示すようにＧＷ１１２に設けられる。
【００８６】
図１２は第２の実施形態に係るＧＷの一例の機能ブロック図である。ＧＷ１１２はプログラムを実行することにより、通信部１４０、ノード情報受信部１４２、ノード情報管理部１４４、ＧＷ情報管理部１４６、ブロックチェーンネットワーク情報管理部１４８、ブロックチェーンノード更新部１５０、ノード情報管理ＤＢ１５２、ＧＷ情報管理ＤＢ１５４、及びブロックチェーンネットワーク情報管理ＤＢ１５６を実現する。
【００８７】
通信部１４０はネットワーク１１６又は１１８ａ〜１１８ｃを介して通信する。ノード情報受信部１４２は、ノード１１４からノード情報（ノード１１４に関する情報）を受信する。
【００８８】
ノード情報管理部１４４は、図７又は図１３のノード情報を管理する。また、ＧＷ情報管理部１４６は図６のＧＷ情報を管理する。また、ブロックチェーンネットワーク情報管理部１４８は図８又は図１４のブロックチェーンネットワーク情報を管理する。ブロックチェーンノード更新部１５０は、ブロックチェーンネットワークを構成するブロックチェーンノードを第１の実施形態と同様に更新する。ノード情報管理ＤＢ１５２は図７又は図１３のノード情報を記録している。ＧＷ情報管理ＤＢ１５４は図６のＧＷ情報を記録している。ブロックチェーンネットワーク情報管理ＤＢ１５６は図８又は図１４のブロックチェーンネットワーク情報を記録している。
【００８９】
第２の実施形態に係るブロックチェーンシステム１００ではＧＷ１１２が管理している図８又は図１４のようなブロックチェーンネットワーク情報が、ブロックチェーンノードにそれぞれ送信される。
【００９０】
ブロックチェーンネットワーク情報を受信したブロックチェーンノードは図８又は図１４のブロックチェーンネットワーク情報を参照することで、同一のブロックチェーンネットワークに参加している他のブロックチェーンノードを認識できる。
【００９１】
ブロックチェーンシステム１００は、例えば物件ごとにＧＷ１２が設けられる。例えば図１１のブロックチェーンシステム１００では、ＧＷ１１２ａ〜１１２ｃが異なる物件に設けられていてもよい。この場合、ＧＷ１１２ａ〜１１２ｃの配下のネットワーク１１８ａ〜１１８ｃは各物件の中で閉じたネットワークとなる。各物件の閉じたネットワーク１１８は、ＧＷ１１２により他の物件の閉じたネットワーク１１８と通信可能に接続されている。
【００９２】
なお、第２の実施形態に係るブロックチェーンシステム１００では、ＧＷ１１２ごとに閉じたネットワーク１１８のブロックチェーンノードで初期のブロックチェーンネットワークを構成しておき、ブロックチェーンノードの数が所定数以下となった場合に、他の閉じたネットワーク１１８のブロックチェーンノードをブロックチェーンネットワークに追加する処理を行うようにしてもよい。
【００９３】
例えばＧＷ１１２ａの閉じたネットワーク１１８ａのノード１１４ａ〜１１４ｃ及びＧＷ１１２ａで初期のブロックチェーンネットワークを構成しておき、ブロックチェーンノードの数が所定数以下となった場合に、他の閉じたネットワーク１１８ｂのノード１１４ｄ〜１１４ｈ及びＧＷ１１２ｂをブロックチェーンネットワークに追加する処理を行うようにしてもよい。
【００９４】
ブロックチェーンシステム１００の運用開始時、管理者等は、図６のＧＷ情報、図７又は図１３のノード情報、及び、図８又は図１３のブロックチェーンネットワーク情報を設定する。第２の実施形態に係るブロックチェーンシステム１００は、第１の実施形態と同様に、ブロックチェーンネットワークによる、変更のあったノード１１４に関する情報（ノード１１４の追加、削除、設定変更など）の記録が開始される。
【００９５】
ブロックチェーンネットワークによる記録が開始されたあと、閉じたネットワーク１１８に対するノード１１４の追加、削除、ノード１１４に対する設定変更が発生すると、該当するノード１１４は、ノード情報の変更をＧＷ１１２に通知する。
【００９６】
ＧＷ１１２の通信部１４０はステップＳ１０でノード１１４からノード情報の変更を受信すると、そのノード情報をノード情報管理部１４４に送信する。ステップＳ１２において、ノード情報の変更を受信したノード情報管理部１４４はノード情報の変更が反映されるように、ノード情報管理ＤＢ１５２に記録されているノード情報を更新する。ノード情報の変更によりＧＷ情報も変更される場合、ＧＷ情報管理部１４６はＧＷ情報管理ＤＢ１５４に記録されているＧＷ情報を更新する。
【００９７】
ブロックチェーンノード更新部１５０はブロックチェーンノードの更新処理が必要か否かをステップＳ１４で判定する。
【００９８】
ブロックチェーンノード更新部１５０はブロックチェーンノードの更新処理が必要と判定した場合、ステップＳ１６以降の処理を行う。一方、ブロックチェーンノード更新部１５０はブロックチェーンノードの更新処理が不要と判定した場合、ステップＳ１６以降の処理をスキップする。
【００９９】
ステップＳ１６においてブロックチェーンノード更新部１５０は、変更されたノード情報に基づき、図１０を用いて前述したように、適切なブロックチェーンノードの構成を判断して、ブロックチェーンノードを更新する。
【０１００】
ステップＳ１８においてブロックチェーンネットワーク情報管理部１４８は、ステップＳ１６のブロックチェーンノード更新処理の結果で、ブロックチェーンネットワーク情報管理ＤＢ１５６に記録されているブロックチェーンネットワーク情報を更新し、ブロックチェーンノードにそれぞれ送信する。
【０１０１】
ステップＳ１４及びＳ１６の処理は例えば図１０に示すフローチャートのように実行される。ステップＳ３０においてブロックチェーンノード更新部１５０はブロックチェーンノードの数が所定数以下であるか否かを判定する。ブロックチェーンノードの数が所定数以下であれば、ブロックチェーンノード更新部１５０はステップＳ３２に進み、ブロックチェーンネットワークに追加可能なノード１１４又はＧＷ１１２があるか否かを判定する。
【０１０２】
ブロックチェーンネットワークに追加可能なノード１１４又はＧＷ１１２がなければブロックチェーンノード更新部１５０はステップＳ３４に進み、ブロックチェーンのセキュリティを担保できないことから、ブロックチェーンのリセット処理を行う。
【０１０３】
ブロックチェーンネットワークに追加可能なノード１１４又はＧＷ１１２があれば、ステップＳ３２からＳ３６に進み、ブロックチェーンノード更新部１５０はブロックチェーンネットワークへのノード追加処理を行う。
【０１０４】
ブロックチェーンノードの数が所定数以下でなければ、ブロックチェーンノード更新部１５０はステップＳ３０からＳ３８に進み、ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがあるか否かを判定する。
【０１０５】
ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがあれば、ブロックチェーンノード更新部１５０はステップＳ３８からＳ４０に進み、ブロックチェーンネットワークからのノード削除処理を行う。
【０１０６】
ブロックチェーンネットワークから削除してもブロックチェーンのセキュリティを担保可能なブロックチェーンノードがなければ、ブロックチェーンノード更新部１５０はステップＳ４０の処理をスキップする。
【０１０７】
また、第２の実施形態に係るブロックチェーンシステム１００では変更のあったノード１１４に関する情報（ノード１４の追加、削除、設定変更など）を、そのノード１１４が通知する例を説明したが、ＧＷ１１２が検知するようにしてもよい。
【０１０８】
第２の実施形態に係るブロックチェーンシステム１００によれば、クラウドサービスのランニングコストを低減できると共に、ブロックチェーンのセキュリティを担保可能なブロックチェーンネットワークが維持される。これにより、追加、削除、設定変更などが行われる可能性のある物件の設備機器をブロックチェーンノードとして利用しても、セキュリティを担保しながら、物件の設備機器であるノード１１４に関する情報の変更を、ブロックチェーンに記録できる。
【０１０９】
また、物件の設備機器であるノード１１４に関する情報の変更を、クラウドサービスに集約して保存せずに、ブロックチェーンに記録することで、データ損失のリスクの低減やセキュリティリスクの低減が可能となる。
【０１１０】
以上、実施形態を説明したが、特許請求の範囲の趣旨及び範囲から逸脱することなく、形態や詳細の多様な変更が可能なことが理解されるであろう。
【符号の説明】
【０１１１】
１、１００    ブロックチェーンシステム
１０    クラウドサーバ
１２ａ〜１２ｃ、１１２ａ〜１１２ｃ    ＧＷ
１４ａ〜１４ｎ、１１４ａ〜１１４ｎ    ノード
１６、１８ａ〜１８ｃ、１１６、１１８ａ〜１１８ｃ    ネットワーク
２０、４０、６０、１４０    通信部
２２、１４４    ノード情報管理部
２４、１４６    ＧＷ情報管理部
２６、１４８    ブロックチェーンネットワーク情報管理部
２８、１５０    ブロックチェーンノード更新部
３０、１５２    ノード情報管理ＤＢ
３２、１５４    ＧＷ情報管理ＤＢ
３４、１５６    ブロックチェーンネットワーク情報管理ＤＢ
４２、１４２    ノード情報受信部
４４    ノード情報送信部
６２    ブロックチェーンネットワーク情報受信部
６４    ブロックチェーンネットワーク情報管理ＤＢ
６６    ノード情報通知部
６８    トランザクション処理部
８０    伝搬部
８２    ブロック生成部
８４    合意判定部
８６    ブロック記録部
８８    トランザクション生成部
【要約】
【課題】複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新できるブロックチェーンシステムを提供すること。
【解決手段】ネットワーク接続装置と複数のノードとを有するブロックチェーンシステムであって、ノード情報管理手段と、ネットワーク接続装置情報管理手段と、ブロックチェーンネットワークに関する情報を管理するブロックチェーンネットワーク情報管理手段と、複数のノードに関する情報の変更に応じて、ブロックチェーンノードを更新するノード更新手段と、ブロックチェーンネットワークに記録する為に投かんされた情報を、ブロックチェーンノードに伝播させる伝播手段と、投かんされた情報が合意形成された場合に、ブロックチェーンネットワークに記録する記録手段と、を有することにより上記課題を解決する。
【選択図】  図１【図１】
0006852776.tif 000002
【図２】
0006852776.tif 000003
【図３】
0006852776.tif 000004
【図４】
0006852776.tif 000005
【図５】
0006852776.tif 000006
【図６】
0006852776.tif 000007
【図７】
0006852776.tif 000008
【図８】
0006852776.tif 000009
【図９】
0006852776.tif 000010
【図１０】
0006852776.tif 000011
【図１１】
0006852776.tif 000012
【図１２】
0006852776.tif 000013
【図１３】
0006852776.tif 000014
【図１４】
0006852776.tif 000015