(57)【要約】  第１ユーザ（５）から第２ユーザ（７）への第１トランザクション（２２）及び第２ユーザ（７）から第１ユーザ（５）への第２トランザクション（２４）を含む、複数のユーザの間の複数のトランザクションをブロックチェーン（９）に記録する方法及びシステム。ブロックチェーンは、例えばビットコインブロックチェーンであって良い。方法は、第１ユーザ（Ａ）に関連付けられた第１ノード（１５）から、第１トランザクション（２２）に関連付けられた第１暗号通貨額を転送するための第１要求を受信するステップ（１１０）と、第２ノード（１７）から、第２トランザクション（２４）に関連付けられた第２暗号通貨額を転送する第２要求を受信するステップ（１２０）と、を含んで良い。第１トランザクション（２２）は第２要求の受信（１２０）を条件とし、第２トランザクション（２４）は第１要求の受信（１１０）を条件とする。方法は、第１要求及び第２要求を検証するステップ（１３０）であって、第１要求及び第２要求を受信する条件付きステップの両方が満たされることを決定するステップを含む、ステップ（１３０）を更に含む。第１要求及び第２要求を検証するステップ（１３０）に基づき、方法は、第１及び第２トランザクション（２２、２４）に関連付けられた暗号通貨の転送を記録するために、ブロックチェーン（９）へデータアウトプットを送信するステップ（１４０）を含む。
2019514099.tif 000002
【特許請求の範囲】
【請求項１】
第１ユーザから第２ユーザへの第１トランザクション及び前記第２ユーザから前記第１ユーザへの第２トランザクションを含む、複数のユーザの間の複数のトランザクションをブロックチェーンに記録する、コンピュータにより実施される方法であって、前記方法は、
前記第１ユーザに関連付けられた第１ノードから、前記第１トランザクションに関連付けられた前記第１ユーザから前記第２ユーザへ第１暗号通貨額を転送するための第１要求を受信するステップと、
前記第２ユーザに関連付けられた第２ノードから、前記第２トランザクションに関連付けられた前記第２ユーザから前記第１ユーザへ第２暗号通貨額を転送するための第２要求を受信するステップであって、前記第１トランザクションは前記第２要求の受信を条件とし、及び／又は前記第２トランザクションは前記第１要求の受信を条件とする、ステップと、
前記第１要求及び第２要求を検証するステップと、
を含み、
前記第１要求及び第２要求を検証する前記ステップは、
前記第１要求及び第２要求を受信する前記の条件付きステップの両方が満たされることを決定するステップを含み、
前記第１要求及び第２要求を検証するステップに基づき、前記方法は、
通信ネットワークを介して、ブロックチェーンへ、
前記第２ユーザへの前記第１暗号通貨額の第１転送の第１指示、及び、
前記第１ユーザへの前記第２暗号通貨額の第２転送の第２指示、
を含む第１データアウトプットを送信するステップ、を更に含む方法。
【請求項２】
前記第１要求は、前記第１トランザクションが前記第２要求の受信を条件とすることの第１通知を含む、請求項１に記載の方法。
【請求項３】
前記第２要求は、前記第２トランザクションが前記第１要求の受信を条件とすることの第２通知を含む、請求項１乃至２のいずれか一項に記載の方法。
【請求項４】
第３通知を受信するステップであって、前記第３通知は、前記第１トランザクションが前記第２要求の受信を条件とすること、及び前記第２トランザクションが前記第１要求の受信を条件とすること、を指定する、ステップ、を更に含む請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記第１要求及び前記第２要求を検証する前記ステップは、前記第１要求が前記第１ユーザからであること及び前記第２要求が前記第２ユーザからであることを認証するステップを更に含む、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記第１要求及び前記第２要求を検証する前記ステップは、前記第１ユーザから前記第１暗号通貨額を転送すべき権限、及び前記第２ユーザから前記第２暗号通貨額を転送すべき権限を決定するステップを更に含む、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記第１データアウトプットは、前記第１トランザクション及び前記第２トランザクションの一方又は両方に関連付けられたメタデータを更に含む、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記第１トランザクション及び前記第２トランザクションの一方又は両方に関連付けられた前記メタデータは、
前記第１及び／又は第２トランザクションに関連する情報、
前記第１及び／又は第２トランザクションに関連する情報へのポインタ、
前記第１ユーザ及び／又は前記第２ユーザに関連する１又は複数の識別子、
のうちの１又は複数のハッシュを含む、請求項７に記載の方法。
【請求項９】
前記第１暗号通貨額は第１トークンに関連付けられ、及び／又は前記第２暗号通貨額は第２トークンに関連付けられる、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記方法は、
第１Ｒｅｄｅｅｍスクリプトの第１ハッシュを決定するステップ、を更に含み、
前記第１Ｒｅｄｅｅｍスクリプトは、
前記第１トークンに関連付けられた情報を含む少なくとも第１メタデータと、
前記第２ユーザに関連付けられた第２ユーザ公開鍵であって、前記第２ユーザ公開鍵は、第２ユーザ秘密鍵と暗号対を形成する、第２ユーザ公開鍵と、
信頼できるエンティティに関連付けられた信頼できるエンティティ公開鍵であって、前記信頼できるエンティティ公開鍵は、信頼できるエンティティ秘密鍵と暗号対を形成する、信頼できるエンティティ公開鍵と、
に基づき、
前記第１データアウトプットは、
前記第１ハッシュであって、前記第１ハッシュは前記第１トークンを提供するために、前記第１暗号通貨額に関連付けられる、前記第１ハッシュ、を更に含む、
請求項９に記載の方法。
【請求項１１】
前記方法は、
第２Ｒｅｄｅｅｍスクリプトの第２ハッシュを決定するステップ、を更に含み、
前記第２Ｒｅｄｅｅｍスクリプトは、
前記第２トークンに関連付けられた情報を含む少なくとも第２メタデータと、
前記第１ユーザに関連付けられた第１ユーザ公開鍵であって、前記第１ユーザ公開鍵は、第１ユーザ秘密鍵と暗号対を形成する、第１ユーザ公開鍵と、
信頼できるエンティティに関連付けられた信頼できるエンティティ公開鍵であって、前記信頼できるエンティティ公開鍵は、信頼できるエンティティ秘密鍵と暗号対を形成する、信頼できるエンティティ公開鍵と、
に基づき、
前記第１データアウトプットは、
前記第２ハッシュであって、前記第２ハッシュは前記第２トークンを提供するために、前記第２暗号通貨額に関連付けられる、前記第２ハッシュ、を更に含む、
請求項９又は１０に記載の方法。
【請求項１２】
請求項１乃至１１のいずれか一項に記載のブロックチェーンへの前記第１データアウトプットに基づき前記第１トランザクション及び／又は前記第２トランザクションを確認する、コンピュータにより実施される方法であって、
前記第１トランザクション及び／又は前記第２トランザクションを確認するための要求を受信するステップと、
前記第１トランザクションに関連付けられた前記第１暗号通貨額の前記第１転送及び／又は前記第２トランザクションに関連付けられた前記第２暗号通貨額の前記第２転送に対応する前記第１データアウトプットを決定するステップと、
前記通信ネットワークを介して、前記ブロックチェーンから前記第１データアウトプットの少なくとも部分を受信するステップと、
前記第１データアウトプットから、前記第１転送の前記第１指示及び／又は前記第２転送の前記第２指示を決定するステップと、
前記第１転送の前記第１指示及び／又は前記第２転送の前記第２指示が、前記要求の中の前記第１トランザクション及び／又は前記第２トランザクションに対応することを検証するステップと、
前記検証するステップの結果を示すアウトプットを送信するステップと、
を含む方法。
【請求項１３】
前記方法は、
前記第１転送の前記第１指示及び前記第２転送の前記第２指示に基づき、前記第１要求及び第２要求を受信する前記の条件付きステップの両方が満たされたことを検証するステップと、
前記第１トランザクションは前記第２要求の受信を条件とし及び／又は前記第２トランザクションは前記第１要求の受信を条件とすること、及び前記条件付きステップが満たされたこと、を示すアウトプットを送信するステップと、
を含む請求項１２に記載の方法。
【請求項１４】
前記方法は、
前記第１トランザクション及び／又は前記第２トランザクションに関連付けられたメタデータを決定するステップ、を更に含み、
前記検証するステップは、前記メタデータが前記第１トランザクション及び／又は第２トランザクションに対応することを検証するステップを更に含む、
請求項７に従属する請求項１２又は１３に記載の方法。
【請求項１５】
前記方法は、
検証ハッシュを受信し及び決定するステップであって、
前記第１及び／又は第２トランザクションに関連する情報、
前記第１及び／又は第２トランザクションに関連する情報へのポインタ、
前記第１ユーザ及び／又は前記第２ユーザに関連する１又は複数の識別子、
のうちの１又は複数の検証ハッシュを受信し及び決定するステップと、
前記検証ハッシュが請求項８に記載のメタデータの中の前記ハッシュに対応することを検証するステップと、
を更に含む請求項１２乃至１４のいずれか一項に記載の方法。
【請求項１６】
コンピュータプログラムであって、処理装置に請求項１乃至１５のいずれか一項に記載の方法を実施させる機械可読命令を含むコンピュータプログラム。
【請求項１７】
装置であって、請求項１乃至１５のいずれか一項に記載の方法を実行する第１処理装置を含む装置。
【請求項１８】
第１ユーザから第２ユーザへの第１トランザクション及び前記第２ユーザから前記第１ユーザへの第２トランザクションを含む、複数のユーザの間の複数のトランザクションをブロックチェーンに記録する装置であって、前記装置は、
処理装置を含み、前記処理装置は、
前記第１ユーザに関連付けられた第１ノードから、前記第１トランザクションに関連付けられた前記第１ユーザから前記第２ユーザへ第１暗号通貨額を転送するための第１要求を受信し、
前記第２ユーザに関連付けられた第２ノードから、前記第２トランザクションに関連付けられた前記第２ユーザから前記第１ユーザへ第２暗号通貨額を転送するための第２要求を受信し、前記第１トランザクションは前記第２要求の受信を条件とし、及び／又は前記第２トランザクションは前記第１要求の受信を条件とし、
前記第１要求及び第２要求を検証し、前記第１及び第２要求を検証することは、前記処理装置が、前記第１要求及び第２要求の両方が受信されたと決定することを含み、
前記第１要求及び第２要求を検証することに基づき、前記処理装置は、通信ネットワークを介して、ブロックチェーンへ、
前記第２ユーザへの前記第１暗号通貨額の第１転送の第１指示、及び、
前記第１ユーザへの前記第２暗号通貨額の第２転送の第２指示、
を含む第１データアウトプットを選択的に送信する、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ピアツーピア分散台帳（ブロックチェーン）に記録されたトランザクションに関し、より詳細には、２ユーザ間で双方向トランザクションを実行することに関する。
【背景技術】
【０００２】
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
【０００３】
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピア電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタル資産の制御の転送を符号化するデータ構造であり、少なくとも１つのインプット及び少なくとも１つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
【０００４】
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード（マイナー）は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション（ＵＴＸＯ）に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、ｉ）トランザクションを受信した第１ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ｉｉ）マイナーにより構築された新しいブロックに追加し、ｉｉｉ）マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
【０００５】
暗号通貨トランザクションは、複数のインプット及び複数のアウトプットにより、複数のパーティを巻き込むことがある。このような複数パーティのトランザクションは、複数パーティがプライバシを向上するために（複数インプット及び複数アウトプットを有する単一トランザクションがブロックチェーンに記録されるという意味で）単一のトランザクションを形成することに合意している場合に生じ得る。例えば、ＡｌｉｃｅがＢｏｂと取引を行いたいと望む場合、Ａｌｉｃｅは、トランザクションを実行し及び一緒に共同支払（例えば「コインジョイン（ＣｏｉｎＪｏｉｎ）」トランザクション）を行いたいと望み得る他のパーティ（例えばＣａｒｏｌ）を探すことがある。
【０００６】
契約上の義務は双方向である報酬（consideration）を含み得る。例えば、Ａｌｉｃｅは金銭と引き換えにＢｏｂからウィジェットを購入したいと望み得る。したがって、取引を満たすことは、ＡｌｉｃｅからＢｏｂへの金銭の支払いを含む一方向の報酬を含む。反対方向の他方の報酬は、ＢｏｂがＢｏｂからＡｌｉｃｅへウィジェットを提供することを含む。
【０００７】
片側だけが彼らの一方向の義務を満たす場合に問題が生じ得る。例えば、ＡｌｉｃｅがＡｌｉｃｅからＢｏｂへの金銭の支払いを行い、Ｂｏｂがウィジェットを供給せずに金銭を持ち去る場合である。
【０００８】
本願明細書を通じて、用語「含む、有する（comprise）」又は「comprises」若しくは「comprising」のような変形は、記述される要素、整数若しくはステップ、又は要素、整数若しくはステップのグループ、の包含を意味すると理解されるが、任意の他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを除外しない。
【０００９】
本願明細書に含まれる文書、動作、材料、装置、製品、等の議論は、これらの項目のうちのいずれか又は全部が従来基盤の部分を形成すること、又は本願の各請求項の優先日前に存在していたような本開示の関連分野における共通の一般知識であったとの承認として解釈されるべきではない。
【発明の概要】
【００１０】
添付の請求項に定められるように、本発明が提供される。
【００１１】
本発明は、ブロックチェーン及び／又はコンピュータにより実施される方法、及び対応するシステム及び装置として記載され得る。トランザクションを実行する前に、ブロックチェーントランザクション（Ｔｘ）の認証を検証するための検証方法／システムがあって良い。したがって、追加又は代替として、本発明は、認証されたトランザクションのみが実行されることを保証するよう構成されたセキュリティ方法／システムであり得る。追加又は代替として、本発明は、トランザクションがブロックチェーン上で行われ得るとき及び／又は禁止されるべきときを決定するよう構成される制御方法／システムである。トランザクション（Ｔｘ）の実行は、１つのパーティから別のパーティへの暗号通貨量の転送を有して良い。
【００１２】
本発明は、１又は複数の条件が満たされたと決定されると、１より多くのブロックチェーントランザクション（Ｔｘ）を同時に公開するよう構成される検証及び／又は制御方法を提供し得る。「トランザクションの公開」は、トランザクションアウトプットの使用が実行できるようにする、ブロックチェーンネットワークへの提出を意味し又は含んで良い。条件は、評価に成功したトランザクション内のメタデータを用いて参照され又はアクセスされて良い。これは、相手に対して同様に行われ、２つのトランザクションを生成するようにする。
【００１３】
方法は、１又は複数の条件の評価に成功すると、第１ユーザ（パーティ）Ａから第２ユーザ（パーティ）Ｂへ暗号通貨額又は部分を転送／使用するために、ブロックチェーントランザクション（Ｔｘ１）を使用するステップを含んで良い。これは、第１ルールセットとして参照されて良い。条件は、ブール値又はアウトプットを生成するために評価され得るルールであって良い。条件は、第３パーティ又はユーザＣにより評価されて良い。条件は、暗号通貨額が転送される前に、要求が第２ユーザから受信されるというルールを有して良い。
【００１４】
暗号通貨の転送は、マルチシグネチャ（ｍｕｌｔｉ−ｓｉｇ）トランザクション種類を用いて実行されて良い。これは、例えば、ビットコインプロトコル又は等価な機能における２人のうちの２人のマルチシグネチャトランザクションであって良い。トランザクションアウトプットは、アウトプットを使用するために、Ａ及びＣの署名を必要として良い。ルールは、ｔｏｕｔトランザクション内のメタデータに含まれるポインタにより参照されて良い。
【００１５】
方法は、１又は複数の条件の評価に成功すると、第２ユーザ（パーティ）Ｂから第１ユーザ（パーティ）Ａへ暗号通貨額又は部分を転送／使用するために、ブロックチェーントランザクション（Ｔｘ２）を使用するステップを更に含んで良い。これは、第２ルールセットとして参照されて良い。条件は、ブール値又はアウトプットを生成するために評価され得るルールであって良い。条件は、暗号通貨額が転送される前に、要求が第１ユーザから受信されるというルールを有して良い。
【００１６】
条件は、第３パーティ又はユーザＣにより評価されて良い。暗号通貨の転送は、マルチシグネチャ（ｍｕｌｔｉ−ｓｉｇ）トランザクション種類を用いて実行されて良い。これは、例えば、ビットコインプロトコル又は等価な機能における２人のうちの２人のマルチシグネチャトランザクションであって良い。トランザクションアウトプットは、アウトプットを使用するために、Ｂ及びＣの署名を必要として良い。ルールは、ｔｏｕｔトランザクション内のメタデータに含まれるポインタにより参照されて良い。
【００１７】
方法は、第１及び第２条件（ルールセット）の両方が真であると評価されることをチェックするステップと、両方が真であると評価された場合に、第１及び第２暗号通貨部分の転送（使用）を実行するために、ブロックチェーンネットワークへ両方のトランザクションを提出するステップと、を含んで良い。
【００１８】
留意すべきことに、マイニング処理は、結果として、他より早いブロックの中で１つのトランザクションを生じて良い。また、用語「ユーザ」は、必ずしも人間のユーザを意味しないことに留意すべきである。ユーザは、本発明の部分を使用し又は形成するコンピュータ又は自動処理であって良い。ユーザは、ネットワーク内のノードであって良く、又はそれに関連付けられて良い。
【００１９】
追加又は代替として、本発明は、第１ユーザ（Ａ）から第２ユーザ（Ｂ）への第１トランザクション（Ｔｘ）及び第２ユーザ（Ｂ）から第１ユーザ（Ａ）への第２トランザクション（Ｔｘ）を含む、複数のユーザの間の複数のトランザクションをピアツーピア分散台帳（ブロックチェーン）に記録する方法を提供し得る。方法は、第１トランザクションに関連付けられた、第１ユーザ（Ａ）から第２ユーザ（Ｂ）へ第１暗号通貨額（Ｂ１）を転送するための、第１ユーザに関連付けられた第１ノードからの第１要求を受信するステップと、第２トランザクションに関連付けられた、第２ユーザ（Ｂ）から第１ユーザ（Ａ）へ第２暗号通貨額（Ｂ２）を転送するための、第２ユーザ（Ｂ）に関連付けられた第２ノードからの第２要求を受信するステップであって、第１トランザクションは第２要求を受信することを条件とし、及び／又は第２トランザクションは第１要求を受信することを条件とする、ステップと、第１要求及び第２要求を検証するステップであって、第１要求及び第２要求を検証するステップは、第１要求及び第２要求を受信する条件付きステップの両方が満たされることを決定するステップを含む、ステップと、を含んで良い。第１要求及び第２要求を検証するステップに基づき、方法は、通信ネットワークを介して、第２ユーザ（Ｂ）への第１暗号通貨額（Ｂ１）の第１転送と、第１ユーザ（Ａ）への第２暗号通貨額（Ｂ２）の第２転送と、を含む第１データアウトプット（Ｏ１）をピアツーピア分散台帳へ送信するステップを更に含む。
【００２０】
第１及び第２トランザクションは、互いに関連付けられた暗号通貨を転送するための対応する要求を受信することを条件とする。方法は、転送がピアツーピア分散台帳上に記録されるために送信される前に、第１及び第２要求の両方が生成されることを検証するステップを含み、第１ユーザ（Ａ）及び第２ユーザ（Ｂ）は、他方のユーザが第１及び第２トランザクションにおける彼らのそれぞれの義務を果たすというより大きな信頼を有することができる。さらに、複数ユーザ（Ａ，Ｂ）の間のトランザクションの共依存の証明は、これらの共依存トランザクションを含み及び表す第１データアウトプット（Ｏ１）により提供され得る。特に、第１及び第２転送の両方の指示は、同じ暗号通貨トランザクションレコードの第１データアウトプット（Ｏ１）の中にある。これは、第１及び第２トランザクションが共依存にリンクされることを提供する際に助けとなり得る。
【００２１】
方法では、第１要求は、第１トランザクションが第２要求の受信を条件とすることの第１通知を含んで良い。方法では、第２要求は、第２トランザクションが第１要求の受信を条件とすることの第２通知を含んで良い。
【００２２】
方法は、第３通知を受信するステップであって、第３通知は、第１トランザクションが第２要求の受信を条件とすること、及び第２トランザクションが第１要求の受信を条件とすること、を指定する、ステップ、を更に含んで良い。
【００２３】
方法では、第１要求及び第２要求を検証するステップは、第１要求が第１ユーザ（Ａ）からであること及び第２要求が第２ユーザ（Ｂ）からであることを認証するステップを更に含んで良い。
【００２４】
方法では、第１要求及び第２要求を検証するステップは、第１ユーザ（Ａ）から第１暗号通貨額（Ｂ１）を転送すべき権限、及び第２ユーザ（Ｂ）から第２暗号通貨額（Ｂ２）を転送すべき権限を決定するステップを更に含んで良い。
【００２５】
第１データアウトプット（Ｏ１）は、第１トランザクション及び第２トランザクションの一方又は両方に関連付けられたメタデータ（ＭＤ）を更に含んで良い。第１トランザクション及び第２トランザクションの一方又は両方に関連付けられたメタデータ（ＭＤ）は、第１及び／又は第２トランザクションに関連する情報、第１及び／又は第２トランザクションに関連する情報へのポインタ、第１ユーザ（Ａ）及び／又は第２ユーザ（Ｂ）に関連する１又は複数の識別子、のうちの１又は複数のハッシュを含む。
【００２６】
第１暗号通貨額（Ｂ１）は第１トークン（Ｔ１）に関連付けられて良く、及び／又は第２暗号通貨額（Ｂ２）は第２トークン（Ｔ２）に関連付けられて良い。方法は、第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）の第１ハッシュ（Ｈ１）を決定するステップ、を更に含んで良く、第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）は、第１トークン（Ｔ１）に関連付けられた情報を含む少なくとも第１メタデータ（ＭＤ１）と、第２ユーザ（Ｂ）に関連付けられた第２ユーザ公開鍵（Ｐ１Ｂ）であって、第２ユーザ公開鍵（Ｐ１Ｂ）は、第２ユーザ秘密鍵（Ｖ１Ｂ）と暗号対を形成する、第２ユーザ公開鍵（Ｐ１Ｂ）と、信頼できるエンティティ（ＴＥ）に関連付けられた信頼できるエンティティ公開鍵（Ｐ１Ｔ）であって、信頼できるエンティティ公開鍵（Ｐ１Ｔ）は、信頼できるエンティティ秘密鍵（Ｖ１Ｔ）と暗号対を形成する、信頼できるエンティティ公開鍵（Ｐ１Ｔ）と、に基づき、第１データアウトプット（Ｏ１）は、第１ハッシュ（Ｈ１）であって、第１ハッシュ（Ｈ１）は第１トークン（Ｔ１）を提供するために、第１暗号通貨額（Ｂ１）に関連付けられる、第１ハッシュ（Ｈ１）、を更に含む。
【００２７】
方法は、第２Ｒｅｄｅｅｍスクリプト（ＲＳ２）の第２ハッシュ（Ｈ２）を決定するステップ、を更に含んで良く、第２Ｒｅｄｅｅｍスクリプト（ＲＳ２）は第２トークン（Ｔ２）に関連付けられた情報を含む少なくとも第２メタデータ（ＭＤ２）と、第１ユーザ（Ａ）に関連付けられた第１ユーザ公開鍵（Ｐ１Ａ）であって、第１ユーザ公開鍵（Ｐ１Ａ）は、第１ユーザ秘密鍵（Ｖ１Ａ）と暗号対を形成する、第１ユーザ公開鍵（Ｐ１Ａ）と、信頼できるエンティティ（ＴＥ）に関連付けられた信頼できるエンティティ公開鍵（Ｐ１Ｔ）であって、信頼できるエンティティ公開鍵（Ｐ１Ｔ）は、信頼できるエンティティ秘密鍵（Ｖ１Ｔ）と暗号対を形成する、信頼できるエンティティ公開鍵（Ｐ１Ｔ）と、に基づき、第１データアウトプット（Ｏ１）は、第２ハッシュ（Ｈ２）であって、第２ハッシュ（Ｈ２）は第２トークン（Ｔ２）を提供するために、第２暗号通貨額（Ｂ２）に関連付けられる、第２ハッシュ（Ｈ２）、を更に含む。
【００２８】
上述の請求項のいずれか一項に記載のピアツーピア分散台帳への第１データアウトプット（Ｏ１）に基づき第１トランザクション及び／又は第２トランザクションを確認する、コンピュータにより実施される方法であって、第１トランザクション及び／又は前記第２トランザクションを確認するための要求を受信するステップと、第１トランザクションに関連付けられた第１暗号通貨額（Ｂ１）の第１転送及び／又は第２トランザクションに関連付けられた第２暗号通貨額（Ｂ２）の第２転送に対応する第１データアウトプット（Ｏ１）を決定するステップと、通信ネットワークを介して、ピアツーピア分散台帳から第１データアウトプット（Ｏ１）の少なくとも部分を受信するステップと、第１データアウトプット（Ｏ１）から、第１転送の第１指示及び／又は第２転送の第２指示を決定するステップと、第１転送の第１指示及び／又は第２転送の第２指示が、要求の中の第１トランザクション及び／又は第２トランザクションに対応することを検証するステップと検証するステップの結果を示すアウトプットを送信するステップと、を含む。
【００２９】
方法は、第１転送の第１指示及び第２転送の第２指示に基づき、第１要求及び第２要求を受信する条件付きステップの両方が満たされたことを検証するステップと、第１トランザクションは第２要求の受信を条件とし及び又は第２トランザクションは第１要求の受信を条件とすること、及び条件付きステップが満たされたことを示すアウトプットを送信するステップと、を更に含んで良い。
【００３０】
方法は、第１トランザクション及び／又は第２トランザクションに関連付けられたメタデータを決定するステップを更に含んで良く、検証するステップは、メタデータが第１トランザクション及び／又は第２トランザクションに対応することを検証するステップを更に含む。
【００３１】
方法は、検証ハッシュを受信し及び決定するステップであって、第１及び／又は第２トランザクションに関連する情報、第１及び／又は第２トランザクションに関連する情報へのポインタ、第１ユーザ及び／又は第２ユーザに関連する１又は複数の識別子、のうちの１又は複数の検証ハッシュを受信し及び決定するステップと、検証ハッシュがメタデータの中のハッシュに対応することを検証するステップと、を更に含んで良い。
【００３２】
コンピュータプログラムであって、処理装置に上述の方法のうちのいずれか１つを実施させる機械可読命令を含むコンピュータプログラム。
【００３３】
第１処理装置を有する装置であって、上述の方法のうちのいずれか１つを実行する装置。
【００３４】
第１ユーザ（Ａ）から第２ユーザ（Ｂ）への第１トランザクション及び第２ユーザ（Ｂ）から第１ユーザ（Ａ）への第２トランザクションを含む、複数のユーザの間の複数のトランザクションをピアツーピア分散台帳に記録する装置であって、装置は、処理装置を含み、処理装置は、第１ユーザ（Ａ）に関連付けられた第１ノードから、第１トランザクションに関連付けられた第１ユーザ（Ａ）から第２ユーザ（Ｂ）へ第１暗号通貨額（Ｂ１）を転送するための第１要求を受信し、第２ユーザ（Ｂ）に関連付けられた第２ノードから、第２トランザクションに関連付けられた第２ユーザ（Ｂ）から第１ユーザ（Ａ）へ第２暗号通貨額（Ｂ２）を転送するための第２要求を受信し、第１トランザクションは第２要求の受信を条件とし、及び／又は第２トランザクションは第１要求の受信を条件とし、第１及び第２要求を検証し、第１及び第２要求を検証することは、処理装置が、第１要求及び第２要求の両方が受信されたと決定することを含み、第１要求及び第２要求を検証することに基づき、処理装置は、通信ネットワークを介して、ピアツーピア分散台帳へ、第２ユーザ（Ｂ）への第１暗号通貨額（Ｂ１）の第１転送の第１指示、及び、第１ユーザ（Ａ）への第２暗号通貨額（Ｂ２）の第２転送の第２指示、を含む第１データアウトプット（Ｏ１）を選択的に送信する。
【００３５】
ある実施形態又は態様に関連して上述した任意の特徴は、１又は複数の他の実施形態又は態様に等価に適用されて良い。例えば、方法に関連して記載された特徴は、本発明のシステムに適用可能であっても良い。
【図面の簡単な説明】
【００３６】
本開示の例は、以下の図面を参照して記載される。
【００３７】
【図１】ピアツーピア分散台帳上に複数ユーザ間の複数トランザクションを記録する例示的なシステムの概要である。
【００３８】
【図２】第１ユーザから第２ユーザへの第１トランザクション及び第２ユーザから第１ユーザへの第２トランザクションを示す図である。
【００３９】
【図３】複数ユーザ間の複数トランザクションを記録する、コンピュータにより実施される方法のフローチャートである。
【００４０】
【図４】第１トランザクション及び／又は第２トランザクションを確認する、コンピュータにより実施される方法のフローチャートである。
【００４１】
【図５】第１ユーザから第２ユーザへの第１トランザクションを示す図であり、第１トランザクションは第１トークンを含み、第２トランザクションは第２ユーザから第１ユーザへであり、第２トランザクションは暗号通貨支払を含む。
【００４２】
【図６】処理装置の簡略な例を示す。
【発明を実施するための形態】
【００４３】
＜概要＞
本発明は、ピアツーピア分散台帳９（つまりブロックチェーン）上で、複数ユーザ間の複数トランザクションを実現する方法及びシステムを提供する。これは、ビットコインブロックチェーンであって良く、又はそうでなくて良い。一実施形態では、本発明は、幾つかの条件が評価に成功すると、（信頼できる）第三者が単に１又は複数の関連トランザクションを公開する権限を与えられるよう構成される。条件は、トランザクション自体のうちの１又は複数の中のメタデータから直接参照され得る。纏めると、本発明は以下のステップを含み得る。
【００４４】
トランザクション１（Ｔｘ１）１：Ｃにより評価された幾つかの条件により、ＡがＢに支払う（事実上、メタデータルールへのポインタを伴うＡ及びＣの２人のうちの２人のマルチシグネチャ）。
トランザクション２（Ｔｘ２）：Ｃにより評価された幾つかの条件により、ＢがＡに支払う（事実上、メタデータルールへのポインタを伴うＢ及びＣの２人のうちの２人のマルチシグネチャ）。
【００４５】
条件は取引相手のトランザクションの存在であると仮定でき、したがって、Ｔｘｎ１におけるルールは、同じことを行うＴｘｎ２におけるルールと真に独立であることを評価できない。しかしながら、ルールセットの両方が真であると評価されると、両方のトランザクションは、同時に使用するために公開され得る（マイニングが、他方より早いブロックで生じることを意味する場合でも）。
【００４６】
以下に説明する。図１は、第１ノード１５に関連付けられた第１ユーザ（Ａ）５と、第２ノード１７に関連付けられた第２ユーザ（Ｂ）７と、を含むシステム１を示す。第１ノード１５及び第２ノード１７は、通信ネットワーク８を介して、信頼できるエンティティ（ＴＥ）３に関連付けられた第３ノード１３と通信する。
【００４７】
信頼できるエンティティ（ＴＥ）３に関連付けられた第３ノード１３は、トランザクションを記録するために、通信ネットワーク８を介してピアツーピア分散台帳９と通信する。ピアツーピア分散台帳９は、トランザクションを受信し及び記録するために、１又は複数の処理装置１９に関連付けられて良い。ピアツーピア分散台帳の一例は、ビットコインプロトコルに基づくトランザクションの総意に基づく台帳であるブロックチェーンを含む。したがって、台帳に関連付けられた処理装置１９は、「マイナー」により使用され又はそれに関連付けられた処理装置であって良い。
【００４８】
図２を参照すると、第１ユーザ（Ａ）５及び第２ユーザ（Ｂ）７は、双方向トランザクションに参加したいと望み得る。双方向トランザクションは、第１ユーザ（Ａ）５から第２ユーザ（Ｂ）７への第１トランザクション２２と、第２ユーザ（Ｂ）７から第１ユーザ（Ａ）５への第２トランザクション２４と、を含む。第１及び第２トランザクション２２、２４は、暗号通貨、トークン化暗号通貨、フィアット通貨、有形資産、無形資産、それらの所有権の提示、等のトランザクションを含み得る。第１トランザクション２２を達成するために、第１暗号通貨額（Ｂ１）は、第１ユーザ（Ａ）５から第２ユーザ（Ｂ）７へ転送される３２。同様に、第２トランザクション２４を達成するために、第２暗号通貨額（Ｂ２）は、第２ユーザ（Ｂ）７から第１ユーザ（Ａ）５へ転送される３４。第１及び／又は第２暗号通貨額は、トランザクション自体の対象であって良い（例えば、意図が支払として暗号通貨を転送することである場合）。代替として、第１及び／又は第２暗号通貨額は、トランザクション２２、２４の代表的なものであって良い（例えば、フィアット通貨、有形資産、無形資産、それらの保有又は所有権の表現、等のトークンとして）。
【００４９】
第１ユーザ（Ａ）５は、双方向トランザクションの第２ユーザ（Ｂ）７の側を満たすために、第１ユーザ（Ｂ）７を信頼しなくて良い。同様に、第２ユーザ（Ｂ）７は第１ユーザ（Ａ）５を信頼しなくて良い。したがって、ユーザ５、７の両者に、より高い信頼度を与えるために、信頼できるエンティティ（ＴＥ）３が巻き込まれ、第１及び第２トランザクションが互いを条件とするようにする。図３を参照すると、信頼できるエンティティ（ＴＥ）により実行される方法１００は、信頼できるエンティティ（ＴＥ）３が、（ｉ）第１ユーザ（Ａ）５から第２ユーザ（Ｂ）７へ第１暗号通貨額（Ｂ１）を転送するための第１要求１１０、及び（ｉｉ）第２ユーザ（Ｂ）７から第１ユーザ（Ａ）５へ第２暗号通貨額（Ｂ２）を転送するための第２要求１２０、の両方を受信したことを検証するステップ１３０を含む。第１及び第２要求の両方が受信されたことの肯定的検証は、第１及び第２ユーザ５、７の両者の誠実な意図を示す。したがって、信頼できるエンティティ（ＴＥ）３に関連付けられた第３ノード１３は、次に、第１データアウトプット（Ｏ１）をピアツーピア分散台帳９へ送信するステップ１４０により、第１暗号通貨額（Ｂ１）及び第２暗号通貨額（Ｂ２）の転送の記録に進んで良い。ここで、ピアツーピア分散台帳９は、また、第１及び第２トランザクションのレコードを提供する。
【００５０】
本願明細書に記載の本システム及び方法の１つの利点は、他方のパーティの義務が満たされる可能性が高いという、第１及び第２ユーザ５、７に対するより大きな信頼を含み得ることである。別の利点は、第１データアウトプット（Ｏ１）が、第１及び第２転送が共依存であり且つ双方向トランザクションにリンクされていることの証明として使用できることである。特に、第１及び第２転送の両方の指示は、同じ暗号通貨トランザクションレコードの中の第１データアウトプット（Ｏ１）の中にある。
【００５１】
本システム１は、第１及び第２トランザクションがピアツーピア分散台帳９に記録されたレコードに基づき生じたかの、後の時点でのレビュー及び検証も可能にし得る。これは、（第１トランザクションに関連付けられた）第１暗号通貨額（Ｂ１）の転送３２が、（第２トランザクションに関連付けられた）第２暗号通貨額（Ｂ２）の転送３４にリンクされた双方向トランザクションの部分であったことの検証を含み得る。これは、このような検証としての議論が両方のパーティの意図及び彼らの義務の実効の証明である場合に、有用であり得る。例えば、第２ユーザ（Ｂ）７が、第１ユーザ（Ａ）５は商品又はサービスに対して支払わなかったという告訴を行う場合、第１ユーザ（Ａ）は、支払が商品又はサービスの見返りに行われたことを示すピアツーピア分散台帳上の双方向トランザクションのレコードを参照して、支払が行われたことを検証できる。図４の方法４００に、トランザクションをレビュー及び検証する一例が示され、これは以下に詳細に説明される。
【００５２】
＜双方向トランザクションの一例の説明＞
＜双方向トランザクションへの同意＞
第１ユーザ（Ａ）５及び第２ユーザ（Ｂ）７は合意に達する。これにより、第１ユーザ（Ａ）は、第１ユーザ（Ａ）５が第２ユーザ（Ｂ）７からの第２トランザクション２４を受信する代わりに、第２ユーザ（Ｂ）７への第１トランザクション２２を生成することに合意する。この合意は、第１及び第２ユーザ５、７による交渉、何回もの申し出、及び最終的な承諾の結果であって良い。幾つかの例では、合意は、競売、商品及びサービスの販売、等の結果としての、契約上の合意であって良い。理解されるべきことに、双方向トランザクションは、不動産、有形資産、無形資産、通貨、金融商品、取引、保険証券、株、老齢退職、従業員報酬、等を含む（が限定されない）様々な異なるトランザクションに適用可能であって良い。
【００５３】
第１トランザクション２２は、第１暗号通貨額（Ｂ１）に関連付けられる。一例では、第１ユーザの合意された義務は、支払として第２ユーザ（Ｂ）７へ暗号通貨を転送することであって良い。したがって、第１トランザクション２２は、単に、該義務を満たすための第１暗号通貨額（Ｂ１）の転送である。他の例では、第１ユーザ（Ａ）５の合意された義務は、それ自体が、暗号通貨以外の何かであって良い。例えば、第１トランザクション２２は、フィアット通貨額、株式保有、支払の約束、及び本願明細書に記載のような他の有形及び無形資産及び権利のような、別の資産の転送を含んで良い。これらの資産は、それらが暗号通貨ではないので、ピアツーピア分散台帳に記録することによりそれ自体転送されることができない。しかしながら、暗号通貨額は、このような資産を表すためにトークン化されて良く、このような「トークン化暗号通貨」の転送がピアツーピア分散台帳に記録できる。したがって、第１トランザクション２２は、第１ユーザ（Ａ）５から第２ユーザ（Ｂ）７への関連する第１暗号通貨額（Ｂ１）の転送により、表現でき、記録できる。同様に、第２トランザクション２４は、第２ユーザ（Ｂ）７から第１ユーザ（Ａ）５への関連する第２暗号通貨額（Ｂ２）の転送により、表現でき、記録できる。
【００５４】
＜信頼できるエンティティを選択する＞
第１ユーザ（Ａ）５及び第２ユーザ（Ｂ）７がそれぞれ第１トランザクション２２及び第２トランザクション２４を進めることに合意した場合でも、これらのユーザの間には不信が存在する場合がある。例えば、一方のユーザが、他方のユーザは他方のユーザの義務を果たさず、ユーザの資産を持ち逃げする可能性があるという懸念を有する場合がある。したがって、第１ユーザ（Ａ）５及び第２ユーザ（Ｂ）７の両者により信頼される信頼できるエンティティ（ＴＥ）３が巻き込まれる。ここで、信頼できるエンティティは、第２暗号通貨額（Ｂ２）を転送する３４ための要求が存在することを条件に、第１暗号通貨額（Ｂ１）を転送する３２だけである。
【００５５】
信頼できるエンティティ（ＴＥ）３は、両方のユーザにより信頼されるサービスプロバイダであって良い。例えば、信頼できるエンティティは、銀行、別の金融機関、中央銀行、造幣局、会社、等であって良い。一例では、信頼できるエンティティは、第１ユーザ（Ａ）５及び第２ユーザ（Ｂ）７の両者の電子財布（「ｅウォレット（ewallet）」）を管理する銀行であって良い。他の例では、第三者は、第三者預託サービスを提供するエンティティであって良い。
【００５６】
重要なことに、信頼できるエンティティ（ＴＥ）３は、両方のユーザにより直接信頼される、又は代替として、両方のユーザは、信頼できるエンティティ（ＴＥ）３を暗黙的に信頼する（例えば、ユーザが、信頼できるエンティティにより生成されたエラーにより生じた損失を補償される場合）。
【００５７】
＜信頼できるエンティティへ暗号通貨を転送するための要求を送信する＞
第１ユーザ（Ａ）５は、信頼できるエンティティ（ＴＥ）３により満たされると、次に、第１トランザクション２２に関連付けられた第１ユーザ（Ａ）から第２ユーザ（Ｂ）７へ第１暗号通貨額（Ｂ１）を転送する３２ための第１要求を送信する。信頼できるエンティティ（ＴＥ）３が第１ユーザ（Ａ）５のｅウォレットを管理する例では、これは、彼らを代表して第１暗号通貨額（Ｂ１）の転送３２を行うために、第１ユーザ（Ａ）５の秘密鍵を使用するための信頼できるエンティティ（ＴＥ）３に対する認証を含んで良い。第１暗号通貨額は、前のトランザクションからの第１ユーザのｅウォレットの中の暗号通貨額の部分を含んで良い。
【００５８】
第１要求２１０は、第１ユーザ（Ａ）５に関連付けられた第１ノード１５から、信頼できるエンティティ（ＴＥ）３に関連付けられた第３ノードへ送信されて良い。
【００５９】
他の例では、第１暗号通貨額（Ｂ１）を転送するための第１要求２１０は、信頼できるエンティティ（ＴＥ）３へ間接的に送信されて良い。例えば、第１ユーザ（Ａ）５は、第１ユーザのｅウォレットを管理するエンティティへ、第１暗号通貨額（Ｂ１）を転送するための要求を行って良い。第１ユーザの財布を管理するエンティティは、また、暗号通貨の条件付き転送を達成するための対応する要求を、信頼できるエンティティ（ＴＥ）３へ送信して良い。
【００６０】
第１暗号通貨額（Ｂ１）を転送する３２ための第１要求２１０は、第２暗号通貨額（Ｂ２）を転送する３４ための対応する第２要求が存在する場合だけ、第１トランザクション（第１転送３２を含む）が進められるべきであるという明示的第１通知を、要求の中に含んで良い。第２要求２１０は、同様に、第１要求が行われた場合だけ、第２トランザクション（第２転送３４を含む）が進められるべきであるという第２通知を含んで良い。
【００６１】
代替例では、第１要求２１０は明示的条件を含まず、信頼できるエンティティ（ＴＥ）３は、第１トランザクション（第１転送３２を含む）は第２トランザクション（第２転送３４を含む）を条件とするべきであることを、他の方法により決定して良い。例えば、個別メッセージが、第１転送３２及び第２転送３４が互いを条件として、信頼できるエンティティへ送信されて良い。例えば、別のノードが、第１ユーザ（Ａ）５と第２ユーザ（Ｂ）７との間の合意を実現した競売人に関連付けられて良い。他方のノードは、次に、信頼できるエンティティ（ＴＥ）３に、実際の転送が実行される前に第１及び第２トランザクション（第１ユーザ（Ａ）５と第２ユーザ（Ｂ）７との間の暗号通貨の転送を含む）が互いを条件とするという第３通知を通知して良い。幾つかの例では、このような条件は、第３ノード１３に関連付けられたデータストア１１に格納され、必要に応じて第３ノード１３により検索されて良い。
【００６２】
第２ユーザ（Ｂ）７に関連付けられた第２ノード１７も、第２ユーザ（Ｂ）７から第１ユーザ（Ａ）５へ第２暗号通貨額（Ｂ２）を転送する３４ための第２要求を送信する３１０。ここで、転送３４は、第２トランザクション２４に関連付けられる。この第２要求は、第１要求に関して上述した方法と同じ又は類似する方法で生成されて良い。
【００６３】
＜複数トランザクションを記録する方法１００を実行する＞
信頼できるエンティティ（ＴＥ）３は、図２及び３を参照して後述する複数のトランザクションを記録する方法１００を実行する。
【００６４】
方法１００は、上述のステップ２１０及び３１０で送信された、第１暗号通貨額（Ｂ１）を転送する３２ための第１要求を受信するステップ１１０と、第２暗号通貨額（Ｂ２）を転送する３４ための第２要求を受信するステップ１２０と、を含む。
【００６５】
方法１００は、第１及び第２要求を検証するステップ１３０を更に含む。検証するステップ１３０は、第１要求及び第２要求を受信する条件付きステップ１１０、１２０の両方がが満たされることを決定するステップを含む。上述のように、条件は、第１要求及び第２要求の一方又は両方に含まれて良く、及び／又は別のパーティから又は他はデータストア１１から条件を受信するような他の方法により決定されて良い。
【００６６】
更なる例では、第１要求及び第２要求を検証するステップは、第１要求が第１ユーザ（Ａ）５からであること及び／又は第２要求が第２ユーザ（Ｂ）７からであることを認証するステップを更に含む。これは、要求が第１及び第２ユーザ５、７及び／又は彼らの個々の関連する第１及び第２ノード１５／１７により生成されたことを認証する、信頼できるエンティティ（ＴＥ）３、又は認証エージェントを含んで良い。
【００６７】
別の例では、第１要求及び第２要求を検証するステップは、第１ユーザ（Ａ）５から第１暗号通貨額（Ｂ１）を転送すべき権限３２、及び第２ユーザ（Ｂ）７から第２暗号通貨額（Ｂ２）を転送すべき権限３４を決定するステップを更に含む。これは、資産の転送に関して制限のある場合に有用であり得る。例えば、ユーザ５、７が資産を自由に転送する権限を有しない状況があり得る。これは、資産の抵当権を含み得る。したがって、信頼できるエンティティ（ＴＥ）は、検証するステップ１３０において、暗号通貨の転送が進行すべきか否かを決定して良い。一例では、転送すべき権限を決定するステップは、信頼できるエンティティ（ＴＥ）が、第１トランザクション２２及び第２トランザクション２４の対象である転送又は１又は複数の資産について制限が存在するかどうかを決定するために、物上担保レジスタ（property  securities  register）へクエリを送信するステップを含んで良い。
【００６８】
ステップ１３０における第１及び第２要求の検証に基づき、方法１００は、第１及び第２暗号通貨額の転送３２、３４を記録することに進んで良い。これは、通信ネットワーク８を介して、第１データアウトプット（Ｏ１）をピアツーピア分散台帳９へ送信するステップ１４０により達成できる。第１データアウトプット（Ｏ１）は、（ｉ）第２ユーザ（Ｂ）７への第１暗号通貨額（Ｂ１）の第１転送３２の第１指示、及び（ｉｉ）第１ユーザ（Ａ）５への第２暗号通貨額（Ｂ２）の第２転送３４の第２指示、を含む。
【００６９】
ピアツーピア分散台帳９上の第１データアウトプット（Ｏ１）は、以下を達成する。
【００７０】
第一に、これは、第２ユーザ（Ｂ）７への第１暗号通貨額（Ｂ１）の転送３２を記録する。第１暗号通貨額（Ｂ１）は、第１ユーザ（Ａ）５から第２ユーザ（Ｂ）７への関連する第１トランザクション２２を表す。第２ユーザ（Ｂ）７への第１暗号通貨額（Ｂ１）の値は、（ｉ）第１暗号通貨額（Ｂ１）の公称暗号通貨値、及び／又は（ｉｉ）第１暗号通貨額（Ｂ１）の表す「トークン値」又は「資産」のような他の関連する値、を含んで良い。第２ユーザ（Ｂ）７は、将来に、将来のトランザクションのために第１暗号通貨額（Ｂ１）を使用して良い。
【００７１】
第二に、これは、第１ユーザ（Ａ）５への第２暗号通貨額（Ｂ２）の転送３４を記録する。これは、上述のように第２ユーザ（Ｂ）７が受信した第１暗号通貨額（Ｂ１）を使用するのと同様の方法で、第１ユーザ（Ａ）５により使用されて良い。
【００７２】
第三に、第１データアウトプット（Ｏ１）は、双方向トランザクションが生じたことを確認するために使用可能なピアツーピア分散台帳上の永久記録になる。さらに、記録が永久であり且つ双方向トランザクションの部分である複数の転送の指示が同じ第１データアウトプット（Ｏ１）の中に存在するので、これは、双方向トランザクションにおける信頼をユーザに与えることができる。これは、以下に更に詳細に記載される。
【００７３】
＜第１トランザクション２２及び／又は第２トランザクション２４を確認する方法＞
第１トランザクション２２及び／又は第２トランザクション２４を確認する方法４００は、図４を参照して以下に記載される。
【００７４】
幾つかの状況では、例えば第１ユーザ（Ａ）５と第２ユーザ（Ｂ）７との間の監査又は論争の間に、第１トランザクション２２及び／又は第２トランザクション２４の記録を確認することが望ましい。これは、第１ユーザ（Ａ）５、第２ユーザ（Ｂ）７、又は（監査人、法定代理人、又は調停者のような）別のパーティが、第１トランザクション２２及び／又は第２トランザクション２４を確認するための要求を送信するステップ５１０を含んで良い。要求５１０は、限定ではないが、第１及び／又は第２トランザクション２２、２４、暗号通貨の第１及び／又は第２転送３２、３４、第１又は第２ユーザ５、７により生成されたトランザクションへの参照を含む種々の方法で構成されて良い。理解されるべきことに、要求を送信するステップ５１０は、第１トランザクション２２及び第２トランザクション２４の両方が関連する双方向トランザクションの中で生成されたことを確認するための要求を送信するステップを更に含んで良い。
【００７５】
方法４００は、信頼できるエンティティ（ＴＥ）３、又は別のエンティティが、第１トランザクション２２及び／又は第２トランザクション２４を確認するための要求を受信するステップ４１０を含む。
【００７６】
方法４００は、次に、（ｉ）第１トランザクション２２に関連付けられた第１暗号通貨額（Ｂ１）の第１転送３２、及び／又は（ｉｉ）第２トランザクション２４に関連付けられた第２暗号通貨額（Ｂ２）の第２転送３４、に対応する第１データアウトプット（Ｏ１）を決定するステップ４２０を含む。一例では、決定するステップ４２０は、データストア１１又は他のノードから、第１転送３２及び／又は第２転送３４に関連付けられた対応する第１データアウトプット（Ｏ１）の決定を可能にするレコードを受信するステップを含んで良い。例えば、このようなレコードは、第１データアウトプットを第１転送３２及び第２転送３４、第１ユーザ（Ａ）５に関連付けられた転送、及び／又は第２ユーザ（Ｂ）７に関連付けられた転送、等にマッピングするテーブルを含んで良い。他の例では、これは、ピアツーピア分散台帳からのレコードに基づき、第１データアウトプット（Ｏ１）を識別するために、第１ユーザ（Ａ）５及び／又は第２ユーザ（Ｂ）７を巻き込むトランザクションを決定するステップを含んで良い。
【００７７】
次のステップは、通信ネットワーク８を介して、ピアツーピア分散台帳９から、第１データアウトプット（Ｏ１）の少なくとも部分を受信するステップ４３０を含む。幾つかの例では、第１データアウトプット（Ｏ１）又はそのレコードは、データストア１１に格納される。しかしながら、ピアツーピア分散台帳９から第１データアウトプット（Ｏ１）の少なくとも部分を受信するステップは、第１データアウトプット（Ｏ１）が実際に記録されたことの検証を可能にする。
【００７８】
次のステップは、第１データアウトプット（Ｏ１）から、第１転送３２の第１指示及び／又は第２転送３４の第２指示を決定するステップ４４０を含む。
【００７９】
方法４００は、第１転送３２の第１指示及び／又は第２転送３４の第２指示が、受信した要求の中のクエリされた第１トランザクション２２及び／又は第２トランザクションに対応することを検証するステップ４５０を更に含む。例えば、これは、期待される暗号通貨の転送の第１転送３２の第１指示を第１トランザクション２２と比較するステップ（及び／又は第２転送３４の第２指示とクエリされた第２トランザクション２４とを同様に比較するステップ）を含んで良い。
【００８０】
方法４００は、検証するステップ４５０の結果を示すアウトプットを送信するステップ４６０を更に含んで良い。アウトプットは、第１ユーザ（Ａ）５、第２ユーザ（Ｂ）７、又は第１及び／又は第２トランザクション２２、２４のクエリされた若しくは要求された確認を有する他のエンティティ若しくはノードにより受信されて良い５２０。
【００８１】
幾つかの例では、方法４００は、第１転送３２及び第２転送３４について条件規定を検証するステップを更に含む。したがって、方法４００は、第１転送３２の第１指示及び第２転送３４の第２指示に基づき、第１要求１１０及び第２要求１２０を受信する条件付きステップの両方が満たされたことを検証するステップを更に含んで良い。この検証ステップは、例えばデータストア１１から、第１及び第２転送３２、３４が互いに対して条件であることのレコードをクエリするステップを更に含んで良い。方法４００は、第１トランザクション２２が第２要求を受信するステップ１２０の条件であること、及び／又は第２トランザクション２４が第１要求を受信するステップ１１０の条件であること、並びに、条件付きステップが満たされたこと、を示すアウトプットを送信するステップを更に含んで良い。
【００８２】
＜変形＞
＜データアウトプットの中の双方向トランザクションを示すメタデータ＞
幾つかの更なる変形では、第１トランザクション２２及び／又は第２トランザクション２４に関連する情報は、ピアツーピア分散台帳９上に記録された第１データアウトプット（Ｏ１）に含まれて良い。このような情報の包含は、第１及び第２トランザクション２２、２４（及び対応する第１及び第２転送３２、３４）を検証するために有用である場合がある。
【００８３】
このような情報を包含する１つの方法は、該情報を、第１トランザクション２２及び第２トランザクション２４の一方又は両方に関連付けられた第１データアウトプット（Ｏ１）内のメタデータに含むことである。このような情報は、限定ではないが、以下を含む：第１及び／又は第２トランザクションに関連する取引条件、第１及び／又は第２トランザクションに関連する情報へのポインタ、第１ユーザ（Ａ）５及び／又は第２ユーザ（Ｂ）７に関連する１又は複数の識別子、を含んで良い。
【００８４】
幾つかの例では、情報は、相当量の長さであり、及び／又は機密情報であって良い。したがって、幾つかの例では、情報、又は情報の少なくとも部分は、ハッシュされて良い。これは、ハッシュされた長さが短くなると共に、情報を隠すよう機能するので、有利である。同時に、ハッシュされた情報は、ピアツーピア分散台帳９に永久的に記録され、情報を検証するために記録を使用可能にする。例えば、情報を検証したいと望むエンティティは、クエリされた情報をハッシュでき、該情報は次にピアツーピア分散台帳９上に記録されたハッシュと比較される。
【００８５】
＜ｐａｙ−ｔｏ−ｓｃｒｉｐｔ−ｈａｓｈトランザクションに対するＲｅｄｅｅｍスクリプトの中のメタデータ＞
ビットコインプロトコルのピアツーピア方法では、メタデータは、アウトプットスクリプトに含まれて良い。第１データアウトプットの中でメタデータを提供する一例は、ｐａｙ−ｔｏ−ｓｃｒｉｐｔ−ｈａｓｈトランザクションを参照して以下に記載される。ビットコインプロトコルの標準的なｐａｙ−ｔｏ−ｓｃｒｉｐｔ−ｈａｓｈ方法では、アウトプットスクリプト又はＲｅｄｅｅｍスクリプトは、以下の形式を取り得る。
<NumSigs  PubK１  PubK２  ...  PubK１５  NumKeys  OP_CHECKMULTISIG>
ここで、ＮｕｍＳｉｇｓは、トランザクションを解除するためにＲｅｄｅｅｍスクリプトを満たすために必要な有効署名の数「ｍ」である。ＰｕｂＫ１、ＰｕｂＫ２、．．．、ＰｕｂＫ１５は、トランザクションを解除する署名に対応する公開鍵である（最大１５個の公開鍵まで）。ＮｕｍＫｅｙｓは公開鍵の数「ｎ」である。
【００８６】
上述のＲｅｄｅｅｍスクリプトを償還（redeem）するために、少なくとも、公開鍵に対応する「ｍ」個の署名が必要である。幾つかの例では、公開鍵の順序が重要であり、「ｎ」人のうちの「ｍ」人の署名する署名者が順次行われなければならない。例えば、「ｍ」が２であり、「ｎ」が１５である場合を考える。使用可能な２つの署名、Ｓｉｇ１（ＰｕｂＫ１に対応する）及びＳｉｇ１５（ＰｕｂＫ１５に対応する）がある場合、Ｒｅｄｅｅｍスクリプトは、先ずＳｉｇ１により署名され、続いてＳｉｇ１５により署名されなければならない。
【００８７】
メタデータは、Ｒｅｄｅｅｍスクリプトの中の公開鍵のために利用可能な１５個の場所のうちの１又は複数に、Ｒｅｄｅｅｍスクリプト内に埋め込まれて良い。例えば、Ｒｅｄｅｅｍスクリプトは次の形式を取って良い。
<NumSigs  Metadata１  Metadata２  ...  PubK１  PubK２  …  NumKeys  OP_CHECKMULTISIG>
ここで、Ｍｅｔａｄａｔａ１及びＭｅｔａｄａｔａ２は、それぞれ、Ｒｅｄｅｅｍスクリプトの中の公開鍵に取って代わるメタデータを含み、ＰｕｂＫ１及びＰｕｂＫ２は公開鍵である。
【００８８】
暗号通貨の転送に関連付けられたメタデータ、例えば第１及び第２トランザクション２２、２４に関連付けられた情報を挿入することにより、情報のハッシュが永久レコードとしてピアツーピア分散台帳９に含まれる。
【００８９】
したがって、第１トランザクション２２及び／又は第２トランザクション２４を確認する方法４００は、第１トランザクション及び／又は第２トランザクションにより応答し得るメタデータを決定するステップを更に含んで良い。例えば、これは、データストア１１、第１ノード１５、第２ノード１７、第３ノード１３、又は第１及び／又は第２トランザクション２２、２４に関連する他のノードから、情報を検索するステップを含んで良い。この情報は、第１及び／又は第２トランザクション２２、２４に関連付けられたメタデータ、特にピアツーピア分散台帳上に記録された第１データアウトプット（Ｏ１）の中に存在し得るメタデータを検証するために使用されて良い。メタデータが第１データアウトプット（Ｏ１）内でハッシュされた場合、検証するステップは、ハッシュされたメタデータと比較するために上述の情報をハッシュするステップを含んで良い。
【００９０】
＜トークン化された暗号通貨＞
第１トランザクション２２及び／又は第２トランザクション２４は、厳密には（第１及び第２暗号通貨額のような）暗号通貨ではない（有形及び無形）資産を転送する意図を含んで良い。代わりに、意図は、資産を転送する意図を含み得る。したがって、暗号通貨の第１転送３２及び第２転送３４の一方又は両方は、資産及び権利を表す「トークン」の転送があるように、「トークン化された暗号通貨」を用いて実行されて良い。中でも、トークンは、フィアット通貨、商品又はサービス、不動産権利、等と交換されるべきホルダーに特定権利を与える転送可能な取引（コントラクト、contract）を表して良い。
【００９１】
方法１００では、第１暗号通貨額（Ｂ１）は第１トークン（Ｔ１）に関連付けられて良く、及び／又は第２暗号通貨額（Ｂ２）は第２トークン（Ｔ２）に関連付けられて良い。
【００９２】
トークンを含む暗号通貨トランザクション（ＩＤ−６００）に記録された双方向トランザクションの一例は、表１（簡単のため、マイナー料金は示されない）及び図５を参照して以下に記載される。これは、第１トークン（Ｔ１）に関連付けられた第１暗号通貨額（Ｂ１）の転送を含む第１トランザクション２２を含む。特に、ここで、第１ユーザ（Ａ）５が第１トークン（Ｔ１）を有し、第１トークン（Ｔ１）を第２ユーザ（Ｂ）７へ転送する意向である。この双方向トランザクションの他方は、第２暗号通貨額（Ｂ２）を第１ユーザ（Ａ）５へ転送する第２ユーザ（Ｂ）７である。本例では、第２暗号通貨額（Ｂ２）は、トークン化されず、第１トークン（Ｔ１）に対する第２ユーザ（Ｂ）７による支払を表す。
［表１］
【表１】
2019514099.tif 000003
【００９３】
＜インプット＞
表１の第４〜８行は、トークン化された第１暗号通貨額（Ｂ１）のインプットを表す。第１暗号通貨額（Ｂ１）は、第１ユーザ（Ａ）５の利益のために第１トークンを転送した前のトランザクション（ＩＤ−１１０）の結果であった。したがって、前のトランザクションアウトプットスクリプトは、第１ユーザの公開鍵（Ｐ１Ａ）を含む。したがって、この前のアウトプットを解除するために、スクリプトは、第１ユーザの秘密鍵（Ｖ１Ａ）で署名されなければならない。本例では、このＲｅｄｅｅｍスクリプトは、ＭＵＬＴＩＳＩＧを含む。ＭＵＬＴＩＳＩＧも、不注意な使用を防ぐために、信頼できるエンティティの秘密鍵（Ｖ１Ｔ）により署名することを、信頼できるエンティティ（ＴＥ）３に要求する（しかしながら、幾つかの他の変形では、これが要求されない場合があることが理解されるべきである）。表１の第７行は、アンロックスクリプトがＲｅｄｅｅｍスクリプト内に「ＴｏｋｅｎＭｅｔａｄａｔａ」を含むことを示す。ＴｏｋｅｎＭｅｔａｄａｔａは情報を含み、この第１暗号通貨額（Ｂ１）が第１トークン（Ｔ１）として認識できるようにする。最後に、表１の第８行は、この第１暗号通貨額（Ｂ１）が双方向トランザクション（ＩＤ−６００）内の第１アウトプットになることを示す。
【００９４】
表１の第９〜１３行は、トークン化されていない第２暗号通貨額（Ｂ２）のインプットを表す。この第２暗号通貨額（Ｂ２）は、第２ユーザ（Ｂ）７の利益のために該暗号通貨を転送した前のトランザクション（ＩＤ−２１０）の結果であった。したがって、前のトランザクションアウトプットスクリプトは、第２ユーザの公開鍵（Ｐ１Ｂ）を含む。したがって、この前のアウトプットを解除するために、スクリプトは、第２ユーザの秘密鍵（Ｖ１Ｂ）による署名を要求する。最後に、表１の第１３行は、この第２暗号通貨額（Ｂ２）が双方向トランザクション（ＩＤ−６００）内の第２アウトプットになることを示す。
【００９５】
＜アウトプット＞
表１の行１５〜１７は、この双方向トランザクション（ＩＤ−６００）の第１アウトプットを表す。これは、この場合、第２ユーザ（Ｂ）７へ転送された第１トークン（Ｔ１）を表す。行１５は、アウトプット値を示し、第１暗号通貨額（Ｂ１）の量である。行１７は、アウトプットスクリプトを示し、ｐａｙ−ｔｏ−ｓｃｒｉｐｔ−ｈａｓｈで使用される「＜ｒｅｄｅｅｍ−ｓｃｒｉｐｔ−ｈａｓｈ＞」を含む。
【００９６】
＜ｒｅｄｅｅｍ−ｓｃｒｉｐｔ−ｈａｓｈ＞はＲｅｄｅｅｍスクリプトのハッシュである。本例では、第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）は次の形式である。
<２  TokenMetadata  P１B  P１T  ３  OP_CHECKMULTISIG>
【００９７】
第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）は、ＭＵＬＴＩＳＩＧのフィールドのうちの１つの中のメタデータである「ＴｏｋｅｎＭｅｔａｄａｔａ」を含む。したがって、この第１暗号通貨額（Ｂ１）は、引き続き第１トークン（Ｔ１）として認識されることが可能になる。第１トークン（Ｔ１）は第２ユーザ（Ｂ）７の利益のために転送されたので、この第１暗号通貨額（Ｂ１）はロックされて、第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）が第２ユーザの公開鍵（Ｐ１Ｂ）を含み、したがって解除のために第２ユーザの秘密鍵（Ｖ１Ｂ）を要求するようにする。本例では、Ｒｅｄｅｅｍスクリプトは、信頼できるエンティティの公開鍵（Ｐ１Ｔ）も含み、したがって、解除のために信頼できるエンティティの秘密鍵（Ｖ１Ｔ）を要求する。理解されるべきことに、幾つかの他の変形は、第１暗号通貨額（Ｂ１）の将来の使用において信頼できるエンティティ（ＴＥ）３を含まなくて良く、このような場合には、第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）に信頼できるエンティティの公開鍵（Ｐ１Ｔ）を含む必要がなくて良い。
【００９８】
上述の第１Ｒｅｄｅｅｍスクリプト（ＲＳ１）は、次に、ピアツーピア分散台帳９上に記録されるために送信される第１ハッシュ（Ｈ１）を決定するために、ハッシュされる。
【００９９】
第１暗号通貨額（Ｂ１）の将来のトランザクションでは、例えば、第２ユーザ（Ｂ）７が第１トークン（Ｔ１）を転送したいとき、第１暗号通貨額（Ｂ１）を解除するためのスクリプト（例えば将来のトランザクションのインプットスクリプト署名（ＳｃｒｉｐｔＳｉｇ））は、以下の形式であって良い。
Sig−V１B  Sig−V１T  <２  TokenMetadata  P１B  P１T３  OP_CHECKMULTISIG>
【０１００】
表２の行１８〜２０は、この双方向トランザクション（ＩＤ−６００）の第２アウトプットを表す。これは、この場合、第１ユーザ（Ａ）５へ転送された第２暗号通貨額（Ｂ２）である。この第２暗号通貨額（Ｂ２）は、行１８に示されるように、「１００００」の値を有する。この第２暗号通貨額（Ｂ２）はトークン化されていないので、それらが適すると分かれば、第１ユーザ（Ａ）５はこれを使用することが自由であるべきである。行２０を参照すると、アウトプットスクリプトは、第２暗号通貨額（Ｂ２）が第１ユーザの公開鍵（Ｐ１Ａ）によりロックされていることを示す。これは、必要に応じて、第１ユーザの秘密鍵（Ｖ１Ａ）により解除できる。
【０１０１】
これらのアウトプットは、次に、第１データアウトプット（Ｏ１）と共にピアツーピア分散台帳９上に記録される。特に、第１データアウトプット（Ｏ１）の第１指示は、第１トークン（Ｔ１）を提供する第１暗号通貨額（Ｂ１）に関連付けられた第１ハッシュ（Ｈ１）（表１の１７行におけるアウトプットスクリプトの結果に基づく）を含む。第１アウトプット（Ｏ１）は、第２暗号通貨額（Ｂ２）に関連付けられた第２指示も含む（ここで、第２指示は、表１の２０行におけるアウトプットスクリプトの結果に基づく）。
【０１０２】
上述の例は、トークン化された第１暗号通貨額（Ｂ１）を記載した。理解されるべきことに、幾つかの例では、第２暗号通貨額（Ｂ２）もトークン化され、したがって、上述の方法は、第２暗号通貨額（Ｂ２）はが第２トークン（Ｔ２）を提供できるように適応し得る。第２トークン（Ｔ２）は同様に転送でき、第２Ｒｅｄｅｅｍスクリプト（ＲＳ２）の第２ハッシュ（Ｈ２）を含む結果がピアツーピア分散台帳９上に記録される。
【０１０３】
上述の例は２人のユーザ（５、７）及び２つの個々のトランザクション（２２、２４）を記載したが、方法の変形が追加ユーザ及び追加トランザクションを有し実施されて良いことが理解されるべきである。例えば、追加の第３ユーザが含まれて良く、それにより、第３ユーザ及び第１ユーザ（Ａ）５は、互いの間に第３及び第４トランザクションを有することに合意する。例えば、第１ユーザ（Ａ）５は小売店であって良く、第２ユーザ及び第３ユーザは顧客であって良い。
【０１０４】
＜処理装置＞
上述のように、第１ユーザ（Ａ）５、第２ユーザ（Ｂ）７、及び信頼できるエンティティ（ＴＥ）３は、それぞれ第１ノード１５、第２ノード１７、及び第３ノード１３に関連付けられて良い。第１ノード１５、第２ノード１７、及び第３ノード１３は、コンピュータ、タブレットコンピュータ、モバイル通信装置、コンピュータサーバ、コンピュータ端末、等のような電子装置であって良い。電子装置は、処理装置２３、データストア１１、及びユーザインタフェースを含んで良い。ユーザインタフェースの例は、キーボード、マウス、モニタ、タッチスクリーンディスプレイ、等を含む。ピアツーピア分散台帳９は、複数の処理装置１９にも関連付けられて良い。
【０１０５】
図６は、処理装置１９、２３の一例を示す。処理装置１９、２３は、バス１５３０を介して互いに通信する、プロセッサ１５１０、メモリ１５２０、及びインタフェース装置１５４０を含む。メモリ１５２０は、上述の方法１００、４００を実施するための命令及びデータを格納し、プロセッサ１５１０は、メモリ１５２０からの（コンピュータプログラムのような）該命令を実行して、方法１００、４００を実施する。インタフェース装置１５４０は、通信ネットワーク８、及び幾つかの例ではユーザインタフェース及びデータストア１１のような周辺機器との通信を実現する通信モジュールを含んで良い。留意すべきことに、処理装置１５１０は独立したネットワーク要素であって良いが、処理装置１５１０は別のネットワーク要素の部分であっても良い。さらに、処理装置１９、２３により実行される幾つかの機能は、複数のネットワーク要素の間で分散されて良い。例えば、信頼できるエンティティ（ＴＥ）３は、信頼できるエンティティ（ＴＥ）３に関連付けられたセキュアローカルエリアネットワークにおいて方法１００、４００を実行するために複数の処理装置２３に関連付けられて良い。
【０１０６】
本開示の広範な一般的範囲から逸脱せずに、多数の変形及び／又は変更が上述の実施形態に対して行われることが、当業者により理解される。本発明の実施形態は、したがって、あらゆる面で、単に説明であり限定的でないと考えられる。
【図１】
2019514099.tif 000004
【図２】
2019514099.tif 000005
【図３】
2019514099.tif 000006
【図４】
2019514099.tif 000007
【図５】
2019514099.tif 000008
【図６】
2019514099.tif 000009
【国際調査報告】
2019514099.tif 000010
2019514099.tif 000011