(57)【要約】【課題】送金に必要な秘密情報が取引所外で管理される暗号通貨をユーザー負担を過大にすることなく避難可能とする。【解決手段】装置１１０では、送金指示に応じて（Ｓ３０１）、送金トランザクションデータＴを生成するとともに、指示された送金額を秘密情報を用いて送金可能な金額から差し引いた残額を送金するための避難トランザクションデータＥを生成する（Ｓ３０２）。次に、装置１１０はトランザクションデータのハッシュ値を機器１００に対して送信する（Ｓ３０３）。機器１００では、ハッシュ値に対する署名を行い、当該署名を装置１１０に送信する（Ｓ３０４）。次いで、装置１１０は、署名済み送金トランザクションデータＴ’及び署名済み避難トランザクションデータＥ’を生成する（Ｓ３０５）。データＴ’は、ブロックチェーンネットワーク１２０に送信され（Ｓ３０６）、データＥ’は、避難準備としてサーバ１２０に送信される（Ｓ３０７）。【選択図】図３
2020140695.tif 000002
【特許請求の範囲】
【請求項１】
送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法であって、携帯端末が、
ユーザーから前記暗号通貨の一部の送金指示の入力を受け取るステップと、
指示された送金額を送金するための送金トランザクションデータを取得するステップと、
前記送金トランザクションデータの送金額を前記暗号通貨の全額から引いた残額の全部又は一部を避難するための避難トランザクションデータを取得するステップと、
前記送金トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信するステップと、
前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信するステップと、
署名済み送金トランザクションデータをブロックチェーンネットワークに向けて送信するステップと、
署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバであって、仮想通貨取引所を提供するためのサーバ以外のサーバに送信するステップと
を含むことを特徴とする方法。
【請求項２】
前記サーバに、前記署名済み避難トランザクションデータを前記ブロックチェーンネットワークに向けて送信させる避難の実行指示を送信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記避難トランザクションデータは、避難先アドレスである送信先アドレスが、前記ユーザーが仮想通貨取引所から与えられたアドレスであり、前記仮想通貨取引所が提供するＡＰＩを呼び出して指定されることを特徴とする請求項１に記載の方法。
【請求項４】
前記携帯端末が、前記秘密情報を記憶するインターネットから遮断された機器から、前記署名済み避難トランザクションデータのハッシュ値に対する署名を受信することを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
携帯端末に、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法を実行させるためのプログラムであって、前記方法は、
ユーザーから前記暗号通貨の一部の送金指示の入力を受け取るステップと、
指示された送金額を送金するための送金トランザクションデータを取得するステップと、
前記送金トランザクションデータの送金額を前記暗号通貨の全額から引いた残額の全部又は一部を避難するための避難トランザクションデータを取得するステップと、
前記送金トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信するステップと、
前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信するステップと、
署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバであって、仮想通貨取引所を提供するためのサーバ以外のサーバに送信するステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通貨を避難するための装置、方法及びそのためのプログラムに関し、より詳細には、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための装置、方法及びそのためのプログラムに関する。
【背景技術】
【０００２】
暗号通貨の急速な拡がりとともに、暗号通貨を安全に保管するための機器として「ハードウェアウォレット」と呼ばれるものが使用されている。ハードウェアウォレットには、暗号通貨を他者に送金するためのトランザクションに対する署名に必要な秘密鍵が格納されており、ブロックチェーンネットワークにアクセス可能なＰＣ等の機器に一時的に接続される。送金時の限られた間以外はインターネットから遮断することによって、意図せず暗号通貨が他者に送金されるおそれを抑制している。
【０００３】
ハードウェアウォレットの一例としてＬＥＤＧＥＲ  ＮＡＮＯ  Ｓ（登録商標）が挙げられる。この製品は、ＰＣにＵＳＢ接続して使用するハードウェアウォレットであり、ＰＣに最初に接続した初期設定時にＰＩＮコードを設定し、このＰＩＮコードを入力して秘密鍵へのアクセスを許容する。
【０００４】
具体的には、この製品では、複数の秘密鍵が２５６ビットのシードと呼ばれる秘密情報を用いて階層的に生成可能な方式を採用しており、シードから各秘密鍵及びそれに関連づけられたアドレスを再現可能である。したがって、電源を入れるとシードからこれまでに使用した１又は複数のアドレスのための１又は複数の秘密鍵が再現され、ＰＩＮコードを用いて当該１又は複数の秘密鍵が利用可能となる。ここで、シードは「セキュアエレメント」と呼ばれる耐タンパー性のある安全性の高いチップに格納されている。
【０００５】
このように、シードが極めて重要な役割を果たすため、初期設定時にはＰＩＮコードの設定に加えてシードの復元のための２４個のリカバリーフレーズが表示され、これらを記録することが要求される。機器を紛失したような場合には、リカバリーフレーズによって、互換性のある新たな機器にシードを復元し、シードからこれまでに使用した１又は複数のアドレスのための１又は複数の秘密鍵を再現することができる。紛失した機器にはシードが記憶されているが、セキュアエレメント内のシードはＰＩＮコードがなければアクセス不可能に記憶されている。
【０００６】
このように安全性に配慮されたハードウェアウォレットは存在するものの、いずれもＰＣに接続して用いるものであり、安全性に配慮しつつ、現在多くの人が持ち歩くスマートフォンを活用したハードウェアウォレットは従来存在しなかったことから、出願人は、スマートフォンとの通信を用いて安全性を確保するハードウェアウォレットを提供している。出願人によるハードウェアウォレットでは、そこで管理される秘密鍵へのアクセスを独自の多要素認証方式によって安全性の高いものとするとともに、シードの復元のために、復元コアと呼ぶ部品にシード自体又はこれと１対１に対応する情報を記憶することで、ユーザーが機器を紛失した際に備えている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】株式会社AndGoウェブページ https://www.andgo.co.jp [2019年2月17日検索]
【発明の概要】
【発明が解決しようとする課題】
【０００８】
シード及びそこから生成される秘密鍵は暗号通貨の保管において極めて重要であり、上述のようにリカバリーフレーズの記録、復元コアの使用等、いくつかの手法が試みられているものの、シード、秘密鍵等の暗号通貨の送金に必要となる秘密情報の管理責任をユーザーにすべて課すこととなっている。仮想通貨取引所の外で安全に暗号通貨を保管することに対する需要は高まっているが、一方でその責任を各ユーザーがすべて自ら負うことの負担も大きい。
【０００９】
本発明は、このような問題点に鑑みてなされたものであり、その目的は、必要に応じて、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨をユーザー負担を過大にすることなく避難可能とすることにある。
【００１０】
ここで、本明細書において「避難（ｅｖａｃｕａｔｅ）」とは、暗号通貨の送金に必要となる秘密情報にアクセスが不可能となっても当該暗号通貨の全部又は一部に対応する額の暗号通貨の送金を当該秘密情報を用いずに可能とすることを言い、「秘密情報」とは、暗号通貨を送金するためのトランザクションに対する署名に必要な秘密鍵又はそれを生成するための情報を言う。
【００１１】
また、本明細書において「遮断」とは、必要に応じて一時的にインターネットに接続されることを除外するものではない。
【課題を解決するための手段】
【００１２】
このような目的を達成するために、本発明の第１の態様は、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法であって、ユーザーから前記暗号通貨の一部の送金指示の入力を受け取るステップと、指示された送金額を送金するための送金トランザクションデータを取得するステップと、前記送金トランザクションデータの送金額を前記暗号通貨の全額から引いた残額の全部又は一部を避難するための避難トランザクションデータを取得するステップと、前記送金トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信又は付与するステップと、前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信又は付与するステップと、署名済み送金トランザクションデータをブロックチェーンネットワークに向けて送信するステップと、署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバに送信するステップとを含むことを特徴とする。
【００１３】
また、本発明の第２の態様は、第１の態様において、前記サーバに、前記署名済み避難トランザクションデータを前記ブロックチェーンネットワークに向けて送信させる避難の実行指示を送信するステップをさらに含むことを特徴とする。
【００１４】
また、本発明の第３の態様は、第１又は第２の態様において、前記サーバは、仮想通貨取引所を提供するためのサーバ以外のサーバであることを特徴とする。
【００１５】
また、本発明の第４の態様は、第１から第３のいずれかの態様において、前記避難トランザクションデータは、避難先アドレスである送信先アドレスが、前記ユーザーの本人確認がなされているアドレスであることを特徴とする。
【００１６】
また、本発明の第５の態様は、第１の態様において、前記避難トランザクションデータは、避難先アドレスである送信先アドレスが、前記ユーザーが仮想通貨取引所から与えられたアドレスであることを特徴とする。
【００１７】
また、本発明の第６の態様は、第５の態様において、前記避難先アドレスを前記仮想通貨取引所が提供するＡＰＩを呼び出して指定することを特徴とする。
【００１８】
また、本発明の第７の態様は、第１から第６のいずれかの態様において、前記各ステップは、携帯端末が行い、前記携帯端末が、前記秘密情報を記憶するインターネットから遮断された機器から、前記署名済み避難トランザクションデータのハッシュ値に対する署名を受信することを特徴とする。
【００１９】
また、本発明の第８の態様は、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法であって、前記暗号通貨の全部又は一部を避難するための避難トランザクションデータを取得するステップと、前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信又は付与するステップと、署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバに送信するステップとを含むことを特徴とする。
【００２０】
また、本発明の第９の態様は、装置に、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法を実行させるためのプログラムであって、前記方法は、前記暗号通貨の全部又は一部を避難するための避難トランザクションデータを取得するステップと、前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信又は付与するステップと、署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバに送信するステップとを含むことを特徴とする。
【００２１】
また、本発明の第１０の態様は、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための装置であって、前記暗号通貨の全部又は一部を避難するための避難トランザクションデータを取得し、前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を受信又は付与して、署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバに送信することを特徴とする。
【発明の効果】
【００２２】
本発明の一態様によれば、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨の全部又は一部を避難するための避難トランザクションデータＥを生成し、当該避難トランザクションデータＥに上記秘密情報を用いた署名を付加した署名済み避難トランザクションデータＥ’をブロードキャストせずに別途避難の実行指示があるまでサーバで保管して避難の準備をしておき、避難の実行指示によって署名済み避難トランザクションデータＥ’をブロードキャストすることによって、この避難サービスを提供する事業者は、各ユーザーの秘密情報にアクセスすることなく、また、各ユーザーの秘密情報の管理負担を過大にすることなく、必要に応じて暗号通貨の避難を可能とすることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態にかかる暗号通貨を避難するための装置を示す図である。
【図２】本発明の第１の実施形態にかかる送金のための入力画面の一例を示す図である。
【図３】本発明の第１の実施形態にかかる暗号通貨を避難するための方法の流れ図である。
【図４Ａ】本発明の第１の実施形態にかかる避難の実行手順を説明するための図である。
【図４Ｂ】本発明の第１の実施形態にかかる避難の実行手順を説明するための図である。
【図５】本発明の第２の実施形態にかかる避難準備指示のための入力画面の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施形態を詳細に説明する。
（第１の実施形態）  
【００２５】
図１に、本発明の第１の実施形態にかかる暗号通貨を避難するための装置を示す。装置１１０は、暗号通貨の送金のためのトランザクションデータＴを生成して、当該トランザクションデータＴ又はそれに基づくハッシュ値Ｈを、機器１００に送信する。機器１００では、当該機器１００が管理する秘密情報を用いて、トランザクションデータＴのハッシュ値に署名を行い、当該署名又は当該署名が付加された署名済みトランザクションデータＴ’を装置１１０に送信する。そして、装置１１０は、署名済みトランザクションデータＴ’をブロックチェーンネットワーク１３０にブロードキャストする。この際、ブロードキャストは装置１１０から直接行われる場合のほか、機器１００にインストールされた暗号通貨の送金を行うためのアプリケーションが通信を行うサーバ１２０を介して行われる場合がある。
【００２６】
機器１００は、スマートフォン等の装置１１０からの要求に応じて、そこに記憶する秘密情報へのアクセスを可能にする。機器１００は、一例として、その筐体の上面に表示画面１０１及びボタン等の入力部１０２を有することができるが、ＩＣカードなどのように情報の入出力領域を有しないものとすることもできる。また、装置１１０との通信は、無線又は有線とすることができ、機器１００と装置１１０との間にセキュアな通信路をいかに確立するか、装置１１０に機器１００に記憶されている秘密情報へのアクセスをいかに許容するかについては、さまざまな手法を用いることが考えられる。
【００２７】
装置１１０は、たとえばスマートフォン等の携帯端末としたり、ＰＣ又はノートＰＣとしたりすることができる。装置１１０は、通信インターフェースなどの通信部１１１と、プロセッサ、ＣＰＵ等の処理部１１２と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部１１３とを備え、各処理を行うためのプログラムを実行することによって構成することができる。当該プログラムは、１又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。サーバ１２０も同様の構成を有することができ、１又は複数の装置又はサーバを含むことができるが、簡単のため、図示はしない。
【００２８】
装置１１０には、暗号通貨の送金を行うためのアプリケーションをインストールすることができる。図２に、装置１１０にインストールされたアプリケーションにおける入力画面の一例を示す。入力画面２００には、送金先アドレスの入力欄２０１と金額の入力欄２０２があり、メモ欄２０３を設けることもできる。送金先アドレスは、ＱＲコード（登録商標）を撮影して入力可能としてもよく、送金額は仮想通貨又は暗号通貨の種類を選択して入力可能としてもよい。ユーザーが「送金する」ボタン２０４をタップなどによって選択することにより、装置１１０に送金指示が与えられる。ユーザーが避難機能をＯＮにしている場合、図２に示すように、一例として「送金」ボタンの近傍に避難機能アイコン２０５を表示してもよい。ＯＦＦの場合、当該アイコン２０５を非表示としたりグレーアウトしたりすることで、避難機能が有効ではなく無効であることを視覚的に表示してもよい。
【００２９】
本実施形態では、装置１１０において、ユーザーによる暗号通貨の送金指示に応じて、指示された送金額を送金するための送金トランザクションＴを生成することに加えて、指示された送金額を機器１００が管理する秘密情報を用いて送金可能な金額から差し引いた残額の全部又は一部を送金するための避難トランザクションＥを生成する。署名済み送金トランザクションＴ’はブロードキャストするものの、署名済み避難トランザクションＥ’はブロードキャストせずに、サーバ１２０で保管し、サーバ１２０は、別途正当な避難指示を受信した場合に署名済み避難トランザクションＥ’のブロードキャストを実行する。以下、さらに詳細する。
【００３０】
まず、装置１１０は、ユーザーから、送金先アドレス及び送金額を含む送金指示の入力を受け取る（Ｓ３０１）。装置１１０では、送金指示に応じて、指示された送金額を送金するための送金トランザクションデータＴを生成する。加えて、装置１１０は、指示された送金額を機器１００が管理する秘密情報を用いて送金可能な金額から差し引いた残額の全部又は一部を送金するための避難トランザクションデータＥを生成する（Ｓ３０２）。ここで、送金トランザクションデータＴ及び避難トランザクションデータＥは同時に生成してもよいし、いずれかを先に生成してもよい。図３では、装置１１０で生成を行うことで送金トランザクションデータＴを取得するものとして説明するが、サーバ１２０に対する生成要求を送信し、生成された送金トランザクションデータＴを受信することによって送金トランアクションデータＴを取得することもでき、避難トランザクションデータＥについても同様である。
【００３１】
機器１００で管理される秘密情報がシードＳである場合につき、トランザクションデータの生成についてさらに説明する。シードＳとは、そこから複数の秘密鍵を階層的に生成可能な情報であり、各秘密鍵に対応する公開鍵は、親秘密鍵である１階層目の秘密鍵に対応する公開鍵を親公開鍵Ｓ’として、これに基づいて生成可能とすることができる。暗号通貨の送受金においては、各公開鍵に関連づけられたアドレスが用いられ、親公開鍵Ｓ’が分かれば、シードＳに関連づけられた複数のアドレスの特定を決定的に行うことができる。一例として、ＢＩＰ３２と呼ばれる規格を採用することが考えられる。ここで、公開鍵に関連づけられたアドレスは、公開鍵自体とすることが含まれる。親公開鍵Ｓ’は、機器１００と装置１１０との間の初期設定において装置１１０に記憶するものとする。機器１００で管理するシードＳを暗号化する場合には、シードＳの暗号化に用いた暗号化キーＰも装置１１０に記憶するものとする。装置１１０に記憶される親公開鍵Ｓ’は、機器１００が装置１１０と通信可能となるごとに装置１１０に記憶するようにしてもよく、暗号化キーＰについても同様である。親公開鍵Ｓ’ではなく、これに基づいて生成される各公開鍵を装置１００で記憶するようにしてもよい。
【００３２】
機器１１０は、親公開鍵Ｓ’を用いて、シードＳに関連づけられた複数のアドレスを出力とする複数のトランザクションデータのうちの当該送金額の送金に利用可能な１又は複数のＵＴＸＯを特定し、それらを送金元とするトランザクションデータＴを生成する。加えて、当該シードＳに関連づけられた複数のアドレスを出力とする複数のトランザクションデータのうちのトランザクションデータＴに利用されていない１又は複数のＵＴＸＯを特定し、その全部又は一部を送金元とする避難トランザクションデータＥを生成する。避難トランザクションデータＥの送金先アドレスは、避難先アドレスとして登録しておくことができる。この点、後述する。
【００３３】
機器１００で管理される秘密情報が１又は複数の秘密鍵である場合、機器１１０は、当該１又は複数の秘密鍵に対応する１又は複数の公開鍵に関連づけられた１又は複数のアドレスの全部又は一部を送金元とするトランザクションデータＴを生成する。加えて、機器１１０は、トランザクションデータＴにより送金される送金額を機器１００が管理する１又は複数の秘密鍵を用いて送金可能な金額から差し引いた残額の全部又は一部を送金するための避難トランザクションデータＥを生成する。ここで、各公開鍵に関連づけられたアドレスは、公開鍵自体とすることが含まれる。各公開鍵は、初期設定として装置１１０に記憶しておくこともできるが、機器１００が装置１１０と通信可能となるごとに装置１１０に記憶するようにしてもよく、暗号化キーＰについても同様である。
【００３４】
次に、装置１１０は、取得した送金トランザクションデータＴ及び避難トランザクションデータＥ又はこれらのハッシュ値を機器１００に対し、送信する（Ｓ３０３）。機器１００では、そこに記憶された秘密情報を用いて、送金トランザクションデータＴのハッシュ値及び避難トランザクションデータＥのハッシュ値に対する署名を行い、当該署名を装置１１０に送信する（Ｓ３０４）。
【００３５】
次いで、装置１１０は、送金トランザクションデータＴのハッシュ値に対する署名を付加した署名済み送金トランザクションデータＴ’を生成し、加えて、避難トランザクションデータＥのハッシュ値に対する署名を付加した署名済み避難トランザクションデータＥ’を生成する（Ｓ３０５）。
【００３６】
そして、装置１１０は、署名済み送金トランザクションデータＴ’をブロックチェーンネットワーク１２０に向けて送信する（Ｓ３０６）。これは「ブロードキャスト」と呼ばれることがある。この際、装置１１０は、直接ブロックチェーンネットワーク１２０のいずれかのノードに対して署名済み送金トランザクションデータＴ’を送信することができるが、サーバ１２０が提供するブロードキャストのための第１のＡＰＩを署名済み送金トランザクションデータＴ’を引数として呼び出すことによって、署名済み送金トランザクションデータＴ’をサーバ１２０を通じて送信することもできる。
【００３７】
最後に、装置１１０は、署名済み避難トランザクションデータＥ’をサーバ１２０に向けて送信する（Ｓ３０７）。この際、装置１１０は、サーバ１２０が提供する避難のための第２のＡＰＩを署名済み避難トランザクションデータＥ’を引数として呼び出すことによって、署名済み避難トランザクションデータＥ’をサーバ１２０に送信することもできる。サーバ１２０では、署名済み避難トランザクションデータＥ’を別途避難実行指示を受信するまでブロードキャストせずに保管する。
【００３８】
サーバ１２０は、同一のユーザーから、新たな署名済み避難トランザクションデータＥ’を受信した場合、既に記憶している署名済み避難トランザムションデータＥ’があれば、古いものを破棄し、新たなもので更新することが好ましい。装置１１０が上記第２のＡＰＩを呼び出して署名済み避難トランザクションデータＥ’をサーバ１２０に送信する場合には、サーバ１２０は、呼び出し元のアカウントに基づいて、ユーザーの同一性を判定可能である。
【００３９】
このように、本実施形態にかかる暗号通貨を避難するための方法においては、ユーザーが送金を行うための送金指示を行ったことに応じて、送金のための送金トランザクションデータＴを取得し、それと同時に又はそれと関連づけて、残りの暗号通貨の全部又は一部の避難のための避難トランザクションデータＥを取得する。そして、署名済み避難トランザクションデータＥ’をブロードキャストせずに別途避難の実行指示があるまでサーバ１２０で保管して、避難の準備をする。避難の実行指示によって、署名済み避難トランザクションデータＥ’がブロードキャストされ、ユーザーは、署名済み避難トランザクションデータＥ’の送金先アドレスから暗号通貨の移動が可能となる。したがって、この避難サービスを提供する事業者は、各ユーザーの秘密情報にアクセスすることなく、緊急時等、必要に応じて暗号通貨の避難を可能としており、各ユーザーに取引所の外で暗号通貨を自ら保管可能にしつつ、秘密情報の管理負担を大きく軽減する。
【００４０】
加えて、本実施形態においては、ユーザーによる送金指示に応じて、署名済み避難トランザクションデータＥ’のサーバ１２０における保管を行い避難の準備をしていることから、ユーザーは暗号通貨の残額の避難について特別な注意を払う必要がなく、利便性が高い。
【００４１】
また、サーバ１２０は、仮想通貨取引所の外のサーバ、すなわち仮想通貨取引所を提供するためのサーバ以外のサーバとすることで、各ユーザーによる暗号通貨の取引所の外での保管を徹底することができる。
【００４２】
また、上述の説明では、機器１００において署名を行うものとして説明したが、装置１１０自体が送金に必要な秘密情報を安全性高く管理可能であれば、装置１１０に秘密情報を管理させて、装置１１０において署名を付与することも考えられる。換言すれば、トランザクションデータＴのハッシュ値又は避難トランザクションデータＥのハッシュ値に対する署名の取得は、機器１００からの受信により行う場合のほか、装置１１０における署名の実行により行う場合が考えられる。
【００４３】
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「ａの場合にｂする」という記載は、明示した場合を除き、「ａの場合に常にｂする」ことを必ずしも意味しないことに留意されたい。
【００４４】
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム（以下「方法等」）において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
【００４５】
避難先アドレスの指定の詳細 
避難トランザクションデータＥに含まれる避難先アドレスは、そのアドレス保有者の本人確認がなされていることが好ましい。具体的には、サーバ１２０により提供される避難サービスのユーザーがユーザー登録をしており、当該ユーザーと同一人物がアドレス保有者であることが確認されたアドレスを避難先アドレスとすることが考えられる。
【００４６】
一例として、ユーザー登録しているユーザーと同一人物が仮想通貨取引所から与えられたアドレスを避難先アドレスとして許容することが考えられる。このため、避難先アドレスは、ユーザーが手入力不可として、仮想通貨取引所が提供するＡＰＩを装置１１０又はサーバ１２０が呼び出して指定するようにするのが好ましい。装置１１０が当該ＡＰＩを呼び出すためには、ユーザーが当該仮想通貨取引所のアカウント情報を用いて装置１１０にインストールされたアプリケーションが当該ＡＰＩを呼び出し可能に設定することが必要である。ＡＰＩ連携自体は、さまざまな手法を用いることが考えられる。
【００４７】
避難の実行指示の詳細 
ユーザーは、サーバ１２０に保管した署名済み避難トランザクションデータＥ’をブロックチェーンネットワーク１３０にブロードキャストして暗号通貨を避難先アドレスに移したい場合、サーバ１２０に対し、避難の実行指示を与える。
【００４８】
避難実行指示は、たとえば、装置１００にインストールされたアプリケーションから送信することができるが、サーバ１２０が提供するウェブページにおいて、避難実行指示を送信するためのリンク生成要求を行い（図４Ａ参照）、避難実行指示リンク（図４Ｂ参照）を受信してこれをタップ又はクリックすることで、避難実行指示をサーバ１２０に送信してもよい。ウェブページから避難実行指示を送信可能とすることには、装置１００が紛失のおそれがあるスマートフォンなどの携帯端末である場合に、紛失が実際に生じても避難可能とする利点がある。
【００４９】
（第２の実施形態）  
第１の実施形態においては、ユーザーによる暗号通貨の一部の送金指示の入力を装置１１０が受け取ったことに応じて、避難の準備を行っている。第２の実施形態においては、ユーザーが、サーバ１２０に保管されている署名済み避難トランザクションデータＥ’の更新を任意のタイミングを可能とする。たとえば、図５に示すように、コンピュータネットワークから遮断された機器１００において送金に必要な秘密情報が管理されている暗号通貨の残高表示画面５００に更新ボタン５０１を表示し、ユーザーがこれをタップして更新指示、すなわち避難準備指示を装置１１０に与えられるようにしてもよい。ユーザーが避難させる金額を指定可能としてもよく、また、かかる指定を予め設定可能としてもよい。
【００５０】
また、必ずしもユーザーの操作ではなく、管理される秘密情報を用いて送金可能な金額に変化をもたらす処理を検知した際に、避難トランザクションＥの取得を行うようにしてもよい。ユーザーによる送金指示又はそれに基づく送金トランザクションの取得等の当該秘密情報を用いて送金可能な送金元アドレスからの送金に関する処理のほか、当該秘密情報を用いて送金可能な送金元アドレスに対する入金に関する処理が検知対象として挙げられる。
【００５１】
（第３の実施形態）  
第３の実施形態では、第１及び第２の実施形態で説明した避難サービスをユーザーが利用するためには、当該ユーザーは、サーバ１２０を用いて当該避難サービスを提供する事業者と利用契約を締結していることを必要とする。ユーザーは、サーバ１２０が提供するウェブサイト又は装置１１０にインストールしたアプリケーションから、ユーザー登録を行い、所要の利用料を支払う。当該利用料を月額費用とすることで、ユーザーは秘密情報をデータとして管理する労力から解放され管理負担が軽減されるとともに、費用に関しても管理負担が軽減される。さらに、ユーザーが用いる機器１００の費用を月額利用料に含めた場合には、ユーザーの費用負担は一層軽減され、取引所に依拠しない暗号通貨の保管が大きく促進される。
【符号の説明】
【００５２】
１００  機器
１０１  表示部
１０２  入力部
１１０  装置
１２０  サーバ
１３０  ブロックチェーンネットワーク
２００  入力画面
２０１  送金先アドレス入力欄
２０２  送金額入力欄
２０３  メモ入力欄
２０４  送金ボタン
２０５  避難機能アイコン
４０１  ウェブページ
４０２  電子メール
５００  残高表示画面
５０１  避難機能アイコン
【図１】
2020140695.tif 000003
【図２】
2020140695.tif 000004
【図３】
2020140695.tif 000005
【図４Ａ】
2020140695.tif 000006
【図４Ｂ】
2020140695.tif 000007
【図５】
2020140695.tif 000008
【手続補正書】
【提出日】令和1年12月24日(2019.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法であって、携帯端末が、
ユーザーから前記暗号通貨の一部の送金指示の入力を受け取るステップと、
前記ユーザーは避難機能を有効又は無効にすることが可能であって有効である場合、前記送金指示に応じて、指示された送金額を送金するための送金トランザクションデータ及び前記送金トランザクションデータの送金額を前記暗号通貨の全額から引いた残額の全部又は一部を避難するための避難トランザクションデータを取得するステップと、
前記送金トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を取得するステップと、
前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を取得するステップと、
署名済み送金トランザクションデータをブロックチェーンネットワークに向けて送信するステップと、
署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバであって、仮想通貨取引所を提供するためのサーバ以外のサーバに送信するステップと
を含むことを特徴とする方法。
【請求項２】
前記避難機能が有効である場合、有効であることを視覚的に表示するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記避難トランザクションデータは、避難先アドレスである送信先アドレスが、前記ユーザーが仮想通貨取引所から与えられたアドレスであり、前記仮想通貨取引所が提供するＡＰＩを呼び出して指定されることを特徴とする請求項１に記載の方法。
【請求項４】
前記携帯端末が、前記秘密情報を記憶するインターネットから遮断された機器に、前記送金トランザクションデータ及び前記避難トランザクションデータ又はこれらのハッシュ値を送信することを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
携帯端末に、送金に必要な秘密情報が仮想通貨取引所の外で管理されている暗号通貨を避難するための方法を実行させるためのプログラムであって、前記方法は、
ユーザーから前記暗号通貨の一部の送金指示の入力を受け取るステップと、
前記ユーザーは避難機能を有効又は無効にすることが可能であって有効である場合、前記送金指示に応じて、指示された送金額を送金するための送金トランザクションデータ及び前記送金トランザクションデータの送金額を前記暗号通貨の全額から引いた残額の全部又は一部を避難するための避難トランザクションデータを取得するステップと、
前記送金トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を取得するステップと、
前記避難トランザクションデータのハッシュ値に対する前記秘密情報を用いた署名を取得するステップと、
署名済み避難トランザクションデータを前記署名済み避難トランザクションデータを保管するためのサーバであって、仮想通貨取引所を提供するためのサーバ以外のサーバに送信するステップと
を含むことを特徴とするプログラム。