(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-07
(54)【発明の名称】ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
(51)【国際特許分類】
H04L 9/32 20060101AFI20240131BHJP
【FI】
H04L9/32 200Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023547487
(86)(22)【出願日】2022-01-24
(85)【翻訳文提出日】2023-08-04
(86)【国際出願番号】 CN2022073412
(87)【国際公開番号】W WO2022166637
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】202110175960.1
(32)【優先日】2021-02-07
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】温 ▲偉▼力
(57)【要約】
ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器であって、方法は、管理機器がトランザクションデータ及び参照署名データを有するトランザクションリクエストを取得し、ターゲットエンドースメントデバイスを決定し、トランザクションリクエストをターゲットエンドースメントデバイスに送信するステップと、ターゲットエンドースメントデバイスが、トランザクションデータ及び参照署名データの検証が成功した場合、マッチングノードデバイスを決定し、マッチングノードデバイスの署名鍵を取得し、トランザクションデータに基づいて署名対象となるデータを決定し、マッチングノードデバイスの署名鍵を用いて署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得し、エンドースメント署名データを管理機器に送信するステップと、管理機器がエンドースメント署名データ及びトランザクションデータに基づいてトランザクションブロックを生成するステップと、を含む。上記の方法によれば、合意に必要な時間を効果的に節約でき、これにより、ネットワーク全体のトランザクションパフォーマンスを向上させる。
【特許請求の範囲】
【請求項1】
ブロックチェーンネットワークに基づくデータ処理方法であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記エンドースメントデバイスが実行する方法であって、
トランザクションデータ、及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、
前記トランザクションデータ及び前記参照署名データを検証するステップと、
前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するステップであって、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるステップと、
前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するステップと、
前記管理機器が前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するステップと、を含む
方法。
【請求項2】
前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している
請求項1に記載の方法。
【請求項3】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記トランザクションリクエストを取得するステップは、
前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するステップを含み、
前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、前記エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスから前記ターゲットノードデバイスを決定し、前記トランザクションリクエストを、前記ターゲットノードデバイスの署名鍵が記憶されたターゲットエンドースメントデバイスに送信する
請求項2に記載の方法。
【請求項4】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記トランザクションリクエストを取得するステップは、
前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するステップを含み、
前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、各エンドースメントデバイスの現在の状態パラメータに基づいて、前記各エンドースメントデバイスから、前記トランザクションリクエストに応答するターゲットエンドースメントデバイスを決定し、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信する
請求項2に記載の方法。
【請求項5】
前記トランザクションデータに基づいて署名対象となるデータを決定するステップは、
前記トランザクションデータに基づいてトランザクションの実行をシミュレーションすることで、トランザクションシミュレーション結果を取得するステップと、
前記トランザクションシミュレーション結果に基づいて前記トランザクションリクエストに対応する投票結果を決定し、前記投票結果を前記署名対象となるデータとするステップと、を含む
請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記参照署名データは鍵ペアにおける秘密鍵を用いて前記トランザクションデータに署名することで得られるものであり、前記トランザクションデータ及び前記参照署名データを検証するステップは、
前記鍵ペアにおける公開鍵を取得し、前記公開鍵を用いて前記参照署名データに対して署名解除を行って署名解除データを取得するステップと、
前記署名解除データが前記トランザクションデータにマッチングすると、前記トランザクションデータが実行可能性を有するかどうかを検出するステップと、
前記トランザクションデータが実行可能性を有すると、前記トランザクションデータ及び前記参照署名データの検証が成功したと決定するステップと、を含む
請求項1~4のいずれか1項に記載の方法。
【請求項7】
ブロックチェーンネットワークに基づくデータ処理方法であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記管理機器が実行する方法であって、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、
前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するステップと、
前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するステップと、
前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信し、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するステップと、を含む
方法。
【請求項8】
前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している
請求項7に記載の方法。
【請求項9】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから前記ターゲットエンドースメントデバイスを決定するステップは、
エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスから、ターゲットノードデバイスを決定するステップと、
前記管理ネットワークに含まれる各エンドースメントデバイスから、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを決定し、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するステップと、を含む
請求項8に記載の方法。
【請求項10】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから前記ターゲットエンドースメントデバイスを決定するステップは、
前記管理ネットワークにおける各エンドースメントデバイスの現在の状態パラメータを取得するステップと、
前記各エンドースメントデバイスの現在の状態パラメータに基づいて、前記管理ネットワークに含まれる各エンドースメントデバイスから前記トランザクションリクエストに応答するエンドースメントデバイスを決定し、前記トランザクションリクエストに応答するエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するステップと、を含む
請求項8に記載の方法。
【請求項11】
前記ブロックチェーンネットワークにおけるノードデバイスが、前記トランザクションブロックにおけるデータの検証が成功し、且つ前記トランザクションブロックにおけるデータがエンドースメントポリシーを満たすと決定した場合、前記トランザクションデータに基づいてトランザクションを実行するように、前記トランザクションブロックを前記ブロックチェーンネットワークにおけるノードデバイスにブロードキャストするステップをさらに含む
請求項7~10のいずれか1項に記載の方法。
【請求項12】
ブロックチェーンネットワークに基づくデータ処理装置であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記エンドースメントデバイスは前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、
前記トランザクションデータ及び前記参照署名データを検証するための処理ユニットと、
前記管理機器がエンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するための送受信ユニットと、を含み、
前記処理ユニットは、さらに、前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するように構成され、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるものであり、
前記処理ユニットは、さらに、前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するように構成される
装置。
【請求項13】
ブロックチェーンネットワークに基づくデータ処理装置であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器及び1つ又は複数のエンドースメントデバイスを含み、前記管理機器は前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、
前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するための処理ユニットと、
前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するための送受信ユニットと、を含み、
前記送受信ユニットは、さらに、前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信するように構成され、
前記処理ユニットは、さらに、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように構成される
装置。
【請求項14】
コンピュータ機器であって、互いに接続されるプロセッサー、通信インターフェース及びメモリを含み、前記メモリは実行可能なプログラムコードを記憶しており、前記プロセッサーは、前記実行可能なプログラムコードを呼び出すことで、請求項1~6のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法、又は、請求項7~11のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法を実行するように構成される
コンピュータ機器。
【請求項15】
コンピュータで実行される場合、請求項1~6のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法、又は、請求項7~11のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法をコンピュータに実行させる前記コンピュータプログラムが記憶されている
コンピュータ可読記憶媒体。
【請求項16】
コンピュータで実行される場合、請求項1~6のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法、又は、請求項7~11のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法をコンピュータに実現させるコマンドを含む
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年02月07日に中国専利局に提出した、出願番号が2021101759601であって、発明の名称が「ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器」である中国特許出願の優先権を主張し、その全ての内容を援用により本出願に組み込む。
【0002】
本出願は、ブロックチェーンの技術分野に関し、特にブロックチェーンネットワークにおけるデータ処理技術に関する。
【背景技術】
【0003】
科学技術時代の到来及びモバイルインターネットの発展に連れて、ネットワークの革新もますます迅速になって、同一の分野又は複数の分野の情報融合を実現し、オールラウンドの情報化ソリューションなどのサービスをユーザーに提供することも、体系構造の改善、サポート重心の移転などの新たな挑戦に直面している。当該背景では、ブロックチェーン技術は、分散型台帳の特定の実現技術として、そのデータの記憶と管理の優位性のため、だんだん各分野のデータの記憶とデータトランザクションの優先的な方式になっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ブロックチェーンネットワークに基づいて実現されるトランザクションプロセスはトランザクションパフォーマンスに大きな影響を与え、通常、ブロックチェーンネットワークにおける各トランザクションは、合意された後に、各ノードによって実行されるか、又はブロックチェーンに記録される必要がある。合意結果の正確性を保証するために、ブロックチェーンネットワークにおけるほとんどのノードは、通常、コンセンサスノードとして設置され、すべてのノードが各合意プロセスに参加する必要があるので、合意プロセスは時間がかかり、トランザクションパフォーマンスの効率が低下する。このように、ブロックチェーンネットワークのトランザクションパフォーマンスを向上させることは、解决すべき問題となる。
【0005】
本出願の実施例は、合意に必要な時間を効果的に節約でき、ブロックチェーンネットワーク全体のトランザクションパフォーマンスを向上させるブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器を提供する。
【課題を解決するための手段】
【0006】
1つの態様によれば、本出願の実施例はブロックチェーンネットワークに基づくデータ処理方法を提供し、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記エンドースメントデバイスが実行する方法であって、トランザクションデータ、及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、前記トランザクションデータ及び前記参照署名データを検証するステップと、前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するステップであって、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるステップと、前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するステップと、前記管理機器が前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するステップと、を含む。
【0007】
1つの態様によれば、本出願の実施例は別のブロックチェーンネットワークに基づくデータ処理方法を提供し、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記管理機器が実行する方法であって、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するステップと、前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するステップと、前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信し、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するステップと、を含む。
【0008】
1つの態様によれば、本出願の実施例はブロックチェーンネットワークに基づくデータ処理装置を提供し、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記エンドースメントデバイスは前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、前記トランザクションデータ及び前記参照署名データを検証するための処理ユニットと、前記管理機器がエンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するための送受信ユニットと、を含み、前記処理ユニットは、さらに、前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するように構成され、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるものであり、前記処理ユニットは、さらに、前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するように構成される。
【0009】
1つの態様によれば、本出願の実施例は別のブロックチェーンネットワークに基づくデータ処理装置を提供し、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器及び1つ又は複数のエンドースメントデバイスを含み、前記管理機器は前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するための処理ユニットと、前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するための送受信ユニットと、を含み、前記送受信ユニットは、さらに、前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信するように構成され、前記処理ユニットは、さらに、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように構成される。
【0010】
1つの態様によれば、本出願の実施例はコンピュータ機器を提供し、互いに接続されるプロセッサー、通信インターフェース及びメモリを含み、前記メモリは実行可能なプログラムコードを記憶しており、前記プロセッサーは前記実行可能なプログラムコードを呼び出すことで、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理方法を実行するように構成される。
【0011】
それに相応して、本出願の実施例は、コンピュータで実行される場合、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理方法をコンピュータに実行させるコンピュータプログラムが記憶されている前記コンピュータ可読記憶媒体をさらに提供する。
【0012】
それに相応して、本出願の実施例はコンピュータプログラム製品又はコンピュータプログラムをさらに提供し、前記コンピュータプログラム製品又はコンピュータプログラムはコンピュータコマンドを含み、前記コンピュータコマンドはコンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサーは前記コンピュータ可読記憶媒体から前記コンピュータコマンドを読み取り、プロセッサーは、前記コンピュータコマンドを実行することで、上記の方法を前記コンピュータ機器に実行させる。
【発明の効果】
【0013】
本出願の実施例において、データ処理ネットワークには管理ネットワークが設置され、管理ネットワークにおけるエンドースメントデバイスはトランザクションリクエストにおけるデータを検証し、データの検証が成功した後、エンドースメントポリシーの指示に従って、相応するノードデバイスの署名鍵を用いて、トランザクションデータに基づいて決定された署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得する。当該方式を使用することにより、管理ネットワークはデータ検証及びエンドースメント署名操作を集中して効果的に完了し、即ち、合意操作を完了することができ、ブロックチェーンネットワークにおけるノードデバイスはトランザクションの合意に参加する必要がなく、これによって、合意に必要な時間を効果的に節約でき、トランザクションプロセスの処理効率を高めて、これにより、ブロックチェーンネットワーク全体のトランザクションパフォーマンスを向上させる。
【図面の簡単な説明】
【0014】
【
図1】本出願の実施例で提供されるデータ処理ネットワークのアーキテクチャ概略図である。
【
図2】本出願の実施例で提供される別のデータ処理ネットワークのアーキテクチャ概略図である。
【
図2】本出願の実施例で提供されるデータ処理方法のフローの概略図である。
【
図3】本出願の実施例におけるエンドースメントデバイスとノードデバイスとの間の対応関係を示す。
【
図4】Fabricブロックチェーンのトランザクションプロセスを示す。
【
図5】本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションの1つのアーキテクチャである。
【
図6】本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションの別のアーキテクチャである。
【
図7】本出願の実施例で提供されるデータ処理装置の構造概略図である。
【
図8】本出願の実施例で提供されるコンピュータ機器の構造概略図である。
【発明を実施するための形態】
【0015】
以下、本出願の実施例における図面を結合して、本出願の実施例の技術案を明らか且つ完全に記載し、明らかに、記載される実施例は全ての実施例ではなく、本出願の一部の実施例のみである。本出願の実施例に基づいて、当業者が創造性のある労働をせずに取得したすべての他の実施例も本出願の保護範囲に属する。
【0016】
本出願の実施例をよりよく理解するために、以下、本出願の実施例に係るいくつかの用語を紹介する。
【0017】
ブロックチェーン(Blockchain):脱中心化されたデータベースであって、分散型データベースによって情報を認識、伝播、記録するインテリジェントなピアツーピアネットワークであり、バリューインターネットとも呼ばれる。ブロックチェーンはコンセンサスメカニズム、暗号化などの技術を使用してデータ伝送及び検索の正確性を保証し、その特性は改ざん不能、トレーサビリティなどを含む。ブロックチェーンとは、分散データストレージ、ポイントツーポイント伝送、コンセンサスメカニズム、暗号化アルゴリズムなどのコンピュータ技術の新しい応用モードであり、暗号化手法を用いて関連付けられて生成されたデータブロックの列を含み、それぞれのデータブロックには、その情報の有効性(偽造防止)の検証と次のブロックの生成のためのネットワーク取引の情報が含まれている。
【0018】
一般的に、ブロックチェーンは、ブロックチェーン下層プラットフォーム、プラットフォームプロダクトサービス層およびアプリケーションサービス層を含み得る。ブロックチェーン下層プラットフォームは、ユーザ管理、基礎サービス、スマートコントラクトおよび運営監視等の処理モジュールを含み得る。ここで、ユーザ管理モジュールは、公開/秘密鍵の生成の保守(アカウント管理)、鍵管理およびユーザの真実な身分とブロックチェーンアドレスとの対応関係の保守(権限管理)等を含めてブロックチェーンの全ての参与者の身分情報管理を担当し、かつ、権限が授与される場合に、ある真実な身分の取引状況を監視および監査し、リスク制御のルールの設定(リスク制御監査)を提供する。基礎サービスモジュールは、ブロックチェーンにおける全てのノード装置に配置され、トラフィック要求の有効性を検証するとともに有効な要求に対して合意形成した後に記憶媒体に記録し、1つの新たなトラフィック要求に対して、先ずはインターフェース適応性に対する解析および認証処理(インターフェースアダプテーション)を施し、その後、コンセンサスアルゴリズムによってトラフィック情報を暗号化し(合意管理)、暗号化後に共有台帳に完全に伝送して(ネットワーク通信)記録格納するものである。スマートコントラクトモジュールは、コントラクトの登録や発行およびコントラクトのトリガーと実行を担当し、開発者は、あるプログラミング言語によってコントラクト論理を定義してブロックチェーンに配信し(コントラクト登録)、コントラクト条款の論理に応じて、鍵またはその他のイベントトリガを呼び出して実行して、コントラクト論理を完了するとともに、コントラクトに対するアップグレードおよび取消の機能を提供する。運営監視モジュールは、主に、例えばアラーム、ネットワーク状況の監視、ノード装置の健康状態の監視等のような、プロダクトの発表過程における部署、配置の修正、コントラクトの設定、クラウド対応およびプロダクトの動作中のリアルタイム状態の可視化出力等を担当する。
【0019】
プラットフォームプロダクトサービス層は、代表的なアプリケーションの基本機能および実現フレームを提供するものであり、開発者は、これらの基本機能に基づいて、トラフィックの特性を重ね合わせることによって、トラフィック論理のブロックチェーンを実現することができる。アプリケーションサービス層は、ブロックチェーンに基づくアプリケーションサービスをトラフィックの参与者に提供して使用するものである。
【0020】
トラステッドコンピューティング(Trusted Computing、TC):トラステッドコンピューティンググループ(トラステッドコンピューティングクラスタとも呼ばれ、TCPAと略称される)により推進されて開発される技術である。トラステッドコンピューティングは、コンピューティングおよび通信システムにおいて、ハードウェアセキュリティモジュールに基づくトラステッドコンピューティングプラットフォームを広く使用することにより、システム全体の安全性を向上させる。エンドースメントキーは特定のビット数(例えば、2048ビット)を有するRSA公開・秘密鍵ペアであり、コンピュータ機器の出荷際に、ランダムに生成され、変更不能である。当該秘密鍵はコンピュータ機器に保存され、公開鍵はコンピュータ機器に送信される機密データの認証及び暗号化に使用できる。
【0021】
クロスドメイン:同一のブロックチェーンネットワークにおいて、ノードが同一のクラスタ内に設置されない場合、ノードの間でクロスドメインアクセスが必要であることを意味する。当該クロスドメインは、クロスクラスタ、クロス領域などであってもよい。
【0022】
コンソーシアムブロックチェーン:特定のグループのメンバーおよび限られた第三者のみを対象とし、その内部において、事前に選択された複数のノードがブックキーパーとして指定され、各ブロックの生成は事前に選択されたすべてのノードによって共同で決定される。
【0023】
エンドースメントメカニズム:ブロックチェーン(例えば、コンソーシアムブロックチェーンにおけるHyperledger Fabricブロックチェーン)において、一部のノードはエンドースメントタスクを担当し、エンドースメントポリシーを使用してトランザクションを実行する必要があるノードを定義することができる。ブロックチェーントランザクションについて、新しいアイデアは、スマートコントラストの実行と台帳の更新とを分離することで、トランザクションのスループットを向上させ、より細粒度のプライベート制御をサポートし、より柔軟で強力なスマートコントラストを実現する。これらの特性を実現するための要因は、トランザクションが台帳に追加される前に明示的なトランザクションエンドースメントを実行することである。ブロックチェーンでは、エンドースメントは、エンドースメントタスクを担当するノードがブロックチェーントランザクションのトランザクション情報を検証し、検証が成功したトランザクションに対してこのトランザクションの有効性を宣言するプロセスおよびメカニズムとして理解できる。エンドースメントタスクを担当するノードは、有効な証明書の予期情報の有効な署名に基づいてその有効性を証明する必要がある。
【0024】
エンドースメントポリシー(endorsement policy):トランザクションのエンドースメントのために満たされる必要がある条件として理解され得る。すなわち、エンドースメント成功の結論を得るために、エンドースメントポリシーで指定された条件を満たす必要がある。ブロックチェーンノードには、事前に指定されたエンドースメントポリシーセットが記憶されており、エンドースメントの条件判定はチェーンコードで実現され、すべてのトランザクションはエンドースメントポリシーに準拠する必要があり、エンドースメントされたトランザクションのみが正当で承認されるためである。したがって、エンドースメントポリシーは、選択されたノードにトランザクションが正しいかどうかを決定するように指示するために使用される条件でもあり得る。
【0025】
いくつかのエンドースメントポリシーの例は以下の通り、ノードA、B、C及びFは何れもタイプがTであるトランザクションに対してエンドースメントを行う必要があり、チャンネルにおけるほとんどのノードは、タイプがUであるトランザクションに対してエンドースメントを行う必要があり、A、B、C、D、E、F、Gのうちの少なくとも3つのノードはタイプがVであるトランザクションに対してエンドースメントを行う必要がある。
【0026】
ブロックチェーンネットワークにおけるコンセンサスプロセスの時間消費を削減し、ブロックチェーンネットワークに基づくトランザクションパフォーマンスを向上させるために、本出願の実施例は、ブロックチェーンネットワークに基づくデータ処理方法を提供する。
【0027】
本出願の実施例で提供されるデータ処理方法はブロックチェーン技術に基づく。一実施例において、本出願の実施例で提供されるデータ処理方法はクラウド技術(Cloud technology)に基づくこともできる。クラウド技術はクラウドコンピューティングのビジネス形態の下で適用されるネットワーク技術、情報技術、統合技術、管理基盤技術、アプリケーション技術などの総称であり、リソースプールを構成して、必要に応じて使用して、柔軟且つ便利であり、本出願の実施例で提供されるデータ処理方法は、主に、クラウド技術におけるクラウドストレージ(Cloud storage)及びクラウドデータベース(Cloud Database)などに関する。
【0028】
本出願の実施例で提供されるデータ処理方法は、データ処理ネットワークに適用され、
図1a又は
図1bに示すように、当該データ処理ネットワークはクライアント10、管理ネットワーク11、及びブロックチェーンネットワーク12を含む。管理ネットワーク11は管理機器、及び1つ又は複数のエンドースメントデバイスを含み、ブロックチェーンネットワーク12は複数のノードデバイスを含む。一実施例において、
図1aに示すように、クライアント10は管理ネットワーク11でもブロックチェーンネットワーク12でも位置していない。別の実施例において、
図1bに示すように、クライアント10はブロックチェーンネットワーク12に位置してもよい。
【0029】
一実施例において、
図1a又は
図1bに示すように、管理ネットワーク11とブロックチェーンネットワーク12とは異なる2つのネットワークであってもよく、即ち、管理ネットワーク11はブロックチェーンネットワーク12と独立して存在する。別の実施例において、管理ネットワークはブロックチェーンネットワークに位置してもよく、この場合、管理ネットワークにおける管理機器及びエンドースメントデバイスはブロックチェーンネットワークにおけるノードデバイスであってもよいし、ブロックチェーンネットワークにおけるノードデバイス以外の通常のコンピュータ機器であってもよい。
【0030】
管理ネットワーク11はクラウド技術に基づいて実現されてもよく、具体的に、テンセントクラウド又はアリババクラウドなどに基づいて実現されてもよい。一実施例において、エンドースメントデバイスは、暗号化器であってもよく、具体的に、物理暗号化器であってもよいし、仮想の暗号化器であってもよい。エンドースメントデバイスが仮想の暗号化器である場合、仮想暗号化器はコンピュータ機器に搭載される必要がある。管理ネットワークが管理機器及び1つのエンドースメントデバイスを含む場合、エンドースメントデバイスは管理機器の一部であってもよく、つまり、エンドースメントデバイスは管理機器に配置される。
【0031】
管理ネットワーク11における機器(エンドースメントデバイス及び管理機器のうちの少なくとも一方)はトラステッドコンピューティングに基づいて、ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵をホスティングすることができ、ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶してもよいし、ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶してもよく、当該一部のノードデバイスは、エンドースメントポリシーによって指示されたエンドースメントタスクを担当するように構成される可能性があるノードデバイスである。一実施例において、署名鍵はノードデバイスの鍵ペアにおける秘密鍵であってもよい。鍵ペアはRSA暗号化アルゴリズムで計算されることで得られるものであってもよく、秘密鍵及び公開鍵を含み、一般的に、秘密鍵は署名に用いられ、公開鍵は署名解除に用いられる。管理ネットワークにおけるエンドースメントデバイスはブロックチェーンネットワークにおけるノードデバイスの代わりにデータ検証(署名検証、トランザクションデータの検証などを含む)及びエンドースメント署名などのサービスを提供し、管理ネットワークにおける管理機器はブロックチェーンネットワークにおけるノードデバイスの代わりに、ブロック生成などのサービスを提供することができる。エンドースメント署名は合意プロセスである。
【0032】
本出願の実施例において、クライアント、管理機器、エンドースメントデバイス、及びノードデバイスは、サーバーや、端末であってもよい。サーバーは独立した物理サーバーであってもよいし、複数の物理サーバーからなるサーバークラスタ又は分散型システムであってもよく、さらに、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティーサービス、CDN、ビッグデータ、及び人工智能プラットフォームなどの基礎クラウドコンピューティングサービスを提供するクラウドサーバーであってもよい。端末はスマートフォン、タブレットコンピューター、ノートパソコン、デスクトップコンピュータ、スマートスピーカー、スマートウォッチなどであってもよいが、これらに限定されていない。クライアント、管理機器、エンドースメントデバイス、及びノードデバイスの間は有線又は無線通信方式で直接又は間接的に接続されてもよく、本出願では、それを限定しない。
【0033】
本出願の実施例で提供されるデータ処理方法によれば、データ処理ネットワークに管理ネットワークが設置され、管理ネットワークにおけるエンドースメントデバイスがクライアントのトランザクションリクエストにおけるデータを検証し、データの検証が成功した後、エンドースメントポリシーの指示に従って、相応するノードデバイスの署名鍵を用いて、トランザクションデータに基づいて決定された署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得し、これによって、管理ネットワークは、データ検証及びエンドースメント署名操作を集中して効率的に完了し、即ち、合意操作を完了し、ブロックチェーンネットワークにおけるノードはトランザクションの合意に参加する必要がないため、合意に必要な時間を効果的に節約し、トランザクションプロセスの処理効率を高め、さらに、ネットワーク全体のトランザクションパフォーマンスが向上する効果を達成することができる。
【0034】
図2を参照して、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理方法のフロー概略図である。本出願の実施例に記載されるブロックチェーンネットワークに基づくデータ処理方法は、
図1a又は
図1bのデータ処理ネットワークに適用され得、当該方法は以下のステップを含むが、これらに限定されない。
【0035】
S201において、クライアントは、管理ネットワークにおける管理機器に、トランザクションデータ及びトランザクションデータに対応する参照署名データを有するトランザクションリクエストを送信する。
【0036】
一実施例において、参照署名データは、クライアントがその鍵ペアにおける秘密鍵によってトランザクションデータに署名することで取得されることができる。鍵ペアはRSA暗号化アルゴリズムで計算されることで得られるものであってもよく、秘密鍵及び公開鍵を含み、一般的に、秘密鍵は署名に用いられ、公開鍵は署名解除に用いられる。
【0037】
S202において、管理機器はクライアントによって送信されたトランザクションリクエストを取得し、管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスからターゲットエンドースメントデバイスを決定する。
【0038】
ノードデバイスの署名鍵の異なる記憶状況に対して、以下の2つの方式を使用してターゲットエンドースメントデバイスを決定することができる。
【0039】
方式1:
管理ネットワークにおける各エンドースメントデバイスはブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶し、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶している。管理ネットワークにおける各エンドースメントデバイスに記憶された全ての署名鍵に対応するノードデバイスは、ブロックチェーンネットワークにおける全てのノードデバイスであってもよいし、ブロックチェーンネットワークにおける一部のノードデバイスであってもよく、当該一部のノードデバイスはエンドースメントポリシーによって指示されたエンドースメントタスクを担当するように構成される可能性があるノードデバイスである。
【0040】
図3に示すように、管理ネットワークにおける各エンドースメントデバイスはブロックチェーンネットワークにおける1つ又は複数のノードデバイスの署名鍵を記憶している。例えば、エンドースメントデバイス1は、ブロックチェーンネットワークにおける、番号が1-XであるX個のノードデバイスの署名鍵を記憶し、エンドースメントデバイス4はブロックチェーンネットワークにおける、番号がZ+1であるノードデバイスの署名鍵を記憶する。
【0041】
一実施形態において、ブロックチェーンネットワークにおける複数のノードデバイスは異なるクラスタに設置されてもよい。例えば、
図3に示すように、番号が1~Xであるノードデバイスは1つのクラスタに設置され、番号がX+1~Yであるノードデバイスは別のクラスタに設置され、番号がY+1~Zであるノードデバイスは他のクラスタに設置される。管理ネットワークにおけるエンドースメントデバイスは、ブロックチェーンネットワークにおける同一のクラスタに属する1つ又は複数のノードデバイスの署名鍵を記憶する。
【0042】
クライアントによって送信されたトランザクションリクエストを受信した後、管理機器はエンドースメントポリシーの指示に従って、ブロックチェーンネットワークに含まれる複数のノードデバイスからターゲットノードデバイスを決定し、当該ターゲットノードデバイスは1つ又は複数である。決定されたターゲットノードデバイスは、エンドースメントポリシーによって指示された現在のトランザクションに対するエンドースメントタスクを担当するノードデバイスである。例えば、クライアントはタイプがTであるトランザクションを開始した場合、所定のエンドースメントポリシーの指示に従って、ブロックチェーンネットワークにおけるノードデバイスA、B、C及びFはタイプがTであるトランザクションに対してエンドースメントを行う必要があり、ブロックチェーンネットワークにおけるノードデバイスA、B、C及びFをターゲットノードデバイスとして決定できる。
【0043】
さらに、管理機器は、記録された各エンドースメントデバイスがノードデバイスの署名鍵を記憶する状況、及び決定されたターゲットノードデバイスに基づいて、管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、当該ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを決定し、当該ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスをターゲットエンドースメントデバイスとして決定する。決定されたターゲットエンドースメントデバイスは1つ又は複数であり、記憶された署名鍵は各ターゲットノードデバイスの署名鍵を含む。管理機器は、ターゲットエンドースメントデバイスにクライアントからのトランザクションリクエストを送信する場合、ターゲットノードデバイスの情報(例えばノード番号など)を併せて送信してもよいし、相応する署名鍵がターゲットエンドースメントデバイスに記憶されたターゲットノードデバイスの情報を送信してもよい。
【0044】
方式2:
管理ネットワークにおける各エンドースメントデバイスは何れもブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶するか、又はブロックチェーンネットワークにおける同一の部分のノードデバイスの署名鍵を記憶し、当該一部のノードデバイスは、エンドースメントポリシーによって指示されたエンドースメントタスクを担当するように構成される可能性がある全てのノードデバイスである。
【0045】
クライアントによって送信されたトランザクションリクエストを受信した後、管理機器は、管理ネットワークにおける各エンドースメントデバイスの現在の状態パラメータを取得し、当該状態パラメータは、ネットワーク状況を指示するためのパラメータ、負荷状況を指示するためのパラメータなどを含んでもよい。各エンドースメントデバイスの現在の状態パラメータに基づいて、管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、当該トランザクションリクエストに応答するためのターゲットエンドースメントデバイスを決定し、具体的に、現在のネットワーク状況がよく、且つ負荷が小さいエンドースメントデバイスを、当該トランザクションリクエストに応答するためのターゲットエンドースメントデバイスとして決定することができる。決定されたターゲットエンドースメントデバイスは1つ又は複数である。
【0046】
一実施形態において、各エンドースメントデバイスの選択順序を予め設置し、当該選択順序に従って管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、現在、エンドースメントサービスを提供するための1つ又は複数のターゲットエンドースメントデバイスを選択することができる。例えば、設置されたエンドースメントデバイスの選択順序は(エンドースメントデバイス1)→(エンドースメントデバイス2、3)→(エンドースメントデバイス4、5)となる。前回、エンドースメントデバイス1がエンドースメントサービスを提供すれば、今回、エンドースメントデバイス2、3を選択してエンドースメントサービスを提供することになる。
【0047】
一実施形態において、決定されたターゲットエンドースメントデバイスが複数である場合、管理機器は、対応するように、各エンドースメントデバイスが担当するエンドースメントタスクを設置することができる。例えば、エンドースメントポリシーの指示に従って、現在のトランザクションニーズに対して、ターゲットノードデバイス1~10がエンドースメントタスクを担当する必要があり、今回、エンドースメントデバイス2、3を選択してエンドースメントサービスを提供すれば、エンドースメントデバイス2がターゲットノードデバイス1~3に対応するエンドースメントタスクを担当し、エンドースメントデバイス3がターゲットノードデバイス4~10に対応するエンドースメントタスクを担当するように配置される。管理機器は、ターゲットエンドースメントデバイスにクライアントのトランザクションリクエストを送信する場合、ターゲットエンドースメントデバイスに対応するエンドースメントタスク指示情報を併せて送信してもよく、当該エンドースメントタスク指示情報は、当該ターゲットエンドースメントデバイスが担当する必要があるターゲットノードデバイスに対応するエンドースメントタスクを指示するために用いられる。
【0048】
一実施例において、当該トランザクションリクエストはクライアントの機器識別子をさらに有し、クライアントによって送信されたトランザクションリクエストを受信した後、管理機器は、まず、クライアントがトランザクションリクエストを開始する権限を持つかどうかを決定し、クライアントの機器識別子が所定のホワイトリストにあるかどうかを検出するステップを含み、あると、クライアントがトランザクションリクエストを開始する権限を持つと決定し、ないと、クライアントがトランザクションリクエストを開始する権限を持たないと決定する。クライアントは、トランザクションリクエストを開始する権限を持つと、管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスからターゲットエンドースメントデバイスを決定する。クライアントはトランザクションリクエストを開始する権限を持たないと、クライアントのトランザクションリクエストを直接拒否する。
【0049】
S203において、管理機器は、クライアントのトランザクションリクエストをターゲットエンドースメントデバイスに送信する。
【0050】
S204において、ターゲットエンドースメントデバイスは、クライアントのトランザクションリクエストを取得し、トランザクションリクエストに有されるトランザクションデータ及び参照署名データを検証する。
【0051】
一実施例において、参照署名データがクライアントの鍵ペアにおける秘密鍵によってトランザクションデータに署名することで取得される場合、ターゲットエンドースメントデバイスはクライアントの鍵ペアにおける公開鍵を取得し、当該公開鍵によって参照署名データに対して署名解除を行うことで、署名解除データを取得し、署名解除データがトランザクションデータに一致すると、トランザクションデータが改ざんされないことを示し、トランザクションデータに実行可能性があるかどうかをさらに検出し、トランザクションデータに対応するトランザクションが正当であるかどうか、実行されたかどうかを検出することなどを含み、正当で且つ実行されないと、実行可能性があると決定し、トランザクションデータに実行可能性があると、トランザクションリクエストにおけるトランザクションデータ及び参照署名データの検証が成功したと決定できる。
【0052】
一実施形態において、クライアントの公開鍵はトランザクションリクエストに有されてもよいし、各エンドースメントデバイスに記憶されてもよく、さらに、管理機器に記憶されてもよい。クライアントの公開鍵が管理機器に記憶された場合、ターゲットエンドースメントデバイスは管理機器からクライアントの公開鍵を能動的に取得してもよいし、管理機器は、クライアントのトランザクションリクエストをターゲットノードデバイスに送信する場合に、ターゲットエンドースメントデバイスに併せて送信してもよい。
【0053】
S205において、トランザクションデータ及び参照署名データの検証が成功した場合、ターゲットエンドースメントデバイスは、ターゲットノードデバイスから、マッチングノードデバイスを決定し、マッチングノードデバイスの署名鍵を取得し、ターゲットノードデバイスはエンドースメントポリシーの指示に従って、ブロックチェーンネットワークに含まれる複数のノードデバイスから決定される。
【0054】
本出願の実施例において、トランザクションデータ及び参照署名データの検証が成功した場合、ターゲットエンドースメントデバイスは、どのターゲットノードデバイスに対応するエンドースメントタスクを担当するか、即ち、マッチングノードデバイスを決定し、マッチングノードデバイスは1つ又は複数であってもよく、エンドースメントポリシーによって指示された現在のトランザクションに対するエンドースメントタスクを担当する1つ又は複数のターゲットノードデバイスに含まれる。
【0055】
ステップS202における方式1が指示した状況に対して、マッチングノードデバイスは、当該1つ又は複数のターゲットノードデバイスのうちの、相応する署名鍵がターゲットエンドースメントデバイスに記憶されたターゲットノードデバイスである。ターゲットエンドースメントデバイスはまず、エンドースメントポリシーの指示に従って、ブロックチェーンネットワークに含まれる複数のノードデバイスから、現在のトランザクションに対するエンドースメントタスクを担当する必要がある1つ又は複数のターゲットノードデバイスを決定してから、当該1つ又は複数のターゲットノードデバイスから、相応する署名鍵が記憶されたターゲットノードデバイスをマッチングノードデバイスとして決定してもよい。別の実施形態において、管理機器によって送信された、相応する署名鍵がターゲットエンドースメントデバイスに記憶されたターゲットノードデバイスの情報を受信した場合、当該情報によって指示されたターゲットノードデバイスをマッチングノードデバイスとして直接決定する。
【0056】
ステップS202における方式2が指示した状況に対して、マッチングノードデバイスは、当該1つ又は複数のターゲットノードデバイスのうちの、ターゲットエンドースメントデバイスが相応するエンドースメントタスクを担当する必要があるターゲットノードデバイスである。
【0057】
マッチングノードデバイスを決定した後、マッチングノードデバイスの署名鍵を取得する。一実施例において、署名鍵はノードデバイスの鍵ペアにおける秘密鍵であってもよい。鍵ペアはRSA暗号化アルゴリズムで計算されることで得られるものであってもよく、秘密鍵及び公開鍵を含み、一般的に、秘密鍵は署名に用いられ、公開鍵は署名解除に用いられる。
【0058】
S206において、ターゲットエンドースメントデバイスはトランザクションデータに基づいて署名対象となるデータを決定し、マッチングノードデバイスの署名鍵を用いて署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得する。
【0059】
一実施例において、ターゲットエンドースメントデバイスはトランザクションデータに基づいてトランザクションの実行をシミュレーションして、トランザクションシミュレーション結果を取得し、トランザクションシミュレーション結果に基づいてトランザクションリクエストに対応する投票結果を決定し、例えば、トランザクションシミュレーション結果として、トランザクションを正確に実行できることを示すと、承認された投票結果を生成する。さらに、決定された投票結果を署名対象となるデータとして、各マッチングノードデバイスの署名鍵を用いて当該署名対象となるデータにそれぞれ署名することで、各署名鍵にそれぞれ対応するエンドースメント署名データを取得する。
【0060】
S207において、ターゲットエンドースメントデバイスはエンドースメント署名データを管理機器に送信する。
【0061】
S208において、管理機器は、ターゲットエンドースメントデバイスによって送信されたエンドースメント署名データを受信し、エンドースメント署名データ及びトランザクションデータに基づいてトランザクションブロックを生成する。
【0062】
本出願の実施例において、管理機器は、各ターゲットエンドースメントデバイスによって送信された1つ又は複数のエンドースメント署名データを受信し、各ターゲットエンドースメントデバイスによって送信されたエンドースメント署名データを受信した後、受信されたエンドースメント署名データ及びトランザクションデータに基づいてトランザクションブロックを生成する。
【0063】
一実施例において、管理機器は、ターゲットエンドースメントデバイスによって送信されたエンドースメント署名データを受信した後、まず、エンドースメント署名データを検証し(即ち、署名の検証)、各エンドースメント署名データの検証が成功した後、トランザクションブロックを生成する。検証が失敗したエンドースメント署名データが存在すると、相応するエンドースメント署名操作を改めて行うように、相応するエンドースメントデバイスに対して(元のエンドースメントデバイスであってもよいし、新たに指定したエンドースメントデバイスであってもよい)に指示する。エンドースメント署名データの検証方式について、以降の記載を参照すればよい。
【0064】
一実施例において、管理機器は、生成されたトランザクションブロックを、それに記憶されたブロックチェーンに追加して預金することができる。別の実施例において、管理機器は、クライアントのトランザクションリクエスト及び当該トランザクションブロックに基づいて預金ブロックを生成し、生成した預金ブロックを、それに記憶されたブロックチェーンに追加して預金することができる。
【0065】
S209において、管理機器はトランザクションブロックをブロックチェーンネットワークにおけるノードデバイスにブロードキャストする。
【0066】
S210において、ブロックチェーンネットワークにおけるノードデバイスは、トランザクションブロックにおけるデータの検証が成功し、且つエンドースメントポリシーを満たすと決定した場合、トランザクションデータに基づいてトランザクションを実行する。
【0067】
本出願の実施例において、ブロックチェーンネットワークにおけるノードデバイスは、管理機器によってブロードキャストされたトランザクションブロックを受信した後、当該トランザクションブロックからトランザクションデータ及び各エンドースメント署名データを抽出し、トランザクションデータ及びエンドースメント署名データを検証する。トランザクションデータの検証は、フィールドの正確性及びトランザクションの正当性の検証を含む。
【0068】
エンドースメント署名データの検証方式は、エンドースメントポリシーの指示に従って、ブロックチェーンネットワークに含まれる複数のノードデバイスから、トランザクションデータに対応するトランザクションに対するエンドースメントタスクを担当する必要がある各ターゲットノードデバイスを決定することであってもよい。各ターゲットノードデバイスの署名解除キーを取得する。一実施例において、ブロックチェーンネットワークにおける各ノードデバイスは何れも、エンドースメントポリシーによって指示されたエンドースメントタスクを担当するように構成される可能性がある全てのノードデバイスの署名解除キーを記憶しており、この場合、ロカールから各ターゲットノードデバイスの署名解除キーを直接取得することができる。別の実施例において、エンドースメントポリシーによって指示されたエンドースメントタスクを担当するように構成される可能性がある全てのノードデバイスの署名解除キー、又はブロックチェーンネットワークにおける全てのノードデバイスの署名解除キーはクラウドデータベースに記憶されてもよく、この場合、クラウドデータベースから各ターゲットノードデバイスの署名解除キーを取得する必要がある。署名解除キー及び署名鍵は鍵ペアを構成し、署名鍵は鍵ペアにおける秘密鍵であってもよく、署名解除キーは鍵ペアにおける公開鍵であってもよく、鍵ペアはRSA暗号化アルゴリズムで計算されることで得られるものであってもよい。さらに、各ターゲットノードデバイスの署名解除キーを用いて各エンドースメント署名データに対してそれぞれ署名解除を行い、署名解除が成功した署名解除データに基づいて各エンドースメント署名データを検証する。
【0069】
各ターゲットノードデバイスの署名解除キーを用いて相応して各エンドースメント署名データの署名を成功して解除し、且ついずれかのターゲットノードデバイスの署名解除キーが少なくとも1つのエンドースメント署名データによって使用される署名鍵にマッチングし、署名解除結果として、全ての投票結果又はほとんど(例えば2/3以上)の投票結果がトランザクションデータに対応するトランザクションの実行に同意したことを示すと、エンドースメントポリシーを満たすと決定する。
【0070】
トランザクションブロックにおけるデータの検証が成功し、且つエンドースメントポリシーを満たすと検出した場合、ブロックチェーンネットワークにおけるノードデバイスはトランザクションデータに基づいてトランザクションを実行する。トランザクションを実行した後、得られたトランザクション結果を台帳に記録する(又はトランザクション結果に基づいてブロックを生成し、ブロックをブロックチェーンに記録する)。一実施例において、ブロックチェーンネットワークにおけるノードデバイスは、受信されたトランザクションブロックを、それに記憶されたブロックチェーンに追加して預金してもよい。
【0071】
ここで、ターゲットエンドースメントデバイスは、エンドースメント署名データを取得した場合、マッチングノードデバイスの署名鍵を用いて、署名対象となるデータ(例えば、トランザクションリクエストに対応する投票結果)及びトランザクションデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得することができる。ターゲットエンドースメントデバイスは、エンドースメント署名データを管理機器に送信する際に、署名対象となるデータを併せて送信してもよい。管理機器は、トランザクションブロックを生成する際に、エンドースメント署名データ、トランザクションデータ及び署名対象となるデータに基づいてトランザクションブロックを生成してもよい。エンドースメント署名データ及びトランザクションブロックの生成中に、以降のデータ検証のために、上記のデータを追加する。また、管理ネットワークにおける管理機器がブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵をホスティングすると、管理機器は、ターゲットエンドースメントデバイスにトランザクションリクエストを送信する際に、ターゲットエンドースメントデバイスに対応するマッチングノードデバイスの署名鍵を併せて送信することで、ターゲットエンドースメントデバイスが相応するエンドースメントタスクを実行するようにする。
【0072】
本出願の実施例において、管理機器及びエンドースメントデバイスはトラステッドコンピューティングを使用し、ブロックチェーンネットワークにおけるノードデバイスの代わりに、管理ネットワークにおけるエンドースメントデバイスを使用して、データ検証及びエンドースメント署名などのサービスを提供し、即ち、エンドースメントデバイスによって合意操作を完了させ、ブロックチェーンネットワークにおけるノードデバイスの代わりに、管理ネットワークにおける管理機器を使用して、ブロック生成などのサービスを提供し、このようにすれば、管理ネットワークはトランザクションコンセンサス及びブロック生成を集中して効果的に完了することができ、ブロックチェーンネットワークにおけるノードデバイスがトランザクションの合意及びブロックの生成に参加する必要がなく、従来のブロックチェーンネットワークにおけるほとんどのノードデバイスがコンセンサスに参加する必要がある方式に対して、このソリューションは、合意に必要な時間を効果的に節約でき、これにより、トランザクションプロセスの処理効率を高めて、ネットワーク全体のトランザクションパフォーマンスを向上させる効果を達成する。
【0073】
本出願の実施例で提供されるデータ処理方法はクロスドメインのブロックチェーンノードガバナンスソリューションである。現在、多くのサービスプロバイダーはブロックチェーンのPaaS(Platform as a Service)プラットフォームサービス、又はブロックチェーンに関するさまざまなソリューションを提供し、ほとんどの配置形式は、通常、同一のブロックチェーンネットワークにおける全てのノードをまとめて配置し、このようにすれば、ブロックチェーンネットワークのトランザクションパフォーマンスを大幅に向上させることができる。ところが、本当の脱中心化を反映するために、ブロックチェーンノードのクロスドメイン分散配置、又は異なるクライアント環境への配置は、将来常態になり、ノード間は公衆ネットワークを介して通信し、ネットワーク全体のトランザクションパフォーマンスは大きな挑戦に直面する。
【0074】
現在、クロスドメインブロックチェーンノードのガバナンスに対して、まだ統一されたソリューションが存在せず、通常、ブロックチェーンノードから一部のノードをコンセンサスノードとして分割し、これらのコンセンサスノードはコンセンサスサービス及びブロックのパッケージングを提供する。ところが、これは、ただトランザクションパフォーマンスをある程度向上させ、トランザクションの同時実行量が高い場合、パフォーマンスボトルネックが発生し、なぜならば、トランザクションのためにノード署名を収集する必要があり、その汎用性が悪く、ほとんどのブロックチェーンエンジンにおいて使用不能であるからである。
【0075】
ブロックチェーンのトランザクションプロセスはトランザクションパフォーマンスに大きな影響を与え、一般的に、各トランザクションは、合意された後にのみ、各ノードによって実行される。パブリックブロックチェーンにおいて多くのコンセンサスアルゴリズム、例えばPoW、PoSなどを提供する。一般的に、パブリックブロックチェーンにおける全てのノードはコンセンサスノードであり、合意プロセスに参加する必要があるため、トランザクションパフォーマンスは非常に非効率的である。例えば、企業の間は通常、コンソーシアムブロックチェーンを使用し、コンソーシアムブロックチェーンは通常、コンセンサスサービスを分離することで、トランザクションパフォーマンスをある程度で向上させる。本出願の実施例で提供されるクロスドメインノードブロックチェーンガバナンスソリューションは主にコンソーシアムブロックチェーンを対象とする。
【0076】
図4を参照して、Fabricブロックチェーンのトランザクションプロセスを示す。Ordererノードはブロックパッケージングサービスを提供するためのものである。Peeノードはトランザクションを実行して、台帳を記録するためのものであり、エンドースメントノード(Endorser)や、コミッターノード(Committer)であってもよい。CA(証明書発行機構、Certificate Authority)は証明書サービスを提供し、クライアントに対して相応するキーを生成する。トランザクションプロセスは主に以下のステップを含む。
【0077】
クライアントはエンドースメントノードにトランザクション申し込み(又はトランザクションリクエスト)を送信し、エンドースメントノードは申し込みを受信した後、申し込み署名を検証して、channel(チャンネル)ACL(アクセス制御リスト)を満たすかどうかを検出し、クライアントが現在のchannelで操作可能であるかどうかをチェックするなどのステップを含む。申し込み署名の検証が成功し、channel ACLを満たすと検出した場合、トランザクションの実行をシミュレーションし、結果(トランザクションシミュレーション実行結果に基づいて生成された投票結果)に署名する。エンドースメントノードは結果署名をクライアントに戻す。クライアントはエンドースメントノードから戻された結果署名を受信し、結果署名を検証し、複数のエンドースメントノードの返信結果を比較して、十分な結果署名を収集したかどうかを検出する。クライアントは、十分な結果署名を収集し、且つほとんどのエンドースメントノードの返信結果がトランザクションの実行に同意したことを示す場合、トランザクションデータをOrdererノードに送信し、トランザクションデータをエンドースメントノードに送信し、エンドースメントノードによってOrdererノードに転送する。Ordererノードはトランザクションをソートして、トランザクションブロックを構築して、トランザクションブロックをコミッターノードに送信する。コミッターノードはトランザクションブロックに対してトランザクション構造及び署名をチェックし、トランザクションがエンドースメントポリシーを満たすかどうかをチェックし、トランザクション構造及び署名のチェックが成功し、且つトランザクションがエンドースメントポリシーを満たすとチェックした場合、トランザクションブロックにおける正当トランザクションを実行して、台帳状態を更新する。コミッターノードは、トランザクションブロックの処理プロセスにおいて、トランザクションブロックに関する処理データをエンドースメントノードと同期することができる。
【0078】
上記のトランザクションプロセスにおいて、クライアントが実行するステップは具体的に、クライアントに配置されたAPP(アプリケーションプログラム)又はSDK(ソフトウェア開発キット)によって実行されてもよい。Fabricブロックチェーンのトランザクションプロセスから分かるように、クライアントがトランザクション申し込みを送信してから、最後、Peerノードがトランザクションを実行するまで、その中に、複数回の署名検証操作が存在し、これは各トランザクションの最も時間がかかる部分である。エンドースメント署名は合意プロセスであり、十分なエンドースメント署名を収集した場合にのみ、トランザクションを正常に実行できる。エンドースメントノード(Endorser)が分散クロスドメイン方式で配置されると、ノード間は公衆ネットワークを介して通信し、各トランザクションに対してエンドースメント署名を収集する際に、公衆ネットワークの安定性、帯域幅などは何れもトランザクション全体のパフォーマンスに影響を与える。
【0079】
図5を参照して、本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションの1つのアーキテクチャを示す。本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションは、トラステッドコンピューティングを結合して、1つのトラステッドコンピューティング領域(以上に記載された管理ネットワークに相当)を区画し、ブロックチェーンネットワークにおける各ノードの秘密鍵(署名鍵)をトラステッドコンピューティング領域にホスティングし、トラステッドコンピューティング領域においてトランザクションの合意署名(即ち、エンドースメント署名)操作を完了してから、トラステッドコンピューティング領域においてブロックをパッケージングして、ブロックチェーンネットワークにおける各ノードに配信し、ノードはブロックを受信した後、ブロックを検証してブロックにおける正当トランザクションを実行すればよい。トラステッドコンピューティングはノードの秘密鍵のセキュリティ及びデータの信頼性を保証し、トラステッドコンピューティング領域において、ノードに対応するサービス(
図5のP1~P4)があり、ノードに対応する秘密鍵をホスティングし、署名サービスを提供する。
図5に示すように、P1~P4はPeer1~Peer4の秘密鍵をそれぞれホスティングし、相応するエンドースメント署名サービスを提供する。
図5のP1~P4は以上に記載されたエンドースメントデバイスに相当し、暗号化器であってもよい。このように、トランザクションのエンドースメント署名は、トラステッドコンピューティング領域において集中して完了され、これによって、ネットワークにおけるリクエストの配信を削減し、トランザクションプロセスの処理レートを速めることができる。
【0080】
図6を参照し、本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションの別のアーキテクチャである。本出願の実施例で提供されるクロスドメインブロックチェーンノードガバナンスソリューションの具体的なトランザクションプロセスは以下の通りである。まず、クライアントはCAを介して証明書を登録した(即ち、相応するキーを取得した)後、トランザクションリクエストをトラステッドコンピューティング領域に送信する。トラステッドコンピューティング領域はトランザクションリクエストを受信した後、トランザクションリクエストに有されるトランザクション署名を検証し、署名の検証が成功した後、エンドースメントポリシーの指示に従って、ホスティングされる相応するノードの秘密鍵を用いてトランザクションエンドースメントに署名し、十分なエンドースメント署名を収集した後に、トランザクションをパッケージングして、トランザクションブロックを生成し、トランザクションブロックをPeerノードに配信する。Peerノードはトランザクションブロックを受信した後、トランザクション構造及びエンドースメント署名をチェックし、トランザクションがエンドースメントポリシーを満たすかどうかをチェックし、トランザクション構造及びエンドースメント署名のチェックが成功し、且つトランザクションがエンドースメントポリシーを満たす場合、ブロックにおける正当トランザクションを実行して、台帳状態を更新する。ここで、上記のトランザクションプロセスにおける各ステップの具体的な実現形態について、以上の実施例の記載を参照すればよく、また、上記のトランザクションプロセスはいくつかの主なステップのみを示し、異なるブロックチェーンエンジンについて、トランザクションプロセスが異なるが、主な考え方は合意署名(即ち、エンドースメント署名)操作を集中して処理し、トラステッドコンピューティング領域によってノードの秘密鍵をホスティングして、トランザクションコンセンサスを完了することである。
【0081】
本出願の実施例はトラステッドコンピューティングを結合して、ブロックチェーンネットワークにおける各ノードの署名鍵をトラステッドコンピューティング領域にホスティングし、トラステッドコンピューティング領域はデータ検証、エンドースメント署名サービス、及びブロック生成サービスを提供し、ブロックチェーンネットワークにおける各ノードはただ台帳を記録し、このようなモードは情報のセキュリティ、信頼性を保証するとともに、エンドースメント署名(即ち、合意)効率を向上させることができ、トランザクションの処理フローを早め、ネットワーク全体のトランザクションパフォーマンスを大幅に向上させ、その汎用性がよいため、全てのブロックチェーンエンジンで多重化することができる。
【0082】
図7を参照し、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理装置の構造概略図である。前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記データ処理ネットワークのアーキテクチャについて、
図1a又は
図1bを参照すればよい。前記装置は、取得ユニット701、処理ユニット702及び送受信ユニット703を含む。
【0083】
一実施例において、本出願の実施例に記載されるデータ処理装置は、以上に記載されたターゲットエンドースメントデバイスに対応し、この場合、各ユニットによって実現される機能は以下の通りである。
【0084】
取得ユニット701は、トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するように構成される。
【0085】
処理ユニット702は前記トランザクションデータ及び前記参照署名データを検証するように構成される。
【0086】
前記処理ユニット702は、さらに、前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するように構成され、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるものである。
【0087】
前記処理ユニット702は、さらに、前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するように構成される。
【0088】
送受信ユニット703は、前記エンドースメント署名データを前記管理機器に送信することで、前記管理機器は前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成する。ように構成される。
【0089】
一実施形態において、前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している。
【0090】
一実施形態において、前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記取得ユニット701は、具体的に、前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するように前記送受信ユニット703をトリガーするように構成され、前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、前記エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスから、ターゲットノードデバイスを決定し、前記トランザクションリクエストを前記ターゲットノードデバイスの署名鍵が記憶されたターゲットエンドースメントデバイスに送信する。
【0091】
一実施形態において、前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記取得ユニット701は、具体的に、前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するように前記送受信ユニット703をトリガーするように構成され、前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、各エンドースメントデバイスの現在の状態パラメータに基づいて、前記各エンドースメントデバイスから前記トランザクションリクエストに応答するターゲットエンドースメントデバイスを決定し、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信する。
【0092】
一実施形態において、前記処理ユニット702は前記トランザクションデータに基づいて署名対象となるデータを決定する場合、具体的に、前記トランザクションデータに基づいてトランザクションの実行をシミュレーションすることで、トランザクションシミュレーション結果を取得し、前記トランザクションシミュレーション結果に基づいて前記トランザクションリクエストに対応する投票結果を決定し、前記投票結果を前記署名対象となるデータとするように構成される。
【0093】
一実施形態において、前記参照署名データは鍵ペアにおける秘密鍵を用いて前記トランザクションデータに署名することで得られるものであり、前記取得ユニット701はさらに、前記鍵ペアにおける公開鍵を取得するように構成され、前記処理ユニット702はさらに、前記公開鍵を用いて前記参照署名データに対して署名解除を行うことで、署名解除データを取得し、前記署名解除データが前記トランザクションデータにマッチングすると、前記トランザクションデータが実行可能性を有するかどうかを検出し、前記トランザクションデータが実行可能性を有すると、前記トランザクションデータ及び前記参照署名データの検証が成功したと決定するように構成される。
【0094】
ここで、本出願の実施例で提供されるデータ処理装置の各機能ユニットの機能について、上記の方法実施例においてターゲットエンドースメントデバイスに対応する方法に基づいて具体的に実現さればよく、その具体的な実現過程について、上記の方法実施例の関連記載を参照すればよく、ここで、贅言していないことを理解されたい。
【0095】
別の実施例において、本出願の実施例に記載されるデータ処理装置は、以上に記載された管理機器に対応し、この場合、各ユニットが実現する機能は以下の通りである。
【0096】
取得ユニット701は、トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するように構成される。
【0097】
処理ユニット702は、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するように構成される。
【0098】
送受信ユニット703は、前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するように構成される。
【0099】
前記送受信ユニット703は、さらに、前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信するように構成される。
【0100】
前記処理ユニット702は、さらに、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように構成される。
【0101】
一実施形態において、前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している。
【0102】
一実施形態において、前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記処理ユニット702は、具体的に、エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスからターゲットノードデバイスを決定し、前記管理ネットワークに含まれる各エンドースメントデバイスから、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを決定し、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するように構成される。
【0103】
一実施形態において、前記管理ネットワークにおける各エンドースメントデバイスは何れも前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記装置は、前記管理ネットワークにおける各エンドースメントデバイスの現在の状態パラメータを取得するための取得ユニット701をさらに含み、前記処理ユニット702は、具体的に、前記各エンドースメントデバイスの現在の状態パラメータに基づいて、前記管理ネットワークに含まれる各エンドースメントデバイスから、前記トランザクションリクエストに応答するエンドースメントデバイスを決定し、前記トランザクションリクエストに応答するエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するように構成される。
【0104】
一実施形態において、前記処理ユニット702は、さらに、前記ブロックチェーンネットワークにおけるノードデバイスが、前記トランザクションブロックにおけるデータの検証が成功し、且つ前記トランザクションブロックにおけるデータが前記エンドースメントポリシーを満たすと決定した場合、前記トランザクションデータに基づいてトランザクションを実行するように、前記トランザクションブロックを前記ブロックチェーンネットワークにおけるノードデバイスにブロードキャストするように前記送受信ユニット703をトリガーするように構成される。
【0105】
ここで、本出願の実施例で提供されるデータ処理装置の各機能ユニットの機能について、上記の方法実施例における管理機器に対応する方法に基づいて具体的に実現さればよく、その具体的な実現過程について、上記の方法実施例の関連記載を参照すればよく、ここで、贅言していない。
【0106】
本出願の実施例において、データ処理ネットワークには管理ネットワークが設置され、管理ネットワークにおけるエンドースメントデバイスはトランザクションリクエストにおけるデータを検証し、データの検証が成功した後、エンドースメントポリシーの指示に従って、相応するノードデバイスの署名鍵を用いて、トランザクションデータに基づいて決定された署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得する。当該方式を使用することにより、管理ネットワークはデータ検証及びエンドースメント署名操作を集中して効果的に完了し、即ち、合意操作を完了することができ、ブロックチェーンネットワークにおけるノードデバイスはトランザクションの合意に参加する必要がなく、これによって、合意に必要な時間を効果的に節約でき、トランザクションプロセスの処理効率を高めて、これにより、ブロックチェーンネットワーク全体のトランザクションパフォーマンスを向上させる。
【0107】
図8を参照し、本出願の実施例で提供されるコンピュータ機器の構造概略図である。本出願の実施例に記載されたコンピュータ機器はプロセッサー801、通信インターフェース802及びメモリ803を含む。プロセッサー801、通信インターフェース802及びメモリ803は、バス又は他の方式で接続されてもよく、本出願の実施例においてバスによる接続を例とする。
【0108】
プロセッサー801(又はCPU(Central Processing Unit、中央演算処理装置)とも呼ばれる)はコンピュータ機器のコンピューティングコアおよび制御コアであり、コンピュータ機器内の各種のコマンドを解析して及びコンピュータ機器の各種のデータを処理することができ、例えば、CPUは、ユーザーからコンピュータ機器に送信されたオン/オフコマンドを解析し、オン/オフ操作を行うようにコンピュータ機器を制御するように構成され得、また、例えば、CPUはコンピュータ機器の内部構造の間で各種のインタラクションデータなどを伝送してもよい。好ましくは、通信インターフェース802は標準的な有線インターフェース、無線インターフェース(例えばWi-Fi、移動通信インターフェースなど)を含み、プロセッサー801によって制御されて、データを送受信する。メモリ803(Memory)はコンピュータ機器におけるストレージ機器であり、プログラム及びデータを記憶するように構成される。ここで、メモリ803はコンピュータ機器の内蔵メモリを含んでもよく、無論、コンピュータ機器がサポートする拡張メモリを含んでもよい。メモリ803は記憶空間を提供し、当該記憶空間には、コンピュータ機器のオペレーティングシステムが記憶され、Androidシステム、iOSシステム、Windows Phoneシステムなどを含むが、これらに限定されないが、本出願では、それを限定していない。
【0109】
本出願の実施例において、本出願の実施例に記載されたコンピュータ機器は以上に記載されたターゲットエンドースメントデバイス又は管理機器に対応し、ブロックチェーンネットワークに基づいて実現され、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記データ処理ネットワークのアーキテクチャについて、
図1a又は
図1bを参照すればよい。
【0110】
一実施例において、本出願の実施例に記載されたコンピュータ機器は以上に記載されたターゲットエンドースメントデバイスに対応し、この場合、プロセッサー801はメモリ803における実行可能なプログラムコードを実行することで、上記の方法実施例で説明されたターゲットエンドースメントデバイス側の操作を実行する。
【0111】
具体的に実現において、本出願の実施例に記載されたプロセッサー801、通信インターフェース802及メモリ803は本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理方法に記載のターゲットエンドースメントデバイスの実現形態を実行してもよいし、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理装置に記載されたターゲットエンドースメントデバイスに対応する実現形態を実行してもよく、ここで贅言していない。
【0112】
別の実施例において、本出願の実施例に記載されたコンピュータ機器は以上に記載された管理機器に対応し、この場合、プロセッサー801はメモリ803における実行可能なプログラムコードを実行することで、上記の方法実施例で説明された管理機器側の操作を実行する。
【0113】
具体的に実現において、本出願の実施例に記載されたプロセッサー801、通信インターフェース802及びメモリ803は本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理方法に記載の管理機器の実現形態を実行してもよいし、本出願の実施例で提供されるブロックチェーンネットワークに基づくデータ処理装置に記載の、管理機器に対応する実現形態を実行してもよく、ここで贅言していない。
【0114】
本出願の実施例はコンピュータ可読記憶媒体をさらに提供し、前記コンピュータ可読記憶媒体には、コンピュータで実行される場合に、本出願の実施例に記載されるブロックチェーンネットワークに基づくデータ処理方法をコンピュータに実行させるコンピュータプログラムが記憶されている。その具体的な実現形態について、以上の記載を参照すればよく、ここで、贅言していない。
【0115】
本出願の実施例はコンピュータプログラム製品又はコンピュータプログラムをさらに提供し、前記コンピュータプログラム製品又はコンピュータプログラムはコンピュータコマンドを含み、前記コンピュータコマンドはコンピュータ可読記憶媒体に記憶されている。コンピュータ機器のプロセッサーは、前記コンピュータコマンドを前記コンピュータ可読記憶媒体から読み取り、プロセッサーは、前記コンピュータコマンドを実行することで、本出願の実施例に記載されるブロックチェーンネットワークに基づくデータ処理方法を前記コンピュータ機器に、実行させる。その具体的な実現形態について、以上の記載を参照すればよく、ここで、贅言していない。
【0116】
ここで、記載を容易にするために、上記の各方法実施例は一連の動作の組み合わせとして表現されるが、当業者であれば周知するように、本出願は、記載された動作順序に限定されず、なぜならば、本出願によれば、いくつかのステップは他の順序に従って、又は同時に行われ得るためである。そして、当業者であれば分かるように、明細書に記載された実施例はいずれも好適な実施例に属し、係る動作及びモジュールは必ずしも本出願に必要なものではない。
【0117】
当業者は、上記実施例における各方法の全てまたは一部のステップは、プログラムが関連するハードウェアに命令することによって実装されてよいことを理解されたく、このプログラムは、コンピュータ可読記憶媒体に格納されてもよく、記憶媒体は、リードオンリメモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、光ディスクを含んでもよい。
【0118】
前述の開示は、本出願のいくつかの実施例にすぎず、本出願の保護範囲を限定することを意図したものではない。したがって、本出願の特許請求の範囲に従って行われる同等の変形は、本出願の範囲内に含まれるものとする。
【符号の説明】
【0119】
10 クライアント
11 管理ネットワーク
12 ブロックチェーンネットワーク
【手続補正書】
【提出日】2023-08-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ブロックチェーンネットワークに基づくデータ処理方法であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記エンドースメントデバイスが実行する方法であって、
トランザクションデータ、及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、
前記トランザクションデータ及び前記参照署名データを検証するステップと、
前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するステップであって、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるステップと、
前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するステップと、
前記管理機器が前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するステップと、を含む
方法。
【請求項2】
前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している
請求項1に記載の方法。
【請求項3】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記トランザクションリクエストを取得するステップは、
前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するステップを含み、
前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、前記エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスから前記ターゲットノードデバイスを決定し、前記トランザクションリクエストを、前記ターゲットノードデバイスの署名鍵が記憶されたターゲットエンドースメントデバイスに送信する
請求項2に記載の方法。
【請求項4】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記トランザクションリクエストを取得するステップは、
前記管理機器によって送信されたクライアントからのトランザクションリクエストを受信するステップを含み、
前記管理機器は、前記クライアントによって送信されたトランザクションリクエストを受信した後、各エンドースメントデバイスの現在の状態パラメータに基づいて、前記各エンドースメントデバイスから、前記トランザクションリクエストに応答するターゲットエンドースメントデバイスを決定し、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信する
請求項2に記載の方法。
【請求項5】
前記トランザクションデータに基づいて署名対象となるデータを決定するステップは、
前記トランザクションデータに基づいてトランザクションの実行をシミュレーションすることで、トランザクションシミュレーション結果を取得するステップと、
前記トランザクションシミュレーション結果に基づいて前記トランザクションリクエストに対応する投票結果を決定し、前記投票結果を前記署名対象となるデータとするステップと、を含む
請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記参照署名データは鍵ペアにおける秘密鍵を用いて前記トランザクションデータに署名することで得られるものであり、前記トランザクションデータ及び前記参照署名データを検証するステップは、
前記鍵ペアにおける公開鍵を取得し、前記公開鍵を用いて前記参照署名データに対して署名解除を行って署名解除データを取得するステップと、
前記署名解除データが前記トランザクションデータにマッチングすると、前記トランザクションデータが実行可能性を有するかどうかを検出するステップと、
前記トランザクションデータが実行可能性を有すると、前記トランザクションデータ及び前記参照署名データの検証が成功したと決定するステップと、を含む
請求項1~4のいずれか1項に記載の方法。
【請求項7】
ブロックチェーンネットワークに基づくデータ処理方法であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記管理ネットワークにおける前記管理機器が実行する方法であって、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するステップと、
前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するステップと、
前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するステップと、
前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信し、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するステップと、を含む
方法。
【請求項8】
前記管理ネットワークにおけるエンドースメントデバイスは、前記ブロックチェーンネットワークにおける少なくとも一部のノードデバイスの署名鍵を記憶している
請求項7に記載の方法。
【請求項9】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける一部のノードデバイスの署名鍵を記憶しており、各エンドースメントデバイスは異なるノードデバイスの署名鍵をそれぞれ記憶しており、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから前記ターゲットエンドースメントデバイスを決定するステップは、
エンドースメントポリシーの指示に従って、前記ブロックチェーンネットワークに含まれる複数のノードデバイスから、ターゲットノードデバイスを決定するステップと、
前記管理ネットワークに含まれる各エンドースメントデバイスから、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを決定し、前記ターゲットノードデバイスの署名鍵が記憶されたエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するステップと、を含む
請求項8に記載の方法。
【請求項10】
前記管理ネットワークにおける各エンドースメントデバイスは前記ブロックチェーンネットワークにおける各ノードデバイスの署名鍵を記憶しており、前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから前記ターゲットエンドースメントデバイスを決定するステップは、
前記管理ネットワークにおける各エンドースメントデバイスの現在の状態パラメータを取得するステップと、
前記各エンドースメントデバイスの現在の状態パラメータに基づいて、前記管理ネットワークに含まれる各エンドースメントデバイスから前記トランザクションリクエストに応答するエンドースメントデバイスを決定し、前記トランザクションリクエストに応答するエンドースメントデバイスを前記ターゲットエンドースメントデバイスとして決定するステップと、を含む
請求項8に記載の方法。
【請求項11】
前記ブロックチェーンネットワークにおけるノードデバイスが、前記トランザクションブロックにおけるデータの検証が成功し、且つ前記トランザクションブロックにおけるデータがエンドースメントポリシーを満たすと決定した場合、前記トランザクションデータに基づいてトランザクションを実行するように、前記トランザクションブロックを前記ブロックチェーンネットワークにおけるノードデバイスにブロードキャストするステップをさらに含む
請求項7~10のいずれか1項に記載の方法。
【請求項12】
ブロックチェーンネットワークに基づくデータ処理装置であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器、及び1つ又は複数のエンドースメントデバイスを含み、前記エンドースメントデバイスは前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、
前記トランザクションデータ及び前記参照署名データを検証するための処理ユニットと、
前記管理機器がエンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように、前記エンドースメント署名データを前記管理機器に送信するための送受信ユニットと、を含み、
前記処理ユニットは、さらに、前記トランザクションデータ及び前記参照署名データの検証が成功した場合、ターゲットノードデバイスからマッチングノードデバイスを決定し、前記マッチングノードデバイスの署名鍵を取得するように構成され、前記ターゲットノードデバイスはエンドースメントポリシーの指示に従って前記ブロックチェーンネットワークに含まれる複数のノードデバイスから決定されるものであり、
前記処理ユニットは、さらに、前記トランザクションデータに基づいて署名対象となるデータを決定し、前記マッチングノードデバイスの署名鍵を用いて、前記署名対象となるデータに対してエンドースメント署名を行うことで、エンドースメント署名データを取得するように構成される
装置。
【請求項13】
ブロックチェーンネットワークに基づくデータ処理装置であって、前記ブロックチェーンネットワークはデータ処理ネットワークに含まれ、前記ブロックチェーンネットワークは複数のノードデバイスを含み、前記データ処理ネットワークは管理ネットワークをさらに含み、前記管理ネットワークは管理機器及び1つ又は複数のエンドースメントデバイスを含み、前記管理機器は前記管理ネットワークに配置され、
トランザクションデータ及び前記トランザクションデータに対応する参照署名データを有するトランザクションリクエストを取得するための取得ユニットと、
前記管理ネットワークに含まれる1つ又は複数のエンドースメントデバイスから、ターゲットエンドースメントデバイスを決定するための処理ユニットと、
前記ターゲットエンドースメントデバイスが前記トランザクションデータ及び前記参照署名データに基づいてエンドースメント署名データを取得するように、前記トランザクションリクエストを前記ターゲットエンドースメントデバイスに送信するための送受信ユニットと、を含み、
前記送受信ユニットは、さらに、前記ターゲットエンドースメントデバイスによって送信された前記エンドースメント署名データを受信するように構成され、
前記処理ユニットは、さらに、前記エンドースメント署名データ及び前記トランザクションデータに基づいてトランザクションブロックを生成するように構成される
装置。
【請求項14】
コンピュータ機器であって、互いに接続されるプロセッサー、通信インターフェース及びメモリを含み、前記メモリは実行可能なプログラムコードを記憶しており、前記プロセッサーは、前記実行可能なプログラムコードを呼び出すことで、請求項1~6のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法、又は、請求項7~11のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法を実行するように構成される
コンピュータ機器。
【請求項15】
コンピュータで実行される場合、請求項1~6のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法、又は、請求項7~11のいずれか1項に記載のブロックチェーンネットワークに基づくデータ処理方法をコンピュータに実現させ
るコンピュータプログラ
ム。
【国際調査報告】