(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-12
(54)【発明の名称】プライバシーを保護する分散型支払い手段ネットワーク
(51)【国際特許分類】
H04L 9/32 20060101AFI20230605BHJP
G06F 21/64 20130101ALI20230605BHJP
G06Q 20/38 20120101ALI20230605BHJP
【FI】
H04L9/32 200C
G06F21/64
G06Q20/38 310
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022566335
(86)(22)【出願日】2021-04-20
(85)【翻訳文提出日】2022-12-23
(86)【国際出願番号】 US2021028079
(87)【国際公開番号】W WO2021221947
(87)【国際公開日】2021-11-04
(32)【優先日】2020-04-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520107951
【氏名又は名称】アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッド
【氏名又は名称原語表記】AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
【住所又は居所原語表記】200 Vesey Street, New York, NY 10285-4900 U.S.A.
(74)【代理人】
【識別番号】100083116
【氏名又は名称】松浦 憲三
(72)【発明者】
【氏名】フェレンツィ, アンドラス, エル.
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA72
(57)【要約】
マーチャント及び取引口座発行者が取引関連情報を分散型台帳に記録できるようにする、プライバシーを保護する分散型支払い手段ネットワークを提供するための様々な実施形態が開示される。特に、取引口座発行者から取引を進めるための認証を受信すると、マーチャントは、取引に関連付けられた取引データ(例えば、取引確認識別子、取引の詳細など)を分散型台帳に安全に記録できる。更に、取引に関して発行者がマーチャントに支払うと、発行者は分散型台帳に支払い確認データを記録することができる。分散型台帳に保存された記録は、第3者の介入又はプライバシーデータの共有なしに、当事者間の紛争を解決するために使用できる。
【特許請求の範囲】
【請求項1】
複数のノードを含む分散型台帳と、
前記複数のノードのうちの少なくとも一つによって実行可能な少なくとも一つのアプリケーションンと、を含み、前記複数のノードのうちの前記少なくとも一つによって実行されると、前記少なくとも一つのアプリケーションは、前記複数のノードのうちの前記少なくとも一つに、少なくとも
第1エンティティの取引を認証する第2エンティティに続いて、前記第1エンティティから認証確認データを受信することと、
前記認証確認データを検証することと、
前記認証確認データを前記分散型台帳に記載することと、
前記第2エンティティが前記取引に関連付けられた支払いを前記第1エンティティに提供した後、前記第2エンティティから支払い確認データを受信することと、
前記支払い確認データを検証することと、
前記支払い確認データを前記分散型台帳に記載することと、を行わせる、システム。
【請求項2】
前記認証確認データは、前記第2エンティティの公開キー、一つ又は複数の取引の詳細、及び前記取引に関連付けられた取引確認識別子を含むハッシュメモを含む、請求項1に記載のシステム。
【請求項3】
実行されると、前記少なくとも一つのアプリケーションが更に、前記複数のノードのうちの前記少なくとも一つに、少なくとも
前記第1エンティティから、前記認証確認データに関連付けられた一つ又は複数の要素を、前記一つ又は複数の要素の知識なしに証明するためのゼロ知識証明を受信することと、
前記非対話型ゼロ知識証明に少なくとも部分的に基づいて前記認証確認データを検証することと、を行わせる、請求項1又は2に記載のシステム。
【請求項4】
前記支払い確認データが、前記取引に関連付けられた取引確認識別子のハッシュバージョンを含む、請求項1乃至3のいずれか一項に記載のシステム。
【請求項5】
実行されると、前記少なくとも一つのアプリケーションが更に、前記複数のノードのうちの前記少なくとも一つに、少なくとも
前記第2エンティティから、前記支払い確認データに関連付けられた一つ又は複数の要素を前記一つ又は複数の要素の知識なしに証明するためのゼロ知識証明を受信することと、
前記非対話型ゼロ知識証明に少なくとも部分的に基づいて、前記支払い確認データを検証することと、を行わせる、請求項1乃至4のいずれか一項に記載のシステム。
【請求項6】
実行されると、前記少なくとも一つのアプリケーションが更に、前記複数のノードのうちの前記少なくとも一つに、少なくとも
前記取引の前記支払いが処理されたかどうかを検証するために、前記第1エンティティから要求を受信することと、
前記分散型台帳に前記支払い確認データが記載されていることを確認することと、
前記支払い確認データが前記分散型台帳にあることを前記第1エンティティに通知することと、を行わせる、請求項1乃至5のいずれか一項に記載のシステム。
【請求項7】
前記支払い確認データは、前記複数のノードによるコンセンサス合意に従って前記分散型台帳に記載される、請求項1乃至6のいずれか一項に記載のシステム。
【請求項8】
前記認証確認データは、前記複数のノードによるコンセンサス合意に従って前記分散型台帳に記載される、請求項1乃至7のいずれか一項に記載のシステム。
【請求項9】
第1エンティティに関連付けられた少なくとも一つのコンピューティングデバイスと、
前記少なくとも一つのコンピューティングデバイスによって実行可能な少なくとも一つのアプリケーションと、を含み、実行されると、前記少なくとも一つのアプリケーションは、前記少なくとも一つのコンピューティングデバイスに少なくとも、
取引認証要求を第2エンティティに送信することであって、前記取引認証要求は、前記第1エンティティと前記第2エンティティとの間の取引に関連付けられている、ことと、
前記第2エンティティから、取引確認識別子を含む前記取引の認証を受信することと、
前記取引確認識別子、前記取引に関連付けられた取引データ、及び前記第2エンティティに関連付けられた公開キーを含む取引認証メモを生成することと、
前記取引認証メモをハッシュすることと、
前記ハッシュされた取引認証メモが分散型台帳に記載されるようにすることと、を行わせる、システム。
【請求項10】
前記分散型台帳は、コンセンサス合意に従ってデータを記憶するように構成された複数のコンピューティングデバイスによってホストされる、請求項9に記載のシステム。
【請求項11】
実行されると、前記少なくとも一つのアプリケーションは更に、前記少なくとも一つのコンピューティングデバイスに、前記取引確認識別子を含む支払い取引メモが前記分散型台帳に記録されているかどうかの問い合わせに少なくとも部分的に基づいて、前記取引に関連付けられた支払いが前記第2エンティティから受領されたかどうかを少なくとも決定させる、請求項9又は10に記載のシステム。
【請求項12】
実行されると、前記少なくとも一つのアプリケーションは更に、前記少なくとも一つのコンピューティングデバイスに、前記支払い取引メモが前記分散型台帳に存在しないという決定に応答して、少なくとも前記第2エンティティからの前記支払いを要求させる、請求項11に記載のシステム。
【請求項13】
実行されると、前記少なくとも一つのアプリケーションが更に、前記少なくとも一つのコンピューティングデバイスに、前記第1エンティティの送信秘密キーを用いて前記取引認証メモに少なくとも署名させる、請求項9乃至12のいずれか一項に記載のシステム。
【請求項14】
前記ハッシュされた取引認証メモが前記分散型台帳に記載されるようにすることは、前記分散型台帳に関連付けられた複数のノードのうちの少なくとも一つのノードに、前記ハッシュされた認証メモと、前記取引認証メモに関連付けられた一つ又は複数の要素を前記一つ又は複数の要素の知識なしに証明するためのゼロ知識証明とを送信することを含む、請求項13に記載のシステム。
【請求項15】
前記取引認証メモは、前記非対話型ゼロ知識証明に少なくとも部分的に基づいて検証される、請求項14に記載のシステム。
【請求項16】
第1当事者と第2当事者との間の取引の前記第1当事者から取引認証データを受信することと、
前記取引認証データを検証することと、
コンセンサス合意に少なくとも部分的に基づいて、前記取引認証データを分散型台帳に記載することと、
前記取引に関連付けられた支払い確認データが前記分散型台帳に記録されているかどうかを決定するための支払い確認要求を受信することと、
前記支払い確認データが前記分散型台帳に記録されているかどうかを決定することと、を含む、方法。
【請求項17】
前記取引認証データは、前記取引に関連付けられた一つ又は複数の取引詳細のハッシュされたバージョン、前記第2当事者に関連付けられた公開キー、及び前記取引に固有の取引確認識別子を含む、請求項16に記載の方法。
【請求項18】
前記一つ又は複数の要素の知識なしに、前記取引認証データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を前記第1当事者から受信することと、
前記取引認証データが前記非対話型ゼロ知識証明に少なくとも部分的に基づいていることを検証することと、を更に含む、請求項16又は17に記載の方法
【請求項19】
前記取引に関連付けられた前記支払い確認データを前記第2当事者から受信することと、
前記支払い確認データを前記分散型台帳に記載することと、を更に含む、請求項16乃至18のいずれか一項に記載の方法。
【請求項20】
前記一つ又は複数の要素の知識なしに、前記支払い確認データに関連付けられた一つ又は複数の要素を証明するゼロ知識証明を前記第2当事者から受信することと、
前記非対話型ゼロ知識証明を使用して前記支払い確認データを検証することと、を更に含む、請求項19に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
本出願は、2020年4月29日に出願された「PRIVACY-PRESERVING DECENTRALIZED PAYMENT INSTRUMENT」という名称の米国特許出願第16/861,701号の利益及び優先権を主張し、その内容は参照によりその全体が本明細書に組み込まれる。
【0002】
ユーザが商品又はサービスの提供者と取引を行う場合、消費者は、支払い発行サービス(発行者など)に関連付けられた支払い手段(クレジットカードなど)を使用して、取引に関連付けられた商品又はサービスの支払いを行うことができる。この場合、ユーザは、発行者がユーザに代わって商品又はサービスの提供者に支払うことに同意するように、発行者と契約を結んでいる。通常、このような状況では、商品及びサービスの提供者は発行者から取引を開始する認証を得ることができ、発行者は取引に関連付けられた未払い残高を提供者に支払う。
【0003】
場合によっては、発行者は取引を認証するが、様々な理由で提供者への支払いを行わず、当事者間の紛争が生じることがある。紛争を解決する際には、未解決の紛争に関連する問題を完全に分析するために、例えば、第3者仲裁人、複雑なネットワーク設定、仲介者、及び金融商品ネットワークオペレーターなどの複数のリソースが必要になり得る。更に、取引データは、紛争解決に関連する様々な関係者及びリソースの間で共有され得る。そのため、消費者の個人データは、保護及びプライバシーが失われ得る。
【発明の概要】
【0004】
本開示の多くの態様は、以下の図面を参照してよりよく理解することができる。図面の構成要素は、必ずしも一定の縮尺で描かれているわけではなく、開示の原理を明確に示すことに重点が置かれている。更に、図面において、同様の参照番号は、いくつかの図を通じて対応する部分を示す。
【図面の簡単な説明】
【0005】
【
図1】本開示の様々な実施形態によるネットワーク環境の図である。
【
図2A】本開示の様々な実施形態による、
図1のネットワーク環境の一部として実装される機能の例を示すシーケンス図である。
【
図2B】本開示の様々な実施形態による、
図1のネットワーク環境の一部として実装される機能の例を示すシーケンス図である。
【
図3】本開示の様々な実施形態による、
図1のネットワーク環境の一部として実装される機能の例を示すフローチャートである。
【
図4】本開示の様々な実施形態による、
図1のネットワーク環境の一部として実装される機能の例を示すフローチャートである。
【発明を実施するための形態】
【0006】
商品及びサービスの提供者並びに取引口座発行者が取引関連情報を分散型台帳に記録できるようにする、プライバシーを保護する分散型ネットワークを提供するための様々なアプローチが開示されている。特に、取引口座発行者から取引を進める認証を受信すると、マーチャントは、取引に関連付けられた取引データ(例えば、取引確認識別子、取引詳細など)を分散型台帳に安全に記録することができる。更に、取引に関して発行者がマーチャントに支払うと、発行者は分散型台帳に支払い確認データを記録することができる。
【0007】
様々な実施形態によれば、マーチャント及び発行者によって記録されたデータは、マーチャント及び発行者が互いの公開キーを知っている秘密/公開キー対を使用して暗号化及び解読することができる。したがって、紛争が発生した場合、相手方は分散型台帳上の取引データに簡単にアクセスできる。例えば、支払いが発行者によって送信されたことをマーチャントが確認したい場合、マーチャントは支払い確認データが分散型台帳に記録されているかどうかを決定できる。したがって、支払い確認データが分散型台帳に記憶されていない場合、マーチャントは、発行者がマーチャントに支払っていないと決定し、発行者に支払いを要求することができる。更に、分散型支払い手段ネットワークのプライバシー機能により、関係者のみが対応する取引データにアクセスできる。
【0008】
図1を参照すると、様々な実施形態によるネットワーク環境100が示されている。ネットワーク環境100は、ネットワーク112を介して互いにデータ通信する複数のノード103、マーチャントシステム106、及び発行者システム109を含む。ネットワーク112は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はそれらの組み合わせを含むことができる。これらのネットワークには、有線若しくは無線構成要素、又はそれらの組み合わせが含まれ得る。有線ネットワークには、イーサネットネットワーク、ケーブルネットワーク、光ファイバーネットワーク、並びにダイヤルアップ、デジタル加入者線(DSL)、及び統合サービスデジタルネットワーク(ISDN)ネットワークなどの電話ネットワークが含まれ得る。無線ネットワークには、セルラーネットワーク、衛星ネットワーク、米国電気電子学会(IEEE)802.11無線ネットワーク(すなわち、WI-FI(登録商標))、BLUETOOTH(登録商標)ネットワーク、マイクロ波伝送ネットワーク、並びに無線ブロードキャストに依存するその他のネットワークが含まれ得る。ネットワーク112はまた、二つ以上のネットワーク112の組み合わせを含むことができる。ネットワーク112の例には、インターネット、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、及び同様のネットワークが含まれ得る。
【0009】
ノード103は、プロセッサ、メモリ、ネットワークインターフェース、及び様々な他のハードウェアを含むコンピュータシステム又はデバイスであり得る。そのようなコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、又はコンピューティング機能を提供する他のデバイスの形で具現化することができる。場合によっては、マーチャントシステム106及び発行者システム109は、ノード103であり得る。各ノード103は、分散型台帳115に記憶されたすべてのデータを含む、分散型台帳115の複製されたコピーを含むことができる。
【0010】
分散型台帳115は、複数のノード103にまたがる、同期され、最終的に整合性のあるデータストアを表し、その一部又は全部が異なる地理的又はネットワーク上の場所にあってもよい。分散型台帳115に関与する取引の記録は、分散型台帳115に記載することができる個々のノード103を接続するピアツーピアネットワークを使用して、共有又は複製することができる。取引又は記録が分散型台帳115に記録されると、記録が最終的にすべてのノード103で記録されるまで、ピアツーピアネットワーク全体で複製することができる。様々なコンセンサス方法を使用して、データが分散型台帳115に確実に記載されるようにすることができる。分散型台帳の例には、ブロックチェーン、分散ハッシュテーブル(DHT)、及び同様のデータ構造が含まれ得る。
【0011】
分散型台帳115には、様々なデータを記憶することもできる。これは、認証確認データ118、支払い確認データ121、及び/又は他の情報を含むことができる。しかし、本開示で説明する任意の他のデータは、その特定の実装においてデータの公開が許容される場合、分散型台帳115に記憶することもできる。
【0012】
認証確認データ118は、所与の取引を行うための発行者システム109による認証に続いて、マーチャントシステム106によって提供されるデータを含む。例えば、認証確認データ118は、マーチャントシステム106によって生成されたデータを含み、取引確認識別子124、取引詳細127(例えば、取引口座番号、取引口座保有者データ、取引金額など)、認証確認データ118及び/又は他のデータを暗号化するために使用できる発行者公開キー130を識別する。
【0013】
様々な実施形態によれば、認証確認データ118は、マーチャントシステム106によってハッシュアルゴリズムを使用して、ハッシュされたメモ又はハッシュされた暗号文の形態をとることができる。暗号文は、認証確認データ118の暗号化されたバージョンを表すことができる。例えば、認証確認データ118は、マーチャントシステム106に関連付けられた秘密/公開マーチャントキー対133の秘密キーを使用して暗号化することができる。マーチャントキー対133は、マーチャントシステム106、発行者システム109、及び/又はキー対を生成できる他のコンピューティングシステムによって生成することができる。
【0014】
更に、認証確認データ118は、マーチャントシステム106に関連付けられた送信キー対の秘密キーを使用して署名することができる。送信キー対は、マーチャントシステム106に固有のものとすることができ、分散型台帳115に認証確認データ118を記憶するために使用することができる。認証確認データ118は、取引が発行者システム109によって認証されたこと、及び認証がマーチャントシステム106によって受信されたことを検証するために使用することができる。例えば、発行者システム109、マーチャントシステム106、又は取引の詳細にアクセスできる他のエンティティは、認証確認データ118が分散型台帳115に記憶されているかどうかを決定することができる。認証確認データ118が分散型台帳115上に存在しない場合、マーチャントシステム106又は発行者システム109は、マーチャントシステム106が発行者システム109から取引の認証を受信しなかったと結論付けることができる。
【0015】
支払い確認データ121は、所与の取引に関してマーチャントへの未払金の支払いに続いて発行者システム109によって提供されるデータを含む。特に、支払い確認データ121は、取引に関連付けられた取引確認識別子、マーチャントキー対133のマーチャント公開キー136、及び/又は他のデータを含むことができる。支払い確認データ121を使用して、発行者が取引に関連付けられた資金の支払いをマーチャントに提供したことを確認することができる。
【0016】
様々な実施形態によれば、支払い確認データ121は、取引確認識別子及び/又は他のデータを含むハッシュされたメモ又は暗号文を含む。メモは、発行者システム109によってハッシュアルゴリズムを使用してハッシュすることができる。更に、支払い確認データ121は、発行者システム109によって知られているマーチャント公開キー136を使用して暗号化することができる。発行者キー対139は、発行者システム109、マーチャントシステム106、及び/又はキー対を生成できる他のコンピューティングシステムによって生成することができる。
【0017】
更に、支払い確認データ121は、発行者システム109に関連付けられた送信キー対の秘密キーを使用して署名することができる。支払い確認データ121は、取引が発行者システム109によって認証されたこと、及び認証がマーチャントシステム106によって受信されたことを検証するために使用することができる。例えば、発行者システム109、マーチャントシステム106、又は取引の詳細にアクセスできる他のエンティティは、所与の取引の支払い確認データ121が分散型台帳115に記憶されているかどうかを決定することができる。支払い確認データ121が分散型台帳115に存在しない場合、マーチャントシステム106又は発行者システム109は、取引に関して、発行者が未払金をマーチャントにまだ支払っていないと結論付けることができる。
【0018】
様々な実施形態によれば、様々なアプリケーション及び/又は他の機能をノード103で実行することができる。ノード103上で実行される構成要素は、例えば、分散エージェント142、検証サービス145、及び他のアプリケーション、サービス、プロセス、システム、エンジン、又は本明細書では詳細に説明しない機能を含む。
【0019】
分散エージェント142は、ノード103上の分散型台帳115に記憶することができ、分散型台帳115に関連付けられた個々のホスト又はピア(例えば、ノード103)によって実行することができるスクリプト又は他の実行可能を表すことができる。分散エージェント142によって計算が実行されると、分散型台帳115を形成する各ホスト又はピアは計算を実行し、その結果を他のホスト又はピアによって計算された結果と比較することができる。分散型台帳115を形成する十分な数のホスト又はピアが計算の結果に同意する場合、その結果は分散型台帳115に記憶することができる。分散エージェント142の例は、ETHEREUMプラットフォームで使用される「スマートコントラクト」であるが、他の分散型台帳又はブロックチェーンベースの技術が同じ又は同様の機能を提供する。
【0020】
様々な実施形態によれば、分散型エージェント142は、発行者システム109又はマーチャントシステム106によって実行される分散型台帳クライアントアプリケーション147(例えば、147a、147b)からブロードキャスト又は要求を受信することができる。ブロードキャスト又は要求は、マーチャントシステム106のDLクライアントアプリケーション147aから受信された場合は認証確認データ118を、又は発行者システム109のDLクライアントアプリケーション147bから受信された場合は支払い確認データ121を含むことができる。対応するブロードキャスト又は要求を受信すると、分散エージェント142は、所与の取引に関連付けられたデータを分散型台帳115に記載することができる。
【0021】
分散エージェント142は更に、検証サービス145に認証確認データ118又は支払い確認データ121を検証することを要求することができ、マーチャントシステム106によって認証確認データ118と共に、又は発行者システム109によって支払い確認データ121と共に送信される非対話型ゼロ知識証明150(例えば、150a、150b)を使用する。ゼロ知識証明とは、証明する当事者(例えば、マーチャント、発行者)が使用する方法であり、彼ら(例えば、証明者)が値を認識しているという事実を検証者に提供するだけで、特定の値を認識していることを検証者(例えば、検証サービス145)に対して証明できる。そのため、証明者は、検証者に提供されていない情報を所有しており、検証者は、ゼロ知識証明のステップの実行を通じて、値が証明者が述べている値であることを証明することができる。対話型ゼロ知識証明では、検証側が証明を検証するために、2者間の対話が必要である。対照的に、非対話型のゼロ知識証明は、検証者が証明者からの何らかの対話なしに証明を検証できるようにする方法である。
【0022】
本開示の非対話型ゼロ知識証明150により、検証サービス145は、認証確認データ118又は支払い確認データ121に関連付けられた取引を検証又は別の方法で検証することができ、マーチャント又は発行者が、取引に関連付けられた機密データを検証サービス145又はノード103の他のサービス又はアプリケーションに公開する必要がない。
【0023】
例えば、認証確認データ118及び支払い確認データ121はそれぞれ暗号化されてもよく、検証サービス145は、検証目的でデータを解読するために使用できる秘密キー又は公開キーへのアクセスを有していなくてもよい。したがって、マーチャントシステム106又は発行者システム109と対話することなく、検証サービス145は、非対話型ゼロ知識証明150に少なくとも部分的に基づいて要素の知識なしに、取引に関連付けられた様々な要素を検証することができる。様々な実施形態によれば、マーチャントシステム106又は発行者システム109によって提供される非対話型ゼロ知識証明150は、例えば、zk-SNARKsなどの非対話型ゼロ知識証明アルゴリズムに対応し得る。
【0024】
様々な実施形態によれば、マーチャントシステム106によって提供される非対話型ゼロ知識証明150aは、検証サービス145によって使用されて、以下を検証することができる。(1)マーチャントは、認証確認データ118(例えば、発行者公開キー130、取引詳細127、及び取引確認識別子124)を所有している。(2)マーチャントは、マーチャントキー対133のマーチャント秘密キーを所有している。(3)認証確認データ118は実際、発行者公開キー130、取引詳細127、及び取引確認識別子124を含むメモ又は暗号文のハッシュである。及び/又は(4)認証確認データ118が分散型台帳115上にまだ存在しないこと。
【0025】
同様に、発行者システム109によって提供される非対話型ゼロ知識証明150bは、以下を検証する検証サービス145によって使用され得、(1)分散型台帳115は、非対話型ゼロ知識証明150bによって提供される秘密入力を解決する認証確認データ118を含む。(2)発行者は、支払い確認データ121が取引確認識別子124のハッシュに対応するので、取引確認識別子124を所有している。及び/又は(3)支払い確認データ121は、マーチャントシステム106によって提供される認証確認データ118と同等の支払いである。
【0026】
マーチャントシステム106は、資金の支払いによる商品及びサービスの交換に関して、消費者との取引に関与するマーチャント(例えば、売り手、供給者など)に関連付けられる。発行者システム109は、消費者に代わってマーチャントに支払いを提供できる発行者に関連付けられる。このように、消費者は発行者との確立された関係を有することができ、発行者は、取引に関連付けられた商品及び/又はサービスの支払いのために消費者がマーチャントに提供できる取引口座番号を消費者に提供した。
【0027】
マーチャントシステム106は、ネットワーク112に結合できる複数のコンピューティングデバイスを表す。マーチャントシステム106は、プロセッサ及びメモリを備えた対応するコンピュータシステム又はコンピューティングデバイスを含むことができる。そのようなコンピュータシステムは、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は同様のデバイス)、モバイルコンピューティングデバイス(携帯情報端末、携帯電話、スマートフォン、ウェブパッド、タブレットコンピュータシステム、音楽プレーヤ、ポータブルゲームコンソール、電子ブックリーダー、及び同様のデバイスなど)、メディア再生デバイス(例えば、メディアストリーミングデバイス、BluRay(登録商標)プレーヤ、デジタルビデオディスク(DVD)プレーヤ、セットトップボックス、及び同様のデバイス)、ビデオゲームコンソール、又は同様の能力を備えたその他のデバイスの形で具現化することができる。
【0028】
様々な実施形態によれば、様々なアプリケーション又は他の機能がマーチャントシステム106によって実行され得る。マーチャントシステム106上で実行される構成要素は、マーチャント取引サービス153、分散型台帳(DL)クライアントアプリケーション147a、及び本明細書で詳細に説明されていない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能を含むことができる。
【0029】
マーチャント取引サービス153は、所与の取引に関する取引詳細127を含む認証要求を生成し、認証又は拒否のために発行者取引サービス159に認証要求を送信することができる。特に、消費者がマーチャントとの取引を開始し、発行者が提供する支払い手段を使用して支払うことを申し出た場合、マーチャント取引サービス153は、取引詳細127を生成することができ、支払い手段に関連付けられた取引口座番号、取引金額、取引口座所有者の詳細、及び/又は発行者取引サービス159が所定の取引を認証又は拒否するために使用できるその他の情報を含める。
【0030】
DLクライアントアプリケーション147aは、認証確認データ118が分散型台帳115に記載されることを求める要求を送信又は別の方法でブロードキャストすることができる。要求又はブロードキャストは、分散型台帳115に関連付けられたノード103によって受信することができる。例えば、DLクライアントアプリケーション147aは、認証確認データ118及び非対話型ゼロ知識証明150aを含むアプリケーションプログラミングインターフェース(API)呼び出しを行うことができる。API呼び出しは、分散エージェント142を呼び出して、認証確認データ118を検証し、認証確認データ118を分散型台帳115に記載することができる。
【0031】
また、様々なデータが、マーチャントシステム106にアクセス可能なマーチャントデータストア156に記憶される。マーチャントデータストア156は、リレーショナルデータベース、オブジェクト指向データベース、階層型データベース、ハッシュテーブル又は同様のキー値データストア、並びに他のデータストレージアプリケーション又はデータ構造を含むことができる複数のマーチャントデータストア156を表すことができる。マーチャントデータストア156に記憶されたデータは、以下に説明する様々なアプリケーション又は機能エンティティの動作に関連付けられる。このデータは、マーチャントキー対133、ゼロ知識証明150a、取引詳細127、取引確認識別子124、認証確認データ118、発行者公開キー130、及び潜在的に他のデータを含むことができる。
【0032】
マーチャントキー対133は、発行者システム109に関連付けられた取引を検証するために使用できる非対称暗号キー対に対応することができる。特に、マーチャントキー対133は、マーチャント秘密キー及びマーチャント公開キー136を含むことができる。キー対の暗号化キーは、エンティティ又はユーザが使用して、分散型台帳115に記憶されている認証確認データ118との関係を確認若しくは認証するか、又はそれを制御することができる。例えば、発行者システム109は、二つのエンティティ間の確立された関係又は合意に少なくとも部分的に基づいて、マーチャント公開キー136の知識を有することができる。マーチャント公開キー130は、マーチャントキー対133のマーチャント秘密キーを使用して、マーチャントシステム106によって解読することができる支払い確認データ121を暗号化するために使用することができる。キー対は、楕円曲線暗号(ECC)アプローチなど、様々なアプローチを使用して、又はRivest-Shamir-Adleman(RSA)アルゴリズムを使用して生成できる。
【0033】
非対話型ゼロ知識証明150aは、検証サービス145が所与の取引に関してマーチャントシステム106に知られている取引詳細を検証することを可能にする非対話型ゼロ証明知識アルゴリズムに対応することができ、マーチャントシステム106は、取引の詳細の知識を所有する以外に、検証サービス145に任意の他の情報を提供する必要がない。例えば、検証サービス145は、非対話型ゼロ知識証明150aを使用でき、以下を検証する、(1)マーチャントは、認証確認データ118(例えば、発行者公開キー130、取引詳細127、及び取引確認識別子124)を所有している。(2)マーチャントは、マーチャントキー対133のマーチャント秘密キーを所有している。(3)認証確認データ118は実際、発行者公開キー130、取引詳細127、及び取引確認識別子124を含むメモ若しくは暗号文のハッシュである。並びに/又は(4)認証確認データ118が分散型台帳115上にまだ存在しないこと。認証確認データ118を分散型台帳115にブロードキャストする際、分散型台帳クライアントアプリケーション147aは、分散型台帳115に認証確認データ118を記載する前に認証確認データ118の検証を可能にするために、非対話型ゼロ知識証明150aを更にブロードキャストすることができる。
【0034】
取引詳細127は、所与の取引に関連する様々な詳細に対応する。例えば、取引詳細127は、取引口座番号、取引金額、取引口座所有者情報、及び/又は所与の取引に関連付けられた他の詳細を含むことができる。マーチャント取引サービス153は、所与の取引の認証を要求するときに、発行者システム109によって実行される発行者取引サービス159に取引詳細127を提供することができる。
【0035】
取引確認識別子124は、発行者システム109によって生成され、発行者システム109から受信された識別子に対応し、要求された取引の認証を一意に示し、識別する。取引確認識別子124は、数値、英数字、トークン、及び/又は所与の取引の認証を一意に識別するために使用できる他のタイプの識別子を含むことができる。
【0036】
発行者公開キー130は、発行者システム109に関連付けられた発行者キー対139の一部である。特に、発行者公開キー130は、マーチャントシステム106によってブロードキャストされる分散型台帳115に記載された認証確認データ118を暗号化するために使用することができる。マーチャントシステム106による発行者公開キー130の所有は、マーチャントと発行者との間の確立された信頼関係を示すことができる。
【0037】
発行者システム109は、ネットワーク112に結合することができる複数のコンピューティングデバイスを表す。発行者システム109は、プロセッサ及びメモリを備えた対応するコンピュータシステム又はコンピューティングデバイスを含むことができる。そのようなコンピュータシステムは、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は同様のデバイス)、モバイルコンピューティングデバイス(例えば、携帯情報端末、携帯電話、スマートフォン、Webパッド、タブレットコンピュータシステム、音楽プレーヤ、ポータブルゲームコンソール、電子ブックリーダー、及び類似のデバイス)、メディア再生デバイス(例えば、メディアストリーミングデバイス、BluRay(登録商標)プレーヤ、デジタルビデオディスク(DVD)プレーヤ、セットトップボックス、及び同様のデバイス)、ビデオゲームコンソール、又は同様の機能を持つその他のデバイスの形で具現化することができる。
【0038】
様々な実施形態によれば、様々なアプリケーション又は他の機能を発行者システム109によって実行することができる。発行者システム109上で実行される構成要素は、発行者取引サービス159、分散型台帳クライアントアプリケーション147b、及び本明細書で詳細に説明されていない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能を含むことができる。
【0039】
発行者取引サービス159は、マーチャント取引サービス153から取引認証要求を受信することができ、取引要求を認証又は拒否することができる。要求は、所与の取引の取引詳細127を含むことができる。要求に含まれる取引詳細127を使用して、発行者取引サービス159は、支払い取引の進行が認証されるように、所与の支払い手段に資金又はクレジットが利用可能であることを確認することができる。更に、発行者取引サービス159は、独自のリスク分析を実行して、支払い取引を認証するか又は拒否するかを決定することができる。取引の認証時に、発行者取引サービス159は、取引確認識別子124を生成し、取引確認識別子124をマーチャント取引サービス153に送信することができる。
【0040】
DLクライアントアプリケーション147bは、支払い確認データ121が分散型台帳115に記載されるようにという要求を送信するか、又はそうでなければブロードキャストすることができる。要求又はブロードキャストは、分散型台帳115に関連付けられたノード103によって受信することができる。例えば、DLクライアントアプリケーション147bは、認証確認データ118及び非対話型ゼロ知識証明150bを含むアプリケーションプログラミングインターフェース(API)呼び出しを行うことができる。API呼び出しは、分散エージェント142を呼び出して、支払い確認データ121を検証し、支払い確認データ121を分散型台帳115に記載することができる。
【0041】
また、様々なデータが、発行者システム109にアクセス可能な発行者データストア161に記憶される。発行者データストア161は、リレーショナルデータベース、オブジェクト指向データベース、階層データベース、ハッシュテーブル又は同様のキー値データストア、並びに他のデータストレージアプリケーション又はデータ構造を含むことができる複数の発行者データストア161を表すことができる。マーチャントデータストア156に記憶されたデータは、以下に説明する様々なアプリケーション又は機能エンティティの動作に関連付けられる。このデータは、発行者キー対139、ゼロ知識証明150b、取引詳細127、取引確認識別子124、支払い確認データ121、マーチャント公開キー136、及び潜在的に他のデータを含むことができる。
【0042】
ここで、
図2A~2Bを参照すると、ネットワーク環境100の構成要素の動作の一例を提供するシーケンス
図200a、200bが示されている。
図2A~2Bのシーケンス図は、ネットワーク環境100の描写された部分の動作を実装するために使用できる多くの異なるタイプの機能構成の単なる例を提供することが理解される。別の方法として、
図2A~2Bのシーケンス図は、ネットワーク環境100内で実装される方法の要素の例を示すものとして見ることができる。特に、
図2A及び2Bのシーケンス図は、マーチャントシステム106及び発行者システム109が取引を実行し、分散型台帳115上の取引に対応する認証確認データ118及び支払い確認データ121を記録することに関連付けられた機能を示す。
【0043】
まず、ユーザは、発行者がユーザに代わってマーチャント(例えば、売り手、商品/サービスの供給者など)に支払いを行うことを可能にする発行者との取引口座を有することができる。様々な実施形態によれば、発行者及びマーチャントは、発行者による取引の認証時に発行者がマーチャントに資金を提供することをマーチャントが信頼するように、互いに合意することができる。発行者との取引口座を有するユーザが、マーチャントが提供する商品又はサービスを購入するためにマーチャントとの取引を開始するとき、ユーザは、支払いを処理するために取引口座に関連付けられた支払い手段をマーチャントに提示することができる。例えば、ユーザは、マーチャントが提供する商品又はサービスに対する支払いを要求されたときに、クレジットカード又は他のタイプの支払い手段の形でマーチャントに取引口座番号を提供することができる。
【0044】
所与の取引に関連付けられた取引口座番号を受信すると、マーチャントシステム106のマーチャント取引サービス153は、取引に関連付けられた取引詳細127を生成することができる。取引詳細127は、ユーザによって提供された取引口座番号、取引金額、取引口座所有者情報(例えば、名前、住所、電話番号など)及び/又は他の情報を含むことができる。
【0045】
ステップ203で、マーチャント取引サービス153は、取引の認証のために、発行者システム109の発行者取引サービス159に取引認証要求を送信する。例えば、マーチャント取引サービス153は、取引認証要求を生成し、ネットワーク112を介した有線又は無線接続を介して発行者取引サービス159に取引認証要求を送信することができる。他の例では、マーチャント取引サービス153は、取引認証要求を発行者取引サービス159又は発行者取引サービス159と通信している任意の他の中間システムにブロードキャストすることによって、取引認証要求を発行者取引サービス159に送信することができる。
【0046】
ステップ206で、発行者取引サービス159は、取引を認証する。特に、発行者取引サービス159は、マーチャント取引サービス153から取引認証要求を受信することができ、且つ取引要求を認証又は拒否することができる。発行者取引サービス159は、要求に含まれる取引詳細157を使用して、支払い取引の進行を認証又は許可する前に、所与の支払い手段に資金又はクレジットが利用可能であることを確認することができる。更に、発行者取引サービス159は、それ自体のリスク分析(例えば、詐欺検出など)を実行して、支払い取引を認証するか又は拒否するかを決定することができる。取引の認証時に、発行者取引サービス159は、取引確認識別子124を生成し、取引確認識別子124をマーチャント取引サービス153に送信して、取引の認証を示すことができる。
【0047】
ステップ209で、マーチャント取引サービス153は、ユーザとの取引を終了することができる。例えば、マーチャント取引サービス153は、ユーザが商品及び/又はサービスへのアクセスを提供されるように、支払いが受領されたことを示すことができる。更に、マーチャント取引サービス153は、発行者取引サービス159又は他のサービスを介して発行者システム109がマーチャントへの取引に関連付けられた支払いを行うことを要求することができる。いくつかの実施形態では、取引を終了することは、DLクライアントアプリケーション147aに、認証確認データ118を作成して分散型台帳115にブロードキャストするように指示することを更に含むことができる。
【0048】
ステップ212で、発行者システム109から取引の認証を受信すると、DLクライアントアプリケーション147aは、発行者公開キー130、取引詳細127、及び所与の取引に関連付けられた取引確認識別子124を含む認証確認データ118を生成する。様々な実施形態によれば、認証確認データ118は、マーチャントシステム106によって知られている発行者公開キー130を使用して暗号化することができる。更に、認証確認データ118は、ハッシュアルゴリズムを使用してハッシュすることができる。様々な実施形態によれば、認証確認データ118は、マーチャントシステム106に関連付けられた送信キー対の秘密キーを使用して署名される。送信キー対の公開キーは、分散型台帳115を介して公開することができ、認証確認データ118を分散型台帳115に記載するために使用することができる。
【0049】
ステップ215で、DLクライアントアプリケーション147aは、認証確認データ118及び非対話型ゼロ知識証明150aをブロードキャストするか、又はそうでなければ、認証確認データ118及び非対話型ゼロ知識証明150aを含む要求をノード103に送信し、認証確認データ118が分散型台帳115に記載されることを要求する。例えば、DLクライアントアプリケーション147aは、ネットワーク112を介した有線又は無線接続を介して、認証確認データ118及び非対話型ゼロ知識証明150を、分散型台帳115に関連付けられたノード103に送信することができる。
【0050】
ステップ218で、分散エージェント142は、認証確認データ118及び非対話型ゼロ知識証明150aを受信する。例えば、ノード103のうちの一つ又は複数は、認証確認データ118及び非対話型ゼロ知識証明150aを受信することができる。認証確認データ118及び非対話型ゼロ知識証明150aを受信すると、受信者ノード103は、認証確認データ118を分散型台帳115に記載するプロセスを開始することができる。
【0051】
ステップ221で、分散エージェント142は、検証サービス145に記載要求の検証を要求する。例えば、分散エージェント142は、非対話型ゼロ知識証明150aが分散型台帳115に記載される前に検証されるべきであることを受信時に検証サービス145に示す要求を検証サービス145に送信することができる。要求は、マーチャントシステム106によって提供される非対話型ゼロ知識証明150aを含むことができる。
【0052】
ステップ224で、検証サービス145は、マーチャントシステム106によって提供された記載要求及び対応する認証確認データ118を検証する。非対話型ゼロ知識証明150aは、検証サービス145によって使用されて、認証確認データ118に関連付けられた取引及び/又はマーチャントが機密データ(例えば、認証確認データ118の詳細)を検証サービス145に公開する必要のない取引に関連付けられた要素を検証又は別の方法で検証することができる。
【0053】
様々な実施形態によれば、マーチャントシステム106によって提供される非対話型ゼロ知識証明150aは、検証サービス145によって使用されて、以下を検証することができる。(1)マーチャントは、認証確認データ118(例えば、発行者公開キー130、取引詳細127、及び取引確認識別子124)を所有している。(2)マーチャントは、マーチャントキー対133のマーチャント秘密キーを所有している。(3)認証確認データ118は実際、発行者公開キー130、取引詳細127、及び取引確認識別子124を含むメモ又は暗号文のハッシュである。及び/又は(4)認証確認データ118が分散型台帳115上にまだ存在しないこと。
【0054】
ステップ227で、分散エージェント142は、認証確認データ118を分散型台帳115に記載させることができる。例えば、非対話型ゼロ知識証明150aに少なくとも部分的に基づく認証確認データ118の検証に続いて、対応するノード103の分散エージェント142は、分散型台帳115に認証確認データ118を記載することができる。認証確認データ118が分散型台帳115に記録されると、認証確認データ118が最終的にすべてのノード103で記録されるまで、ピアツーピアネットワークを介して複製することができる。様々なコンセンサス方法を使用して、データが分散型台帳115に確実に記載されるようにすることができる。
【0055】
ステップ230において、発行者取引サービス159は、取引に関連付けられた支払いをマーチャント口座に適用させることができる。例えば、マーチャントによる取引の認証及び取引の終了時に、発行者システム109は、取引の取引金額に関連付けられた支払いをマーチャント銀行口座又はマーチャントシステム106内のマーチャントに関連付けられた他の支払い受領エンティティに提供することができる。
【0056】
ステップ233において、マーチャントへの取引に関連付けられた資金の支払いを行うと、DLクライアントアプリケーション147bは、所与の取引に関連付けられた取引確認識別子124を使用して支払い確認データ121を生成する。様々な実施形態によれば、支払い確認データ121は、マーチャント公開キー136を使用して暗号化することができる。更に、支払い確認データ121は、ハッシュアルゴリズムを使用してハッシュすることができる。様々な実施形態によれば、支払い確認データ121は、発行者システム109に関連付けられた送信キー対の秘密キーを使用して署名される。送信キー対の公開キーは、分散型台帳115を介して公開することができ、支払い確認データ121を分散型台帳115に記載するために使用することができる。
【0057】
ステップ236で、DLクライアントアプリケーション147bは、支払い確認データ121及び非対話型ゼロ知識証明150bをブロードキャストする。例えば、DLクライアントアプリケーション147bは、支払い確認データ121及び非対話型ゼロ知識証明150bを含む要求をノード103に送信し、支払い確認データ121が分散型台帳115に記載されることを要求する。
【0058】
ステップ239で、分散エージェント142は、支払い確認データ121及び非対話型ゼロ知識証明150bを受信する。例えば、ノード103のうちの一つ又は複数は、支払い確認データ121及び非対話型ゼロ知識証明150bを受信することができ、支払い確認データ121を分散型台帳115に記載するプロセスを開始することができる。
【0059】
ステップ241で、分散エージェント142は、検証サービス145に記載要求の検証を要求する。要求は、発行者システム109によって提供される非対話型ゼロ知識証明150bを含むことができる。
【0060】
ステップ245で、検証サービス145は、発行者システム109によって提供された記載要求及び対応する支払い確認データ121を検証する。非対話型ゼロ知識証明150bは、検証サービス145によって使用されて、支払い確認データ121に関連付けられた取引及び/又は発行者が機密データ(例えば、支払い確認データ121の詳細)を検証サービス145に公開する必要なく、取引に関連付けられた要素を検証又は別の方法で検証することができる
【0061】
様々な実施形態によれば、発行者システム109によって提供される非対話型ゼロ知識証明150bは、検証サービス145によって使用されて、以下を検証することができる。(1)分散型台帳115は、非対話型ゼロ知識証明150bによって提供される秘密入力を解決する認証確認データ118を含む。(2)発行者は、支払い確認データ121が取引確認識別子124のハッシュに対応するので、取引確認識別子124を所有している。及び/又は(3)支払い確認データ121は、マーチャントシステム106によって提供される認証確認データ118と同等の支払いである。
【0062】
ステップ248で、分散エージェント142は、支払い確認データ121を分散型台帳115に記載することができる。例えば、検証サービス145に対応する分散エージェント142は、非対話型ゼロ知識証明150aに少なくとも部分的に基づいて認証確認データ118を最初に検証し、支払い確認データ121を、対応するノード103の分散型台帳115に記憶することができる。支払い確認データ121が分散型台帳115に記録されると、認証確認データ118が最終的にすべてのノード103で記録されるまで、ピアツーピアネットワークを介して複製することができる。その後、プロセスのこの部分は完了に進む。
【0063】
次に
図3を参照すると、マーチャント取引サービス153、DLクライアントアプリケーション147a、及び/又はマーチャントシステム106によって実行される他のサービスの一部の動作の一例を提供するフローチャート300が示されている。
図3のフローチャートは、マーチャント取引サービス153及びDLクライアントアプリケーション147aの図示された部分の動作を実装するために使用できる多くの異なるタイプの機能構成の例を提供するに過ぎない。
【0064】
ボックス303から開始して、マーチャント取引サービス153は、所与の取引の認証を要求する。例えば、マーチャント取引サービス153は、取引の認証のために発行者システム109の発行者取引サービス159に取引認証要求を送信する。取引認証要求は、ネットワーク112を介して有線又は無線接続を介して発行者取引サービス156に送信することができる。要求は、取引に関連付けられた取引の詳細157を含むことができる。
【0065】
ボックス306で、マーチャント取引サービス153は、発行者システム109から認証を受信し、取引を進める。認証は、ネットワーク112を介して有線又は無線接続を介して発行者システム109から受信することができる。様々な実施形態によれば、認証は、所与の取引に固有の取引確認識別子124を含むことができる。
【0066】
ボックス309で、DLクライアントアプリケーション147aは、発行者公開キー130、取引詳細127、及び所与の取引に関連付けられた取引確認識別子124を含む認証確認データ118を生成する。様々な実施形態によれば、認証確認データ118は、マーチャントシステム106によって知られている発行者秘密キー130を使用して暗号化することができる。更に、認証確認データ118は、ハッシュアルゴリズムを使用してハッシュすることができる。様々な実施形態によれば、認証確認データ118は、マーチャントシステム106に関連付けられた送信キー対の秘密キーを使用して署名される。送信キー対の公開キーは、分散型台帳115を介して公開することができ、認証確認データ118を分散型台帳115に記載するために使用することができる。
【0067】
ボックス312で、DLクライアントアプリケーション147aは、認証確認データ118及び非対話型ゼロ知識証明150aをブロードキャストする。例えば、DLクライアントアプリケーション147aは、認証確認データ118及び非対話型ゼロ知識証明150aを含む要求をノード103に送信し、認証確認データ118が分散型台帳115に記載されることを要求することができる。
【0068】
ボックス315で、マーチャント取引サービス153は、取引に関連付けられた支払いが発行者から受領されたかどうかを決定することができる。例えば、マーチャント取引サービス153は、取引に関連付けられた適切な資金がマーチャント受領口座又は、理解できるようにマーチャントに関連付けられた他のタイプの受領口座で受領されたかどうかを決定することができる。支払いが受領されたと決定された場合、プロセスは完了に進む。そうでなければ、プロセスはボックス318に進む。
【0069】
ボックス318で、DLクライアントアプリケーション147aは、分散型台帳115に記憶されるハッシュされた支払い確認データ121を決定することができる。特に、DLクライアントアプリケーション147aは、取引確認識別子124に少なくとも部分的に基づいて、ハッシュされた支払い確認データ121を生成することができる。更に、DLクライアントアプリケーション147aは、支払い確認データ121を分散型台帳に記憶するために使用された発行者の送信キー対の公開キーにアクセスできる場合がある。
【0070】
ボックス321で、DLクライアントアプリケーション147aは、支払い確認データ121が分散型台帳115に記憶されているかどうかを決定することができる。例えば、DLクライアントアプリケーション147aは、取引に関連付けられた支払い確認データ121が分散型台帳115に記憶されているかどうかを決定するために、分散エージェント142へのAPI呼び出し又は他のタイプの要求をインスタンス化することができる。要求は、支払い確認データ121、発行者に関連付けられた送信キー対の公開キー、発行者公開キー130、及び/又は任意の他のデータなどの任意の情報を含むことができ、これは、分散型台帳115上の支払い確認データ121を識別するために使用できる。支払い確認データ121が分散型台帳115に記憶されている場合、プロセスのこの部分は完了に進む。そうでなければ、プロセスはボックス324に進む。
【0071】
ボックス324で、DLクライアントアプリケーション147aは発行者に支払いを要求することができる。例えば、支払い確認データ121が分散型台帳115上に存在しない場合、発行者は取引に対して支払いを提供しなかったと仮定することができる。このように、第3者の解決又は関与なしに、マーチャントシステム106は、発行者による支払いの欠如を決定し、関与当事者に関連付けられたプライバシーデータを保持しながら、発行者からの支払いを要求することができる。その後、プロセスのこの部分は完了に進む。
【0072】
次に
図4を参照すると、発行者取引サービス159、DLクライアントアプリケーション147b、及び/又は発行者システム109によって実行される他のサービスの一部の動作の一例を提供するフローチャート400が示されている。
図4のフローチャートは、発行者取引サービス159及びDLクライアントアプリケーション147bの図示された部分の動作を実装するために使用できる多くの異なるタイプの機能構成の例を提供するに過ぎないということが理解される。
【0073】
ボックス403から始めて、発行者取引サービス159は、マーチャント取引サービス153から取引認証要求を受信する。取引認証要求は、ネットワーク112を介してマーチャントシステム106と発行者システム109との間の有線又は無線接続を介して受信することができる。取引認証要求は、取引に関連付けられた取引詳細127を含むことができる。取引詳細127は、取引口座番号、取引金額、取引口座所有者情報、及び/又は他の情報を含むことができる。
【0074】
ボックス406で、発行者取引サービス159は、取引を認証する。特に、発行者取引サービス159は、ネットワーク112を介してマーチャント取引サービス153から取引認証要求を受信することができ、取引要求を認証又は拒否することができる。要求に含まれる取引詳細157を使用して、発行者取引サービス159は、支払い取引の進行が認証されるように、所与の支払い手段に資金又はクレジットが利用可能であることを確認することができる。更に、発行者取引サービス159は、それ自体のリスク分析(例えば、詐欺検出など)を実行して、支払い取引を認証するか又は拒否するかを決定することができる。取引の認証時に、発行者取引サービス159は、取引確認識別子124を生成し、取引確認識別子124をマーチャント取引サービス153に送信して、取引の認証を示すことができる。
【0075】
ボックス409で、発行者取引サービス159は、取引に関連付けられた支払いをマーチャント口座に適用させることができる。例えば、マーチャントによる取引の認証及び取引の終了時に、発行者システム109は、取引の取引金額に関連付けられた支払いを、マーチャントの銀行口座又はマーチャントシステム106内のマーチャントに関連付けられた他の支払い受領エンティティに提供することができる。
【0076】
ステップ412で、DLクライアントアプリケーション147bは、所与の取引に関連付けられた取引確認識別子124を使用して支払い確認データ121を生成する。様々な実施形態によれば、支払い確認データ121は、発行者システム109に知られているマーチャント公開キー136を使用して暗号化することができる。更に、支払い確認データ121は、ハッシュアルゴリズムを使用してハッシュすることができる。様々な実施形態によれば、支払い確認データ121は、発行者システム109に関連付けられた送信キー対の秘密キーを使用して署名される。送信キー対の公開キーは、分散型台帳115を介して公開することができ、支払い確認データ121を分散型台帳115に記載するために使用することができる。
【0077】
ステップ415で、DLクライアントアプリケーション147bは、支払い確認データ121及び非対話型ゼロ知識証明150bをブロードキャストする。例えば、DLクライアントアプリケーション147bは、ネットワーク112を介してノード103に要求を送信することができる。要求は、支払い確認データ121と、支払い確認データ121が分散型台帳115に記載されることを要求するノード103への非対話型ゼロ知識証明150bとを含むことができる。
【0078】
ステップ418で、DLクライアントアプリケーション147bは、取引の認証が受信されたかどうかを検証することができる。特に、DLクライアントアプリケーション147bは、取引に関連付けられた認証確認データ118が分散型台帳115に記憶されているかどうかを決定するために、分散エージェント142へのAPI呼び出し又は他のタイプの要求をインスタンス化することができる。要求は、取引確認識別子124、マーチャントに関連付けられた送信キー対の公開キー、マーチャント公開キー136、及び/又は任意の他のデータなどの任意の情報を含むことができ、これは、分散型台帳115上の認証確認データ118を識別するために使用できる。その後、プロセスのこの部分は完了に進む。
【0079】
前述のいくつかのソフトウェア構成要素は、それぞれのコンピューティングデバイスのメモリに記憶され、それぞれのコンピューティングデバイスのプロセッサによって実行可能である。この点で、「実行可能」という用語は、最終的にプロセッサによって実行できる形式のプログラムファイルを意味する。実行可能プログラムの例としては、メモリのランダム・アクセス部分にロードしてプロセッサで実行できる形式のマシンコード、メモリのランダム・アクセス部分にロードしてプロセッサによって実行できるオブジェクトコードなど、適切な形式で表現できるソースコード、又は、プロセッサによって実行されるメモリのランダム・アクセス部分に命令を生成するために、別の実行可能プログラムによって解釈できるソースコードに変換できるコンパイル済みプログラムがあり得る。実行可能プログラムは、メモリの任意の部分又は構成要素に記憶でき、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、ユニバーサルシリアルバス(USB)フラッシュドライブ、メモリカード、コンパクトディスク(CD)若しくはデジタル多用途ディスク(DVD)などの光ディスク、フロッピーディスク、磁気テープ、又はその他のメモリ構成要素を含む。
【0080】
メモリは、揮発性及び不揮発性の両方のメモリ及びデータ記憶構成要素を含む。揮発性構成要素は、電力が失われるとデータ値を保持しない構成要素である。不揮発性構成要素は、電源が失われたときにデータを保持する構成要素である。したがって、メモリは、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダーを介してアクセスされるメモリカード、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ若しくは他のメモリ構成要素、又はこれらのメモリ構成要素の任意の二つ以上の組み合わせを含むことができる。更に、RAMは、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、又は磁気ランダム・アクセス・メモリ(MRAM)及び他のそのようなデバイスを含むことができる。ROMは、プログラム可能な読み取り専用メモリ(PROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、又は他の同様のメモリデバイスを含むことができる。
【0081】
本明細書に記載のアプリケーション及びシステムは、上述のように汎用ハードウェアによって実行されるソフトウェア又はコードで具現化することができるが、代わりに、専用ハードウェア又はソフトウェア/汎用ハードウェアと専用ハードウェアとの組み合わせで具現化することもできる。専用ハードウェアで具現化される場合、それぞれは、多数の技術のいずれか又は組み合わせを使用する回路又は状態マシンとして実装することができる。これらの技術には、一つ又は複数のデータ信号の適用時に様々な論理機能を実装するための論理ゲートを有する個別の論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲートアレイ(FPGA)、又はその他の構成要素などが含まれ得るが、これに限定されない。このような技術は、一般に当業者にはよく知られており、したがって、本明細書では詳細に説明しない。
【0082】
フローチャート及びシーケンス図は、本開示の様々な実施形態の一部の実装の機能及び動作を示す。ソフトウェアで具現化されている場合、各ブロックは、モジュール、セグメント、又は指定された論理機能を実装するためのプログラム命令を含むコードの一部を表すことができる。プログラム命令は、プログラミング言語で書かれた人間可読ステートメントを含むソースコード、又はコンピュータシステム内のプロセッサなどの適切な実行システムによって認識可能な数値命令を含むマシンコードの形式で具現化することができる。マシンコードは、様々なプロセスを経てソースコードから変換できる。例えば、マシンコードは、対応するアプリケーションの実行前に、コンパイラを使用してソースコードから生成することができる。別の例として、マシンコードは、インタープリターによる実行と同時にソースコードから生成することができる。他のアプローチも使用できる。ハードウェアで具現化される場合、各ブロックは、指定された論理機能(複数可)を実装するための回路又は多数の相互接続された回路を表すことができる。
【0083】
フローチャート及びシーケンス図は特定の実行順序を示しているが、実行順序は図示のものとは異なり得ることを理解されたい。例えば、二つ以上のブロックの実行順序は、示されている順序に対してスクランブルをかけることができる。また、連続して表示される二つ以上のブロックは、同時に実行することも、又は部分的に同時に実行することもできる。更に、いくつかの実施形態では、フローチャート及びシーケンス図に示されるブロックのうちの一つ又は複数をスキップ又は省略することができる。更に、ユーティリティの強化、アカウンティング、パフォーマンス測定、又はトラブルシューティング支援の提供などの目的で、任意の数のカウンタ、状態変数、警告セマフォ、又はメッセージを、本明細書で説明する論理フローに追加することができる。そのような変形はすべて、本開示の範囲内にあることが理解される。
【0084】
また、ソフトウェア又はコードを含む、本明細書で説明される任意の論理又はアプリケーションは、コンピュータシステム若しくは他のシステム内のプロセッサなどの命令実行システムによって、又はそれに関連して使用される任意の非一時的なコンピュータ可読媒体で具現化することができる。この意味で、論理は、コンピュータ可読媒体からフェッチし得て命令実行システムによって実行できる命令及び宣言を含むステートメントを含むことができる。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムによって、又は命令実行システムに関連して使用するために、本明細書で説明される論理又はアプリケーションを含む、記憶する、又は維持することができる任意の媒体であり得る。更に、複数のコンピューティングデバイス(例えば、ストレージエリアネットワーク又は分散若しくはクラスタ化されたファイルシステム若しくはデータベース)にわたって配置された分散コンピュータ可読媒体の集合も、集合的に単一の非一時的コンピュータ可読媒体と見なすことができる。
【0085】
コンピュータ可読媒体は、磁気、光学、又は半導体媒体などの多くの物理媒体のいずれかを含むことができる。適切なコンピュータ可読媒体のより具体的な例には、磁気テープ、磁気フロッピーディスク、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、又は光ディスクが含まれるが、これらに限定されない。また、コンピュータ可読媒体は、スタティックランダム・アクセス・メモリ(SRAM)及びダイナミック・ランダム・アクセス・メモリ(DRAM)を含むランダム・アクセス・メモリ(RAM)、又は磁気ランダム・アクセス・メモリ(MRAM)とすることができる。更に、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、又はその他のタイプのメモリデバイスとすることができる。
【0086】
更に、本明細書で説明する任意の論理又はアプリケーションは、様々な方法で実装及び構造化することができる。例えば、記述された一つ又は複数のアプリケーションは、単一のアプリケーションのモジュール又は構成要素として実装することができる。更に、本明細書で説明する一つ又は複数のアプリケーションは、共有若しくは別個のコンピューティングデバイス又はそれらの組み合わせで実行することができる。例えば、本明細書に記載の複数のアプリケーションは、同じコンピューティングデバイス又は複数のコンピューティングデバイスで実行することができる。
【0087】
本開示の様々な実施形態の例示的な例を以下に記載する。本開示の追加の実施形態は、前の段落で論じられている。したがって、本開示の範囲は、以下の条項に限定されると解釈されるべきではない。
【0088】
条項1.複数のノードを含む分散型台帳と、複数のノードのうちの少なくとも一つによって実行可能な少なくとも一つのアプリケーションと、を含み、複数のノードのうちの少なくとも一つによって実行されると、少なくとも一つのアプリケーションは、複数のノードのうちの少なくとも一つに、少なくとも、第1エンティティの取引を認証する第2エンティティに続いて、第1エンティティから認証確認データを受信することと、認証確認データを検証することと、認証確認データを分散型台帳に記載することと、第2エンティティが取引に関連付けられた支払いを第1エンティティに提供した後、第2エンティティから支払い確認データを受信することと、支払い確認データを検証することと、支払い確認データを分散型台帳に記載することとを行わせる、システム。
【0089】
条項2.認証確認データは、第2エンティティの公開キー、一つ又は複数の取引の詳細、及び取引に関連付けられた取引確認識別子を含むハッシュされたメモを含む、条項1のシステム。
【0090】
条項3.実行されると、少なくとも一つのアプリケーションが更に、複数のノードのうちの少なくとも一つに、少なくとも、第1エンティティから、認証確認データに関連付けられた一つ又は複数の要素を、一つ又は複数の要素の知識なしに証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて認証確認データを検証することとを行わせる、条項1又は2のシステム。
【0091】
条項4.支払い確認データが、取引に関連付けられた取引確認識別子のハッシュされたバージョンを含む、条項1乃至3のいずれかのシステム。
【0092】
条項5.実行されると、少なくとも一つのアプリケーションが更に、複数のノードのうちの少なくとも一つに、少なくとも、第2エンティティから、支払い確認データに関連付けられた一つ又は複数の要素を一つ又は複数の要素の知識なしに証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて、支払い確認データを検証することとを行わせる条項1乃至4のいずれかのシステム。
【0093】
条項6.実行されると、少なくとも一つのアプリケーションが更に、複数のノードのうちの少なくとも一つに、少なくとも、取引の支払いが処理されたかどうかを検証するために、第1エンティティから要求を受信することと、分散型台帳に支払い確認データが記載されていることを確認することと、支払い確認データが分散型台帳にあることを第1エンティティに通知することとを行わせる条項1乃至5のいずれかのシステム。
【0094】
条項7.支払い確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項1乃至6のいずれかのシステム。
【0095】
条項8.認証確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項1乃至7のいずれかのシステム。
【0096】
条項9.第1エンティティに関連付けられた少なくとも一つのコンピューティングデバイスと、少なくとも一つのコンピューティングデバイスによって実行可能な少なくとも一つのアプリケーションと、を含み、実行されると、少なくとも一つのアプリケーションは、少なくとも一つのコンピューティングデバイスに少なくとも、取引認証要求を第2エンティティに送信することであって、取引認証要求は、第1エンティティと第2エンティティとの間の取引に関連付けられている、ことと、第2エンティティから、取引確認識別子を含む取引の認証を受信することと、取引確認識別子、取引に関連付けられた取引データ、及び第2エンティティに関連付けられた公開キーを含む取引認証メモを生成することと、取引認証メモをハッシュすることと、ハッシュされた取引認証メモが分散型台帳に記載されるようにすることとを行わせる、システム。
【0097】
条項10.分散型台帳は、コンセンサス合意に従ってデータを記憶するように構成された複数のコンピューティングデバイスによってホストされる、条項9のシステム。
【0098】
条項11.実行されると、少なくとも一つのアプリケーションは更に、少なくとも一つのコンピューティングデバイスに、取引確認識別子を含む支払い取引メモが分散型台帳に記録されているかどうかの問い合わせに少なくとも部分的に基づいて、取引に関連付けられた支払いが第2エンティティから受領されたかどうかを少なくとも決定させる、条項9又は10のシステム。
【0099】
条項12.実行されると、少なくとも一つのアプリケーションは更に、少なくとも一つのコンピューティングデバイスに、支払い取引メモが分散型台帳に存在しないという決定に応答して、少なくとも第2エンティティからの支払いを要求させる、条項11のシステム。
【0100】
条項13.実行されると、少なくとも一つのアプリケーションが更に、少なくとも一つのコンピューティングデバイスに、第1エンティティの送信秘密キーを用いて取引認証メモに少なくとも署名させる、条項9乃至12のいずれかのシステム。
【0101】
条項14.ハッシュされた取引認証メモが分散型台帳に記載されるようにすることは、分散型台帳に関連付けられた複数のノードのうちの少なくとも一つのノードに、ハッシュされた認証メモと、取引認証メモに関連付けられた一つ又は複数の要素を一つ又は複数の要素の知識なしに証明するためのゼロ知識証明とを送信することを含む、条項13のシステム。
【0102】
条項15.取引認証メモが、非対話型ゼロ知識証明に少なくとも部分的に基づいて検証される、条項14のシステム。
【0103】
条項16.第1当事者と第2当事者との間の取引の第1当事者から取引認証データを受信することと、取引認証データを検証することと、コンセンサス合意に少なくとも部分的に基づいて、取引認証データを分散型台帳に記載することと、取引に関連付けられた支払い確認データが分散型台帳に記録されているかどうかを決定するための支払い確認要求を受信することと、支払い確認データが分散型台帳に記録されているかどうかを決定することと、を含む、方法。
【0104】
条項17.取引認証データが、取引に関連付けられた一つ又は複数の取引詳細のハッシュされたバージョン、第2当事者に関連付けられた公開キー、及び取引に固有の取引確認識別子を含む、条項16の方法。
【0105】
条項18.一つ又は複数の要素の知識なしに、取引認証データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を第1当事者から受信することと、取引認証データが非対話型ゼロ知識証明に少なくとも部分的に基づいていることを検証することと、を更に含む、条項16又は17の方法。
【0106】
条項19.取引に関連付けられた支払い確認データを第2当事者から受信することと、支払い確認データを分散型台帳に記載することと、を更に含む、条項16乃至18のいずれかの方法。
【0107】
条項20.一つ又は複数の要素の知識なしに、支払い確認データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を第2当事者から受信することと、非対話型ゼロ知識証明を使用して支払い確認データを検証することを更に含む、条項19の方法。
【0108】
条項21.第1エンティティのための取引を認証する第2エンティティに続いて、第1エンティティから認証確認データを受信することと、認証確認データを検証することと、複数のノードを含む分散型台帳に認証確認データを記載することと、取引に関連付けられた支払いを第1エンティティに提供する第2エンティティに続いて、第2エンティティから支払い確認データを受信することと、支払い確認データを検証することと、支払い確認データを分散型台帳に記載することと、を含む、方法。
【0109】
条項22.認証確認データは、第2エンティティの公開キー、一つ又は複数の取引の詳細、及び取引に関連付けられた取引確認識別子を含むハッシュされたメモを含む、条項21の方法。
【0110】
条項23.第1エンティティから、一つ又は複数の要素の知識なしに認証確認データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて認証確認データを検証することと、を更に含む、条項21又は22の方法。
【0111】
条項24条.支払い確認データは、取引に関連付けられた取引確認識別子のハッシュされたバージョンを含む、条項21乃至23のいずれかの方法。
【0112】
条項25.第2エンティティから、一つ又は複数の要素の知識なしに支払い確認データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて支払い確認データを検証することと、を更に含む、条項21乃至24のいずれかの方法。
【0113】
条項26.取引に対する支払いが処理されたかどうかを検証するために、第1エンティティから要求を受信することと、分散型台帳に支払い確認データが記載されていることを確認すことと、支払い確認データが分散型台帳にあることを第1エンティティに通知することと、を更に含む、条項21乃至25のいずれかの方法。
【0114】
条項27.支払い確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項21乃至26のいずれかの方法。
【0115】
条項28.認証確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項21乃至27のいずれかの方法。
【0116】
条項29.第1エンティティと第2エンティティとの間の取引に関連付けられた取引認証要求を第2エンティティに送信することと、第2エンティティから、取引確認識別子を含む取引の認証を受信することと、取引確認識別子、取引に関連付けられた取引データ、及び第2エンティティに関連付けられた公開キーを含む取引認証メモを生成することと、取引認証メモをハッシュすることと、ハッシュされた取引認証メモを分散型台帳に記載することと、を含む、方法。
【0117】
条項30.分散型台帳は、コンセンサス合意に従ってデータを記憶するように構成された複数のコンピューティングデバイスによってホストされる、請求項29の方法。
【0118】
条項31.取引確認識別子を含む支払い取引メモが分散型台帳に記録されているかどうかの問い合わせに少なくとも部分的に基づいて、取引に関連付けられた支払いが第2エンティティから受領されたかどうかを決定することを更に含む、条項29又は30の方法。
【0119】
条項32.支払い取引メモが分散型台帳に存在しないという決定に応答して、第2エンティティからの支払いを要求することを更に含む、条項31の方法。
【0120】
条項33.第1エンティティの送信秘密キーで取引認証メモに署名することを更に含む、条項29乃至32のいずれかの方法。
【0121】
条項34.ハッシュされた取引認証メモが分散型台帳に記載されるようにすることは、分散型台帳に関連付けられた複数のノードのうちの少なくとも一つのノードに、ハッシュされた認証メモと、取引認証メモに関連付けられた一つ又は複数の要素を一つ又は複数の要素の知識なしに証明するためのゼロ知識証明とを送信することを含む、条項33の方法。
【0122】
条項35.取引認証メモが、非対話型ゼロ知識証明に少なくとも部分的に基づいて検証される、条項34の方法。
【0123】
条項36.複数のノードを含む分散型台帳と、複数のノードのうちの少なくとも一つによって実行可能な少なくとも一つのアプリケーションと、を含み、複数のノードのうちの少なくとも一つによって実行されると、少なくとも一つのアプリケーションは、複数のノードのうちの少なくとも一つに、少なくとも、第1当事者と第2当事者との間の取引の第1当事者から取引認証データを受信することと、取引認証データを検証することと、コンセンサス合意に少なくとも部分的に基づいて、取引認証データを分散型台帳に記載することと、取引に関連付けられた支払い確認データが分散型台帳に記録されているかどうかを決定するための支払い確認要求を受信することと、支払い確認データが分散型台帳に記録されているかどうかを決定することと、を行わせる、システム。
【0124】
条項37.取引認証データが、取引に関連付けられた一つ又は複数の取引詳細のハッシュされたバージョン、第2当事者に関連付けられた公開キー、及び取引に固有の取引確認識別子を含む、条項36のシステム。
【0125】
条項38.実行されると、少なくとも一つのアプリケーションは更に、複数のノードのうちの少なくとも一つに、少なくとも、第1当事者から、一つ又は複数の要素の知識なしに取引認証データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を受信することと、取引認証データが非対話型ゼロ知識証明に少なくとも部分的に基づいていることを検証することと、を行わせる、条項36又は37の方法。
【0126】
条項39.実行されると、少なくとも一つのアプリケーションは更に、複数のノードのうちの少なくとも一つに、少なくとも、取引に関連付けられた支払い確認データを第2当事者から受信することと、分散型台帳に支払い確認データを記載することと、を行わせる、条項36乃至38のいずれかのシステム。
【0127】
条項40.実行されると、少なくとも一つのアプリケーションは更に、複数のノードのうちの少なくとも一つに、少なくとも、第2当事者から、一つ又は複数の要素の知識なしに、支払い確認データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明を使用して支払い確認データを検証することと、を行わせる、条項39のシステム。
【0128】
条項41.命令を含む非一時的なコンピュータ可読媒体であって、分散型台帳の複数のノードのうちの少なくとも一つのノードによって実行されると、少なくとも一つのノードに少なくとも、第1エンティティの取引を認証する第2エンティティに続いて、第1エンティティから認証確認データを受信することと、認証確認データを検証することと、認証確認データを分散型台帳に記載することと、第2エンティティが取引に関連付けられた支払いを第1エンティティに提供した後、第2エンティティから支払い確認データを受信することと、支払い確認データを検証することと、支払い確認データを分散型台帳に記載することと、を行わせる、非一時的なコンピュータ可読媒体。
【0129】
条項42.認証確認データが、第2エンティティの公開キー、一つ又は複数の取引の詳細、及び取引に関連付けられた取引確認識別子を含むハッシュされたメモを含む、条項41の非一時的なコンピュータ可読媒体。
【0130】
条項43.実行されると、命令は更に、複数のノードのうちの少なくとも一つのノードに少なくとも、第1エンティティから、認証確認データに関連付けられた一つ又は複数の要素を、一つ又は複数の要素の知識なしに証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて認証確認データを検証することと、を行わせる、条項41又は42の非一時的なコンピュータ可読媒体。
【0131】
条項44.支払い確認データは、取引に関連付けられた取引確認識別子のハッシュされたバージョンを含む、条項41乃至43のいずれかの非一時的なコンピュータ可読媒体。
【0132】
条項45.実行されると、命令は更に、複数のノードのうちの少なくとも一つのノードに少なくとも、第2エンティティから、一つ又は複数の要素の知識なしに支払い確認データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を受信することと、非対話型ゼロ知識証明に少なくとも部分的に基づいて、支払い確認データを検証することと、を行わせる、条項41乃至44のいずれかの非一時的なコンピュータ可読媒体。
【0133】
条項46.実行されると、命令は更に、複数のノードのうちの少なくとも一つのノードに少なくとも、取引の支払いが処理されたかどうかを検証するために、第1エンティティから要求を受信することと、分散型台帳に支払い確認データが記載されていることを確認することと、支払い確認データが分散型台帳にあることを第1エンティティに通知することと、を行わせる、条項41乃至45のいずれかの非一時的なコンピュータ可読媒体。
【0134】
条項47.支払い確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項41乃至46のいずれかの非一時的なコンピュータ可読媒体。
【0135】
条項48.認証確認データは、複数のノードによるコンセンサス合意に従って分散型台帳に記載される、条項41乃至47のいずれかの非一時的なコンピュータ可読媒体。
【0136】
条項39.第1エンティティに関連付けられた少なくとも一つのコンピューティングデバイスのプロセッサによって実行されると、少なくとも一つのコンピューティングデバイスに少なくとも、取引認証要求を第2エンティティに送信することであって、取引認証要求は、第1エンティティと第2エンティティとの間の取引に関連付けられている、ことと、第2エンティティから、取引確認識別子を含む取引の認証を受信することと、取引確認識別子、取引に関連付けられた取引データ、及び第2エンティティに関連付けられた公開キーを含む取引認証メモを生成することと、取引認証メモをハッシュすることと、ハッシュされた取引認証メモが分散型台帳に記載されるようにすることと、を行わせる、命令を含む非一時的なコンピュータ可読媒体。
【0137】
条項40.分散型台帳は、コンセンサス合意に従ってデータを記憶するように構成された複数のコンピューティングデバイスによってホストされる、条項39の非一時的なコンピュータ可読媒体。
【0138】
条項41.実行されると、命令は更に、取引確認識別子を含む支払い取引メモが分散型台帳に記録されているかどうかの問い合わせに少なくとも部分的に基づいて、少なくとも一つのコンピューティングデバイスに、取引に関連付けられた支払いが第2エンティティから受領されたかどうかを少なくとも決定させる、条項39又は40の非一時的なコンピュータ可読媒体。
【0139】
条項42.実行されると、命令は更に、支払い取引メモが分散型台帳に存在しないという決定に応答して、少なくとも一つのコンピューティングデバイスに少なくとも、第2エンティティからの支払いを要求させる、条項41の非一時的なコンピュータ可読媒体。
【0140】
条項43.実行されると、命令は更に、少なくとも一つのコンピューティングデバイスに少なくとも、第1エンティティの送信秘密キーを用いて取引認証メモに署名させる、条項39乃至42のいずれかの非一時的なコンピュータ可読媒体。
【0141】
条項44.ハッシュされた取引認証メモが分散型台帳に記載されるようにすることは、分散型台帳に関連付けられた複数のノードのうちの少なくとも一つのノードに、ハッシュされた認証メモと、取引認証メモに関連付けられた一つ又は複数の要素を一つ又は複数の要素の知識なしに証明するためのゼロ知識証明とを送信することを含む、条項43の非一時的なコンピュータ可読媒体。
【0142】
条項45.取引認証メモが、非対話型ゼロ知識証明に少なくとも部分的に基づいて検証される、条項44の非一時的なコンピュータ可読媒体。
【0143】
条項46.命令を含む非一時的なコンピュータ可読媒体であって、少なくとも一つのコンピューティングデバイスのプロセッサによって実行されると、少なくとも一つのコンピューティングデバイスに少なくとも、第1者と第2者との間の取引の第1者から取引認証データを受信することと、取引認証データを検証することと、コンセンサス合意に少なくとも部分的に基づいて、取引認証データを分散型台帳に記載することと、取引に関連付けられた支払い確認データが分散型台帳に記録されているかどうかを決定するための支払い確認要求を受信することと、支払い確認データが分散型台帳に記録されているかどうかを決定することと、を行わせる、非一時的なコンピュータ可読媒体。
【0144】
条項47.取引認証データは、取引に関連付けられた一つ又は複数の取引の詳細のハッシュされたバージョン、第2当事者に関連付けられた公開キー、及び取引に固有の取引確認識別子を含む、条項46の非一時的なコンピュータ可読媒体。
【0145】
条項48.実行されると、命令は更に、少なくとも一つのコンピューティングデバイスに少なくとも、一つ又は複数の要素の知識なしに、取引認証データに関連付けられた一つ又は複数の要素を証明するためのゼロ知識証明を第1当事者から受信することと、取引認証データが非対話型ゼロ知識証明に少なくとも部分的に基づいていることを検証することと、を行わせる、条項46又は47の非一時的なコンピュータ可読媒体。
【0146】
条項49.実行されると、命令は更に、少なくとも一つのコンピューティングデバイスに少なくとも、取引に関連付けられた支払い確認データを第2当事者から受信することと、支払い確認データを分散型台帳に記載することと、を行わせる、条項46乃至48のいずれかの非一時的なコンピュータ可読媒体。
【0147】
条項50.実行されると、命令は更に、少なくとも一つのコンピューティングデバイスに少なくとも、一つ又は複数の要素の知識なしに、支払い確認データに関連付けられた一つ又は複数の要素を証明するゼロ知識証明を第2当事者から受信することと、非対話型ゼロ知識証明を使用して支払い確認データを検証することと、行わせる、条項49の非一時的なコンピュータ可読媒体。
【0148】
特に明記されていない限り、「X、Y、又はZの少なくとも一つ」という語句などの選言的文言は、アイテム、用語などが、X、Y、若しくはZ、又はそれらの任意の組み合わせ(例えば、X;Y;Z;X又はY;X又はZ;Y又はZ;X、Y、又はZ;など)のいずれかである可能性があることを表すために一般的に使用されるコンテキストで別の方法で理解される。したがって、そのような選言的文言は、一般に、特定の実施形態が、Xのうちの少なくとも一つ、Yのうちの少なくとも一つ、又はZのうちの少なくとも一つがそれぞれ存在することを必要とすることを意味することを意図しておらず、暗示するべきでもない。
【0149】
本開示の上述の実施形態は、本開示の原理を明確に理解するために記載された実装の可能な例に過ぎないことを強調しておくべきである。本開示の趣旨及び原理から実質的に逸脱することなく、上述の実施形態に対して多くの変形及び修正を行うことができる。このようなすべての変更及び変形は、本開示の範囲内の明細書に含まれ、特許請求の範囲によって保護されることを意図している。
【国際調査報告】