(57)【要約】      （修正有）【課題】各種サービスを利用するユーザのポリシーに基づいてユーザの個人情報を適切に活用するプラットフォーム（ＰＰＭ）の履歴情報を、ブロックチェーンによって記録する仕組みを提供する。【解決手段】履歴を記録するためのブロックチェーンに記録される履歴情報を生成する生成装置１０であって、履歴情報を受信する履歴情報受信部１１０と、ブロックチェーンに基づいて、履歴情報受信部が受信した履歴情報のうち、ブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出部１２０と、未記録履歴情報のハッシュ値を算出する算出部１３０と、を備える。【選択図】図３
2018196097.tif 000002
【特許請求の範囲】
【請求項１】
履歴を記録するためのブロックチェーンに記録される履歴情報を生成する生成装置であって、
履歴情報を受信する履歴情報受信部と、
前記ブロックチェーンに基づいて、前記履歴情報受信部が受信した前記履歴情報のうち、前記ブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出部と、
前記未記録履歴情報のハッシュ値を算出する算出部と、
を備える生成装置。
【請求項２】
前記抽出部は、
前記ブロックチェーンに含まれる複数のブロックのうち、オープン状態であるブロックの１つ前にクローズ状態にされたブロックに記録される取引が行われた時刻以降の取引の履歴情報を前記未記録履歴情報として抽出する、
請求項１に記載の生成装置。
【請求項３】
請求項１又は請求項２に記載の生成装置を複数備え、前記ブロックチェーンのブロックの合意形成を行う合意形成システムであって、
前記生成装置は、
他の生成装置に履歴情報のハッシュ値を送信するハッシュ値送信部と、
他の生成装置が送信するハッシュ値と、前記算出部が算出したハッシュ値と、前記ブロックチェーンとに基づいて、ルートハッシュ値を算出するルート算出部と、
前記ルートハッシュ値を他の生成装置に送信するルート値送信部と、
他の生成装置から送信された前記ルートハッシュ値に基づいて、オープン状態のブロックをクローズ状態にするか否かを選択する選択部と、
前記選択部が選択した選択結果を示す情報を他の生成装置に送信する選択結果送信部と、
他の生成装置から前記選択結果を受信する選択結果受信部と、
前記選択結果受信部が受信した前記選択結果に基づいて、オープン状態であるブロックをクローズ状態にする否かを判定する判定部と、
前記判定部の判定結果がオープン状態であるブロックをクローズ状態にすることを示す場合、ネットワークに接続される端末にクローズ状態にされたブロックを送信するブロック送信部と、
を更に備える合意形成システム。
【請求項４】
前記選択部は、
前記ルートハッシュ値に、自装置が算出した前記履歴情報が含まれている場合、オープン状態のブロックをクローズ状態にすると選択する、
請求項３に記載の合意形成システム。
【請求項５】
前記選択部は、
オープン状態であるブロックの１つ前にクローズ状態にされたブロックのハッシュ値が、前記ルートハッシュ値に含まれていない場合、オープン状態のブロックをクローズ状態にしないと選択する、
請求項３又は請求項４に記載の合意形成システム。
【請求項６】
複数の生成装置には、信頼度が付されており、
前記判定部は、
オープン状態であるブロックをクローズ状態にすることを示す選択結果を送信した生成装置に付される信頼度の和が、所定の閾値以上である場合、オープン状態であるブロックをクローズ状態にすると判定する、
請求項３から請求項５のいずれか一項に記載の合意形成システム。
【請求項７】
コンピュータに、
履歴情報を受信する受信ステップと、
前記受信ステップが受信した前記履歴情報のうち、前記履歴情報を記録するためのブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出ステップと、
前記未記録履歴情報のハッシュ値を算出する算出ステップと、
を実行させ、前記ブロックチェーンに記録される履歴情報を生成する
プログラム。
【請求項８】
コンピュータが、履歴情報を受信する受信手順と、
コンピュータが、前記受信手順によって受信された前記履歴情報のうち、履歴情報を記録するためのブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出手順と、
コンピュータが、前記未記録履歴情報のハッシュ値を算出する算出手順と、
コンピュータが、前記ハッシュ値を他の装置に送信するハッシュ値送信手順と、
コンピュータが、他の装置が送信した前記ハッシュ値と、前記算出手順によって算出されたハッシュ値と、前記ブロックチェーンとに基づいて、ルートハッシュ値を算出するルート算出手順と、
コンピュータが、前記ルートハッシュ値に基づいて、オープン状態のブロックをクローズ状態にするか否かを選択する選択手順と、
コンピュータが、前記選択手順によって選択された選択結果に基づいて、オープン状態であるブロックをクローズ状態にする否かを判定する判定手順と、
コンピュータが、前記判定手順によって判定された判定結果がオープン状態であるブロックをクローズ状態にすることを示す場合、ネットワークに接続される端末にクローズ状態にされたブロックを送信するブロック送信手順と、
を備える生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、合意形成システム、プログラム、及び生成方法に関する。
【背景技術】
【０００２】
従来、ネットワークに接続する複数の端末の間における取引の履歴を記録するブロックチェーンに関する技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system, 2008.
【非特許文献２】Sompolinsky, Y., Zohar, A.: Accelerating bitcoin's transaction processing. Fast money grows on trees, not chains. IACR Cryptology ePrint Archive 2013 (2013)881.
【非特許文献３】Lewenberg, Y., Sompolinsky, Y., Zohar, A.: Inclusive block chain protocols. In:Financial Cryptography and Data Security - 19th International Conference, FC2015, San Juan, Puerto Rico, January 26-30, 2015, Revised Selected Papers. (2015)528-547
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、各種サービスを利用するユーザのポリシーに基づいて、当該ユーザの個人情報を適切に活用するプラットフォーム（Ｐｒｉｖａｃｙ  Ｐｏｌｉｃｙ  Ｍａｎａｇｅｒ（以下、ＰＰＭ））が知られている。ＰＰＭを用いることにより、ユーザは、自身の個人情報が意図せず他者に知られることなく、各種サービスを利用することができる。この場合、各種サービスを利用した履歴は、ユーザが利用したサービスの詳細等を示しつつ、かつユーザの個人情報が他者に知られることのないような仕組みによって示されることが好ましい。
本発明は、上記問題に鑑みて為されたものであり、ブロックチェーンによってＰＰＭの履歴情報を記録する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明の一態様は、履歴を記録するためのブロックチェーンに記録される履歴情報を生成する生成装置であって、履歴情報を受信する履歴情報受信部と、前記ブロックチェーンに基づいて、前記履歴情報受信部が受信した前記履歴情報のうち、前記ブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出部と、前記未記録履歴情報のハッシュ値を算出する算出部と、を備える生成装置である。
【０００６】
（２）本発明の一態様は、上記（１）に記載の生成装置において、前記抽出部は、前記ブロックチェーンに含まれる複数のブロックのうち、オープン状態であるブロックの１つ前にクローズ状態にされたブロックに記録される取引が行われた時刻以降の取引の履歴情報を前記未記録履歴情報として抽出する。
【０００７】
（３）本発明の一態様は、上記（１）又は（２）に記載の生成装置を複数備え、前記ブロックチェーンのブロックの合意形成を行う合意形成システムであって、前記生成装置は、他の生成装置に履歴情報のハッシュ値を送信するハッシュ値送信部と、他の生成装置が送信するハッシュ値と、前記算出部が算出したハッシュ値と、前記ブロックチェーンとに基づいて、ルートハッシュ値を算出するルート算出部と、前記ルートハッシュ値を他の生成装置に送信するルート値送信部と、他の生成装置から送信された前記ルートハッシュ値に基づいて、オープン状態のブロックをクローズ状態にするか否かを選択する選択部と、前記選択部が選択した選択結果を示す情報を他の生成装置に送信する選択結果送信部と、他の生成装置から前記選択結果を受信する選択結果受信部と、前記選択結果受信部が受信した前記選択結果に基づいて、オープン状態であるブロックをクローズ状態にする否かを判定する判定部と、前記判定部の判定結果がオープン状態であるブロックをクローズ状態にすることを示す場合、ネットワークに接続される端末にクローズ状態にされたブロックを送信するブロック送信部と、を更に備える合意形成システムである。
【０００８】
（４）本発明の一態様は、上記（３）に記載の合意形成システムにおいて、前記選択部は、前記ルートハッシュ値に、自装置が算出した前記履歴情報が含まれている場合、オープン状態のブロックをクローズ状態にすると選択する。
【０００９】
（５）本発明の一態様は、上記（３）又は（４）に記載の合意形成システムにおいて、前記選択部は、オープン状態であるブロックの１つ前にクローズ状態にされたブロックのハッシュ値が、前記ルートハッシュ値に含まれていない場合、オープン状態のブロックをクローズ状態にしないと選択する。
【００１０】
（６）本発明の一態様は、上記（３）から（５）に記載の合意形成システムにおいて、複数の生成装置には、信頼度が付されており、前記判定部は、オープン状態であるブロックをクローズ状態にすることを示す選択結果を送信した生成装置に付される信頼度の和が、所定の閾値以上である場合、オープン状態であるブロックをクローズ状態にすると判定する。
【００１１】
（７）本発明の一態様は、コンピュータに、履歴情報を受信する受信ステップと、前記受信ステップが受信した前記履歴情報のうち、前記履歴情報を記録するためのブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出ステップと、前記未記録履歴情報のハッシュ値を算出する算出ステップと、を実行させ、前記ブロックチェーンに記録される履歴情報を生成するプログラムである。
【００１２】
（８）本発明の一態様は、コンピュータが、履歴情報を受信する受信手順と、コンピュータが、前記受信手順によって受信された前記履歴情報のうち、履歴情報を記録するためのブロックチェーンに記録されていない履歴情報である未記録履歴情報を抽出する抽出手順と、コンピュータが、前記未記録履歴情報のハッシュ値を算出する算出手順と、コンピュータが、前記ハッシュ値を他の装置に送信するハッシュ値送信手順と、コンピュータが、他の装置が送信した前記ハッシュ値と、前記算出手順によって算出されたハッシュ値と、前記ブロックチェーンとに基づいて、ルートハッシュ値を算出するルート算出手順と、コンピュータが、前記ルートハッシュ値に基づいて、オープン状態のブロックをクローズ状態にするか否かを選択する選択手順と、コンピュータが、前記選択手順によって選択された選択結果に基づいて、オープン状態であるブロックをクローズ状態にする否かを判定する判定手順と、コンピュータが、前記判定手順によって判定された判定結果がオープン状態であるブロックをクローズ状態にすることを示す場合、ネットワークに接続される端末にクローズ状態にされたブロックを送信するブロック送信手順と、を備える生成方法である。
【発明の効果】
【００１３】
本発明によれば、ブロックチェーンによってＰＰＭの履歴情報を記録する仕組みを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】従来技術におけるブロックチェーンの構成の一例を示す図である。
【図２】第１実施形態の生成装置が接続されるネットワーク構成の一例を示す図である。
【図３】第１実施形態の生成装置の構成の一例を示す図である。
【図４】第１実施形態の生成装置が生成するトランザクションハッシュ値を記録するブロックチェーンの一例を示す図である。
【図５】第１実施形態の生成装置の動作の一例を示す流れ図である。
【図６】第２実施形態の合意形成システムのネットワーク構成の一例を示す図である。
【図７】第２実施形態の生成装置の構成の一例を示す図である。
【図８】第２実施形態の合意形成システムの動作の一例を示す流れ図である。
【図９】第２実施形態におけるルート算出部のルートハッシュ値の算出方法の一例を示す図である。
【図１０】第２実施形態の生成装置が生成するルートハッシュ値を記録するブロックチェーンの一例を示す図である。
【図１１】変形例の合意形成システムのネットワーク構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
［従来のブロックチェーンについて］
図１を参照して、従来のブロックチェーンの構成について説明する。
図１は、従来技術におけるブロックチェーンの構成の一例を示す図である。
図１に示す通り、従来、ブロックチェーンを構成する各ブロックには、当該ブロックの１つ前のブロックのハッシュ値と、トランザクションと、当該ブロックのナンス値が含まれる。トランザクションは、当該ブロックの１つ前のブロックがクローズ状態にする処理が開始されてから、当該ブロックのクローズ処理が開始されるまでの間に行われた取引の履歴示す情報（以下、履歴情報）である。したがって、ブロックチェーンには、履歴情報が記録される。履歴情報には、例えば、送信先の個人情報、送信元の個人情報、及び送金額等が含まれる。ブロックチェーンを参照可能な参照者は、トランザクションＴを参照することにより、各種個人情報を参照することが可能である。
【００１６】
近年、各種サービスを利用するユーザのポリシーに基づいて、当該ユーザの個人情報を適切に活用するプラットフォーム（Ｐｒｉｖａｃｙ  Ｐｏｌｉｃｙ  Ｍａｎａｇｅｒ（以下、ＰＰＭ））が知られている。ＰＰＭとは、サービスを利用するユーザのポリシーに基づいた個人情報の流通を実現する仕組みである。ユーザは、ＰＰＭを介して各種サービスを利用することにより、ユーザ自身が意図しない用途に個人情報が用いられることを抑制することができる。ここで、ユーザがＰＰＭを介して各種サービスを利用した履歴は、利用した内容の正当性を保証しつつ、かつユーザの個人情報が他者に知られることのないような仕組みによって示されることが好ましい。本発明の生成装置１０は、ブロックチェーンに記録される履歴情報であって、ＰＰＭを利用するユーザの履歴情報を生成する。以下、生成装置１０の概要について説明する。
【００１７】
［第１実施形態］
以下、図を参照して本発明の実施形態について説明する。
【００１８】
［生成装置の概要について］
図２は、第１実施形態の生成装置１０が接続されるネットワーク構成の一例を示す図である。本実施形態の一例において、生成装置１０は、例えば、ＰＰＭを実現する装置（以下、ＰＰＭ装置）内に備えられる。
【００１９】
本実施形態の一例では、ユーザが金銭の取引を、ネットワークＮＷを介して行う。この場合、ＰＰＭ装置と、ユーザが使用する端末（以下、端末ＴＭ）とは、ネットワークＮＷを介して接続される。図示する通り、本実施形態では、複数の端末ＴＭ（端末ＴＭ−１〜ＴＭ−ｎ）がネットワークＮＷを介して接続される。ｎとは、自然数である。以降の説明において、端末ＴＭ−１〜ＴＭ−ｎを区別しない場合、総称して端末ＴＭと記載する。
【００２０】
ユーザは、端末ＴＭを用いて、取引の内容を示す情報（以下、トランザクションＴ）をＰＰＭ装置に送信する。トランザクションＴには、例えば、送信先の個人情報、送信元の個人情報、及び送金額等が含まれる。生成装置１０は、各端末ＴＭから受信したトランザクションＴ（図示するトランザクションＴ−１〜Ｔ−ｎ）に含まれる各種個人情報が他者に公開されないようにしつつ、トランザクションＴをブロックチェーンによって記録し、正当性を保証する。
以下、生成装置１０の具体的な構成について説明する。
【００２１】
［生成装置の構成について］
図３は、第１実施形態の生成装置１０の構成の一例を示す図である。
図３に示す通り、生成装置１０は、制御部１００と、記憶部５００とを備える。記憶部５００には、ブロックチェーン情報ＢＬＫと、トランザクション履歴情報ＴＩとが記憶される。ここで、生成装置１０は、ブロックチェーンのノードとしての機能を有する。生成装置１０は、例えば、ネットワークＮＷを用いて送信されるブロックを受信し、ブロックチェーン情報ＢＬＫとして記憶部５００に記憶する機能を有する。ブロックチェーン情報ＢＬＫには、ブロックチェーンを構成する各ブロックを示す情報、及び各ブロックの接続を示す情報が含まれる。また、トランザクション履歴情報ＴＩには、各端末ＴＭから受信したトランザクションＴが記憶される。
【００２２】
制御部１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えており、受信部１１０と、抽出部１２０と、算出部１３０と、送信部１４０とをその機能部として備える。受信部１１０は、各端末ＴＭからトランザクションＴを受信する。受信部１１０は、受信したトランザクションＴを記憶部５００にトランザクション履歴情報ＴＩとして記憶させる。
【００２３】
抽出部１２０は、トランザクション履歴情報ＴＩに含まれるトランザクションＴのうち、ブロックチェーン情報ＢＬＫに記録されていないトランザクションＴを抽出する。ブロックチェーンは、例えば、所定の時間毎にブロックが生成される（オープン状態のブロックがクローズ状態にされる）。抽出部１２０は、トランザクション履歴情報ＴＩに含まれるトランザクションＴのうち、ブロックチェーン情報ＢＬＫに含まれる最新のブロックが生成された時刻以降に受信したトランザクションＴを抽出する。この場合、トランザクション履歴情報ＴＩには、トランザクションＴと、当該トランザクションＴを受信した時刻とが関連付けられて記憶される。抽出部１２０は、抽出したトランザクションＴを算出部１３０に供給する。この一例では、抽出部１２０は、端末ＴＭ−１から受信したトランザクションＴ−１と、端末ＴＭ−２から受信したトランザクションＴ−２と、端末ＴＭ−ｎから受信したトランザクションＴ−ｎを抽出し、算出部１３０に供給する。
【００２４】
算出部１３０は、抽出部１２０からトランザクションＴを取得する。算出部１３０は、取得したトランザクションＴのハッシュ値（以下、トランザクションハッシュ値ＨＶ）を算出する。算出部１３０は、算出したトランザクションハッシュ値ＨＶを送信部１４０に供給する。
送信部１４０は、算出部１３０から取得したトランザクションハッシュ値ＨＶを、ネットワークＮＷを用いて他のノードに送信する。
【００２５】
ネットワークＮＷに接続されるノードは、生成装置１０が送信するトランザクションハッシュ値ＨＶや、他の装置が送信するトランザクションに基づいて、マイニングを行う。マイニングとは、ノードがブロックをクローズ状態にする条件に合うハッシュ値を算出することである。ネットワークＮＷに接続されるノードは、マイニングを行ったブロックのハッシュ値、当該ブロックに含まれるトランザクションハッシュ値ＨＶ、及びナンス値とを含むブロックを生成し、ネットワークＮＷ用いて他のノードに送信する。
【００２６】
図４は、第１実施形態の生成装置１０が生成するトランザクションハッシュ値ＨＶを記録するブロックチェーンの一例を示す図である。
図４は、例えば、生成装置１０のみがネットワークＮＷに接続される場合のブロックチェーンの一例を示す図である。換言すると、ブロックには、トランザクションとしてトランザクションハッシュ値ＨＶのみが記録される。したがって、図４に示すブロックチェーンの各ブロックには、図１に示すブロックチェーンに含まれるトランザクションに代えて、トランザクションハッシュ値ＨＶが記憶される。
【００２７】
［生成装置の動作について］
図５は、第１実施形態の生成装置１０の動作の一例を示す流れ図である。
受信部１１０は、各端末ＴＭからトランザクションＴを受信する（ステップＳ１１０）。受信部１１０は、例えば、常時、又は所定の時間間隔においてトランザクションＴを受信する。抽出部１２０は、トランザクション履歴情報ＴＩに含まれるトランザクションＴのうち、ブロックチェーンに記録されていないトランザクションＴを抽出する（ステップＳ１２０）。算出部１３０は、抽出部１２０が抽出したトランザクションＴのトランザクションハッシュ値ＨＶを算出する（ステップＳ１３０）。送信部１４０は、算出部１３０が算出したトランザクションハッシュ値ＨＶを、ネットワークＮＷを用いて送信する（ステップＳ１４０）。
【００２８】
［第１実施形態のまとめ］
以上説明したように、本実施形態の生成装置１０は、受信したトランザクションＴに基づいてトランザクションハッシュ値ＨＶを算出し、ネットワークＮＷを用いて送信する。ネットワークＮＷに接続されるノードは、当該トランザクションハッシュ値ＨＶに基づいて、ブロックを生成する。
【００２９】
本実施形態の生成装置１０は、トランザクションハッシュ値ＨＶをネットワークＮＷに送信することにより、トランザクションＴに代えてトランザクションハッシュ値ＨＶをブロックチェーンに記録することができる。したがって、本実施形態の生成装置１０によれば、トランザクションＴが送信されることによって取引を行う取引者の個人情報を非公開にすることができる。また、本実施形態の生成装置１０は、トランザクション履歴情報ＴＩと、ブロックに含まれるトランザクションハッシュ値ＨＶと、ナンス値とに基づいて、トランザクションハッシュ値ＨＶの元になるデータであるトランザクションＴの正当性を保証することができる。したがって、本実施形態の生成装置１０によれば、取引者のトランザクションＴの秘匿性を高めつつ、かつトランザクションＴの正当性を保証することができる。つまり、本実施形態の生成装置１０によれば、ブロックチェーンによってＰＰＭの履歴情報を記録することができる。
【００３０】
また、本実施形態の生成装置１０が備える抽出部１２０は、ブロックチェーンに含まれる複数のブロックのうち、オープン状態であるブロックの１つ前にクローズ状態にされたブロック（例えば、最新のブロック）に記録される取引が行われた時刻以降の取引のトランザクションＴを抽出する。
ここで、算出部１３０が、トランザクション履歴情報ＴＩに含まれるトランザクションＴのすべてを元データとしてトランザクションハッシュ値ＨＶを算出する場合、生成装置１０の処理負荷が増加する可能性がある。本実施形態の生成装置１０が備える抽出部１２０は、ブロックチェーンに記録されるトランザクションＴ（トランザクションハッシュ値ＨＶ）以外のトランザクションＴを抽出する。換言すると、本実施形態の生成装置１０が備える抽出部１２０は、トランザクション履歴情報ＴＩのうち、ブロックチェーンに記録されるトランザクションＴとの差分を抽出する。これにより、本実施形態の生成装置１０は、トランザクションハッシュ値ＨＶを算出する際の処理負荷を低減することができる。
【００３１】
なお、上述では、生成装置１０がノードとしての機能を有する場合について説明したが、これに限られない。例えば、ＰＰＭ装置がノードとしての機能を有する構成であってもよく、ネットワークＮＷに接続される他の装置がノードとしての機能を有する構成であってもよい。この場合、生成装置１０が備える記憶部５００には、ブロックチェーン情報ＢＬＫが記憶されていなくてもよい。
【００３２】
本実施形態において、受信部１１０とは、「履歴情報受信部」の一例である。また、トランザクションＴとは、「履歴情報」の一例である。また、抽出部１２０が抽出するトランザクションＴとは、「未記録履歴情報」の一例である。また、トランザクションハッシュ値ＨＶとは、「未記録履歴情報のハッシュ値」の一例である。また、送信部１４０とは、「ハッシュ値送信部」の一例である。
【００３３】
［第２実施形態］
以下、図を参照して本発明の第２実施形態について説明する。第１実施形態では、ネットワークＮＷに接続されるノードがマイニングを行い、ブロックを生成する場合について説明した。第２実施形態では、ネットワークＮＷに接続される各ノードがマイニング、及び合意形成を行い、ブロックを生成する場合について説明する。
なお、上述した実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００３４】
[生成装置の概要について]
図６は、第２実施形態の合意形成システム１のネットワーク構成の一例を示す図である。図６に示す通り、合意形成システム１は、複数の生成装置１１を備える。具体的には、ネットワークＮＷには、４つのＰＰＭ装置（図示するＰＰＭ装置−１〜ＰＰＭ装置−４）が接続され、各ＰＰＭ装置がそれぞれ生成装置１１を備える。より具体的には、ＰＰＭ装置−１には、生成装置１１−１が備えられ、ＰＰＭ装置−２には、生成装置１１−２が備えられ、ＰＰＭ装置−３には、生成装置１１−３が備えられ、ＰＰＭ装置−４には、生成装置１１−４が備えられる。
【００３５】
また、ＰＰＭ装置−１は、トランザクションＴを管理する対象の端末ＴＭ（図示する端末ＴＭ１−１〜ＴＭ１−ｎ）からトランザクションＴ（トランザクションＴ１−１〜Ｔ１−ｎ）を受信する。ＰＰＭ装置−２は、トランザクションＴを管理する対象の端末ＴＭ（図示する端末ＴＭ２−１〜ＴＭ２−ｎ）からトランザクションＴ（トランザクションＴ２−１〜Ｔ２−ｎ）を受信する。ＰＰＭ装置−３は、トランザクションＴを管理する対象の端末ＴＭ（図示する端末ＴＭ３−１〜ＴＭ３−ｎ）からトランザクションＴ（トランザクションＴ３−１〜Ｔ３−ｎ）を受信する。ＰＰＭ装置−４は、トランザクションＴを管理する対象の端末ＴＭ（図示する端末ＴＭ４−１〜ＴＭ４−ｎ）からトランザクションＴ（トランザクションＴ４−１〜Ｔ４−ｎ）を受信する。
【００３６】
本実施形態の一例において、生成装置１１−１がマイニングを行う。また、生成装置１１−２〜１１−４が、生成装置１１−１が行ったマイニングに対して合意形成を行う。具体的には、生成装置１１−２〜１１−４は、生成装置１１−１が行ったマイニングに対して合意するか否かを選択する。
以下、生成装置１１の具体的な構成について説明する。
【００３７】
［生成装置の構成について］
図７は、第２実施形態の生成装置１１の構成の一例を示す図である。
図７に示す通り、生成装置１１は、制御部１０１と、記憶部５００とを備える。
制御部１０１は、ＣＰＵを備えており、受信部１１０と、抽出部１２０と、算出部１３０と、送信部１４０と、ルート算出部１５０と、選択部１６０と、判定部１７０とをその機能部として備える。
【００３８】
本実施形態の一例において、マイニングを行う生成装置１１（この一例では、生成装置１１−１）の受信部１１０は、他の生成装置１１（この一例では、生成装置１１−２〜１１−４）が送信するトランザクションハッシュ値ＨＶを受信する。受信部１１０は、受信したトランザクションハッシュ値ＨＶをルート算出部１５０に供給する。
【００３９】
ルート算出部１５０は、受信部１１０が受信したトランザクションハッシュ値ＨＶと、算出部１３０が算出したトランザクションハッシュ値ＨＶと、ブロックチェーン情報ＢＬＫとに基づいて、マイニングを行う。具体的には、ルート算出部１５０は、受信部１１０が受信したトランザクションハッシュ値ＨＶと、算出部１３０が算出したトランザクションハッシュ値ＨＶと、ブロックチェーン情報ＢＬＫに含まれる最新のブロックのハッシュ値とに基づいて、オープン状態のブロックのハッシュ値（以下、ルートハッシュ値ＲＨＶ）を算出する。
【００４０】
本実施形態の送信部１４０は、ルート算出部１５０が算出したルートハッシュ値ＲＨＶを、ネットワークＮＷを用いて他のノード（この一例では、生成装置１１−２〜１１−４）に送信する。
選択部１６０は、受信部１１０が受信したルートハッシュ値ＲＨＶに基づいて、ブロックを生成する（オープン状態のブロックをクローズ状態する）ことに合意するか否かを選択する。
【００４１】
選択部１６０は、例えば、算出部１３０が算出したトランザクションハッシュ値ＨＶがルートハッシュ値ＲＨＶに含まれていない場合、ブロックを生成することに合意しないと選択する。また、選択部１６０は、例えば、ブロックチェーン情報ＢＬＫに含まれる最新のブロックのハッシュ値（以下、前ブロックハッシュ値ＢＨＶ）がルートハッシュ値ＲＨＶに含まれていない場合、ブロックを生成することに合意しないと選択する。また、選択部１６０は、例えば、算出部１３０が算出したトランザクションハッシュ値ＨＶがルートハッシュ値ＲＨＶに含まれており、かつ前ブロックハッシュ値ＢＨＶがルートハッシュ値ＲＨＶに含まれている場合、当該ルートハッシュ値ＲＨＶをトランザクションとしてブロックに記憶することに合意すると選択する。
【００４２】
選択部１６０は、選択した選択結果を示す情報を送信部１４０に供給する。本実施形態の送信部１４０は、選択部１６０が選択した選択結果を示す情報を、ネットワークＮＷを用いてマイニングを行う生成装置１１−１に送信する。
【００４３】
判定部１７０は、受信部１１０が受信した選択結果を示す情報に基づいて、ブロックを生成するか否かを判定する。判定部１７０は、例えば、受信した選択結果のうち、ブロックの生成に合意する選択結果が過半数である場合、ブロックを生成する。また、判定部１７０は、例えば、受信した選択結果のうち、ブロックの生成に合意する選択結果が過半数ではない場合、ブロックを生成しない。判定部１７０がブロックを生成しない場合、算出部１３０が算出したトランザクションハッシュ値ＨＶは、破棄される。また、破棄されたトランザクションハッシュ値ＨＶの元データであるトランザクションＴは、抽出部１２０が次のタイミングにおいてトランザクションＴを抽出する際に抽出される。
【００４４】
［生成装置の動作について］
図８は、第２実施形態の合意形成システム１の動作の一例を示す流れ図である。
具体的には、図８は、マイニングを行う生成装置１１と、合意形成を行う生成装置１１との動作の一例を示す流れ図である。なお、各生成装置１１が端末ＴＭからトランザクションＴを受信し、トランザクションハッシュ値ＨＶを、ネットワークＮＷを用いて送信するまでの動作は、上述した第１実施形態と同様（図５参照）であるため、説明を省略する。
【００４５】
マイニングを行う生成装置１１（この一例では、生成装置１１−１）の受信部１１０は、ネットワークＮＷに接続される他の生成装置１１（この一例では、生成装置１１−２〜１１−４）からトランザクションハッシュ値ＨＶを受信する（ステップＳ２１０）。以降の説明において、生成装置１１−１の算出部１３０が算出するトランザクションハッシュ値ＨＶをトランザクションハッシュ値ＨＶ１と記載する。また、生成装置１１−２の算出部１３０が算出するトランザクションハッシュ値ＨＶをトランザクションハッシュ値ＨＶ２と記載する。また、生成装置１１−３の算出部１３０が算出するトランザクションハッシュ値ＨＶをトランザクションハッシュ値ＨＶ３と記載する。また、生成装置１１−４の算出部１３０が算出するトランザクションハッシュ値ＨＶをトランザクションハッシュ値ＨＶ４と記載する。したがって、生成装置１１−１の受信部１１０は、トランザクションハッシュ値ＨＶ２〜ＨＶ４を受信する。生成装置１１−１の受信部１１０は、例えば、所定の時間間隔においてトランザクションハッシュ値ＨＶを受信する。トランザクションハッシュ値ＨＶを受信する時間間隔と、ブロックチェーンのブロックチェーンがブロックを生成する時間間隔とは、合致することが好ましい。
【００４６】
生成装置１１−１のルート算出部１５０は、生成装置１１−１の算出部１３０が算出するトランザクションハッシュ値ＨＶ１と、受信部１１０が受信したトランザクションハッシュ値ＨＶ２〜ＨＶ４と、ブロックチェーン情報ＢＬＫとに基づいて、ルートハッシュ値ＲＨＶを算出する（ステップＳ２２０）。
【００４７】
図９は、第２実施形態におけるルート算出部１５０のルートハッシュ値ＲＨＶの算出方法の一例を示す図である。ルート算出部１５０は、例えば、マークルツリーを用いて、ブロックに含まれるトランザクションハッシュ値ＨＶをルートハッシュ値ＲＨＶに集約する。ここでは、生成装置１１−１のルート算出部１５０は、受信したトランザクションハッシュ値ＨＶ２〜ＨＶ４と、算出部１３０が算出したトランザクションハッシュ値ＨＶ１と、前ブロックハッシュ値ＢＨＶとに基づいて、ルートハッシュ値ＲＨＶを算出する。具体的には、ルート算出部１５０は、トランザクションハッシュ値ＨＶ１と、トランザクションハッシュ値ＨＶ２とに基づいて、ハッシュ値（図示するトランザクションハッシュ値ＨＶ１２）を算出する。また、トランザクションハッシュ値ＨＶ３と、トランザクションハッシュ値ＨＶ４とに基づいて、ハッシュ値（図示するトランザクションハッシュ値ＨＶ３４）を算出する。また、ルート算出部１５０は、トランザクションハッシュ値ＨＶ１２と、トランザクションハッシュ値ＨＶ３４とに基づいて、トランザクションハッシュ値ＨＶ１２３４を算出する。また、ルート算出部１５０は、前ブロックハッシュ値ＢＨＶと、トランザクションハッシュ値ＨＶ１２３４とに基づいて、ルートハッシュ値ＲＨＶを算出する。
【００４８】
なお、ルート算出部１５０は、ネットワークＮＷに接続される各生成装置１１が算出するトランザクションハッシュ値ＨＶ（この一例では、トランザクションハッシュ値ＨＶ１〜ＨＶ４）がルートハッシュ値ＲＨＶの元データとして含まれていれば、いずれの順序でハッシュ値を算出してもよい。ルート算出部１５０は、例えば、トランザクションハッシュ値ＨＶ１〜ＨＶ４に基づいて、トランザクションハッシュ値ＨＶ１２３４を算出してもよい。
【００４９】
図８に戻り、生成装置１１−１の送信部１４０は、ルート算出部１５０が算出したルートハッシュ値ＲＨＶを、ネットワークＮＷを用いて生成装置１１−２〜１１−４に送信する（ステップＳ２３０）。
次に、合意形成を行う生成装置１１−２〜１１−４の受信部１１０は、ネットワークＮＷに送信されたルートハッシュ値ＲＨＶを受信する（ステップＳ２４０）。生成装置１１−２〜１１−４の選択部１６０は、ルートハッシュ値ＲＨＶに基づいて、ブロックを生成する（オープン状態のブロックをクローズ状態する）ことに合意するか否かを選択する。
【００５０】
選択部１６０は、例えば、算出部１３０が算出したトランザクションハッシュ値ＨＶがルートハッシュ値ＲＨＶに含まれていない場合（ステップＳ２５０；ＮＯ）、ブロックを生成することに合意しないと選択する（ステップＳ２７０）。また、選択部１６０は、例えば、前ブロックハッシュ値ＢＨＶがルートハッシュ値ＲＨＶに含まれていない場合（ステップＳ２６０；ＮＯ）、ブロックを生成することに合意しないと選択する（ステップＳ２７０）。また、選択部１６０は、算出部１３０が算出したトランザクションハッシュ値ＨＶがルートハッシュ値ＲＨＶに含まれており（ステップＳ２５０；ＹＥＳ）、かつ前ブロックハッシュ値ＢＨＶがルートハッシュ値ＲＨＶに含まれている場合（ステップＳ２６０；ＹＥＳ）、ブロックを生成することに合意すると選択する（ステップＳ２８０）。合意形成を行う生成装置１１−２〜１１−４の送信部１４０は、選択部１６０が選択した選択結果を示す情報を、ネットワークＮＷを用いて生成装置１１−１に送信する（ステップＳ２９０）。
【００５１】
選択部１６０は、例えば、マークルツリーを用いて、トランザクションハッシュ値ＨＶや、前ブロックハッシュ値ＢＨＶが、ルートハッシュ値ＲＨＶに含まれるかを検証する。具体的には、選択部１６０は、検証対象のハッシュ値（例えば、トランザクションハッシュ値ＨＶ、又は前ブロックハッシュ値ＢＨＶ）をノードに通知する。ノードは、通知された検証対象のハッシュ値のマークルツリーにおける位置を示す情報（以下、マークルパス）と、マークルパスからマークルツリーのルートノードまでに経由する各葉に格納される情報を供給する。マークルツリーの各葉には、ハッシュ値が格納される。したがって、ノードは、マークルパスからルートノードまでに経由する各葉のハッシュ値を供給する。選択部１６０は、検証対象のハッシュ値と、ノードから供給された各ハッシュ値と、マークルパスとに基づいて、マークルツリーのルートノードのハッシュ値を算出する。
選択部１６０は、算出したルートノードのハッシュ値と、受信部１１０が受信したルートハッシュ値ＲＨＶとが一致する場合、検証対象のハッシュ値がルートハッシュ値ＲＨＶに含まれると判定する。また、選択部１６０は、算出したルートノードのハッシュ値と、受信部１１０が受信したルートハッシュ値ＲＨＶとが一致しない場合、検証対象のハッシュ値がルートハッシュ値ＲＨＶに含まれないと判定する。
【００５２】
生成装置１１−１の受信部１１０は、合意形成を行う生成装置１１−２〜１１−４が送信した選択結果を示す情報を受信する（ステップＳ３００）。判定部１７０は、受信部１１０が受信した選択結果のうち、ブロックの生成に合意する選択結果が過半数であるか否かを判定する（ステップＳ３１０）。判定部１７０は、選択結果のうち、ブロックの生成に合意する選択結果が過半数である場合（ステップＳ３１０；ＹＥＳ）、ブロックを生成する（オープン状態のブロックをクローズ状態する）と判定する（ステップＳ３２０）。また、判定部１７０は、選択結果のうち、ブロックの生成に合意する選択結果が過半数ではない場合（ステップＳ３１０；ＮＯ）、ブロックを生成しない（オープン状態のブロックをクローズ状態にしない）と判定する（ステップＳ３３０）。
【００５３】
生成装置１１−１の送信部１４０は、判定部１７０の判定結果がブロックを生成することを示す場合、ルートハッシュ値ＲＨＶと、前ブロックハッシュ値ＢＨＶと、ナンス値とを含むブロックを生成し、当該ブロックをネットワークＮＷを用いて他のノード（この一例では、生成装置１１−２〜１１−４）に送信する（ステップＳ３４０）。
【００５４】
図１０は、第２実施形態の生成装置１１が生成するルートハッシュ値ＲＨＶを記録するブロックチェーンの一例を示す図である。
図１０に示す通り、ブロックチェーンの各ブロックには、図１に示すブロックチェーンに含まれるトランザクションに代えて、ルートハッシュ値ＲＨＶが記憶される。
【００５５】
なお、上述した実施形態において、いずれの生成装置１１もルート算出部１５０、及び選択部１６０を備える場合について説明したが、これに限られない。例えば、合意形成システム１が備える複数の生成装置１１のうち、予めマイニングを行う生成装置１１が定められている場合、当該生成装置１１は、選択部１６０を備えていなくてもよい。また、例えば、合意形成システム１が備える複数の生成装置１１のうち、予め合意形成を行う生成装置１１が定められている場合、当該生成装置１１は、ルート算出部１５０を備えていなくてもよい。
【００５６】
また、上述では、合意形成システム１が備える生成装置１１のうち、生成装置１１−１がマイニングを行い、他の生成装置１１（この一例では、生成装置１１−２〜１１−４）が合意形成を行う場合について説明したが、これに限られない。例えば、合意形成システム１が備える生成装置１１のうち、マイニングを行う生成装置１１と、合意形成を行う生成装置１１とが、ブロックの生成毎にランダムに割り当てられる構成であってもよい。また、合意形成システム１が備える生成装置１１の数が多い場合、合意形成に係る処理負荷、及びネットワークＮＷのトラフィックを低減するため、一部の生成装置１１が合意形成を行う構成であってもよい。換言すると、合意形成システム１は、マイニング、及び合意形成を行わない生成装置１１を備えていてもよい。この場合、マイニングを行う生成装置１１の送信部１４０は、合意形成を行う生成装置１１にのみルートハッシュ値ＲＨＶを送信する。これにより、本実施形態の合意形成システム１は、ネットワークＮＷのトラフィックが増加することを抑制することができる。
【００５７】
また、本実施形態において、受信部１１０とは、「選択結果受信部」の一例である。また、送信部１４０とは、「ルート値送信部」、「選択結果送信部」、及び「ブロック送信部」の一例である。
また、上述では、合意形成システム１が４つのＰＰＭ装置（生成装置１１）を備える場合について説明したが、これに限られない。合意形成システム１は、例えば、少なくとも２つ以上の生成装置１１を備えていればよい。
【００５８】
［第２実施形態のまとめ］
以上説明したように、本実施形態の合意形成システム１は、複数の生成装置１１を備える。合意形成システム１が備える生成装置１１のうち、マイニングを行う生成装置１１（この一例では、生成装置１１−１）の受信部１１０が、他の生成装置１１（この一例では、生成装置１１−２〜１１−４）から、それぞれトランザクションハッシュ値ＨＶ（この一例では、トランザクションハッシュ値ＨＶ２〜ＨＶ４）を受信する。生成装置１１−１のルート算出部１５０が、算出部１３０が算出したトランザクションハッシュ値ＨＶ（この一例では、トランザクションハッシュ値ＨＶ１）と、受信したトランザクションハッシュ値ＨＶ２〜ＨＶ４とに基づいて、ルートハッシュ値ＲＨＶを算出する。
【００５９】
合意形成を行う生成装置１１−２〜１１−４の選択部１６０が、生成装置１１−１が送信するルートハッシュ値ＲＨＶに基づいて、ブロックを生成するか否かを選択する。生成装置１１−１の判定部１７０が、生成装置１１−２〜１１−４が選択した選択結果に基づいてブロックの生成に合意する否かを判定する。生成装置１１−１の送信部１４０は、選択結果のうち、ブロックの生成に合意する選択結果が過半数である場合、ブロックを生成し、ネットワークＮＷを用いて他のノード（この一例では、生成装置１１−２〜１１−４）に送信する。
【００６０】
本実施形態の合意形成システム１によれば、マイニングされたハッシュ値（ルートハッシュ値ＲＨＶ）に対して、合意形成を行うことができる。また、本実施形態の合意形成システム１によれば、合意形成が行われることにより、ブロックチェーンに記録される情報に不正な処理が行われることを抑制することができる。
【００６１】
また、本実施形態の合意形成システム１の合意形成を行う生成装置１１−２〜１１−４は、ルートハッシュ値ＲＨＶに自装置が算出したトランザクションハッシュ値ＨＶが含まれる場合、ブロックを生成することに合意すると選択する。ここで、合意形成を行う生成装置１１のうち、ある生成装置１１は、他の生成装置１１が算出したトランザクションハッシュ値ＨＶの値を把握していない。したがって、合意形成を行う生成装置１１は、ルートハッシュ値ＲＨＶに自装置が算出したトランザクションハッシュ値ＨＶが含まれている場合、少なくとも自装置が算出したトランザクションハッシュ値ＨＶに不正な改ざん等が行われていないことを確認することができる。
【００６２】
また、本実施形態の合意形成システム１の合意形成を行う生成装置１１−２〜１１−４は、ルートハッシュ値ＲＨＶに前ブロックハッシュ値ＢＨＶが含まれている場合、ブロックを生成することに合意すると選択する。ここで、合意形成を行う生成装置１１は、ブロックチェーン（ブロックチェーン情報ＢＬＫ）を参照することが可能である。したがって、合意形成を行う生成装置１１は、ルートハッシュ値ＲＨＶに前ブロックハッシュ値ＢＨＶが含まれている場合、ブロックに不正な改ざん等が行われていないことを確認することができる。
【００６３】
［変形例］
以下、図を参照して第２実施形態に係る変形例について説明する。
第２実施形態では、生成装置１１の判定部１７０が、選択結果のうち、ブロックの生成に合意する選択結果が過半数である場合、ブロックを生成する構成について説明した。
変形例では、生成装置１１に付される信頼度に基づいて、判定部１７０がブロックを生成するか否かを判定する場合について説明する。
なお、上述した実施形態と、同様の構成については、同一の符号を付して説明を省略する。
【００６４】
図１１は、変形例の合意形成システム２のネットワーク構成の一例を示す図である。
図１１に示す通り、合意形成システム２が備える生成装置１１には、それぞれ信頼度が付される。信頼度は、例えば、不正が行われていない情報に合意した生成装置１１には、大きい値が付され、不正が行われている情報に合意した生成装置１１には、小さい値が付される。不正が行われている情報とは、例えば、合意形成によって合意されなかったルートハッシュ値ＲＨＶである。また、不性が行われていない情報とは、例えば、合意形成によって合意されたルートハッシュ値ＲＨＶである。
変形例では、生成装置１１−１には、信頼度「５」が付され、生成装置１１−２には、信頼度「３」が付され、生成装置１１−３には、信頼度「２」が付され、生成装置１１−４には、信頼度「４」が付される。
【００６５】
なお、信頼度は、不正が行われていない情報に合意した生成装置１１の信頼度に、所定の値が加えられ、不正が行われている情報に合意した生成装置１１の信頼度から所定の値が差し引かれる構成であってもよい。
【００６６】
変形例において、合意形成を行う生成装置１１の送信部１４０は、選択部１６０が選択した選択結果を示す情報とあわせて信頼度を示す情報を送信する。
また、変形例において、マイニングを行う生成装置１１の判定部１７０は、選択結果のうち、ブロックの生成に合意する選択結果を送信した生成装置１１の信頼度の和が所定の閾値以上である場合、ブロックを生成と判定する。また、マイニングを行う生成装置１１の判定部１７０は、選択結果のうち、ブロックの生成に合意する選択結果を送信した生成装置１１の信頼度の和が所定の閾値より小さい値である場合、ブロックを生成しないと判定する。
【００６７】
ここで、所定の閾値が「６」である場合であって、生成装置１１−３と、生成装置１１−４とがブロックの生成に合意する選択結果を送信する場合、信頼度の和は「６」である。したがって、生成装置１１−１の判定部１７０は、ブロックを生成と判定する。また、生成装置１１−２と、生成装置１１−３とがブロックの生成に合意する選択結果を送信する場合、信頼度の和は「５」である。したがって、生成装置１１−１の判定部１７０は、ブロックを生成しないと判定する。
以降の構成は上述した実施形態と同様であるため、説明を省略する。
【００６８】
［変形例のまとめ］
以上説明したように、変形例の合意形成システム２が備える生成装置１１には、信頼度が付される。変形例の合意形成システム２は、ブロックを生成する（オープン状態であるブロックをクローズ状態にする）ことを示す選択結果を送信した生成装置１１に付される信頼度の和が所定の閾値以上である場合、ブロックを生成する。
したがって、変形例の合意形成システム２によれば、信頼度の高い生成装置１１が一定数合意した場合にブロックを生成し、ブロックチェーンに不正な改ざん等が行われていない情報を記録することができる。
【００６９】
なお、上述した実施形態及び変形例では、各生成装置１０、及び各生成装置１１が、同一の種類の取引（この一例では、金銭の取引）を行う場合について説明したが、これに限られない。例えば、各生成装置１０、及び各生成装置１１は、異なる種類の取引に対してトランザクションＴの内容を非公開にし、かつ取引の正当性を保証する構成であってもよい。例えば、生成装置１１−１、及び生成装置１１−２は、デジタル著作権管理されたデータの提供履歴に関するトランザクションＴに対して処理を行い、生成装置１１−３、及び生成装置１１−４は、個人情報やプライバシー情報の提供履歴に関するトランザクションＴに対して処理を行う等の構成であってもよい。
これにより、ブロックチェーンには、複数の種類の取引に関するトランザクションＴの内容を非公開にし、かつ当該取引の正当性を保証することができる。
【００７０】
なお、上記の各実施形態における生成装置１０、及び生成装置１１が備える各部は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
【００７１】
なお、生成装置１０、及び生成装置１１が備える各部は、メモリおよびＣＰＵ（中央演算装置）により構成され、生成装置１０、及び生成装置１１が備える各部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００７２】
また、生成装置１０、及び生成装置１１が備える各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００７３】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７４】
以上、本発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更を加えることができる。上述した各実施形態に記載の構成を組み合わせてもよい。
【符号の説明】
【００７５】
１、２…合意形成システム、１０、１１、１１−１、１１−２、１１−３、１１−４…生成装置、１００、１０１…制御部、１１０…受信部、１２０…抽出部、１３０…算出部、１４０…送信部、１５０…ルート算出部、１６０…選択部、１７０…判定部、５００…記憶部、ＢＨＶ…前ブロックハッシュ値、ＢＬＫ…ブロックチェーン情報、ＴＩ…トランザクション履歴情報、ＨＶ、ＨＶ１、ＨＶ２、ＨＶ３、ＨＶ４、ＨＶ１２、ＨＶ３４、ＨＶ１２３４…トランザクションハッシュ値、ＮＷ…ネットワーク、ＲＨＶ…ルートハッシュ値、Ｔ、Ｔ−１、Ｔ−ｎ、Ｔ１−１、Ｔ１−ｎ、Ｔ−２、Ｔ２−１、Ｔ２−ｎ、Ｔ３−１、Ｔ３−ｎ、Ｔ４−１、Ｔ４−ｎ…トランザクション
【図１】
2018196097.tif 000003
【図２】
2018196097.tif 000004
【図３】
2018196097.tif 000005
【図４】
2018196097.tif 000006
【図５】
2018196097.tif 000007
【図６】
2018196097.tif 000008
【図７】
2018196097.tif 000009
【図８】
2018196097.tif 000010
【図９】
2018196097.tif 000011
【図１０】
2018196097.tif 000012
【図１１】
2018196097.tif 000013