(57)【要約】【課題】本明細書はデジタルアセットの安全なブロックチェーントランザクションを実行するためのシステム、デバイス、方法及びサブネットワークを提供する。【解決手段】システムは、ブロックチェーントランザクションを生成し第１及び第２のモードで動作するように構成された端末と、端末が第１及び第２のモードで同時に動作するのを妨げるためのスイッチコネクタを含む。端末が第１のモードにあるとき端末はネットワークを介してシステムプロバイダサーバに接続され、システムプロバイダサーバは複数のブロックチェーンデバイスと通信する。端末が第２のモードにあるとき端末はコールドストレージデバイスと通信する。コールドストレージデバイスはブロックチェーントランザクションに署名するための秘密鍵を格納するように構成される。端末は秘密鍵を使用してコールドストレージデバイスのブロックチェーントランザクションに署名するように構成される。【選択図】図５
2021523650.tif 000002
【特許請求の範囲】
【請求項１】
デジタルアセットの安全なブロックチェーントランザクションを実行するためのシステムであって、前記システムは、
前記ブロックチェーントランザクションを生成するための端末であって、第１のモードおよび第２のモードで動作するように構成された端末と；
前記端末が前記第１のモードと前記第２のモードで同時に動作するのを妨げるためのスイッチコネクタと；
を備え、
前記端末が前記第１のモードにあるとき、前記端末は、ネットワークを介してシステムプロバイダサーバに接続され、前記システムプロバイダサーバは、複数のブロックチェーンデバイスと通信し；
前記端末が前記第２のモードにある場合、前記端末は、コールドストレージデバイスと通信し；
前記コールドストレージデバイスは、前記ブロックチェーントランザクションに署名するための秘密鍵を格納するように構成され；
前記端末は、前記秘密鍵を使用して前記コールドストレージデバイスで前記ブロックチェーントランザクションに署名されることを可能にするように構成される、システム。
【請求項２】
前記スイッチコネクタは、ハードウェアスイッチを含む、請求項１に記載のシステム。
【請求項３】
前記スイッチコネクタは、ソフトウェアスイッチを含む、請求項１に記載のシステム。
【請求項４】
前記署名済みのトランザクションは、前記署名済みのブロックチェーントランザクションを前記ブロックチェーンデバイスに送信する前に、少なくとも１つの他のパーティによって署名される、請求項１に記載のシステム。
【請求項５】
前記少なくとも１つの他のパーティは、システムプロバイダを含む、請求項４に記載のシステム。
【請求項６】
前記システムプロバイダサーバは、少なくとも１つのサービスプロバイダデバイスと通信する、請求項１に記載のシステム。
【請求項７】
デジタルアセットの安全なブロックチェーントランザクションを実行するための端末であって、前記端末は、
未署名のブロックチェーントランザクションを生成するためのプロセッサと；
前記未署名のブロックチェーントランザクションをコールドストレージデバイスに送信するためのコールドストレージ通信ポートであって、前記コールドストレージデバイスは、前記未署名のブロックチェーントランザクションに署名するための秘密鍵を格納し、前記端末は前記コールドストレージデバイスから署名済みのブロックチェーントランザクションを受信する、コールドストレージ通信ポートと；
前記署名済みのブロックチェーントランザクションをシステムプロバイダサーバに送信するためのネットワーク通信ポートであって、前記システムプロバイダサーバは、複数のブロックチェーンデバイスと通信する、ネットワーク通信ポートと；
前記秘密鍵がネットワークに公開されないように、前記コールドストレージ通信ポート及び前記ネットワーク通信ポートの一方を選択的に無効にするためのスイッチコネクタと；
を備える、端末。
【請求項８】
前記スイッチコネクタは、ハードウェアスイッチで構成される、請求項７に記載の端末。
【請求項９】
前記スイッチコネクタは、ソフトウェアスイッチで構成される、請求項７に記載の端末。
【請求項１０】
前記システムプロバイダサーバとのインバウンドおよびアウトバウンド通信を制限するように構成される、請求項７に記載の端末。
【請求項１１】
ネットワークを介してデジタルアセットの安全なブロックチェーントランザクションを実行するためのコールドストレージデバイスであって、前記コールドストレージデバイスは、
未署名のブロックチェーントランザクションに署名するための秘密鍵を有するコールドストレージウォレットを格納するメモリと；
端末から未署名のブロックチェーントランザクションを受信するための通信インターフェースであって、前記端末は前記ネットワークから切断され、前記通信インターフェースは、署名済みのブロックチェーントランザクションを前記端末に送信し、前記端末は前記ネットワークから切断される、通信インターフェースと；
前記秘密鍵を使用して前記未署名のブロックチェーントランザクションに署名することにより、前記署名済みのブロックチェーントランザクションを生成するように構成されたプロセッサに接続するためのプロセッサ接続と；
を備える、コールドストレージデバイス。
【請求項１２】
前記通信インターフェースは、暗号化されたブルートゥース（登録商標）、近距離無線通信、Ｗｉ−Ｆｉ（登録商標）、光通信、有線通信、および熱放射からなるグループから選択される少なくとも１つの通信メカニズムを使用する、請求項１１に記載のデバイス。
【請求項１３】
前記プロセッサはさらに、前記コールドストレージウォレットを生成するように構成される、請求項１１に記載のデバイス。
【請求項１４】
前記コールドストレージウォレットは、階層的な決定論的ウォレットである、請求項１３に記載のデバイス。
【請求項１５】
前記コールドストレージウォレットは、マルチ署名ウォレットである、請求項１１に記載のデバイス。
【請求項１６】
前記マルチ署名ウォレットは、少なくとも２つのパーティからの署名を必要とする、請求項１５に記載のデバイス。
【請求項１７】
通信ネットワークを介してデジタルアセットの安全なブロックチェーントランザクションを実行するための方法であって、前記方法は、
端末を使用して未署名のブロックチェーントランザクションを生成するステップであって、前記端末はオンラインモード及びオフラインモードを有する、ステップと；
前記オフラインモードにおいて、前記未署名のブロックチェーントランザクションを前記端末からコールドストレージデバイスに送信するステップであって、前記コールドストレージデバイスは、前記未署名のブロックチェーントランザクションに署名するための秘密鍵を格納する、ステップと；
前記秘密鍵を使用して、前記コールドストレージデバイスで前記未署名のブロックチェーントランザクションに署名するステップと；
前記署名済みのブロックチェーントランザクションを前記コールドストレージデバイスから前記端末に送信するステップと；
前記端末を前記オフラインモードから前記オンラインモードに切り替えるステップと；
前記オンラインモードにおいて、前記署名済みのブロックチェーントランザクションを前記端末から前記通信ネットワークを介してシステムプロバイダサーバに送信するステップであって、前記システムプロバイダサーバは複数のブロックチェーンコンピュータと通信する、ステップと；
を含む、方法。
【請求項１８】
マルチ署名認証プロセスに従って、第２の秘密鍵を用いて前記送信された署名済みのトランザクションに署名するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記送信された署名済みのトランザクションへの署名は、前記システムプロバイダサーバで実行される、請求項１８に記載の方法。
【請求項２０】
前記切り替えるステップは、スイッチコネクタを使用して実行される、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下は、概してブロックチェーン技術に関連し、より詳細には、安全なブロックチェーントランザクションを行うためのコンピュータシステム、方法、およびデバイスに関連する。
【背景技術】
【０００２】
ブロックチェーン技術の使用が普及するにつれて、ブロックチェーンアセットを含むトランザクションを処理する際のコンピュータセキュリティの問題により大きな注意が向けられている。たとえば、ブロックチェーンアセット（暗号通貨など）の盗難や、ブロックチェーンウォレットプロバイダおよび／または取引所のサーバのハッキングの事例が公表されている。５１％の攻撃は、ブロックチェーンのランドスケープに対する別の脅威である。ブロックチェーンアセットの価値と重要性が高まり、採用が主流になるにつれて、個人または組織は、ハッカーの手の届かないところにブロックチェーンアセットを格納し、ブロックチェーンエコシステム自体を標的とする他の種類の攻撃のリスクを軽減したいと思う場合がある。さらに、より重要なインフラストラクチャシステムがブロックチェーンの使用と実装を楽しみにしているため、セキュリティを念頭に置いてこの次世代システムを構築することの重要性は、最優先事項になる。
【０００３】
ブロックチェーンアセットは、１つ又は複数の暗号通貨（Bitcoin（登録商標）など）、会社の株式、またはその他の種類のアセットの共有、金融商品（債券、負債証券、オプション、先物、その他のデリバティブなど）、様々なタイプの格納データ（すなわち、文書、記録、ログなど）、身元の証明、旅行または政府の文書、ライセンス、およびスマートな契約上の合意への関心の任意のものを含むことができる。これらのアセットは、ブロックチェーン技術を使用して取引されることを特徴としている。ブロックチェーン技術は、分散型の方法でトランザクションの整合性を個別にチェックする様々なコンピュータによって実行される分散型台帳を含む。
【０００４】
たとえば、ブロックチェーンウォレット及びアセットを管理する様々な方法の中で、「ホット」ウォレットを使用することができる。ホットウォレットはオンラインポータルであり、通常はアカウントに関連付けられている。このポータルを介してトランザクションを開始し、ブロックチェーンアセットを格納してアクセスされる。通常、ウェブサイトであるため、実用性が高い。しかし、この状況の場合のように、利便性及びセキュリティはしばしば矛盾する。したがって、別のウォレット（通常は電子ファイル）をオンラインではない「コールドストレージ」に格納できる。これは、ほとんど取引されないブロックチェーンアセットまたは近い将来に取引されないブロックチェーンアセットを格納できる「安全な」場所として使用される。このコールドストレージは、金庫または普通預金口座に似ており、セキュリティパラメータを提供し得る。
【０００５】
ブロックチェーンアセット（暗号通貨など）を「含む」ウォレットは、少なくとも1つのキーの表現を格納および許可するサポート（物理的、デジタル、またはその他）であるため、このようなサポートの管理は慎重に行う必要がある。ブロックチェーンアセットを「含む」ウォレットを管理するプロセスは、安全な保管、暗号化、複製、バックアップ、作成−更新−読み取り−削除（ＣＲＵＤ）操作、配布、アクセス、回復メカニズムなどを含み得る。
【０００６】
現在、ほとんどのブロックチェーン技術は、従来のコンピュータまたはスマートフォンを介して使用、アクセス、または操作されている。これにより、ユーザは、これらのデバイスによって提供される攻撃対象領域から生じるセキュリティ問題のリスクにさらされる。これらのデバイスに見られる様々なサービスの利便性と、それらを適切に保護することの複雑さにより、ユーザはブロックチェーン技術に最適な運用セキュリティプラクティスを採用することが困難になっている。これに加えて、セキュリティ機能とそのような機能の実装プロセスを詳述する明確な公開文書が不足しており、ほとんどのエンドユーザはベストプラクティスが理想的なプラクティスからかけ離れている状況に陥っている。
【０００７】
さらに、ブロックチェーン技術は複雑であり、たとえば通常の支払いや記録管理ソリューションと比較して操作が難しいため、ブロックチェーンアセットへのアクセスが難しい場合がある。ブロックチェーンシステムの運用におけるこの困難は、ユーザデータを危険にさらす複数の機会をもたらす可能性がある。データが適切に処理および保護されていない場合、ブロックチェーンアセットの損失などの悪影響が生じる可能性がある。
【０００８】
現在、ブロックチェーンアセット（たとえば、暗号通貨、または典型的なトークン化なしでブロックチェーン上で取引されるデジタルアセット又は有形アセットなどの他のアセット）を取引したいユーザには２つのオプションを有する。ユーザは、暗号通貨を取引してＷｅｂベースの取引所またはウォレットプロバイダに格納し、取引所またはウォレットプロバイダが危険にさらされないことを期待できる。また、ユーザは、Ｗｅｂポータルにアクセスする自分の資格のセットが危険にさらされることを回避する必要がある。それ以外の場合、ユーザはコールドストレージデバイスまたはソフトウェアを使用して秘密鍵をオフラインで格納できる。オフラインで格納することにより、ユーザはホットストレージ（Ｗｅｂアカウント／サーバなど）の侵害から身を守る。非ホットストレージソリューションは、実装が難しく、ブロックチェーンアセットのトランザクションを設定して実行するためにかなりの労力を必要とする場合がある。場合によっては、ユーザは２つのオプションを組み合わせて使用できる。
【０００９】
マルウェアはプロセスの複数の段階で導入される可能性があるため、このアプローチは特に安全ではない。マルウェアは、コールドストレージデバイス、または鍵が辿る通過経路の他の構成要素に配信される可能性がある。たとえば、トランザクションのブロードキャストに使用されるインターネットに接続されたコンピュータは、そのデバイスがコールドストレージデバイスからの暗号化されていない（または一時的に復号された）秘密鍵を使用してトランザクションに署名するために使用される場合、ターゲットになる可能性がある。このアプローチはまた、効率的で信頼性の高いバックアップ戦略と計画の作成、ユーザによって保持される全てのバックアップのコピーが失われた又は破壊された場合の回復ソリューションの実装、および回復ソリューションを格納および使用するための安全な方法の確立を無視する。
【００１０】
ウォレットは、多くの場合、コールドストレージデバイスに格納されている暗号化されたファイルの形式を取る。格納されたウォレットに関連付けられたデジタルアセットにアクセスする必要がある場合（たとえば、トランザクションを行うため）、コールドストレージデバイスがインターネットに接続されたコンピュータに接続され得る、及び／又はウォレットがそのデバイスに手動で転送され得る。次に、暗号化されたウォレットファイルは、復号され（暗号化が使用されている場合）、ロックが解除されて、デジタルアセットを特定の公開アドレスに転送するトランザクションに署名するために使用される。しかし、このシナリオでの主な問題は、コールドストレージデバイスが何らかの方法で非コールドデバイスに接続されていることである。これは、ＵＳＢやその他の安全でない一時的な手段を介して行われ、暗号化されていない形式で秘密鍵を渡して、その非コールドデバイスに返される前に署名される。署名後、暗号化されていない秘密鍵は、インターネットに接続されたデバイスから可能な限り迅速に削除されるが、コードは数ＣＰＵサイクルの間メモリに残されていても、このコンテンツを簡単に取得できる。
【００１１】
したがって、安全なブロックチェーントランザクションを実行するための改善されたシステム、方法、およびデバイスが必要である。
【発明の概要】
【００１２】
以下は、概してブロックチェーン技術に関し、より具体的には、現在または将来のコンプライアンス要件と様々なポリシーを許可する一方で、安全なブロックチェーントランザクションを作成するためのコンピュータシステム、方法、およびサブネットワークに関する。
【００１３】
デジタルアセットの安全なブロックチェーントランザクションを実行するためのシステムが提供される。システムは、ブロックチェーントランザクションを生成するための端末を含む。端末は、第１のモードおよび第２のモードで動作するように構成される。システムは、端末が第１のモードと第２のモードとで同時に動作するのを妨げるためのスイッチコネクタを含む。端末が第１のモードの場合、端末はネットワークを介してシステムプロバイダサーバに接続される。システムプロバイダサーバは、複数のブロックチェーンデバイスと通信する。端末が第２のモードにあるとき、端末はコールドストレージデバイス（cold storage device）と通信する。コールドストレージデバイスは、ブロックチェーントランザクションに署名するための秘密鍵（および派生鍵）を格納するように構成される。端末は、適切な秘密鍵を使用して、コールドストレージデバイスでブロックチェーントランザクションの署名を許可するように構成される。
【００１４】
スイッチコネクタは、ハードウェアスイッチを含み得る。
【００１５】
スイッチコネクタは、ソフトウェアスイッチを含み得る。
【００１６】
署名済みのトランザクションは、署名済みのブロックチェーントランザクションをブロックチェーンデバイスに送信する前に、少なくとも１つの他のパーティによって署名され得る。
【００１７】
他のパーティは、システムプロバイダを含み得る。
【００１８】
システムプロバイダサーバは、少なくとも１つのサービスプロバイダデバイスと通信し得る。
【００１９】
デジタルアセットの安全なブロックチェーントランザクションを実行するための端末が本明細書で提供される。端末は、未署名のブロックチェーントランザクションを生成するためのプロセッサを含む。端末は、未署名のブロックチェーントランザクションをコールドストレージデバイスに送信するためのコールドストレージ通信ポートを含む。コールドストレージデバイスは、未署名のブロックチェーントランザクションに署名するための秘密鍵を格納する。端末は、コールドストレージデバイスから署名済みのブロックチェーントランザクションを受信する。端末は、署名済みのブロックチェーントランザクションをシステムプロバイダサーバに送信するためのネットワーク通信ポートまたはメカニズムを含む。システムプロバイダサーバは、複数のブロックチェーンデバイスと通信する。端末は、秘密鍵がネットワークに公開されないように、コールドストレージ通信ポートまたはネットワーク通信ポートのいずれかを選択的に無効にするためのスイッチコネクタを含む。
【００２０】
スイッチコネクタは、ハードウェアスイッチを含み得る。
【００２１】
スイッチコネクタは、ソフトウェアスイッチを含み得る。
【００２２】
端末は、システムプロバイダサーバとのインバウンドおよびアウトバウンド通信を制限するようにさらに構成され得る。
【００２３】
ネットワークを介してデジタルアセットの安全なブロックチェーントランザクションを実行するためのコールドストレージデバイスが本明細書で提供される。コールドストレージデバイスは、コールドウォレット（cold wallet）を格納するメモリを含む。コールドウォレットは、未署名のブロックチェーントランザクションに署名するための秘密鍵を含む。コールドストレージデバイスは、端末がネットワークから切断されたときに端末から未署名のブロックチェーントランザクションを受信するための通信インターフェースを含む。端末がネットワークから切断されると、通信インターフェースは署名済みのブロックチェーントランザクションを端末に送信する。コールドストレージデバイスは、他のプロセッサへの接続を処理することができるプロセッサを含む。プロセッサは、秘密鍵を使用して未署名のブロックチェーントランザクションに署名することにより、署名済みのブロックチェーントランザクションを生成するように構成されている。
【００２４】
通信インターフェースは、暗号化されたブルートゥース（登録商標）、近距離無線通信、Ｗｉ−Ｆｉ（登録商標）、光通信、有線通信、および熱放射（thermal emission）からなるグループから選択される少なくとも１つの通信メカニズムを使用することができる。
【００２５】
プロセッサは、コールドストレージウォレットを生成するようにさらに構成され得る。
【００２６】
プロセッサは、コールドストレージウォレットの生成時にさらに構成され得る。
【００２７】
コールドストレージウォレットは、階層的な決定論的ウォレット（hierarchical deterministic wallet）であり得る。
【００２８】
コールドウォレットは、マルチ署名ウォレット（multi-signature wallet）であり得る。
【００２９】
マルチ署名ウォレットは、少なくとも２つのパーティの署名を必要とし得る。
【００３０】
通信ネットワークを介してデジタルアセットの安全なブロックチェーントランザクションを実行する方法が本明細書で提供される。この方法は、端末を使用して未署名のブロックチェーントランザクションを生成するステップを含み、端末はオンラインモードおよびオフラインモードを有する。この方法は、オフラインモードで、端末からコールドストレージデバイスに未署名のブロックチェーントランザクションを送信することを含み、コールドストレージデバイスは、未署名のブロックチェーントランザクションに署名するための秘密鍵を格納する。この方法は、秘密鍵を使用してコールドストレージデバイス上の未署名のブロックチェーントランザクションに署名することを含む。この方法は、署名済みのブロックチェーントランザクションをコールドストレージデバイスから端末に送信することを含む。この方法は、端末をオフラインモードからオンラインモードに切り替えることを含む。この方法は、オンラインモードで、署名済みのブロックチェーントランザクションを端末から通信ネットワークを介してシステムプロバイダサーバに送信することを含む。システムプロバイダサーバは、複数のブロックチェーンコンピュータと通信する。
【００３１】
この方法は、マルチ署名認証プロセスに従って、送信された署名済みのトランザクションに第２の秘密鍵で署名することを含み得る。
【００３２】
送信された署名済みトランザクションへの署名は、システムプロバイダサーバで実行され得る。
【００３３】
切り替えは、スイッチコネクタを使用して実行され得る。
【００３４】
他の態様および特徴は、いくつかの例示的な実施形態の以下の説明を検討すると、当業者には明らかになるであろう。
【００３５】
本明細書に含まれる図面は、本明細書の物品（article）、方法、および装置の様々な例を説明するためのものである。
【図面の簡単な説明】
【００３６】
【図１】一実施形態に係る、デジタルアセットの安全なブロックチェーントランザクションを実行するためのシステムの概略図である。
【図２】図１のシステムの端末のブロック図である。
【図３Ａ】一実施形態に係る、ブロックチェーンアセットの安全なトランザクションを実行するためのシステムの概略図である。
【図３Ｂ】オフラインモードでの図３Ａのシステムの概略図である。
【図３Ｃ】オンラインモードでの図３Ａのシステムを示す概略図である。
【図４】安全なブロックチェーントランザクションを実行するためのコンピュータシステムのブロック図である。
【図５】一実施形態に係る、デジタルアセットの安全なブロックチェーントランザクションを実行するためのシステムのセットアップ方法のフローチャートである。
【図６】一実施形態に係る、デジタルアセットの安全なトランザクションを実行するためのシステムで使用するための階層的な決定論的ウォレットの導出の図である。
【図７】一実施形態に係る、デジタルアセットの安全なブロックチェーントランザクションを実行するための方法のフローチャートである。
【図８】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースを示す。
【図９】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースを示す。
【図１０】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースを示す。
【図１１】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースである。
【図１２】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースである。
【図１３】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムのグラフィカルインターフェースである。
【図１４】既存の方法に従って安全なブロックチェーントランザクションを行うためのシステムのブロック図である。
【図１５】一実施形態に係る、安全なブロックチェーントランザクションを実行するためのサブネットワークシステムのブロック図である。
【図１６】別の実施形態による、安全なブロックチェーントランザクションを実行するためのサブネットワークシステムのブロック図である。
【図１７】一実施形態に係る、図１５および図１６のサブネットワークシステムによる操作を管理するためのデフォルトの動作の変形例のブロック図である。
【図１８】一実施形態に係る、仲介（brokerage）を含む、図１５および１６のサブネットワークシステムによる操作を管理するためのデフォルトの動作の別の変形例のブロック図である。
【発明を実施するための形態】
【００３７】
様々な装置またはプロセスを以下に説明して、特許請求された各実施形態の例を提供する。以下に記載される実施形態は、請求される実施形態を限定するものではなく、特許請求される実施形態は、以下に記載されるものとは異なるプロセスまたは装置をカバーすることができる。特許請求される実施形態は、以下に記載される任意の１つの装置またはプロセスの全ての特徴を有する装置またはプロセス、または以下に記載される複数または全ての装置に共通の特徴に限定されない。
【００３８】
本明細書に記載の１つまたは複数のシステムは、プログラム可能なコンピュータ上で実行されるコンピュータプログラムにおいて実装され得る。各々は、少なくとも１つのプロセッサ、データ記憶システム（揮発性および不揮発性メモリおよび／または記憶要素を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを備える。例えば、これらに限定されないが、プログラム可能なコンピュータは、プログラム可能な論理ユニット、メインフレームコンピュータ、サーバ、およびパーソナルコンピュータ、クラウドベースのプログラムまたはシステム、ラップトップ、パーソナルデータアシスタンス、携帯電話、スマートフォン、タブレットデバイス、スマートカード、バンキングカードまたは識別カードであり得る。
【００３９】
各プログラムは、コンピュータシステムと通信するために、高レベルの手続き型またはオブジェクト指向のプログラミングおよび／またはスクリプト言語で実装されることが好ましい。しかし、必要に応じて、プログラムはアセンブリ言語または機械語で実装され得る。いずれの場合も、言語はコンパイルされた言語またはインタープリタ型言語であり得る。そのような各コンピュータプログラムは、好ましくは、記憶媒体またはデバイスが本明細書に記載の手順を実行するためにコンピュータによって読み取られるときにコンピュータを構成および操作するための汎用または特殊目的のプログラム可能なコンピュータによって読み取り可能な記憶媒体またはデバイスに格納される。
【００４０】
互いに通信するいくつかの構成要素を有する実施形態の説明は、そのような全ての構成要素が必要とされることを意味するものではない。それどころか、本発明の多種多様な可能な実施形態を説明するために、様々な任意の構成要素が説明されている。
【００４１】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどは、（開示および／または特許請求の範囲で）順次順序で説明され得るが、そのようなプロセス、方法、およびアルゴリズムは、交互の順序で機能するように構成され得る。言い換えれば、記述され得るステップの順序または順序は、必ずしもステップがその順序で実行されるという要件を示すわけではない。本明細書に記載のプロセスのステップは、実用的である任意の順序で実行することができる。さらに、いくつかのステップを同時に実行することができる。
【００４２】
単一のデバイスまたは物品が本明細書に記載される場合、単一のデバイス／物品の代わりに（それらが協力するかどうかにかかわらず）複数のデバイス／物品が使用され得ることは容易に明らかであろう。同様に、複数のデバイスまたは物品が本明細書に記載されている場合（それらが協力するかどうかにかかわらず）、複数のデバイスまたは物品の代わりに単一のデバイス／物品を使用できることは容易に明らかであろう。
【００４３】
以下は、概してブロックチェーン技術に関連し、より詳細には、様々な外部ポリシー及び規制をブロックチェーン環境で共存できるようにしながら、安全で準拠したブロックチェーントランザクションを行うためのコンピュータシステム、方法、およびデバイスに関する。本開示はまた、安全で準拠したブロックチェーントランザクションを行うためのコンピュータシステム、方法、およびデバイスのためのサブネットワークに関する。
【００４４】
以下に、安全なブロックチェーントランザクション／操作を実行するためのシステムについて説明する。ブロックチェーンオペレーションは、ブロックチェーン技術で管理されているアセットへのアクセス、トレード、交換、送信、受信、更新、および使用を含み得る。たとえば、このシステムを使用して、ブロックチェーンアセットのトランザクション、転送、および管理を行うことができる。
【００４５】
ブロックチェーン技術で管理されるアセット（asset）は、本開示全体を通して「ブロックチェーンアセット」、「アセット」、または「デジタルアセット」と呼ばれ、ブロックチェーン技術を使用して管理または取引できる任意のアセットを含むと理解される。
【００４６】
ブロックチェーンアセットは、暗号通貨（Bitcoin（登録商標）など）、会社の株式または他のタイプのプロジェクトの共有、金融商品（債券、負債証券、オプション、先物、その他のデリバティブなど）、様々なタイプの格納データ（文書、記録など）、またはスマート契約的合意（「スマートコントラクト」）への任意の関心を含み得る。ブロックチェーンアセットは、デジタルアセットであり得る。ブロックチェーンアセットは、通常のトークン化なしでブロックチェーンされた有形のアセットであり得る。ブロックチェーンアセットは、ブロックチェーン技術を使用して取引されることを特徴としている。つまり、様々なコンピュータによって実行される分散型台帳を使用して、分散型の方法でトランザクションの整合性を個別にチェックする。
【００４７】
ブロックチェーンアセットは、暗号通貨を含むがこれに限定されないデジタルアセットの一種であり、特定のプロジェクトまたは会社の出資金を表す場合がある。ブロックチェーンアセットは、通常のトークン化なしでブロックチェーンされた有形のアセットであり得る。その他は、通貨（ビットコイン（登録商標）など）としてのみ意図されており、特定の組織の株式を表すものではない。しかし、従来のアセットとは異なり、ブロックチェーンアセットはデジタルであり、特定のアドレスの暗号化が許可された署名者のみが所有し、いつでも他のアドレスにすぐに転送できる。
【００４８】
ブロックチェーンアセットは、ビットコイン（登録商標）のようなネイティブのデジタルアセット、またはデジタルゴールド、株式またはタイトル、文書または記録、ログ、ジャーナル、さらにはプロセスまたはサプライチェーンなどのデジタル化された従来のアセットを含み得る。所有権、使用許可、責任、または取られた措置の記録は、公的または許可された分散型台帳ネットワーク内に記録される。
【００４９】
暗号通貨は、暗号トークンと呼ばれるサブセットを含み得る。トークンは、アセットまたはユーティリティを表し得る。暗号トークンは、特定のブロックチェーン上の特定の数のビットコインに等しい１つのそのようなトークンのように、他の暗号通貨を表し得る。暗号トークンは、ブロックチェーンの様々な参加者間でトレードおよび譲渡可能である。このような暗号トークンは、多くの場合、ユーザが独自のトークンを作成できるようにする標準テンプレート（EthereumネットワークやERC-20トークンなど）を使用して作成されるブロックチェーン上のトランザクションユニットとして機能する。このようなブロックチェーンは、スマートコントラクトまたは分散型アプリケーションの概念に基づいて機能する。プログラム可能な自己実行コードは、ブロックチェーンで発生する様々なトランザクションを処理および管理するために使用される。暗号通貨及びアルトコイン（altcoin）は、専用のブロックチェーンを有する特定の仮想通貨であり、主にデジタル決済の媒体として使用される。暗号トークンは、分散型アプリ及びスマートコントラクトの作成及び実行の媒体として機能するブロックチェーン上で動作し、トークンはトランザクションを容易にするために使用される。
【００５０】
ブロックチェーンアセットは、文書、証明書、記録、ライセンス、学位、または任意のデータである。ブロックチェーン文書は、表示、送信、共有、または変更するための許可を必要とする。許可は、信頼できるグループ内の許可を介して、または文書を特定のアドレス（受信者）に送信することによって認められ得る。その後、文書の表示、読み取り、共有などの権利が得られる。また、ブロックチェーン文書自体は、ブロックチェーンに新しいバージョンを作成せずに変更することはできない。通常、変更された文書のハッシュを添付して、整合性が変更されたことを証明する。
【００５１】
本開示のシステムは、ブロックチェーンオペレーションセキュリティ（「ＯｐＳｅｃ」）のベストプラクティスを実装および実施する一方で、現在のブロックチェーンユーザによって使用される典型的なコールドストレージ方法と比較して、ユーザにとってより簡単かつ便利にすることができる。本開示のシステム、方法、およびデバイスは、使いやすさ（アセットへのアクセスの容易さを含む）およびセキュリティを改善し、ブロックチェーン技術を、個人および企業を含む、機関および暗号に精通していない公衆にとってよりアクセスしやすくする一方で、現在のブロックチェーン愛好家によって取られる一般的なセキュリティ対策を上回る。
【００５２】
一般に、本開示のシステムおよび方法では、ブロックチェーントランザクションが端末上で開始される。端末は、システムプロバイダサーバにブロックチェーントランザクションの作成を要求する。要求は、TLS、IPsec、ポイントツーポイントトンネリングなどの安全な通信チャネルを介して端末からシステムプロバイダサーバに送信される。次に、システムプロバイダ［サーバ］は、並行して、トランザクションを要求元の端末、サービスプロバイダサーバ、およびシステムプロバイダのコールドストレージに送信する。次に、適切な検証を行い、ビジネスロジック及び／又はルールを適用するための追加のステップが、端末上で行われることができる。関係する全てのエンティティのコールドストレージデバイスまたはこれら全ての構成要素は、コールドストレージを許可してそれに署名することにより、トランザクションを最終的に承認する。
【００５３】
いくつかの実施形態では、これは、そのような振る舞いが望まれる場合、仲介的な役割を果たすサービスプロバイダによって抽象化され得る。たとえば、エンドユーザは、端末を介してサービスプロバイダサーバに接続し、サービスプロバイダが提供するサービス／製品／ソリューションとより適切に統合することができる。次に、サービスプロバイダは、クエリを介して情報を中継するか、システムプロバイダに要求を送信する（つまり、提供されたＡＰＩ、独自のプロトコル、リモートプロシージャコール、またはその他のメカニズムを使用する）。このプロセスも、安全な通信チャネルを介して実行される。
【００５４】
ターミナルとコールドストレージ間での未署名のトランザクションと署名済みのトランザクションの受け渡しを含むトランザクション署名プロセスは、通常、このプロセスに従う。
【００５５】
一実施形態では、トランザクションは、コールドストレージによって端末から引き出され、制御が最もデータセンシティブなデバイスおよびその所有者（秘密鍵を含むコールドストレージ）内にあることを保証する。
【００５６】
別の実施形態では、端末は、未署名のトランザクションを一時的にユニキャスト、マルチキャスト、またはブロードキャストし、コールドストレージデバイスがユーザの指示に従ってそれをキャプチャできるようにする。交換は、ハードウェアまたは有線接続を介して、ワイヤレスで行うことができる。これは、発光または光データ転送、ＱＲ／バーコードスキャン、ＩＲ送信、無線周波数、電磁放射などの技術を含むが、これらに限定されない。
【００５７】
エンタープライズ環境内またはサービスプロバイダ施設またはシステムプロバイダ施設での端末とコールドストレージとの間の通信は、物理的に接続されていない技術を使用して、未署名のトランザクション（インバウンドデータ転送）を渡し、部分的に署名済みのトランザクションの交換（アウトバウンドデータ転送）のために安全性の高い単方向データダイオードシステムを使用できる。これにより、潜在的なデータ漏えいやその他の不正な目的でのこれらの技術の使用が有利に制限されるだけでなく、健全で安全な、物理的に証明された一方向の転送が実装され、厳格なデータ損失防止ポリシー及びプロトコルの実装が可能になる。所望であればおよび／または必要であれば、人間の介入がこれらの環境に追加され得る。
【００５８】
未署名のトランザクションがコールドストレージに送信されると、トランザクションはデバイス上でレビューされ、トランザクションの有効性が確認され、データ入力の間違い及び暗号化されて承認される前にトランザクションを操作しようとする任意の悪意のある試みが軽減される。
【００５９】
トランザクションの詳細に満足した場合、エンドユーザデバイスはエンドユーザの識別を認証することにより、エンドユーザの秘密鍵を復号してロックを解除する。これは、ＰＩＮ、パスフレーズ、生体認証データ、またはその他の準拠した認証メカニズムの任意の組み合わせを含み得る。これにより、秘密鍵が必要に応じてトランザクションに署名し、鍵が不要になるとすぐに再度自己暗号化し得る。
【００６０】
署名済みのトランザクションは、コールドストレージデバイスから端末に送り返される。本開示のシステムを使用して、トランザクションに署名するための秘密鍵は、隔離された安全な暗号化モジュール内のコールドストレージデバイス上でのみ復号され、他のものとは接触しない。これは、システムのセキュリティの第１の層である。
【００６１】
本開示は、各パーティによる署名の承認が一連のビジネスロジック、コンプライアンス標準、プロトコル、およびルールに基づく、安全なブロックチェーントランザクションのための方法を提供する。
【００６２】
本開示は、一方のパーティが一方的に引き継ぐ可能性なしでシード（seed）の秘密の共有をマルチ署名アカウントに関与する様々なパーティに配布することによって、エンドユーザウォレットの損失、盗難、破壊のリスクを軽減することができる安全なブロックチェーントランザクションの方法を提供する。この方法を使用すると、ウォレットは効果的に回収あれ、新しいデバイスに転送され得る。
【００６３】
本開示は、ブロックチェーン上で確認数が少ないトランザクションを受け入れるリスクを低減し、さらなる使用のための時間を効果的に短縮し、ブロックチェーンネットワーク上で受け入れられなかった場合にトランザクションを再処理する能力を備えた、安全なブロックチェーントランザクションの方法を提供する。
【００６４】
本開示は、５１％の攻撃の影響を低減し、サブネットワーク間でブロックチェーンの継続的な使用を可能にし、５１％の攻撃が停止されるとトランザクションを調整することができる安全なブロックチェーントランザクションのための方法を提供する。
【００６５】
ここで図１を参照すると、一実施形態に係るシステム１０を示すブロック図が示される。システム１０は、ネットワーク２０を介してシステムプロバイダインフラストラクチャ１４および／またはサービスプロバイダインフラストラクチャ１６と通信する端末１２を含む。端末１２はまた、複数のコールドストレージデバイス１８と通信することができる。システムプロバイダインフラストラクチャ１４は、ネットワーク２０（インターネットなど）または任意の他のネットワークを介して複数のブロックチェーンインフラストラクチャ２２と通信する。ネットワーク２０は、有線または無線ネットワークであり得る。端末１２は、エンドユーザを認証し、エンドユーザが安全なブロックチェーントランザクションを開始できるようにするために特別に設計された専用のマシンであり得る。この目的のために、端末１２は、システムプロバイダとシステムプロバイダのコールドストレージとの間のインターフェースとしての役割を果たす。
【００６６】
端末１２は、関係するパーティ間のマルチプレクサ、ルータ、および／またはディストリビュータとして機能することができる。
【００６７】
端末１２、システムプロバイダインフラストラクチャ１４、サービスプロバイダインフラストラクチャ１６、コールドストレージデバイス１８およびブロックチェーンインフラストラクチャ２２は、サーバコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、タブレット、ＰＤＡ、スマートフォン、スマートカード、バンクカードまたは別のコンピューティングデバイスであり得る。デバイス１２、１４、１６、１８、２２は、インターネットなどのネットワークへの有線または無線接続などのネットワーク２０との接続を含み得る。場合によっては、ネットワーク２０は、他のタイプのコンピュータまたは電気通信ネットワークを含み得る。デバイス１２、１４、１６、１８、２２は、メモリ、二次記憶装置、プロセッサ、入力デバイス、表示デバイス、および出力デバイスのうちの１つまたは複数を含み得る。メモリは、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、または同様のタイプのメモリを含み得る。また、メモリは、プロセッサによる実行のために１つまたは複数のアプリケーションを格納し得る。アプリケーションは、以下に説明する機能の処理を実行するためのコンピュータ実行可能命令を含むソフトウェアモジュールに対応し得る。二次記憶装置は、ハードディスクドライブ、ソリッドステートドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤドライブ、ＤＶＤドライブ、Ｂｌｕ−ｒａｙ（登録商標）ドライブ、ＲＯＭ、または他のタイプの不揮発性データストレージを含み得る。プロセッサは、アプリケーション、コンピュータで読み取り可能な命令、またはプログラムを実行し得る。アプリケーション、コンピュータ可読命令またはプログラムは、メモリ、二次記憶装置に格納され得るか、またはインターネットまたは他のネットワーク２０から受信され得る。入力デバイスは、デバイス１２、１４、１６、１８、２２に情報を入力するための任意のデバイスを含み得る。例えば、入力デバイスは、キーボード、キーパッド、カーソル制御デバイス、タッチスクリーン、カメラ、光学センサーバイオメトリクスリーダーまたはセンサー、熱センサー、無線受信機、またはマイクロフォンであり得る。表示装置は、視覚情報を提示するための任意のタイプの装置を含み得る。例えば、ディスプレイ装置は、コンピュータモニター、フラットスクリーンディスプレイ、紙の薄いディスプレイ、プロジェクターまたはディスプレイパネルであり得る。出力デバイスは、例えばプリンタなど、情報のハードコピーを提示するための任意のタイプのデバイスを含み得る。出力デバイスはまた、例えば、スピーカーなどの他のタイプの出力デバイスを含み得る。場合によっては、デバイス１２、１４、１６、１８、２２は、プロセッサ、アプリケーション、ソフトウェアモジュール、第２のストレージデバイス、ネットワーク接続、入力デバイス、出力デバイス、およびディスプレイデバイスのうちの任意の１つまたは複数の複数を含み得る。
【００６８】
デバイス１２、１４、１６、１８、２２は様々な構成要素で説明されているが、当業者は、装置１２、１４、１６、１８、２２が、場合によっては、より少ない、追加の、または異なる構成要素を含み得ることを理解するであろう。さらに、デバイス１２、１４、１６、１８、２２の実装の態様は、メモリに格納されていると説明することができるが、当技術分野の当業者は、これらの態様がハードディスク、フロッピー（登録商標）ディスク、ＣＤ、またはＤＶＤを含む二次ストレージデバイスなどの他のタイプのコンピュータプログラム製品またはコンピュータ可読媒体；インターネットまたは他のネットワークからの搬送波；光源、マイクロ波、熱放射、電磁放射、またはその他の形式のＲＡＭまたはＲＯＭ上で記憶され得ることを理解するであろう。コンピュータ可読媒体は、特定の方法を実行するためにデバイス１２、１４、１６、１８、２２および／またはプロセッサを制御するための命令を含み得る。
【００６９】
デバイス１２、１４、１６、１８、２２のいずれかについて、特定のデバイスによって実行されるアクションまたは機能は、分解され、および／またはいくつかのデバイスに分散され得る。例えば、端末１２は、外向きの機械、内向きの機械、および外向きの機械と内向きの機械との間に位置する処理を実行するための機械を含み得る。
【００７０】
以下の説明では、端末１２、システムプロバイダインフラストラクチャ１４、サービスプロバイダインフラストラクチャ１６、コールドストレージデバイス１８、およびブロックチェーンインフラストラクチャ２２などのデバイスが、特定の動作を実行することについて説明される。これらのデバイスのいずれか１つまたは複数は、自動的に、またはそのデバイスのユーザによる対話に応答して、行為を実行することができることが理解されよう。すなわち、デバイスのユーザは、１つまたは複数の入力デバイス（例えば、タッチスクリーン、マウス、またはボタン）を操作して、デバイスに説明された動作を実行させることができる。多くの場合、この側面は以下では説明されない場合があるが、理解される。
【００７１】
一例として、デバイス１２、１４、１６、１８、２２が端末１２に情報を送信することができることを以下に説明する。例えば、システムプロバイダサーバ１４を使用するシステムプロバイダユーザは、１つまたは複数の入力デバイス（例えば、マウスおよびキーボード）を操作して、システムプロバイダサーバ１４のディスプレイに表示されるユーザインターフェースと対話することができる。一般に、デバイスは、ネットワーク２０から（例えば、ウェブページの形で）ユーザインターフェースを受信することができる。代替的には、またはさらに、ユーザインターフェースは、デバイス（例えば、ウェブページのキャッシュ、ローカルウェブサーバ、モバイルまたはデスクトップアプリケーション）にローカルに格納され得る。
【００７２】
端末１２は、システムプロバイダインフラストラクチャ１４、サービスプロバイダインフラストラクチャ１６、コールドストレージデバイス１８、およびブロックチェーンインフラストラクチャ２２のそれぞれとの間で複数の情報を送受信するように構成され得る。一般に、情報は、少なくとも、システムプロバイダ、サービスプロバイダ、コールドストレージ、またはブロックチェーンインフラストラクチャコンピュータを識別するための識別子を含み得る。例えば、情報は、ユーザ名、電子メールアドレス、パスワード、ソーシャルメディアハンドル、モバイル、ＥＳＮ、ＩＭＥＩ、ＭＥＩＤ、トランザクションＩＤ、アカウント識別子、ハードウェアＩＤ、公開鍵、または他のもののうちの１つまたは複数を含み得る。
【００７３】
情報の受信に応答して、端末１２は、情報をストレージデータベースに格納することができる。ストレージは、デバイス１２、１４、１６、１８、２２の二次ストレージに対応し得る。一般に、ストレージデータベースは、ハードディスクドライブ、ソリッドステートドライブ、メモリカード、またはディスク（例えば、ＣＤ、ＤＶＤ、またはＢｌｕ−ｒａｙ（登録商標）など）などの任意の適切なストレージデバイスであり得る。また、ストレージデータベースは、端末１２にローカルに接続され得る。場合によっては、ストレージデータベースは端末１２から離れた場所にあり、たとえばネットワークを介して端末１２にアクセス可能である。場合によっては、ストレージデータベースは、ネットワーク化されたストレージロケーションまたはクラウドプロバイダに配置された１つ又は複数のストレージデバイスを含むことがある。
【００７４】
システムプロバイダインフラストラクチャ１４は、システムプロバイダアカウント、識別子、証明書、公開鍵、秘密鍵に関連付けられ得る。同様に、サービスプロバイダインフラストラクチャ１６は、サービスプロバイダアカウント、識別子、証明書、公開鍵、秘密鍵に関連付けられ得る。コールドストレージデバイス１８は、コールドストレージアカウント、ハードウェアＩＤの組み合わせ、一意の識別子、証明書に関連付けられ得る。公開鍵、秘密鍵、およびブロックチェーンインフラストラクチャ２２は、ブロックチェーンコンピュータアカウント、識別子、証明書、公開鍵、秘密鍵に関連付けられ得る。デバイスをアカウントに関連付けるための適切なメカニズムが明確に企図されている。場合によっては、デバイスは、（端末１２に対して検証および認証された資格情報のセット（例えば、ハードウェアＩＤまたは一意の識別子、クッキー、ログイン、コード入力、多要素認証、生体認証入力、遠隔測定、証明書、公開鍵、秘密鍵、ＰＩＮ、またはパスワードなど）を使用する）ペアリングメカニズムによってアカウントに関連付けられ得る。端末１２は、資格を検証し得る（例えば、受信したパスワードがアカウントに関連付けられたパスワードと一致することを決定する）。デバイスがアカウントに関連付けられている場合、端末１２は、そのデバイスがそのアカウントに関連付けられることによってさらなる行為の検討を強化することができる。同様に、端末はサービスプロバイダ及びシステムプロバイダのインフラストラクチャに関連付けられ、他のデバイスのペアリング情報を中継して、このアカウントに関連付けられるそのデバイスによるさらなる行為の検討を固めることができる。
【００７５】
ここで図２を参照すると、一実施形態に係る、モバイルデバイスまたは携帯型電子デバイス２００の構成要素の簡略化されたブロック図が示される。他の実施形態では、デバイス２００は、非ポータブルデバイス（例えば、デスクトップ、サーバコンピュータなど）であり得る。携帯型電子デバイス２００は、携帯型電子デバイス２００の動作を制御するプロセッサ１０２０などの複数の構成要素を含む。データ通信、音声通信、またはその両方を含む通信機能は、通信サブシステム１０４０を介して実行され得る。携帯型電子デバイス２００によって受信されたデータは、デコーダ１０６０によって解凍および復号され得る。通信サブシステム１０４０は、無線ネットワーク１５２０からメッセージを受信し、無線ネットワーク１５２０にメッセージを送信することができる。
【００７６】
ワイヤレスネットワーク１５２０は、これらに限定されないが、データ中心の無線ネットワーク、オーディオ中心の無線ネットワーク、ビデオ中心の無線ネットワーク、光データ転送、およびオーディオ／ビデオおよびデータ通信をサポートするデュアルモードネットワークを含む任意のタイプの無線ネットワークであり得る。
【００７７】
携帯型電子デバイス２００は、バッテリー式のデバイスであり得る。示されるように、携帯型電子デバイス２００は、１つまたは複数の充電式電池１４４０を受け取るためのバッテリーインターフェース１４２０を含む。一実施形態では、デバイス２００は、近距離無線通信（ＮＦＣ）を介した電力伝送を含み得る。
【００７８】
プロセッサ１０２０はまた、ランダムアクセスメモリ（ＲＡＭ）１０８、フラッシュメモリ１１１０、ディスプレイ１１２０（例えば、一緒にタッチセンシティブディスプレイ１１８０を構成する電子コントローラ１１６０に接続されたタッチセンシティブオーバーレイ（touch-sensitive overlay）１１４０を有する）、アクチュエータアセンブリ１２１０、１つまたは複数のオプションの力学センサー１２２０、補助入力/出力（Ｉ／Ｏ）サブシステム１２４０、データポート１２６０、スピーカー１２８０、マイクロフォン１３１０、短距離通信システム１３２０およびその他デバイスサブシステム１３４０などの追加のサブシステムと対話する。
【００７９】
いくつかの実施形態では、グラフィカルユーザインターフェースとのユーザ対話は、タッチセンシティブオーバーレイ１１４０を介して実行され得る。プロセッサ１０２０は、電子コントローラ１１６０を介してタッチセンシティブオーバーレイ１１４０と対話し得る。プロセッサ１０２０によって生成された携帯型電子デバイス上に表示またはレンダリングされ得るテキスト、文字、記号、画像、アイコン、および他のアイテムなどの情報は、タッチセンシティブディスプレイ１１８０上に表示され得る。
【００８０】
プロセッサ１０２０はまた、図２に示されるように、加速度計１３６０と対話し得る。加速度計１３６０は、重力または重力によって誘発される反力の方向を検出するために利用され得る。
【００８１】
本実施形態によるネットワークアクセスのための加入者を識別するために、携帯型電子デバイス２００は、ネットワーク（無線ネットワーク１５２０など）との通信のためにＳＩＭ／ＲＵＩＭインターフェース１４５０に挿入された加入者識別モジュールまたは取り外し可能ユーザ識別モジュール（ＳＩＭ／ＲＵＩＭ）カード１３８０を使用することができる。代替的には、ユーザ識別情報は、フラッシュメモリ１１１０にプログラムされるか、または他の技術を使用して実行され得る。
【００８２】
携帯型電子デバイス２００はまた、プロセッサ１０２０によって実行され、フラッシュメモリ１１１０などの永続データ記憶装置に記憶され得るオペレーティングシステム１４６０およびソフトウェアコンポーネント１４８０を含み得る。追加のアプリケーションは、無線ネットワーク１５２０、補助Ｉ／Ｏサブシステム１２４０、データポート１２６０、短距離通信サブシステム１３２０、または任意の他の適切なデバイスサブシステム１３４０を介して携帯型電子デバイス２００にロードされ得る。
【００８３】
使用中、テキストメッセージ、電子メールメッセージ、ウェブページのダウンロード、または他のデータなどの受信信号は、通信サブシステム１０４０によって処理され、プロセッサ１０２０に入力され得る。次に、プロセッサ１０２０は、受信信号を処理して、ディスプレイ１１２０または代わりに補助Ｉ／Ｏサブシステム１２４０に出力する。加入者はまた、例えば、通信サブシステム１０４０を介して無線ネットワーク１５２０を介して送信され得る電子メールメッセージなどのデータ項目を構成し得る。
【００８４】
音声通信の場合、携帯型電子デバイス２００の全体的な動作は同様であり得る。スピーカー１８０は、電気信号から変換された可聴情報を出力することができ、マイクロフォン１３１０は、処理のために可聴情報を電気信号に変換することができる。
【００８５】
ここで図３を参照すると、一実施形態に係る、デジタルアセットの安全なブロックチェーントランザクションのためのシステム３００が示される。システム３００は、機密情報が外部に公開されるのを防ぐための様々な手段を実施することによって、安全なブロックチェーントランザクションを提供する。システム３００は、複数のモードをサポートするように構成され、モードは、システム３００およびその構成要素によって実行され得る限られた数のアクションに対応する。モードを切り替えることにより、システム３００は機密情報にセキュリティを提供する。
【００８６】
システム３００は、システム３００によって接続された複数のエンティティを含む。エンティティは信頼グループを形成する。信頼グループは、ユーザによる安全なブロックチェーントランザクションの作成に貢献する精査された参加者のグループである。信頼グループ内のエンティティの数は、システム３００の構成に応じて増減し得る。
【００８７】
エンティティは、エンドユーザとシステムプロバイダとを含む。システムプロバイダは、ネットワークオペレータまたはサブネットワークオペレータと呼ばれることもある。システムプロバイダは、安全なブロックチェーントランザクションを実行するためのサブネットワークを提供する。いくつかの実施形態では、エンティティはまた、サードパーティのサービスプロバイダを含む。
【００８８】
システム３００の他の変形は、複数のシステムプロバイダ、エンドユーザ、および／またはサービスプロバイダを含み得る。特定の実施形態では、システムプロバイダ及びサービスプロバイダは、独立したサービスプロバイダによるサービス提供の欠如の役割を果たすために、別々のアイデンティティで、別々のインフラストラクチャから動作する同じエンティティであり得る。
【００８９】
エンドユーザは、特定のブロックチェーン（または複数のブロックチェーン）のシステムプロバイダサブネットワーク上で対話しているエンティティ（個人など）である。
【００９０】
システムプロバイダは、サブネットワークシステム内の全てのアカウントに共通のエンティティである。システムプロバイダは、トランザクションを制限して、トランザクションがシステムオペレータサブネットワークの制限内にとどまるようにすると同時に、サービスプロバイダがエンドユーザに他のサービスプロバイダまたはこれらのサービスプロバイダのエンドユーザと対話できるようにすることができる。システムプロバイダはまた、エンドユーザの正確な詳細及び個人情報を知る必要なしに、サブネットワークで発生する全ての操作の監視及び可視性を提供し得る。システムプロバイダはまた、厳格な法的規定の下で、システムプロバイダとサービスプロバイダとの間のエンドユーザのウォレットの緊急復旧においても役割を果たし得る。
【００９１】
サービスプロバイダは、１つ又は複数のブロックチェーンでサービスを提供することをいとわないエンティティ（企業、組織など）である。サービスプロバイダは、エンドユーザ（クライアント、従業員、その他の組織など）との間に確立された関係を有する。たとえば、銀行は、クライアントの銀行口座に関連付けられたシステムプロバイダのビットコインウォレットを提供し得る。別の例では、サービスプロバイダは、政府機関、病院、ブロックチェーン上の医療記録を市民／患者に提供する診療所であり得る。サービスプロバイダは、すでにこれを持っているため、顧客確認（Know-your-customer）部分を提供し、エンドユーザの個人情報と個人情報を保護できる。サービスプロバイダは、エンドユーザとサービスプロバイダ（例えば、令状、意志の証明、裁判所命令、エンドユーザのコールドストレージおよびバックアップの紛失または損傷、その他の方法で身元の証明を確認できる場合など）との間で行われるか、厳格な法的規定の下でシステムプロバイダとの間で行われるかにかかわらず、アカウントの回復（サービスに関連付けられたアカウントに関して）に関与する／関与し得る。
【００９２】
システム３００は、端末３２０、コールドストレージデバイス３２４、およびシステムプロバイダサーバ／インフラストラクチャ３２８を含む。システム３００はまた、サービスプロバイダサーバ／インフラストラクチャ（図示されていない）を含み得る。一実施形態では、サービスプロバイダサーバは、端末３２０および仲介者として機能するシステムプロバイダサーバ３２８と通信する。別の実施形態では、サービスプロバイダおよび端末３２０は両方とも、システムプロバイダ３２８と排他的に通信する。
【００９３】
端末３２０は、通信ネットワーク３３６を介してシステムプロバイダサーバ３２８に接続されている。通信ネットワーク３３６は、ＩＰまたはＨＴＳＰなどの様々なプロトコルを介して、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）、近距離無線通信、光データ転送、熱放射などを使用し得る。一実施形態では、通信ネットワーク３３６はインターネットである。別の実施形態では、通信ネットワーク３３６は、ＩＰ以外のプロトコルを使用するネットワーク、および／または別のインフラストラクチャを使用してリモートコンピュータと通信するネットワークである。別の実施形態では、通信ネットワーク３３６は有線ネットワークである。
【００９４】
コールドストレージデバイス３２４は、通信インターフェースを含む。通信インターフェースは、端末３２０がネットワーク３３６から切断されたときに、端末３２０から未署名のブロックチェーントランザクションを受信するように構成され得る。通信インターフェースは、端末３２０がネットワーク３３６から切断されたときに、署名済みのブロックチェーントランザクションを端末３２０に送信するように構成され得る。通信インターフェースは、ブルートゥース（登録商標）、暗号化ブルートゥース（登録商標）、光通信、Ｗｉ−Ｆｉ（登録商標）、有線通信、近距離無線通信、熱放射などの任意の適切な通信メカニズムを使用し得る。
【００９５】
端末３２０は、ユーザが使用するためのクライアントコンピューティングデバイスである。端末は、プロセッサおよびメモリ（例えば、デバイス２００のプロセッサ１０２０およびメモリ１１１０）を含む。端末３２０は、卓上コンピュータ、ラップトップコンピュータ、スマートフォンなどのモバイルコンピュータ、または情報を格納および処理するのに適した任意のデバイスであり得る。様々な実施形態では、端末３２０は、コンピュータの内部または外部であり得る。一実施形態では、端末３２０は、コンピュータから分離可能である。したがって、端末３２０は、それが内部または外部にリンクされているコンピュータの処理、記憶、または他の機能を利用し得る。
【００９６】
端末３２０は、ユーザ入力および対話のためのグラフィカルインターフェースを表示するためのディスプレイ３３８を含む。
【００９７】
端末３２０は、通信インターフェースを含む。通信インターフェースは、第１の通信ポート３８０を含む。第１の通信ポート３８０は、端末３２０をネットワーク３３６に接続し、端末３２０とシステムプロバイダサーバ３２８との間の通信およびデータ転送を容易にするためのネットワーク通信ポートである。
【００９８】
通信インターフェースは、第２の通信ポート３９０を含む。第２の通信ポート３９０は、端末３２０をコールドストレージデバイス３２４に接続し、コールドストレージデバイス３２４と端末３２０との間の通信およびデータ転送を容易にするためのコールドストレージ通信ポートである。
【００９９】
端末３２０は、ユーザに情報を表示し、ユーザからの入力を受信するためのユーザインターフェースを含む。ユーザインターフェースは、自動化されたユーザインターフェースであり得る。ユーザインターフェースは、システム３００のセットアップの完了、並びにエンドユーザのアカウントの管理およびデバイスのペアリングにおいてユーザを案内する。
【０１００】
端末３２０は、セキュリティ機能が効果的に確立され、従われるように、システム３００のセキュリティ機能を可能にするような方法で、コールドストレージ３２４へのインターフェースを提供し得る。セキュリティ機能は、ユーザによるウォレット／キーの暗号化されたバックアップの配布（たとえば、ＡＥＳ２５６を使用）であるが、信頼できるサードパーティ及び／又はシステムプロバイダによって保持される；フラグメント化され（fragmented）暗号化された紙及びデジタル回復シードの配布；端末３２０上のユーザの情報にアクセスするための、システムプロバイダまたはサービスプロバイダインフラストラクチャ（該当する場合）へのクライアント認証；強力なパスワードポリシー、多要素認証などを含み得る。いくつかの実施形態では、それはまた、安全な更新が対になったコールドストレージデバイスに配信されるための仲介者であり得る。
【０１０１】
端末３２０のプロセッサは、１つまたは複数のモジュールおよび／またはエンジンを実行するように構成される。プロセッサは、トランザクション生成モジュール（例えば、図４のトランザクション生成モジュール４１２）を含む。トランザクション生成モジュールは、ユーザデータおよび送信者および受信者データ（例えば、図４のユーザデータ４０８および送信者および受信者データ４１０、４１７）から署名なしブロックチェーントランザクションを作成するように構成される。ユーザウォレットデータは、アカウントデータ、アドレスデータ、および鍵データを含み得る。受信者データは、受信者アドレスを含み得る。具体的には、トランザクションデータは、ユーザアドレス、受信者アドレス、タイムスタンプデータ、およびアセットデータ（例えば、転送されるデジタルアセットの量およびタイプ）を含み得る。トランザクションデータは、署名を除いて、ブロックチェーントランザクションをブロックチェーンネットワークに送信するために必要な全ての情報を含み得る。
【０１０２】
トランザクション生成モジュールは、端末３２０がネットワーク３３６に接続されている間（すなわちオンライン）、または端末３２０がネットワーク３３６に接続されていない間（すなわちオフライン）に、未署名のブロックチェーントランザクションの作成を開始し得る。このプロセスの完了は、システムプロバイダ３２８によって行われ、端末３２０に送信される。別の実施形態では、端末自体は、以前にシステムプロバイダ３２８に接続されている限り、このプロセスを完全に完了することができる。
【０１０３】
一実施形態では、トランザクションデータによって表されるトランザクションは、ブロックチェーンアセット（例えば、暗号通貨、記録、文書、または他のアセット）の転送であり得る。トランザクションデータは、ブロックチェーンの状態を変更するための一連の命令を含み得る。トランザクションは、ブロックチェーンを変更するためにトランザクションについて署名される必要がある。たとえば、暗号通貨を送信するために、ユーザは、第１のアカウント（ユーザに対応）から第２のアカウント（受信者に対応）への暗号通貨の転送を許可するトランザクション生成モジュールを介してトランザクションを生成する。トランザクションは、オンラインまたはオフラインで生成され得る。
【０１０４】
端末３２０のプロセッサは、ブロックチェーンアクセサモジュール（例えば、図４のブロックチェーンアクセサモジュール４１６）を含む。ブロックチェーンアクセサモジュールは、システムプロバイダサーバ３２８を介して、ブロックチェーン、すなわちブロックチェーンコンピュータ３５０へのアクセスをユーザに提供するように構成される。ブロックチェーンアクセサモジュールは、署名済みのブロックチェーントランザクションを表す署名済みのトランザクションデータを、ブロックへの確認のためにブロックチェーンコンピュータ３５０に送信するように構成され得る。ブロックチェーンアクセサモジュールは、ユーザが様々なユーザアカウントの現在のステータスを表示できるように構成され得る。
【０１０５】
ブロックチェーンアクセサモジュールは、ユーザが、デジタルアセットが取引される他のブロックチェーンユーザと情報（例えば、アドレス）を交換できるように構成され得る。これは、他のユーザがシステムプロバイダにそれぞれのアカウントを提供してアドレスを提供する場合に可能である。他のブロックチェーンユーザは、オフラインであり得る。他のブロックチェーンユーザは、システム３００を使用して資金を受け取り得る。そうするために、他のブロックチェーンユーザは、秘密鍵を備えた独自のコールドストレージデバイス３２４を有する。アセットは、その秘密鍵から派生した公開鍵に関連付けられたアドレスに送信できる。システム３００を使用する他のブロックチェーンユーザは、彼らが利用できる端末３２０を介して取引することができる。
【０１０６】
ブロックチェーンアクセサモジュールは、システムプロバイダと対話して、ブロックチェーンで対話するために必要な情報を取得する。
【０１０７】
一実施形態では、システム３００の１つまたは複数の構成要素（例えば、端末３２０、コールドストレージデバイス３２４、システムプロバイダサーバ３２８、またはサービスプロバイダインフラストラクチャ／サーバ）は、暗号化エンジン（例えば、図４の暗号化エンジン４７４）を実装する。暗号化エンジンは、数学的概念から派生した安全な情報通信技術と、アルゴリズムと呼ばれる一連のルールベースの計算とを実装して、解読が難しい方法でメッセージを変換する。暗号化エンジンは、システム３００の１つまたは複数のコンポーネントによって受信または送信されたデータを暗号化または復号し、ブロックチェーン上のトランザクションの確認に署名および支援するために使用され得る。
【０１０８】
暗号化エンジンは、ハッシュモジュール（例えば、図４のハッシュモジュール４７８）、暗号化モジュール（例えば、図４の暗号化モジュール４８０）、および復号モジュール（例えば、図４の復号モジュール４８２）を含み得る。
【０１０９】
ハッシュは、データの整合性及び高速な検証メカニズムを維持し個人情報を保護する一方で、ブロックチェーン上の全ての人が軽量な方法でデータを転送する方法を提供する。デジタル署名は、アセットの正当な所有者のみがそのトランザクションに同意できるようにする方法を提供し、特定のトランザクションは常にその正当な所有者によって同意される。これらの２つのプロパティは、ブロックチェーンが破損または侵害されていないことを確認するために使用され、識別検証、データの整合性、および不変性を提供する。
【０１１０】
ハッシュモジュールは、任意の量の入力データを取得し、入力データにアルゴリズムを適用して、ハッシュと呼ばれる固定サイズの出力データを生成する。ハッシュは、世界の現在の状態を表すためにブロックチェーンで使用される。ハッシュは、鍵導出プロセス、トランザクション署名プロセス、トランザクション確認プロセスなどで使用され得る。具体的には、ブロックチェーンの場合、入力はブロックチェーンの状態全体である。つまり、これまでに行われた全てのトランザクションを意味し、結果の出力ハッシュはブロックチェーンの現在の状態を表す。第１のハッシュは、第１のブロックまたは起源（Genesis）ブロックに対して、そのブロック内のトランザクションを使用して計算される。初期トランザクションのシーケンスは、起源ブロックのブロックハッシュを計算するために使用される。後で生成される全ての新しいブロックについて、前のブロックのハッシュ、およびそれ自体のトランザクションも、そのブロックハッシュを決定するための入力として使用される。これは、ブロックのチェーンが形成される方法であり、新しい各ブロックハッシュは、その前にあるブロックハッシュを指す。ハッシュモジュールによって実装されたこのハッシュシステムは、トランザクションの任意の単一の部分が変更された場合に、それが属するブロックのハッシュも変更され、結果として任意の後続のブロックのハッシュも変更されるため、履歴内のトランザクションが改ざんされないことを保証する。
【０１１１】
暗号化／復号モジュールは、暗号化を使用して、メッセージが特定の人物（ユーザなど）から発信され、泥棒、なりすまし、ハッカーなどの他の人物から発信されていないことを証明する。
【０１１２】
暗号化／復号モジュールは、非対称暗号化システムを実装し得る。ユーザは、既知のアルゴリズムを使用して、公開鍵及び秘密鍵を含む鍵ペアを生成する。公開鍵及び秘密鍵は、数学的な関係によって相互に関連付けられる。
【０１１３】
公開鍵は、ＩＰアドレスや自宅のアドレスなど、他のユーザからメッセージ（または転送）を受信するためのアドレスとして機能するように公開されている。秘密鍵は秘密にされ、他のユーザに送信されるメッセージ（またはトランザクション）にデジタル署名するために使用される。受信者が送信者の公開鍵を使用して確認できるように、署名はメッセージ（またはトランザクション）に含まれる。このようにして、受信者は送信者だけがメッセージを送信（または転送）できたことを確認することができる。
【０１１４】
鍵ペアの生成は、ブロックチェーンでアカウントを作成するのと似ているが、どこにも登録する必要はない。ブロックチェーンで実行される全てのトランザクションは、送信者が秘密鍵を使用してデジタル署名する。この署名により、アカウントの所有者のみがブロックチェーンアセットをアカウントから移動できるようになる。
【０１１５】
システムは、端末３２０に接続された１つまたは複数の周辺機器を含み得る。周辺機器は、外部ストレージ、ＵＳＢドライブなどを含み得る。
【０１１６】
端末３２０に接続された周辺機器は、ユーザにセキュリティの脆弱性の別の原因を提示する。周辺機器の脆弱性は、例えば、端末３２０上のブロックチェーンアセットを扱う従業員を適切に訓練することによって、組織レベルで対処され得る。システム３００は、端末３２０への予期しない周辺機器の接続を禁止し得る。これは、一般的なコネクタの取り外し、耐タンパー性（anti-tamper）、タンパー耐性（tamper-resistant）、および開封明示機構のあるデバイス（tamper-evident device）の提供を含み得る。
【０１１７】
一実施形態では、端子３２０は、周辺機器用の動作可能なコネクタを含まない（したがって、図３に示されていない）。周辺機器用の動作可能なコネクタを持たないことにより、端末３２０は、周辺機器の端末３２０への接続に関連するセキュリティの脆弱性を抑制することができる。例えば、端末３２０は、周辺機器を接続するために利用可能なＵＳＢソケットまたは他のコネクタを持たない場合がある。そのような実施形態では、コールドストレージデバイス３２４は、安全で暗号化された形式の通信を使用して端末３２０に接続される。
【０１１８】
システム３００は、サービスプロバイダサーバインフラストラクチャを含み得る。サービスプロバイダサーバインフラストラクチャは、システムプロバイダサーバ３２８の代わりに、またはそれに加えて、通信ネットワーク３３６を介して端末３２０にブロックチェーンアクセスサービスを提供し得る。
【０１１９】
システム３００は、ブロックチェーンコンピュータ３５０を含む。ブロックチェーンコンピュータ３５０は、システムプロバイダサーバ３２８に接続される。システムプロバイダサーバ３２８は、通信ネットワーク３３６などの内部およびプライベート通信ネットワークを介してブロックチェーンコンピュータ３５０に接続され得る。
【０１２０】
ブロックチェーンコンピュータ３５０は、ブロックチェーンアセットのためのブロックチェーン技術を実装するように構成される。ブロックチェーンコンピュータ３５０は、分散型台帳を保持し、ブロックチェーントランザクションの完全性を検証する。ブロックチェーンコンピュータ３５０は、軽量ノード、フルノード、スーパーノード、またはマイナーであり得る。ブロックチェーンコンピュータ３５０は、（例えば、システムプロバイダサーバ３２８から）リモートであり得る。ブロックチェーンコンピュータ３５０は、複数の人々（サービスプロバイダを含むが、これに限定されない）によって管理され得る。ブロックチェーンコンピュータ３５０は、地理的に分散され得る。
【０１２１】
ノード及びウォレットは、ブロックチェーンプラットフォーム（MultiChainなど）の２つの別個のサブシステムである場合がある。ノードは、グローバルブロックチェーンの状態を追跡する。ウォレットは、インスタンスにとって特に関心のあるトランザクションを追跡することができ、さらに鍵を保持する。ウォレットはブロックチェーンのグローバル状態について知る必要があることが多いため、情報は通常、ノードからウォレットに送られる。フルノードは、ブロックチェーンのフルコピーを含む。ライトクライアントは、信頼できるフルノードのブロックチェーンのコピーを参照する。これにより、ユーザはブロックチェーンのコピー全体をダウンロードせずにブロックチェーンで取引することができる。フルノードは、トランザクションの処理または検証に役立つ。マイニングはフルノードが必要になり得る。フルノードはまた、ブロックチェーンネットワークの機能に貢献する。フルノードを実行しているパーティは、ネットワークのサポートに役立つ。
【０１２２】
通信ネットワーク３３６（例えば、インターネット）は、システムプロバイダサーバ３２８と端末３２０（クライアントとして機能する）との間の通信の手法である。別の実施形態では、端末３２０は、データを通信するための専用インフラストラクチャまたは他のプロトコルを使用して、プライベートネットワークを介してシステムプロバイダサーバ３２８に接続される。プライベートネットワークは、ポイントツーポイント接続であり得る。プライベートネットワークは、通信のセキュリティを強化し得る。
【０１２３】
通信ネットワーク３３６は、端末３２０のセキュリティの脆弱性の主な原因である。通信ネットワーク３３６はまた、端末３２０に接続された周辺機器のセキュリティの脆弱性の主な原因である。
【０１２４】
端末３２０は、他のセキュリティの脆弱性の原因を有する可能性がある。一例では、端末３２０に対するセキュリティの脆弱性の第２の原因は、ソーシャルエンジニアリングによるハッキングである。ソーシャルエンジニアリングによるハッキングでは、端末３２０のユーザ（組織の従業員など）は、ハッカーが合法的に見せようとして騙され又は欺かれ、それによりハッカーにアクセスを与える。このようなハッキングは、システム３００の任意のエンドポイントで発生する可能性がある。ソーシャルエンジニアリングによるハッキングは、サービスプロバイダ、ユーザ、またはサードパーティを標的にすることを含み得る。
【０１２５】
従業員の適切なトレーニングと強力な分離アクセスプロトコルはまた、ソーシャルエンジニアリングによるハッキングに関連するサービスプロバイダおよびサードパーティ内のセキュリティリスクを大幅に軽減する。システム３００では、各エンティティは、オフラインで格納された独自のキーを持っている。したがって、そのような攻撃アプローチが成功するためには、従業員は、各ユーザのコールドストレージデバイス３２４への物理的アクセスを含む、侵害される各ユーザに対する特に標的を定めた攻撃と併せて、各エンティティで意図的に行動しなければならない。
【０１２６】
システム３００は、コールドストレージデバイス３２４を含む。コールドストレージデバイス３２４は、ユーザデータを記憶するためのメモリとコールドストレージデバイス３２４との間でデータを転送するための通信インターフェースとを含む。メモリは、フラッシュメモリであり得る。通信インターフェースは、ＵＳＢ、ブルートゥース（登録商標）、ＮＦＣなどであり得る。コールドストレージデバイス３２４は、コールドストレージデバイス３２４に記憶されたデータを端末３２０に送信することができるように、端末３２０に接続可能である。端末３２０とコールドストレージデバイス３２４との間のデータ転送は、例えば、ユーザインターフェース３３８を介して、ユーザによって開始される。
【０１２７】
コールドストレージデバイス３２４は、システム３００を使用してブロックチェーントランザクションを実行するために必要とされるメモリに機密性の高いユーザデータを格納する。機密性の高いユーザデータは、１つ又は複数の秘密鍵を含み得る。秘密鍵データは、未署名のトランザクションデータに署名して、署名済みのブロックチェーントランザクションを生成するために使用される。ユーザは、ユーザアカウントの整合性を維持し、ユーザアカウントのアセットの制御を維持するために、秘密鍵を秘密のままにする（すなわち、ユーザだけが知っている）ことを望んでいる。コールドストレージデバイス３２４は、インターネットに接続可能ではない。しかしながら、通常の状況下では、コールドストレージデバイス３２４が端末３２０に接続され、端末３２０がインターネットに接続されている場合、コールドストレージデバイス３２４に格納されたデータがアクセス可能であり、したがって脆弱である可能性がある。
【０１２８】
コールドストレージデバイス３２４は、フラッシュドライブ（例えば、ＵＳＢキー）、外付けハードドライブ、ＳＤＳメモリ、ディスク（例えば、ＣＤ−ＲＯＭ、磁気ディスク、フロッピー（登録商標）ディスク、バイオデバイスなど）チップおよびそのためのリーダーを備えたカード、バイオデバイス（例えば、本体に埋め込まれたチップ）およびそのためのリーダーなどであり得る。コールドストレージデバイス３２４は、端末３２０の内部にあり得る。コールドストレージデバイス３２４は、接続を切断され得る。
【０１２９】
コールドストレージデバイス３２４は、図３においてＵＳＢタイプの装置として示され得るが、これは限定的ではなく、任意の適切なデータ転送方法に従って、端末３２０とコールドストレージデバイス３２４との間でデータ転送が起こり得ることを理解されたい。
【０１３０】
コールドストレージデバイス３２４は、デジタルウォレットをメモリに格納する。デジタルウォレットは、ユーザの秘密鍵、公開鍵、スクリプト（アドレスに対応）、鍵のメタデータ（ラベルなど）、およびウォレットに関連するトランザクションを含むウォレットデータを含む電子ファイル（wallet.datファイルなど）である。デジタルウォレットは、コールドウォレットであり得る。変形例では、コールドストレージデバイス３２４、端末３２０、またはコールドストレージデバイス３２４および端末３２０、デジタルウォレットを生成するために使用され得る。
【０１３１】
一実施形態では、デジタルウォレットは、階層的な決定論的（ＨＤ）ウォレットである（例えば、図６）。別の実施形態では、デジタルウォレットは、非階層的な決定論的ウォレットであり得る。ＨＤウォレットはまた、各秘密鍵のＨＤシード経路及び派生経路を含む。場合によっては、特定のウォレットデータが端末３２０に転送または交換される。コールドストレージデバイス３２４に記憶された秘密鍵は、決して端末３２０に転送されない。
【０１３２】
コールドストレージデバイス３２４は、永久にオフラインである。ユーザが保護されたままにしておきたい（例えば、秘密鍵）、およびネットワーク３３６を介して転送されたくないウォレットデータは、コールドストレージデバイス３２４のメモリに格納される。システム３００は、端末３２０がネットワーク３３６に接続されている一方で、コールドストレージデバイス３２４が機密性の高いウォレットデータ（例えば、秘密鍵）を決して公開しないことを確実にするように構成される。
【０１３３】
ブロックチェーンアセット転送のフローは、システム３００のより深いエンド、すなわちコールドストレージデバイス３２４から開始される。これは、コールドストレージデバイス３２４が端末３２０とのデータ交換を介してそれ自体に感染するために、コールドストレージデバイス３２４が最初に危険にさらされなければならないため、多段階感染を防ぐのに役立つ。
【０１３４】
コールドストレージデバイス３２４は、プロセッサを含む。プロセッサは、１つ又は複数のモジュールまたはエンジンで実行される。プロセッサは、未署名のトランザクションデータ及び秘密鍵データから署名済みのトランザクションを生成するように構成されている。端末３２０がオフラインであるとき、プロセッサはトランザクションに署名する。プロセッサは、数学的関数を使用してトランザクションに署名する。
【０１３５】
署名済みのトランザクションは、コールドストレージデバイス３２４の通信インターフェースを介してコールドストレージデバイス３２４から端末３２０に送信される。端末３２０は、コールドストレージポート３９０を介して署名済みのトランザクションを受信する。署名済みのトランザクションは、端末３２０のメモリに格納されることができる。
【０１３６】
署名済みのトランザクションは、ブロックチェーンネットワーク（すなわち、ブロックチェーンコンピュータ３５０）に（例えば、ブロックチェーンアクセサモジュール４１６を介して）ブロードキャストされる。ブロックチェーンネットワークは、トランザクションをブロックに確認する。
【０１３７】
システム３００は、スイッチコネクタ３４４を含む。スイッチコネクタは、端末３２０が通信ネットワーク３３６およびコールドストレージデバイス３２４の両方に同時に接続されるのを妨げるように構成される。スイッチコネクタ３４４は、モード切り替えモジュール（例えば、図４のモード切り替えモジュール４８６）によって制御または実施され得る。スイッチコネクタ３４４は、ネットワーク３３６を介して発生する可能性のある外部への望ましくない露出から、コールドストレージデバイス３２４（およびそこに格納された秘密鍵）を保護する。
【０１３８】
スイッチコネクタ３４４は、通信ネットワーク３３６およびコールドストレージデバイス３２４が端末３２０に同時に接続されることなく、コールドストレージデバイス３２４が端末３２０を介してウォレットデータを転送することを可能にする。コールドストレージデバイス３２４は、ネットワーク３３６との通信のポートを含まない。したがって、端末３２０がネットワーク３３６に接続されていない場合、ネットワーク３３６を介したコールドストレージデバイス３２４へのアクセスはない。スイッチコネクタ３４４は、端末３２０とコールドストレージデバイス３２４との間の接続をエアギャップ（air-gap）する（すなわち、コールドストレージデバイス３２４が通信ネットワーク３３６から分離および隔離される）。
【０１３９】
一実施形態では、スイッチコネクタ３４４は、ハードウェアスイッチを含む。ハードウェアスイッチは、ダイオードまたはトランジスタを含む電子論理ゲートであり得る。有利なことに、ハードウェアは、ソフトウェア実装からの盗みを試みて成功する可能性のあるマルウェアの影響を受けないことを考えると、ハードウェアスイッチを有するスイッチコネクタ３４４は、スイッチのソフトウェア実装よりも安全であり得る。
【０１４０】
別の実施形態では、スイッチコネクタ３４４は、ソフトウェアスイッチを含む。ソフトウェアスイッチは、ロックアウトエンジン（図４のロックアウトエンジン４０９など）によって制御され得る。ソフトウェアスイッチを有するスイッチコネクタ３４４を実装することは、ハードウェアスイッチよりも実装が容易であり得る。
【０１４１】
スイッチコネクタ３４４は、端末３２０を、あるいは、ネットワーク通信ポート３８０またはコールドストレージポート３９０に接続する。スイッチコネクタ３４４は、端末３２０のデバイスドライバ内に直接実装され得る。スイッチコネクタ３４４は、デバイスドライバ内でシステムコールフックを使用し得る。スイッチコネクタ３４４は、一度に端子３２０に対して１つの接続のみを許可するように構成される。例えば、スイッチコネクタ３４４は、ネットワーク通信ポート３８０及びコールドストレージポート３９０のいずれかを無効にし、他方を有効にし得る。
【０１４２】
コールドストレージポート３９０は、コールドストレージデバイス３２４のタイプに対応する。複数のタイプのコネクタがあり得る。それらは全てスイッチコネクタ３４４と接続する。
【０１４３】
一実施形態では、コールドストレージポート３９０は、暗号化されたブルートゥース（登録商標）通信を使用する。別の実施形態では、コールドストレージ３９０は、ＮＦＣ通信を使用する。特定の実施形態では、ＮＦＣ通信は特別に細工されている。ネットワーク通信ポート３８０は、イーサネット（登録商標）アダプタであり得る。
【０１４４】
ここで図３Ｂを参照すると、一実施形態に係る、オフラインモードの端末３２０を有するシステム３００が示される。オフラインモードでは、スイッチコネクタ３４４は、端子３２０をコールドストレージデバイス３２４に接続する。スイッチコネクタ３４４は、ネットワーク３３６を介したコールドストレージデバイス３２４へのアクセスを妨げる。スイッチコネクタ３４４は、コールドストレージデバイス３２４が端末３２０に接続され、機密データ（例えば、秘密鍵）を危険にさらすときに、コールドストレージデバイス３２４上に存在し得る、または端末３２０上にあり得るマルウェアがネットワーク３３６を介して外部コンピュータに通信することを妨げる。オフラインモードでは、未署名のトランザクションは、コールドストレージデバイス３２４で署名されることができる。
【０１４５】
ここで図３Ｃを参照すると、一実施形態に係る、オンラインモードの端末３２０を有するシステム３００が示される。オンラインモードでは、端末３２０は、ネットワーク３３６に接続され、したがって、システムプロバイダサーバ３２８に接続される。スイッチコネクタ３４４は、端末３２０をネットワーク３３６に接続する。オンラインモードでは、端末３２０は、ネットワーク３３６を介してシステムプロバイダサーバ３２８と通信することができる。例えば、オンラインモードでは、端末３２０は、（コールドストレージデバイス３２４から受信された）署名済みのトランザクションをシステムプロバイダサーバに送信することができる。
【０１４６】
一実施形態では、システム３００は、企業のコンテキストで使用され得る。ユーザは、組織の従業員であり得る。端末３２０がコールドストレージデバイス３２４に接続されているとき、システムプロバイダインフラストラクチャ上で（例えば、システムプロバイダサーバ３２８を介して）動作するユーザは、端末３２０を使用して、端末３２０が組織のコールドストレージデバイス３２４で閲覧する許可を有する文書にアクセスして閲覧することができる。コールドストレージデバイス３２４に格納されたブロックチェーンアセットを組織外のパーティ（例えば、別の組織または同じ組織内の別の場所）に転送したい場合、ユーザは、転送するブロックチェーン文書を選択することができる。ブロックチェーン文書は閲覧のための許可を必要とする。これは、信頼グループ内の許可を介して、または文書を表示する許可を取得する特定のアドレス（受信者）に文書を送信することによって付与されることができる。さらに、ブロックチェーン文書は、ブロックチェーンに新しいバージョンを作成せずに変更することはできない。
【０１４７】
ユーザは、コールドストレージデバイス３２４から端末３２０の通信を切断する。ユーザは、端末３２０をネットワーク通信ポート３８０（例えば、イーサネット（登録商標）アダプタ／ポートまたはＷｉＦｉ（登録商標）をオンにする）に接続し、オンラインで転送を実行する。端末３２０をネットワーク通信ポート３８０に接続することは、端末３２０をシステムプロバイダサーバ３２８に接続する。システムプロバイダサーバ３２８は、トランザクションに署名する。システムプロバイダサーバ３２８は、署名済みのトランザクションを以前に決定されたアドレスにブロードキャストする。署名済みのトランザクションをブロードキャストする方法は、各ブロックチェーンに固有である。
【０１４８】
システム３００を使用して、文書が「ホット」である間（すなわち、端末３２０がオンラインであるとき）、ユーザは、コールドストレージデバイス３２４上でブロックチェーン文書を閲覧することは決してない。ブロックチェーン文書の転送は、端末３２０において以前にオフラインと決定されたように、システムプロバイダインフラストラクチャを介して行われる。これにより、マルウェア及びその他の攻撃の可能性が減少する。端末３２０、コールドストレージデバイス３２４、およびスイッチコネクタ３４４の物理的リンクは全て、どのようにそして何にアクセスするかに関してシステムプロバイダによって以前に決定されているため、攻撃に対する脆弱性は低減される。これにより、バックドア又は傍受の任意の可能性が大幅に減少する。任意のバックドアまたは傍受は、以前にデバイス３２０、３２４を直接改ざんした結果である。
【０１４９】
別の実施形態では、システム３００は、ユーザが個々の取引暗号通貨である場合など、個人的な状況で使用されることができる。システム３００は、端末３２０にアクセスできるユーザを含む。端末３２０は、システムプロバイダインフラストラクチャにのみアクセスするように構成される。端末３２０は、他のタスクには使用されない。
【０１５０】
端末３２０を使用して、ユーザは、ユーザが保有する暗号通貨（または他のブロックチェーンアセット）のタイプおよび金額を閲覧することができる。暗号通貨のタイプ及び金額はウォレットに格納される。
【０１５１】
システム３００は、ウォッチオンリーモードを含む。ウォッチオンリーモードでは、ユーザは端末３２０でウォレットを閲覧することができる。ウォッチオンリーモードは、ユーザが端末３２０を使用して秘密鍵なしでウォレットを持ってアクセスできるようにする「モード」である。システム３００は、ユーザがウォッチオンリーモードで端末３２０からブロックチェーントランザクションに署名することを許可しない。ウォッチオンリーモードを使用すると、ユーザは、端末３２０を使用してトランザクションに署名することに関連するセキュリティ上の懸念なしに、そのウォレットのステータスを監視することができる。そのようなセキュリティ上の懸念の１つは、端末３２０をシステムプロバイダサーバ３２８にリンクする通信ネットワーク３３６を介した秘密鍵の公開である。
【０１５２】
システム３００を使用して、ユーザは、端末３２０を介してブロックチェーンアセットのトレードの実行を指示し得る。ユーザは、物理リンクまたはスイッチコネクタ３４４をコールドストレージデバイス３２４に接続する。ユーザは、コールドストレージデバイス３２４を端末３２０に接続する。端末３２０は、この時点では通信ネットワーク３３６に接続されていない（すなわち、端末３２０はオフラインである）。
【０１５３】
コールドストレージデバイス３２４から端末３２０への署名済みのトランザクション転送が完了すると、ユーザは、端末３２０を通信ネットワーク３３６に再接続する。再接続は、スイッチコネクタ３４４（または物理リンク）を端末３２０のネットワーク通信ポート３８０に切り替えることによってなされることができる。上記のように、端末３２０は、ネットワーク３３６を介してシステムプロバイダサーバ３２８にのみアクセスするように構成／事前プログラムされている。端末３２０がネットワーク３３６に接続されると、端末３２０は、ブロックチェーンアセットのトレードを実行する。
【０１５４】
現在のアプローチを使用すると、ほとんどの交換では、ユーザは最初に暗号通貨をホットウォレットに転送して、交換サービスにオンラインでアクセスできるようにする。ユーザは、法定通貨を取引所に送金する。取引所は、取引所のウォレットから第１のユーザウォレットにコイン（または他の暗号通貨）を転送する。第１のユーザウォレットは、取引所が所有および管理するホットウォレットである。そこから、ユーザはコインを、ユーザが所有および管理する第２のユーザウォレットに転送して、オンライン交換サービスの領域外でコインを使い始める。これは、システム３００内で直接スキップすることができる二次ステップであり、プロセスで１つのトランザクションを節約する。
【０１５５】
一実施形態では、システム３００は、暗号通貨を安全に取引するために使用されることができる。システム３００は、ユーザが、コールドストレージデバイス３２４上のコールドストレージウォレット（すなわち、オフラインウォレット）に暗号通貨を保持し、そこから暗号通貨を交換することを可能にする。コールドストレージウォレットを使用した取引及び保管は、従来の方法よりも簡単で安全である。端末３２０が通信ネットワーク３３６に接続されている場合、ユーザは、システム３００を使用して、アセットをコールドストレージウォレットから交換プラットフォームによって制御されるオンラインウォレット（ホットストレージウォレット）に転送する必要なしに、ユーザ通貨を取引することができる。システム３００を使用して、ユーザは、交換プラットフォームがコインを直接転送する端末３２０を介してアドレスを提供するだけである。したがって、システム３２０は、ユーザが、コインをホットウォレット（オンラインウォレット）に保管することに関連付けられたセキュリティリスクなしに、コインを完全に制御することを可能にする。
【０１５６】
したがって、いくつかの実施形態では、システム３００は、従来のアプローチのように２つのステップではなく、単一のトランザクションを実行する。トランザクションステップの数を減らすことによって、システム３００は、トランザクションに関連付けられたトランザクション料およびラグタイムを減らすことができる（すなわち、資金がより迅速に利用可能であり、ユーザを待つことが少なくなる）。例えば、システム３００は、トランザクションの検証に関連付けられたトランザクション手数料を削減し、資金のより速い利用可能性を提供することができる。
【０１５７】
システム３００は、複数の検証の代わりに１つの検証を含む。ブロックに追加する必要がある唯一のトランザクションは、取引所からコールドストレージデバイス３２４へのトランザクションである。ユーザは、第２のトランザクションもブロックに追加されるのを待つ必要がないので、コールドストレージデバイス３２４から法定通貨（fiat）銀行口座に転送される変換された通貨への完全な交換ループの合計経過時間が短縮される。完全な交換ループは、法定通貨を使用した暗号通貨の購入と、購入した暗号通貨の法定通貨（または別の暗号通貨）への交換とを含む。ユーザが再び法定通貨で交換したい場合、システムは、交換ウォレットに送信し、適切な法定通貨口座に資金を解放するだけで済む。このシナリオでは、システム３００は、単一の検証のみを必要とする。システム３００は、途中の各ステップでユーザのトランザクションにそれらを埋め込むことによって、一元化されたサードパーティの必要性を軽減する。
【０１５８】
時間の短縮はまた、トランザクション手数料の削減に結び付くことができ、特定のブロックチェーンによって異なり、数分から１時間の範囲であり得る。トランザクションの数の低減を通して時間を短縮することによって、システム３００は、ユーザが市場の変動に対してより迅速に反応することを可能にし得る。これは、非常に不安定な暗号通貨市場で特に有利であり得る。時間要件を削減することにより、システム３００は、ユーザ、ユーザの銀行、または暗号通貨の支払いを受け取り、それを別の通貨または暗号通貨に変換したい第三者のコストを削減し得る。
【０１５９】
端末３２０はまた、通常のウォレットとしても機能し、ユーザが交換を必要とせずにブロックチェーンと対話することを可能にする。トランザクションは、常にシステムプロバイダサーバ３２８からブロードキャストされ、これはユーザが自分自身をブロードキャストすることに関連付けられたセキュリティリスクを軽減する。システムは、マルチ署名モジュール（たとえば、図４のマルチ署名モジュール４２８）を実装することによってこれを実現する。マルチ署名モジュールは、マルチ署名アプローチを実装する。マルチ署名アプローチでは、ユーザの暗号化鍵が、ブロックチェーントランザクションの署名プロセスに必要な署名の最大半分を表すように制限される。これは事実上、マルチ署名に含まれるキーの合計が２以上であり、ユーザが両方を所有できないことを意味する。その場合、最小のアプローチは２つのうち２つになる。
【０１６０】
したがって、特定のアドレスからの支出の１対１のマッピングは、外部の受信者と、ユーザ、システムプロバイダ、およびサービスを実装してそれぞれのシステムと対話する信頼できるｎ個のサードパーティを含む信頼グループとの間でのみ行うことができる（たとえば、通常の銀行口座とやり取りするためにクライアントにシステムを提供している銀行）。
【０１６１】
ブロックチェーン検証操作は、複雑であり得る。ブロックチェーン内の単一のブロックを確認またはマイニングするには、高い計算能力が必要になる場合がある。一部のブロックチェーン技術の複雑さ及び高い計算能力要件は、エネルギーと生態系に悪影響を与える場合がある。システム３００は、より少ないトランザクションを必要とすることにより、標準的なブロックチェーン検証操作に関連付けられた生態学的およびエネルギー的負担を軽減する。
【０１６２】
端末３２０のハードウェアは、システムプロバイダサーバ３２８によって認識される。ユーザが端末３２０にパスワードを一度入力すると、ユーザは、例えば、クライアント端末３２０を使用してシステムプロバイダサーバ３２８にアクセスすることによって取引することができる。ユーザが取引を停止して安全モード（すなわち、コールドストレージモード／オフラインモード）に入ろうとするとき、端末３２０は、（例えば、ハードウェアのプラグを抜くことによって）通信ネットワーク３３６から切断される。その後、システムは、コールドストレージモードになる。端末をコールドストレージモードで操作するとき、ユーザは、コールドストレージデバイス３２４に格納されたデータにアクセスすることができる。
【０１６３】
いくつかの実施形態では、システム３００は、マルチパーティ回復方法（例えば、図４のマルチパーティ回復モジュール４７０）を実装するように構成される。回復方法は、失われたパスワード、失われた鍵、またはユーザの失われたまたは壊れたデバイス（例えば、コールドストレージデバイス３２４）からの情報を回復するために使用されることができる。
【０１６４】
回復方法に従って、ユーザはシード拡張子を定義する。シード拡張子は、ニーモニック拡張子（mnemonic extension）であり得る。シードは、システムプロバイダなどの回復作業に関与する二次パーティによって格納される（たとえば、シードをシステムプロバイダサーバ３２８に格納する）。二次パーティは、ニーモニック拡張子を有するシードの暗号化されたコピーを有する。回復方法の特定の実施形態では、システム３００は、ユーザおよびシステムプロバイダのみを含む（第三者を含まない）。このような場合、ユーザ及びシステムプロバイダはそれぞれ、ユーザのニーモニック拡張子で暗号化された共有鍵を格納する。ユーザ及びシステムプロバイダはそれぞれ、ニーモニック拡張子を有するシードの暗号化されたコピーを有する。ユーザは、シード拡張子を有するシードを使用して秘密鍵を回復することができる。シード及び秘密鍵の両方が失われた場合、ユーザは、システムプロバイダに（例えば、システムプロバイダサーバ３２８を介して）シードを要求し、シード及びニーモニックデバイスを使用して秘密鍵を復号することができる。
【０１６５】
別の実施形態では、システム３００によって実装されるマルチパーティ回復方法は、ユーザ、システムプロバイダ、およびサードパーティを含む。サードパーティは、サードパーティのサービスプロバイダである。サードパーティのサービスプロバイダは、選挙を実施する銀行、病院、政府機関などであり得る。システム３００を使用して、ユーザは、ウォレットの秘密鍵を回復することができる。システム３００は、関係者の数（ここでは３つ）以上の秘密の共有の数Ｓを含むフラグメント化された秘密を作成する。フラグメント化された秘密を作成することにより、システム３００は、回復の複数のメカニズムを提供する。たとえば、ユーザがデジタルウォレットを紛失した場合、ユーザがマスターシードを忘れた場合、法律の必要性によりウォレットを渡す必要がある場合など、サードパーティのサービスプロバイダ及びシステムプロバイダはウォレットを回復するのに役立つことができる。
【０１６６】
ユーザは、ユーザとサードパーティのサービスプロバイダとの間で共有される秘密（secret）を拡張する。ユーザはまた、ユーザとメインシステムプロバイダとの間の秘密を拡張する。サードパーティのサービスプロバイダは、サードパーティのサービスプロバイダとシステムプロバイダとの間で共有される秘密を拡張する。
【０１６７】
システム３００は、ユーザがマスターシードを作成する以外の行動をとる必要なしに、拡張機能を自動的に配布する。一実施形態では、この目的のために使用される暗号化アルゴリズムは、シャミアの秘密共有スキーム（ＳＳＳＳ：Shamir’s Secret Sharing Scheme）である。
【０１６８】
回復方法の実施形態は、複数のサードパーティサービスプロバイダを含み得る。そのような実施形態では、鍵のフラグメントは、ユーザと各サードパーティサービスプロバイダとの間で共有され得る。フラグメントは、ユーザとシステムプロバイダとの間で共有される。フラグメントは、各サードパーティサービスプロバイダとシステムプロバイダとの間で共有される。例えば、マルチ署名ウォレット内の所与のアカウントに対して２つのサードパーティサービスプロバイダが存在する場合、システム３００は５つ以上のフラグメント；ユーザとシステムプロバイダの間の１つのフラグメント（＋１）、ユーザと２つのサードパーティサービスプロバイダのそれぞれの間の１つのフラグメント（＋２）、および各サードパーティサービスプロバイダとシステムプロバイダとの間の１つのフラグメント（＋２）を生成する。任意選択で、サードパーティのサービスプロバイダはまた、フラグメントを共有して、フラグメントの総数を６にすることができる。この原理は、何度でも繰り返されることができる。別の例として、各関係パーティは１つではなく３つの拡張子を有することができ、前者の例では合計１５フラグメント、後者の例では１８フラグメントになる（サードパーティのサービスプロバイダが相互に秘密を拡張する）。
【０１６９】
鍵を復元するために必要な共有の最小数は、同じアカウントのサードパーティサービスプロバイダの合計に２／Ｓを掛けたもの以上である必要がある。ここで、Ｓは共有の合計量である。前の例に従うと、第１のバージョンでは５個のうち少なくとも４個の共有、または第２のバージョンでは６個のうち４個の共有が必要になる。システムの各参加者間で複数の拡張を伴うバリエーションの場合、システム３００は、１５個中１２個、または１８個中１５個の共有を生成する。
【０１７０】
別の実施形態では、秘密の共有Ｓを入れ子にする（nested）ことができ、各レベルで必要な共有の数を減らしながら、親の秘密の共有のために秘密の共有を保持する複数のパーティを粒度で定義することができる。たとえば、秘密の特定の共有自体を、同じｋ−ｏｆ−ｎ方式で複数のサブ共有に分割できるため、共有を再作成するには、それらのｎ個のサブ共有のうちｋ個が必要である。これにより、秘密分散スキームの最終的な速度低下を防ぎ、各層での鍵の大規模なセットの管理を最小限に抑え、一部のブロックチェーンとの非互換性の問題を解決できる。たとえば、ビットコインコアは、最大１６個の共有をネイティブにサポートする。このアプローチはまた、回復メカニズム自体の多要素認証を作成するために利用される（leveraged）ことができる（多要素認証メカニズムの署名とは別に）。
【０１７１】
一実施形態では、任意の共有は、合計および回収するために使用されることができる。回復方法の別の実施形態では、システム３００は、合計して回復するために必要な共有の最小数を指定する（例えば、少なくとも１つの共有がユーザから必要とされる）。
【０１７２】
システム３００は、バックアップモジュールを含み得る。バックアップモジュールは、秘密鍵の１つ又は複数のバックアップメカニズムを実装するように構成される。バックアップメカニズムは、サードパーティのサービスプロバイダでのユーザの秘密鍵を安全に格納するための信頼の合意など、複数の種類の冗長メカニズムを含み得る。
【０１７３】
バックアップモジュールの特定の実施形態では、銀行（第三者）は、ユーザの銀行ＰＩＮでユーザの秘密鍵を暗号化し得る。これにより、ユーザが銀行のＰＩＮを新しい銀行のＰＩＮに更新するときに、メンテナンスの追加の層が追加される場合がある。これは、ユーザが新しい銀行のＰＩＮでキーのコピーを再暗号化する必要があるためである。これはバックアップにのみ関係するため、システムの操作に複雑さを追加することはない。
【０１７４】
システム３００および方法の動作および機能は、様々な利点を提供し得る。端末３２０を単一アプリケーションコンピュータとして提供することは、端末３２０がその目的、アプリケーション、および本開示に係る機能性において制限されている場合、端末３２０が悪意のあるソフトウェアに感染する可能性が低いため、ブロックチェーントランザクションを実行する際のより高いセキュリティを保証する。端末３２０の単一アプリケーションコンピュータは、マルウェアが利用する攻撃対象領域を制限する。システム３００は、攻撃対象領域を制限することにより、セキュリティを改善し、侵害のリスクを低減する。
【０１７５】
一実施形態では、端末３２０は、ウォッチオンリーモードを含む。ウォッチオンリーモードの実施形態では、端末３２０は、ブロックチェーンアセットを表示し、許可を作成し、ブロックチェーントランザクションを更新するためのユーザインターフェースのみを実装する。端末３２０は、事実上、コールドストレージデバイス３２４上のコールドストレージ（オフライン）ウォレットによって署名されるブロックチェーントランザクションを作成するウォッチオンリーウォレットである。端末３２０は、部分的に署名済みのブロックチェーントランザクションをシステムプロバイダサーバ３２８に送信するように構成され、部分的に署名済みのトランザクションは、システムプロバイダおよび任意のサードパーティサービスプロバイダによって署名され得る。
【０１７６】
システム３００の様々な実施形態は、様々なアプローチに従って、潜在的なセキュリティリスクを機密性の高いユーザデータに制限し得る。端末３２０は、通信ネットワーク３３６を介して、事前定義されたシステムプロバイダインフラストラクチャ／サーバ３２８にのみアクセスするように構成されることができ、端末３２０の露出および攻撃ベクトルを制限する。システム３００は、ＤＮＳ制限、ファイアウォールルールの実装、ポイントツーポイントネットワークの使用、または端末３２０とシステムプロバイダサーバ３２８との間のピアツーピアアプローチの実装を通じて、端末の露出および攻撃ベクトルを制限し得る。端末３２０は、ウォレットを危険にさらす可能性のあるデータを格納しないように構成され得る。システム３００は、端末３２０へのサードパーティアプリケーションの追加に関する制限を含み得る。制限は、サードパーティアプリケーションの追加を、システムプロバイダによっておよびシステムプロバイダを介して端末３２０に追加されたサードパーティアプリケーションのみに制限し得る。このような制限は、サードパーティのアプリケーションを介して作成された攻撃のバックドアを抑制し得る。システム３００は、ユーザが、ユーザによって選択されたサードパーティサービスプロバイダの組み合わせ毎にウォレット内にアカウントを作成し、各サードパーティサービスプロバイダの公開鍵及びシステムプロバイダの公開鍵を追加することを単に可能にし得る。これは、第三者と直接、またはユーザの端末３２０を介してなされ得る。
【０１７７】
ここで図４を参照すると、一実施形態に係る、安全なブロックチェーントランザクションを実行するためのコンピュータシステム４００が示されている。コンピュータシステム４００は、本開示のシステムおよび方法（またはその一部）を実装する。例えば、コンピュータシステム４００は、図５および図７の方法５００および７００をそれぞれ実装するために使用され得る。別の例では、コンピュータシステム４００は、図３のシステム３００の様々な機能を実行する。モジュールおよびデータなどのコンピュータシステム４００の様々な構成要素および機能は、システム３００の複数の構成要素（例えば、端末３２０、コールドストレージデバイス３２４、システムプロバイダサーバ３２８）にわたって分散および／または複製され得る。場合によっては、コンピュータシステム４００の特定の構成要素および機能性が、システム３００の複数の構成要素に存在し得る。
【０１７８】
コンピュータシステム４００は、プロセッサ４０２およびメモリ４０４を含む。プロセッサ４０２は、コンピュータデバイス２００のプロセッサ１０２０であり得る。メモリ４０４は、コンピュータデバイス２００のフラッシュメモリ１１１０であり得る。プロセッサ４０２は、図５および図７の方法５００および７００のステップ（またはモジュール）をそれぞれ実行する。メモリ４０４は、方法５００、７００によって受信、使用、および生成されたデータを格納する。プロセッサ４０２は、メモリ４０４に格納されたデータと対話して、５００、７００のステップを実行する。
【０１７９】
メモリ４０４は、ユーザデータ４０８、送信者データ４１０、受信者データ４１７、およびモードデータ４１１を格納する。メモリ４０４は、端末（例えば、図３の端末３２０）、コールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）、またはシステムプロバイダサーバ（例えば、図３のシステムプロバイダサーバ３２８）に格納され得る。
【０１８０】
ユーザデータ４０８は、トランザクションデータ４１３を含む。ユーザデータ４０８はまた、１つまたは複数のウォレットに対応し得るウォレットデータ４４０を含む。ウォレットデータ４４０は、コールドストレージデバイスに格納された１つまたは複数のオフラインウォレットを含む。ウォレットデータ４４０は、１つまたは複数のユーザアカウントに関連付けられたアカウントデータ４４４を含む。アカウントデータ４４４は、鍵データ４５２およびアセットデータ４６２を含む。鍵データ４５２は、秘密鍵４５８および公開鍵４５６を含む。アセットデータ４６２は、トランザクションに関連付けられたメタデータ（例えば、金額、アセットのタイプ）を含み得る。秘密鍵４５８は、コールドストレージデバイスのメモリ４０４に格納される。
【０１８１】
送信者データ４１０および受信者データ４１７は、トランザクションを生成するために使用される。受信者データ４１７は、受信者アドレスを含む。
【０１８２】
モードデータ４１１は、端末の現在のモードに関連するデータを含む。
【０１８３】
コンピュータシステム４００はまた、通信インターフェース４０６を含む。通信インターフェース４０６は、コンピュータシステム４００とシステムの他の構成要素との間の通信を容易にし、場合によっては制限または限定する。
【０１８４】
通信インターフェース４０６は、ネットワークインターフェース４１４および／またはコールドストレージインターフェース４１８を含み得る。ネットワークインターフェースは、ネットワーク（例えば、図３のネットワーク３３６）を介したコンピュータシステム４００との間の通信およびデータ転送を容易にする。コールドストレージインターフェースは、コールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）との間の通信およびデータ転送を容易にする。一実施形態では、ネットワークインターフェース４１４は、図３のネットワーク通信ポート３８０であり得る。一実施形態では、コールドストレージインターフェース４１８は、図３のコールドストレージ通信ポート３９０であり得る。
【０１８５】
システム４００は、ユーザ出力および入力を表示するためのディスプレイ４２２を含む。ディスプレイは、端末にあり得る（例えば、図３の端末３２０）。
【０１８６】
プロセッサ４０２は、端末（例えば、図３の端末３２０）またはコールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）に配置され得る。
【０１８７】
プロセッサは、ロックアウトエンジン４０９を含む。ロックアウトエンジン４０９は、機密性の高いユーザ情報（例えば、秘密鍵４５８）を安全に保つために、本開示のシステムおよび方法の様々なセキュリティ機能を実装するように構成される。
【０１８８】
ロックアウトエンジン４０９は、トランザクション生成モジュール４１２、ブロックチェーンアクセサモジュール４１６、許可更新モジュール４２０、通信モジュール４２４、マルチ署名モジュール４２８、マルチパーティ回復モジュール４７０、およびモード切り替えモジュール４８６を含み得る。
【０１８９】
トランザクション生成モジュール４１２は、コールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）によってオフラインで処理および署名されるブロックチェーントランザクションを作成する。トランザクション生成モジュール４１２は、ユーザデータ４０８および受信者データ４１７を含むトランザクション入力データから署名なしブロックチェーントランザクションを生成するように構成される。入力トランザクションデータは、金額、受信アドレス、およびタイムスタンプを含み得る。トランザクション入力データは、ユーザ入力デバイス４６６を介してユーザによって入力され得る。トランザクション生成モジュール４１２は、コンピュータシステム４００がオフラインであるときに、署名なしトランザクションを生成し得る。
【０１９０】
ブロックチェーンアクセサモジュール４１６は、端末を介して、システムプロバイダサーバ／インフラストラクチャ（例えば、図３のサーバプロバイダサーバ３２８）を介したブロックチェーン技術（例えば、図３のブロックチェーンコンピュータ３５０）へのアクセスをユーザに提供するように構成される。ユーザは、様々なアカウントの現在のステータスを閲覧することができる。ユーザは、デジタルアセットが取引されている他のブロックチェーンユーザと情報（例えば、アドレスなど）を交換することができる。
【０１９１】
許可更新モジュール４２０は、許可データから許可を付与、転送、および更新するように構成される。許可を変更するために、信頼グループ内の任意のエンティティがサービスプロバイダに許可の変更を要求することができる。サービスプロバイダは、要求されたアクセス許可の変更に、サービスプロバイダの関連付けられた秘密鍵を使用して署名する。サービスプロバイダは、アクセス許可の変更を内部で確認し、アクセス許可に適切な変更を加える。許可更新モジュール４２０は、要求しているユーザに代わって新しいエンティティに署名権を付与すること、信頼グループ内のエンティティを拡張すること、信頼グループ内のエンティティを削除することなどによって許可を変更し得る。
【０１９２】
一実施形態では、許可更新モジュール４２０は、システムにセキュリティの層を提供する。ユーザは、許可更新モジュール４２０を介して許可を付与することができる。許可モジュール４２０は、（ユーザに関連付けられた）ボールト（vault）を作成する。ユーザは、自身の秘密鍵及びボールト用に作成された秘密鍵を使用してボールトにアクセスする。ボールトへのユーザアクセスは、さらにｎ個のサードパーティプロバイダからの秘密鍵を必要とし得る。ｎ＞０の場合、サードパーティプロバイダの少なくとも１つが署名者である必要がある。別の実施形態では、許可モジュール４２０は、複数の追加の署名者を許可するルールを実装するように構成される。署名者に関するルールを変更するには、ユーザ（ボールトを作成する秘密鍵）とサードパーティの両方がそれぞれの秘密鍵を使用して変更に署名し、それによって識別を証明する必要がある。
【０１９３】
通信モジュール４２４は、コンピュータシステム４００の許可された通信を制限するように構成される。通信モジュール４２４は、インバウンドおよびアウトバウンド通信を制限し得る。例えば、通信モジュール４２４は、コンピュータシステム４００（例えば、図３の端末３２０）がインバウンド通信を受け入れることを抑制し得る。通信モジュール４２４はまた、コンピュータシステム４００からのアウトバウンド通信を、サービスプロバイダ（例えば、図１のサービスプロバイダインフラストラクチャ１６）またはシステムプロバイダインフラストラクチャとの通信のみに制限し得る。通信モジュール４２４は、通信ネットワーク（例えば、図３のネットワーク３３６）に接続されているコンピュータシステム４００に関連付けられたリスクを緩和および軽減する。
【０１９４】
マルチ署名モジュール４２８は、信頼グループのマルチ署名アプローチを実装する。一実施形態では、マルチ署名モジュール４２８は、ソーシャルエンジニアリングによるハッキングの脅威を軽減し得る。一実施形態では、マルチ署名モジュール４２８は、システムの「ｍ」エンドポイント（例えば、図１のシステム１０）で同時に正常に発生する署名を必要とする。ここで、ｍは、特定のアカウントに対して確立されたｍのうちのｎの信頼関係における署名者の最小数を表す。
【０１９５】
一実施形態では、マルチ署名アプローチは、システム内の各デバイス（例えば、図３の端末３２０、コールドストレージデバイス３２４、システムプロバイダサーバ３２８）によって実装される。
【０１９６】
マルチパーティ回復モジュール４７０は、ユーザおよびシステムプロバイダ（例えば、システム３００のマルチパーティ回復モジュール）を含むマルチパーティ回復プロセスを実装する。
【０１９７】
モード切り替えモジュール４８６は、スイッチコネクタ（例えば、図３のスイッチコネクタ３４４）またはその一部を制御または実装するように構成され得る。例えば、モード切り替えモジュール４８６は、スイッチコネクタのハードウェアスイッチを制御し得る。スイッチコネクタは、端末がネットワーク及びコールドストレージデバイスに同時に接続されるのを抑制する。モード切り替えモジュール４８６は、ネットワーク通信ポートおよびコールドストレージ通信ポート（例えば、図３のコールドストレージポート３９０）などの通信インターフェースの構成要素を無効および有効にするように構成され得る。例えば、モード切り替えモジュール４８６は、（例えば、モードスイッチのユーザ入力を受信して処理することによって）所望のモードスイッチを認識するように構成され得る。モード切り替えモジュール４８６は、有効な通信ポートを無効にし、無効な通信ポートを有効にすることによって、モード切り替えに影響を与え得る。場合によっては、モード切り替えモジュール４８６は、ロックアウトエンジン４０９の特定の機能を実行するために、プロセッサ４０２の他のモジュールにモードデータを提供し得る。
【０１９８】
プロセッサは、暗号化エンジン４７４を含む。暗号化エンジン４７４は、コンテンツ署名モジュール４３２および検証モジュール４３４を含む。暗号化エンジン４７４は、デジタル署名を作成および検証するために使用されることができる。
【０１９９】
一実施形態では、暗号化エンジン４７４およびロックアウトエンジン４０９は、異なるデバイス上にある。
【０２００】
暗号化エンジン４７４は、ロックアウトエンジン４０９と通信するように構成されることができ、逆もまた同様である。たとえば、一方のエンジンが、もう一方のエンジンへの入力として提供される出力を生成し得る。エンジン間のこのような通信交換は、システムの様々なセキュリティ機能に影響を与える。特定の場合において、ロックアウトエンジン４０９は、端末が暗号化エンジンによって受信されるオンラインモード（すなわち、ネットワーク対応）にあることを示す出力を生成し得る。受信した出力は、暗号化エンジン４７４が秘密鍵を用いてトランザクションに署名することを抑制し得る。
【０２０１】
コンテンツ署名モジュール４３２は、ハッシュモジュール４７８および暗号化モジュール４８０を含む。一実施形態では、コンテンツ署名モジュール４３２は、コールドストレージデバイス上の署名なしトランザクションに署名するように構成される。署名済みのトランザクションは、例えば、署名済みのトランザクションをブロックチェーンアクセサモジュール４１６に提供することによって、サービスプロバイダサーバに送信される。一実施形態では、システム内の各デバイスは、コンテンツ署名モジュール４３２を含む。
【０２０２】
ハッシュモジュール４７８は、トランザクションデータ４１３（例えば、符号なしトランザクション）などのデータを取得し、ハッシュ関数をトランザクションデータ４１３に適用して、トランザクションのハッシュ値を生成する。
【０２０３】
暗号化モジュール４８０は、ハッシュモジュール４７８からのハッシュ値および秘密鍵４５８を入力データとして使用する。秘密鍵４５８は、ハッシュ値を暗号化するために使用される。暗号化モジュールは、暗号化アルゴリズムを入力データに適用し、デジタル署名済みのトランザクションを生成する。デジタル署名は、メモリ４０４に格納されることができる。
【０２０４】
検証モジュール４３４は、ハッシュモジュール４７８および復号モジュール４８２を含む。検証モジュール４３４は、端末上に復号モジュール４８２を含まなくてもよい。一実施形態では、検証モジュール４３４は、ブロックチェーントランザクションのデジタル署名（例えば、コンテンツ署名モジュール４３２を使用して作成されたデジタル署名）を検証するように構成される。検証モジュール４３４は、トランザクションデータが転送中に変更されていないこと、および送信者がデータの所有者であることを確認するために使用されることができる。
【０２０５】
復号モジュール４８２は、デジタル署名（デジタル署名済みのトランザクションなど）を復号する。復号モジュール４８２は、トランザクションに署名するために使用された秘密鍵に関連付けられた公開鍵と、復号アルゴリズムへのデジタル署名とを提供する。復号モジュール４８２は、復号アルゴリズムを介して第１のハッシュ値を出力する。
【０２０６】
検証モジュール４３４のハッシュモジュール４７８は、コンテンツ署名モジュール４３２と同じハッシュ関数／アルゴリズムをトランザクションデータに適用して、第２のハッシュ値を生成する。
【０２０７】
一実施形態では、検証モジュール４３４は、（復号モジュール４８２からの）第１のハッシュ値を（ハッシュモジュール４７８からの）第２のハッシュ値と比較する。ハッシュ値が同じである場合、検証モジュール４３４はトランザクションを検証する。ハッシュ値が異なる場合、検証モジュール４３４はトランザクションを検証しない。トランザクションの検証に失敗すると、検証モジュール（または他のモジュール）がメッセージを生成し、システムパーティの他のエンティティに送信され、トランザクションの検証が失敗したことを警告し得る。一実施形態では、システム内の各デバイスは、検証モジュール４３６を含む。
【０２０８】
コンテンツ署名モジュール４３２および検証モジュール４３４は、障害のあるデバイスが発見されたときにシステム全体に警告しながら、システムの完全性を保護するのに役立つ。
【０２０９】
プロセッサ４０２はまた、鍵生成／導出モジュール４８８を含む。鍵生成モジュール４８８は、端末のプロセッサ４０２に配置されている。鍵生成モジュール４８８はまた、コールドストレージにおいて見出され得る。
【０２１０】
プロセッサ４０２はまた、復号モジュール４９０を含む。復号モジュール４９０は、トランザクションを表示するために使用される。復号モジュール４９０は、端末のプロセッサ４０２およびコールドストレージのプロセッサ４０２に配置され得る。
【０２１１】
一実施形態では、端末のプロセッサ４０２は、通信モジュール４２４、マルチパーティ回復分配モジュール４７０、モード切り替えモジュール４８６を含む。ロックアウトエンジン４０９の他のモジュールは、インフラストラクチャプロバイダ端末／サーバ（または端末／サーバのクラスタ）のプロセッサ４０２によって実行される。
【０２１２】
ここで図５を参照すると、一実施形態に係る、本開示のシステムのためのセットアップ方法５００が示される。方法５００は、安全なブロックチェーントランザクションを行うためのシステムをセットアップするために使用されることができる（例えば、図３のシステム３００）。
【０２１３】
５０２において、端末３２０およびコールドストレージデバイス３２４が提供される。コールドストレージデバイス３２４は、いくつかの処理能力を備えた専用の記憶装置（例えば、フラッシュドライブ、ハードドライブなど）である。エンドユーザは、端末３２０（および好ましくはコールドストレージデバイス３２４）を含むハードウェアシステムを、システムプロバイダ、サービスプロバイダ、またはベンダーから調達する。調達ソースは、端末３２０およびコールドストレージデバイス３２４のカスタマイズのレベルに依存し得る。調達ソースはまた、システムプロバイダサーバ３２８と通信することを許可された機器のタイプおよび起源に関して、システムプロバイダによって設定された制限のレベルに依存し得る。想定される制限は、不正防止対策、一部の組織に必要なマネーロンダリング防止コンプライアンス、およびその他のコンプライアンス要件を含む。
【０２１４】
コールドストレージデバイス３２４は、隔離されている。コールドストレージデバイス３２４は、端末３２０と自由に通信することができない。
【０２１５】
５０３で、エンドユーザは、サービスプロバイダでエンドユーザアカウントを作成する。
【０２１６】
５０４で、サービスプロバイダ及びシステムプロバイダの両方が公開鍵を提供する。公開鍵は、様々な方法で端末３２０に渡され得る。好ましくは、公開鍵は、システムプロバイダまたはサービスプロバイダがコールドストレージデバイス３２４上で先に鍵を渡した場合であっても、端末３２０内に存在する。
【０２１７】
５０６で、コールドストレージデバイス３２４の電源を入れると（すなわち、コールドストレージデバイス３２４を端末３２０に接続する）、端末３２０上の自動化されたユーザインターフェースが、システム３００のセットアップを通してユーザを案内する。セットアップは、セキュリティ機能が効果的に配置されて従われるように、システム３００の全てのセキュリティ機能を実施する。これは、コールドストレージデバイスから実行でき、デバイスに関する情報を収集して署名し、信頼性を検証するためにプリロードされた鍵で暗号化する。
【０２１８】
スイッチコネクタ３４４を切り替えることによって中間物理リンクからコールドストレージデバイスを切断すると、セットアップは完了する。別の実施形態では、この方法は、恒久的にオフラインである特別に細工されたデバイス上で実行される。特定の例では、銀行などの信頼できるサードパーティが、特別に細工されたデバイスを保持して、ユーザが物理的にオンサイトで鍵を生成する場合がある。
【０２１９】
コールドストレージデバイス３２４は、任意選択で、５０６で端子３２０に接続されている。他の実施形態では、５０６での動作は、端末３２０に接続されていないコールドストレージデバイス３２４を使用して実行することができる。
【０２２０】
５１０で、コールドストレージデバイス３２４に格納されたウォレットのための暗号化鍵が確立される。ウォレットの暗号化鍵は、暗号化アルゴリズムを使用して作成される。一実施形態では、暗号化アルゴリズムは完全なＡＥＳ−２５６暗号化である。ユーザがアカウントの秘密鍵を回復することができることになるマスターシードが生成される。そのマスターシードは、後続の全てのノードのツリー構造のマスターノードを生成する関数に渡される。一実施形態では、関数はＨＭＡＣ−ＳＨＡ５１２である。これにより、マスターが同じ鍵チェーンとそれに関連付けられたアドレスを決定論的に導出することになるため、ウォレットの回復が効果的に可能になる。
【０２２１】
また、５１０では、格納データの暗号化鍵がコールドストレージデバイスに確立される。暗号化鍵は、後で作成されたウォレットを暗号化するために使用されることができる。
【０２２２】
暗号化鍵は、パスフレーズ、ＰＩＮ（コールドストレージ情報が収集および検証された場合）、生体認証、または暗号化自体を保護するための適切で準拠した方法の任意の組み合わせである。
【０２２３】
５１２で、シードが生成される。シードは１２８ビット以上のエントロピーを有し得る。このシードから、操作メカニズムが確立される。このメカニズムは、ニーモニックセンテンス、ＱＲコード（登録商標）などの形をとり得る。
【０２２４】
また、５１２では、フラグメント化されたバックアップが作成される。ユーザは、保護するフラグメントの数を選択することができる（または、サードパーティがユーザ、すなわち安全なストレージプロバイダ／カストディ（custody）の暗号化されたコピーを格納するように準備する）。回復は、ｍのうちのｎのシナリオ（m of n scenario）に従う。一実施形態では、ｍのうちのｎのシナリオは、以下の要件を尊重する。
【０２２５】
ここで、ｏはエンドユーザに必要なフラグメントの数である。
【０２２６】
ここで、ｍはシードを回復するために必要なフラグメントの最小数である。
【０２２７】
ここで、ｎはフラグメントの総数である。
【０２２８】
ここで、ｐはサービスプロバイダによって格納されたフラグメントの数である。
【０２２９】
ここで、ｑはシステムプロバイダによって格納されたフラグメントの数である。
【０２３０】
ｏ＞＝１エンドユーザが少なくとも１つのバックアップフラグメントを所有している。
【０２３１】
ｍ＞＝２である。
【０２３２】
ｍ＞＝ｏ＋１である。
【０２３３】
生成された鍵の半分よりも大きいｍ＞＝ｎ／２がバックアップを再作成するために存在する必要がある。
【０２３４】
ｎ＞＝ｏ＊３；->陰（implicit）のｎ＞＝３である。
【０２３５】
ｐ＞＝ｏ、ｑ＞＝ｏであり、サービスプロバイダ及びシステムプロバイダはそれぞれ、少なくともエンドユーザと同じ数のフラグメントを有する。
【０２３６】
ｍ＞ｏ、ｍ＞ｐ、ｍ＞ｑであり、エンドユーザもサービスプロバイダもシステムプロバイダも、自身でバックアップを回復することはできない。
【０２３７】
５１４で、システム３００は、ユーザに属する秘密／公開鍵ペアを生成し、鍵ペアをコールドストレージデバイス３２４上のコールドストレージウォレットに格納する。一実施形態では、鍵ペアを生成するための導出方法は、１つまたは複数のブロックチェーンと互換性があるように選択される。一実施形態では、ＢＩＰ３２およびＢＩＰ４４プロトコルは、再び、複数のブロックチェーンと互換性があるために使用される派生の例であり得る。
【０２３８】
また、５１４で、マスタールート鍵が生成される。マスタールート鍵はシードから生成される。マスタールート鍵は、５１０で確立された暗号化鍵で暗号化される。
【０２３９】
５１６で、子鍵ペアが導出される。
【０２４０】
ここで図６を参照すると、一実施形態に係る、ＢＩＰ３２の階層的な決定論的（ＨＤ）ウォレットフォーマットプロトコル６００の図が示される。ＨＤウォレットフォーマットプロトコル６００は、コールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）上で実行される。ＢＩＰ３２プロトコル６００は、階層的な決定論的鍵作成および転送プロトコルである。ＢＩＰ３２プロトコル６００を使用して、システム（たとえば、図３のシステム３００）は、階層内の親鍵から子鍵を作成することができる。
【０２４１】
ＢＩＰ３２プロトコル６００は、子導出関数６０４を使用する。ＢＩＰ３２プロトコル６００（または他のＨＤプロトコル）を使用するウォレットは、ＨＤウォレットと呼ばれることがある。プロトコル６００は、シード６０６、マスター秘密鍵６０８、ウォレット／アカウント６１２、ウォレットチェーン６１６、およびアドレス６２０を含む。
【０２４２】
ＨＤウォレットは、いくつかの「アカウント」６１２として編成されている。アカウント６１２には番号が付けられ、デフォルトのアカウント（""）は番号０である。クライアントは、複数のアカウント６１２をサポートする必要はない。サポートしない場合は、デフォルトのアカウントのみを使用する。各アカウント６１２は、２つの鍵ペアチェーン：内部チェーンおよび外部チェーンを含む。外部鍵チェーンは、新しい公開アドレスを生成するために使用される。内部鍵チェーンは、他の全ての操作（アドレスの変更、生成アドレス、通信する必要のないもの）に使用される。これらに個別の鍵チェーンをサポートしていないクライアントは、全てに外部鍵チェーンを使用する必要がある。ｍ／ｉ／０／ｋは、マスターｍ６０８から派生したＨＤウォレットのアカウント番号ｉの外部チェーンのｋ番目の鍵ペアに対応する。ｍ／ｉ／１／ｋは、マスターｍ６０８から派生したＨＤウォレットのアカウント番号ｉの内部チェーンのｋ番目の鍵ペアに対応する。
【０２４３】
図５に戻ると、５１８で、システム３００は、コールドストレージデバイス３２４上にオフラインウォレットを確立する。オフラインウォレットは暗号化され得る。一実施形態では、オフラインウォレットは、ビットコイン用の暗号化された「wallet.dat」ファイルである。オフラインウォレットは、特定のウォレットの秘密鍵を含む。したがって、ウォレット用に作成されたトランザクションに署名することができる。一実施形態では、オフラインウォレットは、一種の階層的な決定論的ウォレットである。階層的な決定論的ウォレットの場合、鍵はツリーベースのデータ構造から派生し、オフラインウォレットが決定論的方法で将来のアドレスを決定できるようにする。一実施形態では、ＢＩＰ３２およびＢＩＰ４４プロトコルは、ＨＤビットコイン（または他のコイン）ウォレットを作成するために利用されることができる。これは、小売業者／販売者が、相互に同期されていない可能性のある複数の売り場のシステム（point of sales system）に「ジャストインタイム（just-in-time）」または「オンザフライ（on the fly）」でアドレスを提供できる必要があるユースケースでも重要になる。また、これらの売り場のシステムが秘密鍵へのアクセスを要求するのを抑制する。これにより、売り場のシステムの侵害が、成功した攻撃者が商人のウォレットの支出を制御する秘密鍵にアクセスできることを意味しないことが保証される。
【０２４４】
また、５１８で、エンドユーザは、端末上のエンドユーザアカウントにログインし（該当する場合）、エンドユーザデバイスの登録を確認する。
【０２４５】
一実施形態では、エンドユーザは、端末３２０上でマルチ署名ボールトの作成を完了し得る。マルチ署名ボールトは、マルチ署名（「ｍ／ｎ」）ウォレットを含み得る。ｍ／ｎウォレットは、コールドストレージデバイス３２４に格納され得る。マルチ署名ウォレットは、トランザクションが有効であると見なされ、検証／確認のためにブロックチェーンにブロードキャストする準備ができているために、複数の署名を必要とするウォレットである。マルチ署名ウォレットは、一方的なアクションを抑制し得る。マルチ署名ウォレットは、銀行の従業員が金庫の外側にあるアーマチュアから貸金庫のロックを解除し、クライアントが自身の鍵を用いて貸金庫自体のロックを解除する、物理的な銀行における金庫のマルチ鍵貸金庫と考えることができる。
【０２４６】
５２４で、サービスプロバイダ及びシステムプロバイダは、それぞれのエンドでマルチ署名ボールトの作成を完了する。
【０２４７】
マルチ署名ウォレットは、好ましくは、少なくとも２要素認証（すなわち、２要素のうちの２）ウォレットである。マルチ署名ウォレットは、システムプロバイダサーバ３２８と同期する。システムプロバイダは、第２の必要な署名として機能する。同期は、ＨＴＴＰＳなどの通信メカニズムを介して実行され得る。
【０２４８】
マルチ署名アプローチは、１つ又は複数のサードパーティを含み得る。サードパーティは、ｎ＞＝２のｎ番目の署名を表す。第２の署名としてシステムプロバイダとの２／２要素認証以上のマルチ署名スキーマが必要である。他の実施形態では、ｎの値が２以上であるマルチ署名スキーマが使用され得る。マルチ署名スキーマでｎの値を２以上に増やすことは、エンドユーザがウォレットを介して対話したい信頼できるサードパーティのサービスプロバイダの数に依存し得る。または、選択されたマルチ署名スキーマは、サードパーティ（サービスプロバイダ？）自身によって確立された制限に依存し得る。
【０２４９】
マルチ署名ウォレットは、システムプロバイダがウォレット内のアセットを一方的に転送できない（たとえば、資金を使う）ことができないことをユーザに保証する。
【０２５０】
マルチ署名ウォレットは、システムプロバイダがトランザクションの有効性を検証することを可能にし、トランザクションの検証を高速化できる。
【０２５１】
マルチ署名ウォレットは、未署名のトランザクションが、それぞれのデバイス上のエンドユーザ、システムプロバイダ、およびサービスプロバイダによって署名されるプロセスを提供し得る。したがって、プロセスは、秘密鍵を使用して受信デバイスによって署名されることになる、未署名のまたは部分的に署名済みのトランザクションの送信を含み得る。部分的に署名済みのトランザクションまたは未署名のトランザクションに署名するプロセスは、マルチ署名ウォレットの構成に応じて何度でも実行され得る。
【０２５２】
方法５００のステップ全体を通して、端末３２０への接続および端末３２０からの接続が制限される。端末３２０は、システムプロバイダサーバ３２８の外部からの着信接続を受け入れないように構成される。端末３２０はまた、安全な通信のみを開始するように構成される。安全な通信は、システムプロバイダサーバ３２８などの信頼できるサーバのセットのみが端末３２０と通信することを可能にする。安全な通信は、端末３２０によって要求されなければならない。システムプロバイダサーバ３２８から端末３２０への全ての安全な通信は暗号化される。
【０２５３】
端末３２０の完全性は、通信が端末３２８によって開始されるたびに、システムプロバイダサーバ３２８によってチャレンジされ、検証される。検証が失敗した場合、システムプロバイダサーバ３２８は、端末３２０との通信を停止する。システムプロバイダサーバ３２８は、端末３２０のいずれか１つまたは複数、署名パーティ、およびマルチ署名認証の全てのパーティにアラートを発行する。アラートは、端末３２８の完全性を検証できなかったことを示す。検証されていない完全性を有する端末３２８上で作成されたトランザクションは、他の認証パーティによって署名されない。これはサービスプロバイダを含み、サードパーティを含む場合がある。
【０２５４】
ここで図７を参照すると、一実施形態に係る、安全なブロックチェーントランザクションを実行するためのシステムを操作するための方法７００が示される。方法７００は、図６のプロトコル６００を実装することによってなど、システムをセットアップした後に使用されることができる。一実施形態では、方法７００は、システム３００を操作するために使用されることができる。方法７００は、通信ネットワーク（例えば、図３のネットワーク３３６）を介してブロックチェーンアセットのトランザクションを安全に実行するために使用することができる。
【０２５５】
７０４で、端末（例えば、図３の端末３２０）およびコールドストレージデバイス（例えば、図３のコールドストレージデバイス３２４）が提供される。端末は、コールドストレージが有効な状態であり得る。端末３２０は、オフラインであり得る。端末３２０は、ログオフされ得る。コールドストレージデバイス３２４は、取引されるブロックチェーンアセットのウォレットを含む。この段階では、端末３２０およびコールドストレージ３２４は接続されていない。
【０２５６】
コールドストレージデバイス３２４は、隔離されている。コールドストレージデバイス３２４は、端末３２０と自由に通信することができない。
【０２５７】
７０６で、ユーザは、ユーザに関連付けられたシステム資格を使用して、端末（例えば、端末３２０）を介してシステムにログインする。資格は、サービスプロバイダまたはシステムプロバイダによってユーザに提供され得る。ユーザは、トランザクションスキームの任意の点であり得る。たとえば、ユーザは、送信者、受信者、仲介者、レビュー担当者などであり得る。
【０２５８】
７０８で、ユーザは、１つまたは複数の所望のアセットを選択し、トランザクションメタデータ（例えば、受取人、金額、手数料など）を作成する。次に、ユーザは、トランザクションがシステムプロバイダサーバによって作成されることを要求する。
【０２５９】
端末のユーザは、コールドストレージウォレットからブロックチェーンアセットのトランザクションを選択し得る。ユーザは、コールドストレージデバイスに格納されている秘密鍵を使用して、選択したトランザクションに署名する。システムがマルチパーティ認証プロセスを実装する実施形態では、トランザクションは、この段階で部分的にのみ署名され、認証パーティからの少なくとも１つの他の署名を必要とする。
【０２６０】
７１０で、トランザクションは、分配される。システムプロバイダサーバは、トランザクションを端末に送り返す。システムプロバイダはまた、サービスプロバイダによる承認のためにトランザクションをサービスプロバイダに送信する。システムプロバイダはまた、システムプロバイダによる内部承認のために、トランザクションをシステムプロバイダのコールドストレージに送信する。システムプロバイダサーバは、トランザクションを端末、サービスプロバイダ、およびシステムプロバイダのコールドストレージに同時に送信し得る。
【０２６１】
７１２で、トランザクションは、端末３２０からコールドストレージデバイス３２４にプルされる（pulled）。これは、複数の端末およびコールドストレージデバイスで実行され得る。
【０２６２】
７１４で、トランザクションがレビューされる。トランザクションは、トランザクションが期待どおりで意図されていることを確認するために、コールドストレージでレビューされ得る。トランザクションが期待どおりで意図されている場合、トランザクションは署名され得る。そうしないと、トランザクションが破棄され得る。トランザクションは、各エンティティの適切なビジネスロジックに従って、承認を確認するためにレビューされ得る。コールドストレージは、署名済みのトランザクションを端末に転送する。
【０２６３】
システムは、状態の切り替えを経ることができる。一実施形態では、状態の切り替えは、図３のスイッチコネクタ３４４などのスイッチコネクタによって処理される。状態の切り替えは、システムをコールドストレージ状態／モードからネットワーク状態／モードに切り替えることを含む。状態の切り替えは、順次または同時であり得る。状態の切り替えは、端末をコールドストレージデバイスから切断することを含む。これは、端末のコールドストレージポートの無効化を含み得る。コールドストレージ状態／モードにある一方で、端末は、データ転送が起こり得るように、コールドストレージデバイスに通信可能にリンクされている。
【０２６４】
コールドストレージデバイスから端末を切断すると、端末とコールドストレージデバイスとの間の通信／データ転送が妨げられる。状態の切り替えは、端末をネットワークに接続することを含む（つまり、端末はオンラインである）。順次的な状態の切り替えでは、端末をコールドストレージデバイスから切断した後、端末をネットワークに接続する。この段階で、端末は外部に面した通信ネットワークから切断され、コールドストレージがトランザクションをプルできるようになる。
【０２６５】
７１６で、端末は、通信ネットワークを介してシステムプロバイダサーバ（例えば、図３のシステムプロバイダサーバ３２８）に接続する。端末は、部分的に署名済みのトランザクション（例えば、７０８で作成され、７１４で署名された部分的に署名済みのトランザクション）をシステムプロバイダサーバ３２８にアップロードする。部分的に署名済みのトランザクションを受信すると、システムプロバイダサーバは、マルチ署名認証プロセス（例えば、方法７００のマルチ署名認証プロセス）に従って、他の認証者に署名を要求する。他の認証パーティは、システムプロバイダを含み、１つ又は複数の信頼できるサードパーティ又はサービスプロバイダを含む場合がある。他の認証パーティ（システム／サービスプロバイダ／サードパーティ）は、選択されたブロックチェーンアセットの署名を提供する。それぞれの個々のコールドストレージは、署名済みのトランザクションを端末に転送する。
【０２６６】
７１８で、端末は、署名済みのトランザクションをシステムプロバイダサーバに送信する。システムプロバイダサーバは、受信した部分的に署名済みのトランザクションを、サービスプロバイダの部分的に署名済みのトランザクションおよび自身の署名（適切な場合）とマージ（merge）する。いくつかの実施形態では、システムプロバイダサーバは、この段階で署名済みのトランザクションのマージのみを実行し得る。いくつかの実施形態では、端末は、システムプロバイダサーバとして機能し、部分的に署名済みのトランザクションの交換ならびにそれらのマージ操作を完了することができる。
【０２６７】
マージされたトランザクションは、システムプロバイダサーバでローカルに検証されることができる。ローカル検証は、トランザクションをチェーンにブロードキャストする前に実行され得る。システムプロバイダは、ブロードキャストの前に結果を検証することのみを目的として、マイニングソフトウェアのカスタムコードに対して、特定のトランザクションの任意の時間を確認することができる場合がある。そうすることにより、システムプロバイダは、確認番号の小さいトランザクションが承認済みとしてマークされることを許可するリスクを減らすことができる。これはサブネットワーク内のトランザクションにのみ影響し、確認に達しない場合は後でトランザクションを再処理できることを知っていると、リスクレベルが低下する可能性がある。信頼水準は、ブロックチェーン上の十分な数のノードによって確認されるまで、受け取った資金を「凍結」しながら、ゼロ確認トランザクションでさえ承認済みとしてマークできるようなものである可能性がある。
【０２６８】
オフチェーンバッチ処理などの他の既存の方法が使用され得る。このような方法は、トランザクションが署名されてから承認されたと見なされるまでの遅延の合計を少なくし得る。このような方法は、ブロック密度をオフチェーンバッチ処理で最適化でき、サブネットワークに関連するトランザクションのオンチェーン確認レベルに早く到達できる、低速チェーンのスケーリングの問題に役立ち得る。
【０２６９】
７２０で、システムプロバイダサーバは、トランザクションをブロックチェーンにブロードキャストする。
【０２７０】
次に、様々なグラフィカルインターフェースについて説明する。グラフィカルインターフェースは、ユーザが本開示のシステムの様々な機能にアクセスして使用することを可能にし得る。
【０２７１】
ここで図８を参照すると、一実施形態に係る、ログインステージ８０２のグラフィカルインターフェース８００が示される。グラフィカルインターフェース８００は、端末（例えば、図３の端末３２０）上のユーザに提示され得る。グラフィカルユーザインターフェース８００は、ユーザサービスプロバイダのアカウントデータを入力および／または受信するために使用され得る。アカウントデータは、サービスプロバイダのユーザアカウントに関連付けられたログイン資格情報であり得る。ログイン資格は、アカウント識別子及びパスワードを含み得る。ログイン資格を正常に入力することにより、ユーザは、サービスプロバイダの１つ又は複数のサーバ／インフラストラクチャによって提供される機能にアクセスし得る。機能は、端末上、またはネットワーク接続を介して端末を介してアクセス可能なサービスプロバイダサーバ／インフラストラクチャ上に格納および実行される１つまたは複数のソフトウェアモジュールを含み得る。提供される機能は、特定のアカウントに関連付けられ得る。このような機能を提供するソフトウェアモジュールの例を図４に示す。
【０２７２】
８０４で、ユーザはアカウント識別子を入力することができる。たとえば、ユーザはアカウントに関連付けられた電子メールアドレスを入力し得る。８０６で、ユーザはパスワードを入力することができる。パスワードは英数字の組み合わせであり得る。８０８で、ユーザは、ログイン情報を検証させるサインイン機能を選択することができ、検証された場合、ユーザは、サービスプロバイダアカウントに関連付けられたさらなる機能にアクセスすることを許可する。
【０２７３】
ここで図９を参照すると、一実施形態に係る、ブロックチェーン選択段階のグラフィカルインターフェース９００が示される。グラフィカルインターフェース９００は、本開示のシステム（例えば、図３のシステム３００）を使用してアクセスされることができ、端末（例えば、図３の端末３２０）上のユーザに提示されることができる。
【０２７４】
グラフィカルユーザインターフェース９００を使用して、ユーザは、ブロックチェーンシステムデータを入力および／または受信することができる。例えば、ブロックチェーン９０４の様々なオプションは、グラフィカルインターフェース９００を介して提示される。ユーザは、特定のブロックチェーン（および関連付けられたデジタルアセットのタイプ）を選択して、選択したブロックチェーンを使用してトランザクションまたはその他の機能（アカウントの管理など）を実行することができる。場合によっては、システムは、ユーザがアカウントを持っているか、以前に取引したことがあるブロックチェーンに対応する選択可能なブロックチェーンのオプションを提示する。この場合、ユーザはオプションを追加することができる可能性がある。その他の場合、システムは、システムプロバイダおよび／またはサービスプロバイダの機能によってサポートされるブロックチェーンオプションを提示する。
【０２７５】
グラフィカルインターフェース９００は、取引されているデジタルアセットのタイプに基づいて、ブロックチェーンオプションをグループに分割し得る。例えば、グラフィカルインターフェース９００は、暗号通貨９０８、スマートコントラクト９１０、およびデータ９１２のためのオプションを提供する。ブロックチェーンのオプションは、名前またはその他の識別子（ロゴなど）である選択可能なアイコンを使用して提示され得る。グラフィカルインターフェース９００を介して、ユーザは、取引したいブロックチェーンを選択することができる。
【０２７６】
「スマートコントラクト」という用語は、本明細書では、金銭、コンテンツ、財産、共有、または価値のあるものの交換を容易にすることができるコンピュータコードを説明するために使用される。ブロックチェーンで実行すると、スマートコントラクトは、特定の条件が満たされたときに自動的に実行される自己動作型コンピュータプログラムのようになる。スマートコントラクトはブロックチェーン上で実行されるため、検閲（censorship）、ダウンタイム、詐欺（fraud）、またはサードパーティの干渉の可能性なしに、プログラムされた通りに実行される。
【０２７７】
ここで図１０を参照すると、一実施形態に係る、グラフィカルインターフェース１０００が示される。グラフィカルインターフェース１０００は、本開示のシステム（例えば、図３のシステム３００）を使用してアクセスされることができ、端末（例えば、図３の端末３２０）上のユーザに提示されることができる。
【０２７８】
グラフィカルインターフェース１０００を使用して、ユーザはボールト１００４を選択することができる。ボールトは、ウォレット、アドレス、または受信者アカウントと呼ばれることもあり、そのような用語は、本開示では交換可能に使用されることが理解される。ボールトは、ユーザアカウントに関連付けられ得る。場合によっては、ユーザアカウントに関連付けられた複数のボールトがあり得る。グラフィカルインターフェース１０００は、ドロップダウンリストを介するなどして、ユーザアカウントに関連付けられたボールトをリストとして提示し得る。ユーザはまた、受信者アドレス１００８を選択または入力することができる。受信者アドレスは、ブロックチェーントランザクションを介したデジタルアセットの意図された受信者を含み得る。場合によっては、システムはユーザアカウントに関連付けられた以前の受信者を格納し、リスト形式で提供し得る。
【０２７９】
ボールトおよび受信者アドレスを含むトランザクション情報を選択または入力した後、ユーザは、送信オプション１０１２または受信オプション１０１６を選択することができる。選択したオプションに応じて、選択または入力したトランザクション情報は、提案されたトランザクションを生成するために使用されることができる。
【０２８０】
グラフィカルインターフェース１０００はまた、１０２０に格納され、ユーザアカウントに関連付けられた以前のトランザクションを表示するためのオプションを含む。以前のトランザクションは、トランザクション履歴アイコンまたはタブを選択することによってアクセスおよび表示することができ、選択すると、グラフィカルインターフェース１０００内に、ポップアップタイプのウィンドウとして、または別個のグラフィカルインターフェースとして以前のトランザクション情報を提示し得る。
【０２８１】
ここで図１１を参照すると、一実施形態に係る、グラフィカルインターフェース１１００が示される。グラフィカルインターフェース１１００は、本開示のシステム（例えば、図３のシステム３００）を使用してアクセスされることができ、端末（例えば、図３の端末３２０）上のユーザに提示されることができる。
【０２８２】
グラフィカルインターフェース１１００を使用して、ユーザはブロックチェーントランザクションを提出することができ、ユーザがデジタルアセットを受信者に転送する（すなわち、「送信」操作）。
【０２８３】
グラフィカルインターフェース１１００は、ウォレット１１０４を含む。ウォレット１１０４は、ユーザアカウントに関連付けられたウォレットであり、潜在的に、ユーザアカウントに関連付けられたボールトに関連付けられたウォレットである。ユーザアカウントが複数のウォレットを含む場合、ユーザは、取引する特定のウォレット１１０４を選択し得る。ウォレットはアドレス１１０８を含む。場合によっては、ウォレット１１０４は、ユーザが選択できる複数のアドレスを含み得る。アドレスは、非対称鍵ペアの公開鍵を表し得る。ウォレット１１０４およびアドレス１１０８の情報は、構成に応じて、ユーザによって入力または選択され得る。
【０２８４】
ユーザは、トランザクション金額を金額ボックス１１１２に入力することができる。金額１１１２を入力すると、システムは、提案されたトランザクションのトランザクション手数料１１１６を自動的に計算して表示し得る。
【０２８５】
トランザクション情報が完成し、ユーザに受け入れられると、ユーザは提出アイコン１１１８を選択してトランザクションを提出することができる。
【０２８６】
ここで図１２を参照すると、一実施形態に係る、グラフィカルインターフェース１２００が示される。グラフィカルインターフェース１２００は、本開示のシステム（例えば、図３のシステム３００）を使用してアクセスされることができ、端末（例えば、図３の端末３２０）上のユーザに提示されることができる。
【０２８７】
グラフィカルインターフェース１２００を使用して、ユーザは、システムを使用して作成されたブロックチェーントランザクション（例えば、図１１のグラフィカルインターフェース１１００を介して作成されたトランザクション）の請求書１２０４を作成することができる。グラフィカルインターフェース１２００は、トランザクションに関する受取人住所を表示する受取人／受取人住所１２０８を含む。グラフィカルインターフェース１２００は、支払人の口座情報１２１２を含む。支払人の口座情報１２１２は、トランザクション金額１２１６、トランザクション手数料金額１２１８、および合計トランザクション金額１２２４を表示することができる。表示されたトランザクション情報１２０８、１２１２、１２１６、１２１８を確認すると、ユーザは、提出機能１２２８を選択して、トランザクションの請求書を生成することができる。
【０２８８】
ここで図１３を参照すると、一実施形態に係る、グラフィカルインターフェース１３００が示される。グラフィカルインターフェース１３００は、本開示のシステム（例えば、図３のシステム３００）を使用してアクセスされることができ、端末（例えば、図３の端末３２０）上のユーザに提示されることができる。
【０２８９】
グラフィカルインターフェース１３００を使用して、ユーザは、トランザクションに署名するための鍵をフェッチ（fetch）し、その鍵を使用してトランザクションに署名することができる。ユーザは、ユーザのアカウントに関連付けられた１つまたは複数のボールトからボールト１３０４を選択することができる。
【０２９０】
ユーザは、ユーザアカウントに関連付けられた１つまたは複数の未署名のトランザクションから、未署名のトランザクション１３０８を選択することができる。未署名のトランザクションは、システムに格納されるときに識別子を与えられることができ、その結果、ユーザが識別子を介して潜在的に選択するように、未署名のトランザクションが表示される。
【０２９１】
ボールト１３０４および未署名のトランザクション１３０８を選択すると、ユーザは、フェッチオプション１３１２を選択することができ、システムは、署名のために鍵を検索する。鍵がフェッチされると、ユーザは署名オプション１３１６を選択することができる。ユーザが署名オプションを選択すると、システムは鍵を使用して以前に未署名のトランザクションに署名し、署名済みのトランザクション（または場合によっては部分的に署名済みのトランザクション）を生成する。
【０２９２】
ここで図１４を参照すると、システム１４００のブロック図が示される。システム１４００は、既存の方法を使用して安全なブロックチェーントランザクションを行うための例示的なアプローチを示す。
【０２９３】
システム１４００は、ブロックチェーンネットワーク１４０２を含む。ブロックチェーンネットワーク１４０２は、ビットコインブロックチェーンメインネットであり得る。ブロックチェーンネットワーク１４０２は、ブローダーネットワーク１４０４（broader network）内で動作する。ブローダーネットワーク１４０４は、インターネットであり得る。ブローダーネットワーク１４０４は、公開または秘密であり得る。
【０２９４】
ブロックチェーンネットワーク１４０２は、そのデバイスおよび典型的なネットワーク接続を含むブロックチェーンの制限を示す。ブロックチェーンネットワーク１４０２は、複数のブロックチェーンデバイス１４０６−１、１４０６−２、および１４０６−３を含む。ブロックチェーンデバイス１４０６−１、１４０６−２、１４０６−３は、ネットワーク接続１４０８を介して接続されている。
【０２９５】
ブローダーネットワーク１４０４は、複数のネットワークデバイス１４１０−１、１４１０−２、および１４１０−３を含む。ネットワークデバイス１４１０−１、１４１０−２、１４１０−３は、ネットワーク接続１４１２を介して接続されている。
【０２９６】
ブロックチェーンデバイス１４０６−１、１４０６−２、１４０６−３およびネットワークデバイス１４１０−１、１４１０−２、１４１０−３は、異なるタイプのデバイスであり得る。
【０２９７】
ネットワークデバイスの１つまたは複数は、１つまたは複数のブロックチェーンデバイスと相互接続され得る。例えば、ネットワークデバイス１４１０−３は、クロスネットワーク接続１４１４を介してブロックチェーンデバイス１４０６−０３に接続され得る。
【０２９８】
システム１４００は、コールドストレージデバイス１４１６を含む。コールドストレージデバイス１４１６は、ユーザに関連付けられている。コールドストレージデバイス１４１６は、ネットワーク１４０４およびブロックチェーンネットワーク１４０２の外部に存在する。コールドストレージデバイス１４１６は、ブロックチェーン装置１４０６−１に接続されている。接続は、物理接続１４１８を含む（すなわち、論理接続だけではない）。
【０２９９】
ここで図１５を参照すると、一実施形態に係る、サブネットワークシステム１５００のブロック図が示される。有利なことに、サブネットワークシステム１５００は、図１４に示されるインフラストラクチャおよびコンポーネントを使用してシステム１４００の上に確立され、ブロックチェーントランザクションのセキュリティを改善することができる。
【０３００】
システム１５００は、システムプロバイダ（「ネットワークオペレータ」とも呼ばれる）、サービスプロバイダ、およびエンドユーザを含む。
【０３０１】
システム１５００は、ネットワークオペレータのコールドストレージデバイス１５０２、サービスプロバイダのコールドストレージデバイス１５０４、およびエンドユーザのコールドストレージデバイス１５０６を含む。コールドストレージデバイス１５０２、１５０４、１５０６は、それぞれ、ネットワークオペレータ、サービスプロバイダ、およびエンドユーザに関連付けられている。
【０３０２】
コールドストレージデバイス１５０２、１５０４、１５０６は、コンピューティング機能を備えた任意の形態の装置であり得る。一実施形態では、ネットワークのコールドストレージデバイス１５０２は、サーバまたはサーバのクラスタである。
【０３０３】
コールドストレージデバイス１５０２、１５０４、１５０６は、任意の外向きに面するネットワークの外部に位置する。
【０３０４】
コールドストレージデバイス１５０２、１５０４、１５０６は、データを交換する物理的手段を含む。コールドストレージデバイス１５０２、１５０４、１５０６は、アウトバウンド接続／ペアリングのみを許可するように構成される。コールドストレージデバイス１５０２、１５０４、１５０６は、データ交換のプロセスを開始し、着信接続またはペアリングを拒否するように構成される。
【０３０５】
システム１５００は、ネットワークオペレータまたはサービスプロバイダが、ブローダーネットワーク１４０４に接続されているデバイス上にウォレットストレージを持たないように構成される。
【０３０６】
システム１５００は、ネットワークオペレータ端末デバイス１５０８、サービスプロバイダ端末１５１０、およびエンドユーザ端末１５１２を含む。サービスプロバイダ端末１５１０およびエンドユーザ端末１５１２はそれぞれ、安全な接続１５１４を介してネットワークオペレータ端末１５０８に接続されている。ネットワークオペレータ端末１５０８、サービスプロバイダ端末１５１０、およびエンドユーザ端末１５１２は、それぞれ、それぞれのコールドストレージに接続されている。エンドユーザ端末１５１２は、ブローダーネットワーク１４０４に位置し、ネットワーク接続１４１２を介してネットワークデバイス１４１０−３に接続されている。
【０３０７】
ネットワークオペレータ端末１５０８は、任意の形態のコンピューティングデバイスであり得る。一実施形態では、ネットワークオペレータ端末１５０８のデバイスは、サーバまたはサーバのクラスタである。ネットワークオペレータ端末１５０８は、ネットワークオペレータとデータを交換する責任がある。
【０３０８】
ネットワークオペレータ端末１５０８は、サービスプロバイダ端末１５１０およびエンドユーザ端末１５１２とデータを交換し得る。 例えば、未署名のトランザクションは、署名のために適切なパーティ（すなわち、サービスプロバイダ端末１５１０および／またはエンドユーザ端末１５１２）に送信される前に、ネットワークオペレータ端末１５０８上で作成され得る。
【０３０９】
ネットワークオペレータ端末１５０８は、ブロックチェーンネットワーク１４０２とブローダーネットワーク１４０４との間の中間に配置されて示されている。場合によっては、ネットワークオペレータ端末１５０８は、ブロックチェーンネットワーク１４０２内に直接存在し得る（すなわち、ノードとして機能し得る）。ネットワークオペレータ端末１５０８がブロックチェーンネットワーク１４０４にない場合でも、ネットワークオペレータ端末１５０８は、ブロックチェーンネットワーク１４０２のノードに（直接的または間接的に）接続して、トランザクションのブロードキャストするまたはブロックチェーンをクエリ／探索するなどのアクションを実行することができる。
【０３１０】
一実施形態では、エンドユーザは、ブローダーネットワーク１４０４に接続された鍵を格納するためにデバイスを使用することを決定する。そのような場合、エンドユーザのコールドストレージデバイス１５０６およびエンドユーザ端末１５１２は、ブローダーネットワーク１４０４内の１つのデバイスと見なされるべきである。
【０３１１】
サービスプロバイダ端末１５１０は、ブロックチェーンネットワーク１４０２またはブローダーネットワーク１４０４上に位置し得る。サービスプロバイダ端末１５１０は、ブロックチェーンネットワーク１４０２およびブローダーネットワーク１４０４の両方に接続され得る。サービスプロバイダ端末１５１０が、ブローダーネットワーク１４０４上のブロックチェーンネットワーク１４０２に位置するか、または両方のネットワーク１４０２、１４０４に接続されるかどうかは、サービスプロバイダ次第であり得る。たとえば、サービスプロバイダは、ブロックチェーンの独自の分析処理を実行して、要求されたトランザクションの意思決定を改善したい場合がある。別の例では、サービスプロバイダは、ネットワークオペレータ端末１５０８で利用可能な情報のみに依存し得る。
【０３１２】
別の実施形態では、サービスプロバイダ端末１５１０は、ブローダーネットワーク１４０４から隔離され、プライベートネットワークを介してサブネットワークオペレータ端末の第２の層に接続され得る。
【０３１３】
ネットワークオペレータは少なくとも１つのネットワークオペレータのコールドストレージデバイス１５０２および１つのネットワークオペレータ端末１５０８を有し、必要に応じて追加の層を追加できるため、異なるシナリオは、ネットワークオペレータの制限内で共存し得る。追加の層は互いに分離され得る。ウォレットと端末との組み合わせの推奨される分離されたコールドストレージを採用するという特定のエンドユーザの決定はまた、他のエンドユーザが自分で決定する能力に影響を与えない。
【０３１４】
図１６に示されるように、別の実施形態では、サブネットワークオペレータは、エンドユーザが選択したウォレット管理ソリューションを使用して、エンドユーザがサブネットワーク１５００に入るのを可能にし得る。
【０３１５】
たとえば、図１６に示すように、ブロックチェーンデバイス１４０６−３はサブネットワークに入ることができる。ブロックチェーンデバイス１４０６−３（およびコールドストレージデバイス１４１６）のユーザは、サブネットワークシステム１５００のエンドユーザになる。
【０３１６】
サブネットワークオペレータは、ブロックチェーンデバイス１４０６−３に関連付けられたエンドユーザがサブネットワークオペレータによって確立された最小要件を満たすことができる場合、ブロックチェーンデバイス１４０６−３がサブネットワークに参加することを許可する。最小要件は、サービスプロバイダとの関係の確立、標準化された互換性のあるウォレットの所持、マルチ署名対応、フラグメント化されたバックアップ対応、フラグメント化されたバックアップをサブネットワークオペレータ及びサービスプロバイダに安全に送信する可能性があることなどのうちの１つ又は複数を含む。
【０３１７】
サブネットワークシステム１５００によって処理されるトランザクションは、様々な経路をとり得る。パスは、デフォルトのパス／動作と、デフォルトのパス／動作の１つ又は複数の変形を含み得る。
【０３１８】
管理対象サブネットワーク１５００は、外部操作、内部操作、インバウンド操作、およびアウトバウンド操作を含む。各タイプの操作は、システム１５００によってそれに与えられる特定の処理を有することができ、または特定の方法でシステム１５００によって管理され得る。
【０３１９】
システム１５００は、以下のような操作のデフォルトの動作を含み得る。
【０３２０】
外部操作は、管理対象サブネットワーク１５００の外部にある２人のユーザ間の操作を含む。外部操作は、管理対象サブネットワークの存在による影響を受けない。これにより、サブネットワークマネージャは、使用可能なブロックチェーンに任意の追加の変更することなく、又は新しいブロックチェーンの作成の必要なく、動作できる。管理対象サブネットワーク１５００の外部で操作したいユーザは、引き続き操作できる。
【０３２１】
内部操作は、（管理対象サブネットワーク１５００の観点から）２人の内部ユーザ間の操作を含む。内部操作は他のブロックチェーントランザクションと同様に承認できるが、サブネットワークマネージャはトランザクションの両端のステータスを認識しているため、高い信頼性がある。操作は、管理対象ブロックチェーンサブネットワーク１５００の確認プロセス拡張技術（confirmations process enhancement technology）を使用して、ほぼリアルタイムで承認され得る。承認は条件付きであり得る。たとえば、承認は、その時点で５１％の攻撃が行われていないことを条件とする場合がある。
【０３２２】
インバウンド操作は、外部ウォレット（管理対象サブネットワーク１５００の観点から）から内部ウォレットへの操作を含む。インバウンド操作は、システム１５００によって許可され得るが、さらなる検証のために遅延され得る（例えば、ＡＭＬ、収入源（source of revenue）、詐欺防止、５１％攻撃など）。
【０３２３】
アウトバウンド操作は、内部ウォレットから外部ウォレットへの操作を含む（管理対象サブネットワーク１５００の観点から）。アウトバウンド操作は、サブネットワークマネージャによってブロックされ得る。アウトバウンド操作のブロックは、盗難、詐欺、マネーロンダリング、ミス、または管理対象サブネットワーク１５００からリソースを流出させるその他の望ましくない動作を抑制するために実装され得る。
【０３２４】
ネットワーク通信接続１５１４、１５１６、および１６１６、ならびにデバイス１５０２、１５０４、および１５０６は、システムプロバイダサブネットワークを示す。
【０３２５】
ネットワーク接続１４１４、１４１８、１５１６、および１６１６は、クロスドメイン通信を示す。
【０３２６】
一実施形態では、ネットワーク接続１４０８、１４１２、および１５１４のうちの任意の１つまたは複数は、ポイントツーポイント、トンネリング、ＬＡＮ、ｖＬＡＮ、ドメイン間接続であり得る。これは、ネットワーク接続１４０８、１４１２、および１５１４のネットワーク接続の単なる一例のタイプを表し、限定的ではないことが理解される。他のネットワーク接続が考えられる。
【０３２７】
コールドストレージデバイス１４１６は、ネットワーク接続１６１６を介してブロックチェーン装置１４０６−３に接続されている。ネットワーク接続１６１６は、ネットワーク接続１５１６からのサブネットワークへの異なる経路である。
【０３２８】
ここで図１７を参照すると、一実施形態に係る、サブネットワークシステム１５００のデフォルトの動作の変形例１７００が示される。
【０３２９】
変形例１７００では、特定のアウトバウンド操作がシステム１５００によって許可され得る。アウトバウンド操作は、事前にクリアまたは承認された受信者、または承認された個別の管理対象サブネットワークなど、特定の場合に遅延後に許可される場合がある。新しい技術の進歩によりコンプライアンス及び／又はセキュリティが提供される場合、アウトバウンド操作が可能になる場合がある。アウトバウンド操作は、システムプロバイダの管理（規制、コンプライアンス、マネーロンダリング防止など）の対象となり得る。
【０３３０】
ここで図１８を参照すると、一実施形態に係る、サブネットワークシステム１５００のデフォルトの動作に関する別の変形例１８００が示される。
【０３３１】
システム１５００は、デフォルトの動作を参照して説明されるように、厳密なアウトバウンド操作ポリシーを含み得る。厳密なアウトバウンド操作ポリシーを補償するために、システム１５００は、リソース１８０２の仲介または交換を含み得る。証券会社１８０２は、管理対象サブネットワーク１５００の内部にあり、管理対象サブネットワーク１５００内でグローバルである。
【０３３２】
証券会社１８０２は、エンドユーザが管理対象サブネットワーク１５００内の証券会社または取引所タイプのサービスにアクセスすることを可能にし得る。エンドユーザは、サービスプロバイダとの関係に縛られている間にそうすることができる場合がある。
【０３３３】
一例では、サービスプロバイダは病院であり、仲介業者１８０２は、エンドユーザの個人医療記録のチェックイン／チェックアウトを可能にする。
【０３３４】
別の例では、サービスプロバイダは銀行であり、取引所１８０２は、ユーザアカウントからエンドユーザのウォレットへの直接の法定紙幣交換を可能にする。
【０３３５】
別の例では、サービスプロバイダは、不動産当局、規制当局、または代理店である。不動産アクターは、仲介業者１８０２を介して、全てのタイトルおよび関連文書をエンドユーザが所有する不動産などに提供することができる場合がある。
【０３３６】
上記の説明は、１つまたは複数の装置、方法、またはシステムの例を提供するが、他の装置、方法、またはシステムは、当業者によって解釈されるように、特許請求の範囲内にあり得ることが理解されよう。
【図１】
2021523650.tif 000003
【図２】
2021523650.tif 000004
【図３Ａ】
2021523650.tif 000005
【図３Ｂ】
2021523650.tif 000006
【図３Ｃ】
2021523650.tif 000007
【図４】
2021523650.tif 000008
【図５】
2021523650.tif 000009
【図６】
2021523650.tif 000010
【図７】
2021523650.tif 000011
【図８】
2021523650.tif 000012
【図９】
2021523650.tif 000013
【図１０】
2021523650.tif 000014
【図１１】
2021523650.tif 000015
【図１２】
2021523650.tif 000016
【図１３】
2021523650.tif 000017
【図１４】
2021523650.tif 000018
【図１５】
2021523650.tif 000019
【図１６】
2021523650.tif 000020
【図１７】
2021523650.tif 000021
【図１８】
2021523650.tif 000022
【手続補正書】
【提出日】令和3年1月13日(2021.1.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
安全なブロックチェーントランザクションを実行するためのシステムであって、前記システムは、
前記ブロックチェーントランザクションを生成するための端末であって、第１のモードおよび第２のモードで動作するように構成された端末と；
前記端末が前記第１のモードと前記第２のモードで同時に動作するのを妨げるためのスイッチコネクタと；
を備え、
前記端末が前記第１のモードにあるとき、前記端末は、ネットワークを介してシステムプロバイダサーバに接続され、前記システムプロバイダサーバは、少なくとも１つのブロックチェーンデバイスと通信し；
前記端末が前記第２のモードにある場合、前記端末は、コールドストレージデバイスと通信し；
前記コールドストレージデバイスは、前記ブロックチェーントランザクションに署名するための秘密鍵を格納するように構成され；
前記端末は、前記秘密鍵を使用して前記コールドストレージデバイスで前記ブロックチェーントランザクションに署名されることを可能にするように構成される、システム。
【請求項２】
前記スイッチコネクタは、ハードウェアスイッチで構成される、請求項１に記載のシステム。
【請求項３】
前記スイッチコネクタは、ソフトウェアスイッチで構成される、請求項１に記載のシステム。
【請求項４】
前記ブロックチェーントランザクションは、前記署名済みのブロックチェーントランザクションを前記少なくとも１つのブロックチェーンデバイスに送信する前に、少なくとも２つのパーティによって署名される、請求項１に記載のシステム。
【請求項５】
前記少なくとも２つのパーティは、システムプロバイダを含む、請求項４に記載のシステム。
【請求項６】
前記システムプロバイダサーバは、少なくとも１つのサービスプロバイダデバイスと通信する、請求項１に記載のシステム。
【請求項７】
安全なブロックチェーントランザクションを実行するための端末であって、前記端末は、
未署名のブロックチェーントランザクションを生成するためのプロセッサと；
前記未署名のブロックチェーントランザクションをコールドストレージデバイスに送信するためのコールドストレージ通信ポートであって、前記コールドストレージデバイスは、前記未署名のブロックチェーントランザクションに署名するための秘密鍵を格納し、前記端末は前記コールドストレージデバイスから署名済みのブロックチェーントランザクションを受信する、コールドストレージ通信ポートと；
ネットワークを介して前記署名済みのブロックチェーントランザクションをシステムプロバイダサーバに送信するためのネットワーク通信ポートであって、前記システムプロバイダサーバは、少なくとも１つのブロックチェーンデバイスと通信する、ネットワーク通信ポートと；
前記秘密鍵がネットワークに公開されないように、前記コールドストレージ通信ポート及び前記ネットワーク通信ポートの一方を選択的に無効にするためのスイッチコネクタと；
を備える、端末。
【請求項８】
前記スイッチコネクタは、ハードウェアスイッチを含む、請求項７に記載の端末。
【請求項９】
前記スイッチコネクタは、ソフトウェアスイッチを含む、請求項７に記載の端末。
【請求項１０】
前記システムプロバイダサーバとのインバウンドおよびアウトバウンド通信を制限するように構成される、請求項７に記載の端末。
【請求項１１】
ネットワークを介してデジタルアセットの安全なブロックチェーントランザクションを実行するためのコールドストレージデバイスであって、前記コールドストレージデバイスは、
少なくとも１つのコールドストレージウォレットの秘密鍵であって、未署名のブロックチェーントランザクションに署名するための前記秘密鍵を格納するメモリと；
端末から未署名のブロックチェーントランザクションを受信するための通信インターフェースであって、前記端末は前記ネットワークから切断され、前記通信インターフェースは、署名済みのブロックチェーントランザクションを前記端末に送信し、前記端末は前記ネットワークから切断される、通信インターフェースと；
前記秘密鍵を使用して前記未署名のブロックチェーントランザクションに署名するように構成されたプロセッサへの接続と；
を備える、コールドストレージデバイス。
【請求項１２】
前記通信インターフェースは、暗号化されたブルートゥース（登録商標）、近距離無線通信、Ｗｉ−Ｆｉ（登録商標）、光通信、有線通信、および熱放射からなるグループから選択される少なくとも１つの通信メカニズムを使用する、請求項１１に記載のコールドストレージデバイス。
【請求項１３】
前記プロセッサはさらに、前記少なくとも１つのコールドストレージウォレットの鍵ペアを生成するように構成される、請求項１１に記載のコールドストレージデバイス。
【請求項１４】
前記少なくとも１つのコールドストレージウォレットは、階層的な決定論的ウォレットである、請求項１３に記載のコールドストレージデバイス。
【請求項１５】
前記少なくとも１つのコールドストレージウォレットは、マルチ署名ウォレットである、請求項１１に記載のコールドストレージデバイス。
【請求項１６】
前記マルチ署名ウォレットは、少なくとも２つのパーティからの署名を必要とする、請求項１５に記載のコールドストレージデバイス。
【請求項１７】
通信ネットワークを介して安全なブロックチェーントランザクションを実行するための方法であって、前記方法は、
端末を使用して未署名のブロックチェーントランザクションを生成するステップであって、前記端末はオンラインモード及びオフラインモードを有する、ステップと；
前記オフラインモードにおいて、前記未署名のブロックチェーントランザクションを前記端末からコールドストレージデバイスに送信するステップであって、前記コールドストレージデバイスは、前記未署名のブロックチェーントランザクションに署名するための秘密鍵を格納する、ステップと；
前記秘密鍵を使用して、前記コールドストレージデバイスで前記未署名のブロックチェーントランザクションに署名するステップと；
前記署名済みのブロックチェーントランザクションを前記コールドストレージデバイスから前記端末に送信するステップと；
前記端末を前記オフラインモードから前記オンラインモードに切り替えるステップと；
前記オンラインモードにおいて、前記署名済みのブロックチェーントランザクションを前記端末から前記通信ネットワークを介してシステムプロバイダサーバに送信するステップであって、前記システムプロバイダサーバは複数のブロックチェーンコンピュータと通信する、ステップと；
を含む、方法。
【請求項１８】
マルチ署名認証プロセスに従って、第２の秘密鍵を用いて前記送信された署名済みのトランザクションに署名するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記送信された署名済みのトランザクションへの署名は、前記システムプロバイダサーバで実行される、請求項１８に記載の方法。
【請求項２０】
前記切り替えるステップは、スイッチコネクタを使用して実行される、請求項１７に記載の方法。
【請求項２１】
前記スイッチコネクタは、ハードウェアスイッチコネクタである、請求項２０に記載の方法。
【請求項２２】
前記スイッチコネクタは、ソフトウェアスイッチコネクタである、請求項２０に記載の方法。
【国際調査報告】
2021523650.tif 000023
2021523650.tif 000024
2021523650.tif 000025