(57)【要約】【課題】複数の通信装置の間で伝送されるデータの改ざんを抑制できるようにする。【解決手段】本発明の一実施形態に係る通信システムＳは、複数の第１通信装置２と、第１通信装置及び広域ネットワークに接続する第２通信装置３とを含み、複数の第１通信装置それぞれは、ブロックチェーンを受信する受信部２１１と、署名の数が所定の閾値未満である場合にブロックチェーンに署名を付加したブロックチェーンを出力し、署名の数が所定の閾値に到達している場合にブロックチェーンを出力する署名部２１２と、ブロックチェーンを他の通信装置に転送する転送部２１３と、を備え、第２通信装置は、ブロックチェーンを受信する受信部３１１と、署名の数が所定の閾値未満である場合にブロックチェーンを他の通信装置に転送し、署名の数が所定の閾値に到達している場合にブロックチェーンを広域ネットワークに転送する転送部３１３と、を備える。【選択図】図２
2020065134.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信可能な複数の第１通信装置と、前記第１通信装置及び広域ネットワークに接続する第２通信装置とを含む通信システムであって、
前記複数の第１通信装置それぞれは、
他の通信装置からブロックチェーンを受信する第１受信部と、
前記第１受信部が受信した前記ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記第１受信部が受信した前記ブロックチェーンに署名を付加した前記ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記第１受信部が受信した前記ブロックチェーンを出力する署名部と、
前記署名部が出力した前記ブロックチェーンを他の通信装置に転送する第１転送部と、
を備え、
前記第２通信装置は、
他の通信装置から前記ブロックチェーンを受信する第２受信部と、
前記第２受信部が受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満である場合に前記第２受信部が受信した前記ブロックチェーンを他の通信装置に転送し、前記署名の数が前記所定の閾値に到達している場合に前記第２受信部が受信した前記ブロックチェーンを前記広域ネットワークに転送する第２転送部と、
を備える通信システム。
【請求項２】
前記複数の第１通信装置それぞれは、前記第１受信部が受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満であり、かつ前記第１受信部が受信した前記ブロックチェーンの生成時刻から所定の時間が経過している場合に、前記第１受信部が受信した前記ブロックチェーンを消滅させる消滅部をさらに有する、請求項１に記載の通信システム。
【請求項３】
前記通信システムは、前記複数の第１通信装置に処理の実行を依頼する依頼装置をさらに含み、
前記複数の第１通信装置それぞれは、指定された処理を実行する実行部をさらに備え、
前記依頼装置は、
実行依頼を含む前記ブロックチェーンを生成する生成部と、
前記生成部が生成した前記ブロックチェーンを他の通信装置に転送する第３転送部と、
所定の署名が付加された前記ブロックチェーンを受信する第３受信部と、を備え、
前記依頼装置において、
前記生成部は、前記第３受信部が受信した前記所定の署名が付加された前記ブロックチェーンを含む第２ブロックチェーンを生成し、
前記第３転送部は、前記生成部が生成した前記第２ブロックチェーンを他の通信装置に転送し、
前記複数の第１通信装置それぞれにおいて、
前記第１受信部は、前記依頼装置から前記第２ブロックチェーンを受信し、
前記実行部は、前記第１受信部が受信した前記第２ブロックチェーンに含まれている前記実行依頼に対応する処理を実行可能な場合に、前記処理を実行し、
前記署名部は、前記実行部が前記処理を実行した場合に前記第１受信部が受信した前記第２ブロックチェーンに署名及び前記処理の実行結果を付加した前記第２ブロックチェーンを出力し、前記第１受信部が受信した前記第２ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記第１受信部が受信した前記第２ブロックチェーンに署名を付加した前記第２ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記第１受信部が受信した前記第２ブロックチェーンを出力し、
前記第１転送部は、前記署名部が出力した前記第２ブロックチェーンを他の通信装置に転送する、請求項１又は２に記載の通信システム。
【請求項４】
前記依頼装置において、前記第３受信部は、前記実行結果が付加された前記第２ブロックチェーンを受信する、請求項３に記載の通信システム。
【請求項５】
前記通信システムは、前記広域ネットワークに接続しており、メインブロックチェーンを管理する管理装置をさらに含み、
前記管理装置は、前記ブロックチェーンを受信した場合に、前記ブロックチェーンに含まれている前記実行依頼を生成した第１主体の債務を示す情報を前記メインブロックチェーンに付加し、
前記管理装置は、前記第２ブロックチェーンを受信した場合に、前記第２ブロックチェーンに含まれている前記実行結果を生成した第２主体の債権を示す情報を前記メインブロックチェーンに付加する、請求項３又は４に記載の通信システム。
【請求項６】
前記管理装置は、前記ブロックチェーンを受信した場合に、前記第１主体に関連付けられた金銭に対応する値から減算する値を示す情報を前記メインブロックチェーンに付加し、
前記管理装置は、前記第２ブロックチェーンを受信した場合に、前記第２主体に関連付けられた金銭に対応する値に加算する値を示す情報を前記メインブロックチェーンに付加する、請求項５に記載の通信システム。
【請求項７】
互いに通信可能な複数の第１通信装置と、前記第１通信装置及び広域ネットワークに接続する第２通信装置とを含む通信システムにおいて、
前記複数の第１通信装置それぞれのプロセッサが、
他の通信装置からブロックチェーンを受信するステップと、
前記受信するステップが受信した前記ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記受信するステップが受信した前記ブロックチェーンに署名を付加した前記ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記受信するステップが受信した前記ブロックチェーンを出力するステップと、
前記出力するステップが出力した前記ブロックチェーンを他の通信装置に転送するステップと、
を実行し、
前記第２通信装置のプロセッサが、
他の通信装置から前記ブロックチェーンを受信するステップと、
前記受信するステップが受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満である場合に前記受信するステップが受信した前記ブロックチェーンを他の通信装置に転送し、前記署名の数が前記所定の閾値に到達している場合に前記受信するステップが受信した前記ブロックチェーンを前記広域ネットワークに転送するステップと、
を実行する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信によってデータを伝送するための通信システム及び通信方法に関する。
【背景技術】
【０００２】
従来、無線通信を行う複数の通信装置がリレー方式でデータを中継することによって、広範囲にデータを伝送可能にするマルチホップネットワーク（マルチホップ通信）が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−５０５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マルチホップネットワークを構成する複数の通信装置のうち、一部の通信装置のみがインターネット等の広域ネットワークに接続されている場合がある。この場合に、センサ等によって取得されたデータは、広域ネットワークに接続されている通信装置までマルチホップネットワークを介して伝送され、その後広域ネットワーク上の管理装置に記録され得る。しかしながら、マルチホップネットワークでは、複数の通信装置がデータを中継するため、データは伝送される途中で改ざんされる可能性がある。そのため、複数の通信装置の間で伝送されるデータの改ざんを抑制するための技術が求められている。
【０００５】
本発明は上述の点に鑑みてなされたものであり、複数の通信装置の間で伝送されるデータの改ざんを抑制できる通信システム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様の通信システムは、互いに通信可能な複数の第１通信装置と、前記第１通信装置及び広域ネットワークに接続する第２通信装置とを含む通信システムであって、前記複数の第１通信装置それぞれは、他の通信装置からブロックチェーンを受信する第１受信部と、前記第１受信部が受信した前記ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記第１受信部が受信した前記ブロックチェーンに署名を付加した前記ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記第１受信部が受信した前記ブロックチェーンを出力する署名部と、前記署名部が出力した前記ブロックチェーンを他の通信装置に転送する第１転送部と、を備え、前記第２通信装置は、他の通信装置から前記ブロックチェーンを受信する第２受信部と、前記第２受信部が受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満である場合に前記第２受信部が受信した前記ブロックチェーンを他の通信装置に転送し、前記署名の数が前記所定の閾値に到達している場合に前記第２受信部が受信した前記ブロックチェーンを前記広域ネットワークに転送する第２転送部と、を備える。
【０００７】
前記複数の第１通信装置それぞれは、前記第１受信部が受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満であり、かつ前記第１受信部が受信した前記ブロックチェーンの生成時刻から所定の時間が経過している場合に、前記第１受信部が受信した前記ブロックチェーンを消滅させる消滅部をさらに有してもよい。
【０００８】
前記通信システムは、前記複数の第１通信装置に処理の実行を依頼する依頼装置をさらに含み、前記複数の第１通信装置それぞれは、指定された処理を実行する実行部をさらに備え、前記依頼装置は、実行依頼を含む前記ブロックチェーンを生成する生成部と、前記生成部が生成した前記ブロックチェーンを他の通信装置に転送する第３転送部と、所定の署名が付加された前記ブロックチェーンを受信する第３受信部と、を備え、前記依頼装置において、前記生成部は、前記第３受信部が受信した前記所定の署名が付加された前記ブロックチェーンを含む第２ブロックチェーンを生成し、前記第３転送部は、前記生成部が生成した前記第２ブロックチェーンを他の通信装置に転送し、前記複数の第１通信装置それぞれにおいて、前記第１受信部は、前記依頼装置から前記第２ブロックチェーンを受信し、前記実行部は、前記第１受信部が受信した前記第２ブロックチェーンに含まれている前記実行依頼に対応する処理を実行可能な場合に、前記処理を実行し、前記署名部は、前記実行部が前記処理を実行した場合に前記第１受信部が受信した前記第２ブロックチェーンに署名及び前記処理の実行結果を付加した前記第２ブロックチェーンを出力し、前記第１受信部が受信した前記第２ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記第１受信部が受信した前記第２ブロックチェーンに署名を付加した前記第２ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記第１受信部が受信した前記第２ブロックチェーンを出力し、前記第１転送部は、前記署名部が出力した前記第２ブロックチェーンを他の通信装置に転送してもよい。
【０００９】
前記依頼装置において、前記第３受信部は、前記実行結果が付加された前記第２ブロックチェーンを受信してもよい。
【００１０】
前記通信システムは、前記広域ネットワークに接続しており、メインブロックチェーンを管理する管理装置をさらに含み、前記管理装置は、前記ブロックチェーンを受信した場合に、前記ブロックチェーンに含まれている前記実行依頼を生成した第１主体の債務を示す情報を前記メインブロックチェーンに付加し、前記管理装置は、前記第２ブロックチェーンを受信した場合に、前記第２ブロックチェーンに含まれている前記実行結果を生成した第２主体の債権を示す情報を前記メインブロックチェーンに付加してもよい。
【００１１】
前記管理装置は、前記ブロックチェーンを受信した場合に、前記第１主体に関連付けられた金銭に対応する値から減算する値を示す情報を前記メインブロックチェーンに付加し、前記管理装置は、前記第２ブロックチェーンを受信した場合に、前記第２主体に関連付けられた金銭に対応する値に加算する値を示す情報を前記メインブロックチェーンに付加してもよい。
【００１２】
本発明の第２の態様の通信方法は、互いに通信可能な複数の第１通信装置と、前記第１通信装置及び広域ネットワークに接続する第２通信装置とを含む通信システムにおいて、前記複数の第１通信装置それぞれのプロセッサが、他の通信装置からブロックチェーンを受信するステップと、前記受信するステップが受信した前記ブロックチェーンに含まれている署名の数が所定の閾値未満である場合に前記受信するステップが受信した前記ブロックチェーンに署名を付加した前記ブロックチェーンを出力し、前記署名の数が前記所定の閾値に到達している場合に前記受信するステップが受信した前記ブロックチェーンを出力するステップと、前記出力するステップが出力した前記ブロックチェーンを他の通信装置に転送するステップと、を実行し、前記第２通信装置のプロセッサが、他の通信装置から前記ブロックチェーンを受信するステップと、前記受信するステップが受信した前記ブロックチェーンに含まれている署名の数が前記所定の閾値未満である場合に前記受信するステップが受信した前記ブロックチェーンを他の通信装置に転送し、前記署名の数が前記所定の閾値に到達している場合に前記受信するステップが受信した前記ブロックチェーンを前記広域ネットワークに転送するステップと、を実行する。
【発明の効果】
【００１３】
本発明によれば、複数の通信装置の間で伝送されるデータの改ざんを抑制できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る通信システムの模式図である。
【図２】第１の実施形態に係る通信システムのブロック図である。
【図３】第１の実施形態に係る通信システムが実行する通信方法の模式図である。
【図４】第１の実施形態で用いられるブロックチェーンの模式図である。
【図５】第１の実施形態で用いられるブロックチェーン及びメインブロックチェーンの模式図である。
【図６】第１の実施形態に係る第１通信装置が実行する通信方法のフローチャートを示す図である。
【図７】第１の実施形態に係る第２通信装置が実行する通信方法のフローチャートを示す図である。
【図８】第２の実施形態に係る通信システムが実行する通信方法の前半部分の模式図である。
【図９】第２の実施形態で用いられるブロックチェーンの模式図である。
【図１０】第２の実施形態に係る通信システムが実行する通信方法の後半部分の模式図である。
【図１１】第２の実施形態で用いられるブロックチェーン及びメインブロックチェーンの模式図である。
【図１２】第２の実施形態に係る第１通信装置が実行する通信方法のフローチャートを示す図である。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
［通信システムＳの概要］
図１は、本実施形態に係る通信システムＳの模式図である。通信システムＳは、依頼装置１と、複数の第１通信装置２（第１通信装置２Ａ、２Ｂ、２Ｃ）と、第２通信装置３と、ゲートウェイ４と、複数の管理装置５とを含む。通信システムＳは、その他のサーバ、端末等の機器を含んでもよい。
【００１６】
依頼装置１、複数の第１通信装置２及び第２通信装置３は、それぞれ通信を行うことが可能な通信装置である。依頼装置１、第１通信装置２及び第２通信装置３は、処理を行うためのコンピュータを有するとともに、所定の周波数帯で無線通信を行うためのアンテナ、プロセッサ、コネクタ等の通信部材を有する。
【００１７】
依頼装置１、複数の第１通信装置２及び第２通信装置３は、マルチホップネットワークを構成している。すなわち、依頼装置１、複数の第１通信装置２及び第２通信装置３のそれぞれは、依頼装置１、複数の第１通信装置２及び第２通信装置３のうち１つからデータを受信し、さらに受信したデータを複数の第１通信装置２及び第２通信装置３のうち別の１つに転送（中継）する。これにより、依頼装置１、複数の第１通信装置２及び第２通信装置３は、インターネット等の広域ネットワークＮを介さずに、データを遠隔地に到達させることができる。
【００１８】
第２通信装置３には、広域ネットワークＮに接続するためのゲートウェイ４が接続されている。すなわち、マルチホップネットワークにおいて、第２通信装置３のみが広域ネットワークＮと通信可能である。そのため、依頼装置１が送出したデータは、依頼装置１及び複数の第１通信装置２がデータの転送を繰り返すことによって、第２通信装置３を介して広域ネットワークＮへ到達する。逆に、広域ネットワークＮからのデータは、第２通信装置３及び複数の第１通信装置２がデータの転送を繰り返すことによって、依頼装置１へ到達する。通信システムＳは、２つ以上の第２通信装置３を含んでもよい。
【００１９】
第１通信装置２と第２通信装置３とは異なる種類の通信装置であってもよい。あるいは複数の第１通信装置２のうちゲートウェイ４に接続されている少なくとも１つの第１通信装置２が、第２通信装置３として機能してもよい。この場合には、第２通信装置３は、第１通信装置の機能もあわせ持つ。
【００２０】
依頼装置１及び複数の第１通信装置２のうち少なくとも一部には、機器６が接続されている。機器６は、依頼装置１又は第１通信装置２に対して情報を入力するか、あるいは依頼装置１又は第１通信装置２から受け取った情報に応じて動作する機器であり、例えばセンサ、コンピュータ、アクチュエータ等である。
【００２１】
ゲートウェイ４は、第２通信装置３と広域ネットワークＮとを接続するコンピュータである。ゲートウェイ４は、有線通信又は無線通信を行うためのアンテナ、プロセッサ、コネクタ等の通信部材を有する。ゲートウェイ４は、第２通信装置３から受信したデータを広域ネットワークＮに転送するとともに、広域ネットワークＮから受信したデータを第２通信装置３に転送する。
【００２２】
複数の管理装置５は、それぞれ通信を行うことが可能なコンピュータである。管理装置５は、有線通信又は無線通信を行うためのアンテナ、プロセッサ、コネクタ等の通信部材を有する。管理装置５のそれぞれは、メインブロックチェーンを記憶部上に記憶して管理している。複数の管理装置５のいずれかは、追加対象のデータに対して既知のマイニング処理を行い、所定の条件を満たすナンス値及びハッシュ値を用いて追加対象のデータをメインブロックチェーンに追加する。
【００２３】
本実施形態に係る通信システムＳが実行する通信方法の概要を以下に説明する。まず依頼装置１は、追加対象のデータ及び依頼装置１の署名を含むブロックチェーンを生成する（ａ）。依頼装置１は、生成したブロックチェーンを複数の第１通信装置２のいずれか（ここでは第１通信装置２Ａ）に転送する。
【００２４】
第１通信装置２Ａは、依頼装置１から受信したブロックチェーンに対して所定の条件を満たすナンス値及びハッシュ値を算出し、算出したナンス値及びハッシュ値を用いて、第１通信装置２Ａの署名をブロックチェーンに付加する。そして第１通信装置２Ａは、署名を付加したブロックチェーンを複数の第１通信装置２のいずれかに転送する（ｂ）。
【００２５】
複数の第１通信装置２それぞれは、受信したブロックチェーンの署名数が所定の閾値未満である場合には第１通信装置２Ａと同様にブロックチェーンに署名を付加して転送し、ブロックチェーンの署名数が所定の閾値に到達している場合にはブロックチェーンに署名を付加せずに転送する。ここで、複数の第１通信装置２それぞれは、受信したブロックチェーンが所定の消滅条件を満たす場合、具体的には署名数が所定の閾値未満でありかつブロックチェーンの生成時刻から所定時間が経過している条件を満たす場合に、ブロックチェーンを消滅させる（ｃ）。
【００２６】
複数の第１通信装置２が転送を繰り返すことによってブロックチェーンが第２通信装置３へ到達すると、第２通信装置３は、受信したブロックチェーンを、ゲートウェイ４を介して広域ネットワークＮ上の管理装置５に転送する（ｄ）。
【００２７】
管理装置５は、広域ネットワークＮを介して、第２通信装置３が送信したブロックチェーンを受信する。そして管理装置５は、受信したブロックチェーンに対して所定の条件を満たすナンス値及びハッシュ値を算出し、算出したナンス値及びハッシュ値を用いて、受信したブロックチェーンをメインブロックチェーンに追加する（ｅ）。これにより、依頼装置１が送出した追加対象のデータは、メインブロックチェーンに追加される。
【００２８】
このように、本実施形態に係る通信システムＳにおいて、依頼装置１、第１通信装置及び第２通信装置は、マルチホップネットワークにおいて追加対象のデータを含むブロックチェーンに所定時間内に所定数の署名を付加して広域ネットワークＮに転送し、消滅条件を満たすブロックチェーンは広域ネットワークＮに転送せずに消滅させる。そのため、第三者がマルチホップネットワーク内でブロックチェーンを改ざんしようとしても、ブロックチェーンに所定数の署名を付加することは消滅条件が定める所定時間内では困難であるため、複数の通信装置の間で伝送される追加対象のデータが改ざんされるのを抑制できる。
【００２９】
［通信システムＳの構成］
図２は、本実施形態に係る通信システムＳのブロック図である。図２において、矢印は主なデータの流れを示しており、図２に示したもの以外のデータの流れがあってよい。図２において、各ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図２に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に分かれて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【００３０】
依頼装置１は、制御部１１と、記憶部１２とを有する。制御部１１は、生成部１１１と、転送部１１２と、受信部１１３とを有する。記憶部１２は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスクドライブ等を含む記憶媒体である。記憶部１２は、制御部１１が実行するプログラムを予め記憶している。
【００３１】
制御部１１は、例えばＣＰＵ（Central Processing Unit）等のプロセッサであり、記憶部１２に記憶されたプログラムを実行することにより、生成部１１１、転送部１１２及び受信部１１３として機能する。制御部１１の機能の少なくとも一部は、電気回路によって実行されてもよい。
【００３２】
第１通信装置２は、制御部２１と、記憶部２２とを有する。制御部２１は、受信部２１１と、署名部２１２と、転送部２１３と、消滅部２１４とを有する。記憶部２２は、ＲＯＭ、ＲＡＭ、ハードディスクドライブ等を含む記憶媒体である。記憶部２２は、制御部２１が実行するプログラムを予め記憶している。
【００３３】
制御部２１は、例えばＣＰＵ等のプロセッサであり、記憶部２２に記憶されたプログラムを実行することにより、受信部２１１、署名部２１２、転送部２１３及び消滅部２１４として機能する。制御部２１の機能の少なくとも一部は、電気回路によって実行されてもよい。
【００３４】
第２通信装置３は、制御部３１と、記憶部３２とを有する。制御部３１は、受信部３１１と、消滅部３１２と、転送部３１３とを有する。記憶部３２は、ＲＯＭ、ＲＡＭ、ハードディスクドライブ等を含む記憶媒体である。記憶部３２は、制御部２１が実行するプログラムを予め記憶している。
【００３５】
制御部３１は、例えばＣＰＵ等のプロセッサであり、記憶部３２に記憶されたプログラムを実行することにより、受信部３１１、消滅部３１２及び転送部３１３として機能する。制御部３１の機能の少なくとも一部は、電気回路によって実行されてもよい。
【００３６】
本実施形態に係る通信システムＳは、図２に示す具体的な構成に限定されない。依頼装置１、第１通信装置２及び第２通信装置はそれぞれの機能に基づいて定義されており、１つの装置が依頼装置１、第１通信装置２及び第２通信装置のうち２つ以上として機能するように構成されてもよい。第２通信装置３及びゲートウェイ４は、一体化されて１つの装置として構成されてもよい。
【００３７】
［通信方法の説明］
図３は、本実施形態に係る通信システムＳが実行する通信方法の模式図である。図４は、本実施形態で用いられるブロックチェーンＡ１、Ａ２、Ａ３の模式図である。図５は、本実施形態で用いられるブロックチェーンＡ４及びメインブロックチェーンＭの模式図である。
【００３８】
まず依頼装置１において、生成部１１１は、機器６からメインブロックチェーンＭへの追加対象のデータを取得する。例えば機器６はセンサ（温度センサ、気圧センサ等）であり、追加対象のデータはセンサ値である。そして生成部１１１は、署名Ａ１１と、装置識別情報Ａ１２と、データＡ１３と、証明書作成時刻Ａ１４とを含むブロックチェーンＡ１を生成する。
【００３９】
署名Ａ１１は、依頼装置１の秘密鍵に基づく電子署名であり、既知の署名方法によって生成される。署名Ａ１１の正当性は、依頼装置１の公開鍵によって検証可能である。装置識別情報Ａ１２は、ブロックチェーンＡ１を生成した依頼装置１を識別する情報であり、例えばデバイスＩＤである。
【００４０】
データＡ１３は、追加対象のデータそのものであってもよく、あるいは追加対象のデータに所定の処理（例えば暗号化）を行ったものであってもよい。証明書作成時刻Ａ１４は、署名Ａ１１を生成した時刻である。ブロックチェーンＡ１は、ここに示したデータに限定されず、トランザクションＩＤやデータ取得時刻を含んでもよい。
【００４１】
転送部１１２は、生成したブロックチェーンＡ１を複数の第１通信装置２のいずれかに転送する。転送先の第１通信装置２を示す経路情報は、予め記憶部１２に記憶されている。あるいは経路情報は、受信したデータに基づいて動的に更新されてもよい。
【００４２】
それぞれの第１通信装置２において、受信部２１１は、依頼装置１、他の第１通信装置２又は第２通信装置３が送信したブロックチェーンを受信して取得する。ここで、第１通信装置２は、少なくとも依頼装置１が生成したブロックチェーンＡ１の内容を含むブロックチェーンを受信して処理する。少なくとも依頼装置１が生成したブロックチェーンＡ１の内容を含むブロックチェーンは、ブロックチェーンＡ１そのものであってもよく、ブロックチェーンＡ１に基づいて生成されたブロックチェーンであってもよい。署名部２１２は、受信したブロックチェーンの署名数が所定の閾値（ここでは３個）未満である場合に、受信したブロックチェーンに対して、既知の方法を用いて所定の条件を満たすナンス値及びハッシュ値を算出する。
【００４３】
具体的には、署名部２１２は、受信したブロックチェーンにナンス値を付加してハッシュ値を算出した際に、ハッシュ値が所定の条件を満たすようにナンス値及びハッシュ値の組を算出する。署名部２１２がナンス値及びハッシュ値を算出する方法は、具体的な方法に限定されない。
【００４４】
そして署名部２１２は、受信したブロックチェーンに、算出したナンス値Ａ１５と、署名Ａ２１と、装置識別情報Ａ２２と、証明書作成時刻Ａ２３と、算出したハッシュ値Ａ２４とを付加したブロックチェーンを出力する。署名Ａ２１は、ナンス値Ａ１５を算出した第１通信装置２の秘密鍵に基づく電子署名であり、既知の署名方法によって生成される。署名Ａ２１の正当性は、第１通信装置２の公開鍵によって検証可能である。装置識別情報Ａ２２は、第１通信装置２を識別する情報であり、例えばデバイスＩＤである。証明書作成時刻Ａ２３は、署名Ａ２１を生成した時刻である。ブロックチェーンＡ２は、ここに示したデータに限定されず、トランザクションＩＤ等を含んでもよい。
【００４５】
転送部２１３は、署名部２１２が署名を付加したブロックチェーンを、複数の第１通信装置２のいずれか又は第２通信装置３に転送する。一方、署名部２１２及び転送部２１３は、受信したブロックチェーンの署名数が所定の閾値に到達している場合には、受信したブロックチェーンに署名を付加せずに、そのまま複数の第１通信装置２のいずれか又は第２通信装置３に転送する。転送先の第１通信装置２又は第２通信装置３を示す経路情報は、予め記憶部２２に記憶されている。あるいは経路情報は、受信したデータに基づいて動的に更新されてもよい。
【００４６】
また、それぞれの第１通信装置２において、消滅部２１４は、受信したブロックチェーンが所定の消滅条件を満たす場合、具体的には署名数が所定の閾値（ここでは３個）未満でありかつブロックチェーンの生成時刻（例えば証明書作成時刻Ａ１４）から所定時間（ここでは１分）が経過している場合に、受信したブロックチェーンを消滅させる。消滅部２１４は、ブロックチェーンが第２通信装置３に到達するまで、ブロックチェーンを消滅させなくてもよい。
【００４７】
ここで所定時間は、署名部２１２が署名を生成するのに必要な時間に、署名数の閾値から１を減算した値（すなわち閾値−１）を乗算した第１値以上であり、該値に所定のバッファ（例えば０％〜２０％）を加えた第２値以下である。例えば署名部２１２が署名を生成するのに必要な時間が３０秒であり、署名数の閾値が３個である場合に、所定時間は１分に設定される。消滅条件としての署名数の閾値及び所定時間は、その他の値に設定されてもよい。
【００４８】
この場合に、複数の第１通信装置２は、依頼装置１が生成した署名に加えて、２個の署名を付加する。このとき、複数の第１通信装置２において署名部２１２が２個の署名を生成するためにはおおよそ合計１分掛かる。そのため、消滅部２１４は、所定数の署名を含んでいないブロックチェーンの生成時刻から１分を経過している場合に、ブロックチェーンを消滅させ、ブロックチェーンの転送を行わない。このような構成により、仮にマルチホップネットワークに第三者が介入してブロックチェーンのデータを改ざんした場合には、所定数の署名を付加するために所定時間よりも長い時間が掛かるためブロックチェーンは消滅し、改ざんされたブロックチェーンがメインブロックチェーンＭに追加されることを抑制できる。
【００４９】
図３の例では、第１通信装置２Ａが依頼装置１から取得したブロックチェーンＡ１に署名を付加することによってブロックチェーンＡ２を生成して転送し、第１通信装置２Ｂが第１通信装置２Ａから取得したブロックチェーンＡ２に署名を付加することによってブロックチェーンＡ３を生成して転送する。このときブロックチェーンＡ３に含まれている署名数が３個に到達しているため、その他の複数の第１通信装置２は、これ以上署名を付加することなく、ブロックチェーンＡ３を第２通信装置３に到達するまで繰り返し転送する。
【００５０】
複数の第１通信装置２が転送を繰り返すことによってブロックチェーンＡ３が第２通信装置３へ到達すると、第２通信装置３の受信部３１１は、いずれかの第１通信装置２が送信したブロックチェーンＡ３を受信して取得する。ここで、第２通信装置３は、少なくとも依頼装置１が生成したブロックチェーンＡ１の内容を含むブロックチェーンを受信して処理する。少なくとも依頼装置１が生成したブロックチェーンＡ１の内容を含むブロックチェーンは、ブロックチェーンＡ１そのものであってもよく、ブロックチェーンＡ１に基づいて生成されたブロックチェーンであってもよい。消滅部３１２は、受信したブロックチェーンＡ３が消滅部２１４と同様の消滅条件を満たす場合に、受信したブロックチェーンＡ３を消滅させる。
【００５１】
転送部３１３は、受信したブロックチェーンＡ３の署名数が所定の閾値（ここでは３個）に到達している場合に、受信したブロックチェーンＡ３を、ゲートウェイ４を介して広域ネットワークＮ上の管理装置５に転送する。転送先の広域ネットワークＮ上の管理装置５を示す経路情報は、予めゲートウェイ４に記憶されている。あるいは経路情報は、受信したデータに基づいて動的に更新されてもよい。転送部３１３は、受信したブロックチェーンＡ３の署名数が所定の閾値未満である場合に、受信したブロックチェーンＡ３を複数の第１通信装置２のいずれかに転送する。
【００５２】
管理装置５は、広域ネットワークＮを介して、第２通信装置３が送信したブロックチェーンＡ３を受信する。そして管理装置５は、予め記憶されたメインブロックチェーンＭに対して、既知の方法を用いて所定の条件を満たすナンス値及びハッシュ値を算出する。具体的には、管理装置５は、メインブロックチェーンＭにナンス値を付加してハッシュ値を算出した際に、ハッシュ値が所定の条件を満たすようにナンス値及びハッシュ値の組を算出する。管理装置５がナンス値及びハッシュ値を算出する方法は、具体的な方法に限定されない。
【００５３】
そして管理装置５は、メインブロックチェーンＭに、算出したナンス値Ｍ１を付加するとともに、署名Ａ４１と、算出したハッシュ値Ａ４２と、実行情報Ａ４３と、受信したブロックチェーンＡ３とを含むブロックチェーンＡ４を追加する。署名Ａ４１は、ナンス値Ｍ１を算出した管理装置５の秘密鍵に基づく電子署名であり、既知の署名方法によって生成される。署名Ａ４１の正当性は、管理装置５の公開鍵によって検証可能である。実行情報Ａ４３は、追加対象のデータがメインブロックチェーンＭに追加されたか否かを示す情報である。これにより、依頼装置１が送出した追加対象のデータは、メインブロックチェーンＭに追加される。
【００５４】
さらに管理装置５は、生成したブロックチェーンＡ４を、ゲートウェイ４、第２通信装置３及び複数の第１通信装置２を介して依頼装置１まで転送する。依頼装置１の受信部１１３は、複数の第１通信装置２のいずれかからブロックチェーンＡ４を受信して取得する。これにより、依頼装置１は、追加対象のデータがメインブロックチェーンＭに追加されたか否かを知ることができる。
【００５５】
図３の例では、ＰｏＷ（Proof of Work）によってブロックチェーンを生成しているが、ＰｏＡ（Proof of Authority）によってブロックチェーンを生成してもよい。
【００５６】
図３の例では、依頼装置１及び第１通信装置２は、ブロックチェーンをいずれか１つの第１通信装置２に転送しているが、複数の第１通信装置２に転送（ブロードキャスト）してもよい。この場合には、管理装置５は、最も早く受信したブロックチェーンをメインブロックチェーンＭに追加し、既にメインブロックチェーンＭに追加されたブロックチェーンのデータを含む他のブロックチェーンを破棄する。
【００５７】
第１通信装置２は、受信したブロックチェーンの署名数が所定の閾値に到達していた場合であっても、ブロックチェーンにさらに追加の署名を付加して転送してもよい。この場合には、管理装置５は、同じデータを含む複数のブロックチェーンのうち、最も署名数が多いブロックチェーンをメインブロックチェーンＭに追加し、その他のブロックチェーンを破棄する。
【００５８】
［通信方法のフローチャート］
図６は、本実施形態に係る第１通信装置２が実行する通信方法のフローチャートを示す図である。第１通信装置２において、受信部２１１は、依頼装置１、他の第１通信装置２又は第２通信装置３が送信したブロックチェーンを受信して取得する（Ｓ１１）。
【００５９】
受信したブロックチェーンが所定の消滅条件を満たす場合に（Ｓ１２のＹＥＳ）、消滅部２１４は、受信したブロックチェーンを転送せずに消滅させる（Ｓ１３）。消滅条件は、署名数が所定の閾値（例えば３個）未満であり、かつブロックチェーンの生成時刻から所定時間（例えば１分）が経過していることである。
【００６０】
受信したブロックチェーンが所定の消滅条件を満たさない場合であって（Ｓ１２のＮＯ）、受信したブロックチェーンの署名数が所定の閾値に到達している場合に（Ｓ１４のＮＯ）、第１通信装置２はステップＳ１７へ進む。
【００６１】
受信したブロックチェーンが所定の消滅条件を満たさない場合であって（Ｓ１２のＮＯ）、受信したブロックチェーンの署名数が所定の閾値未満である場合に（Ｓ１４のＹＥＳ）、署名部２１２は、所定の条件を満たすナンス値及びハッシュ値を算出する（Ｓ１５）。そして署名部２１２は、受信したブロックチェーンに、算出したナンス値及びハッシュ値と、第１通信装置２の署名とを付加したブロックチェーンを出力する（Ｓ１６）。
【００６２】
転送部２１３は、署名数が所定の閾値に到達しているブロックチェーン又は署名部２１２が署名を付加したブロックチェーンを、複数の第１通信装置２のいずれか又は第２通信装置３に転送する（Ｓ１７）。
【００６３】
図７は、本実施形態に係る第２通信装置３が実行する通信方法のフローチャートを示す図である。第２通信装置３において、受信部３１１は、いずれかの第１通信装置２が送信したブロックチェーンを受信して取得する（Ｓ２１）。
【００６４】
受信したブロックチェーンが所定の消滅条件を満たす場合に（Ｓ２２のＹＥＳ）、消滅部３１２は、受信したブロックチェーンを転送せずに消滅させる（Ｓ２３）。
【００６５】
受信したブロックチェーンが所定の消滅条件を満たさない場合であって（Ｓ２２のＮＯ）、受信したブロックチェーンの署名数が所定の閾値未満である場合に（Ｓ２４のＹＥＳ）、転送部３１３は、受信したブロックチェーンを複数の第１通信装置２のいずれかに転送する（Ｓ２５）。
【００６６】
受信したブロックチェーンが所定の消滅条件を満たさない場合であって（Ｓ２２のＮＯ）、受信したブロックチェーンの署名数が所定の閾値に到達している場合に（Ｓ２４のＮＯ）、転送部３１３は、受信したブロックチェーンを、ゲートウェイ４を介して広域ネットワークＮ上の管理装置５に転送する（Ｓ２６）。
【００６７】
［適用例］
本実施形態に係る通信システムＳは、例えばＩｏＴ（Internet of Things）保険に適用される。この場合に、機器６は、例えば保険の対象とする自動車や自転車等の移動装置に搭載されている。移動装置は、さまざまな場所を移動するため、広域ネットワークＮに常に接続されるとは限らない。そこで依頼装置１は、移動装置に搭載された機器６から、移動装置の稼動データを取得する。そして依頼装置１は、移動装置の稼動データを、本実施形態に係る通信方法を用いてマルチホップネットワーク上で転送する。
【００６８】
これにより通信システムＳは、保険の対象とする移動装置が広域ネットワークＮに接続されていない場合であっても、移動装置の稼動データをマルチホップネットワーク上で改ざんを抑制しつつ収集でき、保険の対象とする移動装置の稼動状況を監視できる。
【００６９】
［実施形態の効果］
本実施形態に係る通信システムＳは、マルチホップネットワークにおいて追加対象のデータを含むブロックチェーンに所定時間内に所定数の署名を付加して広域ネットワークＮに転送し、所定時間内に所定数の署名が付加されなかったブロックチェーンを広域ネットワークＮに転送せずに消滅させる。そのため、第三者がマルチホップネットワーク内でブロックチェーンを改ざんしようとしても、ブロックチェーンに所定数の署名を付加することは消滅条件が定める所定時間内では困難であるため、複数の通信装置の間で伝送される追加対象のデータが改ざんされるのを抑制できる。
【００７０】
（第２の実施形態）
本実施形態に係る通信システムＳは、第１の実施形態に係る通信システムＳを応用することによって、２つの主体の間の契約を自動化する。以下では第１の実施形態と異なる点を主に説明する。
【００７１】
本実施形態に係る第１通信装置２の制御部２１は、図２の構成に加えて、実行部２１５をさらに有する。実行部２１５は、受信部２１１が受信したブロックチェーンが所定の条件を満たす場合に、該ブロックチェーンに含まれる実行依頼に対応する処理を実行する。
【００７２】
図８は、本実施形態に係る通信システムＳが実行する通信方法の前半部分の模式図である。図９は、本実施形態で用いられるブロックチェーンＢ１、Ｂ４及びメインブロックチェーンＭの模式図である。
【００７３】
まず依頼装置１において、生成部１１１は、機器６から実行依頼情報を取得する。依頼装置１に接続された機器６は、処理を依頼する第１主体に関連付けられており、例えば第１主体としてのユーザによって操作される端末である。実行依頼情報は、第２主体が有する機器６に実行を依頼する処理（例えばセンサ値の取得）と、第２主体へ支払う金額又はトークン数と、第１主体に関連付けられた口座情報とを示す。口座情報は、第１主体が有する金銭又は金銭に対応するトークンを管理する口座（ウォレット）の識別情報を示す。口座情報は、依頼装置１の記憶部１２に予め記憶されてもよく、依頼装置１に接続されている機器６から入力されてもよい。
【００７４】
そして生成部１１１は、署名Ｂ１１と、装置識別情報Ｂ１２と、実行依頼情報Ｂ１３と、証明書作成時刻Ｂ１４とを含むブロックチェーンＢ１を生成する。署名Ｂ１１、装置識別情報Ｂ１２及び証明書作成時刻Ｂ１４は、図４の署名Ａ１１、装置識別情報Ａ１２及び証明書作成時刻Ａ１４と同様である。実行依頼情報Ｂ１３は、口座情報Ｂ１３１と、処理内容を表す実行コードＢ１３２と、支払い金額Ｂ１３３（又はトークン数）とを含む。実行依頼情報Ｂ１３は、機器６から取得した実行依頼情報そのものであってもよく、あるいは実行依頼情報に所定の処理（例えば暗号化）を行ったものであってもよい。転送部１１２は、生成したブロックチェーンＢ１を複数の第１通信装置２のいずれかに転送する。
【００７５】
次に複数の第１通信装置２は、第１の実施形態と同様に、依頼装置１が生成したブロックチェーンＢ１に署名を付加して転送することを繰り返す。ここで、第１通信装置２は、少なくとも依頼装置１が生成したブロックチェーンＢ１の内容を含むブロックチェーンを受信して処理する。少なくとも依頼装置１が生成したブロックチェーンＢ１の内容を含むブロックチェーンは、ブロックチェーンＢ１そのものであってもよく、ブロックチェーンＢ１に基づいて生成されたブロックチェーンであってもよい。所定時間内（ここでは１分以内）に所定数（ここでは３個）の署名が付加されなかったブロックチェーンＢ１は消滅する。そして所定時間内に所定数の署名が付加されたブロックチェーンＢ３は、第２通信装置３に到達する。第２通信装置３は、ブロックチェーンＢ３を、ゲートウェイ４を介して広域ネットワークＮ上の管理装置５に転送する。ここで、第２通信装置３は、少なくとも依頼装置１が生成したブロックチェーンＢ１の内容を含むブロックチェーンを受信して処理する。少なくとも依頼装置１が生成したブロックチェーンＢ１の内容を含むブロックチェーンは、ブロックチェーンＢ１そのものであってもよく、ブロックチェーンＢ１に基づいて生成されたブロックチェーンであってもよい。
【００７６】
管理装置５は、広域ネットワークＮを介して、第２通信装置３が送信したブロックチェーンＢ３を受信する。そして管理装置５は、メインブロックチェーンＭに、ナンス値Ｍ１を付加するとともに、署名Ｂ４１と、ハッシュ値Ｂ４２と、実行情報Ｂ４３と、債務情報Ｂ４４と、受信したブロックチェーンＢ３とを含むブロックチェーンＢ４を追加する。ナンス値Ｍ１、署名Ｂ４１、ハッシュ値Ｂ４２及び実行情報Ｂ４３は、図５のナンス値Ｍ１、署名Ａ４１、ハッシュ値Ａ４２及び実行情報Ａ４３と同様である。
【００７７】
債務情報Ｂ４４は、処理を依頼した第１主体が有する債務を記録した情報であり、例えば実行依頼情報が示す第１主体の口座から実行依頼情報が示す金額又はトークン数（すなわち金銭に対応する値）を減算するトランザクション（デポジット情報）を示す。これにより、メインブロックチェーンＭには、第１主体が依頼した処理が第２主体によって実行される前に、第１主体の債務を記録できるため、第２主体が処理を実行した後に第１主体が支払い等の債務を免れる事態を予防できる。
【００７８】
メインブロックチェーンＭにデポジット情報が記録された後、所定時間が経過しても実行依頼情報が示す処理が実行されない場合には、管理装置５は、デポジット情報の金額又はトークン数を第１主体の口座に加算するトランザクションをメインブロックチェーンＭに記録することによって、第１主体に返金してもよい。
【００７９】
さらに管理装置５は、生成したブロックチェーンＢ４を、ゲートウェイ４、第２通信装置３及び複数の第１通信装置２を介して依頼装置１まで転送する。依頼装置１の受信部１１３は、複数の第１通信装置２のいずれかからブロックチェーンＢ４を受信して取得する。これにより、依頼装置１は、メインブロックチェーンＭに第１主体の債務（デポジット情報）が正常に追加されたか否かを知ることができる。メインブロックチェーンＭに第１主体の債務が正常に追加された場合に、通信システムＳは通信方法の後半部分の処理へ進む。
【００８０】
図１０は、本実施形態に係る通信システムＳが実行する通信方法の後半部分の模式図である。図１１は、本実施形態で用いられるブロックチェーンＣ１、Ｃ２、Ｃ５及びメインブロックチェーンＭの模式図である。
【００８１】
依頼装置１において、生成部１１１は、管理装置５からブロックチェーンＢ４を取得する。そして生成部１１１は、署名Ｃ１１と、装置識別情報Ｃ１２と、実行依頼ブロックチェーンＣ１３と、証明書作成時刻Ｃ１４とを含むブロックチェーンＣ１を生成する。署名Ｃ１１、装置識別情報Ｃ１２及び証明書作成時刻Ｃ１４は、図９の署名Ｂ１１、装置識別情報Ｂ１２及び証明書作成時刻Ｂ１４と同様である。
【００８２】
実行依頼ブロックチェーンＣ１３は、管理装置５から取得したブロックチェーンＢ４である。すなわち、実行依頼ブロックチェーンＣ１３は、依頼装置１が出力した実行依頼情報に加えて、管理装置５の署名が含まれている。そのため、実行依頼ブロックチェーンＣ１３の正当性は、管理装置５の公開鍵によって検証可能である。転送部１１２は、生成したブロックチェーンＣ１を複数の第１通信装置２のいずれかに転送する。
【００８３】
それぞれの第１通信装置２において、受信部２１１は、依頼装置１が送信したブロックチェーンＣ１を受信して取得する。受信したブロックチェーンＣ１に含まれる実行依頼情報が示す処理が未実行である場合（すなわちブロックチェーンＣ１が実行結果情報を含まない場合）に、実行部２１５は、受信したブロックチェーンＣ１に含まれる実行依頼情報が示す処理が実行可能か否かを判定する。例えば実行依頼情報がセンサ値の取得を示している場合に、第１通信装置２にセンサを含む機器６が接続されていれば、実行部２１５は、処理を実行可能であると判定する。実行部２１５は、実行依頼情報が示す金額又はトークン数が所定値以上であることを条件として、処理を実行可能であると判定してもよい。
【００８４】
実行部２１５が実行可能でないと判定した場合に、転送部２１３は、受信したブロックチェーンＣ１を他の第１通信装置２に署名を付加することなく転送する。ブロックチェーンＣ１は、実行依頼情報が示す処理を実行可能な第１通信装置２に到達するまで、繰り返し転送される。
【００８５】
実行部２１５は、実行可能であると判定した場合に、機器６を用いて実行依頼情報が示す処理を実行する。そして実行部２１５は、実行した処理の実行結果（例えばセンサ値）を機器６から取得する。
【００８６】
署名部２１２は、受信したブロックチェーンＣ１に、ナンス値Ｃ１５と、署名Ｃ２１と、装置識別情報Ｃ２２と、実行結果情報Ｃ２３と、証明書作成時刻Ｃ２４と、ハッシュ値Ｃ２５とを付加したブロックチェーンＣ２を出力する。ナンス値Ｃ１５、署名Ｃ２１、装置識別情報Ｃ２２、証明書作成時刻Ｃ２４及びハッシュ値Ｃ２５は、図４のナンス値Ａ１５、署名Ａ２１、装置識別情報Ａ２２、証明書作成時刻Ａ２３及びハッシュ値Ａ２４と同様である。
【００８７】
実行結果情報Ｃ２３は、実行部２１５が取得した実行結果と、処理を実行した機器６を有する第２主体に関連付けられた口座情報とを示す。口座情報は、第２主体が有する金銭又は金銭に対応するトークンを管理する口座（ウォレット）の識別情報を示す。口座情報は、第１通信装置２の記憶部２２に予め記憶されてもよく、第１通信装置２に接続されている機器６から入力されてもよい。
【００８８】
転送部２１３は、署名部２１２が署名及び実行結果を付加したブロックチェーンＣ２を、複数の第１通信装置２のいずれかに転送する。
【００８９】
複数の第１通信装置２は、第１の実施形態と同様に、署名及び実行結果が付加されたブロックチェーンＣ２に、署名を付加して転送することを繰り返す。ここで、第１通信装置２は、少なくとも署名及び実行結果が付加されたブロックチェーンＣ２の内容を含むブロックチェーンを受信して処理する。少なくとも署名及び実行結果が付加されたブロックチェーンＣ２の内容を含むブロックチェーンは、ブロックチェーンＣ２そのものであってもよく、ブロックチェーンＣ２に基づいて生成されたブロックチェーンであってもよい。所定時間内（ここでは１分３０秒以内）に所定数（ここでは４個）の署名が付加されなかったブロックチェーンＣ２は消滅する。ここで消滅条件とする署名の数は、第１の実施形態よりも１個増加している。これは、第１通信装置２によって実行結果が付加された後に（すなわちブロックチェーンＣ２を起点として）、第１の実施形態と同等の保護を与えるためである。
【００９０】
そして所定時間内に所定数の署名が付加されたブロックチェーンＣ４は、第２通信装置３に到達する。第２通信装置３は、ブロックチェーンＣ４を、ゲートウェイ４を介して広域ネットワークＮ上の管理装置５に転送する。ここで、第２通信装置３は、少なくとも署名及び実行結果が付加されたブロックチェーンＣ２の内容を含むブロックチェーンを受信して処理する。少なくとも署名及び実行結果が付加されたブロックチェーンＣ２の内容を含むブロックチェーンは、ブロックチェーンＣ２そのものであってもよく、ブロックチェーンＣ２に基づいて生成されたブロックチェーンであってもよい。
【００９１】
管理装置５は、広域ネットワークＮを介して、第２通信装置３が送信したブロックチェーンＣ４を受信する。そして管理装置５は、メインブロックチェーンＭに、ナンス値Ｍ１を付加するとともに、署名Ｃ５１と、ハッシュ値Ｃ５２と、実行情報Ｃ５３と、債権情報Ｃ５４と、受信したブロックチェーンＣ４とを含むブロックチェーンＣ５を追加する。ナンス値Ｍ１、署名Ｃ５１、ハッシュ値Ｃ５２及び実行情報Ｃ５３は、図９のナンス値Ｍ１、署名Ｂ４１、ハッシュ値Ｂ４２及び実行情報Ｂ４３と同様である。
【００９２】
債権情報Ｃ５４は、処理を実行した第２主体が有する債権を記録した情報であり、例えば実行結果情報が示す第２主体の口座に実行依頼情報が示す金額又はトークン数（すなわち金銭に対応する値）を加算するトランザクションを示す。これにより、メインブロックチェーンＭには、第１主体が依頼した処理が第２主体によって実行された後に第１主体の債務に対応する第２主体の債権を記録できるため、第２主体が処理を実行したことが確認された後に第１主体から第２主体への支払い等を実行できる。
【００９３】
さらに管理装置５は、生成したブロックチェーンＣ５を、ゲートウェイ４、第２通信装置３及び複数の第１通信装置２を介して依頼装置１まで転送する。依頼装置１の受信部１１３は、複数の第１通信装置２のいずれかからブロックチェーンＣ５を受信して取得する。これにより、依頼装置１は、いずれかの第１通信装置２によって実行された処理の実行結果を知ることができる。
【００９４】
図８〜図１１の例では第１主体と第２主体との間でメインブロックチェーンＭ上に記録されたトランザクションによって金銭又はトークンの授受が行われているが、第１主体の口座から管理装置５の口座へ送金し、管理装置５の口座から第２主体の口座へ送金することによって、金銭又はトークンの授受が行われてもよい。
【００９５】
図１２は、本実施形態に係る第１通信装置２が実行する通信方法のフローチャートを示す図である。第１通信装置２において、受信部２１１は、依頼装置１、他の第１通信装置２又は第２通信装置３が送信したブロックチェーンを受信して取得する（Ｓ３１）。
【００９６】
受信したブロックチェーンが所定の消滅条件を満たす場合に（Ｓ３２のＹＥＳ）、消滅部２１４は、受信したブロックチェーンを転送せずに消滅させる（Ｓ３３）。消滅条件は、ブロックチェーンに実行結果情報が含まれているか否かで異なる。具体的には、実行結果情報が含まれていないブロックチェーンの消滅条件は、署名数が３個未満であり、かつブロックチェーンの生成時刻から１分が経過していることである。実行結果情報が含まれているブロックチェーンの消滅条件は、署名数が４個未満であり、かつブロックチェーンの生成時刻から１分３０秒が経過していることである。
【００９７】
受信したブロックチェーンが所定の消滅条件を満たさない場合であって（Ｓ３２のＮＯ）、受信したブロックチェーンに含まれる実行依頼情報が示す処理が未実行である場合に（Ｓ３４のＮＯ）、実行部２１５は、受信したブロックチェーンに含まれる実行依頼情報が示す処理が実行可能か否かを判定する。
【００９８】
実行部２１５が実行可能でないと判定した場合に（Ｓ３５のＮＯ）、第１通信装置２はステップＳ４０へ進む。実行部２１５が実行可能であると判定した場合に（Ｓ３５のＹＥＳ）、実行部２１５は、機器６を用いて実行依頼情報が示す処理を実行し、実行した処理の実行結果を機器６から取得する（Ｓ３６）。
【００９９】
受信したブロックチェーンに含まれる実行依頼情報が示す処理が実行済である場合であって（Ｓ３４のＹＥＳ）、受信したブロックチェーンの署名数が所定の閾値に到達している場合に（Ｓ３７のＮＯ）、第１通信装置２はステップＳ４０へ進む。
【０１００】
受信したブロックチェーンに含まれる実行依頼情報が示す処理が実行済である場合であって（Ｓ３４のＹＥＳ）、受信したブロックチェーンの署名数が所定の閾値未満である場合に（Ｓ３７のＹＥＳ）、又はステップＳ３６で実行部２１５が処理を実行した場合に、署名部２１２は、所定の条件を満たすナンス値及びハッシュ値を算出する（Ｓ３８）。そして署名部２１２は、受信したブロックチェーンに、算出したナンス値及びハッシュ値と、第１通信装置２の署名とを付加したブロックチェーンを出力する（Ｓ３９）。署名部２１２は、ステップＳ３６で実行部２１５が処理を実行した場合には、処理の実行結果を示す実行結果情報をブロックチェーンにさらに付加する。
【０１０１】
転送部２１３は、署名数が所定の閾値に到達しているブロックチェーン又は署名部２１２が署名を付加したブロックチェーンを、複数の第１通信装置２のいずれか又は第２通信装置３に転送する（Ｓ４０）。
【０１０２】
［適用例］
本実施形態に係る通信システムＳは、例えば駐車場の予約システムに適用される。この場合に、機器６は、例えば駐車場の監視装置に搭載されている。ユーザが端末を用いて駐車場の予約を希望すると、依頼装置１は駐車場の予約を依頼するブロックチェーンを生成し、本実施形態に係る通信方法を用いてマルチホップネットワーク上で転送する。これにより、メインブロックチェーンには、ユーザの口座から所定の金額（デポジット）が減算されるトランザクションが記録される。
【０１０３】
ユーザの口座からデポジットが引き落とされた後に、依頼装置１は駐車場の予約を依頼するブロックチェーンを再び本実施形態に係る通信方法を用いてマルチホップネットワーク上で転送する。いずれかの駐車場に設置された監視装置が予約の受付が可能である（例えば空きスペースがある）と判定した場合に、監視装置は予約を受け付ける処理を行う。
【０１０４】
その後、監視装置は、駐車場の予約結果（例えば駐車可能なスペースの場所）を示すブロックチェーンをマルチホップネットワーク上で転送する。そしてメインブロックチェーンには、ユーザのデポジットから駐車場の管理者の口座へ料金を加算するトランザクションが記録される。ユーザが実際に駐車したことを監視装置が検出したことを条件として、メインブロックチェーンに、ユーザのデポジットから駐車場の管理者の口座へ料金を加算するトランザクションが記録されてもよい。
【０１０５】
これにより通信システムＳは、ユーザの端末及び駐車場に設置された監視装置が広域ネットワークＮに接続されていない場合であっても、駐車場の予約データをマルチホップネットワーク上で改ざんを抑制しつつ転送でき、駐車可能なスペースを予約し、料金の支払いを行うことができる。
【０１０６】
［実施形態の効果］
本実施形態に係る通信システムＳは、第一の実施形態と同様に、第三者がマルチホップネットワーク内でブロックチェーンを改ざんしようとしても、ブロックチェーンに所定数の署名を付加することは消滅条件が定める所定時間内では困難であるため、複数の通信装置の間で伝送される追加対象のデータが改ざんされるのを抑制できる。さらに通信システムＳは、１回目のブロックチェーンの転送で第１主体の債務をメインブロックチェーンに記録してから、２回目のブロックチェーンの転送でいずれかの第２主体に処理を実行させるため、第２主体が処理を実行した後に第１主体が支払い等の債務を免れる事態を予防できる。
【０１０７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【０１０８】
第１通信装置２及び第２通信装置３のプロセッサは、図６、７、１２に示す通信方法に含まれる各ステップ（工程）の主体となる。すなわち、第１通信装置２及び第２通信装置３のプロセッサは、図６、７、１２に示す通信方法を実行するためのプログラムを記憶部から読み出し、該プログラムを実行して通信システムＳの各部を制御することによって、図６、７、１２に示す通信方法を実行する。図６、７、１２に示す通信方法に含まれるステップは一部省略されてもよく、ステップ間の順番が変更されてもよく、複数のステップが並行して行われてもよい。
【符号の説明】
【０１０９】
Ｓ  通信システム
１  依頼装置
１１  制御部
１１１  生成部
１１２  転送部
１１３  受信部
２  第１通信装置
２１  制御部
２１１  受信部
２１２  署名部
２１３  転送部
２１４  消滅部
２１５  実行部
３  第２通信装置
３１  制御部
３１１  受信部
３１３  転送部
５  管理装置
【図１】
2020065134.tif 000003
【図２】
2020065134.tif 000004
【図３】
2020065134.tif 000005
【図４】
2020065134.tif 000006
【図５】
2020065134.tif 000007
【図６】
2020065134.tif 000008
【図７】
2020065134.tif 000009
【図８】
2020065134.tif 000010
【図９】
2020065134.tif 000011
【図１０】
2020065134.tif 000012
【図１１】
2020065134.tif 000013
【図１２】
2020065134.tif 000014