IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7076682ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム
<>
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図1
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図2
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図3
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図4
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図5
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図6
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図7
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図8
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図9
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図10
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図11
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図12
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図13
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図14
  • 特許-ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-20
(45)【発行日】2022-05-30
(54)【発明の名称】ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器およびコンピュータプログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220523BHJP
【FI】
H04L9/32 200Z
【請求項の数】 17
(21)【出願番号】P 2021507939
(86)(22)【出願日】2020-10-09
(65)【公表番号】
(43)【公表日】2022-01-19
(86)【国際出願番号】 CN2020120041
(87)【国際公開番号】W WO2021073452
(87)【国際公開日】2021-04-22
【審査請求日】2021-02-16
(31)【優先権主張番号】201910976287.4
(32)【優先日】2019-10-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】杜 智超
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2019-109635(JP,A)
【文献】特表2019-512778(JP,A)
【文献】米国特許出願公開第2019/0132138(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
電子機器が実行する、ブロックチェーンネットワークに基づくデータ処理方法であって、
ターゲットノードによって送信されるトランザクション要求を取得するステップと、
前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得するステップと、
前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップと、
前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するステップと、
前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するステップと、を含む、ブロックチェーンネットワークに基づくデータ処理方法。
【請求項2】
前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップは、
前記トランザクション要求に応答して、チェーン高さトラバーサルプロセスをトリガするステップと、
前記チェーン高さトラバーサルプロセスを通じて、前記ターゲットノードと一致するチェーン高さパラメータに従って、前記現在のノードに記憶されたオフチェーンデータをトラバースすることにより、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップと、を含む、
請求項1に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項3】
前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するステップは、
前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記トランザクションパラメータを解析して、対応するターゲットノードのタイプパラメータを取得するステップと、
前記ターゲットノードのタイプパラメータが第1タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのメインチェーンに含まれるノードであると決定するステップと、
前記ターゲットノードのタイプパラメータが第2タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのサイドチェーンに含まれるノードであると決定するステップと、を含む、
請求項1に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項4】
前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するステップは、
前記ターゲットノードのタイプがブロックチェーンネットワークのメインチェーンに含まれるノードである場合、前記トランザクション要求を解析して、対応するオフチェーンデータ記憶位置情報を取得するステップと、
前記オフチェーンデータ記憶位置情報に従って、前記トランザクション要求と一致するオフチェーンデータを取得するステップと、
取得したオフチェーンデータを現在のノードに記憶するステップと、を含む、
請求項3に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項5】
前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するステップは、
前記ターゲットノードのタイプがブロックチェーンネットワークのサイドチェーンに含まれるノードである場合、前記ブロックチェーンネットワークのメインチェーンに対応するノードにデータ取得要求を送信するステップと、
前記データ取得要求に応答して、前記トランザクション要求と一致するオフチェーンデータを受信するステップと、
取得したオフチェーンデータを現在のノードに記憶するステップと、を含む、
請求項3に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項6】
前記方法は、
前記ブロックチェーンネットワーク内の他のノードのデータ同期要求を受信するステップと、
前記データ同期要求に応答して、前記他のノードの権限を検証するステップと、
前記他のノードの権限が検証に合格した場合、前記他のノードとデータ同期を実行するように現在のノードを制御することにより、前記他のノードが対応するオフチェーンデータを取得するステップと、を含む、
請求項1に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項7】
前記方法は、
照会要求を受信し、前記照会要求を解析して対応するユーザ識別子を取得するステップと、
前記ユーザ識別子に従って、前記ブロックチェーンネットワークのターゲットノード内のオフチェーンデータの権限情報を取得するステップと、
前記オフチェーンデータの権限情報と前記ユーザ識別子を検証するステップと、
前記オフチェーンデータの権限情報が前記ユーザ識別子と一致する場合、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得するステップと、
前記照会要求に応答して、取得した対応するオフチェーンデータを対応するクライアントにプッシュするステップと、を更に含む、
請求項1に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項8】
前記方法は、
前記オフチェーンデータの権限情報が前記ユーザ識別子と一致しない場合、提示情報を送信するステップを更に含み、前記提示情報は、前記オフチェーンデータの権限情報を検証するようにユーザに提示するために使用される、
請求項7に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項9】
前記ユーザ識別子に従って、前記ブロックチェーンネットワークのターゲットノード内のオフチェーンデータの権限情報を取得するステップは、
前記照会要求の照会条件情報を取得するステップであって、前記照会条件情報は、少なくとも1つのターゲット次元のターゲットインデックス値を含む、ステップと、
前記少なくとも1つのターゲット次元のターゲットインデックス値に従って、前記ブロックチェーンネットワークの情報インデックステーブルを照会して、前記オフチェーンデータに対応するユーザ識別子を取得するステップであって、前記情報インデックステーブルは、記憶した情報のユーザ識別子及び異なる次元のインデックス値を含む、ステップと、
前記オフチェーンデータに対応するユーザ識別子に従って、ターゲットノードのオフチェーンデータの権限情報を決定するステップと、を含む、
請求項7に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項10】
前記オフチェーンデータの権限情報が前記ユーザ識別子と一致する場合、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得するステップは、
前記オフチェーンデータの権限情報と一致するターゲットノードの秘密鍵を取得するステップと、
前記ターゲットノードの前記秘密鍵により、前記ブロックチェーンネットワークから取得した対応するオフチェーンデータを復号化して、対応するプレーンテキスト状態のオフチェーンデータを取得するステップと、を含む、
請求項7に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項11】
前記オフチェーンデータの権限情報が前記ユーザ識別子と一致する場合、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得するステップは、
ターゲットユーザ識別子に対応するターゲットユーザに、対応する動的パスワードを要求するステップと、
取得した動的パスワードに従って、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得するステップと、
前記動的パスワードと一致する秘密鍵により、前記オフチェーンデータを復号化して、前記ターゲットユーザ識別子と一致するオフチェーンデータを取得するステップと、を含む、
請求項7に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項12】
前記方法は、
前記クライアントによるターゲットユーザのオフチェーンデータの処理結果を取得するステップと、
前記オフチェーンデータの処理結果に応答して、前記ブロックチェーンネットワークでのブロードキャストをトリガすることにより、前記ブロックチェーンネットワーク内の他のノードとのデータ同期を実行し、前記ターゲットユーザのオフチェーンデータと一致する処理結果を更新するステップと、
前記ターゲットユーザのオフチェーンデータの処理結果を対応するクライアントにプッシュするステップと、更に含む、
請求項7に記載のブロックチェーンネットワークに基づくデータ処理方法。
【請求項13】
ブロックチェーンネットワークに基づくデータ処理装置であって、
ターゲットノードによって送信されるトランザクション要求を取得するように構成される情報伝送モジュールと、
前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得するように構成される情報処理モジュールと、を備え、
前記情報処理モジュールは、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するように構成され、
前記情報処理モジュールは、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するように構成され、
前記情報処理モジュールは、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するように構成される、ブロックチェーンネットワークに基づくデータ処理装置。
【請求項14】
前記情報処理モジュールは、前記トランザクション要求に応答して、チェーン高さトラバーサルプロセスをトリガするように構成され、
前記情報処理モジュールは、前記チェーン高さトラバーサルプロセスを通じて、前記ターゲットノードと一致するチェーン高さパラメータに従って、前記現在のノードに記憶されたオフチェーンデータをトラバースすることにより、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するように構成される、
請求項13に記載のブロックチェーンネットワークに基づくデータ処理装置。
【請求項15】
前記情報処理モジュールは、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記トランザクションパラメータを解析して、対応するターゲットノードのタイプパラメータを取得するように構成され、
前記情報処理モジュールは、前記ターゲットノードのタイプパラメータが第1タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのメインチェーンに含まれるノードであると決定するように構成され、
前記情報処理モジュールは、前記ターゲットノードのタイプパラメータが第2タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのサイドチェーンに含まれるノードであると決定するように構成される、
請求項13に記載のブロックチェーンネットワークに基づくデータ処理装置。
【請求項16】
電子機器であって、
実行可能な命令を記憶するように構成されるメモリと、
前記メモリに記憶された実行可能な命令を実行する時に、請求項1ないし12のいずれか一項に記載のブロックチェーンネットワークに基づくデータ処理方法を実現するように構成されるプロセッサと、を備える、電子機器。
【請求項17】
コンピュータプログラムであって、
コンピュータに、請求項1ないし12のいずれか一項に記載のブロックチェーンネットワークに基づくデータ処理方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年10月15日に中国特許局に提出された、出願番号がCN201910976287.4である中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照によって本願に組み込まれる。
【0002】
本発明は、ブロックチェーンネットワークにおける情報記憶技術、特に、ブロックチェーンネットワークに基づくデータ処理方法、装置、電子機器および記憶媒体に関するものである
【背景技術】
【0003】
関連技術では、ブロックチェーンネットワークにおいて、ブロックチェーンネットワークのノードがオフチェーンデータにアクセスする必要がある場合、各ブロックチェーンネットワークにおける対応するブロックは、オフチェーンデータソースのデータに直接アクセスする。ブロックチェーンネットワークの各ブロックチェーンノードによって取得されたオフチェーンデータが一致しない場合、ブロックチェーンネットワークにおける異なるブロックチェーンノード間に分岐が発生し、ブロックチェーンネットワークのデータ処理効率に影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の問題点に鑑みて、本発明の実施例は、ブロックチェーン内の全てのブロックがオフチェーンデータを取得する時に、一致するオフチェーンデータにアクセスできるように保証して、ブロックチェーンネットワークにおける異なるブロックによって取得されたオフチェーンデータの不一致によるブロックチェーンネットワークの分岐の可能性を低減させ、ブロックチェーンネットワークのデータ処理効率を向上させる同時に、ブロックチェーンネットワークの分散型特性を維持し、ブロックチェーンネットワークにおけるノードの一部の故障によるブロックチェーンネットワークのネットワーク故障のリスクを低減できる。
【課題を解決するための手段】
【0005】
本発明の実施例による技術的解決策は、次のように実現できる。
【0006】
本発明の実施例は、ブロックチェーンネットワークに基づくデータ処理方法を提供し、前記方法は、
ターゲットノードによって送信されるトランザクション要求を取得するステップと、
前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得するステップと、
前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップと、
前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するステップと、
前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するステップと、を含む。
【0007】
本発明の実施例は、ブロックチェーンネットワークに基づくデータ処理装置をさらに提供し、前記装置は、
ターゲットノードによって送信されるトランザクション要求を取得するように構成される情報伝送モジュールと、
前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得するように構成される情報処理モジュールと、を備え、
前記情報処理モジュールは、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するように構成され、
前記情報処理モジュールは、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するように構成され、
前記情報処理モジュールは、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するように構成される。
【0008】
本発明の実施例は、電子機器をさらに提供し、前記電子機器は、
実行可能な命令を記憶するように構成されるメモリと、
前記メモリに記憶された実行可能な命令を実行する時に、上記のブロックチェーンネットワークに基づくデータ処理方法を実現するように構成されるプロセッサと、を備える。
【0009】
本発明の実施例は、実行可能な命令が記憶された、コンピュータ可読記憶媒体をさらに提供し、前記実行可能な命令がプロセッサによって実行される時に、上記のブロックチェーンネットワークに基づくデータ処理方法を実現する。
【発明の効果】
【0010】
本発明の実施例は、以下の有益な効果を有し得る。
【0011】
ターゲットノードによって送信されるトランザクション要求を取得し、前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得し、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会し、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定し、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得する。このプロセスでは、ブロックチェーン内の全てのブロックがオフチェーンデータを取得する時に、一致するオフチェーンデータにアクセスでき、これにより、ブロックチェーンネットワークにおける異なるブロックによって取得されたオフチェーンデータの不一致によるブロックチェーンネットワークの分岐の可能性を低減でき、ブロックチェーンネットワークのデータ処理效率を向上させる同時に、ブロックチェーンネットワークの分散型特性を維持し、ブロックチェーンネットワークのノードの一部の故障によるブロックチェーンネットワーク故障のリスクを低減できる。
【図面の簡単な説明】
【0012】
本願実施例又は関連技術における技術的解決策をより明確にするために、下記において、実施例又は関連技術の説明に必要な図面を簡単に説明する。勿論、下記の図面は本願の一部の実施例に過ぎず、当業者は、創造的な労力を要することなく、これらの図面に基づいて他の図面を得ることもできる。
【0013】
図1】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法の使用環境を示す概略図である。
図2】本発明の実施例によるブロックチェーンネットワーク200の機能アーキテクチャの概略図である。
図3】本発明の実施例による電子機器の構成を示す概略的な構造図である。
図4】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図5】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図6】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図7】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図8】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図9】本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。
図10】本発明によるブロックチェーンネットワークに基づくデータ処理方法の例示的な使用環境を示す概略図である。
図11】関連技術におけるブロックチェーンネットワークに基づくデータ処理方法の使用プロセスを示す概略図である。
図12】関連技術におけるブロックチェーンネットワークに基づくデータ処理方法及び契約検証を示す概略図である。
図13】本発明によるブロックチェーンネットワークに基づくデータ処理方法の使用プロセスを示す概略図である。
図14】本発明によるブロックチェーンネットワークに基づくデータ処理方法におけるオフチェーンデータマネージャ処理プロセスを示す概略図である。
図15】本発明によるブロックチェーンネットワークに基づくデータ処理方法における契約検証を示す概略図である。
【発明を実施するための形態】
【0014】
本発明の目的、技術的解決策及びメリットをより明確にするために、下記において、図面を参照して、本発明を更に詳細に説明する。下記で説明される実施例は、本発明を限定するものと見なされるべきではなく、創造的な努力なしに当業者によって得られる他のすべての実施例は、本発明の保護範囲に含まれるものとする。
【0015】
下記の説明において、「いくつかの実施例」とは、全ての可能な実施例のサブセットを指すが、「いくつかの実施例」というのは、全ての可能な実施例の同じサブセット又は異なるサブセットであり得、競合することなく互いに組み合わせることができることが理解できる。
【0016】
本発明の実施例を更に詳細に説明する前に、本発明の実施例に係る名詞及び用語を説明する。本発明の実施例に係る名詞及び用語の解釈は、以下の通りである。
【0017】
(1)トランザクション(Transaction)は、コンピュータ用語「トランザクション」に相当する。トランザクションは、単なる商業的な文脈での取引を指すのではなく、ブロックチェーンネットワークに提出して実行する必要がある操作を含む。ブロックチェーン技術で「トランザクション」という用語の従来からの使用を考慮して、本発明の実施例はこの習慣に従う。
【0018】
例えば、トランザクション構成の展開(Deploy)は、指定されたスマート契約をブロックチェーンネットワークのノードにインストールし、呼び出しに準備できていることを指す。トランザクション構成の呼び出し(Invoke)は、スマート契約を呼び出して、トランザクションの記録をブロックチェーンに追加し、ブロックチェーンの状態データベースに対して、更新操作(状態データベース内のキー値ペアを追加、削除、及び修正する操作を含む)や照会操作(即ち、状態データベース内のキー値ペアを照会する操作)などを実行することを指す。
【0019】
(2)ブロックチェーン(Blockchain)は、ブロック(Block)によって形成される、暗号化されたチェーンタイプのトランザクションのストレージ構造である。
【0020】
例えば、各ブロックのヘッダは、ブロック内の全てのトランザクションのハッシュ値だけでなく、前のブロック内の全てのトランザクションのハッシュ値も含むことができ、これにより、ハッシュ値に基づいてブロック内のトランザクションの改ざん防止及び偽造防止を実現する。新しく生成されたトランザクションがブロックに記入され、ブロックチェーンネットワークのノードによって合意が形成された後に、当該ブロックは、ブロックチェーンのテールに追加され、チェーンタイプの増加を形成する。
【0021】
(3)ブロックチェーンネットワーク(Blockchain Network)は、合意形成の方式で新しいブロックをブロックチェーンに組み込まれた一連のノードの集合である。
(4)台帳(Ledger)は、ブロックチェーン(台帳データとも呼ばれる)及びブロックチェーンと同期された状態データベースの総称である。
【0022】
ここで、ブロックチェーンは、ファイルシステムのファイルの形でトランザクションを記録する。状態データベースは、異なるタイプのキー値(KeyーValue)ペアの形でブロックチェーン内のトランザクションを記録し、ブロックチェーン内のトランザクションの高速照会をサポートするために使用される。
【0023】
(5)スマート契約(Smart Contracts)は、チェーンコード(Chaincode)又はアプリケーションコードとも呼ばれ、ブロックチェーンネットワークのノードに展開されたプログラムであり、ノードは、受信したトランザクションで呼び出されたスマート契約を実行して、台帳データベースのキー値ペアデータを更新又は照会する。
【0024】
(6)合意(Consensus)は、ブロックチェーンネットワークにおけるプロセスであり、当該プロセスは、関連する複数のノードによりブロック内のトランザクションについて合意を形成するように構成され、合意が形成されたブロックは、ブロックチェーンのテールに追加される。合意を実現するためのメカニズムは、プルーフオブワーク(PoW:Proof of Work)、プルーフオブステーク(PoS:Proof of Stake)、委任プルーフオブステーク(DPoS:Delegated Proof-of-Stake)、プルーフオブエプスタイム(PoET:Proof of Elapsed Time)などを含む。
【0025】
以下は、本発明の実施例によるブロックチェーンネットワークの例示的な応用について説明する。図1を参照すると、図1は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法の使用環境を示す概略図であり、ブロックチェーンネットワーク200(ノード210-1からノード210-3を含むブロックチェーンネットワークを例示的に示す)、ブロックチェーンネットワーク管理プラットフォーム300、現在のノードシステム400(現在のノードシステム400に属する端末600-1及び当該端末のグラフィカルインターフェース610-1を例示的に示す)、及び監視ノードシステム500(監視ノードシステム500に属する端末600-2及び当該端末のグラフィカルインターフェース610-2を例示的に示す)を含み、以下にこれらについて説明する。
【0026】
ここで、ブロックチェーンネットワーク200のタイプは、柔軟で多様であり、例えば、パブリックチェーン、プライベートチェーン、又はコンソーシアムチェーンのいずれかであり得る。パブリックチェーンを例にとると、ユーザ端末、サーバなどのサービス主体の任意の電子機器は、許可なしにブロックチェーンネットワーク200にアクセスすることができる。コンソーシアムチェーンを例にとると、サービス主体が許可を取得した後、当該サービス主体の管轄下の電子機器(端末又はサーバなど)は、ブロックチェーンネットワーク200にアクセスでき、この場合、当該電子機器は、ブロックチェーンネットワーク200内の特殊なタイプのノード、即ち、クライアントノードとなる。
【0027】
説明を加えないといけないのは、クライアントノードは、サービス主体によって開始されるトランザクション(例えば、チェーンにデータを記憶したり、チェーンに記憶されたデータを照会したりするために使用される)をサポートする機能のみを提供することができ、ブロックチェーンネットワーク200の従来の(ネイティブ)ノード210の機能、例えば、以下に説明されるソート機能、合意サービス、及び台帳機能などについては、クライアントノードは、デフォルトで又は選択的に(例えば、サービス主体の具体的なサービス需要に応じて決定される)実現できる。したがって、サービス主体のデータ及びサービス処理ロジックを、最大限にブロックチェーンネットワーク200に遷移することができ、ブロックチェーンネットワーク200によりデータ及びサービス処理プロセスの信頼性及び追跡可能性を実現する。
【0028】
ブロックチェーンネットワーク200は、異なるサービス主体(例えば、図1に示される現在のノードシステム400及び監視ノードシステム500)のクライアントノード(例えば、図1に示される現在のノードシステム400に属する端末600-1、及び監視ノードシステム500に属する端末600-2)から提出されたトランザクションを受信し、トランザクションを実行することにより、台帳を更新するか、又は台帳を照会し、端末のユーザインターフェース(例えば、端末600-1のグラフィカルインターフェース610-1、端末600-2のグラフィカルインターフェース610-2)に、トランザクションの実行による様々な中間結果又は最終結果を表示する。当然のことながら、トランザクションを受信及び実行する上記のブロックチェーンネットワーク200は、ブロックチェーンネットワーク200内のネイティブノード210を指し得、勿論、サービス主体のクライアントノードがブロックチェーンネットワーク200内のネイティブノード210の機能(合意機能や台帳機能など)を有する場合、対応するクライアントノードを含むこともできる。
【0029】
以下は、複数のサービス主体(異なるノードシステム)がブロックチェーンネットワークにアクセスすることにより、物流データの管理を実現することを例に挙げて、ブロックチェーンネットワークの例示的な応用を説明する。
【0030】
図1を参照すると、物流プロセスに関連する複数のサービス主体、例えば、現在のノードシステム400及び監視ノードシステム500は、ブロックチェーンネットワーク管理プラットフォーム300の許可を得た後、現在のノードシステム400の端末600-1、及び監視ノードシステム500の端末600-2は全て、ブロックチェーンネットワーク200にアクセスできる。
【0031】
現在のノードシステム400のサービス担当者は、端末600-1のグラフィカルインターフェース610-1で現在のノードシステム400に登録し、ターゲットノードによって送信された対応するトランザクション要求、又はオフチェーンデータを照会するための対応する要求を入力する。ここで、照会要求は、ブロックチェーンネットワーク管理プラットフォーム300に送信され、ブロックチェーンネットワーク管理プラットフォーム300は、受信した照会要求に従って、更新操作/照会操作に対応するトランザクションを生成する。更新操作/照会操作を実現するために呼び出す必要があるスマート契約、及びスマート契約に渡されるパラメータをトランザクションで指定する。トランザクションは、現在のノードシステム400によって署名されたデジタル署名(例えば、現在のノードシステム400のデジタル証明書の秘密鍵を使用して、トランザクションの要約を暗号化することで取得する)も運び、トランザクションをブロックチェーンネットワーク200にブロードキャストする。
【0032】
ブロックチェーンネットワーク200内のノード210がトランザクションを受信した場合、トランザクションによって運ばれたデジタル署名を検証し、デジタル署名が検証に合格した後、トランザクションで運ばれた現在のノードシステム400のIDに従って、現在のノードシステム400がトランザクション権限を有するか否かを決定し、デジタル署名及び権限検証のいずれか検証判断は、トランザクションの失敗を引き起こす可能性がある。検証に合格した後、ノード210自体のデジタル署名(例えば、ノード210-1の秘密鍵を使用してトランザクション要約を暗号化することで取得する)を署名し、ブロックチェーンネットワーク200でブロードキャストし続ける。
【0033】
ブロックチェーンネットワーク200内のソート機能を備えたノード210は、検証に合格されたトランザクションを受信した後、トランザクションを新しいブロックに記入し、ブロックチェーンネットワーク200内の合意サービスを提供するノードにブロードキャストする。
【0034】
ブロックチェーンネットワーク200内の、合意サービスを提供するノード210は、合意を形成するために、新しいブロックに対して合意プロセスを実行する。台帳機能を提供するノード210は、新しいブロックをブロックチェーンのテールに追加し、新しいブロックのトランザクションを実行する。オフチェーンデータを更新するためのトランザクションについては、台帳データベース内のオフチェーンデータに対応するキー値ペアを更新する。オフチェーンデータを照会するためのトランザクションについては、台帳データベースでオフチェーンデータに対応するキー値ペアを照会し、照会結果を返信する。
【0035】
同様に、監視ノードシステム500側のサービス担当者は、端末600-2のグラフィカルインターフェース610-2で監視ノードシステム500(ここで、監視ノードシステムは、異なる機関によってアップロードされたオフチェーンデータを閲覧するために、最高の権限を有する)に登録し、オフチェーンデータ照会要求を入力する。ここで、照会要求は、ブロックチェーンネットワーク管理プラットフォーム300に送信され、ブロックチェーンネットワーク管理プラットフォーム300は、受信した照会要求に従って、更新操作/照会操作に対応するトランザクションを生成する。更新操作/照会操作を実現するために呼び出す必要があるスマート契約、及びスマート契約に渡されるパラメータをトランザクションで指定する。トランザクションは、現在のノードシステム400によって署名されたデジタル署名(例えば、現在のノードシステム400のデジタル証明書の秘密鍵を使用して、トランザクションの要約を暗号化することで取得する)も運び、トランザクションをブロックチェーンネットワーク200にブロードキャストする。さらに、当然のことながら、異なる機関のノード(サービス主体)は、ブロックチェーンネットワーク200でデータのタイプを照会/更新でき、サービス主体によって開始できるトランザクションの権限を制限することで実現できる。例えば、現在のノードシステム400が、ターゲットオフチェーンデータを照会するためのトランザクションを開始する権限を有する場合、現在のノードシステム400のサービス担当者は、端末600-1のグラフィカルインターフェース610-1でターゲットオフチェーンデータ照会要求を入力でき、ブロックチェーンネットワーク管理プラットフォーム300によりターゲットオフチェーンデータを照会するためのトランザクションを生成し、ブロックチェーンネットワーク200にブロードキャストすることができ、これにより、ブロックチェーンネットワーク200から対応するターゲットオフチェーンデータを取得する。監視ノードシステム500が、オフチェーンデータ照会するためのトランザクションを開始する権限を有する場合、監視ノードシステム500側のサービス担当者は、端末600-2のグラフィカルインターフェース610-2でオフチェーンデータ照会要求を入力でき、ブロックチェーンネットワーク管理プラットフォーム300により、オフチェーンデータを照会するためのトランザクションを生成し、ブロックチェーンネットワーク200にブロードキャストすることができ、これにより、ブロックチェーンネットワーク200から対応するオフチェーンデータを取得する。同時に、監視ノードシステム500は、オフチェーンデータの元の記録を記憶し、ターゲットユーザによって入力されたオフチェーンデータ(例えば、オフチェーンデータの対応するID情報又は対応するハッシュ値)を検証することもできる。
【0036】
以下は、本発明の実施例によるブロックチェーンネットワークの例示的な機能アーキテクチャについて説明する。図2を参照すると、図2は、本発明の実施例によるブロックチェーンネットワーク200の機能アーキテクチャの概略図であり、応用層201、合意層202、ネットワーク層203、データ層204、及びリソース層205を含み、以下にこれらについて説明する。
【0037】
リソース層205は、例えば、コンピュータ、サーバ/サーバクラスタ、及びクラウド内の計算リソース、ストレージリソース及び通信リソースなど、ブロックチェーンネットワーク200内の各ノード210を実装するための計算リソース、ストレージリソース及び通信リソースがカプセル化され、それらを抽象化して、データ層204に統合インターフェースを提供することにより、リソース層205を実装する基盤となるハードウェアの違いをシールドする。
【0038】
計算リソースは、例えば、中央処理装置(CPU)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)など、様々なタイプのプロセッサを含み得る。
【0039】
ストレージリソースは、揮発性メモリや不揮発性メモリなど、様々なタイプの記憶媒体を含み得る。ここで、不揮発性メモリは、読み取り専用メモリ(ROM:Read Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable Read-Only Memory)であってもよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。
【0040】
通信リソースは、ブロックチェーンネットワーク内のノード210間、及びブロックチェーンネットワーク200とサービス主体との間の通信に使用される各種リンクを含む。
【0041】
データ層204は、ファイルシステムにおけるファイルで実現されるブロックチェーン、キー値型の状態データベース、及び存在の証明(ブロックのトランザクションのハッシュツリーなど)を含む、台帳を実現するための各種データ構造がカプセル化される。
【0042】
ネットワーク層203は、ポイントツーポイント(P2P:Point to Point)ネットワークプロトコル、データ伝播メカニズムとデータ検証メカニズム、アクセス認証メカニズム、及びサービス主体ID管理の機能がカプセル化される。
【0043】
ここで、P2Pネットワークプロトコルは、ブロックチェーンネットワーク200内のノード210下の通信を可能にする。データ伝播メカニズムは、ブロックチェーンネットワーク200でのトランザクションの伝播を保証する。データ検証メカニズムは、暗号学の方法(例えば、デジタル証明書、デジタル署名、公開鍵/秘密鍵ペアなど)に基づいて、ノード210間のデータ伝送の信頼性を保証するために使用される。アクセス認証メカニズムは、実際のサービスシナリオに従ってブロックチェーンネットワーク200に加入したサービス主体のIDを認証し、認証に合格した場合、ブロックチェーンネットワーク200にアクセスする権限をサービス主体に付与するために使用される。サービス主体ID管理は、ブロックチェーンネットワーク200へのアクセスが許可されたサービス主体のID、及び権限(例えば、開始できるトランザクションのタイプなど)を記憶するために使用される。
【0044】
合意層202は、ブロックチェーンネットワーク200内のノード210によりブロックに対して合意を形成するためのメカニズム(即ち、合意メカニズム)、トランザクション管理、及び台帳管理の機能がカプセル化される。
【0045】
合意メカニズムは、POS、POW、及びDPOSなどの合意アルゴリズムを含み得、合意アルゴリズムのプラグ可能性をサポートする。
【0046】
トランザクション管理は、ノード210によって受信されたトランザクションに運ばれたデジタル署名を検証するように構成され、サービス主体のID情報を検証し、ID情報に基づいて当該サービス主体がトランザクションを実行する権限があるか否かを判断するために使用される(サービス主体ID管理から関連情報を読み取る)。ブロックチェーンネットワーク200にアクセスする許可を得たサービス主体は全て、認証センタによって送信されたデジタル証明書を有し、サービス主体は、自体のデジタル証明書内の秘密鍵を使用して、提出されたトランザクションに署名することにより、当該サービス主体自体の正当性を宣言する。
【0047】
台帳管理は、ブロックチェーン及び台帳データベースを維持するために使用される。合意が形成されたブロックは、ブロックチェーンのテールに追加される。台帳管理は、合意が形成されたブロックのトランザクションを実行し、トランザクションが更新操作を含む場合、状態データベース内のキー値ペアを更新し、トランザクションが照会操作を含む場合、台帳データベース内のキー値ペアを照会し、サービス主体に照会結果を返信する。サポートする台帳データベースの複数の次元の照会操作は、ブロックのシリアル番号(トランザクションのハッシュ値など)に従ってブロックを照会すること、ブロックハッシュ値に従ってブロックを照会すること、トランザクションのシリアル番号に従ってブロックを照会すること、トランザクションのシリアル番号に従ってトランザクションを照会すること、サービス主体のアカウント(シリアル番号)に基づいてサービス主体のアカウントデータを照会すること、及びチャネル名に基づいてチャネル内のブロックチェーンを照会することを含む。
【0048】
応用層201は、ブロックチェーンネットワークによって実現できる各種サービス(トランザクションのソース追跡、証明預託及び検証など)がカプセル化される。
【0049】
以下は、本発明の実施例によるブロックチェーンネットワークのノードを実現する例示的な構造について説明する。当然のことながら、ブロックチェーンネットワーク200内の任意のタイプのノードのハードウェア構造は、以下に説明されるハードウェア構造に従って実施できる。
【0050】
本発明の実施例による電子機器の構造を以下に詳細に説明する。ここで、本発明によるブロックチェーンネットワークに基づくデータ処理方法は、様々なタイプの電子機器によって実施されることができる。例えば、情報処理機能を備えた専用端末によって実行されることができ、又は処理機能を備えた電子機器(上記の図1のブロックチェーンネットワーク管理プラットフォーム300を実行する電子機器など)によって実行できる。図3は、本発明の実施例による電子機器の構成を示す概略的な構造図であり、図3は、構造全体ではなく、電子機器の例示的な構造のみを示しており、必要に応じて、図3に示される構造の一部又は全部を実施し得ることが理解できる。
【0051】
本発明の実施例による電子機器は、少なくとも1つのプロセッサ301と、メモリ302と、ユーザインターフェース303と、少なくとも1つのネットワークインターフェース304と、を備えてもよい。電子機器の各構成要素は、バスシステム305を介して結合される。バスシステム305は、これらの構成要素間の接続通信を実現するように構成されることが理解できる。データバスに加えて、バスシステム305は、電力バス、制御バス、及び状態信号バスを含んでもよい。しかしながら、説明を明確にするために、図3では、各種バスを全てバスシステム305として表記している。
【0052】
ここで、ユーザインターフェース303は、ディスプレイ、キーボード、マウス、トラックボール、クリックホイール、キー、ボタン、タッチパネル、又はタッチスクリーンなどを含み得る。
【0053】
メモリ302は、揮発性メモリ又は不揮発性メモリであってもよく、揮発性及び不揮発性メモリの両方を含んでもよいことが理解できる。本発明の実施例におけるメモリ302は、端末(10-1など)の動作をサポートするためのデータを記憶することができる。このようなデータの例には、オペレーティングシステムやアプリケーションプログラムなど、端末(10-1など)で動作する任意のコンピュータプログラムを含む。ここで、オペレーティングシステムは、例えば、フレームワーク層、コアライブラリ層、ドライバ層など、各種システムプログラムを含み、各種基本サービスを実現し、ハードウェアベースのタスクを処理するように構成される。アプリケーションプログラムは、様々なアプリケーションプログラムを含み得る。
【0054】
いくつかの実施例では、本発明の実施例によるデータ処理装置は、ソフトウェアとハードウェアの組み合わせによって実現されることができ、一例として、本発明の実施例によるデータ処理装置は、ハードウェア復号化プロセッサの形のプロセッサであり得、当該プロセッサは、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を実行するようにプログラムされる。例えば、ハードウェア復号化プロセッサの形のプロセッサは、1つ又は複数の特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、デジタル信号プロセッサ(DSP)、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、複合プログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、又は他の電子素子を採用することができる。
【0055】
本発明の実施例によるデータ処理装置がソフトウェアとハードウェアの組み合わせによって実施される例として、本発明の実施例によるデータ処理装置は、プロセッサ301によって実行されるソフトウェアモジュールとして直接具現できる。ソフトウェアモジュールは、記憶媒体に記憶されてもよく、当該記憶媒体は、メモリ302に配置される。プロセッサ301は、メモリ302に記憶されたソフトウェアモジュールに含まれる実行可能な命令を読み取り、必要なハードウェア(例えば、プロセッサ301及びバス305に接続された他の構成要素を含む)を組み合わせて、本発明の実施例によるデータ処理方法を完成する。
【0056】
一例として、プロセッサ301は、例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、プログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなど、信号処理機能を備えた集積回路チップであってもよく、ここで、汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサ等であってもよい。
【0057】
本発明の実施例によるデータ処理装置がハードウェアの形で実施される例として、本発明の実施例によるデータ処理装置は、ハードウェア復号化プロセッサ形のプロセッサ301を直接採用することで実行されることができ、例えば、1つ又は複数の特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、デジタル信号プロセッサ(DSP)、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、複合プログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、又は他の電子素子により、本発明の実施例によるデータ処理方法を実現できる。
【0058】
本発明の実施例におけるメモリ302は、電子機器の動作をサポートするための様々なタイプのデータを記憶するように構成される。これらのデータの例には、電子機器で動作する任意の実行可能な命令が含まれ、当該実行可能な命令には、本発明の実施例によるデータ処理方法を実現するためのプログラムが含まれる。
【0059】
別のいくつかの実施例では、本発明の実施例によるブロックチェーンネットワークにおけるデータ処理装置は、ソフトウェアの形で実現されることができ、図3は、メモリ302に記憶されたブロックチェーンネットワークにおけるデータ処理装置3030を示しており、当該データ処理装置3030は、プログラムやプラグインの形のソフトウェアであり得、一連のモジュールを含むことができ、メモリ302に記憶されたプログラムの例として、ブロックチェーンネットワークにおけるデータ処理装置3030を含み得る。データ処理装置3030は、
ターゲットノードによって送信されるトランザクション要求を取得するように構成される情報伝送モジュール3031と、
前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得するように構成される情報処理モジュール3032と、を備えてもよく、
前記情報処理モジュール3032は、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するように構成され、
前記情報処理モジュール3032は、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するように構成され、
前記情報処理モジュール3032は、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得するように構成される。
【0060】
図3に示される電子機器を参照して、本発明の実施例によるデータ処理方法を説明する。図4を参照すると、図4は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。当然のことながら、図4に示されるステップは、データ処理装置を実行する様々な電子機器によって実行されることができ、例えば、オフチェーンデータ処理機能を備えた専用端末、サーバ又はサーバクラスタによって実行されることができる。以下、図4に示されるステップについて説明する。
【0061】
ステップ401において、データ処理装置が、ターゲットノードによって送信されるトランザクション要求を取得する。
【0062】
ステップ402において、データ処理装置が、前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得する。
【0063】
ステップ403において、データ処理装置が、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会する。
【0064】
本発明のいくつかの実施例では、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップは、
前記トランザクション要求に応答して、チェーン高さトラバーサルプロセスをトリガするステップと、前記チェーン高さトラバーサルプロセスを通じて、前記ターゲットノードと一致するチェーン高さパラメータに従って、前記現在のノードに記憶されたオフチェーンデータをトラバースすることにより、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会するステップとを含み得る。ここで、オフチェーンデータがブロックチェーンネットワーク内の他のノードによって取得された場合、現在のノードがデータ同期を実行しているため、現在のノードは、対応するオフチェーンデータを記憶している。チェーン高さパラメータの唯一の確実性により、前記現在のノードに記憶されたオフチェーンデータをトラバースして、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会する場合、オフチェーンデータの取得に必要な時間を効果的に低減でき、ブロックチェーンネットワークのデータ処理効率を向上させることができる。
【0065】
ステップ404において、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定する。
【0066】
本発明のいくつかの実施例では、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定するステップは、
前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記トランザクションパラメータを解析して、対応するターゲットノードのタイプパラメータを取得するステップと、前記ターゲットノードのタイプパラメータが第1タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのメインチェーンに含まれるノードであると決定するステップと、前記ターゲットノードのタイプパラメータが第2タイプパラメータである場合、前記ターゲットノードのタイプが、ブロックチェーンネットワークのサイドチェーンに含まれるノードであると決定するステップとを含み得る。ここで、ブロックチェーンネットワークのメインチェーン内の対応するブロックのみがオフチェーンデータを取得できるため、対応するターゲットノードのタイプパラメータを取得し、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定することにより、トランザクション要求を送信したターゲットノードのタイプを適時に決定して、ターゲットノードのタイプと一致するプロセスを実行できるため、オフチェーンデータの取得効率を向上させることができる。
【0067】
ステップ405において、データ処理装置が、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得する。
【0068】
本発明のいくつかの実施例では、前記ターゲットノードのタイプがブロックチェーンネットワークのメインチェーンに含まれるノードである場合、図4に示されるブロックチェーンネットワークに基づくデータ処理方法を参照しながら、図5を参照すると、図5は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートであり、当該処理プロセスは、以下のステップを含み得る。
【0069】
ステップ4051において、前記ターゲットノードのタイプがブロックチェーンネットワークのメインチェーンに含まれるノードである場合、前記トランザクション要求を解析して、対応するオフチェーンデータ記憶位置情報を取得する。
【0070】
ステップ4052において、前記オフチェーンデータ記憶位置情報に従って、前記トランザクション要求と一致するオフチェーンデータを取得する。
【0071】
ステップ4053において、取得したオフチェーンデータを現在のノードに記憶する。
【0072】
したがって、前記ターゲットノードのタイプがブロックチェーンネットワークのメインチェーンに含まれるノードである場合、オフチェーンデータの記憶位置情報を直接使用して、前記トランザクション要求と一致するオフチェーンデータを取得できるため、ブロックチェーンネットワークのオフチェーンデータ処理速度を向上させることができる。
【0073】
本発明のいくつかの実施例では、前記ターゲットノードのタイプがブロックチェーンネットワークのサイドチェーンに含まれるノードである場合、図4に示されるブロックチェーンネットワークに基づくデータ処理方法を参照しながら、図6を参照すると、図6は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートであり、当該処理プロセスは、以下のステップを含み得る。
【0074】
ステップ4054において、前記ターゲットノードのタイプがブロックチェーンネットワークのサイドチェーンに含まれるノードである場合、前記ブロックチェーンネットワークのメインチェーンに対応するノードにデータ取得要求を送信する。
【0075】
ステップ4055において、前記データ取得要求に応答して、前記トランザクション要求と一致するオフチェーンデータを受信する。
【0076】
ステップ4056において、取得したオフチェーンデータを現在のノードに記憶する。
【0077】
したがって、前記ターゲットノードのタイプがブロックチェーンネットワークのサイドチェーンに含まれるノードである場合、前記ブロックチェーンネットワークのメインチェーンに対応するノードにデータ取得要求を送信することにより、前記トランザクション要求と一致するオフチェーンデータを受信することを実現し、ブロックチェーンネットワークの異なるブロックによって取得されたオフチェーンデータの一致性を実現し、データの不一致による分岐の可能性を低減できる。
【0078】
本発明のいくつかの実施例では、前記方法は、
前記ブロックチェーンネットワーク内の他のノードのデータ同期要求を受信するステップと、前記データ同期要求に応答して、前記他のノードの権限を検証するステップと、前記他のノードの権限が検証に合格した場合、前記他のノードとデータ同期を実行するように現在のノードを制御することにより、前記他のノードが対応するオフチェーンデータを取得するステップとを更に含み得る。ここで、ブロックチェーンネットワーク内の他のノードは、現在のノードによってアップロードされたターゲットユーザのオフチェーンデータを取得できないため、ブロックチェーンネットワーク内の他のノードが対応するターゲットユーザのオフチェーンデータを取得しようとする場合、対応するデータ同期要求を送信する必要がある。ユーザによるオフチェーンデータ調整を例にとると、ターゲットユーザが、現在のオフチェーンデータから別のオフチェーンデータをトリガするように調整する場合、ブロックチェーンネットワーク管理プラットフォームは、受信したデータ同期要求に従って前記他のノードの権限を検証することができ、前記他のノードの権限が検証に合格した場合、前記現在のノードと前記他のノードとの間のデータ同期を制御する(例えば、他のノードと現在のノードとの間で合意形成を行う方式でデータ同期を実行できる)ことにより、異なる構造のノード間でのターゲットユーザのオフチェーンデータの伝送の完整性を保証する。
【0079】
本発明のいくつかの実施例では、ブロックチェーンネットワーク内の他のノードがブロックチェーンネットワーク内の対応するターゲットユーザのオフチェーンデータを照会する必要がある場合、図4に示されるブロックチェーンネットワークに基づくデータ処理方法を参照しながら、図7を参照すると、図7は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートであり、当該処理プロセスは、以下のステップを含み得る。
【0080】
ステップ406において、データ処理装置が照会要求を受信する。
【0081】
ここで、図7は、ブロックチェーンネットワーク内の異なるノードA及びBの照会要求をそれぞれ受信し、当該照会要求に応じて対応する処理を実行することを示す。
【0082】
ステップ407において、前記照会要求を解析して、対応するユーザ識別子を取得する。
【0083】
ステップ408において、前記ユーザ識別子に従って、前記ブロックチェーンネットワークのターゲットブロック内のオフチェーンデータの権限情報を取得する。
【0084】
本発明のいくつかの実施例では、前記ユーザ識別子に従って、前記ブロックチェーンネットワークのターゲットブロック内のオフチェーンデータの権限情報を取得するステップは、
前記照会要求の照会条件情報を取得するステップであって、前記照会条件情報は、少なくとも1つのターゲット次元のターゲットインデックス値を含む、ステップと、前記少なくとも1つのターゲット次元のターゲットインデックス値に従って、前記ブロックチェーンネットワークの情報インデックステーブルを照会して、前記オフチェーンデータに対応するユーザ識別子を取得するステップであって、前記情報インデックステーブルは、記憶した情報のユーザ識別子及び異なる次元のインデックス値を含む、ステップと、前記オフチェーンデータに対応するユーザ識別子に従って、ターゲットブロック内のオフチェーンデータの権限情報を決定するステップとを含み得る。ここで、現在のノードによってブロックチェーンネットワークに記憶されたターゲットユーザのオフチェーンデータが、対応する他のノードによって呼び出して照会できるため、前記ブロックチェーンネットワーク内の情報インデックステーブルを照会することにより、前記ターゲットユーザのオフチェーンデータに対応するユーザ識別子を取得でき、前記ターゲットユーザのオフチェーンデータに対応するユーザ識別子に従って、ターゲットブロック内のターゲットユーザのオフチェーンデータの権限情報を取得できる。これにより、従来の集中型ストレージにおいて、ターゲットユーザのオフチェーンデータの実際の所有者と各インターネットアプリケーションのオペレータとの間の、ターゲットユーザのオフチェーンデータの制御能力が不平等であるという欠点を克服でき、従来の集中型ストレージ方式において、インターネットアプリケーションのオペレータが、ターゲットユーザのオフチェーンデータを勝手に分析して利用し、さらに、ターゲットユーザのオフチェーンデータを販売して利益を得ることにより、ユーザのセキュリティを脅かすという脆弱性を克服できる。
【0085】
ステップ409において、前記オフチェーンデータの権限情報と前記ユーザ識別子を検証して、検証に合格した否かを判断し、検証に合格した場合はステップ410を実行し、そうでない場合はステップ411を実行する。
【0086】
ステップ410において、前記オフチェーンデータの権限情報が前記ユーザ識別子と一致する場合、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得する。
【0087】
ステップ411において、検証に失敗したことを通知する。
【0088】
ステップ412において、前記照会要求に応答して、取得した対応するオフチェーンデータを対応するクライアントにプッシュする。
【0089】
本実施例に示される技術的解決策によれば、他のノード(異なるユーザ)がブロックチェーンネットワークに記憶されたターゲットユーザのオフチェーンデータを照会又は使用しようとする場合、ターゲットユーザのオフチェーンデータが不正なユーザの偽のノードによって不正に取得されることを回避するために、当該他のノードは、先ずノードの情報の検証に合格する必要がある。このプロセスでは、対応するターゲットユーザのオフチェーンデータを取得し、その後、ターゲットユーザのオフチェーンデータをブロックチェーンネットワークに記憶する。同時に、ブロックチェーンネットワークに記憶された前記ターゲットユーザのオフチェーンデータは、検証に合格したノードによって閲覧できる。ブロックチェーンの方式でターゲットユーザのオフチェーンデータを送信することにより、他の機関の関与を必要とせずに、ターゲットユーザのオフチェーンデータの履歴記録を閲覧でき、既存のターゲットユーザのオフチェーンデータの伝送及び使用プロセスにおける低効率及びオフチェーンデータの不一致によるブロックチェーンネットワーク分岐という問題を解決し、セキュリティを効果的に向上させながら、データ処理速度を向上させる技術的効果を実現する。
【0090】
本発明のいくつかの実施例では、ブロックチェーンネットワーク内の他のノードがブロックチェーンネットワーク内の対応するターゲットユーザのオフチェーンデータを照会する必要がある場合、図4に示されるブロックチェーンネットワークに基づくデータ処理方法を参照しながら、図8を参照すると、図8は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートであり、当該処理プロセスは、以下のステップを含み得る。
【0091】
ステップ4101において、データ処理装置前記オフチェーンデータの権限情報と一致するターゲットノードの秘密鍵を取得する。
【0092】
ステップ4102において、動的パスワードを取得する必要があるか否かを判断し、動的パスワードを取得する必要がある場合はステップ4104を実行し、そうでない場合はステップ4103を実行する。
【0093】
ステップ4103において、前記ターゲットノードの前記秘密鍵により、前記ブロックチェーンネットワークから取得した対応するオフチェーンデータを復号化して、対応するプレーンテキスト状態のオフチェーンデータを取得する。
【0094】
ステップ4104において、前記ターゲットユーザ識別子に対応するターゲットユーザに、対応する動的パスワードを要求する。
【0095】
ステップ4105において、取得した動的パスワードに従って、前記ブロックチェーンネットワークで対応するオフチェーンデータを取得する。
【0096】
ステップ4106において、前記動的パスワードと一致する秘密鍵により、前記オフチェーンデータを復号化する。
【0097】
このようにして、前記ターゲットユーザ識別子と一致するオフチェーンデータを取得することを実現できる。
【0098】
ここで、ブロックチェーンネットワークに記憶されたターゲットユーザのオフチェーンデータは全て暗号化された情報であるため、ターゲットノードの秘密鍵を使用して、前記ブロックチェーンネットワークから取得した対応するターゲットユーザのオフチェーンデータを復号化して、対応するターゲットユーザのオフチェーンデータを取得することができ、これにより、ターゲットユーザのオフチェーンデータの使用者は、プレーンテキストデータの方式で対応するターゲットユーザのオフチェーンデータを使用することができる。さらに、前記ターゲットユーザ識別子に対応するターゲットユーザに、対応する動的パスワードを要求する場合、ターゲットユーザは、ターゲットユーザのオフチェーンデータが、何時に対応する他のノード(異なるユーザ)によって閲覧されたかを適時に知ることができ、適時に他のノード(異なるユーザ)と連絡することができる。
【0099】
図3に示される電子機器を参照して、本発明の実施例によるデータ処理方法を説明する。図9を参照すると、図9は、本発明の実施例によるブロックチェーンネットワークに基づくデータ処理方法を示す一例示的なフローチャートである。当然のことながら、図9に示されるステップは、データ処理装置を実行する様々な電子機器によって実行されることができ、例えば、ターゲットユーザのオフチェーンデータ処理機能を備えた専用端末、サーバ又はサーバクラスタによって実行されることができる。以下、図9に示されるステップについて説明する。
【0100】
ステップ901において、前記ブロックチェーンネットワーク内の、前記ターゲットユーザの異なるオフチェーンデータの処理結果を取得する。
【0101】
ここで、オフチェーンデータの処理は、対応するスマート契約に基づいて実現でき、ここで、スマート契約は、データを記憶でき、当該データは、情報、事実、関連付け、残高、及び契約のロジックの実行に必要なその他の情報を記録するように構成できる。スマート契約は、関数で構成されるコンピュータ実行可能なプログラムとして説明でき、当該プログラムで当該スマート契約の実例(instance)を作成でき、関数を呼び出して当該スマート契約のロジックを実行できる。
【0102】
本発明のいくつかの実施例では、オブジェクト及びオブジェクト指向のクラスに基づいて、スマート契約を実現できる。例えば、スマート契約の箇条及び構成要素は、スマート契約を実現するアプリケーションプログラムによって処理されるオブジェクトとして表すことができる。スマート契約(又はスマート契約におけるオブジェクト)は、他のオブジェクト指向のオブジェクトと同様に、別のスマート契約(又は同一のスマート契約におけるオブジェクト)を呼び出すことができる。例えば、オブジェクトによって実行される呼び出しは、作成、更新、削除、伝播、又は別のクラスのオブジェクトと通信するための呼び出しであり得る。オブジェクト間の呼び出しは、関数、方法、アプリケーションプログラミングインターフェイス(API:application programming interface)、又は他の呼び出しメカニズムによって実現できる。例えば、第1オブジェクトは、関数を呼び出すことにより、第2オブジェクトを作成することができる。
【0103】
本発明のいくつかの実施例では、前記ターゲットユーザの識別子は、前記ブロックチェーンのノード機器が前記ブロックチェーンネットワークに展開されたスマート契約を呼び出すことによって取得でき、前記スマート契約は、ターゲットユーザに基づいて生成された対応するターゲットユーザ識別子を有することを宣言する。前記ターゲットユーザ識別子より、対応するターゲットユーザのオフチェーンデータを決定できる。
【0104】
ステップ902において、前記オフチェーンデータの処理結果に応答して、前記ブロックチェーンネットワークでのブロードキャストをトリガする。
【0105】
このようにして、前記ブロックチェーンネットワーク内の他のノードとのデータ同期を実現し、前記ターゲットユーザのオフチェーンデータと一致する処理結果を更新することができる。
【0106】
ステップ903において、前記ターゲットユーザのオフチェーンデータの処理結果を対応するクライアントにプッシュする。
【0107】
本実施例に示される技術的解決策によれば、ターゲットユーザのオフチェーンデータが対応するノードによって処理された後、前記処理結果をブロックチェーンネットワークに記憶し、前記ブロックチェーンネットワーク内の各ノードは、合意メカニズムによって合意された、分散型データストレージ構造を備えたP2Pネットワークシステムであるため、当該ブロックチェーン内のデータは、時間的に接続された「ブロック」に分散され、後者のブロックは、前のブロックのデータ要約を含み、異なる合意メカニズム(POW、POS、DPOS、又はPBFTなど)に従って、ノードデータの全部又は一部の完全バックアップを実現する。当業者なら自明であるが、ブロックチェーンネットワークが対応する合意メカニズム下で実行するため、ブロックチェーンデータベースに記憶されたデータは、任意のノードによって改ざんされることは困難である。例えば、Pow合意メカニズムを採用するブロックチェーンは、既存のデータを改ざんするために、少なくともネットワーク全体の51%の計算能力で攻撃しなければならない。したがって、ブロックチェーンシステムには、他の集中型データベースシステムの比類のないデータセキュリティ、及び攻撃や改ざんを防止するという特徴がある。これから分かるように、ブロックチェーンの分散型データベースに記憶されたデータが攻撃されたり改ざんされたりすることがないため、ブロックチェーンの分散型データベースに記憶された、オフチェーンデータの処理結果の真実性と信頼性が保証され、オフチェーンデータ処理結果の変更によるブロックチェーンネットワークの分岐を回避する。
【0108】
以下、本発明によるブロックチェーンネットワークに基づくデータ処理方法について説明する。ここで、図10を参照すると、図10は、本発明によるブロックチェーンネットワークに基づくデータ処理方法の一例示的な使用環境を示す概略図であり、ここで、ブロックチェーンシステムでデジタル証明書を使用してブロックチェーントランザクションの各メンバーノードのIDの有効性を検証するシナリオでは、ブロックチェーンノードは、CA(CA:Certificate Authority、認証局)にアクセスしてデジタル証明書の有効性を検証する必要がある。ここで、トランザクションは、ブロックチェーン内のノードA、B、及びCに送信され、ブロックチェーンノードA、B、及びCは、CAにアクセスしてトランザクションデジタル証明書の有効性を検証する((i)(図中の丸1に対応。以下同じ。)に示されるように、トランザクションをノードA、B、及びCに送信し、(ii)(図中の丸2に対応。以下同じ。)に示されるように、証明書の有効性を検証するためにCAにアクセスする)。このプロセスでは、CAはデジタル証明書の有効期間を検証する。ブロックチェーンネットワークにおいて、各ノードがトランザクションを受信した時間は異なるため、CAにアクセスしてデジタル証明書を検証する時間も異なる。一部のノードがデジタル証明書の有効期間内にCAにアクセスして検証すると、検証に合格し、一部のノードがデジタル証明書の有効期間外にCAにアクセスして検証すると、検証に失敗する。異なるノードの検証結果が異なるため、異なるノードによるトランザクションの処理結果も異なり、これにより、ブロックチェーンネットワークの分岐が発生する。
【0109】
以下、図11及び図12を参照して、関連技術におけるブロックチェーンネットワークの分岐について説明する。
【0110】
図11は、関連技術におけるブロックチェーンネットワークに基づくデータ処理方法を使用するプロセスを示す概略図であり、当該プロセスは、以下のステップを含み得る。
【0111】
ステップ1101において、トランザクション要求を受信する。
【0112】
ステップ1102において、トランザクションデータをオフチェーンデータソースに送信する。
【0113】
ステップ1103において、新しいオフチェーンデータを取得する。
【0114】
ここで、図12は、関連技術におけるブロックチェーンネットワークに基づくデータ処理方法及び契約検証を示す概略図であり、図12に示されるように、トランザクションの証明書失効日時は、2017/07/17 12:00:00である。
【0115】
ノードA及びBは、2017/07/17 11:59:59にトランザクションを受信し((i))、CAにアクセスして証明書の有効性を検証した((ii))。
【0116】
CAは、証明書が有効期間内であることを確認し、当該証明書は検証に合格し、ノードAとBはトランザクションを正常に実行する。
【0117】
遅延などの理由により、ノードCは2017/07/17 12:00:0にトランザクションを受信し((iii)(図中の丸3に対応。以下同じ。))、CAにアクセスして証明書の有効性を検証した((iv)(図中の丸4に対応。以下同じ。))。CAは、証明書の有効期限が切れたことを確認し、当該証明書は検証に失敗し、ノードCはトランザクションの実行に失敗する。したがって、ノードCのデータは、ノードA及びBのデータと不一致であり、ブロックチェーンネットワークの分岐が発生する。
【0118】
同様に、ブロックチェーンシステムがオフチェーンデータにアクセスする必要がある限り、トランザクション時間の不確実性により、図12に示されるブロックチェーンネットワークの分岐という問題が発生する可能性がある。
【0119】
以下、図13、14、及び15を参照して、本発明によるブロックチェーンネットワークに基づくデータ処理方法の使用プロセスについて説明する。ここで、図13は、本発明によるブロックチェーンネットワークに基づくデータ処理方法の使用プロセスを示す概略図であり、当該プロセスは、以下のステップを含み得る。
【0120】
ステップ1301において、トランザクションデータを受信する。
【0121】
ステップ1302において、トランザクションパラメータ及びチェーン高さをオフチェーンデータマネージャに送信する。
【0122】
ステップ1303において、対応するオフチェーンデータを取得する。
【0123】
ここで、図14は、本発明によるブロックチェーンネットワークに基づくデータ処理方法におけるオフチェーンデータマネージャ処理プロセスを示す概略図であり、当該処理プロセスは、以下のステップを含み得る。
【0124】
ステップ1401において、オフチェーンデータアクセス要求を受信する。
【0125】
ステップ1402において、オフチェーンデータマネージャがチェーン高さと一致するデータを記憶しているか否かを判断し、記憶している場合はステップ1408を実行し、そうでない場合はステップ1403を実行する。
【0126】
ステップ1403において、現在のノードがマスタ・オフチェーンデータ管理ノードであるか否かを判断し、マスタ・オフチェーンデータ管理ノードである場合はステップ1404を実行し、そうでない場合はステップ1405を実行する。
【0127】
ステップ1404において、対応するオフチェーンデータを要求する。
【0128】
ステップ1405において、対応するマスタノードに、オフチェーンデータを要求する。
【0129】
ステップ1406において、オフチェーンデータをローカルにキャッシュする。
【0130】
ステップ1407において、オフチェーンデータを他の管理ノードに同期する。
【0131】
ステップ1408において、対応するオフチェーンデータを返信する。
【0132】
ここで、オフチェーンデータマネージャによって受信されたパラメータは、トランザクション関連のデータ及びチェーン高さを含む。対応するチェーン高さのデータが既にローカルに存在する場合、当該データはブロックチェーンノードに直接返信され、異なるブロックチェーンノードがオフチェーンデータソースに直接アクセスすることによるデータ不一致という問題を解決できる。
【0133】
さらに、複数のオフチェーンデータマネージャの中で、マスタ・オフチェーンデータマネージャのみが、オフチェーンデータソースにアクセスしてデータを取り出すことができる。オフチェーンデータ管理ソース間では、Raft又はPaxosなどの一致性プロトコルを使用してデータを同期することにより、複数のオフチェーンデータマネージャ間のデータの一致性を保証することができる。
【0134】
図15を参照すると、図15は、本発明によるブロックチェーンネットワークに基づくデータ処理方法における契約検証を示す概略図であり、オフチェーンデータマネージャを追加した後、トランザクションプロセスは、図15に示される通りであり、ここで、トランザクションの証明書失効日時は、2017/07/17 12:00:00である。
【0135】
(i)ノードAは、2017/07/17 11:59:59にトランザクションを受信した。
【0136】
(ii)ノードAは、トランザクションデータ(デジタル証明書を含む)及び現在のチェーン高さ([transaction_data、chain_height])をオフチェーンデータマネージャ1に送信する。
【0137】
(iii)オフチェーンデータマネージャ1は、トランザクションデータ内の関連データを使用して、オフチェーンデータソースにアクセスし、データをノードAに返信する。
【0138】
(iv)ノードBは、2017/07/17 11:59:59にトランザクションを受信した。
【0139】
(v)(図中の丸5に対応。)ノードBは、トランザクションデータ(デジタル証明書を含む)及び現在のチェーン高さ([transaction_data、chain_height])をオフチェーンデータマネージャ2に送信する。
【0140】
(vi)(図中の丸6に対応。)ローカルにデータがないため、オフチェーンデータマネージャ2は、マスタ・オフチェーンデータマネージャ1にデータを要求する。ローカルに既に対応するchain_heightのデータがあるため、オフチェーンデータマネージャ1は、データをデータマネージャ2に返信する。その後、データをノードBに返信する。したがって、ノードBが取得したオフチェーンデータは、ノードAのデータと一致する。
【0141】
(vii)(図中の丸7に対応。)ノードCは、2017/07/17 12:00:01にトランザクションを受信する。
【0142】
(viii)(図中の丸8に対応。)ノードCは、トランザクションデータ(デジタル証明書含む)及び現在のチェーン高さ([transaction_data、chain_height])をオフチェーンデータマネージャ2に送信する。このとき、ローカルに既に対応するchain_heightのデータがあるため、オフチェーンデータマネージャ2は、データをノードCに直接返信する。したがって、ノードCが取得したオフチェーンデータは、ノードA及びノードBと一致する。
【0143】
このようにして、ブロックチェーンネットワーク内の異なるノードによって取得されたオフチェーンデータの一致性を保証し、ブロックチェーンネットワーク内の異なるノードによって取得されたオフチェーンデータの不一致によるブロックチェーンネットワーク分岐を回避し、ブロックチェーンネットワークのデータ処理能力を向上させる。
【0144】
本発明は、以下の有益な技術的効果を有し得る。
【0145】
ターゲットノードによって送信されるトランザクション要求を取得し、前記トランザクション要求を解析して、前記ターゲットノードと一致するトランザクションパラメータ及びチェーン高さパラメータを取得し、前記ターゲットノードと一致するチェーン高さパラメータに従って、現在のノードに記憶された、前記チェーン高さパラメータに対応するオフチェーンデータを照会し、前記現在のノードが前記チェーン高さパラメータに対応するオフチェーンデータを記憶しなかった場合、前記ターゲットノードと一致するトランザクションパラメータに従って、前記ターゲットノードのタイプを決定し、前記ターゲットノードのタイプに従って、前記ターゲットノードのタイプと一致するプロセスをトリガすることにより、前記トランザクション要求と一致するオフチェーンデータを取得する。このプロセスでは、ブロックチェーン内の全てのブロックがオフチェーンデータを取得する時に、一致するオフチェーンデータにアクセスでき、これにより、ブロックチェーンネットワークの異なるブロックによって取得されたオフチェーンデータの不一致によるブロックチェーンネットワークの分岐を回避し、ブロックチェーンネットワークのデータ処理效率を向上させる同時に、ブロックチェーンネットワークの分散型特性を維持し、ブロックチェーンネットワークの一部のノードの故障によるブロックチェーンネットワーク故障を回避できる。
【0146】
上記の内容は、本発明の実施例に過ぎず、本発明を限定するものではない。本発明の精神や原則を逸脱しないあらゆる修正、同等置換、改良などはすべて本発明の保護範囲内に含まれるものとする。
【符号の説明】
【0147】
200 ブロックチェーンネットワーク
201 応用層
202 合意層
203 ネットワーク層
204 データ層
205 リソース層
300 ブロックチェーンネットワーク管理プラットフォーム
301 プロセッサ
302 メモリ
303 ユーザインターフェース
304 ネットワークインターフェース
400 現在のノードシステム
500 監視ノードシステム
3030 データ処理装置
3031 情報伝送モジュール
3032 情報処理モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15