JP6929497B2 - クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス - Google Patents

クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス Download PDF

Info

Publication number
JP6929497B2
JP6929497B2 JP2020529629A JP2020529629A JP6929497B2 JP 6929497 B2 JP6929497 B2 JP 6929497B2 JP 2020529629 A JP2020529629 A JP 2020529629A JP 2020529629 A JP2020529629 A JP 2020529629A JP 6929497 B2 JP6929497 B2 JP 6929497B2
Authority
JP
Japan
Prior art keywords
blockchain
message
cross
client
interaction end
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.)
Active
Application number
JP2020529629A
Other languages
English (en)
Other versions
JP2021504847A (ja
Inventor
ホンリン・チウ
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
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 アドバンスド ニュー テクノロジーズ カンパニー リミテッド, アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2021504847A publication Critical patent/JP2021504847A/ja
Application granted granted Critical
Publication of JP6929497B2 publication Critical patent/JP6929497B2/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
    • 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]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/133Protocols for remote procedure calls [RPC]
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連出願の相互参照
本願は、その全体が参照により本明細書に組み込まれる、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によって各メッセージを消費することのステータスを含み、その結果、クロスブロックチェーンインタラクション端は、クロスブロックチェーンインタラクション端は消費ステータスに基づいて発行側クライアントから取得するように要求する必要のある次のメッセージを知ることができる。
具体的には、ブロックチェーンノード1はクロスブロックチェーンインタラクション端に対するサブスクリプション要求を開始し、サブスクリプション要求はサブスクリプション条件を含む。ユーザAとユーザBの間の譲渡トランザクションの先に説明した例では、サブスクリプション条件は、アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功して完了することであると仮定する。この場合、クロスブロックチェーンインタラクション端は、キューステータスを問い合わせることによって、購読側クライアント1によって維持されるメッセージキューがサブスクリプション条件を満たすメッセージ、すなわち、アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功したことを示すメッセージを含むか否かを判定できる。サブスクリプション条件を満たすメッセージが存在する場合、クロスブロックチェーンインタラクション端は再度メッセージを取得する必要がなく、レスポンスはサブスクリプション要求に対して成功したと決定する。サブスクリプション条件を満たすメッセージが存在しない場合、クロスブロックチェーンインタラクション端は、取得されるべき次のメッセージが、アカウントA2からアカウントB2への指定された数の証券を譲渡することのトランザクションが成功したと示すメッセージであると決定でき、次のメッセージを取得するために続くステップを実行する必要がある。
ステップ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 署名追加ユニット

Claims (17)

  1. 第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
    前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
    前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
    前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
    前記第1のブロックチェーンに関連する前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記第1のブロックチェーンに関連する前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
    を含む、コンピュータ実装方法。
  2. 前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項1に記載のコンピュータ実装方法。
  3. 前記メッセージを取得するステップの前に、
    前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
    前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
    前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
    前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  4. 前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
    前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
    前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  5. 前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項1に記載のコンピュータ実装方法。
  6. 前記メッセージキューが更新されたと決定される場合、前記ブロックチェーンノードが前記第1のスマートコントラクトを呼び出す、請求項5に記載のコンピュータ実装方法。
  7. 動作を実行するためのコンピュータシステムによって実行可能な1つまたは複数の命令を格納する非一時的コンピュータ可読記憶媒体であって、前記動作が、
    第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
    前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
    前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
    前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
    前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために、前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
    を含む、非一時的コンピュータ可読記憶媒体。
  8. 前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  9. 前記メッセージを取得するステップの前に、
    前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
    前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
    前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
    前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
    をさらに含む、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  10. 前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
    前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
    前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
    をさらに含む、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記メッセージキューが更新されたと決定される場合、前記ブロックチェーンノードが前記第1のスマートコントラクトを呼び出す、請求項11に記載の非一時的コンピュータ可読記憶媒体。
  13. 1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータと相互動作可能に結合され、1つまたは複数の命令を格納した有形の非一時的マシン可読記憶媒体を有する1つまたは複数のコンピュータメモリデバイスとを備えるコンピュータ実装システムであって、
    前記1つまたは複数の命令が、前記1つまたは複数のコンピュータによって実行されると、1つまたは複数の動作を実行し、1つまたは複数の動作が、
    第1のブロックチェーンに関連するブロックチェーンノードによって開始されたサブスクリプション要求を、クロスブロックチェーンインタラクション端によって受信するステップであって、前記サブスクリプション要求がサブスクリプション条件を含む、ステップと、
    前記サブスクリプション条件を満たすメッセージを、第2のブロックチェーンに対応する発行クライアントから前記クロスブロックチェーンインタラクション端によって取得するステップであって、前記サブスクリプション条件を満たすメッセージを取得するステップが、
    前記発行クライアントにメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記メッセージ獲得要求が前記サブスクリプション条件に一致する、ステップと、
    前記メッセージを前記発行クライアントから、前記クロスブロックチェーンインタラクション端において受信するステップであって、前記メッセージが前記メッセージ獲得要求に一致し、前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、受信するステップとを含む、ステップと、
    前記ブロックチェーンノードに対応するサブスクライブクライアントに前記メッセージを、前記クロスブロックチェーンインタラクション端から送信するステップであって、前記ブロックチェーンノードが、前記メッセージに基づいて対応するコントラクト動作をトリガするために、前記第1のブロックチェーンに関連する第1のスマートコントラクトを呼び出す、ステップと
    を含む、コンピュータ実装システム。
  14. 前記メッセージが前記第2のブロックチェーンに関連する第2のスマートコントラクトによって生成される、請求項13に記載のコンピュータ実装システム。
  15. 前記メッセージを取得するステップの前に、
    前記サブスクライブクライアントへのステータス問い合わせ要求を、前記クロスブロックチェーンインタラクション端によって開始するステップであって、前記サブスクライブクライアントが、前記ブロックチェーンノードに対応するメッセージキューを維持する、ステップと、
    前記サブスクライブクライアントから前記メッセージキューに関連するキューステータスを、前記クロスブロックチェーンインタラクション端によって受信するステップと、
    前記メッセージキューが、前記受信したキューステータスに基づいて前記サブスクリプション条件を満たすメッセージを含むか否かを、前記クロスブロックチェーンインタラクション端によって判定するステップと、
    前記メッセージキューが前記サブスクリプション条件を満たすメッセージを含まないと決定される場合、前記第2のブロックチェーンに対応する前記発行クライアントから前記サブスクリプション条件を満たすメッセージを含む別のメッセージを、前記クロスブロックチェーンインタラクション端によって取得するステップと
    をさらに含む、請求項13に記載のコンピュータ実装システム。
  16. 前記発行クライアントにメッセージ獲得要求を送信するステップの前に、
    前記発行クライアントによって提供されたクエリインターフェースを使用して前記クロスブロックチェーンインタラクション端によって、前記第2のブロックチェーンの所定のストレージ領域が前記サブスクリプション条件を満たす特定のメッセージを含むか否かについて問い合わせるステップであって、前記所定のストレージ領域が、前記第2のブロックチェーンに対応する第2のスマートコントラクトによって生成された複数のメッセージを格納する、ステップと、
    前記所定のストレージ領域が前記特定のメッセージを含むと決定される場合、前記発行クライアントへのメッセージ獲得要求を、前記クロスブロックチェーンインタラクション端によって開始して、前記所定のストレージ領域から前記サブスクリプション条件を満たす前記特定のメッセージを取得するステップと
    をさらに含む、請求項13に記載のコンピュータ実装システム。
  17. 前記メッセージが、前記発行クライアントによって追加された署名を含み、前記サブスクライブクライアントが前記署名を検証した後、特定のメッセージキューに前記メッセージを追加することによって、前記サブスクライブクライアントが前記ブロックチェーンノードに対応するメッセージキューを更新する、請求項13に記載のコンピュータ実装システム。
JP2020529629A 2018-04-03 2019-03-28 クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス Active JP6929497B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810290446.0A CN108848119B (zh) 2018-04-03 2018-04-03 跨区块链的交互方法及装置、系统、电子设备
CN201810290446.0 2018-04-03
PCT/US2019/024520 WO2019195071A1 (en) 2018-04-03 2019-03-28 Cross-blockchain interaction method, apparatus, system, and electronic device

Publications (2)

Publication Number Publication Date
JP2021504847A JP2021504847A (ja) 2021-02-15
JP6929497B2 true JP6929497B2 (ja) 2021-09-01

Family

ID=64211796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020529629A Active JP6929497B2 (ja) 2018-04-03 2019-03-28 クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス

Country Status (11)

Country Link
US (2) US10615964B2 (ja)
EP (1) EP3701413B1 (ja)
JP (1) JP6929497B2 (ja)
KR (1) KR102215248B1 (ja)
CN (2) CN108848119B (ja)
AU (1) AU2019248524C1 (ja)
CA (1) CA3084080C (ja)
PH (1) PH12020550739A1 (ja)
SG (1) SG11202004836UA (ja)
TW (1) TWI710979B (ja)
WO (1) WO2019195071A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3065319A1 (en) 2017-06-01 2018-12-06 Schvey, Inc. d/b/a/ Axoni Distributed privately subspaced blockchain data structures with secure access restriction management
US10476847B1 (en) 2017-12-08 2019-11-12 Symbiont.Io, Inc. Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform
CN108848119B (zh) 2018-04-03 2020-04-28 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
CN109614823B (zh) 2018-10-26 2022-05-13 蚂蚁双链科技(上海)有限公司 一种数据的处理方法、装置及设备
CN110008686B (zh) * 2018-11-16 2020-12-04 创新先进技术有限公司 跨区块链的数据处理方法、装置、客户端、区块链系统
CN111224793B (zh) * 2018-11-27 2021-06-01 华为技术有限公司 数据存储方法、装置、计算机设备及可读存储介质
CN109446273B (zh) * 2018-12-04 2022-07-22 深圳前海环融联易信息科技服务有限公司 区块链的数据同步方法、装置、计算机设备及存储介质
CN109600367A (zh) * 2018-12-07 2019-04-09 众安信息技术服务有限公司 用于实现跨链消息处理的方法以及设备
CN110009369A (zh) * 2018-12-20 2019-07-12 阿里巴巴集团控股有限公司 容器检验方法及装置、电子设备
CN110032599B (zh) * 2018-12-20 2020-05-05 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
BR112019016064A2 (pt) 2018-12-28 2020-03-31 Alibaba Group Holding Limited Método implementado por computador, meio de armazenamento legível e sistema
MX2019009344A (es) 2018-12-28 2019-10-02 Alibaba Group Holding Ltd Ejecucion paralela de transacciones en una red de cadena de bloques con base en listas blancas de contratos inteligentes.
CN109873861B (zh) * 2019-01-11 2022-04-12 平安科技(深圳)有限公司 跨区块链节点的交互方法及装置、存储介质及电子设备
US20220123947A1 (en) * 2019-01-18 2022-04-21 Zeu Technologies, Inc. A Method for Generating Random Numbers in Blockchain Smart Contracts
US10901983B2 (en) * 2019-03-01 2021-01-26 Wanchain Ltd. System and method for universal blockchain interoperability
CN109857580B (zh) * 2019-03-12 2022-06-07 深圳市迅雷网络技术有限公司 区块链跨链合约调用方法、装置及存储介质
CN109981679B (zh) * 2019-04-08 2021-08-10 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
WO2020210721A1 (en) 2019-04-12 2020-10-15 Symbiont.Io, Inc. Systems, devices, and methods for dlt-based data management platforms and data products
CN110098979B (zh) * 2019-04-16 2023-04-14 深圳前海微众银行股份有限公司 一种基于区块链的短链接消息监听方法及装置
CN110892696B (zh) * 2019-04-19 2021-08-27 创新先进技术有限公司 在区块链网络之间建立通信的方法和设备
US20200349564A1 (en) * 2019-04-30 2020-11-05 Salesforce.Com, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
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
CN110247842A (zh) * 2019-06-28 2019-09-17 江苏物联网研究发展中心 一种基于消息订阅机制的通讯方法
WO2021018048A1 (zh) 2019-07-26 2021-02-04 华为技术有限公司 一种跨链交易方法和装置
JP2022544131A (ja) * 2019-08-06 2022-10-17 ゼットイーユー・テクノロジーズ・インコーポレイテッド 分散ブロックチェーントランザクションシステム
CN110442652B (zh) * 2019-08-15 2021-09-21 腾讯科技(深圳)有限公司 一种基于区块链的跨链数据处理方法及装置
CN110532038B (zh) * 2019-08-19 2021-07-30 杭州趣链科技有限公司 一种基于Java智能合约的并行执行方法
EP3777030B1 (en) 2019-11-27 2022-08-24 Alipay (Hangzhou) Information Technology Co., Ltd. Asynchronous processing of blockchain blocks
WO2021113369A1 (en) * 2019-12-02 2021-06-10 Schvey, Inc. D/B/A Axoni Cross-partition calls in partitioned, tamper-evident data stores
CN113111389A (zh) * 2020-01-13 2021-07-13 梅特勒-托利多(常州)精密仪器有限公司 测量设备的信息管理方法及装置
CN111724170B (zh) * 2020-03-05 2022-10-11 支付宝(杭州)信息技术有限公司 一种业务处理系统、业务处理的方法、装置及设备
CN111159307B (zh) * 2020-04-02 2020-07-24 支付宝(杭州)信息技术有限公司 跨链数据订阅方法及装置
CN111769948B (zh) * 2020-06-15 2023-06-02 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN111782707B (zh) * 2020-06-19 2024-04-16 京东科技信息技术有限公司 一种数据查询方法及系统
CN112104606B (zh) * 2020-08-12 2022-06-17 北京智融云河科技有限公司 一种基于随机多节点的可信执行方法和系统
CN112153124B (zh) * 2020-09-11 2021-05-25 北京天德科技有限公司 一种区块链及智能合约系统协作层设计
CN112380266A (zh) * 2020-10-16 2021-02-19 广州市百果园网络科技有限公司 消息数据处理方法、装置、设备和存储介质
US11368288B2 (en) 2020-11-20 2022-06-21 Hong Kong Applied Science and Technology Research Institute Company Limited Apparatus and method of lightweight communication protocols between multiple blockchains
CN112235110B (zh) * 2020-12-14 2021-03-23 支付宝(杭州)信息技术有限公司 区块链的跨链业务处理方法、装置及电子设备
CN112511355B (zh) * 2020-12-18 2022-02-08 四川大学 一种跨链智能合约合作可能性评估方法
CN112737862B (zh) * 2021-01-08 2023-12-22 江苏众享金联科技有限公司 一种基于智能合约的跨链数据共享方法
CN112396427B (zh) * 2021-01-19 2021-04-23 北京连琪科技有限公司 一种面向通用场景的跨链互换操作方法
CN113032482B (zh) * 2021-03-10 2022-05-13 杭州链网科技有限公司 一种跨链转接桥的构建方法及系统
CN112732800B (zh) * 2021-03-30 2021-07-13 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置
CN112737782B (zh) * 2021-03-30 2021-06-25 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置
CN112948499A (zh) * 2021-03-31 2021-06-11 北京金山云网络技术有限公司 信息获取方法和装置、电子设备和存储介质
CN113077342B (zh) * 2021-04-06 2023-01-20 立旃(上海)科技有限公司 基于区块链进行跨境使用数据的方法及装置
CN113222766B (zh) * 2021-05-13 2023-02-07 杭州趣链科技有限公司 金融产品的信息监管方法、装置、计算机设备及介质
CN113328935B (zh) * 2021-05-20 2022-11-11 福建思特电子有限公司 基于工业互联网的分布式安全追溯区块链系统
CN113259131B (zh) * 2021-06-23 2021-10-08 北京笔新互联网科技有限公司 区块链节点、系统和区块链构建方法
CN113688317B (zh) * 2021-08-24 2022-06-17 江苏中润普达信息技术有限公司 一种基于区块链的信息推荐方法及系统
CN114157671A (zh) * 2021-11-26 2022-03-08 支付宝(杭州)信息技术有限公司 将区块链网络承载的信息向多个客户端节点分发的方法
CN114257487B (zh) * 2021-11-26 2024-03-29 蚂蚁区块链科技(上海)有限公司 管理网络节点集的系统和方法
CN114390097A (zh) * 2022-01-10 2022-04-22 北京新华夏信息技术有限公司 基于消息队列的区块链运行方法、系统及其应用
CN114827071B (zh) * 2022-03-29 2023-05-09 中国人民解放军军事科学院战争研究院 一种基于信息目录的跨业务区域消息交互方法、装置、电子设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092767B (zh) * 2014-07-21 2017-06-13 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20170132626A1 (en) 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US10135870B2 (en) 2016-02-22 2018-11-20 Bank Of America Corporation System for external validation of secure process transactions
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
US10097344B2 (en) 2016-07-15 2018-10-09 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN106485495A (zh) * 2016-09-18 2017-03-08 江苏通付盾科技有限公司 交易信息订阅方法、装置、服务器以及系统
US11182851B2 (en) 2016-10-20 2021-11-23 International Business Machines Corporation Inter-ledger messaging in a blockchain
TWI614713B (zh) * 2017-01-23 2018-02-11 現代財富控股有限公司 基於區塊鏈的智能合約版本控管系統及其方法
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法
CN106960388A (zh) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 跨区块链的数字资产流转的方法和装置
KR102414732B1 (ko) * 2017-04-05 2022-06-28 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
CN107248076A (zh) * 2017-06-24 2017-10-13 北京天德科技有限公司 一种双链式跨链交易的区块链互联网模型的核心算法
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
TWM554608U (zh) * 2017-09-01 2018-01-21 國泰人壽保險股份有限公司 基於區塊鏈的保險服務系統
CN107742210A (zh) * 2017-10-13 2018-02-27 布比(北京)网络技术有限公司 一种不同区块链间的跨链转账系统和方法
US10567320B2 (en) * 2017-10-17 2020-02-18 American Express Travel Related Services Company, Inc. Messaging balancing and control on blockchain
US20190156938A1 (en) * 2017-11-20 2019-05-23 Michael Brunner System, method and data model for secure prescription management
CN108848119B (zh) 2018-04-03 2020-04-28 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
US20190050854A1 (en) * 2018-09-28 2019-02-14 Intel Corporation Blockchain-based digital data exchange

Also Published As

Publication number Publication date
CN108848119A (zh) 2018-11-20
KR20200069370A (ko) 2020-06-16
WO2019195071A1 (en) 2019-10-10
KR102215248B1 (ko) 2021-02-16
CN108848119B (zh) 2020-04-28
AU2019248524B2 (en) 2021-01-07
JP2021504847A (ja) 2021-02-15
PH12020550739A1 (en) 2021-04-19
CN111787072A (zh) 2020-10-16
EP3701413A1 (en) 2020-09-02
TWI710979B (zh) 2020-11-21
US10693630B1 (en) 2020-06-23
US20200213088A1 (en) 2020-07-02
TW201942816A (zh) 2019-11-01
US10615964B2 (en) 2020-04-07
AU2019248524C1 (en) 2021-04-08
US20190305935A1 (en) 2019-10-03
EP3701413B1 (en) 2022-02-23
CA3084080A1 (en) 2019-10-10
CA3084080C (en) 2023-03-14
AU2019248524A1 (en) 2020-06-18
CN111787072B (zh) 2023-02-28
SG11202004836UA (en) 2020-06-29

Similar Documents

Publication Publication Date Title
JP6929497B2 (ja) クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス
JP6878699B2 (ja) クロスブロックチェーン相互作用のための方法、装置、システム、および電子デバイス
JP6878700B2 (ja) クロスブロックチェーン認証方法、装置、および電子デバイス
JP6975332B2 (ja) ブロックチェーンベースのスマートコントラクト呼び出し方法および装置、および電子デバイス
KR102403581B1 (ko) 블록체인에 기반한 트랜잭션을 실행하기 위한 방법, 장치, 및 전자 디바이스
KR102270518B1 (ko) 크로스 블록체인 인증 방법 및 장치
JP7090709B2 (ja) 資産管理方法および装置、ならびに電子デバイス
US20200133938A1 (en) Asset management method and apparatus, and electronic device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200529

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200529

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201225

TRDD Decision of grant or rejection written
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R150 Certificate of patent or registration of utility model

Ref document number: 6929497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150