(57)【要約】  本発明は、ブロックチェーンのクロスチェーン通信を実現する方法、装置及びシステムを開示する。当該方法は、第１のブロックチェーンから送信された第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む第１の通信パックを受信するステップと、前記第１の通信パックに基づいて第２の通信パックを生成するステップと、前記第２の通信パックを第２のブロックチェーンに送信するステップと、を含む。本発明は、第１のブロックチェーンから送信されたトランザクションを含む第１の通信パックを受信し、第１の通信パックに基づいて第２の通信パックを生成し、更に第２の通信パックを第２のブロックチェーンに送信することによって、第１のブロックチェーンと第２のブロックチェーンの間の通信を実現し、したがってブロックチェーンの取引処理能力を向上させる。
2019536380.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンのクロスチェーン通信を実現する方法であって、
第１のブロックチェーンから送信された、前記第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む第１の通信パックを受信するステップと、
前記第１の通信パックに基づいて第２の通信パックを生成するステップと、
前記第２の通信パックを第２のブロックチェーンに送信するステップと、
を含むことを特徴とするブロックチェーンのクロスチェーン通信を実現する方法。
【請求項２】
前記第２の通信パックを第２のブロックチェーンに送信する前記ステップは、
ルーティングテーブルに基づいて、前記第２の通信パックを前記第２のブロックチェーンに送信するステップ
を含むことを特徴とする請求項１に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項３】
ルーティングテーブルに基づいて、前記第２の通信パックを前記第２のブロックチェーンに送信する前記ステップは、
ダイナミックルーティングテーブルに基づいて、前記第２の通信パックを前記第２のブロックチェーンに送信するステップ
を含むことを特徴とする請求項２に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項４】
前記方法はチェーンルータにより実行され、
前記チェーンルータは第３のブロックチェーンであり、前記第３のブロックチェーンは前記第１のブロックチェーンと前記第２のブロックチェーンの間に接続され、通信パックの受信と転送を実現し、
前記第２の通信パックは、第２のトランザクションを含み、
前記第１の通信パックに基づいて第２の通信パックを生成する前記ステップは、前記第１のトランザクションに基づいて前記第２のトランザクションを生成し、前記第２のトランザクションを前記第３のブロックチェーンに書き込むステップを含み、
前記第１のトランザクションは、メッセージ内容と前記第２のブロックチェーンのチェーン識別子とを含み、前記第２のトランザクションは、前記メッセージ内容と、前記第２のブロックチェーンのチェーン識別子と、前記第１のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項１〜３のいずれか１項に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項５】
前記第１のトランザクションに基づいて第２のトランザクションを生成する前記ステップは、
前記第１のトランザクションが前記第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得するステップと、
前記検証結果が「ＹＥＳ」の場合、前記第１のトランザクションに基づいて前記第２のトランザクションを生成するステップと、
を含むことを特徴とする請求項４に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項６】
前記第１のトランザクションが前記第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得するステップは、
投票に基づくコンセンサスアルゴリズムによって、前記第１のトランザクションが前記第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得するステップ
を含むことを特徴とする請求項５に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項７】
前記チェーンルータは、前記チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有し、その中のいずれのブロックも、ブロックヘッダ部分とデータ部分を有する
ことを特徴とする請求項４〜６のいずれか１項に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項８】
前記ブロックヘッダ部分は、チェーン識別子と、ブロックハイトと、時間と、世界状態のハッシュ値と、当該ブロックと隣接する一つ前のブロックのブロックヘッダ部分のハッシュ値と、当該ブロックと隣接する一つ前のブロックのパーツと、検証者のハッシュ値と、データ部分のハッシュ値の中の１つ以上を含み、
前記データ部分は、少なくとも当該ブロック内のすべてのトランザクションを含む
ことを特徴とする請求項７に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項９】
ブロックチェーンのクロスチェーン通信を実現する方法であって、
第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを生成し、前記第１のトランザクションを前記第１のブロックチェーンに書き込むステップと、
チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに前記第２の通信パックを送信できるよう、前記第１のトランザクションを含む前記第１の通信パックを前記第３のブロックチェーンに送信するステップと、
を含むことを特徴とするブロックチェーンのクロスチェーン通信を実現する方法。
【請求項１０】
前記方法は、
前記第１のブロックチェーンにより実行され、
前記第１のトランザクションは、メッセージ内容と前記第２のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項９に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項１１】
ブロックチェーンのクロスチェーン通信を実現する方法であって、
第１のブロックチェーンから送信された前記第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションに基づいて、チェーンルータとしての第３のブロックチェーンにより生成された、前記第３のブロックチェーンから送信された第２の通信パックを受信するステップと、
前記第２の通信パックに基づいて第３のトランザクションを生成し、前記第３のトランザクションを第２のブロックチェーンに書き込むステップと、
を含むことを特徴とするブロックチェーンのクロスチェーン通信を実現する方法。
【請求項１２】
前記方法は前記第２のブロックチェーンにより実行され、
前記第３のトランザクションは、メッセージ内容と前記第１のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項１１に記載のブロックチェーンのクロスチェーン通信を実現する方法。
【請求項１３】
ブロックチェーンのクロスチェーン通信を実現する装置であって、
第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む前記第１のブロックチェーンから送信された第１の通信パックを受信する受信モジュールと、
前記第１の通信パックに基づいて、第２の通信パックを生成する生成モジュールと、
前記第２の通信パックを第２のブロックチェーンに送信する送信モジュールと、
を備えることを特徴とするブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１４】
前記送信モジュールは、ルーティングテーブルに基づいて前記第２の通信パックを前記第２のブロックチェーンに送信する
ことを特徴とする請求項１３に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１５】
前記送信モジュールは、ダイナミックルーティングテーブルに基づいて前記第２の通信パックを前記第２のブロックチェーンに送信する
ことを特徴とする請求項１４に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１６】
前記装置はチェーンルータであり、
前記チェーンルータは、第３のブロックチェーンであり、
前記第３のブロックチェーンは、前記第１のブロックチェーンと前記第２のブロックチェーンの間に接続され、通信パックの受信と転送を実現し、
前記第２の通信パックは、第２のトランザクションを含み、
前記生成モジュールは、第１のトランザクションに基づいて前記第２のトランザクションを生成し、
前記装置は、前記第２のトランザクションを前記第３のブロックチェーンに書き込む書込みモジュールを更に備え、
前記第１のトランザクションは、メッセージ内容と前記第２のブロックチェーンのチェーン識別子とを含み、前記第２のトランザクションは、メッセージ内容と、前記第２のブロックチェーンのチェーン識別子と、前記第１のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項１３〜１５のいずれか１項に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１７】
前記装置は、
前記第１のトランザクションが前記第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する検証モジュールを更に備え、
前記生成モジュールは、前記検証結果が「ＹＥＳ」の場合に、前記第１のトランザクションに基づいて前記第２のトランザクションを生成する
ことを特徴とする請求項１６に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１８】
前記検証モジュールは、投票に基づくコンセンサスアルゴリズムを採用して前記第１のトランザクションが前記第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する
ことを特徴とする請求項１７に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項１９】
前記チェーンルータは、前記チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有し、その中のいずれのブロックもブロックヘッダ部分とデータ部分を有する
ことを特徴とする請求項１６〜１８のいずれか１項に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２０】
前記ブロックヘッダ部分は、チェーン識別子と、ブロックハイトと、時間と、世界状態のハッシュ値と、当該ブロックと隣接する一つ前のブロックのブロックヘッダ部分のハッシュ値と、当該ブロックと隣接する一つ前のブロックのパーツと、検証者のハッシュ値と、データ部分のハッシュ値の中の１つ以上を含み、
前記データ部分は少なくとも当該ブロック内のすべてのトランザクションを含む
ことを特徴とする請求項１９に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２１】
ブロックチェーンのクロスチェーン通信を実現する装置であって、
第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを生成し、前記第１のトランザクションを前記第１のブロックチェーンに書き込む生成モジュールと、
チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに前記第２の通信パックを送信できるよう、前記第１のトランザクションを含む第１の通信パックを前記第３のブロックチェーンに送信する送信モジュールと、
を備えることを特徴とするブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２２】
前記装置は第１のブロックチェーンであり、
前記第１のトランザクションは、メッセージ内容と前記第２のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項２１に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２３】
ブロックチェーンのクロスチェーン通信を実現する装置であって、
第１のブロックチェーンから送信された前記第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションに基づいて、チェーンルータとしての第３のブロックチェーンにより生成された、前記第３のブロックチェーンから送信された第２の通信パックを受信する受信モジュールと、
前記第２の通信パックに基づいて第３のトランザクションを生成し、前記第３のトランザクションを第２のブロックチェーンに書き込む生成モジュールと、
を備えることを特徴とするブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２４】
前記装置は、第２のブロックチェーンであり、
前記第３のトランザクションは、メッセージ内容と前記第１のブロックチェーンのチェーン識別子とを含む
ことを特徴とする請求項２３に記載のブロックチェーンのクロスチェーン通信を実現する装置。
【請求項２５】
ブロックチェーンのクロスチェーン通信を実現するシステムであって、
複数のブロックチェーンと、
前記複数のブロックチェーンの間の通信を実現するために、前記複数のブロックチェーンの間に接続されて通信パックの受信と転送を実行する、請求項１６〜２０のいずれか１項に記載のチェーンルータである１つ以上のチェーンルータと、
を備えることを特徴とするブロックチェーンのクロスチェーン通信を実現するシステム。
【請求項２６】
前記１つ以上のチェーンルータは、複数のチェーンルータを含み、
前記１つ以上のチェーンルータのいずれも、ブロックチェーンである
ことを特徴とする請求項２５に記載のブロックチェーンのクロスチェーン通信を実現するシステム。
【請求項２７】
前記複数のチェーンルータは、ツリー型構造或いはネット型構造で分布している
ことを特徴とする請求項２６に記載のブロックチェーンのクロスチェーン通信を実現するシステム。
【請求項２８】
前記複数のチェーンルータは、ツリー型構造とネット型構造の組み合わせの形で分布している
ことを特徴とする請求項２７に記載のブロックチェーンのクロスチェーン通信を実現するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年６月７日に出願された中国特許出願「Ｎｏ．ＣＮ２０１７１０４２３２４７．８」の優先権を主張し、そのすべての内容を参照より本願に組み込む。
【０００２】
本発明は、ブロックチェーン分野に関し、具体的には、ブロックチェーンのクロスチェーン通信を実現する方法、装置及びシステムに関する。
【背景技術】
【０００３】
狭義には、ブロックチェーンは、データブロックが時間順に接続されて構成されたチェーン型のデータ構造であり、暗号学的に保証される改ざん耐性と偽造耐性を有する分散型台帳である。広義には、ブロックチェーンは、ブロックチェーン型となるデータ構造を利用してデータの検証と記憶を行い、分散型ノードコンセンサスアルゴリズムを利用してデータの生成と更新を行い、暗号学の手段を利用してデータの伝送とアクセスの安全を保証し、自動化スクリプトコードからなるスマートコントラクトを利用してプログラミングとデータ操作を行う新しい分散型基礎アーキテクチャ及び計算パラダイムである。ブロックチェーン技術は、脱中心化でトラストレスな手段で、信頼性を有するデータベースに対して共同メンテナンスして、取引における信任と安全に関する問題を解決する。
【０００４】
ブロックチェーン技術は、単一の技術ではなく、複数の技術が統合された結果である。当該複数の技術は新しい構造で組み合わされ、データの記録、記憶及び表現の新しい手段となり、主に以下の４種類の技術が含まれる。
１．分散型の台帳：即ち、異なる場所に分散された複数のノードが共同で取引記帳を行い、且ついずれのノードにも完全な勘定内容が記録されているため、すべてのノードが取引の妥当性に対する監督に関与できるとともに、共同で証拠を提供することができる。従来の中心化記帳手段と異なり、いずれのノードも単独で勘定内容を記録することができないため、単一の記帳者がコントロールされるか賄賂を受けて勘定を偽造する危険性が回避される。一方、記帳ノードの数が十分であるため、理論的に、すべてのノードが破壊されない限り、勘定内容が失われることはなく、勘定データの安全性が保証される。
２．非対称の暗号化と権限制御：ブロックチェーンに記憶された取引情報は公開的であるが、アカウント身分情報が厳しく暗号化されたものであり、データ所有者から権限を取得せずにはアクセスできないため、データの安全と個人のプライバシーが保証される。
３．コンセンサスメカニズム：即ち、すべての記帳ノードが合意を形成してレコードの有効性を判断するメカニズムである。このメカニズムは、判断の手段だけではなく、改ざんを防ぐ手段でもある。
４．スマートコントラクト：スマートコントラクトは、信頼性を有する改ざん不可能のデータに基づいたものであり、予め定義されたルールと条項を自発的に実行できる。
【０００５】
現段階で、ブロックチェーンのネットワーク特性は、単にＬＡＮの範囲でしか使用されておらず、異なるブロックチェーン間では通信することすらできず、信頼することは言うに及ばない。また、単一のブロックチェーンの能力不足も不便を招いている。グローバルコンセンサスメカニズムは安全性を提供するが、ブロックチェーンシステムの発展を大きく制限してしまったため、ノードを増やすという手段で取引処理能力を向上させることは不可能である。
【発明の概要】
【０００６】
以上に鑑みて、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する方法、装置及びシステムを提供することによって、異なるブロックチェーン間の通信を実現して、ブロックチェーンの取引処理能力を向上させる。
【０００７】
第１の実施形態として、本発明は、ブロックチェーンのクロスチェーン通信を実現する方法を提供する。当該方法は、
第１のブロックチェーンから送信された第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む第１の通信パックを受信するステップと、
第１の通信パックに基づいて第２の通信パックを生成するステップと、
第２の通信パックを第２のブロックチェーンに送信するステップと、を含む。
【０００８】
本発明の一部の実施例において、第２の通信パックを第２のブロックチェーンに送信するステップは、ルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信するステップを含む。
【０００９】
本発明の一部の実施例において、ルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信するステップは、ダイナミックルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信するステップを含む。
【００１０】
本発明の一部の実施例において、第１の実施形態による方法は、チェーンルータにより実行され、チェーンルータは第３のブロックチェーンであり、第３のブロックチェーンが通信パックの受信と転送を実現するために第１のブロックチェーンと第２のブロックチェーンの間に接続され、第２の通信パックは第２のトランザクションを含む。ここで、第１の通信パックに基づいて第２の通信パックを生成するステップは、第１のトランザクションに基づいて第２のトランザクションを生成するステップと、第２のトランザクションを第３のブロックチェーンに書き込むステップとを含む。なお、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子を含み、第２のトランザクションは、メッセージ内容、第２のブロックチェーンのチェーン識別子及び第１のブロックチェーンのチェーン識別子を含む。
【００１１】
本発明の一部の実施例において、第１のトランザクションに基づいて第２のトランザクションを生成するステップは、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得するステップと、検証結果が「ＹＥＳ」の場合、第１のトランザクションに基づいて第２のトランザクションを生成するステップと、を含む。
【００１２】
本発明の一部の実施例において、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証して検証結果を取得するステップは、投票に基づくコンセンサスアルゴリズムを用いて、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得するステップを含む。
【００１３】
本発明の一部の実施例において、チェーンルータは、チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有し、その中のいずれのブロックもブロックヘッダ部分とデータ部分を有する。
【００１４】
本発明の一部の実施例において、ブロックヘッダ部分は、チェーン識別子と、ブロックハイトと、時間と、世界状態のハッシュ値と、当該ブロックと隣接する１つ前のブロックのブロックヘッダ部分のハッシュ値と、当該ブロックと隣接する１つ前のブロックのパーツと、検証者のハッシュ値と、データ部分のハッシュ値の中の１つ以上を含む。データ部分は少なくとも当該ブロック内のすべてのトランザクションを含む。
【００１５】
第２の実施形態として、本発明は、ブロックチェーンのクロスチェーン通信を実現する方法を提供する。当該方法は、
第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを生成し、第１のトランザクションを第１のブロックチェーンに書き込むステップと、
チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに第２の通信パックを送信できるよう、第１のトランザクションを含む第１の通信パックを第３のブロックチェーンに送信するステップと、を含む。
【００１６】
本発明の一部の実施例において、第２の実施形態による方法は、第１のブロックチェーンにより実行され、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子を含む。
【００１７】
第３の実施形態として、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する方法を提供する。当該方法は、
チェーンルータから送信された第２の通信パックを受信するステップと、
第２の通信パックに基づいて第３のトランザクションを生成し、第３のトランザクションを第２のブロックチェーンに書き込むステップと、を含む。
なお、第２の通信パックは、第１のブロックチェーンから送信された第１のトランザクションに基づいてチェーンルータにより生成されたものであり、チェーンルータは第３のブロックチェーンであり、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。
【００１８】
本発明の一部の実施例において、第３の実施形態による方法は、第２のブロックチェーンにより実行され、第３のトランザクションはメッセージ内容と第１のブロックチェーンのチェーン識別子を含む。
【００１９】
第４の実施形態として、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する装置を提供する。当該装置は、受信モジュールと、生成モジュールと、送信モジュールとを備える。受信モジュールは、第１のブロックチェーンから送信された第１のトランザクションを含む第１の通信パックを受信し、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。生成モジュールは、第１の通信パックに基づいて第２の通信パックを生成する。送信モジュールは、第２の通信パックを第２のブロックチェーンに送信する。
【００２０】
本発明の一部の実施例において、送信モジュールは、ルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信する。
【００２１】
本発明の一部の実施例において、送信モジュールは、ダイナミックルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信する。
【００２２】
本発明の一部の実施例において、第４の実施形態による装置はチェーンルータであり、チェーンルータは第３のブロックチェーンであり、通信パックの受信と転送を実現するために第１のブロックチェーンと第２のブロックチェーンの間に接続される。第２の通信パックは第２のトランザクションを含み、生成モジュールは第１のトランザクションに基づいて第２のトランザクションを生成する。また、当該装置は、第２のトランザクションを第３のブロックチェーンに書き込む書込みモジュールを更に備える。なお、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子を含み、第２のトランザクションは、メッセージ内容、第２のブロックチェーンのチェーン識別子及び第１のブロックチェーンのチェーン識別子を含む。
【００２３】
本発明の一部の実施例において、第４の実施形態による装置は、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証して検証結果を取得する検証モジュールを更に備える。なお、検証結果が「ＹＥＳ」の場合、第１のトランザクションに基づいて生成モジュールにより第２のトランザクションが生成される。
【００２４】
本発明の一部の実施例において、検証モジュールは、投票に基づくコンセンサスアルゴリズムを用いて、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する。
【００２５】
本発明の一部の実施例において、チェーンルータは、チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有し、その中のいずれのブロックもブロックヘッダ部分とデータ部分を有する。
【００２６】
本発明の一部の実施例において、ブロックヘッダ部分は、チェーン識別子と、ブロックハイトと、時間と、世界状態のハッシュ値と、当該ブロックと隣接する１つ前のブロックのブロックヘッダ部分のハッシュ値と、当該ブロックと隣接する１つ前のブロックのパーツと、検証者のハッシュ値と、データ部分のハッシュ値の中の１つ以上を含み、データ部分は少なくとも当該ブロック内のすべてのトランザクションを含む。
【００２７】
第５の実施形態として、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する装置を提供する。当該装置は、生成モジュールと送信モジュールとを備える。生成モジュールは、第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを生成し、第１のトランザクションを第１のブロックチェーンに書き込む。送信モジュールは、チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに第２の通信パックを送信できるよう、第１のトランザクションを含む第１の通信パックを第３のブロックチェーンに送信する。
【００２８】
本発明の一部の実施例において、第５の実施形態による装置は第１のブロックチェーンであり、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子を含む。
【００２９】
第６の実施形態として、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する装置を提供する。当該装置は、受信モジュールと生成モジュールとを備える。受信モジュールは、チェーンルータから送信された第２の通信パックを受信する。ただし、第２の通信パックは、第１のブロックチェーンから送信された第１のトランザクションに基づいてチェーンルータにより生成されたものであり、チェーンルータは第３のブロックチェーンであり、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。生成モジュールは、第２の通信パックに基づいて第３のトランザクションを生成し、第３のトランザクションを第２のブロックチェーンに書き込む。
【００３０】
本発明の一部の実施例において、第６の実施形態による装置は第２のブロックチェーンであり、第３のトランザクションは、メッセージ内容と第１のブロックチェーンのチェーン識別子を含む。
【００３１】
第７の実施形態として、本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現するシステムを提供する。当該システムは、複数のブロックチェーンと、１つ以上のチェーンルータとを含む。１つ以上のチェーンルータのいずれも、第４の実施形態において記述されたチェーンルータである。１つ以上のチェーンルータは、複数のブロックチェーンの間の通信を実現するために、ブロックチェーンの間に接続され、通信パックの受信と転送を実行する。
【００３２】
本発明の一部の実施例において、１つ以上のチェーンルータは複数のチェーンルータを含み、１つ以上のチェーンルータのいずれもブロックチェーンである。
【００３３】
本発明の一部の実施例において、複数のチェーンルータは、ツリー型構造又はネット型構造で分布している。
【００３４】
本発明の一部の実施例において、複数のチェーンルータは、ツリー型構造とネット型構造の組み合わせの形で分布している。
【００３５】
本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現する方法、装置及びシステムを提供する。第１のブロックチェーンから送信されたトランザクションを含む第１の通信パックを受信し、第１の通信パックに基づいて第２の通信パックを生成し、第２の通信パックを第２のブロックチェーンに送信することによって、第１のブロックチェーンと第２のブロックチェーンの間の通信を実現して、ブロックチェーンの取引処理能力を向上させる。
【図面の簡単な説明】
【００３６】
【図１】図１は、本発明の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。
【図２】図２は、本発明で記述されるチェーンルータの１つの実施手段による権益委任ビザンチン・フォールト・トレランスアルゴリズムのフローチャート模式図である。
【図３】図３は、本発明の一実施例により提供されるチェーンルータのブロックの構造模式図である。
【図４】図４は、本発明の一実施例により提供されるチェーンルータの構造模式図である。
【図５】図５は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。
【図６】図６は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。
【図７】図７は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。
【図８】図８は、本発明の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置の構成模式図である。
【図９】図９は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置の構成模式図である。
【図１０】図１０は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置の構成模式図である。
【図１１】図１１は、本発明の一例としての実施例により示されたブロックチェーンのクロスチェーン通信を実現するコンピューター装置のアーキテクチャ図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施例の図面に合わせて本発明の実施例に関わる技術案を明確かつ完全に記述する。明らかに、記述される実施例は、本発明の一部の実施例に過ぎず、すべての実施例ではない。当業者が創造的な労働をしない前提で本発明の実施例に基づいて実現する他のすべての実施例は、本発明の保護範囲に入る。
【００３８】
図１は、本発明の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。図１の方法は、例えば、チェーンルータにより実行することができる。図１に示すよう、当該方法は以下の内容を含む。
【００３９】
１１０：第１のブロックチェーンから送信された第１の通信パックを受信し、第１の通信パックは第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む。
【００４０】
チェーンルータは、通信パックの転送を実現できない第１のブロックチェーン及び第２のブロックチェーンに接続されることによって、第１のブロックチェーンと第２のブロックチェーンの間の通信を実現する。
【００４１】
具体的には、チェーンルータはルータのように、通信プロトコルにより異なるブロックチェーンを受け入れることができるため、異なるブロックチェーン間の相互通信を可能にする。当該通信プロトコルは、チェーンルータに基づいて制定されたブロックチェーン間の通信プロトコルであってもよい。このプロトコルに符合するブロックチェーンシステムは簡単にチェーンルータに接続できる。
【００４２】
従来の一部のブロックチェーン、例えば、ビットコイン、イーサリアムなどは、チェーンルータよりも先に存在していたものであり、設計当時に他のブロックチェーンと通信する機能を有していなかった。このようなチェーンルータよりも先に生まれたブロックチェーンシステムについては、それ自身の設計を変更しない前提で、別に設計された適合するシステムを用いてブロックチェーンとチェーンルータの間の通信をサポートすることができる。
【００４３】
本発明の一実施例によると、第１のブロックチェーン及び第２のブロックチェーンは広義的なブロックチェーンと理解されてもよい。つまり、ブロックチェーンデータ構造を含み、ブロックチェーン技術に基づいて実現されたブロックチェーンデータベースのメンテナンス機能を有するアーキテクチャである。当該アーキテクチャは、対応する計算パラダイムを備え、コンピューターにおいて実現することが可能である。
【００４４】
具体的には、第１のブロックチェーンと第２のブロックチェーンの間の通信が必要な場合、チェーンルータは第１のブロックチェーンから送信された第１の通信パックを受信でき、当該第１の通信パックは第１のトランザクションを含む。第１のトランザクションは、第１のブロックチェーンが第２のブロックチェーンに送信するメッセージを含んでもよい。ここで、当該メッセージは一種の命令であってもよい。例えば、第１のブロックチェーンが第２のブロックチェーンに対してある動作の実行を命令すること、又はデータを第２のブロックチェーンに記憶することなどである。
【００４５】
更に、第１の通信パックは検証情報を含んでもよく、チェーンルータは通信過程における安全性を保証するために、当該検証情報により第１の通信パックの安全性と信頼性、信頼される第１のブロックチェーンから送信されたものであるか否か、を検証できる。
【００４６】
具体的には、第１のブロックチェーンは、第１のトランザクションを第１のブロックチェーンのデータベースに記憶することができ、つまり、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。それにより、第１のブロックチェーンは、通信パックを送信する度に通信パック中のトランザクションをデータベースに記憶することができるため、データのトレースが実現される。
【００４７】
１２０：第１の通信パックに基づいて第２の通信パックを生成する。
【００４８】
具体的には、第２の通信パックは、第１のトランザクションにおいて第１のブロックチェーンから第２のブロックチェーンに送信されるメッセージを含む。
【００４９】
１３０：第２の通信パックを第２のブロックチェーンに送信する。
【００５０】
具体的には、チェーンルータは、複数のブロックチェーンに接続してもよい。また、チェーンルータが第２のブロックチェーンの情報を取得して第２のブロックチェーンに第２の通信パックを送信できるよう、第１の通信パックは第２のブロックチェーンのＩＰアドレス及び／又はチェーン識別子などの情報を含んでもよい。同様に、第２のブロックチェーンが第２の通信パックを識別して受信できるよう、第２の通信パックは第２のブロックチェーンの情報を含んでもよい。更に、第１の通信パック及び／又は第２の通信パックは、通信パックの送信元を示すために、第１のブロックチェーンのＩＰアドレス及び／又はチェーン識別子などの情報を含んでもよい。
【００５１】
チェーンルータを介して複数のブロックチェーンを接続することにより、ブロックチェーンシステムの取引処理能力を向上させ、ブロックチェーンの取引能力のレベルアップを実現することができる。例えば、第１のブロックチェーンは広告業務の取引を担当し、第２のブロックチェーンはタクシー業務の取引を担当することができる。このように取引を２つのブロックチェーンに分担させることにより、１つのブロックチェーンがすべての取引を担当する際の負担を減少できる。更に、チェーンルータは、ブロックチェーン間の通信障壁を貫通し、ブロックチェーン同士が互いに接続、通信、信頼することを実現できる。
【００５２】
本発明の実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法は、第１のブロックチェーンから送信された、トランザクションを含む第１の通信パックを受信し、第１の通信パックに基づいて第２の通信パックを生成し、第２の通信パックを第２のブロックチェーンに送信することによって、第１のブロックチェーンと第２のブロックチェーンの間の通信を実現し、ひいてはブロックチェーンの取引処理能力を向上させる。
【００５３】
本発明の実施例によると、１３０において、チェーンルータはルーティングテーブルに基づいて第２のブロックチェーンに第２の通信パックを送信できる。
【００５４】
具体的には、ルーティングテーブルは、チェーンルータに記憶されていてもよく、当該ルーティングテーブルには、チェーンルータがルート情報に基づいて第２のブロックチェーンに第２の通信パックを送信できるよう、チェーンルータに接続する各ブロックチェーンのルート情報が含まれてもよい。例えば、第１の通信パックに第２のブロックチェーンのチェーン識別子が含まれ、チェーンルータは第１の通信パックを受信した後、第２のブロックチェーンのチェーン識別子に対応するルーティングテーブルのルート情報に基づいて、第２の通信パックを第２のブロックチェーンに送信することができる。
【００５５】
本発明の実施例によると、チェーンルータは、ダイナミックルーティングテーブルに基づいて第２のブロックチェーンに第２の通信パックを送信してもよい。
【００５６】
具体的には、チェーンルータにあるルーティングテーブルは、通信が正確で高効率に行われることを保証するために、チェーンルータに接続する各ブロックチェーンの変化に応じてリアルタイムに更新できる。
【００５７】
本発明の実施例によると、チェーンルータは第３のブロックチェーンであり、第３のブロックチェーンが第１のブロックチェーンと第２のブロックチェーンの間に接続され、通信パックの受信と転送を実現する。第２の通信パックは第２のトランザクションを含む。なお、第１の通信パックに基づいて第２の通信パックを生成するステップは、第１のトランザクションに基づいて第２のトランザクションを生成するステップと、第２のトランザクションを第３のブロックチェーンに書き込むステップとを含む。ここで、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子を含み、第２のトランザクションは、メッセージ内容、第２のブロックチェーンのチェーン識別子及び第１のブロックチェーンのチェーン識別子を含む。
【００５８】
本発明の一実施例によると、チェーンルータはブロックチェーンであってもよく、チェーンルータによる通信を全て簡単に記録できるため、通信の安全性が向上する。例えば、チェーンルータは第３のブロックチェーンであり、第３のブロックチェーンは第１の通信パック中の第１のトランザクションに基づいて第２のトランザクションを生成し、第２のトランザクションを第３のブロックチェーンに書き込む。なお、第２のトランザクションにはメッセージ内容、第２のブロックチェーンのチェーン識別子及び第１のブロックチェーンのチェーン識別子が含まれてもよい。それによって、通信情報の完全な記録が保証され、トレースの実施に利便性を提供できる。
【００５９】
本発明の実施例によると、チェーンルータは、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得することができ、検証結果が「ＹＥＳ」の場合に、第１のトランザクションに基づいて第２のトランザクションを生成する。
【００６０】
具体的には、チェーンルータは、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証してもよく、検証結果が「ＹＥＳ」の場合には、第１のトランザクションに基づいて第２のトランザクションを生成し、更に第２の通信パックを生成するが、検証結果「ＮＯ」の場合には、操作を終了するか、或いは第１のブロックチェーンにフィードバックメッセージを送信する。そうすることによって、第１のトランザクションが改ざんされてしまったか否かを検証でき、通信過程における安全性をより一層高めることができる。
【００６１】
本発明の一実施例によると、チェーンルータは、チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有する。当然のことながら、チェーンルータ中のトランザクションは、通信に用いられる第２のトランザクションを含んでもよく、他の用途に用いられるトランザクションを含んでもよい。本発明はそれに対して限定をしない。
【００６２】
本発明の実施例によると、チェーンルータは、投票に基づくコンセンサスアルゴリズムを採用して、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得することができる。例えば、投票に基づくコンセンサスアルゴリズムは、権利委任ビザンチン・フォールト・トレランスコンセンサスアルゴリズムであってもよい。
【００６３】
具体的には、前記チェーンルータ自身はブロックチェーンであるため、一般的にいくつかのノードを有する。理論的には、１つのノードのみを有するブロックチェーンも正常に運行できる。しかし実際には、複数のノードでなければ、分散型台帳とビザンチン・フォールト・トレランスコンセンサスアルゴリズムの作用が発揮できないため、使用されるコンセンサスアルゴリズムにおいては、ノード数を４つ以上にしたほうが好ましい。
【００６４】
図２は、本発明で記述されるチェーンルータが一実施態様において採用される権利委任ビザンチン・フォールト・トレランスアルゴリズムのフローチャート模式図である。図２に示すよう、当該実施態様におけるチェーンルータの権利委任ビザンチン・フォールト・トレランスアルゴリズム（ＤＳ−ＰＢＦＴ）のプロセスは、ＰＢＦＴアルゴリズムのプロセスと類似する。
【００６５】
チェーンルータは権利委任ビザンチン・フォールト・トレランスアルゴリズムを採用してマイクロチェーンから受信したトランザクション（即ち第１のトランザクション）に対して検証を行う。その設計についての考え方は以下の通りである。
【００６６】
プルーフ・オブ・ワークアルゴリズム（Ｐｒｏｏｆ ｏｆ Ｗｏｒｋ、ＰｏＷ）は、ビットコインとイーサリアムに応用されている一種のビザンチン・フォールト・トレランス（Ｂｙｚａｎｔｉｎｅ Ｆａｕｌｔ Ｔｏｌｅｒａｎｃｅ、ＢＦＴ）コンセンサスアルゴリズムである。ビットコインが発行されて以来、プルーフ・オブ・ワークアルゴリズムは既にそれ自身の信頼性を証明できた。但し、それによる資源浪費の問題も明らかである。権利証明アルゴリズム（ＰｏＳ）は、プルーフ・オブ・ワークアルゴリズムの資源浪費問題を解決するために挙げられたコンセンサスアルゴリズムであり、マイナーがマイニングにおいて貢献する計算力を、投票権利プールにおける投票者が有する権利比重で代替するとともに、対応する処罰メカニズムを設定することによって投票者の誠実さを確保する。しかし、計算力と権利はやはり大きな差異があり、最も重要な差異点は、計算力が分散不可であることである。一定の計算力を有する１人のマイナーは、２つのチェーンで採掘しながら総計算力を倍増することができない。一方、一定の権利を有する投票者は、投票したブロックの中でいずれか１つのブロックさえ将来の勝者になれば、自身の権利を損失することがないため、可能性があるすべてのブロックに投票することができる。しかし、このようなやり方により、いたずら者のいたずらにかかるコストが大幅に低減されてしまうため、大きな安全リスクが存在する。
【００６７】
Ｒａｆｔは、高効率のコンセンサスアルゴリズムとしてよく用いられるが、その最も大きなデメリットはビザンチンノードを防ぐことができないことである。強大なネットワークスペックを有するビザンチンリーダーノードは、Ｒａｆｔアルゴリズムのコンセンサスに破滅的な打撃を与えてしまう。ビザンチン・フォールト・トレランスコンセンサスアルゴリズムの発展の歴史において、ＲａｆｔとＢＦＴに組み合わせられたいくつかのアルゴリズムが挙げられてきた。例えば、ＰＢＦＴ（Ｐｒａｃｔｉｃａｌ  Ｂｙｚａｎｔｉｎｅ  Ｆａｕｌｔ  Ｔｏｌｅｒａｎｃｅ、実用的ビザンチン・フォールト・トレランスアルゴリズム）では、一部の信頼性を有するノードは検証者と称される。検証者は、リーダーになる機会を有し、ブロックチェーンが生成されるいずれのラウンド過程においても、１人の新しい検証者がそのラウンドのデフォルトリーダーになり、新しいブロックをパッケージすることを担当し、更に自分が合理的だと判断するブロックをすべての検証者に公表する。新しいブロックは、２ラウンドにおいて検証者全員の２／３を超えた投票数により確認されてから、初めてコンセンサスされることになる。このようなコンセンサス方法は、ブロックを取得する速度を大幅に向上させる。また、１／３より少ない検証者がビザンチンノードではないことさえ保証できれば、ブロックは引続き生産されてもよい。
【００６８】
否認できないのは、ビザンチンノードが１／３以下を占めるネットワークにとって、ＰＢＦＴにおいて使用されるビザンチンノード・フォールト・トレランスアルゴリズムはその安全性を確実に保証できることである。しかし、実際の応用において、特に経済的な利益に関わる場合、検証者によって選抜された信頼性を有するノードであっても、発明者は、処罰メカニズムのない１／３による安全性に直接依存してはいけないと考える。安全性の保証については、必ず賞罰処置をはっきりと迅速に与えなければならず、且つ賞も罰も必ず経済的な利益に繋がるものでなければならない。そこで、発明者は、既存のコンセンサスメカニズムに対して変更を与えることによって、検証者の投票の権利比重を、検証者が抵当したチェーン上の代替コインの権利に対応するように設定する。それによって、ブロックの確認と生成の条件は、従来の２／３の投票者を超えなければならないというメカニズムから、総権利の２／３を超えなければならないというメカニズムに変更された。また、ＰＢＦＴコンセンサスアルゴリズムにおいて、一般的なノードは、リーダーノードから送信された新しいブロックを同期するだけで、コンセンサスには関与しない。その結果、そのコンセンサスアルゴリズムの安全性は検証ノードの数にしか関係せず、一般的なノードの数が増えてもビザンチン・フォールト・トレランスの安全性は向上しない。新しいコンセンサスメカニズムでは、非検証ノードの関与度が増加した。各検証ノードはそれぞれ１つの検証者アカウントに対応し、非検証者は自分の権利を検証者に委任することによって、検証者に自分の代わりに投票してもらう形で自分の利益を稼ぐことができる。利益に関わるため、非検証者は代理検証者を慎重に選択し、したがって、全員がコンセンサスに関与できるとともに、すべてのノードがコンセンサスに関与したせいで効率低下の欠陥を招くことを防ぐことができる。発明者は、このようなコンセンサスアルゴリズムを、権利委任ビザンチン・フォールト・トレランスアルゴリズム（ＤＳ−ＰＢＦＴ）と称する。
【００６９】
上述の技術案において、チェーンルータは、検証者の投票により実現される権利委任ビザンチン・フォールト・トレランスアルゴリズムをコンセンサスアルゴリズムとして使用することによって、すべてのノードもチェーンルータのコンセンサスに関与することを実現するとともに、すべてのノードがコンセンサスに関与したことによる効率低下の欠陥を招くことを防ぐことも実現した。
【００７０】
同様に、マイクロチェーンも、権利委任ビザンチン・フォールト・トレランスアルゴリズムを用いてチェーンルータから受信したトランザクション（即ち第２のトランザクション）に対して検証することができる。
【００７１】
選択的に、別の一実施例として、第３のブロックチェーンにおけるいずれのブロックも、ブロックヘッダ部分（Ｈｅａｄｅｒ）とデータ部分（Ｄａｔａ）を有する。
【００７２】
具体的には、チェーンルータは、数が絶えず増加するいくつかのブロックを有する。各ブロックは、いくつかのトランザクションを含んでもよい。これらのブロックは、時間順で配列されてもよい。各ブロックを簡単に標識し区別できるよう、各ブロックのブロックヘッダ部分には、当該ブロックの生成時間、所在位置、当該ブロック生成時の検証情報などが含まれてもよい。
【００７３】
更に、チェーンルータ自身もブロックチェーンであるため、その状態情報はブロックの形で記憶と更新されてもよく、前記状態情報は一般にデータベースに含まれてもよい。本発明の一実施例によると、ブロックヘッダ部分は、チェーン識別子（Ｃｈａｉｎ  ＩＤ）と、ブロックハイト（Ｈｉｇｈｔ）と、時間（Ｔｉｍｅ）と、世界状態のハッシュ値（Ａｐｐ  Ｈａｓｈ）と、当該ブロックと隣接する一つ前のブロックのブロックヘッダ部分のハッシュ値（Ｌａｓｔ  Ｈｅａｄｅｒ  Ｈａｓｈ）と、当該ブロックと隣接する一つ前のブロックのパーツ（Ｌａｓｔ  Ｂｌｏｃｋ  Ｐａｒｔｓ）と、検証者のハッシュ値（Ｖａｌｉｄａｔｏｒｓ  Ｈａｓｈ）と、データ部分のハッシュ値（Ｄａｔａ  Ｈａｓｈ）の中の１つ以上を含まなければならず、データ部分は少なくとも当該ブロック内のすべてのトランザクションを含まなければならない。
【００７４】
図３は、本発明の一実施例により提供されるチェーンルータのブロックの構造模式図である。図３に示すよう、第３のブロックチェーンにおける各ブロックは、投票部分（Ｌａｓｔ  Ｃｏｍｍｉｔ）を更に含んでもよい。当該投票部分は、当該ブロックと前のブロックの間のチェーン接続に用いられてもよい。例えば、ブロックのコンセンサスには、２ラウンドの２／３を超える検証ノード権利による投票が必要となる。ここで、第２ラウンドのすべての２／３の検証ノード投票（Ｃｏｍｍｉｔ）は、一時的に記憶され、次のブロックが提起されるときに当該ブロックの投票部分（Ｌａｓｔ  Ｃｏｍｍｉｔ）に置かれる。その結果、ブロックの投票部分には、前ラウンドの２／３を超える検証者の投票が含まれている。
【００７５】
具体的には、ブロックヘッダ部分は、チェーン識別子（Ｃｈａｉｎ  ＩＤ）と、ブロックハイト（Ｈｉｇｈｔ）と、時間（Ｔｉｍｅ）と、世界状態のハッシュ値（Ａｐｐ  Ｈａｓｈ）と、当該ブロックと隣接する一つ前のブロックのブロックヘッダ部分のハッシュ値（Ｌａｓｔ  Ｈｅａｄｅｒ  Ｈａｓｈ）と、当該ブロックと隣接する一つ前のブロックのパーツ（Ｌａｓｔ  Ｂｌｏｃｋ  Ｐａｒｔｓ）と、検証者のハッシュ値（Ｖａｌｉｄａｔｏｒｓ  Ｈａｓｈ）と、データ部分のハッシュ値（Ｄａｔａ  Ｈａｓｈ）と、投票部分のハッシュ値（Ｌａｓｔ  Ｃｏｍｍｉｔ  Ｈａｓｈ）と、を含む。ここで、最後の２つの部分は、当該ブロック全体に対する検査である。データ部分は、当該ブロック内のすべてのトランザクションを含む。なお、１つのトランザクションはデータベース状態の１回の変化を示す。
【００７６】
図４は、本発明の一実施例により提供されるチェーンルータの構造模式図である。図４に示すよう、当該チェーンルータは、チェーン間の通信プロトコル（Ｃｒｏｓｓ  Ｂｌｏｃｋｃｈａｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ，ＣＢＣＰ）により複数のマイクロチェーンと接続することができる。当該実施例において、チェーンルータは、ルート情報管理モジュールと、通信パックのプロセッサーと、ディスペンサーとを備える。ルート情報管理モジュールにはルーティングテーブルが記憶されており、通信パックのプロセッサーは、受信した第１の通信パックに対して解析を行い、第２の通信パックを生成でき、その後、ディスペンサーがルーティングテーブルに基づいて第２の通信パックを転送する。当該ルーティングテーブルは、ダイナミックに更新するルーティングテーブルであってもよい。
【００７７】
図５は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。図５による方法は、第１のブロックチェーンにより実行され、その具体的なプロセスは図１の記述を参照すればよい。図５に示すよう、当該方法は以下の内容を含む。
【００７８】
５１０：第１のトランザクションを生成し、第１のトランザクションを第１のブロックチェーンに書き込む。ここで、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。
【００７９】
５２０：チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに第２の通信パックを送信できるよう、第１のトランザクションを含む第１の通信パックを第３のブロックチェーンに送信する。
【００８０】
選択的に、別の一実施例として、第１のトランザクションはメッセージ内容と第２のブロックチェーンのチェーン識別子とを含む。
【００８１】
図６は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。図７による方法は第２のブロックチェーンにより実行され、その具体的なプロセスは図１の記述を参照すればよい。図６に示すよう、当該方法は以下の内容を含む。
【００８２】
６１０：チェーンルータから送信された第２の通信パックを受信する。なお、第２の通信パックは、第１のブロックチェーンから送信された第１のトランザクションに基づいてチェーンルータにより生成されたものであり、チェーンルータは第３のブロックチェーンであり、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。
【００８３】
６２０：第２の通信パックに基づいて第３のトランザクションを生成し、第３のトランザクションを第２のブロックチェーンに書き込む。
【００８４】
具体的には、第２のブロックチェーンは、第２の通信パックを受信して第２のトランザクションに対して処理を行うときに、第３のトランザクションを生成してもよい。当該第３のトランザクションは、メッセージ内容と、第１のブロックチェーンのチェーン識別子と、第２のブロックチェーンのチェーン識別子とを含んでもよい。第２のブロックチェーンは、データのトレースが実現されるよう、当該第３のトランザクションを第２のブロックチェーンに書き込んでもよい。
【００８５】
以下、当該実施態様におけるチェーンルータと、ブロックチェーンのクロスチェーン通信を実現するシステムとの間の情報伝達プロセス及び状態メンテナンスとをより詳しく説明する。
（１）情報伝達プロセス
【００８６】
図７は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する方法のフローチャートである。図７による方法は、図１、図５、図６の一例であるため、ここではその詳細な説明をある程度省略する。図７に示すよう、当該方法は以下の内容を含む。
【００８７】
７１０：マイクロチェーンＡは第１の通信パックを生成する。なお、第１の通信パックは第１のトランザクションを含む。
【００８８】
仮にマイクロチェーンＡがマイクロチェーンＢにメッセージＭを送信しようとすると、マイクロチェーンＡはコンセンサスによって、以下のような第１のトランザクションをブロックチェーンに書き込む。
［メッセージ内容：Ｍ、メッセージ受信チェーン：Ｂ］
【００８９】
７２０：マイクロチェーンＡは、第１の通信パックをチェーンルータに送信する。
【００９０】
７３０：チェーンルータは、権利委任ビザンチン・フォールト・トレランスコンセンサスアルゴリズムを用いて、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する。
検証結果が「ＮＯ」の場合、操作過程を終了する。
【００９１】
７４０：検証結果が「ＹＥＳ」の場合、チェーンルータは第１の通信パックに基づいて第２の通信パックを生成する。ここで、第２の通信パックは第２のトランザクションを含む。
チェーンルータは以下のような第２のトランザクションを生成した後、第２のトランザクションをブロックチェーンに書き込む。
［メッセージ内容：Ｍ、メッセージ受信チェーン：Ｂ、メッセージ送信チェーン：Ａ］
【００９２】
７５０：チェーンルータは、ダイナミックルーティングテーブルに基づいて、第２の通信パックをマイクロチェーンＢに送信する。
【００９３】
７６０：マイクロチェーンＢは第２の通信パックに基づいて第３のトランザクションを生成する。
マイクロチェーンＢは、以下のような第３のトランザクションを生成した後、第３のトランザクションをブロックチェーンに書き込む。
［メッセージ内容：Ｍ、メッセージ送信元：Ａ］
（２）状態メンテナンス
【００９４】
異なるマイクロチェーン間のコミュニケーションブリッジとして、チェーンルータは、マイクロチェーンについての一部の状態をメンテナンスすることを担当しなければならない。
【００９５】
まず、マイクロチェーンは、チェーンルータと通信することを希望すれば、チェーンルータでマイクロチェーンのチェーン識別子（Ｃｈａｉｎ  ＩＤ）、マイクロチェーンにおける検証ノードの情報、マイクロチェーンにおける資産の種類などを含んだ情報を登録することができる。よって、チェーンルータが通信要求を受けるときに対応するマイクロチェーンを解析し、転送作業を完了できるようにサポートする。
【００９６】
次に、チェーンルータは、マイクロチェーンの基本状態に対するメンテナンス及び、マイクロチェーンから送信されたトランザクションに対する検証などを実現するために、マイクロチェーンの最新ブロック情報と最新ブロックの投票（Ｃｏｍｍｉｔ）をリアルタイムに受信する必要がある。
【００９７】
更に、検証ノードの身分がリアルタイムに変更するため、チェーンルータは、マイクロチェーンからのトランザクションの妥当性を検証するために、すべてのマイクロチェーンにあるダイナミック検証ノード情報をメンテナンスする必要がある。
【００９８】
同様に、マイクロチェーンにおいても、チェーンルータ中の対応情報をメンテナンスすることによって、トランザクションが確かにチェーンルータから送信されたものであると確認する必要がある。当該対応情報は、チェーンルータの身分標識、チェーンルータにおける検証ノード情報、チェーンルータにある最新ブロック及び投票などを含む。
【００９９】
図８は、本発明の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置８００の構成模式図である。図８に示すよう、装置８００は、受信モジュール８１０と、生成モジュール８２０と、送信モジュール８３０とを備える。受信モジュール８１０は、第１のブロックチェーンから送信された第１の通信パックを受信する。ここで、第１の通信パックに第１のトランザクションが含まれ、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。生成モジュール８２０は、第１の通信パックに基づいて第２の通信パックを生成する。送信モジュール８３０は、第２の通信パックを第２のブロックチェーンに送信する。
【０１００】
本発明の一実施例は、ブロックチェーンのクロスチェーン通信を実現する装置を提供する。当該装置は、第１のブロックチェーンから送信された第１の通信パックを受信して、第１の通信パックに基づいて第２の通信パックを生成して、更に第２の通信パックを第２のブロックチェーンに送信する、という流れを通じて、第１のブロックチェーンと第２のブロックチェーンの間の通信を実現して、ブロックチェーンの取引処理能力を向上させる。
【０１０１】
選択的に、別の一実施例として、送信モジュール８３０は、ルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信する。
【０１０２】
選択的に、別の一実施例として、送信モジュール８３０は、ダイナミックルーティングテーブルに基づいて第２の通信パックを第２のブロックチェーンに送信する。
【０１０３】
選択的に、別の一実施例として、装置８００はチェーンルータであり、チェーンルータは第３のブロックチェーンである。第３のブロックチェーンは、第１のブロックチェーンと第２のブロックチェーンの間に接続され、通信パックの受信と転送を実現する。なお、第２の通信パックに第２のトランザクションが含まれ、生成モジュールは第１のトランザクションに基づいて第２のトランザクションを生成する。ここで、装置８００は書込みモジュール８４０を更に備える。書込みモジュール８４０は、第２のトランザクションを第３のブロックチェーンに書き込む。ここで、第１のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子とを含み、第２のトランザクションは、メッセージ内容と第２のブロックチェーンのチェーン識別子及び第１のブロックチェーンのチェーン識別子を含む。
【０１０４】
選択的に、別の一実施例として、装置８００は、検証モジュール８５０を更に備える。検証モジュール８５０は、第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する。また、検証結果が「ＹＥＳ」の場合、生成モジュール８２０は第１のトランザクションに基づいて第２のトランザクションを生成する。
【０１０５】
選択的に、別の一実施例として、検証モジュール８５０は、投票に基づくコンセンサスアルゴリズムを採用して第１のトランザクションが第１のブロックチェーンから送信されたものであるか否かを検証し、検証結果を取得する。
【０１０６】
選択的に、別の一実施例として、チェーンルータは、チェーンルータ中のトランザクションの増加に伴い増加するいくつかのブロックを有し、その中のいずれのブロックも、ブロックヘッダ部分とデータ部分を有する。
【０１０７】
選択的に、別の一実施例として、ブロックヘッダ部分は、チェーン識別子と、ブロックハイトと、時間と、世界状態のハッシュ値と、当該ブロックに隣接する一つ前のブロックのブロックヘッダ部分のハッシュ値と、当該ブロックに隣接する一つ前のブロックのパーツと、検証者のハッシュ値と、データ部分のハッシュ値の中の１つ以上を含み、データ部分は少なくとも当該ブロック内のすべてのトランザクションを含む。
【０１０８】
装置８００の各モジュールの操作と機能は、前述の図１の方法を参照すればよく、ここでは重複を避けるために再び記述しない。
【０１０９】
図９は、本発明の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置９００の構成模式図である。図９に示すよう、装置９００は、生成モジュール９１０と送信モジュール９２０とを備える。生成モジュール９１０は、第１のトランザクションを生成し、第１のトランザクションを第１のブロックチェーンに書き込む。ここで、第１のトランザクションは第１のブロックチェーンにおけるデータベース状態の変化に対応する。送信モジュール９２０は、チェーンルータとしての第３のブロックチェーンが第１の通信パックに基づいて第２の通信パックを生成して第２のブロックチェーンに第２の通信パックを送信できるよう、第１のトランザクションを含む第１の通信パックを第３のブロックチェーンに送信する。
【０１１０】
選択的に、別の一実施例として、第１のトランザクションはメッセージ内容と第２のブロックチェーンのチェーン識別子とを含む。
【０１１１】
装置９００の各モジュールの操作と機能は、上述の図１と図６の方法を参照すればよく、ここでは重複を避けるために再び記述しない。
【０１１２】
図１０は、本発明の別の一実施例により提供されるブロックチェーンのクロスチェーン通信を実現する装置１０００の構成模式図である。図１０に示すよう、装置１０００は、受信モジュール１０１０と生成モジュール１０２０とを備える。受信モジュール１０１０は、チェーンルータから送信された第２の通信パックを受信する。ここで、第２の通信パックは、第１のブロックチェーンから送信された第１のトランザクションに基づいてチェーンルータにより生成されるものであり、チェーンルータは第３のブロックチェーンであり、第１のトランザクションは、第１のブロックチェーンにおけるデータベース状態の変化に対応する。生成モジュール１０２０は、第２の通信パックに基づいて第３のトランザクションを生成し、第３のトランザクションを第２のブロックチェーンに書き込む。
【０１１３】
選択的に、別の一実施例として、第３のトランザクションはメッセージ内容と第１のブロックチェーンのチェーン識別子とを含む。
【０１１４】
装置１０００の各モジュールの操作と機能は、前述の図１と図７の方法を参照すればよく、ここでは重複を避けるために再び記述しない。
【０１１５】
本発明の実施例は、ブロックチェーンのクロスチェーン通信を実現するシステムを提供する。当該システムは、複数のブロックチェーンと、１つ以上のチェーンルータとを含む。１つ以上のチェーンルータのいずれも図８で記述されたチェーンルータである。１つ以上のチェーンルータは、複数のブロックチェーンの間の通信を実現するために、複数のブロックチェーンの間に接続され、通信パックの受信と転送を実行する。
【０１１６】
本発明の一部の実施例において、１つ以上のチェーンルータには、複数のチェーンルータが含まれ、１つ以上のチェーンルータのいずれもブロックチェーンである。
【０１１７】
具体的には、複数のチェーンルータのいずれも、複数のマイクロチェーンに接続されることができる。ここで、チェーンルータはルータのような機能を果たし、通信プロトコルに基づいて通信パックの解析と転送を実現し、当該システムのネットワークトポロジー構造をダイナミックにメンテナンスする。
【０１１８】
チェーンルータネットワークの最終的構造は、多くの要因に影響される。その中で、最も重要な影響要因は、通信する必要があるブロックチェーンの数である。チェーンネットワークに接続するブロックチェーンが徐々に増加するに伴い、一つのチェーンルータに接続するブロックチェーンの数が増加する。この数がチェーンルータの負荷を超える程度まで大きくなる場合、チェーンルータを増やすことで負担を分担することができる。
【０１１９】
本発明の一部の実施例において、複数のチェーンルータは、ツリー型構造或いはネット型構造で分布している。
【０１２０】
具体的には、ツリー型構造は、各ノードの親ノードが唯一であるトポロジー構造を指し、ネット型構造は各ノードの親ノードが唯一ではないトポロジー構造を指す。当該トポロジー構造はレイヤー構造となり、そのトポロジー関係はレイヤー関係に対応する。
【０１２１】
例えば、前述した複数のチェーンルータは上層チェーンと下層チェーンを含む。下層チェーンは、上層チェーンを接続することを担当し、上層チェーン間の通信の維持を担当する。つまり、目標チェーンが同一の上層チェーンに位置する場合に、直接上層チェーンを介して通信を行うが、異なる上層チェーンに位置する場合には、下層チェーンを介して通信を行わなければならない。最下層はチェーンルータの基幹を構成する。実際の応用において、複数のチェーンルータの層数は、実際の状況に応じて設定されてもよく、本発明はそれを制限しない。また、最上層のチェーンルータにおいてボーダ・ゲートウェイ・プロトコル（ＢＧＰ）のようなルールを使用し、その下の各サブ領域においてツリー型、ネット型、又はツリー型とネット型の組み合わせの構造を使用してもよい。本発明の一部の実施例においては、複数のチェーンルータがツリー型構造とネット型構造の組み合わせの形で分布している。
【０１２２】
図１１は、本発明の一例としての実施例によって示されるブロックチェーンのクロスチェーン通信を実現するコンピューター装置１１００のアーキテクチャ図である。
【０１２３】
図１１を参照すると、装置１１００は、プロセッサー部１１１０と、メモリ１１２０を代表とするメモリリソースとを備える。なお、プロセッサー部１１１０は１つ或いは複数のプロセッサーを更に含む。メモリリソースは、プロセッサー部１１１０に実行可能な命令、例えば、アプリケーション、を記憶する。メモリ１１２０に記憶されるアプリケーションは、１つ或いは複数のモジュールを含んでもよく、いずれのモジュールも１組の命令に対応する。更に、プロセッサー部１１１０は、前述したブロックチェーンのクロスチェーン通信を実現する方法を実行するために、実行命令として配置される。
【０１２４】
装置１１００は、実行装置１１００の電源管理部として配置された電源部と、装置１１００をネットワークに繋げるように配置された有線或いは無線のネットワークインターフェイスと、入出力（Ｉ／Ｏ）インターフェースと、を更に備えてもよい。装置１１００は、メモリ１１２０に記憶された操作システム、例えば、Ｗｉｎｄｏｗｓ  ＳｅｒｖｅｒＴＭ，Ｍａｃ  ＯＳ  ＸＴＭ，ＵｎｉｘＴＭ，ＬｉｎｕｘＴＭ，ＦｒｅｅＢＳＤＴＭ、或いは類似したものによって操作されることができる。
【０１２５】
非一時的なコンピューター読取可能な記憶媒体であって、記憶媒体にある命令が前述した装置１１００のプロセッサーに実行されると、前述した装置１１００がブロックチェーンのクロスチェーン通信を実現する方法を実行できるようになる。当該方法は、第１のブロックチェーンから送信された、第１のブロックチェーンにおけるデータベース状態の変化に対応する第１のトランザクションを含む第１の通信パックを受信するステップと、第１の通信パックに基づいて第２の通信パックを生成するステップと、第２の通信パックを第２のブロックチェーンに送信するステップと、を含む。
【０１２６】
当業者は、本明細書に開示された実施例の記述に合わせて、各例におけるユニット及びアルゴリズムステップが電子ハードウェア、或いはコンピューターソフトウェアと電子ハードウェアの組み合わせで実現されることができると理解できるであろう。これらの機能がハードウェアとソフトウェアのどちらで実行されるかは、技術案の応用シーンと設計上の拘束条件で決定される。専門的な技術者は、各応用シーンに対して異なる方法を用いて記述された機能を実現できるが、このような実現は本発明の範囲を超えると認められるべきではない。
【０１２７】
当業者は、記述の便利と簡潔のために、前述したシステム、装置及びユニットの具体的な作業過程については、前述した方法の実施例における対応するプロセスを参照すればよいことをはっきりと理解できるので、ここでは再び記述しない。
【０１２８】
本発明により提供されるいくつかの実施例において開示されたシステム、装置及び方法は、他の手段で実現されることも可能だと理解できるであろう。例えば、上記で説明した装置の実施例は単なる概略的なものであり、例えば、前述したユニットの分類法は単なるロジック機能の分類法に過ぎず、実際に実現するときには別の分類法を使用してもよく、例えば、複数のユニットや部品が組み合わせられたり、別のシステムに集積されたりしてもよく、又は一部の特徴が省略されてもよく、更に実行されなくてもよい。その他、開示又は議論された、互いに結合すること或いは直接結合すること或いは通信接続することは、一部のコネクターを介してもよく、装置やユニットの間接的な結合或いは通信接続は、電気的でもよく、機械的又は他の形式であってもよい。
【０１２９】
分離した部品として説明された前記ユニットは、物理的に分離したものであっても、そうでなくてもよい。ユニットの形で表された部品は、物理的なユニットであっても、そうでなくてもよい。つまり、１つの場所に位置してもよく、複数のネットワークユニットに分散してもよい。実際のニーズによって、その中の一部或いは全部のユニットを選択して、本実施例の技術案の目的を達成するために用いることができる。
【０１３０】
また、本発明の各実施例における各機能ユニットは、１つのプロセッサーユニットに集積されてもよく、各ユニットは単独で物理的に存在してもよく、２つ以上のユニットが１つのユニットに集積されてもよい。
【０１３１】
前記機能は、ソフトウェアの機能ユニットの形で実現され、且つ独立した製品として販売又は使用される場合、コンピューター読取り可能な記憶媒体に記憶されてもよい。このような理解に基づき、本発明の技術案の本質は、言い換えると従来技術に貢献した部分、更に言い換えると当該技術案の部分は、ソフトウェア製品の形で表現されることが可能である。当該コンピューターソフトウェア製品は、記憶媒体に記憶されており、コンピューター設備（パソコン、サーバー、或いはネットワーク設備などであってもよい）が本発明の各実施例において説明された方法のすべて或いは一部のステップを実行させるいくつかの命令を含む。なお、前述した記憶媒体は、ＵＳＢメモリ、リムーバブルメディア、リードオンリーメモリ（ＲＯＭ，Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ，Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク或いはコンパクトディスクなどの各種のプログラム識別コードを記憶できるメディアを含む。
【０１３２】
上記の内容は本発明の具体的な実施形態に過ぎず、本発明の保護範囲はそれに限られていない。すべての当業者は本発明の開示する技術範囲内で容易に変更や置換を思いつくことができるため、それらはすべて本発明の保護範囲に入らなければならない。したがって、本発明の保護範囲は、記述される特許請求の保護範囲に準拠しなければならない。
【図１】
2019536380.tif 000003
【図２】
2019536380.tif 000004
【図３】
2019536380.tif 000005
【図４】
2019536380.tif 000006
【図５】
2019536380.tif 000007
【図６】
2019536380.tif 000008
【図７】
2019536380.tif 000009
【図８】
2019536380.tif 000010
【図９】
2019536380.tif 000011
【図１０】
2019536380.tif 000012
【図１１】
2019536380.tif 000013
【国際調査報告】
2019536380.tif 000014
2019536380.tif 000015
2019536380.tif 000016
2019536380.tif 000017