(57)【特許請求の範囲】
【請求項１】
2つ以上の中継器によって通信可能にリンクされた複数のブロックチェーンインスタンスを含む統合ブロックチェーンネットワーク内のクロスチェーン相互作用のための中継器のコンピュータ実装方法であって、
前記統合ブロックチェーンネットワーク内で第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスと通信可能にリンクされた前記中継器によって、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を識別するステップであって、前記第1のブロックチェーンインスタンスの前記ブロックチェーンドメイン名が前記第1のブロックチェーンインスタンスの一意の識別子であり、かつ前記統合ブロックチェーンネットワーク内の前記第1のブロックチェーンインスタンスのチェーン識別子に一意に対応する、ステップと、
前記中継器によって、前記第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別するステップであって、前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名が前記第2のブロックチェーンインスタンスの一意の識別子であり、かつ前記統合ブロックチェーンネットワーク内の前記第2のブロックチェーンインスタンスのチェーン識別子に一意に対応する、ステップと、
前記第1のブロックチェーンインスタンスのノードから前記中継器によって、前記第2のブロックチェーンインスタンスにアクセスするためのアクセス要求を受信するステップであって、前記アクセス要求が前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名を含む、ステップと、
前記中継器によって、前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名に基づいて前記第2のブロックチェーンインスタンスの前記チェーン識別子を識別するステップであって、前記第2のブロックチェーンインスタンスの前記チェーン識別子が、前記第2のブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す、ステップと、
前記中継器によって、前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成に基づいて前記第1のブロックチェーンインスタンスに対して前記第2のブロックチェーンインスタンスへのアクセスを提供するステップと
を含む、方法。
【請求項２】
前記第1のブロックチェーンインスタンスのブロックチェーンドメイン名を識別するステップが、前記第1のブロックチェーンインスタンスの前記ブロックチェーンドメイン名を前記第1のブロックチェーンインスタンスのローカル識別子として使用するステップを含み、
前記第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別するステップが、前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名を前記第2のブロックチェーンインスタンスのローカル識別子として使用するステップを含む、
請求項1に記載の方法。
【請求項３】
前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名に基づいて前記第2のブロックチェーンインスタンスの前記チェーン識別子を識別するステップが、前記ブロックチェーンドメイン名に基づいて前記中継器においてローカルに記憶されたルックアップ情報に従って前記第2のブロックチェーンインスタンスの前記チェーン識別子を識別するステップを含む、請求項1に記載の方法。
【請求項４】
前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名に基づいて前記第2のブロックチェーンインスタンスの前記チェーン識別子を識別するステップが、遠隔統合ブロックチェーンドメイン名サーバからの前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名に基づいて前記第2のブロックチェーンインスタンスの前記チェーン識別子を識別するステップを含む、請求項1に記載の方法。
【請求項５】
前記中継器によって前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成に基づいて前記第1のブロックチェーンインスタンスに対して前記第2のブロックチェーンインスタンスへのアクセスを提供するステップが、前記中継器によって、第2の中継器を介して前記第1のブロックチェーンインスタンスに対して前記第2のブロックチェーンインスタンスへのアクセスを提供するステップを含み、
前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成が、前記第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて前記第2の中継器によって識別され、
前記第2のブロックチェーンインスタンスが、前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成に基づいて前記第2の中継器によってアクセスされる、
請求項1に記載の方法。
【請求項６】
前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成が、前記第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて前記第2の中継器においてローカルに記憶されたルックアップ情報に従って前記第2の中継器によって識別される、請求項4に記載の方法。
【請求項７】
前記第2のブロックチェーンインスタンスの前記チェーン識別子によって示される前記ブロックチェーンネットワーク構成が、遠隔統合ブロックチェーンドメイン名サーバからの前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名に基づいて前記第2の中継器によって識別される、請求項4に記載の方法。
【請求項８】
前記第1のブロックチェーンインスタンスの前記ブロックチェーンドメイン名が第1の人間が読取り可能なラベルを含み、前記第2のブロックチェーンインスタンスの前記ブロックチェーンドメイン名が第2の人間が読取り可能なラベルを含む、請求項1に記載の方法。
【請求項９】
1つまたは複数のプロセッサに結合され、かつ命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令が、前記1つまたは複数のプロセッサによって実行されたとき、請求項1から8までのうちの1つまたは複数の請求項の方法による動作を前記1つまたは複数のプロセッサに実行させる、非一時的コンピュータ可読記憶媒体。
【請求項１０】
コンピューティングデバイスと、
前記コンピューティングデバイスに結合され、命令が記憶されたコンピュータ可読記憶デバイスであって、前記命令が、前記コンピューティングデバイスによって実行されたとき、請求項1から8までのうちの1つまたは複数の請求項の方法による動作を前記コンピューティングデバイスに実行させる、コンピュータ可読記憶デバイスと
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロックチェーンシステム内でドメイン名方式を使用するクロスチェーン相互作用に関する。
【背景技術】
【０００２】
コンセンサスネットワークおよび/またはブロックチェーンネットワークと呼ぶこともできる分散型台帳システム(DLS)は、参加エンティティがデータをセキュアにかつ不変に記憶することを可能にする。DLSは、特定のユーザ事例(たとえば、暗号通貨)に言及することなく、一般にブロックチェーンネットワークと呼ばれる。例示的なタイプのブロックチェーンネットワークは、パブリックブロックチェーンネットワークと、プライベートブロックチェーンネットワークと、コンソーシアムブロックチェーンネットワークとを含むことができる。パブリックブロックチェーンネットワークは、DLSを使用してコンセンサスプロセスに参加することをすべてのエンティティに開放している。プライベートブロックチェーンネットワークは、読み取りおよび書き出しの許可を中央で制御する特定のエンティティに対して提供される。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティの選択グループに対して提供され、アクセス制御レイヤを含む。
【０００３】
ブロックチェーンは、参加者が商品を購買/販売するためのトランザクションを行うことおよび/または暗号通貨を使用してサービスすることを可能にする、暗号通貨ネットワーク内で使用される。一般的な暗号通貨はビットコインを含む。暗号通貨ネットワークでは、記録保存モデルがユーザ間のトランザクションを記録するために使用される。例示的な記録保存モデルは、未使用トランザクションアウトプット(UTXO)モデルとアカウントモデル(アカウントベースモデルまたはアカウント/バランスモデルとも呼ばれる)とを含む。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実装形態は、ブロックチェーンシステムに対するドメイン名方式のためのコンピュータ実装方法を含む。より詳細には、本開示の実装形態は、ブロックチェーンシステム内の統合ドメイン名方式を使用するクロスチェーン相互作用を対象とする。
【０００５】
いくつかの実装形態では、アクションは、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を、統合ブロックチェーンネットワーク内で第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスと通信可能にリンクされた中継器によって識別することであって、第2のブロックチェーンインスタンスのブロックチェーンドメイン名は、第2のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第2のブロックチェーンインスタンスのチェーン識別子に一意に対応する、識別することと、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することであって、第1のブロックチェーンインスタンスのブロックチェーンドメイン名は、第1のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第1のブロックチェーンインスタンスのチェーン識別子に一意に対応する、識別することと、第2のブロックチェーンインスタンスにアクセスするためのアクセス要求を、第1のブロックチェーンインスタンスのノードから受信することであって、アクセス要求は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を含む、受信することと、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することであって、第2のブロックチェーンインスタンスのチェーン識別子は、第2のブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す、識別することと、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを提供することとを含む。
【０００６】
他の実装形態は、コンピュータ記憶デバイス上で符号化される方法のアクションを実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００７】
これらおよび他の実装形態は、各々以下の特徴のうちの1つまたは複数をオプションで含む場合がある。
【０００８】
第1の特徴は、以下の特徴のいずれとも結合可能であり、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することは、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を第1のブロックチェーンインスタンスのローカル識別子として使用することを含み、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することは、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を第2のブロックチェーンインスタンスのローカル識別子として使用することを含む。
【０００９】
第2の特徴は、以下の特徴のいずれとも結合可能であり、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、ブロックチェーンドメイン名に基づいて中継器においてローカルに記憶されたルックアップ情報に従って第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。
【００１０】
第3の特徴は、以下の特徴のいずれとも結合可能であり、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、遠隔統合ブロックチェーンドメイン名サーバからの第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。
【００１１】
第4の特徴は、以下の特徴のいずれとも結合可能であり、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを中継器によって提供することは、第2の中継器を介して第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを中継器によって提供することを含み、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて第2の中継器によって識別され、第2のブロックチェーンインスタンスは、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第2の中継器によってアクセスされる。
【００１２】
第5の特徴は、以下の特徴のいずれとも結合可能であり、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて第2の中継器においてローカルに記憶されたルックアップ情報に従って第2の中継器によって識別される。
【００１３】
第6の特徴は、以下の特徴のいずれとも結合可能であり、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、遠隔統合ブロックチェーンドメイン名サーバからの第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2の中継器によって識別される。
【００１４】
第7の特徴は、以下の特徴のいずれとも結合可能であり、第1のブロックチェーンインスタンスのブロックチェーンドメイン名は、第1の人間が読取り可能なラベルを含み、第2のブロックチェーンインスタンスのブロックチェーンドメイン名は、第2の人間が読取り可能なラベルを含む。
【００１５】
本開示はまた、1つまたは複数のプロセッサに結合され、命令を記憶された1つまたは複数の非一時的コンピュータ可読記憶媒体を提供し、その命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で提供される方法の実装形態による動作を1つまたは複数のプロセッサに実行させる。
【００１６】
本開示は、本明細書で提供される方法を実装するためのシステムをさらに提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、命令を記憶されたコンピュータ可読記憶媒体とを含み、その命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で提供される方法の実装形態による動作を1つまたは複数のプロセッサに実行させる。
【００１７】
本開示による方法は、本明細書で説明する態様および特徴の任意の組合せを含んでもよいことが了解される。すなわち、本開示による方法は、本明細書で詳細に説明する態様および特徴の組合せに制限されないばかりでなく、提供する態様および特徴の任意の組合せをも含む。
【００１８】
本開示の1つまたは複数の実装形態の詳細が、添付の図面および下記の説明に記載される。本開示の他の特徴および利点は、説明および図面から、また特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１９】
【図１】本開示の実装形態を実行するために使用することができる例示的な環境を示す図である。
【図２】本開示の実装形態による例示的な概念アーキテクチャを示す図である。
【図３】本開示の実装形態による、ブロックチェーンインスタンスの例示的な統合ブロックチェーンドメイン名(UBCDN)を示す図である。
【図４】本開示の実装形態による、統合ブロックチェーンネットワーク内の例示的なUBCDN管理方式を示す図である。
【図５】本開示の実装形態による、統合ブロックチェーンネットワーク内のクロスチェーン相互作用に対するブロックチェーンインスタンスのブロックチェーンドメイン名を使用するための例示的なプロセスを示す図である。
【図６】本開示の実装形態による、ブロックチェーンインスタンスのUBCDNを認証するための例示的なプロセスを示す図である。
【図７】本開示の実装形態による、ブロックチェーンインスタンスのUBCDNの所有者(UBCDN所有者)の例示的なプロセスを示す図である。
【図８】本開示の実装形態による、統合ブロックチェーンネットワーク内のクロスチェーン相互作用のための中継器の例示的なプロセスを示す図である。
【発明を実施するための形態】
【００２０】
様々な図面における同様の参照シンボルは、同様の要素を示す。
【００２１】
本開示の実装形態は、ブロックチェーンシステムに対するドメイン名方式のためのコンピュータ実装方法を含む。より詳細には、本開示の実装形態は、ブロックチェーンシステム内の統合ドメイン名方式を使用するクロスチェーン相互作用を対象とする。
【００２２】
いくつかの実装形態では、アクションは、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を、統合ブロックチェーンネットワーク内で第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスと通信可能にリンクされた中継器によって識別することであって、第2のブロックチェーンインスタンスのブロックチェーンドメイン名は、第2のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第2のブロックチェーンインスタンスのチェーン識別子に一意に対応する、識別することと、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することであって、第1のブロックチェーンインスタンスのブロックチェーンドメイン名は、第1のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第1のブロックチェーンインスタンスのチェーン識別子に一意に対応する、識別することと、第2のブロックチェーンインスタンスにアクセスするためのアクセス要求を、第1のブロックチェーンインスタンスのノードから受信することであって、アクセス要求は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を含む、受信することと、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することであって、第2のブロックチェーンインスタンスのチェーン識別子は、第2のブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す、識別することと、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを提供することとを含む。
【００２３】
本開示の実装形態に対するさらなる文脈を提供するために、上記で紹介したように、(たとえば、ピアツーピアノードからなる)コンセンサスネットワークと呼ぶこともできる分散型台帳システム(DLS)およびブロックチェーンネットワークは、参加エンティティがトランザクションをセキュアにかつ不変に行ってデータを記憶することを可能にする。ブロックチェーンという用語は一般にビットコイン暗号通貨ネットワークに関連付けられるが、本明細書では、ブロックチェーンは一般に、特定のユーザ事例に言及することなく、DLSを指すために使用される。上記で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供することができる。
【００２４】
パブリックブロックチェーンネットワークでは、コンセンサスプロセスは、コンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万のエンティティがパブリックブロックチェーンネットワークで協働することができ、エンティティの各々は、パブリックブロックチェーンネットワーク内で少なくとも1つのノードを作動させる。それに応じて、パブリックブロックチェーンネットワークは、参加エンティティに関するパブリックネットワークと見なすことができる。いくつかの例では、大部分のエンティティ(ノード)は、ブロックが有効であってブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加されるために、ブロックごとに署名しなければならない。例示的なパブリックブロックチェーンネットワークは、ピアツーピア支払いネットワークであるビットコインネットワークを含む。ビットコインネットワークは、ブロックチェーンと呼ばれる分散型台帳を利用する。しかしながら、上記のように、ブロックチェーンという用語は、一般にビットコインネットワークに特に言及することなく、分散型台帳を指すために使用される。
【００２５】
一般に、パブリックブロックチェーンネットワークは、パブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内のすべてのノードと共有され、グローバルブロックチェーン内に記憶される。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードは、グローバルブロックチェーンに関して完全な状態で合意している。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する承諾)を得るために、コンセンサスプロトコルが、パブリックブロックチェーンネットワーク内に実装される。例示的なコンセンサスプロトコルは、限定はしないが、ビットコインネットワーク内に実装されるプルーフオブワーク(POW)を含む。
【００２６】
一般に、プライベートブロックチェーンネットワークは、読み取りおよび書き出しの許可を中央で制御する特定のエンティティに対して提供される。エンティティは、どのノードがブロックチェーンネットワークに参加することができるかを制御する。したがって、プライベートブロックチェーンネットワークは、一般に誰がネットワークに参加することを許されるか、およびそれらの参加のレベル(たとえば、いくつかのトランザクションにおいてのみ)に対する制限を課す許可型ネットワーク(permissioned network)と呼ばれる。様々なタイプのアクセス制御メカニズム(たとえば、既存の参加者が新しいエンティティの追加について採決を行う、規制当局が入会を管理することができる)を使用することができる。
【００２７】
一般に、コンソーシアムブロックチェーンネットワークは、参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、認可されたノードのセットによって制御され、1つまたは複数のノードがそれぞれのエンティティ(たとえば、金融機関、保険会社)によって作動される。たとえば、10のエンティティ(たとえば、金融機関、保険会社)のうちの1つのコンソーシアムがコンソーシアムブロックチェーンネットワークを作動させることができ、エンティティの各々がコンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを作動させる。それに応じて、コンソーシアムブロックチェーンネットワークは、参加エンティティに関するプライベートネットワークと見なすことができる。いくつかの例では、各エンティティ(ノード)は、ブロックが有効であってブロックチェーンに追加されるために、ブロックごとに署名しなければならない。いくつかの例では、エンティティ(ノード)(たとえば、少なくとも7つのエンティティ)の少なくとも1つのサブセットは、ブロックが有効であってブロックチェーンに追加されるために、ブロックごとに署名しなければならない。
【００２８】
本開示の実装形態が、コンソーシアムブロックチェーンネットワークを参照しながら本明細書でより詳細に説明される。しかしながら、本開示の実装形態は、任意の適切なタイプのブロックチェーンネットワーク内で実現されてもよいことが意図されている。
【００２９】
本開示の実装形態が、上記の文脈に鑑みて本明細書でより詳細に説明される。より詳細には、上記で紹介したように、本開示の実装形態は、ブロックチェーンシステム内のクロスチェーン相互作用に対するドメイン名方式を対象とする。
【００３０】
様々なブロックチェーンのプラットフォーム、環境、または製品が、異なるブロックチェーン技術に基づいて開発されている。例示的なブロックチェーン製品には、イーサリアムおよびビットコインが含まれる。現在のブロックチェーンネットワークには、異なるブロックチェーン製品に基づいて展開される複数のブロックチェーンインスタンスが含まれる。たとえば、現在のブロックチェーンネットワークには、イーサリアムまたはビットコインの技術に基づいて開発されているパブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンなどの様々なブロックチェーンインスタンスが含まれる。
【００３１】
各ブロックチェーンインスタンスの現在のアクセスモードは、ブロックチェーンまたはSDKなどのそれの技術的構成要素のクライアントノード(クライアント端末とも呼ばれる)からのアクセスを必要とする。特定のブロックチェーンインスタンスに正確に接続するために、クライアントは、そのブロックチェーンネットワーク構成をロードする必要がある。これらのブロックチェーンネットワーク構成は、一般的には、ハッシュ、会員証明書(member certificate)などである。これらの構成は、人間が読み取ることができず、どのチェーンをその構成が識別するかを識別することは困難である。
【００３２】
本開示は、ブロックチェーンネットワークに対するドメイン名方式を提供する。詳細には、統合ブロックチェーンドメイン名(UBCDN)は、ブロックチェーンネットワーク内の各ブロックチェーンインスタンス(ブロックチェーンネットワークインスタンスまたはチェーンとも呼ばれる)の一意の識別子としてサーバに提供される。たとえば、ブロックチェーンインスタンスは、ブロックチェーンプラットフォームまたはブロックチェーン技術(たとえば、イーサリアム)に基づくブロックチェーンの実装形態または展開であってもよい。各UBCDNは、ブロックチェーンインスタンスの対応するネットワーク構成(ブロックチェーンネットワーク構成とも呼ばれる)を用いてブロックチェーンインスタンスのドメイン名(ブロックチェーンドメイン名とも呼ばれる)を一意に結びつける。いくつかの実装形態では、ブロックチェーンネットワーク構成は、チェーン識別子によって表すかまたは示すことができる。ブロックチェーンインスタンスのクライアントノードは、チェーン識別子を識別するためにUBCDNをパースすることによって対応するブロックチェーンネットワーク構成を取得することができる。ブロックチェーンネットワーク構成に基づいて、クライアントノードは特定のブロックチェーンインスタンスにリンクするかまたはそうでなければアクセスすることができる。
【００３３】
説明するドメイン名方式は、異なるブロックチェーンの製品または技術に基づいて展開された複数のまたはすべてのブロックチェーンインスタンスを含む統合(またはグローバル)ブロックチェーンネットワーク内でブロックチェーンシステム間の相互作用に対する統合プロトコルを提供することができる。統合ブロックチェーンネットワーク内のすべてのブロックチェーンインスタンスは、同じドメイン名方式に従って一意のUBCDNを割り当てられる。いくつかの実装形態では、統合ブロックチェーンネットワーク内の各ブロックチェーンインスタンスは、統合ブロックチェーンネットワーク内で使用される異なるプラットフォーム、技術、または中継器とは無関係に統合ブロックチェーンネットワーク内のすべてのブロックチェーンインスタンスによって認識されてもよい単一のUBCDNを割り当てられる。いくつかの実装形態では、UBCDNは、統合ブロックチェーンネットワーク内のブロックチェーンインスタンスの管理的自律性、権限、または支配の範囲を定義する。いくつかの実装形態では、統合ブロックチェーンネットワークは、IPネットワーク内のインターネットの対応物と見なされてもよい一方で、UBCDNは、IPリソースのIPアドレスを有するIPネットワークにおけるIPリソースのドメイン名のマッピングと見なされてもよい。
【００３４】
統合ブロックチェーンネットワーク内の各ブロックチェーンインスタンスは、マルチチェーンまたはクロスチェーンの通信を容易にするために、対応するUBCDNによって一意に識別されてもよい。たとえば、クロスチェーン相互作用のためのリレーチェーンであって、そこにおいて、各ブロックチェーンはリレーチェーンネットワーク内で識別子(ID)を割り当てられるが、そのIDはローカルスコープを有するのみで他のリレーチェーンネットワーク内で再使用されることがない、リレーチェーンを使用するCOSMOSなどの既存のクロスチェーン実装形態とは違って、説明するドメイン名方式では、UBCDNは、統合ブロックチェーンネットワーク内にどれだけ多くのリレーチェーンが含まれていても、統合ブロックチェーンネットワーク内のすべてのブロックチェーンインスタンスによって使用することができ、グローバルに認識可能である。
【００３５】
その上、説明するドメイン名方式は、ブロックチェーンシステム内のクロスチェーン相互作用に対する識別プロトコルまたはアドレッシングプロトコルを簡略化する。たとえば、説明するドメイン名方式では、単一のUBCDNは、ブロックチェーンインスタンスを一意に識別するのに十分であり、異なるブロックチェーンネットワークの間の相互作用に対して統合ブロックチェーンネットワーク内のすべてのブロックチェーンインスタンスによってグローバルに認識可能である一方で、COSMOSでは、ブロックチェーンインスタンスは、他のブロックチェーンと相互作用するためにブロックチェーンインスタンスに対する複数のリレーチェーンをブロックチェーンインスタンスが結合するときに、複数の異なるIDを割り当てられる。
【００３６】
さらに、UBCDNは人間が読取り可能な識別子またはラベルを含むことができ、ユーザが容易にブロックチェーンインスタンスを記憶してそれに到達するのを助け、したがってブロックチェーンインスタンスの採用または使用を促進する。一例として、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンの所有者または事業者は、それらの名前に対応するブロックチェーンドメイン名を選択することができ、ユーザがブロックチェーンインスタンスの識別子を記憶するのを助け、ブロックチェーンドメイン名に対応するチェーン識別子の変換、解決(resolution)、またはそうでなければ識別をさらに容易にし、統合ブロックチェーンネットワーク内のクロスチェーン相互作用を促進させる。
【００３７】
ブロックチェーンインスタンスを識別するために容易に認識できて記憶できる名前を提供することに加えて、UBCDNは、ブロックチェーンインスタンスの基礎となるネットワーク構成が(たとえば、システムが更新すること、またはネットワークのアドレストポロジー内の異なる物理ロケーションに移動もしくは移行することによって)変化する場合でも、ブロックチェーンインスタンスが、そのブロックチェーンドメイン名を保持することを可能にする。そのような変更または更新の場合には、ブロックチェーンインスタンスのチェーン識別子は変更されてもよいが、ブロックチェーンドメイン名は同じままであってもよい。UBCDN所有者は、ブロックチェーンドメイン名のマッピングを更新されたチェーン識別子に変更することができ、他者(たとえば、他のブロックチェーンインスタンスまたはクライアントノード)が、ブロックチェーンインスタンスにアドレス指定してアクセスするために同じブロックチェーンドメイン名を使用することを可能にする。
【００３８】
図1は、本開示の実装形態を実行するために使用することができる例示的な環境100を示す。いくつかの例では、例示的な環境100は、エンティティがコンソーシアムブロックチェーンネットワーク102に参加することを可能にする。例示的な環境100は、コンピューティングデバイスまたはシステム106、108とネットワーク110とを含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされてもよい。
【００３９】
図示の例では、コンピューティングシステム106、108は、それぞれコンソーシアムブロックチェーンネットワーク102内のノードとしての参加を可能にする任意の適切なコンピューティングシステムを含むことができる。例示的なコンピューティングデバイスは、限定はしないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例では、コンピューティングシステム106、108は、コンソーシアムブロックチェーンネットワーク102と相互作用するために1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなどの第1のエンティティ(たとえば、ユーザA)のコンピュータ実装サービスをホストすることができる。コンピューティングシステム108は、第2のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなどの第2のエンティティ(たとえば、ユーザB)のコンピュータ実装サービスをホストすることができる。図1の例では、コンソーシアムブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108は、それぞれ第1のエンティティおよび第2のエンティティのノードを提供し、それらのノードはコンソーシアムブロックチェーンネットワーク102に参加する。
【００４０】
図2は、本開示の実装形態による例示的な概念アーキテクチャ200を示す。例示的な概念アーキテクチャ200は、エンティティレイヤ202と、ホストされるサービスレイヤ204と、ブロックチェーンネットワークレイヤ206とを含む。図示の例では、エンティティレイヤ202は、Entity_1 (E1)、Entity_2 (E2)およびEntity_3 (E3)の3つのエンティティを含み、各エンティティはそれぞれのトランザクション管理システム208を有する。
【００４１】
図示の例では、ホストされるサービスレイヤ204は、各トランザクション管理システム208に対するインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS:hypertext transfer protocol secure))を使用してネットワーク(たとえば、図1のネットワーク110)を介してそれぞれのインターフェース210と通信する。いくつかの例では、各インターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンネットワークレイヤ206との間の通信接続を提供する。より詳細には、インターフェース210は、ブロックチェーンネットワークレイヤ206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210とブロックチェーンネットワークレイヤ206との間の通信は、遠隔手続き呼出し(RPC)を使用して行われる。いくつかの例では、インターフェース210は、それぞれのトランザクション管理システム208に対するブロックチェーンネットワークノードを「ホストする」。たとえば、インターフェース210は、ブロックチェーンネットワーク212へのアクセスに対するアプリケーションプログラミングインターフェース(API)を提供する。
【００４２】
本明細書で説明するように、ブロックチェーンネットワーク212は、ブロックチェーン216内の情報を不変に記録するいくつかのノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。たとえば、各ノード214は、ブロックチェーンの1つのコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、コンソーシアムブロックチェーンネットワークに参加する2つ以上のエンティティ間で実行されるトランザクションに関連する情報を記憶する。
【００４３】
図3は、本開示の実装形態による、ブロックチェーンインスタンスの例示的な統合ブロックチェーンドメイン名(UBCDN)300を示す。UBCDN300は、ブロックチェーンドメイン名310とブロックチェーンインスタンスの対応するチェーン識別子320とを含むことができる。ブロックチェーンドメイン名310は、人間が読取り可能なラベルであってもよい。チェーン識別子320は、ブロックチェーンインスタンスのブロックチェーンネットワーク構成を示すことができ、ブロックチェーンネットワーク構成に基づいてブロックチェーンインスタンスへのアクセスを可能にする。いくつかの実装形態では、UBCDN300は追加のフィールドを含むことができるか、またはストリングもしくは別のデータ構造として表されてもよい。
【００４４】
ブロックチェーンドメイン名310は、ユーザフレンドリであってもよい。たとえば、ブロックチェーンドメイン名310は、テキストベースラベルであってもよく、そのラベルは、対応する数値のチェーン識別子320(たとえば、イーサリアムプロトコル内で使用される40文字16進アドレス)より記憶しやすい。いくつかの実装形態では、ブロックチェーンドメイン名310は、ストリングまたは別のデータ構造として表されてもよい。
【００４５】
いくつかの実装形態では、ブロックチェーンドメイン名310は、基礎となるブロックチェーンインスタンスのソース、所有権、または組織の理解をさらに容易にするように定義されたシンタックスを有することができる。たとえば、ブロックチェーンドメイン名310は、IPネットワーク内のドメイン名と同様にして設計されてもよい。ブロックチェーンドメイン名310は、1つまたは複数の部品またはラベルを含むことができる。1つまたは複数のラベルは連結することができ、名前におけるラベルが右から左に降下するドメインの階層を有する。左側の各ラベルは、右側のドメインの再分割またはサブドメインを規定する。たとえば、chain1. organization1のブロックチェーンドメイン名310は、基礎となるブロックチェーンインスタンスchain1が、organization1ドメインのサブドメインであってorganization1に属することを示す。いくつかの実装形態では、ブロックチェーンドメイン名310は、追加のまたは異なるシンタックスを定義することができる。
【００４６】
チェーン識別子320は、ブロックチェーンネットワーク内のブロックチェーンインスタンスにアドレス指定してアクセスするために使用されるアドレス可能識別子を含むことができる。チェーン識別子320は、ブロックチェーンインスタンスのブロックチェーンネットワーク構成を示すことができ、ブロックチェーンネットワーク構成に基づいてブロックチェーンインスタンスへのアクセスを可能にする。たとえば、複数のブロックチェーンインスタンスが、イーサリアム技術に基づいて展開されてもよい。たとえば、ブロックチェーンインスタンスは、mainnetチェーン、testingチェーン、プライベートチェーン、またはコンソーシアムチェーンであってもよい。イーサリアムクライアントは、イーサリアムブロックチェーンインスタンスのジェネシスブロック(すなわち、第1のブロック)をロードすることによってイーサリアムブロックチェーンインスタンスとの接続を確立することができる。ジェネシスブロックは、イーサリアムブロックチェーンインスタンスの一意の識別子と等価である。それに応じて、いくつかの実装形態では、イーサリアムブロックチェーンインスタンスのジェネシスブロックの1つまたは複数のフィールド(たとえば、ハッシュ値)が、イーサリアムブロックチェーンインスタンスのチェーン識別子320として抽出されてもよい。いくつかの実装形態では、ブロックチェーンインスタンスのチェーン識別子は、ブロックチェーンインスタンスのジェネシスブロックのハッシュ値だけでなくブロックチェーンインスタンスを識別するネットワークIDも含むことができる。いくつかの実装形態では、ネットワークIDは、たとえば使用されるネットワークIDに応じて別々にトランザクションに署名することによって、ブロックチェーンインスタンス上のトランザクションが他のチェーン上のトランザクションとは違って見せることが可能である。そのため、ネットワークIDは、ブロックチェーンインスタンスにリンクするかまたはそうでなければアクセスするために使用されてもよい追加のネットワーク構成を示す。チェーン識別子320は、たとえばブロックチェーンインスタンスの基礎となるブロックチェーンの技術またはプラットフォームに応じて追加のまたは異なる構成要素またはフィールドを含むことができる。
【００４７】
UBCDN300は、ブロックチェーンドメイン名310およびその対応するブロックチェーンインスタンスのチェーン識別子320の1対1マッピングを作成する。ブロックチェーンドメイン名310が与えられると、その対応するチェーン識別子320は、変換、解決、またはそうでなければ識別されてもよく、その逆も同様である。そのため、ノードは、チェーン識別子320によって示されるブロックチェーンネットワーク構成に基づいてブロックチェーンインスタンスにアクセスすることができる。例として、ブロックチェーンインスタンスのブロックチェーンドメイン名310は、インターネットプロトコル(IP)リソース(たとえば、example.com)のドメイン名システム(DNS)によるドメイン名に類似し、チェーン識別子320は、IPネットワーク内のIPリソースのIPアドレスに類似する。
【００４８】
いくつかの実装形態では、所与のブロックチェーンドメイン名310に対して、その対応するチェーン識別子320は、キャッシュされるか、またはそうでなければクエリコンピュータ(querying computer)の内部でローカルにまたは統合ブロックチェーンネットワーク内で(たとえば、中央UBCDNサーバ内で)リモートに記憶される、UBCDNルックアップ情報を使用して変換、解決、またはそうでなければ識別されてもよい。UBCDNルックアップ情報は、複数のUBCDN300を含むことができ、各UBCDN300は、複数のブロックチェーンインスタンスに対応する。UBCDNルックアップ情報は、たとえばルックアップテーブルまたは別のデータ構造内に記憶されてもよい。統合ブロックチェーンネットワーク内の1つまたは複数のノード(たとえば、クライアントノード、コンセンサスノード、またはリレーノード)またはサーバは、UBCDNルックアップ情報を記憶することができる。UBCDNルックアップ情報に基づいて探索することによって、所与のブロックチェーンドメイン名310に対応するチェーン識別子320が識別されてもよく、その逆も同様である。
【００４９】
UBCDN情報がローカルにキャッシュされるとき、UBCDNルックアッププロセスは、たとえば遠隔UBCDNサーバにおいて遠隔UBCDNルックアップを実行するより速やかであってもよい。いくつかの実装形態では、後者の遠隔UBCDNルックアップにおいて、ユーザは、ブロックチェーンドメイン名310、たとえば“chain1. organization1”をユーザのコンピューティングデバイス(すなわち、クライアントノード)のSDKに入力する。クライアントノードは、ブロックチェーンドメイン名310“chain1. organization1”を含む要求またはクエリを遠隔UBCDNサーバに、たとえばインターネットオフザチェーン(Internet off the chain)を介して送信する。要求を受信すると、遠隔UBCDNサーバは、UBCDNルックアップ情報の中で、ブロックチェーンドメイン名310“chain1. organization1”に一致するエントリを探索し、ブロックチェーンドメイン名310に対応するチェーン識別子320を識別する。次いで、遠隔UBCDNサーバは、たとえばブロックチェーンドメイン名310に対応するチェーン識別子320を含む応答をクライアントノードに送信することによって、ブロックチェーンドメイン名310に対応するチェーン識別子320を用いてクライアントノードに応答する。
【００５０】
図4は、本開示の実装形態による、統合ブロックチェーンネットワーク内の例示的なUBCDN管理方式400を示す。例示的なUBCDN管理方式400は、UBCDNに基づいてクロスチェーン通信に対する強化された信頼およびセキュリティを提供することができる。いくつかの実装形態では、例示的なUBCDN管理方式400は、統合ブロックチェーンネットワーク内に信頼を確立するために公開鍵基盤(PKI)に依存する。
【００５１】
たとえば、認証局(CA)410(たとえば、PKIの事業者)が使用されてもよい。CA410は、UBCDN430a、430bおよび430cの各所有者(総称して、UBCDN所有者430)にドメイン証明書(「ドメインCert」)420a、420bおよび420c(総称して、ドメイン証明書420)を発行する。UBCDN所有者430は、たとえばブロックチェーンインスタンスの所有者または事業者であってもよい。図示のように、UBCDN所有者430aはブロックチェーンドメイン名“Example1.chain”の所有者であり、UBCDN所有者430bはブロックチェーンドメイン名“Example2.chain”の所有者であり、UBCDN所有者430cはブロックチェーンドメイン名“ExampleN.chain”の所有者である。
【００５２】
いくつかの実装形態では、UBCDN所有者430は、証明書署名要求(図4に示さず)をCA410に提出することによってドメイン証明書420を取得することができる。いくつかの実装形態では、証明書要求は、ブロックチェーンドメイン名と、ブロックチェーンインスタンスの情報(たとえば、チェーン識別子または他のネットワーク構成)と、UBCDN所有者430の公開鍵とを含む電子文書である。UBCDN所有者430がブロックチェーンインスタンスのブロックチェーンドメイン名を管理者として管理する権限を有することが確認されると、CA410は、要求に署名し、したがってパブリックドメイン証明書420を作成することができる。いくつかの実装形態では、ドメイン証明書420は、ブロックチェーンドメイン名(たとえば、“Example1.chain”)の基礎となるブロックチェーンインスタンスにアクセスすることを欲する任意のノード(たとえば、クライアントノード、コンセンサスノード、またはリレーノード)に供給されてもよく、CA410がUBCDN所有者430を信頼して証明書を発行したことをノードに対して証明する。
【００５３】
ドメイン証明書420は、UBCDN所有者430のブロックチェーンドメイン名(たとえば、“Example1.chain”)と公開鍵とを含むことができる。UBCDN所有者430は、公開鍵に対応する秘密鍵ホルダである。CA410は、CA自体の秘密鍵を使用してブロックチェーンドメイン名およびUBCDN所有者430の公開鍵にデジタルで署名することができる。ドメイン証明書420は、CA410によってブロックチェーンドメイン名およびUBCDN所有者430の公開鍵に署名されたデジタル署名を含むことができる。
【００５４】
図3に関して説明したように、UBCDNは、ブロックチェーンドメイン名(たとえば、“Example1.chain”)と、対応するチェーン識別子とを含むことができる。UBCDN所有者430は、UBCDNを公表し、UBCDN所有者430の秘密鍵を使用してUBCDNに署名することができる。いくつかの実装形態では、UBCDN所有者430は、UBCDNが認証または検証されてもよいように、1つまたは複数のUBCDNメッセージ(たとえば、UBCDNメッセージ440a、450a、440b)を公表する。
【００５５】
いくつかの実装形態では、UBCDNメッセージ440は、UBCDNと、得られるUBCDNのデジタル署名と、ドメイン証明書とを含むことができる。ドメイン証明書は、CA410から受信されたそれぞれのドメイン証明書420であってもよい。UBCDNは、ブロックチェーンドメイン名およびチェーン識別子(たとえば、図3に関して説明したブロックチェーンドメイン名310およびチェーン識別子320)を含むことができる。図示のように、UBCDN所有者430aは、ブロックチェーンドメイン名442a“Example1.chain”および対応するチェーン識別子444a“Chain Identifier V0”と、デジタル署名446aと、ドメイン証明書448aとを含むUBCDNメッセージ440aを発行する。ドメイン証明書448aは、CA410によって発行され、CA410からUBCDN所有者430aによって受信されたドメイン証明書420aであってもよい。デジタル署名446aは、UBCDN所有者430aの秘密鍵を使用してUBCDN(すなわち、この場合は、ブロックチェーンドメイン名442a“Example1.chain”および対応するチェーン識別子444a“Chain Identifier V0”)にUBCDN所有者430aが署名することによって得ることができる。
【００５６】
同様に、UBCDN所有者430bは、ブロックチェーンドメイン名442b“Example2.chain”および対応するチェーン識別子444b“Chain Identifier Vx”と、デジタル署名446bと、ドメイン証明書448bとを含むUBCDNメッセージ440bを発行する。ドメイン証明書448bは、CA410によって発行され、CA410からUBCDN所有者430bによって受信されたドメイン証明書420bであってもよい。デジタル署名446aは、UBCDN所有者430bの秘密鍵を使用してUBCDN(すなわち、この場合は、ブロックチェーンドメイン名442b“Example2.chain”および対応するチェーン識別子444a“Chain Identifier V0”)にUBCDN所有者430bが署名することで得ることができる。
【００５７】
いくつかの実装形態では、認証または検証のプロセスは、たとえばUBCDNメッセージに基づいてUBCDNの有効性を検証するために、統合ブロックチェーンネットワーク内の任意のノード、または第三者によって実行されてもよい。上記によって、特に、ブロックチェーンシステム内のクロスチェーン相互作用に対するモバイル支払いトランザクションに関する電子商取引にとって重要であるセキュリティが確保されてもよい。
【００５８】
いくつかの実装形態では、認証または検証のプロセスは、たとえばブロックチェーンドメイン名がドメイン証明書内のブロックチェーンドメイン名と同じであることを検証することと、CA410によって発行されたドメイン証明書(たとえば、ドメイン証明書420a)内の公開鍵を使用してUBCDN上のデジタル署名(たとえば、デジタル署名446a)を検証することによってUBCDN所有者(たとえば、UBCDN所有者430a)がブロックチェーンドメイン名(たとえば、ブロックチェーンドメイン名442a“Example1.chain”)のホルダであることを検証することと、ドメイン証明書(たとえば、ドメイン証明書448a)が信頼できるCA410によって発行されたことを検証することとを含むことができる。
【００５９】
いくつかの実装形態では、UBCDNの有効性を検証した後、たとえば認証または検証のプロセスに基づいて、クライアントノードは、統合ブロックチェーンネットワーク内のクロスチェーン相互作用のためにUBCDNを使用することができる。たとえば、クライアントノードは、UBCDNメッセージを受信して読み取り、UBCDNの有効性または適法性を検証してUBCDNがUBCDNの所有者によって発行されたことを確認し、次いで、たとえばUBCDN内のブロックチェーンドメイン名に対応するチェーン識別子を識別することによって、UBCDNを使用してブロックチェーンインスタンスを一意に識別してアクセスすることができる。
【００６０】
図5は、本開示の実装形態による、統合ブロックチェーンネットワーク内のクロスチェーン相互作用に対するブロックチェーンインスタンスのブロックチェーンドメイン名を使用するための例示的なプロセス500を示す。いくつかの実装形態では、例示的なプロセス500は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行されてもよい。提示を明快にするために、以下の説明は、本明細書の他の形態の文脈においてプロセス500を概略的に説明する。たとえば、例示的なプロセス500は、図1に関して説明したコンソーシアムブロックチェーンネットワーク102のコンピューティングシステム106または108などの第1のブロックチェーンインスタンスのクライアントノード、または図2に関して説明したブロックチェーンネットワーク212のノード214によって実行されてもよい。しかしながら、プロセス500は、たとえば必要に応じて、任意の適切なシステム、環境、ソフトウェア、およびハードウェアによって、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されてもよいことが理解されよう。いくつかの実装形態では、プロセス500の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行されてもよい。
【００６１】
510において、第1のブロックチェーンインスタンスのクライアントノードは、第2の異なるブロックチェーンインスタンスのブロックチェーンドメイン名を取得する。いくつかの実装形態では、第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスは、異なるブロックチェーンプラットフォーム上に展開される。いくつかの実装形態では、第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスは、異なる所有者または事業者に属する。第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスは、2つ以上の中継器によって通信可能にリンクされたいくつかのブロックチェーンインスタンスを含む統合ブロックチェーンネットワーク内にある。
【００６２】
ブロックチェーンドメイン名は、統合ブロックチェーンネットワークが2つ以上の中継器を含む場合でも、統合ブロックチェーンネットワーク内の第2のブロックチェーンインスタンスの一意の識別子である。いくつかの実装形態では、統合ブロックチェーンネットワーク内のいくつかのブロックチェーンインスタンスの各々は、統合ブロックチェーンネットワーク内のいくつかのブロックチェーンインスタンスの各々を一意に識別する唯一のブロックチェーンドメイン名を有する。
【００６３】
ブロックチェーンドメイン名は、人間が読取り可能なラベルを含む。いくつかの実装形態では、人間が読取り可能なラベルはテキストベースラベルを含む。ブロックチェーンドメイン名は、第2のブロックチェーンインスタンスのチェーン識別子に一意に対応する。ブロックチェーンドメイン名およびチェーン識別子は、図3で説明したUBCDN300などのUBCDNによって表されてもよい。一例として、ブロックチェーンドメイン名はブロックチェーンドメイン名310であってもよい一方で、チェーン識別子はUBCDN300内の対応するチェーン識別子320であってもよい。
【００６４】
520において、第1のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別し、第2のブロックチェーンインスタンスのチェーン識別子は、第2のブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す。いくつかの実装形態では、第2のブロックチェーンインスタンスのチェーン識別子は、たとえば図3に関して説明したように、第2のブロックチェーンインスタンスのジェネシスブロックのハッシュ値と第2のブロックチェーンインスタンスのネットワーク識別子とを含む。
【００６５】
いくつかの実装形態では、ブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、ブロックチェーンドメイン名に基づいてクライアントノードにおいてローカルに記憶されたルックアップ情報に従って第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。
【００６６】
いくつかの実装形態では、ブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、ブロックチェーンドメイン名に基づいて遠隔統合ブロックチェーンドメイン名サーバからの第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。たとえば、第1のブロックチェーンインスタンスのクライアントノードは、要求またはクエリを統合ブロックチェーンドメイン名サーバに送信する。要求は、第2のブロックチェーンインスタンスのチェーン識別子を識別するためのブロックチェーンドメイン名を含む。次いで、第1のブロックチェーンインスタンスのクライアントノードは、要求に対する応答を統合ブロックチェーンドメイン名サーバから受信し、その応答は、第2のブロックチェーンインスタンスのチェーン識別子を含む。
【００６７】
530において、第1のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第2のブロックチェーンインスタンスにアクセスする。たとえば、第1のブロックチェーンインスタンスは、第2のブロックチェーンインスタンスのチェーン識別子によって示される第2のブロックチェーンインスタンスのジェネシスブロックのハッシュ値に基づいて、第2のブロックチェーンインスタンスのクライアントノードを介して第2のブロックチェーンインスタンスにアクセスする。いくつかの実装形態では、第1のブロックチェーンインスタンスは、第1のブロックチェーンインスタンスと第2のブロックチェーンインスタンスの両方に通信可能にリンクされた中継器(たとえば、リレーノードまたはリレーチェーン)または他のアプリケーションを使用することによって、第2のブロックチェーンインスタンスのクライアントノードを介して第2のブロックチェーンインスタンスにアクセスする。
【００６８】
いくつかの実装形態では、第2のブロックチェーンインスタンスからのデータにアクセスしてそれを取得するために、第2のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンのノード(たとえば、コンセンサスノード)のIPアドレスおよびポート番号、ならびに第2のブロックチェーンインスタンスのジェネシスブロックのハッシュ値などのネットワーク構成を構成することができる。第2のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンインスタンスのノードのIPアドレスおよびポート番号を介して第2のブロックチェーンインスタンスのノードと接続することができる。第2のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンインスタンスのノードのデータを読み取り、検索し、ダウンロードし、またはそうでなければ取得し、取得されたデータが第2のブロックチェーンインスタンスのジェネシスブロックのハッシュ値を指すかどうかを判断するために、たとえば第2のブロックチェーンインスタンスの簡易版支払い検証(SPV:Simple Payment Verification)プロトコルに基づいて、取得されたデータが第2のブロックチェーンインスタンスから来たものかどうかを検証することができる。
【００６９】
540において、第1のブロックチェーンインスタンスのクライアントノードは、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて、第1のブロックチェーンインスタンスと第2のブロックチェーンインスタンスとの間でクロスチェーントランザクションを実行する。いくつかの実装形態では、第1のブロックチェーンインスタンスと第2のブロックチェーンインスタンスとの間でクロスチェーントランザクションを実行することは、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を含むクロスチェーン要求およびデータ要求を、第1のブロックチェーンインスタンスと第2のブロックチェーンインスタンスの両方に通信可能にリンクされた中継器に、第1のブロックチェーンインスタンスによって送信することを含む。中継器は、クロスチェーン要求を受信し、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を読み取り、第2のブロックチェーンインスタンスの対応するブロックチェーンネットワーク構成をロードし、その構成を使用して第2のブロックチェーンインスタンスに接続する。中継器は、第2のブロックチェーンインスタンスから要求されたデータを検索し、ダウンロードし、またはそうでなければ受信して、要求されたデータを第1のブロックチェーンインスタンスに送信することができる。
【００７０】
図6は、本開示の実装形態による、ブロックチェーンインスタンスのUBCDNを認証するための例示的なプロセス600を示す。いくつかの実装形態では、例示的なプロセス600は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行されてもよい。提示を明快にするために、以下の説明は、本明細書の他の形態の文脈においてプロセス600を概略的に説明する。たとえば、例示的なプロセス600は、図1に関して説明したコンソーシアムブロックチェーンネットワーク102のコンピューティングシステム106もしくは108、または図2に関して説明したブロックチェーンネットワーク212のノード214によって実行されてもよい。しかしながら、プロセス600は、たとえば必要に応じて、任意の適切なシステム、環境、ソフトウェア、およびハードウェアによって、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されてもよいことが理解されよう。いくつかの実装形態では、プロセス600の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行されてもよい。
【００７１】
610において、コンピューティングシステムは、ブロックチェーンインスタンスの統合ブロックチェーンドメイン名(UBCDN)メッセージを取得する。いくつかの実装形態では、コンピューティングシステムは、統合ブロックチェーンネットワークの第三者である。いくつかの実装形態では、コンピューティングシステムは、統合ブロックチェーンネットワーク内のブロックチェーンインスタンスとは異なる第2のブロックチェーンインスタンスのクライアントノードである。
【００７２】
UBCDNメッセージは、たとえば図4に関して説明したUBCDNメッセージ440であってもよい。UBCDNメッセージは、ブロックチェーンインスタンスのUBCDNと、UBCDN上のUBCDN所有者のデジタル署名と、UBCDNのドメイン証明書とを含む。
【００７３】
ブロックチェーンインスタンスのUBCDNはブロックチェーンインスタンスのブロックチェーンドメイン名を含み、ブロックチェーンドメイン名は、2つ以上の中継器によって通信可能にリンクされたいくつかのブロックチェーンインスタンスを含む統合ブロックチェーンネットワーク内のブロックチェーンインスタンスの一意の識別子である。ブロックチェーンドメイン名は、人間が読取り可能なラベルと、ブロックチェーンドメイン名に一意に対応するブロックチェーンインスタンスのチェーン識別子とを含む。
【００７４】
いくつかの実装形態では、UBCDNのドメイン証明書は、ブロックチェーンインスタンスのブロックチェーンドメイン名と、UBCDN所有者の公開鍵と、ブロックチェーンインスタンスのブロックチェーンドメイン名およびUBCDN所有者の公開鍵へのCAのデジタル署名とを含む。
【００７５】
620において、コンピューティングシステムは、UBCDNのドメイン証明書が認証局(CA)の公開鍵を使用して信頼できるCAによって発行されたかどうかを検証する。いくつかの実装形態では、CAのデジタル署名は、CAがブロックチェーンインスタンスのブロックチェーンドメイン名上に署名すること、およびUBCDN所有者の公開鍵がCAの公開鍵に対応するCAの秘密鍵を使用することによって取得される。いくつかの実装形態では、UBCDNのドメイン証明書がCAの公開鍵を使用して信頼できるCAによって発行されたかどうかを検証することは、UBCDNのドメイン証明書がドメイン証明書、CAのデジタル署名、およびCAの公開鍵を使用してCAによって発行されたことを検証することを含む。
【００７６】
630において、UBCDNのドメイン証明書がCAによって発行されたことを検証することに応答して、コンピューティングシステムは、UBCDNがUBCDN所有者の公開鍵を使用してUBCDN所有者によって発行されたかどうかを検証する。いくつかの実装形態では、UBCDNの所有者のデジタル署名は、UBCDNの所有者の公開鍵に対応する秘密鍵を使用して、UBCDNの所有者がUBCDNに署名することによって取得される。いくつかの実装形態では、ブロックチェーンインスタンスのUBCDNがUBCDNの所有者の公開鍵を使用してUBCDN所有者によって発行されたかどうかを検証することは、UBCDN、UBCDNの所有者のデジタル署名、およびUBCDNの所有者の公開鍵を使用してUBCDNの所有者によってUBCDNが発行されたことを検証することを含む。たとえば、UBCDNの所有者は所有者の秘密鍵を使用してUBCDNに署名して、たとえば署名アルゴリズムに従ってデジタル署名を生成することができる。UBCDNメッセージの受信者としてのコンピューティングシステムは、たとえば署名検証アルゴリズムに従って、UBCDN、デジタル署名、および所有者の公開鍵を使用して、UBCDNがUBCDN所有者によって発行されたかどうかを判断することができる。
【００７７】
640において、UBCDNがUBCDN所有者によって発行されたことを検証することに応答して、コンピューティングシステムは、たとえば図5に関して説明した例示的なプロセス500に従って、ブロックチェーンインスタンスのブロックチェーンドメイン名に基づいてブロックチェーンインスタンスと第2のブロックチェーンインスタンスとの間でクロスチェーントランザクションを実行する。
【００７８】
図7は、本開示の実装形態による、ブロックチェーンインスタンスのUBCDNの所有者(UBCDN所有者)の例示的なプロセス700を示す。いくつかの実装形態では、例示的なプロセス700は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行されてもよい。提示を明快にするために、以下の説明は、本明細書の他の形態の文脈においてプロセス700を概略的に説明する。たとえば、例示的なプロセス700は、図4に関して説明したUBCDN所有者430によって実行されてもよい。しかしながら、プロセス700は、たとえば必要に応じて、任意の適切なシステム、環境、ソフトウェア、およびハードウェアによって、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されてもよいことが理解されよう。いくつかの実装形態では、プロセス700の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行されてもよい。
【００７９】
710において、ブロックチェーンインスタンスのUBCDNの所有者(UBCDN所有者430などのUBCDN所有者)は、ブロックチェーンインスタンスのUBCDNのドメイン証明書(たとえば、ドメイン証明書420)を信頼できる認証局(CA)(たとえば、CA410)から取得する。ブロックチェーンインスタンスのUBCDNは、ブロックチェーンインスタンスのブロックチェーンドメイン名と、ブロックチェーンドメイン名に一意に対応するブロックチェーンインスタンスのチェーン識別子とを含む。UBCDNは、たとえば図3に関して説明したUBCDN300であってもよい。ブロックチェーンドメイン名は、2つ以上の中継器によって通信可能にリンクされたいくつかのブロックチェーンインスタンスを含む統合ブロックチェーンネットワーク内のブロックチェーンインスタンスの一意の識別子である。いくつかの実装形態では、ブロックチェーンドメイン名は、人間が読取り可能なラベルを含む。チェーン識別子は、ブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す。
【００８０】
UBCDNのドメイン証明書は、ブロックチェーンインスタンスのブロックチェーンドメイン名と、UBCDN所有者の公開鍵と、ブロックチェーンインスタンスのブロックチェーンドメイン名およびUBCDN所有者の公開鍵へのCAのデジタル署名とを含む。UBCDNのドメイン証明書は、たとえば図4に関して説明したドメイン証明書420であってもよい。
【００８１】
720において、UBCDN所有者は、たとえば署名アルゴリズムに従って、たとえばUBCDN所有者の秘密鍵を使用してブロックチェーンインスタンスのUBCDNに署名する。
【００８２】
730において、UBCDN所有者は、ブロックチェーンインスタンスのUBCDNメッセージ(たとえば、UBCDNメッセージ440aまたは440b)を公表する。UBCDNメッセージは、ブロックチェーンインスタンスのUBCDNと、UBCDNへの署名に起因するUBCDN所有者のデジタル署名と、UBCDNのドメイン証明書とを含む。
【００８３】
740において、UBCDN所有者は、ブロックチェーンインスタンスの更新されたブロックチェーンネットワーク構成を示すブロックチェーンインスタンスの更新されたチェーン識別子を識別する。たとえば、ブロックチェーンインスタンスのブロックチェーンネットワーク構成の変更または更新が、(たとえば、システム更新か、またはジェネシスブロックなどの1つまたは複数のコンピューティングデバイスの物理ロケーションの移動に起因して)発生することがある。チェーン識別子は、(たとえば、ブロックチェーンインスタンスのジェネシスブロックのハッシュ値を更新することによる)ブロックチェーンインスタンスのブロックチェーンネットワーク構成の更新を反映するために更新されることがある。たとえば、図4に示すように、同じブロックチェーンドメイン名442a“Example1.chain”に対して、チェーン識別子444a“Chain Identifier V0”は、ブロックチェーンインスタンスのブロックチェーンネットワーク構成の変更を反映するために、チェーン識別子454a“Chain Identifier V1”に更新されている。
【００８４】
750において、UBCDN所有者は、たとえばUBCDN所有者の秘密鍵を使用してブロックチェーンインスタンスの更新されたUBCDNに署名する。ブロックチェーンインスタンスの更新されたUBCDNは、ブロックチェーンインスタンスのブロックチェーンドメイン名とブロックチェーンインスタンスの更新されたチェーン識別子とを含む。たとえば、図4に示すように、ブロックチェーンインスタンスの更新されたUBCDNは、同じブロックチェーンドメイン名442a“Example1.chain”と更新されたチェーン識別子454a“Chain Identifier V1”とを含む。
【００８５】
760において、UBCDN所有者は、ブロックチェーンインスタンスの更新されたUBCDNメッセージを公表する。更新されたUBCDNメッセージは、ブロックチェーンインスタンスの更新されたUBCDNと、更新されたUBCDNへの署名に起因するUBCDN所有者の更新されたデジタル署名と、UBCDNのドメイン証明書とを含む。たとえば、図4に示すように、UBCDN所有者430aは、ブロックチェーンドメイン名442a“Example1.chain”および更新されたチェーン識別子454a“Chain Identifier V1”と、デジタル署名456aと、ドメイン証明書458aとを含む更新されたUBCDNメッセージ450aを発行する。ドメイン証明書458aは、CA410によって発行され、CA410からUBCDN所有者430aによって受信されたドメイン証明書420aであってもよい。更新されたデジタル署名456aは、UBCDN所有者430aの秘密鍵を使用して、更新されたUBCDN(すなわち、この場合はブロックチェーンドメイン名442a“Example1.chain”および更新されたチェーン識別子454a“Chain Identifier V1”)にUBCDN所有者430aが署名することによって得ることができる。
【００８６】
図8は、本開示の実装形態による、統合ブロックチェーンネットワーク内のクロスチェーン相互作用のための中継器の例示的なプロセス800を示す。統合ブロックチェーンネットワークは、2つ以上の中継器によって通信可能にリンクされたいくつかのブロックチェーンインスタンスを含む。いくつかの実装形態では、例示的なプロセス800は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行されてもよい。提示を明快にするために、以下の説明は、本明細書の他の形態の文脈においてプロセス800を概略的に説明する。たとえば、例示的なプロセス800は、統合ブロックチェーンネットワーク内の中継器によって実行されてもよい。しかしながら、プロセス800は、たとえば必要に応じて、任意の適切なシステム、環境、ソフトウェア、およびハードウェアによって、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されてもよいことが理解されよう。たとえば、中継器は、ノード(たとえば、図1に関して説明したコンピューティングシステム106もしくは108、または図2に関して説明したノード214)、ブロックチェーンインスタンス(たとえば、ブロックチェーンネットワーク102またはブロックチェーンネットワーク212)、または統合ブロックチェーンネットワーク内の別のコンピュータシステムであってもよい。いくつかの実装形態では、プロセス800の様々なステップは、並列に、組み合わせて、ループで、または任意の順序で実行されてもよい。
【００８７】
810において、統合ブロックチェーンネットワーク内の第1のブロックチェーンインスタンスおよび第2のブロックチェーンインスタンスと通信可能にリンクされた中継器は、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を識別する。第1のブロックチェーンインスタンスのブロックチェーンドメイン名は、第1のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第1のブロックチェーンインスタンスのチェーン識別子に一意に対応する。いくつかの実装形態では、第1のブロックチェーンインスタンスのブロックチェーンドメイン名は、第1の人間が読取り可能なラベルを含む。
【００８８】
820において、中継器は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別する。第2のブロックチェーンインスタンスのブロックチェーンドメイン名は、第2のブロックチェーンインスタンスの一意の識別子であり、統合ブロックチェーンネットワーク内の第2のブロックチェーンインスタンスのチェーン識別子に一意に対応する。いくつかの実装形態では、第2のブロックチェーンインスタンスのブロックチェーンドメイン名は、第2の人間が読取り可能なラベルを含む。
【００８９】
いくつかの実装形態では、中継器は、通信可能にリンクされた各ブロックチェーンに対するローカル識別子を指定することができる。ローカル識別子は、中継器の使用に対して指定され、統合ブロックチェーンネットワーク内の他のノードまたは中継器によって使用されることができない。いくつかの実装形態では、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することは、第1のブロックチェーンインスタンスのブロックチェーンドメイン名を第1のブロックチェーンインスタンスのローカル識別子として使用すること、または第1のブロックチェーンインスタンスのローカル識別子を第1のブロックチェーンインスタンスのブロックチェーンドメイン名と置き換えることを含む。同様に、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を識別することは、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を第2のブロックチェーンインスタンスのローカル識別子として使用すること、または第2のブロックチェーンインスタンスの一意の識別子を第2のブロックチェーンインスタンスのブロックチェーンドメイン名と置き換えることを含む。
【００９０】
830において、中継器は、第2のブロックチェーンインスタンスにアクセスするためのアクセス要求を受信する。アクセス要求は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名を含む。
【００９１】
840において、中継器は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別する。第2のブロックチェーンインスタンスのチェーン識別子は、第2のブロックチェーンインスタンスのブロックチェーンネットワーク構成を示す。
【００９２】
いくつかの実装形態では、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、ブロックチェーンドメイン名に基づいて中継器においてローカルに記憶されたルックアップ情報に従って第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。
【００９３】
いくつかの実装形態では、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することは、遠隔統合ブロックチェーンドメイン名サーバからの第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2のブロックチェーンインスタンスのチェーン識別子を識別することを含む。
【００９４】
850において、中継器は、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを提供する。いくつかの実装形態では、中継器は、クロスチェーン相互作用のために設計された通信プロトコルに従って、第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを提供する。たとえば、中継器は、第2のブロックチェーンインスタンスのブロックチェーンドメイン名に対応する第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成をロードすることができる。中継器は、第2のブロックチェーンインスタンスに接続するためにブロックチェーンネットワーク構成を使用し、第1のブロックチェーンインスタンスによって要求された結果を第2のブロックチェーンインスタンスから取得し、たとえば図5に関して説明した例示的な技法に従って第1のブロックチェーンインスタンスによって要求された結果を第1のブロックチェーンインスタンスに返す。
【００９５】
いくつかの実装形態では、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを中継器によって提供することは、第2の中継器を介して第1のブロックチェーンインスタンスに対して第2のブロックチェーンインスタンスへのアクセスを中継器によって提供することを含む。
【００９６】
いくつかの実装形態では、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて第2の中継器によって識別される。いくつかの実装形態では、第2のブロックチェーンインスタンスは、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成に基づいて第2の中継器によってアクセスされる。言い換えれば、第1のブロックチェーンインスタンスは、第2のブロックチェーンインスタンスと相互作用するためにどの中継器が使用されるか、またはいくつの中継器が使用されるかにかかわらず、第2のブロックチェーンインスタンスの同じドメイン名を使用することができる。
【００９７】
いくつかの実装形態では、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、第2のブロックチェーンインスタンスの同じチェーン識別子に基づいて第2の中継器においてローカルに記憶されたルックアップ情報に従って第2の中継器によって識別される。
【００９８】
いくつかの実装形態では、第2のブロックチェーンインスタンスのチェーン識別子によって示されるブロックチェーンネットワーク構成は、遠隔統合ブロックチェーンドメイン名サーバからの第2のブロックチェーンインスタンスのブロックチェーンドメイン名に基づいて第2の中継器によって識別される。
【００９９】
説明した特徴は、デジタル電子回路の中に、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せの中に実装されてもよい。装置は、プログラマブルプロセッサによって実行するために情報キャリア内に(たとえば、機械可読記憶デバイス内に)有形に組み込まれたコンピュータプログラム製品内に実装されてもよく、方法ステップは、入力データ上で作動させて出力を生成することによって説明する実装形態の機能を実行するために、プログラマブルプロセッサが命令のプログラムを実行することによって実行されてもよい。説明する特徴は、データおよび命令をデータ記憶システムから受信し、データ記憶システムに伝送するように結合された少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラマブルシステム上で実行可能である1つまたは複数のコンピュータプログラム内に有利に実装される場合がある。コンピュータプログラムは、一定のアクティビティを実行するかまたは一定の結果をもたらすために、コンピュータ内で直接的または間接的に使用されてもよい命令のセットである。コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアローンプログラムとして、またはコンピューティング環境内で使用するのに適したモジュール、構成要素、サブルーチン、もしくは他のユニットとして含む、任意の形態で展開されてもよい。
【０１００】
命令のプログラムの実行に適したプロセッサは、例として、汎用と専用の両方のマイクロプロセッサ、および唯一のプロセッサまたは任意の種類のコンピュータの複数のプロセッサのうちの1つを含む。一般に、プロセッサは、リードオンリーメモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリとを含む場合がある。一般に、コンピュータはまた、データファイルを記憶するための1つまたは複数の大容量記憶デバイスを含んでもよく、またはそのデバイスと通信するために動作可能に結合されてもよく、そのようなデバイスは、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラム命令およびデータを有形に埋め込むのに適した記憶デバイスは、EPROM、EEPROMおよびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを例として含む、すべての形態の不揮発性メモリを含む。プロセッサおよびメモリは、特定用途向け集積回路(ASIC)によって補完されてもよく、またはASIC内に内蔵されてもよい。
【０１０１】
ユーザとの相互作用を提供するために、特徴は、情報をユーザに表示するためのブラウン管(CRT)または液晶ディスプレイ(LCD)モニタなどのディスプレイデバイス、ならびにユーザがコンピュータに入力を供給してもよいキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装されてもよい。
【０１０２】
特徴は、データサーバなどのバックエンド構成要素を含むか、またはアプリケーションサーバもしくはインターネットサーバなどのミドルウェア構成要素を含むか、またはグラフィカルユーザインターフェースもしくはインターネットブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、または任意のそれらの組合せを含む、コンピュータシステム内に実装されてもよい。本システムの構成要素は、通信ネットワークなどの任意の形態または媒体のデジタルデータ通信によって接続されてもよい。通信ネットワークの例には、たとえばローカルエリアネットワーク(LAN)と、広域ネットワーク(WAN)と、インターネットを形成するコンピュータおよびネットワークとが含まれる。
【０１０３】
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントおよびサーバは、概して、互いから離れており、一般に説明したネットワークなどのネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行し、互いに対してクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【０１０４】
加えて、図に示す論理フローは、望ましい結果を達成するために、図示の特定の順序または逐次的順序を必要としない。加えて、他のステップが与えられてもよく、またはステップが説明したフローから除去されてもよく、他の構成要素が説明したシステムに追加されてもよく、またはそこから取り除かれてもよい。それに応じて、他の実装形態が以下の特許請求の範囲内に入る。
【０１０５】
本開示のいくつかの実装形態が説明された。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な変更形態が作成されてもよいことが理解されよう。それに応じて、他の実装形態が以下の特許請求の範囲内に入る。
【符号の説明】
【０１０６】
100  環境
102  コンソーシアムブロックチェーンネットワーク
106  コンピューティングデバイスまたはシステム
108  コンピューティングデバイスまたはシステム
110  ネットワーク
200  概念アーキテクチャ
202  エンティティレイヤ
204  ホストされるサービスレイヤ
206  ブロックチェーンネットワークレイヤ
208  トランザクション管理システム
210  インターフェース
212  ブロックチェーンネットワーク
214  ノード
216  ブロックチェーン
300  統合ブロックチェーンドメイン名(UBCDN)
310  ブロックチェーンドメイン名
320  チェーン識別子
400  UBCDN管理方式
410  認証局(CA)
420  ドメイン証明書
420a  ドメイン証明書
420b  ドメイン証明書
420c  ドメイン証明書
430  UBCDN所有者
430a  UBCDN所有者
430b  UBCDN所有者
430c  UBCDN所有者
440  UBCDNメッセージ
440a  UBCDNメッセージ
440b  UBCDNメッセージ
442a  ブロックチェーンドメイン名“Example1.chain"
442b  ブロックチェーンドメイン名“Example2.chain"
444a  チェーン識別子“Chain Identifier V0"
444b  チェーン識別子“Chain Identifier Vx"
446a  デジタル署名
446b  デジタル署名
448a  ドメイン証明書
448b  ドメイン証明書
450a  更新されたUBCDNメッセージ
454a  更新されたチェーン識別子“Chain Identifier V1"
456a  デジタル署名
458a  ドメイン証明書
【図１】
0006699861.tif 000002
【図２】
0006699861.tif 000003
【図３】
0006699861.tif 000004
【図４】
0006699861.tif 000005
【図５】
0006699861.tif 000006
【図６】
0006699861.tif 000007
【図７】
0006699861.tif 000008
【図８】
0006699861.tif 000009