(57)【要約】      （修正有）【課題】建設において、工事、施工、会計に関するデータを追跡及び検証可能に管理するシステム及びそのための装置を提供する。【解決手段】建設データ管理システムは、建設工事に関するデータをハッシュチェーンにより管理する。ハッシュチェーンのブロックと、そのハッシュ値は、異なるデータベースに格納されて管理される。各ブロックは、入力される施工データ、直前のブロックの施工データ、直前のブロックのハッシュ値から構成される。最初のブロックの施工データは建設工事の看板等の工事基準になるデータであり、ブロックを単独で構成する。【選択図】図９
2020202442.tif 000002
【特許請求の範囲】
【請求項１】
建設工事に関すデータを収集し、施工データとして送信する第１電子計算機、及び、前記第１電子計算機から送信された前記施工データを、通信手段を介して受信し、記憶手段に格納する第２電子計算機からなる建設データ管理システムにおいて、
前記建設工事に関する前記施工データを取得する施工データ取得手段、
前記施工データを用いてハッシュチェーン用のブロックを生成するブロック生成手段、
前記ブロック生成手段で生成された前記ブロックを格納するハッシュチェーン格納手段、
前記ブロック生成手段で生成された前記ブロックのハッシュ値を計算するハッシュ値計算手段、及び、
前記ハッシュ値計算手段で生成された前記ハッシュ値を格納するハッシュ値格納手段
を備え、
前記ブロック生成手段は、
前記施工データが前記ハッシュチェーンのための最初の第１のデータである場合、前記ブロックを前記施工データから構成する手段、
前記施工データが前記第１のデータ以後のデータである場合、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、並びに、
前記ハッシュチェーンを完結するとき、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段
からなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明システム。
【請求項２】
請求項１に記載のハッシュチェーン利用データ非改ざん証明システムにおいて、
前記ハッシュチェーンの前記施工データを削除、修正、及び、追加の中から選択される一つを変更する場合、前記ハッシュチェーン利用データ非改ざん証明システムは、
前記変更を示す指示を取得する指示取得手段、
前記指示が示す前記施工データを特定し変更施工データとするデータ特定手段、
前記指示に基づいて前記変更施工データが入っている前記ブロックを特定するブロック特定データ、前記指示に基づいて入力された前記変更の理由又はコメントが入ったコメントデータ、及び、最後に生成された前記ブロックである最終ブロックの前記ハッシュ値からなるコマンドブロックを生成する機能、並びに、前記コマンドブロックを生成した後、前記変更施工データが入っている前記ブロックの直前の前記ブロックに入っている前記施工データ、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能、又は、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能を有する前記ブロック生成手段
からなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明システム。
【請求項３】
請求項２に記載のハッシュチェーン利用データ非改ざん証明システムにおいて、
前記ハッシュチェーンは、前記変更によって、分岐した場合、前記分岐毎に完結した前記ハッシュチェーンを生成して管理する
ことを特徴とするハッシュチェーン利用データ非改ざん証明システム。
【請求項４】
請求項１乃至３の中から選択される１項に記載のハッシュチェーン利用データ非改ざん証明システムにおいて、
前記施工データは、
前記建設工事の写真、前記建設に関連する書類、及び、前記建設の現場における建設機械の稼働データからなる群の中から選択される１以上のデータである
ことを特徴とするハッシュチェーン利用データ非改ざん証明システム。
【請求項５】
請求項４に記載のハッシュチェーン利用データ非改ざん証明システムにおいて、
前記施工データは、撮影手段で撮影したディジタル画像データであり、
前記ブロックは、前記ディジタル画像データ、並びに、ディジタル画像データの属性情報に入力されたもので、直前の前記ブロックの前記ハッシュ値、及び／又は、直前の前記ブロックの前記ディジタル画像データ若しくは直前の前記ブロックの前記ディジタル画像データのサムネイル画像データ若しくは直前の前記ブロックの前記ディジタル画像データを圧縮した画像データとからなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明システム。
【請求項６】
建設工事に関する施工データを収集し、記憶手段に格納して管理するための建設データ管理装置において、
前記建設工事に関する施工データを取得する施工データ取得手段、
前記施工データを用いてハッシュチェーン用のブロックを生成するブロック生成手段、
前記ブロック生成手段で生成された前記ブロックを格納するハッシュチェーン格納手段、
前記ブロック生成手段で生成された前記ブロックのハッシュ値を計算するハッシュ値計算手段、及び、
前記ハッシュ値計算手段で生成された前記ハッシュ値をハッシュ値格納手段へ送信するハッシュ値送信手段
を備え、
前記ブロック生成手段は、
前記施工データが前記ハッシュチェーンのための最初の第１のデータである場合、前記ブロックを前記施工データから構成する手段、
前記施工データが前記第１のデータ以後のデータである場合、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、並びに、
前記ハッシュチェーンを完結するとき、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段
からなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明用データ管理装置。
【請求項７】
請求項６に記載のハッシュチェーン利用データ非改ざん証明用データ管理装置において、
前記ハッシュチェーンの前記施工データを削除、修正及び追加の中から選択される一つを変更する場合、前記ハッシュチェーン利用データ非改ざん証明用データ管理装置は、
前記変更を示す指示を取得する指示取得手段、
前記指示が示す前記施工データを特定し変更施工データとするデータ特定手段、並びに、
前記指示に基づいて前記変更施工データが入っている前記ブロックを特定するブロック特定データ、前記指示に基づいて入力された前記変更の理由又はコメントが入ったコメントデータ、及び、最後に生成された前記ブロックである最終ブロックの前記ハッシュ値からなるコマンドブロックを生成する機能、並びに、前記コマンドブロックを生成した後、前記変更施工データが入っている前記ブロックの直前の前記ブロックに入っている前記施工データ、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能、又は、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能を有する前記ブロック生成手段
からなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明用データ管理装置。
【請求項８】
請求項７に記載のハッシュチェーン利用データ非改ざん証明用データ管理装置において、
前記ハッシュチェーンは、前記変更によって、分岐した場合、前記分岐毎に完結した前記ハッシュチェーンを生成して管理する
ことを特徴とするハッシュチェーン利用データ非改ざん証明用データ管理装置。
【請求項９】
請求項６乃至８の中から選択される１項に記載のハッシュチェーン利用データ非改ざん証明用データ管理装置において、
前記施工データは、前記建設工事の写真、前記建設に関連する書類、及び、前記建設の現場における建設機械の稼働データからなる群の中から選択される１以上のデータである
ことを特徴とするハッシュチェーン利用データ非改ざん証明用データ管理装置。
【請求項１０】
請求項９に記載のハッシュチェーン利用データ非改ざん証明用データ管理装置において、
前記施工データは、撮影手段で撮影したディジタル画像データであり、
前記ブロックは、前記ディジタル画像データ、並びに、ディジタル画像データの属性情報に入力されたもので、直前の前記ブロックの前記ハッシュ値、及び／又は、直前の前記ブロックの前記ディジタル画像データ若しくは直前の前記ブロックの前記ディジタル画像データのサムネイル画像データ若しくは直前の前記ブロックの前記ディジタル画像データを圧縮した画像データとからなる
ことを特徴とするハッシュチェーン利用データ非改ざん証明用データ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設に係るデータを検証可能に管理できるシステムに関する。詳しくは、土木・建築において、工事、施工、会計等に関するデータを追跡及び検証可能に管理して、その改ざんを防止することができるハッシュチェーン利用データ非改ざん証明システム及びそのためのデータ管理装置に関する。
【背景技術】
【０００２】
土木・建築・設備等の建設工事は、提案・計画段階から始め、計画、その承認、契約、設計、工事・施工、納品等の数多くの工程が行われ、技術者を始め多数の専門家が関わる。このような状況の中で、計画段階の文書、施工工事の施工データを始め、関係するデータ全てを保管し、例えば、いつ誰かによって改ざんされたか否かの検証ができることが重要である。
【０００３】
従来から、土木、建築、設備等の建設工事では、建設物の品質管理において非破壊検査が不可能な場面や、工事が次の工程に進んだ後の検査が困難な場面が多くある。このため、一般に工事が正当な手段で正確に行われたかを管理する「プロセス管理」と呼ばれる手法や、工事の進捗に合わせて、外形検査を行い記録する「出来形管理」と呼ばれる管理手法が広く用いられ、ほとんどの場合どちらかの手法で建設構造物の品質管理が行われている。
【０００４】
しかしながら、建設工事においてデータを正確に取得しても保管しない、場合によっては、工事データを改ざんする等の問題がたびたび起きている。これが不良工事の場合、建造物が傾斜する、建造物にヒビ割れが生じる等の原因になりかねない。よって、各種土木工事、建造物の建造等を行う場合、それに係るデータを正確に取得し、保管し、そして、第３者が監視・検証できるように、体制及びシステムを構築することが求められている。
【０００５】
建設工事現場において、作業データを保存する機能を備えた装置が多数提案され開示されている（例えば、特許文献１、２を参照。）。例えば、建設現場で稼働する作業装置が工事を行なった結果を取得し、リアルタイムでそのままセンター装置へ送信し、保管するものがある（特許文献１）。詳しくは、工事データとして、作業装置の各部の作業時の測定結果を、携帯電話により通信回線で送信する。これにより、センター装置は工事データを直接リアルタイムに受信できる。
【０００６】
また、建設現場の施工データを改ざんすることができないように保管するシステムが提案され開示されている（特許文献２）。このシステムでは、建設現場の端末は、建設機械の制御装置から機械動作データ、機械検知データを取得して施工データとしてサーバへ送信する。サーバは、タイムスタンプデータを施工データに追加して記憶装置に格納する。タイムスタンプデータは、タイムスタンプ局で、施工データのハッシュ値に時刻情報を追加し暗号鍵で暗号化して生成される。
【０００７】
このサーバに保存されている施工データを検証するとき、タイムスタンプ付与施工データを、復号化してハッシュ値を取得する。このハッシュ値を、タイムスタンプ付与施工データに含まれる施工データのハッシュ値と比較して、施工データの改ざんを判定するものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−１２９５４９号公報
【特許文献２】特開２０１７−１５７８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、建設現場で稼働する建設機械の動作データを取得し、これをセンター装置に送信し、保管しても、意図的に改ざんしようとする者がいれば、保管されている動作データが改ざんされる余地が残る。例えば、建設現場で稼働する作業装置からデータを取得し送信する携帯電話機等では、それらの時刻を変更したり、センター装置で生のデータを改ざんしたりすることが技術的には可能である。
【００１０】
また、特許文献２のシステムは、施工データにタイムスタンプを追加し、ハッシュ値で管理しても、データ毎に検証することはできるが、建設に関連する全てのデータの連続性の検証、そして、後から追加・修正・削除したデータに関しては、検証が不十分である。よって、土木・建築において、工事、施工、会計に関するデータを追跡及び検証可能に管理してその改ざん防止ができる仕組みが求められている。
【００１１】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、建設において発生する、設計、工事、施工、検査、会計等に関するデータを追跡及び検証可能に管理してその改ざんを防止することができるハッシュチェーン利用データ非改ざん証明システム及びそのためのデータ管理装置を提供することである。
【００１２】
本発明の他の目的は、建設において、設計、工事、施工、検査、会計等に関するデータを保管し、データが追加・修正・削除された場合、それを検証できるハッシュチェーン利用データ非改ざん証明システム及びそのためのデータ管理装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明は、前記目的を達成するため、次の手段を採る。
本発明のハッシュチェーン利用データ非改ざん証明システムは、
建設工事に関するデータを収集し、施工データとして送信する第１電子計算機、及び、前記第１電子計算機から送信された前記施工データを、通信手段を介して受信し、記憶手段に格納する第２電子計算機からなる建設データ管理システムにおいて、
前記建設工事に関する前記施工データを取得する施工データ取得手段、
前記施工データを用いてハッシュチェーン用のブロックを生成するブロック生成手段、
前記ブロック生成手段で生成された前記ブロックを格納するハッシュチェーン格納手段、
前記ブロック生成手段で生成された前記ブロックのハッシュ値を計算するハッシュ値計算手段、及び、
前記ハッシュ値計算手段で生成された前記ハッシュ値を格納するハッシュ値格納手段
を備え、
前記ブロック生成手段は、
前記施工データが前記ハッシュチェーンのための最初の第１のデータである場合、前記ブロックを前記施工データから構成する手段、
前記施工データが前記第１のデータ以後のデータである場合、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、並びに、
前記ハッシュチェーンを完結するとき、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段
からなる
ことを特徴とする。
【００１４】
前記ハッシュチェーンの前記施工データを削除、修正、及び、追加の中から選択される一つを変更する場合、前記ハッシュチェーン利用データ非改ざん証明システムは、
前記変更を示す指示を取得する指示取得手段、
前記指示が示す前記施工データを特定し変更施工データとするデータ特定手段、
前記指示に基づいて、前記変更施工データが入っている前記ブロックを特定するブロック特定データ、前記指示に基づいて入力された前記変更の理由又はコメントが入ったコメントデータ、及び、最後に生成された前記ブロックである最終ブロックの前記ハッシュ値からなるコマンドブロックを生成する機能、並びに、前記コマンドブロックを生成した後、前記変更施工データが入っている前記ブロックの直前の前記ブロックに入っている前記施工データ、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能、又は、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能を有する前記ブロック生成手段
からなると良い。
【００１５】
ハッシュチェーン利用データ非改ざん証明システムにおいて、前記ハッシュチェーンは、前記変更によって、分岐した場合、前記分岐毎に完結した前記ハッシュチェーンを生成して管理すると良い。
【００１６】
前記施工データは、前記建設工事の写真、前記建設に関連する書類、及び、前記建設の現場における建設機械の稼働データからなる群の中から選択される１以上のデータであると良い。
【００１７】
前記施工データは、撮影手段で撮影したディジタル画像データであり、
前記ブロックは、前記ディジタル画像データ、並びに、ディジタル画像データの属性情報に入力されたもので、直前の前記ブロックの前記ハッシュ値、及び／又は、直前の前記ブロックの前記ディジタル画像データ若しくは直前の前記ブロックの前記ディジタル画像データのサムネイル画像データ若しくは直前の前記ブロックの前記ディジタル画像データを圧縮した画像データとからなると良い。
【００１８】
本発明のハッシュチェーン利用データ非改ざん証明用データ管理装置は、
建設工事に関する施工データを収集し、記憶手段に格納して管理するための建設データ管理装置において、
前記建設工事に関する施工データを取得する施工データ取得手段、
前記施工データを用いてハッシュチェーン用のブロックを生成するブロック生成手段、
前記ブロック生成手段で生成された前記ブロックを格納するハッシュチェーン格納手段、
前記ブロック生成手段で生成された前記ブロックのハッシュ値を計算するハッシュ値計算手段、
前記ハッシュ値計算手段で生成された前記ハッシュ値をハッシュ値格納手段へ送信するハッシュ値送信手段
を備え、
前記ブロック生成手段は、
前記施工データが前記ハッシュチェーンのための最初の第１のデータである場合、前記ブロックを前記施工データから構成する手段、
前記施工データが前記第１のデータ以後のデータである場合、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記施工データから構成する手段、並びに、
前記ハッシュチェーンを完結するとき、前記ブロックの直前に生成した前記ブロックの前記施工データ、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段、又は、前記ブロックの直前に生成した前記ブロックの前記ハッシュ値、及び、前記第１の施工データから構成する手段
からなる
ことを特徴とする。
【００１９】
前記ハッシュチェーンの前記施工データを削除、修正及び追加の中から選択される一つを変更する場合、前記ハッシュチェーン利用データ非改ざん証明用データ管理装置は、
前記変更を示す指示を取得する指示取得手段、
前記指示が示す前記施工データを特定し変更施工データとするデータ特定手段、並びに、
前記指示に基づいて前記変更施工データが入っている前記ブロックを特定するブロック特定データ、前記指示に基づいて入力された前記変更の理由又はコメントが入ったコメントデータ、及び、最後に生成された前記ブロックである最終ブロックの前記ハッシュ値からなるコマンドブロックを生成する機能、並びに、前記コマンドブロックを生成した後、前記変更施工データが入っている前記ブロックの直前の前記ブロックに入っている前記施工データ、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能、又は、前記指示に基づいて変更された施工データ、及び、最後に生成された前記ブロックの前記ハッシュ値からなるブロックを生成する機能を有する前記ブロック生成手段
からなると良い。
【００２０】
前記ハッシュチェーンは、前記変更によって、分岐した場合、前記分岐毎に完結した前記ハッシュチェーンを生成して管理すると良い。
前記施工データは、前記建設工事の写真、前記建設に関連する書類、及び、前記建設の現場における建設機械の稼働データからなる群の中から選択される１以上のデータであると良い。
【００２１】
前記施工データは、撮影手段で撮影したディジタル画像データであり、
前記ブロックは、前記ディジタル画像データ、並びに、ディジタル画像データの属性情報に入力されたもので、直前の前記ブロックの前記ハッシュ値、及び／又は、直前の前記ブロックの前記ディジタル画像データ若しくは直前の前記ブロックの前記ディジタル画像データのサムネイル画像データ若しくは直前の前記ブロックの前記ディジタル画像データを圧縮した画像データとからなると良い。
【発明の効果】
【００２２】
本発明によると、次の効果が奏される。本発明のハッシュチェーン利用データ非改ざん証明システムによると、建設工事等において、その計画、工事・施工、会計等に関するデータを、ハッシュチェーン技術を利用して改ざんできないように保管し、検証可能に管理できるようになった。また、建設工事等のデータを、後から追加・修正・削除しても、それが検証可能に管理できるようになった。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明の第１の実施の形態の建設データ管理システム１の概要を示す概念図を図示している。
【図２】図２は、本発明の第１の実施の形態の建設データ管理システム１に利用するデータの概要を図示している図である。
【図３】図３は、本発明の第１の実施の形態の建設データ管理システム１で取り扱うハッシュチェーンの概要を図示している図である。
【図４】図４は、本発明の第１の実施の形態の建設データ管理システム１において、ハッシュチェーンの施工データが変更されるときの施工データの相対関係を図示している図である。
【図５】図５は、本発明の第１の実施の形態の建設データ管理システム１において、ハッシュチェーンを生成する様子を示した概念ブロック図である。
【図６】図６は、本発明の第１の実施の形態の建設データ管理システム１において、ハッシュチェーンの施工データの一部が変更されたとき、ハッシュチェーンを生成する様子を示した概念ブロック図である。
【図７】図７は、本発明の第１の実施の形態の建設データ管理システム１において、コマンドブロックの例を図示している図である。
【図８】図８は、本発明の第１の実施の形態の建設データ管理システム１において、ハッシュチェーンが完結する手順例を図示している概念ブロック図である。
【図９】図９は、本発明の第１の実施の形態の建設データ管理システム１において、現場端末２の動作手順の例を示すフローチャートである。
【図１０】図１０は、本発明の第１の実施の形態の建設データ管理システム１において、施工データが変更になったときの、現場端末２の動作手順の例を示すフローチャートである。
【図１１】図１１は、本発明の第１の実施の形態の建設データ管理システム１において、施工データを検証する手順例の流れを図示しているフローチャートである。
【図１２】図１２は、本発明の第１の実施の形態の建設データ管理システム１において、施工データを検証する手順例の流れを図示しているフローチャートである。
【図１３】図１３は、本発明の第１の実施の形態の建設データ管理システム１において、現場での処理の流れの一例を図示しているフローチャートである。
【図１４】図１４は、現場での処理の流れの他の一例を図示しているフローチャートである。
【図１５】図１５は、建設データ管理システム１がサーバ３と、ハッシュ値を管理するためのサーバ３ａを備えた例を図示している図である
【図１６】図１６は、本発明の第１の実施の形態の建設データ管理システム１において、施工データとして利用するディジタル写真データの構造例を図示している概念ブロック図である。
【図１７】図１７は、本発明の第２の実施の形態の建設データ管理システムにおいて、サーバ３の動作手順の例を示すフローチャートである。
【図１８】図１８は、本発明の第２の実施の形態の建設データ管理システムにおいて、施工データが変更になった場合の、サーバ３の動作手順の例を示すフローチャートである。
【図１９】図１９は、本発明の第３の実施の形態の建設データ管理システム１において、ハッシュチェーンを生成する様子を示した概念ブロック図である。
【図２０】図２０は、本発明の第３の実施の形態の建設データ管理システム１において、ハッシュチェーンの施工データの一部が変更されたときの、ハッシュチェーンを生成する様子を示した概念ブロック図である。
【図２１】図２１は、本発明の第３の実施の形態の建設データ管理システム１において、ハッシュチェーンが完結する手順例を図示している概念ブロック図である。
【図２２】図２２は、本発明のその他の実施の形態の建設データ管理システムにおいて、分岐したハッシュチェーンの例を図示している概念図である。
【図２３】図２３は、本発明の他の実施の形態の建設データ管理システムにおいて、ハッシュチェーンのブロックの構成例を図示している概念図であり、図２３（ａ）〜（ｆ）はブロックに取り込まれる施工データとハッシュ値の位置関係を図示している。
【発明を実施するための形態】
【００２４】
［第１の実施の形態］
本発明の第１の実施の形態の建設データ管理システム１について、図面を参照しながら説明する。図１は、本発明の第１の実施の形態の建設データ管理システム１の概要を示す概念図である。建設データ管理システム１は、本例において、現場端末２、サーバ３、ネットワーク４等からなる。
【００２５】
建設データ管理システム１は、建築工事、土木工事等の建設工事現場において、工事の計画、工事の設計図、建設機械の稼働データ、工事現場の現状況、使用機器の管理データ、資材の管理データ、保守点検データ、検査データ、工事会計データを始めとする工事現場に関するデータ（以下、「施工データ」という。）を収集し、ハッシュチェーンを利用して管理し、施工データの改ざんを検証するためのシステムである。特に、施工データが追加・修正・削除等のように変更されても、それが検証可能に管理され、データ改ざんを防止することができるシステムである。
【００２６】
建設データ管理システム１は、施工データを所定単位でブロックにして連結することでハッシュチェーンにし、施工データと、ハッシュチェーンに利用されたハッシュ値（hash value）をデータベースによって管理する。建設データ管理システム１は、一連の施工データをハッシュチェーンで管理する。
【００２７】
ハッシュチェーンに追加するための新規のブロックは、連結するブロックの施工データとハッシュ値、そして新規に追加する施工データ等からなり、ハッシュ関数を利用してハッシュ化され、新規のブロックに対応するハッシュ値が生成される。生成されたハッシュ値は、次のブロックに組み込まれる。このように、一つのブロックの内容が次のブロックに組み込まれ、施工データを含む一連のブロック、言い換えるとハッシュチェーンが生成され、データベースに格納されて管理される。
【００２８】
建設データ管理システム１は、ハッシュチェーンとそれに含まれる施工データを検証することが出来るシステムであり、ハッシュチェーンとそれに含まれる施工データの改ざんを検証することができるシステムである。データベースに格納された施工データの追加、修正、削除によりハッシュチェーンが変更されたとき、建設データ管理システム１は、この変更された点からハッシュチェーンを新しく生成する。
【００２９】
このように新しく生成された変更ハッシュチェーンと元のハッシュチェーンは、本システムで検証することが可能である。ハッシュチェーンが変更されたとき、建設データ管理システム１は、変更されたブロックを遡って削除することができ、このように変更された変更ハッシュチェーンを生成する。この変更ハッシュチェーンと元のハッシュチェーンは、本システムで検証することが可能である。
【００３０】
以下、建設データ管理システム１の構成例を説明し、ハッシュチェーンの生成方法、変更ハッシュチェーンの生成方法、そのハッシュチェーンと変更ハッシュチェーンの検証方法等について説明する。そして、建設データ管理システム１の動作例をフローチャートを参照しながら説明する。図１に図示した現場端末２とサーバ３は、ネットワーク４で互いに接続されて、互いにデータの送受信を行う。
【００３１】
現場端末２は、入力手段、出力手段、中央処理装置、メモリ等を備えた汎用の電子計算機である。現場端末２は、ノート型パソコン、タブレット端末等の携帯可能な電子計算機、デスクトップ型パソコン、スタンドアローンパソコン、サーバ等の固定設置の電子計算機であることができる。現場端末２として、本例では、ノート型パソコン等の携帯可能なパーソナルコンピュータ、タッチ式及び／又はボタン式の入力手段を備えたタブレット端末等を利用する。
【００３２】
サーバ３は、入力手段、出力手段、中央処理装置、メモリ等を備え、サーバとして機能する電子計算機である。サーバ３は、補助記憶装置であるサーバ補助記憶装置（図示せず。）を備え、このサーバ補助記憶装置には管理データベース５が格納される。
【００３３】
なお、現場端末２は、ディジタルカメラ、スマートホン、タブレットパソコン等であることができる。建設データ管理システム１は図１に図示した１台のサーバ３からなっているが、提供する機能毎にサーバを用意して利用することもできる。
【００３４】
例えば、建設データ管理システム１は、管理データベース５の管理をするデータベース管理用サーバ、現場端末２等からデータを受信するデータ受信用サーバ、管理データベース５のデータ若しくはそれを処理した結果を表示するデータ表示用サーバ、ハッシュチェーンを生成するハッシュチェーン作成処理用サーバ、ユーザファイル等を保存するファイル保存用サーバ等のように、特定の１機能又は複数の機能を持つ２以上のサーバで構成される。
【００３５】
サーバ３は、所定の手続きにより、管理データベース５の内容、サーバ補助記憶装置に格納されているファイルを、現場端末２や検証端末７等に送受信するサービスを提供する。また、サーバ３は、現場端末２等から送信されてきたデータ、ファイル等を管理データベース５、サーバ補助記憶装置等に格納するサービスも提供する。検証端末７は、ハッシュチェーンや施工データ等を検証するための端末であり、詳細は後述する。
【００３６】
図１に図示したように、ネットワーク４は、現場の現場端末２とサーバ３の間にデータ通信を提供する通信網であり、公知の任意の通信網を利用できる。本発明は、通信網、及びその通信データ方式の発明ではないので、その詳細な説明は省略する。本例で、ネットワーク４としては、公衆通信網、インターネット、ＬＡＮ等の任意の通信網を利用できるが、本実施の形態において、インターネットを例に説明する。図示しないが、現場では、建設工事等が行われており、現場の状況を示すデータは、現場端末２に取り込まれる。
【００３７】
一例としては、現場で稼働している建設機械の稼働データは、現場端末２に取り込まれる。取り込まれる手段については、後述する。また一例としては、軟弱地盤に地盤改良材を注入して、軟弱地盤と共に攪拌翼でこれを攪拌して地盤を改良する地盤改良機の稼働データが現場端末２に取り込まれる。更に、杭打ち機、ディーゼルハンマ等の基礎工事用機械をはじめ掘削機等の他の建設機械の稼働データ等が現場端末に取り込まれる。
【００３８】
〔データについて〕
本実施の形態において、施工データとしては、設計図又は仕様図に基づき建造物を建造する際の作業データを意味し、特に、建設機械の動作に関する機械動作データ、現場の特定や管理に関する現場データ、現場での施工作業に関する現場状況データを含むものとする。建設工事に関するもので、ディジタル化した紙の図面、ＣＡＤ図面、検査リスト、納品書等は施工データに含まれるものとする。
【００３９】
機械動作データは、例えば、建設機械の各種装置の設定情報、動作の種類、動作開始時間、動作停止時間、動作期間、動作中のエラー、作業者の認証データ、現在位置情報、移動情報等のように、建設機械及びそれに搭載又は付属の建設機械、それに搭載又は付属されている機械に関する各種情報である。機械動作データとしては、地盤改良の掘削深度、先行掘削深度、スイベルヘッドの昇降速度、攪拌軸の回転数、その積算回転数、トルク、電流値、攪拌翼に供給される地盤改良材の供給量、その積算量、攪拌軸の傾斜角度を地盤改良機を制御している機器、地盤改良機に搭載されている計測センサーから取得したデータ等が例示できる。
【００４０】
現場データは、例えば、現場の名称、位置情報、範囲情報、現場の作業期間、現場の責任者の氏名、作業者の氏名、作業者の勤務時間、現場状況に関する地質情報、その他の特殊情報等である。現場状況データは、現場の各作業の開始時間、終了時間、作業期間、現場の作業に対する作業者の評価、現場のデータを取得した状況、時間、送信データの種類、数、時間、現場の状況写真、周囲の気温、湿度、雨量、風速度等の天気情報等のような現場管理に必要なデータである。
【００４１】
使用機器の管理データは、例えば、計測機器の管理番号、使用材料のロット番号等である。資材の管理データは、例えば、使用資材の発注番号、使用資材の納品番号等である。保守点検データは、例えば、計測機器の保守点検の検査情報、履歴情報等である。検査データは、例えば、杭頭高さ、施工位置、供試体の圧縮試験結果、載荷試験結果、外形寸法、そしてそれの試験と測定のプロセス管理等に用いられる各種データ等である。
【００４２】
現場端末２は、データ通信するための無線通信手段及び／又は有線通信手段等の通信手段を備える。現場端末２は、ネットワーク４に接続する通信端末６と接続し、通信端末６とネットワーク４を介してサーバ３と通信することもできる。通信端末６は、本発明の第１の実施の形態の建設データ管理システム１の通信手段の一例である。本発明は、ネットワーク、通信ネットワークの発明ではないので、通信回線、そのために利用される通信プロトコル等については必要最低限のみを説明をし、その詳細は省略する。
【００４３】
サーバ３は、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、他のネットワークに対し非公開のネットワークであるプライベートネットワーク等のデータ通信ネットワークに接続され、現場端末２とネットワーク４を介して接続されてデータ通信を行う。通信端末６は、入力手段、出力手段、中央処理装置、メモリ等を備えた通信手段であり、特に、現場端末２、ネットワーク４等と通信するための通信手段を備える。
【００４４】
現場端末２は、通信用ルータ、携帯通信機等を用いることができるが、これらの機能を備えたパーソナルコンピュータ、タブレット端末等の電子計算機であっても良い。管理データベース５は、建設データ管理システム１に利用するデータを格納したものであり、複数のデータベースからなる。例えば、管理データベース５は、施工データを含むハッシュチェーンを格納するためのハッシュチェーンデータベース（以下、「ハッシュチェーンＤＢ）という。）１０、ハッシュチェーンのハッシュ値を格納するためのハッシュ値管理データベース（以下、「ハッシュ値管理ＤＢ」という。）１１等からなる。
【００４５】
ハッシュチェーンＤＢ１０はハッシュチェーンを構成する施工データと、それを含むブロック等からなる。ハッシュ値管理ＤＢ１１は、ハッシュチェーンのハッシュ値からなる。ハッシュチェーンの中にハッシュ値が含まれるが、ブロック毎のハッシュ値を別のデータベースに複製して管理し、ハッシュチェーンを検証するときにこれを利用することもできる。
【００４６】
図２は、建設データ管理システム１に利用する施工データの概要を図示している。建設データ管理システム１において、利用する施工データは、図２に図示したように、Ｄ（１）〜Ｄ（ｎ）の一連のデータから成っている。Ｄ（１）〜Ｄ（ｎ）は、現場端末２に取り込んだ順番に、又は現場端末２の作業者が指定した順番に並んでいる。言い換えると、Ｄ（１）〜Ｄ（ｎ）は、ハッシュチェーンに取り込む順番になっている。
【００４７】
Ｄ（１）〜Ｄ（ｎ）のそれぞれのデータサイズは、データ量を大小に指定する可変データ量、取り込んだ生のデータ量、所定の固定したサイズの固定データ量等のように、任意に指定することができ、現場や建設工事の要求に合わせて設定することができる。単位データは、例えば、工事看板の写真、施工現場の写真、建設機械の稼働データ等のように、施工に関するデータである。本例のように、建設工事に関するデータは、現場での作業毎にその証拠又は履歴保存用として、一連のデータが取得される。
【００４８】
これがＤ（１）〜Ｄ（ｎ）として順番に建設データ管理システム１に取り込まれ、ハッシュ関数を利用して計算されてハッシュ値が生成され、一連のハッシュチェーンが生成される。図３には、建設データ管理システム１で取り扱うハッシュチェーンの概要を図示している。ハッシュチェーンは、順番に連結されたブロックからなる。図３には、ブロックをＢ（１）、Ｂ（２）、…Ｂ（ｎ）と図示している。
【００４９】
各ブロックは、図２に図示した施工データを内包する。第２番目のブロックＢ（２）以後は、直前のブロックのハッシュ値と、直前のブロックの施工データを含む。例えば、ブロックＢ（２）場合、第１ブロックＢ（１）のハッシュ値Ｈ（１）と施工データＤ（１）、及び、第２施工データＤ（２）からなっている。以後は、同様である。一般的に表現すると、ブロックＢ（ｎ）の場合、第ｎ−１ブロックＢ（ｎ−１）のハッシュ値Ｈ（ｎ−１）と施工データＤ（ｎ−１）、及び、施工データＤ（ｎ）からなる。但し、第１ブロックＢ（１）の場合は、直前のブロックがないため、施工データＤ（１）のみからなる。
【００５０】
建設現場では、データの修正が行われる場合がある。例えば、データの撮り直し、作業のやり直し等に起因するものや、人的なミスで再度データを取得、集計することもある。無論、機械のミス操作もある。このような場合は、データを修正し、この修正されたデータがなぜ修正されたかを説明し、後日、検証可能な形式で、データを保管することが重要である。
【００５１】
例えば、施工データは、図４に示すように、一部のデータが変更され、分岐して管理されることがある。変更された理由としては、現場の証拠として残す記録の取り直し、取得した記録の修正、不要になった記録の削除等があり、これは建設現場で日常的に行われているが、データ改ざんとは質が異なる。データ改ざんは、現場データとして虚偽データの利用、理由なく修正されたデータの利用、データの無断修正、現場データの理由なき削除等であり、現場を管理する上で、事実を誤解させる又は事後検証で事実を確認できないものを言う。
【００５２】
これに対して、現場データが削除、修正、追加される等変更された場合、その理由を付加して、事後検証可能にすることはデータ改ざんに当たらないし、そのためのシステム構築が本発明の一目的である。例えば、図４には、施工データＤ（ｋ＋１）が変更される例を示している。施工データはＤ（１）〜Ｄ（ｎ）の一連のデータが作成され、これらのデータからなるハッシュチェーンを元ハッシュチェーンという。
【００５３】
図３に図示したように、元ハッシュチェーンが生成された後、施工データＤ（ｋ＋１）が変更される場合を考える。Ｄ（ｋ＋１）が変更されると、Ｄ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…のように新規の一連データの施工データになる。このＤ（ｎ＋１）、Ｄ（ｎ＋２）…は、Ｄ（ｋ＋１）が変更された後に、ハッシュチェーンに取り込んだ施工データである。
【００５４】
Ｄ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）からなるハッシュチェーンを変更ハッシュチェーンという。ハッシュチェーンが生成された後、施工データが変更された後のＤ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…、そして、変更された施工データＤ（ｋ＋１）…Ｄ（ｎ）は検証可能形式で、管理される（詳細は後述する。）。
【００５５】
以下、このように検証可能な形式でデータを保管する手順を図を参照しながら説明する。まず、図５には、施工データを取り込み、ハッシュ関数を利用して、ハッシュチェーンを生成する手順を示している。ブロックを生成するとき、計算処理が行われる。この計算処理は、以下の説明において、最初のブロックのための処理は１回目の処理、次のブロックのための処理は２回目の処理という風に順番に連続番号を付けて説明する。
【００５６】
また、作業者は、施工データを取得し、この施工データは現場端末２で、又は、現場端末２からサーバ３へ送信されて計算処理され、ブロックが生成される。また、施工データは、現場の写真、機械動作データ等の一連のデータである。現場端末２に施工データが取り込まれると、ブロックが生成され、このブロックはハッシュ関数を利用してハッシュ化する計算が行われ、ブロックに対応するハッシュ値が生成される。
【００５７】
ハッシュ値は所定のデータの要約値（ダイジェスト値ともいう）を計算して得たものである。本発明の場合、衝突耐性、一方向性、固定長のあるダイジェスト値を出す機能を持った関数である暗号学的ハッシュ関数を用いる。例えば、暗号学的ハッシュ関数としてはＭＤ４，ＭＤ５，ＳＨＡ−１，ＳＨＡ−２等が例示できる。
【００５８】
以下の説明において、建設データ管理システム１に取り込まれる施工データは現端末２が取得した順番にＤ（１）〜Ｄ（ｎ）、生成されるブロックはＢ（１）〜Ｂ（ｎ）、ハッシュ値は生成される順番にＨ（１）〜Ｈ（ｎ）とする。説明において、現場の記録として残すためのデータ例として、現場の作業の記録を例に説明する。まず、現場の記録は、最初のデータは、建設現場の基準になるデータにすることが多く、例えば、建設現場の看板の写真が第１施工データＤ（１）になる。
【００５９】
作業者は、建設現場の看板の写真を撮り、その写真は現場端末２に取り込まれ、現場端末２で施工データＤ（１）として処理される。図５に図示したように、現場端末２において、施工データＤ（１）を利用して、第１回目のブロックＢ（１）が生成され、第１回目の計算処理が行われ、ハッシュ値（Ｈ１）が生成される。図３に図示したように、ハッシュチェーンには、Ｂ（１）が追加され、正確には、ハッシュチェーンの生成が開始され、最初の施工データＤ（１）を含む第１ブロックＢ（１）が取り込まれる。
【００６０】
ハッシュ値Ｈ（１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納される。Ｄ（１）とＨ（１）は、現場端末２からサーバ３へ送信され、ハッシュチェーンＤＢ１０に格納され、管理される。現場端末２に次の施工データＤ（２）が取り込まれると、Ｄ（２）を含む第２ブロックＢ（２）が生成され、Ｂ（２）に対するハッシュ値Ｈ（２）がハッシュ関数を利用して２回目の計算処理で計算される。
【００６１】
ハッシュ値Ｈ（２）を計算するとき、現場端末２にＤ（２）の直前に取り込まれたＤ（１）と、Ｂ（１）に対応するＨ（１）及びＤ（２）が一つのブロックＢ（１）を構成し、ハッシュ値が計算され、ハッシュ値Ｈ（２）が生成される（２回目の計算処理）。現場端末２に施工データＤ（３）が取り込まれると、直前に取り込まれたＤ（２）と、Ｂ（２）に対応するＨ（２）及びＤ（３）が一つのブロックＢ（３）を構成し、ハッシュ値が計算され、ハッシュ値Ｈ（３）が生成される（３回目の計算処理）。
【００６２】
このように、Ｄ（ｎ）の施工データが現場端末２に取り込まれると、直前に取り込まれたＤ（ｎ−１）と、Ｂ（ｎ−１）に対応するＨ（ｎ−１）及びＤ（ｎ）が一つのブロックＢ（ｎ）になり、Ｂ（ｎ）のハッシュ値が計算され、ハッシュ値Ｈ（ｎ）が生成される（ｎ回目の計算処理）。そして、一連のＢ（１）〜Ｂ（ｎ）とＨ（１）〜Ｈ（ｎ）がハッシュチェーンＤＢ１０、ハッシュ値管理ＤＢ１１にそれぞれ格納され、管理される。
【００６３】
図５は、ハッシュチェーンの生成は、Ｄ（１）〜Ｄ（ｎ）に関して、現場端末２で取得され、ハッシュチェーンが生成された後、変更がない場合である。図４に図示したように、Ｄ（１）〜Ｄ（ｎ）の内の一つの施工データが変更された場合、この例ではＤ（ｋ＋１）が変更される場合、ハッシュチェーンの生成について図６を参照しながら説明する。Ｄ（ｋ＋１）以後の施工データは変更され、施工データＤ（ｋ）からハッシュチェーンが変更され、Ｄ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）・・・のように新しく変更されたハッシュチェーンが生成される。
【００６４】
現場端末２にＤ（ｎ）が取り込まれ、ｎ回目の計算処理が行われた後、Ｄ（１）〜Ｄ（ｎ）の内の施工データＤ（ｋ）に変更があったとする（図４と図６を参照。）。但し、１＜ｋ≦ｎ、ｋ＝ｎ−ｍである。Ｄ（ｋ）は、Ｄ（ｎ）からｍ番目前の施工データ、言い換えると、ブロックＢ（ｎ）からｍ番目前のブロックの施工データが変更されたことになる。Ｄ（ｋ）＝Ｄ（ｎ）の場合、ｍ＝０になり、Ｄ（ｎ）自身が変更されたことになる。
【００６５】
Ｂ（ｎ）からｍ番目前のブロックの施工データが変更されたとき、変更の種類、変更理由や変更された施工データについて記述するコマンドデータＣＭＤ（ｍ）が生成される。そして、ＣＭＤ（ｍ）とその直前に生成されたハッシュ値Ｈ（ｎ）を合わせて一つのブロックとして生成される。以下、このブロックは小コマンドブロックという。コマンドブロックのハッシュ値が計算され、Ｈ（ｎ＋１）が生成される（ｎ＋１回目の計算処理）。
【００６６】
コマンドデータを含むコマンドブロックは、現場端末２からサーバ３へ送信されハッシュチェーンＤＢ１０に追加される。同じく、ハッシュ値Ｈ（ｎ＋１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納され管理される。図７には、ブロックデータ２０の例を図示している。コマンドデータ２０は上述のＣＭＤ（ｍ）を示すデータであり、ハッシュチェーンのデータが変更されたブロックを指定するブロック指定部２１と、変更についての理由、コメント等からなるコメント部２２からなっている。
【００６７】
検証時に、このコマンドデータ２０を分析し、ブロック指定部２１から値「ｍ」を取得し、コマンドブロックの直前のブロックから遡って計算し、変更されたブロックが計算できる。同じく、コメント部２２から変更の理由を閲覧することができる。ブロック指定部２１は、この例では、単に「ｍ」と指定している。コメント部２２では、変更についての記述であり、例えば、変更理由、変更をした者、変更日時等が入力される。
【００６８】
図６において、ｎ＋１回目の計算処理の後、変更された施工データＤ（ｎ＋１）が現場端末２に入力される。そして、変更されていない最後のデータであるＤ（ｎ−ｍ）、直前のハッシュ値Ｈ（ｎ＋１）、変更されたデータＤ（ｎ＋１）がまとまって一つのブロックを構成しブロックとして生成される。そして、この生成されたブロックに対応するハッシュ値の計算が行われる（ｎ＋２回目の計算処理）。Ｄ（ｎ＋１）は、変更されたデータであり、その次のデータがＤ（ｎ＋２）として、入力される。
【００６９】
以後、計算処理は、同じように、ブロックの最後のデータと、直前のハッシュ値、入力された新しいデータが一つのブロックを構成し、ハッシュ値の計算処理が行わる。ここでは、Ｄ（ｋ＋１）のみが変更された場合を示し、その変更として削除、修正、追加がある。まず、削除の場合は、Ｄ（ｋ＋１）は一連の施工データＤ（１）〜Ｄ（ｎ）から削除されることになり、図６において、Ｄ（ｎ＋１）としてＤ（ｋ＋２）が入力され、同じくＤ（ｎ＋２）としてＤ（ｋ＋３）が入力される。以後は同じである。
【００７０】
修正の場合は、Ｄ（ｋ＋１）はＤ（ｎ＋１）として修正されたＤ（ｋ＋１）が入力され、同じくＤ（ｎ＋２）としてＤ（ｋ＋２）が入力される。以後は同じである。追加の場合は、元の一連の施工データＤ（ｋ）とＤ（ｋ＋１）の間に新規のＤ’（ｋ＋１）が入力されるので、Ｄ（ｎ＋１）として新規の施工データＤ’（ｋ＋１）が入力され、同じくＤ（ｎ＋２）としてＤ（ｋ＋１）が入力され、Ｄ（ｎ＋３）としてＤ（ｋ＋２）が入力される。以後は同じである。
【００７１】
ハッシュチェーンとしては変更されたＤ（ｋ＋１）〜Ｄ（ｎ）はハッシュチェーンＤＢ１０に格納されたままであり、具体的には、それに対応するブロックＢ（ｋ＋１）〜Ｂ（ｎ）に格納されたままである。検証時は、全てのブロックを閲覧することができる。このとき、生成されたブロックは最初から順番に施工データを取得すると、Ｂ（１）〜Ｂ（ｎ）、Ｂ（ｎ＋１）、Ｂ（ｎ＋２）…から各施工データＤ（１）〜Ｄ（ｎ＋２）…（Ｄ（１）〜Ｄ（ｎ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…）が取得される。
【００７２】
この中で、コマンドブロックの指示に従って、一連の施工データをＤ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…と取得し、現場の実際のデータとして取り扱う。ここでは、Ｄ（ｋ＋１）のみが変更された場合を説明したが、Ｄ（ｋ＋１）〜Ｄ（ｎ）の一部又は全体が削除、修正、追加等のように変更される場合は、同様に、Ｄ（ｎ＋１）から変更されたデータを順番に取り組んでいく。
【００７３】
図８は、ハッシュチェーンが完結する手順例を図示している。ここでは、Ｄ（１）〜Ｄ（ｎ）までのデータが取り込まれ、計算処理が行われ、それに対応するハッシュ値Ｈ（１）〜Ｈ（ｎ）が生成されている。ハッシュチェーンにこれ以上のデータを追加しないで、一つのまとまったデータとして記録するためには、最初の施工データＤ（１）を用いて、最後のハッシュ値を生成する。
【００７４】
図８に図示したように、最後のデータ（最終施工データとも言うことができる。）Ｄ（ｎ）、直前のハッシュ値Ｈ（ｎ）、最初の施工データ（基準施工データ）Ｄ（１）をまとめて一つのブロックとし、ハッシュ値を計算し、最後のハッシュ値（最終ハッシュ値又は完結ハッシュ値とも言うことができる。）Ｈ（ｎ＋１）を生成する（ｎ＋１回目の計算処理）。Ｈ（ｎ＋１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納されて管理される。
【００７５】
Ｄ（１）〜Ｄ（ｎ＋１）の一連のデータは、現場端末２からサーバ３へ送信され、ハッシュチェーン１０に格納されて管理される。このように、完結したハッシュチェーンを利用して、施工データを取得し利用するとき、まず、ハッシュチェーン、その中の施工データが改ざんされていないことが重要であり、これを検証計算によって検証し確認する。
【００７６】
具体的には、ハッシュチェーンの一連のブロックＢ（１）〜Ｂ（ｎ＋１）から施工データＤ（１）〜Ｄ（ｎ）を取得し、最初のＤ（１）から順番にハッシュ値を計算して、次のブロックのハッシュ値及びハッシュ値管理ＤＢ１１から取得したハッシュ値と照合して検証する。全てのハッシュ値の検証で一致すれば、ハッシュチェーンが改ざんされていないことが証明できる。この照合によって、両者のハッシュ値が同じである場合、Ｄ（１）〜Ｄ（ｎ）の一連のデータは、改ざんされていないデータであることが証明できる。
【００７７】
このように、一連のデータＤと、それに対応するハッシュ値Ｈを別々のデータベースで管理することで、一連のデータが改ざんされていないことが証明、言い換えると、検証できる。一連の施工データがある場合、上述のように、それぞれについてハッシュチェーンのブロック生成し、最後は、最初の施工データを用いて最終ブロックを生成し、そのハッシュ値を計算する。このハッシュチェーンの各ブロックのハッシュ値をハッシュチェーンと独立して管理することで、ハッシュチェーンの改ざんが検証できる。
【００７８】
図４に図示したハッシュチェーンのデータが変更する例では、データは、Ｄ（１）〜Ｄ（ｎ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…のように一連に管理されるが、実際に業務で利用されるデータは、Ｄ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…となる。データＤ（ｋ＋１）〜Ｄ（ｎ）は、変更された対象のデータであり、業務に利用されないが、データ改ざんの点で、ハッシュチェーンに残って管理される。
【００７９】
また、図４に図示したように、データは、Ｄ（１）〜Ｄ（ｎ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…のように一連に完結されたハッシュチェーンを作成し、また、Ｄ（１）〜Ｄ（ｋ）、Ｄ（ｎ＋１）、Ｄ（ｎ＋２）…となるデータからなる変更ハッシュチェーンを生成して管理することができる。
【００８０】
現場端末２の動作手順の例を図９に図示したフローチャートを参照しながら説明する。まず、現場端末２が稼働すると、建設データ管理プログラムが起動され、ハッシュチェーンの初期処理が行われる（ステップ１）。このとき、ハッシュチェーンの初期処理としては、ユーザ設定、ユーザ認証、利用するハッシュ関数、パラメータ等の設定、現場端末の通信設定、管理データベース５（図１を参照。）のアドレス設定等を始めとし、必要な各種設定が行われる。
【００８１】
次に、データカウンタｄを設定する。データカウンタｄは、施工データをハッシュチェーンで管理するために、施工データをブロックに組み込むとき、施工データに付与するための番号である。つまり、施工データをハッシュチェーンに取り込む番号である。データカウンタｄは文字若しくは記号と数字の組み合わせ等のように、任意の番号又は識別記号を付与することができる。例えば、データカウンタｄは初期値として「０」、「１」等と設定する。管理をスムーズにするために連番が望ましい。
【００８２】
そのため、本例では、データカウンタｄは最初の施工データの「１」から最後の施工データまでに１つずつ加算する整数にした。そして、ハッシュ値カウンタｈを設定する。ハッシュ値カウンタｈは、データカウンタと同様に任意に設定することができる。本例では、「１」から始まり１つずつ加算される整数にした。以後、データカウンタの初期値を「１」、ハッシュ値カウンタの初期値を「１」として説明する。以下、番号を「i」とすると、施工データはＤ（ｉ）、ブロックはＢ（ｉ）、ハッシュ値はＨ（ｉ）と表記される。
【００８３】
現場端末２は施工データＤ（１）として基準データを取得する（ステップ２）。例えば、作業者はディジタルカメラ等の撮影手段で基準となる写真を撮影する。撮影した基準となる写真は、基準データとして出力され、現場端末２へ送信又は入力される。現場端末２では、基準データを受信する。基準データは、取得された順番で識別番号が付与されて管理される。この識別番号は任意の番号を付けることができるが、上記のデータカウンタ又は識別番号とデータカウンタの組み合わせで管理されることが好ましい。
【００８４】
本例では、基準データは記憶装置に格納される。基準データはデータカウンタ「１」が付与され第１施工データのＤ（１）になる（ステップ３）。Ｄ（１）を利用し、ハッシュチェーンの第１ブロックのブロックＢ（１）を生成し、そのハッシュ値を計算し、第１ハッシュ値のハッシュ値Ｈ（１）を生成する（ステップ４、５）。ブロックＢ（１）は、基準データから構成される。ハッシュ値Ｈ（１）はハッシュ値管理ＤＢ１１へ送信される（ステップ６）。
【００８５】
データカウンタｄを１増加し、ハッシュ値カウンタｈを１増加する（ステップ７）。作業者は、次の第２施工データとして次の撮影データを現場端末２に取り込む。現場端末２では、第２施工データＤ（２）を受信し、識別番号を付与し、格納する（ステップ８、９）。第２施工データＤ（２）、第１施工データＤ（１）及び第１ハッシュ値Ｈ（１）を利用し、ハッシュチェーンの第２ブロックを生成し、そのハッシュ値を計算し第２ハッシュ値Ｈ（２）を生成する（ステップ１０、１１）。
【００８６】
第２ブロックは、第２施工データＤ（２）、第１施工データＤ（１）及び第１ハッシュ値Ｈ（１）から構成される。第２ハッシュ値Ｈ（２）はハッシュ値管理ＤＢ１１へ送信される（ステップ１２）。次の施工データの取り込みを確認し、次の施工データがある場合は、継続して同様の処理を行う（ステップ１３→ステップ７）。これにより、ステップ７〜１２の処理が繰り返し行われる。具体的には、作業者は、次の施工データを撮影し、現場端末２へ送信又は入力する。
【００８７】
現場端末２では、施工データを受信し、識別番号を付与し、格納する（ステップ８，９）。この最新の施工データ、前回の施工データ及び直前に計算されたハッシュ値を利用し、ブロックを生成し、そのハッシュ値を計算する（ステップ１０、１１）。この計算で、生成されたハッシュ値はハッシュ値管理ＤＢ１１へ送信される（ステップ１２）。ステップ１３において、次の施工データがない場合、現場端末２は、完結処理へ移行する（ステップ１４→ステップ１５）。
【００８８】
まず、データカウンタｄを１増加し、ハッシュ値カウンタｈを１増加する（ステップ１４）。現場端末２では、最後に取得した施工データＤと、直前のハッシュ値Ｈ、第１施工データＤ（１）を利用して、ブロックを生成し、生成されたブロックのハッシュ値を計算する（ステップ１５、１６）。この計算で、生成されたハッシュ値はハッシュ値管理ＤＢ１１へ送信される（ステップ１７）。そして、現場端末２は次の処理へ移行する（ステップ１８）。
【００８９】
この一連の処理によって、現場の作業状況を示す施工データＤ及び／又は生成されたハッシュチェーンは管理データベース５へ送信され保存される。無論、一連の施工データＤ及び／又は生成されたハッシュチェーンは現場端末２の記憶装置に格納することができる。一連の施工データＤは、ハッシュ値管理ＤＢ１１からハッシュ値を取得し、ハッシュ値計算を行うことで、施工データの改ざん・変更の有無を検証することができる。
【００９０】
図１０は、現場の施工データが変更になった場合の処理の流れを示すフローチャートであり、ここで、ハッシュチェーンの施工データが変更された場合の、ハッシュチェーンの生成について説明する。図９に示した通り、施工データを取得し、ハッシュチェーンに保存しているが、現場で施工データの修正及び作業のやり直し等を始め様々な理由で保管する施工データを変更する必要が生じる。以下は、このような変更の理由がいかなる場合でも、施工データを保管する手順を図１０を参照しながら説明する。
【００９１】
まず、ハッシュチェーンが生成される途中で、データカウンタｄがｎ、ハッシュ値カウンタｈがｍの場合を想定する。現場端末２は、現場で施工データを取得してハッシュチェーンを生成していると、途中に施工データの変更がない場合は、基本的に、施工データを取得する度にハッシュ値が生成されるので「ｄ＝ｍ」である。しかし、図１０の説明において、一般化して説明する。つまり、「ｄ＝ｍ」と「ｄ≠ｍ」の両方が想定される。
【００９２】
作業者は、施工データの変更を示す指示を現場端末で入力し、ハッシュチェーンの変更を開始する（ステップ２０、２１）。施工データの変更は、施工データを取得しハッシュチェーンを生成している途中、又は、既に終了し完結されたハッシュチェーンに対して行うことができる。これは、現場端末の建設データ管理プログラムで、施工データの変更を示すボタンを操作、又は、現場端末２のユーザインターフェースから所定のコマンドを入力することで行わる。
【００９３】
現場端末では、まず、変更される施工データを特定する（ステップ２２）。これは、作業者は、現場端末で施工データの一覧を閲覧し、その中から変更する施工データを指定し特定する。又は、作業者は、変更する施工データの識別番号を直接指定することができる。これにより、現場端末２で変更される施工データが特定され、変更する施工データの識別番号が特定される（ステップ２３）。変更される前の施工データの識別番号を特定し、例えば、ｋとなる。
【００９４】
現場端末２は、ハッシュチェーンで最後に利用したデータカウンタ、とハッシュ値カウンタを取得する。言い換えるとデータカウンタｄの現在値はｎ、同様に、ハッシュ値カウンタｈの現在値はｐを取得する（ステップ２４）。現場端末２は、データカウンタｄ＝ｎ＋１、ハッシュ値カウンタｈ＝ｐ＋１の値を取得する（ステップ２５）。まず、施工データの変更理由を示すコマンドデータ２０（図７を参照。）を生成する（ステップ２６）。
【００９５】
このとき、管理者は、施工データの変更理由を現場端末２に入力する。施工データの変更理由は、現場端末２の画面に表示されたボタンを操作したり、キーボードから管理者が入力したりと任意の方法で入力する。この変更の理由は、コマンドブロックのコメント部２２（図７を参照。）に入力される。コマンドデータは、変更する施工データの指定番号、変更の種類、変更理由等からなる。変更の種類は、施工データの削除、修正、変更、分岐等を指定する。変更の種類は変更するコマンドと表記しても良い。
【００９６】
変更理由は、変更した作業者、変更日時、その理由等からなる。そして、現場端末２で、コマンドブロックが生成される（ステップ２７）。具体的には、現場端末２では、コマンドデータ２０、直前計算されたハッシュ値Ｈ（ｐ）を利用し、コマンドブロックを生成し、そのハッシュ値を計算する（ステップ２８）。ここで言う直前に計算されたハッシュ値はＨ（ｐ）になる。そして、生成されたコマンドブロックのハッシュ値には、ハッシュ値カウンタｈにｐ＋１が付与され、ハッシュ値管理ＤＢ１１へ送信される（ステップ２９）。
【００９７】
このようにコマンドブロックを生成するとき、一連の施工データが途中で変更され、それ以後の施工データを新規に取得する等のとき、施工データの順番が異なる。このとき、コマンドブロックは直前のハッシュ値を利用するので、生成されたハッシュ値が継続し、施工データの連続性が保証される。後日、このハッシュチェーンを検証するとき、正しい順番のハッシュ値を利用しないと、施工データの連続性を確認できないためである。その後、現場端末２は、新規に入力する施工データを取得する。
【００９８】
これは、作業者が現場端末２を操作することにより入力され、現場端末２に格納される（ステップ３０、３１）。取得した施工データ、言い換えると変更施工データを利用してブロックを生成する（ステップ３２）。このブロックは、変更施工データの直前のデータＤ（ｋ）、直前に計算されたハッシュ値Ｈ（ｐ＋１）、変更施工データＤ（ｎ＋１）を利用し、ブロックを生成し、そのハッシュ値を計算する（ステップ３３）。
【００９９】
ここで言う変更施工データの直前の施工データはＤ（ｋ）になり、直前に計算されたハッシュ値はコマンドブロックのハッシュ値Ｈ（ｐ＋１）になる。生成されたハッシュ値は、ハッシュ値カウンタ「ｐ＋２」番号が付与され、ハッシュ値管理ＤＢ１１へ送信される（ステップ３４）。データカウンタｄとハッシュ値カウンタｈが更新され（ステップ３５）、以後は、変更施工データＤ（ｋ＋１）以後のデータが順番に取り込まれ、図９のステップ７以後の処理が行われる（ステップ３６→３０）。
【０１００】
又は、変更施工データ以後は、施工データが新規に入力され、図９のステップ７以後と同様の処理が行われる（ステップ３６→３０）。そして、入力する施工データが終了すると、現場端末２では、最後に取得した施工データＤと、直前のハッシュ値Ｈ、第１施工データＤ（１）を利用して、ブロックを生成し、そのハッシュ値を計算する（ステップ３７、３８）。生成されたハッシュ値はハッシュ値管理ＤＢ１１へ送信される（ステップ３９）。そして、現場端末２は次の処理へ移行する（ステップ４０）。
【０１０１】
この一連の処理によって、現場の作業状況を示す施工データで変更された施工データがハッシュチェーンに取り込まれ、管理データベース５等に保存される。
【０１０２】
図１１は、本発明の第１の実施の形態の建設データ管理システム１において、施工データを検証する手順例の流れを図示している。施工データは、ハッシュチェーンに組み込まれてサーバ３（図１を参照。）に格納されている。このハッシュチェーンのハッシュ値はサーバ３のハッシュ値管理ＤＢ１１に格納されている。ここで、検証端末７からサーバ３にアクセスし、施工データが改ざんされているか否かの検証をする手順を説明する。
【０１０３】
検証端末７上には、建設データ管理システム１用の検証プログラムが動作しており、検証に必要な機能、例えば、ハッシュチェーンをサーバ３又は現場端末２から取得する機能、ハッシュチェーンのハッシュ値をサーバ３から取得する機能、ハッシュチェーンの各ブロックのデータを用いてハッシュ値を計算する機能、この計算されたハッシュ値をサーバ３から取得したハッシュ値と比較する機能等を備えている。以下、これらの機能は、検証端末７の機能として説明する。
【０１０４】
検証は、施工を監督する監督者、建設の監査をする第３者、建設の依頼主、建設に係わった業者、そして行政組織の責任者、司法権限よる捜査官等の任意の者（以下、検証者という。）が行うことができる。しかし、施工工事に関してその営業秘密、個人情報漏洩等の機密データ管理の観点から、サーバ３へアクセスし、施工データが入っている管理データベース５、そしてハッシュ値管理ＤＢ１１へアクセスする権限は、サーバ３の管理者から検証者が得なければならい。
【０１０５】
このような検証者、検証者のアクセス権限に関して、これは本発明の趣旨ではないので説明は省略する。検証端末７は、検証者が検証用に用いる電子計算機である。検証端末７は、中央処理手段、記憶手段、入出力手段等を備えた汎用の電子計算機である。検証端末７はサーバ３へアクセスして接続し、所定の認証手続きを行う（ステップ５０、５１、５２）。
【０１０６】
認証手続きで検証端末７がサーバ３に認証されアクセスが許可される認証手続きが正常に終了し、検証端末７とサーバ３の間に通信リンクが確立され、データ通信が可能になる。認証手続きで検証端末７がサーバ３に認証されない場合、アクセスが許可されず、検証端末７が認証手続きを最初から行うか、中断する。認証手続きが正常に終了し、アクセスが許可されると検証端末７はサーバ３からハッシュチェーンを取得する。検証端末７は、管理データベース５へアクセスし、ハッシュチェーンをダウンロードする等して取得する（ステップ５３、５４）。
【０１０７】
検証端末７は、ハッシュチェーンをサーバ３からダウンロードし、受け取ると、ハッシュチェーンの識別番号を取得し、ハッシュ値を取得するためにハッシュ値管理ＤＢ１１へアクセスする。サーバ３にハッシュチェーンを格納したハッシュチェーンＤＢ１０とハッシュ値管理ＤＢ１１の両方が格納されているとサーバ３への接続認証は不要になる。しかし、ハッシュチェーンＤＢ１０とハッシュ値管理ＤＢ１１が異なるサーバに格納されていると、ハッシュ値管理ＤＢ１１が格納されているサーバ３ａ（図１５を参照。）への認証手続きが必要になる。
【０１０８】
検証端末７がハッシュ値管理ＤＢ１１へアクセスし、ハッシュチェーンに対応する一連のハッシュ値Ｈ’を取得する（ステップ５５、５６）。一連のハッシュ値は、上述の図５に示すＨ（１）〜Ｈ（ｎ）等のＨ（ｈ）の値であり、ハッシュチェーンのブロックの数とハッシュ値の数が一致する。検証端末７は、データカウンタiとハッシュ値カウンタｊを初期化する（ステップ５７）。
【０１０９】
この例では、それぞれを「１」にする。検証端末は、ハッシュチェーンのｉ番目ブロックの施工データＤ（ｉ）を利用して、そのハッシュ値Ｈ（ｉ）を計算し生成する（ステップ５８）。この例では第１ブロックの施工データＤ（１）を利用して、そのハッシュ値Ｈ（１）を計算し生成する。ハッシュ値管理ＤＢ１１から取得した一連のハッシュ値から最初のハッシュ値Ｈ’（ｊ）を取り出す（ステップ５９）。この例では、ハッシュ値Ｈ’（１）を取得する。
【０１１０】
この生成したハッシュ値Ｈ（ｉ）とハッシュ値Ｈ’（ｊ）とを比較し、両方が一致する場合、第ｉブロックの施工データＤ（ｉ）が改ざんされていない証明になる（ステップ６０→６２）。この例では、ハッシュ値Ｈ（１）がハッシュ値Ｈ’（１）と一致する場合、第１ブロックの施工データＤ（１）が改ざんされていない証明になる（ステップ６２）。ハッシュ値Ｈ（ｉ）がハッシュ値Ｈ’（ｊ）と一致しない場合は、第ｉブロックの施工データＤ（ｉ）が改ざんされたことになる（ステップ６０→６１）。
【０１１１】
検証結果が終了又は次の処理へ移行する（ステップ６１→６６）。そして、施工データが改ざんされていない場合、ハッシュチェーンに次のブロックがあるか否かを確認する（ステップ６３）。次のブロックがあるとき、検証端末７は、データカウンタiとハッシュ値カウンタjを更新し、言い換えるとそれぞれを「１」で増加させる（ステップ６４）。検証端末７は、ハッシュチェーンのｉ番目ブロックのハッシュ値Ｈ（ｉ）を計算し生成する。そして、ハッシュ値Ｈ’（ｊ）を取得する。
【０１１２】
検証端末７は、ハッシュ値Ｈ（ｊ）とハッシュ値Ｈ’（ｊ）を比較する（ステップ５８〜６０）。このように、ステップ５８〜６３の検証作業を繰り返し行う。全てのブロックについて検証が終わり、全てが改ざんされていないことが証明できた場合、ハッシュチェーンが改ざんされていないことになる。具体的には、ハッシュチェーンのブロック全てにおいて、同じように計算し、全てのブロックが改ざんされていないことが確認できる（ステップ６３→６５）。そして、検証端末７は次の処理へ移行する。
【０１１３】
以上の説明では、各ブロックは、施工データ、直前のブロックの施工データ、直前のブロックのハッシュ値から構成されており、ステップ６０と並行して、直前のブロックの施工データを直前のブロックと比較して一致するかを確認することができる。同じく、ブロックのハッシュ値が計算されると次のブロックに入っているハッシュ値と比較して、一致するかを確認することができる。このように、ハッシュチェーンは、二重、三重の確認を行うことができるが、これは検証作業の要件によって決定するものである。
【０１１４】
図１２は、本発明の第１の実施の形態の建設データ管理システム１において、施工データを検証する手順例の流れを図示している。この検証は、基本的にハッシュチェーンと、その中に格納された施工データを用いて行われる。このハッシュチェーンのハッシュ値はサーバ３のハッシュ値管理ＤＢ１１に格納されている。ここで、施工データが改ざんされているか否かの検証をする手順を説明する。
【０１１５】
まず、図１１のフローチャートで説明したのと同じく、検証端末７はサーバ３へアクセスし、接続し、所定の認証手続きを行い、ハッシュチェーンをダウンロードする（ステップ７０〜７４）。検証端末は、データカウンタiとハッシュ値カウンタｊを初期化する（ステップ７５）。この例では、それぞれを「１」にする。検証端末は、ハッシュチェーンの第ｉ番目ブロックのハッシュ値Ｈ（ｊ）を計算し生成する（ステップ７６）。
【０１１６】
ハッシュチェーンの第ｉ＋１番目ブロックに入っているハッシュ値Ｈ’（ｊ）を取得する（ステップ７７）。この生成したハッシュ値Ｈ（ｊ）をハッシュ値Ｈ’（ｊ）と比較し、両方が一致するとき、第ｉ番目ブロック、その中の施工データＤ（ｉ）が改ざんされていない証明になる（ステップ７８→７９）。ハッシュ値Ｈ（ｊ）がハッシュ値Ｈ’（ｊ）と一致しない場合は、第ｉ番目ブロック、その中の施工データＤ（ｉ）が改ざんされたことになる（ステップ７８→８０）。検証結果が終了又は次の処理へ移行する（ステップ８０→８７）。
【０１１７】
ブロックが改ざんされていない場合、最後のブロックであることを確認する（ステップ８１）。次のブロックがあるとき、検証端末７は、データカウンタiとハッシュ値カウンタｊを更新し、言い換えるとそれぞれを「１」で増加させる（ステップ８２）。ステップ７６〜７９の検証作業を繰り返し行う。最後のブロックである場合、最後のブロックのハッシュ値Ｈ（ｊ）を計算し生成する（ステップ８３）。
【０１１８】
最後のブロックのハッシュ値Ｈ’（ｊ）は、ハッシュチェーンに格納されていないので、ハッシュ値管理ＤＢ１１にアクセスし、対応するハッシュ値Ｈ’（ｊ）を取得する（ステップ８４）。この生成したハッシュ値Ｈ（ｊ）とハッシュ値Ｈ’（ｊ）を比較し、両方が一致するとき、最後のブロック、その中の施工データが改ざんされていない証明になる（ステップ８５→８６）。このように、全てのブロックについて検証が終わると、全てが改ざんされていないことが証明できる。両方が一致しない場合、最後のブロックが改ざんされたことになり、検証作業を中断する（ステップ８５→８０）。
【０１１９】
〔現場例１〕
図１３は、現場での処理の流れの一例を図示している。まず、現場で作業者が現場端末を稼働する（ステップ１０１）。現場端末が稼働すると、施工建設データ管理プログラムが起動され、初期化処理が行われる（ステップ１０２）。そして、作業者は現場端末を操作して、建設機械と接続する（ステップ１０３）。
【０１２０】
このとき、現場端末を操作し、現場端末を指定する。又は、現場端末は、予め設定された建設機械に自動的に接続する。作業者は、現場端末を操作して、現場の状況を記録することを開始し、基準データを指定又は取得する（ステップ１０４）。この最初のデータは基準データとし、記録し、ハッシュチェーンの生成が開始され、記録設定を行う（ステップ１０５）。言い換えると、建設現場のデータ記録が開始される。
【０１２１】
現場端末は、建設機械の付属する通信端末又は制御器等に、無線通信又は有線通信で接続され、建設機械から施工データを取得する（ステップ１０６、１０７）。具体的には、建設機械からその動作に関するデータ、又は、データ要求を建設機械に送信してその処理結果を建設機械から取得する。建設機械は基本的に連続して動作しており、現場端末は、建設機械から一定期間のデータを連続して又は所定時間間隔で取得することが好ましい。
【０１２２】
そのため、連続してデータを取得する場合、作業者は、現場端末２からデータ取得開始を指示し（ステップ１０６）、施工データの記録を確認しながら終了を指示する（ステップ１０７）。作業者のこの指示は、現場端末の画面を見ながら表示されるボタンを操作したり、コマンドを入力したりして行われる。そして、取得した施工データは、現場端末の記憶装置に記憶又は記録される（ステップ１０８）。現場端末は、施工データをサーバへ送信する（ステップ１０９）。
【０１２３】
続けて、次の施工データを取得する場合は、作業者が現場端末でその旨を指示して、上記の作業が繰り返し行われる（ステップ１１０→１０６）。施工データの取得が終了又は中断する場合、現場端末の次の処理を行う（ステップ１１１）。上記のステップ１０７とステップ１０８において、現場端末は、施工データの記録が一回の指示毎にあらかじめ設定された所定期間のデータの場合は、ステップ１０６とステップ１０７、又はステップ１０６〜１０９の動作を自動的に行う。
【０１２４】
記録する施工データは、建設機械から所得した生のデータであることが好ましいが、データが膨大になること、又は、無意味なデータが多く含まれることもある。そのため、記録する施工データにおいて、建設機械から取得した生のデータをフィルタリング、縮小、ハッシュ化、フォーマット変更等の加工をすることは、現場の種類、要件によるものであり、本発明の範囲に含まれるものとする。この例では、施工データはサーバへ送信され、ハッシュチェーン生成はサーバで行われる。
【０１２５】
〔現場例２〕
図１４は、現場での処理の流れの他の一例を図示している。この例では、現場端末でハッシュチェーンを生成する例である。前処理は上記の図１３のフローチャートと同じであり、異なる部分を説明する。ステップ１２０〜１２８は図１４のステップ１００〜１０８と同じであるが、異なるのは、施工建設データ管理プログラムの初期化処理では、ハッシュチェーン生成のための初期処理が行われる。
【０１２６】
ハッシュ値の設定、サーバ、ハッシュチェーンデータベース、ハッシュ値データベース等の設定が行われる。また、基準データを取得したらハッシュチェーンの最初のブロックが生成され、最初のブロックの値が生成され、サーバへ送信される（ステップ１２４）。施工データの取得が終了すると、ブロックの生成が行われる（ステップ１２９）。このとき、取得した施工データ、直前のハッシュ値、直前のブロックの施工データを利用し、ブロック生成が行われる。
【０１２７】
生成されたブロックのハッシュ値が計算される。そして、生成されたブロックとハッシュ値は、サーバへ送信される（ステップ１３０）。サーバにおいて、ブロックは、施工データデータベース、ハッシュ値はハッシュ値データベースへ格納される。続けて、次の施工データを取得する場合は、作業者が現場端末でその旨を指示して、上記の作業が繰り返し行われる（ステップ１３１→１２６）。施工データの取得が終了又は中断する場合、現場端末において完結ブロックの生成が行われる（ステップ１３２）。
【０１２８】
この完結ブロックは、最初の施工データである基準データ、最後の施工データ、最後のハッシュ値からなり、そのハッシュ値が計算される（ステップ１３２）。そして、生成されたブロックとハッシュ値は、サーバへ送信される（ステップ１３３）。サーバにおいて、ブロックは、施工データデータベース、ハッシュ値はハッシュ値データベースへ格納される。現場端末は、次の処理を行う（ステップ１３４）。
【０１２９】
図１５には、建設データ管理システム１がサーバ３と、ハッシュ値を管理するためのサーバ３ａを備えた例を図示している。現場から取得するデータは、現場の基準データ、建設機械の稼働データ、その他に現場の状況を示す写真を始め様々なデータがあり、この中から証拠として保存するデータがハッシュチェーンに取り込まれている。ハッシュチェーンは、中の施工データは図１５に図示したようにサーバ３の管理データベース５に保管し、ハッシュチェーンのハッシュ値はサーバ３ａのハッシュ値管理データベース５ｂに保管する。
【０１３０】
ハッシュチェーンとそのハッシュ値を異なるサーバ３、３ａとデータベース５、５ａに保管することは、改ざんを防ぐために有効な手段である。サーバ３とサーバ３ａは、管理する上で、管理者が異なることが望ましい。上述の図１の説明、図９のフローチャート等においては、管理データベース５を例に、管理データベース５にハッシュチェーンデータベース５ａとハッシュ値管理データベース５ｂが格納されていると説明した。
【０１３１】
ハッシュチェーンは、通常、現場の写真を始め、建設機械の稼働データを含み、容量も膨大になることがあり、一つのハッシュチェーンデータベース５ａに格納されるとは限らない。そのため、ハッシュチェーンは、サーバ３の記憶手段に格納し、例えば、ハッシュチェーン若しくは複数のハッシュチェーンをまとめて一つのフォルダに格納することもできる。
【０１３２】
管理データベース５は、ハッシュチェーンの名称、識別番号、格納先等を記録したデータベースとすることができる。また、管理データベース５は、ハッシュチェーン毎のハッシュ値が格納されている格納先又はデータベースの名称、識別番号、格納先等を記録することもできる。
【０１３３】
例えば、次の表１に一例を図示している。
【表１】
2020202442.tif 000003
【０１３４】
〔ディジタル画像データを利用する場合〕
図１６は、施工データとしてディジタル写真データを利用する場合の、その構造例を図示している。図１６に図示したように、ディジタル写真データは、所定のフォーマットのファイル３０からなる。ファイル３０は、画像データを記録する画像データ部３１、音声データを記録する音声データ部３２、追加情報を記録するＥＸＩＦ情報部３３等からなる。
【０１３５】
画像データ部３１は、これに限定されないが、ＲＧＢ非圧縮データ、ＹＣｂＣｒ非圧縮データ、ＪＰＥＧ圧縮データ等の画像フォーマットに準拠した画像データが入力される。
音声データ部３２は、これに限定されないが、非圧縮音声データＰＣＭ，非圧縮音声データμ−Ｌａｗ  ＰＣＭ、圧縮音声データＩＭＡ−ＡＤＰＣＭ等の圧縮方式のフォーマットに準拠した音声データが入力される。これらの画像フォーマット及び音声フォーマットは、汎用に利用されているものであり、詳細な説明は省略する。
【０１３６】
ＥＸＩＦ情報部３２は、ＥＸＩＦ（Exchangeable image file format）によるメタデータを含む領域であり、撮影装置の機種、撮影時の条件情報等の撮影情報を中心に様々なデータを記録する部分である。ＥＸＩＦ情報部３２は、データ構造としては、ヘッダ、ＩＦＤ（Image File Directory）３４、サムネイル画像等で構成される。ＩＦＤ３４はタグ構造の複数のエントリからなり、各エントリはエントリの識別子、タイプ、カウント、値等のタグから構成される。
【０１３７】
本システムは、このＩＦＤ３４の中のタグの内のユーザコメント部分３５は、利用者がコメント等を追加できる部分であり、画像情報の運用者が追加したり、独自のタグ名にして利用することができるものである。よって、本発明の建設データ管理システム１においては、このユーザコメント部分３５に、ブロック情報を埋め込む。例えば、ファイル３０を一つのブロックとして利用する場合、ＩＦＤのタグの内のユーザコメント部分３５にブロックのためのデータ、例えば、ハッシュ値、連結するブロックのデータ等を埋め込む。
【０１３８】
ユーザコメント部分３５に連結するブロックの画像データを埋め込む場合、画像データが大きくなることがあるので、所定のアルゴリズムに従って画像データを圧縮した圧縮画像、又は、画像データのサムネイル等を埋め込むことができる。検証時に、一つのブロックの画像データを検証してから、次に取り込まれた画像データを検証するので、圧縮画像でも、サムネイルでもハッシュ値と一緒に次のブロックに埋め込まれることになり、そのため改ざんされると検知できる。
【０１３９】
〔第２の実施の形態〕
本発明の第２の実施の形態を図面を参照しながら説明する。本発明の第２の実施の形態は上述の本発明の第１の実施の形態と基本的に同じであり、ここでは異なる部分のみを説明する。本発明の第２の実施の形態は、図１に図示した建設データ管理システム１からなり、ハッシュチェーンを生成する処理は、サーバ３において行われる。現場端末２においては、作業者が現場端末を操作して施工データを取り込む。
【０１４０】
施工データは現場端末２に取り込まれると、サーバ３へ送信される。サーバ３は、現場端末２から施工データを受信すると、これを記憶装置に格納し、ブロックを生成する処理と、ブロックのハッシュ値を計算する処理を行い、ハッシュチェーンとそのハッシュ値を管理データベース５に格納する。サーバ３の動作手順の例を図１７に図示したフローチャートを参照しながら説明する。まず、サーバ３は、管理者または現場端末２からの指示によって、サーバ３上に建設データ管理サーバプログラムが起動され動作し、ハッシュチェーンの生成処理、そのハッシュ値管理のための処理を開始する。
【０１４１】
建設データ管理サーバプログラムは、以下に記述する機能及び処理をサーバ３にさせるプログラム、モジュール、サービスからなるものであり、以下、サーバ３の機能又は処理として説明する。サーバ３では管理者または現場端末２からの指示によって、建設データ管理システム１のハッシュチェーン生成処理が開始され、初期処理が行われる（ステップ２００）。初期処理としては、ハッシュチェーン生成に必要なユーザ設定、ユーザ認証、利用するハッシュ関数のパラメータの設定、現場端末２との通信設定、管理データベース５（図１を参照。）の設定等を始めとし、必要な各種設定が行われる。
【０１４２】
データカウンタｄとハッシュ値カウンタｈの設定が行われる（ステップ２０１）。以下、データカウンタの初期値を「１」、ハッシュ値カウンタの初期値を「１」として説明する。サーバ３は現場端末２から施工データＤ（１）として基準データを受信する（ステップ２０２）。サーバ３上には、基準データのデータカウンタ「１」が付与され、第１施工データのＤ（１）になり、Ｄ（１）からなるブロックＢ（１）を生成し、ハッシュチェーンＤＢ１０に保存する（ステップ２０３）。
【０１４３】
サーバ３は、ブロックＢ（１）のハッシュ値を計算し、第１ハッシュ値のハッシュ値Ｈ（１）を生成する（ステップ２０４）。ハッシュ値Ｈ（１）はハッシュ値管理ＤＢ１１に格納される（ステップ２０５）。そして、現場端末２からの次の施工データを待ち、施工データを受信すると、データカウンタｄを１増加し、ハッシュ値カウンタｈを１増加する（ステップ２０６、２０７）。そして、サーバ３は、受信した施工データにデータカウンタを付与し、ブロックを生成し、ハッシュチェーンＤＢ１０に保存する（ステップ２０８）。
【０１４４】
ブロックは、受信した施工データ、前回に生成したブロックの施工データ及び直前に計算されたハッシュ値から構成され、そのハッシュ値を計算する（ステップ２０９）。この計算で、生成されたハッシュ値はハッシュ値管理ＤＢ１１に保存される（ステップ２１０）。ステップ２０６において、次の施工データがない場合、ステップ２１１へ移行する（ステップ２０６→２１１）。
【０１４５】
サーバ３は現場端末２と通信し、直前に受信した施工データが最後の施工であるか、または、次の施工データがあるかを確認する（ステップ２１１）。次の施工データがある場合、言い換えると前に受信した施工データが最後の施工データではない場合、ステップ２０６〜２１１の処理が繰り返し行われる。最後の施工データの場合、完結処理へ移行するが、まず、データカウンタｄを１増加し、ハッシュ値カウンタｈを１増加する（ステップ２１２）。
【０１４６】
サーバ３は、最後に取得した施工データＤと、直前のハッシュ値Ｈ、第１施工データＤ（１）を利用して、最終ブロックを生成し保存する（ステップ２１３）。生成されたブロックのハッシュ値を計算する（ステップ２１４）。この計算で、生成されたハッシュ値はハッシュ値管理ＤＢ１１に保存される（ステップ２１５）。そして、次の処理へ移行する（ステップ２１６）。
【０１４７】
図１８は、施工データが変更になった場合、サーバ３においてハッシュチェーンを生成する処理の流れを示すフローチャートである。ハッシュチェーンが生成される途中で、データカウンタｄがｎ、ハッシュ値カウンタｈがｍの場合を想定する。サーバ３において、現場端末２から施工データを取得しながらハッシュチェーンを生成している中で、管理者又は現場端末２から、施工データの変更を示す指示を受信する（ステップ２２０、２２１）。
【０１４８】
これにより、サーバ３でハッシュチェーンの変更を開始する。現場端末２から受信した指示には、変更する施工データ、変更の種類等が含まれている。サーバ３は、この指示を分析し、変更する施工データを特定する（ステップ２２２）。これにより、変更するブロックも特定される。サーバ３は、ハッシュチェーンで最後に利用したデータカウンタ、とハッシュ値カウンタを取得する。上記例では、データカウンタｄの現在値はｎ、ハッシュ値カウンタｈの現在値はｐを取得する（ステップ２２３）。
【０１４９】
サーバ３は、データカウンタｄ＝ｎ＋１、ハッシュ値カウンタｈ＝ｐ＋１の値を取得する（ステップ２２４）。サーバ３は、施工データの変更理由を示すコマンドデータ２０（図７を参照。）を生成する（ステップ２２５）。このとき、サーバ３は、現場端末２に対して、変更理由の入力を要求し、その応答を取得する。又は、上記の変更指示に変更の理由、変更する施工データがある場合、それを利用する。
【０１５０】
管理者は、施工データの変更の理由を現場端末２の画面に表示されたボタンを操作したり、キーボードから入力したりと任意の方法で入力する。この変更の理由は、サーバ３へ送信され、サーバ３はコマンドブロックのコメント部２２（図７を参照。）に入力される。コマンドデータ２０は、上述の現場端末２で生成されたものに準じる。そして、サーバ３は、コマンドブロックを生成する（ステップ２２６）。コマンドブロックには、コマンドデータ２０、直前に計算されたハッシュ値Ｈ（ｐ）が含まれる。
【０１５１】
コマンドブロックのハッシュ値を計算する（ステップ２２７）。生成されたコマンドブロックのハッシュ値には、ハッシュ値カウンタｈにｐ＋１を付与し、ハッシュ値管理ＤＢ１１に保存する（ステップ２２８）。サーバ３は、新規に入力する施工データ又は一連の施工データの中で変更された施工データに続くもので変更されてない施工データの順番に取り込み、ハッシュチェーンを生成していく（ステップ２２９〜２３３）。
【０１５２】
サーバ３は、ブロックに入力する施工データを取得し、ブロックを生成し、保存する（ステップ２２９、２３０）。施工データを変更した場合は、変更施工データの直前のデータＤ（ｋ）、直前に計算されたハッシュ値Ｈ（ｐ＋１）、変更施工データＤ（ｎ＋１）を利用してブロックを生成する。その次は、直前のブロックの施工データ、直前に計算されたハッシュ値Ｈ、入力する施工データＤを利用してブロックを生成する。生成されたブロックのハッシュ値を計算しハッシュ値管理ＤＢ１１に保存する（ステップ２３１）。
【０１５３】
データカウンタｄとハッシュ値カウンタｈが更新される（ステップ２３２）。以後、施工データが終わるまでに、ステップ２２９以後の処理が繰り返し行われる（ステップ２３３→２２９）。施工データが終わると、上述の図１７のステップ２１３〜２１６と同様に、ハッシュチェーンの完結処理を行う（ステップ２３４〜２３６）。
【０１５４】
施工データは、ハッシュチェーンに組み込まれてサーバ３（図１を参照。）に格納されている。このハッシュチェーンのハッシュ値はサーバ３のハッシュ値管理ＤＢ１１に格納されている。本発明の第２の実施の形態の建設データ管理システム１において、施工データの検証は、検証端末７等からサーバ３にアクセスし、施工データが改ざんされているか否かの検証をする。この検証の手順例の流れは、図１１の手順と同様に行われるので詳細な説明は省略する。
【０１５５】
［第３の実施の形態］
本発明の第３の実施の形態の建設データ管理システム１について、図面を参照しながら説明する。本発明の第３の実施の形態の建設データ管理システム１は、本発明の第１の実施の形態の建設データ管理システム１と構成及び機能が同じであり、ここでは異なる点のみを記述する。具体的には、図２３（ｇ）又は図２３（ｈ）に図示したように、ブロックＢ（ｎ）は、直前のブロックＢ（ｎー１）のハッシュ値と、新しく取り込む施工データＤ（ｎ）からなる。
【０１５６】
図１９には、施工データを取り込み、ハッシュ関数を利用して、ハッシュチェーンを生成する手順を示している。現場端末２において、施工データＤ（１）を利用して、第１回目のブロックＢ（１）が生成され、第１回目の計算処理が行われ、ハッシュ値（Ｈ１）が生成される。ハッシュチェーンには、Ｂ（１）が追加される。
【０１５７】
ハッシュ値Ｈ（１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納される。Ｄ（１）とＨ（１）は、現場端末２からサーバ３へ送信され、ハッシュチェーンＤＢ１０に格納され、管理される。現場端末２に次の施工データＤ（２）が取り込まれると、Ｄ（２）を含む第２ブロックＢ（２）が生成され、Ｂ（２）に対するハッシュ値Ｈ（２）がハッシュ関数を利用して２回目の計算処理で計算される。
【０１５８】
ハッシュ値Ｈ（２）を計算するとき、Ｂ（１）に対応するＨ（１）及びＤ（２）が一つのブロックＢ（１）を構成し、ハッシュ値が計算され、ハッシュ値Ｈ（２）が生成される（２回目の計算処理）。現場端末２に施工データＤ（３）が取り込まれると、Ｂ（２）に対応するＨ（２）及びＤ（３）が一つのブロックＢ（３）を構成し、ハッシュ値が計算され、ハッシュ値Ｈ（３）が生成される（３回目の計算処理）。
【０１５９】
このように、Ｄ（ｎ）の施工データが現場端末２に取り込まれると、Ｂ（ｎ−１）に対応するＨ（ｎ−１）及びＤ（ｎ）が一つのブロックＢ（ｎ）になり、Ｂ（ｎ）のハッシュ値が計算され、ハッシュ値Ｈ（ｎ）が生成される（ｎ回目の計算処理）。そして、一連のＢ（１）〜Ｂ（ｎ）とＨ（１）〜Ｈ（ｎ）がハッシュチェーンＤＢ１０、ハッシュ値管理ＤＢ１１に格納され、管理される。
【０１６０】
Ｄ（１）〜Ｄ（ｎ）の内の一つの施工データが変更された場合、この例ではＤ（ｋ＋１）が変更される場合、ハッシュチェーンの生成について図２０を参照しながら説明する。Ｂ（ｎ）からｍ番目前のブロックの施工データが変更されたとき、変更の種類、変更理由や変更された施工データについて記述するコマンドデータＣＭＤ（ｍ）が生成される。ＣＭＤ（ｍ）とその直前に生成されたハッシュ値Ｈ（ｎ）を合わせて一つのブロックとして生成する。
【０１６１】
コマンドブロックのハッシュ値が計算され、Ｈ（ｎ＋１）が生成される（ｎ＋１回目の計算処理）。コマンドデータを含むコマンドブロックは現場端末２からサーバ３へ送信されハッシュチェーンＤＢ１０に追加される。同じく、ハッシュ値Ｈ（ｎ＋１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納され管理される。
【０１６２】
図２０において、ｎ＋１回目の計算処理の後、変更された施工データＤ（ｎ＋１）が現場端末２に入力される。そして、直前のハッシュ値Ｈ（ｎ＋１）、変更されたデータＤ（ｎ＋１）がまとまって一つのブロックを構成しブロックとして生成される。そして、この生成されたブロックに対応するハッシュ値の計算が行われる（ｎ＋２回目の計算処理）。
【０１６３】
以後、計算処理は、同じように、直前のハッシュ値、入力された新しいデータが一つのブロックを構成し、ハッシュ値の計算処理が行わる。
【０１６４】
図２１は、ハッシュチェーンが完結する手順例を図示している。ここでは、Ｄ（１）〜Ｄ（ｎ）までのデータが取り込まれ、計算処理が行われ、それに対応するハッシュ値Ｈ（１）〜Ｈ（ｎ）が生成されている。ハッシュチェーンにこれ以上のデータを追加しないで、一つのまとまったデータとして記録するためには、最初の施工データＤ（１）を用いて、最後のハッシュ値を生成する。
【０１６５】
図２１に図示したように、直前のハッシュ値Ｈ（ｎ）、最初の施工データ（基準施工データ）Ｄ（１）をまとめて一つのブロックとし、ハッシュ値を計算し、最後のハッシュ値（最終ハッシュ値又は完結ハッシュ値とも言うことができる。）Ｈ（ｎ＋１）を生成する（ｎ＋１回目の計算処理）。Ｈ（ｎ＋１）は、現場端末２からサーバ３へ送信され、ハッシュ値管理ＤＢ１１に格納されて管理される。
【０１６６】
〔その他の実施の形態〕
図２２には変更したデータの例を図示している。一連のデータは、Ｄ（１）から始まっているが、データＤａ（１）で変更し、Ｄ（１）…Ｄａ（１）…Ｄａ（２）と、Ｄ（１）…Ｄａ（１）…Ｄｂ（１）となる。このとき、Ｄ（１）…Ｄａ（１）…Ｄａ（２）は完結し、ハッシュチェーンＤＢに格納される。Ｄ（１）…Ｄａ（１）…Ｄｂ（１）はＤｂ（２）、Ｄａ（３）の２つの系統に分岐している。同じく、Ｄ（１）…Ｄａ（１）…Ｄｂ（１）、Ｄｂ（２）が完結し、ハッシュチェーンＤＢに格納される。
【０１６７】
新規に入力されたデータは、Ｄ（１）…Ｄａ（１）、Ｄｂ（１）…Ｄａ（３）となり、最後は、完結する。このように、現場のデータは、途中で修正され、変更されると、その度に、一つの完結したハッシュチェーンを生成し、ハッシュチェーンＤＢに格納して管理される。無論、各ハッシュチェーンのハッシュ値は、ハッシュ値管理ＤＢに格納されて管理される。
【０１６８】
次は、本発明の第１の実施の形態の建設データ管理システム１の動作概要を図面を参照しながら説明する。現場端末２は現場で設置されており、現場の施工データを取得して、ハッシュチェーンのための処理を行い、処理結果のハッシュチェーン又はそのブロック及びハッシュ値をサーバ３へ送信する。サーバ３では、現場端末２から送信されてきたハッシュチェーン又はそのブロック及びハッシュ値を管理データベース５に格納する。
【０１６９】
現場端末２が起動し、建設データ管理システム１用の建設データ管理プログラムが起動する。現場端末２は現場の作業者によって操作されるもので、現場で取得したデータが入力される。作業者は、ディジタルカメラ等で撮影した撮影データ、現場の建設機械の稼働状況を示す稼働データ等を現場端末２に入力する。
【０１７０】
または、現場端末２とディジタルカメラ等とを接続してデータ通信を行い撮影データを取得、若しくは、現場の建設機械の通信手段と接続し稼働データ等を現場端末２が取得する。この撮影データ、稼働データは、作業者が現場端末２、その上で動作する建設データ管理プログラムを操作し、データを一つ一つ入力指示することができるが、現場端末２をディジタルカメラ、建設機械等と接続させて自動的に取得することもできる。
【０１７１】
図２３は、ハッシュチェーンのブロックの構成例を図示している。ハッシュチェーンのブロックは、基本的に、連結した直前のブロックの施工データＤとハッシュ値、このブロックに取り込む施工データＤからなっている。この３種類のデータはブロックに取り込まれる順番を入れ替えると８種類になり、この入れ替えた例を図２３（ａ）〜（ｆ）に図示している。
【０１７２】
図２３（ａ）は、ｎ番目のＢ（ｎ）ブロックの場合を例に説明すると、ブロックＢ（ｎ）には、ブロックＢ（ｎ−１）の施工データＤ（ｎ−１）とハッシュ値Ｈ（ｎ−１）、及び、このブロックＢ（ｎ）に取り込む施工データＤ（ｎ）の順番で取り込まれている。そして、Ｂ（ｎ）ブロックのハッシュ値が計算される。
【０１７３】
図２３（ｂ）では、ブロックＢ（ｎ）には、ブロックＢ（ｎ−１）のハッシュ値Ｈ（ｎ−１）と施工データＤ（ｎ−１）、及び、このブロックＢ（ｎ）に取り込む施工データＤ（ｎ）の順番で取り込まれている。そして、Ｂ（ｎ）ブロックのハッシュ値が計算される。この計算されたハッシュ値は図２３（ａ）の場合のハッシュ値と異なる。その他の図２３（ｃ）〜（ｆ）は、同様に取り込まれるデータＤ（ｎ）、Ｈ（ｎ−１）、Ｄ（ｎー１）の順番が異なっており、無論、計算された値も異なる。
【０１７４】
上述の本発明の第１の実施の形態の建設データ管理システム１は、図３に図示したように、図２３（ａ）のブロック例を利用したハッシュチェーンの例である。建設データ管理システムは、図２３（ｂ）〜（ｆ）に図示したブロックの中から選択される１ブロックを採用したハッシュチェーンを利用しており、その生成及び検証、それらのための処理は、上述の本発明の第１の実施の形態の建設データ管理システム１と同じであり、詳細な説明は省略する。
【０１７５】
図２３（ｇ）に図示したように、ブロックＢ（ｎ）は、ブロックＢ（ｎ）に取り込む施工データＤ（ｎ）と、ブロックＢ（ｎ−１）のハッシュ値Ｈ（ｎ−１）の順番で取り込まれている。また、図２３（ｈ）に図示したように、ブロックＢ（ｎ）は、ブロックＢ（ｎ−１）のハッシュ値Ｈ（ｎ−１）とブロックＢ（ｎ）に取り込む施工データＤ（ｎ）の順番で取り込まれている。この図２３（ｇ）と図２３（ｈ）の例は、本発明の第３の実施の形態の例である。
【産業上の利用可能性】
【０１７６】
本発明は、建築、土木等の建設分野に利用すると良い。特に、建設現場の施工データ等の建設関連書類を保管し、それを証明、検証するために利用すると良い。
【符号の説明】
【０１７７】
１  …建設データ管理システム
２  …現場端末
３  …サーバ
４  …ネットワーク
５  …管理データベース
６  …通信端末
７  …検証端末
１０…ハッシュチェーンデータベース（ＤＢ）
１１…ハッシュ値管理データベース（ＤＢ）
２０…コマンドデータ
２１…ブロック指定部
２２…コメント部
【図１】
2020202442.tif 000004
【図２】
2020202442.tif 000005
【図３】
2020202442.tif 000006
【図４】
2020202442.tif 000007
【図５】
2020202442.tif 000008
【図６】
2020202442.tif 000009
【図７】
2020202442.tif 000010
【図８】
2020202442.tif 000011
【図９】
2020202442.tif 000012
【図１０】
2020202442.tif 000013
【図１１】
2020202442.tif 000014
【図１２】
2020202442.tif 000015
【図１３】
2020202442.tif 000016
【図１４】
2020202442.tif 000017
【図１５】
2020202442.tif 000018
【図１６】
2020202442.tif 000019
【図１７】
2020202442.tif 000020
【図１８】
2020202442.tif 000021
【図１９】
2020202442.tif 000022
【図２０】
2020202442.tif 000023
【図２１】
2020202442.tif 000024
【図２２】
2020202442.tif 000025
【図２３】
2020202442.tif 000026