(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【0006】
本開示は、暗号的に監査可能なトランザクションの処理のためのシステムおよび方法の記述を提供する。トランザクションは、その当事者として2つのエンティティによって合意され、トランザクションを調整するために第三者が使用される。2つの関係当事者の間で直接的に起こるトランザクションは調整者(モデレータ)に頼る必要性を最小限に抑えることができ、調整者の利点を依然として維持しながら、トランザクションの実施時に交換されるデータを低減することができる。調整者はそのさらなる検証のためにトランザクションの第三者確認を提供することができ、例示的な実施形態では、取引エンティティ間の決済の第三者調整者として動作することができ、取引エンティティによって費やされるリソースがより少なくてもトランザクションをより容易に行うことができるようにする。また、本トランザクションに関連するデータを格納するためにブロックチェーンを使用することは追加の利点を提供し、特に、ブロックチェーンに格納されたトランザクション記録は即座の検知の必要がなく改ざん不可能であり、ブロックチェーンの不変性は関与するエンティティによるあらゆるトランザクションに対する完全な暗号監査能力を提供する。その結果、エンティティは現在のシステムで利用可能なものよりも少ないリソースを費やし、より速い処理を達成しながら、暗号の監査能力が維持されたトランザクションに従事することができる。
【0007】
暗号的に監査可能なトランザクションを処理する方法は、
処理サーバの入力装置によって支払データを受信することであって、前記支払データが少なくとも主要アカウント番号を含む、ことと、
前記処理サーバの送信装置によって前記主要アカウント番号をコンピューティングシステムに電子的に送信することと、
前記処理サーバの受信装置によって、前記コンピューティングシステムから、前記主要アカウント番号に関連付けられた確認値を受信することと、
前記処理サーバの前記送信装置によって、支払要求を前記コンピューティングシステムに電子的に送信することであって、前記支払要求は、少なくとも、支払トランザクションに関連付けられた参照値を含む、ことと、
前記処理サーバの前記受信装置によって、前記コンピューティングシステムから受領要求を受信することであって、前記受領要求は少なくとも、前記参照値と、受領アドレスと、1以上の料金値と、第三者によって生成された第1のデジタル署名とを含む、ことと、
前記処理サーバの署名モジュールによって、少なくとも前記受領アドレスを使用して、第2のデジタル署名を生成することと、
前記処理サーバの前記送信装置によって、少なくとも前記第2のデジタル署名を前記コンピューティングシステムに電子的に送信することと、
を含む、
【0008】
暗号的に監査可能なトランザクションを処理する方法は
処理サーバの受信装置によって、第1のコンピューティングシステムから支払要求を受信することであって、前記支払要求は、支払トランザクションに関連付けられた参照値を少なくとも含む、ことと、
前記処理サーバの署名モジュールによって、受信された前記支払要求を少なくとも使用して第1のデジタル署名を生成することと、
前記処理サーバの送信装置によって、少なくとも前記第1のデジタル署名および前記支払要求を第2のコンピューティングシステムに電子的に送信することと、
前記処理サーバの前記受信装置によって、前記第2のコンピューティングシステムから確認メッセージを受信することであって、前記確認メッセージは少なくとも、1以上の料金値と、第2のデジタル署名と、受領アドレスとを含む、ことと、
前記処理サーバの前記送信装置によって、前記第1のコンピューティングシステムに受領要求を電子的に送信することであって、前記受領要求は少なくとも、前記参照値、前記1以上の料金値、前記第2のデジタル署名、および前記受領アドレスを含む、ことと、
前記処理サーバの前記受信装置によって、前記第2のコンピューティングシステムから受領メッセージを受信することであって、前記受領メッセージは少なくとも第3のデジタル署名を含む、ことと、
前記処理サーバの前記送信装置によって、トランザクション値を、ブロックチェーンネットワークに関連付けられたノードに電子的に送信することであって、前記トランザクション値は、少なくとも、前記参照値、前記受領アドレス、および前記第3のデジタル署名を含む、ことと、
を含む。
【0009】
暗号的に監査可能なトランザクションを処理する方法は、
処理サーバの受信装置によって、コンピューティングシステムから支払要求を受信することであって、前記支払要求は少なくとも、支払トランザクションに関連付けられた参照値と第1のデジタル署名とを含む、ことと、
前記処理サーバの問い合わせモジュールによって、前記支払トランザクションの1つまたは複数の料金値を識別するための第1のクエリと、受領アドレスを識別するための第2のクエリとを実行することと、
前記処理サーバの署名モジュールによって、第2のデジタル署名を生成することと、
前記処理サーバの送信装置によって、少なくとも、前記1つまたは複数の料金値、前記受領アドレス、および前記第2のデジタル署名を前記コンピューティングシステムに電子的に送信することと、
前記処理サーバの前記受信装置によって、ブロックチェーンネットワークに関連付けられたノードからブロックチェーンデータを受信することであって、前記ブロックチェーンデータは、ブロックチェーンを含む1つまたは複数のブロックを含み、各ブロックは少なくとも、ブロックヘッダと1つまたは複数のトランザクション値とを含み、各トランザクション値は、少なくともトランザクションアドレスと、トランザクション参照と、トランザクション署名とを含む、ことと、
前記処理サーバの前記問い合わせモジュールによって、受信されたブロックチェーンデータ上でクエリを実行し、含まれた前記トランザクションアドレスが前記受領アドレスに対応する特定のトランザクション値を識別することと、
前記処理サーバの検証モジュールによって、含まれた前記トランザクション参照と前記参照値との間の対応関係に少なくとも基づいて前記特定のトランザクション値を検証することと、
を含む。
【0010】
暗号的に監査可能なトランザクションを処理するシステムは
処理サーバの署名モジュールと、
支払データを受信するように構成された、前記処理サーバの入力装置であって、前記支払データが少なくとも主要アカウント番号を含む、入力装置と、
前記主要アカウント番号をコンピューティングシステムに電子的に送信するように構成された、前記処理サーバの送信装置と、
前記主要アカウント番号に関連付けられた確認値を前記コンピューティングシステムから受信するように構成された、前記処理サーバの受信装置と、
を含み、
前記処理サーバの前記送信装置は支払要求を前記コンピューティングシステムに電子的に送信するようにさらに構成され、前記支払要求は支払トランザクションに関連付けられた参照値を少なくとも含み、
前記処理サーバの前記受信装置は前記コンピューティングシステムから受領要求を受信するようにさらに構成され、前記受領要求は少なくとも、前記参照値と、受領アドレスと、1つまたは複数の料金値と、第三者によって生成された第1のデジタル署名とを含み、
前記処理サーバの前記署名モジュールは少なくとも前記受領アドレスを使用して第2のデジタル署名を生成するように構成され、
前記処理サーバの前記送信装置は少なくとも前記第2のデジタル署名を前記コンピューティングシステムに電子的に送信するように構成される。
【0011】
暗号的に監査可能なトランザクションを処理するためのシステムは、
第1のコンピューティングシステムから支払要求を受信するように構成された、処理サーバの受信装置であって、前記支払要求は、支払トランザクションに関連付けられた参照値を少なくとも含む、受信装置と、
受信された前記支払要求を少なくとも使用して第1のデジタル署名を生成するように構成された、前記処理サーバの署名モジュールと、
少なくとも前記第1のデジタル署名および前記支払要求を第2のコンピューティングシステムに電子的に送信するように構成された、前記処理サーバの送信装置と、
を含み、
前記処理サーバの前記受信装置は前記第2のコンピューティングシステムから確認メッセージを受信するようにさらに構成され、前記確認メッセージは少なくとも、1つまたは複数の料金値と、第2のデジタル署名と、受領アドレスとを含み、
前記処理サーバの前記送信装置は前記第1のコンピューティングシステムに受領要求を電子的に送信するようにさらに構成され、前記受領要求は少なくとも、前記参照値と、前記1つまたは複数の料金値と、前記第2のデジタル署名と、前記受領アドレスとを含み、
前記処理サーバの前記受信装置は前記第1のコンピューティングシステムから受領メッセージを受信するようにさらに構成され、前記受領メッセージは少なくとも第3のデジタル署名を含み、
前記処理サーバの前記送信装置はトランザクション値を、ブロックチェーンネットワークに関連付けられたノードに電子的に送信するようにさらに構成され、前記トランザクション値は少なくとも、前記参照値、前記受領アドレス、および前記第3のデジタル署名を含む。
【0012】
暗号的に監査可能なトランザクションを処理するためのシステムは、
処理サーバの検証モジュールと、
コンピューティングシステムから支払要求を受信するように構成された、前記処理サーバの受信装置であって、前記支払要求は少なくとも、支払トランザクションに関連付けられた参照値と第1のデジタル署名とを含む、受信装置と、
前記支払トランザクションの1つまたは複数の料金値を識別するための第1のクエリと、受領アドレスを識別するための第2のクエリとを実行するように構成された、前記処理サーバの問い合わせモジュールと、
第2のデジタル署名を生成するように構成された、前記処理サーバの署名モジュールと、
少なくとも、前記1つまたは複数の料金値、前記受領アドレス、および前記第2のデジタル署名を前記コンピューティングシステムに電子的に送信するように構成された、前記処理サーバの送信装置と、
をさらに含み、
前記処理サーバの前記受信装置は、ブロックチェーンネットワークに関連付けられたノードからブロックチェーンデータを受信するようにさらに構成され、前記ブロックチェーンデータはブロックチェーンを含む1つまたは複数のブロックを含み、各ブロックは少なくとも、ブロックヘッダおよび1つまたは複数のトランザクション値を含み、各トランザクション値は少なくともトランザクションアドレス、トランザクション参照、およびトランザクション署名を含み、
前記処理サーバの前記問い合わせモジュールは、受信された前記ブロックチェーンデータ上でクエリを実行して、含まれた前記トランザクションアドレスが前記受領アドレスに対応する特定のトランザクション値を識別するようにさらに構成され、
前記処理サーバの前記検証モジュールは、含まれた前記トランザクション参照と前記参照値との間の対応関係に少なくとも基づいて前記特定のトランザクション値を検証するように構成される。
【発明を実施するための形態】
【0015】
用語集
ブロックチェーン:ブロックチェーンベースの通貨のすべてのトランザクションの公開台帳。1つまたは複数のコンピューティング装置はブロックチェーンネットワークを備えることができ、ブロックチェーンネットワークはブロックチェーン内のブロックの一部としてトランザクションを処理し記録するように構成することができる。ブロックが完成すると、ブロックはブロックチェーンに追加され、それによってトランザクション記録が更新される。多くの場合、ブロックチェーンは、時系列順のトランザクションの台帳であってもよく、またはブロックチェーンネットワークによる使用に適し得る任意の他の順序で提示されてもよい。いくつかの構成では、どれだけの通貨が特定のアドレスに起因するかをブロックチェーンが記録するように、ブロックチェーンに記録されたトランザクションは宛先アドレスおよび通貨の金額を含むことができる。場合によっては、トランザクションは金融であり、他のものは金融ではないか、またはソースアドレス、タイムスタンプなどの追加または別の情報を含むことができる。いくつかの実施形態では、ブロックチェーンは、追加的にまたは代替的に、その操作者によってさえ、改ざんおよび改訂に対して強化されたデータレコードの連続的に増大する一覧を維持する分散データベースに配置されるか、または配置される必要があるトランザクション形態として、ほぼ任意のタイプのデータを含むことができるし、ブロックチェーンネットワークによって、プルーフオブワークおよび/またはそれに関連する任意の他の適切な検証技術を介して、確認および検証されることができる。場合によっては、所与のトランザクションに関するデータがトランザクションデータに添付されたトランザクションの直接的な部分ではない追加のデータをさらに含むことができる。場合によっては、ブロックチェーンにおいてそのようなデータを包含することがトランザクションを構成し得る。そのような場合、ブロックチェーンは、特定のデジタル通貨、仮想通貨、不換通貨、または他のタイプの通貨に直接的に関連付けられなくてもよい。
【0016】
トランザクションアカウント:小切手アカウント、貯蓄アカウント、信用アカウント、仮想支払アカウントなど、トランザクションに資金を供給するために使用され得る金融アカウント。トランザクションアカウントは、支払アカウントに関連付けられた任意の好適なタイプのエンティティとすることができる消費者(これは個人、家庭、企業、法人、政府機関などを含むことができる)に関連付けることができる。場合によっては、トランザクションアカウントがPayPal(登録商標)によって操作されるアカウントなど、仮想アカウントであってもよい。
【0017】
発行者:受益者のために信用状または信用限度を確立(例えば、オープン)し、信用状または信用限度に指定された金額に対して受益者によって引き出された手形を受け取るエンティティ。多くの場合、発行者は、信用限度(クレジットライン)を開くことを承認された銀行または他の金融機関であってもよい。場合によっては、受益者に信用限度を拡張することができる任意のエンティティを発行者とみなすことができる。発行者によって開かれた信用限度は、支払アカウントの形態で表されてもよく、支払カードの使用を介して受益者によって引き出されてもよい。発行者はまた、デビットアカウント、プリペイドアカウント、ウォレットアカウント、貯蓄アカウント、小切手アカウントなど、当業者には明らかなように、追加のタイプの支払アカウントを消費者に提供することができ、デビットカード、プリペイドカード、現金自動預け払い機カード、ウォレット、小切手など、そのようなアカウントにアクセスし、かつ/または利用するための物理的または非物理的な方法を消費者に提供することができる。
【0018】
アクワイアラ:販売者の代わりに支払いカードトランザクションを処理することができるエンティティ。アクワイアラは、販売者に代わって支払いカードトランザクションを処理することを許可された銀行または他の金融機関であってもよい。多くの場合、アクワイアラは、販売者が受益者として働く信用限度を開くことができる。アクワイアラは、発行者によって提供された信用限度の受益者であり得る消費者が支払カードを介して、アクワイアラによって示される販売者と取引する場合に、発行者と資金を交換し得る。
【0019】
暗号的に監査可能なトランザクションの処理システム
図1は、調整エンティティおよびブロックチェーンの使用を介して、2つの取引エンティティ間で完全な暗号監査能力により電子トランザクションを処理するためのシステム100を示す。
【0020】
システム100は、購入エンティティ102と供給エンティティ104との間で行われる電子トランザクションに関わることができる。供給エンティティ104は、購入エンティティ102が支払いを行う購入エンティティ102に商品または役務を供給することができる。購入エンティティ102は2つのエンティティによって合意された金額で供給エンティティ104に支払いを行うために、送信側コンピューティングシステム106と対話(相互作用)することができる。
【0021】
送信側コンピューティングシステム106は以下でより詳細に論じるように、購入エンティティ102(これは暗号的に監査可能なトランザクションを開始するように、本明細書で論じるように具体的に構成される)に発行されたトランザクションアカウントに関連するコンピューティングシステムとすることができる。いくつかの実施形態では、送信側コンピューティングシステム106が電子トランザクションの資金供給に使用するために購入エンティティ102にトランザクションアカウントを発行する発行銀行などの発行金融機関の一部とすることができる。送信側コンピューティングシステム106は、購入エンティティ102および供給エンティティ104を含む電子トランザクションの一部として支払を行う際に使用するための支払データを受信することができる。支払データは支払が行われているトランザクションアカウント(例えば、クレジット、引き落とし、または他の支払カード番号、要求払預金番号、または供給エンティティ104に発行された他の形態のアカウント番号)に関連する少なくとも支払金額および主要アカウント番号を含むことができる。場合によっては、支払データが、支払が引き落とされる購入エンティティ102に発行されたアカウントに関連付けられたアカウント番号を含むこともできる。いくつかの実施形態では、送信側コンピューティングシステム106が購入エンティティ102などによって、またはPOS(point of sale)装置などを介して別のエンティティまたはシステムなどを介して、送信側コンピューティングシステム106に電子的に送信されるトランザクションメッセージで支払データを受信することができる。トランザクションメッセージは国際標準化機構のISO 8583またはISO 20022規格のような、金融トランザクションメッセージのやりとりを管理する1つまたは複数の規格に従ってフォーマットされた特別にフォーマットされたデータメッセージであってもよく、支払データはその中に格納されたデータ要素に含まれてもよい。
【0022】
供給エンティティ104への支払いのための処理を開始する前に、送信側コンピューティングシステム106は、受信側コンピューティングシステム108に連絡して、支払いのために供給されたトランザクションアカウントの適格性を検証することができる。受信側コンピューティングシステム108は以下でより詳細に説明するように、電子トランザクションの一部として資金を受け取るために供給エンティティ104に主要アカウント番号に関連するトランザクションアカウントを発行する、取得銀行などの取得側金融機関の一部とすることができる。送信側コンピューティングシステム106は、任意の好適な通信ネットワークおよび通信方式を使用して、受信側コンピューティングシステム108との通信チャンネルを確立することができる。いくつかの実施形態では、送信側コンピューティングシステム106が受信側コンピューティングシステム108に連絡するための通信データ(これは通信チャンネルを確立する際に使用されることができる)を所有することができる。例えば、送信側コンピューティングシステム106は主要アカウント番号に基づいて(例えば、その中に含まれるエンティティ識別番号を使用して、またはルックアップテーブルを介して)受信側コンピューティングシステム108を識別し、それに関連する通信データを識別することができる。
【0023】
他の実施形態では、調整コンピューティングシステム110が受信側コンピューティングシステム108の識別のために使用されてもよい。以下でより詳細に説明する調整コンピューティングシステム110は、送信側コンピューティングシステム106および受信側コンピューティングシステム108を含むトランザクションのための調整者として動作するように構成された第三者エンティティのシステムとすることができる。そのような実施形態では、送信側コンピューティングシステム106が主要アカウント番号またはそれに関連するデータ(例えば、エンティティ識別番号、発行者識別番号、銀行識別番号など)を調整コンピューティングシステム110に提供することができる。調整コンピューティングシステム110は例えばルックアップテーブルを介して、それに関連する受信側コンピューティングシステム108を識別し、受信側コンピューティングシステム108との通信チャンネルを確立するための通信データを送信側コンピューティングシステム106に提供することができる。
【0024】
通信チャンネルが確立されると、送信側コンピューティングシステム106は、支払データにおいて供給された主要アカウント番号を、受信側コンピューティングシステム108に電子的に送信することができる。次に、受信側コンピューティングシステム108は、その主要アカウント番号に関連付けられたトランザクションアカウントがあるかどうか、およびトランザクションアカウントが支払トランザクション内の資金の受領に適格であるかどうかを識別することができる。そのようなトランザクションアカウントがないか、またはトランザクションアカウントが適格でない場合、受信側コンピューティングシステム108はそれに応じて送信側コンピューティングシステム106に通知することができ、それは、そのメッセージを購入エンティティ102に中継することができ、トランザクションは停止される。次いで、購入エンティティ102は、供給エンティティ104から新しいアカウント番号を取得するか、またはアカウント番号のタイプミスを訂正するなど、元の主要アカウント番号を使用してトランザクションを再試行することに進むことができる。トランザクションアカウントが存在し、有効である場合、受信側コンピューティングシステム108はそれに応じて送信側コンピューティングシステム106に通知することができ、それによって、暗号監査可能トランザクションのプロセスを開始することができる。
【0025】
送信側コンピューティングシステム106は最初に、トランザクションに対する支払要求を生成することができる。支払要求は支払金額の支払いが主要アカウント番号に関連付けられたトランザクションアカウントに対して行われるべきであることを示すために、送信側コンピューティングシステム106によって生成される要求であってもよい。支払要求は、少なくとも支払トランザクションの支払データを含むことができる。一実施形態では、支払データが支払要求に格納される単一の参照値(基準値)としてフォーマットされてもよい。そのような実施形態では、送信側コンピューティングシステム106が支払データへのハッシュアルゴリズムの適用、または抽象構文表記(ASN.1)の使用などを介して、支払データの参照値を生成することができる。次いで、送信側コンピューティングシステム106は、確立された通信チャンネルを使用して、参照値を含む支払要求を受信側コンピューティングシステム108に転送することができる。いくつかの実施形態では送信側コンピューティングシステム106はまた、支払要求内に一意の識別子を含むことができ、これは送信側コンピューティングシステム106と、その識別のためにトランザクションに関連付けられた受信側コンピューティングシステム108との間のすべての通信に含まれることができる。
【0026】
受信側コンピューティングシステム108は支払要求を受信することができ、その中に含まれる参照値を検証することができる。参照値の検証は期待トランザクションの支払データ(例えば、トランザクションの購入エンティティ102との合意に基づいて供給エンティティ104によって供給されたのと同じ主要アカウント番号および支払額)を使用して、受信側コンピューティングシステム108によって参照値を生成することと、生成された参照値を支払要求に含まれる参照値と比較することとを含むことができる。確認が失敗した場合、受信側コンピューティングシステム108はそれに応じて送信側コンピューティングシステム106に通知し、トランザクションを中止することができる。
【0027】
確認が成功した場合、いくつかの実施形態では、受信側コンピューティングシステム108がそれに応じて、受信側コンピューティングシステム108によって生成された参照値を含むことができる通知を送信側コンピューティングシステム106に提供することができる。支払要求の確認が成功すると、受信側コンピューティングシステム108は、調整コンピューティングシステム110にトランザクションを通知することができる。通知は、送信側コンピューティングシステム106から受信された支払要求と、受信側コンピューティングシステム108によって生成されたデジタル署名とから構成することができる。デジタル署名は任意の好適な暗号アルゴリズムを介して生成されてもよく、受信側コンピューティングシステム108に関連付けられた秘密鍵の使用を介して生成されてもよく、秘密鍵は暗号鍵対の一部であってもよく、調整コンピューティングシステム110は対応する公開鍵を所有してよい。一実施形態では、デジタル署名は、秘密鍵を使用して、受信側コンピューティングシステム108による支払要求の署名を介して生成することができる。
【0028】
調整コンピューティングシステム110は、署名された支払要求を受信することができる。
いくつかの実施形態では、調整コンピューティングシステム110が支払要求上のデジタル署名を検証するように構成されてもよい。そのような実施形態では、デジタル署名がデジタル署名を生成するために使用される秘密鍵に対応する公開鍵の使用を介して検証されてもよく、デジタル署名はデジタル署名に関連する任意の好適なアルゴリズムを使用して検証されてもよい。これは、署名を生成するために使用されるアルゴリズム、使用される公開鍵のタイプ、および鍵対を生成するために使用されるアルゴリズムに基づいて変化してよい。検証に失敗した場合、調整コンピューティングシステム110は受信側コンピューティングシステム108に通知し、トランザクションの処理を停止することができる。
【0029】
検証が成功した場合、調整コンピューティングシステム110は署名された支払要求を格納することができ、トランザクションの処理および決済のために(例えば、受信側コンピューティングシステム108および/または送信側コンピューティングシステム106によって)支払われるべき料金の1つまたは複数の料金値を識別することができる。調整コンピューティングシステム110は、トランザクションの受領アドレスを識別することもできる。受領アドレスはトランザクションに関連付けられた一意の数値であってもよく、受領アドレスは以下でより詳細に論じられるように、トランザクションに関連する通信の識別のために、関連するシステムのそれぞれによって使用されてもよく、その監査において使用されてもよい。調整コンピューティングシステム110は受信側コンピューティングシステム108に返されるメッセージに、識別された料金値および受領アドレスを含めることができる。
調整コンピューティングシステム110はメッセージにデジタル署名するように構成することができ、デジタル署名は、調整コンピューティングシステム110に関連する暗号鍵対の秘密鍵を使用して生成することができる。
【0030】
受信側コンピューティングシステム108は、1つまたは複数の料金値、受領アドレス、およびデジタル署名を含むメッセージを、調整コンピューティングシステム110から受信することができる。いくつかの実施形態では、受信側コンピューティングシステム108が調整コンピューティングシステム110によって使用される秘密鍵に対応する公開鍵を使用することなどによって、デジタル署名を検証することができる。それは例えば、調整コンピューティングシステム110との登録処理の一部として受信側コンピューティングシステム108によって受信される。次に、受信側コンピューティングシステム108は、受領要求を生成することができる。受領要求は、確立された通信チャンネルを介して送信側コンピューティングシステム106に提出され、少なくともトランザクションの参照値、受領アドレス、1つまたは複数の料金値、および調整コンピューティングシステムのデジタル署名を含むことができる。いくつかの例では、受信側コンピューティングシステム108が支払トランザクションのプロセスの一部として、受信側コンピューティングシステム108への料金の支払いなどのために、1つまたは複数の追加の料金値を追加することができる。
【0031】
送信側コンピューティングシステム106は受領要求を受信し、その中に含まれるデータを検証することができる。例えば、送信側コンピューティングシステム106は上述したように、トランザクション参照値の精度を検証し、適度なコンピューティングシステムのデジタル署名を検証することができる。次いで、送信側コンピューティングシステム106は、確認の結果および1つまたは複数の料金値などに基づいて、受領要求を受け入れるべきか拒否すべきかを判定することができる。例えば、送信側コンピューティングシステム106は(例えば、登録処理中に)調整コンピューティングシステム110と受信側コンピューティングシステム108との間、および/または購入エンティティ102と供給エンティティ104との間で事前に確立された合意を超える可能性があるなど、課金される過度の料金のためにトランザクションを拒否することができる。
【0032】
送信側コンピューティングシステム106が受領要求に同意した場合、送信側コンピューティングシステム106は、その同意の標示を受信側コンピューティングシステム108に返すことができる。この標示は、送信側コンピューティングシステム106に関連する暗号鍵対の秘密鍵の使用などによって、送信側コンピューティングシステム106によって生成された少なくとも1つのデジタル署名を含むことができる。デジタル署名は少なくともトランザクション参照値および/または受領アドレスに基づいて生成されてもよいが、1つまたは複数の料金値に基づいて生成されて、指示された料金を支払うための合意を直接的に承認してもよいし、または代替的に生成されてもよい。そのようなデータは、デジタル署名され、次いで、確立された通信チャンネルを使用して受信側コンピューティングシステム108に電子的に送信されるメッセージに含まれてもよい。
【0033】
受信側コンピューティングシステム108は送信側コンピューティングシステム106から署名済みメッセージを受信することができ、これは、送信側コンピューティングシステム106が受信側コンピューティングシステム108に支払値および料金値の支払を行うことに同意することを示すことができる。次に、受信側コンピューティングシステム108はトランザクションの確認のためにブロックチェーンに含めるために、ブロックチェーンネットワーク112にトランザクションを提出することができる。ブロックチェーンネットワーク112は複数のノード114から構成されてもよく、ノード114はそれぞれ、ブロックチェーンに追加するための新しいブロックを生成するように構成され、ブロックチェーンは当業者には明らかな従来の方法およびシステムを使用して他のノード114によって検証される。いくつかの実施形態では送信側コンピューティングシステム106、受信側コンピューティングシステム108、および/または調整コンピューティングシステム110はノード114とすることができる。
【0034】
ブロックチェーンネットワーク112内のノード114に提出されるトランザクション値は、少なくとも、トランザクションの参照値、受領アドレス、および送信側コンピューティングシステムのデジタル署名を含むことができる。トランザクション値は、生成され、検証され、ブロックチェーンに追加される新しいブロックに含まれる1組のトランザクション値全てに含めることができる。ブロックチェーンは、複数のブロックから構成されてもよく、各ブロックヘッダと、1組のトランザクション値とを含む。ブロックヘッダは、タイムスタンプと、前のブロックへの参照と、それぞれのブロックに含まれる一組のトランザクション値への参照とを含むことができる。例示的な実施形態では、前のブロックへの参照が、そのそれぞれのブロックの前のブロックに最も最近に追加されたブロック(これは例えば、そのブロックヘッダに含まれるタイムスタンプを介して識別される)を参照することができ、その最も最近に追加されたブロック内のブロックヘッダのハッシュ化を介して生成されたハッシュ値とすることができる。ブロックに含まれる一組のトランザクション値への参照は同様に、そのブロックに含まれる一組のトランザクション値のハッシュ化を介して生成されてもよい。場合によっては、参照は、1つまたは複数の好適なハッシュアルゴリズムを使用して一組のトランザクション値に基づいて生成されたマークルツリーの根であってもよい。ブロックヘッダ内に参照を含めることはブロックチェーンの不変性および暗号監査能力を保証することができ、変更されたトランザクション値は、その結果としてそのブロックヘッダに対する不正確な参照を生じ、さらにブロックチェーンに追加されたすべての後続のブロックのブロックヘッダ内の不正確な参照を生じさせることになるため、即座に識別されることになる。さらに、複数のノードにわたるブロックチェーンの伝播は、トランザクション値の改竄をさらに禁止する。
【0035】
トランザクションのトランザクション値がブロックチェーンに追加されると、送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110はそれぞれ、トランザクション参照値を検証し、コンピューティングシステムのデジタル署名を送信してトランザクション値の真正性および正確性を保証することによってトランザクション値を検証することができる。検証されると、送信側コンピューティングシステム106は購入エンティティ102に発行されたトランザクションアカウントから引き落として、受信側コンピューティングシステム108は、供給エンティティ104に発行されて主要アカウント番号に関連付けられたトランザクションアカウントに入金する。
【0036】
トランザクションのプロセスに続いて、送信側コンピューティングシステム106と受信側コンピューティングシステム108との間で決済を実行することができる。場合によってはネット決済を実行することができ、そこでは調整コンピューティングシステム110がある期間(例えば、毎日)にわたって、すべての送信側コンピューティングシステム106とそれに登録された受信側コンピューティングシステム108との間で支払いの会計を行うことができ、期間が満了するとネットポジションの決済を開始することができ、それぞれのシステムはそのネットポジションに従って、調整者に支払いを行うか、またはそこから支払いを受け取ることができる。経時的なトランザクションおよび正味の決済を説明するための方法は、当業者には明らかであろう。
【0037】
いくつかの実施形態では、調整コンピューティングシステム110が、処理されたトランザクションへのその関与および実行されるべき決済の介在物を検証するように構成されてもよい。そのような実施形態では、調整コンピューティングシステム110が決済受領を生成するように構成されてもよい。決済受領は、少なくとも、トランザクション参照値と、受領アドレスと、および調整コンピューティング装置によって生成されるデジタル署名(これは、トランザクション参照値および受領アドレスに基づいて生成されてよいし、調整コンピューティングシステム110によって以前に生成されたデジタル署名であってよい)とを含んでよい。決済受領はブロックチェーンネットワーク112内のノード114に提出され、それに追加されてもよく、次いで、(例えば、トランザクションごとに、送信側コンピューティングシステム106および受信側コンピューティングシステム108が独立して決済を実行するのとは対照的に)調整コンピューティングシステム110によって決済が実行されることを確認するために、送信側コンピューティングシステム106および受信側コンピューティングシステム108によって検証されてもよい。
【0038】
本明細書で説明される方法およびシステムは、2つのエンティティが、デジタル署名と調整コンピューティングシステム110とブロックチェーンの使用とによって完全な暗号監査能力がある支払トランザクションに関与することを可能にすることができる。ブロックチェーンはトランザクションを検証する機能を各エンティティに提供することができ、そのようなデータはまた、各エンティティ間のトランザクションの永久記録として動作するように不変である。さらに、ブロックチェーンはトランザクションへの参照のみを含むので、トランザクションデータは任意のトランザクションに関与する当事者のみがそのようなデータを検証することができるように、また、どのエンティティも、それらが当事者ではない任意のトランザクションに関与するエンティティを識別することができないように、匿名のままであってもよい。したがって、ブロックチェーンはエンティティが関与するトランザクションの完全な機密性を維持しながら、本明細書で説明する方法を使用してエンティティに完成暗号監査能力を提供する不変記録として動作する。
【0039】
処理サーバ
図2は、システム100における処理サーバ200の一実施形態を示す。
図2に示される処理サーバ200の実施形態は例示としてのみ提供され、本明細書で説明されるような機能を実行するのに適した処理サーバ200の考えられるすべての構成を網羅するものではないことが、当業者には明らかであろう。例えば、
図8に示され、以下でより詳細に説明されるコンピュータシステム800が、処理サーバ200の好適な構成であってもよい。処理サーバ200は送信側コンピューティングシステム106、受信側コンピューティングシステム108、および/または調整コンピューティングシステム110の一部とすることができ、またはそれらを備えることができる。したがって、送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110のそれぞれによって実行される機能は以下で説明するように、処理サーバ200の構成要素によって実行することができ、各システムは、それに関連する機能を実行するための処理サーバ200を含むか、またはそれから構成することができる。
【0040】
処理サーバ200は、受信装置202を含むことができる。受信装置202は、1つまたは複数のネットワークプロトコルを介して1つまたは複数のネットワーク上でデータを受信するように構成され得る。いくつかの例では、受信装置202が無線周波数、ローカルエリアネットワーク、無線エリアネットワーク、セルラ通信ネットワーク、Bluetooth、インターネットなどの1つまたは複数の通信方法を介して、購入エンティティ102、供給エンティティ104、送信側コンピューティングシステム106、受信側コンピューティングシステム108、調整コンピューティングシステム110、ノード114、および他のシステムおよびエンティティからデータを受信するように構成され得る。いくつかの実施形態では、受信装置202が、異なるネットワークを介してデータを受信するための異なる受信装置(ローカルエリアネットワークを介してデータを受信するための第1の受信装置、およびインターネットを介してデータを受信するための第2の受信装置など)などの複数の装置から構成されてもよい。
【0041】
受信装置202は電子的に送信されたデータ信号を受信することができる。ここで、データは、データ信号上に重畳されるか、さもなければ符号化され、受信装置202によるデータ信号の受信により復号され、解析され、読み取られ、またはさもなければ取得され得る。いくつかの例では、受信装置202は、受信されたデータ信号を解析してその上に重畳されたデータを取得するための解析モジュールを含んでもよい。例えば、受信装置202は、受信されるデータ信号を受信し、それを処理装置によって実行される機能用に使用可能な入力に変換して、本明細書に記載された方法およびシステムを実行するよう構成された解析プログラムを含んでもよい。受信装置202は、ISO 8583またはISO 20022規格などの1つまたは複数の規格に従ってフォーマットされたトランザクションメッセージ(これは購入エンティティ102および/または供給エンティティ104によって提出され得る)であり得る、支払データと重畳された又はさもなければ符号化されたデータ信号を受信するように構成され得る。受信装置202はまた、送信側コンピューティングシステム106、受信側コンピューティングシステム108、または調整コンピューティングシステム110によって電子的に送信することができるような、アカウント検証要求および確認と重畳された又はさもなければ符号化されたデータ信号を受信するように構成することもできる。受信装置202はさらに、送信側コンピューティングシステム106によって電子的に送信されるデータ信号(これは支払要求および受領メッセージと重畳されるか、または他の方法で符号化することができる)を受信するように構成することができる。また、受信装置202は、支払確認、支払要求、および受領メッセージと重畳されるか又は他の方法で符号化することができる、受信側コンピューティングシステム108によって電子的に送信されたデータ信号を受信するように構成することもできる。また、受信装置202は、トランザクションの決済に関連する支払要求およびデータメッセージに対する応答と重畳されるか、または他の方法で符号化することができる、調整コンピューティングシステム110によって電子的に送信されたデータ信号を受信するように構成することもできる。受信装置202はまた、トランザクションおよび決済受領の確認および監査に使用するため等に、ブロックチェーンデータと重畳されることができるか又はさもなければ符号化することができる、ノード114によって電子的に送信されるデータ信号を受信するように構成されてもよい。
【0042】
処理サーバ200はまた、通信モジュール204を含んでもよい。通信モジュール204は、モジュール、エンジン、データベース、メモリ、および本明細書で説明される機能を実行する際に使用するための処理サーバ200の他の構成要素の間でデータを送信するように構成され得る。通信モジュール204は、1つまたは複数の通信種別から構成され、コンピューティング装置内の通信のために様々な通信方法を利用することができる。例えば、通信モジュール204は、バス、接点ピンコネクタ、配線等から構成されてもよい。いくつかの実施形態では、通信モジュール204はまた、処理サーバ200の内部構成要素と、外部接続データベース、表示装置、入力装置などの処理サーバ200の外部構成要素との間で通信するように構成されてもよい。処理サーバ200はまた、処理装置を含んでもよい。当業者には明らかなように、処理装置は、本明細書で説明する処理サーバ200の機能を実行するように構成することができる。いくつかの実施形態では、処理装置が問い合わせモジュール216、署名モジュール218、生成モジュール220、検証モジュール214など、処理装置の1つまたは複数の機能を実行するように特別に構成された複数のエンジンおよび/またはモジュールを含むことができ、かつ/またはそれらから構成することができる。本明細書で使用される「モジュール」という用語は、入力を受信し、入力を使用して1つまたは複数の処理を実行し、出力を提供するように特にプログラムされたソフトウェアまたはハードウェアとすることができる。様々なモジュールによって実行される入力、出力、及び処理は、本開示に基づいて当業者には明らかであろう。
【0043】
処理サーバ200は、アカウントデータベース206を含むことができる。アカウントデータベース206は、好適なデータ記憶フォーマットおよびスキーマを使用して、複数のアカウントプロファイル208を記憶するように構成されてもよい。
アカウントデータベース206は、そこに格納された構造化データセットの格納、識別、修正、更新、アクセス等のために構造化照会言語を利用するリレーショナルデータベースであってもよい。
それぞれのアカウントプロファイル208は1つまたは複数のトランザクションアカウントに関連するデータを格納するように構成された構造化データ集合とすることができ、その中に含まれるデータは、処理サーバ200によって実行される機能に基づくことができる。アカウントプロファイル208は、関連するアカウント番号、残高および信用情報、通信情報などを含むことができる。例えば、送信側コンピューティングシステム106は送信側コンピューティングシステム106によって発行されたトランザクションアカウントのためのアカウントプロファイル208を格納することができ、これは残高および信用データを含むことができ、また、受信側コンピューティングシステム108に発行されたトランザクションアカウントのためのアカウントプロファイル208を格納することもでき、これは関連する受信側コンピューティングシステム108との通信を確立するための通信データを含むことができる。
【0044】
処理サーバ200はまた、1つ以上の入力装置210を含み得るか、またはさもなければそれとインタフェースされ得る。入力装置210は処理サーバ200の内部にあってもよいし、処理サーバ200の外部にあってもよく、データを送受信するための1つ以上の接合構造(例えば、有線又は無線)を介してそれに接続されてもよい。入力装置210は処理サーバ200のユーザから入力を受信するように構成されてもよい。それは、それに応じて処理するために、処理サーバ200の別のモジュールまたはエンジンに(例えば、通信モジュール204を介して)提供されてもよい。入力装置210は、キーボード、マウス、クリックホイール、スクロールホイール、マイクロホン、タッチスクリーン、トラックパッド、カメラ、光学撮像装置など、本明細書で説明する機能を実行するための入力を受信するのに適した任意の種類の入力装置を含むことができる。入力装置210は例えば、主要アカウント番号、支払額、料金値、他のアカウント番号などの支払データの入力を受信するように構成されてもよく、これらは、本明細書で説明されるように、処理サーバ200の機能を実行する際に使用されてもよい。
【0045】
処理サーバ200は、問い合わせモジュール216を含むことができる。問い合わせモジュール216は、情報を識別するためにデータベース上で照会を実行するように構成することができる。問い合わせモジュール216は1つまたは複数のデータ値またはクエリ文字列を受信することができ、アカウントデータベース206などの指示されたデータベースに基づいてクエリ文字列を実行して、その中に格納された情報を識別することができる。そして、問い合わせモジュール216は、特定した内容を適宜、処理サーバ200の適切なエンジンに出力する。問い合わせモジュール216は例えば、トランザクションアカウント適格性の検証、受信側コンピューティングシステム108の識別、通信データの識別などに使用するためのアカウントプロファイル208を識別するために、アカウントデータベース上で照会を実行することができる。
【0046】
処理サーバ200はまた、検証モジュール214を含んでもよい。検証モジュール214は、本明細書で説明される機能に確認して、処理サーバ200のためのデータ検証を実行するように構成され得る。検証モジュール214は入力として命令を受け取り、命令に従ってデータを検証し、検証の結果を処理サーバ200の他のモジュールまたはエンジンに出力することができる。場合によっては、入力が検証に使用されるデータを含むことができる。他の場合には、検証モジュール214が検証に使用されるデータを(例えば、問い合わせモジュール216に指示することによって)識別するように構成されてもよい。検証モジュール214は例えば、本明細書で説明するように、送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110の機能中に、デジタル署名、トランザクション参照値、料金値、決済受領、および受領アドレスを検証するように構成することができる。
【0047】
処理サーバ200はまた、署名モジュール218を含んでもよい。署名モジュール218は、本明細書で説明される処理サーバ200の機能を実行する際に使用するためのデジタル署名を生成するように構成され得る。署名モジュール218は、入力として署名されるデータを受信するように構成されてもよく、好適な1つまたは複数のアルゴリズムを使用してデータのデジタル署名を生成してもよく、デジタル署名を処理サーバ200の他のモジュールまたはエンジンに出力してもよい。いくつかの実施形態では、署名モジュール218がデジタル署名の生成に使用するアルゴリズムおよび/または暗号キーを入力として受信することができる。他の実施形態では、署名モジュール218が処理サーバ200に格納されたデータを識別するためのクエリを実行するように問い合わせモジュール216に命令することなどによって、デジタル署名を生成する処理中にそのようなデータを識別するように構成されてもよい。署名モジュール218は、支払要求、受領要求、および本明細書で説明されるような暗号的に監査可能なトランザクションのための支払金額および料金の受領の標示などの他のデータ上でデジタル署名を生成するように構成され得る。
【0048】
処理サーバ200はまた、生成モジュール220を含んでもよい。生成モジュール220は本明細書で説明されるように、処理サーバ200の機能を実行する際に使用するためのデータを生成するように構成されてもよい。生成モジュール220は入力として命令を受け取り、命令されたようにデータを生成し、生成されたデータを処理サーバ200の別のモジュールまたはエンジンに出力することができる。例えば、生成モジュール220は、支払要求、一意の識別子,トランザクション参照値、受領要求、受領アドレス、支払受領、決済受領、および本明細書で説明する送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110の機能を実行する際に使用される他のデータおよびデータメッセージを生成するように構成することができる。
【0049】
処理サーバ200はまた、送信装置222を含んでもよい。送信装置222は、1つ以上のネットワークプロトコルを介して1つ以上のネットワーク上でデータを送信するように構成されてもよい。いくつかの例では、送信装置222が1つまたは複数の通信方法、ローカルエリアネットワーク、ワイヤレスエリアネットワーク、セルラ通信、ブルートゥース、無線周波数、インターネットなどを介して、購入エンティティ102、供給エンティティ104、送信側コンピューティングシステム106、受信側コンピューティングシステム108、調整コンピューティングシステム110、ノード114、および他のエンティティにデータを送信するように構成され得る。いくつかの実施形態では、送信装置222が異なるネットワークを介してデータを送信するための異なる送信装置(ローカルエリアネットワークを介してデータを送信するための第1の送信装置、およびインターネットを介してデータを送信するための第2の送信装置など)等の複数の装置から構成されてもよい。
【0050】
送信装置222は、受信側コンピューティング装置によって解析され得るデータが重畳されたデータ信号を電子的に送信することができる。いくつかの例では、送信装置222は、重畳する、符号化する、または伝送に適したデータ信号にデータを成形(フォーマット)するための1つまたは複数のモジュールを含むことができる。送信装置222は、アカウント検証要求および確認と重畳されたまたはさもなければ符号化されたデータ信号(これは送信側コンピューティングシステム106、受信側コンピューティングシステム108、または調整コンピューティングシステム110によって電子的に送信されることができる)を電子的に送信するように構成することができる。送信装置222はさらに、支払要求および受領メッセージと重畳されるか、または他の方法で符号化することができる、送信側コンピューティングシステム106からのデータ信号を電子的に送信するように構成することができる。また、送信装置222は、支払確認、支払要求、および受領メッセージと重畳される、または他の方法で符号化することができるデータ信号を、受信側コンピューティングシステム108から電子的に送信するように構成することもできる。送信装置222はまた、トランザクションの決済に関連する支払要求およびデータメッセージに対する応答と重畳されるか、または他の方法で符号化することができる、調整コンピューティングシステム110からのデータ信号を電子的に送信するように構成することもできる。送信装置222はまた、データ信号(これはそれに関連するブロックチェーンに追加するために、トランザクション値および/または決済受領メッセージと重畳されるか、またはその他の方法で符号化することができる)をノード114に電子的に送信するように構成されてもよい。
【0051】
処理サーバ200はまた、メモリ224を含んでもよい。メモリ224は、公開鍵および秘密鍵、対称鍵など、本明細書で説明される機能を実行する際に処理サーバ200によって使用されるデータを記憶するように構成され得る。メモリ224は、適切なデータ成形方法およびスキーマを使用してデータを記憶するように構成されてもよく、読出し専用メモリ、ランダムアクセスメモリなどの任意の適切なタイプのメモリであってもよい。メモリ224は例えば、暗号鍵およびアルゴリズム、通信プロトコルおよび規格、データフォーマット規格およびプロトコル、プロセッシング装置のモジュールおよびアプリケーションプログラムのためのプログラムコード、ならびに当業者に明らかであるように、本明細書で開示される機能の性能において処理サーバ200によって使用されるのに適し得る他のデータを含み得る。いくつかの実施形態では、メモリ224がその中に格納された構造化データセットの格納、識別、修正、更新、アクセスなどのために構造化クエリ言語を利用するリレーショナルデータベースから構成されてもよく、またはさもなければリレーショナルデータベースを含んでもよい。メモリ224は例えば、ブロックチェーンデータ、受信側コンピューティングシステム108および通信データを受信するためのルックアップテーブル、暗号鍵対またはデジタル署名を生成するための暗号化アルゴリズム、秘密鍵および公開鍵などを格納するように構成され得る。
【0052】
トランザクションアカウントの識別及び確認のための方法
図3は暗号的に監査可能なトランザクション内の資金を受け取り、その適格性を確認する際に使用するためのトランザクションアカウントを識別するためのシステム100内の処理を示す。
【0053】
ステップ302において、送信側コンピューティングシステム106の受信装置202および/または入力装置210は提案されたトランザクションに対する支払データを受信することができ、支払データは、支払が行われるべき少なくとも主要アカウント番号を含む。ステップ304において、送信側コンピューティングシステム106の問い合わせモジュール216は、送信側コンピューティングシステム106のアカウントデータベース206または他の記憶装置上でクエリを実行して、主要アカウント番号に関連付けられた受信側エンティティを識別することができる。送信側コンピューティングシステム106はエンティティを成功裏に識別することができるが、エンティティとの通信を確立する際に使用するために、エンティティの受信側コンピューティングシステム108に関連付けられた現在の経路指定番号を有していなくてもよい。
【0054】
ステップ306において、送信側コンピューティングシステム106の送信装置222は、経路指定番号要求を調整コンピューティングシステム110に電子的に送信することができる。経路指定番号要求は、主要アカウント番号および/または受信エンティティのIDを含むことができる。ステップ308において、調整コンピューティングシステム110の受信装置202は、経路指定番号要求を受信することができる。ステップ310において、調整コンピューティングシステム110の問い合わせモジュール216は、アカウントデータベース206または調整コンピューティングシステム110の他のメモリ上でクエリを実行して、受信エンティティの現在の経路指定番号を識別することができる。ステップ312において、調整コンピューティングシステム110の送信装置222は、経路指定番号を送信側コンピューティングシステム106に電子的に送信することができる。
【0055】
ステップ314において、送信側コンピューティングシステム106の受信装置202は、経路指定番号を受信することができる。ステップ316において、送信側コンピューティングシステム106の送信装置222は、アカウント確認の要求を受信側コンピューティングシステム108に電子的に送信することができる。アカウント確認のための要求は、支払データの一部として供給される少なくとも主要アカウント番号を含むことができ、調整コンピューティングシステム110から受信した経路指定番号を使用して、受信側コンピューティングシステム108に提出することができる。いくつかの例では、送信側コンピューティングシステム106が経路指定番号を使用して、受信側コンピューティングシステム108との直接通信チャンネルを確立することができ、この経路指定番号を介して、アカウント確認の要求を送信することができる。ステップ318において、受信側コンピューティングシステム108の受信装置202は、アカウント確認要求を受信することができる。
【0056】
ステップ320において、受信側コンピューティングシステム108は、主要アカウント番号に関連付けられたトランザクションアカウントが、暗号的に監査可能なトランザクションを介して資金の受領に適格であるかどうかを判定することができる。受信側コンピューティングシステム108の問い合わせモジュール216はその中に格納されたアカウントデータベース206上で照会を実行し、主要アカウント番号を含むアカウントプロファイル208を識別することができる。受信側コンピューティングシステム108の検証モジュール214は、それに関連するトランザクションアカウントが資金の受領に使用する資格があることを照合することができる。ステップ322では、受信側コンピューティングシステム108の送信装置222がその受信装置202によって受信可能となる確認メッセージを送信側コンピューティングシステム106にステップ324で電子的に送信することができる。確認メッセージは、主要アカウント番号に関連付けられたトランザクションアカウントが資金を受け取る資格があることを示す。このため暗号的に監査可能なトランザクションが処理を進めることができる。
【0057】
暗号的に監査可能なトランザクションの処理
図4Aおよび
図4Bは、システム100における調整エンティティおよびブロックチェーンの処理を含む、暗号的に監査可能なトランザクションの処理を示す。
【0058】
ステップ402において、送信側コンピューティングシステム106の生成モジュール220は、処理対象のトランザクションの参照値を生成してもよい。基準価値は、トランザクションのために受信された支払データに基づいて生成されてもよく、支払データへの1つ以上のハッシュ化アルゴリズムの適用、標準化された規則を使用する支払データの変換、または他の好適な方法を介して生成されてもよい。支払データは、支払が行われるべき主要アカウント番号、支払金額、および支払が行われるべきアカウント番号、トランザクションの時間および/または日付、消費者データ、商品データ、購買注文データ、請求書データ、オファーデータ、報酬データ、ロイヤリティトランザクション、地理的位置など、データの処理および決済に使用するのに適した任意の他のデータを少なくとも含むことができる。ステップ404において、送信側コンピューティングシステム106の生成モジュール220は、少なくとも生成された参照値を含んでもよい支払要求を生成してもよい。
【0059】
ステップ406において、送信側コンピューティングシステム106の送信装置222は、生成された支払要求を、それと確立された通信チャンネルを使用して、受信側コンピューティングシステム108に電子的に送信することができる。ステップ408において、受信側コンピューティングシステム108の受信装置202は、支払要求を受信することができる。いくつかの実施形態では、受信側コンピューティングシステム108が応答メッセージを送信側コンピューティングシステム106に返すことによって、支払要求の受信を確認するように構成されてもよい。ステップ410において、受信側コンピューティングシステム108の署名モジュール218は、受信側コンピューティングシステム108に関連付けられた秘密鍵を使用して、支払要求上にデジタル署名を生成することができる。ステップ412において、受信側コンピューティングシステム108の送信装置222は、署名された支払要求を調整コンピューティングシステム110に電子的に送信することができる。
【0060】
ステップ414において、調整コンピューティングシステム110の受信装置202は、署名された支払要求を受信することができる。いくつかの実施形態では、調整コンピューティングシステム110の検証モジュール214を使用して、受信側コンピューティングシステム108に関連付けられ、デジタル署名を生成するために使用される秘密鍵に対応する公開鍵を使用するなど、支払要求上のデジタル署名を検証することができる。ステップ416において、調整コンピューティングシステム110の問い合わせモジュール216は、トランザクションを処理するための1つまたは複数の料金値(これはトランザクション、トランザクションに関与するエンティティ、または当業者には明らかな他の基準に対する支払データに基づくことができる)を識別することができる。ステップ418において、調整コンピューティングシステム110は、調整コンピューティングシステム110の問い合わせモジュール216によって実行されるか、または調整コンピューティングシステム110の生成モジュール220によって生成される照会を介して識別され得るような、トランザクションとの一意の関連付けのための受領アドレスを識別し得る。
【0061】
ステップ420において、調整コンピューティングシステム110の署名モジュール218は、少なくとも識別された料金値に基づいて生成されてもよいデジタル署名を生成してもよく、識別された料金値、受領アドレス、およびトランザクション参照値を含むメッセージに基づいて生成されてもよい。デジタル署名は、調整コンピューティングシステム110のメモリ224から(例えば、調整コンピューティングシステムの問い合わせモジュール216によって)照会することができるような、調整コンピューティングシステム110に関連する秘密鍵を使用して生成することができる。ステップ422において、調整コンピューティングシステム110の送信装置222は、少なくとも識別された料金値、受領アドレス、および生成されたデジタル署名を含むことができるトランザクションデータを受信側コンピューティングシステム108に返すことができる。
【0062】
ステップ424において、受信側コンピューティングシステム108の受信装置202は、調整コンピューティングシステム110からトランザクションデータを受信することができる。ステップ426において、受信側コンピューティングシステム108の送信装置222は、受領要求を送信側コンピューティングシステム106に電子的に送信することができる。受領要求は、少なくとも、トランザクション参照値、1つ以上の料金値、受領アドレス、および調整コンピューティングシステムのデジタル署名を含むことができる。場合によっては、受信側コンピューティングシステム108が受領要求の送信に先立って、調整コンピューティングシステムのデジタル署名を検証することができる。ステップ428において、送信側コンピューティングシステム106の受信装置202は、受領要求を受信することができる。次いで、送信側コンピューティングシステム106は(例えば、その検証モジュール214を使用して)、受領要求に含まれるデータを確認すること(例えば、トランザクション参照値が正しいことを確保すること、超過料金または未知の料金をチェックすること、適度なコンピューティングシステムのデジタル署名を検証することなど)などによって、トランザクションが進行すべきであることを検証することができる。
【0063】
ステップ430において、送信側コンピューティングシステム106の署名モジュール218は、少なくとも識別された料金値に基づいて生成されてもよく、受領要求に基づいて生成されてもよいデジタル署名を生成してもよい。デジタル署名は、送信側コンピューティングシステム106のメモリ224から(例えば、送信側コンピューティングシステムの問い合わせモジュール216によって)照会することができるような、送信側コンピューティングシステム106に関連する秘密鍵を使用して生成することができる。ステップ432において、送信側コンピューティングシステム106の送信装置222は、受信側コンピューティングシステム108に受領メッセージを電子的に送信することができる。受領メッセージは、少なくとも受領アドレスと、送信側コンピューティングシステムのデジタル署名とを含むことができる。
【0064】
ステップ434において、受信側コンピューティングシステム108の受信装置202は、送信側コンピューティングシステム106から受領メッセージを受信することができる。ステップ436において、受信側コンピューティングシステム108の生成モジュール220は、そのトランザクション用のトランザクションを生成してもよい。トランザクション値は、ブロックチェーンネットワーク112によって規定される任意の規則または標準に準拠してフォーマットされてもよく、少なくとも、トランザクションの参照値、受領アドレス、および送信側コンピューティングシステム106によって生成されたデジタル署名を含んでもよい。ステップ438において、受信側コンピューティングシステム108の送信装置222は通常の方法およびシステムを使用して、ブロックチェーンネットワーク112に関連付けられたノード114に追加するために、トランザクションを電子的に送信することができる。次いで、送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110のそれぞれは、ブロックチェーン内のトランザクション値を(たとえば、受領アドレスおよび/またはトランザクション参照値によって)自由に識別し、その中に含まれるデータを検証することができる。送信側コンピューティングシステム106および受信側コンピューティングシステム108はそれに応じてそれぞれのトランザクションアカウントを決済することができ、調整コンピューティングシステム110は、すべての関連するエンティティに対して正味の決済を実行するときにトランザクションを考慮することができる。
【0065】
暗号的に監査可能トランザクションの第1の例示的なプロセス
図5は、トランザクションの資金供給に使用されるトランザクションアカウントに関連付けられたエンティティからの支払要求の生成および提出を含む、暗号的に監査可能なトランザクションの処理のための方法500を示す。
【0066】
ステップ502において、支払データは処理サーバ(例えば、送信側コンピューティングシステム106を備える処理サーバ200)の入力装置(例えば、入力装置210)によって受信されてもよく、支払データは、少なくとも主要アカウント番号を含む。ステップ504において、主要アカウント番号は処理サーバの送信装置(例えば、送信装置222)によってコンピューティングシステム(例えば、受信側コンピューティングシステム108)に電子的に送信され得る。ステップ506において、主要アカウント番号に関連する確認がコンピュータシステムから、処理サーバの受信装置(例えば、受信装置202)によって受信され得る。
【0067】
ステップ508において、支払要求は処理サーバの送信装置によってコンピュータシステムに電子的に送信されてもよく、支払要求は少なくとも支払トランザクションに関連付けられた参照値を含む。ステップ510では、処理サーバの受信装置によってコンピューティングシステムから受領要求を受信することができ、受領要求は少なくとも参照値、受領アドレス、1つまたは複数の料金値、および第三者(たとえば、調整コンピューティングシステム110)によって生成された第1のデジタル署名を含む。
【0068】
ステップ512において、第2の署名は、少なくとも受領アドレスを使用して、処理サーバの署名モジュール(例えば、署名モジュール218)によって生成され得る。ステップ514において、少なくとも第2のデジタル署名は、処理サーバの送信装置によってコンピュータシステムに電子的に送信されてもよい。
【0069】
一実施形態では、方法500は、処理サーバの受信装置によって、支払トランザクションに関連付けられたトランザクションメッセージを受信することであって、トランザクションメッセージは1以上の規格に基づいてフォーマットされ、トランザクションメッセージは主要アカウント番号を記憶するように構成された第1のデータ要素を少なくとも含む複数のデータ要素を少なくとも含む、ことと、処理サーバのハッシュ化モジュール(例えば生成モジュール220)によって、受信されたトランザクションメッセージへ1つ以上のハッシュ化アルゴリズムを適用することに基づいて、参照値を生成することと、を更に含む。いくつかの実施形態では、方法500は更に、処理サーバの受信装置によって、ブロックチェーンネットワーク(例えばブロックチェーンネットワーク112)に関連付けられたノード(例えばノード114)からブロックチェーンデータを受信することであって、ブロックチェーンデータはブロックチェーンを含む1つ又は複数のブロックを含み、各ブロックは少なくともブロックヘッダと、1つまたは複数のトランザクション値とを含み、各トランザクション値は少なくともトランザクションアドレスと、トランザクション参照と、トランザクション署名とを含む、ことと、処理サーバの問い合わせモジュール(例えば問い合わせモジュール216)によって、受信されたブロックチェーンデータ上でクエリを実行して、含まれたトランザクションアドレスが受領アドレスに対応する特定のトランザクション値を識別することと、処理サーバの検証モジュール(例えば検証モジュール214)によって、含まれたトランザクション参照と参照値との間の対応関係、および、含まれたトランザクション署名と第2のデジタル署名との間の対応関係に少なくとも基づいて、特定のトランザクション値を検証することと、を含む。
【0070】
暗号化的に監査可能トランザクションの第2の例示的なプロセス
図6は、トランザクションにおける資金の受領のために使用されるトランザクションアカウントに関連するエンティティによる支払要求の受領および処理を含む、暗号的に監査可能なトランザクションの処理のための方法600を示す。
【0071】
ステップ602において、支払要求は第1のコンピューティングシステム(例えば、送信側コンピューティングシステム106)から処理サーバ(例えば、受信側コンピューティングシステム108を備える処理サーバ200)の受信装置(例えば、受信装置202)によって受信されてもよく、支払要求は、支払トランザクションに関連付けられた少なくとも参照値を含む。
ステップ604において、第1のデジタル署名は少なくとも受信された支払要求を使用して、処理サーバの署名モジュール(例えば、署名モジュール218)によって生成されてもよい。ステップ606において、少なくとも第1のデジタル署名および支払要求は処理サーバの送信装置(例えば、送信装置222)によって第2のコンピューティングシステム(例えば、調整コンピューティングシステム110)に電子的に送信されてもよい。
【0072】
ステップ608において、確認メッセージは処理サーバの受信装置によって第2のコンピューティングシステムから受信されてもよく、確認メッセージは少なくとも1つ以上の料金値、第2のデジタル署名、および受領アドレスを含む。ステップ610において、受領要求は処理サーバの送信装置によって第1のコンピューティングシステムに電子的に送信されてもよく、受領要求は少なくとも参照値、1つまたは複数の料金値、第2のデジタル署名、および受領アドレスを含む。
【0073】
ステップ612において、処理サーバの受信装置によって第1のコンピューティングシステムから受領メッセージを受信することができ、受領メッセージは少なくとも第3のデジタル署名を含む。ステップ614において、トランザクション値は処理サーバの送信装置によって、ブロックチェーンネットワーク(例えば、ブロックチェーンネットワーク112)に関連付けられたノード(例えば、ノード114)に電子的に送信されてもよく、トランザクション値は、少なくとも参照値、受領アドレス、および第3のデジタル署名を含む。
【0074】
一実施形態では、方法600は更に、処理サーバの受信装置によって、ブロックチェーンネットワークに関連付けられたノードからブロックチェーンデータを受信することであって、ブロックチェーンデータはブロックチェーンを含む1つまたは複数のブロックを含み、各ブロックは少なくとも、ブロックヘッダと1つまたは複数のトランザクション値とを含み、各トランザクション値は少なくとも、トランザクションアドレスと、トランザクション参照と、トランザクション署名とを含む、ことと、処理サーバの問い合わせモジュール(例えば問い合わせモジュール216)によって、受信されたブロックチェーンデータ上でクエリを実行して、含まれたトランザクションアドレスが受領アドレスに対応する特定のトランザクション値を識別することと、処理サーバの検証モジュール(例えば検証モジュール214)によって、含まれたトランザクション参照と参照値との間の対応関係、および、含まれたトランザクション署名と第3のデジタル署名との間の対応関係に少なくとも基づいて、特定のトランザクション値を検証することと、を含む。いくつかの実施形態では、方法600は更に、処理サーバのアカウントデータベース(例えばアカウントデータベース206)に、複数のアカウントプロファイル(例えばアカウントプロファイル208)を記憶することであって、各アカウントプロファイルは、少なくとも主要アカウント番号を含むトランザクションアカウントに関連する構造化データセットを含む、ことと、処理サーバの受信装置によって第1のコンピューティングシステムから検証要求を受信することであって、検証要求が少なくとも特定のアカウント番号を含む、ことと、処理サーバの検証モジュールによって、含まれた主要アカウント番号が特定のアカウント番号に対応する複数のアカウントプロファイルのうちのアカウントプロファイルを検証することと、処理サーバの送信装置によって、検証成功を示す標示を第1のコンピューティングシステムに電子的に送信することと、を更に含む。
【0075】
暗号的に監査可能トランザクションの第3の例示的なプロセス
図7は、第三者である調整エンティティによる、それに関連付けられたデータの処理を含む、暗号的に監査可能なトランザクションの処理のための方法700を示す。
【0076】
ステップ702において、支払要求はコンピューティングシステム(例えば、受信側コンピューティングシステム108)から処理サーバ(例えば、調整コンピューティングシステム110を備える処理サーバ200)の受信装置(例えば、受信装置202)によって受信されてもよく、支払要求は、少なくとも、支払トランザクションおよび第1のデジタル署名に関連付けられた参照値を含む。ステップ704において、処理サーバの問い合わせモジュール(例えば、問い合わせモジュール216)は、支払トランザクションの1つ以上の感覚値を識別するための第1のクエリと、受領アドレスを識別するための第2のクエリとを実行してもよい。ステップ706では、処理サーバの署名モジュール(例えば、署名モジュール218)によって第2のデジタル署名を生成することができる。
【0077】
ステップ708では、少なくとも1つまたは複数の料金値、受領アドレス、および第2のデジタル署名を、処理サーバの送信装置(たとえば、送信装置222)によってコンピュータシステムに電子的に送信することができる。
ステップ710において、本処理サーバの受信装置はブロックチェーンネットワーク(例えば、ブロックチェーンネットワーク112)に関連付けられたノード(例えば、ノード114)からブロックチェーンデータを受信することができ、ブロックチェーンデータはブロックチェーンを含む1つまたは複数のブロックを含み、各ブロックは少なくともブロックヘッダおよび1つまたは複数のトランザクション値からなり、各トランザクション値は、少なくともトランザクションアドレス、トランザクション参照、およびトランザクション署名を含む。
【0078】
ステップ712において、含まれるトランザクションアドレスが受領アドレスに対応する特定のトランザクションを識別するために、処理サーバの問い合わせモジュールによって、受信されたブロックチェーンデータに対してクエリが実行されてもよい。ステップ714において、特定のトランザクション値は含まれるトランザクション基準と参照値との間の少なくとも対応に基づいて、処理サーバの検証モジュール(例えば、検証モジュール214)によって確認され得る。一実施形態では、方法700が処理サーバの生成モジュール(例えば、生成モジュール220)によって、少なくとも受領アドレス、参照値、および第2のデジタル署名を含む受領エントリを生成するステップと、処理サーバの送信装置によって、生成された合受領エントリをブロックチェーンネットワークに関連付けられたノードに電子的に送信するステップとをさらに含むことができる。
【0079】
コンピュータシステムアーキテクチャ
図8は、本開示の実施形態またはその一部がコンピュータ可読コードとして実装され得るコンピュータシステム800を示す。例えば、
図1の送信側コンピューティングシステム106、受信側コンピューティングシステム108、および調整コンピューティングシステム110はハードウェア,ソフトウェア、ファームウェア、命令が格納された非一時的なのコンピュータ可読媒体、またはそれらの組合せを使用して、コンピュータシステム800内で実施することができ、1つまたは複数のコンピュータシステムまたは他の処理システム内で実施することができる。ハードウェア,ソフトウェア、またはそれらの任意の組合せは、
図3、
図4A、
図4B、および
図5〜
図7の方法を実施するために使用されるモジュールおよび構成要素を具現化することができる。
【0080】
プログラマブルロジックが使用される場合、そのようなロジックは特定の目的のコンピュータまたは特定の目的の装置(例えば、プログラマブルロジックアレイ、特定用途向け集積回路など)になるように、実行可能なソフトウェアコードによって構成された市販の処理プラットフォーム上で実行されてもよい。当業者は、開示された主題の実施形態がマルチコアのマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能とリンクされたまたはクラスタ化されたコンピュータ、ならびに実質的に任意の装置に埋め込まれ得るパーベイシブまたはミニチュアコンピュータを含む、様々なコンピュータシステム構成で実施され得ることを理解し得る。例えば、少なくとも1つのプロセッサ装置およびメモリを使用して、上記の実施形態を実施することができる。
【0081】
本明細書で説明するプロセッサユニットまたは装置は、単一のプロセッサ、複数のプロセッサ、またはそれらの組み合わせとすることができる。本明細書で論じる「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」、および「コンピュータ使用可能媒体」という用語は一般に、取外し可能な記憶ユニット818、取外し可能な記憶ユニット822、およびハードディスクドライブ812にインストールされたハードディスクなどの有形媒体を指すために使用される。
【0082】
本開示の様々な実施形態を、この例示的なコンピュータシステム800に関して説明する。この説明を読んだ後、他のコンピュータシステムおよび/またはコンピュータアーキテクチャを使用して本開示をどのように実施するかが、当業者には明らかになるであろう。動作は連続的なプロセスとして説明することができるが、動作のいくつかは実際には並列に、同時に、および/または分散環境で、および単一またはマルチプロセッサマシンによるアクセスのためにローカルまたはリモートに格納されたプログラムコードを用いて実行することができる。さらに、いくつかの実施形態では、動作の順序は、開示された主題の趣旨から逸脱することなく再構成され得る。
【0083】
プロセッサ装置804は、本明細書で説明する機能を実行するように特に構成された専用または汎用プロセッサ装置とすることができる。プロセッサ装置804は、バス、メッセージキュー、ネットワーク、マルチコアメッセージパッシングスキームなどの通信インフラストラクチャ806に接続され得る。ネットワークは本明細書で開示されるような機能を実行するのに適した任意のネットワークとすることができ、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスネットワーク(例えば、WiFi)、移動通信ネットワーク、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数(RF)、またはそれらの任意の組合せを含むことができる。他の適切なネットワークのタイプおよび構成は、当業者には明らかであろう。コンピュータシステム800はまた、メインメモリ808(例えば、ランダムアクセスメモリ、読み出し専用メモリなど)を含んでもよく、二次メモリ810を含んでもよい。二次メモリ810は、ハードディスクドライブ812と、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリなどの取り外し可能な記憶ドライブ814とを含むことができる。
【0084】
取り外し可能な記憶ドライブ814は、公知な方法で、取り外し可能な記憶ユニット818から読み取ることも、また/又は書き取ることもできる。取り外し可能な記憶ユニット818は、取り外し可能な記憶ドライブ814によって読み書きされ得る取り外し可能な記憶媒体を含み得る。例えば、取り外し可能な記憶ドライブ814がフロッピー(登録商標)ディスクドライブまたはユニバーサルシリアルバスポートである場合、取り外し可能な記憶ユニット818は、それぞれフロッピー(登録商標)ディスクまたはポータブルフラッシュドライブであってもよい。一実施形態では、取り外し可能な記憶ユニットは非一時的なコンピュータ可読記録媒体とすることができる。
【0085】
いくつかの実施形態では、二次メモリ810がコンピュータプログラムまたは他の命令をコンピュータシステム800、例えば、取り外し可能な記憶ユニット822およびインタフェース820にロードすることを可能にする代替手段を含むことができる。このような方法の例はプログラムカートリッジ及びカートリッジインタフェース(例えば、ビデオゲームシステムに見られるよう)、取り外し可能なメモリチップ(例えば、EEPROM、PROM等)及び関連するソケット、並びに他の取り外し可能な記憶ユニット822及びインタフェース820を含むことができる。
【0086】
コンピュータシステム800(例えば、メインメモリ808および/または二次メモリ810)に記憶されたデータは光学記憶装置(例えば、コンパクトディスク、デジタルバーサタイルディスク、ブルーレイディスク等)または磁気テープ記憶装置(例えば、ハードディスクドライブ)のような、任意のタイプの好適なコンピュータ可読媒体に記憶されてもよい。データは、リレーショナルデータベース、SQL(structured query language)データベース、分散データベース、オブジェクトデータベースなど、任意のタイプの適切なデータベース構成で構成することができる。好適な形態および格納の種別は、当業者には明らかであろう。
【0087】
コンピュータシステム800は、通信インタフェース824も含むことができる。通信インタフェース824は、ソフトウェア及びデータがコンピュータシステム800と外部装置との間で転送されることを可能にするように構成されてもよい。例示的な通信インタフェース824はモデム、ネットワークインタフェース(例えば、イーサネット(登録商標)カード)、通信ポート、PCMCIAスロットおよびカードなどを含むことができる。通信インタフェース824を介して転送されるソフトウェアおよびデータは当業者には明らかなように、電子信号、電磁気信号、光学信号、または他の信号形態とすることができる。信号は、信号を搬送するように構成されてもよく、ワイヤ、ケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波数リンクなどを使用して実装されてもよい通信経路826を介して伝搬してもよい。
【0088】
コンピュータシステム800は、表示インタフェース802をさらに含むことができる。表示インタフェース802は、コンピュータシステム800と外部のディスプレイ830との間でデータが転送されることを可能にするように構成されてもよい。例示的な表示インタフェース802は、高精細マルチメディアインタフェース(HDMI)、デジタルビジュアルインタフェース(DVI)、ビデオグラフィックスアレイ(VGA)などを含むことができる。ディスプレイ830は、陰極線管(CRT)ディスプレイ、液晶表示装置(LCD)、発光ダイオード(LED)ディスプレイ、容量性タッチディスプレイ、薄膜トランジスタ(TFT)ディスプレイなどを含む、コンピュータシステム800の表示インタフェース802を介して伝送されるデータを表示するための任意の好適な種類のディスプレイであってもよい。
【0089】
コンピュータプログラム媒体およびコンピュータ使用可能媒体はメモリ半導体(例えば、DRAMなど)であってもよいメインメモリ808および二次メモリ810などのメモリを指してもよい。これらのコンピュータプログラム製品は、コンピュータシステム800にソフトウェアを提供するための手段とすることができる。コンピュータプログラム(例えば、コンピュータ制御ロジック)は、メインメモリ808及び/又は二次メモリ810に記憶されてもよい。コンピュータプログラムはまた、通信インタフェース824を介して受信されてもよい。そのようなコンピュータプログラムは、実行されると、コンピュータシステム800が本明細書で論じる本方法を実施することを可能にすることができる。特に、コンピュータプログラムは、実行されると、プロセッサ装置804が本明細書で説明するように、
図3、
図4A、
図4B、および
図5〜
図7に示す方法を実施することを可能にすることができる。したがって、そのようなコンピュータプログラムは、コンピュータシステム800のプロセッサを示すことができる。本発明がソフトウェアを使用して実施される場合、ソフトウェアは、コンピュータプログラムプロダクトに格納され、取り外し可能な記憶ドライブ814、インタフェース820、およびハードディスクドライブ812、または通信インタフェース824を使用してコンピュータシステム800にロードされてもよい。
【0090】
プロセッサ装置804は、コンピュータシステム800の機能を実行するように構成された1つまたは複数のモジュールまたはエンジンを備えることができる。モジュールまたはエンジンのそれぞれはハードウェアを使用して実装することができ、場合によってはメインメモリ808または二次メモリ810に格納されたプログラムコードおよび/またはプログラムに対応するようなソフトウェアを利用することもできる。そのような場合、プログラムコードはコンピュータシステム800のハードウェアによって実行される前に、プロセッサ装置804によって(例えば、コンパイルモジュールまたはエンジンによって)コンパイルされてもよい。例えば、プログラムコードはプロセッサ装置804および/またはコンピュータシステム800の任意の追加のハードウェアコンポーネントによる実行のために、アセンブリ言語またはマシンコードなどの低級言語に翻訳されるプログラミング言語で書かれたソースコードであってもよい。コンパイルする処理は、語彙解析、前処理、構文解析、意味解析、構文指向翻訳、コード生成、コード最適化、および本明細書で開示される機能を実行するようにコンピュータシステム800を制御するのに適した低レベル言語へのプログラムコードの翻訳に適し得る任意の他の技術の使用を含み得る。当業者には、このようなプロセスの結果、コンピュータシステム800が上述の機能を実行するように一意にプログラムされた特別に構成されたコンピュータシステム800になることが明らかであろう。
【0091】
本発明による技術は、とりわけ、暗号的に監査可能なトランザクションを処理するためのシステムおよび方法を提供する。開示されたシステムおよび方法の様々な例示的な実施形態が上記で説明されるが、それらは限定的なものではなく、単に例示の目的のために提示されることが理解されるべきである。これは網羅的ではなく、開示される厳密な形態に本開示を限定するものではない。上記の教示に照らして修正および変形が可能であり、あるいは、本開示の実施から、その広さまたは範囲から逸脱することなく、修正および変形を得ることができる。