(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】不正検証装置、確証生成装置、および、不正検知システム
(51)【国際特許分類】
G06Q 20/42 20120101AFI20231129BHJP
【FI】
G06Q20/42 300
(21)【出願番号】P 2022501769
(86)(22)【出願日】2021-02-03
(86)【国際出願番号】 JP2021003894
(87)【国際公開番号】W WO2021166646
(87)【国際公開日】2021-08-26
【審査請求日】2022-07-06
(31)【優先権主張番号】PCT/JP2021/001809
(32)【優先日】2021-01-20
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2020028430
(32)【優先日】2020-02-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100103090
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】深田 彰
【審査官】藤原 拓也
(56)【参考文献】
【文献】特許第6651042(JP,B1)
【文献】国際公開第2019/072294(WO,A2)
【文献】米国特許出願公開第2019/0305958(US,A1)
【文献】NAKAMOTO, Satoshi,"Bitcoin: A Peer-to-Peer Electronic Cash System",[online],2010年07月04日,[2023年6月29日検索], インターネット, <URL: https://web.archive.org/web/ 20100704213649/https://bitcoin.org/bitcoin.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得手段と、
取得した前記
ブロック確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
ことを特徴とする不正検証装置。
【請求項2】
確証ブロック取得手段は、検証するブロックチェーンである第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、記録媒体である、当該ブロック確証トランザクションが登録されているブロックチェーンであって前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得し、
不正操作検証手段は、取得した前記
ブロック確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
請求項1記載の不正検証装置。
【請求項3】
第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
請求項2記載の不正検証装置。
【請求項4】
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録手段とを備えた
ことを特徴とする確証生成装置。
【請求項5】
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録手段と、
前記ブロック確証トランザクションを、前記記録媒体から取得する確証ブロック取得手段と、
取得した
前記ブロック確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
ことを特徴とする不正検知システム。
【請求項6】
コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得し、
前記コンピュータが、取得した前記
ブロック確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
ことを特徴とする不正検証方法。
【請求項7】
コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
前記コンピュータが、前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する
ことを特徴とする確証生成方法。
【請求項8】
コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
前記コンピュータが、前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録し、
前記コンピュータが、前記ブロック確証トランザクションを、前記記録媒体から取得し、
前記コンピュータが、取得した
前記ブロック確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
ことを特徴とする不正検知方法。
【請求項9】
コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得処理、および、
取得した前記
ブロック確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証処理
を実行させるための不正検証プログラム。
【請求項10】
コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録処理
を実行させるための確証生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロックチェーンにおいて行われた不正の検証および検知を行う不正検証装置、確証生成装置、不正検知システム、不正検証方法、確証生成方法、不正検知方法、不正検証プログラム、および、確証生成プログラムに関する。
【背景技術】
【0002】
近年、分散型台帳技術(DLT:Distributed Ledger Technology )の一つとして、ブロックチェーンが広く知られている。ブロックチェーンは、ブロックと呼ばれるデータの単位を生成し、各ブロックを連結することによりデータを保管する技術である。
【0003】
各ブロックのヘッダには、ブロック内の取引履歴(トランザクション)から算出されたハッシュ値が格納されており、これにより、取引履歴の正しい組み合わせが検証できる。また、前のブロックヘッダから算出されたハッシュ値も格納されており、これにより、前のブロックとの論理的な繋がりの正当性が検証できる。
【0004】
ブロックチェーンは、ブロックの承認者の選び方や仕組みの違い(すなわち、コンセンサスをとる際のバリデーター)によって、大きく3つの形態に分類される。
【0005】
一つ目は、パブリック型ブロックチェーンと呼ばれる形態である。パブリック型ブロックチェーンでは、中央集権的な機関が存在せず、PoW(Proof of Work )のようなコンセンサスアルゴリズムを用意することにより、不正が行われるリスクを排除している。このような特性から、一般にパブリック型ブロックチェーンは参加に制限がないため、不特定多数のノードが存在する大規模なネットワークである。
【0006】
二つ目は、プライベート型ブロックチェーンと呼ばれる形態である。プライベート型ブロックチェーンは、参加に制限が設けられ、特定のノードのみ参加が可能な小規模のネットワークである。参加するノード数がパブリック型ブロックチェーンよりは少ないことから、取引(承認)にかかる時間は一般的に短い。
【0007】
三つ目は、コンソーシアム型ブロックチェーンと呼ばれる形態である。コンソーシアム型ブロックチェーンは、プライベート型ブロックチェーンと同様、参加するノードがパブリック型ブロックチェーンよりは少ないため、取引にかかる時間が一般的に短い。さらに、コンソーシアム型ブロックチェーンは、複数の組織により合意形成が行われるため、プライベート型ブロックチェーンと比較すると、信頼性の高いネットワークと言える。
【0008】
また、特許文献1には、ブロックチェーンにおける改ざんを検知するシステムが記載されている。特許文献1に記載されたシステムでは、末端オブジェクトの存在証明を外部システムに保存する。そのため、ある対象について履歴が作成し直されたり、末端オブジェクトが差し替えられたりといった改ざんがされた場合、外部システムにある存在証明を用いることで改ざんを検知できる。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述するように、プライベート型ブロックチェーンやコンソーシアム型ブロックチェーンは、パブリック型ブロックチェーンと比較して、チェーンを構成するノードが数十ノード程度の小規模である。そのため、悪意の参加者が複数で結託してデータを改ざんした場合、そのような不正を検知できない可能性も存在する。
【0011】
特許文献1に記載されたシステムでは、そもそも、ブロックチェーンの参加者が結託し、データを改ざんすることについては考慮されておらず、このような不正を検知することはできない。
【0012】
そこで、本発明では、ブロックチェーンで行われたデータの不正操作を検知できる不正検証装置、不正検知システム、不正検証方法、不正検知方法、不正検証プログラムおよびその検知に用いられる確証を生成する確証生成装置、確証生成方法および確証生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明による不正検証装置は、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得手段と、取得した確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えたことを特徴とする。
【0014】
本発明による確証生成装置は、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録する登録手段とを備えたことを特徴とする。
【0015】
本発明による不正検知システムは、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録する登録手段と、ブロック確証トランザクションを、記録媒体から取得する確証ブロック取得手段と、取得した確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えたことを特徴とする。
【0016】
本発明による不正検証方法は、コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得し、コンピュータが、取得したブロック確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知することを特徴とする。
【0017】
本発明による確証生成方法は、コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、コンピュータが、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録することを特徴とする。
【0018】
本発明による不正検知方法は、コンピュータが、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、コンピュータが、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録し、コンピュータが、ブロック確証トランザクションを、記録媒体から取得し、コンピュータが、取得したブロック確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知することを特徴とする。
【0019】
本発明による不正検証プログラムは、コンピュータに、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得処理、および、取得した確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証処理を実行させることを特徴とする。
【0020】
本発明による確証生成プログラムは、コンピュータに、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録する登録処理を実行させることを特徴とする。
【発明の効果】
【0021】
本発明によれば、ブロックチェーンで行われたデータの不正操作を検知できる。
【図面の簡単な説明】
【0022】
【
図1】第一の実施形態の確証生成装置の概要を説明するブロック図である。
【
図2】本発明による不正検知システムの第一の実施形態の第一の構成例を示す説明図である。
【
図3】ブロック確証トランザクションを生成する処理の例を示す説明図である。
【
図4】第一の実施形態の第一の構成例の不正検知システムの動作例を示す説明図である。
【
図5】本発明による不正検知システムの第一の実施形態の第二の構成例を示す説明図である。
【
図6】第一の実施形態の第二の構成例の不正検知システムの動作例を示すフローチャートである。
【
図7】第二の実施形態の不正検証装置の概要を説明するブロック図である。
【
図8】本発明による不正検知システムの第二の実施形態の第一の構成例を示す説明図である。
【
図10】第二の実施形態の第一の構成例の不正検知システムの動作例を示す説明図である。
【
図11】本発明による不正検知システムの第二の実施形態の第二の構成例を示す説明図である。
【
図12】第二の実施形態の第二の構成例の不正検知システムの動作例を示すフローチャートである。
【
図13】第三の実施形態の不正検知システムの概要を説明するブロック図である。
【
図14】本発明による不正検知システムの第三の実施形態の第一の構成例を示す説明図である。
【
図15】本発明による不正検知システムの第三の実施形態の第二の構成例を示す説明図である。
【
図16】確証を登録する処理の第一の具体例を示す説明図である。
【
図17】不正操作を検証する第一の具体例を示す説明図である。
【
図18】確証を登録する処理の第二の具体例を示す説明図である。
【
図19】不正操作を検証する第二の具体例を示す説明図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態を図面を参照して説明する。
【0024】
実施形態1.
第一の実施形態では、不正操作の検知を行うための確証を登録する処理を説明する。まず初めに、本実施形態の不正検知システムで用いられる確証生成装置の概要を説明する。
図1は、本実施形態の確証生成装置の概要を説明するブロック図である。本実施形態の確証生成装置90は、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段91(後述するブロック管理部21または仲介クライアント32に対応)と、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録する登録手段92(後述する仲介クライアント30または仲介クライアント32に対応)とを備えている。そのような構成により、ブロックチェーンでデータの不正操作が行われた場合であっても、記録媒体に登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0025】
以下、本実施形態の確証生成装置の具体的な構成例を説明する。
【0026】
<第一構成例>
図2は、本発明による不正検知システムの第一の実施形態の第一の構成例を示す説明図である。第一の構成例では、第三者によって検知可能な記録媒体として、検証するブロックチェーンとは異なる他のブロックチェーンを想定する。本実施形態の第一の構成例の不正検知システム100は、クライアントデバイス1と、複数のノード10と、トランザクション管理部20と、仲介クライアント30とを備えている。
【0027】
クライアントデバイス1、複数のノード10、および、トランザクション管理部20は、ブロックチェーン110の構成要素として動作する。以下、クライアントデバイス1、複数のノード10、トランザクション管理部20および仲介クライアント30が含まれるブロックチェーン110を、第一のブロックチェーンと記す。第一のブロックチェーンが、検証するブロックチェーンに対応する。
【0028】
本実施形態の第一の構成例では、第一のブロックチェーンは、プライベート型ブロックチェーンやコンソーシアム型のブロックチェーンのような、チェーンを構成するノードが数十ノード程度の小規模なネットワークを想定する。このようなブロックチェーンとして、例えば、Hyperldger Fabric や、Corda 、Quorumなどが挙げられる。以下の説明では、第一のブロックチェーンの具体例に、Hyperldger Fabric を用いて説明するが、第一のブロックチェーンの態様は、Hyperldger Fabric に限定されない。
【0029】
また、後述する仲介クライアント30は、パブリック型ブロックチェーンのような大規模なブロックチェーン120の構成要素としても動作する。以下、仲介クライアント30が含まれるブロックチェーン120のことを第二のブロックチェーンと記す。第二のブロックチェーンは、第一のブロックチェーンとは異なるブロックチェーンである。このようなブロックチェーンとして、例えば、EthereumやNEM 、EOS などが挙げられる。以下の説明では、第二のブロックチェーンの具体例に、Ethereumを用いて説明するが、第二のブロックチェーンの態様は、Ethereumに限定されない。なお、第二のブロックチェーンの詳細については後述される。
【0030】
クライアントデバイス1は、ブロックチェーン110において、取引要求(トランザクション)を作成し、作成した取引要求を複数のノード10のいずれかに送信する装置である。クライアントデバイス1は、参加するブロックチェーンによって様々な呼称が存在するが、クライアント、ノード、ウォレットなどと呼ばれる装置である。例えば、Hyperldger Fabric の場合、クライアントデバイス1は、clientに対応する。クライアントデバイス1は、参加するブロックチェーンに応じた取引要求を作成すればよい。
【0031】
ノード10は、ブロックチェーン110において複数台で構成され、受信した取引要求を受け付けて処理を行い、処理の結果生成されるブロックチェーンのデータを保持する。例えば、Hyperldger Fabric の場合、ノード10は、peerに対応する。なお、
図2には、ノード10が2台の場合を例示しているが、ノードの数は2台に限定されず、3台以上であってもよい。
【0032】
ノード10は、制御部11と、記憶部12とを含む。
【0033】
制御部11は、受信した取引要求に対する検証および実行を行う。なお、制御部11が実行する各処理は、ブロックチェーン110に応じて定められており、制御部11は、利用するブロックチェーン110および受信した取引要求に応じて、各処理を実行し、処理結果をクライアントデバイス1に通知すればよい。例えば、Hyperldger Fabric の場合、制御部11は、ビジネスロジックが実装されたチェーンコード(プログラム)にしたがって、取引要求に対する処理を実行してもよい。
【0034】
記憶部12は、一般に台帳(Ledger)と呼ばれるブロックチェーンのデータを保持する。例えば、Hyperldger Fabric の場合、台帳には、World State と複数のブロック(ブロックチェーン)が含まれる。各ブロックは、複数の取引要求の他、ブロックに関するメタデータを含むブロックヘッダを有する。ブロックヘッダには、直前のブロックのハッシュ値、トランザクション群のハッシュ値(マークルルート)、ナンスが含まれる。また、ブロックヘッダには、これら以外にも、タイムスタンプやビッツが含まれる。
【0035】
トランザクション管理部20は、取引要求をまとめてブロックを作成する。具体的には、トランザクション管理部20は、取引要求に順序付けを行ってまとめたブロックを生成し、生成したブロックを各ノード10にブロードキャストする。例えば、Hyperldger Fabric の場合、トランザクション管理部20は、orderer に対応する。なお、トランザクション管理部20が実行する各処理も、ブロックチェーン110に応じて定められており、トランザクション管理部20は、利用するブロックチェーン110に応じた各処理を実行すればよい。
【0036】
また、本実施形態の第一の構成例のトランザクション管理部20は、ブロック管理部21を含む。ブロック管理部21は、対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出する。具体的には、ブロック管理部21は、対象とする範囲のブロックにおけるブロックヘッダのハッシュ値をマークルツリーで集約し、1つのマークルルートハッシュを算出する。さらに、ブロック管理部21は、集約した範囲のブロックを示すブロック番号と、マークルルートハッシュとを含むトランザクション(以下、ブロック確証トランザクションと記す。)を生成する。
【0037】
なお、対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される。本実施形態の第一の構成例では、第一のブロックチェーンがプライベート型ブロックチェーンまたはコンソーシアム型ブロックチェーンのような小規模のネットワークであり、第二のブロックチェーンがプライベート型ブロックチェーンのような大規模なブロックチェーンであることを想定している。そこで、対象とする範囲を、第二のブロックチェーンにおいてブロックが生成される間隔で、第一のブロックチェーンにおいて生成されるブロックの数とすればよい。
【0038】
例えば、第二のブロックチェーンがEthereumの場合、ブロックが生成される間隔は15秒である。ここで、第一のブロックチェーンにおいて1秒間隔でブロックが生成される場合、対象とする範囲のブロックを15ブロックとすればよい。
【0039】
図3は、ブロック確証トランザクションを生成する処理の例を示す説明図である。ブロック管理部21は、ブロック生成時に算出されたブロックヘッダのハッシュ値を、集約するブロック数分収集する。
図3に示す例では、ブロックn-1からブロックn+2までのブロックヘッダのハッシュ値が収集されたことを示す。
【0040】
次に、ブロック管理部21は、隣り合ったブロックにおけるブロックヘッダのハッシュ値から、再度ハッシュ値を算出する。さらに、ブロック管理部21は、算出された隣り合うハッシュ値から、再度ハッシュ値を算出する処理を繰り返し、1つのハッシュ値になるまで処理を繰り返す。なお、1つのハッシュ値になるまでに隣り合うハッシュ値が存在しなくなった場合、ブロック管理部21は、同じハッシュ値を用いて、再度ハッシュ値を算出すればよい。そして、ブロック管理部21は、1つになるまで算出されたハッシュ値をマークルルートハッシュとして用いる。
【0041】
図3に示す例では、ブロックn-1のブロックヘッダのハッシュ値と、ブロックnのブロックヘッダのハッシュ値から、ハッシュ値(ブロックn-1+n)が算出され、ブロックn+1のブロックヘッダのハッシュ値と、ブロックn+2のブロックヘッダのハッシュ値から、ハッシュ値(ブロックn+1+n+2)が算出されたことを示す。さらに、
図3に示す例では、ハッシュ値(ブロックn-1+n)と、ハッシュ値(ブロックn+1+n+2)から、再度ハッシュ値(ブロックn-1~n+2)が算出され、このハッシュ値がマークルルートハッシュとして用いられることを示す。
【0042】
また、
図3に示す例では、このマークルルートハッシュを算出するもとになったブロックのブロック番号(ブロックn-1~n+2)が、集約した範囲のブロックのブロック番号になる。このブロック番号は、後述するハッシュ値の検算処理で用いられる。
【0043】
このように、ブロック管理部21が、対象とする範囲のブロックにおけるブロックヘッダから1つのマークルルートハッシュを算出しておくことで、後に登録されたトランザクションに改ざんが行われた場合にはハッシュ値が合わなくなるため、改ざんを検知することができるようになる。
【0044】
ブロック管理部21は、生成したブロック確証トランザクションを仲介クライアント30に送信する。
【0045】
なお、本実施形態の第一の構成例では、ブロック管理部21がトランザクション管理部20の一部として構成されている場合について説明したが、ブロック管理部21がトランザクション管理部20とは別に設けられていてもよい。その場合、ブロック管理部21は、トランザクション管理部20からの出力を受信して、上述する各処理を実行すればよい。
【0046】
仲介クライアント30は、ブロックチェーン120において、取引要求を作成し、作成した取引要求をブロックチェーン120のノード(図示せず)に送信する装置である。すなわち、仲介クライアント30は、ブロックチェーン120におけるクライアント(ノード、ウォレット)として動作する装置である。
【0047】
特に、本実施形態の第一の構成例の仲介クライアント30は、ブロック確証トランザクションの登録を依頼するトランザクションをブロックチェーン120(具体的には、ブロックチェーン120のノード)に送信する。以降、ブロックチェーン120の仕様に従って取引要求に対する処理が行われ、仲介クライアント30は、取引要求に対する処理結果を受信する。
【0048】
なお、ブロックチェーンにおいて取引履歴を含むブロックが生成されるまでには時間がかかる。例えば、Ethereumの場合、ブロックの生成までに約15秒かかる。そこで、仲介クライアント30は、登録を完了した旨の通知を処理結果として受信してもよい。
【0049】
取引要求にブロック確証トランザクションを含めることが可能なブロックチェーンであり、パブリック型ブロックチェーンのように、このブロック確証トランザクションの改ざんが困難なブロックチェーンであれば、第二のブロックチェーンの態様は任意である。このような大規模なブロックチェーン120にブロック確証トランザクションを登録することで、このトランザクション自体の改ざんを抑制できる。
【0050】
このように、本実施形態の第一の構成例では、ブロック管理部21がブロック確証トランザクションを生成し、生成されたブロック確証トランザクションを仲介クライアント30が第二のブロックチェーンに送信することから、ブロック管理部21および仲介クライアント30を含む装置を、確証生成装置ということができる。
【0051】
トランザクション管理部20(より詳しくは、ブロック管理部21)と、仲介クライアント30とは、プログラム(確証生成プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。例えば、プログラムは、記憶部12に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、トランザクション管理部20(より詳しくは、ブロック管理部21)および仲介クライアント30として動作してもよい。また、確証生成装置の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0052】
また、トランザクション管理部20(より詳しくは、ブロック管理部21)と、仲介クライアント30とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0053】
また、確証生成装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0054】
次に、本実施形態の第一の構成例の不正検知システムの動作を説明する。
図4は、本実施形態の第一の構成例の不正検知システム100の動作例を示す説明図である。クライアントデバイス1は、取引要求を作成してノード10に送信する(ステップS11)。ノード10の制御部11は、受信した取引要求に対する検証および実行を行い、取引要求のブロック化処理をトランザクション管理部20に依頼する(ステップS12)。トランザクション管理部20は、取引要求をブロック化する(ステップS13)。また、ブロック管理部21は、ブロック確証トランザクションを生成し(ステップS14)、生成したブロック確証トランザクションを仲介クライアント30に送信する(ステップS15)。
【0055】
仲介クライアント30は、ブロック確証トランザクションの登録を依頼する取引要求をブロックチェーン120に送信する(ステップS16)。仲介クライアント30は、ブロックチェーン120からの処理結果をトランザクション管理部20に送信すると(ステップS17)、トランザクション管理部20は、ブロック化した情報を各ノード10に送信する(ステップS18)。各ノード10は、自身が保持するブロックチェーンに受信したブロックを接続し(ステップS19)、処理結果をクライアントデバイス1に送信する(ステップS20)。
【0056】
なお、
図4に例示するステップS14およびステップS15の処理が、上述する確証生成装置が行う処理(確証生成処理)に対応する。
【0057】
以上のように、本実施形態の第一の構成例では、ブロック管理部21は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むブロック確証トランザクションを生成する。そして、仲介クライアント30が、ブロック確証トランザクションの登録を依頼するトランザクションを第二のブロックチェーンに送信する。よって、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0058】
また、マークルルートハッシュを生成する対象のブロックの範囲を、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定することで、2つのブロックチェーンにおけるブロック生成の速度差を調整することが可能になる。
【0059】
また、一般に、ブロックチェーンに送信した取引要求の数に応じて手数料が増加する。本実施形態の第一の構成例では、複数のブロックのブロックヘッダのハッシュ値から1つのマークルルートハッシュを生成してブロック確証トランザクションを生成するため、第二のブロックチェーンにおける手数料を抑えることも可能になる。
【0060】
<第二構成例>
次に、第一の実施形態の不正検知システムの第二の構成例を説明する。第一の構成例では、改ざんを第三者によって検知可能な記録媒体として、検証するブロックチェーンとは異なる他のブロックチェーンを想定した。第二の構成例では、第三者によって検知可能な記録媒体として、検証するブロックチェーンの参加者と利害関係のない監査員宛のメールまたは外界から認識可能に公示された表象手段を想定する。
【0061】
検証するブロックチェーンの参加者と利害関係のない監査員宛のメールは、その監査員によって改ざんされる蓋然性が極めて低いと言える。したがって、仮に、そのメールの内容が改ざんされた場合、その改ざんされた内容は監査員によって検知可能と言える。
【0062】
また、外界から認識可能に公示された表象手段に登録された内容は、任意の第三者によって視認可能な状態になる。したがって、仮に、その表象手段で公示された内容が改ざんされた場合、その改ざんされた内容は任意の第三者によって検知可能と言える。なお、表象手段の態様は任意であり、例えば、不特定のユーザが参加するSNS(Social Networking Service )における掲示板などであってもよく、新聞などのマスメディア媒体などであってもよい。
【0063】
図5は、本発明による不正検知システムの第一の実施形態の第二の構成例を示す説明図である。第二の構成例の不正検知システム101は、クライアントデバイス1と、複数のノード10と、トランザクション管理部22と、仲介クライアント32とを備えている。仲介クライアント32は、後述するメールの送信または情報の登録を受け付ける外部装置130に接続される。
【0064】
すなわち、本構成例の不正検知システム101は、第一の構成例の不正検知システム100と比較し、トランザクション管理部20と仲介クライアント30の代わりに、トランザクション管理部22と仲介クライアント32を備えている点において異なる。その他の構成(すなわち、クライアントデバイス1および複数のノード10)の内容は、第一の構成例と同様である。
【0065】
クライアントデバイス1、複数のノード10、トランザクション管理部22および仲介クライアント32が含まれるブロックチェーン111が、検証するブロックチェーンに対応する。
【0066】
トランザクション管理部22は、第一の構成例と同様に、取引要求に順序付けを行ってまとめたブロックを生成し、生成したブロックを各ノード10にブロードキャストする。例えば、Hyperldger Fabric の場合、トランザクション管理部22が、orderer に対応する。なお、トランザクション管理部22が実行する各処理も、ブロックチェーン111に応じて定められており、トランザクション管理部22は、利用するブロックチェーン111に応じた各処理を実行すればよい。
【0067】
仲介クライアント32は、ノード10からブロックのブロックヘッダを取得し、第一の構成例で示すブロック確証トランザクションを生成する。仲介クライアント32は、複数のノード10のうち、特定のノード10からブロックヘッダを取得してもよく、任意のノード10からブロックヘッダを取得してもよい。
【0068】
なお、ブロック確証トランザクションの生成方法は、第一の構成例においてブロック管理部21がブロック確証トランザクションを生成する方法と同様である。すなわち、仲介クライアント32は、対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むブロック確証トランザクションを生成する。
【0069】
なお、本構成例において、ブロック確証トランザクションを生成するタイミングは、ブロックチェーンの信頼度等に応じ、管理者等により予め定められる。例えば、信頼性の高いブロックチェーンに対しては、長めの期間(例えば、一か月ごと、など)が定められ、信頼性の低いブロックチェーンに対しては、短めの期間(例えば、一時間ごと、など)が定められる。
【0070】
そして、仲介クライアント32は、生成したブロック確証トランザクションを、そのブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に登録する。具体的には、本構成例の仲介クライアント32は、第一の態様として、第一のマークルルートハッシュとブロック確証トランザクションを、記録媒体であるメールに登録し、検証するブロックチェーンの参加者と利害関係のない監査員宛(より具体的には、外部装置130)に、そのメールを送信する。
【0071】
また、本構成例の仲介クライアント32は、ブロック確証トランザクションをメールに登録する代わりに、第二の態様として、上述する表象手段に登録してもよい。仲介クライアント32は、例えば、表象手段を管理する装置(より具体的には、外部装置130)に対してブロック確証トランザクションを送信することで登録を依頼してもよい。
【0072】
このように、本実施形態の第二の構成例では、仲介クライアント32がブロック確証トランザクションを生成し、生成されたブロック確証トランザクションを、第三者によって改ざんを検知可能な記録媒体に登録することから、仲介クライアント32を、確証生成装置ということができる。また、仲介クライアント32が、プログラム(確証生成プログラム)に従って動作するコンピュータのプロセッサによって実現されてもよい。
【0073】
次に、本実施形態の第二の構成例の不正検知システムの動作を説明する。
図6は、本実施形態の第二の構成例の不正検知システム101の動作例を示すフローチャートである。なお、クライアントデバイス1が取引要求を作成し、トランザクション管理部22が取引要求をブロック化する処理は、
図4に例示するステップS11からステップS13までの処理と同様である。
【0074】
そして、トランザクション管理部22がブロック化した情報を各ノード10に送信し、各ノード10が、自身が保持するブロックチェーンに受信したブロックを接続して、処理結果をクライアントデバイス1に送信する処理は、
図4に例示するステップS18からステップS20までの処理と同様である。
【0075】
一方、仲介クライアント32は、予め定められたタイミングで、対象とする範囲のブロックのブロックヘッダをノード10から取得する(ステップS31)。仲介クライアント32は、取得したブロックヘッダからブロック確証トランザクションを生成し(ステップS32)、第三者によって改ざんを検知可能な記録媒体に、生成したブロック確証トランザクションを登録する(ステップS33)。
【0076】
具体的には、仲介クライアント32は、ブロック確証トランザクションを登録したメールを監視員宛にメールしてもよいし、上述する表象手段にブロック確証トランザクションを登録してもよい。
【0077】
なお、
図6に例示するステップS31からステップS33までの処理が、上述する確証生成装置が行う処理(確証生成処理)に対応する。
【0078】
以上のように、本実施形態の第二の構成例では、仲介クライアント32が、検証するブロックチェーン111において対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出してブロック確証トランザクションを生成し、改ざんを第三者によって検知可能な記録媒体に登録する。
【0079】
より具体的には、仲介クライアント32が、ブロック確証トランザクションを、記録媒体であるメールに登録し、検証するブロックチェーンの参加者と利害関係のない監査員宛に、そのメールを送信する。または、仲介クライアント32が、ブロック確証トランザクションを、外界から認識可能に公示された表象手段に登録する。よって、ブロックチェーン111でデータの不正操作が行われた場合であっても、記録媒体に登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0080】
実施形態2.
次に、本発明の第二の実施形態を説明する。第二の実施形態では、第一の実施形態で登録された確証に基づいて不正操作を検知する処理を説明する。まず初めに、本実施形態の不正検知システムで用いられる不正検証装置の概要を説明する。
図7は、本実施形態の不正検証装置の概要を説明するブロック図である。本実施形態の不正検証装置80は、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得手段81(後述する仲介クライアント50または仲介クライアント52に対応)と、取得した確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証手段82(後述するブロック管理部41または仲介クライアント52に対応)とを備えている。そのような構成により、ブロックチェーンで行われたデータの不正操作を検知できる。
【0081】
以下、本実施形態の不正検証装置の具体的な構成例を説明する。
【0082】
<第一構成例>
図8は、本発明による不正検知システムの第二の実施形態の第一の構成例を示す説明図である。第一の構成例は、上記第一の実施形態の第一の構成例に対応し、改ざんを第三者によって検知可能な記録媒体として、検証するブロックチェーンとは異なる他のブロックチェーンを想定する。本実施形態の第一の構成例の不正検知システム200は、クライアントデバイス1と、複数のノード10と、トランザクション管理部40と、仲介クライアント50とを備えている。
【0083】
すなわち、第二の実施形態の第一の構成例の不正検知システム200は、第一の実施形態の第一の構成例の不正検知システム100と比較し、トランザクション管理部20の代わりにトランザクション管理部40を備え、仲介クライアント30の代わりに仲介クライアント50を備えている点において異なる。それ以外のクライアントデバイス1および複数のノード10の構成は、第一の実施形態の第一の構成例と同様であるため、説明を省略する。
【0084】
トランザクション管理部40は、第一の実施形態の第一の構成例と同様、取引要求をまとめてブロックを作成する。また、本実施形態の第一の構成例のトランザクション管理部40は、ブロック管理部41を含む。第一の実施形態の第一の構成例と同様に、ブロック管理部41がトランザクション管理部40とは別に設けられていてもよい。なお、ブロック管理部41の機能については後述される。
【0085】
仲介クライアント50は、後述するトランザクション管理部40(より詳しくは、ブロック管理部41)からの指示に基づいて、記録媒体であるブロックチェーン120(すなわち、第二のブロックチェーン)から、ブロック確証トランザクションを取得する。具体的には、仲介クライアント50は、指定されたブロックのブロック番号から、そのブロックのブロックヘッダに基づいて算出されたマークルルートハッシュが含まれるブロック確証トランザクションを特定する。なお、仲介クライアント50は、第二のブロックチェーンの仕様に基づいてブロック確証トランザクションを取得すればよい。
【0086】
そして、仲介クライアント50は、特定したブロック確証トランザクションの情報を、トランザクション管理部40(より詳しくは、ブロック管理部41)に送信する。仲介クライアント50は、特定したブロック確証トランザクションの情報のうち、集約した範囲のブロックのブロック番号およびマークルルートハッシュをトランザクション管理部40に送信してもよい。
【0087】
ブロック管理部41は、検証に用いるブロックのブロック番号を取引要求から特定し、ブロック確証トランザクションの取得指示を仲介クライアント50に対して行う。そして、ブロック管理部41は、取得したブロック確証トランザクションの情報(より具体的には、集約した範囲のブロックのブロック番号)から、検証対象のブロックの範囲を抽出して、第一のブロックチェーンにおけるブロックを特定する。
【0088】
次に、ブロック管理部41は、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出する。なお、マークルルートハッシュの算出方法は、第一の実施形態の第一の構成例でブロック管理部21が算出する方法と同様である。そして、ブロック管理部41は、新たに算出したマークルルートハッシュと、ブロック確証トランザクションから取得したマークルルートハッシュとを比較して、不正操作を検知する。
【0089】
図9は、ブロック検証の例を示す説明図である。
図9に示す例では、検証対象のブロックの範囲として、ブロック番号(ブロックn-1~n+2)が特定されたことを示す。ブロック管理部41は、ブロック番号が示す範囲のブロックを特定し、特定したブロックのブロックヘッダのハッシュ値をマークルツリーで集約し、1つのマークルルートハッシュを生成する。そして、ブロック管理部41は、新たに算出したマークルルートハッシュと、ブロック確証トランザクションから取得したマークルルートハッシュとを比較する。ハッシュ値が一致しなかった場合、ブロック管理部41は、いずれかのブロック内のトランザクションにおいて不正操作(改ざん)が行われると判断する。
【0090】
トランザクション管理部40は、ハッシュ値が一致しなかった場合、不正操作が行われたと判断し、エラーをノード10に通知する。このとき、クライアントデバイス1から取引要求を受信したノード10は、そのクライアントデバイス1にエラーを通知する。
【0091】
このように、本実施形態では、仲介クライアント50が第二のブロックチェーンからブロック確証トランザクションを取得し、ブロック管理部41が取得したブロック確証トランザクションに基づいて不正操作を検証することから、ブロック管理部41および仲介クライアント50を含む装置を、不正検証装置ということができる。
【0092】
トランザクション管理部40(より詳しくは、ブロック管理部41)と、仲介クライアント50とは、プログラム(不正検証プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0093】
次に、本実施形態の第一の構成例の不正検知システムの動作を説明する。
図10は、本実施形態の第一の構成例の不正検知システム200の動作例を示す説明図である。なお、クライアントデバイス1による取引要求を受信してブロック化するまでの処理は、
図4に例示するステップS11からステップS13までの処理と同様である。
【0094】
ブロック管理部41は、検証に用いるブロックのブロック番号を特定し(ステップS21)、ブロック確証トランザクションの取得指示を仲介クライアント50に対して行う(ステップS22)。仲介クライアント50は、ブロック管理部41からの指示に基づいて、第二のブロックチェーンから、ブロック確証トランザクションを取得し(ステップS23)、ブロック管理部41に返信する(ステップS24)。
【0095】
ブロック管理部41は、取得したブロック番号の範囲から、検証対象のブロックの範囲を特定する(ステップS25)。そして、ブロック管理部41は、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出し(ステップS26)、ブロック確証トランザクションから取得したマークルルートハッシュと一致するか比較する(ステップS27)。
【0096】
ハッシュ値が一致した場合(ステップS27におけるYes)、ブロック管理部41は、不正操作が行われていないと判断する(ステップS28)。一方、ハッシュ値が一致しなかった場合(ステップS27におけるNo)、ブロック管理部41は、不正操作が行われたと判断し、ノード10は、クライアントデバイス1にエラーを通知する(ステップS29)。
【0097】
なお、
図10に例示するステップS21からステップS29までの処理が、上述する不正検証装置が行う処理(不正検証処理)に対応する。
【0098】
以上のように、本実施形態では、仲介クライアント50が、ブロック確証トランザクションを第二のブロックチェーンから取得し、ブロック管理部41が、確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダからマークルートハッシュを算出する。そして、ブロック確証トランザクションに含まれるマークルートハッシュと、算出したマークルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する。よって、ブロックチェーンで行われたデータの不正操作を検知できる。
【0099】
<第二構成例>
次に、第二の実施形態の不正検知システムの第二の構成例を説明する。第二の構成例は、上記第一の実施形態の第二の構成例に対応し、改ざんを第三者によって検知可能な記録媒体として、検証するブロックチェーンの参加者と利害関係のない監査員宛のメールまたは外界から認識可能に公示された表象手段を想定する。
【0100】
図11は、本発明による不正検知システムの第二の実施形態の第二の構成例を示す説明図である。第二の構成例の不正検知システム201は、クライアントデバイス1と、複数のノード10と、トランザクション管理部22と、仲介クライアント52とを備えている。
【0101】
すなわち、本構成例の不正検知システム201は、第一の構成例の不正検知システム200と比較し、トランザクション管理部40と仲介クライアント50の代わりに、トランザクション管理部22と仲介クライアント52を備えている点において異なる。その他の構成(すなわち、クライアントデバイス1複数のノード10)の内容は、第一の構成例と同様である。また、トランザクション管理部22の内容は、第一の実施形態の第二の構成例と同様である。
【0102】
クライアントデバイス1、複数のノード10、トランザクション管理部22および仲介クライアント52が含まれるブロックチェーン111が、検証するブロックチェーンに対応する。
【0103】
仲介クライアント52は、外部装置130からの検証要求に基づいて、ブロック確証トランザクションを、上述する記録媒体(より具体的には、改ざんを第三者によって検知可能な記録媒体)から取得する。すなわち、仲介クライアント52は、ブロック確証トランザクションを、記録媒体である、検証するブロックチェーンの参加者と利害関係のない監査員宛のメール、または、外界から認識可能に公示された表象手段から取得する。
【0104】
具体的には、仲介クライアント52は、検証要求にて指定されたブロックのブロック番号や、ブロック化された日付等に基づいて、該当するブロック確証トランザクションを特定する。なお、仲介クライアント52は、記録媒体に登録した際の仕様に基づいてブロック確証トランザクションを取得すればよい。そして、仲介クライアント52は、取得したブロック確証トランザクションの情報から、検証対象のブロックの範囲を抽出して、検証するブロックチェーンにおけるブロックを特定する。
【0105】
以降、仲介クライアント52は、第一の実施形態の第二の構成例のブロック管理部41と同様に、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出し、ブロック確証トランザクションから取得したマークルルートハッシュと比較して、不正操作を検知する。
【0106】
このように、本実施形態の第二の構成例では、仲介クライアント52が記録媒体からブロック確証トランザクションを取得し、取得したブロック確証トランザクションに基づいて不正操作を検証することから、仲介クライアント52を、不正検証装置ということができる。また、仲介クライアント52が、プログラム(不正検証プログラム)に従って動作するコンピュータのプロセッサによって実現されてもよい。
【0107】
次に、本実施形態の第二の構成例の不正検知システムの動作を説明する。
図12は、本実施形態の第二の構成例の不正検知システム201の動作例を示すフローチャートである。仲介クライアント52は、外部装置130から、検証要求を受信する(ステップS41)。仲介クライアント52は、受信した検証要求に基づいて、記録媒体からブロック確証トランザクションを取得する(ステップS42)。
【0108】
仲介クライアント52は、取得したブロック番号の範囲から、検証対象のブロックの範囲を特定する(ステップS43)。そして、仲介クライアント52は、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出し(ステップS44)、ブロック確証トランザクションから取得したマークルルートハッシュと一致するか比較する(ステップS45)。
【0109】
ハッシュ値が一致した場合(ステップS45におけるYes)、仲介クライアント52は、不正操作が行われていないと判断する(ステップS46)。一方、ハッシュ値が一致しなかった場合(ステップS45におけるNo)、仲介クライアント52は、不正操作が行われたと判断し、外部装置130にエラーを通知する(ステップS47)。
【0110】
なお、
図12に例示するステップS41からステップS46までの処理は、上述する不正検証装置が行う処理(不正検証処理)にも対応する。
【0111】
以上のように、本実施形態の第二の構成例では、仲介クライアント52が、ブロック確証トランザクションを、記録媒体である、検証するブロックチェーンの参加者と利害関係のない監査員宛のメール、または、外界から認識可能に公示された表象手段から取得する。そして、仲介クライアント52が、取得した確証トランザクションに含まれるブロック番号から検証するブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出する。そして、仲介クライアント52が、取得したブロック確証トランザクションに含まれるマークルルートハッシュと、算出したマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する。よって、ブロックチェーンで行われたデータの不正操作を検知できる。
【0112】
実施形態3.
次に、本発明の第三の実施形態を説明する。第一の実施形態では、不正検知システム100または不正検知システム101が検証に用いる確証(ブロック確証トランザクション)を生成し、第二の実施形態では、不正検知システム200または不正検知システム201が、確証を用いてデータの不正操作を検証する方法について説明した。なお、確証を生成する処理および不正操作を検証する処理が、1つのシステムで実現されていてもよい。
【0113】
まず初めに、本実施形態の不正検知システムの概要を説明する。
図13は、第三の実施形態の不正検知システムの概要を説明するブロック図である。本実施形態の不正検知システム170は、検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段71(ブロック管理部21または仲介クライアント32に対応)と、ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体にそのブロック確証トランザクションを登録する登録手段72(仲介クライアント30または仲介クライアント32に対応)と、ブロック確証トランザクションを、記録媒体から取得する確証ブロック取得手段73(仲介クライアント50または仲介クライアント52に対応)と、取得した確証トランザクションに含まれるブロック番号からブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証手段74(ブロック管理部41または仲介クライアント52に対応)とを備えている。そのような構成により、ブロックチェーンで行われたデータの不正操作を検知できる。
【0114】
以下、本実施形態の不正検知システムの具体的な構成例を説明する。
【0115】
<第一構成例>
図14は、本発明による不正検知システムの第三の実施形態の第一の構成例を示す説明図である。本実施形態の第一の構成例の不正検知システム300は、クライアントデバイス1と、複数のノード10と、トランザクション管理部60と、仲介クライアント70とを備えている。
【0116】
トランザクション管理部60は、第一の実施形態の第一の構成例のブロック管理部21と、第二の実施形態の第一の構成例のブロック管理部41とを含む。また、仲介クライアント70は、第一の実施形態の第一の構成例の仲介クライアント30および第二の実施形態の第一の構成例の仲介クライアント50の機能を併せ持つ。なお、ブロック管理部21およびブロック管理部41は、第一の実施形態の第一の構成例および第二の実施形態の第一の構成例と同様に、トランザクション管理部60とは別に設けられていてもよい。
【0117】
このような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0118】
<第二構成例>
図15は、本発明による不正検知システムの第三の実施形態の第二の構成例を示す説明図である。本実施形態の第二の構成例の不正検知システム301は、クライアントデバイス1と、複数のノード10と、トランザクション管理部22と、仲介クライアント71とを備えている。トランザクション管理部22の内容は、第一の実施形態または第二の実施形態のトランザクション管理部22の内容と同様である。
【0119】
仲介クライアント71は、第一の実施形態の第一の構成例の仲介クライアント32および第二の実施形態の第一の構成例の仲介クライアント52の機能を併せ持つ。
【0120】
このような構成により、検証するブロックチェーンでデータの不正操作が行われた場合であっても、記録媒体に登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0121】
次に、上記実施形態の不正検知システムの具体的な構成例を説明する。
【0122】
<第一具体例>
第一の具体例では、第一の実施形態の第一の構成例、および、第二の実施形態の第一の構成例で示すように、記録媒体として他のブロックチェーンが用いられる場合について説明する。以下の説明では、第一のブロックチェーンにHyperldger Fabric が用いられ、第二のブロックチェーンにEthereumが用いられる場合を例示する。
【0123】
図16は、確証を登録する処理の第一の具体例を示す説明図である。
図16に示す例では、client201がHyperldger Fabric ネットワーク310の外に記載されているが、client201がHyperldger Fabric ネットワーク310に含まれていてもよい。
【0124】
client201は、取引要求を作成して、第一のブロックチェーン(Hyperldger Fabric ネットワーク310)に送信する(ステップS201)。peer210は、取引要求に応じた処理を実行後、ブロック化処理をorderer 220に依頼する(ステップS202)。orderer 220は、ブロック化処理と共に、ブロック確証トランザクションを生成し、Ethereum client 230に送信する(ステップS203)。Ethereum client 230は、ブロック確証トランザクションを第二のブロックチェーン(Ethereumネットワーク320)に記録し(ステップS204)、結果をorderer 220に戻す(ステップS205)。orderer 220は、ブロック情報を各peer210に送信する(ステップS206)。peerは、自身のブロックチェーンにブロックを接続し、client201に結果を戻す(ステップS207)。
【0125】
図17は、不正操作を検証する第一の具体例を示す説明図である。
図17に示す例でも、client201がHyperldger Fabric ネットワーク310の外に記載されているが、client201がHyperldger Fabric ネットワーク310に含まれていてもよい。ここでは、悪意を持った利用者が結託して、ブロック202を書き換えているものとする(ステップS301)。
【0126】
client201は、取引要求を作成して、第一のブロックチェーン(Hyperldger Fabric ネットワーク310)に送信する(ステップS302)。peer210は、取引要求に応じた処理を実行後、ブロック化処理をorderer 240に依頼する(ステップS303)。Ethereum client 250は、ブロック確証トランザクションを第二のブロックチェーン(Ethereumネットワーク320)から読み出す(ステップS304)。orderer 240は、ブロック確証トランザクションに基づいて、対象とするブロックのハッシュ値を生成する(ステップS305)。
【0127】
ブロック202が書き換えられているため、生成したハッシュ値とブロック確証トランザクションの値とは一致しない(ステップS306)。そこで、orderer 240はpeer210にエラーを返し(ステップS307)、peer210は、client201にエラーを返す(ステップS308)。
【0128】
次に、本具体例の不正検知システムを利用して文書の改ざんを検知する具体的処理を説明する。ここでは、第一のブロックチェーンをコンソーシアム型ブロックチェーンとし、第二のブロックチェーンをパブリック型ブロックチェーンとする。
【0129】
例えば、ある文書が改ざんされていないことを証明できるデータが第一のブロックチェーンのトランザクションAに含まれていたとする。そのトランザクションAがブロック10番に入っているのがわかると、仲介クライアント50は、そのブロック10番に基づいてハッシュ値を生成したブロック確証トランザクションをパブリック型ブロックチェーン(第二のブロックチェーン)から取得する。
【0130】
ここで、ブロック10番のデータが、パブリックブロックチェーンの1100番のブロックに含まれていることが分かると、仲介クライアント50は、パブリックブロックチェーンの1100番のブロックに含まれるブロック確証トランザクションから、マークルルートハッシュを取り出す。一方、ブロック管理部41は、集約した範囲のブロックのブロック番号から、再度マークルルートハッシュを算出する。この2つのハッシュ値が一致した場合には、文書が改ざんされていないと判断できる。なお、上述するように、判断処理が第一のブロックチェーンにて行われるため、クライアントデバイス1は、基本的には内部の処理を意識する必要がない。
【0131】
<第二具体例>
第二の具体例では、第一の実施形態の第二の構成例、および、第二の実施形態の第二の構成例で示すように、記録媒体として、監査員宛のメールが用いられる場合について説明する。なお、記録媒体として表象手段が用いられる場合も同様である。以下の説明でも、検証するブロックチェーンにHyperldger Fabric が用いられる場合を例示する。
【0132】
図18は、確証を登録する処理の第二の具体例を示す説明図である。
図18に示す例では、client201がHyperldger Fabric ネットワーク311の外に記載されているが、client201がHyperldger Fabric ネットワーク311に含まれていてもよい。また、
図18に示す例では、2種類のpeer(peer.org1 、Oracle Peer )210を例示しているが、それぞれの機能は同一である。
【0133】
client201は、取引要求を作成して、ブロックチェーン(Hyperldger Fabric ネットワーク311)に送信する(ステップS401)。peer210は、取引要求に応じた処理を実行後、ブロック化処理をorderer 221に依頼する(ステップS402)。orderer 221は、ブロック情報を各peer210に送信する(ステップS403)。peer210は、自身のブロックチェーンにブロックを接続し、client201に結果を戻す(ステップS404)。
【0134】
一方、仲介クライアントとして機能するOracleBC Client 231は、一定のタイミング(例えば、1日1回など)で、peer210のDB(データベース)からブロックの情報を読み出し、ブロックヘッダのマークルルートハッシュを算出し、ブロック確証トランザクションを生成する(ステップS405)。そして、OracleBC Client 231は、生成したブロック確証トランザクションを、監査員宛のメールに登録して外部装置321に送信する(ステップS406)。
【0135】
図19は、不正操作を検証する第二の具体例を示す説明図である。
図19に示す例でも、client201がHyperldger Fabric ネットワーク311の外に記載されているが、client201がHyperldger Fabric ネットワーク311に含まれていてもよい。ここでは、悪意を持った利用者が結託して、ブロック202を書き換えているものとする(ステップS501)。この状況において、監査員に届いているメールに基づいてブロックの監査が行われるものとする。
【0136】
具体的には、外部装置321が、仲介クライアントとして機能するOracleBC Client 251に対して、メールに登録されたブロック確証トランザクションの内容と共にブロックの検証要求を送信する(ステップS502)。
【0137】
OracleBC Client 251は、ブロックの検証要求に基づいて、監査対象のブロックを読み出して、マークルルートハッシュを算出する(ステップS503)。そして、OracleBC Client 251は、算出したハッシュ値と、ブロック確証トランザクションに含まれるハッシュ値とを比較する(ステップS504)。本具体例では、ブロック202が書き換えられているため、算出したハッシュ値とブロック確証トランザクションのハッシュ値とは一致しない。そこで、OracleBC Client 251は、データの改ざんを検出する。
【0138】
以下、
図7を参照して、本発明の不正検証装置の具体的態様を説明する。不正検証装置80(例えば、上述する第二の実施形態の第一の構成例の不正検証装置)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションが登録されているブロックチェーンであって、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)から取得する確証ブロック取得手段81(例えば、仲介クライアント50)と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作(例えば、データの改ざん)を検知する不正操作検証手段82(例えば、ブロック管理部41)とを備えていてもよい。
【0139】
そのような構成により、ブロックチェーンで行われたデータの不正操作を検知できる。
【0140】
また、第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定されてもよい。
【0141】
具体的には、第一のブロックチェーン対象とする範囲は、第二のブロックチェーンにおいて1つのブロックが生成される期間内で生成される、第一のブロックチェーンのブロックの数の範囲であってもよい。
【0142】
また、第一のブロックチェーンは、コンソーシアム型ブロックチェーンまたはパブリック型ブロックチェーンであってもよい、第二のブロックチェーンは、パブリック型ブロックチェーンであってもよい。
【0143】
具体的には、第一のマークルルートハッシュと第二のマークルルートハッシュとは、同一の方法で算出される。
【0144】
次に、
図1を参照して、本発明の確証生成装置の具体的態様を説明する。確証生成装置90(例えば、上述する第一の実施形態の第一の構成例の確証生成装置)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段91(例えば、ブロック管理部21)と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)に送信する登録手段92(例えば、仲介クライアント30)とを備えていてもよい。
【0145】
そのような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0146】
次に、
図13を参照して、本発明の不正検知システムの具体的態様を説明する。不正検知システム170(例えば、不正検知システム300)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段71(例えば、ブロック管理部21)と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)に送信する登録手段72(例えば、仲介クライアント30)と、ブロック確証トランザクションを、第二のブロックチェーンから取得する確証ブロック取得手段73(例えば、仲介クライアント50)と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作(例えば、データの改ざん)を検知する不正操作検証手段74(例えば、ブロック管理部41)とを備えていてもよい。
【0147】
そのような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。
【0148】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0149】
(付記1)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得手段と、
取得した前記確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
ことを特徴とする不正検証装置。
【0150】
(付記2)確証ブロック取得手段は、検証するブロックチェーンである第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、記録媒体である、当該ブロック確証トランザクションが登録されているブロックチェーンであって前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得し、
不正操作検証手段は、取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
付記1記載の不正検証装置。
【0151】
(付記3)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
付記2記載の不正検証装置。
【0152】
(付記4)第一のブロックチェーン対象とする範囲は、第二のブロックチェーンにおいて1つのブロックが生成される期間内で生成される、第一のブロックチェーンのブロックの数の範囲である
付記2または付記3記載の不正検証装置。
【0153】
(付記5)第一のブロックチェーンは、コンソーシアム型ブロックチェーンまたはパブリック型ブロックチェーンであり、第二のブロックチェーンは、パブリック型ブロックチェーンである
付記2から付記4のうちのいずれか1つに記載の不正検証装置。
【0154】
(付記6)確証ブロック取得手段は、ブロック確証トランザクションを、記録媒体である、検証するブロックチェーンの参加者と利害関係のない監査員宛のメール、または、外界から認識可能に公示された表象手段から取得する
付記1記載の不正検証装置。
【0155】
(付記7)第一のマークルルートハッシュと第二のマークルルートハッシュとは、同一の方法で算出される
付記1から付記6のうちのいずれか1つに記載の不正検証装置。
【0156】
(付記8)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録手段とを備えた
ことを特徴とする確証生成装置。
【0157】
(付記9)確証ブロック生成手段は、検証するブロックチェーンである第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
登録手段は、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる記録媒体である第二のブロックチェーンに送信する
付記8記載の確証生成装置。
【0158】
(付記10)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
付記9記載の確証生成装置。
【0159】
(付記11)登録手段は、ブロック確証トランザクションを、記録媒体であるメールに登録し、検証するブロックチェーンの参加者と利害関係のない監査員宛に当該メールを送信する
付記8記載の確証生成装置。
【0160】
(付記12)登録手段は、ブロック確証トランザクションを、外界から認識可能に公示された表象手段に登録する
付記8記載の確証生成装置。
【0161】
(付記13)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録手段と、
前記ブロック確証トランザクションを、前記記録媒体から取得する確証ブロック取得手段と、
取得した確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
ことを特徴とする不正検知システム。
【0162】
(付記14)確証ブロック生成手段は、検証するブロックチェーンである第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
登録手段は、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる記録媒体である第二のブロックチェーンに送信し、
確証ブロック取得手段は、前記ブロック確証トランザクションを、記録媒体である、前記第二のブロックチェーンから取得し、
不正操作検証手段は、取得した確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
付記13記載の不正検知システム。
【0163】
(付記15)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
付記14記載の不正検知システム。
【0164】
(付記16)登録手段は、ブロック確証トランザクションを、記録媒体であるメールに登録し、検証するブロックチェーンの参加者と利害関係のない監査員宛に当該メールを送信し、
確証ブロック取得手段は、ブロック確証トランザクションを、記録媒体である前記メールから取得する
付記13記載の不正検知システム。
【0165】
(付記17)登録手段は、ブロック確証トランザクションを、外界から認識可能に公示された表象手段に登録し、
確証ブロック取得手段は、ブロック確証トランザクションを、記録媒体である前記表象手段から取得する
付記13記載の不正検知システム。
【0166】
(付記18)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得し、
取得した前記確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
ことを特徴とする不正検証方法。
【0167】
(付記19)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する
ことを特徴とする確証生成方法。
【0168】
(付記20)検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録し、
前記ブロック確証トランザクションを、前記記録媒体から取得し、
取得した確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
ことを特徴とする不正検知方法。
【0169】
(付記21)コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得処理、および、
取得した前記確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証処理
を実行させるための不正検証プログラムを記憶するプログラム記憶媒体。
【0170】
(付記22)コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録処理
を実行させるため確証生成プログラムを記憶するプログラム記憶媒体。
【0171】
(付記23)コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体から取得する確証ブロック取得処理、および、
取得した前記確証トランザクションに含まれるブロック番号から前記ブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証処理
を実行させるための不正検証プログラム。
【0172】
(付記24)コンピュータに、
検証するブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、
前記ブロック確証トランザクションの改ざんを第三者によって検知可能な記録媒体に当該ブロック確証トランザクションを登録する登録処理
を実行させるための確証生成プログラム。
【0173】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0174】
この出願は、2020年2月21日に出願された日本特許出願2020-28430およびPCT国際出願PCT/JP2021/001809を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0175】
1 クライアントデバイス
10 ノード
11 制御部
12 記憶部
20,22,40,60 トランザクション管理部
21,41 ブロック管理部
30,32,50,52,70 仲介クライアント
100,101,200,201,300,301 不正検知システム
110,111 ブロックチェーン
120 ブロックチェーン
130 外部装置