JP2021507336A - クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス - Google Patents

クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス Download PDF

Info

Publication number
JP2021507336A
JP2021507336A JP2020529500A JP2020529500A JP2021507336A JP 2021507336 A JP2021507336 A JP 2021507336A JP 2020529500 A JP2020529500 A JP 2020529500A JP 2020529500 A JP2020529500 A JP 2020529500A JP 2021507336 A JP2021507336 A JP 2021507336A
Authority
JP
Japan
Prior art keywords
blockchain
message
subscription
cross
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020529500A
Other languages
English (en)
Other versions
JP6878699B2 (ja
Inventor
ホンリン・チウ
フアビン・ドゥ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2021507336A publication Critical patent/JP2021507336A/ja
Application granted granted Critical
Publication of JP6878699B2 publication Critical patent/JP6878699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

第1のブロックチェーン内のブロックチェーンノードは、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドへのサブスクリプション要求を開始する。ブロックチェーンノードは、サブスクリプション要求に基づいて、第2のブロックチェーンからメッセージを取得する。ブロックチェーンノードは、メッセージに関連する動作を実行する。

Description

関連出願の相互参照
本出願は、その全体が参照により本明細書に組み込まれる、2018年2月27日に出願された中国特許出願第201810162070.5号の優先権を主張する。
本明細書の1つまたは複数の実装形態は、ブロックチェーン技術の分野に関し、詳細には、クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイスに関する。
ブロックチェーン技術(分散台帳技術とも呼ばれる)は、分散型の分散データベース技術である。ブロックチェーン技術は、分散型で、オープンで、改ざん防止で、信頼できるものであり、データの信頼性に対する高い要件を有する多くのアプリケーションシナリオに適用することができる。
これを考慮して、本明細書の1つまたは複数の実装形態は、クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイスを提供する。
前の目的を達成するために、本明細書の1つまたは複数の実装形態は、以下の技術的解決策を提供する。
本明細書の1つまたは複数の実装形態の第1の態様によれば、第1のブロックチェーンおよび第2のブロックチェーンと、サブスクリプションクライアントであって、サブスクリプションクライアントが第1のブロックチェーン内のブロックチェーンノードに対応し、ブロックチェーンノードに対応するメッセージキューを維持するように構成され、メッセージキューが、ブロックチェーンノードがサブスクライブするメッセージを含む、サブスクリプションクライアントと、パブリッシングクライアントであって、第2のブロックチェーンに対応し、第2のブロックチェーンにおいて生成されたメッセージを取得してパブリッシュするように構成される、パブリッシングクライアントと、クロスチェーン相互作用エンド(cross-chain interaction end)であって、クロスチェーン相互作用エンドがブロックチェーンノードのサブスクリプション条件を取得し、メッセージキューにサブスクリプション条件を満たすメッセージが含まれていない場合、メッセージキューへのメッセージを更新するために、パブリッシングクライアントにサブスクリプション条件を満たすメッセージを要求し、メッセージをサブスクリプションクライアントに送信する、クロスチェーン相互作用エンドとを含む、クロスブロックチェーン相互作用のためのシステムが提供される。
本明細書の1つまたは複数の実装形態の第2の態様によれば、第1のブロックチェーン内のブロックチェーンノードによって、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって第2のブロックチェーン内のメッセージを取得するステップと、ブロックチェーンノードによって、メッセージに関連する動作を実行するステップとを含む、クロスブロックチェーン相互作用のための方法が提供される。
本明細書の1つまたは複数の実装形態の第3の態様によれば、サブスクリプションクライアントによって、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内でパブリッシュされたメッセージを取得するステップであって、メッセージが、第1のブロックチェーン内のブロックチェーンノードによってクロスチェーン相互作用エンドに提供されるサブスクリプション条件を満たす、ステップと、サブスクリプションクライアントによって、メッセージをブロックチェーンノードに提供するステップとを含む、クロスブロックチェーン相互作用のための方法が提供される。
本明細書の1つまたは複数の実装形態の第4の態様によれば、クロスチェーン相互作用エンドによって、第1のブロックチェーン内のブロックチェーンノードによって開始されたサブスクリプション要求を取得するステップであって、サブスクリプション要求が、サブスクリプション条件を含む、ステップと、メッセージをブロックチェーンノードに提供するために、クロスチェーン相互作用エンドによって、サブスクリプション条件を満たす第2のブロックチェーン内のメッセージを取得するステップとを含む、クロスブロックチェーン相互作用のための方法が提供される。
本明細書の1つまたは複数の実装形態の第5の態様によれば、パブリッシングクライアントによって、第2のブロックチェーン内のメッセージを取得するステップと、パブリッシングクライアントによって、第1のブロックチェーンと第2のブロックチェーンの間のクロスチェーン相互作用エンドを使用することによって、第1のブロックチェーン内のブロックチェーンノードにメッセージを送信するステップとを含む、クロスブロックチェーン相互作用のための方法が提供される。
本明細書の1つまたは複数の実装形態の第6の態様によれば、第1ブロックチェーン内のブロックチェーンノードが、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内のメッセージを取得することを可能にする、獲得ユニットと、ブロックチェーンノードがメッセージに関連する動作を実行することを可能にする実行ユニットとを含む、クロスブロックチェーン相互作用のための装置が提供される。
本明細書の1つまたは複数の実装形態の第7の態様によれば、サブスクリプションクライアントが、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内でパブリッシュされたメッセージを取得することを可能にするメッセージ獲得ユニットであって、メッセージが、第1のブロックチェーン内のブロックチェーンノードによってクロスチェーン相互作用エンドに提供されるサブスクリプション条件を満たす、メッセージ獲得ユニットと、サブスクリプションクライアントがメッセージをブロックチェーンノードに提供することを可能にする、メッセージ提供ユニットとを含む、クロスブロックチェーン相互作用のための装置が提供される。
本明細書の1つまたは複数の実装形態の第8の態様によれば、クロスチェーン相互作用エンドが、第1のブロックチェーン内のブロックチェーンノードによって開始されたサブスクリプション要求を取得することを可能にする獲得ユニットであって、サブスクリプション要求が、サブスクリプション条件を含む、獲得ユニットと、クロスチェーン相互作用エンドが、メッセージをブロックチェーンノードに提供するために、サブスクリプション条件を満たす第2のブロックチェーン内のメッセージを取得することを可能にする提供ユニットとを含む、クロスブロックチェーン相互作用のための装置が提供される。
本明細書の1つまたは複数の実装形態の第9の態様によれば、パブリッシングクライアントが、第2のブロックチェーン内のメッセージを取得することを可能にする獲得ユニットと、パブリッシングクライアントが、第1のブロックチェーンと第2のブロックチェーンの間のクロスチェーン相互作用エンドを使用することによって、第1のブロックチェーン内のブロックチェーンノードにメッセージを送信することを可能にする送信ユニットとを含む、クロスブロックチェーン相互作用のための装置が提供される。
本明細書の1つまたは複数の実装形態の第10の態様によれば、プロセッサと、プロセッサによって実行され得る命令を記憶するように構成されたメモリとを含み、プロセッサが、前の実装形態のうちのいずれか1つによる方法を実装するように構成された、電子デバイスが提供される。
例示的な実装形態による、クロスブロックチェーン相互作用のための方法を示すフローチャートである。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。 例示的な実装形態による、クロスブロックチェーン相互作用のためのシステムを示す概略的なアーキテクチャ図である。 例示的な実装形態による、クロスブロックチェーン相互作用のための別のシステムを示す概略的なアーキテクチャ図である。 例示的な実装形態による、クロスブロックチェーン関連の転送システムを示す概略構造図である。 例示的な実装形態による、クロスブロックチェーンメッセージ交換プロセスを示す概略図である。 例示的な実装形態による、デバイスを示す概略構造図である。 例示的な実装形態による、クロスブロックチェーン相互作用のための装置を示すブロック図である。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の装置を示すブロック図である。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の装置を示すブロック図である。 例示的な実装形態による、クロスブロックチェーン相互作用のための別の装置を示すブロック図である。 本開示の実装形態による、クロスブロックチェーン相互作用のためのコンピュータで実施される方法の例を示すフローチャートである。
ここでは、例示的な実装形態を詳細に説明し、実装形態の例を添付の図面に提示する。以下の説明が添付図面に関連する場合、別段の指定がない限り、異なる添付図面における同じ番号は、同じまたは類似の要素を表す。以下の例示的な実装形態において説明する実装形態は、本明細書の1つまたは複数の実装形態と一致するすべての実装形態を表すものではない。逆に、実装形態は、添付の特許請求の範囲に詳細に記載され、本明細書の1つまたは複数の実装形態のいくつかの態様と一致する装置および方法の例にすぎない。
他の実装形態では、対応する方法のステップは、本明細書において示され説明されている順序で必ずしも実施されるとは限らない点に留意する価値がある。他のいくつかの実装形態では、本方法は、本明細書において説明されているステップよりも多いまたは少ないステップを含むことができる。さらに、本明細書において説明される単一のステップは、別の実装形態における説明のために複数のステップに分割することができ、本明細書において説明される複数のステップは、別の実装形態における説明のために単一のステップに組み合わせることができる。
図1は、例示的な実装形態による、クロスブロックチェーン相互作用のための方法を示すフローチャートである。図1に示されるように、本方法は、第1のブロックチェーン内のブロックチェーンノードに適用され、以下のステップを含むことができる。
ステップ102。第1のブロックチェーン内のブロックチェーンノードは、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内のメッセージを取得する。
ある実装形態では、複数のクロスブロックチェーンにクロスチェーン相互作用を実装するために、クロスチェーン相互作用エンドに基づいて第1のブロックチェーンと第2のブロックチェーンとの間でメッセージを交換できるようにするために、クロスチェーン相互作用エンドが第1のブロックチェーンと第2のブロックチェーンとの間に配置される。
ある実装形態では、第1のブロックチェーンは、クロスチェーン相互作用においてメッセージを受信する当事者を表し、第2のブロックチェーンは、クロスチェーン相互作用においてメッセージを提供する当事者を表す。すなわち、「第1のブロックチェーン」および「第2のブロックチェーン」は、クロスチェーン相互作用プロセスにおいて対応するブロックチェーンによって果たされる役割に依存し、特定のブロックチェーンは、第1のブロックチェーンまたは第2のブロックチェーンに限定されない。言い換えれば、特定のブロックチェーンがクロスチェーン相互作用において別のブロックチェーンからメッセージを受信する場合、特定のブロックチェーンはクロスチェーン相互作用プロセスにおける「第1のブロックチェーン」である。特定のブロックチェーンがクロスチェーン相互作用において別のブロックチェーンにメッセージを提供する場合、特定のブロックチェーンはクロスチェーン相互作用プロセスにおける「第2のブロックチェーン」である。
ある実装形態では、ブロックチェーンノードによって取得されたメッセージは、第2のブロックチェーン内でパブリッシュされるとともにブロックチェーンノードのサブスクリプション条件を満たすメッセージを含む。たとえば、ユーザAがアセット1を第2のブロックチェーン内のユーザBに転送する必要があり、ユーザBがアセット2を第1のブロックチェーン内のユーザAに転送する必要があると仮定する。第1に、ユーザAがアセット1をユーザBに転送する動作が第2のブロックチェーンにおいて実行される。次に、動作に対応する動作完了メッセージが第1のブロックチェーンにおいて受信された後、ユーザBがアセット2をユーザAに転送する動作が第1のブロックチェーンにおいて実行される。ユーザAとユーザBとの間のアセット転送プロセスでは、第1のブロックチェーン内のブロックチェーンノードのサブスクリプション条件は、「ユーザAがアセット1をユーザBに転送する」であり得る。したがって、ブロックチェーンノードによって取得される必要があるメッセージは、第2のブロックチェーン内でパブリッシュされている「ユーザAがアセット1をユーザBに転送する」である。そのため、メッセージに関連する動作、つまりユーザBがアセット2をユーザAに転送する動作を実行するために、ブロックチェーンノードがトリガされる。
ある実装形態では、ブロックチェーンノードは、クロスチェーン相互作用エンドへのサブスクリプション要求を開始することができる。サブスクリプション要求は、クロスチェーン相互作用エンドにサブスクリプション条件を示すために使用され、それによって、クロスチェーン相互作用エンドが、第2のブロックチェーン内でパブリッシュされるとともにサブスクリプション条件を満たすメッセージを取得して、ブロックチェーンノードに対応するサブスクリプションクライアントによって維持されるメッセージキューへのメッセージの追加が行われるようにする。次いで、ブロックチェーンノードはメッセージキュー内のメッセージを取得する。サブスクリプション条件は、クロスチェーン相互作用エンドに提供され、クロスチェーン相互作用エンドは、サブスクリプション条件を満たすメッセージを取得する。これは、すべてのブロックチェーンノードのサブスクリプション条件がクロスチェーン相互作用エンドによって満たされるようにするために、ブロックチェーン内の大量のブロックチェーンノードを調整するために役立つ。
ステップ104。ブロックチェーンノードは、メッセージに関連する動作を実行する。
ある実装形態では、ブロックチェーンノードは、コントラクト動作が有効になったときにメッセージに関連する動作を完了するために、取得したメッセージに関連するコントラクト動作を開始することができる。
図2は、例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。図2に示されるように、本方法は、サブスクリプションクライアントに適用され、以下のステップを含むことができる。
ステップ202。サブスクリプションクライアントは、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内でパブリッシュされたメッセージを取得し、メッセージは、第1のブロックチェーン内のブロックチェーンノードによってクロスチェーン相互作用エンドに提供されるサブスクリプション条件を満たす。
ある実装形態では、サブスクリプションクライアントはブロックチェーンノード上で構成することができ、すなわち、サブスクリプションクライアントは、ブロックチェーンノード上で実装または拡張されるメッセージサブスクリプション機能として理解することができる。別の実装形態では、サブスクリプションクライアントは、第1のブロックチェーンとは無関係の別のノード上で構成することができる。本明細書において制限は課されない。
ステップ204。サブスクリプションクライアントは、メッセージをブロックチェーンノードに提供する。
ある実装形態では、サブスクリプションクライアントは取得したメッセージをメッセージキューに追加することができ、メッセージキューは、ブロックチェーンノードがメッセージキューからメッセージを取得できるように、ブロックチェーンノードに対応している。
ある実装形態では、正確なメッセージ配信を確保するために、クロスチェーン相互作用エンドが、サブスクリプションクライアントに基づいて対応するブロックチェーンノードにメッセージをマッピングできるように、サブスクリプションクライアントとブロックチェーンノードとの間には1対1のマッピング関係がある。別の実装形態では、1人のサブスクリプションクライアントは複数のブロックチェーンノードに対応することができる。たとえば、サブスクリプションクライアントは、メッセージキューを使用することによってメッセージを対応するブロックチェーンノードにマッピングするために、複数のブロックチェーンノードと1対1のマッピング関係を有する複数のメッセージキューを維持することができる。
ある実装形態では、サブスクリプションクライアントは、メッセージキューに含まれるメッセージを示すために、クロスチェーン相互作用エンドによってメッセージキューに更新されたメッセージと、ブロックチェーンノードによるメッセージキュー内の各メッセージの消費ステータスとに基づいて、メッセージキューのキューステータスを維持することができる。次いで、サブスクリプションクライアントは、クロスチェーン相互作用エンドが、キューステータスに基づいて、メッセージキューがサブスクリプション条件を満たすメッセージを含むかどうかを決定できるようにするために、キューステータスをクロスチェーン相互作用エンドに送信することができる。メッセージキューがサブスクリプション条件を満たすメッセージを含む場合、クロスチェーン相互作用エンドはメッセージを繰り返し取得する必要はない。メッセージキューにサブスクリプション条件を満たすメッセージが含まれていない場合、クロスチェーン相互作用エンドは、メッセージキューへのメッセージを更新するために、第2のブロックチェーン内でパブリッシュされるとともにサブスクリプション条件を満たすメッセージを取得することができる。
ある実装形態では、サブスクリプションクライアントは、クロスチェーン相互作用エンドによって開始されたステータスクエリ要求を受信することができる。ステータスクエリ要求に応答して、サブスクリプションクライアントはキューステータスをクロスチェーン相互作用エンドに返す。言い換えれば、メッセージキューとメッセージキューのキューステータスの両方が、クロスチェーン相互作用エンドではなく、ブロックチェーンノードに対応するサブスクリプションクライアントによって維持される。これは、クロスチェーン相互作用エンドに対する関係者の悪意のある行動を防ぎ、メッセージ送信プロセスの信頼性を向上させる。
ある実装形態では、サブスクリプションクライアントは、検証が成功した後にブロックチェーンノードにメッセージを提供するために、クロスチェーン相互作用エンドによって提供されたメッセージを検証することができる。ブロックチェーン技術は分散型台帳、統合型台帳データ、改ざん防止データによって特徴付けられるため、たとえ関係者がクロスチェーン相互作用エンドによって提供されたメッセージを改ざんしても、セキュリティリスクを排除するためにメッセージの信頼性を検証することができる。
ある実装形態では、サブスクリプションクライアントは、任意の1つまたは複数の方法を使用することによってメッセージを検証することができる。本明細書において制限は課されない。たとえば、メッセージが第2のブロックチェーン内の最長チェーン上にあり、メッセージの送信元のブロックの後に少なくとも6つのブロックがある場合、サブスクリプションクライアントはメッセージの検証が成功したと決定することができる。別の例として、サブスクリプションクライアントは、プラクティカルビザンチンフォールトトレランス(PBFT)アルゴリズムに基づいてメッセージを検証することができる。別の例として、サブスクリプションクライアントは、所定のオラクル(Oracle)を使用することによってメッセージを検証することができる。
図3は、例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。図3に示されるように、本方法は、クロスチェーン相互作用エンドに適用され、以下のステップを含むことができる。
ステップ302。クロスチェーン相互作用エンドは、第1のブロックチェーン内のブロックチェーンノードによって開始されたサブスクリプション要求を取得し、サブスクリプション要求はサブスクリプション条件を含む。
ある実装形態では、クロスチェーン相互作用エンドは、ブロックチェーンノードに対応するサブスクリプションクライアントへのステータスクエリ要求を開始することができる。サブスクリプションクライアントは、ブロックチェーンノードに対応するメッセージキューを維持する。次いで、クロスチェーン相互作用エンドは、サブスクリプションクライアントによって返されたメッセージキューのキューステータスを受信し、キューステータスに基づいて、メッセージキューがサブスクリプション条件を満たすメッセージを含むかどうかを決定する。メッセージキューがサブスクリプション条件を満たすメッセージを含む場合、クロスチェーン相互作用エンドはメッセージを繰り返し取得する必要はない。メッセージキューにサブスクリプション条件を満たすメッセージが含まれていない場合、クロスチェーン相互作用エンドは、メッセージキューへのメッセージを更新するために、第2のブロックチェーン内でパブリッシュされるとともにサブスクリプション条件を満たすメッセージを取得することができる。言い換えれば、メッセージキューとメッセージキューのキューステータスの両方が、クロスチェーン相互作用エンドではなく、ブロックチェーンノードに対応するサブスクリプションクライアントによって維持される。これは、クロスチェーン相互作用エンドに対する関係者の悪意のある行動を防ぎ、メッセージ送信プロセスの信頼性を向上させる。
ある実装形態では、クロスチェーン相互作用エンドは、第2のブロックチェーンに対応するパブリッシングクライアントに対して、サブスクリプション条件に対応するメッセージ獲得要求を開始することができる。パブリッシングクライアントは、第2のブロックチェーン内で生成されたメッセージを維持するように構成される。次いで、クロスチェーン相互作用エンドは、パブリッシングクライアントによって返され、メッセージ獲得要求と一致するメッセージを受信する。言い換えれば、パブリッシングクライアントは第2のブロックチェーンからすべてのパブリッシュ可能なメッセージを取得し、メッセージはステートレスメッセージである。すなわち、パブリッシングクライアントは、第1のブロックチェーン内のブロックチェーンノードに対応するメッセージキューとメッセージキューのキューステータスを維持する必要はなく、クロスチェーン相互作用エンドによって開始されたメッセージ獲得要求に応答するだけでよい。これは、パブリッシングクライアントに対する関係者の悪意のある行動を防ぎ、メッセージ送信プロセスの信頼性を向上させる。
ステップ304。クロスチェーン相互作用エンドが、メッセージをブロックチェーンノードに提供するために、サブスクリプション条件を満たす第2のブロックチェーン内のメッセージを取得する。
ある実装形態では、クロスチェーン相互作用エンドは第1のブロックチェーン内で構成することもでき、クロスチェーン相互作用エンドは第2のブロックチェーン内で構成することもでき、クロスチェーン相互作用エンドは第1のブロックチェーンおよび第2のブロックチェーンとは無関係のノード上で構成することもでき、クロスチェーン相互作用エンドは別の場所において構成することもできる。本明細書において制限は課されない。
図4は、例示的な実装形態による、クロスブロックチェーン相互作用のための別の方法を示すフローチャートである。図4に示されるように、本方法はパブリッシングクライアントに適用され、以下のステップを含むことができる。
ステップ402。パブリッシングクライアントは、第2のブロックチェーン内のメッセージを取得する。
ある実装形態では、パブリッシングクライアントは、クロスチェーン相互作用エンドによって開始されたメッセージ獲得要求を受信することができる。メッセージ獲得要求は、ブロックチェーンノードによって提供されるサブスクリプション条件に基づいて、クロスチェーン相互作用エンドによって生成される。次いで、パブリッシングクライアントは、第2のブロックチェーン内にあり、メッセージ獲得要求と一致するメッセージをクロスチェーン相互作用エンドに送信し、これにより、クロスチェーン相互作用エンドがメッセージをブロックチェーンノードに送信する。言い換えれば、パブリッシングクライアントは第2のブロックチェーンからすべてのパブリッシュ可能なメッセージを取得し、メッセージはステートレスメッセージである。すなわち、パブリッシングクライアントは、第1のブロックチェーン内のブロックチェーンノードに対応するメッセージキューとメッセージキューのキューステータスを維持する必要はなく、クロスチェーン相互作用エンドによって開始されたメッセージ獲得要求に応答するだけでよい。これは、パブリッシングクライアントに対する関係者の悪意のある行動を防ぎ、メッセージ送信プロセスの信頼性を向上させる。
ステップ404。パブリッシングクライアントは、第1のブロックチェーンと第2のブロックチェーンの間のクロスチェーン相互作用エンドを使用することによって、第1のブロックチェーン内のブロックチェーンノードにメッセージを送信する。
ある実装形態では、クロスチェーン相互作用エンドはメッセージをサブスクリプションクライアントに送信することができ、サブスクリプションクライアントはブロックチェーンノードに対応するメッセージキューにメッセージを追加し、これにより、ブロックチェーンノードがメッセージを取得し、関連する動作を実行する。
ある実装形態では、第2のブロックチェーン内のすべてのブロックチェーンノードは1つのパブリッシングクライアントに対応することもでき、第2のブロックチェーン内のブロックチェーンノードはそれぞれ複数のパブリッシングクライアントに対応することもできる。本明細書において制限は課されない。
図5は、例示的な実装形態による、クロスブロックチェーン相互作用のためのシステムを示す概略的なアーキテクチャ図である。図5に示されるように、クロスブロックチェーン相互作用のためのシステムは、第1のブロックチェーンと、第2のブロックチェーンと、サブスクリプションクライアントと、パブリッシングクライアントと、クロスチェーン相互作用エンドとを含むことができる。
第1のブロックチェーンは、本明細書においてメッセージサブスクリプション当事者として使用されるブロックチェーンであり、第2のブロックチェーンは、本明細書においてメッセージパブリッシング当事者として使用されるブロックチェーンである。言い換えれば、「第1のブロックチェーン」と「第2のブロックチェーン」は、異なるブロックチェーンによって果たされる役割を区別するためにのみ使用され、特定のブロックチェーンは「第1のブロックチェーン」または「第2のブロックチェーン」に限定されない。
サブスクリプションクライアントは、第1のブロックチェーン内のブロックチェーンノードに対応し、ブロックチェーンノードに対応するメッセージキューを維持するように構成される。メッセージキューは、ブロックチェーンノードがサブスクライブするメッセージを含む。ある実装形態では、サブスクリプションクライアントは、第1のブロックチェーンとは無関係のデバイス、ノード、プラットフォームなどで構成することができる。別の実装形態では、サブスクリプションクライアントは、第1のブロックチェーン内のブロックチェーンノード上で構成することができ、これは、関連する技術に基づいてブロックチェーンノード上で拡張されたサブスクリプション機能に相当する。
パブリッシングクライアントは、第2のブロックチェーンに対応し、第2のブロックチェーンにおいて生成されたメッセージを取得してパブリッシュするように構成される。ブロックチェーンの分散台帳技術により、第2のブロックチェーン内のすべてのブロックチェーンノードは、同じコンテンツの完全な台帳データ、つまりブロックチェーン台帳を維持することで合意に達することができ、パブリッシングクライアントはブロックチェーン台帳からパブリッシュ可能なメッセージを取得できるため、クロスチェーン相互作用エンドはメッセージを取得することができる。ある実装形態では、パブリッシングクライアントは、第2のブロックチェーンとは無関係のデバイス、ノード、プラットフォームなどで構成することができる。別の実装形態では、パブリッシングクライアントは、第2のブロックチェーン内のブロックチェーンノード上で構成することができ、これは、関連技術に基づいてブロックチェーンノード上で拡張されたパブリッシュ機能に相当する。
クロスチェーン相互作用エンドは、第1のブロックチェーン内のブロックチェーンノードによって開始されたサブスクリプション要求を取得することができる。ブロックチェーンノードのサブスクリプション要件を示すために、サブスクリプション要求はサブスクリプション条件を含む。クロスチェーン相互作用エンドは、サブスクリプションクライアントへのステータスクエリ要求を開始し、サブスクリプションクライアントによって返されたメッセージキューのキューステータスに基づいて、メッセージキューがサブスクリプション条件を満たすメッセージを含むかどうかを決定することができる。含む場合、クロスチェーン相互作用エンドはメッセージを繰り返し取得する必要はない。含まない場合、クロスチェーン相互作用エンドは、パブリッシングクライアントからサブスクリプション条件を満たすメッセージを取得する必要がある。クロスチェーン相互作用エンドは、第1のブロックチェーン内のブロックチェーンノードがメッセージを消費できるように、メッセージキューへのメッセージを更新するために、パブリッシングクライアントにサブスクリプション条件を満たすメッセージを要求し、パブリッシングクライアントによって返されたメッセージをサブスクリプションクライアントに送信することができる。クロスチェーン相互作用エンドは、パブリッシングクライアントとサブスクリプションクライアントとの間でメッセージを送信するだけで、メッセージに対して永続化処理を実施する必要はない。ある実装形態では、クロスチェーン相互作用エンドは、第1のブロックチェーンおよび第2のブロックチェーンとは無関係のデバイス、ノード、プラットフォームなどで構成することができる。別の実装形態では、クロスチェーン相互作用エンドは、第1のブロックチェーン内のブロックチェーンノード上で構成することができ、これは、関連技術に基づいてブロックチェーンノード上で拡張されたクロスチェーン相互作用機能に相当する。別の実装形態では、クロスチェーン相互作用エンドは、第2のブロックチェーン内のブロックチェーンノード上で構成することができ、これは、関連技術に基づいてブロックチェーンノード上で拡張されたクロスチェーン相互作用機能に相当する。
図5に示される実装形態における、サブスクリプションクライアント、パブリッシングクライアント、クロスチェーン相互作用エンド等に基づいて、第1のブロックチェーン内のブロックチェーンノードに対応するメッセージキューは、ブロックチェーンノードに対応するサブスクリプションクライアントによって維持され、ブロックチェーンノードによるメッセージキュー内の各メッセージの消費ステータスはブロックチェーンノードによって維持され、クロスチェーン相互作用エンド、パブリッシングクライアントなどは、消費ステータスを維持する必要はない。そのため、クロスチェーン相互作用エンド、パブリッシングクライアントなどが、サブスクリプションクライアントに誤った、または無効なメッセージを提供するのを防ぐ。
クロスチェーン相互作用エンドによってサブスクリプションクライアントに提供されるメッセージはパブリッシングクライアントからのものであり、パブリッシングクライアントによって提供されるメッセージは第2のブロックチェーンからのものである。さらに、パブリッシングクライアントはメッセージキューのキューステータスを維持しないため、パブリッシングクライアントはメッセージコンテンツを改ざんすることができない。サブスクリプションクライアントは、第2のブロックチェーン内で維持されているブロックチェーン台帳に基づいてコンテンツを検証できるため、クロスチェーン相互作用エンドがメッセージコンテンツを改ざんしても意味がない。そのため、メッセージコンテンツの信頼性が保証される。しかしながら、状況によっては、クロスチェーン相互作用エンドがサービス拒否攻撃を開始することができ、その結果、サブスクリプションクライアントがパブリッシングクライアントによってパブリッシュされたメッセージを取得できない場合がある。したがって、図6に示されるように、複数の相互に無関係のクロスチェーン相互作用エンドは、サブスクリプションクライアントとパブリッシングクライアントとの間、たとえば、クロスチェーン相互作用エンド1とクロスチェーン相互作用エンド2との間に構成することができる。したがって、たとえクロスチェーン相互作用エンド1がサービス拒否攻撃を開始しても、サブスクリプションクライアントは、クロスチェーン相互作用エンド2を使用することによって、パブリッシングクライアントによってパブリッシュされたメッセージを取得することができる。
理解を容易にするために、本明細書の1つまたは複数の実装形態における技術的解決策を、例としてクロスブロックチェーン関連の転送を使用することによって説明する。図7は、例示的な実装形態による、クロスブロックチェーン関連の転送システムを示す概略構造図である。図7に示されるように、ユーザAがブロックチェーン1内にアカウントA1を、ブロックチェーン2内にアカウントA2を、およびユーザBがブロックチェーン1内にアカウントB1を、ブロックチェーン2内にアカウントB2を有していると仮定する。ブロックチェーン1内のアカウントA1とアカウントB1は、特定のタイプのアセットオブジェクト(RMBなど)を維持するために使用される。ブロックチェーン2内のアカウントA2とアカウントB2は、別のタイプのアセットオブジェクト(証券など)を維持するために使用される。ユーザAがユーザBに証券を販売することを期待している場合、次の関連する転送論理を使用することによって実装することができる。ユーザAが指定された量の証券をアカウントA2からアカウントB2に転送し、次いで、ユーザBが指定された量のRMBをアカウントB1からアカウントA1へ転送する。
転送プロセスの信頼性を向上させるために、対応するスマートコントラクトをブロックチェーン1とブロックチェーン2の各々に設定することができる。このように、前の2つの転送プロセスは自動的に完了し、転送プロセスが迅速かつ正確に完了することを確実にするために、意図的または過失の誤った転送量、あるいはユーザの手動転送プロセスにおける遅延が防止される。本明細書における技術的解決策に基づいて、ブロックチェーン1とブロックチェーン2との間でクロスブロックチェーンのメッセージ交換を実装できるため、ブロックチェーン1が、アカウントA2からアカウントB2への転送動作がブロックチェーン2内で完了したと決定した後、アカウントB1からアカウントA1への転送動作をブロックチェーン1において実行することができる。
図7に示される実装形態では、ブロックチェーン1が、ブロックチェーンノード1、ブロックチェーンノード2、ブロックチェーンノード3などを含むと仮定する。サブスクリプションクライアント1はブロックチェーンノード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内のメッセージの消費ステータスに基づいて、メッセージキュー1〜3のキューステータスを維持することができる。クロスチェーン相互作用エンドとパブリッシングクライアントは、キューステータスを維持する必要はない。パブリッシングクライアントは、ブロックチェーン2内のすべてのパブリッシュ可能なメッセージを取得することができる。クロスチェーン相互作用エンドは、メッセージを対応するメッセージキューに更新するために、サブスクリプションクライアント1〜3にキューステータスを要求し、キューステータスに基づいてパブリッシングクライアントに対応するメッセージを要求することができる。以下では、クロスブロックチェーンのメッセージ交換プロセスについて説明するために、ブロックチェーンノード1を例として使用する。例示的な実装形態による、クロスブロックチェーンメッセージ交換プロセスを示す概略図である。図8に示されるように、メッセージ交換プロセスは以下のステップを含むことができる。
ステップ801。クロスチェーン相互作用エンドは、サブスクリプションクライアント1にキューステータスを要求する。
ステップ802。クロスチェーン相互作用エンドは、サブスクリプションクライアント1によって返されたキューステータスを受信する。
ある実装形態では、サブスクリプションクライアント1は、ブロックチェーンノード1に対応するメッセージキュー(つまり、メッセージキュー1)を維持する。メッセージキューは、ブロックチェーンノード1がサブスクライブするメッセージを含み、キューステータスは、ブロックチェーンノード1による各メッセージの消費ステータスを含むため、クロスチェーン相互作用エンドは、パブリッシングクライアントから取得される必要がある次のメッセージを知ることができる。
特に、ブロックチェーンノード1は、クロスチェーン相互作用エンドへのサブスクリプション要求を開始し、サブスクリプション要求はサブスクリプション条件を含む。例として、ユーザAとユーザBとの間の以前の転送トランザクションを使用する。サブスクリプション条件は、指定された量の証券がアカウントA2からアカウントB2に正常に転送されることであると仮定する。キューステータスを照会した後、クロスチェーン相互作用エンドは、サブスクリプションクライアント1によって維持されているメッセージキューが、サブスクリプション条件を満たすメッセージ、つまり、指定された量の証券がアカウントA2からアカウントB2に転送されたことを示すトランザクション成功メッセージを含むかどうかを決定することができる。サブスクリプション条件を満たすメッセージがすでにある場合、クロスチェーン相互作用エンドはメッセージを繰り返し取得する必要はなく、サブスクリプション要求が正常に応答されたと決定する。サブスクリプション条件を満たすメッセージがない場合、クロスチェーン相互作用エンドは、取得される必要がある次のメッセージが、指定された量の証券がアカウントA2からアカウントB2に転送されたことを示すトランザクション成功メッセージであると決定することができる。クロスチェーン相互作用エンドは、次のメッセージを取得するために、引き続き後続のステップを実施する必要がある。
ステップ803。クロスチェーン相互作用エンドは、メッセージ獲得要求をパブリッシングクライアントに送信する。
ある実装形態では、例として、ユーザAとユーザBとの間の以前の転送トランザクションが使用される。ブロックチェーンノード1が、ブロックチェーン2に、指定された量の証券がアカウントA2からアカウントB2に転送されたことを示すトランザクション成功メッセージをサブスクライブすると仮定する。キューステータスに基づいて、取得される必要がある次のメッセージがトランザクション成功メッセージであると決定すると、クロスチェーン相互作用エンドはトランザクション成功メッセージを取得するために、パブリッシングクライアントへの対応するメッセージ獲得要求を開始することができる。
ステップ804。クロスチェーン相互作用エンドは、パブリッシングクライアントによって返されたメッセージを取得する。
ある実装形態では、パブリッシングクライアントは、クロスチェーン相互作用エンドによって必要とされるメッセージを決定するために、メッセージ獲得要求を解析することができる。パブリッシングクライアントがトランザクション成功メッセージを取得した場合、パブリッシングクライアントはメッセージをクロスチェーン相互作用エンドに直接返すことができる。パブリッシングクライアントがトランザクション成功メッセージを取得しない場合、パブリッシングクライアントはメッセージ獲得が失敗したことをクロスチェーン相互作用エンドに通知することができ、これにより、クロスチェーン相互作用エンドは、あらかじめ定められた期間に基づいて、パブリッシングクライアントがトランザクション成功メッセージを取得するまでクエリを繰り返し実施することができる。あるいは、状況によっては、パブリッシングクライアントがトランザクション成功メッセージを取得しない場合、パブリッシングクライアントはトランザクション成功メッセージを監視し、パブリッシングクライアントが、トランザクション成功メッセージが取得されたと決定した後、トランザクション成功メッセージをクロスチェーン相互作用エンドにアクティブに送信することができる。
ある実装形態では、ブロックチェーン2内のアカウントA2からアカウントB2への転送動作は、スマートコントラクトを呼び出すことによってブロックチェーン2内の特定のブロックチェーンノードによって完了することもでき、あらかじめ定義されたトリガ条件に基づいてスマートコントラクトを自動的にトリガすることによって完了することもできる。本明細書において制限は課されない。
ステップ805。クロスチェーン相互作用エンドは、取得したメッセージをサブスクリプションクライアント1に送信する。
ある実装形態では、クロスチェーン相互作用エンドは、サブスクリプションクライアント1とパブリッシングクライアントとの間のデータ送信のみを担当する。クロスチェーン相互作用エンドは、メッセージキューおよびキューステータスを維持せず、データコンテンツにも注意を払わない。さらに、クロスチェーン相互作用エンドは、データに対して永続化処理を実施する必要がなく、データ送信のための「パイプライン」としてのみ使用される。
ステップ806。サブスクリプションクライアント1は、メッセージキューを維持するために、クロスチェーン相互作用エンドによって送信されたメッセージをメッセージキューに追加する。
ある実装形態では、サブスクリプションクライアント1またはブロックチェーンノード1は、メッセージは信頼性があり、改ざんされていないことを確認するために、受信したメッセージを検証することができる。サブスクリプションクライアント1またはブロックチェーンノード1は、様々な方法を使用することによって検証を実施することができる。本明細書において制限は課されない。たとえば、サブスクリプションクライアント1またはブロックチェーンノード1は、メッセージの送信元のブロックがブロックチェーン2内の最長チェーン上にあるかどうかをチェックすることができ、またブロックに続くブロックの数をチェックすることができる。メッセージの送信元のブロックが最長チェーン上にあり、ブロックに続くブロック数が6以上の場合、サブスクリプションクライアント1またはブロックチェーンノード1は、メッセージの検証が成功したと決定することができる。別の例として、サブスクリプションクライアント1またはブロックチェーンノード1は、PBFTアルゴリズムに基づいて、またはオラクルを使用することによって、メッセージを検証することができる。
実際、ブロックチェーン技術は分散型台帳技術でもあるため、クロスチェーン相互作用エンド、パブリッシングクライアント、またはブロックチェーン2内のいくつかのブロックチェーンノードがメッセージコンテンツを改ざんしても意味がなく、その理由は、ブロックチェーン2内のブロックチェーン台帳に記録された台帳データは影響を受けないためである。したがって、サブスクリプションクライアント1またはブロックチェーンノード1が受信したメッセージを効果的に検証できることが保証される。
ある実装形態では、対応するスマートコントラクトがブロックチェーン1内で事前に作成されていると仮定する。スマートコントラクトのトリガ条件は、トランザクション成功メッセージが取得されることであり、コントラクト動作のコンテンツは、指定された量のRMBがアカウントB1からアカウントA1に転送されることである。サブスクリプションクライアント1によって維持されるメッセージキューからトランザクション成功メッセージを取得した後、ブロックチェーンノード1は、指定された量のRMBをアカウントB1からアカウントA1に自動的に転送するために、スマートコントラクトを自動的に呼び出し、対応するコントラクト動作を開始することができる。このように、ユーザAとユーザBとの間の転送動作は、遅延(データ送信および処理において消費される通常の期間を除く、手動動作によって引き起こされる遅延)なしに確実に完了することができる。
図9は、例示的な実装形態による、デバイスを示す概略構造図である。図9に示されるように、ハードウェアに関して、デバイスは、プロセッサ902、内部バス904、ネットワークインターフェース906、メモリ908、および不揮発性メモリ910を含み、他のサービスによって必要とされるハードウェアを確実にさらに含むことができる。プロセッサ902は、対応するコンピュータプログラムを不揮発性メモリ910からメモリ908に読み込み、次いで、論理の観点からクロスブロックチェーン相互作用のための装置を形成するために、対応するコンピュータプログラムを実行する。確かに、ソフトウェア実装形態に加えて、他の実装形態は、本明細書の1つまたは複数の実装形態、たとえば、論理デバイスまたはハードウェアとソフトウェアの組合せから除外されない。すなわち、以下の処理手順の実行主体は、各論理ユニットに限定されず、ハードウェアまたは論理デバイスであってもよい。
ある実装形態では、図10を参照して、ソフトウェア実装形態において、クロスブロックチェーン相互作用のための装置は、第1ブロックチェーン内のブロックチェーンノードが、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内のメッセージを取得することを可能にする、獲得ユニット1001と、ブロックチェーンノードがメッセージに関連する動作を実行することを可能にする実行ユニット1002とを含むことができる。
任意で、ブロックチェーンノードによって取得されたメッセージは、第2のブロックチェーン内でパブリッシュされるとともにブロックチェーンノードのサブスクリプション条件を満たすメッセージを含む。
任意で、獲得ユニット1001は、ブロックチェーンノードがクロスチェーン相互作用エンドへのサブスクリプション要求を開始することを可能にすることであって、サブスクリプション要求が、クロスチェーン相互作用エンドにサブスクリプション条件を示すために使用され、それによって、クロスチェーン相互作用エンドが、第2のブロックチェーン内でパブリッシュされるとともにサブスクリプション条件を満たすメッセージを取得して、ブロックチェーンノードに対応するサブスクリプションクライアントによって維持されるメッセージキューへのメッセージの追加が行われるようにする、ことと、ブロックチェーンノードがメッセージキュー内のメッセージを取得すること可能にすることとを行うように特に構成される。
任意で、実行ユニット1002は、ブロックチェーンノードが取得したメッセージに関連するコントラクト動作を開始することを可能にするように特に構成される。
別の実装形態では、図11を参照して、ソフトウェア実装形態において、クロスブロックチェーン相互作用のための装置は、サブスクリプションクライアントが、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用することによって、第2のブロックチェーン内でパブリッシュされたメッセージを取得することを可能にするメッセージ獲得ユニット1101であって、メッセージが、第1のブロックチェーン内のブロックチェーンノードによってクロスチェーン相互作用エンドに提供されるサブスクリプション条件を満たす、メッセージ獲得ユニット1101と、サブスクリプションクライアントがメッセージをブロックチェーンノードに提供することを可能にする、メッセージ提供ユニット1102とを含むことができる。
任意で、メッセージ提供ユニット1102は、ブロックチェーンノードがメッセージキューからメッセージを取得できるように、サブスクリプションクライアントが、ブロックチェーンノードに対応するメッセージキューに取得したメッセージを追加することを可能にするように特に構成される。
任意で、本装置は、サブスクリプションクライアントがメッセージキューのキューステータスを維持することを可能にする維持ユニット1103をさらに含む。
メッセージ獲得ユニット1101は、クロスチェーン相互作用エンドがキューステータスに基づいて、サブスクリプション条件を満たすメッセージをメッセージキューが含んでいないと決定するときに、クロスチェーン相互作用エンドが第2のブロックチェーン内でパブリッシュされるとともにサブスクリプション条件を満たすメッセージを取得するように、サブスクリプションクライアントがキューステータスをクロスチェーン相互作用エンドに送信することを可能にするように特に構成される。
任意で、本装置は、サブスクリプションクライアントがクロスチェーン相互作用エンドによって開始されたステータスクエリ要求を受信することを可能にする要求受信ユニット1104をさらに含む。
メッセージ獲得ユニット1101は、サブスクリプションクライアントが、ステータスクエリ要求に応答して、キューステータスをクロスチェーン相互作用エンドに返すことを可能にする。
任意で、本装置は、サブスクリプションクライアントが、サブスクリプションクライアントは、検証が成功した後にブロックチェーンノードにメッセージを提供するために、クロスチェーン相互作用エンドによって提供されたメッセージを検証することを可能にする検証ユニット1105をさらに含む。
任意で、サブスクリプションクライアントはブロックチェーンノード上で構成される。
別の実装形態では、図12を参照して、ソフトウェア実装形態において、クロスブロックチェーン相互作用のための装置は、クロスチェーン相互作用エンドが、第1のブロックチェーン内のブロックチェーンノードによって開始されたサブスクリプション要求を取得することを可能にする獲得ユニット1201であって、サブスクリプション要求が、サブスクリプション条件を含む、獲得ユニット1201と、クロスチェーン相互作用エンドが、メッセージをブロックチェーンノードに提供するために、サブスクリプション条件を満たす第2のブロックチェーン内のメッセージを取得することを可能にする提供ユニット1202とを含むことができる。
任意で、本装置は、クロスチェーン相互作用エンドが、ブロックチェーンノードに対応するサブスクリプションクライアントへのステータスクエリ要求を開始することを可能にするクエリユニット1203であって、サブスクリプションクライアントが、ブロックチェーンノードに対応するメッセージキューを維持する、クエリユニット1203と、クロスチェーン相互作用エンドがキューステータスに基づいて、サブスクリプション条件を満たすメッセージをメッセージキューが含んでいないと決定するときに、クロスチェーン相互作用エンドがサブスクリプション条件を満たす第2のブロックチェーン内のメッセージを取得するように、クロスチェーン相互作用エンドがサブスクリプションクライアントによって返されるメッセージキューのキューステータスを受信することを可能にする受信ユニット1204とをさらに含む。
任意で、獲得ユニット1201は、クロスチェーン相互作用エンドが、第2のブロックチェーンに対応するパブリッシングクライアントに対して、サブスクリプション条件に対応するメッセージ獲得要求を開始することであって、パブリッシングクライアントが、第2のブロックチェーン内で生成されたメッセージを維持するように構成されることを可能にすることと、クロスチェーン相互作用エンドが、パブリッシングクライアントによって返され、メッセージ獲得要求と一致するメッセージを受信することを可能にすることとを行うように特に構成される。
任意で、クロスチェーン相互作用エンドは第1のブロックチェーン内で構成されているか、クロスチェーン相互作用エンドは第2のブロックチェーン内で構成されているか、クロスチェーン相互作用エンドは第1のブロックチェーンおよび第2のブロックチェーンとは無関係のノードで構成されている。
別の実装形態では、図13を参照して、ソフトウェア実装形態において、クロスブロックチェーン相互作用のための装置は、パブリッシングクライアントが、第2のブロックチェーン内のメッセージを取得することを可能にする獲得ユニット1301と、パブリッシングクライアントが、第1のブロックチェーンと第2のブロックチェーンの間のクロスチェーン相互作用エンドを使用することによって、第1のブロックチェーン内のブロックチェーンノードにメッセージを送信することを可能にする送信ユニット1302とを含むことができる。
任意で、獲得ユニット1301は、メッセージ獲得要求は、パブリッシングクライアントが、クロスチェーン相互作用エンドによって開始されたメッセージ獲得要求を受信することであって、メッセージ獲得要求が、ブロックチェーンノードによって提供されるサブスクリプション条件に基づいて、クロスチェーン相互作用エンドによって生成される、ことを可能にすることと、パブリッシングクライアントが、第2のブロックチェーン内にあり、メッセージ獲得要求と一致するメッセージをクロスチェーン相互作用エンドに送信し、これにより、クロスチェーン相互作用エンドがメッセージをブロックチェーンノードに送信することを可能にするように特に構成される。
前述の実装形態において示されたシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用することによって実装することもでき、特定の機能を有する製品を使用することによって実装することもできる。典型的な実装デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであり得る。
典型的な構成では、コンピュータは、1つまたは複数のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース、およびメモリを含む。
メモリは、非永続メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/またはコンピュータ可読媒体における別の形式、たとえば、読取り専用メモリ(ROM)またはフラッシュメモリ(フラッシュRAM)を含むことができる。メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術を使用することによって情報を記憶する永続的、非永続的、移動可能、および移動不可能な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータストレージ媒体は、これらに限定されないが、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラム可能読取り専用メモリ(EEPROM)、フラッシュメモリまたは別のメモリ技術、コンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)または別の光ストレージ、磁気テープ、磁気ディスクストレージ、量子ストレージ、書記素ベースのストレージ媒体、別の磁気ストレージデバイス、あるいは任意の他の非送信媒体を含む。コンピュータストレージ媒体は、コンピューティングデバイスによってアクセスされ得る情報を記憶するために使用することができる。本明細書における定義に基づいて、コンピュータ可読媒体は、一時的な媒体(transitory media)、たとえば、変調されたデータ信号およびキャリアを含まない。
「含む(include)」、「備える(comprise)」、またはそれらの任意の他の変形は、要素のリストを含むプロセス、方法、製品、またはデバイスが、それらの要素だけでなく、明示的にリストされていない他の要素も含むように、またはそのようなプロセス、方法、製品、またはデバイスに固有の要素をさらに含むように、非排他的な組み込みをカバーすることが意図されている点にさらに留意する価値がある。「...を含む(includes a ...)」が前に付いている要素は、制約がなければ、その要素を含むプロセス、方法、製品、またはデバイスに追加の同一の要素が存在することを妨げるものではない。
本明細書の特定の実装形態は、上で説明されている。他の実装形態は、添付の特許請求の範囲に含まれる。状況によっては、特許請求の範囲に記載されたアクションまたはステップは、実装形態における順序とは異なる順序で実施することができ、依然として所望の結果を達成することができる。さらに、添付の図面において提供されるプロセスは、所望の結果を達成するために特定の実行順序を必ずしも必要としない。いくつかの実装形態では、マルチタスクおよび並列処理が有利な場合がある。
本明細書の1つまたは複数の実装形態において使用される用語は、特定の実装形態を説明することのみを目的としており、本明細書の1つまたは複数の実装形態を限定することを意図していない。本明細書の実装形態および添付の特許請求の範囲において使用される単数形の「a」および「the」という用語は、文脈において明確に指定されていない限り、複数形を含むことも意図されている。また、本明細書において使用される「および/または(and/or)」という用語は、1つまたは複数の関連付けられるリストされた項目のいずれかまたはすべての可能な組合せを示し、それらを含むことも理解されたい。
「第1(first)」、「第2(second)」、「第3(second)」などの用語は、本明細書の1つまたは複数の実装形態における様々な情報を説明するために使用できるが、情報は用語に限定されないことを理解されたい。これらの用語は、同じタイプの情報を区別するためにのみ使用される。たとえば、本明細書の1つまたは複数の実装形態の範囲から逸脱することなしに、第1の情報は第2の情報とも呼ばれ、同様に、第2の情報は第1の情報とも呼ばれ得る。たとえば、本明細書で使用される「〜の場合(if)」という単語は、文脈に応じて、「〜する間(while)」、「〜するとき(when)」、または「〜という決定に応じて(in response to determining)」と説明することができる。
前述の説明は、本明細書の1つまたは複数の実装形態における例示的な実装形態にすぎず、本明細書の1つまたは複数の実装形態を限定することを意図したものではない。本明細書の1つまたは複数の実装形態の趣旨および原理から逸脱することなしに行われる任意の修正、同等の交換、改善などは、本明細書の1つまたは複数の実装形態の保護範囲内に含まれるものとする。
図14は、本開示の実装形態による、クロスブロックチェーン相互作用のためのコンピュータで実施される方法1400の例を示すフローチャートである。提示を明確にするために、以下の説明は、一般的に、この説明の他の図面に関連して方法1400を説明している。しかしながら、方法1400は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、または必要に応じてシステム、環境、ソフトウェア、およびハードウェアの組合せによって実施できることが理解されよう。いくつかの実装形態では、方法1400の様々なステップは、並行して、組み合わせて、ループにおいて、または任意の順序で実施することができる。
一般に、図14は、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドを使用して、第1のブロックチェーンが第2のブロックチェーンからメッセージを取得することを可能にする解決策を示している。2つのクロスブロックチェーンでメッセージを交換できるように、クロスチェーン相互作用エンドが存在してもよく、第1のブロックチェーンと第2のブロックチェーンとの間に配置されてもよい。さらに、追加のブロックチェーンは、複数のクロスブロックチェーンの通信を可能にするために、追加または同じクロスチェーン相互作用エンドを使用することができる。本明細書で使用される第2のブロックチェーンは、クロスチェーン相互作用において別のブロックチェーンにメッセージを提供するブロックチェーンを表すが、第1のブロックチェーンはメッセージを受信する任意のブロックチェーンであり得る点に留意されたい。したがって、本明細書で説明するように、異なるブロックチェーンは、特定のメッセージの方向に応じて、第1のブロックチェーンまたは第2のブロックチェーンであり得る。
いくつかの例では、第2のブロックチェーン(すなわち、メッセージの発信元またはパブリッシュ元)は、第2のブロックチェーン内でメッセージをパブリッシュすることができる。第1のブロックチェーンは、いくつかの例では、別のブロックチェーンからの特定のメッセージ、ここでは第2のブロックチェーンがそれらの条件を満たすときを定義するサブスクリプション条件のセットに関連付けられ得る。それらのサブスクリプション条件を実装するために、クロスチェーン相互作用エンドを使用することができる。特定のサブスクリプション条件が満たされているという決定に応答して、クロスチェーン相互作用エンドは、特定のサブスクリプション条件を満たす第2のブロックチェーンからメッセージを取得することができ、取得したメッセージを第1のブロックチェーンに提供する際に支援することができる。そうすることで、ブロックチェーン内の大量のブロックチェーンノードを、1つまたは複数の他のブロックチェーンにおいて監視されるサブスクリプション条件に基づいて調整することができる。
いくつかの例では、クロスチェーン相互作用エンドがサブスクリプションクライアントに関連付けられている場合があり、サブスクリプションクライアントは、特定のサブスクリプション条件をブロックチェーン内の特定のノードにおいて監視できるようにするために、メッセージサブスクリプション機能を提供する。これらのサブスクリプション条件の特定のものが監視され、特定のメッセージによって満たされると決定された場合、サブスクリプションクライアントは、クロスチェーン相互作用エンドに関連してまたは組み合わせてそれらのメッセージを取得することができ、それらの条件に関連付けられる対応するブロックチェーンにそれらのメッセージを提供するチェーン間プロセスを可能にすることができる。いくつかの例では、サブスクリプションクライアントが単一のブロックチェーンノードに関連付けられてもよく、別の場合には、特定のサブスクリプションクライアントが複数のブロックチェーンノードに関連付けられて、対応する機能を維持してもよい。任意の数のサブスクリプションクライアントが、異なるブロックチェーンに含まれてもよく、関連付けられてもよい。
いくつかの例では、サブスクリプションクライアントは、関連付けられるブロックチェーンノードに対応する1つまたは複数のメッセージキューを維持することができる。いくつかの例では、サブスクリプションクライアントはまた、1つまたは複数のメッセージキューでキューステータスを維持することができ、特定のメッセージキューのキューステータスを対応するクロスチェーン相互作用エンドに提供する(または、アクセス可能にする)ことができ、それによって、クロスチェーン相互作用エンドが、対応するメッセージキューから任意のメッセージを取得する必要があるかどうかを決定することを可能にする。
いくつかの例では、サブスクリプション条件に対応する1つまたは複数のメッセージ獲得要求を、第2のブロックチェーンの特定のブロックチェーンノードに関連付けられるパブリッシングクライアントに提供できるという点で、1つまたは複数のパブリッシングクライアントが、サブスクリプションクライアントとは逆または反対の方法で使用され得る。パブリッシングクライアントは、それらのメッセージがサブスクリプション条件に一致するかどうかを決定するために、第2のブロックチェーン内で生成されたメッセージを分析することができる。それらの条件を満たす場合、そのメッセージを第1のブロックチェーンに返すか、提供することを可能にするために、パブリッシングクライアントは通知またはメッセージをクロスチェーン相互作用エンドに送信することができる。パブリッシングクライアントでこれを行う場合、パブリッシングクライアントによる発見または検出時に、任意の関連するメッセージをクロスチェーン相互作用エンドに送信または提供することができるため、メッセージキューは不要であり得る。この解決策は、パブリッシングクライアントに対する関係者の悪意のある行動を防止することができ、メッセージ送信プロセスにおける信頼性を向上させることができる。いくつかの例では、パブリッシングクライアントとサブスクリプションクライアントの両方が同じ相互作用の組合せにおいて使用され得る。
図14の特定の実装形態を参照すると、1402において、サブスクリプション要求は、第1のブロックチェーン内のブロックチェーンノードによって、またはそれに関連付けられて、第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドに生成することができる。1402から、方法1400は1404に進む。
1404において、第2のブロックチェーンからのメッセージは、サブスクリプション要求に基づいて、第1のブロックチェーン内のブロックチェーンノードによって取得される。1404から、方法1400は1406に進む。
いくつかの例では、第2のブロックチェーン内のブロックチェーンノードによって取得されたメッセージは、サブスクリプション要求内で定義されたものなどの、第1のブロックチェーンノードの1つまたは複数のサブスクリプション条件を満たす、第2のブロックチェーン内でパブリッシュされるメッセージを備える。
いくつかの例では、サブスクリプション要求は、クロスチェーン相互作用エンドに1つまたは複数のサブスクリプション条件を示すために使用される。サブスクリプション要求を使用するか、サブスクリプション要求に基づいて、クロスチェーン相互作用エンドは、サブスクリプション条件を満たす第2のブロックチェーン内でパブリッシュされるメッセージを取得する。次いで、取得したメッセージを、第1のブロックチェーンのブロックチェーンノードに対応するサブスクリプションクライアントによって維持されるメッセージキューに追加することができる。
1406において、メッセージに関連する動作は、第1のブロックチェーン内のブロックチェーンノードによって実施される。
いくつかの例では、メッセージに関連する動作を実施するステップは、第1のブロックチェーンノードのブロックチェーンノードによって、取得したメッセージに関連するコントラクト動作を開始するステップを含むことができる。たとえば、コントラクト動作は、新しい受取人にある金額を送るなどの、実施されるべき新しい動作を含み得る。取得したメッセージが第1のブロックチェーンのブロックチェーンノードにおいて受信されると、対応するコントラクト動作が自動的に開始されるように、コントラクト動作はスマートコントラクトに関連付けられ得る。それぞれが異なるブロックチェーンに関連付けられる異なるアカウント間の転送の場合、異なるブロックチェーンに関連付けられるユーザ間の転送動作を遅延(たとえば、データ送信および処理において消費される通常の期間を除く、手動動作から)なしに確実に完了することができる。1406の後、方法1400は停止することができる。
方法1400のいくつかの例では、第1のブロックチェーンのブロックチェーンノードは、サブスクリプションクライアントに対応する。それらの例では、サブスクリプションクライアントはメッセージキューのキューステータスを維持することができる。それらの例では、メッセージを取得することは、サブスクリプションクライアントによって、キューステータスをクロスチェーン相互作用エンドに送信することを含み得る。クロスチェーン相互作用エンドは、クロスチェーン相互作用エンドがキューステータスに基づいて、サブスクリプション条件を満たすメッセージをメッセージキューが含んでいないと決定するときに、サブスクリプション条件を満たす、第2のブロックチェーン内でパブリッシュされたメッセージを取得することができる。前述のように、サブスクリプション要求は1つまたは複数のサブスクリプション条件を備えることができる。いくつかの例では、サブスクリプション条件は、サブスクリプションクライアントとブロックチェーンノードとの間の1対1のマッピング関係を備える。
いくつかの例では、第2のブロックチェーンはパブリッシングクライアントに対応する。
本明細書で説明される実施形態および動作は、本明細書で開示される構造またはそれらの1つまたは複数の組合せを含む、デジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェアで実装することができる。動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶された、または他のソースから受信したデータに対してデータ処理装置によって実施される動作として実装することができる。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例として、前述のプログラム可能なプロセッサ、コンピュータ、チップ上のシステム、または複数のもの、あるいは前述したものの組合せを含む、データを処理するための装置、デバイス、およびマシンを包含し得る。装置は、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)などの専用論理回路を含むことができる。装置はまた、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえば、オペレーティングシステムまたはオペレーティングシステムの組合せ)、クロスプラットフォームのランタイム環境、仮想マシン、あるいはそれらの1つまたは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの、様々なコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)は、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、またスタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットとしてなどを含む、任意の形式で展開することができる。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一ファイル、または複数の調整ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、1つのサイトに配置されているか、複数のサイトに分散され、通信ネットワークによって相互接続されている複数のコンピュータ上で実行することができる。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイスを含むか、あるいはそれらからデータを受信するか、それらにデータを転送するために、またはその両方のために、動作可能に結合される。コンピュータは、別のデバイス、たとえばモバイルデバイス、携帯情報端末(PDA)、ゲーム機、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスに埋め込むことができる。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および光磁気ディスクを含む、不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されてもよく、またはそれに組み込まれてもよい。
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、モバイル電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマート眼鏡)、人体に埋め込まれたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含むことができる。モバイルデバイスは、ワイヤレスで(たとえば、無線周波数(RF)信号を使用して)様々な通信ネットワークと通信することができる(以下で説明する)。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含むことができる。センサは、カメラ、マイク、近接センサ、GPSセンサ、モーションセンサ、加速度計、環境光センサ、湿度センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよびセル無線)、熱センサ、または他のタイプのセンサを含むことができる。たとえば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを備えた前向きまたは後向きカメラを含むことができる。カメラは、顔および/または虹彩の認識のために詳細をキャプチャできるメガピクセルカメラであり得る。カメラとデータプロセッサ、およびメモリに記憶されているか、リモートでアクセスされる認証情報は、顔認識システムを形成することができる。顔認識システムあるいは1つまたは複数のセンサ、たとえば、マイク、モーションセンサ、加速度計、GPSセンサ、またはRFセンサをユーザ認証のために使用することができる。
ユーザとの相互作用を提供するために、実施形態は、ディスプレイデバイスおよび入力デバイス、たとえば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびにタッチスクリーン、キーボード、およびユーザがコンピュータに入力を提供できるポインティングデバイスを有するコンピュータ上で実装することができる。ユーザとの相互作用を提供するために、他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形式の感覚的フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信したリクエストに応じて、ユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
実施形態は、任意の形式または媒体のワイヤラインまたはワイヤレスのデジタルデータ通信(または、それらの組合せ)、たとえば通信ネットワークによって相互接続されたコンピューティングデバイスを使用して実装することができる。相互接続されたデバイスの例は、一般的に互いに離れており、通常は通信ネットワークを介して相互作用する、クライアントとサーバである。クライアント、たとえばモバイルデバイスは、サーバ自体を使用して、またはサーバを通じて、トランザクション自体を実行することができ、たとえば、購入、販売、支払い、贈与、送信、ローンのトランザクションを実行したり、トランザクションを承認したりできる。そのようなトランザクションは、アクションと応答が時間的に近接するようにリアルタイムであり得、たとえば、個人がアクションと応答が実質的に同時に発生していることを認識し、個人のアクション後の応答の時間差が1ミリ秒(ms)未満または1秒(s)未満、あるいは応答がシステムの処理制限を考慮に入れて意図的な遅延がない。
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含むことができる。情報は、ロングタームエボリューション(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコル、あるいはプロトコルの組合せを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信することができる。通信ネットワークは、接続されたコンピューティングデバイス間で音声、ビデオ、生体認証、認証データ、または他の情報を送信することができる。
個別の実装形態として説明された機能は、組み合わせて、単一の実装形態において実装することができ、一方、単一の実装形態として説明された機能は、複数の実装形態において、個別に、または任意の適切なサブコンビネーションにおいて実装され得る。特定の順序で説明および主張されている動作は、特定の順序を必要とする、またはすべての図示された動作が実施される必要があると理解されるべきではない(一部の動作は任意であり得る)。必要に応じて、マルチタスクまたは並列処理(または、マルチタスクおよび並列処理の組合せ)を実施することができる。
902 プロセッサ
904 内部バス
906 ネットワークインターフェース
908 メモリ
910 不揮発性メモリ
1001 獲得ユニット
1002 実行ユニット
1101 メッセージ獲得ユニット
1102 メッセージ提供ユニット
1103 維持ユニット
1104 要求受信ユニット
1105 検証ユニット
1201 獲得ユニット
1202 提供ユニット
1203 クエリユニット
1204 受信ユニット
1301 獲得ユニット
1302 送信ユニット
1400 方法

Claims (11)

  1. クロスブロックチェーン相互作用のための方法であって、
    第1のブロックチェーン内のブロックチェーンノードによって、前記第1のブロックチェーンと第2のブロックチェーンとの間のクロスチェーン相互作用エンドへのサブスクリプション要求を開始するステップ(102)と、
    前記ブロックチェーンノードによって、前記サブスクリプション要求に基づいて前記第2のブロックチェーンからメッセージを取得するステップ(102)と、
    前記ブロックチェーンノードによって、前記メッセージに関連する動作を実行するステップ(104)とを含む、
    方法。
  2. 前記ブロックチェーンノードによって取得された前記メッセージが、前記第2のブロックチェーン内でパブリッシュされるとともに前記ブロックチェーンノードのサブスクリプション条件を満たすメッセージを含む、
    請求項1に記載の方法。
  3. 前記サブスクリプション要求が、前記クロスチェーン相互作用エンドにサブスクリプション条件を示すために使用され、それによって、前記クロスチェーン相互作用エンドが、前記第2のブロックチェーン内でパブリッシュされるとともに前記サブスクリプション条件を満たすメッセージを取得して、前記ブロックチェーンノードに対応するサブスクリプションクライアントによって維持されるメッセージキューへの前記メッセージの追加が行われるようにする、
    請求項1に記載の方法。
  4. 前記ブロックチェーンノードによって、前記メッセージに関連する動作を実行するステップが、
    前記ブロックチェーンノードによって、前記取得したメッセージに関連するコントラクト動作を開始するステップを含む、
    請求項1に記載の方法。
  5. 前記ブロックチェーンノードが、サブスクリプションクライアントに対応する、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記サブスクリプションクライアントによって、メッセージキューのキューステータスを維持するステップをさらに含む、
    請求項5に記載の方法。
  7. 前記メッセージを取得するステップが、
    前記クロスチェーン相互作用エンドが前記キューステータスに基づいて、サブスクリプション条件を満たすメッセージを前記メッセージキューが含んでいないと決定するときに、前記クロスチェーン相互作用エンドが前記第2のブロックチェーン内でパブリッシュされるとともに前記サブスクリプション条件を満たすメッセージを取得するように、前記サブスクリプションクライアントによって、前記キューステータスを前記クロスチェーン相互作用エンドに送信するステップを含む、
    請求項6に記載の方法。
  8. 前記サブスクリプション要求がサブスクリプション条件を含む、
    請求項7に記載の方法。
  9. 前記サブスクリプション条件が、サブスクリプションクライアントとブロックチェーンノードとの間の1対1のマッピング関係を含む、
    請求項8に記載の方法。
  10. 前記第2のブロックチェーンがパブリッシングクライアントに対応する、
    請求項1に記載の方法。
  11. クロスブロックチェーン相互作用のための装置であって、請求項1から10のいずれか一項に記載の方法を実施するように構成された複数のモジュールを備える、
    装置。
JP2020529500A 2018-02-27 2019-02-26 クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス Active JP6878699B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810162070.5 2018-02-27
CN201810162070.5A CN108415784B (zh) 2018-02-27 2018-02-27 跨区块链的交互方法及装置、系统、电子设备
PCT/US2019/019520 WO2019168818A1 (en) 2018-02-27 2019-02-26 Method, apparatus, system, and electronic device for cross-blockchain interaction

Publications (2)

Publication Number Publication Date
JP2021507336A true JP2021507336A (ja) 2021-02-22
JP6878699B2 JP6878699B2 (ja) 2021-06-02

Family

ID=63129200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020529500A Active JP6878699B2 (ja) 2018-02-27 2019-02-26 クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス

Country Status (11)

Country Link
US (2) US10862899B2 (ja)
EP (1) EP3701483B1 (ja)
JP (1) JP6878699B2 (ja)
KR (1) KR102340221B1 (ja)
CN (2) CN111782725A (ja)
AU (1) AU2019228483B2 (ja)
CA (1) CA3083815C (ja)
PH (1) PH12020550721A1 (ja)
SG (2) SG10202102907WA (ja)
TW (1) TWI701617B (ja)
WO (1) WO2019168818A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023097093A1 (en) * 2021-11-29 2023-06-01 Marketx Llc Systems and methods for automated staking models

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782725A (zh) 2018-02-27 2020-10-16 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
CN110868441B (zh) * 2018-08-28 2021-03-16 傲为信息技术(江苏)有限公司 区块链公链的维护方法、装置、节点及区块链公链
CN109257342B (zh) 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质
CN109088881B (zh) * 2018-09-12 2020-11-03 杭州趣链科技有限公司 一种实现跨平台数据交换的共享链平台及数据交换方法
CN109218019B (zh) * 2018-09-19 2021-11-12 上海洲澜科技有限公司 一种不同区块链之间的跨链交易操作系统
CN109391690A (zh) * 2018-10-18 2019-02-26 尚维斯 一种单账户加入多条区块链的方法
CN109413173A (zh) * 2018-10-18 2019-03-01 尚维斯 一种单节点加入多条链的方法
PL3549324T3 (pl) 2018-11-16 2021-07-19 Advanced New Technologies Co., Ltd. Schemat zarządzania nazwą domeny dla interakcji międzyłańcuchowych w systemach łańcuchów bloków
BR112019007991A2 (pt) * 2018-11-16 2019-09-10 Alibaba Group Holding Ltd método implementado por computador de um relé para interações de cadeia cruzada em uma rede de protocolo de confiança unificada, meio de armazenamento legível por computador, não transitório e sistema
CN109587237B (zh) * 2018-12-03 2019-11-26 爱立信(中国)通信有限公司 记录并提供数据的方法,网络节点及网络
CN109600367A (zh) * 2018-12-07 2019-04-09 众安信息技术服务有限公司 用于实现跨链消息处理的方法以及设备
CN109784881A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链支付方案
CN109784921A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链通信机制
CN109873861B (zh) * 2019-01-11 2022-04-12 平安科技(深圳)有限公司 跨区块链节点的交互方法及装置、存储介质及电子设备
CN110035081A (zh) * 2019-04-11 2019-07-19 中国电子科技集团公司电子科学研究院 一种基于区块链的发布/订阅体系架构
WO2020232012A1 (en) * 2019-05-14 2020-11-19 Planaria Corp. Blockchain cache system
CN110166249B (zh) * 2019-05-14 2022-03-04 数字钱包(北京)科技有限公司 一种信息传输方法、装置、验证端及计算机可读存储介质
CN110443704B (zh) * 2019-06-28 2021-02-19 创新先进技术有限公司 一种跨链发送资源的方法和装置
US11336451B2 (en) 2019-06-28 2022-05-17 Advanced New Technologies Co., Ltd. Cross-blockchain resource transmission
CN110609755A (zh) * 2019-08-02 2019-12-24 平安科技(深圳)有限公司 跨区块链节点的消息处理方法及装置、设备、介质
CN110597907B (zh) * 2019-09-10 2021-10-29 腾讯科技(深圳)有限公司 跨区块链的数据信息同步方法、装置、设备及介质
CN112491777B (zh) * 2019-09-12 2022-05-20 戴科冕 跨区块链身份认证方法、计算机设备及可读存储介质
CN110740044B (zh) * 2019-10-30 2021-10-12 北京海益同展信息科技有限公司 数据处理方法、装置、系统和存储介质
CN113111389A (zh) * 2020-01-13 2021-07-13 梅特勒-托利多(常州)精密仪器有限公司 测量设备的信息管理方法及装置
CN111159307B (zh) * 2020-04-02 2020-07-24 支付宝(杭州)信息技术有限公司 跨链数据订阅方法及装置
CN111680996B (zh) * 2020-05-28 2023-09-22 中国工商银行股份有限公司 基于区块链的生活缴费数据处理方法、装置及系统
CN111756823A (zh) * 2020-06-12 2020-10-09 山西警察学院 基于简化拜占庭容错算法的应用于公安系统的开放许可链
CN111770102B (zh) * 2020-07-01 2022-07-19 中国建设银行股份有限公司 一种区块链跨链方法、装置、计算机设备及存储介质
CN112118292A (zh) * 2020-08-13 2020-12-22 北京新盛云佳科技有限公司 用于跨链通信的方法、装置、网络节点和存储介质
WO2022048589A1 (zh) * 2020-09-03 2022-03-10 中国银联股份有限公司 数据获取方法、装置、设备和介质
US11310187B2 (en) 2020-09-22 2022-04-19 International Business Machines Corporation Cooperative messaging environments
CN112532393A (zh) * 2020-11-20 2021-03-19 杭州趣链科技有限公司 一种跨链交易的验证方法、中继链节点设备及介质
EP4062357A4 (en) * 2020-11-25 2022-11-16 Alipay (Hangzhou) Information Technology Co., Ltd. BLOCKCHAIN-BASED TRUSTED PLATFORM
CN112994892B (zh) * 2020-12-17 2023-06-09 中国工商银行股份有限公司 跨链交互方法、装置、系统和电子设备
CN112948153B (zh) * 2021-05-14 2021-08-10 支付宝(杭州)信息技术有限公司 一种消息跨链传输的方法和装置
US11625698B2 (en) 2021-06-01 2023-04-11 Bank Of America Corporation Intelligent distributed ledger consent optimizing apparatus for asset transfer
CN113409145B (zh) * 2021-06-18 2022-04-22 支付宝(杭州)信息技术有限公司 一种跨区块链的交易同步方法和装置
CN114157671A (zh) * 2021-11-26 2022-03-08 支付宝(杭州)信息技术有限公司 将区块链网络承载的信息向多个客户端节点分发的方法
CN114257487B (zh) * 2021-11-26 2024-03-29 蚂蚁区块链科技(上海)有限公司 管理网络节点集的系统和方法
CN114006911B (zh) * 2021-12-31 2022-04-26 杭州趣链科技有限公司 数据处理方法、装置、终端设备及存储介质
CN116166126B (zh) * 2023-04-23 2023-09-01 中国信息通信研究院 基于区块链的人机交互方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
US20170046652A1 (en) * 2015-08-13 2017-02-16 The Toronto-Dominion Bank Systems and method for tracking behavior of networked devices using hybrid public-private blockchain ledgers
WO2017079218A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
JP2018501548A (ja) * 2014-11-21 2018-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パブリッシュ/サブスクライブ・メッセージングのための方法およびシステムならびにコンピュータ・プログラム(メッセージ構造を使用したパブリッシュ/サブスクライブ・メッセージング)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184949A1 (en) * 2005-02-15 2006-08-17 International Business Machines Corporation Methods, systems, and storage mediums for timing work requests and completion processing
WO2008060077A1 (en) * 2006-11-15 2008-05-22 Samsung Electronics Co., Ltd. Method and apparatus for buffer status report in mobile communication system
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
KR101528991B1 (ko) * 2011-01-11 2015-06-15 애플 인크. 실시간 또는 준 실시간 스트리밍
US9426115B1 (en) * 2012-10-15 2016-08-23 Solace Systems, Inc. Message delivery system and method with queue notification
CN104092767B (zh) * 2014-07-21 2017-06-13 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
CN104954469B (zh) * 2015-06-19 2018-07-24 长沙廖氏软件科技有限公司 一种异构系统信息交换方法
US9734473B2 (en) * 2015-09-03 2017-08-15 Sas Institute Inc. Computer-implemented system for hierarchical unconstraining in data processes
KR20170086933A (ko) * 2016-01-19 2017-07-27 엘에스산전 주식회사 전력시스템에서의 발행장치 및 구독장치
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US10657225B2 (en) 2016-12-29 2020-05-19 Red Hat, Inc. Providing blockchain-based subscription-as-a-service management
CN110050474A (zh) 2016-12-30 2019-07-23 英特尔公司 用于物联网网络中的复合对象的子对象的类型命名和区块链
US10552601B2 (en) 2017-01-18 2020-02-04 Red Hat, Inc. Deferred subscription activation using blockchain
US20180220292A1 (en) 2017-01-30 2018-08-02 Sap Se Blockchain-Based Subscription Management
CN107341702B (zh) * 2017-03-08 2020-06-23 创新先进技术有限公司 一种业务处理的方法及装置
CN106991164A (zh) * 2017-03-31 2017-07-28 北京京东金融科技控股有限公司 基于区块链的用于金融数据处理的方法、装置及电子设备
KR102414732B1 (ko) 2017-04-05 2022-06-28 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
CN107239940A (zh) * 2017-05-11 2017-10-10 北京博晨技术有限公司 基于区块链系统的网络交易方法及装置
CN107292735A (zh) * 2017-05-27 2017-10-24 唐盛(北京)物联技术有限公司 一种基于区块链技术的抵押融资方法及系统
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107679857B (zh) * 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN111782725A (zh) 2018-02-27 2020-10-16 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
US20190050854A1 (en) 2018-09-28 2019-02-14 Intel Corporation Blockchain-based digital data exchange

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018501548A (ja) * 2014-11-21 2018-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パブリッシュ/サブスクライブ・メッセージングのための方法およびシステムならびにコンピュータ・プログラム(メッセージ構造を使用したパブリッシュ/サブスクライブ・メッセージング)
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
US20170046652A1 (en) * 2015-08-13 2017-02-16 The Toronto-Dominion Bank Systems and method for tracking behavior of networked devices using hybrid public-private blockchain ledgers
WO2017079218A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023097093A1 (en) * 2021-11-29 2023-06-01 Marketx Llc Systems and methods for automated staking models

Also Published As

Publication number Publication date
PH12020550721A1 (en) 2021-03-08
SG10202102907WA (en) 2021-04-29
US10862899B2 (en) 2020-12-08
TW201937417A (zh) 2019-09-16
CN111782725A (zh) 2020-10-16
SG11202004745SA (en) 2020-06-29
AU2019228483B2 (en) 2021-05-06
CA3083815C (en) 2022-07-26
EP3701483B1 (en) 2022-11-30
AU2019228483A1 (en) 2020-06-18
KR20200083527A (ko) 2020-07-08
CN108415784A (zh) 2018-08-17
WO2019168818A1 (en) 2019-09-06
JP6878699B2 (ja) 2021-06-02
US20200145431A1 (en) 2020-05-07
CN108415784B (zh) 2020-04-24
US20190268351A1 (en) 2019-08-29
KR102340221B1 (ko) 2021-12-16
TWI701617B (zh) 2020-08-11
EP3701483A1 (en) 2020-09-02
US10785232B2 (en) 2020-09-22
CA3083815A1 (en) 2019-09-06

Similar Documents

Publication Publication Date Title
JP6878699B2 (ja) クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス
EP3701413B1 (en) Cross-blockchain interaction method, apparatus, system, and electronic device
KR102228965B1 (ko) 블록체인 기반 스마트 계약 호출 방법과 장치, 및 전자 디바이스
CA3083819C (en) Cross-blockchain authentication method, apparatus, and electronic device
EP3533177B1 (en) Multi-blockchain network data processing method, apparatus, and server
US11290281B2 (en) Asset management method and apparatus, and electronic device
US11188961B2 (en) Service execution method and device
US20190324867A1 (en) Blockchain-based consensus method and device
KR20200088827A (ko) 블록체인 기반 스마트 계약 호출 방법 및 장치, 전자 디바이스
KR20200085798A (ko) 블록체인에 기반한 트랜잭션을 실행하기 위한 방법, 장치, 및 전자 디바이스

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200814

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200727

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200814

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210428

R150 Certificate of patent or registration of utility model

Ref document number: 6878699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150