(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-20
(54)【発明の名称】遠隔アクセス制限ウォレットからの暗号通貨の移動
(51)【国際特許分類】
G06Q 20/36 20120101AFI20230912BHJP
【FI】
G06Q20/36
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023510463
(86)(22)【出願日】2021-08-11
(85)【翻訳文提出日】2023-04-07
(86)【国際出願番号】 IL2021050983
(87)【国際公開番号】W WO2022034592
(87)【国際公開日】2022-02-17
(32)【優先日】2020-08-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520295258
【氏名又は名称】ジーケーエイト リミテッド
【氏名又は名称原語表記】GK8 LTD
【住所又は居所原語表記】6 Yona Kremenetski Street, 1st Floor, Tel Aviv, ISRAEL
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】シャマイ、シャハール
(72)【発明者】
【氏名】ラメシュ、リオル
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA68
(57)【要約】
本開示では、暗号通貨をアクセス制限暗号通貨ウォレットから移動させるシステム、デバイス及び方法が提供される。アクセス制限暗号通貨ウォレットは1以上の受取人にそれぞれ割り当てられる1以上の仮口座を予め作成し、アクセス制限暗号通貨ウォレットに関連する関連する口座から1以上の仮口座に暗号通貨の既定の総額を移動させることができる。アクセス制限暗号通貨ウォレットは、1以上の仮口座から1以上の受取人に関連する1以上の受取り口座に暗号通貨の複数の既定の部分額を移動させるための複数の署名付きトランザクションをさらに予め生成し、複数の署名付きトランザクションをネットワーク接続デバイスに送信することができる。その後、ネットワーク接続デバイスはリアルタイムで、アクセス制限暗号通貨ウォレットに物理的に関与せずに1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるための複数の署名付きトランザクションの1以上を送信することができる。
【特許請求の範囲】
【請求項1】
暗号通貨をアクセス制限暗号通貨ウォレットから移動させる方法であって、
送信限定のネットワーク接続性を有するアクセス制限暗号通貨ウォレットの、少なくとも1つのプロセッサを用い、
少なくとも1人の受取人に割り当てられる少なくとも1つの仮口座を作成し、
前記アクセス制限暗号通貨ウォレットに関連する口座から前記少なくとも1つの仮口座に暗号通貨の既定の総額を移動させるために少なくとも1つのトランザクションを送信し、前記少なくとも1つのトランザクションは複数のネットワーク接続コンピュータノードによって管理されるブロックチェーンに記録され、
前記少なくとも1つの仮口座から前記少なくとも1人の受取人に関連する少なくとも1つの受取り口座に、暗号通貨の複数の既定の部分額を移動させるための複数の署名付きトランザクションを生成し、前記複数の既定の部分額の合計が前記既定の総額を超えず、
ネットワーク接続デバイスに前記複数の署名付きトランザクションを送信し、前記ネットワーク接続デバイスが、前記アクセス制限暗号通貨ウォレットに物理的に関与せずに前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるための前記複数の署名付きトランザクションの少なくとも1つを送信するように構成されること
を含む、方法。
【請求項2】
前記アクセス制限暗号通貨ウォレットが、前記複数の署名付きトランザクションを生成するために少なくとも1つのマルチパーティ計算(MPC)プロトコルを用いる複数のコンピュータノードによって利用されること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記複数の既定の部分額は同時に有効である、請求項1に記載の方法。
【請求項4】
前記ネットワーク接続デバイスが、前記少なくとも1つの受取り口座に前記少なくとも1つの署名付きトランザクションを送信するために少なくとも1つのマルチパーティ計算(MPC)プロトコルを用いる前記複数のネットワーク接続コンピューティングノードの部分集合によって実施されること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記少なくとも1つの仮口座から前記アクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるための複数の署名付き超過トランザクションを生成することをさらに含み、
前記ネットワーク接続デバイスが、前記受取り口座に送信されるトランザクションに超過がある場合に、前記複数の署名付き超過トランザクションの少なくとも1つを前記アクセス制限暗号通貨ウォレットに関連する前記口座に送信するように構成される、請求項1に記載の方法。
【請求項6】
複数の仮口座を作成し、各仮口座が複数の受取人の各受取人に割り当てられ、
前記アクセス制限暗号通貨ウォレットに関連する口座から前記複数の仮口座の各々に暗号通貨の既定の額を移動させるための少なくとも1つのトランザクションを送信し、
前記複数の仮口座の少なくとも1つから前記複数の仮口座の別の少なくとも1つ向けの、暗号通貨の複数の既定の部分額の複数の署名付きトランザクションを生成すること
をさらに含む、請求項1に記載の方法。
【請求項7】
前記少なくとも1つの仮口座は、ペイメントチャネル2-2マルチシグ口座として前記アクセス制限暗号通貨ウォレットによって作成され、
前記ペイメントチャネル2-2マルチシグ口座において、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座向けの各トランザクションであって、前記ブロックチェーンに記録される各トランザクションが、前記少なくとも1人の受取人によってさらに署名され、前記複数の署名付きトランザクションは前記既定の総額のうち、既定の段階的に増加する部分額を移動させるために定められる、請求項1に記載の方法。
【請求項8】
前記ネットワーク接続デバイスは、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるための複数の署名付きトランザクションであって、前記少なくとも1人の受取人によって署名されないことにより前記ブロックチェーンに記録されない複数の署名付きトランザクションを送信し、
前記複数の署名付きトランザクションの各々によって、前記少なくとも1つの受取り口座に送信された先行する署名付きトランザクションを、前記送信された先行する署名付きトランザクションのトランザクション識別子(ID)を用いて、置き換え、
送信される署名付きトランザクションの各々は、当該署名付きトランザクションで移動される暗号通貨の額と、前記先行する署名付きトランザクションで移動される暗号通貨との合計である暗号通貨の額を含む、請求項7に記載の方法。
【請求項9】
前記ネットワーク接続デバイスによって送信され、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるための直近の署名付きトランザクションは、前記送信される直近の署名付きトランザクションに前記少なくとも1人の受取人が署名する場合に前記ブロックチェーンに記録される、請求項8に記載の方法。
【請求項10】
前記ペイメントチャネル2-2マルチシグ口座が、期限に関連づけられた期限付き口座であり、
前記期限内に、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるために送信された前記直近の署名付きトランザクションに前記少なくとも1人の受取人が署名し損ねた場合、前記ペイメントチャネル2-2マルチシグ口座に保管されている暗号通貨の額が、前記アクセス制限暗号通貨ウォレットに関連する口座に返送されること
をさらに含む、請求項9に記載の方法。
【請求項11】
前記少なくとも1つの受取り口座が、前記ペイメントチャネル2-2マルチシグ口座をサポートするように構成されていない、前記少なくとも1人の受取人の各暗号通貨ウォレットに関連する場合、前記ペイメントチャネル2-2マルチシグ口座は、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるために送信され、前記ブロックチェーンに記録される各署名付きトランザクションに、前記少なくとも1人の受取人に関連する別のネットワーク接続デバイスの署名が必要であるように構成されること
をさらに含む、請求項7に記載の方法。
【請求項12】
前記アクセス制限暗号通貨ウォレットが、前記少なくとも1人の受取人と共同して前記ペイメントチャネル2-2マルチシグ口座を閉鎖させる指示を前記ネットワーク接続デバイスに対して送信することによって、前記少なくとも1つの仮口座を閉鎖すること
をさらに含む、請求項7に記載の方法。
【請求項13】
前記少なくとも1つの仮口座は、前記アクセス制限暗号通貨ウォレットに関連する新規の暗号通貨口座として、前記アクセス制限暗号通貨ウォレットによって作成される、
請求項1に記載の方法。
【請求項14】
前記暗号通貨が、各トランザクションが以前のトランザクションの個数を示すナンスを含む、口座ベースの暗号通貨である場合、前記アクセス制限暗号通貨ウォレットは、前記複数の署名付きトランザクションの各々が複数の有効なナンスのうちの1つのナンスと、対応する既定の部分額とを含むように、既定の粒度にしたがって前記既定の総額の均一分布を構成するように、前記複数の署名付きトランザクションを生成する、請求項13に記載の方法。
【請求項15】
前記少なくとも1つの受取り口座に暗号通貨の特定の額を移動させる場合、前記ネットワーク接続デバイスは、前記特定の額以上である既定の部分額を含む前記複数の署名付きトランザクションの少なくとも1つを選択し、同じナンスとその他の既定の部分額とを含むその他すべての署名付きトランザクションが破棄される、請求項14に記載の方法。
【請求項16】
前記既定の部分額の各々を複数の受取り口座の1つに移動させるための前記複数の署名付きトランザクションを、前記複数の署名付きトランザクションの各々が複数の有効なナンスのうちの1つのナンスと、前記既定の総額の対応する既定の部分額と、前記複数の受取り口座のうちの対応する対象受取り口座と、を含むようにして、既定の総額を構成するように構成することによって生成すること
をさらに含む、請求項14に記載の方法。
【請求項17】
前記アクセス制限暗号通貨ウォレットに関連する口座を前記複数の受取り口座の1つとして定めることで、前記ネットワーク接続デバイスが、前記アクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるために前記複数の署名付きトランザクションの少なくとも1つを送信すること
をさらに含む請求項16に記載の方法。
【請求項18】
前記アクセス制限暗号通貨ウォレットが、前記口座ベースの仮口座を閉鎖させる指示を前記ネットワーク接続デバイスに対して送信することによって前記少なくとも1つの仮口座を閉鎖すること
をさらに含む請求項14に記載の方法。
【請求項19】
前記アクセス制限暗号通貨ウォレットが、前記ブロックチェーンに記録される少なくとも1つのトランザクションであって、前記複数の署名付きトランザクションの少なくとも1つのナンスと、ゼロの暗号通貨額とを含む少なくとも1つのトランザクションを、前記アクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるために送信することによって、前記少なくとも1つの仮口座を閉鎖すること
をさらに含む、請求項14に記載の方法。
【請求項20】
前記暗号通貨が、各トランザクションが、以前のトランザクションの各アウトプット額に溯る、少なくとも1つの暗号通貨のインプット額を含むトランザクションベースの暗号通貨(UTXO)である場合、前記アクセス制限暗号通貨ウォレットは、前記複数の署名付きトランザクションを含む階層的有向非巡回グラフ(DAG)を構成するように前記複数の署名付きトランザクションを生成し、各署名付きトランザクションが上位層の署名付きトランザクションから導出され、トランザクションID(TXID)を含み、前記階層的DAGは、既定の粒度にしたがって前記既定の総額を分布させるように構成される、請求項13に記載の方法。
【請求項21】
前記DAGは階層ツリーとして構成される、請求項20に記載の方法。
【請求項22】
前記少なくとも1つの受取り口座に暗号通貨の特定の額を移動させる場合、前記ネットワーク接続デバイスは、前記特定の額以上である既定の部分額を含む少なくとも1つの署名付きトランザクションを含む、前記階層的DAGの少なくとも1つのセグメントを選択し、送信されないセグメントの各署名付きトランザクションが使用不可としてマーキングされる、請求項20に記載の方法。
【請求項23】
少なくとも1つの限られた長さの文字列を受け付けるように構成される、前記アクセス制限暗号通貨ウォレットの容量制限入力インタフェイスを介して、前記アクセス制限暗号通貨ウォレットに少なくとも1つの限られた長さの文字列を挿入することによって、少なくとも1つの使用不可のトランザクションにおける利用可能な暗号通貨の残額を前記アクセス制限暗号通貨ウォレットに通知すること
をさらに含む、請求項22に記載の方法。
【請求項24】
前記少なくとも一つの文字列が、前記少なくとも1つの使用不可のトランザクションのインデックスを含み、前記アクセス制限暗号通貨ウォレットは、前記少なくとも1つの使用不可のトランザクションを含む前記複数の署名付きトランザクションを最初に生成した前記アクセス制限暗号通貨ウォレットに既知である前記インデックスから、前記残額を導出すること
をさらに含む、請求項23に記載の方法。
【請求項25】
前記アクセス制限暗号通貨ウォレットは、前記アクセス制限暗号通貨ウォレットに関連する口座にトランザクションを送信し、前記トランザクションは前記ブロックチェーンに記録されると共に、前記少なくとも1つの使用不可の署名付きトランザクションに含まれる暗号通貨部分額の累積合計を含む
ことをさらに含む、請求項23に記載の方法。
【請求項26】
前記少なくとも1人の受取人が別のアクセス制限暗号通貨ウォレットを用いる場合、前記別のアクセス制限暗号通貨ウォレットの容量制限入力インタフェイスを介して前記別のアクセス制限暗号通貨ウォレットに少なくとも1つの限られた長さの文字列を挿入することによって、前記別のアクセス制限暗号通貨ウォレットに関連する受取り口座に移動される暗号通貨の額が前記別のアクセス制限暗号通貨ウォレットに通知され、
前記少なくとも1つの文字列が、前記別のアクセス制限暗号通貨ウォレットの前記受取り口座に送信される前記複数の署名付きトランザクションの第1の署名付きトランザクションの記述と、前記階層的DAGの構造と、前記別のアクセス制限暗号通貨ウォレットの前記受取り口座に暗号通貨を移動させるために送信される前記複数の署名付きトランザクションのうちの最後の署名付きトランザクションのインデックスと、を含むこと
をさらに含む、請求項20に記載の方法。
【請求項27】
前記少なくとも1つの署名付きトランザクションを前記ブロックチェーンに記録する前記複数のコンピュータノードの少なくとも1つに手数料が配分される必要がある場合、前記アクセス制限暗号通貨ウォレットは、前記複数の署名付きトランザクションの各々を、各署名付きトランザクションの集合に拡張し、集合の署名付きトランザクション毎に暗号通貨の額が前記手数料に割り当てられ、
前記ネットワーク接続デバイスは、前記集合のトランザクションの1つを前記手数料の額に応じて選択すること
をさらに含む、請求項1に記載の方法。
【請求項28】
前記少なくとも1つの署名付きトランザクションを前記ブロックチェーンに記録する前記複数のコンピュータノードの少なくとも1つに手数料が配分される必要がある場合、前記アクセス制限暗号通貨ウォレットが、手数料のための専用の暗号通貨額を含む少なくとも1つの手数料配分トランザクションを生成し、
前記ネットワーク接続デバイスに関連する口座に暗号通貨を移動させるために前記少なくとも1つの手数料配分トランザクションを送信し、
前記ネットワーク接続デバイスが、前記少なくとも1つの署名付きトランザクションを記録した前記少なくとも1つのコンピュータノードに暗号通貨を移動させるために少なくとも1つの手数料配分トランザクションを送信し、
前記少なくとも1つの手数料配分トランザクションが、両前記少なくとも1つの署名付きトランザクションと、前記少なくとも1つの手数料配分トランザクションと、の両方のための手数料に十分な暗号通貨の額を含むこと
をさらに含む、請求項1に記載の方法。
【請求項29】
前記少なくとも1つの署名付きトランザクションを前記ブロックチェーンに記録する前記複数のコンピュータノードの少なくとも1つに手数料が配分される必要がある場合、前記アクセス制限暗号通貨ウォレットは、前記複数のコンピュータノードのうちの少なくともパートナコンピューティングノードとの取決めを確立し、前記取決めにおいて、前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるために前記ネットワーク接続デバイスによって送信される前記複数の署名付きトランザクションの各々を、前記少なくともパートナコンピュータノードが記録することを取り決めること
をさらに含む、請求項1に記載の方法。
【請求項30】
前記複数の署名付きトランザクションの各々の署名を少なくとも1つの秘密情報を用いて暗号化することをさらに含み、
前記ネットワーク接続デバイスは、前記少なくとも1つの署名付きトランザクションを送信する前に前記少なくとも1つの秘密情報を用いて前記少なくとも1つの署名付きトランザクションの前記署名を復号する、
請求項1に記載の方法。
【請求項31】
前記少なくとも1つの署名付きトランザクションの前記署名を復号するために用いられる前記少なくとも1つの秘密情報は、前記アクセス制限暗号通貨ウォレットデバイスに関連するポータブル記憶デバイスから取得される、
請求項30に記載の方法。
【請求項32】
前記少なくとも1つの署名付きトランザクションの前記署名を復号するために用いられる前記少なくとも1つの秘密情報は、前記アクセス制限暗号通貨ウォレットデバイスに関連する少なくとも1人のユーザによって提供される、
請求項30に記載の方法。
【請求項33】
前記少なくとも1つの署名付きトランザクションの前記署名を復号するために用いられる前記少なくとも1つの秘密情報は、少なくとも1つの秘密分散アルゴリズムを用いて複数の秘密情報シェアから再構築される、
請求項30に記載の方法。
【請求項34】
前記複数の署名付きトランザクションの各々の前記署名が、複数の秘密情報のうちの1つの秘密情報を用いて暗号化されること
をさらに含む、請求項30に記載の方法。
【請求項35】
前記少なくとも1つの署名付きトランザクションの識別データを提示することで、前記少なくとも1つの署名付きトランザクションの識別を可能にし、従って前記少なくとも1つの署名付きトランザクションの前記署名を暗号化するためのそれぞれの秘密情報を取得すること
をさらに含む、請求項33に記載の方法。
【請求項36】
コードを記憶する非一時的記憶媒体と、
前記非一時的記憶媒体に接続される少なくとも1つのプロセッサと、
を備え、
前記少なくとも1つのプロセッサは前記コードを実行し、前記コードは、
少なくとも1人の受取人に割り当てられる、少なくとも1つの仮口座を作成するためのコード命令と、
前記アクセス制限暗号通貨ウォレットに関連する口座から前記少なくとも1つの仮口座に暗号通貨の既定の総額を移動させるために少なくとも1つのトランザクションを送信するためのコード命令であって、前記少なくとも1つのトランザクションは複数のネットワーク接続コンピュータノードによって管理されるブロックチェーンに記録される、コード命令と、
前記少なくとも1つの仮口座から前記少なくとも1人の受取人に関連する少なくとも1つの受取り口座に暗号通貨の複数の既定の部分額を移動させるための複数の署名付きトランザクションを生成するためのコード命令であって、前記複数の既定の部分額の合計が前記既定の総額を超えない、コード命令と、
ネットワーク接続デバイスに前記複数の署名付きトランザクションを送信するためのコード命令であって、前記ネットワーク接続デバイスが、前記アクセス制限暗号通貨ウォレットに物理的に関与せずに前記少なくとも1つの仮口座から前記少なくとも1つの受取り口座に暗号通貨を移動させるための前記複数の署名付きトランザクションの少なくとも1つを送信するように構成される、コード命令と
を含む、アクセス制限暗号通貨ウォレットデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は2020年8月11日に出願された米国特許出願第16/989,939号の優先権の利益を主張する。本米国特許出願の内容全体が参照によって本明細書に援用される。
【0002】
本発明はそのいくつかの実施形態において、暗号通貨ウォレットからの暗号通貨資金の移動に関し、特に、アクセス制限暗号通貨ウォレットに物理的に関与せずにアクセス制限暗号通貨ウォレットから暗号通貨資金を移動させることに関するが、これに限定されない。
【背景技術】
【0003】
現代においては、不換紙幣(現金)を移動させるためにデジタル方式を基盤としたトランザクション指示を主に用いて金融取引が行なわれており、これは従来の現実の金銭取引に取って代わっている。
【0004】
近年、ブロックチェーンを基盤とした暗号通貨の導入によって、デジタル通貨を一層活用する道が切り開かれてきた。特に暗号通貨は、実際、国家、中央銀行及び/又はその他などのいかなる単一主体によっても統制されない仮想通貨である。
【0005】
多くの利点を奏する一方で、このような暗号通貨は悪意のある攻撃を受け易いという面を元来持つ大規模なコンピュータネットワークによって統制されるので、暗号通貨を用いることは重大なセキュリティ上の懸念を呈するおそれがある。暗号通貨を用いる取引には、ユーザ口座を記憶している電子デバイスであるデジタルウォレットをネットワーク接続することが基本的に必要であり、口座に保管されている暗号通貨の支配を奪取しようとする悪意のある者によって行なわれる、このような悪意のある攻撃に一層さらすことになる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の第1の態様によれば、暗号通貨をアクセス制限暗号通貨ウォレットから移動させる方法であって、送信限定のネットワーク接続性を持つアクセス制限暗号通貨ウォレットの、1以上のプロセッサを用いることを含む方法が提供される。1以上のプロセッサは以下に用いられる。
【0007】
1以上の受取人にそれぞれ割り当てられる1以上の仮口座を作成する。
【0008】
アクセス制限暗号通貨ウォレットに関連する口座から1以上の仮口座に暗号通貨の既定の総額を移動させるために1以上のトランザクション(取引)を送信する。1以上のトランザクションは複数のネットワーク接続コンピュータノードによって管理されるブロックチェーンに記録される。
【0009】
1以上の仮口座から1以上の受取人にそれぞれ関連する1以上の受取り口座に、暗号通貨の複数の既定の部分額を移動させるための、複数の署名付きトランザクションを生成する。複数の既定の部分額の合計は既定の総額を超えない。
【0010】
アクセス制限暗号通貨ウォレットに物理的に関与せずに、1以上の仮口座から1以上の受取り口座に暗号通貨をそれぞれ移動させるための複数の署名付きトランザクションの1以上を送信するように構成されるネットワーク接続デバイスに、複数の署名付きトランザクションを送信する。
【0011】
本発明の第2の態様によれば、コードを記憶する非一時的記憶媒体と、非一時的記憶媒体に接続される1以上のプロセッサとを備えるアクセス制限暗号通貨ウォレットデバイスが提供される。1以上のプロセッサはコードを実行する。コードは以下を含む。
【0012】
1以上の受取人にそれぞれ割り当てられる1以上の仮口座を作成するためのコード命令。
【0013】
アクセス制限暗号通貨ウォレットに関連する口座から1以上の仮口座に暗号通貨の既定の総額を移動させるために1以上のトランザクションを送信するためのコード命令。1以上のトランザクションは複数のネットワーク接続コンピュータノードによって管理されるブロックチェーンに記録される。
【0014】
1以上の仮口座から1以上の受取人にそれぞれ関連する1以上の受取り口座に、暗号通貨の複数の既定の部分額を移動させるための複数の署名付きトランザクションを生成するためのコード命令。複数の既定の部分額の合計は既定の総額を超えない。
【0015】
アクセス制限暗号通貨ウォレットに物理的に関与せずに、1以上の仮口座から1以上の受取り口座に暗号通貨をそれぞれ移動させるための複数の署名付きトランザクションの1以上を送信するように構成されるネットワーク接続デバイスに、複数の署名付きトランザクションを送信するためのコード命令。
【0016】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上のマルチパーティ計算(MPC)プロトコルを用いて複数の署名付きトランザクションを生成する複数のコンピュータノードによって、アクセス制限暗号通貨ウォレットが利用される。
【0017】
第1及び/又は第2の態様のさらなる実現形態では、複数の既定の部分額は同時に有効である。
【0018】
第1及び/又は第2の態様のさらなる実現形態では、1以上のマルチパーティ計算(MPC)プロトコルを用いて1以上の受取り口座に署名付きトランザクションの1以上を送信する、複数のネットワーク接続コンピュータノードの部分集合によって、ネットワーク接続デバイスが実施される。
【0019】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上のプロセッサは、仮口座の1以上からアクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるのに用いられる、複数の署名付き超過トランザクションを生成するようにさらに構成される。受取り口座に送信されるトランザクションに超過がある場合に、複数の署名付き超過トランザクションの1以上をアクセス制限暗号通貨ウォレットに関連する口座に送信するように、ネットワーク接続デバイスが構成される。
【0020】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上のプロセッサは以下のためにさらに構成される。
【0021】
複数の仮口座を作成し、各仮口座が複数の受取人のうちの対応する受取人に割り当てられる。
【0022】
アクセス制限暗号通貨ウォレットに関連する口座から複数の仮口座の各々に暗号通貨の既定の額を移動させるための1以上のトランザクションを送信する。
【0023】
複数の仮口座のうちの1以上から複数の仮口座のうちの別の1以上向けの、暗号通貨の複数の既定の部分額の複数の署名付きトランザクションを生成する。
【0024】
第1及び/又は第2の態様のさらなる実現形態では、仮口座のうちの1以上はペイメントチャネル2-2マルチシグ(multisig)口座としてアクセス制限暗号通貨ウォレットによって作成され、ブロックチェーンに記録される、1以上の仮口座から1以上の受取り口座向けの各トランザクションが1以上の受取人によってさらにそれぞれ署名される。複数の署名付きトランザクションは、既定の総額のうちの、段階的に増加する既定の部分額を移動させるために定められる。
【0025】
第1及び/又は第2の態様のさらなる実現形態では、ネットワーク接続デバイスは、1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるための、1以上の受取人によってそれぞれ署名されることがないことによりブロックチェーンに記録されない複数の署名付きトランザクションを送信し、1以上の受取り口座に送信された先行する署名付きトランザクションを、送信された先行する署名付きトランザクションのトランザクション識別子(ID)を用いて、複数の署名付きトランザクションの各々に置き換える。送信される署名付きトランザクションの各々は、この署名付きトランザクションで移動される暗号通貨の額と、先行する署名付きトランザクションで移動される暗号通貨との合計である暗号通貨の額を含む。
【0026】
第1及び/又は第2の態様のさらなる実現形態では、ネットワーク接続デバイスによって送信され、1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるための直近の署名付きトランザクションは、送信される直近の署名付きトランザクションに1以上の受取人のそれぞれが署名する場合にブロックチェーンに記録される。
【0027】
第1及び/又は第2の態様の任意選択的な実現形態では、ペイメントチャネル2-2マルチシグ口座は期限に関連づけられた期限付き口座である。期限内に1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるために送信される直近の署名付きトランザクションに1以上の受取人のそれぞれが署名し損ねた場合、ペイメントチャネル2-2マルチシグ口座に保管されている暗号通貨の額は、アクセス制限暗号通貨ウォレットに関連する口座に返送される。
【0028】
第1及び/又は第2の任意選択的な実現形態では、1以上の受取り口座が、ペイメントチャネル2-2マルチシグ口座をサポートするように構成されていない1以上の受取人それぞれの対応する暗号通貨ウォレットに関連する場合、ペイメントチャネル2-2マルチシグ口座は、1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるために送信され、ブロックチェーンに記録される各署名付きトランザクションに、1以上の受取人それぞれに関連する別のネットワーク接続デバイスの署名が必要であるように構成される。
【0029】
第1及び/又は第2の態様の任意選択的な実現形態では、アクセス制限暗号通貨ウォレットが、1以上の受取人それぞれと共同でペイメントチャネル2-2マルチシグ口座を閉鎖させるネットワーク接続デバイスに対する指示を送信することによって、1以上の仮口座を閉鎖する。
【0030】
第1及び/又は第2の態様のさらなる実現形態では、1以上の仮口座は、アクセス制限暗号通貨ウォレットに関連する新規の暗号通貨口座としてアクセス制限暗号通貨ウォレットによって作成される。
【0031】
第1及び/又は第2の態様のさらなる実現形態では、暗号通貨が口座ベースの暗号通貨であり、各トランザクションが、以前のトランザクションの個数を示すナンス(nonce)を含む場合、アクセス制限暗号通貨ウォレットは、複数の署名付きトランザクションの各々が複数の有効なナンスのうちの対応するナンスと、対応する既定の部分額とを含むように、既定の粒度にしたがって、既定の総額の均一な分布を構成するように、複数の署名付きトランザクションを生成する。
【0032】
第1及び/又は第2の態様のさらなる実現形態では、1以上の受取り口座に暗号通貨の特定の額を移動させる場合、ネットワーク接続デバイスは、特定の額以上である既定の部分額を含む複数の署名付きトランザクションの1以上を選択する。同じナンスとその他の既定の部分額とを含むその他すべての署名付きトランザクションが破棄される。
【0033】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上のプロセッサは、既定の部分額の各々を複数の受取り口座の1つに移動させるための複数の署名付きトランザクションを、複数の署名付きトランザクションの各々が複数の有効なナンスのうちの1つのナンスを含むことで既定の総額を構成するように構成することによって生成するためにさらに構成される。既定の総額の各既定の部分額と、複数の受取り口座の各目標受取り口座。
【0034】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上のプロセッサは、アクセス制限暗号通貨ウォレットに関連する口座を複数の受取り口座の1つとして定めることで、ネットワーク接続デバイスがアクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるために複数の署名付きトランザクションの1以上を送信するように、さらに構成される。
【0035】
第1及び/又は第2の態様の任意選択的な実現形態では、アクセス制限暗号通貨ウォレットは、ネットワーク接続デバイスに口座ベースの仮口座を閉鎖させる指示を送信することによって1以上の仮口座を閉鎖する。
【0036】
第1及び/又は第2の態様の任意選択的な実現形態では、アクセス制限暗号通貨ウォレットは、ブロックチェーンに記録され、複数の署名付きトランザクションの1以上のナンスと、ゼロの暗号通貨額とを含む1以上のトランザクションを、アクセス制限暗号通貨ウォレットに関連する口座に暗号通貨を移動させるために送信することによって、1以上の仮口座を閉鎖する。
【0037】
第1及び/又は第2の態様のさらなる実現形態では、暗号通貨がトランザクションベースの暗号通貨(UTXO)であり、各トランザクションが、以前のトランザクションの対応するアウトプット額に溯る、暗号通貨の1以上のインプット額を含む場合、アクセス制限暗号通貨ウォレットは、各署名付きトランザクションが上位の層の署名付きトランザクションから導出され、トランザクションID(TXID)を含むように複数の署名付きトランザクションを備える階層的有向非巡回グラフ(Directed Acyclic Graph:DAG)を構成するように、複数の署名付きトランザクションを生成する。階層的DAGは既定の粒度にしたがって既定の総額を分布させるように構成される。
【0038】
第1及び/又は第2の態様のさらなる実現形態では、DAGは階層ツリーとして構成される。
【0039】
第1及び/又は第2の態様のさらなる実現形態では、1以上の受取り口座に暗号通貨の特定の額を移動させる場合、ネットワーク接続デバイスは、特定の額以上である既定の部分額を含む1以上の署名付きトランザクションを含む階層的DAGの少なくとも一部(セグメント)を選択する。送信されないセグメントの各署名付きトランザクションは使用不可としてマーキングされる。
【0040】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の限られた長さの文字列を受け付けるように構成されるアクセス制限暗号通貨ウォレットの容量制限入力インタフェイスを介してアクセス制限暗号通貨ウォレットに1以上の限られた長さの文字列を挿入することによって、1以上の使用不可のトランザクションにおける利用可能な暗号通貨の残額が、アクセス制限暗号通貨ウォレットに通知される。
【0041】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の文字列が使用不可のトランザクションのインデックスを含むことで、アクセス制限暗号通貨ウォレットは、1以上の使用不可のトランザクションを含む複数の署名付きトランザクションを最初に生成したアクセス制限暗号通貨ウォレットには既知である当該インデックスから残額を導出する。
【0042】
第1及び/又は第2の態様の任意選択的な実現形態では、アクセス制限暗号通貨ウォレットは、ブロックチェーンに記録され、1以上の使用不可の署名付きトランザクションに含まれる暗号通貨の部分額の累積合計を含むトランザクションを、アクセス制限暗号通貨ウォレットに関連する口座に送信する。
【0043】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の受取人それぞれが別のアクセス制限暗号通貨ウォレットを用いる場合、別のアクセス制限暗号通貨ウォレットの容量制限入力インタフェイスを介して別のアクセス制限暗号通貨ウォレットに1以上の限られた長さの文字列を挿入することによって、別のアクセス制限暗号通貨ウォレットに関連する受取り口座に移動される暗号通貨の額が別のアクセス制限暗号通貨ウォレットに通知される。1以上の文字列は、別のアクセス制限暗号通貨ウォレットの受取り口座に送信される複数の署名付きトランザクションの第1の署名付きトランザクションの記述と、階層的DAGの構造と、別のアクセス制限暗号通貨ウォレットの受取り口座に暗号通貨を移動させるために送信される複数の署名付きトランザクションのうちの最後の署名付きトランザクションのインデックスとを含む。
【0044】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の署名付きトランザクションをブロックチェーンに記録する複数のコンピュータノードの1以上に手数料が配分される必要がある場合、アクセス制限暗号通貨ウォレットは、複数の署名付きトランザクションの各々を対応する署名付きトランザクションの集合に拡張し、集合の署名付きトランザクションの各々に暗号通貨の各額の手数料が割り当てる。ネットワーク接続デバイスは集合のうちのトランザクションの1つを手数料額に応じて選択する。
【0045】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の署名付きトランザクションをブロックチェーンに記録する複数のコンピュータノードのうちの1以上に手数料が配分される必要がある場合、アクセス制限暗号通貨ウォレットは、手数料のための専用の暗号通貨額を含む1以上の手数料配分トランザクションを生成し、ネットワーク接続デバイスに関連する口座に暗号通貨を移動させるために1以上の手数料配分トランザクションを送信し、ネットワーク接続デバイスは、1以上の署名付きトランザクションを記録した1以上のコンピューティングノードに暗号通貨を移動させるために1以上の手数料配分トランザクションを送信する。1以上の手数料配分トランザクションは、1以上の署名付きトランザクション、及び1以上の手数料配分トランザクションの両方の手数料に十分な暗号通貨の額を含む。
【0046】
第1及び/又は第2の態様の任意選択的な実現形態では、1以上の署名付きトランザクションをブロックチェーンに記録する複数のコンピュータノードの1以上に手数料が配分される必要がある場合、アクセス制限暗号通貨ウォレットは、複数のコンピュータノードのうちの少なくともパートナコンピュータノードとの取決めを確立し、これは、1以上の仮口座から1以上の受取り口座に暗号通貨を移動させるためにネットワーク接続デバイスによって送信される複数の署名付きトランザクションの各々を少なくともパートナコンピュータノードが記録することを取り決める。
【0047】
第1及び/又は第2の態様の任意選択的な実現形態では、複数の署名付きトランザクションの各々の署名が少なくとも1つの秘密情報を用いて暗号化され、ネットワーク接続デバイスは少なくとも1つの署名付きトランザクションを送信する前に、少なくとも1つの秘密情報を用いて少なくとも1つの署名付きトランザクションの署名を復号する。
【0048】
第1及び/又は第2の態様のさらなる実現形態では、少なくとも1つの署名付きトランザクションの署名を復号するのに用いられる少なくとも1つの秘密情報は、アクセス制限暗号通貨ウォレットデバイスに関連するポータブル記憶デバイスから取得される。
【0049】
第1及び/又は第2の態様のさらなる実現形態では、少なくとも1つの署名付きトランザクションの署名を復号するのに用いられる少なくとも1つの秘密情報はアクセス制限暗号通貨ウォレットデバイスに関連する少なくとも1人のユーザによって提供される。
【0050】
第1及び/又は第2の態様のさらなる実現形態では、少なくとも1つの署名付きトランザクションの署名を復号するのに用いられる少なくとも1つの秘密情報は、少なくとも1つの秘密分散アルゴリズムを用いて複数の秘密情報シェアから再構築される。
【0051】
第1及び/又は第2の態様の任意選択的な実現形態では、複数の署名付きトランザクションの各々の署名が、複数の秘密情報のうちの対応する1つの秘密情報を用いて暗号化される。
【0052】
第1及び/又は第2の態様の任意選択的な実現形態では、少なくとも1つの署名付きトランザクションの識別を可能にし、これに応じて、少なくとも1つの署名付きトランザクションの署名を暗号化するのに用いられるそれぞれの秘密情報を取得するために、少なくとも1つの署名付きトランザクションの識別データが提示される。
【0053】
以下の図面と詳細な説明とを検討すれば、本開示の他のシステム、方法、特徴及び効果は当業者であれば明らかであるし、あるいは明らかになるであろう。すべてのこのようなさらなるシステム、方法、特徴及び効果が本説明に含まれ、本開示の範囲内のものであり、添付の請求項によって保護されることが意図されている。
【0054】
別段の定めがない限り、本開示で用いられているすべての技術的用語及び/又は科学用語は、本発明が関係する技術の当業者による共通認識と同じ意味を持つ。本開示で説明されているものと同様であったり均等であったりする方法及び題材(materials)を本発明の実施形態の実施又は試験に用いることができるが、以下では例示的な方法及び/又は題材を説明している。矛盾が生じる場合、定義を含む特許明細書が優先される。これに加えて、題材、方法及び例は例示的なものにすぎず、必然的に限定を課すことを意図していない。
【0055】
本発明の実施形態の方法及び/又はシステムの実施には、決められた作業(タスク)を手動で、自動で、又はその組合せにより、行なったり完遂させたりすることを含み得る。さらに、本発明の方法及び/又はシステムの実施形態の実際の計装や設備化によって、いくつかの決められた作業をハードウェア、ソフトウェアやファームウェアによって、又はオペレーティングシステムを用いてこれらの組合せによって実施することができる。
【0056】
たとえば、本発明の実施形態に係る決められた作業を実行するハードウェアをチップ又は回路として実施することができる。ソフトウェアとしては、本発明の実施形態に係る決められた作業を、あらゆる適切なオペレーティングシステムを用いてコンピュータによって実行される複数のソフトウェア命令として実施することができる。本発明の例示的な実施形態では、本開示で説明されている方法及び/又はシステムの例示的な実施形態に係る1以上の作業は、複数の命令を実行するコンピュータプラットフォームなどのデータ処理デバイスによって実行される。所望により、データプロセッサは命令及び/若しくはデータを記憶する揮発メモリ並びに/又は命令及び/若しくはデータを記憶する不揮発ストレージ、たとえば、磁気ハードディスク及び/若しくはリムーバブル媒体を含む。任意選択的に、ネットワーク接続も設けられる。ディスプレイ、及び/又はキーボードやマウスなどのユーザ入力デバイスも任意選択的に設けられる。
【0057】
以下、添付の図面を参照して、本発明のいくつかの実施形態を例としてのみ説明する。以下、詳細に図面を具体的に参照するが、示されている詳細が例として本発明の実施形態の例示的な説明を目的とするものであることを強調する。これに関して、図面をともなってなされる説明によって、本発明の実施形態をどのように実施することができるのかが当業者に明らかになる。
【0058】
以下が図面に含まれる。
【図面の簡単な説明】
【0059】
【
図1】本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットと、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずに、アクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させるネットワーク接続デバイスと、によって実行される例示的なプロセスのフローチャートを示す。
【
図2】本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させる例示的なシステムの概略図である。
【
図3】本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させる例示的なシーケンスの概略図である。
【
図4】本発明のいくつかの実施形態に係る、ペイメントチャネル仮口座のために予め生成された複数の署名付き暗号通貨トランザクションの例示的な構成の概略図である。
【
図5】本発明のいくつかの実施形態に係る、口座ベースの暗号通貨サービスに用いられる既定の均一な分布(flat distribution)にしたがって予め生成される複数の署名付き暗号通貨トランザクションの例示的な構成の概略図である。
【
図6】本発明のいくつかの実施形態に係る、口座ベースの暗号通貨サービスに用いられる階層(レイヤ)構造にある複数の仮口座の例示的な構造の概略図である。
【
図7A】本発明のいくつかの実施形態に係る、トランザクションベースの暗号通貨サービスに用いられる既定のツリー分布にしたがって予め生成される複数の署名付き暗号通貨トランザクションの例示的な階層ツリー構成の概略図である。
【
図7B】本発明のいくつかの実施形態に係る、トランザクションベースの暗号通貨サービスに用いられる既定のツリー分布にしたがって予め生成される複数の署名付き暗号通貨トランザクションの例示的な階層ツリー構成の概略図である。
【
図8A】本発明のいくつかの実施形態に係る、受取り口座に暗号通貨資金を移動させるための例示的な階層ツリー構成の例示的な利用の概略図である。
【
図8B】本発明のいくつかの実施形態に係る、受取り口座に暗号通貨資金を移動させるための例示的な階層ツリー構成の例示的な利用の概略図である。
【
図9】本発明のいくつかの実施形態に係る、個数を削減した署名付きトランザクションを用いて暗号通貨資金を1以上の受取り口座に移動させるために構築される例示的な階層構造の概略図である。
【発明を実施するための形態】
【0060】
本発明はそのいくつかの実施形態において、暗号通貨ウォレットからの暗号通貨資金の移動に関し、特に、アクセス制限暗号通貨ウォレットに物理的に関与せずにアクセス制限暗号通貨ウォレットから暗号通貨資金を移動させることに関するが、これに限定されない。
【0061】
本発明のいくつかの実施形態に係れば、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させる方法、システム及びコンピュータプログラム製品が提供される。アクセス制限暗号通貨ウォレットデバイスは、たとえば、ネットワークからデータを受け取ることができないコールドウォレット、オフラインのホットウォレット、オフラインのコンピュータノードの一群及び/又はその他であってもよく、このようなアクセス制限暗号通貨ウォレットデバイスは安全上の理由で安全な場所、たとえば、金庫、アクセスが制限された場所及び/又はその他に保管されることができ、これにより、アクセス不能にすることができる。暗号通貨プラットフォームすなわち暗号通貨サービス、たとえば、ビットコイン(Bitcoin)、ビットコインキャッシュ(Bitcoin cash)、イーサリアム(Ethereum)、リップル(Ripple)等は、暗号通貨プラットフォームによって定められる1以上のプロトコルにしたがって分散型台帳を管理する、互いに独立している複数のコンピュータノードによって統制されるブロックチェーンベースのプラットフォームである。
【0062】
アクセス制限暗号通貨ウォレットは、アクセス制限暗号通貨ウォレットの所有者(ユーザ)が将来暗号通貨を移動させたい可能性がある、1以上の特定の受取人に関連する1以上の受取り口座に暗号通貨資金を移動させるための引当(provisions)及び手段を生成するように動作されることができる。アクセス制限暗号通貨ウォレット、特にコールドウォレットは、送信限定の通信インタフェイス、たとえば、ネットワークに接続される1以上の他のリソースとの単方向(ワンウェイ)の送信限定の通信チャネルの働きを促進する単方向送信器を備える、隔離されたデバイスであってもよい。別の例では、アクセス制限暗号通貨ウォレットが、ネットワークデータを受け取ることができるホットウォレットであるとしても、安全な場所に保管される際には、ホットウォレットはネットワークから切断される。したがって、アクセス制限暗号通貨ウォレットは、ネットワークからのデータを受信不能にすることができ、ネットワーク上の悪意のある攻撃を高度に回避することができる。
【0063】
アクセス制限暗号通貨ウォレットは、アクセス制限暗号通貨ウォレットが安全に保管されアクセス不能になっている期間にわたって、各々が既定の部分暗号通貨額を含む複数のトランザクションにより高額(大量)の暗号通貨を移動させるための引当を生成するように動作されることができる。
【0064】
具体的には、アクセス制限暗号通貨ウォレットは、1以上の仮口座(provisional account)を作成するように構成及び動作されることができ、各仮口座は、関連するユーザが将来暗号通貨資金を移動させたい可能性がある1以上の受取人のうちの各々の受取人に割り当てられる。仮口座はその性質上、特定の使用を目的とする一時的な口座であるので、限られた期間だけ特定の受取人に割り当てられる。作成後、アクセス制限暗号通貨ウォレットは、アクセス制限暗号通貨ウォレットに関連する口座から各仮口座に既定の総額の暗号通貨(通常は必要十分な額の暗号通貨)を移動させるために1以上のトランザクションを送信することができる。
【0065】
次いで、アクセス制限暗号通貨ウォレットは各仮口座から1以上の受取人のうちの各1人の受取人に関連する受取り口座への暗号通貨の複数のトランザクションを生成することができる。アクセス制限暗号通貨ウォレットによって生成される複数の署名付きトランザクションの各々は、複数の既定の部分額の合計が、仮口座に最初に移動された暗号通貨の既定の総額を超えないようにされた、暗号通貨の総額の既定の部分額を移動させるように、構成することができる。したがって、各署名付きトランザクションは、各仮口座の口座識別子(ID)、各受取り口座の口座ID、暗号通貨の部分額、及びアクセス制限暗号通貨ウォレットデバイスの署名を少なくとも含む。署名付きトランザクションの1以上は、用いられる暗号通貨によって定められる1以上の追加データアイテム、フィールド、フラグ等をさらに含むことができる。アクセス制限暗号通貨ウォレットは、署名付きトランザクションの各々に対して、それに固有の秘密鍵を用いて署名してもよく、たとえば、本技術分野で知られているように、1以上のハッシュ関数を用いて各トランザクションのハッシュ値を計算することができる。署名付きトランザクションはそれにより、仮口座からそれぞれの受取り口座向けの暗号通貨の有効なトランザクションになり、秘密鍵はアクセス制限暗号通貨ウォレットにしか利用することができないので、いかなる他者によっても署名付きトランザクションの生成及び/又は複製を行なうことができない。
【0066】
アクセス制限暗号通貨ウォレットは次いで、複数の署名付きトランザクションをネットワーク接続デバイス、たとえば、ユーザに関連する、ネットワークに接続されるホットウォレットに送信することができる。ネットワーク接続デバイスは、ネットワークに接続される1つのデバイスによって、又は、ネットワーク接続デバイスとして共同して動作する、1以上のマルチパーティ計算(MPC)セッションに係わることができる複数のコンピュータノードの一群によって利用され得る。署名付きトランザクションはブロックチェーンに記録されず、むしろネットワーク接続デバイスによってのみ記憶される。
【0067】
これ以降は、アクセス制限暗号通貨ウォレットはもはや必要ではなく、アクセス制限暗号通貨ウォレットによって保管された暗号通貨資金の安全を確保するために安全な場所、たとえば、金庫、アクセスが制限された場所等に保管されてもよい。アクセス制限暗号通貨ウォレットを遠隔に保管するので、アクセス制限暗号通貨ウォレットは物理的にアクセス不能であり、したがって、アクセス制限暗号通貨ウォレットに関連するユーザ(所有者)が物理的に操作及び/又は関与することができない。
【0068】
このような場合であっても、アクセス制限暗号通貨ウォレットに関連する口座から仮口座の1以上に予め移動された暗号通貨資金及び/又はその一部を、1以上の指定された受取人のうちの各1人の受取人に関連する1以上の受取り口座それぞれに移動させることができる。これは、アクセス制限暗号通貨ウォレットによって予め生成された署名付きトランザクションの1以上をリアルタイムで送信するように、ネットワーク接続デバイスに対して指示、設定及び/又はその他の操作をすることによって行なうことができる。具体的には、ネットワーク接続デバイスは、特定の受取り口座に暗号通貨の特定の額を移動させる指示に応じて、移動させる必要がある特定の暗号通貨額に累積的に等しいか、これを超える部分額を含む署名付きトランザクションの1以上を選択することができる。
【0069】
このことは、安全な保管場所に留まるアクセス制限暗号通貨ウォレットに物理的に関与せずに、アクセス制限暗号通貨ウォレットに関連する口座から当初移動された暗号通貨資金(各仮口座に移動された総額を超えない)を移動させるようにネットワーク接続デバイスを操作することができることを意味する。
【0070】
任意選択的に、アクセス制限暗号通貨ウォレットによってネットワーク接続デバイスに送信される複数の署名付きトランザクションの署名を、1以上の秘密情報、たとえば、秘密値、秘密文字列、秘密番号等を用いて暗号化してもよい。したがって、署名付きトランザクションの1以上を1以上の受取り口座に送信するように指示及び/又は操作されると、ネットワーク接続デバイスは1以上の署名付きトランザクションを送信する前に、まず1以上の署名付きトランザクションの署名を復号しなければならない。署名付きトランザクションを暗号化するのに用いられる1以上の秘密情報は1又を複数の方法、たとえば、1以上のユーザによって安全に保持されるか、1以上の記憶デバイス、典型的にはアクセスに認証を要する保護されたデバイスに安全に保管される等により、安全に保管することができる。さらに、秘密情報の1以上を、コンピュータノードの一群に分散される複数の秘密情報シェアに分散することができ、コンピュータノードの集合は、対応する秘密情報シェアを用いて署名付きトランザクションの1以上を共同して復号するために1以上のMPCセッションに関わることができる。
【0071】
後で詳述するように、本発明の様々な実施形態によれば、たとえば、イーサリアム、リップル等の口座ベースの暗号通貨と、たとえば、ビットコイン、ビットコインキャッシュ等のトランザクションベース(UTXO)の暗号通貨を含むあらゆる種類の暗号通貨システム、すなわち暗号通貨サービスを実施上サポートするように、仮口座及び署名付きトランザクションの作成、生成、構成及び/又は調整を行なうことができる。
【0072】
さらに、予備的段階では、アクセス制限暗号通貨ウォレットは、アクセス制限暗号通貨ウォレットに関連する口座に部分額の少なくとも一部を返送するための複数の署名付き超過トランザクションを作成するように動作させることができる。
【0073】
遠隔で安全に保管され得るアクセス制限暗号通貨ウォレットに物理的に関与せずに、アクセス制限暗号通貨ウォレットに関連する口座から暗号通貨資金を移動させることは、多くの利益や効果を奏することができる。
【0074】
第1に、アクセス制限暗号通貨ウォレットに保管されている暗号通貨資金の既定の特定の額を、アクセス制限暗号通貨ウォレットに関与せずに移動に利用することができる一方、アクセス制限暗号通貨ウォレットに保管されている暗号通貨資金の残りの部分は、アクセス制限暗号通貨ウォレットを安全な場所に保管することによって高度に保全することができる。
【0075】
さらに、各仮口座に移動される暗号通貨資金の総額を制限及び/又は上限を課すことができるので、1以上の仮口座に保管される暗号通貨資金を喪失するリスクは、1以上の仮口座の各々に移動される制限された総額に限られる。これに加えて、署名付きトランザクションが1以上の仮口座から1以上の特定の受取人に関連する1以上の受取り口座のみに暗号通貨資金を移動させるために予め署名されるので、これらの暗号通貨資金が他の目的に不正に用いられないで済む。
【0076】
さらに、署名付きトランザクションが1以上の仮口座から1以上の特定の受取人に関連する1以上の受取り口座のみに暗号通貨資金を移動させるために予め署名されるので、1以上の仮口座に保管されている暗号通貨資金を1以上の他の口座に差し向けようとする潜在的な悪意のある者は、これらの署名付きトランザクションを変更することができない。最悪の場合、悪意のある者が1以上の受取り口座の1以上向けの署名付きトランザクションの1以上の送信を生じさせる場合がある。しかし、これらの1以上の受取り口座は、通常は長期の取引相手であり、したがって信頼できる特定の受取人に関連するので、移動された資金は喪失されないで済む。
【0077】
さらに、署名付きトランザクションの署名を暗号化することで、各署名付きトランザクションの送信にユーザが積極的に介在して参加し、さらなるセキュリティ及びセーフティレベルを付加する必要があるので、署名付きトランザクションの安全性とロバストネスとをさらに高めることができる。このことは、悪意のある者がネットワーク接続デバイス、あるいは受取り口座の1以上を危険にさらすことに成功した場合であっても、ユーザの介在を必要として高まった安全性により、悪意のある者が、危険にさらされた1以上の受取り口座向けの署名付きトランザクションの1以上の送信を生じさせるのを防止できることを意味する。
【0078】
上記に加えて、本開示で示されている方法、システム及びデバイスを、広範囲にわたる暗号通貨をサポートするように構成することができる。したがって、好評を得ており一般的に用いられている暗号通貨のすべてではないにしてもそのほとんどで、アクセス制限暗号通貨ウォレットに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から暗号通貨資金を移動させることを容易に適用し採用することができる。
【0079】
また、人間が介在せずに仮口座の1以上から暗号通貨資金を自動的に送信することができる。具体的には、ネットワーク接続デバイスは、1以上のトリガイベント、たとえば、既定の予定された時間、受取人の1以上によって行なわれた行為、ブロックチェーンネットワークで検出されたトランザクション及び/若しくは他のイベント等に応じて、署名付きトランザクションの1以上を自動的に送信することができる。
【0080】
本発明の少なくとも1つの実施形態を詳細に説明する前に、以下の説明に記載されかつ/又は図面及び/又は例に示されている構成の詳細及び構成要素の配置及び/又は方法に対する本発明の適用に、本発明が必ずしも限定されないことを理解するべきである。本発明の他の実施形態が可能であるし、本発明を様々な方式で実施したり実行したりすることができる。
【0081】
当業者であれば理解されるが、本発明の態様をシステム、方法やコンピュータプログラム製品として実施してもよい。したがって、本発明の態様については、全体がハードウェアの実施形態の形態をとってもよいし、全体がソフトウェアの実施形態(ファームウェア、常駐のソフトウェア、マイクロコードなどを含む)の形態をとってもよいし、ソフトウェア態様とハードウェア態様とを組み合せた実施形態をとってもよく、これは本開示において多くの場合、一般に「回路」、「モジュール」や「システム」と称される場合がある。さらに、本発明の態様は、1以上のコンピュータ可読媒体であって、コンピュータ可読媒体上で実施されるコンピュータ可読プログラムコードを有する1以上のコンピュータ可読媒体で実施されるコンピュータプログラム製品の形態をとってもよい。
【0082】
1以上のコンピュータ可読媒体の任意の組合せを利用してもよい。コンピュータ可読記憶媒体は、命令実行デバイスによって用いられる命令の保持及び記憶を行なうことができる有形のデバイスであってよい。コンピュータ可読媒体は、コンピュータ可読信号媒体であっても、コンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体はたとえば、電子、磁気、光学、電磁気、赤外線や半導体のシステム、装置やデバイスや、これらの任意の適切な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(例示的なリスト)には、1以上の配線を有する電気接続、ポータブルコンピュータディスケット(portable computer diskette)、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブル・リード・オンリー・メモリ(erasable programmable read-only memory:EPROMすなわちフラッシュメモリ)、光ファイバ、ポータブル・コンパクト・ディスク・リードオンリーメモリ(portable compact disc read-only memory:CD-ROM)、光記憶デバイス、磁気記憶デバイスやこれらの任意の適切な組合せが含まれる。本明細書で用いられる文脈では、コンピュータ可読記憶媒体は、命令実行システム、命令実行装置や命令実行デバイスによって用いられたり、これに関連して用いられたりするプログラムを含み、又は記憶することができる任意の有形の媒体であってもよい。
【0083】
コンピュータ可読信号媒体は、たとえばベースバンド又は搬送波の一部として伝播され、コンピュータ可読プログラムコードが具体化される、伝搬データ信号を含んでもよい。このような伝播信号は電磁気、光学、又はこれらの任意の適切な組合せを含むが、これらに限定されない、様々な形態のいずれかをとってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではない任意のコンピュータ可読媒体であって、命令実行システム、命令実行装置や命令実行デバイスによって用いられるか、これに関連して用いられるプログラムの通信、伝播、又は運搬を行なうことができる任意のコンピュータ可読媒体であってもよい。
【0084】
コンピュータ可読媒体上で具体化されるコンピュータ可読プログラム命令を含むコンピュータプログラムコードは、無線、有線、光ファイバケーブル、RFなどやこれらの任意の適切な組合せを含むが、これらに限定されない、任意の適切な媒体を用いて伝送されてもよい。
【0085】
本発明の態様の動作を実行するのに用いられるプログラムコードを、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語や同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む1以上のプログラミング言語の任意の組合せで記述してもよい。
【0086】
プログラムコードは、スタンドアローン型のソフトウェアパッケージとしてユーザのコンピュータで全体を実行しても、ユーザのコンピュータで一部を実行してもよいし、プログラムコードの一部をユーザのコンピュータで実行し、プログラムコードの一部をリモートコンピュータで実行してもよく、プログラムコードの全体をリモートコンピュータやサーバで実行してもよい。後者の場面では、リモートコンピュータはユーザのコンピュータに、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じて接続してもよいし、接続が外部コンピュータに(たとえば、インターネットサービスプロバイダを用いたインターネットを通じて)なされてもよい。プログラムコードは、コンピュータ可読記憶媒体からそれぞれのコンピュータ/処理デバイスにダウンロードされたり、ネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して外部コンピュータや外部記憶デバイスにダウンロードしたりすることが可能である。
【0087】
以下、本発明の実施形態に係る方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本発明の態様を説明する。フローチャート図及び/又はブロック図の各ブロックと、フローチャート図及び/又はブロック図中のブロックの組合せとは、コンピュータ可読プログラム命令によって実施することができることが分かる。
【0088】
図中のフローチャート及びブロック図は本発明の様々な実施形態に係るシステム、方法及びコンピュータプログラム製品の可能な実施例のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート又はブロック図中の各ブロックは、決められた1以上の論理的機能を実施するのに用いられる1以上の実行可能な命令を備える命令のモジュール、セグメント又は部分を表し得る。いくつかの他の実施例では、ブロックに記載されている機能は図に記載されている順序とは別の順序で行なわれてもよい。たとえば、連続する2つのブロックが示されている場合、実際には、これらがほぼ同時に実行されてもよいし、場合によっては関与する機能に応じてブロックが逆の順序で実行されてもよい。ブロック図及び/又はフローチャート図の各ブロックと、ブロック図及び/又はフローチャート図のブロックの組合せとを、決められた機能や作用を発揮したり専用ハードウェアとコンピュータ命令との組合せを実現したりする専用ハードウェアを基盤としたシステムによって実施することができることも分かる。
【0089】
図面を参照すると、
図1は、本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットと、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させるネットワーク接続デバイスと、によって実行される例示的なプロセスのフローチャートを示す。
【0090】
例示的なプロセス110は、暗号通貨を統制するコンピュータノードのネットワーク、たとえば、ブロックチェーンを管理するブロックチェーンネットワークによって支配される暗号通貨、たとえば、ビットコイン、ビットコインキャッシュ、イーサリアム、リップル等のデジタルウォレットとして用いられるデバイスである、アクセス制限暗号通貨ウォレット102によって実行することができる。
【0091】
特に、アクセス制限暗号通貨ウォレット102は典型的にはネットワークから切断されていてもよく、これにより、アクセス制限を可能にすることができ、たとえば、関連するユーザによって物理的にアクセス不能であり物理的に操作することができない安全な場所(たとえば金庫)に保管されることができる。アクセス制限暗号通貨ウォレット102がアクセス不能であり、物理的に操作できない状態である一方、アクセス制限暗号通貨ウォレット102に物理的に関与せずに(アクセスせずに)、アクセス制限暗号通貨ウォレット102に関連する1以上の暗号通貨口座から1以上の受取人の1以上の別の口座、(以下では、受取り口座と称する)に暗号通貨資金を移動させることが強く求められる場合がある。
【0092】
この目的を達成するために、アクセス制限暗号通貨ウォレット102は、受取り口座の1以上向けの暗号通貨の移動を可能にするための手段及び引当を予め生成するプロセス110を実行することができる。
【0093】
アクセス制限暗号通貨ウォレット102は、1以上の仮口座を作成するように構成されてもよく、各仮口座は、関連するユーザが将来暗号通貨資金を移動させたい可能性がある各受取人に割り当てられる。アクセス制限暗号通貨ウォレット102は、仮口座の1以上に既定の額の暗号通貨、典型的には相当額の暗号通貨を移動させることができる。各仮口座に移動される暗号通貨の額を総額と称する。
【0094】
アクセス制限暗号通貨ウォレット102は次いで、各仮口座から対応する受取り口座向けの暗号通貨の複数のトランザクションを生成することができる。複数のトランザクションの各々について、アクセス制限暗号通貨ウォレット102によって、その固有の秘密鍵を用いて適切に署名が行なわれるので、各トランザクションは仮口座から受取り口座の1以上の各々向けの暗号通貨の有効なトランザクションになる。アクセス制限暗号通貨ウォレット102は、最初に移動された暗号通貨の総額のうちの、既定の部分額を移動させるのに用いられる複数の署名付きトランザクションの各々を、複数の既定の部分額の合計が既定の総額を超えないようにして、生成することができる。
【0095】
アクセス制限暗号通貨ウォレット102は次いで、複数の署名付きトランザクションをネットワーク接続デバイス104に送信することができ、ネットワーク接続デバイス104は、ネットワークに接続される1つのデバイスによって利用されてもよく、又は、ネットワーク接続デバイス104として共同して動作するために1以上のマルチパーティ計算(MPC)セッションに係わることができる複数のコンピュータノードの一群によって利用されてもよい。
【0096】
例示的なプロセス120を実行するネットワーク接続デバイス104は、複数の署名付きトランザクションを受け取ることができる。ネットワーク接続デバイス104はさらに、署名付きトランザクションの1以上を受取り口座の1以上に移動させることができる。具体的には、アクセス制限暗号通貨ウォレット102に関連するユーザが、1以上の暗号通貨トランザクションを受取り口座に移動させるようにネットワーク接続デバイス104に指示することができる。指示に応じて、ネットワーク接続デバイス104は、暗号通貨を受取り口座に移動させるためにアクセス制限暗号通貨ウォレット102によって予め作成された署名付きトランザクションの1以上を送信することができる。具体的には、ネットワーク接続デバイス104は、1以上の署名付きトランザクションの部分額に応じて、部分額がユーザに移動を指示された額以上であるように選択した前記署名付きトランザクションを送信することができる。
【0097】
したがって、アクセス制限暗号通貨ウォレット102に物理的に関与せずに、ホットウォレットとして機能するネットワーク接続デバイス104を動作させて、予め作成された1以上の署名付きトランザクションを送信することによって、アクセス制限暗号通貨ウォレット102によって支配されている1以上の口座に保管されている暗号通貨を他の口座に、後でリアルタイムに移動することができる。さらに、署名付きトランザクションを用いることで、アクセス制限暗号通貨ウォレット102によって定義され指定された1以上の受取人だけに暗号通貨資金を移動させることができる。
【0098】
図2も参照すると、これは、本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずに、アクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させる例示的なシステムの概略図である。
【0099】
例示的なシステム200は、関連するユーザ202の暗号通貨資金を保管するように構成されるアクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットを含むことができる。
【0100】
暗号通貨サービスは、複数のコンピュータノード204を備える共同体ネットワーク(community network)、たとえば、暗号通貨トランザクションの追跡、ログ、及び記録を行なう分散型台帳ブロックチェーンを管理するブロックチェーンネットワークによって統制されることができる。
【0101】
コンピュータノード204、たとえば、コンピュータ、サーバ、処理ノード、ネットワークノード、クラウドコンピューティングリソース、スマートフォン、タブレット等は、1以上の有線ネットワーク及び/又は無線ネットワーク、たとえば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、地域ネットワーク(Municipal Area Network:MAN)、無線LAN(WLAN)、セルラーネットワーク、インターネット等を含むネットワーク206を介して互いに通信することができる。
【0102】
本発明のいくつかの実施形態によれば、アクセス制限暗号通貨ウォレット102は隔離されたデバイスであってもよく、たとえば、特にネットワーク206からデータを受け取るという点でネットワーク206から隔離された専用(proprietary)デバイス、カスタムデバイス等であってもよい。特に、隔離されたデバイスであることで、関連するユーザ202の暗号通貨資金を保管するユーザ202の1以上の口座に関連するコールドウォレットの働きを促進することができる。コールドウォレットは、少なくとも受取り側でネットワーク230から切断されることで隔離される隔離デバイスであるので、コールドウォレットは、その記憶された1以上の口座のアクセスと支配を奪取し、場合によってはコールドウォレットから暗号通貨資金を移動させて暗号通貨資金を盗取するために、コールドウォレットに侵入するようなネットワークベースの悪意のある攻撃を高度に回避することができる。
【0103】
アクセス制限暗号通貨ウォレット102は、送信限定の通信機能を持つ隔離デバイスであってもよく、したがって、アクセス制限暗号通貨ウォレット102は、1以上の他のデバイスとの単方向(ワンウェイ)の安全な通信チャネルの働きを促進する単方向送信器210と、プロセス110などのプロセスを実行する1以上のプロセッサ212と、プログラムコード及び/又はデータを記憶するストレージ214(プログラム記憶部)とを備えてもよい。隔離デバイスはデータを受け付ける1以上のインタフェイスをさらに含んでもよく、具体的には、限られたデータを受け付け、典型的にはごく少量のデータを受け付ける安全な容量制限入力インタフェイス216をさらに含んでもよい。
【0104】
単方向送信器210は、データ送信に限定して構成され、したがってデータを受信することができない1以上の有線インタフェイス、無線インタフェイス及び/又は光送信インタフェイスを含んでもよい。単方向送信器210から送られたデータを侵害することが不可能、及び/又は検出可能であり報告されるように、単方向送信器210は物理的な耐タンパー性を持つ送信器であってもよい。たとえば、単方向送信器210は、データを光学的に符号化するように構成される光ベースの(たとえば、赤外線、レーザなど)送信器を含んでもよい。特に、単方向送信器210は、潜在的に悪意のある(盗聴)デバイスによって傍受されることのない、特定の受信器に向けた指向性光パターンを送信してもよい。別の例では、単方向送信器210は有線送信器及び/又は無線送信器を含んでもよく、たとえば、シリアル送信器、有線及び/又は無線を用いてデータを送信するように構成されるラジオ周波数(RF)送信器を含んでもよい。別の例では、単方向送信器210は、コンピュータノード204の1以上に送信するためにスキャンされて復元され得るQRコード(登録商標)符号化データを表示するディスプレイ、たとえば、スクリーン、プロジェクタ等を含んでもよい。別の例では、単方向の安全な通信チャネルを、ハードウェア記憶媒体を用いて実施してもよく、たとえば、CD-ROMディスク等を用いて実施してもよく、好ましくは一回使い捨てディスクを用いて実施してもよい。このような場合、単方向送信器210はハードウェア記憶媒体へのデータの書き込み、焼つけ及び/又はプログラミングを行なうのに適する媒体アクセスインタフェイスを含んでもよい。その後、焼つけ済みのハードウェア記憶媒体をコンピュータノード204の1以上に提供することができるので、隔離デバイス202からコンピュータノード204にデータを安全に移動させることができる。
【0105】
さらに、単方向送信器210は暗号化されたデータを送信することができるので、信頼性の高い安全な単方向(ワンウェイ)の通信チャネルを形成することができる。
【0106】
1以上のプロセッサ212(ホモジニアス又はヘテロジニアスプロセッサ)は、クラスタとして、及び/又は1以上の複数コアプロセッサとして並列処理を行なうように構成される、1以上の処理ノードを含んでもよい。ストレージ214は、1以上の非一時的メモリデバイス、すなわち永続的な不揮発デバイス、たとえば、ROM、フラッシュアレイ、ハードドライブ、SSD、磁気ディスク等のいずれか、及び/又は1以上の揮発デバイス、たとえば、RAMデバイスキャッシュメモリ当を含んでもよい。
【0107】
1以上のプロセッサ212は、たとえば、プロセス、スクリプト、アプリケーション、エージェント、ユーティリティ、ツール等の1以上のソフトウェアモジュールを実行してもよく、ソフトウェアモジュールの各々はストレージ214などの非一時的媒体(プログラム記憶部)に記憶され、プロセッサ212などの1以上のプロセッサによって実行される複数のプログラム命令を備えてもよい。
【0108】
さらに、口座管理部220は隔離デバイス202と一体化され、及び/又は接続される1以上のハードウェア要素、たとえば、回路、コンポーネント、集積回路(IC)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタルシグナルプロセッサ(DSP)等を利用し、及び/又は支援することができる。一例では、口座管理部220は、本技術で知られているように、1以上の暗号鍵、たとえば、秘密鍵と公開鍵とを含む非対称暗号化鍵ペアを作成するのに乱数発生器を用いてもよい。別の例では、口座管理部220は1以上の機能、たとえば、メッセージ署名、キーインジェクション、データベース暗号化等を利用するためにハードウェアセキュリティモジュール(Hardware Security Module:HSM)を用いてもよい。
【0109】
したがって、1以上のプロセッサ212は、1以上のソフトウェアモジュール、ハードウェアモジュールの1以上及び/又はこれらの組合せによって利用される1以上の機能モジュールを実行することができる。たとえば、1以上のプロセッサ212は、プロセス110を実行するために口座管理部アプリケーション220を実行することができる。
【0110】
容量制限入力インタフェイス216は、手動及び/又は自動で挿入することができる限られたデータ受け付け、典型的にはごく少量のデータを受け付けるように構成されてもよい。一例では、容量制限入力インタフェイス216は、ユーザ202と対話して、関連するユーザ202によって打ち込まれたデータの文字列を受け付けるために、たとえば、キーボード、タッチ画面等の1以上のユーザインタフェイスを含んでもよい。別の例では、容量制限入力インタフェイス216は、データ、たとえば、手動及び/又は自動で挿入された1以上の穿孔カードに符号化された文字列を読み込むように構成される、コンピュータ穿孔カードリーダを含んでもよい。ユーザインタフェイスはユーザ202にデータを出力するために1以上の出力インタフェイス、たとえば、ディスプレイ、スピーカ、イヤホン等をさらに含んでもよい。
【0111】
一方で、本発明のいくつかの実施形態によれば、関連するユーザ202の暗号通貨資金を保管するために、ユーザ202の1以上の口座に関連するホットウォレットデバイス、たとえば、1以上のプロセッサを備えるコンピュータ、サーバ、スマートフォン、タブレット及び/又はその他の任意のコンピュータデバイスを用いて、アクセス制限暗号通貨ウォレット102を実施してもよい。アクセス制限暗号通貨ホットウォレット102は、いくつかの例外はあるが、ネットワーク接続デバイス104に酷似しているといえる。例えば、ネットワーク206と通信すると当然考えられるので、アクセス制限暗号通貨ホットウォレット102は、例えば、ネットワーク206にデータを送信しネットワーク206からデータを受信する、コンピュータノード204の1以上と通信するツーウェイネットワークインタフェイスを含んでもよい。ただし、何らかの理由により、ユーザ202は、たとえば、ホットウォレットがネットワーク206から分離される安全でアクセス不能な場所にホットウォレットを置くことによってホットウォレットを保全するために、ホットウォレットをネットワーク206から切断することができる。別の例では、アクセス制限暗号通貨ホットウォレット102は、大容量のデータの送信及び/又は受信を行なう1以上の大容量インタフェイス、たとえば、ユニバーサルシリアルバス(USB)ポート、RFインタフェイス等を含んでもよい。
【0112】
さらに、本発明のいくつかの実施形態によれば、アクセス制限暗号通貨ウォレット102は、プロセス120を実行するために、当分野で既知の1以上のMPCプロトコル、たとえばシャミア秘密分散法等を用いて、1以上のMPCセッションに関与してプロセス100を実行することができるコンピュータノード204などのコンピュータノードの一群によって、利用され、及び/又は実施されることができる。特に、プロセス100を実行した後、たとえば、ネットワーク206からコンピュータノードが分離される安全でアクセス不能な場所に置くことによってコンピュータノードを保全するために、アクセス制限暗号通貨ウォレット102を利用するコンピュータノードの一群をネットワーク206から切断することができる。
【0113】
システムは、ネットワーク206に接続され、1以上のプロセッサを備える、ネットワーク接続デバイス104などのネットワーク接続デバイス、たとえば、コンピュータ、サーバ、スマートフォン、タブレット、及び/又はその他任意のコンピュータデバイスをさらに含んでもよい。ネットワーク接続デバイス104はユーザ202に関連づけてられてもよい。例えば、ネットワーク接続デバイス104はユーザ202のホットウォレットであってもよい。別の例では、ネットワーク接続デバイス104は単に、ユーザ202によって用いられ、操作されるネットワーク接続デバイスであってもよい。
【0114】
ネットワーク接続デバイス104は、ネットワーク206に接続するネットワークインタフェイスであって、ネットワーク206に接続される1以上のネットワーク接続リソース、たとえばコンピュータノード204の1以上と通信する、ネットワークインタフェイスを含んでもよい。ネットワーク接続デバイス104は、プロセス120を実行する1以上のプロセッサ212などの1以上のプロセッサと、コード及び/又はデータを記憶するストレージ214(プログラム記憶部)などのストレージも含んでもよい。ネットワーク接続デバイス104は1以上のハードウェアモジュール、たとえば、回路、コンポーネント、IC、ASIC、FPGA、DSP等をさらに含んでもよい。
【0115】
したがって、ネットワーク接続デバイス104、具体的にはネットワーク接続デバイス104の1以上のプロセッサは、1以上のソフトウェアモジュール、1以上のハードウェアモジュール1以上、及び/又はこれらの組合せによって利用される1以上の機能モジュールを実行することができる。たとえば、ネットワーク接続デバイス104は、プロセス120を実行するためにトランザクションコントローラ222を実行することができる。
【0116】
任意選択的に、ネットワーク接続デバイス104は、たとえばシャミア秘密分散法等のプロセス120を実行するために、公知の1以上のMPCプロトコルを用いる1以上のMPCセッションに関与することができる、複数のネットワーク接続コンピュータノード204の部分集合によって実施される。
【0117】
上述したように、単方向送信器210によって支援される単方向の安全な通信チャネルを用いてアクセス制限暗号通貨ウォレット102によって送信されるデータは、暗号化することができる。1以上の暗号化スキームを適用することで、アクセス制限暗号通貨ウォレット102は、ネットワーク206に接続される1以上のネットワーク接続リソース、たとえばコンピュータノード204の1以上の各々と、単方向の安全で信頼性の高いチャネルを確立することができる。例えば、アクセス制限暗号通貨ウォレット102は、コンピュータノード204の少なくともいくつかの各々に一意に関連する暗号化・復号化鍵ペアを用いて、それぞれのコンピュータノード204に送信されるデータを暗号化してもよい。アクセス制限暗号通貨ウォレット102をこのような暗号化・復号化鍵ペアに関連づけて、当分野で知られているように、コンピュータノード204がアクセス制限暗号通貨ウォレット102によって送信されたデータの検証及び/又は認証を行なうことを可能にしてもよい。暗号化・復号化鍵ペアはたとえば、秘密鍵及び公開鍵等を含む非対称暗号技術鍵ペアを含んでもよい。各コンピューティングノード204とアクセス制限暗号通貨ウォレット102とに関連する非対称暗号技術鍵ペアの公開鍵は公開されて共有される一方、非対称暗号技術鍵ペアの秘密鍵は秘密の状態に保たれるので、その秘密鍵を用いるそれぞれのデバイスしか利用できず、従って、このデバイスは当該デバイス宛のメッセージを復号することができる唯一のデバイスである。
【0118】
簡潔にするために、本明細書ではプロセス110及び120並びにシステム200は、1人のユーザ202に関連する1つのアクセス制限暗号通貨ウォレット102と、アクセス制限暗号通貨ウォレット102をサポートする1つのネットワーク接続デバイス104とについて説明されている。しかし、これは限定的に解釈されるべきではなく、プロセス110及び120並びにシステム200は、対応するユーザ202に関連する複数のアクセス制限暗号通貨ウォレット102をサポートし、1以上のネットワーク接続デバイス104によってサポートされるように拡張することができる。
【0119】
また、明確にするために、アクセス制限暗号通貨ウォレット102及びネットワーク接続デバイス104が、プロセス110及び120をそれぞれ実行するように後述されている。しかし、アクセス制限暗号通貨ウォレット102の1以上のプロセッサ212によって実行される口座管理部220が実際にプロセス110を実行する機能モジュールである一方、ネットワーク接続デバイス104の1以上のプロセッサによって実行されるトランザクションコントローラ222が実際にプロセス120を実行する機能モジュールであることは明らかである。
【0120】
112に示されているように、アクセス制限暗号通貨ウォレット102によって実行されるプロセス110は、1以上の仮口座を作成することから開始され、各仮口座は、ユーザ202が将来に暗号通貨資金を移動させたい可能性がある各受取人に割り当てられる。
【0121】
仮口座はその性質上、特定の使用を目的とする一時的な口座であるので、限られた期間だけ特定の受取人に割り当てられる(関連づけられる)。しかし、任意選択的に、アクセス制限暗号通貨ウォレット102は、仮口座の1以上として、アクセス制限暗号通貨ウォレット102に関連する1以上の現存の口座(主要口座)を設定してもよい。このような場合、アクセス制限暗号通貨ウォレット102は新規の口座を作成しないで済み、アクセス制限暗号通貨ウォレット102は仮口座の1以上として、アクセス制限暗号通貨ウォレット102に関連する1以上の現存の口座を用いるだけでよい。
【0122】
114に示されているように、アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連する1以上の口座(元の口座)から各仮口座に暗号通貨の既定の総額のトランザクションを送信することができる。既定の総額のトランザクションはブロックチェーン内のコンピュータノード204により記録される。
【0123】
通常、総額は相当に大きいことがあり、それは、アクセス制限暗号通貨ウォレット102が隔離状態にあり、安全な場所、たとえば、アクセス制限暗号通貨ウォレット102が物理的にアクセス不能である、すなわち、アクセス制限暗号通貨ウォレット102にユーザが物理的に関与しない、例えば、金庫、制限が課された場所等に保管されている間の比較的長い期間にわたって、暗号通貨資金をそれぞれの受取人に移動させるために当該総額が用いられ得るからである。
【0124】
116に示されているように、アクセス制限暗号通貨ウォレット102は、各仮口座から、各受取人に割り当てられた各受取り口座に暗号通貨の複数の既定の部分額を移動させるための、複数の署名付きトランザクションを生成することができる。このことは、アクセス制限暗号通貨ウォレット102が、受取人にそれぞれ割り当てられた仮口座毎に、各仮口座から各受取り口座に暗号通貨の既定の部分額を移動させるための複数の署名付きトランザクションの集合の各々を生成することができることを意味する。
【0125】
アクセス制限暗号通貨ウォレット102によって生成される複数の署名付きトランザクションの各々は、それぞれの仮口座に最初に移動された暗号通貨の総額のうちの既定の部分額を、複数の既定の部分額の合計が既定の総額を超えないようにして移動させるように、構成されることができる。各署名付きトランザクションは、各仮口座の口座識別子(ID)と、各受取り口座の口座IDと、暗号通貨の既定の部分額と、アクセス制限暗号通貨ウォレットデバイス102の署名と、を少なくとも含むことができる。署名付きトランザクションの1以上は、用いられる暗号通貨によって定められる1以上の追加データアイテム、フィールド、フラグ等をさらに含むことができる。アクセス制限暗号通貨ウォレット102は、署名付きトランザクションの各々に対して、それに一意の秘密鍵を用いて署名してもよく、たとえば、本技術分野で知られているように、1以上のハッシュ関数を用いて各トランザクションのハッシュ値を計算することができる。したがって、署名付きトランザクションは、仮口座からそれぞれの受取り口座向けの暗号通貨の有効なトランザクションであり、秘密鍵はアクセス制限暗号通貨ウォレットしか利用することができないので、いかなる他者によってもこれを生成及び/又は複製することができない。
【0126】
各仮口座に割り当てられる複数の部分額は、1以上の規則にしたがって既定されてもよく、例えば、部分額の既定の粒度、たとえば、1暗号通貨単位分、2暗号通貨単位分、3暗号通貨単位分などから、ある程度大きな暗号通貨単位分までの刻みにしたがって既定してもよい。さらに、詳細に後述されるように、1以上の署名付きトランザクションがそれぞれの受取り口座に送信されるまで、複数の既定の部分額は同時に有効であってもよい。ただし、それぞれの仮口座からそれぞれの受取り口座に移動させられる複数の部分額の合計は、それぞれの仮口座に保管される暗号通貨の総額を超えることはできない。
【0127】
さらに、アクセス制限暗号通貨ウォレット102は、暗号通貨の1以上の既定の額を、仮口座の1以上からアクセス制限暗号通貨ウォレット102に関連する口座に返送するための、複数の署名付き超過トランザクションをさらに生成してもよい。これにより、1以上の仮口座に保管されている暗号通貨資金、たとえば、超過額、余剰額、最終残高(final balance)等を、アクセス制限暗号通貨ウォレット102の口座に返送することができる。
【0128】
任意選択的に、アクセス制限暗号通貨ウォレット102が複数の仮口座を作成し、各仮口座が複数の受取り口座のうちの対応する受取り口座に割り当てられた場合、アクセス制限暗号通貨ウォレット102は、仮口座の1以上から仮口座の別の1以上に暗号通貨の既定の額を移動させるための複数の署名付きトランザクションをさらに生成してもよい。これにより、アクセス制限暗号通貨ウォレット102が追加の署名付きトランザクションを生成する必要なく、仮口座間で暗号通貨資金を動的に移動させることができる。
【0129】
仮口座間での暗号通貨の移動を1以上の方法、技術及び/又は実施例を用いて実施してもよい。たとえば、アクセス制限暗号通貨ウォレット102は、1以上の特定の仮口座から1以上の他の仮口座に暗号通貨の既定の額を移動させるための複数の署名付きトランザクションを生成してもよい。
【0130】
例えば、3つの仮口座が存在し、各仮口座が各受取人に割り当てられるとする。アクセス制限暗号通貨ウォレット102は、第1の仮口座から第2及び第3の仮口座に暗号通貨の既定の額を移動させるための複数の署名付きトランザクションを生成してもよい。アクセス制限暗号通貨ウォレット102はさらに、第2の仮口座から第1及び第3の仮口座に暗号通貨の既定の額を移動させるための複数の署名付きトランザクションを生成してもよく、第3の仮口座から第1及び第2の仮口座に暗号通貨の既定の額を移動させるための複数の署名付きトランザクションをさらに生成してもよい。このようなポイントツーポイント実施によって柔軟性を増すことができる一方で、アクセス制限暗号通貨ウォレット102は非常に多数の署名付きトランザクションを生成し得る。
【0131】
別の例では、アクセス制限暗号通貨ウォレット102はトークンリングのような手法を適用してもよく、この手法において、アクセス制限暗号通貨ウォレット102は暗号通貨の既定の額を第1の仮口座から第2の仮口座に移動させ、第2の仮口座から第3の仮口座に移動させ、第3の仮口座から第1の仮口座に移動させて戻すための複数の署名付きトランザクションを生成してもよい。このトークンリング実施例により、アクセス制限暗号通貨ウォレット102によって生成されるsingedトランザクションの個数を大幅に削減することができる一方、複数のトランザクションによって仮口座間で暗号通貨資金をリアルタイムで動かすことが必要である場合がある。たとえば、第1の仮口座から第3の仮口座に暗号通貨の所定の額を動かすためには、第1の仮口座から第2の仮口座に暗号通貨を移動させるための1以上の署名付きトランザクションを送信した後に、第2の仮口座から第3の仮口座に暗号通貨を移動させるための1以上のさらなる署名付きトランザクションを送信することができる。
【0132】
アクセス制限暗号通貨ウォレット102は、複数の仮口座間で暗号通貨を移動させるために生成される署名付きトランザクションの部分額を比較的粗い粒度にしたがって設定して、この署名付きトランザクションの個数を削減することができる。粒度を粗くすると、仮口座間で動かすことができる額の柔軟性が低下するおそれがあるが、これらすべての仮口座がアクセス制限暗号通貨ウォレット102に関連し、アクセス制限暗号通貨ウォレット102によって所有されるので、高い柔軟性を要し微細な粒度を要し得る1以上の受取り口座に暗号通貨を移動させるために生成される署名付きトランザクションと比較して、上記を軽微な制限と考えることができる。
【0133】
任意選択的に、アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクションの少なくとも一部を段階的なプロセスで生成してもよい。たとえば、アクセス制限暗号通貨ウォレット102は、1以上の受取り口座が通知される前に、署名付きトランザクションを作成し、インプット額とアウトプット額とを設定し、任意選択的に、暗号通貨サービスプロトコルによって定められる1以上の追加のデータアイテム、たとえば、フィールド、フラグ等を設定してもよい。たとえばユーザ202によって受取り口座が提供されると、アクセス制限暗号通貨ウォレット102は、受取り口座ID、たとえば公開鍵を含ませることによって署名付きトランザクションの生成を完了させ、署名付きトランザクションに署名してもよい。最初の工程にユーザが介在せずに段階的に署名付きトランザクションを生成することで、1以上の受取り口座の詳細が提供された後に署名付きトランザクションの生成を完了する時間を大幅に短縮することができる。
【0134】
118に示されているように、アクセス制限暗号通貨ウォレット102は、仮口座毎に生成された複数の署名付きトランザクションをネットワーク接続デバイス104に送信することができる。署名付きトランザクションはブロックチェーンに記録されず、むしろネットワーク接続デバイス104によってのみ記憶される。その後、暗号通貨資金を1以上の受取り口座の1以上に移動させるように操作、命令及び/又は要求がなされると、リアルタイムで、ネットワーク接続デバイス104は署名付きトランザクションの1以上を送って暗号通貨移動を行なうことができる。以下、これについて詳細にさらに説明する。
【0135】
アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクションを安全な単方向送信器210を介してネットワーク接続デバイス104に送信することができる。
【0136】
上述したように、ネットワーク接続デバイス104はネットワーク206に接続される1つのデバイスによって利用されることができる。任意選択的に、ネットワーク接続デバイス104は、ネットワーク206に接続されたコンピュータノード204などの複数のコンピュータノードの一群によって利用されてもよく、複数のコンピュータノードの一群は1以上のマルチパーティ計算(MPC)セッションに係わって、プロセス120を共同して実行し、仮口座の1以上から1以上の受取り口座の各々に暗号通貨資金を移動させるための複数の署名付きトランザクションの1以上を送信してもよい。複数のコンピュータノード204の一群は公知の1以上のMPCアルゴリズム、プロトコル及び/又は技術、たとえばシャミア秘密分散法等を用いて1以上のMPCセッションに関与してもよい。これにより、ネットワーク接続デバイス104をコンピュータノード204の一群として実施することで、いずれかの1つのデバイスが単独で、一群の同意を得ることなく署名付きトランザクションのいずれかを送信することを防止することができるので、1以上の仮口座に保管された暗号通貨資金の安全性と攻撃耐性とを大幅に高めることができる。
【0137】
したがって、ネットワーク接続デバイス104が1つのデバイスによって利用される場合、アクセス制限暗号通貨ウォレット102は署名付きトランザクションを1つのデバイスであるネットワーク接続デバイス104に送信するために、ネットワーク206を用いてネットワーク接続デバイス104との間で確立される安全チャネルを介して送信すること、及び/又はネットワーク接続デバイス104に直接接続することによって送信することのいずれかを行なうことができる。ネットワーク接続デバイス104がコンピュータノードの一群によって利用される場合、アクセス制限暗号通貨ウォレット102は、コンピュータノード204の一群を接続するネットワーク206に接続された安全な単方向送信器210を介して署名付きトランザクションを送信することができる。
【0138】
これ以降、アクセス制限暗号通貨ウォレット102はもはや必要ではなく、アクセス制限暗号通貨ウォレット102によって保管された暗号通貨資金の安全を確保するためにアクセスが制限された場所、たとえば、金庫、制限が課された場所等にアクセス制限暗号通貨ウォレット102を保管してもよい。アクセス制限暗号通貨ウォレット102を遠隔に隔離して保管するので、アクセス制限暗号通貨ウォレット102を物理的にアクセス不能にすることができ、したがって、ユーザ202が物理的に操作することができず、かつ/又は関与することができない。
【0139】
122に示されているように、ネットワーク接続デバイス104によって実行されるプロセス120は、受取り口座の1以上に割り当てられる仮口座の1以上に暗号通貨資金、具体的には複数の既定の部分額を移動させるためにアクセス制限暗号通貨ウォレット102によって生成された複数の署名付きトランザクションを受信することから開始される。
【0140】
124に示されているように、ネットワーク接続デバイス104は、仮口座の1以上から1以上の受取人の各々に関連する1以上の受取り口座の各々に暗号通貨資金を移動させるための署名付きトランザクションの1以上を送信することができる。
【0141】
たとえば、ネットワーク接続デバイス104は、受取人の1以上に暗号通貨を移動させたい、アクセス制限暗号通貨ウォレット102に関連するユーザ202から受け取った指示に応じて、署名付きトランザクションの1以上を送信してもよい。別の例では、1以上のトリガイベント、たとえば、既定の予定された時間、受取人の1以上によって行なわれた行為、ブロックチェーンネットワークで検出されたトランザクション及び/又は他のイベント等に応じて、ネットワーク接続デバイス104が自動的に署名付きトランザクションの1以上を送信してもよい。
【0142】
ネットワーク接続デバイス104は、ネットワーク接続デバイス104が各受取り口座に移動させるように要求されている暗号通貨の特定の額に対して選択された1以上の署名付きトランザクションの1以上の部分額に応じて、署名付きトランザクションの1以上を送信することを選択してもよい。特に、ネットワーク接続デバイス104は、既定の部分額、具体的には、移動させる必要がある特定の暗号通貨額以上の累積的な既定の部分額を含む複数の署名付きトランザクションの1以上を選択する。
【0143】
図3を参照すると、これは、本発明のいくつかの実施形態に係る、アクセス制限暗号通貨ウォレットデバイスに物理的に関与せずにアクセス制限暗号通貨ウォレットに関連する口座から1以上の他の口座に暗号通貨資金を移動させる例示的なシーケンスの概略図である。
【0144】
例示的なシーケンス300は、アクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットが、アクセス制限暗号通貨ウォレット102に対する物理的なアクセス及び操作を行なわずに特定の受取り口座314に暗号通貨資金を将来移動させるための引当及び手段を予め生成する、プロセス110などのプロセスを実行するシーケンスを示す。プロセス120などのプロセスを実行するネットワーク接続デバイス104などのネットワーク接続デバイスは、アクセス制限暗号通貨ウォレット102によって生成された引当と手段とを用いて、アクセス制限暗号通貨ウォレット102に対する物理的な関与及び操作を必要とせずに、特定の受取り口座314に暗号通貨資金を移動させるよう、たとえばユーザ202などのユーザから後で(リアルタイムで)指示を受けることができる。
【0145】
シーケンス300から分かるように、まず、アクセス制限暗号通貨ウォレット102は、プロセス110の工程112及び114に示されるように、アクセス制限暗号通貨ウォレット102に関連する元口座310から特定の受取人に割り当てられた仮口座312に暗号通貨の総額を移動させるための1以上のトランザクションを送信することができる(320)。これらのトランザクションは通常、暗号通貨サービスを統制するように管理されるブロックチェーン304に記録されることができる。
【0146】
その後、プロセス110の工程116及び118に示されるように、アクセス制限暗号通貨ウォレット102は、仮口座312から特定の受取人に関連する受取り口座314に総額の既定の部分額を移動させるために生成された複数の署名付きトランザクションを、ネットワーク接続デバイス104に送信することができる(322)。具体的には、特定の受取人によって用いられる暗号通貨ウォレット302によって受取り口座314の関連づけ及び管理を行なうことができる。
【0147】
プロセス120の工程124に示されるように、通常はユーザに関連するネットワーク接続デバイス104は、仮口座312から受取り口座314に署名付きトランザクションによって定められたそれぞれの部分額を移動させるために、この署名付きトランザクションの1以上を送信する(330)ように、予定されたトリガイベント等によって、指示、トリガー及び/又はその他操作を、たとえばユーザ202から後で受けることができる。これらのトランザクションの1以上はブロックチェーン304に記録されることができる。しかし、本発明のいくつかの実施形態では、たとえば、ペイメントチャネル2-2マルチシグ仮口座312のために中間署名付きトランザクションが生成される場合、トランザクションのいくつかをブロックチェーン304に記録しなくてもよく、上で詳述したように、トランザクションのいくつかで、以前に送信された中間トランザクションを置き換えてもよい。
【0148】
任意選択的に、仮口座312を閉鎖する場合、ネットワーク接続デバイス104は、仮口座312に残っている超過暗号通貨をアクセス制限暗号通貨ウォレット102に関連する口座、たとえば元口座310に移動するために、アクセス制限暗号通貨ウォレット102によって予め生成された1以上の署名付き超過トランザクションを送信する(332)。
【0149】
アクセス制限暗号通貨ウォレット102によって工程320及び322を予め実行し、受取り口座314に暗号通貨資金を将来移動するための引当及び手段を生成してもよいことは明らかである。しかし、工程330及び332は、アクセス制限暗号通貨ウォレット102に対する物理的なアクセス、関与及び/又操作を必要とすることなく、従って、アクセス制限暗号通貨ウォレット102を安全な場所に保管することができるように、暗号通貨を受取り口座314に移動させるために生成された引当を用いるように構成されるネットワーク接続デバイス104によって後で、リアルタイムで実行されることもできる。
【0150】
1以上の仮口座は、システム200のアクセス制限暗号通貨ウォレット102によって適用されるそれぞれの暗号通貨サービスに適用可能な(すなわち、利用可能な、サポートされた)1以上の技術、アルゴリズム、規定及び/又は特徴にしたがって作成されてもよい。さらに、署名付きトランザクションはこれに応じて、システム200で用いられる仮口座及び/又は暗号通貨サービスの動作パラメータ、構成パラメータ及び/又は機能パラメータ、特徴及び/又は属性の1以上に基づいて生成されてもよい。さらに、1以上の仮口座から受取り口座に暗号通貨資金を移動させるために送信される署名付きトランザクションを、署名付きトランザクションの構成、設定及び/又は実施に応じて選択してもよい。
【0151】
第1の例示的な実施形態では、アクセス制限暗号通貨ウォレット102が、仮口座の1以上を本分野で既知のペイメントチャネル、特に2-2マルチシグ口座(ウォレット)を用いて作成してもよく、2-2マルチシグ口座では、アクセス制限暗号通貨ウォレット102が一方の署名者であり、各受取人が他方の署名者である。各2-2マルチシグ口座は、それぞれの仮口座から、各受取人に関連する受取り口座向けに作成され、ブロックチェーンに記録される各トランザクションが、送信者すなわちアクセス制限暗号通貨ウォレット102と、受取り者すなわち各受取人との双方によって署名されることを要求する。
【0152】
任意選択的に、アクセス制限暗号通貨ウォレット102は、ペイメントチャネル2-2マルチシグ口座の1以上を、所定の期限にそれぞれ関連づけられた期限付き口座として構成する。このことは、期限の経過後、ブロックチェーンに記録された1以上のトランザクションに各受取人が署名することを必要とすることなく、1以上のトランザクションのペイメントチャネルに残された資金を、アクセス制限暗号通貨ウォレット102自身が引き出すことができることを意味する。
【0153】
受取り口座の1以上が、ペイメントチャネル2-2マルチシグ口座をサポートするように構成されていない、各受取人の対応する暗号通貨ウォレットに関連しているというシナリオもあり得る。例えば、保管されたコールドウォレット、ネットワークから切断されたホットウォレット、マルチシグ等をサポートするようには構成されていないウォレットなどの、ネットワーク接続性を持たない別のウォレットが挙げられる。このため、アクセス制限暗号通貨ウォレット102は任意選択的に、ペイメントチャネル2-2マルチシグ仮口座の1以上が、1以上の受取人の各々に関連し、各々が用いる別のネットワーク接続デバイスによって管理されるように、構成することができる。このことは、各受取人が、ペイメントチャネル2-2マルチシグ口座から各受取人に関連する受取り口座に暗号通貨を移動させるために送信されるトランザクションの1以上に署名するために、各受取人の他のネットワーク接続デバイス、たとえば、コンピュータ、ラップトップ、スマートフォン、タブレット等を用いることができることを意味する。
【0154】
2-2マルチシグ口座プロトコルは、元口座に関連する送信者と、受取り口座に関連する受取り者との双方がトランザクションに署名する場合に限って、元口座から受取り口座向けのトランザクションがブロックチェーンに記録されることを定めている。したがって、2-2マルチシグ口座から受取り口座に暗号通貨を移動させるための1以上のトランザクションが、双方の署名者の一方である受取人によって署名されずに送信されることがあり、このため、当該トランザクションはブロックチェーンに記録されず、ブロックチェーンにトランザクションを記録する1以上のコンピュータノード204(マイナ)に配分され得る手数料も課されない。
【0155】
このことは、2-2マルチシグ口座から受取り口座に暗号通貨を移動させるために1以上の中間トランザクションを送信して、これによりブロックチェーンに記録されていない以前に送信された1以上の中間トランザクションを置き換えることができることを意味する。これは、現在の中間トランザクションが、先行する以前に送信された中間トランザクションと同じ識別(ID)データを含むことを用いて行なうことができる。現在のトランザクションと先行する以前のトランザクションとで類似する識別データは、暗号通貨が異なると異なる場合があり、たとえば、同じトランザクションID、たとえばイーサリアムなどの口座ベースの暗号通貨では同じナンス、たとえばビットコインなどのトランザクションベースの暗号通貨では同じ1以上のインプットID等を含むことができる。先行する以前のトランザクションが現在(今回)のトランザクションに置き換えられるので、現在の中間トランザクションで移動される暗号通貨の額は、先行する以前に送信された中間トランザクションで移動される暗号通貨額と、現在のトランザクションで移動させられるよう求められる暗号通貨の額の合計である。
【0156】
したがって、アクセス制限暗号通貨ウォレット102は、共存できない複数の署名付きトランザクション、すなわち、同じIDデータ(たとえば、トランザクションID、ナンス、1以上のインプットIDなど)を含み、段階的に増加する暗号通貨の部分額を含む複数の署名付きトランザクションを含むように、複数の署名付きトランザクションを生成することができる。したがって、後述されるように、より低額の暗号通貨部分額を含む以前に送信された中間トランザクションに取って代わる中間トランザクションとして、これらトランザクションの1以上を送信することができる。
【0157】
プロセス110で上述されているように、生成後、アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクションをネットワーク接続デバイス104に送信することができる。
【0158】
ペイメントチャネル2-2マルチシグ仮口座からそれぞれの受取り口座に暗号通貨資金を移動させるために、ネットワーク接続デバイス104は1以上の署名付きトランザクションの1以上を、各受取人、具体的には、各受取人によって用いられている暗号通貨ウォレットデバイスに送信することができる。ネットワーク接続デバイス104は、1以上のパラメータ、たとえば、複数の署名付きトランザクションに定義される部分額に対する、移動させる必要がある暗号通貨の額に応じて、送信された1以上の署名付きトランザクションを選択してもよい。
【0159】
たとえば、特定のペイメントチャネル2-2マルチシグ仮口座からそれぞれの受取り口座に暗号通貨の特定の額を送信するように要求又は指示された場合、ネットワーク接続デバイス104は、移動するように要求された特定の額以上の部分暗号通貨額を含む署名付きトランザクションのうちの1つを選択してもよい。
【0160】
さらに、ペイメントチャネル2-2マルチシグ口座では許容されるため、受取人が以前に受取り口座に送信された署名付きトランザクションに署名しなかったということが起こり得る。このような場合、以前に送信された署名付きトランザクションは中間トランザクションとみなされることができる。このような場合、ネットワーク接続デバイス104は、暗号通貨の第2の額を受取り口座に移動させるために、送信された先行する署名付きトランザクションを置き換えるための署名付きトランザクションのうちの1つを選択することができる。具体的には、ネットワーク接続デバイス104は、先行する署名付きトランザクションと同じトランザクションIDを有し、第2の額(先行する署名付きトランザクションで送信された額)と現在の署名付きトランザクションで移動するように要求された特定の額との合計以上である部分額とを有する、署名付きトランザクションのうちの1つを選択することができる。
【0161】
2-2マルチシグ仮口座に保管されている暗号通貨を引き出すためには、各受取人は、ネットワーク接続デバイス104によって送信された、各仮口座から各受取り口座に暗号通貨を移動させるための、直近の署名付きトランザクションに署名すればよい。各受取人が直近に送信された署名付きトランザクションに署名すると、この署名付きトランザクションはブロックチェーンに記録される。
【0162】
受取人が特定の署名付きトランザクションに署名し、特定の署名付きトランザクションがブロックチェーンに記録され、暗号通貨を各受取り側に移動させるための後続の署名付きトランザクションを送信する必要がある場合、接続された暗号通貨ウォレット104は、各受取人によって署名されてブロックチェーンに記録された1以上のトランザクションとは異なるトランザクションIDを持つ後続する署名付きトランザクションを選択して送信する必要がある。
【0163】
さらに、2-2マルチシグ仮口座の1以上は期限に関連づけられる場合があるので、各受取人が期限内に各受取人に関連する受取り口座に送信された署名付きトランザクションの1以上、特に直近に送信された署名付きトランザクションに署名し損ねた場合、各2-2マルチシグ口座に保管されている暗号通貨資金はアクセス制限暗号通貨ウォレット102に関連する口座に返送されることができる。
【0164】
さらに、これに応じて、ペイメントチャネル2-2マルチシグ仮口座の1以上が、別のネットワーク接続デバイスによるトランザクションの署名をサポートするようにアクセス制限暗号通貨ウォレット102によって構成される場合、各受取人は、各2-2マルチシグ仮口座から各受取人に関連する受取り口座に暗号通貨を移動させるために、ネットワーク接続デバイス104によって送信された署名付きトランザクションの1以上に署名するために、各受取人の他のネットワーク接続デバイスを用いることができる。
【0165】
図4を参照すると、これは、本発明のいくつかの実施形態に係る、ペイメントチャネル仮口座のために予め生成される複数の署名付き暗号通貨トランザクションの例示的な構成の概略図である。
【0166】
2-2マルチシグ口座として作成される1以上の仮口座のための、アクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットによって作成される例示的な既定のトランザクション集合400は、既定の粒度にしたがって作成されるN個の署名付きトランザクションを含むことができる。2-2マルチシグプロトコルは、各受取人によって署名されず、したがって、ブロックチェーンに記録されない場合がある1以上の中間トランザクションの送信をサポートするので、アクセス制限暗号通貨ウォレット102は、共存し得ない複数の署名付きトランザクション、たとえば、同じトランザクションIDを持つ複数の署名付きトランザクションを含むように、トランザクション集合400を生成することができる。ネットワーク接続デバイス104はしたがって、以前に送信された中間署名付きトランザクションに取って代わる1以上の署名付きトランザクションを送信することができる。
【0167】
さらに、アクセス制限暗号通貨ウォレット102は、段階的に増加する暗号通貨の部分額を含む署名付きトランザクションを生成することができる。たとえば、署名付きトランザクション2に定義される部分額2は、署名付きトランザクション1に定義される部分額1を超えてもよく、署名付きトランザクション3に定義される部分額3は署名付きトランザクション2に定義される部分額2を超えてもよく、同様にして、署名付きトランザクションNに定義される部分額Nは、署名付きトランザクション(N-1)に定義される部分額(N-1)を超えてもよい。
【0168】
したがって、以前に送信された中間署名付きトランザクションに取って代わる、ネットワーク接続デバイス104によって今回送信された署名付きトランザクションは、以前に送信された中間署名付きトランザクションに含まれる暗号通貨と、受取り口座向けの今回の暗号通貨移動のために要求される暗号通貨の追加額との合計を含むことができる。
【0169】
第2の例示的な実施形態では、アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連するそれぞれの新規の標準的な暗号通貨口座として、仮口座の1以上を作成することができる。ただし、異なる暗号通貨(サービス、プラットフォーム)は異なる仕方で実施され得るので、異なる動作パラメータ、構成パラメータ及び/又は機能パラメータ、特徴並びに/又は属性を用いる場合がある。したがって、アクセス制限暗号通貨ウォレット102は、用いられる対象の暗号通貨に応じた複数の署名付きトランザクションを生成することができる。
【0170】
たとえば、イーサリアムやリップルなどの暗号通貨のいくつかは、口座ベースの暗号通貨プラットフォームやサービスとして構築され実施されている。口座ベースの暗号通貨トランザクションは、以前のトランザクションの個数を示すナンス、移動される暗号通貨の額、及び1以上の他のパラメータ、フラグ等を含むように構成される。したがって、アクセス制限暗号通貨ウォレット102は、各署名付きトランザクションが、この署名付きトランザクションに先行するトランザクションの個数を示す対応するナンスと、暗号通貨の既定の部分額とを各々含むように、複数の署名付きトランザクションを生成することができる。
【0171】
しかし、アクセス制限暗号通貨ウォレット102が署名付きトランザクションを予め生成するので、アクセス制限暗号通貨ウォレット102は各仮口座から送信される暗号通貨額とトランザクションの順序とを認識していない。したがって、アクセス制限暗号通貨ウォレット102は、生成された署名付きトランザクションの各々に、どのナンス及びどの部分額を含ませるべきかを決定することができないおそれがある。
【0172】
送信される暗号通貨及びその順序の高い柔軟性をサポートするために、アクセス制限暗号通貨ウォレット102は、既定の粒度にしたがった既定の総額の均一な分布(flat distribution)として、複数の署名付きトランザクションの各々が、複数の有効なナンスのうちの対応するナンスと、既定の総額の対応する既定の部分額とを含むように、仮口座の1以上のための署名付きトランザクションの集合を生成することができる。
【0173】
図5を参照すると、これは、本発明のいくつかの実施形態に係る、口座ベースの暗号通貨サービスに用いられる、既定の均一分布にしたがって予め生成される複数の署名付き暗号通貨トランザクションの例示的な構成の概略図である。
【0174】
1以上の仮口座のための、アクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットによって作成される例示的な既定の均一分布500は、既定の粒度にしたがって作成されるM個の署名付きトランザクションの均一分布を含むことができる。各署名付きトランザクションに含まれるナンスが先行するトランザクションの個数を示すので、署名付きトランザクションの順序はトランザクション1を起点としてトランザクションMまでトランザクションのナンスにしたがって決められる。
【0175】
既定の粒度にしたがって複数の部分額1~Nを定めることができ、これらをまとめて合計したものは、アクセス制限暗号通貨ウォレット102によってそれぞれの仮口座に最初に移動された暗号通貨の既定の総額を超えない。暗号通貨部分額がそれぞれの仮口座から各受取り口座に送信され得る額の柔軟性をサポートするために、アクセス制限暗号通貨ウォレット102は複数の署名付きトランザクションを、全てが同じナンスを含むが、各々はそれぞれ既定の部分額を含む、署名付きトランザクションの複数の部分集合を含むように、生成することができる。ナンスは各署名付きトランザクションの順序を定め、それぞれの部分額は各署名付きトランザクションによって移動される額を定める。
【0176】
一例では、アクセス制限暗号通貨ウォレット102は複数の第1のトランザクションを生成してもよく、第1のトランザクションのすべてが第1のナンス(ナンス1)を含み、各第1のトランザクションが、各々部分額1~Nを含み、第1の第1署名付きトランザクション(1,1)がナンス1と部分額1とを含み、第2の第1署名付きトランザクション(1,2)がナンス1と部分額2とを含み、同様にして、ナンス1と部分額Nを含む第Nの第1署名付きトランザクション(1,N)にまで至るように、複数の第1トランザクションを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は複数の第2のトランザクションを生成してもよく、第2のトランザクションのすべてが第2のナンス(ナンス2)を含み、各第2のトランザクションが各々部分額1~Nのうちの1つを含み、第1の第2署名付きトランザクション(2,1)がナンス2と部分額1とを含み、第2の第2署名付きトランザクション(2,2)がナンス2と部分額2とを含み、同様にして、ナンス2と部分額Nを含む第Nの第2署名付きトランザクション(2,N)にまで至るように、複数の第2トランザクションを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、複数の第Mのトランザクションを生成してもよく、第Mのトランザクションのすべてが第Mのナンス(ナンスM)を含み、各第Mトランザクションが各々部分額1~Nのうちの1つを含み、第1の第M署名付きトランザクション(M,1)がナンスMと部分額1とを含み、第2の第M署名付きトランザクション(M,2)がナンスMと部分額2とを含み、同様にして、ナンスMと部分額Nを含む第Nの第M署名付きトランザクション(M,N)にまで至るように、複数の第Mのトランザクションを生成してもよい。
【0177】
上述したように、アクセス制限暗号通貨ウォレット102は、複数の受取人に関連する複数の仮口座を作成することができる。このような場合、アクセス制限暗号通貨ウォレット102は、既定の均一分布500などの複数の既定の均一分布を生成し、各均一分布は複数の仮口座のうちの1つの仮口座に用いられる。アクセス制限暗号通貨ウォレット102は、同様の部分額を含む共通の分布を含むように、異なる既定の均一分布500を生成することができる。一方で、アクセス制限暗号通貨ウォレット102は、複数の既定の均一分布500の各々を、各々のパラメータ、たとえば、各々の粒度、各々の総額、各々における異なる部分額の個数等に応じてによってカスタマイズしてもよい。各々のパラメータは、各仮口座から、各仮口座が割り当てられた各受取人に関連する各受取り口座向けの暗号通貨移動の要件及び/又はパターン等を反映することができる。
【0178】
さらに、アクセス制限暗号通貨ウォレット102は、署名付きトランザクションの各々をそれぞれの受取人に関連する複数の受取り口座のうちの各受取り口座の1つに移動させるために、既定の総額の既定の均一分布500を拡張することができる。たとえば、アクセス制限暗号通貨ウォレット102は、署名付きトランザクション(トランザクション(m,n)(m=1,…,M; n=1,…,N))の各々を複製することによって、多次元分布として既定の均一分布500を生成することができ、署名付きトランザクションの各々はJ個の受取り口座の1つを定めるように拡張される。したがって、各署名付きトランザクションは、トランザクション(m,n,j)という形態をとることができ、j=1,…,JはJ個の受取り口座のそれぞれの受取り口座を示し、たとえば、それぞれの受取り口座のアドレス(たとえば公開鍵)を示す。別の例では、アクセス制限暗号通貨ウォレット102は、複数の、J個の既定の均一分布500を生成してもよく、各々がJ個の受取り口座のうちの各々の受取り口座に割り当てられる。
【0179】
任意選択的に、アクセス制限暗号通貨ウォレット102は、受取り口座の1つとしてアクセス制限暗号通貨ウォレット102に関連する口座を含むように1以上の拡張された既定の均一分布500を生成する。このことは、アクセス制限暗号通貨ウォレット102が、1以上の仮口座に保管されている暗号通貨資金、たとえば、超過額、余剰額、最終残高等をアクセス制限暗号通貨ウォレット102の口座に返送することを可能にするように生成される複数の署名付き超過トランザクションを含むように、1以上の拡張された既定の均一分布500を生成することを意味する。
【0180】
プロセス110で上述されているように、生成後、アクセス制限暗号通貨ウォレット102は複数の署名付きトランザクションをネットワーク接続デバイス104に送信することができる。
【0181】
任意選択的に、アクセス制限暗号通貨ウォレット102は、署名付きトランザクションのすべてに関するすべての情報をネットワーク接続デバイス104が導出するのに十分といえる、複数の署名付きトランザクションを記述した部分的なデータのみを送信してもよい。たとえば、仮口座が口座ベースの暗号通貨口座として作成され、アクセス制限暗号通貨ウォレット102が、たとえば既定の均一分布500などの既定の均一分布にしたがって複数の署名付きトランザクションを生成するとする。このような場合、アクセス制限暗号通貨ウォレット102は、すべての署名付きトランザクションの署名に結び付けられた、既定の均一分布500の構造を記述するごく限られた情報、たとえば、粒度、最小部分額、最大部分額等のみを送信することで十分であるといえる。その後、ネットワーク接続デバイス104が受け取った構造情報を用いて、複数の署名付きトランザクションを比較する既定の均一分布500を再構築することができる。
【0182】
特定の仮口座から各受取り口座に暗号通貨の特定の額を送信するよう要求されると、ネットワーク接続デバイス104は、十分な部分暗号通貨額、すなわち、移動するように要求された特定の額以上の部分額を含む署名付きトランザクションの1つを選択することができる。
【0183】
具体的には、ネットワーク接続デバイス104は、既に送信された署名付きトランザクションの個数に応じて署名付きトランザクションの1つを選択することができる。例えば、ネットワーク接続デバイス104が初回に、各受取り口座に暗号通貨を移動させるための第1の署名付きトランザクションを送信するように指示されたとすると、ネットワーク接続デバイス104は第1の署名付きトランザクション(1,1)~(1,N)の集合から、十分な暗号通貨額を含む署名付きトランザクションを選択することができる。
【0184】
さらに、ネットワーク接続デバイス104が選択された署名付きトランザクションを送信すると、第1のナンスが用いられたので、他のすべての第1の署名付きトランザクション、すなわち、第1のナンス(たとえばナンス1)を含むすべてのトランザクションはもはや有効ではないため、破棄される。別の例では、ネットワーク接続デバイス104が初回に、各受取り口座に暗号通貨を移動させるための第iの署名付きトランザクション(1<i<M)を送信するように指示されたとすると、ネットワーク接続デバイス104は、第iの署名付きトランザクション(i,1)~(i,N)の集合から、十分な暗号通貨額を含む署名付きトランザクションを選択してもよい。さらに、ネットワーク接続デバイス104が選択された署名付きトランザクションを送信すると、第iのナンスが用いられたので、他のすべての第iの署名付きトランザクション、すなわち、第iのナンス(たとえばナンスi)を含むすべてのトランザクションはもはや有効ではないため、破棄される。
【0185】
任意選択的に、アクセス制限暗号通貨ウォレット102は階層(レイヤ)構造で複数の仮口座を作成してもよい。このことは、アクセス制限暗号通貨ウォレット102は1以上の上位の仮口座を予め作成してもよく、このような上位の仮口座の各々に暗号通貨の総額を移動させるために1以上のトランザクションを送信してもよいことを意味する。アクセス制限暗号通貨ウォレット102はさらに、1以上の下位の仮口座を作成してもよい。アクセス制限暗号通貨ウォレット102はさらに、上位の仮口座の1以上から下位の仮口座の1以上向けの複数の署名付きトランザクションを生成してもよい。アクセス制限暗号通貨ウォレット102は次いで、署名付きトランザクションをネットワーク接続デバイス104に送信してもよい。リアルタイムで(アクセス制限暗号通貨ウォレット102がオフラインであり、安全に記憶されている状態で)、ネットワーク接続デバイス104に対して、上位の仮口座の1以上から下位の仮口座の1以上に暗号通貨資金を移動させるために前記署名付きトランザクションの1以上を送信するように指示、要求及び/又は操作することができる。
【0186】
特に、アクセス制限暗号通貨ウォレット102は、下位の仮口座の1以上を、当該仮口座に移動させることができる総額内に制限された額制限仮口座として構成することができる。こうした目的のために、アクセス制限暗号通貨ウォレット102は、それぞれの額制限仮口座に割り当てられた制限された総額を超えない額を累積的に含むように、1以上の額制限仮口座に暗号通貨を移動させるのに用いられる署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102は、階層構造を複数のレベルまで拡張することができ、各上位の1以上の仮口座から隣接するより下位の1以上の仮口座に暗号通貨を移動させるための複数の署名付きトランザクションを生成することができる。
【0187】
仮口座に階層構造を適用することで、いずれの受取り口座及び/又は受取り口座の組合せにも移動させることができる暗号通貨の総額の高い柔軟性をサポートすることができる。
【0188】
図6を参照すると、これは、本発明のいくつかの実施形態に係る、口座ベースの暗号通貨サービスに用いられる、階層構造にある複数の仮口座の例示的な構造の概略図である。アクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットは、複数の層、たとえば第1層(LAYER1)及び第2層(LAYER1)に階層的に配置される仮口座312などの複数の仮口座を作成することによって、階層構造600を作成することができる。
【0189】
アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連する元口座310などの元口座から第1層(上位)仮口座312_1の1以上に暗号通貨の初期の総額を移動させるための1以上のトランザクション(図中ではTRANS)610を送信することができる。たとえば、アクセス制限暗号通貨ウォレット102は、暗号通貨の第1の初期総額を所定のレベルの仮口座312_1Aに移動させるための1以上のトランザクション610Aと、暗号通貨の第2の初期総額を所定のレベルの仮口座312_1Bに移動させるための1以上のトランザクション610Bとを送信することができる。第1の初期額と第2の初期額とは等しくても異なっていてもよい。
【0190】
アクセス制限暗号通貨ウォレット102は次いで、第1層仮口座312_1の1以上から1以上の第2層(下位)仮口座312_2に暗号通貨の総額の部分額を移動させるための複数の署名付きトランザクション(図中ではSIGNED TRANS)620_1を生成することができる。例えば、アクセス制限暗号通貨ウォレット102は、第1層仮口座312_1Aからの第1の第2層仮口座312_2Aに第1の総額の部分額を移動させるための複数の署名付きトランザクション620_1Aと、第1層仮口座312_1Aから第2層仮口座312_2Bに第1の総額の部分額を移動させるための複数の署名付きトランザクション620_1Bとを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、第1層仮口座312_1Bから第3の第2層仮口座312_2Cに第2の総額の部分額を移動させるための複数の署名付きトランザクション620_1Cと、第1層仮口座312_1Bから第4の第2層仮口座312_2Dに第2の総額の部分額を移動させるための複数の署名付きトランザクション620_1Dと、第1層仮口座312_1Bから第5の第2層仮口座312_2Eに第2の総額の部分額を移動させるための複数の署名付きトランザクション620_1Eとを生成してもよい。
【0191】
さらに、暗号通貨部分額を第2レベル仮口座312_2の各々に移動させるための複数の署名付きトランザクション620_1に含まれる暗号通貨の累積額を、特定の既定の額に制限してもよい。したがって、各第2レベル仮口座312_2に保管される暗号通貨の総額はこれら第2レベル仮口座312_2に対して設定される各々の既定の額を超えることはない。例えば、複数の署名付きトランザクション620_1Aの部分額の累積額を、第2レベル仮口座312_2Aに対して設定される第1の既定の額によって制限してもよい。別の例では、複数の署名付きトランザクション620_1Dの部分額の累積額を、第2レベル仮口座312_2Dに対して設定される第2の既定の額によって限定してもよい。
【0192】
アクセス制限暗号通貨ウォレット102はさらに、第2層仮口座312_2の各々から受取り口座314などの各受取り口座に暗号通貨の部分額を移動させるための複数の署名付きトランザクション620_2を生成することができる。例えば、アクセス制限暗号通貨ウォレット102は、第2層仮口座312_2Aに保管されている暗号通貨の額の部分額を第1の受取り口座314Aに移動させるため複数の署名付きトランザクション620_2Aを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、第2層仮口座312_2Bに保管されている暗号通貨の額の部分額を第2の受取り口座314Bに移動させるための複数の署名付きトランザクション620_2Bを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、第2層仮口座312_2Cに保管されている暗号通貨の額の部分額を第3の受取り口座314Cに移動させるための複数の署名付きトランザクション620_2Cを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、第2層仮口座312_2Dに保管されている暗号通貨の額の部分額を第4の受取り口座314Bに移動させるための複数の署名付きトランザクション620_2Dを生成してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、第2層仮口座312_2Eに保管されている暗号通貨の額の部分額を第5の受取り口座314Eに移動させるための複数の署名付きトランザクション620_2Eを生成してもよい。
【0193】
アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクション620_1及び620_2をネットワーク接続デバイス104に送信することができる。
【0194】
リアルタイムで、アクセス制限暗号通貨ウォレット102がもはやアクセス不能である状態、たとえば、安全な場所に保管されている状態で、受取り口座314の1以上に暗号通貨を移動させるように、ネットワーク接続デバイス104に対して要求、指示及び/又は操作することができる。ネットワーク接続デバイス104はしたがって、各受取り口座314に暗号通貨を移動させるための各第2層仮口座312_2から暗号通貨を移動させるために、署名付き620_2の1以上を送信することができる。しかし、受取り口座314に移動させるための第2層仮口座312_2Bに暗号通貨が確実に存在するようにするために、ネットワーク接続デバイス104は、各第1層仮口座312_1から第2層仮口座312_2に暗号通貨を移動させるための署名付き620_1の1以上を最初に送信することができる。たとえば、ネットワーク接続デバイス104が暗号通貨の特定の額を受取り口座314Bに移動させるように指示されているとする。ネットワーク接続デバイス104は、特定の額以上の暗号通貨の部分額を累積的に含む署名付きトランザクション620_1Bの1以上を送信することによって、まず第1層仮口座312_1Aから第2層仮口座312_2Bに暗号通貨を移動させることができる。ネットワーク接続デバイス104は次いで、特定の額以上の暗号通貨の部分額を累積的に含む署名付きトランザクション620_2Bの1以上を送信することによって、第2層仮口座312_2Bから受取り口座314Bに暗号通貨を移動させることができる。
【0195】
任意選択的に、アクセス制限暗号通貨ウォレット102は、額指向階層構造(value oriented hierarchical structure)により複数の仮口座を予め作成してもよい。このことは、アクセス制限暗号通貨ウォレット102が、構造の各レベルが、暗号通貨の対応する額を複数の受取人に関連する複数の受取り口座に移動させるように管理される対応する仮口座を含むように、仮口座を予め作成してもよいことを意味する。具体的には、各仮口座に割り当てられる暗号通貨の対応する額は、隣接するより高いレベルの仮口座に割り当てられる額の一部(たとえば数分の1)である。
【0196】
たとえば、アクセス制限暗号通貨ウォレット102が、各仮口座が隣接するより高いレベルの仮口座に割り当てられる暗号通貨の額の2分の1を移動させるように構成され設定されるように、階層的に構造化された仮口座を作成するとする。このような場合、アクセス制限暗号通貨ウォレット102は、暗号通貨の特定の額を受取り口座に移動させるための第1レベル(最上位)仮口座を作成することができる。アクセス制限暗号通貨ウォレット102はさらに、特定の額の2分の1を受取り口座に移動させるための第2レベル仮口座を作成することができる。アクセス制限暗号通貨ウォレット102はさらに、第2レベル仮口座の額の2分の1、すなわち特定の額の4分の1を受取り口座に移動させるために第3レベル仮口座などに続いて、既定の粒度にしたがって定められる暗号通貨の最小額を受取り口座に移動させるように構成される最下位仮口座までを作成することができる。
【0197】
階層的に構造化された複数の仮口座を作成した後、アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連する1以上の口座(元口座)から仮口座の各々に暗号通貨の最初の総額を移動させるための1以上のトランザクションを送信することができる。たとえば、アクセス制限暗号通貨ウォレット102が特定の総額を第1レベル仮口座に移動させ、特定の総額の2分の1を第2レベル仮口座に移動させ、特定の総額の4分の1を第3レベル仮口座に移動させるなどを行なうことができる。
【0198】
アクセス制限暗号通貨ウォレット102は次いで、階層的に構造化された仮口座から複数の受取り口座に暗号通貨の額を移動させるための複数の署名付きトランザクションを生成することができる。具体的には、アクセス制限暗号通貨ウォレット102は、隣接するより低いレベルの仮口座に割り当てられた暗号通貨の額を超え、かつ各仮口座に割り当てられた額以下である暗号通貨額を、当該仮口座から移動させるためのアクセス署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102は、既定の粒度にしたがったこのような範囲内の額を移動させるための署名付きトランザクションを構成することができる。
【0199】
たとえば、アクセス制限暗号通貨ウォレット102が各仮口座に、隣接するより高いレベルの仮口座に割り当てられる暗号通貨の2分の1を割り当てるとする。アクセス制限暗号通貨ウォレット102はしたがって、特定の額の2分の1を超えかつ特定の額未満(又は以下)である範囲内にある複数の額を第1レベル仮口座から複数の受取り口座に移動させるための署名付きトランザクションを生成することができる。ただし、これらの額は特定の額の2分の1を超えるので、第1レベル仮口座に割り当てられる暗号通貨の額は、このようなトランザクションが1つのみの場合には十分であるといえる。K個の受取り口座が存在する場合、アクセス制限暗号通貨ウォレット102は、K個の受取り口座に暗号通貨のM/2個の額(すなわち、特定の額から特定の額の2分の1までの範囲内の額)を移動させるために総個数M*K/2個の署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102はさらに、特定の額の4分の1を超えかつ特定の額の2分の1未満(又は以下)である範囲内にある複数の額を第2レベル仮口座から複数の受取り口座に移動させるための署名付きトランザクションを生成することができる。ただし、これらの額は特定の額の4分の1を超えるので、第2レベル仮口座に割り当てられる暗号通貨の額はこのようなトランザクションが3つのみの場合には十分であるといえる。アクセス制限暗号通貨ウォレット102はしたがって、K個の受取り口座に暗号通貨のM/4個の額(すなわち、特定の額の2分の1から特定の額の4分の1までの範囲内の額)を移動させるための総個数3*M*K/4個の署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102はさらに、特定の額の8分の1を超えかつ特定の額の4分の1未満(又は以下)である範囲内にある複数の額を第3レベル仮口座から複数の受取り口座に移動させるための署名付きトランザクションを生成することができる。ただし、これらの額は特定の額の8分の1を超えるので、第3レベル仮口座に割り当てられる暗号通貨の額はこのようなトランザクションが7つのみの場合には十分であるといえる。アクセス制限暗号通貨ウォレット102はしたがって、K個の受取り口座に暗号通貨のM/8個の額(すなわち、特定の額の4分の1から特定の額の8分の1までの範囲内の額)を移動させるための総個数7*M*K/8個の署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102は、階層構造で作成されるさらなる下位仮口座に用いられるさらなる署名付きトランザクションを、この下位仮口座に応じて連続的に生成することができる。上記を一般化すると、レベルiの各仮口座に対して、アクセス制限暗号通貨ウォレット102はM/2iである暗号通貨の額を割り当てることができる。アクセス制限暗号通貨ウォレット102はさらに、M/2i+1を超えかつM/2i未満(又は以下)である範囲内にある複数の額を第iレベル仮口座から複数の受取り口座に移動させるための署名付きトランザクションを生成することができる。上位の仮口座について説明したものと同じ論理にしたがって、アクセス制限暗号通貨ウォレット102は、K個の受取り口座に暗号通貨の2i+1個の額を移動させるための総個数(2i+1)*M*K/(2i+1)個の署名付きトランザクションを生成することができる。
【0200】
階層的に構造化された仮口座を適用することで、アクセス制限暗号通貨ウォレット102が生成してネットワーク接続デバイス104に送信する必要がある署名付きトランザクションの個数を大幅に削減することができる。これは、各レベルの仮口座に用いられる署名付きトランザクションを、このレベルに適用可能な範囲内に制限される暗号通貨の額に対して生成する必要があるからである。各レベルの仮口座に割り当てられる額が隣接するより上位の仮口座に割り当てられる額の2分の1である上記の例では、アクセス制限暗号通貨ウォレット102によって生成される署名付きトランザクションの総数はM*K*log(M)未満になり得る。各レベルの仮口座に割り当てられる額を、当該レベルに隣接するより上位の仮口座の2分の1に分割することは例示的であり、他の分割スキーム、たとえば、1/2,1/3,1/4,1/5,1/6等の分割を適用してもよく、限定を課すものとして解釈されるべきではない。
【0201】
別の例では、たとえば、ビットコイン、ビットコインキャッシュ等の暗号通貨のいくつかはトランザクション(UTXO)ベースの暗号通貨プラットフォームやサービスとして構築され実施されている。トランザクションベースの暗号通貨のトランザクションは、パラメータの中に、トランザクションに含まれる暗号通貨の1以上のインプット額から導出される暗号通貨の1以上のアウトプット額を含み、これは1以上の以前のトランザクションの1以上の各アウトプット額まで溯ることができる。したがって、各インプット額は、当該インプット額に対応するアウトプット額を含む各々の以前のトランザクションのIDを含むことができる。トランザクションのIDは用いられている暗号通貨サービスによって定められ、通常、それぞれのトランザクションのハッシュ値等を含むことができる。しかし、暗号通貨サービスの1以上のプロトコル、1以上のアルゴリズム及び/又は規定に応じて、他の実施例を適用してもよい。
【0202】
各トランザクションが1以上の先行するトランザクションに直接依存するので、アクセス制限暗号通貨ウォレット102は複数の署名付きトランザクションを、このソースとなる先行する署名付きトランザクションへのインプット額の有効な足跡(trail)及び追跡(trace)を維持するように生成することができる。特に、アクセス制限暗号通貨ウォレット102は、各署名付きトランザクションが上位の層の署名付きトランザクションから導出され、トランザクションID(TXID)を含むように複数の署名付きトランザクションを含む階層的有向非巡回グラフ(Directed Acyclic Graph:DAG)、たとえば、ツリー構造、有向グラフ等を構成するように複数の署名付きトランザクションを生成することができる。特に、各署名付きトランザクションの各インプット額が、各上位の層の署名付きトランザクションの各アウトプット額のTXIDに関連する。アクセス制限暗号通貨ウォレット102は、既定の粒度にしたがって既定の総額を分布させるように階層的DAGを構成することができる。
【0203】
図7A及び
図7Bを参照すると、これらは、本発明のいくつかの実施形態に係る、トランザクションベースの暗号通貨サービスに用いられる既定のツリー分布にしたがって予め生成される複数の署名付き暗号通貨トランザクションの例示的な階層ツリー構成の概略図である。
【0204】
図7Aに示されるように、1以上の仮口座に用いられるアクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットによって作成される例示的な既定のツリー構造700は、アクセス制限暗号通貨ウォレット102に関連する口座、たとえば、仮口座に暗号通貨を最初に移動させた元口座310に、暗号通貨の既定の部分額を移動させて戻すように生成される署名付き分割トランザクション702の階層分布を含んでもよい。既定の部分額を既定の粒度にしたがって設定することができ、たとえば、各署名付き分割トランザクションがその直上の層(親)の署名付き分割トランザクションの暗号通貨の額の2分の1を含むことができる。
【0205】
各署名付き分割トランザクションが2つの同等の部分に分割される、このような例示的な構成では、各署名付き分割トランザクションはそれに隣接する上位の署名付き分割トランザクションのアウトプット額から導出されるインプット額を含むことができる。各署名付き分割トランザクションは同一の暗号通貨額の少なくとも2つのアウトプット額をさらに含むことができ、これらの2つのアウトプット額はアクセス制限暗号通貨ウォレット102に関連する口座、たとえば、仮口座に暗号通貨を最初に移動させた元口座310に向けられる。
【0206】
既定のツリー構造700の頂点(ノード)をつないでいる辺は、署名付き分割トランザクションアウトプットを表わすことができ、頂点は、詳細に後述されているように署名付きトランザクションを導出するのに用いられるルート点である分割点を表わす場合がある。
【0207】
たとえば、アクセス制限暗号通貨ウォレット102によってそれぞれの仮口座に最初に移動された暗号通貨の既定の総額が16M(百万)単位の暗号通貨、すなわち16M単位のトランザクション(図中ではTRANS)702Aであるとする。このような場合、アクセス制限暗号通貨ウォレット102は2つの第2層署名付き分割トランザクション702B1及び702B2を生成することができ、各々は、アクセス制限暗号通貨ウォレット102に関連する口座に差し向けられる16M単位の2分の1、すなわち8M単位を含む。アクセス制限暗号通貨ウォレット102はさらに、4つの第3層署名付き分割トランザクション702C1,702C2,702C3及び704C4を生成することができ、各々は、アクセス制限暗号通貨ウォレット102に関連する口座に差し向けられる8M単位の2分の1、すなわち4M単位を含む。アクセス制限暗号通貨ウォレット102はさらに、8つの第4層署名付き分割トランザクション702D1,702D2,702D3,702D4,702D5,702D6,702D7及び704D8を生成することができ、各々は、アクセス制限暗号通貨ウォレット102に関連する口座に差し向けられる4M単位の2分の1、すなわち2M単位を含む。アクセス制限暗号通貨ウォレット102はさらに、16個の第5層署名付き分割トランザクション702E1,702E2,702E3,702E4,702E5,702E6,702E7,702E8,702E9,702E10,702E11,702E12,702E13,702E14,702E15及び704E16を生成することができ、各々は、アクセス制限暗号通貨ウォレット102に関連する口座に差し向けられる2M単位の2分の1、すなわち1M単位を含む。アクセス制限暗号通貨ウォレット102は既定の最小部分額、たとえば1単位の暗号通貨までこの収斂を繰り返すことができる。本明細書で上述されているように、各署名付き分割トランザクションに含まれるインプット額は上位層の各署名付き分割トランザクションに含まれる対応するアウトプット額から導出される。
【0208】
既定のツリー構造700のセグメント704を表わす
図7Bに示されるように、アクセス制限暗号通貨ウォレット102は次いで、複数の署名付きトランザクション710を生成することができ、各々が仮口座から各受取り口座に暗号通貨資金を移動させるための各部分額を含む。既定のツリー構造700が複雑なため、簡潔かつ明確にするために、以下、セグメント704のみを説明する。しかし、同じ構成及び実施例が既定のツリー構造700全体にあてはまる。
【0209】
アクセス制限暗号通貨ウォレット102は、署名付き分割トランザクション702毎に複数の署名付きトランザクション710を生成することができる。分割トランザクション702毎に生成される複数の署名付きトランザクションは、それぞれの分割点頂点(ノード)から延びる辺として既定のツリー構造700に見た目上表わされており、分割点頂点にはそれぞれの親署名付き分割トランザクションの辺が接続されている。署名付き分割トランザクション702毎に生成される署名付きトランザクション710の個数Nは、署名付き分割トランザクション702の少なくともいくつかについては等しくてもよいし、署名付き分割トランザクション702の1以上については固有の個数であってもよい。たとえば、アクセス制限暗号通貨ウォレット102が署名付き分割トランザクション702B1についてはN1個の署名付きトランザクション710Bを生成し、署名付き分割トランザクション702C1についてはN2個の署名付きトランザクション710Cを生成し、署名付き分割トランザクション702D1についてはN3個の署名付きトランザクション710Dを生成し、署名付き分割トランザクション702E1についてはN4個の署名付きトランザクション710Eを生成してもよい。
【0210】
各署名付きトランザクション710はインプット額と2つのアウトプット額とを含んでもよく、第1のアウトプット額は特定の部分額を受取り口座に移動させるように差し向けられ、第2の額はインプット額と第1のアウトプット額との間の超過額(差額)であり、アクセス制限暗号通貨ウォレット102に関連する口座に超過額を移動させて戻すように差し向けられる。
【0211】
各署名付きトランザクション710の各インプットのインプットID(TXID)は、その親署名付き分割トランザクション702から導出される。例えば、署名付きトランザクション710B1~710B(N1)のインプット額は署名付き分割トランザクション702B1のアウトプット額から導かれる。別の例では、署名付きトランザクション710C1~710C(N2)のインプット額は署名付き分割トランザクション702C1のアウトプット額から導かれる。別の例では、署名付きトランザクション710D1~710D(N3)のインプット額は署名付き分割トランザクション702D1のアウトプット額から導かれる。別の例では、署名付きトランザクション710E1~710E(N4)のインプット額は署名付き分割トランザクション702E1のアウトプット額から導かれる。
【0212】
アクセス制限暗号通貨ウォレット102は、部分額のうちの各1つの部分額を受取り口座に移動させ、部分額が、既定の粒度にしたがって、具体的には各署名付き分割トランザクションから導出される署名付きトランザクションの集合毎に定められるように、署名付きトランザクションの各々を構成することができる。既定のツリー構造700の層毎にアクセス制限暗号通貨ウォレット102によって生成される部分額の範囲は、それぞれの署名付き分割トランザクションの額から始まり、隣接する下層の署名付き分割トランザクションの額で終わるようにすることができる。例えば、それぞれの部分額に対して署名付きトランザクション710B1~710B(N1)の各々の第1のアウトプットを設定してもよく、たとえば、8,000,000単位、7,999,999単位、7,999,998単位等から、4,000,001単位までを設定してもよい。これと相補的に、署名付きトランザクション710B1~710B(N1)の各々の第2の額はインプット額と第1のアウトプット額との差額を含んでもよく、具体的には、ゼロ単位(第2の額がない)、1単位、2単位などから3,999,999単位までを含んでもよい。別の例では、層と仮定して、それぞれの部分額に対して署名付きトランザクション710E1~710E(N4)の各々の第1のアウトプットを設定してもよく、たとえば、1,000,000単位、999,999単位、999,998単位等から、500,001単位までを設定してもよい。これと相補的に、署名付きトランザクション710B1~710B(N1)の各々の第2の額はインプット額と第1のアウトプット額との差額を含んでもよく、具体的には、ゼロ単位(第2の額がない)、1単位、2単位などから499,999単位を含んでもよい。ただし、既定のツリー構造700の最低層(最下層)のためにアクセス制限暗号通貨ウォレット102によって生成される部分額の範囲は、最下層署名付き分割トランザクションの額から始まり、それぞれの受取り口座向けの移動に対して定められる最小額で終わるようにすることができる。たとえば、最下層が100単位の額の複数の署名付き分割トランザクションを備え、それぞれの受取り口座向けの移動に対して既定された最小部分額が1単位であるとする。このような場合、各最下層署名付き分割トランザクションから導出される署名付きトランザクションの各々の第1のアウトプットをそれぞれの部分額に対して設定してもよく、たとえば、100単位、99単位、98単位等から、1単位までを設定してもよい。これと相補的に、最下層署名付き分割トランザクションの各々から導出される署名付きトランザクションの各々の第2の額はインプット額と第1のアウトプット額との差額を含んでもよく、具体的には、ゼロ単位(第2の額がない)、1単位、2単位などから99単位を含んでもよい。
【0213】
簡潔にするために、既定のツリー構造700の説明では、それぞれのトランザクションをブロックチェーンに記録することへの報酬としてコンピュータノード204の1以上に配分される必要がある手数料については扱っていない。手数料についてはより詳細に後述する。
【0214】
プロセス110で上述されているように、生成後、アクセス制限暗号通貨ウォレット102は、複数の署名付き分割トランザクションと複数の署名付きトランザクションとをネットワーク接続デバイス104に送信することができる。上述したように、署名付き分割トランザクションと署名付きトランザクションとはブロックチェーンに記録されず、むしろネットワーク接続デバイス104によって記憶される。
【0215】
特定の仮口座からそれぞれの受取り口座に暗号通貨の特定の額を送信するように要求されると、ネットワーク接続デバイス104は、既定の部分額、特に、特定の額以上となる1以上の部分額の総計である累積的な部分額を含む1以上の署名付きトランザクションを備える階層的DAGの少なくとも1つのセグメントを選択することができる。ネットワーク接続デバイス104は次いで、送信されないセグメントの各署名付きトランザクションを使用不可としてマーキングしつつ、選択されたセグメントに含まれる1以上の署名付きトランザクションを送信することができる。ネットワーク接続デバイス104は、特定の仮口座からそれぞれの受取り口座に移動させる必要がある特定の額以上の最小暗号通貨額を累積的に含む署名付きトランザクションを含むようにDAGのセグメントを選択することができる。言い換えると、ネットワーク接続デバイス104は、署名付きトランザクションの1以上を、この署名付きトランザクションの既定の部分額の合計が特定の額以上である最小額となるように、選択することができる。しかし、選択された1以上の署名付きトランザクションが有効になるために、すなわち、選択された1以上の署名付きトランザクションが以前のトランザクションまで溯ることができるインプット額を含むために、ネットワーク接続デバイス104はまず、暗号通貨の特定の額をそれぞれの受取り口座に移動させるために、送信のために選択された署名付きトランザクションの選択されたセグメントにつながる(すなわち、経路上にある)すべての署名付き分割トランザクションをに送信することができる。
【0216】
図8A及び
図8Bを参照すると、これらは、本発明のいくつかの実施形態に係る、受取り口座に暗号通貨資金を移動させるのに用いられる例示的な階層ツリー構成の例示的な利用の概略図である。
【0217】
トランザクションベースの暗号通貨のために作成される特定の仮口座に用いられるアクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットによって作成される、ツリー構造700などの例示的な既定のツリー構造は、ネットワーク接続デバイス104などのネットワーク接続デバイスによって、暗号通貨資金をそれぞれの受取り口座に移動させるための署名付きトランザクションを送信するために用いられることができる。
【0218】
それぞれの受取り口座に暗号通貨の特定の額を移動させるように指示されると、ネットワーク接続デバイス104は、特定の額以上である部分額の累積額(総計額)を含む1以上の署名付きトランザクションを備えるツリー構造700のセグメントを選択することができる。
【0219】
たとえば、特定の仮口座からそれぞれの受取り口座に1,999,998単位の暗号通貨を移動させるようにネットワーク接続デバイス104が指示されたとする。このような場合、ネットワーク接続デバイス104は、それぞれの受取り口座向けの1,999,998単位の第1のアウトプットと、アクセス制限暗号通貨ウォレット102に関連する口座に戻される2単位の第2のアウトプットとを含む署名付きトランザクション710D3を含むセグメント802を選択することができる。署名付きトランザクション710D3を送信するためには、ネットワーク接続デバイス104はまず、署名付きトランザクション710D3に通じている経路上の署名付き分割トランザクション、具体的には署名付き分割トランザクション(図中ではTRANS)702B1,702C1及び702D1を送信することができ、これにより、署名付き分割トランザクション702B1,702C1及び702D1はブロックチェーンに記録される。前記署名付き分割トランザクションが送信されてブロックチェーンに記録された後、ネットワーク接続デバイス104は選択された署名付きトランザクション710D3を送信することができ、選択された署名付きトランザクション710D3については直前のトランザクションに遡ることができ、具体的には署名付き分割トランザクション702D1に溯ることができ、署名付き分割トランザクション702D1については今度は署名付き分割トランザクション702C1に溯ることができ、署名付き分割トランザクション702C1については署名付き分割トランザクション702B1に溯ることができ、署名付き分割トランザクション702B1については、仮口座にアクセス制限暗号通貨ウォレット102によって最初に送信された16M単位のトランザクションまで溯ることができる。
【0220】
ネットワーク接続デバイス104はさらに、選択されたセグメント802を含む枝810の他のすべての署名付きトランザクション、具体的には、選択されたトランザクションよりも下位にあるセグメントに含まれる階層の署名付きトランザクションを使用不可としてマーキングすることができる。
【0221】
別の例では、ネットワーク接続デバイス104が特定の仮口座からそれぞれの受取り口座に、別の1,500,000単位の暗号通貨を移動させるように指示されたとさらに仮定する。署名付きトランザクション710D3が送信された以前の移動に起因して、署名付きトランザクション710に含まれる暗号通貨は署名付きトランザクション710D3で既に移動されたので、枝810全体がもはや利用可能でない。このような場合、ネットワーク接続デバイス104は、それぞれの受取り口座向けの1,500,000単位の第1のアウトプットと、アクセス制限暗号通貨ウォレット102に関連する口座に戻される500,000単位の第2のアウトプットとを含む署名付きトランザクション710DM_2を含むセグメント804を選択することができる。署名付きトランザクション710DM_2を送信するためには、ネットワーク接続デバイス104はまず、署名付きトランザクション710DM_2に通じている経路上の署名付き分割トランザクションを送信することができる。しかし、署名付き分割トランザクション702B1,702C1及び702D1(702D2の補完トランザクションであり、このことは702D2も送信されたことを意味する)は、以前の署名付きトランザクション710D3の送信を可能にするために既に送信されたので、ネットワーク接続デバイス104は、710DM_2を除いて何らかの追加的トランザクションを送信することはない。ネットワーク接続デバイス104は次いで、選択された署名付きトランザクション710DM_2を送信することができ、選択された署名付きトランザクション710DM_2については直前のトランザクションに遡ることができ、具体的には署名付き分割トランザクション702D2に溯ることができ、署名付き分割トランザクション702D2については今度は署名付き分割トランザクション702C1に溯ることができ、署名付き分割トランザクション702C1については署名付き分割トランザクション702B1に溯ることができ、署名付き分割トランザクション702B1については、仮口座にアクセス制限暗号通貨ウォレット102によって最初に送信された16M単位のトランザクションまで溯ることができる。
【0222】
上記の例の説明のように、ネットワーク接続デバイス104はさらに、選択されたセグメントを含む枝のうちの他のすべての署名付きトランザクション、具体的には、選択されたトランザクションよりも下位にあるセグメントに含まれる階層中の署名付きトランザクションを使用不可としてマーキングすることができる。
【0223】
受取人の1以上の各々によって用いられる暗号通貨ウォレットは、たとえば、ホットウォレットとしてそれぞれの受取人によって用いられるネットワーク接続デバイス104などのネットワーク接続デバイスである。このような場合、それぞれの受取人のネットワーク接続された暗号通貨ホットウォレットはブロックチェーンネットワーク206を監視することができ、ネットワーク接続デバイス104によって送信され、それぞれの受取人に関連する受取り口座に部分額を移動させるための1以上の署名付きトランザクションを識別することができる。
【0224】
しかし、受取人の1以上の各々によって用いられる暗号通貨ウォレットが、たとえば、コールドウォレットとしてそれぞれの受取人によって用いられる、ネットワーク受信接続性を持たないアクセス制限暗号通貨ウォレット102などの、別のアクセス制限暗号通貨ウォレットである場合がある。このような場合、システム200で用いられる暗号通貨サービスがトランザクションベースの暗号通貨であり、さらにはセグウィット(segwit)ベースの暗号通貨であるとすると、他のアクセス制限暗号通貨ウォレットに関連する受取り口座に移動させる暗号通貨の額を、このアクセス制限暗号通貨ウォレットに通知する必要があり得る。このような場合、他のアクセス制限暗号通貨ウォレット102の、容量制限入力インタフェイス216などの容量制限入力インタフェイスを介して、このアクセス制限暗号通貨ウォレット102に限られた長さの1以上の文字列を挿入することができる。限られた長さの文字列は、アクセス制限暗号通貨ウォレット102の容量制限入力インタフェイス216を介して容易に挿入することができる、たとえば、アクセス制限暗号通貨ウォレット102のキーボードを用いてユーザ202によってタイプすることができるごく少数(たとえば10個未満)のシンボル(たとえば符号、デジットなど)を含むことができる。さらに、セグウィットベースの暗号通貨では、トランザクションハッシュを計算するのに署名が必要ではなく、したがって、限られた長さの1以上の文字列は所定の記述を含むことができ、たとえば、他のアクセス制限暗号通貨ウォレットの(に関連する)受取り口座に送信される複数の署名付きトランザクションのうちの最初の署名付きトランザクションのハッシュ値、階層的DAGの構造や、他のアクセス制限暗号通貨ウォレットの(に関連する)受取り口座に送信される複数の署名付きトランザクションのうちの1以上の最後の署名付きトランザクションのインデックスを含んでもよい。他のアクセス制限暗号通貨ウォレットは、挿入された限られた長さの1以上の文字列を解析して階層的DAGの構造を決定することができるので、仮口座からこのアクセス制限暗号通貨ウォレットに関連する受取り口座に移動される暗号通貨の額を導出することができる。
【0225】
アクセス制限暗号通貨ウォレット102は、1以上の条件が課された場合に、仮口座の1以上を閉鎖することができ、これはたとえば、暗号通貨資金をそれぞれの受取人に移動させる必要がもはやなく、したがって、仮口座がもはや必要ではない場合、所定の期間の後等の場合である。アクセス制限暗号通貨ウォレット102は、仮口座の1以上を閉鎖するのに1以上の方法及び/又は技術を適用することができる。
【0226】
例えば、特定の受取人に割り当てられる特定の仮口座がペイメントチャネル2-2マルチシグ口座として作成される場合、アクセス制限暗号通貨ウォレット102は、本技術分野で知られているように、特定の受取人と共同してペイメントチャネル2-2マルチシグ口座を閉鎖させる命令をネットワーク接続デバイス104に対して送信してもよい。
【0227】
口座の閉鎖をサポートする口座ベースの暗号通貨、たとえばリップル等に適用可能な別の例では、アクセス制限暗号通貨ウォレット102が仮口座を閉鎖させる命令を送信してもよい。任意選択的に、アクセス制限暗号通貨ウォレット102は、仮口座を閉鎖させる命令をネットワーク接続デバイス104に対して命令を送信してもよい。
【0228】
明示的な口座閉鎖をサポートしない口座ベースの暗号通貨、たとえばイーサリアム等に適用可能な別の例では、アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連し、ブロックチェーンに記録されている口座に1以上の(閉鎖)トランザクションを送信してもよい。具体的には、アクセス制限暗号通貨ウォレット102は、ネットワーク接続デバイス104に送信される署名付きトランザクションの1以上によって用いられるナンス、特に、未使用の署名付きトランザクションの、1以上のナンスを含む1以上の閉鎖トランザクションを送信してもよい。さらに、1以上の閉鎖トランザクションはゼロの暗号通貨額を含んでもよい。このように、1以上の閉鎖トランザクションは1以上の未使用の署名付きトランザクションの1以上のナンスを利用するので、これらの1以上のナンスは使用不可になり、1以上の未使用の署名付きトランザクションも使用不可になる。
【0229】
何らかの理由、たとえば、1以上の有効な署名付きトランザクションが送信されたことがなかったため、ブロックチェーンに記録されたことがなかった等の理由により、仮口座に仮想通貨の超過及び/又は余剰が含まれる場合がある。このような場合、仮口座に残された超過暗号通貨を1以上の方法及び/又は技術を用いてアクセス制限暗号通貨ウォレット102に関連する口座に移動させて戻すことができる。
【0230】
例示的な方法の1つでは、アクセス制限暗号通貨ウォレット102が複数の署名付き超過トランザクションを予め生成した場合、仮口座に残された超過暗号通貨の額に累積的に等しい部分額を含む前記署名付き超過トランザクションの1以上を、ネットワーク接続デバイス104が送信することができる。この技術は仮口座が新規の暗号通貨口座として作成される場合には容易に適用することができる。しかし、仮口座がペイメントチャネル2-2マルチシグ口座として作成される場合、ネットワーク接続デバイス104がそれぞれの受取人と共同して、仮口座からアクセス制限暗号通貨ウォレット102に関連する口座に超過暗号通貨を移動させるための1以上の超過トランザクションに署名することができる。受取人がこのような超過トランザクションに署名するのを躊躇し、ペイメントチャネル2-2マルチシグ口座に期限がある場合、期限の経過時に超過暗号通貨をアクセス制限暗号通貨ウォレット102に関連する口座に返送することができる。
【0231】
別の例では、仮口座が口座ベースの暗号通貨の新規の口座として作成される場合、直近に送信された署名付きトランザクションのナンスを、たとえば、容量制限入力インタフェイス216を介して挿入される、限られた長さの1以上の文字列として挿入することによって、超過暗号通貨の額をアクセス制限暗号通貨ウォレット102に報告(通知)してもよい。アクセス制限暗号通貨ウォレット102は、直近に送信された署名付きトランザクションのナンスに基づいて、仮口座に残っている超過暗号通貨の額を導出することができ、ブロックチェーンに記録され、超過暗号通貨額を含む1以上のトランザクションをアクセス制限暗号通貨ウォレット102に関連する口座に送信してもよい。
【0232】
別の例では、仮口座がトランザクションベースの(UTXO)暗号通貨の新規の口座として作成される場合、超過暗号通貨は階層的DAG構造中で識別されるすべての使用不可及び未使用の署名付きトランザクションを含んでもよい。使用不可又は未使用の署名付きトランザクションのインデックス(トランザクションID)を、たとえば、容量制限入力インタフェイス216を介して挿入される、限られた長さの1以上の文字列として挿入することによって、超過暗号通貨の額をアクセス制限暗号通貨ウォレット102に報告(通知)してもよい。アクセス制限暗号通貨ウォレット102は、直近に送信された署名付きトランザクションのトランザクションIDに基づいて、仮口座に残っている超過暗号通貨の額を導出することができ、ブロックチェーンに記録され、超過暗号通貨額を含む1以上のトランザクションをアクセス制限暗号通貨ウォレット102に関連する口座に送信してもよい。
【0233】
任意選択的に、多数の異なる署名付きトランザクションが送信されることで階層的DAG構造に「穴」が残ることにより、階層的DAG構造が多くのセグメントに区切られる場合、アクセス制限暗号通貨ウォレット102は階層的DAG構造を再生するように指示されてもよい。具体的には、アクセス制限暗号通貨ウォレット102は、容量制限入力インタフェイス216を介してアクセス制限暗号通貨ウォレット102に報告されて戻される超過暗号通貨額の額を用いて階層的DAG構造を再生するように指示されてもよい。
【0234】
いくつかの暗号通貨ブロックチェーンプロトコルにしたがって、ブロックチェーンネットワーク内で送信されるトランザクションの1以上は、それぞれのトランザクションをブロックチェーンに記録する報酬としてコンピュータノード204の1以上に配分される手数料を含むことができる。しかし、手数料(料金)の額は固定ではない場合があり、そのため、アクセス制限暗号通貨ウォレット102は、将来、署名付きトランザクションが実際に送信されて、ブロックチェーンに記録される必要があるときに適用される実際の手数料額(料金)が不明であるのに、署名付きトランザクションを生成しなければならないという困難に面する場合がある。
【0235】
この制約に対処するために、アクセス制限暗号通貨ウォレット102は1以上の方法及び/又は技術を適用することができる。
【0236】
いくつかの暗号通貨では、各トランザクションをブロックチェーンに記録する手数料額はそれぞれのトランザクション自身の内に配分される場合がある。たとえば、トランザクションベースの暗号通貨では、通常、手数料額をトランザクションの1以上のインプットとトランザクションの1以上のアウトプットとの差額で表わすことができる。
【0237】
いくつかの例示的な実施形態では、アクセス制限暗号通貨ウォレット102は、将来、署名付きトランザクションが実際に送信される際に適用される複数の手数料額の予測及び/又は推定を行なうことができる。アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクションの各々を署名付きトランザクションの集合に各々拡張することができ、集合の署名付きトランザクション毎に暗号通貨の各推定額が手数料に割り当てられる。このことは、アクセス制限暗号通貨ウォレット102が、各受取り口座に移動される暗号通貨の既定の部分額毎に署名付きトランザクションを1つのみ生成するのではなく、複数の推定手数料額について、それぞれ既定の部分額の複数の署名付きトランザクションの集合を生成することができることを意味する。
【0238】
必要な暗号通貨額を受取り口座に移動させるために送信される1以上の署名付きトランザクションを選択する場合、ネットワーク接続デバイス104は、移動させる必要がある額以上の部分額を含む署名付きトランザクションの集合を識別することができ、手数料額に応じて集合の署名付きトランザクションの1つを選択することができる。具体的には、ネットワーク接続デバイス104は、十分な手数料額、すなわち、ブロックチェーンにトランザクションを記録するためにコンピュータノード204によってその時点で収集されている手数料(料金)以上の手数料額を含む署名付きトランザクションを選択することができる。
【0239】
他の例示的な実施形態では、アクセス制限暗号通貨ウォレット102は、ネットワーク接続デバイス104に関連する暗号通貨口座に手数料を移動させるための専用の1以上の手数料配分トランザクションを生成することができ、1以上の手数料配分トランザクションをネットワーク接続デバイス104に送信することができる。1以上の手数料配分トランザクションは、ブロックチェーンに署名付きトランザクションを記録するコンピュータノード204(マイナ)の1以上に手数料(料金)を配分する(支払う)ためにネットワーク接続デバイス104によって用いられ得る暗号通貨を含むことができる。仮口座から受取り口座に暗号通貨資金を移動させるための1以上の署名付きトランザクションを送信した後、リアルタイムで、ネットワーク接続デバイス104はさらに、ネットワーク接続デバイス104に関連する暗号通貨口座からマイナコンピュータノード204に関連する暗号通貨口座に手数料を移動させるための別のトランザクションを送信することができる。特に、手数料トランザクションもブロックチェーンに記録される必要があるので、ネットワーク接続デバイス104に関連する暗号通貨口座からマイナコンピュータノード204に関連する暗号通貨口座に暗号通貨を移動させるために送信される手数料トランザクションは、1以上の署名付きトランザクションと手数料トランザクションとの両方をブロックチェーンにそれぞれ記録する手数料(料金)を含む。この技術はスマートマイナ(smart miner)であるマイナコンピュータノード204とともに用いることができ、これらのノードは、手数料を受け取らずにブロックチェーンに1以上の第1のトランザクションを記録し、その後に第1のトランザクションと第2のトランザクションとの両方のための手数料を含み得る第2のトランザクションを通じて手数料を受け取るように構成されることを意味する。当然、ネットワーク接続デバイス104は1以上のスマートマイナコンピュータノード204と通信して、1以上の署名付きトランザクションをブロックチェーンに記録するための手数料が後のトランザクションに含まれることを通知することができる。
【0240】
他の例示的な実施形態では、アクセス制限暗号通貨ウォレット102は、複数のコンピュータノード204のうちの1以上のパートナコンピュータノード204と取決めを確立することができる。この取決めにおいて、仮口座の1以上から1以上の各受取り口座に暗号通貨を移動させるためにネットワーク接続デバイス104によって送信される複数の署名付きトランザクションの各々を、パートナコンピューたノード204の1以上が記録することを取り決めることができる。取決めにおいて、定期的、又は事前等に1以上のパートナコンピュータノード204に渡される手数料をさらに定めることができる。
【0241】
任意選択的に、アクセス制限暗号通貨ウォレット102は、複数の署名付きトランザクションの署名を1以上の秘密情報、たとえば、秘密値、秘密文字列、秘密番号等を用いて暗号化してもよい。このことは、アクセス制限暗号通貨ウォレット102からネットワーク接続デバイス104に送信されるすべての署名付きトランザクションが暗号化された署名を含むことを意味する。
【0242】
暗号化された署名を含む署名付きトランザクションは有効な暗号通貨トランザクションではないので、署名付きトランザクションの1以上を送信する前に、ネットワーク接続デバイス104はまず1以上の署名付きトランザクションのそれぞれの署名を復号しなければならない。したがって、署名付きトランザクションの1以上を送信するためには、ネットワーク接続デバイス104は、安全に保護され、又は保管され、ユーザ202の厳重な管理の下でネットワーク接続デバイス104に提供され得る1以上の秘密情報を取得しなければならず、したがって、暗号通貨トランザクションにさらなるセキュリティ及び安全レベルが付加される。
【0243】
アクセス制限暗号通貨ウォレット102は、署名付きトランザクションの署名を暗号化するのに用いられる1以上の秘密情報を生成するために1以上の方法を用いることができる。たとえば、アクセス制限暗号通貨ウォレット102は、1以上の秘密情報として機能する1以上の乱数、秘密文字列等を発生させるために乱数発生器及び/又は1以上の疑似ランダムアルゴリズムを用いることができる。
【0244】
アクセス制限暗号通貨ウォレット102は、署名付きトランザクションの署名を1以上の方法、技術及び/又はアルゴリズム、特に暗号化技術を用いる1以上の秘密情報を用いて暗号化することができる。たとえば、アクセス制限暗号通貨ウォレット102は1以上のハッシュ関数を用いて、秘密情報と組み合せて各トランザクションの署名に用いられるハッシュ値、たとえばハッシュベースメッセージ認証符号(Hash-based Message Authentication Code:HMAC)等を計算することができる。
【0245】
秘密情報のロバストネスは、本技術分野で知られているように、その複雑さから導出することができる。しかし、当然ながら1以上の秘密情報が複雑になればなるほど、特にユーザ202によって手動で行なわれる場合には、1以上の秘密情報の保全、保管及び/又は管理がより困難になる。たとえば256ビットの1以上の秘密情報を用いれば、このような1以上の秘密情報は、たとえば総当たり攻撃を用いて破ること、解読すること及び/又はその他の方法で獲得することがきわめて困難であり、きわめて高いセキュリティレベルを設定することができる。しかし、より単純な秘密情報、たとえば、ビット数が40ビットを僅かに超える秘密情報、具体的には、1以上の高度に複雑なアルゴリズム、たとえば一方向暗号関数を用いる秘密情報を用いることができ、これは、比較的短い秘密情報を用いて高度に複雑なアルゴリズムによって暗号化されたデータを解読するために適用される総当たり攻撃の労力及び/又は時間のコストが、署名付きトランザクションの額を超える場合があるので、この総当たりの労力の効果がなくなり、経済的ではなくなるからである。このような40ビットの秘密情報は少数のシンボル及び/又は符号(たとえば10個未満)を含む短い文字列で符号化しかつ/又は表現することができ、手動であっても容易に保全することができる。
【0246】
アクセス制限暗号通貨ウォレット102は署名付きトランザクションのすべての署名を暗号化するために1つの秘密情報を用いてもよいが、署名付きトランザクションの安全性を高めるために、アクセス制限暗号通貨ウォレット102は、署名付きトランザクションを暗号化するために複数の秘密情報を用いてもよい。
【0247】
特に、複数の秘密情報は、後で署名付きトランザクションを送信するときに、それぞれの署名付きトランザクションを復号するのに各秘密情報が一度用いられるように複数の秘密情報を作成することができる。例えば、アクセス制限暗号通貨ウォレット102は、各署名付きトランザクションが複数の秘密情報のうちの対応する(異なる)秘密情報に関連するように複数の署名付きトランザクションの各々を暗号化するために、複数の秘密情報のうちの対応する秘密情報を用いてもよい。別の例では、アクセス制限暗号通貨ウォレット102は、代わりの別の複数の署名付きトランザクションを暗号化するために複数の秘密情報のうちの各1つの秘密情報を用いてもよく、代わりの別の複数の署名付きトランザクションから署名付きトランザクションを1つだけ選択して送信することができる。たとえば、1つの秘密情報を署名付きトランザクションの集合を暗号化するために用いてもよく、当該集合の署名付きトランザクションは、たとえば、上述したように口座ベースの暗号通貨向けに生成することができる均一分布500などの均一分布構造において同じナンスを含む。
【0248】
アクセス制限暗号通貨ウォレット102は、特定の署名付きトランザクションの暗号化された署名を復号する必要がある場合に、このトランザクションの署名を復号するのに特定の署名付きトランザクションに関連する適正な秘密情報を用いることができるように、複数の秘密情報の各々を、各秘密情報に関連する各署名付きトランザクションの識別データにさらに関連づけることができる。各署名付きトランザクションの識別データは、各署名付きトランザクションから抽出され、各署名付きトランザクションを確定的かつ最終的かつ一意に識別することができる1以上のデータアイテムを含んでもよい。
【0249】
署名付きトランザクションの暗号化及び復号に用いられる秘密情報を保管及び又は保持し、相補的に、保管した秘密情報をネットワーク接続デバイス104に提供するために、いくつかの方法及び/又は実施例を適用することができる。
【0250】
例えば、秘密情報の1以上は、1以上の形態、たとえば、印刷物形態(用紙など)、記憶媒体中に保管される形態等で、1以上のユーザたとえばユーザ202によって保持されてもよい。このような実施形態では、アクセス制限暗号通貨ウォレット102は、1以上の秘密情報をたとえばアクセス制限暗号通貨ウォレット102のディスプレイを介してユーザ202に提示してもよい。別の例では、アクセス制限暗号通貨ウォレット102は、秘密情報を、特に、安全な形態、たとえば、安全なバーコード、QRコード(登録商標)等の形態で印刷してもよい。
【0251】
ユーザ202が保持することができる秘密情報の個数は極めて限定的であり得るので、このような実施例は署名付きトランザクションの数が少ない場合に適用可能であるといえる。しかし、秘密情報の利用を増進し、秘密情報の個数制限を多数の署名付きトランザクションに拡張するために、複数の署名付きトランザクションが同じ秘密情報を共有することができる。具体的には、トランザクションの一群を形成する代替的な署名付きトランザクションによって同じ秘密情報を共有することができ、最終的に代替的な署名付きトランザクションのうちの1つのみをそれぞれの受取り口座に送信することができる。たとえば、代替的な署名付きトランザクションは、すべてが同じ部分額、同じ受取り口座等を含む署名付きトランザクションの集合を含み、ただし代替的な署名付きトランザクションの各々が異なる手数料を定めるものであってもよい。したがって、最終的には選択された手数料に応じて代替的な別の署名付きトランザクションの集合のうちの1つのみが選択されることができ、これらの代替的な署名付きトランザクションのすべてが同じ秘密情報を共有し、すなわち、同じ秘密情報を用いて暗号化された署名が付けられてもよい。
【0252】
さらに、複数の署名付きトランザクションの署名を暗号化するのに1以上の秘密情報が用いられる場合、アクセス制限暗号通貨ウォレット102は、各秘密情報に関連する各署名付きトランザクションの識別データに結び付けられた秘密情報の各々を提示及び/又は印刷することができる。
【0253】
ネットワーク接続デバイス104が、暗号化された署名が付けられた署名付きトランザクションの1以上を送信するように指示及び/又は操作される場合、ネットワーク接続デバイス104は、各署名付きトランザクションを送信する前に、当該署名付きトランザクションの署名を復号するために、当該署名付きトランザクションに関連する秘密情報を提供するようユーザ202に要求することができる。例えば、ユーザ202はネットワーク接続デバイス104の1以上のユーザインタフェイス、たとえば、キーボード、タッチ画面等を介して秘密情報をタイプしてもよい。別の例では、ネットワーク接続デバイス104は印刷された秘密情報、たとえば、バーコード、QRコード(登録商標)等をスキャンしてもよい。
【0254】
署名付きトランザクションの署名を暗号化するのに複数の秘密情報が用いられた場合、ネットワーク接続デバイス104は、それぞれの署名付きトランザクションから識別データを取得して、取得された識別データをユーザ202に提示することができる。ユーザ202は提示された識別データに関連する秘密情報を選択して、それぞれの署名付きトランザクションの署名を復号するために、これをネットワーク接続デバイス104に提供することができる。
【0255】
別の例では、秘密情報の1以上を、1以上のポータブル記憶デバイス、たとえば、記憶媒体(たとえば、メモリスティックなど)、スマートフォン、専用の秘密情報記憶デバイス等に記憶してもよい。一般的には、ポータブル記憶デバイスは典型的には、これにアクセスするためにユーザ認証、たとえば、パスワード、アクセスコード、生体認証等を必要とする安全なデバイスであってもよい。1以上のポータブル記憶デバイスを、アクセス制限暗号通貨ウォレット102の、1以上の有線及び/又は無線入力/出力(I/O)インタフェイス、たとえば、USBポート、シリアルポート、RFリンク、近距離無線通信(NFC)ポート及び/又はその他に取り付けられるように構成してもよい。
【0256】
したがって、1以上のポータブル記憶デバイスは、複数の署名付きトランザクションの署名を暗号化するのに複数の秘密情報が用いられる場合に、関連する署名付きトランザクションの識別データに任意選択的に結び付けられる1以上のポータブル記憶デバイス中の1以上の秘密情報を記憶することができる、アクセス制限暗号通貨ウォレット102のI/Oインタフェイスに取り付けられてもよい。
【0257】
暗号化された署名を有する署名付きトランザクションの1以上を送信するようにネットワーク接続デバイス104が指示及び/又は操作された場合、1以上のポータブル記憶デバイスは、ネットワーク接続デバイス104の1以上のI/Oインタフェイスに取り付けられ、ネットワーク接続デバイス104は1以上のポータブル記憶デバイスに記憶されている秘密情報を取得することができる。秘密情報が複数ある場合、それぞれの署名付きトランザクションから引き出された識別データにしたがって、それぞれの署名付きトランザクションに対して適切である秘密情報をネットワーク接続デバイス104が取得し、引き出された識別データに関連する(結び付けられる)1以上のポータブル記憶デバイス中の秘密情報を選択してもよい。
【0258】
任意選択的に、署名付きトランザクションの署名を暗号化するのにアクセス制限暗号通貨ウォレット102によって用いられる1以上の秘密情報を、アクセス制限暗号通貨ウォレット102に対して上述されている1以上の方法を用いて、ポータブル記憶デバイスの1以上によって生成してもよく、たとえば、乱数発生器、疑似ランダムアルゴリズム等を用いてもよい。特に、ポータブル記憶デバイスは秘密情報を生成するのにアクセス制限暗号通貨ウォレット102によって用いられるシードを有してもよく、アクセス制限暗号通貨ウォレット102によって適用される同じ方法及び/又はアルゴリズムとともにシードを用いることで、アクセス制限暗号通貨ウォレット102によって生成される秘密情報を確定的に計算してもよい。
【0259】
いくつかの実施形態に係れば、1以上の秘密分散アルゴリズム及び/又は秘密分散プロトコル、たとえばシャミア秘密分散法(Shamir Secret Sharing:SSS)等を用いて、後でそれぞれの秘密情報を再構築するために用いることができる複数の秘密情報シェアに秘密情報の1以上を分割することができる。アクセス制限暗号通貨ウォレット102はさらに、コンピュータノード204の各々が複数の秘密情報シェアのうちの対応する秘密情報シェアのみを有するように、複数の秘密情報シェアをコンピュータノード204などの複数のコンピュータノードに安全に送信することができる。
【0260】
暗号化された署名を有する署名付きトランザクションの1以上を送信するようにネットワーク接続デバイス104が指示及び/又は操作されると、複数のコンピュータノード204が1以上の署名付きトランザクションそれぞれの署名を共同して復号するように1以上のMPCセッションに関与することができる。特に、ネットワーク接続デバイス104が複数のコンピュータノード204の一群によって利用される場合に、このような配置及び/又は実施例を適用することができる。
【0261】
任意選択的に、各署名付きトランザクションの署名を暗号化する場合、特に、複数の秘密情報が用いられ、多数の秘密情報の保全、保管、管理及び/又はその他支配を行なうために限定的な能力や技能しか持たないユーザ202によって秘密情報が保持されるとき、署名付きトランザクションの個数を大幅に削減してもよい。署名付きトランザクションの個数を制限するのにいくつかの方法を適用することができる。
【0262】
たとえば、既定の総額の均一分布を特定の口座ベースの暗号通貨に適用して既定の粒度にしたがって署名付きトランザクションの集合を生成するとする。このような場合、たとえば、署名付きトランザクションに対して定められる部分額の粒度を減少させることによって集合の署名付きトランザクションの総数を減少させることで、秘密情報の個数を削減することができる。これは、部分額の個数、すなわち、
図5に示されている均一分布においてNを減少させることによって表現することができる。別の例では、複数の署名付きトランザクションにおいて同じ秘密情報を共有することによって秘密情報の個数を減少させてもよい。たとえば、同じナンス、同じ受取り口座及び同じ部分額を共有するすべての署名付きトランザクションの署名を暗号化するために、1つの秘密情報を用いてもよい。これは、第1のナンス(ナンス1)を含むすべての第1の署名付きトランザクションを暗号化するのに第1の秘密情報を用い、第2のナンス(ナンス2)を含むすべての第2のトランザクションを暗号化するのに第2の秘密情報を用い、同様にして、第Mのナンス(ナンスM)を含むすべての第Mのトランザクションを暗号化するために第Mの秘密情報を用いることによって、
図5に示されている均一分布において表現することができる。
【0263】
各署名付きトランザクションの各インプットが先行する署名付きトランザクションのアウトプットから導出されるトランザクションベースの暗号通貨(UTXO)では、既定の粒度、特に、署名付きトランザクションの個数の減少をもたらすことができる低解像度の粒度にしたがって、複数の署名付きトランザクションを生成するのに1以上の方法及び/又はアルゴリズムを適用することができる。
【0264】
たとえば、アクセス制限暗号通貨ウォレット102は、アクセス制限暗号通貨ウォレット102に関連する仮口座向けの暗号通貨の特定の額の1つのトランザクションを作成することができる。アクセス制限暗号通貨ウォレット102は、既定の低解像度の粒度にしたがって特定の額を複数の部分額に分割する特定の分割をさらに定めることができ、部分額は等しくても等しくなくてもよい。アクセス制限暗号通貨ウォレット102は次いで、各々が各受取り口座(宛先口座)に関連する1以上の仮口座の各々向けの複数の署名付きトランザクションを生成することができ、各署名付きトランザクションによって特定の額の部分額の特定の組合せの、各受取り口座向けの移動が定められる。受取り口座の各々向けの署名付きトランザクションの各々は、各秘密情報を用いて署名されることができる。
【0265】
それぞれの受取り口座に暗号通貨の特定の出金額を移動させるように操作及び/又は指示されると、ネットワーク接続デバイス104は、特定の出金額以上である部分額の合計を累積的に含む署名付きトランザクションを選択することができる。
【0266】
たとえば、4暗号通貨単位の総額が割り当てられるとすると、アクセス制限暗号通貨ウォレット102は、4単位のトランザクションを作成してアクセス制限暗号通貨ウォレット102に関連する仮口座に送信することができる。アクセス制限暗号通貨ウォレット102は、既定の低解像度の粒度にしたがって、4単位を複数の部分額に分割する特定の分割を定めることができ、部分額の特定の組合せを移動させるために複数の署名付きトランザクションを受取り口座の各々に送信することができる。
【0267】
特に、アクセス制限暗号通貨ウォレット102は、受取り口座毎に以下の署名付きトランザクションを作成することができる。第1の署名付きトランザクションが第1の部分額の移動を定めることができ、第2の署名付きトランザクションが第2の部分額の移動を定めることができ、第3の署名付きトランザクションが第3の部分額の移動を定めることができ、第4の署名付きトランザクションが第4の部分額の移動を定めることができる。さらに、第5の署名付きトランザクションが第1及び第2の部分額の合計の移動を定めることができ、第6の署名付きトランザクションが第2及び第3の部分額の合計の移動を定めることができ、第7の署名付きトランザクションが第3及び第4の部分額の合計の移動を定めることができる。さらに、8つの署名付きトランザクションが第1、第2及び第3の部分額の合計の移動を定めることができ、第9の署名付きトランザクションが第2、第3及び第4の部分額の合計の移動を定めることができ、第10の署名付きトランザクションが部分額のすべて、すなわち、第1、第2、第3及び第4の部分額の合計の移動を定めることができる。
【0268】
リアルタイムでネットワーク接続デバイス104が移動させるように指示された第1のトランザクションが2暗号通貨単位の額に用いられるトランザクションであるとする。簡潔にするために、分割によって最初に定められたすべての部分額が等しく、4つの部分額が存在し、各々が暗号通貨のうちの1単位に用いられるとする。このような場合、ネットワーク接続デバイス104は、全体として2暗号通貨単位を含む第1及び第2の部分額の合計の移動を定める第5の署名付きトランザクションを選択することができる。それぞれの秘密情報を用いて第5の署名付きトランザクションの署名を復号した後、ネットワーク接続デバイス104は、第5の署名付きトランザクションを受取り口座に送信することができる。受取り口座にさらに1暗号通貨単位を移動させるようにネットワーク接続デバイス104が指示されたとする。このような場合、ネットワーク接続デバイス104は、1暗号通貨単位に等しい第3の部分額を含む第3の署名付きトランザクションを選択してもよく、第3の署名付きトランザクションの署名を、当該署名のそれぞれの秘密情報を用いて復号した後、第3の署名付きトランザクションをネットワーク接続デバイス104が受取り口座に送信することができる。
【0269】
あり得ることとして、この方法では手数料が過大になるおそれがある。特に、暗号通貨の総額が高額であり、複数の部分額(複数の)に分割されると、可能な部分額の組合せの全てについて複数の署名付きトランザクションが生成され、1以上の暗号通貨移動に署名付きトランザクションの組合せによる合計額が必要である可能性があり、またそのように推定もされる。したがって、最初の分割には実際上効果がなく、複数の署名付きトランザクションのうちの少なくともいくつかの署名付きトランザクションが最終的に未使用になる場合があるので、この複数の署名付きトランザクションの各々に手数料が適用されると、過大な手数料がかかる。
【0270】
この制約に対処するために、トランザクションベースの暗号通貨(UTXO)に別の方法を適用することができる。アクセス制限暗号通貨ウォレット102はまず、既定の低解像度の粒度にしたがって、総額のうちの任意の部分額と、部分額の任意の組合せ(合計)とを移動させるための、あり得るすべてのトランザクションシーケンス(順序)を定める階層構造を作成することができる。したがって、階層構造は複数の枝を含むことができ、枝野各々は部分額移動のそれぞれのシーケンスを定める。アクセス制限暗号通貨ウォレット102は次いで、階層構造にしたがってアクセス制限暗号通貨ウォレット102に関連する仮口座向けの複数のトランザクションを生成することができる。したがって、仮口座向けのトランザクションは各部分額と2つ以上の部分額の組合せとを含む額と、すべてのあり得る暗号通貨額移動シーケンスとをカバーすることができ、各署名付きトランザクションのインプットは、このトランザクションに先行する署名付きトランザクションのアウトプットから導出される。アクセス制限暗号通貨ウォレット102はその後、複数のトランザクションをアクセス制限暗号通貨ウォレット102に関連する仮口座に送信することができる。
【0271】
アクセス制限暗号通貨ウォレット102はさらに、アクセス制限暗号通貨ウォレット102に関連する仮口座に送信されるトランザクションを複製した、1以上の受取り口座向けの複数の署名付きトランザクションを生成してこれをネットワーク接続デバイス104に送信することができる。言い換えると、アクセス制限暗号通貨ウォレット102は、受取り口座毎に、仮口座に送信されるトランザクションの各々について、それぞれの署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102は、各受取り口座向けの各署名付きトランザクションの署名を、それぞれの秘密情報を用いて暗号化することができ、この署名付きトランザクションをネットワーク接続デバイス104に送信することができる。
【0272】
結果として、すべての受取り口座に対して作成されるすべての署名付きトランザクションが、仮口座に移動させられるそれぞれのトランザクションから導出されるので、各署名付きトランザクションのインプットは、このトランザクションに先行する署名付きトランザクションのアウトプットから、整合性を保って正しく導出される。
【0273】
暗号通貨の特定の額を特定の受取り口座に送信するように指示及び/又は操作されると、ネットワーク接続デバイス104はリアルタイムで、特定の額以上の暗号通貨額を含む適切な署名付きトランザクションを選択することができる。選択された署名付きトランザクションを、このトランザクションのそれぞれの秘密情報を用いて復号した後、ネットワーク接続デバイス104は、選択された署名付きトランザクションを特定の受取り口座に送信することができる。特に、ネットワーク接続デバイス104は、第1の署名付きトランザクションに対して、署名付きトランザクションのシーケンスを定める構造の枝を選択することができ、第1の署名付きトランザクションは特定の額以上の部分額を含む。これ以降、ネットワーク接続デバイス104は、以降のすべての暗号通貨移動に対して、選択された枝を用いなければならない。このことは、任意の受取り口座向けの各暗号通貨移動に対して、ネットワーク接続デバイス104は選択された枝の1以上の以降の署名付きトランザクションを選択することができ、以降の署名付きトランザクションの各々のインプットが、このトランザクションに先行する署名付きトランザクションのアウトプットから導出されることを意味する。
【0274】
この実施例では、任意の受取り口座向けの各暗号通貨移動にはブロックチェーンに記録される2つの署名付きトランザクションが関与し、これにより手数料がかかるので、署名付きトランザクションを受取り口座に送信することに対して支払われる総手数料を大幅に削減することができる。前記2つの署名付きトランザクションは、アクセス制限暗号通貨ウォレット102に関連する仮口座に送信されるそれぞれのトランザクションと、それぞれの受取り口座に送信される対応する署名付きトランザクションとを含む。署名付きトランザクションは階層構造にしたがって作成されるので、仮口座に送信される各トランザクションはインプット1つのみと2つのアウトプットとを含むことができ、受取り口座の1つに送信される各署名付きトランザクションは1つのインプットと1つのアウトプットとを含むことができる。トランザクションベースの暗号通貨(UTXO)のすべてではないにしてもそのほとんどでは、手数料はトランザクションのサイズに基づく。したがって、1つの署名付きトランザクション当たりのインプット及びアウトプットの個数を削減することで、各署名付きトランザクションが複数のインプット及びアウトプットを含む場合がある上述の実施例と比較して、各署名付きトランザクションの手数料を大幅に削減することができ、したがって、手数料の総額を大幅に削減することができる。
【0275】
図9を参照すると、これは、本発明のいくつかの実施形態に係る、個数を削減した署名付きトランザクションを用いて暗号通貨資金を1以上の受取り口座に移動させるために構築される例示的な階層構造の概略図である。
【0276】
1以上の受取り口座に暗号通貨を移動させるための複数の署名付きトランザクションを作成するために、アクセス制限暗号通貨ウォレット102などのアクセス制限暗号通貨ウォレットによって、例示的な階層構造900を作成することができる。特に、署名付きトランザクションの署名の暗号化をサポートするために、アクセス制限暗号通貨ウォレット102は、個数が制限され、典型的には少数の署名付きトランザクションを生成するための構造900を作成することができる。
【0277】
簡潔にするために、総額が5暗号通貨単位の構造900が示されており、部分額の粒度は1暗号通貨単位であるように定められている。
【0278】
示されているように、構造900は5つの枝を含んでもよく、各々は、5暗号通貨単位の総額に累積的に等しい部分額移動の各シーケンス(順序)を定めている。たとえば、第1の枝902は満額である5単位の総額の1つのトランザクションを含むことができる。別の例では、第2の枝904は4単位の1番目のトランザクションを含むことができ、1番目のトランザクションには1単位の2番目のトランザクションが後続する。別の例では、第3の枝906は3単位の1番目のトランザクションを含むことができ、1番目のトランザクションには代替的な2つのシーケンス経路、すなわち第1の経路及び第2の経路が後続し、第1の経路は2単位の2番目のトランザクションを含み、第2の経路は1単位の2番目のトランザクションを含み、この2番目のトランザクションには別の1単位の3番目のトランザクションが後続する。別の例では、第4の枝908は2単位の1番目のトランザクションを含むことができ、1番目のトランザクションには代替的な3つのシーケンス経路、すなわち第1の経路、第2の経路及び第3の経路が後続し、第1の経路は3単位の2番目のトランザクションを含み、第2の経路は2単位の2番目のトランザクションを含み、この2番目のトランザクションには1単位の3番目のトランザクションが後続し、第3の経路は1単位の2番目のトランザクションを含み、この2番目のトランザクションには代替的な2つの下位経路、すなわち第1の下位経路及び第2の下位経路が後続し、第1の下位経路は2単位の3番目のトランザクションを備え、第2の下位経路は1単位の3番目のトランザクションを備え、この3番目のトランザクションには別の1単位の4番目のトランザクションが後続する。別の例では、第5の枝910は他の枝について説明された論理にしたがうが、1番目のトランザクションは1単位のトランザクションを定める。
【0279】
このような場合、アクセス制限暗号通貨ウォレット102は、構造900にしたがってアクセス制限暗号通貨ウォレット102に関連する仮口座向けの複数のトランザクションを生成することができる。このことは、構造900のトランザクションの各々が、アクセス制限暗号通貨ウォレット102によって仮口座に送信されるそれぞれのトランザクションによって表わされることを意味する。アクセス制限暗号通貨ウォレット102はさらに、仮口座に送信されるトランザクションを複製して得られる、受取り口座の各々向けの複数の署名付きトランザクションを生成することができる。アクセス制限暗号通貨ウォレット102は次いで、1以上の受取り口座のために作成される署名付きトランザクションの署名を暗号化することができ、暗号化された署名の署名付きトランザクションをネットワーク接続デバイス104などのネットワーク接続デバイスに送信することができる。
【0280】
暗号通貨の特定の額を特定の受取り口座に送信するように指示及び/又は操作されると、ネットワーク接続デバイス104はリアルタイムで、特定の額以上の暗号通貨額を含む適切な署名付きトランザクションを選択することができる。たとえば、1番目のトランザクションを作成するようにネットワーク接続デバイス104に指示がなされ、1番目のトランザクションが第1の受取り口座向けの3暗号通貨単位の移動であるとする。このような場合、ネットワーク接続デバイス104は構造900の枝906を選択することができ、3単位に用いられるトランザクションである枝906の1番目のトランザクション920に対応する、第1の受取り口座のために作成されるそれぞれの署名付きトランザクションを選択することができる。ネットワーク接続デバイス104は、選択された署名付きトランザクションの署名を、この署名のそれぞれの秘密情報を用いて復号することができ、選択された署名付きトランザクションを第1の受取り口座に送信することができる。
【0281】
1番目のトランザクションに続いて、第2の受取り口座に1単位を移動させるようにネットワーク接続デバイス104がさらに指示されたとする。ネットワーク接続デバイス104は、1単位以上の部分額である、以降の未使用の署名付きトランザクションを選択することができ、この場合、この以降の未使用の署名付きトランザクションは、1単位に用いられるトランザクションである枝906の第2の代替的な経路の2番目のトランザクションに対応する署名付きトランザクション922である。ネットワーク接続デバイス104は、選択された署名付きトランザクションの署名を当該署名のそれぞれの秘密情報を用いて復号することができ、選択された署名付きトランザクションを第2の受取り口座に送信することができる。
【0282】
受取り口座が1つのみ存在する(かつ手数料が固定である)場合、署名付きトランザクションの複製を回避することができ、署名付きトランザクションの当初の集合を用いることができる点に留意するべきである。特に、アクセス制限暗号通貨ウォレット102に関連する仮口座に部分額を移動させるためのトランザクションを作成する代わりに、アクセス制限暗号通貨ウォレット102は、複数の部分額とこれらの組合せとを移動させるのに用いられる複数の署名付きトランザクションを、1つの受取り口座に割り当てられた1つの仮口座に作成することができる。
【0283】
任意選択的に、署名付きトランザクションをブロックチェーンに記録する手数料のばらつきをサポートするために、アクセス制限暗号通貨ウォレット102は、署名付きトランザクションをブロックチェーンに記録するコンピュータノード204(マイナ)の1以上に補償するための、本明細書で前述した方法の1以上を用いてもよい。たとえば、スマートマイナであるとすると、アクセス制限暗号通貨ウォレット102は、手数料を固定、典型的には少なくして、仮口座向けの複数のトランザクションを生成してもよい。1以上のスマートマイナは、手数料が将来のトランザクションにおいて補償される見込みにおいて不十分であったとしても、仮口座への署名付きトランザクションを記録する場合がある。アクセス制限暗号通貨ウォレット102はさらに、仮口座に送信されるトランザクションを複製する、受取り口座の各々向けの複数の署名付きトランザクションを複数の異なる手数料で生成し、これらのトランザクションの署名を暗号化し、これらのトランザクションをネットワーク接続デバイス104に送信してもよい。
【0284】
仮口座から受取り口座の1以上に暗号通貨資金を移動させるために1以上の署名付きトランザクションを送信すると、ネットワーク接続デバイス104はリアルタイムで、適切な手数料を割り当てた部分額の署名付きトランザクションを選択することができる。特に、選択された1以上の署名付きトランザクションの手数料の額は、仮口座に今回送信される1以上のトランザクションと、仮口座に以前送信されたトランザクションの1以上との両方についての手数料を含むことができる。したがって、受取り口座に以前送信された1以上の署名付きトランザクションと、受取り口座向けの1以上の現在のトランザクションとの両方を記録する1以上のスマートマイナは、記録されたトランザクションの各々について適切な手数料を受け取ることができる。この実施例では、仮口座に最初に送信された1以上のトランザクションに1つの額の手数料のみが適用されるので、1以上のスマートマイナにこれらの署名付きトランザクションをブロックチェーンに記録する動機を与え、促しつつ、ブロックチェーンに記録される署名付きトランザクションの個数を大幅に削減することができる。
【0285】
本発明の様々な実施形態の説明を例示の目的で行なってきたが、本説明は網羅的ではなく、開示されている実施形態に限定されることも意図していない。説明されている実施形態の範囲及び精神を逸脱しない限りにおいて多数の修正及び変形が当業者であれば明らかである。本開示で用いられている用語は、実施形態の原理、実施上の適用例や、市場に見られる技術を超える技術的改善を最も良く説明し、また他の当業者が本開示で開示されている実施形態を理解するのを可能するように選択された。
【0286】
本出願から満期を迎える特許の存続期間中に、関連する多数のシステム、方法及びコンピュータプログラムが開発されると予想され、暗号通貨サービス、ブロックチェーンや安全チャネルという用語の範囲は、事前にこのようなすべての新技術を含むことを意図している。
【0287】
本開示で用いられている用語「約」は±10%を指す。
【0288】
用語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、及びこれらの活用形は「含むがこれに限定されない」ことを意味する。この用語は用語「からなる」及び「本質的に…からなる」ことを含む。
【0289】
「本質的に…からなる」という語句は、構成要素又は方法が追加の要素及び/又は工程を含む場合があることを意味し、しかし追加の要素及び/又は工程が、請求された構成要素又は方法の基本的特徴及び新規の特徴を実質的に変更しない場合に限る。
【0290】
本開示で用いられている単数形“a”、“an”及び“the”は、文脈上別段明確な指示がない限り、複数のものに対する適用を含む。たとえば、用語「化合物」又は「少なくとも1つの化合物」は、複数の化合物であって、これらの混合物を含み得る。
【0291】
用語「例示的な」は、「例、事例又は図示例として用いられる」を意味するように本開示で用いられている。「例示的な」ものとして説明されるいかなる実施形態も、好ましいものや、他の実施形態を超える効果を奏するものであると必ずしも解釈されるものではなく、かつ/又は他の実施形態の特徴の組込みを除外するものではない。
【0292】
用語「任意選択的に」は、「いくつかの実施形態で設けられるが、その他の実施形態では設けられない」を意味するように本開示で用いられている。本発明のいずれかの特定の実施形態は、これらの特徴に矛盾が生じない限り、複数の「任意選択的」な特徴を含んでもよい。
【0293】
本出願にわたって、本発明の様々な実施形態が範囲形式で示されている場合がある。範囲形式の記載は簡便にするためのものにすぎず、本発明の範囲に対する柔軟性を排する限定としては当然解釈されないことが当然理解される。したがって、範囲の記載は、具体的に開示されているこの範囲内の個々の数値だけでなく、あり得るすべての部分範囲を含むものと当然みなされる。たとえば、1~6などの範囲の記載は具体的に開示されているこの範囲内の個々の数値、たとえば1,2,3,4,5や6だけでなく、1~3,1~4,1~5,2~4,2~6,3~6などの部分範囲を含むと当然みなされる。このことは範囲の幅に関係なくあてはまる。
【0294】
本開示で数値範囲が示される場合は必ず、記載されている範囲内の記載されたあらゆる数(小数又は整数)を含むことを意図している。第1の記載数と第2の記載数と「の間の(ranging/ranges between)」という語句と、第1の記載数「から」第2の記載数「までの(ranging/ranges from)」という語句とは、本開示では同じ意味で用いられ、第1及び第2の記載された数と、これらの間のすべての小数及び整数とを含むことを意図している。
【0295】
明確にするために別々の実施形態を前提として説明されている本発明の特定の特徴を組み合せて1つの実施形態にも設けてもよいことが理解されよう。逆に、簡潔にするために1つの実施形態を前提として説明されている本発明の様々な特徴を別々に設けたり、任意に適切に部分的に組み合せて設けたり、説明されている本発明のその他の実施形態で適するものとして設けたりすることも行なってもよい。様々な実施形態を前提として説明されている特定の特徴は、これらがないと当該実施形態が動作不可能でない限り、当該実施形態の必須の特徴とみなすべきではない。
【0296】
本発明はその特定の実施形態をともなって説明されているが、多数の代替、修正及び変形が当業者であれば明らかであることは明白である。したがって、添付の請求項の精神及び広範な範囲に含まれるこのようなすべての代替、修正及び変形を包含することを意図している。
【0297】
本明細書で参照されるすべての刊行物、特許及び特許出願が、参照により本明細書に援用されることになる個々の刊行物、特許又は特許出願は、参照により具体的かつ個別に記載されているかのように、参照によりその全体が明細書に援用されることを出願人は意図している。これに加えて、本出願のいかなる参照の記載又は認識も、このような参照が先行技術として本発明に用いられるという自認として解釈されるものにはならない。見出しが用いられる範囲で、この記載又は認識は必然的に限定を課すものとしては当然解釈されない。これに加えて、本出願のいずれの優先権書面も、その全体が参照により本明細書に援用される。
【国際調査報告】