(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169246
(43)【公開日】2023-11-29
(54)【発明の名称】N個のうちM個の鍵を使用して顧客ウォレットを復元するマルチ承認システム
(51)【国際特許分類】
G06Q 20/36 20120101AFI20231121BHJP
H04L 9/08 20060101ALI20231121BHJP
G06F 21/32 20130101ALI20231121BHJP
H04L 9/14 20060101ALI20231121BHJP
【FI】
G06Q20/36
H04L9/08 D
G06F21/32
H04L9/08 A
H04L9/08 F
H04L9/14
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023146745
(22)【出願日】2023-09-11
(62)【分割の表示】P 2020540379の分割
【原出願日】2019-01-17
(31)【優先権主張番号】62/618,077
(32)【優先日】2018-01-17
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/663,921
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/663,922
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/780,779
(32)【優先日】2018-12-17
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.3GPP
3.WCDMA
(71)【出願人】
【識別番号】521151175
【氏名又は名称】ティーゼロ・アイピー,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100195408
【弁理士】
【氏名又は名称】武藤 陽子
(72)【発明者】
【氏名】ブラック,トロン
(72)【発明者】
【氏名】ベッカー,デニー
(57)【要約】 (修正有)
【課題】プロセッサ、メモリおよび顧客デバイスや信頼できるサードパーティと通信するネットワークインターフェースを含むコンピューティングシステムを提供する。
【解決手段】マルチ承認暗号通貨アカウントおよびトランザクションのためのシステム100において、通貨変換システム104は、顧客デバイスから顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信し、顧客デバイスから受信した顧客のアイデンティティデータを検証し、顧客デバイスから受信した顧客のアイデンティティデータを検証すると、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティ106の鍵リポジトリ116に通信し、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、
前記少なくとも1つのプロセッサに通信可能に結合され、顧客デバイスおよび信頼できるサードパーティと通信するように構成された少なくとも1つのネットワークインターフェースと、を備え、
前記少なくとも1つのネットワークインターフェースは、前記顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するように構成され、
前記少なくとも1つのプロセッサは、前記顧客デバイスから受信した前記顧客の前記アイデンティティデータを検証するように構成され、
前記少なくとも1つのプロセッサが、前記顧客デバイスから受信した前記顧客の前記アイデンティティデータを検証すると、前記少なくとも1つのネットワークインターフェースは、前記顧客ウォレットに関連付けられた第1の鍵を求める要求を、前記信頼できるサードパーティの鍵リポジトリに通信するように構成され、
前記少なくとも1つのプロセッサは、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた第2の鍵とを使用して、前記顧客ウォレットを復元するように構成される、コンピューティングシステム。
【請求項2】
前記少なくとも1つのネットワークインターフェースが、前記信頼できるサードパーティの前記鍵リポジトリから、前記顧客ウォレットに関連付けられた前記第1の鍵を受信すると、前記少なくとも1つのプロセッサは、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた前記第2の鍵とを使用して、前記顧客ウォレットを復元するように構成される、請求項1に記載のコンピューティングシステム。
【請求項3】
前記少なくとも1つのプロセッサは、
新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成し、
前記1つまたは複数の新しい秘密鍵に基づいて、前記新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成し、
前記第1の鍵および前記第2の鍵を使用して、デジタル資産を古い顧客ウォレットから前記新しいトランザクションアドレスに転送することによって、
少なくとも部分的に、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた前記第2の鍵とを使用して前記顧客ウォレットを復元するように構成される、請求項2に記載のコンピューティングシステム。
【請求項4】
前記顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、
各古いトランザクションアドレスは、それぞれの前記古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの前記古いトランザクションアドレスに関連付けられたそれぞれの前記3個の秘密鍵のうち少なくとも2個を必要とする、請求項3に記載のコンピューティングシステム。
【請求項5】
前記少なくとも1つのネットワークインターフェースは、
前記新しい顧客ウォレットに関連付けられた前記新しいトランザクションアドレスを、前記顧客デバイスに通信するように構成される、請求項3に記載のコンピューティングシステム。
【請求項6】
前記少なくとも1つのネットワークインターフェースは、
1つまたは複数の前記新しい秘密鍵を、前記顧客デバイスに通信するように構成される
、請求項5に記載のコンピューティングシステム。
【請求項7】
前記新しい秘密鍵は、秘密トランザクション鍵である、請求項6に記載のコンピューティングシステム。
【請求項8】
前記少なくとも1つのプロセッサは、
前記アイデンティティデータを、以前に格納された前記顧客のアイデンティティデータと比較することによって、
少なくとも部分的に、前記顧客デバイスから受信された前記顧客の前記アイデンティティデータを検証するように構成される、請求項1に記載のコンピューティングシステム。
【請求項9】
前記アイデンティティデータは、生体データを備える、請求項1に記載のコンピューティングシステム。
【請求項10】
前記信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである、請求項1に記載のコンピューティングシステム。
【請求項11】
前記顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される、請求項1に記載のコンピューティングシステム。
【請求項12】
信頼できるサードパーティおよび顧客の顧客デバイスと通信するように構成されたコンピューティングデバイスと、
前記コンピューティングデバイスと通信可能に結合された鍵リポジトリと、を備え、
前記コンピューティングデバイスは、前記顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するように構成され、
前記コンピューティングデバイスは、前記顧客デバイスから受信した前記顧客の前記アイデンティティデータを検証するように構成され、
前記コンピューティングデバイスは、前記顧客ウォレットに関連付けられた第1の鍵を求める要求を、前記信頼できるサードパーティの鍵リポジトリに通信するように構成され、
前記コンピューティングデバイスは、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた第2の鍵とを使用して、前記顧客ウォレットを復元する、システム。
【請求項13】
前記コンピューティングデバイスが、前記信頼できるサードパーティの前記鍵リポジトリから前記顧客ウォレットに関連付けられた前記第1の鍵を受信すると、前記コンピューティングデバイスは、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた前記第2の鍵とを使用して前記顧客ウォレットを復元するように構成される、請求項12に記載のシステム。
【請求項14】
前記コンピューティングデバイスは、
新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成し、
前記1つまたは複数の新しい秘密鍵に基づいて、前記新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成し、
前記第1の鍵および前記第2の鍵を使用して、デジタル資産を古い顧客ウォレットから前記新しいトランザクションアドレスに転送することによって、
少なくとも部分的に、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた前記第2の鍵とを使用して、前記顧客ウォレットを復元するように構成される、請求項13に記載のシステム。
【請求項15】
前記顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、
各古いトランザクションアドレスは、それぞれの古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの前記古いトランザクションアドレスに関連付けられたそれぞれの前記3個の秘密鍵のうち少なくとも2個を必要とする、請求項14に記載のシステム。
【請求項16】
前記コンピューティングデバイスはさらに、
前記新しい顧客ウォレットに関連付けられた前記新しいトランザクションアドレスを、前記顧客デバイスに通信するように構成される、請求項14に記載のシステム。
【請求項17】
前記コンピューティングデバイスはさらに、
前記1つまたは複数の新しい秘密鍵を前記顧客デバイスに通信するように構成される、請求項16に記載のシステム。
【請求項18】
前記新しい秘密鍵は、秘密トランザクション鍵である、請求項17に記載のシステム。
【請求項19】
前記コンピューティングデバイスは、
前記アイデンティティデータを以前に格納された前記顧客のアイデンティティデータと比較することによって、
少なくとも部分的に、前記顧客デバイスから受信された前記顧客の前記アイデンティティデータを検証するように構成される、請求項12に記載のシステム。
【請求項20】
前記アイデンティティデータは生体データを備える、請求項12に記載のシステム。
【請求項21】
前記信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである、請求項12に記載のシステム。
【請求項22】
前記顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される、請求項12に記載のシステム。
【請求項23】
コンピューティングデバイスで、顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するステップと、
前記コンピューティングデバイスで、前記顧客デバイスから受信した前記顧客の前記アイデンティティデータを検証するステップと、
前記顧客デバイスから受信した前記顧客の前記アイデンティティデータが検証されると、前記顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティの鍵リポジトリに通信するステップと、
前記信頼できるサードパーティの前記鍵リポジトリから、前記顧客ウォレットに関連付けられた前記第1の鍵を受信するステップと、を備え、
前記顧客ウォレットは、前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた第2の鍵とを使用して復元することができる、コンピュータ化された方法。
【請求項24】
前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付けられた前記第2の鍵とを使用して、前記コンピューティングデバイスで前記顧客ウォレットを復元するステップをさらに備える、請求項23に記載のコンピュータ化された方法。
【請求項25】
前記顧客ウォレットに関連付けられた前記第1の鍵と、前記顧客ウォレットに関連付け
られた前記第2の鍵とを使用して、前記コンピューティングデバイスで前記顧客ウォレットを復元するステップは、
新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成するステップと、
前記1つまたは複数の新しい秘密鍵に基づいて、前記新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成するステップと、
前記第1の鍵および前記第2の鍵を使用して、デジタル資産を古い顧客ウォレットから前記新しいトランザクションアドレスに転送するステップと、を備える、請求項24に記載のコンピュータ化された方法。
【請求項26】
前記顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、
各古いトランザクションアドレスは、それぞれの前記古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの前記古いトランザクションアドレスに関連付けられたそれぞれの前記3個の秘密鍵のうち少なくとも2個を必要とする、請求項25に記載のコンピュータ化された方法。
【請求項27】
前記新しい顧客ウォレットに関連付けられた前記新しいトランザクションアドレスを前記顧客デバイスに通信するステップをさらに備える、請求項25に記載のコンピュータ化された方法。
【請求項28】
1つまたは複数の前記新しい秘密鍵を前記顧客デバイスに通信するステップをさらに備える、請求項25に記載のコンピュータ化された方法。
【請求項29】
前記新しい秘密鍵は、秘密トランザクション鍵である、請求項28に記載のコンピュータ化された方法。
【請求項30】
前記コンピューティングデバイスにおいて、前記顧客デバイスから受信された前記顧客の前記アイデンティティデータを検証するステップは、
前記アイデンティティデータを、以前に格納された前記顧客のアイデンティティデータと比較するステップを備える、請求項23に記載のコンピュータ化された方法。
【請求項31】
前記アイデンティティデータは、生体データを備える、請求項23に記載のコンピュータ化された方法。
【請求項32】
前記信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである、請求項23に記載のコンピュータ化された方法。
【請求項33】
前記顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される、請求項23に記載のコンピュータ化された方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本出願は、2018年1月17日に出願され「MULTI-SIGNATURE(MULTI-SIG) WITH THREE KEYS REQUIRING TWO OF THREE KEYS TO ACCESS CRYPTOCURRENCY
WALLET AND STORING KEYS WITH USER, TRUSTED 3RD PARTY, AND EXCHANGE(暗号通貨ウォレットにアクセスするために3個のうち2個の鍵を必要とし、ユーザ、信頼できるサードパーティ、および交換所を用いて鍵を格納する、3個の鍵を有するマルチシグネチャ(マルチシグ))」と題された米国特許仮出願第62/618,077号(代理人整理番号270.018USPR)、2018年4月27日に出願され「MULTI-APPROVAL CRYPTOCURRENCY SYSTEM REQUIRING M OF N KEYS
TO ACCESS AND RESTORE CRYPTOCURRENCY WALLET(暗号通貨ウォレットにアクセスして復元するために、N個のうちM個の鍵を必要とするマルチ承認暗号通貨システム)」と題された米国特許仮出願第62/663,921号(代理人整理番号270.018USP2)、2018年4月27日に出願され「MULTI-APPROVAL CRYPTOCURRENCY SYSTEM REQUIRING M OF N KEYS TO ACCESS AND RESTORE
CRYPTOCURRENCY WALLET(暗号通貨ウォレットにアクセスして復元するために、N個のうちM個の鍵を必要とするマルチ承認暗号通貨システム)」と題された米国特許仮出願第62/663,922号(代理人整理番号270.019USPR)、および2018年12月17日に出願され「MULTI-APPROVAL CRYPTOCURRENCY SYSTEM(マルチ承認暗号通貨システム)」と題された米国特許仮出願第62/780,779号(代理人整理番号270.027USPR)の利益を主張し、これらはすべて、参照により本明細書に組み込まれる。
【0002】
[0002]本出願は、参照により本明細書に組み込まれる、以下の同時係属中の米国特許出願に関連する。
【0003】
[0003]「MULTI-APPROVAL SYSTEM USING M OF N KEYS TO GENERATE A TRANSACTION ADDRESS(トランザクションアドレスを生成するために、N個のうちM個の鍵を使用するマルチ承認システム)」と題され、本願と同日に出願され、参照により本明細書に組み込まれる米国特許出願第__________号(代理人整理番号270.019US01)。
【0004】
[0004]「MULTI-APPROVAL SYSTEM USING M OF N KEYS TO PERFORM AN ACTION AT A CUSTOMER DEVICE(顧客デバイスにおいてアクションを実行するために、N個のうちM個の鍵を使用するマルチ承認システム)」と題され、本願と同日に出願され、参照により本明細書に組み込まれる米国特許出願第__________号(代理人整理番号270.027US01)。
【0005】
[0005]「MULTI-APPROVAL SYSTEM USING M OF N KEYS TO GENERATE A SWEEPING TRANSACTION AT A CUSTOMER DEVICE(顧客デバイスにおいてスイープトランザクションを生成するために、N個のうちM個の鍵を使用するマルチ承認システム)」と題さ
れ、本願と同日に出願され、参照により本明細書に組み込まれる米国特許出願第__________号(代理人整理番号270.029US01)。
【背景技術】
【0006】
[0006]暗号化を使用して、データを安全に格納および送信することができる。鍵は、データの暗号化と、暗号化されたデータの復号に使用できる。
【発明の概要】
【0007】
[0007]少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリとを含むコンピューティングシステムが開示される。コンピューティングシステムはまた、少なくとも1つのプロセッサに通信可能に結合され、顧客デバイスおよび信頼できるサードパーティと通信するように構成された少なくとも1つのネットワークインターフェースを含む。少なくとも1つのネットワークインターフェースは、顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するように構成される。少なくとも1つのプロセッサは、顧客デバイスから受信した顧客のアイデンティティデータを検証するように構成される。少なくとも1つのプロセッサが、顧客デバイスから受信した顧客のアイデンティティデータを検証すると、少なくとも1つのネットワークインターフェースは、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティの鍵リポジトリに通信するように構成される。少なくとも1つのプロセッサは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元するように構成される。
【0008】
[0008]図面は例示的な実施形態のみを示し、したがって範囲を限定するものと見なされるべきではないことを理解して、例示的な実施形態は、添付の図面の使用を通じて追加の具体性および詳細とともに説明される。
【図面の簡単な説明】
【0009】
【
図1】マルチ承認暗号通貨アカウントおよびトランザクションのための例示的なシステムを示すブロック図である。
【
図2A】顧客ウォレットを実施するための顧客デバイス上の例示的なノードツリーを示すブロック図である。
【
図2B】顧客ウォレットを実施するための通貨変換システム上の別の例示的なノードツリーを示すブロック図である。
【
図2C】顧客ウォレットを実施するための信頼できるサードパーティ上の別の例示的なノードツリーを示すブロック図である。
【
図3】マルチ承認システムにおいて顧客をオンボーディングするための例示的な方法を示すフロー図である。
【
図4】マルチ承認システムにおいて暗号通貨を購入するための例示的な方法を示すフロー図である。
【
図5】マルチ承認トランザクションアドレスを生成するための例示的な通貨変換システムを示すブロック図である。
【
図6】マルチ承認トランザクションアドレスを生成するための方法を示すフロー図である。
【
図7A】マルチ承認システムにおける暗号通貨トランザクションの例示的な方法を示すフロー図である。
【
図7B】鍵分割システムにおける暗号通貨トランザクションのための例示的な方法を示すフロー図である。
【
図8A】マルチシグを使用してトランザクション要求に署名するための第1の例示的な方法を示すフロー図である。
【
図8B】マルチシグを使用してトランザクション要求に署名するための第2の例示的な方法を示すフロー図である。
【
図8C】マルチシグを使用してトランザクション要求に署名するための第3の例示的な方法を示すフロー図である。
【
図8D】マルチシグを使用してトランザクション要求に署名するための第4の例示的な方法を示すフロー図である。
【
図8E】鍵分割を使用してトランザクション要求に署名するための例示的な方法を示すフロー図である。
【
図9A】マルチシグを使用して顧客の秘密鍵の紛失後に顧客ウォレットを復元する例示的な方法を示すフロー図である。
【
図9B】マルチシグを使用して顧客の秘密鍵の紛失後に顧客ウォレットを復元するための別の例示的な方法を示すフロー図である。
【
図9C】鍵分割を使用して顧客の秘密鍵コンポーネントの紛失後に顧客ウォレットを復元するための例示的な方法を示すフロー図である。
【
図10A】マルチシグを使用して顧客ウォレットを復元するための例示的な方法を示すブロック図である。
【
図10B】マルチシグを使用して顧客ウォレットを復元するための別の例示的な方法を示すブロック図である。
【
図10C】鍵分割を使用して顧客ウォレットを復元する例示的な方法を示すブロック図である。
【
図11】マルチ承認トランザクションアドレスからトランザクションするための例示的なシステムを示すブロック図である。
【
図12】マルチ承認暗号通貨アカウントおよびトランザクションのための別の例示的なシステムを示すブロック図である。
【
図13】N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいてアクションを実行するための例示的な方法を示すフロー図である。
【
図14】N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいてデータを暗号化または復号するための例示的な方法を示すフロー図である。
【
図15】顧客デバイスでトランザクションアドレスを生成するための例示的な方法を示すフロー図である。
【
図16A】N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名するための例示的な方法を示すフロー図である。
【
図16B】N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名するための例示的な方法を示すフロー図である。
【
図16C】顧客デバイスでN個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してスイープトランザクションに署名するための例示的な方法を示すフロー図である。
【
図17】本開示のいくつかの実施形態を利用することができる例示的なコンピュータシステムを示すブロック図である。
【
図18】別の例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【0010】
[0040]一般的な慣行にしたがって、説明される様々な特徴は、一定の縮尺で描かれておらず、例示的な実施形態に関連する特定の特徴を強調するように描かれている。
【0011】
[0041]以下の詳細な説明では、本明細書の一部を形成し、特定の例示的な実施形態を例として示す添付図面を参照する。しかしながら、他の実施形態が利用されてもよく、論理的、機械的、および電気的な変更が行われてもよいことを理解されたい。さらに、図面および明細書に提示される方法は、個々のステップが実行され得る順序を限定するものとして解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味で解釈され
るべきではない。
【0012】
[0042]暗号鍵を含む鍵を使用して、データを暗号化し、データを復号し、トランザクションに署名することができる。鍵は(これらに限定されないが)、秘密鍵、公開鍵、暗号鍵、署名鍵、その他の暗号鍵、およびパスワードとシークレットを含むことができる。鍵の1つの問題は、鍵を安全に保ち、必要なときにアクセスできるようにすることである。場合によっては、ウォレットを悪意のある攻撃に対して脆弱なままにする可能性があるため、ウォレットへのアクセスを単数の人/エンティティに制限することは望ましくない。代わりに、ウォレットを使用するために複数の人/エンティティによる検証を要求することが望ましい場合がある。
【0013】
[0043]ウォレットを使用または復元するためにM/N(たとえば、2/3)鍵が必要とされる複数の署名(マルチシグ)シナリオで、複数の秘密鍵を使用することができる。異なるデバイス間に鍵を配布することで、権限のないユーザがウォレットにアクセスする可能性を低減する。例では、3個の秘密鍵が生成され、マルチシグシステム内の様々なデバイス間に配布される。(1)顧客(エンドユーザ)が保持する第1の鍵、(2)通貨変換システム(たとえば、マネーサービスビジネス(MSB))または交換所が保持する第2の鍵、(3)信頼できるサードパーティ(信用組合や銀行など)が保持する第3の鍵。
【0014】
[0044]マルチシグの代わりに、鍵を複数の鍵コンポーネント(すなわち、パーツ)に分割することができ、鍵コンポーネントのサブセットを使用して、鍵を再構築する、すなわち、鍵分割することができる。例では、特定の鍵を再構築するために、特定数の鍵コンポーネントが必要になる場合がある。たとえば、特定の鍵をN個の鍵コンポーネントに分割することができ、N個のうちM個(たとえば、2/3)の鍵コンポーネントが、特定の鍵を再構築するために必要とされる。例では、N個の鍵コンポーネントを様々なユーザ、たとえば、(1)顧客(エンドユーザ)が保持する第1の鍵コンポーネント、(2)通貨変換システム(たとえば、マネーサービスビジネス(MSB))または交換所が保持する第2の鍵コンポーネント、および(3)信頼できるサードパーティ(信用組合や銀行など)が保持する第3の鍵コンポーネントに配布することができる。例では、鍵は、多項式補間またはShamir秘密共有のうちの少なくとも1つによって、鍵コンポーネントのセットに分割される。
【0015】
[0045]例では、鍵および/または鍵コンポーネントは、通知のポーリング(またはプル)、またはBluetooth、Wi-Fi、または近距離無線通信(NFC)送信によって、電子メール、ショートメッセージサービス(SMS)、マルチメディアメッセージングサービス(MMS)、インスタントメッセージング、(プッシュ確認通知のような)プッシュ通知のうちの少なくとも1つを使用して、デバイスに電子的に配布され得る。例では、鍵および/または鍵コンポーネントを画面に表示し、書き留めるか、印刷を通じて(Quick Response(QR)コード、バーコードなどに)物理的に配布するか、またはUSB鍵/メモリスティック(または他のソリッドステートドライブ)、または光ディスクまたは磁気ディスクに格納できる。さらに、ノードツリー内の鍵または鍵コンポーネントのインデクスは、第1のデバイスから第2のデバイスに通信され得、第2のデバイスにすでに格納されている異なる鍵から、鍵または鍵コンポーネントを導出し得る。
【0016】
[0046]通常の動作中、顧客(エンドユーザ)および通貨変換システム/交換所の両方からの秘密鍵は、顧客ウォレットからトランザクションするため、たとえば、暗号通貨をトランザクションアドレスから転送するために必要とされる場合がある。ユーザが秘密鍵を紛失した場合(秘密鍵を含んでいたデバイスを紛失、破壊、またはアップグレードした場合など)、通貨変換システム/交換所および信頼できるサードパーティ(信用組合や銀行
など)の秘密鍵は、ウォレットの復元に使用され得る。ウォレットが復元されると、(1)顧客(エンドユーザ)、(2)通貨変換システム/交換所、(3)信頼できるサードパーティ(信用組合や銀行など)のために新しい秘密鍵(または秘密鍵コンポーネント)が生成され得る。
【0017】
[0047]
図1は、マルチ承認暗号通貨アカウントおよびトランザクションのための例示的なシステム100を示すブロック図である。システム100は、顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、オプションの資産交換所108、オプションのアイデンティティサービスプロバイダ110、および分散型台帳118を含み得る。さらに、システム100は、各デバイスのうちの2つ以上を含み得る。
【0018】
[0048]顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、資産交換所108、およびアイデンティティサービスプロバイダ110のおのおのは、モバイル電話、タブレットコンピュータ、モバイルメディアデバイス、モバイルゲームデバイス、ラップトップコンピュータ、または車両ベースのコンピュータなどのモバイルコンピューティングデバイスのいずれかとして、または、専用端末、公衆端末、キオスク、サーバ、クラウドサーバ、またはデスクトップコンピュータなどの非モバイルコンピューティングデバイスとして実施され得る。
【0019】
[0049]例では、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のおのおのは、少なくとも1つのメモリ、少なくとも1つのプロセッサ、少なくとも1つのオプションのネットワークインターフェース、少なくとも1つのオプションのディスプレイデバイス、少なくとも1つのオプションの入力デバイス、および少なくとも1つのオプションの電源を含み得る。さらに、顧客デバイス102、通貨変換システム104、および/または信頼できるサードパーティ106のおのおのは、複数の物理デバイスを使用して実施されてもよい。
【0020】
[0050]システム100は、マルチ承認方法論、たとえば、マルチパーティマルチ署名(マルチシグ)方法論、マルチパーティ鍵分割方法論、またはこれら2つの組合せを使用することができる。マルチパーティマルチ署名(マルチシグ)方法論は、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のおのおのに、異なる秘密鍵(たとえば、数字、文字、および/または他のキャラクタの一意の文字列)を配布することができる。マルチシグを使用して、顧客から要求された暗号通貨の購入またはトランザクションは、M/N(たとえば、3個のうち2個)の秘密鍵を使用して、たとえば、顧客デバイス102および通貨変換システム104によって署名されるように、署名される必要がある。秘密鍵は、顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、またはいくつかの組合せで生成することができる。マルチシグ方法論では、秘密鍵を分割する必要はない。
【0021】
[0051]あるいは、システム100は、秘密鍵(たとえば、数字、文字、および/または他のキャラクタの一意の文字列)が3個(または任意の適切な数)の鍵コンポーネントに分割されるマルチパーティ鍵分割方法論を使用し得る。例では、鍵コンポーネントは、多項式補間またはShamir秘密共有を使用して生成できる。マルチパーティ鍵分割方法論では、異なる鍵コンポーネントが、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のおのおのに配置され得る。マルチパーティ鍵分割方法論を使用して、顧客から要求された暗号通貨の購入またはトランザクションは、N個のうちM個の鍵コンポーネント(たとえば、鍵コンポーネントの2/3)を使用して、たとえば、顧客デバイス102および通貨変換システム104によって署名されるように、署名される必要がある。秘密鍵は、顧客デバイス102、通貨変換システム104、または信頼できるサードパーティ106で再構築することができる。
【0022】
[0052]マルチシグ方法論を使用して本明細書に開示された構成(すなわち、M/N秘密鍵でトランザクション要求または購入要求に署名する)は、代わりに鍵分割を使用し得る(すなわち、M/N秘密鍵コンポーネントで秘密鍵を再構築し、その後、秘密鍵を使用してトランザクション要求または購入要求に署名する)。
【0023】
[0053]あるいは、システム100は、マルチパーティマルチシグおよび鍵分割方法論の組合せを使用することができ、第1の秘密鍵が、2個の鍵コンポーネントに分割され、異なる鍵コンポーネントが、顧客デバイス102および通貨変換システム104のおのおのに配置される。(分割されていない)第2の秘密鍵は、信頼できるサードパーティ106に配置され得る。この組合せを使用して、顧客から要求された暗号通貨の購入またはトランザクションは、第2の秘密鍵、または第1の秘密鍵の両方の鍵コンポーネントのいずれかを使用して署名する必要がある。
【0024】
[0054]本明細書で使用される場合、「署名」またはその変形という用語は、鍵(または鍵コンポーネント)を使用して所望のトランザクションに関連付けられたデータを追加または変更することを指し、たとえば、トランザクションの署名は、トランザクションアドレスを暗号化または変換するためにM/N(例:2/3)秘密鍵を使用することを含み得る。さらに、公開鍵は、対応する秘密鍵(または親公開鍵)から導出でき、公開鍵は、トランザクションアドレスの導出、トランザクションアドレスのトランザクションの監視、および/または(たとえば、ブロックチェーン上の)アカウント残高の表示のために使用され得る。ただし、公開鍵は、トランザクションアドレスからのトランザクションに使用できず、つまり、公開鍵を使用してトランザクションに署名することはできない。むしろ、デバイスは、1つまたは複数の秘密鍵(または秘密鍵コンポーネント)を使用して、トランザクションアドレスからトランザクションを実行し得る。
【0025】
[0055]本明細書で使用される場合、別段の指定がない限り、「顧客」(または「ユーザ」)という用語は、たとえば、マルチシグアカウントの作成、マルチシグ暗号通貨の購入、暗号通貨を使用したマルチシグトランザクションの実行、マルチシグアカウントの復元など、本明細書に記載の機能のいずれかを開始するために顧客デバイス102にアクセスする人(または自動化命令、たとえばスクリプト)を指す。
【0026】
[0056]本明細書で使用される場合、「ウォレット」という用語は、暗号通貨などのデジタル資産を格納および/または管理するために使用されるソフトウェアプログラム、デジタルファイル、および/またはメモリを指す。本システムおよび方法は、暗号通貨を使用して本明細書で説明されるが、それらはまた、任意のタイプのデジタル資産と互換性がある。例では、ウォレットは、1つまたは複数の秘密鍵、1つまたは複数の秘密鍵から導出された1つまたは複数の公開鍵、および/または、1つまたは複数の秘密鍵および/または1つまたは複数の公開鍵から導出された1つまたは複数のトランザクションアドレスによって定義される。例では、ウォレットは1つまたは複数の秘密アカウント鍵(および、オプションの、対応する公開アカウント鍵)で定義でき、おのおのが1つまたは複数の子および/または孫トランザクション鍵を有することができる。
【0027】
[0057]本明細書で使用される場合、「分散型台帳」という用語は、複数の相互接続されたノードにわたって分散される電子台帳を指し、ノードのうちの2個以上が台帳のコピーを格納する。例では、分散型台帳118は、分散型台帳118内に格納されたデータを検証するために1つまたは複数のブロックチェーンを実施することができる。ブロックチェーンは、一度に1つのブロックを構築する検証可能な永続的な台帳で、そのブロックを検証する各ブロックに作業証明シール(ハッシュなど)が添付されている。ブロックチェーンでは、以前のブロックのハッシュが現在のブロックに含まれているため、再帰により、
現在のハッシュは、以前のすべてのブロックを検証して元のジェネシスブロックに戻す。ハッシュをブロックチェーンに挿入すると、そのハッシュが永続的に記録され、そのブロックがチェーンに追加された時点で、タイムスタンプが付けられたハッシュデータの存在証明を検証する公証人として機能する。将来のブロックでは、チェーンに格納されたデータの操作やチェーンの再編成からの保護レイヤが追加されるため、チェーンの初期のブロックに変更を加えることができないという確実性が追加される。ブロックチェーンは、分散型台帳118の実施であり、公開(つまり、誰でも見ることができる)または秘密にすることができる。例示的なブロックチェーンは、限定されないが、ビットコインブロックチェーン、イーサリアムブロックチェーン、BigchainDB、Billion、Chain、Corda、Credits、Elements、Monax、Fabric、HydraChain、Hyperledger、Multichain、Openchain、Quorum、Sawtooth、およびStellarを含む。
【0028】
[0058]例では、顧客デバイス102は、たとえば、Android(登録商標)またはiOS(登録商標)オペレーティングシステムを使用するモバイルデバイスであり得る。顧客は、通貨変換システム104に対応するアプリケーションを顧客デバイス102にダウンロードすることができる。アプリケーションは、顧客デバイス102上にユーザインターフェースを提示することができ、顧客は、ユーザインターフェースを使用して入力を提供することができる。ユーザ入力に少なくとも部分的に基づいて、顧客デバイス102上のアプリケーションは、通貨変換システム104との間で、命令および/または他のデータを送信および受信することができる。例では、顧客デバイス102上のアプリケーションは、システム100の他のデバイスと通信する通貨変換システム104とのみ直接通信することができ、すなわち、通貨変換システム104は、システム100の他のデバイスへのゲートウェイであることができる。あるいは、顧客デバイス102上のアプリケーションは、信頼できるサードパーティ106、通貨変換システム104、および/またはシステム100内の他のデバイスと直接通信することができる。
【0029】
[0059]通貨変換システム104は、通貨を他の形態の通貨、たとえば、マネーサービスビジネス(MSB)に変換する銀行またはノンバンク金融機関であり得る。例では、通貨変換システム104は、1つまたは複数のサーバで実施されてもよい。通貨変換システム104は、1つまたは複数の顧客ウォレットに関連付けられた鍵(たとえば、データベースおよび/または安全なメモリ)を格納するための鍵リポジトリ114を維持することができる。鍵リポジトリ114は、通貨変換システム104の他の機能を実行する同じまたは異なるデバイスに物理的に配置されてもよい。通貨変換システム104は、適用可能な規則および規制の下で必要とされる送金ライセンスを有していても有していなくてもよい。
【0030】
[0060]例では、通貨変換システム104は、ビットコインなどの暗号通貨を購入する際にエンドユーザ(すなわち、顧客)を支援することができる。具体的には、通貨変換システム104は、顧客が通貨を他の形態の通貨、たとえば、法定通貨を暗号通貨(たとえば、ビットコイン)に、暗号通貨(たとえば、ビットコイン)を法定通貨に、1つのタイプの暗号通貨(たとえば、ビットコイン)を、別の形態の通貨(たとえば、イーサリアム)などに変換することを可能にする。例では、通貨変換システム104はまた、顧客が暗号通貨を使用してトランザクションすること、すなわち、暗号通貨と引き換えに商品および/またはサービスを購入および/または販売することを可能にし得る。暗号通貨に加えて、通貨変換システム104は、他のタイプの資産、たとえば、少なくとも1つの証券、少なくとも1つの債券、少なくとも1つの商品、少なくとも1つの不動産、個人資産の少なくとも1つのアイテム、少なくとも1つのファンド、少なくとも1つの通貨ファンド、少なくとも1つの上場ファンド、少なくとも1つのミューチュアルファンド、少なくとも1つのインデクスファンド、少なくとも1つの債券ファンド、少なくとも1つの商品ファン
ド、または少なくとも1つの不動産ファンドを使用して、購入および/またはトランザクションを可能にすることができる。
【0031】
[0061]暗号通貨および暗号通貨を使用するトランザクションの購入を可能にするために、通貨変換システム104は、資産交換所108と通信することができる。資産交換所108は、証券、商品、デリバティブおよび/または他の金融商品、たとえば、クラーケン、SFOX、コインベース(登録商標)などが取り引きされる市場(および/または市場を運営する事業体)であり得る。例では、資産交換所108は、暗号通貨、デジタル通貨、法定通貨、および/または商品通貨の市場としてサービス提供できる。例では、本明細書で説明される資産交換所108は、たとえばブロックチェーンなどの分散型台帳118上で正常に実行されたトランザクションを記録できる。あるいは、またはそれに加えて、資産交換所108は、少なくとも1つの有価証券、少なくとも1つの債券、少なくとも1つの商品、少なくとも1つの不動産、少なくとも1つの個人資産、少なくとも1つのファンド、少なくとも1つの通貨ファンド、少なくとも1つの上場ファンド、少なくとも1つのミューチュアルファンド、少なくとも1つのインデクスファンド、少なくとも1つの債券ファンド、少なくとも1つの商品ファンド、または少なくとも1つの不動産ファンドを取り引きするように構成され得る。資産交換所108は、1つまたは複数のコンピューティングデバイスを使用して実施され得る。
【0032】
[0062]信頼できるサードパーティ106は、金融機関であってもよい。例では、信頼できるサードパーティ106は、2つのパーティ間のトランザクションを検証することが信頼されている、信頼できる1つまたは複数のコンピューティングデバイスを使用して実施され得る。例では、信頼できるサードパーティ106は、信用組合または銀行によって所有および運営され得る。信頼できるサードパーティ106は、顧客デバイス102によって要求されたトランザクションについて通貨変換システム104から情報を受信することができる。あるいは、信頼できるサードパーティ106は、要求されたトランザクションに関する情報を顧客デバイス102から直接受信することができる。いずれの場合でも、信頼できるサードパーティ106で受信した情報は、信頼できるサードパーティ106に格納されている秘密鍵を使用して、保留中のトランザクションに署名(たとえば、認証)する必要があることを示し得る。信頼できるサードパーティ106はまた、たとえば、顧客アカウントを作成する処理中に、アイデンティティサービスプロバイダ110と通信することができる。信頼できるサードパーティ106は、1つまたは複数の顧客ウォレットに関連付けられた鍵(たとえば、データベースおよび/または安全なメモリ)を格納するための鍵リポジトリ116を維持することができる。鍵リポジトリ116は、信頼できるサードパーティ106の他の機能を実行する、同じまたは異なるデバイスに物理的に配置されてもよい。例では、信頼できるサードパーティ106のために鍵リポジトリ116に格納された鍵(または鍵コンポーネント)は、たとえば、顧客デバイス102(およびそこに格納された任意の鍵)の紛失、破壊、アップグレード、またはハードリセット/再フォーマットされた場合のような緊急時にのみ使用され得る。例では、信頼できるサードパーティ106は、適用可能な規則および規制の下で必要とされる送金ライセンスを有し得る。
【0033】
[0063]アイデンティティサービスプロバイダ110は、マネーロンダリング防止(AML)および/または顧客確認(KYC)サービスを提供する1つまたは複数のコンピューティングデバイスであり得る。AMLサービスは、潜在的な(または現在の)顧客がマネーロンダリングに対抗するために設計された関連法令に違反していないことを確認するための1つまたは複数のステップを含む場合がある。つまり、AMLサービスは、潜在的な(または現在の)顧客が、違法または非倫理的な活動から受け取った資金源を隠すための措置を講じていないことを保証するように要求する。KYCサービスには、潜在的な(または現在の)顧客のアイデンティティおよび/または金融処理に関する情報を収集、確認
、監視するための1つまたは複数のステップが含まれる場合がある。例では、KYCサービスには、基本的なアイデンティティデータ(たとえば、名前、連絡先情報など)の収集、顧客が本人であることの確認、および/または顧客が法執行機関の監視リストにないことの確認が含まれる。KYCサービスには(たとえば、顧客の基本アイデンティティデータに基づく)、ソフトクレジットチェックの実行、顧客のトランザクション挙動の分析、および/または顧客のトランザクション挙動に基づく不正行為についての顧客のアカウントの監視も含まれる。AMLおよびKYCは、連邦、州、および/または地方の様々な法律に基づいて要求される場合がある。
【0034】
[0064]システム100内のデバイスのおのおのは、少なくとも1つのネットワーク112(ネットワーク112A~Bなど)を使用して1つまたは複数の他のデバイスに通信可能に結合され得る。例では、少なくとも1つのネットワーク112は、少なくとも1つの有線ネットワークおよび/または少なくとも1つのワイヤレスネットワークを含む。例では、有線ネットワークとワイヤレスネットワークの任意の組合せを使用して、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106を互いに結合することができる。例では、少なくとも1つのネットワーク112は、少なくとも1つのローカルエリアネットワーク(LAN)、少なくとも1つのワイドエリアネットワーク(WAN)、またはインターネットのうちの少なくとも1つを含む。例では、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットの任意の組合せを、少なくとも1つのネットワーク112として使用して、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106を互いに結合することができる。
【0035】
[0065]システム100内のデバイスは、顧客が暗号通貨を購入し、マルチ承認のセキュリティを備えた暗号通貨を使用してトランザクションできるようにする。マルチシグの例では、通貨変換システム104および/または信頼できるサードパーティ106は、顧客のための(マルチシグ暗号通貨トランザクションのための)それぞれのマルチシグアカウントを作成する、すなわち顧客を「オンボーディング」することができる。例では、システム100内の1つまたは複数のデバイスは、マルチシグ暗号通貨の購入を行い、暗号通貨を顧客ウォレットに格納するように動作することもできる。例では、システム100内の1つまたは複数のデバイスは、マルチシグ暗号通貨トランザクションを実行するように動作することもでき、たとえば、暗号通貨と引き換えに商品またはサービスを購入することができる。例では、システム100内の1つまたは複数のデバイスは、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後、複数の鍵で顧客アカウントを復元するように動作することもできる。
【0036】
[0066]鍵分割の例では、通貨変換システム104および/または信頼できるサードパーティ106は、顧客(すなわち、顧客の「オンボーディング」)のためのそれぞれの分割鍵アカウント(分割鍵コンポーネントを使用する暗号通貨トランザクション用)を作成することができる。例では、システム100内の1つまたは複数のデバイスは、(複数の鍵コンポーネントを使用して)暗号通貨の購入を行い、暗号通貨を顧客ウォレットに格納するように動作することもできる。例では、システム100内の1つまたは複数のデバイスは、複数の鍵コンポーネントを必要とする暗号通貨トランザクションを実行するように動作することもでき、たとえば、暗号通貨と引き換えに商品またはサービスを購入する。例では、システム100内の1つまたは複数のデバイスは、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後など、複数の鍵コンポーネントを使用して顧客アカウントを復元するように動作することもできる。
【0037】
[0067]
図2Aは、顧客ウォレットを実施するための顧客デバイス102上の例示的なノ
ードツリー200Aを示すブロック図である。例では、ノードツリー200Aは、ビットコイン改善提案32(BIP32)の一部、および/または、ビットコイン改善提案44(BIP44)の一部にしたがって、顧客のための階層的決定論的(HD)ウォレットを実施することができる。BIP32(https://github.com/bitcoin/bips/blob/master/bip-0032.mediawikiで入手可能)およびBIP44(https://github.com/bitcoin/bips/blob/master/bip-0044.mediawikiで入手可能)は、参照により本明細書に組み込まれる。
【0038】
[0068]ノードツリー200Aは、顧客デバイス102上に存在し得、階層レベルを含み得る。具体的には、ノードツリー200Aは、第1レベル(L1)に秘密アカウント鍵204および公開アカウント鍵205を含み得る。秘密アカウント鍵204は、顧客に固有の数字、文字、および/または他のキャラクタの一意の文字列であり得る。秘密アカウント鍵204はさらに、暗号通貨のタイプに固有であり得、たとえば、顧客デバイス102は、顧客ウォレットに格納された各タイプの暗号通貨に対して異なる秘密アカウント鍵204を含み得る。例では、顧客デバイス102は、ビットコイン、イーサリアム、ライトコインなどのおのおのについて別個の秘密アカウント鍵204を格納することができる。顧客ウォレットは、秘密アカウント鍵204および/または他の秘密アカウント鍵(図示せず)によって定義され得る。
【0039】
[0069]オプションで、秘密アカウント鍵204は、シード201、たとえば、ビットコイン改善提案39(BIP39)(https://github.com/bitcoin/bips/blob/master/bip-0039.mediawikiで入手可能であり、参照により本明細書に組み込まれる)によるニーモニックコードまたはセンテンスから導出されるシードに基づいて、顧客デバイス102で生成され得る。あるいは、秘密アカウント鍵204は、ランダムに、手動で、または他の手段によって顧客デバイス102で生成され得る。
【0040】
[0070]秘密アカウント鍵204は、公開アカウント鍵205を導出するために使用され得、すなわち、秘密アカウント鍵204は、公開アカウント鍵205を決定し得る。例では、顧客デバイス102は、ハッシュ関数を使用して、秘密アカウント鍵204から公開アカウント鍵205、たとえば、SHA256関数を導出することができる。しかしながら、公開アカウント鍵205は、典型的に(そして好ましくは)秘密アカウント鍵204を決定するものではなく、たとえば、公開アカウント鍵205は、秘密アカウント鍵204を生成するために使用されないかもしれない。
【0041】
[0071]秘密アカウント鍵204および公開アカウント鍵205は、「拡張」鍵であり得、これは、チェーンコードが鍵ストリングに付加されることを意味する。例では、秘密アカウント鍵204および公開アカウント鍵205のおのおのは、追加の256ビットチェーンコードを伴う256ビット長であり得、すなわち、拡張秘密アカウント鍵204および拡張公開アカウント鍵205は、おのおの512ビット長であり得る。拡張鍵は子鍵を導出するために使用できるが、非拡張(または「強化」)鍵は子鍵を導出するために使用できない。これらは拡張鍵であるため、秘密アカウント鍵204および公開アカウント鍵205を、顧客デバイス102から通貨変換システム104または信頼できるサードパーティ106に送信しないようにすることが望ましい場合がある。
【0042】
[0072]秘密アカウント鍵204は、ノードツリー200Aの第2レベル(L2)に、1つまたは複数のオプションの子秘密トランザクション鍵206A~Bを有することができる。秘密トランザクション鍵206は、たとえば、BIP32に記載されているように、子鍵導出(CKD)関数を使用して秘密アカウント鍵204から導出することができる。
秘密トランザクション鍵206は、拡張されていない(すなわち、強化された)鍵であり得、さらなる子鍵を導出するために使用され得ない。
【0043】
[0073]各秘密トランザクション鍵206は、たとえば、0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Aをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の秘密トランザクション鍵206の場所を一意に識別し得る。したがって、秘密トランザクション鍵206を識別する効率的な手法として、デバイス間でインデクスを送信することができる。例では、インデクスを受信するデバイスは、それ自体のノードツリーから、対応する秘密トランザクション鍵206を生成することができる。
【0044】
[0074]同様に、公開アカウント鍵205は、ノードツリー200Aの第2レベル(L2)に1つまたは複数のオプションの公開トランザクション鍵207A~Bを有することができる。各公開トランザクション鍵207は、子鍵導出(CKD)関数を使用して(たとえば、BIP32で記載されているように)、公開アカウント鍵205から導出するか、関連付けられた秘密トランザクション鍵206から導出できる、つまり、公開トランザクション鍵207Aは、秘密トランザクション鍵206Aから導出され、公開トランザクション鍵207Bは、秘密トランザクション鍵206Bから導出され得る。公開トランザクション鍵207は、拡張されていない(すなわち、強化された)鍵であり得、さらなる子鍵を導出するために使用され得ない。したがって、秘密トランザクション鍵206および/または公開トランザクション鍵207は、N個のうちM個の鍵を必要とするマルチ承認トランザクションのために、顧客デバイス102から通貨変換システム104および/または信頼できるサードパーティ106に送信され得る。
【0045】
[0075]各公開トランザクション鍵207は、たとえば0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Aをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の公開トランザクション鍵207の場所を一意に識別し得る。したがって、インデクスは、公開トランザクション鍵207を識別する効率的な手法として、デバイス間で送信され得る。例では、インデクスを受信するデバイスは、それ自体のノードツリーから、対応する公開トランザクション鍵207を生成できる。
【0046】
[0076]例では、ノードツリー200Aは、多く(たとえば、数百、数千、数百万、または数十億)の秘密トランザクション鍵206を含み得、たとえば、新しい秘密トランザクション鍵206は、暗号通貨が顧客ウォレットに受信されるすべてのトランザクションに対して、および/または、既存のトランザクションアドレスのすべての暗号通貨よりも少ない暗号通貨が転送されるすべてのトランザクションに対して生成され得る。さらに、ノードツリー200Aは、多くの(たとえば、数百、数千、数百万、または数十億)の公開トランザクション鍵207、たとえば、ノードツリー200A内の各秘密トランザクション鍵206に対応するものを含み得る。
【0047】
[0077]2つの階層レベル(L1~L2)で示されているが、ノードツリー200Aは、より多くの階層レベルを含むことができる。例では、変更鍵レベル(図示せず)は、L1とL2との間に配置され得る。
【0048】
[0078]
図2Bは、顧客ウォレットを実施するための通貨変換システム104上の別の例示的なノードツリー200Bを示すブロック図である。例では、ノードツリー200Bは、BIP32の一部および/またはBIP44の一部にしたがって、1つまたは複数の顧客のための1つまたは複数のHDウォレットを実施することができる。
【0049】
[0079]ノードツリー200Bは、通貨変換システム104に(たとえば、鍵リポジトリ114に)格納され得、階層レベルを含み得る。しかしながら、顧客デバイス102のノードツリー200Aとは異なり、ノードツリー200Bは、第1レベル(L0)にマスタ秘密鍵212を含むことができる。具体的には、通貨変換システム104は、1つまたは複数の秘密アカウント鍵214A~Bを導出するために使用される単一のマスタ秘密鍵212を格納することができる。言い換えれば、マスタ秘密鍵212は、通貨変換システム104に格納されたすべての秘密アカウント鍵214の親秘密鍵であり得る。オプションで、マスタ秘密鍵212は、シード211、たとえば、BIP39にしたがってニーモニックコードまたはセンテンスから導出されるシードに基づいて、通貨変換システム104で生成され得る。あるいは、マスタ秘密鍵212は、ランダムに、手動で、または他の手段によって通貨変換システム104で生成され得る。
【0050】
[0080]マスタ秘密鍵212は、通貨変換システム104上のすべての公開アカウント鍵215A~Bに対する親公開鍵であり得るマスタ公開鍵213を導出するために使用され得る。マスタ秘密鍵212およびマスタ公開鍵213は、拡張鍵であってもよい。したがって、通貨変換システム104からマスタ秘密鍵212およびマスタ公開鍵213を送信することを回避することが好ましい場合がある。
【0051】
[0081]例では、第1の秘密アカウント鍵214Aおよび第1の公開アカウント鍵215Aは、第1の顧客のために維持され得、第2の秘密アカウント鍵214Bおよび第2の公開アカウント鍵215Bは、第2の顧客のために維持され得る。あるいは、第1の秘密アカウント鍵214Aおよび第1の公開アカウント鍵215Aは、顧客ウォレットに保持される第1のタイプの暗号通貨のために維持され得、第2の秘密アカウント鍵214Bおよび第2の公開アカウント鍵215Bは、同じ顧客ウォレットに保持される第2のタイプの暗号通貨のために維持され得る。第1のタイプと第2のタイプは、ビットコイン、イーサリアム、ライトコインなどから選択できる。
【0052】
[0082]例では、ノードツリー200Bは、暗号通貨タイプごとに顧客ごとに秘密アカウント鍵214および公開アカウント鍵215を含むことができ、すなわち、10人の顧客がそれぞれ通貨変換システム104で3個の異なるタイプの暗号通貨を保持している場合、ノードツリー200Bは、30(すなわち、10×3)個の秘密アカウント鍵214および30個の公開アカウント鍵215を含み得る。これらは拡張鍵であるため、秘密アカウント鍵214および公開アカウント鍵215を、通貨変換システム104から顧客デバイス102または信頼できるサードパーティ106に送信しないようにすることが望ましい場合がある。
【0053】
[0083]ノードツリー200Bの第2レベル(L1)の秘密アカウント鍵214A~Bおよび公開アカウント鍵215A~Bは、様々な顧客デバイス102および信頼できるサードパーティ106に格納された秘密アカウント鍵および公開アカウント鍵に対応し得る(しかし同一ではない)。
【0054】
[0084]顧客デバイス102のノードツリー200Aと同様に、通貨変換システム104のノードツリー200Bは、たとえばノードツリー200Bの第3レベル(L2)に、1個または複数個のオプションの秘密トランザクション鍵216A~Dを有することができる。各秘密トランザクション鍵216は、たとえば、BIP32に記載されているように、子鍵導出(CKD)関数を使用して、秘密アカウント鍵214の1個から導出され得る。
【0055】
[0085]ノードツリー200Bは、第3レベル(L2)に1つまたは複数のオプションの公開トランザクション鍵217A~Dを有することもできる。各公開トランザクション鍵
217は、(たとえば、BIP32に記載されているように)子鍵導出(CKD)関数を使用して公開アカウント鍵215の1個から導出されるか、または関連付けられた秘密トランザクション鍵216から導出され得る。あるいは、各公開トランザクション鍵217は、秘密アカウント鍵216の1個から、または秘密アカウント鍵214の1個から直接導出され得る。
【0056】
[0086]秘密トランザクション鍵216および公開トランザクション鍵217は、拡張されていない(すなわち、強化された)鍵であり得、さらなる子鍵を導出するために使用され得ない。したがって、秘密トランザクション鍵216および/または公開トランザクション鍵217は、N個のうちM個(たとえば、2/3)の鍵を必要とするマルチ承認トランザクションのために、通貨変換システム104から顧客デバイス102および/または信頼できるサードパーティ106に送信され得る。
【0057】
[0087]各秘密トランザクション鍵216は、たとえば、0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Bをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の秘密トランザクション鍵216の場所を一意的に識別し得る。したがって、秘密トランザクション鍵216を識別する効率的な手法として、デバイス間でインデクスを送信することができる。例では、インデクスを受信するデバイスは、それ自体のノードツリーから対応する秘密トランザクション鍵216を生成できる。
【0058】
[0088]各公開トランザクション鍵217は、たとえば、0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Bをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の公開トランザクション鍵217の場所を一意に識別し得る。したがって、インデクスは、公開トランザクション鍵217を識別する効率的な手法として、デバイス間で送信され得る。例では、インデクスを受信するデバイスは、それ自体のノードツリーから、対応する公開トランザクション鍵217を生成できる。
【0059】
[0089]例では、ノードツリー200Bは、多く(たとえば、数百、数千、数百万、または数十億)の秘密トランザクション鍵216を含み得、たとえば、新しい秘密トランザクション鍵216は、暗号通貨が顧客ウォレットへ受信されるすべてのトランザクションに対して、および/または、既存のトランザクションアドレスのすべての暗号通貨よりも少ない暗号通貨が転送されるすべてのトランザクションに対して生成され得る。さらに、ノードツリー200Bは、多く(たとえば、数百、数千、数百万、または数十億)の公開トランザクション鍵217、たとえば、ノードツリー200Bの各秘密トランザクション鍵216に対応するものを含み得る。
【0060】
[0090]3つの階層レベル(L0~L2)で示されているが、ノードツリー200Bは、より多くの階層レベルを含むことができる。例では、変更鍵レベル(図示せず)は、L1とL2との間に配置され得る。
【0061】
[0091]
図2Cは、顧客ウォレットを実施するための信頼できるサードパーティ106上の別の例示的なノードツリー200Cを示すブロック図である。例では、ノードツリー200Cは、BIP32の一部および/またはBIP44の一部にしたがって、1つまたは複数の顧客のために1つまたは複数のHDウォレットを実施することができる。
【0062】
[0092]ノードツリー200Cは、信頼できるサードパーティ106(たとえば、鍵リポジトリ116内)に格納されてもよく、階層レベルを含んでもよい。ノードツリー200Cは、第1レベル(L0)の通貨変換システム104に関連付けられた単一のマスタ秘密
鍵222を含み得、これは、通貨変換システム104に関連付けられたアカウントの1つまたは複数の秘密アカウント鍵224A~Bを導出するために使用され得る。言い換えれば、マスタ秘密鍵222は、信頼できるサードパーティ106が、通貨変換システム104に関連付けられていない他のマスタ秘密鍵(図示せず)を含み得るとしても、通貨変換システム104に関連付けられた信頼できるサードパーティ106上のすべての秘密アカウント鍵224の親秘密鍵であり得る。マスタ秘密鍵222は、通貨変換システム104のノードツリー200Bのマスタ秘密鍵212とは異なる値を有することができる。オプションで、マスタ秘密鍵222は、シード221、たとえば、BIP39によるニーモニックコードまたはセンテンスから導出されるシードに基づいて、信頼できるサードパーティ106で生成されてもよい。あるいは、マスタ秘密鍵222は、信頼できるサードパーティ106でランダムに、または他の手段によって生成されてもよい。
【0063】
[0093]マスタ秘密鍵222は、信頼できるサードパーティ106上のすべての公開アカウント鍵225A~Bに対する親公開鍵であり得るマスタ公開鍵223を導出するために使用され得る。マスタ秘密鍵222およびマスタ公開鍵223は、拡張鍵であってもよい。マスタ公開鍵223が拡張鍵であっても、信頼できるサードパーティ106から通貨変換システム104に送信されてもよい。マスタ公開鍵223は、インターネットなどのネットワークを介してマスタ公開鍵223を送信することなく、安全なおよび/または非電子的手段によって通貨変換システム104と共有することができる。例では、マスタ公開鍵223は、通貨変換システム104に物理的に移動されてダウンロードされる安全なポータブルメモリ(たとえば、ポータブルハードドライブ)にコピーされてもよい。あるいは、マスタ公開鍵223は、手動でハードコピーに手書き(または他の方法で印刷)され、通貨変換システム104に転送され、通貨変換システム104で、手動で入力されてもよい。あるいは、マスタ公開鍵223は暗号化され、ネットワーク(たとえば、インターネット)を介して通貨変換システム104に送信されてもよい。
【0064】
[0094]例では、第1の秘密アカウント鍵224Aおよび第1の公開アカウント鍵225Aは、第1の顧客のために維持され得、第2の秘密アカウント鍵224Bおよび第2の公開アカウント鍵225Bは、第2の顧客のために維持され得る。あるいは、第1の秘密アカウント鍵224Aおよび第1の公開アカウント鍵225Aは、顧客ウォレットに保持される第1のタイプの暗号通貨のために維持され得、第2の秘密アカウント鍵224Bおよび第2の公開アカウント鍵225Bは、顧客ウォレットなどに保持されている第2のタイプの暗号通貨のために維持され得、たとえば、第1のタイプおよび第2のタイプは、ビットコイン、イーサリアム、ライトコインなどから選択できる。例では、ノードツリー200Cは、暗号通貨タイプごとに顧客ごとに秘密アカウント鍵224および公開アカウント鍵225を含むことができ、すなわち、10人の顧客がおのおの信頼できるサードパーティ106で3つの異なるタイプの暗号通貨を保持している場合、ノードツリー200Cは30(つまり、10×3)個の秘密アカウント鍵224と、30個の公開アカウント鍵225とを含み得る。これらは拡張鍵であるため、秘密アカウント鍵224および公開アカウント鍵225を、信頼できるサードパーティ106から顧客デバイス102または通貨変換システム104に送信しないようにすることが望ましい場合がある。
【0065】
[0095]ノードツリー200Cの第2レベル(L1)の秘密アカウント鍵224A~Bおよび公開アカウント鍵225A~Bは、顧客デバイス102上のノードツリー200Aにおける秘密アカウント鍵204および公開アカウント鍵205に、および、通貨変換システム104のノードツリー200Bにおける秘密アカウント鍵214A~Bおよび公開アカウント鍵215A~Bに対応してもよい(が同一ではない)。顧客デバイス102の公開アカウント鍵205、通貨変換システム104の第1の公開アカウント鍵215A、および信頼できるサードパーティ106の第1の公開アカウント鍵225Aは、互いに対応し得る(が同一ではない)。例では、マルチ承認トランザクションアドレスを作成するた
めに、3個すべての公開アカウント鍵205、215A、225Aが必要になる場合がある。同様に、顧客デバイス102の秘密アカウント鍵204、通貨変換システム104の第1の秘密アカウント鍵214A、および信頼できるサードパーティ106の第1の秘密アカウント鍵224Aは、互いに対応し得る(が同一ではない)。例では、マルチ承認トランザクションアドレスからトランザクションするために、秘密アカウント鍵204、214A、224Aの少なくとも2個が必要になる場合がある。
【0066】
[0096]顧客デバイス102のノードツリー200A、および通貨変換システム104のノードツリー200Bと同様に、信頼できるサードパーティ106のノードツリー200Cは、たとえば、ノードツリー200Cの第3レベル(L2)において、1個または複数個のオプションの秘密トランザクション鍵226A~Dを有し得る。各秘密トランザクション鍵226は、たとえば、BIP32に記載されているように、子鍵導出(CKD)関数を使用して、秘密アカウント鍵224の1個から導出されてもよい。
【0067】
[0097]ノードツリー200Cは、第3レベル(L2)に1個または複数個のオプションの公開トランザクション鍵227A~Dを有することができる。各公開トランザクション鍵227は、(たとえば、BIP32に記載されているように)子鍵導出(CKD)関数または関連付けられた秘密トランザクション鍵226を使用して、公開アカウント鍵225の1個から導出され得る。あるいは、各公開トランザクション鍵227は、秘密トランザクション鍵226の1個から、または秘密アカウント鍵224の1個から直接導出されてもよい。
【0068】
[0098]秘密トランザクション鍵226および公開トランザクション鍵227は、拡張されていない(すなわち、強化された)鍵であり得、さらなる子鍵を導出するために使用され得ない。したがって、秘密トランザクション鍵226および/または公開トランザクション鍵227は、N個のうちM個の鍵を必要とするマルチ承認トランザクションのために、信頼できるサードパーティ106から顧客デバイス102および/または通貨変換システム104に送信され得る。
【0069】
[0099]各秘密トランザクション鍵226は、たとえば、0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Cをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の秘密トランザクション鍵226の場所を一意に識別し得る。したがって、秘密トランザクション鍵226を識別する効率的な手法として、デバイス間でインデクスを送信することができる。例では、インデクスを受信するデバイスは、それ自体のノードツリーから、対応する秘密トランザクション鍵226を生成することができる。さらに、ノードツリー200Cにおける特定の秘密トランザクション鍵226は、顧客デバイス102上のノードツリー200Aにおける特定の秘密トランザクション鍵206、および通貨変換システム104上のノードツリー200Bにおける特定の秘密トランザクション鍵226に対応し得(およびそれらと同一のインデクスを有し得)、たとえば、秘密トランザクション鍵206A、秘密トランザクション鍵216A、および秘密トランザクション鍵226Aは、互いに対応し、同一のインデクスを有することができる。
【0070】
[0100]各公開トランザクション鍵227は、たとえば、0から(232-1)の範囲の関連付けられたインデクスを有することができる。インデクスは、ノードツリー200Cをナビゲートするために使用され得、すなわち、インデクスは、対応する特定の公開トランザクション鍵227の場所を一意に識別し得る。したがって、インデクスは、公開トランザクション鍵227を識別する効率的な手法としてデバイス間で送信され得る。例では、インデクスを受信するデバイスは、それ自体のノードツリーから、対応する公開トランザクション鍵227を生成できる。さらに、ノードツリー200Cにおける特定の公開ト
ランザクション鍵227は、顧客デバイス102上のノードツリー200Aにおける特定の公開トランザクション鍵207、および通貨変換システム104上のノードツリー200Bにおける特定の公開トランザクション鍵227に対応する(および同一のインデクスを有する)ことができ、たとえば、公開トランザクション鍵207A、公開トランザクション鍵217A、および公開トランザクション鍵227Aは、互いに対応し、同一のインデクスを有することができる。
【0071】
[0101]例では、ノードツリー200Cは、多く(たとえば、数百、数千、数百万、または数十億)の秘密トランザクション鍵226を含み得、たとえば、新しい秘密トランザクション鍵226は、暗号通貨が顧客ウォレットに受信されるすべてのトランザクションに対して、および/または、既存のトランザクションアドレスにおけるすべての暗号通貨よりも少ない暗号通貨が転送されるすべてのトランザクションに対して生成される。さらに、ノードツリー200Bは、多く(たとえば、数百、数千、数百万、または数十億)の公開トランザクション鍵227、たとえば、ノードツリー200Bにおける各秘密トランザクション鍵226に対応するものを含み得る。
【0072】
[0102]3つの階層レベル(L0~L2)で示されているが、ノードツリー200Cは、より多くの階層レベルを含むことができる。例では、変更鍵レベル(図示せず)は、L1とL2との間に配置され得る。
【0073】
[0103]
図3は、マルチシグシステムで顧客をオンボーディングするための例示的な方法300を示すフロー図である。方法300は、
図1に示されているシステム100内の顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、およびアイデンティティサービスプロバイダ110によって実行され得る。
【0074】
[0104]顧客は、オプションで、アプリケーションを顧客デバイス102に(たとえば、アプリストアから)ダウンロードし、顧客ウォレットを作成(または変更)302することができる。代替として、アプリケーションは、以前にダウンロードされ、製造中に顧客デバイス102にインストールされてもよい。アプリケーションは、通貨変換システム104、たとえば、マネーサービスビジネス(MSB)によって作成されてもよい。アプリケーションは、(たとえば、ユーザインターフェースを使用して)顧客とインターフェースし、通貨変換システム104と通信することができる。顧客ウォレットを作成する(または変更する)ことは、たとえば、シード201に基づいて、ランダムに、または手動で、顧客デバイス102において第1の(または後続の)秘密アカウント鍵204を生成することを含み得る。あるいは、顧客ウォレットを作成することは、顧客が既存の秘密アカウント鍵204を、アプリケーションに入力することを含むことができ、たとえば、顧客は、手動で、既存の秘密アカウント鍵204を転記またはコピーしてアプリケーションに貼り付けることができる。
【0075】
[0105]顧客はまた、アイデンティティデータおよび支払いデータをアプリケーションに入力304することができる。アイデンティティデータは、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入を含むことができる。アイデンティティデータは、指紋データ(たとえば、顧客の指紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像および/または記録)の代わりに、アプリケーションは、生の生体データから導出された処理済みのデータ、たとえば、画像の特徴、音声の特徴などのみを送信できる。
【0076】
[0106]支払いデータは、銀行アカウント情報、クレジットカード情報、非接触型支払いデータ(たとえば、Apple Pay(登録商標)またはAndroid Pay(登録商標)のユーザ名およびパスワード)、既存の暗号通貨ウォレット鍵、および/または、他の支払い処理情報(たとえば、PayPal(登録商標)またはWhatsApp(登録商標)の名前およびパスワード)を含むことができる。顧客デバイス102は、たとえば、安全な転送プロトコルを使用して、顧客に関連付けられたアイデンティティデータおよび支払いデータを、通貨変換システム104に送信306することができる。
【0077】
[0107]通貨変換システム104は、アイデンティティデータを、アイデンティティサービスプロバイダ110に送信308することができる。アイデンティティサービスプロバイダ110は、送信された顧客のアイデンティティデータを使用して、マネーロンダリング防止(AML)手順および/または顧客確認(KYC)手順を実行310することができる。AMLは、顧客がマネーロンダリングしていないこと、つまり、顧客が、違法または非倫理的な活動から受け取った資金源を覆い隠すための措置を講じていないことを確認しようとする場合がある。KYCは、顧客が本人であることを確認し、顧客が法執行機関の監視リストにないことを確認する場合がある。KYCは、(たとえば、ソフトクレジットチェックで)信用価値を評価し、顧客のトランザクション挙動を分析し、顧客のトランザクション挙動に基づく不正な挙動について顧客のアカウントを監視する場合もある。AMLおよび/またはKYC手順が完了すると、アイデンティティサービスプロバイダ110は、通知を通貨変換システム104および信頼できるサードパーティ106に送信312することができる。通知は、顧客のAMLおよび/またはKYC手順の成功または失敗を示す場合がある。例では、アイデンティティサービスプロバイダ110は、それが実行したすべてのAMLおよびKYCチェックを示すレポートを送信することができる。
【0078】
[0108]通知が、すべて(または、すべての必要な)AMLおよびKYCチェックに合格したことを示す場合、通貨変換システム104は、通知に基づいて顧客のアカウントを作成314することができる。アカウントを作成することは、顧客のために通貨変換システム104で秘密アカウント鍵214を生成することを含み得る。通貨変換システム104は、たとえば、BIP32による子鍵導出(CKD)関数を使用して、新しいインデクスでマスタ秘密鍵212から顧客の秘密アカウント鍵214を導出することができる。
【0079】
[0109]アイデンティティサービスプロバイダ110からの通知が、すべて(または、すべての必要な)AMLおよびKYCチェックに合格したことを示す場合、信頼できるサードパーティ106は、通知に基づいて顧客のアカウントを作成316することもできる。アカウントを作成することは、顧客のために信頼できるサードパーティ106で秘密アカウント鍵224を生成することを含み得る。信頼できるサードパーティ106は、たとえば、BIP32による子鍵導出(CKD)関数を使用して、新しいインデクスでマスタ秘密鍵222から顧客の秘密アカウント鍵224を導出することができる。
【0080】
[0110]通知が、すべての(または、すべての必要な)AMLおよびKYCチェックが合格した訳ではないことを示す場合、通貨変換システム104は、AMLおよび/またはKYCが失敗したことを(アプリケーションを介して)顧客に通知し得る。あるいは、通知が、AMLおよび/またはKYCが、アイデンティティデータで完了できなかったことを示すとき、通貨変換システム104は、顧客からのさらなる情報を要求し得る。
【0081】
[0111]
図4は、マルチシグシステムにおいて暗号通貨を購入するための例示的な方法400を示すフロー図である。方法400は、
図1に示されているシステム100内の顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、および資産交換所108によって実行することができる。
【0082】
[0112]顧客は、顧客デバイス102上のアプリケーション上で暗号通貨購入注文を作成402することができる。暗号通貨購入注文は、暗号通貨のタイプ(たとえば、ビットコイン、イーサリアムなど)と、(暗号通貨の量または米ドルのような法定通貨に関する)希望の数量を示す場合がある。暗号通貨購入注文は、指値、ストップ価格、条件付きトリガー要件、注文の期間、注文が部分的に約定されるか否かなどのオプションの属性も示す場合がある。顧客は、暗号通貨購入注文の作成中に、生体入力および/またはパスワードを顧客デバイス102に提供するように要求される場合がある。
【0083】
[0113]オプションで、顧客デバイス102は、顧客デバイス102に格納された秘密鍵を使用して暗号通貨購入注文に署名することができ、たとえば、暗号通貨購入注文は、オプションで、顧客デバイス102に格納された秘密鍵(または、秘密鍵から導出された公開鍵)を使用して暗号化することができる。暗号通貨購入注文は、顧客デバイス102に格納された公開鍵または秘密鍵から導出された(顧客ウォレットの)公開アドレスを含むこともできる。
【0084】
[0114]顧客デバイス102は、暗号通貨購入注文および顧客支払いデータを通貨変換システム104に送信404することができる。顧客支払いデータは、以前に通貨変換システム104に格納されていない支払いデータ、または以前に通貨変換システム104に格納された支払いデータを使用する指示を含むことができる。オプションで、顧客デバイス102は、たとえば生体データなどの顧客のアイデンティティデータを送信することができる。
【0085】
[0115]暗号通貨購入注文に応答して、通貨変換システム104は、顧客支払いデータを処理406し、オプションで、アイデンティティデータを確認し、保管ウォレットへの暗号通貨の購入のために、保管注文を資産交換所108に送信408する。通貨変換システム104は、保管注文とともに保管支払いデータを送信することができる。保管支払いデータは、資産交換所108で保管アカウントから資金を引き出す必要があることを示す場合がある。オプションで、通貨変換システム104は、通貨変換システム104に格納された秘密鍵を使用して保管命令に署名することができ、たとえば、保管命令は、オプションで、通貨変換システム104に格納された秘密鍵(または、秘密鍵から導出された公開鍵)を使用して暗号化することができる。保管命令は、通貨変換システム104に格納された公開鍵または秘密鍵から導出された(保管ウォレットの)公開アドレスを含むこともできる。保管ウォレットは、通貨サービスシステム104、たとえば、マネーサービスビジネス(MSB)に題されてもよい。受信すると、資産交換所108は、保管注文を実行し、暗号通貨を保管ウォレットに入れる410ことができる。
【0086】
[0116]保管注文が送信されるのと同時にまたはほぼ同時に、通貨変換システム104は、暗号通貨購入注文、保管注文、および/または顧客ウォレットにおける新しいトランザクションアドレスについて、信頼できるサードパーティ106に通知412することもできる。通貨変換システム104は、顧客ウォレットのための新しいトランザクションアドレスを生成することができる。これは、N個の公開トランザクション鍵(たとえば、207A、217A、227A)を、マルチ承認ハッシュ関数への入力として(マルチ承認条件入力とともに)使用して、顧客ウォレットのトランザクションアドレスを生成することを含み得る。
【0087】
[0117]信頼できるサードパーティ106は、資産交換所108で特定のタイプのトランザクションを許可する信頼できるパーティとして機能することができる。これにより、トランザクションを承認するための鍵が分散化されるため、システム100が、悪意のある攻撃に対して脆弱になる可能性がある。さらに、信頼できるサードパーティ106は、送
金ライセンスを所有することができるが、通貨変換システム104は、所有しない場合がある。信頼できるサードパーティ106は、資産交換所108に、保管注文に関連付けられた暗号通貨を、保管ウォレットから、顧客ウォレットにおける新しいトランザクションアドレスに転送するように命令416することができる。信頼できるサードパーティ106からの指示を受信すると、資産交換所は、分散型台帳118(たとえば、ブロックチェーン)に、保管ウォレットから顧客ウォレットにおける新しいトランザクションアドレスへの暗号通貨の所有権の変更を記録416することができる。
【0088】
[0118]通貨変換システム104は、新しいトランザクションアドレス、および/または、顧客ウォレットにおける新しいトランザクションアドレスに関連付けられた秘密鍵を、顧客デバイス102に送信418することができる。次に、顧客デバイス102は、たとえば、206A、216A、226Aのように、N個の公開トランザクション鍵に関連付けられたN個のうちM個(マルチ承認条件入力に基づいて、たとえば2/3)の秘密トランザクション鍵を所有する場合にのみ、新しいトランザクションアドレスからトランザクションすることができる。例では、通貨変換システム104は、たとえばクレジットカード支払いの場合は1~2日、電子送金の場合は3~5日など、顧客の支払いが完了するまで、新しいトランザクションアドレス、および/または、新しいトランザクションアドレスに関連付けられた秘密鍵を、顧客デバイス102に送信するのを待つことができる。
【0089】
[0119]
図5は、マルチ承認トランザクションアドレス530を生成するための例示的な通貨変換システム104を示すブロック図である。マルチ承認トランザクションアドレス530を生成するために、通貨変換システム104は、N個(たとえば、3個)の公開トランザクション鍵207A、217A、227Aを必要とする場合がある。
【0090】
[0120]通貨変換システム104は、顧客デバイス102から公開トランザクション鍵207Aを受信することができる。公開トランザクション鍵207Aは、トランザクションアドレスの導出、トランザクションアドレスのトランザクションの監視、および/または(たとえば、ブロックチェーン上の)アカウント残高の表示に使用できるが、公開トランザクション鍵207Aは、アカウントからトランザクションするために使用されないことがある。さらに、公開トランザクション鍵207Aは強化されている(すなわち、拡張されていない)ので、それは、子鍵を導出するために使用されないかもしれない。したがって、顧客デバイス102が公開トランザクション鍵207Aを通貨変換システム104と共有するリスクは比較的低い。
【0091】
[0121]通貨変換システム104は、通貨変換システム104に格納されたノードツリー200Bから公開トランザクション鍵217を導出することもできる。例では、通貨変換システム104は、オプションでマスタ秘密鍵212から導出される、マスタ公開鍵213から導出される、公開アカウント鍵215から、公開トランザクション鍵217を導出することができる。あるいは、通貨変換システム104は、マスタ秘密鍵212から導出される秘密アカウント鍵214から、公開トランザクション鍵217を導出することができる。あるいは、通貨変換システム104は、マスタ秘密鍵212から導出される、秘密アカウント鍵214から導出される、公開アカウント鍵215から、公開トランザクション鍵217を導出することができる。いずれの場合でも、公開トランザクション鍵217は、通貨変換システム104に格納されたノードツリー200Bから導出することができる。
【0092】
[0122]通貨変換システム104は、信頼できるサードパーティ106から受信したマスタ公開鍵223から、公開トランザクション鍵227を導出することもできる。この場合も、マスタ公開鍵223は「公開」であるので、それをトランザクションに使用したり、トランザクションに使用できる秘密鍵を導出することはできない。しかしながら、マスタ
公開鍵223は、多くの異なる顧客のための公開アカウント鍵225を導出するために使用され得、したがって、信頼できるサードパーティ106から通貨変換システムに安全に転送され得る。具体的には、信頼できるサードパーティ106からのマスタ公開鍵223は、インターネットのようなネットワークを介してマスタ公開鍵223を送信することなく、安全かつ/または非電子的手段によって通貨変換システム104と共有することができる。例では、マスタ公開鍵223は、通貨変換システム104に物理的に移動されてダウンロードされる安全なポータブルメモリ(たとえば、ポータブルハードドライブ)にコピーされてもよい。あるいは、マスタ公開鍵223は、手動でハードコピーに手書き(または他の方法で印刷)され、通貨変換システム104に転送され、通貨変換システム104で、手動で入力されてもよい。あるいは、マスタ公開鍵223は暗号化され、ネットワーク(たとえば、インターネット)を介して通貨変換システム104に送信されてもよい。
【0093】
[0123]公開アカウント鍵225は、通貨変換システム104に格納されると、マスタ公開鍵223から導出され得る。次に、通貨変換システム104は、公開アカウント鍵225から公開トランザクション鍵227Aを導出することができる。
【0094】
[0124]次に、通貨変換システム104は、3個の公開トランザクション鍵207A、217A、227Aをマルチ承認ハッシュモジュール528に入力し、マルチ承認条件529とともにマルチ承認トランザクションアドレス530を生成することができる。マルチ承認ハッシュモジュール528は、ハッシュアルゴリズムを使用して、BIP16または他の公開鍵スクリプトで定義されているように、たとえば、ペイツースクリプトハッシュ(P2SH)のようなマルチ承認トランザクションアドレス530を生成することができる。マルチ承認トランザクションアドレス530からトランザクションするために、N個の入力された公開鍵に関連付けられた(マルチ承認条件529で指定された)M個の秘密鍵が必要であるので、結果として得られるマルチ承認トランザクションアドレス530は、通常のトランザクションアドレスとは異なることに留意すべきである。例では、マルチ承認条件529は、3個の公開トランザクション鍵207A、217A、227Aに関連付けられた2個の秘密鍵(たとえば、秘密トランザクション鍵206A、216A、226Aのうち2個)が、マルチ承認トランザクションアドレス530からトランザクションするために必要とされることを指定する。
【0095】
[0125]通貨変換システム104は、マルチ承認トランザクションアドレス530を顧客デバイス102に送信することができる。その後、顧客デバイス102は、適切な数の秘密トランザクション鍵を使用して、マルチ承認トランザクションアドレス530からトランザクションすることができる。例では、顧客デバイス102に格納された秘密トランザクション鍵206Aおよび通貨変換システム104に格納された(そして顧客デバイス102に転送された)秘密トランザクション鍵216Aは、好ましくは、マルチ承認トランザクションアドレス530からトランザクションするために使用され得る。(通貨変換システム104の秘密トランザクション鍵216Aとともに)信頼できるサードパーティ106における秘密トランザクション鍵226Aは、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた場合に、顧客ウォレットを復元するために使用できる。
【0096】
[0126]
図6は、マルチ承認トランザクションアドレス530を生成するための方法600を示すフロー図である。方法600は、通貨変換システム104によって実行され得る。方法600は、新しいトランザクションアドレスが、顧客ウォレットで必要とされるときはいつでも実行することができる。例では、方法600は、マルチ承認トランザクションアドレス530を生成するための、マルチ承認トランザクションアドレス530を作成して新しく購入した暗号通貨を格納するための、または暗号通貨トランザクション中に、
たとえば、新しいマルチ承認トランザクションアドレス530を作成して、トランザクション後の残りの暗号通貨を格納するための顧客要求に応答して実行され得る。
【0097】
[0127]オプションで、通貨変換システム104は、顧客デバイス102からのアイデンティティデータ602を検証することができる。例では、アイデンティティデータは、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入を含むことができる。アイデンティティデータは、指紋データ(たとえば、顧客の指紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像および/または記録)の代わりに、アイデンティティデータは、生の生体データから導出された処理済みのデータ、たとえば、画像の特徴、音声の特徴などを含むことができる。
【0098】
[0128]通貨変換システム104は、受信した生体データを、以前に格納された生体データ、たとえば、顧客が最初に通貨変換システム104で自分のアカウントを作成したときに格納された生体データと比較することにより、顧客デバイス102から受信した顧客のアイデンティティデータを検証することができる。
【0099】
[0129]オプションで、通貨変換システム104は、第1の親公開鍵から導出される第1の公開鍵を決定604することができる。例では、通貨変換システム104は、公開トランザクション鍵207Aを公開アカウント鍵205および/または秘密アカウント鍵204からすでに導出している顧客デバイス102から公開トランザクション鍵207Aを受信することができる。言い換えれば、第1の公開鍵は、顧客デバイス102に格納されたノードツリー200Aからの公開トランザクション鍵207Aであり得、第1の親公開鍵は、公開アカウント鍵205または秘密アカウント鍵204であり得る。
【0100】
[0130]オプションで、通貨変換システム104は、第2の親公開鍵から導出される第2の公開鍵(たとえば、通貨変換システム104に格納されたノードツリー200Bにおける公開トランザクション鍵217)を決定606することもできる。例では、通貨変換システム104は、通貨変換システム104に格納されたノードツリー200Bから公開トランザクション鍵217を導出することができる。例では、公開トランザクション鍵217は、オプションでマスタ秘密鍵212から導出されるマスタ公開鍵213から導出される公開アカウント鍵215から導出される。あるいは、公開トランザクション鍵217は、マスタ秘密鍵212から導出される秘密アカウント鍵214から導出され得る。あるいは、公開トランザクション鍵217は、マスタ秘密鍵212から導出される秘密アカウント鍵214から導出される公開アカウント鍵215から導出され得る。したがって、第2の親公開鍵は、通貨変換システム104に格納されたノードツリー200B内の公開アカウント鍵215、マスタ公開鍵213、マスタ秘密鍵212、または秘密アカウント鍵214であり得る。
【0101】
[0131]オプションで、通貨変換システム104は、第3の親公開鍵から導出される第3の公開鍵を決定608することもできる。例では、通貨変換システム104は、信頼できるサードパーティ106から以前に受信されたマスタ公開鍵223からオプションで導出された公開アカウント鍵225から公開トランザクション鍵227を導出することができる。あるいは、通貨変換システム104は、信頼できるサードパーティ106から以前に受信されたマスタ公開鍵223から公開トランザクション鍵227を導出することができる。言い換えれば、第3の公開鍵は公開トランザクション鍵227であり得、第3のマスタ鍵はそれぞれマスタ公開鍵223または公開アカウント鍵225であり得る。
【0102】
[0132]通貨変換システム104はまた、ハッシュ関数(たとえば、BIP16または他の公開鍵スクリプトで定義されているような、ペイツースクリプトハッシュ(P2SH))を使用して、第1の親公開鍵から導出された第1の公開鍵、第2の親公開鍵から導出された第2の公開鍵、およびハッシュ関数を使用して第3の親公開鍵から導出された第3の公開鍵から、マルチ承認トランザクションアドレス530を導出610することができる。マルチ承認トランザクションアドレス530は、マルチ承認トランザクションアドレス530からトランザクションするために、第1の公開鍵、第2の公開鍵、および第3の公開鍵のうちの少なくともM個(たとえば、2個)に関連付けられた秘密鍵を必要とし得る。
【0103】
[0133]通貨変換システム104は、第2の公開鍵227に関連付けられたマルチ承認トランザクションアドレス530および/または秘密トランザクション鍵226を顧客デバイス102に送信612することができる。その後、顧客デバイス102は、公開トランザクション鍵207A、217A、227Aのうちの少なくとも2個に関連付けられた秘密トランザクション鍵を使用して、マルチ承認トランザクションアドレス530からトランザクションを行うことができる。例では、顧客デバイス102に格納された秘密トランザクション鍵206A、および通貨変換システム104に格納された秘密トランザクション鍵216Aは、通常、マルチ承認トランザクションアドレス530からトランザクションするために使用され得る。あるいは、通貨変換システム104に格納された秘密トランザクション鍵216A、および信頼できるサードパーティ106に格納された秘密トランザクション鍵226Aを使用して、顧客ウォレットの復元中に、マルチ承認トランザクションアドレス530からトランザクションすることができる。
【0104】
[0134]
図7Aは、たとえば、商品またはサービスに暗号通貨を使用するなど、マルチ承認システムにおける暗号通貨トランザクションのための例示的な方法700Aを示すフロー図である。方法700Aは、
図1に示されているシステム100内の顧客デバイス102、通貨変換システム104、およびオプションで、信頼できるサードパーティ106によって実行することができる。
【0105】
[0135]システム100は、オプションで、1つまたは複数の第1の秘密トランザクション鍵206を顧客デバイス102に、1つまたは複数の第2の秘密トランザクション鍵216を通貨変換システム104に、そして1つまたは複数の第3の秘密トランザクション鍵226を、信頼できるサードパーティ106に配布702することができる。例では、秘密トランザクション鍵206、216、226は、それぞれ顧客デバイス102、通貨変換デバイス104、および信頼できるサードパーティ106のそれぞれの秘密アカウント鍵204、214、216から導出されてもよい。
【0106】
[0136]暗号通貨トランザクションを開始するために、顧客は、認証データを使用して顧客デバイス102上でアプリケーションを開く704ことができる。例では、認証データは、生体データ、たとえば、顧客が、指紋リーダに指を置く、カメラを自分の顔に向ける、カメラを自分の目に向ける、またはマイクに向かって話すことを含み得る。例では、生体データがオンボーディング中にアップロードされた生体データと一致する場合にのみ、アプリケーションが開く(または特定のアクセスを許可する)場合がある。あるいは、認証データは、パスワード、または生体データとパスワードとの組合せであってもよい。ユーザがアプリケーションへのアクセス権を取得すると、顧客はアプリケーションでトランザクション要求を作成706することができる。
【0107】
[0137]トランザクション要求は、転送される暗号通貨のタイプおよび量、たとえば、0.15ビットコインを示すことができる。トランザクション要求は、条件付きトリガー要
件、トランザクション要求の期間など、オプションの属性を示す場合もある。トランザクション要求は、暗号通貨が転送される宛先のウォレットのトランザクションアドレスも含むこともできる。
【0108】
[0138]トランザクション要求は、第1の秘密トランザクション鍵206および第2の秘密トランザクション鍵216に基づいて署名708されてもよい。具体的には、顧客デバイス102上のアプリケーションは、トランザクション要求を満たすのに十分な暗号通貨を備えたマルチ承認トランザクションアドレス530を識別することができる。単一のマルチ承認トランザクションアドレス530が十分な暗号通貨で識別できない場合、アプリケーションは、トランザクション要求を満たすのに十分な累積暗号通貨で複数のマルチ承認トランザクションアドレス530を識別できる。次に、アプリケーションは、識別された各マルチ承認トランザクションアドレス530の第1の秘密トランザクション鍵206および第2の秘密トランザクション鍵216を、それぞれのマルチ承認トランザクションアドレス530からトランザクションするために、償還スクリプト(たとえば、BIP16にしたがう償還スクリプト)に入力する。
【0109】
[0139]トランザクション要求が署名されると、トランザクションは、ブロックチェーンなどの分散型台帳118に記録するために資産交換所108に送信され得る。
【0110】
[0140]
図7Bは、たとえば、商品またはサービスのために暗号通貨を使用するなど、鍵分割システムにおける暗号通貨トランザクションのための例示的な方法700Bを示すフロー図である。方法700Bは、
図1に示されているシステム100内の顧客デバイス102、通貨変換システム104、およびオプションで、信頼できるサードパーティ106によって実行することができる。
【0111】
[0141]システム100は、オプションで、第1の秘密鍵コンポーネントを顧客デバイス102に、第2の秘密鍵コンポーネントを通貨変換システム104に、そして第3の秘密鍵コンポーネントを、信頼できるサードパーティ106に配布712することができる。例では、秘密鍵コンポーネントは、たとえば、多項式補間またはShamir秘密共有を使用して、顧客デバイス上の秘密トランザクション鍵206から生成され得る。例では、特定のトランザクションアドレスから暗号通貨トランザクションに署名するために使用される秘密トランザクション鍵206を再構築するために、M/N(たとえば、2/3)鍵コンポーネントが必要とされ得る。例では、第3の秘密鍵コンポーネントは、たとえば、第1の秘密鍵コンポーネントを含む顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた場合など、緊急時にのみ使用される。
【0112】
[0142]暗号通貨トランザクションを開始するために、顧客は、認証データを使用して顧客デバイス102においてアプリケーションを開く714ことができる。例では、認証データは、生体データ、たとえば、顧客が、指紋リーダに指を置く、カメラを自分の顔に向ける、カメラを自分の目に向ける、またはマイクに向かって話すことを含み得る。例では、アプリケーションは、生体データがオンボーディング中にアップロードされた生体データと一致する場合にのみ開くことができる。あるいは、認証データは、パスワード、または生体データとパスワードとの組合せであってよい。ユーザがアプリケーションへのアクセス権を取得すると、顧客はアプリケーションでトランザクション要求を作成716することができる。
【0113】
[0143]トランザクション要求は、転送される暗号通貨のタイプおよび量、たとえば、0.15ビットコインを示すことができる。トランザクション要求は、条件付きトリガー要件、トランザクション要求の期間など、オプションの属性を示す場合もある。トランザクション要求は、暗号通貨が転送される宛先ウォレットの公開アドレスも含み得る。
【0114】
[0144]トランザクション要求は、第1の秘密鍵コンポーネントおよび第2の秘密鍵コンポーネントに基づいて署名718され得る。鍵分割構成では、2個以上の鍵コンポーネントを使用して秘密トランザクション鍵206を再構築し、次に、たとえば
図8Eに記載されているように、再構築された秘密トランザクション鍵206を使用してトランザクション要求に署名することで、トランザクション要求に署名718できる。
【0115】
[0145]トランザクション要求が署名されると、ブロックチェーンなどの分散型台帳118に記録するために、トランザクションは資産交換所108に送信され得る。
【0116】
【0117】
[0147]
図8Aは、マルチシグを使用してトランザクション要求に署名するための第1の例示的な方法800Aを示すフロー図である。方法800Aは、暗号通貨とのトランザクションを求める顧客デバイス102によって実行され得る。顧客デバイス102は、トランザクション要求を満たすために十分な暗号通貨を備えた1つまたは複数のマルチ承認トランザクションアドレス530を識別801することができる。言い換えれば、顧客デバイス102は、正しいタイプ、および、たとえば、0.15ビットコインなどの顧客の所望のトランザクションを満たすのに少なくとも十分な量の暗号通貨を累積的に保持する1つまたは複数の以前に生成されたマルチ承認トランザクションアドレス530を見つけることができる。1つまたは複数のマルチ承認トランザクションアドレス530は、暗号通貨の購入中、残りの暗号通貨を格納するための以前の暗号通貨トランザクション中に、および/または、顧客の要求時に作成され得る。
【0118】
[0148]顧客デバイス102はまた、1つまたは複数のマルチ承認トランザクションアドレス530に関連付けられた1つまたは複数の第1の秘密トランザクション鍵206を識別803できる。第1の秘密トランザクション鍵206は、顧客デバイス102上のノードツリー200Aに格納され得る。第1の秘密トランザクション鍵206は、強化された(すなわち、拡張されていない)鍵であり得る。
【0119】
[0149]顧客デバイス102はまた、1つまたは複数のマルチ承認トランザクションアドレス530に関連付けられた1つまたは複数の第2の秘密トランザクション鍵216を識別805できる。第2の秘密トランザクション鍵216は、最初は、通貨変換システム104上のノードツリー200Bに格納され、その後、顧客デバイス102に送信され得る。例では、第2の秘密トランザクション鍵216は、1つまたは複数のマルチ承認トランザクションアドレス530が、たとえば、暗号通貨の購入中に、資金が提供された、および/または、残りの暗号通貨を格納するために以前の暗号通貨トランザクション中に作成されたときに、顧客デバイス102に送信され得る。第2の秘密トランザクション鍵216は、強化された(すなわち、拡張されていない)鍵であり得る。
【0120】
[0150]顧客デバイス102は、1つまたは複数の第1の秘密トランザクション鍵206および1つまたは複数の第2の秘密トランザクション鍵216を使用して、トランザクション要求に署名807することができる。署名は、たとえば、各ソースマルチ承認トランザクションアドレス530に対応する第1の秘密トランザクション鍵および第2の秘密トランザクション鍵216が入力されたことを確認した後、(たとえば、BIP16にしたがって)償還スクリプトを使用して、署名されたトランザクションを生成することを含み得る。
【0121】
[0151]オプションで、顧客デバイスは、トランザクション後の残りの資金を保持するために、新しいマルチ承認トランザクションアドレス530を作成する要求を通貨変換システム104に送信809することができる。例では、トランザクション要求が、0.5ビットコインを保持するマルチ承認トランザクションアドレス530から0.15ビットコインを転送することであった場合、残りの0.35ビットコインは、通貨変換システム104によって作成された新しいマルチ承認トランザクションアドレス530に転送され得る。
【0122】
[0152]新しいマルチ承認トランザクションアドレス530を作成するために、
図5~
図6に例示されるように、通貨変換システム104は、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106からの3個の公開トランザクション鍵207、217、227をそれぞれ使用することができる。
【0123】
[0153]
図8B~
図8Dは、第1の秘密トランザクション鍵206A、第2の秘密トランザクション鍵216A、およびオプションとして第3の秘密トランザクション鍵226Aが、以前に顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106でそれぞれ配布されていると仮定する。
【0124】
[0154]
図8Bは、マルチシグを使用してトランザクション要求に署名するための第2の例示的な方法800Bを示すフロー図である。方法800Bでは、顧客デバイス102は、生体データと、第2の秘密トランザクション鍵216Aを求める要求とを、通貨変換システム104に送信802することができる。これは、通貨変換デバイス104上のノードツリー200Bに格納された秘密アカウント鍵214Aのインデクスを送信することを含み得る。通貨変換システム104は、要求を受信し、生体データが、顧客の格納された生体データと一致することを確認し、AMLが以前に顧客に対して実行されたことを確認804することができる。
【0125】
[0155]通貨変換システム104は、第2の秘密トランザクション鍵216A、たとえば、顧客デバイス102からのインデクスおよび秘密アカウント鍵214Aを使用して識別された第2の秘密トランザクション鍵216Aを顧客デバイス102に転送806し得る。次に、顧客デバイス102は、(顧客デバイス102に格納された)第1の秘密トランザクション鍵206Aおよび(通貨変換システム104から受信した)第2の秘密トランザクション鍵216Aを使用してトランザクション要求に署名808し得る。署名は、たとえば、マルチ承認トランザクションアドレス530に対応する第1の秘密トランザクション鍵206Aおよび第2の秘密トランザクション鍵216Aが入力されたことを確認した後、(たとえば、BIP16にしたがって)償還スクリプトを使用して、署名されたトランザクションを生成することを含み得る。
【0126】
[0156]オプションで、顧客デバイス102は、トランザクション要求に第2の署名を追加した直後に(通貨変換システム104から受信した)第2の秘密トランザクション鍵216Aを削除810することができる。
【0127】
[0157]
図8Cは、マルチシグを使用してトランザクション要求に署名するための第3の例示的な方法800Cを示すフロー図である。方法800Cでは、顧客デバイス102は、顧客デバイス102に格納された第1の秘密トランザクション鍵206Aを使用して、トランザクション要求に署名812することができる。顧客デバイス102は、部分的に署名されたトランザクション要求を通貨変換システム104に送信814することができる。通貨変換システム104は、通貨変換システム104に格納された第2の秘密トランザクション鍵216Aを使用してトランザクション要求に署名816することができる。通貨変換システム104は、完全に署名されたトランザクション要求を顧客デバイス10
2に送信818することができる。
【0128】
[0158]
図8Dは、マルチシグを使用してトランザクション要求に署名するための第4の例示的な方法800Dを示すフロー図である。方法800Dでは、顧客デバイス102は、署名されていないトランザクション要求を、通貨変換システム104に送信822することができる。通貨変換システム104は、通貨変換システム104に格納された第2の秘密トランザクション鍵216Aを使用して、トランザクション要求に署名824することができる。トランザクションは、3個のうち2個の秘密トランザクション鍵(たとえば、秘密トランザクション鍵206A、216A、226Aのうち2個)を使用した署名を必要とする場合があるため、この時点では、トランザクション要求に部分的にしか署名できない。したがって、通貨変換システム104は、部分的に署名されたトランザクション要求を、顧客デバイス102に送り返す826ことができる。顧客デバイス102は、顧客デバイス102に格納された第1の秘密トランザクション鍵206Aを使用して、トランザクション要求に署名828することができる。
【0129】
[0159]
図8Eは、鍵分割を使用してトランザクション要求に署名するための方法800Eを示すフロー図である。
図8Eは、秘密トランザクション鍵が、たとえば、多項式補間またはShamir秘密共有を使用して、少なくとも2個(または3個)の鍵コンポーネントのセットに事前に分割されていることを前提とする。
図8Eはまた、第1の秘密鍵コンポーネント、第2の秘密鍵コンポーネント、およびオプションで第3の秘密鍵コンポーネントが、それぞれ顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106でそれぞれ事前に配布されていると仮定する。
【0130】
[0160]方法800Eでは、顧客デバイス102は、生体データと、第2の秘密鍵コンポーネントを求める要求とを、通貨変換システム104に送信832することができる。通貨変換システム104は、この要求を受信し、生体データが顧客の格納された生体データと一致することを確認し、AMLが以前に顧客に対して実行されたことを確認834することができる。通貨変換システム104は、第2の秘密鍵コンポーネントを顧客デバイス102に転送836することもできる。顧客デバイス102は、(顧客デバイス102に格納された)第1の秘密鍵コンポーネントおよび(通貨変換システム104から受信した)第2の秘密鍵コンポーネントを使用して秘密鍵を再構築838し得る。顧客デバイス102は、再構築された秘密トランザクション鍵を使用して、トランザクション要求に署名840することができる。オプションで、顧客デバイス102は、署名をトランザクション要求に追加した直後に、(通貨変換システム104から受信した)第2の秘密鍵コンポーネントおよび/または再構築された秘密鍵を削除842することができる。
【0131】
[0161]
図9Aは、マルチシグを使用して顧客の鍵の紛失後に顧客ウォレットを復元するための例示的な方法900Aを示すフロー図である。方法900Aは、
図1に示される通貨変換システム104によって実行され得る。方法900Aは、顧客が顧客ウォレットの鍵を格納したデバイス(たとえば、モバイルデバイス)を紛失または破壊したことに応答して実行され得る。方法900Aはまた、顧客が新しいモバイルデバイスを購入する(すなわち、アップグレードする)とき、または顧客がモバイルデバイスをハードリセット/再フォーマットするときに実行され得る。
【0132】
[0162]通貨変換システム104は、顧客デバイス102から、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信901することができる。例では、アイデンティティデータは、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入を含むことができる。アイデンティティデータは、指紋データ(たとえば、顧客の指
紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像および/または記録)の代わりに、アイデンティティデータは、生の生体データから導出された処理済みのデータ、たとえば、画像の特徴、音声の特徴などを含むことができる。
【0133】
[0163]通貨変換システム104は、顧客デバイス102から受信した顧客のアイデンティティデータを検証903することができる。例では、検証は、受信した生体データを、以前に格納された生体データ、たとえば、顧客が最初に通貨変換システム104でアカウントを作成したときに格納された生体データと比較することを含み得る。
【0134】
[0164]顧客デバイスから受信されたアイデンティティデータが検証されると(すなわち、受信された生体データが、以前に格納された生体データと一致すると)、通貨変換システム104は、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティ106の鍵リポジトリに通信905することができる。例では、第1の鍵は、信頼できるサードパーティ106に格納された秘密トランザクション鍵226であり得る。
【0135】
[0165]通貨変換システム104はまた、信頼できるサードパーティ106のための鍵リポジトリから、顧客ウォレットに関連付けられた第1の鍵を受信907することもできる。通貨変換システム104はまた、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元909することができる。例では、第2の鍵は、通貨変換システム104に格納された秘密トランザクション鍵226であり得る。
【0136】
[0166]オプションで、通貨変換システム104は、顧客の古い顧客デバイス102からのトランザクション要求が、もはや署名または実行されるべきではないことを示す内部設定を変更911することもできる。
【0137】
[0167]
図9Bは、マルチシグを使用して顧客の鍵の紛失後に顧客ウォレットを復元するための別の例示的な方法900Bを示すフロー図である。方法900Bは、
図1に示される通貨変換システム104によって実行され得る。方法900Bは、顧客が顧客ウォレットの鍵を格納したデバイス(たとえば、モバイルデバイス)を紛失または破壊したことに応答して実行され得る。方法900Bはまた、顧客が新しいモバイルデバイスを購入する(すなわち、アップグレードする)とき、または顧客がモバイルデバイスをハードリセット/再フォーマットするときに実行されてもよい。
【0138】
[0168]通貨変換システム104は、顧客デバイス102から、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信902することができる。例では、アイデンティティデータは、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入を含むことができる。アイデンティティデータはまた、指紋データ(たとえば、顧客の指紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像および/または記録)の代わりに、アイデンティティデータは、生の生体データから導出された処理済みのデータ、たとえば、画像の特徴、音声の特徴などを含むことができる。
【0139】
[0169]通貨変換システム104は、顧客デバイス102から受信した顧客のアイデンテ
ィティデータを検証904することができる。例では、検証は、受信した生体データを、以前に格納された生体データ、たとえば、顧客が最初に通貨変換システム104でアカウントを作成したときに格納された生体データと比較することを含み得る。
【0140】
[0170]顧客デバイスから受信したアイデンティティデータが検証されると(すなわち、受信された生体認証データが、以前に格納された生体認証データと一致する場合)、通貨変換システム104は、顧客ウォレットにおける1つまたは複数の投入されたマルチ承認トランザクションアドレス530、つまり、暗号通貨が含まれる1つまたは複数のマルチ承認トランザクションアドレス530を識別906できる。これは、顧客のために通貨変換システム104に格納された秘密アカウント鍵214に関連付けられたマルチ承認トランザクションアドレス530をトラバースすることを含み得る。あるいは、通貨変換システム104は、顧客のために生成および/または投入された(秘密アカウント鍵214に関連付けられた)最後のマルチ承認トランザクションアドレス530のインデクスを維持することができる。
【0141】
[0171]通貨変換システム104は、1つまたは複数の投入されたマルチ承認トランザクションアドレス530に関連付けられた1つまたは複数の第1の秘密トランザクション鍵226の信頼できるサードパーティ106を求める要求を鍵リポジトリ116に送信908できる。言い換えれば、通貨変換システム104は、投入されたマルチ承認トランザクションアドレス530を生成するために使用された公開トランザクション鍵227に関連付けられた秘密トランザクション鍵226を要求することができる。例では、この要求は、信頼されたサードパーティ106上で、要求された各第1の秘密トランザクション鍵226についてのインデクスを含み得、たとえば、通貨変換システム104が3個の第1の秘密トランザクション鍵226を要求する場合、要求は、信頼できるサードパーティ106の秘密アカウント鍵224について、3個のインデクスを含み得る。第1の秘密トランザクション鍵226は、暗号通貨および/または(残りの暗号通貨を格納するための)以前の暗号通貨トランザクションの購入中に生成された強化された鍵であり得る。
【0142】
[0172]通貨変換システム104はまた、信頼できるサードパーティ106の鍵リポジトリから、顧客ウォレットに関連付けられた1つまたは複数の第1の秘密トランザクション鍵226を受信910し得る。通貨変換システム104はまた、1つまたは複数の投入されたマルチ承認トランザクションアドレス530に関連付けられた1つまたは複数の第1の秘密トランザクション鍵226および1つまたは複数の第2の秘密トランザクション鍵216を使用して、顧客ウォレットを復元912することもできる。例では、第2の秘密トランザクション鍵216は、通貨変換システム104上のノードツリー200Bに格納されてもよく、1つまたは複数のマルチ承認トランザクションアドレス530に関連付けられてもよい。第2の秘密トランザクション鍵216は、(残りの暗号通貨を格納するための)暗号通貨および/または以前の暗号通貨トランザクションの購入中に生成された強化された鍵であり得る。
【0143】
[0173]オプションで、通貨変換システム104は、顧客の古い顧客デバイス102からのトランザクション要求がもはや署名または実行されるべきではないことを示す内部設定を変更914することもできる。
【0144】
[0174]
図9Cは、鍵分割を使用して顧客の鍵コンポーネントの紛失後に顧客ウォレットを復元するための例示的な方法900Cを示すフロー図である。方法900Cは、
図1に示される通貨変換システム104によって実行され得る。方法900Cは、顧客が、顧客ウォレットの鍵コンポーネントを格納したデバイス(たとえば、モバイルデバイス)を紛失または破壊したことに応答して実行され得る。方法900Cは、顧客が新しいモバイルデバイスを購入する(すなわち、アップグレードする)とき、または顧客がモバイルデバ
イスをハードリセット/再フォーマットするときにも実行され得る。
【0145】
[0175]通貨変換システム104は、顧客デバイス102から、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信916することができる。例では、アイデンティティデータは、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入を含むことができる。アイデンティティデータは、指紋データ(たとえば、顧客の指紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像および/または記録)の代わりに、アイデンティティデータは、生の生体データから導出された処理済みのデータ、たとえば、画像の特徴、音声の特徴などを含むことができる。
【0146】
[0176]通貨変換システム104は、顧客デバイス102から受信した顧客のアイデンティティデータを検証918することができる。例では、検証は、受信した生体データを、以前に格納された生体データ、たとえば、顧客が最初に通貨変換システム104でアカウントを作成したときに格納された生体データと比較することを含み得る。
【0147】
[0177]顧客デバイスから受信したアイデンティティデータが検証される(すなわち、受信された生体認証データが、以前に格納された生体認証データと一致する)と、通貨変換システム104は、顧客ウォレット内の1つまたは複数の投入されたトランザクションアドレス530、つまり、暗号通貨が含まれる1つまたは複数のマルチ承認トランザクションアドレス530を識別920できる。これは、顧客ウォレット内のトランザクションアドレス530をトラバースすることを含み得る。あるいは、通貨変換システム104は、顧客のために生成および/または投入された最後のトランザクションアドレス530のインデクスを維持することができる。
【0148】
[0178]通貨変換システム104は、1つまたは複数の投入されたトランザクションアドレスに関連付けられた1つまたは複数の第1の秘密鍵コンポーネントを求める要求を、信頼できるサードパーティ106の鍵リポジトリに送信922することができる。言い換えれば、通貨変換システム104は、トランザクションアドレスを生成するために使用された公開鍵コンポーネントに関連付けられた第1の秘密鍵コンポーネントを要求することができる。
【0149】
[0179]通貨変換システム104はまた、信頼できるサードパーティ106の鍵リポジトリから、顧客ウォレットに関連付けられた1つまたは複数の第1の鍵コンポーネントを受信924することができる。通貨変換システム104はまた、1つまたは複数の第1の鍵コンポーネントおよび1つまたは複数のトランザクションアドレス530に関連付けられた1つまたは複数の第2の鍵コンポーネントを使用して、顧客ウォレットを復元926することができる。例では、第2の秘密鍵コンポーネントは、(残りの暗号通貨を格納するために)暗号通貨および/または以前の暗号通貨トランザクションの購入中に生成されてもよい。
【0150】
[0180]オプションで、通貨変換システム104は、顧客の古い顧客デバイス102からのトランザクション要求が、もはや署名または実行されるべきではないことを示す内部設定を変更928することもできる。
【0151】
[0181]
図10Aは、マルチシグを使用して顧客ウォレットを復元するための例示的な方法1000Aを示すブロック図である。
図10Aは、
図9Aの要素909の1つの実施を
示す。方法1000Aは、
図1に示されている顧客デバイス102、通貨変換システム104、および/または信頼できるサードパーティ106のうちの1つまたは複数によって実行することができる。
【0152】
[0182]方法1000Aは、顧客が、顧客ウォレットに関連付けられた秘密鍵を所有する顧客デバイス102を紛失、破壊、アップグレード、またはハードリセット/再フォーマットした後に実行されてもよい。顧客ウォレット(つまり、古い顧客ウォレット)を復元する処理には、新しい顧客ウォレットを作成し、古い顧客ウォレットから新しい顧客ウォレットに資産を転送することが含まれる。
【0153】
[0183]本明細書で使用するとき、鍵、アドレス、または顧客ウォレットを指すときの「古い」という用語は、(たとえば、
図3に記載されているように)鍵、アドレス、またはウォレットがオンボーディング中に作成されたことを意味する。鍵、アドレス、または顧客ウォレットを指す場合、「新しい」という用語は、1つまたは複数の古い鍵、アドレス、またはウォレットの紛失後のアカウントの復元中に鍵、アドレス、またはウォレットが作成されたことを意味する。
【0154】
[0184]新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵が生成1001されてもよい。新しい秘密鍵は、顧客デバイス102、通貨変換システム104、および/または信頼できるサードパーティ106のために生成されてもよい。
【0155】
[0185]新しい秘密鍵を生成するデバイスのうちの1つのデバイス(たとえば、通貨変換システム104)は、新しい秘密鍵に基づいて、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成1003することもできる。これには、新しい秘密鍵に関連付けられた新しい公開鍵の生成、および新しい公開鍵からの新しいトランザクションアドレスの導出が含まれる場合がある。例では、ハッシュ関数は、3個の新しい公開鍵(たとえば、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のおのおのから1個)を受信し、新しいトランザクションアドレスを生成することができる。次に、デバイスは、新しいトランザクションアドレスからトランザクションを実行するために、新しい公開鍵のうち少なくとも2個に関連付けられた新しい秘密鍵を所有する必要がある。
【0156】
[0186]デジタル資産はまた、古い(紛失した)顧客ウォレットから、新しいトランザクションアドレスに転送1005され、たとえば、(信頼できるサードパーティ106からの)第1の鍵と、(通貨変換システム104からの)第2の鍵とを使用してトランザクションに署名することができる。これには、顧客デバイス102、通貨変換システム104、および/または、信頼できるサードパーティ106が、資産交換所108(または分散型台帳118にアクセスできる他のノード)に、古い顧客ウォレットから新しいトランザクションアドレスへの所有権の変更を記録する要求を送信することが含まれる。所有権の変更を記録する要求には、新しい秘密鍵のM/N(たとえば、2/3)、または古い秘密鍵のM/N(たとえば、2/3)を使用した署名が必要な場合がある。したがって、要求を生成または送信するデバイスは、要求に署名する前に、1つまたは複数の古い秘密鍵をすでに所有していること、および/または、他のデバイスから1つまたは複数の古い秘密鍵を受信していることを確認する必要があり、つまり、生成/送信デバイスは、要求に署名する前に、古い秘密鍵のM/N(たとえば、2/3)を所有していることを確認する必要がある。
【0157】
[0187]通貨変換システム104はまた、新しいトランザクションアドレスと、新しい秘密鍵のうちの1個または複数個とを、顧客デバイス102に通信1007することができる。オプションで、通貨変換システムは、古い顧客ウォレットから新しいトランザクショ
ンアドレスへのデジタル資産の転送が、たとえば分散型台帳118に正常に記録されたときに、顧客デバイス102に通知1009することもできる。
【0158】
[0188]
図10Bは、マルチシグを使用して顧客ウォレットを復元するための別の例示的な方法1000Bを示すブロック図である。
図10Bは、
図9Bの要素912の1つの実施を示す。方法1000Bは、
図1に示されている顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のうちの1つまたは複数によって実行することができる。
【0159】
[0189]方法1000Bは、顧客が顧客ウォレットに関連付けられた秘密鍵を所有する顧客デバイス102を紛失、破壊、アップグレード、またはハードリセット/再フォーマットした後に実行されてもよい。顧客ウォレット(つまり、古い顧客ウォレット)を復元する処理には、古いアカウント鍵に関連付けられたトランザクションアドレスから、新しいアカウント鍵に関連付けられたトランザクションアドレスに資産を転送することを含むことができる。
【0160】
[0190]オプションで、顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のおのおのについて、新しい公開アカウント鍵205、215、225を生成1002することができる。方法1000Bは、古い顧客デバイス102での顧客の秘密アカウント鍵204(および公開アカウント鍵205)の紛失後に実行される可能性が高いので、新しい顧客デバイス102は、たとえば新しい秘密アカウント鍵204から、新しい公開アカウント鍵205を生成することができる。通貨変換システム104は、ノードツリー200Bに格納されたマスタ公開鍵213の新しいインデクスで新しい公開アカウント鍵215を生成することができる。通貨変換システム104は、通貨変換システム104に格納されたマスタ公開鍵223を使用して、たとえば、通貨変換システム104に格納されたマスタ公開鍵223の新しいインデクスで、信頼できるサードパーティ106のための新しい公開アカウント鍵225を生成することもできる。信頼できるサードパーティ106は、安全なおよび/または非電子的な手段を介して、そのマスタ公開鍵223を通貨変換システム104と共有することができる。
【0161】
[0191]顧客デバイス102のための第1のインデクスゼロの公開トランザクション鍵207、通貨変換システム104のための第2のインデクスゼロの公開トランザクション鍵217、および第3のインデクスゼロの公開トランザクション鍵227が決定1004され得る。例では、インデクスゼロの公開トランザクション鍵207、217、227のうちの1個または複数個は、それぞれ新しい公開アカウント鍵205、215、225のインデクス0で導出され得る。あるいは、またはさらに、インデクスゼロの公開トランザクション鍵207、217、227のうちの1個または複数個は、それぞれ1つまたは複数の新しい秘密アカウント鍵204、214、224から導出され得る。あるいは、またはさらに、1つまたは複数のインデクスゼロの公開トランザクション鍵207、217、227は、1つまたは複数の新しい秘密アカウント鍵204、214、224から導出され得る1つまたは複数のインデクスゼロ秘密トランザクション鍵206、216、226からそれぞれ導出され得る。言い換えると、インデクスゼロの公開トランザクション鍵207、217、227は、それぞれのノードツリー200A、200B、200C内の任意のパスを介して導出され得る。
【0162】
[0192]通貨変換システム104は、インデクスゼロの公開トランザクション鍵207、217、227から、インデクスゼロのマルチ承認トランザクションアドレス530を生成1006することもできる。これには、ハッシュ関数(たとえば、ペイツースクリプトハッシュ(P2SH)または他の公開鍵スクリプト)を使用して、マルチ承認トランザクションアドレス530からトランザクションするために、2個のインデクスゼロの秘密ト
ランザクション鍵206、216、226を必要とするマルチ承認トランザクションアドレス530を作成することを含む。
【0163】
[0193]通貨変換システム104は、第1の古い秘密アカウント鍵204に関連付けられた1つまたは複数の第1の秘密トランザクション鍵226と、第2の古い秘密アカウント鍵214に関連付けられた1つまたは複数の第2の秘密トランザクション鍵216を使用して、1つまたは複数の投入されたマルチ承認トランザクションアドレス530の暗号通貨を、インデクスゼロのマルチ承認トランザクションアドレス530に転送1008することもできる。言い換えると、通貨変換システム104は、古い秘密アカウント鍵204、214、224および/または古い公開アカウント鍵205、215、225に関連付けられたマルチ承認トランザクションアドレス530から暗号通貨を、新しい公開アカウント鍵205、215、225に関連付けられたインデクスゼロのマルチ承認トランザクションアドレスに転送することができる。
【0164】
[0194]通貨変換システム104はまた、インデクスゼロのマルチ承認トランザクションアドレス530と、第2の公開トランザクション鍵217に関連付けられた秘密トランザクション鍵216とを、顧客デバイス102に通信1010することができる。オプションで、通貨変換システム104は、分散型台帳への転送を記録し、転送が正常に記録されたときに顧客デバイス102に通知1012することもできる。
【0165】
[0195]
図10Cは、鍵分割を使用して顧客ウォレットを復元するための例示的な方法1000Cを示すブロック図である。
図10Cは、
図9Bにおける要素926の1つの実施を示す。方法1000Cは、
図1に示されている顧客デバイス102、通貨変換システム104、および信頼できるサードパーティ106のうちの1つまたは複数によって実行することができる。
【0166】
[0196]方法1000Cは、顧客が、顧客ウォレットに関連付けられた秘密鍵コンポーネントを所有する顧客デバイス102を紛失、破壊、アップグレード、またはハードリセット/再フォーマットした後に実行されてもよい。顧客ウォレット(つまり、古い顧客ウォレット)を復元する処理には、新しい顧客ウォレットを作成し、古い顧客ウォレットから新しい顧客ウォレットに資産を転送することが含まれる。
【0167】
[0197]オプションで、新しい公開アカウント鍵、たとえば、顧客デバイス102において新しい公開アカウント鍵205が生成1014されてもよい。方法1000Cは、古い顧客デバイス102での顧客の秘密アカウント鍵204(および公開アカウント鍵205)の紛失後に実行される可能性が高いので、新しい顧客デバイス102は、たとえば、新しい秘密アカウント鍵204から、新しい公開アカウント鍵205を生成することができる。
【0168】
[0198]インデクスゼロの公開トランザクション鍵は、新しい公開アカウント鍵から決定1016されてもよい。例では、インデクスゼロの公開トランザクション鍵207は、新しい公開アカウント鍵205のインデクス0で導出されてもよい。あるいは、インデクスゼロの公開トランザクション鍵207は、顧客デバイス102において新しい秘密アカウント鍵204から導出されてもよい。あるいは、インデクスゼロの公開トランザクション鍵207は、新しい秘密アカウント鍵204から導出され得るインデクスゼロの秘密トランザクション鍵206から導出され得る。言い換えれば、インデクスゼロの公開トランザクション鍵207は、ノードツリー200A内の任意のパスを介して導出され得る。
【0169】
[0199]インデクスゼロのトランザクションアドレスは、インデクスゼロの公開トランザクション鍵207から生成1018され得る。これには、ハッシュ関数(たとえば、公開
鍵スクリプト)を使用して、トランザクションアドレスからトランザクションするために、秘密トランザクション鍵206を必要とするトランザクションアドレスを作成することが含まれる。
【0170】
[0200]信頼できるサードパーティ106からの1個または複数個の第1の秘密鍵コンポーネントと、通貨変換システム104からの1個または複数個の第2の秘密鍵コンポーネントとを使用して、1個または複数個の秘密トランザクション鍵206を再構成1020することができる。
【0171】
[0201]1つまたは複数の投入されたトランザクションアドレスの暗号通貨は、再構成された秘密トランザクション鍵206を使用して、インデクスゼロのトランザクションアドレスに転送1022され得る。言い換えれば、古い秘密アカウント鍵204および/または古い公開アカウント鍵205に関連付けられたトランザクションアドレスからの暗号通貨は、新しい公開アカウント鍵205に関連付けられたインデクスゼロのトランザクションアドレスに転送されてもよい。
【0172】
[0202]通貨変換システム104はまた、インデクスゼロのトランザクションアドレス530と、インデクスゼロの公開トランザクション鍵に関連付けられた1個または複数個の秘密鍵コンポーネントとを、顧客デバイス102に通信1024する。オプションで、転送は分散型台帳に記録され、転送が正常に記録されたときに顧客デバイス102に通知1026されてもよい。
【0173】
[0203]
図11は、マルチ承認トランザクションアドレス530からトランザクションするための例示的なシステム1100を示すブロック図である。システム1100は、
図5に示される通貨変換システム104を補完するものであり得、N個のうちM個(たとえば、2/3)の秘密トランザクション鍵206A、216A、226Aを使用して、マルチ承認トランザクションアドレス530からトランザクションし得る。システム1100は、用途に応じて、顧客デバイス102または通貨変換システム104で実施されてもよい。
【0174】
[0204]具体的には、ルーチンの暗号通貨トランザクションの場合、システム1100は、顧客デバイス102において実施され得る。例では、システム1100は、通貨変換システム104から(顧客の秘密アカウント鍵214のインデクスXで)秘密トランザクション鍵216Aを受信することができる。システム1100は、秘密トランザクション鍵216Aおよび秘密トランザクション鍵206A(やはり顧客デバイス102上の秘密アカウント鍵204のインデクスXにある)を償還モジュール1140に入力することができる。償還モジュール1140は、秘密トランザクション鍵206Aおよび秘密トランザクション鍵216Aの両方が同じマルチ承認トランザクションアドレス530に対応することを確認することができる。秘密トランザクション鍵206Aおよび秘密トランザクション鍵216Aの両方がマルチ承認トランザクションアドレス530に対応する場合、償還モジュール1140は、署名されたトランザクション1142を生成することができる。言い換えれば、システム1100は、マルチ承認トランザクションアドレス530における暗号通貨が、たとえば顧客デバイス102上で顧客によって指定された、別のトランザクションアドレスに転送されることを可能にし得る。償還モジュール1140は、(たとえば、BIP16にしたがって)償還スクリプトを使用して、署名されたトランザクション1142を生成することができる。
【0175】
[0205]あるいは、顧客ウォレットの復元に関連する暗号通貨トランザクションの場合、システム1100は、通貨変換システム104で実施されてもよい。例では、システム1100は、信頼できるサードパーティ106から(顧客の秘密アカウント鍵224のイン
デクスYで)秘密トランザクション鍵226Aを受信することができる。システム1100は、(通貨変換システム104上の秘密アカウント鍵214のインデクスYにもある)秘密トランザクション鍵226Aおよび秘密トランザクション鍵216Aを、償還モジュール1140に入力することができる。償還モジュール1140は、秘密トランザクション鍵216Aおよび秘密トランザクション鍵226Aの両方が、同じマルチ承認トランザクションアドレス530に対応することを確認することができる。秘密トランザクション鍵216Aおよび秘密トランザクション鍵226Aの両方がマルチ承認トランザクションアドレス530に対応している場合、償還モジュール1140は、署名されたトランザクション1142を生成し、たとえば、システム1100は、マルチ承認トランザクションアドレス530における暗号通貨が、新しいマルチ承認トランザクションアドレス530に転送されることを許可できる。償還モジュール1140は、(たとえば、BIP16にしたがって)償還スクリプトを使用して、署名されたトランザクション1142を生成することができる。
【0176】
[0206]
図12は、マルチ承認暗号通貨アカウントおよびトランザクションのための別の例示的なシステム1200を示すブロック図である。システム1200は、顧客デバイス102、オプションの資産交換所108、オプションのアイデンティティサービスプロバイダ110、およびオプションの分散型台帳118を含むことができ、それぞれ一般に
図1のシステム/デバイスに対応する。システム1200は、N個のボールトシステム1250A~Nおよびオプションの記録保持システム1252も含み得る。
【0177】
[0207]ボールトシステム1250および記録保持システム1252のおのおのは、モバイル電話、タブレットコンピュータ、モバイルメディアデバイス、モバイルゲームデバイス、ラップトップコンピュータ、または車両ベースなどのモバイルコンピューティングデバイス、または、専用端末、公衆端末、キオスク、サーバ、クラウドサーバ、デスクトップコンピュータなどの非モバイルコンピューティングデバイスのうちのいずれかとして実施され得る。各ボールトシステム1250および記録保持システム1252は、1つまたは複数のハウジング内に1つまたは複数のコンピューティングデバイスを含むことができる。各ボールトシステム1250および記録保持システム1252は、少なくとも1つのメモリに格納された命令を実行する少なくとも1つのプロセッサを含み得る。
【0178】
[0208]システム1200内のデバイスのおのおのは、少なくとも1つのネットワーク112(ネットワーク112A~Bなど)を使用して1つまたは複数の他のデバイスに通信可能に結合され得る。例では、少なくとも1つのネットワーク112は、少なくとも1つの有線ネットワークおよび/または少なくとも1つのワイヤレスネットワークを含む。例では、有線ネットワークおよびワイヤレスネットワークの任意の組合せを使用して、顧客デバイス102、ボールトシステム1250、およびオプションの記録保持システム1252を互いに結合することができる。例では、少なくとも1つのネットワーク112は、少なくとも1つのローカルエリアネットワーク(LAN)、少なくとも1つのワイドエリアネットワーク(WAN)、またはインターネットのうちの少なくとも1つを含む。例では、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットの任意の組合せを、少なくとも1つのネットワーク112として使用して、顧客デバイス102、ボールトシステム1250、およびオプションの記録保持システム1252を互いに結合することができる。
【0179】
[0209]システム1200は、マルチ承認方法論、たとえば、マルチパーティマルチシグネチャ(マルチシグ)方法論、マルチパーティ鍵分割方法論、またはこれら2つの組合せを使用することができる。マルチシグが使用される場合、N個の秘密鍵が、たとえば、顧客デバイス102、ボールトシステム1250、またはいくつかの組合せで生成され得る。あるいは、鍵分割が使用される場合、秘密鍵が顧客デバイス102、またはボールトシ
ステム1250の1つで生成され、その後、秘密鍵がN個の鍵コンポーネントに分割され、それぞれが異なるボールトシステム1250または顧客デバイス102に格納される。あるいは、システム1200は、たとえば、N個の秘密鍵が(顧客デバイス102および/またはボールトシステム1250において)生成され、秘密鍵のうちの少なくとも1個が、トランザクションの署名に使用する前に再構築する必要がある様々な鍵コンポーネントに分割されるマルチシグおよび鍵分割方法論の組合せを使用し得る。
【0180】
[0210]システム1200における顧客デバイス102は、データを暗号化/復号し、トランザクションアドレスを生成し、オプションの分散型台帳118に記録するために、完了したトランザクションを送信し、顧客ウォレット復元中にスイープトランザクションを生成し、および/または、トランザクションに署名する。例では、システム1200内の顧客デバイス102は、N個の秘密鍵(または鍵コンポーネント)を生成し、それらを安全に保管するためにボールトシステム1250に配布することができる。あるいは、システム1200内の顧客デバイス102は、N個の秘密鍵(または鍵コンポーネント)を生成し、それらのN-1個を、N-1個のそれぞれのボールトシステム1250に配布し、秘密鍵(または鍵コンポーネント)の1個を、たとえば、鍵リポジトリ111内にローカルに格納することができる。秘密鍵は、階層的決定論的(HD)秘密鍵、たとえば、上述の秘密アカウント鍵204であり得る。各秘密鍵には、特定の顧客へインデクス付けすることができる。
【0181】
[0211]ボールトシステム1250でのオンボーディング中に、顧客デバイス102は、(顧客に関連付けられた)アイデンティティデータをボールトシステム1250および/またはアイデンティティサービスプロバイダ110に送信することができる。上記のように、アイデンティティデータは、たとえば、顧客の名前、生年月日、運転免許証番号と有効期限、住所、電話番号、電子メールアドレス、社会保障番号、顧客の政府発行の写真付き身分証明書の画像、政府発行の写真付き身分証明書を保持する顧客の写真、雇用情報、および/または、収入のような個人識別可能な情報を含むことができる。アイデンティティデータは、指紋データ(たとえば、顧客の指紋のスキャン)、網膜スキャンデータ(たとえば、顧客の網膜の画像)、顔認識データ(たとえば、顧客の顔の画像)、および/または音声データ(たとえば、顧客の声の記録)のような生体データも含むことができる。生の生体データ(たとえば、画像や記録など)の代わりに、アプリケーションは、生の生体データ、たとえば、画像の特徴、音声の特徴などから導出された処理済みのデータのみを送信できる。アイデンティティデータに加えて、顧客デバイス102は、ボールトシステム1250がたとえばその鍵リポジトリに格納するための秘密鍵(または、鍵コンポーネント)を送信することもできる。
【0182】
[0212](1)顧客デバイス102が、アイデンティティデータをボールトシステム1250に送信し、(2)ボールトシステム1250が、(顧客デバイス102から受信するのではなく)顧客デバイス102に関連付けられた秘密鍵(または鍵コンポーネント)を生成する代替のオンボーディング構成が可能であることに留意すべきである。ボールトシステム1250が顧客デバイス102から秘密鍵(または鍵コンポーネント)を受信するか、ボールトシステム1250が秘密鍵(または鍵コンポーネント)を生成するかに関わらず、ボールトシステム1250は秘密鍵(または鍵コンポーネント)をボールトシステム1250における顧客に関連付けることができる。
【0183】
[0213]さらに、顧客デバイス102とボールトシステム102との間で実行されるオンボーディング処理は、秘密鍵(または鍵コンポーネント)の生成および/または送信を示すトランザクションを記録することを含み得る。例では、秘密鍵(または、鍵コンポーネント)を生成する顧客デバイス102またはボールトシステム1250は、秘密鍵(または、鍵コンポーネント)のハッシュを、秘密鍵(または、鍵コンポーネント)の作成の証
明としてサービス提供するために、分散型台帳(または、オプションの分散型台帳118を実施するノード)に送信し得る。例では、単一のトランザクションが、N個すべての秘密鍵(または、鍵コンポーネント)の作成の証明としてサービス提供し得る。
【0184】
[0214]さらに、アプリケーションプログラミングインターフェース(API)は、顧客デバイス102とボールトシステム1250との間に分散されてもよい。例では、顧客デバイス102は、顧客が自分の秘密鍵(または、鍵コンポーネント)を格納したいボールトシステム1250(およびオプションで、顧客デバイス102自体)の数およびどれであるかを指定するユーザ入力を促し、受信することができる。例では、顧客は、任意の数(たとえば、N=1-100)のボールトシステム1250を選択して、秘密鍵(または、鍵コンポーネント)を格納し、アクション(たとえば、暗号化および/または復号化、トランザクションに署名すること、など)を実行するために、秘密鍵(または、鍵コンポーネント)のすべてが必要であること、すなわち、M=Nを指定することができる。あるいは、顧客は、任意の数(たとえば、N=1-100)のボールトシステム1250を選択して、秘密鍵(または、鍵コンポーネント)を格納し、アクションを実行するためにすべての鍵(または鍵コンポーネント)より少ない鍵が必要であること、すなわち、M<Nを指定することができる。好ましくは、MとNの両方が1より大きい。
【0185】
[0215]オプションで、顧客は、セキュリティ、信頼性、コスト、および/またはその他の懸念事項に基づいて、使用される構成を調整することができる。一例では、顧客は、4個のうち3個の秘密鍵(または、鍵コンポーネント)を必要とし、最初に顧客デバイス102自体に格納された4個のうち1個の秘密鍵(または、鍵コンポーネント)を用いて個人アカウントでアクションを実行する(たとえば、(M=3)<(N=4))。このような構成は、たとえば、(1)より多くの人々が共謀してアカウントから資金を盗む必要があるため、および(2)すべての秘密鍵(または、鍵コンポーネント)は、顧客デバイス102の外部に存在しないため、顧客が高度な制御を保持することを希望するアカウントのために使用できる。言い換えると、3/4構成では、(たとえば、2/4または2/5構成および/または最初に顧客デバイス102自体に秘密鍵(または、鍵コンポーネント)を格納しない構成と比較して)アカウント資金の盗難の可能性を低減することができる。
【0186】
[0216]別の例では、顧客は、個人アカウントでアクションを実行するために5個のうち2個の秘密鍵(または、鍵コンポーネント)を必要とする場合がある(たとえば、(M=2)<(N=5))。そのような構成は、顧客がボールトシステム1252に格納されている秘密鍵(または、鍵コンポーネント)が紛失したことを懸念している場合に使用できる。言い換えると、5個のうち2個の構成は、(たとえば、2/2または2/3の構成と比較して)信頼性を高め、顧客のデータの損失に関連付けられたフェイルオーバの懸念を減らすことができる。
【0187】
[0217]さらに、顧客は、複数のアカウント、たとえば、個人、ビジネス、家族などを有することができる。したがって、顧客は、2つの異なるアカウントに対して異なる方法でデジタルセキュリティを調整できる。たとえば、顧客は、個人アカウントでアクションを実行するために3個のうち2個の秘密鍵(または、鍵コンポーネント)しか必要としない場合がある(たとえば、(M=2)<(N=3))一方、ビジネスアカウントでアクションを実行するために4個のうち4個の秘密鍵(または、鍵コンポーネント)を必要とする(たとえば、(M=4)=(N=4))。さらに、顧客は最初に、1つのアカウントのために、顧客デバイス102に、N個のうち1個の秘密鍵(または、鍵コンポーネント)を格納する一方、別のアカウントのために最初に、N個のうち任意の秘密鍵(または、鍵コンポーネント)を格納しないことを選択できる。
【0188】
[0218]したがって、必要に応じて、顧客は、セキュリティ、信頼性、コスト、および/またはその他の考慮事項に基づいて、(1)Mおよび/またはNの値。および/または(2)N個の秘密鍵(または、鍵コンポーネント)の特定の保管場所を調整/選択できる。
【0189】
[0219]顧客が、N個の秘密鍵(または、鍵コンポーネント)を格納することを望むボールトシステム1250(およびオプションで、顧客デバイス102自体)の数およびどれであるかを選択すると、顧客デバイス102は、その後、APIを介して、選択したボールトシステム1250(たとえば、オンボーディング中およびその後)と通信することができる。さらに、顧客デバイス102および/またはボールトシステム1250は、APIを使用して、顧客に関連付けられた秘密鍵(または鍵コンポーネント)を生成することができる。
【0190】
[0220]オプションの記録保持システム1252は、どのボールトシステム1250が所与の顧客の秘密鍵(または鍵コンポーネント)を格納するかの記録を格納することができる。記録保持システム1252は、ボールトシステム1250のうちの1つと同じ場所に配置されてもよい。例では、記録保持システム1252は、顧客の秘密鍵(または鍵コンポーネント)を格納するボールトシステム1250であってもなくてもよい通貨変換システム104上に配置されてもよい。
【0191】
[0221]システム1200は、Nが1以上である場合、N個のボールトシステム1250A~Nを含むことができる。各ボールトシステム1250は、おのおのが顧客に関連付けられた鍵(たとえば、データベースおよび/またはセキュアメモリ)を格納するための鍵リポジトリ117A~Nを維持することができる。各ボールトシステム1250の鍵リポジトリ117は、それぞれのボールトシステム1250の他の機能を実行する同じまたは異なるデバイスに物理的に配置できる。
【0192】
[0222]各ボールトシステム1250は、異なる信頼できるサードパーティ106(たとえば、信用組合または銀行などの金融機関)、通貨変換システム104(たとえば、銀行、または通貨を別の形態の通貨に変換するノンバンク金融機関)、企業、個人などによって所有および/または操作されてもよい。例では、ボールトシステム1250はおのおの、トランザクションアドレスまたはウォレット復元を生成するために(顧客デバイス102からの要求に応じて)秘密鍵(または鍵コンポーネント)を顧客デバイス102に送信し得るが、ボールトシステム1250は好ましくは、トランザクションアドレスの生成、トランザクションの署名、または、オプションの分散型台帳118自体へのトランザクションの送信をしない。このような例では、ボールトシステム1250は、適用可能な規則および規制の下で送金ライセンスを所持する必要がない場合がある。しかしながら、代替として、1つまたは複数のボールトシステム1250がトランザクションアドレスを生成し、トランザクションに署名し、トランザクションを送信し、および/または、送金ライセンスを所有する構成が可能である。
【0193】
[0223]少なくとも1つのボールトシステム1250によるオンボーディングの後、顧客デバイス102(たとえば、顧客デバイス102上のAPI)は、秘密鍵(または鍵コンポーネント)の鍵要求を1つまたは複数のボールトシステム1250に送信することができる。1つの構成では、顧客デバイス102は、鍵要求を複数(たとえば、N個)のボールトシステム1250に送信することができる。あるいは、たとえば、顧客デバイス102が秘密鍵(または鍵コンポーネント)の1個をローカルに格納する場合、顧客デバイス102は、N-1個のボールトシステム1250に要求を送信することができる。例では、ボールトシステム1250は、秘密鍵(または鍵コンポーネント)を格納および/または顧客デバイス102に送信するための固定額を顧客デバイス102に請求し得る。
【0194】
[0224]ボールトシステム1250および/またはアイデンティティサービスプロバイダ110は、認証プロトコルを使用して、鍵要求を送信している顧客を識別することができる。第1の認証構成では、ボールトシステム1250は、アイデンティティデータを直接格納する。この構成では、各鍵要求には、各ボールトシステム1250が要求元の顧客に関連付けられた秘密鍵(または鍵コンポーネント)を識別するために使用できるアイデンティティデータも含まれる。顧客のアイデンティティデータが検証され、秘密鍵(または鍵コンポーネント)が識別されると、ボールトシステム1250は、識別された秘密鍵(または鍵コンポーネント)を顧客デバイス102に送信することができる。
【0195】
[0225]第2の認証構成では、(ボールトシステム1250ではなく)アイデンティティサービスプロバイダ110が、顧客のアイデンティティデータを格納することができる。ボールトシステム1250は認証システムを実施せず、顧客のAML/KYCを実施せず、顧客のアイデンティティデータを格納しないため、第2の構成は第1の構成よりも好ましい場合がある。オプションで、顧客ウォレットプロバイダは、顧客のAML/KYCを実施できる。
【0196】
[0226]第2の認証構成では、顧客デバイス102によって送信された各鍵要求は、アイデンティティデータを含む(およびアイデンティティサービスプロバイダ110に送信される)対応するアイデンティティ要求を有し得る。アイデンティティサービスプロバイダ110は、顧客デバイス102からアイデンティティ要求を受信すると、アイデンティティ要求内のアイデンティティデータに基づいて顧客を認証し、その後、アイデンティティサービスプロバイダ110は、ある情報(たとえば、顧客ID)をボールトシステム1250に送信することができる。例では、アイデンティティサービスプロバイダ110は、顧客がアイデンティティサービスプロバイダ110で認証されたことを示す認証成功メッセージを送信することができる。顧客IDおよび/または認証成功メッセージの受信に応答して、ボールトシステム1250は、顧客に関連付けられた秘密鍵(または鍵コンポーネント)を顧客デバイス102に送信することができる。
【0197】
[0227]顧客デバイスが、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を所有すると、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいて(たとえば、それを必要とする)少なくとも1つのアクションを実行することができる。このアクションの例は、(1)M個の秘密鍵(または鍵コンポーネント)を使用してデータを暗号化または復号すること、(2)N個の秘密鍵(または鍵コンポーネント)に基づいてトランザクションアドレスを生成すること、および/または、(3)M個の秘密鍵(または鍵コンポーネント)を使用して、たとえば、顧客ウォレットの復元中にスイープトランザクションのようなトランザクションに署名することを含むことができる。鍵分割構成では、アクションには、顧客デバイス102が、少なくともM(またはN)個の秘密鍵コンポーネントから秘密鍵を再構築することが含まれる。さらに、少なくともM個の秘密鍵(または鍵コンポーネント)は必要とされないかもしれないが、顧客デバイス102はまた、顧客ウォレット復元中にスイープトランザクションを生成し、および/または、トランザクションをオプションの分散型台帳118に、たとえばオプションの分散型台帳118を実施するノードに送信し得る。
【0198】
[0228]秘密鍵(または鍵コンポーネント)を使用してデータを暗号化または復号する構成では、顧客デバイス102および/または少なくとも1つのボールトシステム1250は、N個の秘密鍵(または鍵コンポーネント)を生成することができる。マルチシグ構成では、N個の秘密鍵を、顧客デバイス102および/または少なくとも1つのボールトシステム1250で生成することができる。鍵分割構成では、(顧客デバイス102または少なくとも1つのボールトシステム1250において)単一の秘密鍵が生成され、N個の秘密鍵コンポーネントに分割される。異なるN個の秘密鍵(または鍵コンポーネント)の
おのおのは、たとえば、異なるボールトシステム1250と顧客デバイス102との間で実行されるオンボーディング処理中に、少なくとも1つのボールトシステム1250および/または顧客デバイス102自体の異なるものに配布され得る。その後、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を要求および受信することができ、たとえば、M個の秘密鍵(または鍵コンポーネント)は、認証後に少なくとも1つのボールトシステム1250から送信することができる。オプションで、顧客デバイス102は、N個の秘密鍵(または鍵コンポーネント)のうち1個をローカルに格納することができ、N-1個の秘密鍵(または鍵コンポーネント)のみを、N-1個のそれぞれのボールトシステム1250に配布する。
【0199】
[0229]それぞれのボールトシステム1250とコンピューティングデバイス102との間の認証は、前述の構成のいずれかにしたがって実行され得る。例では、ボールトシステム1250は、アイデンティティデータを直接格納し、各鍵要求は、各ボールトシステム1250が要求元の顧客に関連付けられた秘密鍵(または鍵コンポーネント)を識別するために使用できるアイデンティティデータを含むこともできる。あるいは、(ボールトシステム1250ではなく)アイデンティティサービスプロバイダ110は、顧客のアイデンティティデータを格納することができ、アイデンティティサービスプロバイダ110は、アイデンティティサービスプロバイダ110と、顧客デバイス102との間で実行される認証処理に基づいて、認証の表示をボールトシステム1250に送信することができる。
【0200】
[0230]顧客デバイス102がN個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を所有すると、顧客デバイス102は、たとえば、ユーザ入力および/または以前の表示に基づいて、暗号化および/または復号されるデータを識別することができる。次に、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してデータを暗号化および/または復号することができる。
【0201】
[0231]マルチシグの例では、データの暗号化は、N個すべての秘密鍵(またはN個の秘密鍵から導出されるN個の鍵)を必要とし、データの復号は、M個の秘密鍵(またはM個の秘密鍵から導出されるM個の鍵)のみを必要とすることができる。鍵分割の例では、顧客デバイス102は、再構築された秘密鍵を使用してデータを暗号化および/または復号する前に、N個のうち少なくともM個の鍵コンポーネントから単一の秘密鍵を再構築することができる。
【0202】
[0232]例では、暗号化および/または復号されるデータは、(たとえば、顧客のアイデンティティデータに関連する)非金銭的暗号トークン、(たとえば、資産の所有権を表す)セキュリティトークン、オーディオファイル、ビデオファイル、テキストファイル、または他の任意のデジタルオブジェクト、ファイル、および/または、トークンであり得る。例では、暗号化および/または復号は、ボールトシステム1250がおのおの顧客の秘密鍵(または鍵コンポーネント)を格納するための、および/または秘密鍵(または鍵コンポーネント)を顧客に送信するための料金を受信する連合サービスの一部であり得る。オプションで、顧客デバイス102は、データの暗号化および/または復号後に、ローカルに格納された秘密鍵(または、鍵コンポーネント)の少なくとも1個(たとえば、すべて)を削除することができる。
【0203】
[0233]秘密鍵(または鍵コンポーネント)がN個の秘密鍵(または鍵コンポーネント)に基づいてトランザクションアドレスを生成するために使用される構成では、顧客デバイス102および/または少なくとも1つのボールトシステム1250は、N個の秘密鍵(または鍵コンポーネント)を生成し、それらを、顧客デバイス102および/または少なくとも1つのボールトシステム1250に配布することができる。鍵分割構成では、顧客
デバイス102は、配布前に単一の秘密鍵をN個の秘密鍵コンポーネントに分割することができる。オプションで、顧客デバイス102は、N個のうち1個の秘密鍵(または鍵コンポーネント)をローカルに格納することができ、N-1個の秘密鍵(または鍵コンポーネント)のみをN-1個のそれぞれのボールトシステム1250に配布する。
【0204】
[0234]マルチシグの例では、顧客デバイス102は、N個の公開トランザクション鍵(または鍵コンポーネント)を取得または導出した後に、トランザクションアドレスを生成することができる。マルチシグの例では、それぞれの公開トランザクション鍵は、N個の秘密鍵(または鍵コンポーネント)のおのおのから導出でき、各公開トランザクション鍵は、(1)ボールトシステム1250から受信された、または顧客デバイス102にローカルに格納された秘密アカウント鍵から直接、および/または(2)ボールトシステム1250から受信された、または顧客デバイス102にローカルに格納された秘密アカウント鍵から導出された公開アカウント鍵から、導出される。上記のように、ボールトシステム1250から秘密鍵を受信することは、(顧客デバイス102とボールトシステム1250との間の)直接認証処理、または(アイデンティティサービスプロバイダ110を介して実行される)間接認証処理を含み得る。トランザクションアドレスを生成することは、顧客デバイス102上で動作するマルチ承認ハッシュモジュール528を使用すること、たとえば、BIP16で定義されるようなペイツースクリプトハッシュ(P2SH)、または
図5に関連して記載された他の公開鍵スクリプトを利用することを含み得る。公開トランザクション鍵に加えて、マルチ承認ハッシュモジュール528は、オプションで、たとえば、生成されたトランザクションアドレスからトランザクションに署名するためにN個のうちM個の秘密鍵が必要であることを指定するマルチ承認条件529を受信することができる。次に、N個の公開トランザクション鍵を(マルチ承認条件529とともに)マルチ承認ハッシュモジュール528への入力として使用して、トランザクションアドレスを生成することができる。
【0205】
[0235]鍵分割の例では、公開トランザクション鍵は、M個(またはN個)の秘密鍵コンポーネントから再構築された単一の秘密鍵から導出されてもよい。公開トランザクション鍵が導出された後、公開トランザクション鍵に基づいてトランザクションアドレスが生成され得る。
【0206】
[0236]トランザクションアドレスが生成された後、生成されたトランザクションアドレスで資金を受け取ることができる。その時点で、顧客デバイス102は、オプションの分散型台帳118に記録するために、スイープトランザクションを、オプションの分散型台帳118(またはオプションの分散型台帳118を実施するノードのうちの1つ)に送信することができる。
【0207】
[0237]秘密鍵(または鍵コンポーネント)が、M個の秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名するために使用される構成では、顧客デバイス102および/または少なくとも1つのボールトシステム1250は、N個の秘密鍵(または主要なコンポーネント)を生成し、それらを、顧客デバイス102および/または少なくとも1つのボールトシステム1250に配布する。鍵分割構成では、顧客デバイス102は、分配前に単一の秘密鍵を、N個の秘密鍵コンポーネントに分割することができる。異なるボールトシステム1250と顧客デバイス102との間で実行されるオンボーディング処理の後、顧客デバイス102は、たとえば、(顧客デバイス102とボールトシステム1250との間の)直接認証処理、または(アイデンティティサービスプロバイダ110を介して実行される)間接認証処理を含む、N個のうち少なくともM個の秘密鍵(または、鍵コンポーネント)を受信し得る。オプションで、顧客デバイス102は、N個のうち1個の秘密鍵(または鍵コンポーネント)をローカルに格納することができ、N-1個の秘密鍵(または鍵コンポーネント)のみを、N-1個のそれぞれのボールトシステム1
250に配布する。
【0208】
[0238]マルチシグの例では、顧客デバイス102は、必要なN個のうちM個の秘密鍵を所有すると、N個のうちM個の秘密鍵を必要とするトランザクションアドレスからトランザクションに署名することができる。トランザクションに署名することは、顧客デバイス102上で動作する償還モジュール1140を使用することを含み得る。例では、償還モジュールは、(たとえば、BIP16にしたがって)償還スクリプトを利用して、たとえば、
図11に関連して記載されているように、署名されたトランザクション1142を生成することができる。例では、それぞれの秘密トランザクション鍵は、M個の秘密アカウント鍵(または鍵コンポーネント)のおのおのから導出でき、各秘密トランザクション鍵は、ボールトシステム1250から受信したそれぞれの秘密アカウント鍵から導出され、オプションでローカルに顧客デバイス102に格納される。M個の秘密トランザクション鍵は(トランザクションアドレスとともに)、署名されたトランザクションを生成するための償還モジュール1140への入力として使用されてもよい。鍵分割の例では、秘密トランザクション鍵は、N個のうちM個の秘密鍵コンポーネントから再構築された単一の秘密アカウント鍵から導出でき、その後、秘密トランザクション鍵とトランザクションアドレスとに基づいて、署名されたトランザクションを生成できる。
【0209】
[0239]例では、顧客デバイス102は、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後に、顧客アカウントまたはウォレットを復元するためのスイープトランザクションに署名することができる。スイープトランザクションは、すべての資金を顧客ウォレット内の少なくとも1つのトランザクションアドレス(たとえば、少なくとも1つの未使用トランザクション出力(UTXO))から新しいトランザクションアドレスに転送し得る。第1の例では、顧客デバイス102は、少なくともM個の秘密鍵(または少なくともM個の鍵コンポーネントから再構築された秘密鍵)を使用して、スイープトランザクションを生成および署名することができる。顧客デバイス102は、完全に署名されたスイープトランザクションを、オプションの分散型台帳118に記録するために、オプションの分散型台帳118(またはオプションの分散型台帳118を実施するノードの1つ)に送信することができる。
【0210】
[0240]第2の例では、(1)顧客デバイス102は、外部エンティティ(たとえば、ボールトシステム1250および/または通貨変換システム104)がスイープトランザクションを生成することを要求し、(2)外部エンティティは、スイープトランザクションを生成し、オプションで署名し、(3)外部エンティティは、スイープトランザクションを顧客デバイス102に送信し、オプションでそれに署名し、(4)顧客デバイス102は、スイープトランザクションがN個のうち少なくともM個の秘密鍵によって署名されるまで、署名のために異なるボールトシステム1250にスイープトランザクションを繰り返し送信し(そして、それぞれのボールトシステム1250からトランザクションを受信し)、(5)顧客デバイス102は、オプションの分散型台帳118に記録するために、完全に署名されたスイープトランザクションをオプションの分散型台帳118(または、オプションの分散型台帳118を実施するノードの1つ)に送信する。
【0211】
[0241]
図13は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいてアクションを実行するための例示的な方法1300、たとえば、データの暗号化および/または復号、トランザクションアドレスの生成、トランザクションの署名などを示すフロー図である。方法1300は、
図12のシステム1200内の顧客デバイス102および/または少なくとも1つのボールトシステム1250によって実行され得る。
【0212】
[0242]オプションで、複数のボールトシステム1250のおのおのは、顧客ウォレットに関連付けられたN個の秘密鍵(または鍵コンポーネント)のそれぞれ1個を決定130
2することができる。N個の秘密鍵(または鍵コンポーネント)のおのおのは、顧客デバイス102および/またはそれぞれのボールトシステム1250で生成され得る。顧客デバイス102で生成された場合、複数のボールトシステム1250のおのおのは、たとえば、それぞれのオンボーディング処理中に、顧客デバイス102からそれぞれの秘密鍵(または鍵コンポーネント)を受信することができる。オプションで、顧客デバイス102は、N個のうち1個の秘密鍵(または鍵コンポーネント)をローカルに格納することができ、N-1個の秘密鍵(または鍵コンポーネント)のみをN-1個のそれぞれのボールトシステム1250に配布する。あるいは、N個の秘密鍵(または鍵コンポーネント)のおのおのは、N個のうちの異なる1個のボールトシステム1250に格納されてもよい。したがって、N個またはN-1個の秘密鍵(または鍵コンポーネント)を安全保管のためにボールトシステム1250に格納することができる。
【0213】
[0243]例では、秘密鍵(または鍵コンポーネント)の生成および/または送信を示すトランザクションは、秘密鍵(または鍵コンポーネント)を生成するデバイス/システムによってオプションの分散型台帳118に記録(または記録のために送信)されてもよい。例では、秘密鍵(または鍵コンポーネント)を生成する顧客デバイス102またはボールトシステム1250は、秘密鍵(または鍵コンポーネント)の作成の証明としてサービス提供するために、秘密鍵(または鍵コンポーネント)のハッシュを分散型台帳(またはオプションの分散型台帳118を実施するノード)に送信し得る。例では、単一のトランザクションが、N個すべての秘密鍵(または鍵コンポーネント)の作成の証明としてサービス提供し得る。
【0214】
[0244]オプションで、顧客デバイス102は、顧客のアイデンティティデータおよびそれぞれの秘密鍵(または鍵コンポーネント)を求める要求を送信1304することができる。第1の認証構成では、ボールトシステム1250は、アイデンティティデータを直接格納する。第1の認証構成では、各鍵要求は、各ボールトシステム1250が顧客に使用できるアイデンティティデータも含むことができる。第2の構成では、顧客デバイス102は、認証のために(ボールトシステム1250ではなく)アイデンティティサービスプロバイダ110にアイデンティティデータを送信することができ、その後、アイデンティティサービスプロバイダ110は、ボールトシステム1250と通信することができる。アイデンティティデータおよび/または鍵要求は、安全な転送プロトコルを使用して転送できる。
【0215】
[0245]オプションで、顧客は、アイデンティティデータに基づいて認証1306され得る。第1の認証構成では、ボールトシステム1250は、オンボーディング中に顧客のアイデンティティデータを格納し、その後、それを顧客の受信されたアイデンティティデータと比較する。第2の認証構成では、アイデンティティサービスプロバイダ110は、受信したアイデンティティデータを、以前に格納されたアイデンティティデータと比較し、顧客が認証されたか否かについてボールトシステム1250に通知することができる。
【0216】
[0246]顧客デバイス102はまた、たとえば、安全な転送プロトコルを使用して、複数のボールトシステム1250のおのおのから、それぞれの秘密鍵(または鍵コンポーネント)を受信1308することができる。顧客認証が必要な構成では、各ボールトシステム1250は、認証が成功した場合にのみ、それぞれの秘密鍵(または鍵コンポーネント)を送信できる。
【0217】
[0247]顧客デバイス102はまた、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいて、少なくとも1つのアクションを実行1310することができる。例では、アクションには、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)、および/または、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)
から導出されたN個のうち少なくともM個の鍵が必要である。このアクションの例は、(1)M個の秘密鍵(または鍵コンポーネント)を使用してデータを暗号化または復号すること、(2)N個の秘密鍵(または鍵コンポーネント)に基づいてトランザクションアドレスを生成すること、および/または、(3)N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してトランザクション、たとえば、顧客ウォレットの復元中のスイープトランザクションに署名することを含み得る。これらのアクションは、以下で詳しく説明される。
【0218】
[0248]鍵分割構成では、アクションは、少なくともM個の秘密鍵コンポーネントから秘密鍵を再構築する顧客デバイス102を含み得る。さらに、M個の秘密鍵(または、鍵コンポーネント)は必要とされないかもしれないが、顧客デバイス102は、顧客ウォレット復元中にスイープトランザクションを生成し、および/または、トランザクションをオプションの分散型台帳118に、たとえば、オプションの分散型台帳118を実施するノードに送信することもできる。
【0219】
[0249]
図14は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいてデータを暗号化または復号する例示的な方法1400を示すフロー図である。方法1400は、
図12のシステム1200内の少なくとも顧客デバイス102によって実行され得る。方法1400は、
図13に示される方法1300のステップ1310で実行されるアクションの例であり得る。
【0220】
[0250]顧客デバイス102は、最初に、暗号化および/または復号されるデータを識別1404し得る。データを識別することは、顧客デバイス102が、データを示すユーザ入力を受信すること、および/または、暗号化および/または復号されるデータの、以前の表示を利用することを含み得る。さらに、データを識別する任意の適切な手法を利用することができる。
【0221】
[0251]次に、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)に基づいて、識別されたデータを暗号化または復号1404することができる。マルチシグ構成では、これには、少なくともM個の秘密鍵(その少なくとも1個は、ボールトシステム1250から受信される)、またはM個の秘密鍵からそれぞれ導出された少なくともM個の鍵を使用したデータの暗号化または復号を含み得る。マルチシグ構成では、データの暗号化には、N個の秘密鍵(またはN個の秘密鍵から導出されたN個の鍵)がすべて必要であり、データの復号には、M個の秘密鍵(またはM個の秘密鍵から導出されたM個の鍵)のみが必要な場合がある。鍵分割構成では、顧客デバイス102は、再構築された秘密鍵を使用してデータを暗号化および/または復号する前に、少なくともM個の鍵コンポーネント(その少なくとも1個は、ボールトシステム1250から受信される)から単一の秘密鍵を再構築できる。
【0222】
[0252]オプションで、顧客デバイス102は、秘密鍵(または鍵コンポーネント)の少なくとも1個を削除1406することもできる。例では、顧客デバイス102は、ボールトシステム1250から受信された秘密鍵(または鍵コンポーネント)のみを削除することができるが、たとえば、顧客デバイス102にオプションで最初に格納された秘密鍵(または鍵コンポーネント)は削除できない。
【0223】
[0253]
図15は、顧客デバイス102でトランザクションアドレスを生成するための例示的な方法1500を示すフロー図である。方法1500は、
図12のシステム1200内の少なくとも顧客デバイス102によって実行され得る。方法1500は、
図13に示される方法1300のステップ1310で実行されるアクションの例であり得る。
【0224】
[0254]オプションで、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を決定1502できる。これには、それぞれのボールトシステム1250から、N個のうち少なくともM個の秘密鍵(または、鍵コンポーネント)の少なくとも一部を受信することと、オプションで、以前にボールトシステム1250に格納されていなかったローカルに格納された秘密鍵(または、鍵コンポーネント)を識別することとを含む。あるいは、N個の秘密鍵(または鍵コンポーネント)のすべてが、たとえば、ボールトシステム1250ごとに1個の秘密鍵(または鍵コンポーネント)など、ボールトシステム1250全体に格納されてもよい。
【0225】
[0255]顧客デバイス102はまた、少なくともM個の秘密鍵(または鍵コンポーネント)に基づいて、トランザクションアドレスを生成1504し得る。マルチシグの例では、N個の秘密鍵のおのおのから異なる公開トランザクション鍵を導出できる。トランザクションアドレスを生成することは、顧客デバイス102上で動作するマルチ承認ハッシュモジュール528を使用すること、たとえば、BIP16で定義されるように、ペイツースクリプトハッシュ(P2SH)、または
図5に関連して記載されているような他の公開鍵スクリプトを利用することを含み得る。オプションで、たとえば、生成されたトランザクションアドレスからトランザクションに署名するためにN個のうち少なくともM個の秘密鍵が必要であることを指定するなど、マルチ承認条件529を指定することができる。次に、N個の公開トランザクション鍵を(オプションのマルチ承認条件529とともに)マルチ承認ハッシュモジュール528への入力として使用して、トランザクションアドレスを生成することができる。マルチシグの例では、生成されたトランザクションアドレスから後でトランザクションを実行するために、N個のうち少なくともM個の秘密鍵が必要になる場合がある。Mおよび/またはNは、顧客デバイス102でのユーザ入力に基づいて選択され得る。例では、M<NまたはM=Nである。
【0226】
[0256]鍵分割の例では、少なくともM個の秘密鍵コンポーネントから単一の秘密鍵を再構築することができ、再構築された秘密鍵から公開トランザクション鍵を導出することができる。公開トランザクション鍵は、(たとえば、ハッシュモジュールへの)入力として使用されて、たとえば、マルチ承認条件なしで、トランザクションアドレスを生成し得る。例では、再構築された秘密鍵だけが、生成されたトランザクションアドレスからのトランザクションに必要になる場合がある。
【0227】
[0257]オプションで、顧客デバイス102は、トランザクションの一部として、トランザクションアドレスへの資金を受け取る1506こともできる。オプションで、顧客デバイス102はまた、記録するために、完了したトランザクションをオプションの分散型台帳118に送信することができる。より具体的には、顧客デバイス102は、オプションの分散型台帳118に記録するために、オプションの分散型台帳118を実施するノードに、完了したトランザクションを送信することができる。オプションで、これには、オプションの分散型台帳118を実施するノードに顧客が支払う小額の料金が含まれる場合がある。
【0228】
[0258]
図16Aは、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名するための例示的な方法1600Aを示すフロー図である。方法1600Aは、
図12のシステム1200内の少なくとも顧客デバイス102(およびオプションで少なくとも1つのボールトシステム1250)によって実行され得る。方法1600Aは、
図13に示される方法1300のステップ1310で実行されるアクションの例であり得る。
【0229】
[0259]オプションで、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を決定1602することができる。これには、それぞれのボール
トシステム1250からN個のうち少なくともM個の秘密鍵(または鍵コンポーネント)の少なくとも一部を受信し、オプションで、以前にボールトシステム1250に格納されていなかったローカルに格納された秘密鍵(または鍵コンポーネント)を特定することを含み得る。あるいは、N個の秘密鍵(または鍵コンポーネント)のすべてが、たとえば、ボールトシステム1250ごとに1個の秘密鍵(または鍵コンポーネント)など、ボールトシステム1250全体に格納されてもよい。
【0230】
[0260]顧客デバイス102は、トランザクションを生成1604することができる。トランザクションには、少なくとも1つの入力アドレス、少なくとも1つの出力アドレス、タイムスタンプ、転送される資産の量、および/または転送される資産の説明などを含み得る。トランザクションは、生成された少なくとも1つのトランザクションアドレスから暗号通貨を転送する。あるいは、トランザクションは、セキュリティトークンを介した資産の移動を表す場合がある。あるいは、トランザクションは、たとえば、すべての資金を顧客ウォレット内の少なくとも1つのトランザクションアドレス(たとえば、少なくとも1つの未使用のトランザクション出力)から、新しいトランザクションアドレスに転送するスイープトランザクションであり得る。スイープトランザクションを使用して、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後に、顧客のアカウントまたはウォレットを復元できる。
【0231】
[0261]トランザクションはまた、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用して署名1606され得る。第1の署名構成では、顧客デバイス102は、それぞれのボールトシステム1250から受信されたN個のうち少なくともM個の秘密鍵(または鍵コンポーネント)と、オプションで、以前はボールトシステム1250に格納されていなかったローカルに格納された秘密鍵(または鍵コンポーネント)とを使用してトランザクションに署名することができる。トランザクションに署名することは、顧客デバイス102上で動作する償還モジュール1140を使用することを含み得る。例では、償還モジュールは、(たとえば、BIP16にしたがって)償還スクリプトを利用して、たとえば、
図11に関連して記載されているように、署名されたトランザクション1142を生成することができる。マルチシグの例では、それぞれの秘密トランザクション鍵は、ボールトシステム1250から受信したN個のうち少なくともM個の秘密アカウント鍵のおのおのから導出され、オプションで、顧客デバイス102にローカルに格納される。N個のうち少なくともM個のプライベートトランザクション鍵を(トランザクションアドレスとともに)、償還モジュール1140への入力として使用して、署名されたトランザクションを生成することができる。鍵分割の例では、プライベートトランザクション鍵は、N個のうち少なくともM個のプライベート鍵コンポーネントから再構築された単一のプライベートアカウント鍵から導出でき、その後、プライベートトランザクション鍵とトランザクションアドレスに基づいて、署名付きトランザクションを生成できる。
【0232】
[0262]第2の署名構成では、顧客デバイス102は、生成されたトランザクションが、N個のうち少なくともM個の秘密鍵で署名されるまで、署名のために、生成されたトランザクションを異なるボールトシステム1250に繰り返し送信(およびそれぞれのボールトシステム1250からトランザクションを受信)することができる。
【0233】
[0263]オプションで、顧客デバイス102は、(完全に署名された)トランザクションを受信デバイス、たとえば、トランザクションの一部として資金を受け取るデバイスに送信1608することができる。トランザクションがスイープトランザクションである場合、顧客デバイス102は代わりに、オプションの分散型台帳118に記録するために、スイープトランザクションを、オプションの分散型台帳118(たとえば、オプションの分散型台帳118を実施するノード)に送信することができる。
【0234】
[0264]
図16Bは、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名するための例示的な方法1608Bを示すフロー図である。方法1600Bは、
図12のシステム1200内の少なくとも顧客デバイス102(およびオプションで少なくとも1つのボールトシステム1250)によって実行され得る。方法1600Bは、
図13に示される方法1300のステップ1310で実行されるアクションの例であり得る。
【0235】
[0265]顧客デバイス102は、トランザクションを生成する要求を外部デバイスに送信1612することができる。外部デバイスは、ボールトシステム1250および/または通貨変換システム104であり得る。要求には、少なくとも1つの入力トランザクションアドレス、少なくとも1つの出力トランザクションアドレス、タイムスタンプ、転送される資産の量、および/または転送される資産の説明などが含まれる。
【0236】
[0266]顧客デバイス102は、外部デバイスからトランザクションを受信1614することができる。トランザクションには、少なくとも1つの入力アドレス、少なくとも1つの出力アドレス、タイムスタンプ、転送される資産の量、および/または転送される資産の説明などが含まれる。トランザクションは、少なくとも1つの生成されたトランザクションアドレスから資金を送金できる。あるいは、トランザクションは、セキュリティトークンを介した資産の移動を表す場合がある。あるいは、トランザクションは、たとえば、すべての資金を、顧客ウォレット内の少なくとも1つのトランザクションアドレス(たとえば、少なくとも1つの未使用のトランザクション出力)から新しいトランザクションアドレスに送金するスイープトランザクションであり得る。スイープトランザクションを使用して、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後に、顧客のアカウントまたはウォレットを復元できる。
【0237】
[0267]トランザクションはまた、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用して署名1616され得る。第1の署名構成では、顧客デバイス102は、それぞれのボールトシステム1250から受信された秘密鍵(または鍵コンポーネント)、およびオプションで、ボールトシステム1250に以前に格納されなかったローカルに格納された秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名することができる。トランザクションに署名することは、顧客デバイス102上で動作する償還モジュール1140を使用することを含み得る。例では、償還モジュールは、(たとえば、BIP16にしたがって)償還スクリプトを利用して、たとえば、
図11に関連して記載されているように、署名されたトランザクション1142を生成することができる。マルチシグの例では、それぞれのプライベートトランザクション鍵は、ボールトシステム1250から受信したN個のうち少なくともM個のプライベートアカウント鍵のおのおのから導出され、オプションで、顧客デバイス102にローカルに格納される。N個のうち少なくともM個のプライベートトランザクション鍵(トランザクションアドレスとともに)を、償還モジュール1140への入力として使用して、署名されたトランザクションを生成することができる。鍵分割の例では、プライベートトランザクション鍵は、N個のうち少なくともM個のプライベート鍵コンポーネントから再構築された単一のプライベートアカウント鍵から導出でき、その後、プライベートトランザクション鍵とトランザクションアドレスに基づいて署名付きトランザクションを生成できる。
【0238】
[0268]第2の署名構成では、顧客デバイス102は、生成されたトランザクションが、N個のうち少なくともM個の秘密鍵で署名されるまで、署名のために、生成されたトランザクションを異なるボールトシステム1250に繰り返し送信(およびそれぞれのボールトシステム1250からトランザクションを受信)することができる。例では、顧客デバイス102は、署名のためにトランザクションを第1のボールトシステム1250に送信し、第1のボールトシステム1250から(第1のボールトシステム1250によって署
名された)トランザクションを受信し、次に、トランザクションを第2のボールトシステム1250に送信し、(第2のボールトシステム1250により署名された)トランザクションを第2のボールトシステム1250などから受信する。オプションで、トランザクションを生成する外部デバイス(たとえば、ボールトシステム1250)は、トランザクションを顧客デバイス102に送信する前に、秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名することができる。また、オプションで、顧客デバイス102は、以前にボールトシステム1250に格納されていなかった、ローカルに格納された秘密鍵(または鍵コンポーネント)を使用してトランザクションに署名することができる。
【0239】
[0269]オプションで、顧客デバイス102は、(完全に署名された)トランザクションを、トランザクションの一部として資金を受け取るデバイスなどの受信デバイスに送信1618することができる。トランザクションがスイープトランザクションである場合、顧客デバイス102は代わりに、オプションの分散型台帳118に記録するために、スイープトランザクションをオプションの分散型台帳118(たとえば、オプションの分散型台帳118を実施するノード)に送信することができる。
【0240】
[0270]
図16Cは、顧客デバイス102でN個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用してスイープトランザクションに署名するための例示的な方法1600Cを示すフロー図である。方法1600Cは、
図12のシステム1200内の少なくとも顧客デバイス102によって実行され得る。方法1600Cは、
図13に示される方法1300のステップ1310で実行されるアクションの例であり得る。
【0241】
[0271]オプションで、顧客デバイス102は、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を決定1622し得る。これには、それぞれのボールトシステム1250から、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)の少なくとも一部を受信することと、オプションで、以前にボールトシステム1250に格納されていなかったローカルに格納されたプライベート鍵(または鍵コンポーネント)を識別することが含まれる。あるいは、N個の秘密鍵(または鍵コンポーネント)のすべてが、たとえば、ボールトシステム1250ごとに1つの秘密鍵(または鍵コンポーネント)など、ボールトシステム1250全体に格納されてもよい。
【0242】
[0272]顧客デバイス102は、たとえば、すべての資金を、顧客ウォレット内の少なくとも1つのトランザクションアドレス(たとえば、少なくとも1つの未使用のトランザクション出力)から新しいトランザクションアドレスに送金するスイープトランザクションを生成1624し得る。スイープトランザクションを使用して、たとえば、顧客デバイス102が紛失、破損、アップグレード、またはハードリセット/再フォーマットされた後に、顧客のアカウントまたはウォレットを復元できる。
【0243】
[0273]スイープトランザクションはまた、N個のうち少なくともM個の秘密鍵(または鍵コンポーネント)を使用して署名1626され得る。例では、顧客デバイス102は、それぞれのボールトシステム1250から受信される少なくとも1つの秘密鍵(または鍵コンポーネント)、およびオプションで、以前にボールトシステム1250に格納されていなかった、ローカルに格納されている秘密鍵(または鍵コンポーネント)を使用して、スイープトランザクションに署名することができる。スイープトランザクションに署名することは、顧客デバイス102上で動作する償還モジュール1140を使用することを含み得る。例では、償還モジュールは、(たとえば、BIP16にしたがって)償還スクリプトを利用して、たとえば、
図11に関連して記載されているように、署名されたスイープトランザクション1142を生成することができる。マルチシグの例では、それぞれのプライベートトランザクション鍵は、ボールトシステム1250から受信したN個のうち
少なくともM個のプライベートアカウント鍵のおのおのから導出され、オプションで、顧客デバイス102にローカルに格納される。N個のうち少なくともM個の秘密トランザクション鍵を(トランザクションアドレスとともに)、償還モジュール1140への入力として使用して、署名されたスイープトランザクションを生成することができる。鍵分割の例では、秘密トランザクション鍵は、N個のうち少なくともM個の秘密鍵コンポーネントから再構築された単一の秘密アカウント鍵から導出でき、その後、秘密トランザクション鍵とトランザクションアドレスに基づいて、署名されたスイープトランザクションを生成できる。
【0244】
[0274]オプションで、顧客デバイス102は、オプションの分散型台帳118に記録するために、スイープトランザクションをオプションの分散型台帳118(たとえば、オプションの分散型台帳118を実施するノード)に送信1628してもよい。
【0245】
[0275]例では、本明細書のデバイスおよびシステムは、メモリおよび/またはプロセッサを使用して実施される。例では、メモリは、情報を格納するために使用される任意のデバイス、メカニズム、または投入されたデータ構造とすることができる。例では、メモリは、任意のタイプの揮発性メモリ、不揮発性メモリ、および/または動的メモリであり得るか、またはそれらを含み得る。例では、メモリは、ランダムアクセスメモリ、メモリストレージデバイス、光学メモリデバイス、磁気媒体、フロッピーディスク、磁気テープ、ハードドライブ、消去可能なプログラム可能な読取専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読取専用メモリ(EEPROM)、光学媒体(コンパクトディスク、DVD、ブルーレイディスクなど)などであり得る。いくつかの実施形態によれば、メモリは、1つまたは複数のディスクドライブ、フラッシュドライブ、1つまたは複数のデータベース、1つまたは複数のテーブル、1つまたは複数のファイル、ローカルキャッシュメモリ、プロセッサキャッシュメモリ、リレーショナルデータベース、フラットデータベースなどを含み得る。さらに、当業者は、メモリとして使用することができる情報を格納するための多くの追加のデバイスおよび技術を理解するであろう。メモリは、プロセッサ上で1つまたは複数のアプリケーションまたはモジュールを実行するための命令を格納するために使用され得る。例では、メモリは、1つまたは複数の例で使用して、本明細書で説明するシステムデバイスのいずれかの機能を実行するために必要な命令のすべてまたは一部を収容することができる。プロセッサは、汎用プロセッサ(GPP)や(フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または他の集積回路または回路構成のような)特殊目的のような既知のプロセッサ、または任意のプログラマブルロジックデバイスであり得る。
【0246】
[0276]ここで紹介される技法は、(回路構成のような)専用ハードウェアとして、ソフトウェアおよび/またはファームウェアで適切にプログラムされたプログラム可能な回路構成として、または専用およびプログラム可能な回路構成の組合せとして具体化することができる。したがって、実施形態は、コンピュータ(または他の電子デバイス)をプログラムして処理を実行するために使用することができる命令が格納された機械読取可能媒体を含むことができる。機械読取可能媒体には、たとえば、フロッピーディスク、光ディスク、コンパクトディスク読取専用メモリ(CD-ROM)、光磁気ディスク、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラム可能な読取専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読取専用メモリ(EEPROM)、磁気カードまたは光カード、フラッシュメモリ、または電子命令を格納するのに適したその他の種類のメディア/機械読取可能なメディアを含むことができる。
【0247】
コンピュータシステムの概要
[0277]本開示の実施形態は、上記で説明された様々なステップおよび動作を含む。これらの様々なステップおよび動作は、ハードウェアコンポーネントによって実行されるか、
命令でプログラムされた汎用または専用プロセッサにステップを実行させるために使用される機械実行可能命令で具体化される。あるいは、これらのステップは、ハードウェア、ソフトウェア、および/またはファームウェアの組合せによって実行されてもよい。したがって、
図17は、本開示の実施形態を利用することができる例示的なコンピュータシステム1700を示すブロック図である。本例によれば、コンピュータシステム1700は、相互接続1702、少なくとも1つのプロセッサ1704、少なくとも1つの通信ポート1706、少なくとも1つのメインメモリ1708、少なくとも1つの取外可能な記憶媒体1710、少なくとも1つの読取専用メモリ1712、および少なくとも1つの大容量ストレージデバイス1714を含む。
【0248】
[0278]少なくとも1つのプロセッサ1704は、任意の既知のプロセッサとすることができる。少なくとも1つの通信ポート1706は、たとえば、モデムベースのダイヤルアップ接続で使用するためのRS-232ポート、10/100イーサネットポート、または銅線またはファイバを使用するギガビットポートのいずれかであるか、またはそれらを含むことができる。少なくとも1つの通信ポート1706の性質は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはコンピュータシステム1700が接続する任意のネットワークなどのネットワークに応じて選択することができる。少なくとも1つのメインメモリ1708は、ランダムアクセスメモリ(RAM)、または当技術分野で一般に知られている任意の他の動的ストレージデバイスであり得る。少なくとも1つの読取専用メモリ1712は、少なくとも1つのプロセッサ1704に対する命令などの静的情報を格納するためのプログラム可能読取専用メモリ(PROM)チップなどの任意の静的ストレージデバイスであり得る。
【0249】
[0279]少なくとも1つの大容量ストレージデバイス1714を使用して、情報および命令を格納することができる。たとえば、(磁気ディスクドライブ、または、シリアル/パラレルATAまたはSCSIインターフェースを使用したソリッドステートドライブのような)ハードディスク、光ディスク、独立したディスクの冗長アレイ(RAID)のようなディスクのアレイ、または他の大容量ストレージデバイスを使用できる。相互接続1702は、1つまたは複数のバス、ブリッジ、コントローラ、アダプタ、および/またはポイントツーポイント接続であるか、それらを含むことができる。相互接続1702は、少なくとも1つのプロセッサ1704を他のメモリ、ストレージ、および通信ブロックと通信可能に結合する。相互接続1702は、使用するストレージデバイスに応じて、PCI/PCI-XまたはSCSIベースのシステムバスにすることができる。少なくとも1つの取外可能な記憶媒体1710は、あらゆる種類の外付けハードドライブ、フロッピードライブ、コンパクトディスク読取専用メモリ(CD-ROM)、コンパクトディスク再書込可能(CD-RW)、デジタルビデオディスク読取専用メモリ(DVD-ROM)、ブルーレイディスク読取専用メモリ(BD-ROM)、ブルーレイディスク書込可能(BD-R)、ブルーレイディスク書込可能消去可能(BD-RE)であり得る。
【0250】
[0280]上記の構成要素は、いくつかのタイプの可能性を例示することを意図している。前述の例は、例示的な実施形態にすぎないため、決して本開示を限定すべきではない。
【0251】
[0281]
図18は、別の例示的なコンピューティングデバイス1800を示すブロック図である。例示的なコンピューティングデバイス1800は、顧客デバイス102、通貨変換システム104、信頼できるサードパーティ106、資産交換所108、アイデンティティサービスプロバイダ110、ボールトシステム1250、および/またはオプションの記録保持システム1252のいずれかを実施するために使用され得る。コンピューティングデバイス1800は、少なくとも1つのメモリ1802、少なくとも1つのプロセッサ1804、オプションの少なくとも1つのネットワークインターフェース1806、オプションのディスプレイデバイス1808、オプションの入力デバイス1810、および
オプションの電源1812を含む。
【0252】
[0282]例では、少なくとも1つのメモリ1802は、情報を格納するために使用される任意のデバイス、メカニズム、または投入されたデータ構造であり得る。例では、少なくとも1つのメモリ1802は、任意のタイプの揮発性メモリ、不揮発性メモリ、および/または動的メモリとすることができ、またはそれらを含むことができる。例では、少なくとも1つのメモリ1802は、ランダムアクセスメモリ、メモリストレージデバイス、光学メモリデバイス、磁気媒体、フロッピーディスク、磁気テープ、ハードドライブ、消去可能なプログラム可能な読取専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読取専用メモリ(EEPROM)、光学媒体(コンパクトディスク、DVD、ブルーレイディスクなど)であり得る。
【0253】
[0283]いくつかの実施形態によれば、少なくとも1つのメモリ1802は、1つまたは複数のディスクドライブ、フラッシュドライブ、1つまたは複数のデータベース、1つまたは複数のテーブル、1つまたは複数のファイル、ローカルキャッシュメモリ、プロセッサキャッシュメモリ、リレーショナルデータベース、フラットデータベースなどを含むことができる。さらに、当業者は、少なくとも1つのメモリ1802として使用することができる、情報を格納するための多くの追加のデバイスおよび技法を理解するであろう。少なくとも1つのメモリ1802は、少なくとも1つのプロセッサ1804上で1つまたは複数のアプリケーションまたはモジュールを実行するための命令を格納するために使用され得る。例では、少なくとも1つのメモリ1802は、1つまたは複数の例で使用して、たとえば
図3~
図4および
図6~
図10で、本明細書で論じられる機能を実行するために必要な命令のすべてまたは一部を収容することができる。
【0254】
[0284]少なくとも1つのプロセッサ1804は、汎用プロセッサ(GPP)や(フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または他の集積回路または回路構成のような)特殊目的のような既知のプロセッサ、または任意のプログラマブルロジックデバイスであり得る。例では、本明細書で(たとえば、
図3~
図4、
図6~
図10、および
図13~
図16Cで)開示される機能のいずれかは、少なくとも1つのプロセッサ1804および少なくとも1つのメモリ1802によって実施され得る。
【0255】
[0285]例では、少なくとも1つのオプションのネットワークインターフェース1806は、(システム100の少なくとも1つのネットワーク112のうちの1つのような)ネットワークと通信するための少なくとも1つのオプションのアンテナを含むか、またはそれに結合される。例では、少なくとも1つのオプションのネットワークインターフェース1806は、イーサネットインターフェース、セルラ無線アクセス技術(RAT)無線、Wi-Fi無線、ブルートゥース(登録商標)無線、または近距離無線通信(NFC)無線のうち少なくとも1つを含む。例では、少なくとも1つのオプションのネットワークインターフェース1806は、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を使用してリモートサーバと十分な速度のセルラデータ接続(モバイルインターネット)を確立するように構成されたセルラ無線アクセス技術無線を含む。例では、セルラ無線アクセス技術には、パーソナルコミュニケーションサービス(PCS)、特殊モバイル無線(SMR)サービス、拡張特殊モバイル無線(ESMR)サービス、高度ワイヤレスサービス(AWS)、符号分割多元接続(CDMA)、グローバル移動体通信システム(GSM)サービス、広帯域符号分割多元接続(W-CDMA)、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、ワールドワイドインタオペラビリティフォーマイクロ波アクセス(WiMAX)、第3世代パートナシップ計画(3GPP)ロングタームエボリューション(LTE)、高速パケットアクセス(HSPA)、第3世代(3G)、第4世代(4G)、第5世代(5G)など、またはその他の適
切な通信サービス、またはそれらの組合せのうちの少なくとも1つを含む。例では、少なくとも1つのオプションのネットワークインターフェース1806は、ワイドエリアネットワークではなく、リモートサーバと通信するワイヤレスローカルエリアネットワークと通信するように構成されたWi-Fi(IEEE802.11)無線を含む。例では、少なくとも1つのオプションのネットワークインターフェース1806は、パッシブ近距離通信(NFC)タグ、アクティブ近距離通信(NFC)タグ、パッシブ無線周波数識別(RFID)タグ、アクティブ無線周波数識別(RFID)タグ、近接カード、またはその他のパーソナルエリアネットワークデバイスのように、近隣通信に限定される近距離無線通信デバイス
を含む。
【0256】
[0286]例では、オプションの少なくとも1つのディスプレイデバイス1808は、発光ダイオード(LED)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、eインクディスプレイ、電界放出ディスプレイ(FED)、表面伝導電子放出ディスプレイ(SED)、またはプラズマディスプレイを含む。例では、オプションの少なくとも1つの入力デバイス1810は、タッチスクリーン(容量性および抵抗性タッチスクリーンを含む)、タッチパッド、容量性ボタン、機械式ボタン、スイッチ、ダイヤル、キーボード、マウス、カメラ、生体認証センサ/スキャナ、マイクなどのうちの少なくとも1つを含む。例では、オプションの少なくとも1つのディスプレイデバイス1808は、オプションの少なくとも1つの入力デバイス1810と組み合わされて、顧客デバイス102、通貨変換システム104、および/または信頼できるサードパーティ106とのユーザ対話のためのヒューマンマシンインターフェース(HMI)となる。例では、少なくとも1つのオプションの電源1812を使用して、コンピューティングデバイス1800の様々なコンポーネントに電力を提供する。
【0257】
用語
[0287]本出願を通して使用される用語、略語、および語句の簡単な定義を以下に示す。
【0258】
[0288]「決定する」という用語は、計算する、コンピューティングする、生成する、処理する、導出する、調査する、ルックアップ(たとえば、テーブル、データベースまたは別のデータ構造をルックアップ)する、確認するなどを含み得る。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータにアクセスすること)なども含み得る。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含み得る。
【0259】
[0289]「に基づく」という語句は、別段の明示的な指定がない限り、「のみに基づく」を意味しない。言い換えると、「に基づく」という語句は、「のみに基づく」と「少なくとも基づく」との両方を説明する。さらに、「に基づく」という語句は、中間ステップを排除せず、たとえば、AはCに基づく、BはCに基づく、AはBに基づくことを意味する。さらに、「および/または」という用語は、「および」または「または」を意味する。たとえば、「Aおよび/またはB」は、「A」、「B」、または「AおよびB」を意味することができる。さらに、「A、B、および/またはC」は、「Aのみ」、「Bのみ」、「Cのみ」、「AとB」、「AとC」、「BとC」、または「A、B、およびC」を意味することができる。
【0260】
[0290]「接続された」、「結合された」、および「通信可能に結合された」という用語および関連する用語は、動作上の意味で使用され、直接的な物理的な接続または結合に必ずしも限定されない。したがって、たとえば、2つのデバイスは、直接的に、または1つまたは複数の中間媒体またはデバイスを介して結合され得る。別の例として、互いに物理
的な接続を共有せずに、デバイス間で情報を受け渡すことができるようにデバイスを結合することができる。本明細書で提供される開示に基づいて、当業者は、前述の定義にしたがって接続または結合が存在する様々な手法を理解するであろう。
【0261】
[0291]「例示的な実施形態において」、「実例的な実施形態において」、「いくつかの実施形態において」、「いくつかの実施形態にしたがって」、「示された実施形態において」、「他の実施形態において」、「実施形態」、「例において」、「例」、「一部の例において」、「一部の例」などの語句は、一般に、語句に続く特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれ、さらに本開示の1つの実施形態よりも多くに含まれ得ることを意味する。さらに、そのような語句は、必ずしも同じ実施形態または異なる実施形態を指すとは限らない。
【0262】
[0292]明細書が、構成要素または特徴が「し得る」、「できる」、「可能性がある」または「かもしれない」が含まれるかまたは特性を有すると述べる場合、その特定の構成要素または特徴は、含まれるまたは特性を有する必要はない。
【0263】
[0293]「応答して」という用語は、完全にまたは部分的に応答することを含む。
【0264】
[0294]「モジュール」という用語は、ソフトウェア、ハードウェア、またはファームウェア(またはそれらの任意の組合せ)のコンポーネントを広く指す。モジュールは通常、指定された入力を使用して有用なデータまたはその他の出力を生成できる機能的なコンポーネントである。モジュールは自己完結型である場合とそうでない場合がある。アプリケーションプログラム(「アプリケーション」とも呼ばれる)には、1つまたは複数のモジュールを含めることができるか、または、モジュールには1つまたは複数のアプリケーションプログラムを含めることができる。
【0265】
[0295]「ネットワーク」という用語は、一般に、情報を交換することができる相互接続されたデバイスのグループを指す。ネットワークは、ローカルエリアネットワーク(LAN)上の数台のパーソナルコンピュータ、またはインターネット(コンピュータの世界規模のネットワーク)と同じくらい大きい場合がある。本明細書で使用する場合、「ネットワーク」は、あるエンティティから別のエンティティに情報を送信できる任意のネットワークを包含することを意図している。場合によっては、ネットワークは複数のネットワーク、さらには1つまたは複数のボーダネットワーク、音声ネットワーク、ブロードバンドネットワーク、金融ネットワーク、サービスプロバイダネットワーク、インターネットサービスプロバイダ(ISP)ネットワーク、および/または、公衆交換電話網(PSTN)など、様々なネットワーク間の通信を容易にするように動作可能なゲートウェイを介して相互接続されている複数の異種ネットワークで構成され得る。
【0266】
[0296]また、例示の目的で、本開示の様々な実施形態は、本明細書では、コンピュータプログラム、物理コンポーネント、および現代のコンピュータネットワーク内の論理相互作用の文脈で説明されてきた。重要なことに、これらの実施形態は、最新のコンピュータネットワークおよびプログラムに関して本開示の様々な実施形態を説明するが、本明細書で説明する方法および装置は、当業者が理解するように、他のシステム、デバイス、およびネットワークに等しく適用可能である。したがって、本開示の実施形態の図示された用途は、限定することではなく、例であることが意図されている。本開示の実施形態が適用可能な他のシステム、デバイス、およびネットワークは、たとえば、他のタイプの通信およびコンピュータデバイスおよびシステムを含む。より具体的には、実施形態は、通信システム、サービス、およびセルフォンネットワークおよび互換性のあるデバイスなどのデバイスに適用可能である。さらに、実施形態は、パーソナルコンピュータから大規模なネットワークメインフレームおよびサーバまでのすべてのレベルのコンピューティングに適
用可能である。
【0267】
[0297]結論として、本開示は、顧客ウォレットおよび関連付けられた方法を復元するためにN個のうちM個の鍵を使用する新規のマルチ承認システムを提供する。本開示の1つまたは複数の実施形態の詳細な説明を上述したが、本開示の精神から逸脱することなく、様々な代替、修正、および均等物が当業者には明らかであろう。例では、上記の実施形態は特定の特徴を指すが、本開示の範囲は、特徴の異なる組合せを有する実施形態、および記載された特徴のすべてを含まない実施形態も含む。したがって、本開示の範囲は、そのすべての均等物とともに、特許請求の範囲内に含まれるすべてのそのような代替、修正、および変形を包含することが意図されている。したがって、上記の説明は限定として解釈されるべきではない。
【0268】
実施例
[0298]例1は、以下を備えるコンピューティングシステムを含む。少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、少なくとも1つのプロセッサに通信可能に結合され、顧客デバイスおよび信頼できるサードパーティと通信するように構成された少なくとも1つのネットワークインターフェースとを備え、少なくとも1つのネットワークインターフェースは、顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するように構成され、少なくとも1つのプロセッサは、顧客デバイスから受信した顧客のアイデンティティデータを検証するように構成され、少なくとも1つのプロセッサが、顧客デバイスから受信した顧客のアイデンティティデータを検証すると、少なくとも1つのネットワークインターフェースは、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティの鍵リポジトリに通信するように構成され、少なくとも1つのプロセッサは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元するように構成される。
【0269】
[0299]例2は、例1のコンピューティングシステムを含み、さらに以下を備える。少なくとも1つのネットワークインターフェースが、信頼できるサードパーティの鍵リポジトリから、顧客ウォレットに関連付けられた第1の鍵を受信すると、少なくとも1つのプロセッサは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元するように構成される。
【0270】
[0300]例3は、例2のコンピューティングシステムを含み、少なくとも1つのプロセッサは、新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成し、1つまたは複数の新しい秘密鍵に基づいて、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成し、第1の鍵および第2の鍵を使用して、デジタル資産を古い顧客ウォレットから新しいトランザクションアドレスに転送することによって、少なくとも部分的に、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元するように構成される。
【0271】
[0301]例4は、例3のコンピューティングシステムを含み、顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、各古いトランザクションアドレスは、それぞれの古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの古いトランザクションアドレスに関連付けられたそれぞれの3個の秘密鍵のうち少なくとも2個を必要とする。
【0272】
[0302]例5は、例3~例4のいずれかのコンピューティングシステムを含み、少なくとも1つのネットワークインターフェースは、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを顧客デバイスに通信するように構成される。
【0273】
[0303]例6は、例5のコンピューティングシステムを含み、少なくとも1つのネットワークインターフェースは、1つまたは複数の新しい秘密鍵を顧客デバイスに通信するように構成される。
【0274】
[0304]例7は、例6のコンピューティングシステムを含み、新しい秘密鍵は、秘密トランザクション鍵である。
【0275】
[0305]例8は、例1~例7のいずれかのコンピューティングシステムを含み、少なくとも1つのプロセッサは、アイデンティティデータを、以前に格納された顧客のアイデンティティデータと比較することによって、少なくとも部分的に、顧客デバイスから受信された顧客のアイデンティティデータを検証するように構成される。
【0276】
[0306]例9は、例1~例8のいずれかのコンピューティングシステムを含み、アイデンティティデータは、生体データを備える。
【0277】
[0307]例10は、例1~例9のいずれかのコンピューティングシステムを含み、信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである。
【0278】
[0308]例11は、例1~例10のいずれかのコンピューティングシステムを含み、顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される。
【0279】
[0309]例12は、以下を備えるシステムを含む。信頼できるサードパーティおよび顧客の顧客デバイスと通信するように構成されたコンピューティングデバイスと、コンピューティングデバイスと通信可能に結合された鍵リポジトリとを備え、コンピューティングデバイスは、顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信するように構成され、コンピューティングデバイスは、顧客デバイスから受信した顧客のアイデンティティデータを検証するように構成され、コンピューティングデバイスは、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティの鍵リポジトリに通信するように構成され、コンピューティングデバイスは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元する。
【0280】
[0310]例13は、例12のシステムを含み、さらに以下を備える。コンピューティングデバイスが、信頼できるサードパーティの鍵リポジトリから顧客ウォレットに関連付けられた第1の鍵を受信すると、コンピューティングデバイスは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して顧客ウォレットを復元するように構成される。
【0281】
[0311]例14は、例13のシステムを含み、コンピューティングデバイスは、新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成し、1つまたは複数の新しい秘密鍵に基づいて、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成し、第1の鍵および第2の鍵を使用して、デジタル資産を古い顧客ウォレットから新しいトランザクションアドレスに転送することによって、少なくとも部分的に、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、顧客ウォレットを復元するように構成される。
【0282】
[0312]例15は、例14のシステムを含み、顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、各古いトランザクショ
ンアドレスは、それぞれの古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの古いトランザクションアドレスに関連付けられたそれぞれの3個の秘密鍵のうち少なくとも2個を必要とする。
【0283】
[0313]例16は、例14~例15のいずれかのシステムを含み、コンピューティングデバイスはさらに、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを顧客デバイスに通信するように構成される。
【0284】
[0314]例17は、例16のシステムを含み、コンピューティングデバイスはさらに、1つまたは複数の新しい秘密鍵を顧客デバイスに通信するように構成される。
【0285】
[0315]例18は、例17のシステムを含み、新しい秘密鍵は、秘密トランザクション鍵である。
【0286】
[0316]例19は、例12~例18のいずれかのシステムを含み、コンピューティングデバイスは、アイデンティティデータを以前に格納された顧客のアイデンティティデータと比較することによって、少なくとも部分的に、顧客デバイスから受信された顧客のアイデンティティデータを検証するように構成される。
【0287】
[0317]例20は、例12~例19のいずれかのシステムを含み、アイデンティティデータは生体データを備える。
【0288】
[0318]例21は、例12~例20のいずれかのシステムを含み、信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである。
【0289】
[0319]例22は、例12~例21のいずれかのシステムを含み、顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される。
【0290】
[0320]例23は、以下を備えるコンピュータ化された方法を含む。コンピューティングデバイスで、顧客デバイスから、顧客のアイデンティティデータと、顧客ウォレットを復元する要求とを受信することと、コンピューティングデバイスで、顧客デバイスから受信した顧客のアイデンティティデータを検証することと、顧客デバイスから受信した顧客のアイデンティティデータが検証されると、顧客ウォレットに関連付けられた第1の鍵を求める要求を、信頼できるサードパーティの鍵リポジトリに通信することと、信頼できるサードパーティの鍵リポジトリから、顧客ウォレットに関連付けられた第1の鍵を受信することとを備え、顧客ウォレットは、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して復元することができる。
【0291】
[0321]例24は、例23のコンピュータ化された方法を含み、さらに以下を備える。顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、コンピューティングデバイスで顧客ウォレットを復元する。
【0292】
[0322]例25は、例24のコンピュータ化された方法を含み、顧客ウォレットに関連付けられた第1の鍵と、顧客ウォレットに関連付けられた第2の鍵とを使用して、コンピューティングデバイスで顧客ウォレットを復元することは、新しい顧客ウォレットに関連付けられた1つまたは複数の新しい秘密鍵を生成することと、1つまたは複数の新しい秘密鍵に基づいて、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを生成することと、第1の鍵および第2の鍵を使用して、デジタル資産を古い顧客ウォレットから新しいトランザクションアドレスに転送することとを備える。
【0293】
[0323]例26は、例25のコンピュータ化された方法を含み、顧客ウォレットは、おのおのが3個の秘密鍵に関連付けられた複数の古いトランザクションアドレスを備え、各古いトランザクションアドレスは、それぞれの古いトランザクションアドレスのデジタル資産にアクセスするために、それぞれの古いトランザクションアドレスに関連付けられたそれぞれの3個の秘密鍵のうち少なくとも2個を必要とする。
【0294】
[0324]例27は、例25~例26のいずれかのコンピュータ化された方法を含み、さらに、新しい顧客ウォレットに関連付けられた新しいトランザクションアドレスを顧客デバイスに通信することを備える。
【0295】
[0325]例28は、例25~例27のいずれかのコンピュータ化された方法を含み、さらに、1つまたは複数の新しい秘密鍵を顧客デバイスに通信することを備える。
【0296】
[0326]例29は、例28のコンピュータ化された方法を含み、新しい秘密鍵は、秘密トランザクション鍵である。
【0297】
[0327]例30は、例23~例29のいずれかのコンピュータ化された方法を含み、コンピューティングデバイスにおいて、顧客デバイスから受信された顧客のアイデンティティデータを検証することは、アイデンティティデータを、以前に格納された顧客のアイデンティティデータと比較することを備える。
【0298】
[0328]例31は、例23~例30のいずれかのコンピュータ化された方法を含み、アイデンティティデータは、生体データを備える。
【0299】
[0329]例32は、例23~例31のいずれかのコンピュータ化された方法を含み、信頼できるサードパーティは、信用組合または銀行のうちの少なくとも1つである。
【0300】
[0330]例33は、例23~例32のいずれかのコンピュータ化された方法を含み、顧客ウォレットは、証券、通貨、商品、債券、ファンド、またはそれらの組合せのうちの少なくとも1つを格納するために使用される。
【手続補正書】
【提出日】2023-10-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、
前記少なくとも1つのプロセッサに通信可能に結合され、少なくとも1つのボールトシステムであって、前記少なくとも1つのボールトシステムの各々は、複数の秘密アカウント鍵の各々の秘密アカウント鍵、または、顧客と関連付けられた複数の秘密アカウント鍵コンポーネントのそれぞれの鍵コンポーネントを格納する少なくとも1つのボールトシステムと通信するように構成された少なくとも1つのネットワークインターフェースと、を備え、
前記少なくとも1つのプロセッサは、
1つまたは複数のボールトシステムの各々から、1つまたは複数の前記複数の秘密アカウント鍵もしくは前記複数の秘密アカウント鍵コンポーネントを少なくとも要求し、および受け取ることで、前記複数の秘密アカウント鍵のマルチ秘密アカウント鍵、または、前記複数の秘密アカウント鍵コンポーネントのマルチ秘密アカウント鍵コンポーネントを決定するように構成され、
顧客デバイスにおいて、顧客ウォレットの中の複数の入力トランザクションアドレスからすべての資金を新たなトランザクションアドレスに転送することを示すスイープトランザクションを生成するように構成され、
前記マルチ秘密アカウント鍵の各々から、それぞれの秘密トランザクション鍵を導出すること、または、
前記マルチ秘密アカウント鍵コンポーネントから再構築された単一の秘密アカウント鍵から、前記それぞれの秘密トランザクション鍵を導出すること、
のうちの1つを実行するように構成され、かつ、
前記それぞれの秘密トランザクション鍵を用いて前記スイープトランザクションの署名を行うように構成されている、
顧客デバイス。
【請求項2】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのプロセッサは、さらに、前記マルチ秘密アカウント鍵または秘密鍵コンポーネントの総数よりも少ない数から、前記それぞれの秘密トランザクション鍵を導出するように構成されている、顧客デバイス。
【請求項3】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのプロセッサは、さらに、前記それぞれの秘密トランザクション鍵を、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントから導出するように構成されている、顧客デバイス。
【請求項4】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのプロセッサは、さらに、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントを生成し、前記少なくとも1つのボールトシステムに送信するように構成されている、顧客デバイス。
【請求項5】
請求項1に記載の顧客デバイスにおいて、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントは、前記少なくとも1つのボールトシステムで生成される、顧客デバイス。
【請求項6】
請求項1に記載の顧客デバイスにおいて、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントは、前記少なくとも1つのボールトシステムおよび前記顧客デバイスにおいて生成される、顧客デバイス。
【請求項7】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのプロセッサは、さらに、前記顧客のためにアイデンティティデータを送信するように構成され、
前記少なくとも1つのボールトシステムの各々で、またはアイデンティティサービスプロバイダにおいて、前記顧客は、前記アイデンティティデータに基づいて認証される、
顧客デバイス。
【請求項8】
請求項7に記載の顧客デバイスにおいて、前記アイデンティティデータは、生体データを備える、顧客デバイス。
【請求項9】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのボールトシステムの各々は、信用組合、銀行、通貨を別の形態の通貨へ変換する通貨変換システム、企業、および個人のうちの少なくともいずれか1つによって所有または運営される、顧客デバイス。
【請求項10】
請求項1に記載の顧客デバイスにおいて、前記少なくとも1つのプロセッサは、さらに、前記スイープトランザクションを、分散型台帳に記録するための前記分散型台帳を実装するノードに送信するように構成されている、顧客デバイス。
【請求項11】
少なくとも1つのボールトシステムと通信を行う顧客デバイスによって実行される方法であって、前記少なくとも1つのボールトシステムの各々は、顧客に関連付けられている、複数の秘密アカウント鍵のそれぞれの秘密アカウント鍵、または、複数の秘密アカウント鍵コンポーネントのそれぞれの鍵コンポーネントを格納し、
1つまたは複数のボールトシステムの各々から、1つまたは複数の前記複数の秘密アカウント鍵もしくは前記複数の秘密アカウント鍵コンポーネントを少なくとも要求し、および受け取ることで、前記複数の秘密アカウント鍵のマルチ秘密アカウント鍵、または、前記複数の秘密アカウント鍵コンポーネントのマルチ秘密アカウント鍵コンポーネントを決定するステップと、
顧客デバイスにおいて、顧客ウォレットの中の複数の入力トランザクションアドレスからすべての資金を新たなトランザクションアドレスに転送することを示すスイープトランザクションを生成するステップと、
前記マルチ秘密アカウント鍵の各々から、それぞれの秘密トランザクション鍵を導出するステップ、または、
前記マルチ秘密アカウント鍵コンポーネントから再構築された単一の秘密アカウント鍵から、前記それぞれの秘密トランザクション鍵を導出するステップ、
のうちの1つが実行され、かつ、
前記それぞれの秘密トランザクション鍵を用いて前記スイープトランザクションの署名を行うステップと、
を備える、方法。
【請求項12】
請求項11に記載の方法において、前記マルチ秘密アカウント鍵または秘密鍵コンポーネントの総数よりも少ない数から、前記それぞれの秘密トランザクション鍵が導出される、方法。
【請求項13】
請求項11に記載の方法において、前記それぞれの秘密トランザクション鍵が、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントから導出される、方法。
【請求項14】
請求項11に記載の方法において、さらに、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントを生成し、前記少なくとも1つのボールトシステムに送信するステップを備える、方法。
【請求項15】
請求項11に記載の方法において、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントは、前記少なくとも1つのボールトシステムで生成される、方法。
【請求項16】
請求項11に記載の方法において、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントは、前記少なくとも1つのボールトシステムおよび前記顧客デバイスにおいて生成される、方法。
【請求項17】
請求項11に記載の方法において、さらに、前記顧客のためにアイデンティティデータを送信するステップを備え、
前記少なくとも1つのボールトシステムの各々で、またはアイデンティティサービスプロバイダにおいて、前記顧客は、前記アイデンティティデータに基づいて認証される、方法。
【請求項18】
請求項17に記載の方法において、前記アイデンティティデータは生体データを備える、方法。
【請求項19】
請求項11に記載の方法において、前記少なくとも1つのボールトシステムの各々は、信用組合、銀行、通貨を別の形態の通貨へ変換する通貨変換システム、企業、および個人のうちの少なくともいずれか1つによって所有または運営される、方法。
【請求項20】
請求項11に記載の方法において、さらに、前記スイープトランザクションを、分散型台帳に記録するための前記分散型台帳を実装するノードに送信するステップを備える、方法。
【請求項21】
請求項11に記載の方法において、前記新たなトランザクションアドレスは、前記顧客ウォレットの中のマルチ承認トランザクションアドレスであって、前記新たなトランザクションアドレスは、ハッシュ関数を用いて、前記複数の秘密アカウント鍵または前記複数の秘密アカウント鍵コンポーネントに基づいて、通貨変換システムで生成され、
前記通貨変換システムは、前記新たなトランザクションアドレスを前記顧客デバイスに送信する、
方法。
【外国語明細書】