(57)【特許請求の範囲】
【請求項１】
ブロックチェーン上に格納された機密データを保護するためのコンピュータによって実施される方法であって、
少なくとも１つの口座に関連するプライベートトランザクションを実施するようにとの要求を受信するステップと、
前記要求の受信に応答して、前記プライベートトランザクションを実施するステップと、
前記プライベートトランザクションの実施に応答して、前記プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成された前記プライベートトランザクションの表現を生成するステップと、
プライベートブロックチェーン内に前記プライベートトランザクションの前記表現を格納するステップと、
前記プライベートトランザクションに関連する前記少なくとも１つの口座の口座記録を、前記プライベートトランザクションに少なくとも部分的に基づいて生成するステップであって、前記口座記録は、前記プライベートブロックチェーン内の前記プライベートトランザクションの前記表現にアクセスする権限が付与されていない少なくとも１つのエンティティがアクセス可能であるように構成され、かつ、前記プライベートトランザクションが実施された後、前記少なくとも１つの口座の更新された残高を含む、ステップと、
パブリックブロックチェーン内に前記口座記録を格納するステップと
を含む、方法。
【請求項２】
前記プライベートトランザクションをワークフローノードのデータストア内に格納するステップをさらに含み、前記データストアが、前記プライベートブロックチェーンとは別であり、
前記プライベートトランザクションの前記表現を生成するステップが、前記プライベートトランザクションに関連するハッシュ値を生成するステップを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの口座の前記口座記録の局所表現を維持するステップをさらに含み、
前記プライベートトランザクションを実施するステップが、前記口座記録の前記局所表現を、前記プライベートトランザクションに基づいて修正するステップを含み、
少なくとも１つの前記口座記録が、前記口座記録の前記局所表現内の情報のサブセットを含む、請求項１に記載の方法。
【請求項４】
前記パブリックブロックチェーン内に前記口座記録を格納するステップが、前記プライベートブロックチェーン内への前記プライベートトランザクションの前記表現の格納に応答して実施される、請求項１に記載の方法。
【請求項５】
前記パブリックブロックチェーンへの口座の対応する格納が実施されないプライベートトランザクションの他の表現を、前記プライベートブロックチェーンに格納するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記プライベートブロックチェーンとは別のデータストア内に、公開／秘密鍵ペアの公開鍵を用いて暗号化された前記プライベートトランザクションの暗号化コピーを格納するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記プライベートトランザクションの前記暗号化コピーを格納するステップが、前記公開／秘密鍵ペアの秘密鍵を用いて作成された前記暗号化コピーの署名を格納するステップを含む、請求項６に記載の方法。
【請求項８】
前記プライベートブロックチェーンが第１のプライベートブロックチェーンであり、前記プライベートトランザクションが第１のプライベートトランザクションであり、前記方法が、
前記第１のプライベートブロックチェーンとは別の第２のプライベートブロックチェーン内に、前記第１のプライベートトランザクションとは異なる第２のプライベートトランザクションの前記表現を格納するステップと、
前記パブリックブロックチェーン内に、前記第２のプライベートトランザクションに関連する口座の前記口座記録を格納するステップとをさらに含む、請求項１に記載の方法。
【請求項９】
前記口座記録が、前記関連するプライベートトランザクションについての情報を含まない、請求項１に記載の方法。
【請求項１０】
１つまたは複数のコンピュータに結合され、前記１つまたは複数のコンピュータによって実行可能な命令を用いて、
少なくとも１つの口座に関連するプライベートトランザクションを実施するようにとの要求を受信することと、
前記要求の受信に応答して、前記プライベートトランザクションを実施することと、
前記プライベートトランザクションの実施に応答して、前記プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成された前記プライベートトランザクションの表現を生成することと、
プライベートブロックチェーン内に前記プライベートトランザクションの前記表現を格納することと、
前記プライベートトランザクションに関連する前記少なくとも１つの口座の口座記録を、前記プライベートトランザクションに少なくとも部分的に基づいて生成することであって、前記口座記録は、前記プライベートブロックチェーン内の前記プライベートトランザクションの前記表現にアクセスする権限が付与されていない少なくとも１つのエンティティがアクセス可能であるように構成され、かつ、前記プライベートトランザクションが実施された後、前記少なくとも１つの口座の更新された残高を含む、生成することと、
パブリックブロックチェーン内に前記口座記録を格納することとを行うように構成された、非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記１つまたは複数のコンピュータによって実行う可能な命令を用いて、
前記プライベートトランザクションをワークフローノードのデータストア内に格納することを行うようにさらに構成され、前記データストアが、前記プライベートブロックチェーンとは別であり、前記プライベートトランザクションの前記表現を生成することが、前記プライベートトランザクションに関連するハッシュ値を生成することを含む、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記１つまたは複数のコンピュータによって実行可能な命令を用いて、
前記少なくとも１つの口座の前記口座記録の局所表現を維持することを行うようにさらに構成され、
前記プライベートトランザクションを実施することが、前記口座記録の前記局所表現を、前記プライベートトランザクションに基づいて修正することを含み、
前記少なくとも１つの口座記録が、前記口座記録の前記局所表現内の情報のサブセット  を含む、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記パブリックブロックチェーン内に前記口座記録を格納することが、前記プライベートブロックチェーン内への前記プライベートトランザクションの前記表現の格納に応答して実施される、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記１つまたは複数のコンピュータによって実行可能な命令を用いて、前記パブリックブロックチェーンへの口座の対応する格納が実施されないプライベートトランザクションの他の表現を、前記プライベートブロックチェーンに格納することを行うようにさらに構成された、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記１つまたは複数のコンピュータによって実行可能な命令を用いて、前記プライベートブロックチェーンとは別のデータストア内に、公開／秘密鍵ペアの公開鍵を用いて暗号化された前記プライベートトランザクションの暗号化コピーを格納することを行うようにさらに構成された、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記プライベートトランザクションの前記暗号化コピーを格納することが、前記公開／秘密鍵ペアの秘密鍵を用いて作成された前記暗号化コピーの署名を格納することを含む、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記プライベートブロックチェーンが第１のプライベートブロックチェーンであり、前記プライベートトランザクションが第１のプライベートトランザクションであり、前記非一時的コンピュータ可読記憶媒体が、前記１つまたは複数のコンピュータによって実行可能な命令を用いて、
前記第１のプライベートブロックチェーンとは別の第２のプライベートブロックチェーン内に、前記第１のプライベートトランザクションとは異なる第２のプライベートトランザクションの前記表現を格納することと、
前記パブリックブロックチェーン内に、前記第２のプライベートトランザクションに関連する口座の前記口座記録を格納することとを行うようにさらに構成される、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記口座記録が、前記関連するプライベートトランザクションについての情報を含まない、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
１つまたは複数のコンピュータと、
前記１つまたは複数のコンピュータに結合され、前記１つまたは複数のコンピュータによって実行可能な命令を用いて、
少なくとも１つの口座に関連するプライベートトランザクションを実施するようにとの要求を受信すること、前記要求の受信に応答して、前記プライベートトランザクションを実施すること、
前記プライベートトランザクションの実施に応答して、前記プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成された前記プライベートトランザクションの表現を生成すること、
プライベートブロックチェーン内に前記プライベートトランザクションの前記表現を格納すること、
前記プライベートトランザクションに関連する前記少なくとも１つの口座の口座記録を、前記プライベートトランザクションに少なくとも部分的に基づいて生成することであって、前記口座記録は、前記プライベートブロックチェーン内の前記プライベートトランザクションの前記表現にアクセスする権限が付与されていない少なくとも１つのエンティティがアクセス可能であるように構成され、かつ、前記プライベートトランザクションが実施された後、前記少なくとも１つの口座の更新された残高を含む、生成すること、およびパブリックブロックチェーン内に前記口座記録を格納することを行うように構成された、１つまたは複数のコンピュータ可読メモリとを備える、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンセンサスネットワークおよび/またはブロックチェーンネットワークとも呼ばれることのある分散型台帳システム(DLS)は、参加エンティティが安全かつ変更不可能にデータを格納することを可能にするものである。DLSは、どんな特定のユーザケース(例えば暗号通貨)とも無関係に、ブロックチェーンネットワークと一般に呼ばれる。ブロックチェーンネットワークの例示的タイプとしては、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークがあり得る。パブリックブロックチェーンネットワークはオープンであり、あらゆるエンティティがDLSを使用し、コンセンサスプロセスに参加する。プライベートブロックチェーンネットワークは、特定のエンティティのために設けられるものであり、この特定のエンティティが読出し許可および書込み許可を中央制御する。コンソーシアムブロックチェーンネットワークは、選択された1群のエンティティのために設けられるものであり、これらのエンティティがコンセンサスプロセスを制御し、コンソーシアムブロックチェーンネットワークはまた、アクセス制御層を含む。
【０００２】
ブロックチェーン自体の固有の開放性のため、ブロックチェーンネットワークにおける1つの共通の問題はプライバシーの保護である。従来のブロックチェーンへの入力は、ブロックチェーンネットワークの全ての参加者によって閲覧可能であり、そのため、ブロックチェーンネットワーク内で管理されるトランザクションが機密情報を含んでいるときに、問題が生じるおそれがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書の実装形態は、ブロックチェーンネットワーク内でのデータ分離のためのコンピュータによって実施される方法を含む。より具体的には、本明細書の実装形態は、トランザクションサマリをプライベートブロックチェーンに、また口座残高更新情報をパブリックブロックチェーンに公開しながら、プライベートトランザクションの詳細を分離することを対象とする。
【０００４】
いくつかの実装形態では、アクションは、少なくとも1つの口座に関連するプライベートトランザクションを実施するようにとの要求を受信することと、要求の受信に応答して、ワークフローノードによって、プライベートトランザクションを実施することと、プライベートトランザクションの実施に応答して、ワークフローノードによって、プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成されたプライベートトランザクションの表現(representation)を生成することと、プライベートブロックチェーン内にプライベートトランザクションの表現を格納することと、ワークフローノードによって、プライベートトランザクションに関連する少なくとも1つの口座の口座記録を、プライベートトランザクションに少なくとも部分的に基づいて生成することであって、口座記録は、プライベートブロックチェーン内のプライベートトランザクションの表現にアクセスする権限が付与されていない少なくとも1つのエンティティがアクセス可能であるように構成される、生成することと、パブリックブロックチェーン内に口座記録を格納することとを含む。
【０００５】
他の実装形態は、対応するシステム、装置、およびコンピュータ記憶デバイス上に符号化された方法のアクションを実施するように構成されたコンピュータプログラムを含む。
【０００６】
これらの実装形態および他の実装形態は、それぞれが、以下の特徴のうちの1つまたは複数をオプションで含み得る。
【０００７】
場合によっては、ワークフローノードは、プライベートトランザクションを、ワークフローノードのデータストア内に格納し、データストアは、プライベートブロックチェーンとは別であり、プライベートトランザクションの表現を生成することが、プライベートトランザクションに関連するハッシュ値を生成することを含む。
【０００８】
いくつかの実装形態では、ワークフローノードが、少なくとも1つの口座の口座記録の局所表現を維持し、プライベートトランザクションを実施することが、口座記録の局所表現を、プライベートトランザクションに基づいて修正することを含み、少なくとも1つの口座記録が、口座記録の局所表現内の情報のサブセットを含む。
【０００９】
場合によっては、パブリックブロックチェーン内に口座記録を格納することは、プライベートブロックチェーン内へのプライベートトランザクションの表現の格納に応答して実施される。
【００１０】
いくつかの実装形態では、パブリックブロックチェーンへの口座の対応する格納が実施されないプライベートトランザクションの他の表現が、プライベートブロックチェーンに格納される。
【００１１】
場合によっては、プライベートブロックチェーンとは別のデータストア内に、公開/秘密鍵ペアの公開鍵を用いて暗号化されたプライベートトランザクションの暗号化コピーが格納される。
【００１２】
いくつかの実装形態では、プライベートトランザクションの暗号化コピーを格納することが、公開/秘密鍵ペアの秘密鍵を用いて作成された暗号化コピーの署名を格納することを含む。
【００１３】
いくつかの実装形態では、プライベートブロックチェーンが第1のプライベートブロックチェーンであり、プライベートトランザクションが第1のプライベートトランザクションであり、方法が、第1のプライベートブロックチェーンとは別の第2のプライベートブロックチェーン内に、第1のプライベートトランザクションとは異なる第2のプライベートトランザクションの表現を格納することと、パブリックブロックチェーン内に、第2のプライベートトランザクションに関連する口座の口座記録を格納することとをさらに含む。
【００１４】
場合によっては、口座記録は、少なくとも1つの口座の残高を含み、口座記録は、関連するプライベートトランザクションについての情報を含まない。
【００１５】
本明細書は、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると本明細書において提供する方法の実装形態による動作を1つまたは複数のプロセッサに実施させる命令がその上に格納された、1つまたは複数の非一時的コンピュータ可読記憶媒体も提供する。
【００１６】
本明細書は、本明細書において提供する方法を実施するためのシステムをさらに提供する。このシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると本明細書において提供する方法の実装形態による動作を1つまたは複数のプロセッサに実施させる命令がその上に格納された、1つまたは複数のプロセッサに結合されたコンピュータ可読記憶媒体とを含む。
【００１７】
本明細書による方法が、本明細書において説明する態様および特徴のどんな組合せも含み得ることが、理解されよう。すなわち、本明細書による方法は、本明細書において具体的に説明する態様および特徴の組合せに限定されるのではなく、提供される態様および特徴のどんな組合せも含む。
【００１８】
本明細書の1つまたは複数の実装形態の詳細については、添付の図面および下の説明において記述される。本明細書の他の特徴および利点は、説明および図面から、また特許請求の範囲から、明らかとなろう。
【図面の簡単な説明】
【００１９】
【図１】本明細書の実装形態を実行するために使用することのできる環境の一例を示す図である。
【図２】本明細書の実装形態によるアーキテクチャの一例を示す図である。
【図３】本明細書の実装形態による、ブロックチェーンネットワーク内でのデータ分離を行うためのシステムの一例を示す図である。
【図４】本明細書の実装形態による、ブロックチェーンネットワーク内でのデータ分離を行うためのプロセスの一例を示す図である。
【図５】本明細書の実装形態に従って実行することのできるプロセスの一例を示す図である。
【発明を実施するための形態】
【００２０】
さまざまな図面中の同様の参照符号は、同様の要素を示す。
【００２１】
本明細書の実装形態は、ブロックチェーンネットワーク内でのデータ分離のためのコンピュータによって実施される方法を含む。より具体的には、本明細書の実装形態は、トランザクションサマリをプライベートブロックチェーンに、また口座残高更新情報をパブリックブロックチェーンに公開しながら、プライベートトランザクションの詳細を分離することを対象とする。いくつかの実装形態では、アクションは、少なくとも1つの口座に関連するプライベートトランザクションを実施するようにとの要求を受信することと、要求の受信に応答して、ワークフローノードによって、プライベートトランザクションを実施することと、プライベートトランザクションの実施に応答して、ワークフローノードによって、プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成されたプライベートトランザクションの表現を生成することと、プライベートブロックチェーン内にプライベートトランザクションの表現を格納することと、ワークフローノードによって、プライベートトランザクションに関連する少なくとも1つの口座の口座記録を、プライベートトランザクションに少なくとも部分的に基づいて生成することであって、口座記録は、プライベートブロックチェーン内のプライベートトランザクションの表現にアクセスする権限が付与されていない少なくとも1つのエンティティがアクセス可能であるように構成される、生成することと、パブリックブロックチェーン内に口座記録を格納することとを含む。
【００２２】
本明細書の実装形態にさらなる文脈を提供すべく、また上で紹介したように、(例えばピアツーピアノードから成る)コンセンサスネットワーク、およびブロックチェーンネットワークとも呼ばれることのある、分散型台帳システム(DLS)は、参加エンティティが安全かつ変更不可能にトランザクションを行い、データを格納することを可能にするものである。ブロックチェーンという用語は、暗号通貨ネットワークと一般に関連付けられるが、ブロックチェーンは、本明細書においては、どんな特定のユースケースとも無関係にDLSのことを一般に指すのに使用される。
【００２３】
ブロックチェーンは、トランザクションが変更不可能であるように、かつトランザクションを後に検証できるように、トランザクションを格納するデータ構造である。ブロックチェーンは、1つまたは複数のブロックを含む。チェーン内の各ブロックは、チェーン内でその直前にある先行ブロックに、先行ブロックの暗号ハッシュを含めることによってリンクされる。各ブロックは、タイムスタンプ、それ自体の暗号ハッシュ、および1つまたは複数のトランザクションも含む。ブロックチェーンネットワークのノードによって既に検証されたトランザクションは、ハッシュされ、マークルツリーに符号化される。マークルツリーは、ツリーのリーフノードのところのデータがハッシュされ、ツリーの各ブランチ内の全てのハッシュがブランチのルートのところで連結される、データ構造である。このプロセスは、ツリーの上方へツリー全体のルートに至るまで継続し、そのルートが、ツリー内の全てのデータの表現であるハッシュを格納する。ツリー内に格納されたトランザクションのものであるとされるハッシュは、それがツリーの構造と矛盾がないかどうかを判定することによって、迅速に検証することができる。
【００２４】
ブロックチェーンが、トランザクションを格納するためのデータ構造であるのに対して、ブロックチェーンネットワークは、1つまたは複数のブロックチェーンを管理、更新、および維持するコンピューティングノードのネットワークである。上で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして設けることができる。
【００２５】
パブリックブロックチェーンネットワークでは、コンセンサスプロセスが、コンセンサスネットワークのノードによって制御される。例えば、数百のエンティティが、数千のエンティティが、数百万のエンティティでさえもが、パブリックブロックチェーンネットワークに協力することができ、そのそれぞれが、パブリックブロックチェーンネットワーク内の少なくとも1つのノードを運営する。したがって、パブリックブロックチェーンネットワークは、参加エンティティに関するパブリックなネットワークと見なすことができる。いくつかの例では、ブロックが有効になりブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加されるように、エンティティ(ノード)の大多数がどのブロックにも署名しなければならない。パブリックブロックチェーンネットワークの例としては、暗号通貨ネットワークがあり、それはピアツーピア支払いネットワークである。しかし、上記したように、ブロックチェーンという用語は、どんな特定のブロックチェーンネットワークとも特に無関係に分散型台帳のことを一般に指すのに使用される。
【００２６】
一般に、パブリックブロックチェーンネットワークは、パブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内の全てのノードと共有され、グローバルブロックチェーン内に格納される。グローバルブロックチェーンは、全てのノードにわたって複製されるブロックチェーンである。すなわち、全てのノードは、グローバルブロックチェーンに対して完全なステートコンセンサス(in perfect state consensus)にある。コンセンサス(例えばブロックチェーンにブロックを追加するという合意)を得るために、パブリックブロックチェーンネットワーク内でコンセンサスプロトコルが実施される。コンセンサスプロトコルの例としては、限定はしないが、プルーフオブワーク(POW)(例えば一部の暗号通貨ネットワーク内で実施される)、プルーフオブステーク(POS)、およびプルーフオブオーソリティ(POA)がある。本明細書においては非限定的な例としてPOWがさらに先で参照される。
【００２７】
一般に、プライベートブロックチェーンネットワークは、特定のエンティティのために設けられ、この特定のエンティティが、読出し許可および書込み許可を中央制御する。このエンティティは、どのノードがブロックチェーンネットワークに参加できるかを制御する。したがって、プライベートブロックチェーンネットワークはパーミッションドネットワークと一般に呼ばれ、それは、誰がネットワークへの参加を許されるかに、またそれらの参加レベル(例えばある特定のトランザクションのみへの参加)に、制限を課すものである。さまざまなタイプのアクセス制御メカニズムを使用することができる(例えば、既存の参加者が新たなエンティティの追加について投票する、規制当局が受入れを制御することができる)。
【００２８】
一般に、コンソーシアムブロックチェーンネットワークは、参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスが、権限が付与された1組のノードによって制御され、1つまたは複数のノードが、それぞれのエンティティ(例えば金融機関、保険会社)によって運営されている。例えば、10のエンティティ(例えば金融機関、保険会社)からなるコンソーシアムが、コンソーシアムブロックチェーンネットワークを運営することができ、そのそれぞれが、コンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを運営する。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに関するプライベートなネットワークと見なすことができる。いくつかの例では、ブロックが有効になりブロックチェーンに追加されるように、各エンティティ(ノード)が、どのブロックにも署名しなければならない。いくつかの例では、ブロックが有効になりブロックチェーンに追加されるように、エンティティ(ノード)の少なくともサブセット(例えば少なくとも7つのエンティティ)が、どのブロックにも署名しなければならない。
【００２９】
本明細書の実装形態について、本明細書の中で、参加エンティティの間でパブリックであるパブリックブロックチェーンネットワークに即してさらに詳細に説明する。しかし、本明細書の実装形態はどんな適切なタイプのブロックチェーンネットワークにおいても実現できる、ということが企図されている。
【００３０】
本明細書の実装形態について、本明細書の中で、上記の文脈に鑑みてさらに詳細に説明する。より具体的には、また上で紹介したように、本明細書の実装形態は、ブロックチェーンネットワーク内での機密トランザクションデータの分離を対象とする。
【００３１】
従来のブロックチェーンネットワークでは、ブロックチェーン内に記録されたトランザクションは公開されている(publicly available)。しかし、多くの金融上のシナリオでは、そのようなトランザクションの詳細は、トランザクション参加者が公にすることを望まない機密情報を含んでいる。例えば、ブロックチェーンネットワークの参加者はそのトランザクションを、やはりブロックチェーンネットワークに参加している競合エンティティから隠しておきたい場合がある。
【００３２】
本明細書において説明する技法は、ブロックチェーンネットワーク内でのデータ分離という技術的問題に対する技術的解決策を提供するものである。例えば、トランザクション詳細データを、ワークフローノードによって、ブロックチェーンネットワーク内に局所的に格納し、チェーンを越えた協働(out-of-chain collaboration)を通じて検証することができる。トランザクション詳細データからの選択された情報(例えばトランザクションの参加者)を、ワークフローノードだけがアクセス可能なプライベートブロックチェーン内に格納することができる。参加者の口座ステータス(例えば残高)を、全てのネットワーク参加者によって閲覧および検証するために、パブリックブロックチェーン内に格納することができ、新たなトランザクションが処理されるときに更新することができる。
【００３３】
図1は、本明細書の実装形態を実行するために使用することのできる環境100の一例を示す。いくつかの例では、例示的環境100は、エンティティのブロックチェーンネットワーク102への参加を可能にする。例示的環境100は、コンピューティングデバイス106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(例えばコンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110には、有線通信リンクおよび/またはワイヤレス通信リンク経由でアクセスすることができる。一般に、ネットワーク110は、1つまたは複数の通信ネットワークを表す。場合によっては、コンピューティングデバイス106、108は、クラウドコンピューティングシステム(図示せず)のノードとすることができ、または各コンピューティングデバイス106、108を、ネットワークによって相互接続された複数のコンピュータを含み、分散処理システムとして機能する、別々のクラウドコンピューティングシステムとすることができる。
【００３４】
図示の例では、コンピューティングシステム106、108は、それぞれが、ノードとしてのブロックチェーンネットワーク102への参加を可能にする任意の適切なコンピューティングシステムを含むことができる。例示的コンピューティングデバイスとしては、限定はしないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンがある。いくつかの例では、コンピューティングシステム106、108は、ブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。例えば、コンピューティングシステム106は、第1のエンティティ(例えばユーザA)の、トランザクション管理システムなどのコンピュータ実装サービスをホストすることができ、このトランザクション管理システムは、第1のエンティティがその、1つまたは複数の他のエンティティ(例えば他のユーザ)とのトランザクションを管理するために使用するものである。コンピューティングシステム108は、第2のエンティティ(例えばユーザB)の、トランザクション管理システムなどのコンピュータ実装サービスをホストすることができ、このトランザクション管理システムは、第2のエンティティがその、1つまたは複数の他のエンティティ(例えば他のユーザ)とのトランザクションを管理するために使用するものである。図1の例では、ブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表されており、コンピューティングシステム106、108はそれぞれ、第1のエンティティのノードおよび第2のエンティティのノードとなっており、それらが、ブロックチェーンネットワーク102に参加している。
【００３５】
図2は、本明細書の実装形態によるアーキテクチャ200の一例を示す。この例示的概念アーキテクチャ200は、エンティティ層202、ホストサービス層(hosted services layer)204、およびブロックチェーンネットワーク層206を含む。図示の例では、エンティティ層202が3つのエンティティ、エンティティ_1(E1)、エンティティ_2(E2)、およびエンティティ_3(E3)を含み、各エンティティが、それぞれのトランザクション管理システム208を有する。
【００３６】
図示の例では、ホストサービス層204が、各トランザクション管理システム208についてのインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、それぞれのインターフェース210と、ネットワーク(例えば図1のネットワーク110)経由でプロトコル(例えばハイパーテキスト転送プロトコルセキュア(HTTPS))を使用して通信する。いくつかの例では、各インターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンネットワーク層206との間の通信接続を提供する。より具体的には、インターフェース210は、ブロックチェーンネットワーク層206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210とブロックチェーンネットワーク層206との間の通信は、リモートプロシージャコール(RPC)を使用して行われる。いくつかの例では、インターフェース210は、それぞれのトランザクション管理システム208に対するブロックチェーンネットワークノードを「ホスト」する。例えば、インターフェース210は、ブロックチェーンネットワーク212にアクセスするためのアプリケーションプログラミングインターフェース(API)を提供する。
【００３７】
本明細書において説明するように、ブロックチェーンネットワーク212は、情報をブロックチェーン216内に変更不可能に記録する複数のノード214を含む、ピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが設けられ、ブロックチェーンネットワーク212全体にわたって維持される。例えば、各ノード214は、ブロックチェーンのコピーを格納する。いくつかの実装形態では、ブロックチェーン216は、ブロックチェーンネットワークに参加している2つ以上のエンティティ間で実施されるトランザクションに関連する情報を格納する。
【００３８】
図3は、本明細書の実装形態による、ブロックチェーンネットワーク内でのデータ分離を行うためのシステム300の一例を示す。図示のように、システム300は、パブリックブロックチェーン330を維持するブロックチェーンノード310A〜Dを含んだ、パブリックブロックチェーンネットワーク305を含む。システム300は、ワークフローノード320A〜Dを含んだ、プライベートブロックチェーンネットワーク310をさらに含む。各ワークフローノード320A〜Dは、局所記憶デバイス325A〜Dと関連付けられる。ワークフローノード320A〜Dは、パブリックブロックチェーン330とは別のプライベートブロックチェーン340を維持する。いくつかの実装形態では、ワークフローノード320A〜Dは、パブリックブロックチェーン330に追加される新たなブロックの作成および検証に参加することによって、パブリックブロックチェーンネットワーク305のブロックチェーンノードとして機能してもよい。
【００３９】
動作の際には、ワークフローノード320A〜Dが、システム300内で実施され、システム300内に格納される、プライベートトランザクションを受信する。場合によっては、システム300のクライアントが、ブロックチェーンノード310A〜Dまたはワークフローノード320A〜Dのうちの1つに、トランザクションをサブミットしてもよい。場合によっては、トランザクションは、ブロックチェーンノード310A〜Dまたはワークフローノード320A〜Dのうちの1つまたは複数を運営する2つ以上のエンティティ間で行われてよく、その場合、トランザクションは、これらの参加者エンティティのうちの1つまたは複数から、制御されたワークフローノードにおいて受信されてよい。いくつかの実装形態では、ブロックチェーンノード310A〜Dは、新たなトランザクションをパブリックブロックチェーン330内に記録するのではなく処理するために、それらをワークフローノード320A〜Dに転送するように構成されてよい。
【００４０】
いくつかの実装形態では、各ワークフローノード320A〜Dが、受信したトランザクションデータをその局所記憶装置325A〜D内に格納する。いくつかの実装形態では、局所記憶装置325A〜Dは、関連するワークフローノード320A〜Dに結合された、例えばハードドライブ、ランダムアクセスメモリ(RAM)、フラッシュメモリ、または他の記憶デバイスなどの記憶デバイスであってよい。場合によっては、局所記憶装置325A〜Dは、ワークフローノード320A〜Dによって維持される分散データベースのシャード(shard)を格納してよい。
【００４１】
いくつかの実装形態では、ワークフローノード(例えば320A)が新たなトランザクションを受信すると、ワークフローノード320Aはそのトランザクションを検証し(下でより詳細に説明する)、そのトランザクションが担うそのトランザクションに関連する任意のアクション(例えば、参加者金融機関において口座からの引落しおよび口座への入金をすること、スマートコントラクト命令を実行することなど)を実施する。場合によっては、ワークフローノード320Aは、プライベートブロックチェーン340内に格納するためのプライベートトランザクションの表現を生成する。例えば、ワークフローノード320Aは、トランザクションデータのハッシュおよび全てのトランザクション参加者の識別情報を含む、トランザクションの表現を生成してよい。いくつかの実装形態では、各プライベートトランザクションが、全てのトランザクション参加者によって暗号を用いて署名される。ワークフローノード320Aは、これらのデジタル署名を、プライベートブロックチェーン340内に格納されるプライベートトランザクションの表現内に含めることができる。ワークフローノード320Aは、プライベートトランザクションの生データをその局所記憶装置325A内に格納することもできる。トランザクションデータをこのように編成することによって、機密トランザクションデータ(例えばトランザクションに関連する金額)を、ワークフローノード320A〜Dによって局所的に格納し、したがって、秘密にしておくことができ、一方、プライベートブロックチェーン340が、システム内の全てのプライベートトランザクションのコンセンサス記録としての働きをすることができる。いくつかの実装形態では、プライベートトランザクションデータが、トランザクションに参加しているエンティティによって制御されるワークフローノード320A〜Dの局所記憶装置325A〜D内に格納され、それによって、プライベートトランザクションデータが他のエンティティから分離される。場合によっては、ワークフローノード320A〜Dは、プライベートブロックチェーン340を従来のコンセンサス方式に従って維持する。
【００４２】
いくつかの実装形態では、ワークフローノード320Aは、上で説明したアクションをプライベートブロックチェーンネットワーク310に対して実施した後で、プライベートトランザクションの参加者の口座記録を、パブリックブロックチェーン330内に含めるために生成する。口座記録は、プライベートトランザクションの参加者の口座の、プライベートトランザクションが実施された後の更新された残高を含む。例えば、ワークフローノード320Aが、口座Aが$10を口座Bに移すプライベートトランザクションを受信したなら、ワークフローノード320Aは、口座Aの残高から$10だけ引き落とす口座記録、および口座Bの残高に$10だけ入金する別の口座記録を生成することができる。生成された口座記録は、パブリックブロックチェーン330内に含めるためにパブリックブロックチェーンネットワーク305に、ワークフローノード320Aが口座記録をブロックチェーンノード310A〜Dにブロードキャストすることなどによって、送ることができる。
【００４３】
いくつかの実装形態では、ワークフローノード320Aは、特定のエンティティが関与するある特定数のトランザクションが実施されるまで待ってから、パブリックブロックチェーン330上のそのエンティティの口座残高を更新するように構成されてよい。例えば、ワークフローノード320Aは、口座Aの新たな口座記録および残高を、口座Aが関与する3つのトランザクションを処理して初めて公開してよい。口座残高更新を遅延させることにより、観察者が口座残高の変化に基づいてトランザクションの詳細を推測するのを防ぐことができる。例えば、システムが各トランザクション後に口座残高を更新するとしたら、観察者は、口座Aの残高から$10だけ引き落とされ、口座Bの残高に同じ金額だけ入金されたことに気付くことによって、口座Aが口座Bに$10支払ったと推測することができる。各口座残高更新に、複数のトランザクションによって生じた変化を反映させることによって、個々のトランザクションの詳細がより推測しにくくなる。
【００４４】
図4は、本明細書の実装形態による、ブロックチェーンネットワーク内でのデータ分離を行うためのプロセス400の一例を示す。図示のように、このプロセスには、図3のワークフローノード320Aおよび320B、ならびにブロックチェーンノード310Aが関与する。415において、ワークフローノード320Aがワークフローノード320Bにプライベートトランザクションを提案する。例えば、プライベートトランザクションは、ワークフローノード320Aを制御するエンティティとワークフローノード320Bを制御するエンティティとの間のトランザクションであってよい。場合によっては、ワークフローノード320Aは、トランザクションを提案するエンティティのその身元をワークフローノード320Bが検証できるように、提案されるトランザクションに暗号を用いて署名する。
【００４５】
420において、ワークフローノード320Bが、提案されたトランザクションを、そのプライベートステートおよび/またはプライベートブロックチェーン340を使用して検証する。例えば、ワークフローノード320Bは、ワークフローノード320Aに関連する口座が、トランザクションをカバーするのに十分な資金を有していること、その口座が、移される資産(例えば通貨)の所有元(owner)であること、またはプライベートトランザクションについての他の情報、を検証してよい。
【００４６】
425において、ワークフローノード320Bがワークフローノード320Aに、トランザクションが首尾よく検証されたことを通知し、その身元を証明するためにそのデジタル署名を返す。430および435において、ワークフローノード320AおよびBが、それらのそれぞれに対応するプライベートステート(例えば局所記憶装置325A、B)を、合意したプライベートトランザクションを含めるように更新する。440において、上で説明したように、ワークフローノード320Aがプライベートブロックチェーン340内にプライベートトランザクションの表現を格納する。
【００４７】
445において、ワークフローノード320Aが、ワークフローノード320Aおよび320Bに関連する(上で説明したように口座記録を生成することによる)口座のステータスを、ブロックチェーンノード310Aに通知を送ることによって更新し、ブロックチェーンノード310Aはその更新情報をパブリックブロックチェーン330内に格納する。先に論じたように、ワークフローノード320Aは、観察者が口座残高更新情報からトランザクションの詳細を推測するのを防ぐために、トランザクション参加者に関するある特定数のプライベートトランザクションが処理された後で、口座残高の更新を行うように構成されてよい。
【００４８】
図5は、本明細書の実装形態に従って実行することのできるプロセス500の一例を示す。いくつかの実装形態では、この例示的プロセス500は、1つまたは複数のコンピューティングデバイスを使用して実行される、1つまたは複数のコンピュータ実行可能プログラムを使用して実施されてよい。
【００４９】
505において、少なくとも1つの口座に関連するプライベートトランザクションを実施するようにとの要求が、ワークフローノードによって受信される。
【００５０】
510において、要求の受信に応答して、ワークフローノードが、要求されたプライベートトランザクションを実施する。
【００５１】
515において、プライベートトランザクションの実施に応答して、ワークフローノードが、プライベートトランザクションにアクセスする権限が付与されているエンティティだけがアクセス可能であるように構成されたプライベートトランザクションの表現を生成する。
【００５２】
520において、プライベートブロックチェーン内にプライベートトランザクションの表現が格納される。場合によっては、ワークフローノードは、プライベートトランザクションを、ワークフローノードのデータストア内に格納し、データストアは、プライベートブロックチェーンとは別であり、プライベートトランザクションの表現を生成することが、プライベートトランザクションに関連するハッシュ値を生成することを含む。
【００５３】
525において、ワークフローノードが、プライベートトランザクションに関連する少なくとも1つの口座の口座記録を、プライベートトランザクションに少なくとも部分的に基づいて生成し、口座記録は、プライベートブロックチェーン内のプライベートトランザクションの表現にアクセスする権限が付与されていない少なくとも1つのエンティティがアクセス可能であるように構成される。いくつかの実装形態では、ワークフローノードが、少なくとも1つの口座の口座記録の局所表現を維持し、プライベートトランザクションを実施することが、口座記録の局所表現を、プライベートトランザクションに基づいて修正することを含み、少なくとも1つの口座記録が、口座記録の局所表現内の情報のサブセットを含む。場合によっては、口座記録は、少なくとも1つの口座の残高を含み、口座記録は、関連するプライベートトランザクションについての情報を含まない。
【００５４】
530において、パブリックブロックチェーン内に口座記録が格納される。場合によっては、パブリックブロックチェーンに口座記録を格納することは、プライベートブロックチェーンへのプライベートトランザクションの表現の格納に応答して実施される。
【００５５】
いくつかの実装形態では、パブリックブロックチェーンへの口座の対応する格納が実施されないプライベートトランザクションの他の表現が、プライベートブロックチェーン内に格納される。
【００５６】
場合によっては、プライベートブロックチェーンとは別のデータストア内に、公開/秘密鍵ペアの公開鍵を用いて暗号化されたプライベートトランザクションの暗号化コピーが格納される。
【００５７】
いくつかの実装形態では、プライベートブロックチェーンが第1のプライベートブロックチェーンであり、プライベートトランザクションが第1のプライベートトランザクションであり、方法が、第1のプライベートブロックチェーンとは別の第2のプライベートブロックチェーン内に、第1のプライベートトランザクションとは異なる第2のプライベートトランザクションの表現を格納することと、パブリックブロックチェーン内に、第2のプライベートトランザクションに関連する口座の口座記録を格納することとをさらに含む。
【００５８】
本明細書において説明した本主題ならびにアクションおよび動作の実装形態は、デジタル電子回路として、有形に具現化されたコンピュータソフトウェアもしくはファームウェアとして、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数の組合せとして、実装することができる。本明細書において説明した本主題の実装形態は、データ処理装置によって実行できるように、またはデータ処理装置の動作を制御するために、コンピュータプログラムキャリア上に符号化された1つまたは複数のコンピュータプログラム、例えばコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。キャリアは、有形の非一時的コンピュータ記憶媒体であってよい。その代わりにまたはそれに加えて、キャリアは、情報を、データ処理装置によって実行する目的で適切なレシーバ装置に送信できるように符号化するために生成される、人工的に生成された伝搬信号、例えば機械により生成された電気信号、光信号、または電磁信号であってもよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることもでき、その一部とすることもできる。コンピュータ記憶媒体は、伝搬信号ではない。
【００５９】
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。データ処理装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィック処理装置)を含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むこともできる。
【００６０】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードとも呼ばれるかまたは説明されることのあるコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、エンジン、サブルーチン、もしくはコンピューティング環境において実行するのに適した他のユニットとして、を含む、任意の形態でデプロイすることができ、この環境は、1つまたは複数の位置にある、データ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含んでよい。
【００６１】
コンピュータプログラムは、その必要はないが、ファイルシステム内のファイルに対応してよい。コンピュータプログラムは、他のプログラムもしくはデータを保持するファイルの一部分、例えばマークアップ言語ドキュメント内に格納された1つもしくは複数のスクリプト内に、当該のプログラムに専用の単一のファイル内に、または複数の連係されたファイル、例えばコードの1つもしくは複数のモジュール、サブプログラム、もしくは部分を格納するファイル内に、格納することができる。
【００６２】
本明細書において説明したプロセスおよび論理フローは、動作を実施するための1つまたは複数のコンピュータプログラムを、入力データに作用し出力を生成することにより実行する、1つまたは複数のコンピュータによって実施することができる。プロセスおよび論理フローは、専用論理回路、例えばFPGA、ASIC、もしくはGPUによって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによって、実施することもできる。
【００６３】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または他の任意の種類の中央処理装置をベースとすることができる。一般に、中央処理装置は、読出し専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信する。コンピュータの要素は、命令を実行するための中央処理装置、ならびに命令およびデータを格納するための1つまたは複数のメモリデバイスを含むことができる。中央処理装置およびメモリは、専用論理回路によって補完するか、またはそれに組み込むことができる。
【００６４】
一般に、コンピュータは、少なくとも1つの非一時的コンピュータ可読記憶媒体(コンピュータ可読メモリとも呼ばれる)に結合される。コンピュータに結合される記憶媒体は、コンピュータの内部コンポーネント(例えば内蔵ハードドライブ)または外部コンポーネント(例えばユニバーサルシリアルバス(USB)ハードドライブもしくはネットワーク経由でアクセスされるストレージシステム)とすることができる。記憶媒体の例としては、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスク、ソリッドステートドライブ、クラウドストレージシステムなどのネットワークストレージリソース、または他のタイプの記憶媒体があり得る。しかし、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【００６５】
ユーザとの対話を可能にするために、本明細書において説明した本主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力することのできる入力デバイス、例えばキーボード、およびポインティングデバイス、例えばマウス、トラックボール、またはタッチパッドとを有するコンピュータ上に実装するか、またはそれと通信するように構成することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信することができる。加えて、コンピュータはユーザと、ドキュメントをユーザによって使用されているデバイスに送り、そこからドキュメントを受信することによって、例えば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受信した要求に応答してウェブページを送ることによって、またはユーザデバイス、例えばスマートフォンもしくは電子タブレット上で実行されているアプリケーションと対話することによって、対話することができる。また、コンピュータはユーザと、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、例えばメッセージングアプリケーションを実行しているスマートフォンに送り、返信としてユーザから応答メッセージを受信することによって、対話することもできる。
【００６６】
本明細書では、システム、装置、およびコンピュータプログラムコンポーネントに関連して、「ように構成される」という用語を使用している。1つまたは複数のコンピュータからなるシステムが、特定の動作またはアクションを実施するように構成される、ということは、システム上に、動作の際にシステムにその動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールした、ということを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実施するように構成される、ということは、1つまたは複数のプログラムが、データ処理装置によって実行されると装置にその動作またはアクションを実施させる命令を含む、ということを意味する。専用論理回路が、特定の動作またはアクションを実施するように構成される、ということは、回路が、その動作またはアクションを実施する電子論理回路を有する、ということを意味する。
【００６７】
本明細書は、多くの特定の実装形態の詳細を含んでいるが、これらは、特許請求の範囲自体によって定められる特許請求されるものの範囲に対する限定と解釈するのではなく、特定の実装形態に特有であってよい特徴についての説明と解釈すべきである。本明細書において別々の実装形態の文脈の中で説明されるいくつかの特徴は、単一の実装形態において組み合わせて実現することもできる。反対に、単一の実装形態の文脈の中で説明されるさまざまな特徴を、複数の実装形態において別々に、または任意の適切な部分組合せで実現することもできる。さらに、特徴については上で、ある特定の組合せで作用するものと説明されていることがあり、そういうものとして最初に特許請求されていることすらあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によってはその組合せから削除することができ、請求項が部分組合せまたは部分組合せの変形を対象としてよい。
【００６８】
同様に、動作は特定の順序で図面中に示され、特許請求の範囲に記載されているが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、もしくは順番に実施されること、または示された全ての動作が実施されることを要求するものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が有利となる場合がある。さらに、上で説明した実装形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、そのような分離をあらゆる実装形態において要求するものと理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合するか、または複数のソフトウェア製品にパッケージ化することができる、ということを理解すべきである。
【００６９】
以上、本主題の特定の実装形態について説明してきた。他の実装形態が、添付の特許請求の範囲に記載の範囲に含まれる。例えば、特許請求の範囲に記載のアクションを、異なる順序で実施し、それでもなお、望ましい結果を達成することができる。一例として、添付の図中に示されたプロセスは、望ましい結果を達成するために、図示の特定の順序、または順番を、必ずしも要求するとは限らない。場合によっては、マルチタスキングおよび並列処理が有利となる場合がある。
【符号の説明】
【００７０】
100  例示的環境
102  ブロックチェーンネットワーク
106  コンピューティングデバイス、コンピューティングシステム
108  コンピューティングデバイス、コンピューティングシステム
110  ネットワーク
200  例示的概念アーキテクチャ
202  エンティティ層
204  ホストサービス層
206  ブロックチェーンネットワーク層
208  トランザクション管理システム
210  インターフェース
212  ブロックチェーンネットワーク
214  ノード
216  ブロックチェーン
300  システム
305  パブリックブロックチェーンネットワーク
310  プライベートブロックチェーンネットワーク
310A  ブロックチェーンノード
310B  ブロックチェーンノード
310C  ブロックチェーンノード
310D  ブロックチェーンノード
320A  ワークフローノード
320B  ワークフローノード
320C  ワークフローノード
320D  ワークフローノード
325A  局所記憶デバイス、局所記憶装置
325B  局所記憶デバイス、局所記憶装置
325C  局所記憶デバイス、局所記憶装置
325D  局所記憶デバイス、局所記憶装置
330  パブリックブロックチェーン
340  プライベートブロックチェーン
400  プロセス
500  例示的プロセス
【図１】
0006883110.tif 000002
【図２】
0006883110.tif 000003
【図３】
0006883110.tif 000004
【図４】
0006883110.tif 000005
【図５】
0006883110.tif 000006