(57)【要約】  本願の1つまたは複数の実施形態がクロスブロックチェーンインタラクションのために提供される。第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージが、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用して、かつブロックチェーンノードに対応する購読側クライアントを使用することによって第1のブロックチェーンのブロックチェーンノードによって決定され、購読側クライアントが、複数のブロックチェーンノードに一対一対応である複数のメッセージキューを維持し、メッセージキューを使用することによって対応するブロックチェーンノードへのマッピングを実行するように構成される。第2のコントラクトによって生成されたメッセージがブロックチェーンノードのサブスクリプション条件を満たすとき、第1のブロックチェーンの第1のコントラクトが、対応するコントラクト動作をトリガするためにブロックチェーンノードによって呼び出される。
2021504847.tif 000002
【特許請求の範囲】
【請求項１】
クロスブロックチェーンインタラクションのための方法であって、
第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって、かつブロックチェーンノードに対応する購読側クライアントを使用することによって、前記第2のブロックチェーンの第2のコントラクトによって生成されたメッセージを、前記第1のブロックチェーンの前記ブロックチェーンノードによって決定するステップであって、前記購読側クライアントが、メッセージキューを使用して対応するブロックチェーンノードへのマッピングを実行するために、複数のブロックチェーンノードに一対一対応である複数のメッセージキューを維持するように構成される、ステップ(102)と、
前記第2のコントラクトによって生成された前記メッセージが前記ブロックチェーンノードのサブスクリプション条件を満たすとき、対応するコントラクト動作をトリガするために、前記第1のブロックチェーンの第1のコントラクトを、前記ブロックチェーンノードによって呼び出すステップ(104)と
を含む、方法。
【請求項２】
前記メッセージを決定するステップが、
前記クロスブロックチェーンインタラクション端へのサブスクリプション要求を、前記ブロックチェーンノードによって開始するステップであって、
前記サブスクリプション要求が、前記クロスブロックチェーンインタラクション端に前記サブスクリプション条件を示すために使用され、その結果、前記クロスブロックチェーンインタラクション端が、前記サブスクリプション条件を満たし、前記第2のコントラクトによって生成された前記メッセージを取得し、前記ブロックチェーンノードに対応する前記購読側クライアントによって維持されたメッセージキューに前記メッセージを追加する、ステップと、
前記メッセージキューが前記サブスクリプション条件を満たす前記メッセージを含むとき、前記第2のコントラクトが前記サブスクリプション条件を満たす前記メッセージを生成したと、前記ブロックチェーンノードによって決定するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記第1のブロックチェーンの前記第1のコントラクトを呼び出すように前記ブロックチェーンノードをトリガする前記メッセージを、前記購読側クライアントから受信するステップ(204)
をさらに含む請求項1または2に記載の方法。
【請求項４】
前記クロスブロックチェーンインタラクション端への前記メッセージキューのキューステータスを、前記購読側クライアントから受信するステップであって、その結果、前記メッセージキューが前記キューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含まないと決定すると、前記クロスブロックチェーンインタラクション端が、前記サブスクリプション条件を満たし、前記第2のブロックチェーンの前記第2のコントラクトによって生成されたメッセージを取得する、ステップ
をさらに含む、請求項3に記載の方法。
【請求項５】
前記購読側クライアントが前記クロスブロックチェーンインタラクション端によって開始されたステータスクエリ要求を受信し、前記ステータスクエリ要求に応答して前記クロスブロックチェーンインタラクション端に前記キューステータスを返す、請求項4に記載の方法。
【請求項６】
前記メッセージを受信するステップが、
前記メッセージキューに前記メッセージを、前記購読側クライアントによって追加するステップと、
前記第1のブロックチェーンの前記メッセージの到着イベントを、前記購読側クライアントによってトリガし、前記メッセージキューを消費するように前記ブロックチェーンノードをトリガするステップと
を含む、請求項4に記載の方法。
【請求項７】
前記購読側クライアントが、
事前に固定された検証ルートを使用して前記クロスブロックチェーンインタラクション端によって提供された前記メッセージについて検証を実行し、前記クロスブロックチェーンインタラクション端によって提供された前記メッセージが前記第2のブロックチェーンからのものであると前記購読側クライアントが決定すると、前記ブロックチェーンノードに前記メッセージを提供すること
を含む動作を実行するように構成される、請求項1〜6にいずれか一項に記載の方法。
【請求項８】
前記検証を実行することが、
前記メッセージがオラクルクライアントの署名を含むか否かを、前記購読側クライアントによって判定し、前記署名が前記購読側クライアントによって検証された後、前記メッセージが実際に前記第2のブロックチェーンに存在することを前記オラクルクライアントが検証したと決定するステップ、または
前記メッセージが実際に前記第2のブロックチェーンに存在するか否かを、前記購読側クライアントによってアクティブに検証するステップ
を含む、請求項7に記載の方法。
【請求項９】
前記サブスクリプション条件を満たすメッセージを取得するステップが、
発行側クライアントを使用することによって、ブリッジングを介して前記第2のブロックチェーンの所定のストレージ領域に、前記クロスブロックチェーンインタラクション端によって接続するステップであって、前記所定のストレージ領域が前記第2のコントラクトによって生成されたメッセージを格納するために使用される、ステップと、
前記所定のストレージ領域が、前記発行側クライアントによって提供されたクエリインターフェースを使用することによって、前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって問い合わせるステップと、
前記発行側クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、その結果、前記発行側クライアントが、前記所定のストレージ領域から前記サブスクリプション条件を満たすメッセージを取得し、前記メッセージを前記クロスブロックチェーンインタラクション端に返す、ステップと
を含む、請求項4〜8のいずれか一項に記載の方法。
【請求項１０】
前記所定のストレージ領域が、前記第2のブロックチェーンの第3のコントラクトおよび前記第2のブロックチェーンの所定のブロックチェーンデータ構造のうちの少なくとも一つを含む、請求項9に記載の方法。
【請求項１１】
請求項1〜10のいずれか一項に記載の方法を実行するように構成された複数のモジュールを備える、クロスブロックチェーンインタラクションのための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、その全体が参照により本明細書に組み込まれる、2018年4月3日に出願された中国特許出願201810290446.0の優先権を主張する。
【０００２】
本願の1つまたは複数の実施形態は、ブロックチェーン技術の分野に関し、特に、クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイスに関する。
【背景技術】
【０００３】
ブロックチェーン技術(分散台帳技術とも呼ばれる)は、非集中型分散データベース技術であり、分散化、開放性と透明性、耐タンパー性、高信頼性などを特徴とする。したがって、ブロックチェーン技術は、高いデータ信頼性を必要とする多くの適応シナリオに適用できる。
【発明の概要】
【課題を解決するための手段】
【０００４】
この観点で、本願の1つまたは複数の実施形態は、クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイスを提供する。
【０００５】
前述の目的を達成するために、本願の1つまたは複数の実施形態は、以下の技術的解決策を提供する。
【０００６】
本願の1つまたは複数の実施形態の第1の態様では、クロスブロックチェーン・インタラクション・システムが提供され、クロスブロックチェーン・インタラクション・システムは、第1のブロックチェーンおよび第2のブロックチェーンと、購読側クライアントと、発行側クライアントと、クロスブロックチェーンインタラクション端とを備え、購読側クライアントは、第1のブロックチェーンのブロックチェーンノードに対応し、ブロックチェーンノードに対応するメッセージキューを維持するように構成され、メッセージキューはブロックチェーンノードが購読するメッセージを含み、発行側クライアントは、第2のブロックチェーンに対応し、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成され、クロスブロックチェーンインタラクション端は、ブロックチェーンノードのサブスクリプション条件を取得し、発行側クライアントにサブスクリプション条件を満たすメッセージを要求し、メッセージキューがサブスクリプション条件を満たすメッセージを含まないときメッセージを購読側クライアントに送信してメッセージキューへのメッセージを更新し、メッセージキューがサブスクリプション条件を満たすメッセージを含むと決定すると、ブロックチェーンノードは、対応するコントラクト動作をトリガするために第1のブロックチェーンの第1のスマートコントラクトを呼び出す。
【０００７】
本願の1つまたは複数の実施形態の第2の態様では、クロスブロックチェーンインタラクション方法が提供され、クロスブロックチェーンインタラクション方法は、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを、第1のブロックチェーンのブロックチェーンノードによって決定するステップと、第2のスマートコントラクトによって生成されたメッセージがブロックチェーンノードのサブスクリプション条件を満たすとき、対応するコントラクト動作をトリガするために、第1のブロックチェーンの第1のスマートコントラクトをブロックチェーンノードによって呼び出すステップとを含む。
【０００８】
本願の1つまたは複数の実施形態の第3の態様では、クロスブロックチェーンインタラクション方法が提供され、クロスブロックチェーンインタラクション方法は、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを、購読側クライアントによって取得するステップであって、メッセージが、第2のブロックチェーンから第1のブロックチェーンおよび第2のブロックチェーンの間のクロスブロックチェーンインタラクション端によって取得され、メッセージが、クロスブロックチェーンインタラクション端に第1のブロックチェーンのブロックチェーンノードによって提供されたサブスクリプション条件を満たす、ステップと、メッセージをブロックチェーンノードに購読側クライアントによって提供して、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするステップとを含む。
【０００９】
本願の1つまたは複数の実施形態の第4の態様では、クロスブロックチェーンインタラクション方法が提供され、クロスブロックチェーンインタラクション方法は、第1のブロックチェーンのブロックチェーンノードによって開始されたサブスクリプション要求をクロスブロックチェーンインタラクション端によって取得するステップであって、サブスクリプション要求がサブスクリプション条件を含む、ステップと、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージをクロスブロックチェーンインタラクション端によって取得するステップと、メッセージをブロックチェーンノードにクロスブロックチェーンインタラクション端によって提供するステップであって、その結果ブロックチェーンノードがメッセージに基づいて第1のブロックチェーンの第1のスマートコントラクトを呼び出すステップとを含む。
【００１０】
本願の1つまたは複数の実施形態の第5の態様では、クロスブロックチェーンインタラクション方法が提供され、クロスブロックチェーンインタラクション方法は、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを、発行側クライアントによって取得するステップと、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって第1のブロックチェーンのブロックチェーンノードにメッセージを発行側クライアントによって提供して、第1のブロックチェーンの第1のスマートコントラクトを呼び出すように、ブロックチェーンノードをトリガするステップとを含む。
【００１１】
本願の1つまたは複数の実施形態の第6の態様では、クロスブロックチェーンインタラクション装置が提供され、クロスブロックチェーンインタラクション装置は、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを決定するように構成された決定ユニットと、第2のスマートコントラクトによって生成されたメッセージがブロックチェーンノードのサブスクリプション条件を満たすとき、対応するコントラクト動作をトリガするために第1のブロックチェーンの第1のスマートコントラクトを呼び出すように構成された呼び出しユニットとを備える。
【００１２】
本願の1つまたは複数の実施形態の第7の態様では、クロスブロックチェーンインタラクション装置が提供され、クロスブロックチェーンインタラクション装置は、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成された獲得ユニットであって、メッセージが第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端によって第2のブロックチェーンから取得され、メッセージがクロスブロックチェーンインタラクション端に第1のブロックチェーンのブロックチェーンノードによって提供されたサブスクリプション条件を満たす、獲得ユニットと、メッセージをブロックチェーンノードに提供して、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするように構成された提供ユニットとを備える。
【００１３】
本願の1つまたは複数の実施形態の第8の態様では、クロスブロックチェーンインタラクション装置が提供され、クロスブロックチェーンインタラクション装置は、第1のブロックチェーンのブロックチェーンノードによって開始されたサブスクリプション要求を取得するように構成された要求獲得ユニットであって、サブスクリプション要求がサブスクリプション条件を含む、要求獲得ユニットと、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成されたメッセージ獲得ユニットと、メッセージをブロックチェーンノードに提供するように構成された提供ユニットとを備え、ブロックチェーンノードがメッセージに基づいて第1のブロックチェーンの第1のスマートコントラクトを呼び出す。
【００１４】
本願の1つまたは複数の実施形態の第9の態様では、クロスブロックチェーンインタラクション装置が提供され、クロスブロックチェーンインタラクション装置は、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成された獲得ユニットと、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによってブロックチェーンノードにメッセージを提供して、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするように構成された提供ユニットとを備える。
【００１５】
本願の1つまたは複数の実施形態の第10の態様では、電子デバイスが提供され、電子デバイスは、プロセッサと、プロセッサによって実行され得る命令を格納するように構成されたメモリとを備え、プロセッサが前述の実施形態のいずれか一つによる方法を実施するように構成される。
【００１６】
本願の1つまたは複数の実施形態の第11の態様では、クロスブロックチェーン・インタラクション・システムが提供され、クロスブロックチェーン・インタラクション・システムは、第1のブロックチェーンおよび第2のブロックチェーンと、購読側クライアントと、発行側クライアントと、クロスブロックチェーンインタラクション端とを備え、購読側クライアントは、第1のブロックチェーンのブロックチェーンノードに対応し、ブロックチェーンノードに対応するメッセージキューを維持するように構成され、メッセージキューはブロックチェーンノードが購読するというメッセージを含み、発行側クライアントは、第2のブロックチェーンに対応し、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成され、クロスブロックチェーンインタラクション端は、ブロックチェーンノードのサブスクリプション条件を取得し、発行側クライアントにサブスクリプション条件を満たすメッセージを要求し、メッセージキューがサブスクリプション条件を満たすメッセージを含まないときメッセージを購読側クライアントに送信してメッセージキューへのメッセージを更新し、ブロックチェーンノードは対応するコントラクト動作をトリガするために第1のブロックチェーンの第1のスマートコントラクトを呼び出し、サブスクリプション条件はコントラクト動作に関連し、その結果、メッセージキューがサブスクリプション条件を満たすメッセージを含むと決定すると、ブロックチェーンノードはコントラクト動作を完了する。
【図面の簡単な説明】
【００１７】
【図１】例示的な実施形態によるクロスブロックチェーンインタラクション方法を示すフローチャートである。
【図２】例示的な実施形態による別のクロスブロックチェーンインタラクション方法を示すフローチャートである。
【図３】例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション方法を示すフローチャートである。
【図４】例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション方法を示すフローチャートである。
【図５】例示的な実施形態によるクロスブロックチェーン・インタラクション・システムを示すアーキテクチャ図である。
【図６】例示的な実施形態による別のクロスブロックチェーン・インタラクション・システムを示すアーキテクチャ図である。
【図７】例示的な実施形態によるクロスブロックチェーン譲渡関連システムを示す構造図である。
【図８】例示的な実施形態によるクロスブロックチェーンメッセージ交換プロセスを示す概略図である。
【図９】例示的な実施形態によるデバイスを示す構造図である。
【図１０】例示的な実施形態によるクロスブロックチェーンインタラクション装置を示すブロック図である。
【図１１】例示的な実施形態による別のクロスブロックチェーンインタラクション装置を示すブロック図である。
【図１２】例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション装置を示すブロック図である。
【図１３】例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション装置を示すブロック図である。
【図１４】例示的な実施形態によるクロスブロックチェーンインタラクションのデータ送信を向上させるコンピュータ実施方法の例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
例示的な実施形態が以降に詳細に説明され、例示的な実施形態の例が添付の図面に提示される。以降の説明は、添付の図面に関連するとき、指定された場合を除き、異なる添付の図面の同じ番号は同じまたは類似の要素を表す。以降に説明される実施形態は、本願の1つまたは複数の実施形態に一致する全ての実施形態を表しているわけではない。反対に、実施形態は、添付の特許請求の範囲に詳細に記載され、本願の1つまたは複数の実施形態のいくつかの態様に一致する装置および方法の単なる例である。
【００１９】
他の実施形態では、対応する方法のステップが本願に示され説明される順序で実行される必要がないことに留意することは意義がある。いくつかの他の実施形態では、方法は、本願に説明されるステップより多くのまたは少ないステップを含むことができる。加えて、本願に説明される単一のステップは、他の実施形態では複数のステップに分解されることができ、本願に説明される複数のステップは、他の実施形態では単一のステップに組み合わせされ得る。
【００２０】
図1は、例示的な実施形態によるクロスブロックチェーンインタラクション方法を示すフローチャートである。図1に示すように、方法は第1のブロックチェーンのブロックチェーンノードに適用され、以下のステップを含むことができる。
【００２１】
ステップ102：第1のブロックチェーンのブロックチェーンノードは、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを決定する。
【００２２】
実施形態では、クロスブロックチェーンインタラクション端は、第1のブロックチェーンおよび第2のブロックチェーンがクロスブロックチェーンインタラクション端に基づいてメッセージを交換できるように、第1のブロックチェーンと第2のブロックチェーンの間に配置され、それにより、複数のブロックチェーン間のクロスブロックチェーンインタラクションを実装する。
【００２３】
実施形態では、第1のブロックチェーンは、クロスブロックチェーンインタラクションのインタラクションメッセージを受信する関係者を表し、第2のブロックチェーンはクロスブロックチェーンインタラクションのインタラクションメッセージを提供する関係者を表す。言い換えると、「第1のブロックチェーン」および「第2のブロックチェーン」は、第1のブロックチェーンまたは第2のブロックチェーンに対して一定のブロックチェーンを制限する代わりに、対応するブロックチェーンがクロスブロックチェーンインタラクションにおいて実行されるルールに依存する。言い換えると、ブロックチェーンがクロスブロックチェーンインタラクションの別のブロックチェーンからインタラクションメッセージを受信すると、そのブロックチェーンはこのプロセスでの「第1のブロックチェーン」であり、ブロックチェーンがクロスブロックチェーンインタラクションの別のブロックチェーンにインタラクションメッセージを提供すると、そのブロックチェーンはこのプロセスでの「第2のブロックチェーン」である。
【００２４】
実施形態では、ブロックチェーンノードによって取得されるメッセージは、ブロックチェーンノードのサブスクリプション条件を満たし、第2のブロックチェーンに第2のスマートコントラクトによって生成されるメッセージを含む。例えば、ユーザAは、第2のブロックチェーンのユーザBに資産1を譲渡する必要があり、ユーザBは第1のブロックチェーンのユーザAに資産2を譲渡する必要がある。この場合、ユーザAはまず、第2のブロックチェーンの第2のスマートコントラクトを呼び出すことによってユーザBに資産1を譲渡し、第1のブロックチェーンがこの動作に対応する動作完了メッセージを受信した後、ユーザBは第1のブロックチェーンの第1のスマートコントラクトを呼び出すことによってユーザAに資産2を譲渡する。ユーザAとユーザBの間の前述の資産譲渡プロセスでは、第1のブロックチェーンのブロックチェーンノードのサブスクリプション条件は、「ユーザAがユーザBに資産1を譲渡したことを示すメッセージを受信」とされ得る。したがって、ブロックチェーンノードは、第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするために、第2のブロックチェーン内の第2のスマートコントラクトによって生成される「ユーザAがユーザBに資産1を譲渡した」というメッセージを取得する必要がある。したがって、ユーザBはユーザAに資産2を譲渡できる。
【００２５】
実施形態では、ブロックチェーンノードは、クロスブロックチェーンインタラクション端へのサブスクリプション要求を開始でき、サブスクリプション要求は、クロスブロックチェーンインタラクション端にサブスクリプション条件を示すために使用され、クロスブロックチェーンインタラクション端は、サブスクリプション条件を満たし、第2のスマートコントラクトによって生成されたメッセージを取得し、ブロックチェーンノードに対応する購読側クライアントによって維持されるメッセージキューにメッセージを追加する。次いで、メッセージキューがサブスクリプション条件を満たすメッセージを含むと、ブロックチェーンノードは、第2のスマートコントラクトがサブスクリプション条件を満たすメッセージを生成したと決定する。
【００２６】
ステップ104：第2のスマートコントラクトによって生成されたメッセージがブロックチェーンノードのサブスクリプション条件を満たすと、ブロックチェーンノードは、対応するコントラクト動作をトリガするために第1のブロックチェーンの第1のスマートコントラクトを呼び出す。
【００２７】
実施形態では、クロスブロックチェーンインタラクション端は第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得し、メッセージに基づいて第1のスマートコントラクトを呼び出すように第1のブロックチェーンのブロックチェーンノードをトリガし、その結果、第1のブロックチェーンおよび第2のブロックチェーンはメッセージの信頼できるクロスブロックチェーンインタラクションを実装できる。したがって、第2のスマートコントラクトによって生成されたメッセージは第1のスマートコントラクトに非同期に送信され、第1のスマートコントラクトを呼び出すことを自動的にトリガし、対応するコントラクト動作が時間内に効果的に実行され得ることを保証する。
【００２８】
図2は、例示的な実施形態による別のクロスブロックチェーンインタラクション方法を示すフローチャートである。図2に示すように、方法は購読側クライアントに適用され、以下のステップを含むことができる。
【００２９】
ステップ202；購読側クライアントは、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得し、メッセージは、第2のブロックチェーンから、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端によって取得され、メッセージは、クロスブロックチェーンインタラクション端に第1のブロックチェーンのブロックチェーンノードによって提供されるサブスクリプション条件を満たす。
【００３０】
実施形態では、購読側クライアントは、ブロックチェーンノードに構成され得、言い換えると、購読側クライアントは、ブロックチェーンノードに実装あるいは展開されるメッセージサブスクリプション機能として理解され得る。他の実施形態では、購読側クライアントは、第1のブロックチェーンの外部のノードに構成され得る。実施形態は、本願では限定されない。
【００３１】
ステップ204：購読側クライアントは、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするために、ブロックチェーンノードにメッセージを提供する。
【００３２】
実施形態では、購読側クライアントはブロックチェーンノードに対応するメッセージキューを維持し、メッセージキューは、ブロックチェーンノードが購読するメッセージを含み、言い換えると、購読側クライアントは、メッセージキューにブロックチェーンノードによって提供されるサブスクリプション条件を満たすメッセージを追加し、その結果ブロックチェーンノードはメッセージキューに含まれるメッセージを消費できる。
【００３３】
実施形態では、クロスブロックチェーンインタラクション端が購読側クライアントに基づいて対応するブロックチェーンノードへのマッピングを実行でき、購読側クライアントは、ブロックチェーンノードとの一対一対応であり、正確なメッセージ転送を保証する。他の実施形態では、一つの購読側クライアントが複数のブロックチェーンノードに対応する。例えば、購読側クライアントは、メッセージキューを使用することによって対応するブロックチェーンノードへのマッピングを実行するために、複数のブロックチェーンノードとの一対一対応である複数のメッセージキューを維持できる。
【００３４】
実施形態では、購読側クライアントは、クロスブロックチェーンインタラクション端にメッセージキューのキューステータスを提供でき、キューステータスはメッセージキューに含まれるメッセージを示す。対応して、メッセージキューがサブスクリプション条件を満たすメッセージを含むことをキューステータスが示す場合、クロスブロックチェーンインタラクション端は再度メッセージを取得する必要がない。メッセージキューがサブスクリプション条件を満たすメッセージを含まないことをキューステータスが示す場合、クロスブロックチェーンインタラクション端は、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得でき、メッセージキューへのメッセージを更新する。
【００３５】
実施形態では、購読側クライアントは、クロスブロックチェーンインタラクション端によって開始されたステータス問い合わせ要求を受信でき、ステータス問い合わせ要求に応答してクロスブロックチェーンインタラクション端にキューステータスを返す。言い換えると、メッセージキューとメッセージキューのキューステータスの両方は、クロスブロックチェーンインタラクション端の代わりにブロックチェーンノードに対応する購読側クライアントによって維持され、クロスブロックチェーンインタラクション端の関係者が実行する悪意のある行動を減らし、メッセージ転送の信頼性を向上させる。
【００３６】
実施形態では、購読側クライアントは、メッセージキューにメッセージを追加し、購読側クライアントは、第1のブロックチェーンのメッセージの到着イベントをトリガでき、メッセージキューを消費するようにブロックチェーンノードをトリガする。この場合メッセージキューが、サブスクリプション条件を満たし、第2のスマートコントラクトによって生成されたメッセージを含むと決定すると、ブロックチェーンノードは第1のスマートコントラクトを呼び出すようにトリガされ得る。
【００３７】
実施形態では、購読側クライアントは事前に固定された検証ルートを使用して、クロスブロックチェーンインタラクション端によって提供されたメッセージについて検証を実行でき、メッセージが検証された後、ブロックチェーンノードにメッセージを提供する。ある状況では、購読側クライアントは、メッセージが実際に第2のブロックチェーンに存在するか否かをアクティブに検証できる。例えば、SPV(simplified payment verification)クライアントは、購読側クライアントに構成され得、SPVクライアントは、第2のブロックチェーンに対応する簡素化されたブロックチェーン(各ブロックのヘッダのみを含む)を維持し、検証ルートは簡素化されたブロックチェーンを含むことができる。したがって、メッセージが実際に第2のブロックチェーンに存在するか否かを、メッセージに基づいて判定できる。別の状況では、購読側クライアントと異なる所定のオラクルクライアントは、メッセージが実際に第2のブロックチェーンに存在するか否かを検証し、購読側クライアントはオラクルクライアントに絶対的信頼を有する。この場合、メッセージが実際に第2のブロックチェーンに存在すると決定すると、オラクルクライアントは、オラクルクライアントの署名をメッセージに追加できる。検証ルートが署名に対する検証情報を含むことができるので、署名が実際にオラクルクライアントからのものであると検証されると、購読側クライアントは、メッセージが実際に第2のブロックチェーンに存在するとオラクルクライアントが検証したという決定ができる。メッセージの署名が検証されない場合、購読側クライアントは、メッセージが実際に第2のブロックチェーンに存在しないと考え、したがって、そのメッセージを破棄する。確かに、購読側クライアントは、別の方法でメッセージについての検証を実行できる。実施形態は、本願では限定されない。
【００３８】
実施形態では、対応するコントラクト動作は、第1のスマートコントラクトが呼び出されるときトリガされ得る。コントラクト動作の実行プロセスは、前述のメッセージと独立でき、言い換えると、メッセージは単に、第1のスマートコントラクトを呼び出すことをトリガするために使用される。あるいは、前述のメッセージは、コントラクト動作の実行プロセスに適用されることができ、例えば、メッセージは、コントラクト動作の入力情報として使用され、したがってコントラクト動作の実行プロセスに関係する。
【００３９】
図3は、例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション方法を示すフローチャートである。図3に示すように、方法はクロスブロックチェーンインタラクション端に適用され、以下のステップを含むことができる。
【００４０】
ステップ302：クロスブロックチェーンインタラクション端は、第1のブロックチェーンのブロックチェーンノードによって開始されるサブスクリプション要求を取得し、サブスクリプション要求はサブスクリプション条件を含む。
【００４１】
実施形態では、クロスブロックチェーンインタラクション端はブロックチェーンノードに対応する購読側クライアントへのステータス問い合わせ要求を開始でき、購読側クライアントはブロックチェーンノードに対応するメッセージキューを維持し、メッセージキューはブロックチェーンノードが購読するメッセージを含む。次いで、クロスブロックチェーンインタラクション端は購読側クライアントによって返されるメッセージキューのキューステータスを受信し、メッセージキューがキューステータスに基づいてサブスクリプション条件を満たすメッセージを含まないと決定すると、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得する。確かに、メッセージキューがサブスクリプション条件を満たすメッセージを含むことをキューステータスが示す場合、クロスブロックチェーンインタラクション端は再度メッセージを取得する必要がない。言い換えると、メッセージキューとメッセージキューのキューステータスの両方は、クロスブロックチェーンインタラクション端の代わりにブロックチェーンノードに対応する購読側クライアントによって維持され、クロスブロックチェーンインタラクション端の関係者が実行する悪意のある行動を減らし、メッセージ転送の信頼性を向上させる。
【００４２】
ステップ304：クロスブロックチェーンインタラクション端はサブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得する。
【００４３】
実施形態では、クロスブロックチェーンインタラクション端は発行側クライアントを使用することによってブリッジングを介して第2のブロックチェーンの所定のストレージ領域に接続され得る(発行側クライアントはブリッジングを介してクロスブロックチェーンインタラクション端と所定のストレージ領域を接続するために使用される)。所定のストレージ領域は、第2のスマートコントラクトによって生成されたメッセージを格納するために使用される。次いで、クロスブロックチェーンインタラクション端は、発行側クライアントによって提供されるクエリインターフェースを使用することによって、所定のストレージ領域がサブスクリプション条件を満たすメッセージを含むか否かを問い合わせる。クロスブロックチェーンインタラクション端は、発行側クライアントへのメッセージ獲得要求を開始でき、発行側クライアントは、所定のストレージ領域からサブスクリプション条件を満たすメッセージを取得し、クロスブロックチェーンインタラクション端にそのメッセージを返す。
【００４４】
実施形態では、発行側クライアントは、ブリッジとして機能し、クロスブロックチェーンインタラクション端は単に、発行側クライアントがブリッジを介して所定のストレージ領域にどのように接続されているか、発行側クライアントが関連するメッセージをどのように取得するかなどを知ることなく、発行側クライアントへの接続を実装する必要があり、それにより、クロスブロックチェーンインタラクション端の構成を簡素化し、システムの複雑性を減らす。
【００４５】
実施形態では、所定のストレージ領域は、第2のブロックチェーンの第3のスマートコントラクトおよび第2のブロックチェーンの所定のブロックチェーンデータ構造の少なくとも1つを含むことができる。所定のストレージ領域が第2のブロックチェーンの第3のスマートコントラクトを含む実施形態では、第3のスマートコントラクトは第2のスマートコントラクトによって生成されたメッセージを格納するために専用で使用され得る。所定のストレージ領域が所定のブロックチェーンデータ構造を含む別の実施形態では、発行側クライアントが所定のブロックチェーンデータ構造を知っているので、発行側クライアントは、第2のブロックチェーンのブロックチェーン台帳に含まれる所定のブロックチェーンデータ構造を取得することによってブリッジングを介して所定のストレージ領域に正確に接続され得る。確かに、所定のストレージ領域はさらに別の形態を含むことができるが、その形態は本願では限定されない。
【００４６】
ステップ306：クロスブロックチェーンインタラクション端は、ブロックチェーンノードにメッセージを提供し、ブロックチェーンノードはメッセージに基づいて第1のブロックチェーンの第1のスマートコントラクトを呼び出す。
【００４７】
図4は、例示的な実施形態によるさらに別のクロスブロックチェーンインタラクション方法を示すフローチャートである。図4に示すように、方法は発行側クライアントに適用され、以下のステップを含むことができる。
【００４８】
ステップ402：発行側クライアントは第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得する。
【００４９】
実施形態では、発行側クライアントは、ブリッジングを介して第2のブロックチェーンの所定のストレージ領域に接続され、所定のストレージ領域は、第2のスマートコントラクトによって生成されたメッセージを格納するために使用され、発行側クライアントは所定のストレージ領域から第2のスマートコントラクトによって生成されたメッセージを取得できる。
【００５０】
実施形態では、所定のストレージ領域は、第2のブロックチェーンの第3のスマートコントラクトおよび第2のブロックチェーンの所定のブロックチェーンデータ構造の少なくとも1つを含むことができる。例えば、第3のスマートコントラクトは、第2のスマートコントラクトによって生成されたメッセージを格納するために専用で使用され得る。この場合、発行側クライアントは所定のブロックチェーンデータ構造を知っているので、発行側クライアントは、第2のブロックチェーンのブロックチェーン台帳に含まれる所定のブロックチェーンデータ構造を取得することによって第2のブロックチェーンに正確に接続され得る。確かに、所定のストレージ領域はさらに別の形態を含むことができるが、その形態は本願では限定されない。
【００５１】
実施形態では、所定のストレージ領域に対するクエリインターフェースは発行側クライアントのために構成される。発行側クライアントはクロスブロックチェーンインタラクション端へのクエリインターフェースを開き、クロスブロックチェーンインタラクション端はクエリインターフェースを使用することによって所定のストレージ領域にクエリを実行する。発行側クライアントは、クロスブロックチェーンインタラクション端によって開始されたメッセージ獲得要求に基づいてクロスブロックチェーンインタラクション端によって識別されるメッセージを取得でき、そのメッセージをクロスブロックチェーンインタラクション端に返すことができる。クロスブロックチェーンインタラクション端によって識別されるメッセージは、ブロックチェーンノードによって提供されたサブスクリプション条件をクロスブロックチェーンインタラクション端と一致させる。
【００５２】
ステップ404；発行側クライアントは、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって第1のブロックチェーンのブロックチェーンノードにメッセージを提供し、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガする。
【００５３】
実施形態では、発行側クライアントはクロスブロックチェーンインタラクション端によって開始されたメッセージ獲得要求を受信でき、メッセージ獲得要求はブロックチェーンノードによって提供されたサブスクリプション条件をクロスブロックチェーンインタラクション端に一致させる。次いで、発行側クライアントは、メッセージ獲得要求と一致し、第2のスマートコントラクトによって生成されたメッセージをクロスブロックチェーンインタラクション端に送信でき、クロスブロックチェーンインタラクション端はブロックチェーンノードにメッセージを提供する。
【００５４】
実施形態では、発行側クライアントは、取得したメッセージについて実行した検証の結果に基づいて、署名を検証済みメッセージに追加できる。発行側クライアントは、クロスブロックチェーンインタラクション端を使用することによってブロックチェーンノードに対応する購読側クライアントにメッセージを送信できる。メッセージキューがサブスクリプション条件を満たすメッセージを含むと決定すると、ブロックチェーンノードは第1のスマートコントラクトを呼び出す。オラクルの機能が発行側クライアントについて構成される(発行側クライアントがオラクルクライアントとして実装され得ることを意味する)ことができ、メッセージが実際に第2のブロックチェーンに存在するか否かを判定するために、発行側クライアントは取得したメッセージについて検証を実行できる。メッセージが実際に第2のブロックチェーンに存在すると決定すると、発行側クライアントは署名をメッセージに追加でき、その署名が購読側クライアントによって検証された後、購読側クライアントは、アクティブに検証を実行せずに、メッセージが実際に第2のブロックチェーンに存在すると発行側クライアントが検証されたと直接決定できる。
【００５５】
図5は、例示的な実施形態によるクロスブロックチェーン・インタラクション・システムを示すアーキテクチャ図である。図5に示すように、クロスブロックチェーン・インタラクション・システムは、第1のブロックチェーンおよび第2のブロックチェーンと、購読側クライアントと、発行側クライアントと、クロスブロックチェーンインタラクション端とを含むことができる。
【００５６】
本願では、第1のブロックチェーンはメッセージ購読者としてのブロックチェーンであり、第2のブロックチェーンはメッセージ発行者としてのブロックチェーンである。言い換えると、「第1のブロックチェーン」および「第2のブロックチェーン」は単に、第1のブロックチェーンまたは第2のブロックチェーンに対して一定のブロックチェーンを制限する代わりに、異なるブロックチェーンが実行されるルールの間で区別するために使用される。
【００５７】
購読側クライアントは第1のブロックチェーンのブロックチェーンノードに対応し、ブロックチェーンノードに対応するメッセージキューを維持するように構成され、メッセージキューはブロックチェーンノードが購読するメッセージを含む。実施形態では、購読側クライアントは、第1のブロックチェーンの外部の、デバイス、ノード、プラットフォームなどに構成され得る。別の実施形態では、購読側クライアントは、第1のブロックチェーンのブロックチェーンノードに構成され、ブロックチェーンノードが関連技術から拡張するサブスクリプション機能に等しい。
【００５８】
発行側クライアントは、第2のブロックチェーンに対応し、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成される。ブロックチェーンの分散会計機能に基づいて、第2のブロックチェーンのすべてのブロックチェーンノードは、コンセンサスを介して同じコンテンツのすべてのアカウンティングデータ、すなわちブロックチェーン台帳を維持できる。発行側クライアントは、発行され得るメッセージをブロックチェーン台帳から取得でき、クロスブロックチェーンインタラクション端はメッセージを取得する。実施形態では、発行側クライアントは、第2のブロックチェーンの外部の、デバイス、ノード、プラットフォームなどに構成され得る。別の実施形態では、発行側クライアントは第2のブロックチェーンのブロックチェーンノードに構成されることができ、ブロックチェーンノードが関連技術から拡張する発行機能に等しい。
【００５９】
クロスブロックチェーンインタラクション端は、第1のブロックチェーンのブロックチェーンノードによって開始されたサブスクリプション要求を受信でき、サブスクリプション要求はブロックチェーンノードのサブスクリプション要求を示すサブスクリプション条件を含む。クロスブロックチェーンインタラクション端は、購読側クライアントへのステータス問い合わせメッセージを開始でき、メッセージキューが、購読側クライアントによって返されたメッセージキューのキューステータスに基づいてサブスクリプション条件を満たすメッセージを含むか否かを判定できる。メッセージキューが該メッセージを含む場合、クロスブロックチェーンインタラクション端は再度メッセージを取得する必要がない。含まない場合、クロスブロックチェーンインタラクション端は発行側クライアントからサブスクリプション条件を満たすメッセージを取得する必要がある。クロスブロックチェーンインタラクション端は、発行側クライアントにサブスクリプション条件を満たすメッセージを要求し、購読側クライアントに発行側クライアントによって返されたメッセージを送信でき、その結果購読側クライアントは、消費するために、第1のブロックチェーンのブロックチェーンノードのためのメッセージキューに対するメッセージを更新する。クロスブロックチェーンインタラクション端は発行側クライアントと購読側クライアントの間でメッセージを単に転送するだけであり、メッセージを永続化する必要はない。実施形態では、第1のブロックチェーンおよび第2のブロックチェーンの外部のクロスブロックチェーンインタラクション端は、デバイス、ノード、プラットフォームなどに構成され得る。別の実施形態では、クロスブロックチェーンインタラクション端は、第1のブロックチェーンのブロックチェーンノードに構成され得、ブロックチェーンノードが関連技術から拡張するクロスブロックチェーンインタラクション機能に等しい。別の実施形態では、クロスブロックチェーンインタラクション端は、第2のブロックチェーンのブロックチェーンノードに構成され得、ブロックチェーンノードが関連技術から拡張するクロスブロックチェーンインタラクション機能に等しい。
【００６０】
ある状況では、第2のスマートコントラクトによって生成されたメッセージは非同期メッセージであってよい。第1のブロックチェーンのブロックチェーンノードは、クロスブロックチェーンインタラクション端にサブスクリプション条件を提供でき、クロスブロックチェーンインタラクション端は非同期メッセージを取得する。発行側クライアントを使用することによって非同期メッセージを取得した後、クロスブロックチェーンインタラクション端は購読側クライアントに非同期メッセージを送信でき、購読側クライアントは非同期メッセージをメッセージキューに追加する。購読側クライアントは、第1のブロックチェーンのメッセージ到達イベントをトリガでき、メッセージキューが非同期メッセージを含むと決定すると、第1のブロックチェーンのブロックチェーンノードは、第1のスマートコントラクトを呼び出すようにトリガされ得る。
【００６１】
別の状況では、第2のスマートコントラクトによって生成されたメッセージは同期メッセージであってよい。第1のブロックチェーンのブロックチェーンノードは、対応するコントラクト動作をトリガするために第1のスマートコントラクトを呼び出すことができる。コントラクト動作の実行プロセスでは、同期メッセージが入力情報として使用される必要がある。したがって、ブロックチェーンノードはクロスブロックチェーンインタラクション端にサブスクリプション条件を提供でき、クロスブロックチェーンインタラクション端は同期メッセージを取得する。発行側クライアントを使用することによって同期メッセージを取得した後、クロスブロックチェーンインタラクション端は購読側クライアントに同期メッセージを送信でき、購読側クライアントはメッセージキューに同期メッセージを追加する。購読側クライアントは、第1のブロックチェーンのメッセージの到着イベントをトリガでき、コントラクト動作がさらに実行されるようにトリガする。コントラクト動作は、メッセージの到着イベントが検出されるまで実行されることができない。
【００６２】
購読側クライアント、発行側クライアント、クロスブロックチェーンインタラクション端などに基づいて、図5に示される実施形態では、第1のブロックチェーンのブロックチェーンノードに対応するメッセージキューは、ブロックチェーンノードに対応する購読側クライアントによって維持され、ブロックチェーンノードによってメッセージキューのメッセージを消費することのステータスは、ブロックチェーンノードに維持されるが、クロスブロックチェーンインタラクション端、発行側クライアントなどはいずれも、消費ステータスを維持する必要がない。したがって、クロスブロックチェーンインタラクション端、発行側クライアントなどは、間違ったメッセージまたは無効のメッセージを購読側クライアントに提供するのを防ぐ。
【００６３】
購読側クライアントにクロスブロックチェーンインタラクション端によって提供されるメッセージは、発行側クライアントからものであり、発行側クライアントによって提供されるメッセージは、第2のブロックチェーンからのものである。発行側クライアントは、メッセージキューのキューステータスを維持せず、したがって、メッセージ内容を改ざんできない。加えて、購読側クライアントが、第2のブロックチェーンに維持されるブロックチェーン台帳に基づいてコンテンツについて検証を実行できるので、クロスブロックチェーンインタラクション端がメッセージ内容を改ざんする意味がない。したがって、メッセージ内容は信頼できる。例えば、購読側クライアントは、メッセージが実際に第2のブロックチェーンに存在するか否かを判定するために、例えば、第2のブロックチェーンに対応し、購読側クライアントによって維持されるSPVブロックチェーンを使用することによって、受信したメッセージについてアクティブに検証を実行する。別の例では、購読側クライアントは、メッセージの署名が所定のオラクルクライアントからものであるか否かを検証でき、署名が購読側クライアントによって検証された後、メッセージが実際に第2のブロックチェーンに存在すると決定できる。
【００６４】
いくつかの状況では、クロスブロックチェーンインタラクション端は、Dos攻撃を開始でき、したがって、購読側クライアントは発行側クライアントによって発行されたメッセージを取得できない。そのような状況について、図6に示すように、クロスブロックチェーンインタラクション端1、クロスブロックチェーンインタラクション端2などの複数の独立したクロスブロックチェーンインタラクション端が、購読側クライアントと発行側クライアントの間に構成されることができ、クロスブロックチェーンインタラクション端1がDos攻撃を開始したとしても、購読側クライアントはやはり、クロスブロックチェーンインタラクション端2を使用することによって発行側クライアントによって発行されたメッセージを取得できる。
【００６５】
容易に理解されるように、本願の1つまたは複数の実施形態の技術的解決策は、例としてクロスブロックチェーン譲渡関連シナリオを使用することによって説明されている。図7は、例示的な実施形態によるクロスブロックチェーン譲渡関連システムを示す構造図である。図7に示すように、ユーザAがブロックチェーン1のアカウントA1およびブロックチェーン2のアカウントA2を有し、ユーザBがブロックチェーン1のアカウントB1およびブロックチェーン2のアカウントB2を有すると仮定する。ブロックチェーン1のアカウントA1およびアカウントB1は、あるタイプの資産オブジェクト(例えば、人民元)を維持するために使用され、ブロックチェーン2のアカウントA2およびアカウントB2は、別のタイプの資産オブジェクト(例えば、証券)を維持するために使用される。この場合、ユーザAがユーザBに証券の売却しようと思うとき、次の譲渡関連ロジックを使用できる：指定された数の証券がアカウントA2からアカウントB2に譲渡され、次いで指定された額の人民元がアカウントB1からアカウントA1に譲渡される。
【００６６】
譲渡の信頼性を向上させるために、対応するスマートコントラクトがブロックチェーン1およびブロックチェーン2に個別に設定可能であり、前述の2つの譲渡プロセスは自動的に完了され、それによりユーザの手動の譲渡プロセスにより生じる意図的または意図的ではない譲渡額の誤り、遅延などを減らし、すばやく正確な譲渡プロセスを保証する。本願の技術的解決策に基づいて、クロスブロックチェーンメッセージ交換は、ブロックチェーン1とブロックチェーン2の間で実施されることができ、ブロックチェーン1はアカウントA2からアカウントB2への譲渡動作が完了したと決定した後、アカウントB1からアカウントA1への譲渡動作が完了され得る。
【００６７】
図7に示す実施形態では、ブロックチェーン1がブロックチェーンノード1、ブロックチェーンノード2、ブロックチェーンノード3などを含み、購読側クライアントがブロックチェーンノード1に構成され、購読側クライアント2がブロックチェーンノード2に構成され、購読側クライアント3がブロックチェーンノード3に構成されるなどを仮定する。購読側クライアント1〜3は、ブロックチェーンノード1〜3に必ずしも構成される必要はなく、ブロックチェーン1の外部のノードに構成され得る。実施形態は本願では限定されない。購読側クライアント1はブロックチェーンノード1に対応するメッセージキュー1を維持し、購読側クライアント2はブロックチェーンノード2に対応するメッセージキュー2を維持し、購読側クライアント3は、ブロックチェーンノード3に対応するメッセージキュー3を維持する。対応する発行側クライアントがブロックチェーン2に対して構成される。発行側クライアントはブロックチェーン2のブロックチェーンノードに構成されるか、ブロックチェーン2の外部のノードに構成され得る。実施形態は本願では限定されない。クロスブロックチェーンインタラクション端は、購読側クライアント1〜3と発行側クライアントの間に構成される。クロスブロックチェーンインタラクション端は、ブロックチェーン1のブロックチェーンノードに構成されるか、ブロックチェーン2のブロックチェーンノードに構成されるか、ブロックチェーン1およびブロックチェーン2の外部のノードに構成され得る。実施形態は本願では限定されない。
【００６８】
購読側クライアント1〜3によってそれぞれ維持されるメッセージキュー1〜3は、ブロックチェーンノード1〜3が別個に購読するメッセージを含む。購読側クライアント1〜3は、ブロックチェーンノード1〜3によってメッセージキュー1〜3のそれぞれのメッセージ消費ステータスに基づいて、メッセージキュー1〜3のキューステータスを維持できる。しかしながら、クロスブロックチェーンインタラクション端も発行側クライアントも、キューステータスを維持する必要はない。発行側クライアントは、ブロックチェーン2の発行予定のメッセージを取得でき、クロスブロックチェーンインタラクション端はキューステータスを購読側クライアント1〜3に問い合わせ、対応するメッセージを発行側クライアントに要求することができ、対応するメッセージキューに対してメッセージを更新する。以降は、クロスブロックチェーンメッセージ交換プロセスを説明する例としてブロックチェーンノード1を使用する。図8は、例示的な実施形態によるクロスブロックチェーンメッセージ交換プロセスを示す概略図である。図8に示すように、メッセージ交換プロセスは、以下のステップを含むことができる。
【００６９】
ステップ801：クロスブロックチェーンインタラクション端はキューステータスを購読側クライアント1に要求する。
【００７０】
ステップ802：クロスブロックチェーンインタラクション端は購読側クライアント1によって返されるキューステータスを受信する。
【００７１】
実施形態では、購読側クライアント1は、ブロックチェーンノード1に対応するメッセージキュー(すなわち、メッセージキュー1)を維持し、メッセージキューはブロックチェーンノード1が購読するメッセージを含み、キューステータスはブロックチェーンノード1によって各メッセージを消費することのステータスを含み、その結果、クロスブロックチェーンインタラクション端は、クロスブロックチェーンインタラクション端は消費ステータスに基づいて発行側クライアントから取得するように要求する必要のある次のメッセージを知ることができる。
【００７２】
具体的には、ブロックチェーンノード１はクロスブロックチェーンインタラクション端に対するサブスクリプション要求を開始し、サブスクリプション要求はサブスクリプション条件を含む。ユーザAとユーザBの間の譲渡トランザクションの先に説明した例では、サブスクリプション条件は、アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功して完了することであると仮定する。この場合、クロスブロックチェーンインタラクション端は、キューステータスを問い合わせることによって、購読側クライアント1によって維持されるメッセージキューがサブスクリプション条件を満たすメッセージ、すなわち、アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功したことを示すメッセージを含むか否かを判定できる。サブスクリプション条件を満たすメッセージが存在する場合、クロスブロックチェーンインタラクション端は再度メッセージを取得する必要がなく、レスポンスはサブスクリプション要求に対して成功したと決定する。サブスクリプション条件を満たすメッセージが存在しない場合、クロスブロックチェーンインタラクション端は、取得されるべき次のメッセージが、アカウントA2からアカウントB２への指定された数の証券を譲渡することのトランザクションが成功したと示すメッセージであると決定でき、次のメッセージを取得するために続くステップを実行する必要がある。
【００７３】
ステップ803：クロスブロックチェーンインタラクション端は発行側クライアントに対するメッセージ獲得要求を開始する。
【００７４】
実施形態では、ユーザAとユーザBの間の譲渡トランザクションの先に説明した例では、ブロックチェーンノード1がブロックチェーン2の次のメッセージ：アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功したことを示すメッセージを購読していると仮定する。この場合、取得されるべき次のメッセージが、キューステータスに基づいてトランザクション成功メッセージであると決定すると、クロスブロックチェーンインタラクション端は、トランザクション成功メッセージを取得するために、発行側クライアントに対する対応するメッセージ獲得要求を開始できる。
【００７５】
ステップ804：クロスブロックチェーンインタラクション端は発行側クライアントによって返されるメッセージを取得する。
【００７６】
実施形態では、発行側クライアントはメッセージ獲得要求を解析することによってクロスブロックチェーンインタラクション端によって必要とされるメッセージを決定できる。発行側クライアントがトランザクション成功メッセージを取得している場合、発行側クライアントはクロスブロックチェーンインタラクション端にトランザクション成功メッセージを直接返すことができる。発行側クライアントがトランザクション成功メッセージを取得していない場合、発行側クライアントはクロスブロックチェーンインタラクション端に獲得失敗を通知でき、その結果、発行側クライアントがトランザクション成功メッセージを取得するまで、クロスブロックチェーンインタラクション端は所定の期間に基づいて繰り返し問い合わせを開始できる。いくつかの状況では、発行側クライアントがトランザクション成功メッセージを取得していない場合、発行側クライアントがトランザクション成功メッセージを監視でき、トランザクション成功メッセージが取得されたと決定した後、クロスブロックチェーンインタラクション端にトランザクション成功メッセージをアクティブに送信できる。
【００７７】
実施形態では、アカウントA2からブロックチェーン2のアカウントB2に実行された譲渡動作は、スマートコントラクトを呼び出すことによってブロックチェーン2のブロックチェーンノードによって完了されることができ、所定のトリガ条件に基づいてスマートコントラクトによって自動的にトリガされ得る。実施形態は本願では限定されない。
【００７８】
ステップ805：クロスブロックチェーンインタラクション端は取得したメッセージを購読側クライアント1に送信する。
【００７９】
実施形態では、クロスブロックチェーンインタラクション端は購読側クライアント1と発行側クライアントの間のデータ転送機能のみを担当するが、メッセージキューまたはキューステータスを維持することなく、またデータコンテンツにフォーカスすることも、データについて永続的な処理を実行する必要もない。単純に、クロスブロックチェーンインタラクション端はデータ転送のための「パイプライン」としてのみ機能する。
【００８０】
ステップ806：購読側クライアント1がメッセージキューを維持するために、クロスブロックチェーンインタラクション端によって送信されたメッセージをメッセージキューに追加する。
【００８１】
実施形態では、実際にメッセージがブロックチェーン2からのものであり、コンテンツが信頼でき、かつ改ざんされていないことを保証するために、購読側クライアント1またはブロックチェーンノード1が受信したメッセージについて検証を実行できる。購読側クライアント1またはブロックチェーンノード1は様々な検証方法を使用できる。方法は、本願で限定されない。例えば、購読側クライアント1またはブロックチェーンノード1は、メッセージがブロックチェーン2に配置されたブロックが、最長のチェーンにあるか否かをチェックでき、ブロックに続くブロックの数を決定できる。メッセージは、メッセージが配置されるブロックが最長のチェーンにあり、ブロックに続くブロックの数が6以上であるか否かを検証される。別の例では、購読側クライアント1またはブロックチェーンノード1が、PBFTアルゴリズムに基づいて、あるいはオラクルを使用することによってメッセージについて検証を実行できる。さらに別の例では、購読側クライアント1またはブロックチェーンノード1が、ブロックチェーン2に対応する構成されたSPVブロックチェーンを使用することによってメッセージについて検証を実行できる。
【００８２】
実際、ブロックチェーンの分散台帳技術により、メッセージ内容を改ざんすることは、クロスブロックチェーンインタラクション端、発行側クライアント、および一部のブロックチェーンノードにとって意味はない。したがって、ブロックチェーン2のブロックチェーン台帳に記録されたデータは影響を受けず、購読側クライアント1またはブロックチェーンノード1が、受信したメッセージについて有効な検証を実行できることを保証する。
【００８３】
実施形態では、対応するスマートコントラクトがブロックチェーン1に事前に作成され、一端トランザクション成功メッセージが取得されると、スマートコントラクトがトリガされ、コントラクト動作の内容が、アカウントB1からアカウントA1に指定された額の人民元を譲渡することであると仮定する。この場合、ブロックチェーンノード1が購読側クライアント1によって維持されるメッセージキューからトランザクション成功メッセージを取得した後、スマートコントラクトが自動的に呼び出されることができ、対応するコントラクト動作が、アカウントB1からアカウントA1に指定された額の人民元を自動的に譲渡するように開始される。したがって、ユーザAとユーザBの間の譲渡動作は、遅延(手動動作によって引き起こされる遅延であり、データの転送および処理のための時間は含まない)なく確実に完了され得る。
【００８４】
図9は、例示的な実施形態によるデバイスを示す構造図である。図9を参照すると、ハードウェアに関して、デバイスは、プロセッサ902、内部バス904、ネットワークインターフェース906、メモリ908、および非一時的メモリ910を含み、さらにサービスによって必要とされる他のハードウェアを含むことができる。プロセッサ902は、非一時的メモリ910からメモリ908に対応するコンピュータプログラムを読み出し、次いで対応するコンピュータプログラムが、論理クロスブロックチェーンインタラクション装置を形成するように実行される。確かに、ソフトウェア実施形態に加え、本願の1つまたは複数の実施形態は、例えば、論理デバイスまたはハードウェアとソフトウェアの組み合わせなど、他の実施形態を含む。言い換えると、以降の処理手順の実行主体は、各論理ユニットに限定されず、ハードウェアでも論理デバイスでもよい。
【００８５】
実施形態では、図10を参照すると、ソフトウェア実施形態おいて、クロスブロックチェーンインタラクション装置は、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを決定するように構成された決定ユニット1001と、第2のスマートコントラクトによって生成されたメッセージがブロックチェーンノードのサブスクリプション条件を満たすとき、対応するコントラクト動作をトリガするために第1のブロックチェーンの第1のスマートコントラクトを呼び出すように構成された呼び出しユニット1002とを備える。
【００８６】
任意選択で、決定ユニット1001は、クロスブロックチェーンインタラクション端へのサブスクリプション要求をブロックチェーンノードによって開始するように構成され、サブスクリプション要求は、クロスブロックチェーンインタラクション端にサブスクリプション条件を示すために使用され、クロスブロックチェーンインタラクション端は、サブスクリプション条件を満たし、第2のスマートコントラクトによって生成されたメッセージを取得し、ブロックチェーンノードに対応する購読側クライアントによって維持されるメッセージキューにメッセージを追加し、メッセージキューがサブスクリプション条件を満たすメッセージを含むとき第2のスマートコントラクトがサブスクリプション条件を満たすメッセージを生成したと決定する。
【００８７】
別の実施形態では、図11を参照すると、ソフトウェア実施形態において、クロスブロックチェーンインタラクション装置が、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成された獲得ユニット1101であって、メッセージが第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端によって第2のブロックチェーンから取得され、メッセージがクロスブロックチェーンインタラクション端に第1のブロックチェーンのブロックチェーンノードによって提供されたサブスクリプション条件を満たす、獲得ユニットと、メッセージをブロックチェーンノードに提供して、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするように構成された提供ユニット1102とを備える。
【００８８】
任意選択で、装置はさらに、ブロックチェーンノードに対応するメッセージキューを購読側クライアントによって維持するように構成されたメンテナンスユニット1103を含み、メッセージキューはブロックチェーンノードが購読するメッセージを含む。
【００８９】
獲得ユニット1101は、クロスブロックチェーンインタラクション端へのメッセージキューのキューステータスを、購読側クライアントによって提供するように構成され、メッセージキューがキューステータスに基づいてサブスクリプション条件を満たすメッセージを含まないと決定すると、クロスブロックチェーンインタラクション端は、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得する。
【００９０】
任意選択で、装置はさらに、クロスブロックチェーンインタラクション端によって開始されたステータス問い合わせ要求を、購読側クライアントによって受信するように構成され、ステータス問い合わせ要求に応答してクロスブロックチェーンインタラクション端にキューステータスを返す受信ユニット1104を含む。
【００９１】
任意選択で、提供ユニット1102は、メッセージキューにメッセージを購読側クライアントによって追加して、第1のブロックチェーンのメッセージの到着イベントを、購読側クライアントによってトリガし、メッセージキューを消費するようにブロックチェーンノードをトリガするように構成される。
【００９２】
任意選択で、装置はさらに、事前に固定された検証ルートを使用してクロスブロックチェーンインタラクション端によって提供されたメッセージについて検証を、購読側クライアントによって実行し、クロスブロックチェーンインタラクション端によって提供されたメッセージが第2のブロックチェーンからのものであると決定されると、ブロックチェーンノードにメッセージを提供するように構成された検証ユニット1105を含む。
【００９３】
任意選択で、検証ユニット1105は、メッセージがオラクルクライアントの署名を含むか否かを、購読側クライアントによって判定し、署名が購読側クライアントによって検証された後、メッセージが実際に第2のブロックチェーンに存在するとオラクルクライアントが検証したことを購読側クライアントによって決定し、メッセージが実際に第2のブロックチェーンに存在するか否かをアクティブに検証するように構成される。
【００９４】
さらに別の実施形態では、図12を参照すると、ソフトウェア実施形態において、クロスブロックチェーンインタラクション装置は、第1のブロックチェーンのブロックチェーンノードによって開始されたサブスクリプション要求を取得するように構成された要求獲得ユニット1201であって、サブスクリプション要求がサブスクリプション条件を含む、要求獲得ユニットと、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成されたメッセージ獲得ユニット1202と、メッセージをブロックチェーンノードに提供するように構成された提供ユニット1203とを備え、ブロックチェーンノードがメッセージに基づいて第1のブロックチェーンの第1のスマートコントラクトを呼び出す。
【００９５】
任意選択で、装置はさらに、ブロックチェーンノードに対応する購読側クライアントに対するステータス問い合わせ要求を、クロスブロックチェーンインタラクション端によって開始するように構成された要求開始ユニット1204であって、購読側クライアントがブロックチェーンノードに対応するメッセージキューを維持し、ブロックチェーンノードが購読するメッセージをメッセージキューが含む、要求開始ユニットと、購読側クライアントによって返されるメッセージキューのキューステータスをクロスブロックチェーンインタラクション端によって受信し、メッセージキューがキューステータスに基づいてサブスクリプション条件を満たすメッセージを含まないと決定されると、サブスクリプション条件を満たし、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを取得するように構成されたステータス受信ユニット1205とを含む。
【００９６】
任意選択で、メッセージ獲得ユニット1202は、発行側クライアントを使用することによってブリッジングを介して第2のブロックチェーンの所定のストレージ領域に、クロスブロックチェーンインタラクション端によって接続するように構成され、所定のストレージ領域は、第2のスマートコントラクトによって生成されたメッセージを格納するために使用され、メッセージ獲得ユニットは、所定のストレージ領域が発行側クライアントによって提供されるクエリインターフェースを使用することによってサブスクリプション条件を満たすメッセージを含むか否かを、クロスブロックチェーンインタラクション端によって問い合わせ、発行側クライアントへのメッセージ獲得要求を、クロスブロックチェーンインタラクション端によって開始するように構成され、発行側クライアントが所定のストレージ領域からサブスクリプション条件を満たすメッセージを取得し、クロスブロックチェーンインタラクション端にメッセージを返す。
【００９７】
さらに別の実施形態では、図13を参照すると、ソフトウェア実施形態において、クロスブロックチェーンインタラクション装置が、第2のブロックチェーンの第2のスマートコントラクトによって生成されたメッセージを、発行側クライアントによって取得するように構成された獲得ユニット1301と、第1のブロックチェーンと第2のブロックチェーンの間のクロスブロックチェーンインタラクション端を使用することによって、第1のブロックチェーンのブロックチェーンノードにメッセージを、発行側クライアントによって提供し、第1のブロックチェーンの第1のスマートコントラクトを呼び出すようにブロックチェーンノードをトリガするように構成された提供ユニット1302とを含むことができる。
【００９８】
任意選択で、提供ユニット1302は、クロスブロックチェーンインタラクション端によって開始されたメッセージ獲得要求を、発行側クライアントによって受信するように構成され、メッセージ獲得要求はクロスブロックチェーンインタラクション端にブロックチェーンノードによって提供されたサブスクリプション条件に一致し、提供ユニットはさらに、メッセージ獲得要求と一致し、第2のスマートコントラクトによって生成されたメッセージをクロスブロックチェーンインタラクション端に、発行側クライアントによって送信するように構成され、クロスブロックチェーンインタラクション端はメッセージをブロックチェーンノードに提供する。
【００９９】
任意選択で、発行側クライアントがブリッジングを介して第2のブロックチェーンの所定のストレージ領域に接続され、所定のストレージ領域は第2のスマートコントラクトによって生成されたメッセージを格納するために使用され、獲得ユニット1301は、所定のストレージ領域から第2のスマートコントラクトによって生成されたメッセージを、発行側クライアントによって取得するように構成される。
【０１００】
任意選択で、所定のストレージ領域のためのクエリインターフェースが発行側クライアントのために構成され、装置はさらに、クロスブロックチェーンインタラクション端へのクエリインターフェースを発行側クライアントによって開き、その結果クロスブロックチェーンインタラクション端がクエリインターフェースを使用することによって所定のストレージ領域に問い合わせを実行するように構成されたインターフェース管理ユニット1303と、クロスブロックチェーンインタラクション端によって開始されたメッセージ獲得要求に基づいてクロスブロックチェーンインタラクション端によって識別されたメッセージを、発行側クライアントによって取得し、クロスブロックチェーンインタラクション端にメッセージを返すように構成されたメッセージ返戻ユニット1304であって、クロスブロックチェーンインタラクション端によって識別されたメッセージがクロスブロックチェーンインタラクション端にブロックチェーンノードによって提供されたサブスクリプション条件に一致する、メッセージ返戻ユニットとをさらに含む。
【０１０１】
任意選択で、所定のストレージ領域は、第2のブロックチェーンの第3のスマートコントラクトと第2のブロックチェーンの所定のブロックチェーンデータ構造のうちの少なくとも一つを含む。
【０１０２】
任意選択で、装置はさらに、取得したメッセージについて実行された検証結果に基づいて、検証したメッセージに署名を、発行側クライアントによって追加するように構成された署名追加ユニット1305を含む。
【０１０３】
提供ユニット1302は、クロスブロックチェーンインタラクション端を使用することによってブロックチェーンノードに対応する購読側クライアントにメッセージを、発行側クライアントによって送信するように構成され、署名が購読側クライアントによって検証された後、購読側クライアントがブロックチェーンノードに対応するメッセージキューにメッセージを追加し、メッセージキューがサブスクリプション条件を満たすメッセージを含むと決定すると、ブロックチェーンノードは第1のスマートコントラクトを呼び出す。
【０１０４】
前述の実施形態に示したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用することによって実装され得るか、またはある機能を有する製品を使用することによって実装され得る。典型的な実装デバイスは、コンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、個人情報端末、メディアプレイヤー、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレット、ウェアラブルデバイス、あるいはこれらのデバイスのいくつかの組み合わせであってよい。
【０１０５】
典型的な構成では、コンピュータは、1つまたは複数のプロセッサ(CPU)、1つまたは複数の入出力インターフェース、1つまたは複数のネットワークインターフェース、および1つまたは複数のメモリを含む。
【０１０６】
メモリは、非永続的メモリ、ランダムアクセスメモリ(RAM)、非一時的メモリ、および/または、コンピュータ可読媒体、例えば読み取り専用メモリ(ROM)またはフラッシュメモリ(フラッシュRAM)にある別の形態を含むことができる。メモリは、コンピュータ可読媒体の例である。
【０１０７】
コンピュータ可読媒体は、任意の方法および技法を使用することによって情報を格納できる、永続的/非永続的、可動/非可動な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであってよい。コンピュータストレージ媒体は、限定ではないが、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能プログラム可能な読み取り専用メモリ(EEPROM)、フラッシュメモリまたはその他のメモリ技術、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)または別の光学ストレージ、磁気テープ、磁気ディスクストレージ 、量子メモリ、グラフェンベースのストレージ媒体、別の磁気ストレージデバイス、またはその他の非伝送媒体を含む。コンピュータストレージ媒体は、コンピューティングデバイスによってアクセスされ得る情報を格納するために使用され得る。本願での定義に基づいて、コンピュータ可読媒体は、変調されたデータ信号およびキャリアなど、一時的コンピュータ可読媒体(一時的媒体)を含まない。
【０１０８】
「含む」、「有する」、またはその任意の変形の用語は、非排他的な包含をカバーすることを意図しており、要素のリストを含むプロセス、方法、製品、またはデバイスは、これらの要素を含むだけでなく、明示的にリストされた他の要素を含むか、あるいはそのようなプロセス、方法、製品、またはデバイスに固有の要素を含むことにさらに留意することは意義がある。追加の制約がない場合、「を含む」が前に付いた要素は、その要素を含むプロセス、方法、製品、またはデバイスに追加の同一の要素が存在することを排除しない。
【０１０９】
本願の具体的な実施形態が上に説明された。他の実施形態は、添付の特許請求の範囲に含まれる。いくつかの状況では、特許請求の範囲に記載のアクションまたはステップは、実施形態の順序と異なる順書で実行されることができ、所望の結果がやはり達成され得る。加えて、添付の図面に示されるプロセスは、所望の結果を達成するために、特定の実行順序を必ずしも必要としない。いくつかの実施形態では、マルチタスクおよび並列処理が有利である。
【０１１０】
本願の1つまたは複数の実施形態で使用される用語は単に、具体的な実施形態を説明する目的であり、本願の1つまたは複数の実施形態を限定する意図はない。本願および特許請求の範囲の1つまたは複数の実施形態に使用された単数形の「a」および「the」という用語は、特に明記されていない限り、複数の形態を含むことも意図している。本願に使用される「and/or」という用語は、1つまたは複数の関連されたリストされた項目の任意あるいはすべての可能な組み合わせを示し含むとさらに理解されよう。
【０１１１】
「第1の」、「第2の」、「第3の」などの用語は、様々なタイプの情報を説明するために、本願の1つまたは複数の実施形態で使用され得るが、情報は用語に限定されないことは理解されよう。これらの用語は、同じタイプの情報を区別するためにのみ使用される。例えば、本願の1つまたは複数の実施形態の範囲から逸脱することなく、第1の情報はまた、第2の情報として参照されることができ、同様に、第2の情報はまた、第1の情報として参照され得る。例えば、本明細書で使用される「if」という単語は、コンテキストに応じて、「while」、「when」、または「決定に応じて」と説明され得る。
【０１１２】
前述の説明は単に、本願の1つまたは複数の実施形態の例示的な実施形態であり、本願の1つまたは複数の実施形態を限定する意図がない。本願の1つまたは複数の実施形態の精神および原則を逸脱しない任意の変更、同等な置換、または改善などは、本願の1つまたは複数の実施形態の保護範囲に含まれるべきである。
【０１１３】
図14は、本開示の実施形態による、クロスブロックチェーンインタラクションのデータ送信を向上するために、コンピュータ実装方法1400の例を示すフローチャートである。提示を明確にするため、以降の説明は、本明細書の他の図面に関連して方法1400を一般的に説明する。しかしながら、方法1400は、例えば、任意のシステム、環境、ソフトウェア、およびハードウェア、あるいは、必要に応じて、システム、環境、ソフトウェア、およびハードウェアの組み合わせによって実行され得ることが理解されよう。いくつかの実施形態では、方法1400の様々なステップが、並列に、組み合わせて、ループして、あるいは任意の順序で実行され得る。
【０１１４】
1402では、第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求が、クロスブロックチェーンインタラクション端によって受信され、サブスクリプション要求がサブスクリプション条件を含む。いくつかの実施形態では、メッセージが第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される。1402から、方法1400は1404に進む。
【０１１５】
1404では、サブスクリプション条件を満たすメッセージは、クロスブロックチェーンインタラクション端によって第2のブロックチェーンに対応する発行側クライアントから取得される。いくつかの実施形態では、メッセージを取得することは、メッセージ獲得要求を発行側クライアントに、クロスブロックチェーンインタラクション端から送信することを含むことができ、メッセージ獲得要求がサブスクリプション条件に一致する。いくつかの実施形態では、方法1400は、クロスブロックチェーンインタラクション端において発行側クライアントからメッセージを受信することを含むことができ、メッセージがメッセージ獲得要求に一致し、第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される。
【０１１６】
いくつかの実施形態では、方法1400は、メッセージ獲得要求を発行側クライアントに送信する前に、第2のブロックチェーンの所定のストレージ領域が特定のサブスクリプション条件を満たすメッセージを含むか否かについて、クロスブロックチェーンインタラクション端によって、発行側クライアントにより提供されたクエリインターフェースを使用することによって問い合わせることをさらに含むことができ、所定のストレージ領域が第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する。決定が真である場合、メッセージ獲得要求は、所定のストレージ領域から特定のサブスクリプション条件を満たすメッセージを取得するために、発行側クライアントに対してクロスブロックチェーンインタラクション端によって開始される1404から、方法1400は1406に進む。
【０１１７】
1406では、メッセージは、クロスブロックチェーンインタラクション端からブロックチェーンノードに対応する購読側クライアントに送信され、ブロックチェーンノードは、メッセージに基づいて対応するコントラクト動作をトリガするために、第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す。
【０１１８】
いくつかの実施形態では、方法1400は、メッセージを取得する前に、1)購読側クライアントにステータス問い合わせ要求を、クロスブロックチェーンインタラクション端によって開始すること、購読側クライアントがブロックチェーンノードに対応するメッセージキューを維持する、2)購読側クライアントからメッセージキューに関連するキューステータスを、クロスブロックチェーンインタラクション端において受信すること、3)メッセージキューが受信したキューステータスに基づいてサブスクリプション条件を満たすメッセージを含むか否かをクロスブロックチェーンインタラクション端によって判定すること、および4）メッセージキューがサブスクリプション条件を満たすメッセージを含まないと決定される場合、第2のブロックチェーンに対応する発行側クライアントから別のサブスクリプション条件を満たすメッセージを、クロスブロックチェーンインタラクション端によって取得することをさらに含む。
【０１１９】
いくつかの実施形態では、メッセージは、発行側クライアントによって追加された署名を含むことができ、購読側クライアントが署名を検証した後、その特定のメッセージキューにメッセージを追加することによって、購読側クライアントはブロックチェーンノードに対応するメッセージキューを更新する。いくつかの実施形態では、メッセージキューが更新されたと決定される場合、ブロックチェーンノードが第1のスマートコントラクトを呼び出すことができる。1406の後、方法1400は停止できる。
【０１２０】
本願の実施形態は、ブロックチェーンネットワークデータ送信およびでデータストレージの技術的課題を解決できる。データベースの従来の実装では、書き込まれたデータを受信すると、データベースがデータログを記録し、次いでデータがデータベースに書き込まれる。データベースにおいてデータ損失が起こる場合、損失したデータは、書き込まれたデータログを再度実行することによって復元され得る。ブロックチェーンデータは、同様の方法でブロックチェーンに書き込まれる。各ブロックは、ブロック検証によって渡されたデータロスを記録し、データログが実行された後にデータステータス変更を格納する。しかしながら、従来の実装の下では、データは異なるブロックチェーンにわたって転送され得ない。したがって、複数のステップを含むトランザクションは、既存の技術を使用してクロスブロックチェーンインタラクションを介して実装され得ない。必要なものは、従来の実装のこれらの課題をバイパスし、クロスブロックチェーンインタラクションのためのより効率的な統一された方法を提供するための技法である。
【０１２１】
本願の実施形態は、クロスブロックチェーンインタラクションにおけるデータ送信を向上させるために、方法と装置を提供する。これらの実施形態の解決策は、非同期のクロスチェーンスマートコントラクト呼び出しを含む。ブロックチェーンについてのスマートコントラクトは、別のチェーンについてスマートコントラクトに、非同期メッセージを送信でき、メッセージが認定可能な発行-購読フレームワークを通して到着できることを保証する。これらの実施形態によれば、第1のブロックチェーンのブロックチェーンノードは、サブスクリプション条件をクロスブロックチェーンインタラクション端に提供でき、クロスブロックチェーンインタラクション端が非同期メッセージを取得する。発行側クライアントを使用することによって非同期メッセージを取得した後、クロスブロックチェーンインタラクション端は、購読側クライアントに非同期メッセージを送信でき、購読側クライアントは非同期のメッセージをメッセージキューに追加する。購読側クライアントは、第1のブロックチェーンのメッセージの到着イベントをトリガでき、第1のブロックチェーンのブロックチェーンノードは、メッセージキューが非同期メッセージを含むと決定すると、第1のスマートコントラクトを呼び出すようにトリガされ得る。
【０１２２】
本明細書に説明された実施形態および動作は、本明細書に開示された構造を含む、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、あるいはハードウェア、またはそれらの1つまたは複数の組み合わせで実装され得る。動作は、1つまたは複数のコンピュータ可読デバイスに格納した、または他のソースから受信したデータについて、データ処理装置によって実行される動作として実装され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例えば、プログラム可能なプロセッサ、コンピュータ、システムオンチップ、またはそれらの複数または組み合わせなどの、装置、デバイス、およびデータ処理のための機械を包含してよい。装置は、例えば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途組み込み回路(ASIC)などの専用論理回路を含むことができる。装置はまた、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えば、単一のオペレーティングシステムまたはオペレーティングシステムの組み合わせ)、クロスプラットフォーム実行環境、仮想マシン、あるいはそれらの1つまたは複数の組み合わせを構成するコードなど、当のコンピュータプログラムに対する実行環境を作成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現できる。
【０１２３】
コンピュータプログラム(例えば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)は、コンパイル型またはインタプリタ型言語、宣言型またはプロシージャ型言語を含む、任意の形式のプログラミング言語で書かれ、スタンドアロンプログラムとして、あるいは、モジュール、コンポーネント、サブルーチン、オブジェクト、あるいは、コンピューティング環境での使用に適した他のユニットとしてなどを含む、任意の形式で展開され得る。プログラムは、当のプログラム専用の単一のファイルに、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)を保持するファイルの一部に記憶され得る。コンピュータプログラムは、1つのコンピュータ、または1つのサイトに位置するか、あるいは複数のサイトにわたり分散して通信ネットワークによって相互接続される複数のコンピュータ上で実行され得る。
【０１２４】
コンピュータプログラムの実行のためのプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令にしたがってアクションを実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを格納する1つまたは複数のマスストレージデバイスを含むか、データの送受信のために、データを格納する1つまたは複数のマスストレージデバイスに動作可能に接続される。コンピュータは、例えば、モバイルデバイス、個人情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスなどの別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および磁気光ディスクを含む、非一時的メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路に補完または組み込まれ得る。
【０１２５】
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、携帯電話(例えば、スマートフォン)、タブレット、ウェアラブルデバイス(例えば、スマートウォッチおよびスマート眼鏡)、人体埋め込みデバイス(例えば、バイオセンサ、人工内耳)、あるいは他のタイプのモバイルデバイスを含むことができる。モバイルデバイスは、様々な通信ネットワーク(後述)とワイヤレスに(例えば、無線周波数(RF)信号を使用して)通信できる。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含むことができる。センサは、カメラ、マイク、近接センサ、GPSセンサ、動きセンサ、加速度計、周辺光センサ、湿度センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認証システム、RFセンサ(例えば、Wi-Fiおよびセルラ無線)、温度センサ、あるいは他のタイプのセンサを含むことができる。例えば、カメラは、可動または固定レンズ、フラッシュ、イメージセンサ、およびイメージプロセッサを備えた前向きまたは後ろ向きのカメラを含むことができる。カメラは、顔および/または虹彩の認識のために詳細をキャプチャできるメガピクセルカメラであってよい。データプロセッサを備えるカメラ、およびメモリに保存されているか、または遠隔にアクセスされる認証情報は、顔認識システムを形成できる。顔認証システム、あるいは、例えばマイク、動きセンサ、加速度計、GPSセンサ、またはRFセンサなどの1つまたは複数のセンサは、ユーザ認証のために使用され得る。
【０１２６】
ユーザとの対話を提供するために、例えば、ユーザに情報を表示するための、液晶ディスプレイ(LCD)または有機発行ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、それによりユーザがコンピュータに入力を提供できるタッチスクリーン、キーボード、およびポインティングデバイスなど、表示デバイスおよび入力デバイスを有するコンピュータにおいて実施形態が実装され得る。同様にユーザとの対話のために別の種類のデバイスを提供でき、例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなどの任意の形式のセンサフィードバックであってよく、ユーザからの入力が、音声、会話、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、例えば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザによって使用されるデバイスとドキュメントを送受信することによってユーザと対話できる。
【０１２７】
実施形態は、例えば、コンピュータネットワークなど、任意の形式または媒体の有線またはワイヤレスのデジタルデータ通信(あるいはその組み合わせ)によって相互接続されたコンピューティングデバイスを使用して実装され得る。相互接続されたデバイスの例は、クライアントとサーバであり、一般に互いに離れており、通信ネットワークを介して対話する。例えば、モバイルデバイスなどのクライアントは、サーバと自身のトランザクションを実行するか、サーバを介して、例えば、購入、売却、支払い、譲渡、送信、あるいはローントランザクションを実行する、または同様の認証を行う。そのようなトランザクションはリアルタイムであってよく、そのためアクションおよびレスポンスが時間的に近い、例えば、個人がアクションとレスポンスを実質的に同時に感じ、個人のアクションに続くレスポンスの時間差が1ミリ秒(ms)または1秒(s)より小さいか、レスポンスがシステムの処理限界を考慮した意図的な遅延がない。
【０１２８】
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネットの全てまたは一部、別の通信ネットワーク、あるいは通信ネットワークの組み合わせを含むことができる。情報は、ロングタームエボリューション(LTE)、5G、IEEE802、インターネットプロトコル(IP)、または他のプロトコル、あるいはプロトコルの組み合わせを含む、様々なプロトコルおよび規格にしたがって、通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイスの間で、音声、ビデオ、生体情報、認証データ、あるいは他の情報を送信できる。
【０１２９】
個別の実施形態として説明された特徴は、組み合わせても一つの実施形態でも実装でき、一方で単一の実施形態として記載された特徴は、複数の実施形態に個別に、あるいは任意の適切なサブコンビネーションで実装されてよい。特定の順序で説明あるいは特許請求の範囲に記載された動作は、その特定の順序を必要とすると理解するのではなく、また全ての示された動作が実行されなければならないと理解すべきではない(いくつかの動作は任意であってよい)。必要に応じて、マルチタスクまたは並列処理(または、マルチタスクおよび並列処理の組み合わせ)が実行され得る。
【符号の説明】
【０１３０】
902  プロセッサ902
904  内部バス
906  ネットワークインターフェース
908  メモリ
910  非一時的メモリ
1001  決定ユニット
1002  呼び出しユニット
1101  獲得ユニット
1102  提供ユニット
1103  メンテナンスユニット
1104  受信ユニット
1105  検証ユニット
1201  要求獲得ユニット
1202  メッセージ獲得ユニット
1203  提供ユニット
1204  要求開始ユニット
1205  ステータス受信ユニット
1301  獲得ユニット
1302  提供ユニット
1303  インターフェース管理ユニット
1304  メッセージ返戻ユニット
1305  署名追加ユニット
【図１】
2021504847.tif 000003
【図２】
2021504847.tif 000004
【図３】
2021504847.tif 000005
【図４】
2021504847.tif 000006
【図５】
2021504847.tif 000007
【図６】
2021504847.tif 000008
【図７】
2021504847.tif 000009
【図８】
2021504847.tif 000010
【図９】
2021504847.tif 000011
【図１０】
2021504847.tif 000012
【図１１】
2021504847.tif 000013
【図１２】
2021504847.tif 000014
【図１３】
2021504847.tif 000015
【図１４】
2021504847.tif 000016
【手続補正書】
【提出日】令和2年5月29日(2020.5.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
前記第1のブロックチェーンに関連する前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記第1のブロックチェーンに関連する前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
を含む、コンピュータ実装方法。
【請求項２】
前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記メッセージを取得するステップの前に、
前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項５】
前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項1に記載のコンピュータ実装方法。
【請求項６】
前記メッセージキューが更新されたと決定される場合、前記ブロックチェーンノードが前記第1のスマートコントラクトを呼び出す、請求項5に記載のコンピュータ実装方法。
【請求項７】
動作を実行するためのコンピュータシステムによって実行可能な1つまたは複数の命令を格納する非一時的コンピュータ可読記憶媒体であって、前記動作が、
第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために、前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
を含む、非一時的コンピュータ可読記憶媒体。
【請求項８】
前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項９】
前記メッセージを取得するステップの前に、
前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
をさらに含む、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
をさらに含む、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記メッセージキューが更新されたと決定される場合、前記ブロックチェーンノードが前記第1のスマートコントラクトを呼び出す、請求項11に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータと相互動作可能に結合され、1つまたは複数の命令を格納した有形の非一時的マシン可読記憶媒体を有する1つまたは複数のコンピュータメモリデバイスとを備えるコンピュータ実装システムであって、
前記1つまたは複数の命令が、前記1つまたは複数のコンピュータによって実行されると、1つまたは複数の動作を実行し、1つまたは複数の動作が、
第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために、前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
を含む、コンピュータ実装システム。
【請求項１４】
前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項13に記載のコンピュータ実装システム。
【請求項１５】
前記メッセージを取得するステップの前に、
前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
をさらに含む、請求項13に記載のコンピュータ実装システム。
【請求項１６】
前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
をさらに含む、請求項13に記載のコンピュータ実装システム。
【請求項１７】
前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項13に記載のコンピュータ実装システム。
【国際調査報告】
2021504847.tif 000017
2021504847.tif 000018