(57)【特許請求の範囲】
【請求項１】
ブロックチェーンネットワークデジタルチケット転送のためのコンピュータ実施方法であって、
ブロックチェーンネットワークノードにより、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するための要求をクライアントデバイスから受信するステップであって、前記要求が、前記クライアントデバイスの秘密鍵を使用して生成されたデジタル署名と、前記ターゲットサーバ上の前記クライアントデバイスのアカウント情報とを含む、ステップと、
前記要求に応答して、前記ブロックチェーンネットワークノードにより、前記デジタル署名に基づいて、前記クライアントデバイスが前記デジタルチケットを転送することを許可されるかどうかを判定するステップと、
前記クライアントデバイスが前記デジタルチケットを転送することを許可されるとの判定に応答して、前記ブロックチェーンネットワークノードにより、通知メッセージを前記ターゲットサーバに送信するステップであって、前記通知メッセージが、前記ターゲットサーバ上の前記クライアントデバイスの前記アカウント情報を含み、前記デジタルチケットが前記ブロックチェーンネットワークから前記ターゲットサーバに転送されるべきであることを示す、ステップと、
前記ブロックチェーンネットワークノードにより、前記ターゲットサーバから確認メッセージを受信するステップであって、前記確認メッセージが、前記ターゲットサーバ上の前記クライアントデバイスの前記アカウント情報の有効性を示す、ステップと、
前記確認メッセージに応答して、前記ブロックチェーンネットワークノードにより、前記デジタルチケットを前記ターゲットサーバに転送するステップと
を含むコンピュータ実施方法。
【請求項２】
前記ブロックチェーンネットワークノードにより、前記デジタル署名に基づいて、前記クライアントデバイスが前記デジタルチケットを転送することを許可されるかどうかを判定するステップが、
前記ブロックチェーンネットワークノードにより、公開鍵を使用して前記デジタル署名を検証するステップ
を含む、請求項1に記載のコンピュータ実施方法。
【請求項３】
前記クライアントデバイスが前記デジタルチケットを転送することを許可されないとの判定に応答して、前記ブロックチェーンネットワークノードにより、前記デジタルチケットを前記ブロックチェーンネットワークから前記ターゲットサーバに転送するための前記クライアントデバイスからの前記要求を拒否するステップ
をさらに含む、請求項1または2に記載のコンピュータ実施方法。
【請求項４】
前記ターゲットサーバが、前記ブロックチェーンネットワークに対して外部に配置される、請求項1から3のいずれか一項に記載のコンピュータ実施方法。
【請求項５】
前記デジタルチケットが、商品またはサービスを請求するためのチケットの仮想インスタンスを含む、請求項1から4のいずれか一項に記載のコンピュータ実施方法。
【請求項６】
前記ブロックチェーンネットワークノードから前記通知メッセージを受信したことに応答して、前記ターゲットサーバが、前記ターゲットサーバ上の前記クライアントデバイスの前記アカウント情報を検証し、前記クライアントデバイスの前記アカウント情報が有効であるとの判定に応答して、前記ターゲットサーバが、前記確認メッセージを前記ブロックチェーンネットワークノードに送信する、請求項1から5のいずれか一項に記載のコンピュータ実施方法。
【請求項７】
前記クライアントデバイスの前記アカウント情報が有効ではないとの判定に応答して、前記ターゲットサーバが、拒否メッセージを前記ブロックチェーンネットワークノードに送信し、前記拒否メッセージが、前記クライアントデバイスが前記デジタルチケットを前記ブロックチェーンネットワークから前記ターゲットサーバに転送することを許可されないことを示す、請求項6に記載のコンピュータ実施方法。
【請求項８】
ブロックチェーンネットワークデジタルチケット転送のためのブロックチェーンネットワークノードであって、請求項1から7のいずれか一項に記載の方法を実施するための複数のモジュールを備えるブロックチェーンネットワークノード。
【請求項９】
請求項８に記載のブロックチェーンネットワークノードと、
サーバと、
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ブロックチェーンネットワークに基づいてデジタルチケットを転送することに関する。
【背景技術】
【０００２】
コンセンサスネットワークおよび/またはブロックチェーンネットワークと呼ばれることもある分散型台帳システム(DLS)は、参加エンティティがデータを安全にかつ不変に記憶することを可能にする。DLSは、任意の特定のユーザ事例を参照することなしに、ブロックチェーンネットワークと一般に呼ばれる。ブロックチェーンネットワークのタイプの例は、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含むことができる。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティの選択グループに提供され、アクセス制御レイヤを含む。
【０００３】
ブロックチェーンネットワークは、商品またはサービスの取引を行う1つまたは複数のサーバの電子取引プラットフォームを実装するために使用され得る。電子取引プラットフォームのユーザは、様々なデジタルチケットを保持する電子取引プラットフォームにおいてユーザアカウントを有することができる。デジタルチケットの例は、電子バウチャー、電子クーポン、または電子ギフト券を含むことができる。いくつかの事例では、ユーザは、別の電子取引プラットフォームにおける商品またはサービスにデジタルチケットを使用することを望む場合がある。しかしながら、既存のシステムでは、ある電子取引プラットフォームにおけるデジタルチケットは通常、別の電子取引プラットフォームまたはサーバにおいて使用されることを許可されない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、デジタルチケットが複数の電子取引プラットフォームまたはサーバにおいて使用されることを可能にするための解決策を提供することが望ましいであろう。
【課題を解決するための手段】
【０００５】
本明細書は、ブロックチェーンネットワークに基づいてデジタルチケットを転送するための技術について説明する。これらの技術は、一般に、デジタルチケットが電子取引プラットフォームのターゲットサーバ上で使用され得るように、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送することを伴う。デジタルチケットは、一般に、商品またはサービスを請求するためのチケットの仮想インスタンスである。デジタルチケットの例は、とりわけ、商品およびサービスと交換され得る一定の金銭的価値を有する電子バウチャー、クーポンによって示された割引率に従って割引価格で製品を購入するために消費時点で消費者によって使用され得る電子クーポン、または指定された業者において商品もしくはサービスに使用され得る電子ギフト券を含むことができる。いくつかの実施形態では、クライアントデバイスは、ブロックチェーンネットワークからターゲットサーバへのデジタルチケットの転送を開始するための要求をブロックチェーンネットワークに送る。ブロックチェーンネットワークは、クライアントデバイスを認証し、ターゲットサーバがデジタルチケットを受信することを許可されるかどうかを検証する。クライアントデバイスが認証され、ターゲットサーバがデジタルチケットを受信することを許可される場合、ブロックチェーンネットワークは、デジタルチケットをターゲットサーバに転送することに進むことができる。
【０００６】
本明細書はまた、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに本明細書で提供される方法の実施形態による動作を実施させる命令を記憶した1つまたは複数の非一時的コンピュータ可読記憶媒体を提供する。
【０００７】
本明細書は、本明細書で提供される方法を実施するためのシステムをさらに提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに本明細書で提供される方法の実施形態による動作を実施させる命令を記憶したコンピュータ可読記憶媒体とを含む。
【０００８】
本明細書による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを諒解されたい。すなわち、本明細書による方法は、本明細書で具体的に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
【０００９】
本明細書の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。本明細書の他の特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１０】
【図１】本明細書の実施形態を実行するために使用され得る環境の一例を示す図である。
【図２】本明細書の実施形態によるアーキテクチャの一例を示す図である。
【図３】本明細書の実施形態によるシステムの一例を示す図である。
【図４】本明細書の実施形態に従って実行され得るプロセスの一例を示す図である。
【図５】本明細書の実施形態に従って実行され得るプロセスの一例を示す図である。
【図６】本明細書の実施形態に従って実行され得るプロセスの一例を示す図である。
【図７】本明細書の実施形態による装置のモジュールの例を示す図である。
【発明を実施するための形態】
【００１１】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００１２】
本明細書は、ブロックチェーンネットワークに基づいてデジタルチケットを転送するための技術について説明する。技術は、一般に、デジタルチケットがターゲットサーバ上で使用され得るように、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送することを伴う。デジタルチケットは、一般に、電子取引プラットフォームからの商品またはサービスを請求するためのチケットの仮想インスタンスである。デジタルチケットの例は、商品およびサービスと交換され得る一定の金銭的価値を有する電子バウチャー、クーポンによって示された割引率に従って割引価格で製品を購入するために消費時点で消費者によって使用され得る電子クーポン、または指定された業者において商品もしくはサービスに使用され得る電子ギフト券を含むことができる。
【００１３】
いくつかの実施形態では、クライアントデバイスは、ブロックチェーンネットワークから電子取引プラットフォームのターゲットサーバへの転送を開始するための要求をブロックチェーンネットワークに送る。ブロックチェーンネットワークは、クライアントデバイスを認証し、ターゲットサーバがデジタルチケットを受信することを許可されるかどうかを検証する。クライアントデバイスが認証され、ターゲットサーバがデジタルチケットを受信することを許可される場合、ブロックチェーンネットワークは、デジタルチケットをターゲットサーバに転送することに進むことができる。
【００１４】
本明細書で説明される技法は、1つまたは複数の技術的効果をもたらすことができる。いくつかの実施形態では、クライアントデバイスがデジタルチケットをブロックチェーンネットワークから電子取引プラットフォームのターゲットサーバに転送するための要求をサブミットするとき、ブロックチェーンネットワークはクライアントデバイスを認証する。いくつかの実施形態では、認証されたクライアントデバイスはデジタルチケットを転送することを許可され得るが、認証に失敗したクライアントデバイスはデジタルチケットを転送することを禁止される。このことは、ブロックチェーンネットワークに記憶されたデータ(たとえば、デジタルチケット)が悪意のあるアクターによって侵害されることを防止することができ、それによって、ブロックチェーンネットワークのデータセキュリティを改善する。いくつかの実施形態では、ブロックチェーンネットワークは、ターゲットサーバがブロックチェーンネットワークにおいてブロックチェーンアカウントを登録したかどうかを検証する。ターゲットサーバがブロックチェーンネットワーク内にブロックチェーンアカウントを有する場合、ターゲットサーバはブロックチェーンネットワークからデジタルチケットを受信することができる。そうではない場合、ターゲットサーバはデジタルチケットを受信することができない。このことは、ターゲットサーバを模倣する悪意のあるアカウント保持者がデジタルチケットを取得することを防止する。このことは、ブロックチェーンネットワークにおけるデータセキュリティをさらに改善することができる。さらに、説明される転送手順は、ブロックチェーンネットワークに基づいて実施される。ブロックチェーンネットワークの耐タンパー性でトレース可能な性質により、転送手順は手順のユーザによって信頼され得る。デジタルチケットが転送中に紛失するかまたは改変された場合、転送手順はブロックチェーン技術を使用してトレースされ得、デジタルチケットは適切に回収され得る。いくつかの実施形態では、ブロックチェーンネットワークを関与させるデジタルチケット転送手順中に実施される動作は、ブロックチェーントランザクションに基づいて実行される。ブロックチェーントランザクションは、ブロックチェーンネットワークの1つまたは複数のネットワークノードに記憶される。デジタルチケットが送信中に紛失するかまたは改変された場合、ブロックチェーンネットワークに記録されたブロックチェーントランザクションは、転送手順の証拠として、デジタルチケットを適切に回収するために使用され得る。
【００１５】
本明細書の実施形態のためのさらなる文脈を提供するために、また、上記で紹介されたように、(たとえば、ピアツーピアノードで構成される)コンセンサスネットワークおよびブロックチェーンネットワークと呼ばれることもある分散型台帳システム(DLS)は、参加エンティティが、トランザクションを安全にかつ不変に実施し、データを記憶することを可能にする。ブロックチェーンという用語は一般に、特定のネットワークおよび/または使用事例に関連付けられるが、ブロックチェーンは、本明細書では、任意の特定の使用事例を参照することなしに、概してDLSを指すために使用される。
【００１６】
ブロックチェーンは、トランザクションが不変であるやり方でトランザクションを記憶するデータ構造である。したがって、ブロックチェーン上に記録されるトランザクションは、確実で信頼できる。ブロックチェーンは、1つまたは複数のブロックを含む。チェーン内の各ブロックは、チェーン内の各ブロックの直前にある前のブロックの暗号学的ハッシュを含むことによって、前のブロックにリンクされる。各ブロックはまた、タイムスタンプと、それ自体の暗号学的ハッシュと、1つまたは複数のトランザクションとを含む。ブロックチェーンネットワークのノードによってすでに検証されているトランザクションは、ハッシュ化され、マークルツリーに符号化される。マークルツリーは、ツリーのリーフノードにおけるデータがハッシュ化され、ツリーの各分岐におけるすべてのハッシュが分岐のルートにおいて連結される、データ構造である。このプロセスは、ツリーをのぼって、ツリー内のすべてのデータを表すハッシュを記憶するツリー全体のルートにまで続く。ツリーに記憶されたトランザクションのものであるとされるハッシュは、それがツリーの構造と一致するかどうかを判定することによって、迅速に検証され得る。
【００１７】
ブロックチェーンは、トランザクションを記憶するための非集中的なまたは少なくとも部分的に非集中的なデータ構造であるが、ブロックチェーンネットワークは、トランザクションをブロードキャストし、検証し、有効化することなどによって、1つまたは複数のブロックチェーンを管理し、更新し、維持するコンピューティングノードのネットワークである。上記で紹介されたように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。本明細書の実施形態は、コンソーシアムブロックチェーンネットワークを参照しながら、本明細書でさらに詳細に説明される。しかしながら、本明細書の実施形態は任意の適切なタイプのブロックチェーンネットワークにおいて実現され得ることが企図される。
【００１８】
一般に、コンソーシアムブロックチェーンネットワークは参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、コンセンサスノードと呼ばれることがある、ノードの許可されたセットによって制御され、1つまたは複数のコンセンサスノードは、それぞれのエンティティ(たとえば、金融機関、保険会社)によって操作される。たとえば、10個のエンティティ(たとえば、金融機関、保険会社)のコンソーシアムは、コンソーシアムブロックチェーンネットワークを操作することができ、エンティティの各々は、コンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを操作する。
【００１９】
いくつかの例では、コンソーシアムブロックチェーンネットワーク内で、すべてのノードにわたって複製されるブロックチェーンとしてグローバルブロックチェーンが提供される。すなわち、すべてのコンセンサスノードは、グローバルブロックチェーンに対して完璧にコンセンサスが取れている状態である。コンセンサス(たとえば、ブロックチェーンへのブロックの追加についての合意)を達成するために、コンソーシアムブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。たとえば、コンソーシアムブロックチェーンネットワークは、以下でより詳細に説明される実用的なビザンチンフォールトトレランス(PBFT: practical Byzantine fault tolerance)コンセンサスを実装することができる。
【００２０】
図1は、本明細書の実施形態を実行するために使用され得る環境100の一例を示す図である。いくつかの例では、環境100は、エンティティがコンソーシアムブロックチェーンネットワーク102に参加することを可能にする。環境100は、コンピューティングデバイス106、108と、ネットワーク110とを含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされ得る。いくつかの例では、ネットワーク110は、コンソーシアムブロックチェーンネットワーク102との通信およびコンソーシアムブロックチェーンネットワーク102内の通信を可能にする。一般に、ネットワーク110は1つまたは複数の通信ネットワークを表す。場合によっては、コンピューティングデバイス106、108は、クラウドコンピューティングシステム(図示せず)のノードであり得るか、または各コンピューティングデバイス106、108は、ネットワークによって相互接続され、分散処理システムとして機能するいくつかのコンピュータを含む、別個のクラウドコンピューティングシステムであり得る。
【００２１】
図示の例では、コンピューティングデバイス106、108はそれぞれ、コンソーシアムブロックチェーンネットワーク102内のノードとしての参加を可能にする任意の適切なコンピューティングシステムを含むことができる。コンピューティングデバイスの例は、限定はしないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例では、コンピューティングデバイス106、108は、コンソーシアムブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実施サービスをホストする。たとえば、コンピューティングデバイス106は、第1のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第1のエンティティ(たとえば、ユーザA)のコンピュータ実施サービスをホストすることができる。コンピューティングデバイス108は、第2のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第2のエンティティ(たとえば、ユーザB)のコンピュータ実施サービスをホストすることができる。図1の例では、コンソーシアムブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングデバイス106、108は、それぞれ、コンソーシアムブロックチェーンネットワーク102に参加する第1のエンティティおよび第2のエンティティのノードを提供する。
【００２２】
図2は、本明細書の実施形態によるアーキテクチャ200の一例を示す。概念的アーキテクチャ200は、それぞれ、参加者A、参加者B、および参加者Cに対応する、参加者システム202、204、206を含む。各参加者(たとえば、ユーザ、企業)は、複数のノード214を含むピアツーピアネットワークとして提供されるブロックチェーンネットワーク212に参加し、複数のノード214のうちの少なくともいくつかは、ブロックチェーン216内の情報を不変に記録する。単一のブロックチェーン216がブロックチェーンネットワーク212内に概略的に示されているが、本明細書でさらに詳細に説明されるように、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。
【００２３】
図示の例では、各参加者システム202、204、206は、それぞれ、参加者A、参加者B、および参加者Cによって、または参加者A、参加者B、および参加者Cの代わりに提供され、ブロックチェーンネットワーク内のそれぞれのノード214として機能する。本明細書で使用される場合、ノードは一般に、ブロックチェーンネットワーク212に接続され、それぞれの参加者がブロックチェーンネットワークに参加することを可能にする、個々のシステム(たとえば、コンピュータ、サーバ)を指す。図2の例では、参加者は各ノード214に対応する。しかしながら、参加者がブロックチェーンネットワーク212内の複数のノード214を操作することができることおよび/または複数の参加者がノード214を共有することができることが企図される。いくつかの例では、参加者システム202、204、206は、プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用して、および/またはリモートプロシージャコール(RPC)を使用して、ブロックチェーンネットワーク212と通信するか、またはブロックチェーンネットワーク212を介して通信する。
【００２４】
ノード214は、ブロックチェーンネットワーク212内での様々な程度の参加を有することができる。たとえば、いくつかのノード214は(たとえば、ブロックをブロックチェーン216に追加するマイナーノードとして)コンセンサスプロセスに参加することができるが、他のノード214はコンセンサスプロセスに参加しない。別の例として、いくつかのノード214はブロックチェーン216の完全なコピーを記憶するが、他のノード214はブロックチェーン216の部分のコピーのみを記憶する。たとえば、データアクセス権は、それぞれの参加者がそのそれぞれのシステム内に記憶するブロックチェーンデータを制限することができる。図2の例では、参加者システム202、204はブロックチェーン216のそれぞれの完全なコピー216'、216''を記憶する。
【００２５】
ブロックチェーン(たとえば、図2のブロックチェーン216)はブロックのチェーンで構成され、各ブロックがデータを記憶する。データの例は、2人以上の参加者の間のトランザクションを表すトランザクションデータを含む。トランザクションは本明細書では非限定的な例として使用されるが、任意の適切なデータ(たとえば、文書、画像、ビデオ、オーディオ)はブロックチェーンに記憶され得ることが企図される。トランザクションの例は、限定はしないが、価値のあるもの(たとえば、資産、製品、サービス、通貨)の交換を含むことができる。トランザクションデータは、ブロックチェーン内に不変に記憶される。すなわち、トランザクションデータは変更することができない。
【００２６】
ブロックに記憶する前に、トランザクションデータがハッシュ化される。ハッシュ化は、(文字列データとして提供される)トランザクションデータを(やはり文字列データとして提供される)固定長のハッシュ値に変換するプロセスである。トランザクションデータを取得するためにハッシュ値を非ハッシュ化することは不可能である。ハッシュ化は、トランザクションデータのわずかな変化でさえも完全に異なるハッシュ値をもたらすことを保証する。さらに、上述のように、ハッシュ値は固定長である。すなわち、トランザクションデータのサイズに関係なく、ハッシュ値の長さは固定である。ハッシュ化は、ハッシュ値を生成するためにハッシュ関数によってトランザクションデータを処理することを含む。ハッシュ関数の一例は、限定はしないが、256ビットのハッシュ値を出力するセキュアハッシュアルゴリズム(SHA)-256を含む。
【００２７】
複数のトランザクションのトランザクションデータは、ハッシュ化され、ブロックに記憶される。たとえば、2つのトランザクションのハッシュ値が提供され、それ自体でハッシュ化されて、別のハッシュを提供する。このプロセスは、ブロックに記憶されるべきすべてのトランザクションについて、単一のハッシュ値が提供されるまで繰り返される。このハッシュ値は、マークルルートハッシュと呼ばれ、ブロックのヘッダに記憶される。トランザクションのうちのいずれかの変更は、そのハッシュ値の変更をもたらし、最終的には、マークルルートハッシュの変更をもたらす。
【００２８】
ブロックは、コンセンサスプロトコルを通じてブロックチェーンに追加される。ブロックチェーンネットワーク内の複数のノードは、コンセンサスプロトコルに参加し、ブロックをブロックチェーンに追加させる作業を実施する。そのようなノードはコンセンサスノードと呼ばれる。上記で紹介されたPBFTは、コンセンサスプロトコルの非限定的な例として使用される。コンセンサスノードは、トランザクションをブロックチェーンに追加するためにコンセンサスプロトコルを実行し、ブロックチェーンネットワークの状態全体を更新する。
【００２９】
さらに詳細には、コンセンサスノードは、ブロックヘッダを生成し、ブロック内のトランザクションのすべてをハッシュ化し、ハッシュ値をペアに組み合わせて、ブロック内のすべてのトランザクションについて単一のハッシュ値(マークルルートハッシュ)が提供されるまで、さらなるハッシュ値を生成する。このハッシュは、ブロックヘッダに追加される。コンセンサスノードはまた、ブロックチェーン内の最新のブロック(すなわち、ブロックチェーンに追加された最後のブロック)のハッシュ値を判定する。コンセンサスノードはまた、ノンス値およびタイムスタンプをブロックヘッダに追加する。
【００３０】
一般に、PBFTは、ビザンチンフォールト(たとえば、誤動作するノード、悪意のあるノード)を許容する実用的なビザンチン状態機械の複製を提供する。これは、フォールトが発生すると仮定する(たとえば、独立ノード障害の存在、および/またはコンセンサスノードによって送られる操作されたメッセージを仮定する)ことによって、PBFTにおいて達成される。PBFTでは、コンセンサスノードは、プライマリコンセンサスノードと、バックアップコンセンサスノードとを含むシーケンスにおいて提供される。プライマリコンセンサスノードは周期的に変更され、トランザクションは、ブロックチェーンネットワークのワールド状態についての合意に達したブロックチェーンネットワーク内のすべてのコンセンサスノードによってブロックチェーンに追加される。このプロセスでは、メッセージはコンセンサスノード間で送信され、各コンセンサスノードは、メッセージが指定されたピアノードから受信されたことを証明し、メッセージが送信中に修正されなかったことを検証する。
【００３１】
PBFTでは、コンセンサスプロトコルは、すべてのコンセンサスノードが同じ状態で始まる複数の段階で提供される。最初に、クライアントが、サービス動作を呼び出す(たとえば、ブロックチェーンネットワーク内でトランザクションを実行する)ための要求をプライマリコンセンサスノードに送る。要求を受信したことに応答して、プライマリコンセンサスノードが、要求をバックアップコンセンサスノードにマルチキャストする。バックアップコンセンサスノードが要求を実行し、各バックアップコンセンサスノードが応答をクライアントに送る。クライアントは、しきい値の数の応答が受信されるまで待つ。いくつかの例では、クライアントはf+1個の応答が受信されるのを待ち、ここで、fは、ブロックチェーンネットワーク内で許容され得る障害コンセンサスノードの最大数である。最終結果として、十分な数のコンセンサスノードがブロックチェーンに追加されるべきレコードの順序についての合意に達し、レコードが受け入れられるか、または拒否されるかのいずれかになる。
【００３２】
いくつかのブロックチェーンネットワークでは、暗号化はトランザクションのプライバシーを維持するために実装される。たとえば、2つのノードが、ブロックチェーンネットワーク内の他のノードがトランザクションの詳細を把握することができないようにトランザクションをプライベートに保つことを望む場合、ノードはトランザクションデータを暗号化することができる。暗号化の一例は、限定はしないが、対称暗号化および非対称暗号化を含む。対称暗号化は、暗号化(平文から暗号文を生成する)と復号(暗号文から平文を生成する)の両方に単一の鍵を使用する暗号化プロセスを指す。対称暗号化では、複数のノードに対して同じ鍵が利用可能なので、各ノードはトランザクションデータを暗号化/復号することができる。
【００３３】
非対称暗号化は、各々が秘密鍵および公開鍵を含む鍵のペアを使用し、秘密鍵はそれぞれのノードのみに知られており、公開鍵はブロックチェーンネットワーク内のいずれかまたはすべての他のノードに知られている。ノードは、データを暗号化するために別のノードの公開鍵を使用することができ、暗号化されたデータは、他のノードの秘密鍵を使用して復号される。たとえば、図2を再度参照すると、参加者Aは、データを暗号化するために参加者Bの公開鍵を使用し、暗号化されたデータを参加者Bに送ることができる。参加者Bは、暗号化されたデータ(暗号文)を復号するためにその秘密鍵を使用し、元のデータ(平文)を抽出することができる。あるノードの公開鍵で暗号化されたメッセージは、そのノードの秘密鍵を使用することでのみ復号され得る。
【００３４】
非対称暗号化は、あるトランザクション内の参加者がそのトランザクション内の他の参加者、ならびにそのトランザクションの有効性を確認することを可能にするデジタル署名を提供するために使用される。たとえば、あるノードは、メッセージにデジタル署名することができ、別のノードは、参加者Aのデジタル署名に基づいて、あるノードによってメッセージが送られたことを確認することができる。デジタル署名はまた、メッセージが移動中に改ざんされていないことを保証するために使用され得る。たとえば、図2を再度参照すると、参加者Aはメッセージを参加者Bに送る。参加者Aは、メッセージのハッシュを生成し、次いで、その秘密鍵を使用して、ハッシュを暗号化して、暗号化されたハッシュとしてのデジタル署名を提供する。参加者Aは、デジタル署名をメッセージに付加し、デジタル署名付きのメッセージを参加者Bに送る。参加者Bは、参加者Aの公開鍵を使用してデジタル署名を復号し、ハッシュを抽出する。参加者Bは、メッセージをハッシュ化し、ハッシュを比較する。ハッシュが同じである場合、参加者Bは、メッセージが実際に参加者Aからのものであり、改ざんされなかったことを確認することができる。
【００３５】
図3は、ブロックチェーンネットワークからデジタルチケットを転送するシステム300の一例を示す図である。示されるように、システム300は、クライアントデバイス302と、ブロックチェーンネットワーク304と、ターゲットサーバ306とを含む。いくつかの実施形態では、ターゲットサーバ306は、ブロックチェーンネットワーク304に対して外部に配置される。クライアントデバイス302およびターゲットサーバ304は、本明細書で説明される方法を実施するようにプログラムされた任意の適切なコンピュータ、モジュール、サーバ、またはコンピューティング要素であり得る。ブロックチェーンネットワーク304は、クライアントデバイス302およびターゲットサーバ304と通信するように構成された、いくつかのブロックチェーンネットワークノードを含むことができる。いくつかの実施形態では、ブロックチェーンネットワーク304のブロックチェーンネットワークノードは、クライアントデバイス302およびターゲットサーバ304を用いてデジタルチケットの転送手順を実施することができる。一般に、システム300は、転送手順が転送の参加者によってトレース可能であり信頼されるような、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するための解決策を提供する。
【００３６】
いくつかの実施形態では、デジタルチケット310は、商品またはサービスを請求するためのチケットの仮想インスタンスである。デジタルチケット310の例は、商品およびサービスと交換され得る一定の金銭的価値を有する電子バウチャー、クーポンによって示された割引率に従って割引価格で製品を購入するために消費時点で消費者によって使用され得る電子クーポン、または指定された業者において商品もしくはサービスに使用され得る電子ギフト券を含むことができる。
【００３７】
一般に、動作時に、クライアント(たとえば、クライアントデバイス302)は、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するための要求308をブロックチェーンネットワーク304に送る。いくつかの実施形態では、要求は、クライアントデバイス302のアイデンティティ情報(たとえば、クライアントデバイス302のデジタル署名)と、ターゲットサーバ306上のクライアントデバイス302のアカウント情報(たとえば、アカウント識別子)とを含む。要求に応答して、ブロックチェーンネットワーク304は、要求内のアイデンティティ情報に基づいてクライアントデバイス302を認証する。認証が成功した場合、ブロックチェーンネットワーク304は、クライアントデバイス302がデジタルチケット310を転送することを許可されると判定し、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることを示す通知312をターゲットサーバ306に送る。いくつかの実施形態では、通知312は、ターゲットサーバ306上のクライアントデバイス302のアカウント情報を含む。
【００３８】
ブロックチェーンネットワーク304から通知312を受信した後、ターゲットサーバ306はクライアントデバイス302のアカウント情報を検証する。たとえば、ターゲットサーバ306は、アカウント情報に基づいて、クライアントデバイス302がターゲットサーバ306上に既存のアカウントを有するかどうかを判定することができる。アカウント情報が有効である場合、ターゲットサーバ306は、クライアントデバイス302のアカウント情報の有効性を示す確認メッセージ314をブロックチェーンネットワーク304に送信する。アカウント情報が有効ではない場合、ターゲットサーバ306は、クライアントデバイス302のアカウント情報が有効ではないことおよびクライアントデバイス302がデジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送することを禁止されることを示す拒否メッセージをブロックチェーンネットワーク304に送信する。
【００３９】
ターゲットサーバ306から確認メッセージ314を受信した後、ブロックチェーンネットワーク304は、デジタルチケット310をターゲットサーバ306に転送し、クライアントデバイス302に転送の完了を通知することができる。拒否メッセージがターゲットサーバ306から受信された場合、ブロックチェーンネットワーク304は、ターゲットサーバ306上のクライアントデバイス302のアカウント情報が有効ではないことおよび転送要求を満たすことができないことを示す警告メッセージをクライアントデバイス302に送ることができる。
【００４０】
代替実施形態では、クライアントデバイス302は、ブロックチェーンネットワーク304からターゲットサーバ306へのデジタルチケット310の転送手順を開始するための要求をターゲットサーバ306に送ることができる。ターゲットサーバ306は、要求に応答して転送のためのデジタルトークンを生成し、デジタルトークンをクライアントデバイス302に送信することができる。いくつかの実施形態では、デジタルトークンは、ターゲットサーバ306上のクライアントデバイス302のアカウントに対応し、ターゲットサーバ306によって認識可能である、ランダムで識別可能な文字列、または2次元コード(たとえば、バーコードまたはクイックレスポンスコード(QRコード(登録商標))を含むことができる。デジタルトークンは、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するのを容易にするために使用され得る。いくつかの実施形態では、ターゲットサーバ306は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることを示すデジタルトークンを含む通知メッセージをブロックチェーンネットワーク304に送る。
【００４１】
ターゲットサーバ306からデジタルトークンを受信した後、クライアントデバイス302は、デジタルトークンを処理(たとえば、バーコードまたはQRコード(登録商標)をスキャン)し、デジタルトークンがクライアントデバイス302のアカウントに対応するかどうかを判定し、対応する場合、転送トランザクションをブロックチェーンネットワーク304にサブミットする。いくつかの実施形態では、転送トランザクションは、クライアントデバイスのデジタル署名と、デジタルチケット310に関連付けられたデジタルトークンとを含む。デジタルトークンがクライアントデバイス302のアカウントに対応しないとの判定の場合、クライアントデバイス302は転送手順を終了することができる。
【００４２】
クライアントデバイス302から転送トランザクションを受信した後、ブロックチェーンネットワーク304は、転送トランザクション内のデジタル署名を検証することによってクライアントデバイス302を認証することができる。いくつかの実施形態では、ブロックチェーンネットワーク304はまた、転送トランザクション内のデジタルトークンをターゲットサーバから以前に受信されたデジタルトークンと比較することができる。クライアントデバイス302が成功裏に認証され、2つのトークンが一致する場合、ブロックチェーンネットワーク304はデジタルチケット310をターゲットサーバ306に転送することができる。
【００４３】
図4は、本明細書の実施形態による信号フロー400の一例を示す。信号フロー400は、ブロックチェーンネットワークに基づいてデジタルチケットを転送するためのプロセスを表す。便宜上、プロセスは、1つまたは複数の場所に配置され、本明細書に従って適切にプログラムされた1つまたは複数のコンピュータのシステムによって実施されるものとして説明される。たとえば、適切にプログラムされた分散システム(たとえば、図1の環境100、図3のシステム300)は、プロセスを実施することができる。
【００４４】
プロセス400は402において開始し、ここで、クライアントデバイス302は、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するための要求308をブロックチェーンネットワーク304に送る。いくつかの実施形態では、要求は、クライアントデバイス302のアイデンティティ情報(たとえば、秘密鍵を使用して生成されたクライアントデバイス302のデジタル署名)と、デジタルチケット310の識別子と、ターゲットサーバ306の識別子と、ターゲットサーバ306上のクライアントデバイス302のアカウント情報(たとえば、アカウント識別子)とを含む。
【００４５】
404において、要求に応答して、ブロックチェーンネットワーク304は、要求内のアイデンティティ情報に基づいてクライアントデバイス302を認証する。いくつかの実施形態では、ブロックチェーンネットワーク304は、要求内のデジタル署名を検証するための公開鍵を使用してクライアントデバイス302を認証する。署名が有効である場合、クライアントデバイス302が認証される。認証が成功した場合、ブロックチェーンネットワーク304は、クライアントデバイス302がデジタルチケット310を転送することを許可されると判定する。いくつかの実施形態では、ブロックチェーンネットワーク304は、転送要求に対応するブロックチェーントランザクションを生成し、所定の時間にわたってデジタルチケット310に対するさらなる動作を防止するためのスマートコントラクトを使用して、ブロックチェーントランザクションに基づいてデジタルチケット310を保留することができる。認証が失敗した場合、ブロックチェーンネットワーク304は、クライアントデバイス302がデジタルチケット310を転送することを許可されないと判定し、クライアントデバイス302からの要求を拒否する。
【００４６】
406において、ブロックチェーンネットワーク304は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることを示す通知をターゲットサーバ306に送る。いくつかの実施形態では、通知は、ターゲットサーバ306上のクライアントデバイス302のアカウント情報を含む。
【００４７】
408において、ターゲットサーバ306は、ブロックチェーンネットワーク304から通知を受信した後、クライアントデバイス302のアカウント情報を検証する。いくつかの実施形態では、ターゲットサーバ306は、通知内のアカウント情報に基づいて、クライアントデバイス302がターゲットサーバ306上に既存のアカウントを有するかどうかを判定することができる。たとえば、ターゲットサーバ306は、通知内のクライアントデバイス302のアカウント識別子をターゲットサーバ306に記憶されたクライアントアカウントのアカウント識別子と比較することができる。一致がある場合、ターゲットサーバ306は、クライアントデバイス302のアカウント情報が有効であると判定する。一致がない場合、ターゲットサーバ306は、クライアントデバイス302のアカウント情報が有効ではないと判定する。
【００４８】
410において、ターゲットサーバ306は、クライアントデバイス302のアカウント情報が有効であると判定した後、確認メッセージをブロックチェーンネットワーク304に送信する。確認メッセージは、クライアントデバイス302のアカウント情報の有効性を示す。いくつかの実施形態では、アカウント情報が有効ではない場合、ターゲットサーバ306は、クライアントデバイス302のアカウント情報が有効ではないことおよびクライアントデバイス302がデジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送することを禁止されることを示す拒否メッセージをブロックチェーンネットワーク304に送信する。
【００４９】
412において、ブロックチェーンネットワーク304は、ターゲットサーバ306がデジタルチケット310の転送の準備ができていることを示し、転送の開始を確認するようにクライアントデバイス302に要求する通知をクライアントデバイス302に送る。
【００５０】
414において、クライアントデバイス302は、通知に応答して、確認メッセージをブロックチェーンネットワークに送る。確認メッセージは、クライアントデバイス302がデジタルチケット310の転送の開始を確認したことを示す。
【００５１】
416において、クライアントデバイス302から確認メッセージを受信した後、ブロックチェーンネットワーク304は、クライアントデバイス302が認証されたかどうかと、ターゲットサーバ306上のクライアントデバイス302のアカウント情報が有効であると判定されたかどうかとを検証する。たとえば、ブロックチェーンネットワーク304は、クライアントデバイス302に対する以前の認証手順の結果およびアカウント情報に対する以前の検証プロセスの結果に基づいて検証を実施することができる。ブロックチェーンネットワーク304はさらに、ターゲットサーバ306のアイデンティティを検証することができる。いくつかの実施形態では、ブロックチェーンネットワーク304は、外部サーバによって登録されるブロックチェーンアカウントを記憶することができ、登録されたブロックチェーンアカウントを有する外部サーバは、デジタルチケット310を転送することを許可され得る。ブロックチェーンネットワーク304は、ターゲットサーバ306の識別子が登録されたブロックチェーンアカウントを有するサーバの識別子と一致するかどうかを判定することができる。一致がある場合、ブロックチェーンネットワーク304は転送手順を継続することができる。
【００５２】
418において、ブロックチェーンネットワーク304は、デジタルチケット310の保留を解放し、デジタルチケット310をターゲットサーバ306に転送する。たとえば、動作はもはや、デジタルチケット310に対して実施することを禁止され得ない。いくつかの実施形態では、ブロックチェーンネットワーク304は、ブロックチェーンネットワーク内のクライアントデバイス302のアカウントからデジタルチケット310を外し、デジタルチケット310をターゲットサーバ306上のクライアントデバイス302のアカウントに送る。ターゲットサーバ306がブロックチェーンネットワーク304において登録されたブロックチェーンアカウントを有する実施形態では、ブロックチェーンネットワーク304は、デジタルチケット310をターゲットサーバ306のブロックチェーンアカウントに転送することができる。
【００５３】
420において、ブロックチェーンネットワーク304は、デジタルチケット310がターゲットサーバ306に転送されたことを示す通知をターゲットサーバ306に転送する。いくつかの実施形態では、通知は、デジタルチケット310がブロックチェーンネットワーク304内のターゲットサーバ306の企業アカウントに転送されたことをターゲットサーバ306に通知する。
【００５４】
422において、ターゲットサーバ306は、ブロックチェーンネットワーク304から通知を受信し、ターゲットサーバ306へのデジタルチケットの転送を完了する。いくつかの実施形態では、ターゲットサーバ306は、デジタルチケット310がブロックチェーンネットワーク304内のターゲットサーバ306の企業アカウントに転送されたことを通知が示すと判定し、デジタルチケット310をターゲットサーバ306上のクライアントデバイス302のアカウントに関連付ける。
【００５５】
424において、ターゲットサーバ306は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に成功裏に転送されたことを示す確認メッセージをクライアントデバイス302に送る。
【００５６】
図5は、本明細書の実施形態による信号フロー500の一例を示す。信号フロー500は、ブロックチェーンネットワークに基づいてデジタルチケットを転送するためのプロセスを表す。便宜上、プロセスは、1つまたは複数の場所に配置され、本明細書に従って適切にプログラムされた1つまたは複数のコンピュータのシステムによって実施されるものとして説明される。たとえば、適切にプログラムされた分散システム(たとえば、図3のシステム300)は、プロセスを実施することができる。
【００５７】
502において、クライアントデバイス302は、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するための要求をターゲットサーバ306に送る。
【００５８】
504において、ターゲットサーバ306は、要求に応答して転送のためのデジタルトークンを生成する。いくつかの実施形態では、デジタルトークンは、ターゲットサーバ306上のクライアントデバイス302のアカウントに対応し、ターゲットサーバ306によって認識可能である、ランダムで識別可能な文字列、または2次元コード(たとえば、バーコードまたはQRコード(登録商標))を含むことができる。デジタルトークンは、ブロックチェーンネットワーク304からターゲットサーバ306へのデジタルチケット310の転送を容易にするために使用され得る。
【００５９】
506において、ターゲットサーバ306は、デジタルトークンを含む通知メッセージをブロックチェーンネットワーク304に送り、通知メッセージは、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることを示す。いくつかの実施形態では、ターゲットサーバ306は、デジタルトークンと、ターゲットサーバ306上のクライアントデバイス302のアカウント情報とを含むブロックチェーントランザクションを生成し、ブロックチェーントランザクションをブロックチェーンネットワーク304にサブミットする。
【００６０】
508において、ブロックチェーンネットワーク304は、ターゲットサーバ306からのデジタルトークンと、クライアントデバイス302のアカウント情報とを記憶する。いくつかの実施形態では、ブロックチェーンネットワーク304はさらに、ターゲットサーバ306のアイデンティティを検証する。いくつかの実施形態では、ブロックチェーンネットワーク304は、外部サーバによって登録されるブロックチェーンアカウントを記憶することができ、登録されたブロックチェーンアカウントを有する外部サーバは、デジタルチケット310を転送することを許可され得る。ブロックチェーンネットワーク304は、ターゲットサーバ306の識別子が登録されたブロックチェーンアカウントを有するサーバの識別子と一致するかどうかを判定することができる。一致がある場合、ブロックチェーンネットワーク304は転送手順を継続することができる。
【００６１】
510において、ターゲットサーバ306は、デジタルトークンをクライアントデバイス302に送る。
【００６２】
512において、ターゲットサーバ306からデジタルトークンを受信した後、クライアントデバイス302は、デジタルトークンを処理(たとえば、バーコードまたはQRコード(登録商標)をスキャン)し、デジタルトークンがクライアントデバイス302のアカウントに対応するかどうかをチェックし、対応する場合、転送トランザクションを生成する。いくつかの実施形態では、転送トランザクションは、クライアントデバイスのデジタル署名と、デジタルチケット310に関連付けられたデジタルトークンとを含む。いくつかの実施形態では、デジタルトークンがクライアントデバイス302のアカウントに対応しないとの判定が行われた場合、クライアントデバイス302は転送手順を終了することができる。
【００６３】
514において、クライアントデバイス302は、転送トランザクションをブロックチェーンネットワーク304にサブミットする。
【００６４】
516において、クライアントデバイス302から転送トランザクションを受信した後、ブロックチェーンネットワーク304は、転送トランザクション内のデジタル署名を検証することによってクライアントデバイス302を認証する。いくつかの実施形態では、ブロックチェーンネットワーク304はまた、転送トランザクション内のデジタルトークンをターゲットサーバから以前に受信されたデジタルトークンと比較することができる。クライアントデバイス302が認証されないおよび/または2つのデジタルトークンが一致しない場合、ブロックチェーンネットワーク304は転送手順を終了することができる。クライアントデバイス302が認証され、2つのデジタルトークンが一致する場合、ブロックチェーンネットワークは転送手順を継続することができる。いくつかの実施形態では、ブロックチェーンネットワークは、所定の時間にわたってデジタルチケット310に対するさらなる動作を防止するために、デジタルチケット310を保留する。
【００６５】
518において、ブロックチェーンネットワーク304は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送される準備ができていることを示す通知をターゲットサーバ306に送る。
【００６６】
520において、ターゲットサーバ306は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることをクライアントデバイス302に通知する。いくつかの実施形態では、デジタルチケット310は、クライアントデバイス302のグラフィカルユーザインターフェース上に表示され得る。
【００６７】
522において、ターゲットサーバ306は、ターゲットサーバ306がデジタルチケット310を受信する準備ができていることを示す確認をブロックチェーンネットワーク304に送る。
【００６８】
524において、ブロックチェーンネットワーク304は、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることをクライアントデバイス302に通知し、クライアントデバイス302からの肯定応答を要求する。
【００６９】
526において、クライアントデバイス302は、ブロックチェーンネットワーク304がデジタルチケット310をターゲットサーバ302に転送することができることを確認する肯定応答メッセージをブロックチェーンネットワーク304に送る。
【００７０】
528において、ブロックチェーンネットワーク304は、デジタルチケット310をターゲットサーバ306に転送する。ターゲットサーバ306がブロックチェーンネットワーク304において登録されたブロックチェーンアカウントを有する実施形態では、ブロックチェーンネットワーク304は、デジタルチケット310をターゲットサーバ306のブロックチェーンアカウントに転送することができる。
【００７１】
530において、ブロックチェーンネットワーク304は、転送の完了をクライアントデバイス302に通知する。532において、ターゲットサーバ306は、デジタルチケット310を記憶し、デジタルチケット310をターゲットサーバ306上のクライアントデバイス302のアカウントに関連付ける。534において、ターゲットサーバ306は、ターゲットサーバ306がデジタルチケット310を受信したことを示す確認メッセージをクライアントデバイス302に送る。
【００７２】
図6は、ブロックチェーンネットワークに基づいてデジタルチケットを転送するためのプロセス600の一例のフローチャートである。便宜上、プロセス600は、1つまたは複数の場所に配置され、本明細書に従って適切にプログラムされた1つまたは複数のコンピュータのシステムによって実施されるものとして説明される。たとえば、適切にプログラムされた分散システム、たとえば、図3の分散システム300は、プロセス600を実施することができる。
【００７３】
602において、ブロックチェーンネットワーク304は、デジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送するための要求をクライアントデバイス302から受信する。いくつかの実施形態では、要求は、クライアントデバイス302の秘密鍵を使用して生成されたデジタル署名と、ターゲットサーバ306上のクライアントデバイス302のアカウント情報とを含む。いくつかの実施形態では、デジタルチケットは、商品またはサービスを請求するためのチケットの仮想インスタンスを含む。いくつかの実施形態では、ターゲットサーバは、ブロックチェーンネットワークの外部に配置される。
【００７４】
604において、ブロックチェーンネットワークは、要求内のデジタル署名に基づいて、クライアントデバイス302がデジタルチケット310を転送することを許可されるかどうかを判定する。いくつかの実施形態では、ブロックチェーンネットワークは、デジタル署名を生成するために使用される秘密鍵とペアにされた公開鍵を使用してデジタル署名を検証することによって、クライアントデバイス302がデジタルチケット310を転送することを許可されるかどうかを判定する。署名が有効である場合、ブロックチェーンネットワーク304は、クライアントデバイス302がデジタルチケット310を転送することを許可されると判定し、プロセスはステップ606に進む。署名が有効ではない場合、ブロックチェーンネットワーク304は、クライアントデバイス302がデジタルチケット310を転送することを許可されないと判定し、プロセスは、要求がブロックチェーンネットワーク304によって拒否されるステップ612に進む。
【００７５】
606において、ブロックチェーンネットワーク304は、クライアントデバイスがデジタルチケットを転送することを許可されるとの判定に応答して、通知メッセージをターゲットサーバ306に送信する。いくつかの実施形態では、通知メッセージは、クライアントデバイス302のアカウント情報を含み、デジタルチケット310がブロックチェーンネットワーク304からターゲットサーバ306に転送されるべきであることを示す。
【００７６】
608において、ブロックチェーンネットワーク304は、ターゲットサーバ306から確認メッセージを受信する。いくつかの実施形態では、確認メッセージは、クライアントデバイスのアカウント情報の有効性を示す。いくつかの実施形態では、確認メッセージを送る前に、ターゲットサーバ306は、ブロックチェーンネットワーク304から通知メッセージを受信したことに応答して、クライアントデバイス302のアカウント情報を検証する。クライアントデバイス302のアカウント情報が有効であるとの判定が行われた場合、ターゲットサーバ306は、確認メッセージをブロックチェーンネットワーク304に送信する。いくつかの実施形態では、クライアントデバイス302のアカウント情報が有効ではないとの判定が行われた場合、ターゲットサーバ306は、拒否メッセージをブロックチェーンネットワーク304に送信する。拒否メッセージは、クライアントデバイス302がデジタルチケット310をブロックチェーンネットワーク304からターゲットサーバ306に転送することを許可されないことを示す。
【００７７】
610において、ブロックチェーンネットワーク304は、ターゲットサーバ306からの確認メッセージに応答して、デジタルチケット310をターゲットサーバ306に転送する。いくつかの実施形態では、ブロックチェーンネットワーク304は、外部サーバによって登録されるブロックチェーンアカウントを記憶することができ、登録されたブロックチェーンアカウントを有する外部サーバは、デジタルチケット310を転送することを許可され得る。ターゲットサーバ306がブロックチェーンネットワーク304において登録されたブロックチェーンアカウントを有する場合、ブロックチェーンネットワーク304は、デジタルチケット310をターゲットサーバ306のブロックチェーンアカウントに転送することができる。
【００７８】
図7は、本明細書の実施形態による装置700のモジュールの一例の図である。装置700は、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するように構成されたブロックチェーンネットワークのノードの一実施形態の一例であり得る。装置700は、上記で説明された実施形態に対応することができ、装置700は、以下、すなわち、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するための要求をクライアントデバイスから受信する受信モジュール702であって、要求が、クライアントデバイスの秘密鍵を使用して生成されたデジタル署名と、ターゲットサーバ上のクライアントデバイスのアカウント情報とを含む、受信モジュール702と、要求に応答して、デジタル署名に基づいて、クライアントデバイスがデジタルチケットを転送することを許可されるかどうかを判定する判定モジュール704と、クライアントデバイスがデジタルチケットを転送することを許可されるとの判定に応答して、通知メッセージをターゲットサーバに送信する送信モジュール706であって、通知メッセージが、クライアントデバイスのアカウント情報を含み、デジタルチケットがブロックチェーンネットワークからターゲットサーバに転送されるべきであることを示す、送信モジュール706と、ターゲットサーバから確認メッセージを受信する受信モジュール708であって、確認メッセージが、クライアントデバイスのアカウント情報の有効性を示す、受信モジュール708と、確認メッセージに応答して、デジタルチケットをターゲットサーバに転送する転送モジュール710とを含む。
【００７９】
任意選択の実施形態では、ブロックチェーンネットワークノードによって、署名に基づいて、クライアントデバイスがデジタルチケットを転送することを許可されるかどうかを判定することは、公開鍵を使用してデジタル署名を検証することを含む。
【００８０】
任意選択の実施形態では、装置700は、以下、すなわち、クライアントデバイスがデジタルチケットを転送することを許可されないとの判定に応答して、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するためのクライアントデバイスからの要求を拒否するための拒否サブモジュールをさらに含む。
【００８１】
任意選択の実施形態では、ターゲットサーバは、ブロックチェーンネットワークの外部に配置される。
【００８２】
任意選択の実施形態では、デジタルチケットは、商品またはサービスを請求するためのチケットの仮想インスタンスを含む。
【００８３】
任意選択の実施形態では、ターゲットサーバは、ブロックチェーンネットワークノードから通知メッセージを受信したことに応答して、クライアントデバイスのアカウント情報を検証し、ターゲットサーバは、クライアントデバイスのアカウント情報が有効であるとの判定に応答して、確認メッセージをブロックチェーンネットワークノードに送信する。
【００８４】
任意選択の実施形態では、ターゲットサーバは、クライアントデバイスのアカウント情報が有効ではないとの判定に応答して、拒否メッセージをブロックチェーンネットワークノードに送信し、拒否メッセージは、クライアントデバイスがデジタルチケットをブロックチェーンネットワークからターゲットサーバに転送することを許可されないことを示す。
【００８５】
前述の実施形態において例示されたシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを使用することによって実装され得るか、または一定の機能を有する製品を使用することによって実装され得る。典型的な実施形態デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであり得る。
【００８６】
装置における各モジュールの機能および役割の実施形態プロセスについて、前述の方法における対応するステップの実施形態プロセスへの参照が行われ得る。ここでは簡単にするために詳細が省略されている。
【００８７】
装置実施形態は基本的には方法実施形態に対応するので、関連する部分について、方法実施形態における関連する説明への参照が行われ得る。以前に説明された装置実施形態は一例にすぎない。別個の部分として説明されるモジュールは、物理的に別個であってもよく、または物理的に別個でなくてもよく、モジュールとして表示される部分は、物理モジュールであってもよく、または物理モジュールでなくてもよく、1つの位置に配置されてもよく、またはいくつかのネットワークモジュール上に分散されてもよい。モジュールのいくつかまたはすべては、本明細書の解決策の目的を達成するための実際の需要に基づいて選択され得る。当業者は、創造的な努力なしに、本出願の実施形態を理解し、実施することができる。
【００８８】
図7を再度参照すると、図7はブロックチェーンチケット転送装置の内部機能モジュールおよび構造を例示するものとして解釈され得る。ブロックチェーンチケット転送装置は、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するように構成されたブロックチェーンネットワークノードの一例であり得る。実行体は実質的には電子デバイスとすることができ、電子デバイスは、以下、すなわち、1つまたは複数のプロセッサと、1つまたは複数のプロセッサの実行可能命令を記憶するように構成されたメモリとを含む。
【００８９】
本明細書で説明される技法は、1つまたは複数の技術的効果をもたらす。いくつかの実施形態では、クライアントデバイスがデジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するための要求をサブミットするとき、ブロックチェーンネットワークはクライアントデバイスを認証する。いくつかの実施形態では、認証されたクライアントデバイスはデジタルチケットを転送することを許可され得るが、認証に失敗したクライアントデバイスはデジタルチケットを転送することを拒否される。このことは、ブロックチェーンネットワークに記憶されたデータ(たとえば、デジタルチケット)が悪意のあるアクターによって侵害されることを防止することができ、それによって、ブロックチェーンネットワークのデータセキュリティを改善する。さらに、いくつかの実施形態では、ブロックチェーンネットワークは、ターゲットサーバがブロックチェーンネットワークにおいてブロックチェーンアカウントを登録したかどうかを検証する。ターゲットサーバがブロックチェーンネットワーク内にブロックチェーンアカウントを有する場合、ターゲットサーバはブロックチェーンネットワークからデジタルチケットを受信することができる。そうではない場合、ターゲットサーバはデジタルチケットを受信することができない。このことは、ターゲットサーバを模倣する悪意のあるアカウント保持者がデジタルチケットを取得することを防止する。このことは、ブロックチェーンネットワークのデータセキュリティをさらに改善することができる。さらに、本明細書で説明される転送手順は、ブロックチェーンネットワークに基づいて実施される。ブロックチェーンネットワークの耐タンパー性でトレース可能な性質により、転送手順は手順の参加者によって信頼され得る。デジタルチケットが転送中に紛失するかまたは改変された場合、転送手順はブロックチェーン技術を使用してトレースされ得、デジタルチケットは正確に回収され得る。
【００９０】
主題の説明される実施形態は、1つまたは複数の特徴を単独でまたは組み合わせて含むことができる。たとえば、第1の実施形態では、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するための方法は、ブロックチェーンネットワークノードによって、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するための要求をクライアントデバイスから受信するステップであって、要求が、クライアントデバイスの秘密鍵を使用して生成されたデジタル署名と、ターゲットサーバ上のクライアントデバイスのアカウント情報とを含む、ステップと、要求に応答して、ブロックチェーンネットワークノードによって、デジタル署名に基づいて、クライアントデバイスがデジタルチケットを転送することを許可されるかどうかを判定するステップと、クライアントデバイスがデジタルチケットを転送することを許可されるとの判定に応答して、ブロックチェーンネットワークノードによって、通知メッセージをターゲットサーバに送信するステップであって、通知メッセージが、クライアントデバイスのアカウント情報を含み、デジタルチケットがブロックチェーンネットワークからターゲットサーバに転送されるべきであることを示す、ステップと、ブロックチェーンネットワークノードによって、ターゲットサーバから確認メッセージを受信するステップであって、確認メッセージが、クライアントデバイスのアカウント情報の有効性を示す、ステップと、確認メッセージに応答して、ブロックチェーンネットワークノードによって、デジタルチケットをターゲットサーバに転送するステップとを含む。上記のおよび他の説明される実施形態はそれぞれ、以下の特徴のうちの1つまたは複数を任意選択で含むことができる。
【００９１】
以下の特徴のうちのいずれかと組み合わせることができる第1の特徴は、ブロックチェーンネットワークノードによって、署名に基づいて、クライアントデバイスがデジタルチケットを転送することを許可されるかどうかを判定することは、公開鍵を使用してデジタル署名を検証することを含むと規定する。
【００９２】
前述のまたは以下の特徴のうちのいずれかと組み合わせることができる第2の特徴は、方法は、クライアントデバイスがデジタルチケットを転送することを許可されないとの判定に応答して、ブロックチェーンネットワークノードによって、デジタルチケットをブロックチェーンネットワークからターゲットサーバに転送するためのクライアントデバイスからの要求を拒否するステップをさらに含むと規定する。
【００９３】
前述のまたは以下の特徴のうちのいずれかと組み合わせることができる第3の特徴は、ターゲットサーバは、ブロックチェーンネットワークの外部に配置されると規定する。
【００９４】
前述のまたは以下の特徴のうちのいずれかと組み合わせることができる第4の特徴は、デジタルチケットは、商品またはサービスを請求するためのチケットの仮想インスタンスを含むと規定する。
【００９５】
前述のまたは以下の特徴のうちのいずれかと組み合わせることができる第5の特徴は、ターゲットサーバは、ブロックチェーンネットワークノードから通知メッセージを受信したことに応答して、クライアントデバイスのアカウント情報を検証し、ターゲットサーバは、クライアントデバイスのアカウント情報が有効であるとの判定に応答して、確認メッセージをブロックチェーンネットワークノードに送信すると規定する。
【００９６】
前述のまたは以下の特徴のうちのいずれかと組み合わせることができる第6の特徴は、ターゲットサーバは、クライアントデバイスのアカウント情報が有効ではないとの判定に応答して、拒否メッセージをブロックチェーンネットワークノードに送信し、拒否メッセージは、クライアントデバイスがデジタルチケットをブロックチェーンネットワークからターゲットサーバに転送することを許可されないことを示すと規定する。
【００９７】
主題の実施形態ならびに本明細書で説明されるアクションおよび動作は、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書で開示される構造およびそれらの構造的等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書で説明される主題の実施形態は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置による実行のための、またはデータ処理装置の動作を制御するための、コンピュータプログラムキャリア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。たとえば、コンピュータプログラムキャリアは、命令を符号化または記憶した1つまたは複数のコンピュータ可読記憶媒体を含むことができる。キャリアは、磁気ディスク、光磁気ディスク、もしくは光ディスク、ソリッドステートドライブ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、または他のタイプの媒体などの、有形の非一時的コンピュータ可読媒体であり得る。代替的にまたは加えて、キャリアは、人工的に生成された伝播信号、たとえば、データ処理装置による実行のための適切な受信機装置に送信するための情報を符号化するために生成される、機械生成された電気信号、光信号、または電磁信号であり得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得るか、またはそれらの一部であり得る。コンピュータ記憶媒体は伝播信号ではない。
【００９８】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードと呼ばれるかまたはそれらとして説明されることもあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、エンジン、サブルーチン、もしくはコンピューティング環境において実行するのに適した他のユニットとしての形態を含む任意の形態で展開され得、コンピューティング環境は、1つまたは複数の場所における、データ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含み得る。
【００９９】
コンピュータプログラムはファイルシステム内のファイルに対応し得るが、そうである必要はない。コンピュータプログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプトを保持するファイルの一部分に、当該のプログラムに専用の単一のファイルに、あるいは複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルに記憶され得る。
【０１００】
コンピュータプログラムの実行のためのプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサとを含む。一般に、プロセッサは、実行のためのコンピュータプログラムの命令、ならびにプロセッサに結合された非一時的コンピュータ可読媒体からのデータを受信する。
【０１０１】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。データ処理装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィックス処理ユニット)を含むことができる。装置はまた、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【０１０２】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって動作を実施するために1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のコンピュータまたはプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA、ASIC、またはGPUによって、あるいは専用論理回路および1つまたは複数のプログラムされたコンピュータの組合せによって実施され得る。
【０１０３】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたは両方、あるいは任意の他の種類の中央処理ユニットに基づき得る。一般に、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたは両方からの命令およびデータを受信する。コンピュータの要素は、命令を実行するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含むことができる。中央処理ユニットおよびメモリは、専用論理回路によって補完されるか、またはその中に組み込まれ得る。
【０１０４】
一般に、コンピュータはまた、1つまたは複数の記憶デバイスを含むか、またはそれらからデータを受信するかもしくはそれらにデータを転送するように動作可能に結合される。記憶デバイスは、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスク、ソリッドステートドライブ、または任意の他のタイプの非一時的コンピュータ可読媒体であり得る。しかしながら、コンピュータはそのようなデバイスを有する必要はない。したがって、コンピュータは、ローカルおよび/またはリモートである1つまたは複数のメモリなどの、1つまたは複数の記憶デバイスに結合され得る。たとえば、コンピュータは、コンピュータの不可欠な構成要素である1つもしくは複数のローカルメモリを含むことができるか、またはコンピュータは、クラウドネットワークにある1つもしくは複数のリモートメモリに結合され得る。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれ得る。
【０１０５】
構成要素は、直接または1つもしくは複数の中間構成要素を介してのいずれかで、電気的にまたは光学的になど、通信可能に互いに接続されることによって、互い「に結合され」得る。構成要素はまた、構成要素のうちの一方が他方に組み込まれる場合、互い「に結合され」得る。たとえば、プロセッサに組み込まれる記憶構成要素(たとえば、L2キャッシュ構成要素)は、プロセッサ「に結合され」る。
【０１０６】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、LCD(液晶ディスプレイ)モニタと、ユーザが入力をコンピュータに提供することができる入力デバイス、たとえば、キーボードおよびポインティングデバイス、たとえば、マウス、トラックボールまたはタッチパッドとを有するコンピュータ上で実施されるか、またはそのようなコンピュータと通信するように構成され得る。ユーザとの対話を提供するために、他の種類のデバイスも使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送ることによって、またはユーザデバイス、たとえば、スマートフォンもしくは電子タブレット上で動作するアプリと対話することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージを、パーソナルデバイス、たとえば、メッセージングアプリケーションを実行しており、返報としてユーザからの応答メッセージを受信しているスマートフォンに送ることによって、ユーザと対話することができる。
【０１０７】
本明細書は、システム、装置、およびコンピュータプログラム構成要素に関連して、「ように構成された」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実施するように構成されるとは、システムが、動作時にシステムに動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムにインストールしたことを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実施するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実施させる命令を含むことを意味する。専用論理回路が特定の動作またはアクションを実施するように構成されるとは、回路が、動作またはアクションを実施する電子論理を有することを意味する。
【０１０８】
本明細書は多くの特定の実施形態の詳細を含むが、これらは、特許請求の範囲自体によって定義される特許請求されるものの範囲に対する制限として解釈されるべきではなく、むしろ、特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明される一定の特徴はまた、単一の実施形態において組み合わせて実現され得る。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において別々にまたは任意の適切な副組合せで実現され得る。さらに、特徴は一定の組合せで機能するものとして上記で説明され、最初にそのように特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されることがあり、特許請求される組合せは、副組合せまたは副組合せの変形形態を対象としてもよい。
【０１０９】
同様に、動作は特定の順序で図面に図示され、特許請求の範囲において列挙されているが、これは、そのような動作が示された特定の順序でまたは逐次的な順序で実施されること、または望ましい結果を達成するためにすべての例示された動作が実施されることを必要とするものとして理解されるべきではない。一定の状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージされ得ることが理解されるべきである。
【０１１０】
主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲の範囲内にある。たとえば、特許請求の範囲において列挙されるアクションは、異なる順序で実施され、依然として望ましい結果を達成することができる。一例として、添付の図に図示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１１１】
100  環境
102  コンソーシアムブロックチェーンネットワーク
106  コンピューティングデバイス
108  コンピューティングデバイス
110  ネットワーク
200  アーキテクチャ
202  参加者システム
204  参加者システム
206  参加者システム
212  ブロックチェーンネットワーク
214  ノード
216  ブロックチェーン
216'、216''  完全なコピー
300  システム
302  クライアントデバイス
304  ブロックチェーンネットワーク
306  ターゲットサーバ
308  要求
310  デジタルチケット
312  通知
314  確認メッセージ
400  信号フロー
500  信号フロー
600  プロセス
700  装置
702  受信モジュール
704  判定モジュール
706  送信モジュール
708  受信モジュール
710  転送モジュール
【図１】
0006894007.tif 000002
【図２】
0006894007.tif 000003
【図３】
0006894007.tif 000004
【図４】
0006894007.tif 000005
【図５】
0006894007.tif 000006
【図６】
0006894007.tif 000007
【図７】
0006894007.tif 000008