(57)【要約】【課題】ユーザの所有する仮想資産の保全を可能ならしめる情報処理方法、情報処理装置、およびプログラムを提供すること。【解決手段】情報処理装置が、仮想資産を第１アドレスから第２アドレスに移動させる第２アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第２アドレス宛取引情報を１または複数記憶するステップと、所定の条件を満たす場合に、記憶された前記第２アドレス宛取引情報のうち、選択された第２アドレス宛取引情報をネットワークに送信するステップと、を実行する、情報処理方法。【選択図】図４
2020021446.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
仮想資産を第１アドレスから第２アドレスに移動させる第２アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第２アドレス宛取引情報を１または複数記憶するステップと、
所定の条件を満たす場合に、記憶された前記第２アドレス宛取引情報のうち、選択された第２アドレス宛取引情報をネットワークに送信するステップと、を実行する情報処理方法。
【請求項２】
前記ネットワークに送信するステップは、
前記記憶した第２アドレス宛取引情報の中から、前記第１アドレスに紐づく仮想資産の総量以下の仮想資産を移動させる第２アドレス宛取引情報を選択するステップをさらに含む、請求項１に記載の情報処理方法。
【請求項３】
仮想資産を前記第１アドレスから第３アドレスに移動させる第３アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第３アドレス宛取引情報を受信するステップをさらに含み、
前記ネットワークに送信するステップは、
前記受信した第３アドレス宛取引情報が所定の要件を満たす場合に、前記記憶した第２アドレス宛取引情報のなかから、前記第１アドレスに紐づく仮想資産の総量以下の仮想資産を移動させる第２アドレス宛取引情報を選択するステップをさらに含む、請求項１又は２に記載の情報処理方法。
【請求項４】
前記ネットワークに送信するステップは、
前記受信した第３アドレス宛取引情報によって移動する仮想資産の量が所定の量を超える場合に、又は、所定の期間に受信した前記第３アドレス宛取引情報によって移動する仮想資産の総量が所定の量を超える場合に、選択された前記第２アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項３に記載の情報処理方法。
【請求項５】
前記第１アドレスに対応する前記暗号鍵により電子署名した取引情報がネットワークに送信される際に、前記第１アドレスに対応するユーザから該取引情報に関する通知を受け付けるステップをさらに実行し、
前記ネットワークに送信するステップは、
受信した前記第３アドレス宛取引情報に対応する前記通知を受信しない場合に、前記第２アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項３又は４に記載の情報処理方法。
【請求項６】
前記ネットワークに送信するステップは、
受信した前記第３アドレス宛取引情報において、前記第３アドレスが予め設定された移動先に含まれない場合に、選択された前記第２アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項３〜５のいずれか一項に記載の情報処理方法。
【請求項７】
前記ネットワークに送信するステップは、
前記第１アドレスを所有するユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、選択された前記第２アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項１又は２に記載の情報処理方法。
【請求項８】
前記ネットワークに送信するステップは、
記憶した前記第２アドレス宛取引情報のなかから、前記第１アドレスに紐づく仮想資産の総量以下であって、
最も多くの仮想資産を移動させる一の第２アドレス宛取引情報、移動させる仮想資産の合計値が最も多くなる複数の第２アドレス宛取引情報、又は、記憶した時系列順の最も新しい第２アドレス宛取引情報のいずれかを選択するステップをさらに含む、請求項１〜７のいずれか一項に記載の情報処理方法。
【請求項９】
仮想資産を第１アドレスから第２アドレスに移動させる第２アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第２アドレス宛取引情報を１または複数記憶する第２アドレス宛取引情報記憶部と、
所定の条件を満たす場合に、記憶された前記第２アドレス宛取引情報のうち、選択された第２アドレス宛取引情報をネットワークに送信する送信部と、を有する情報処理装置。
【請求項１０】
情報処理装置に、
仮想資産を第１アドレスから第２アドレスに移動させる第２アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第２アドレス宛取引情報を１または複数記憶するステップと、
所定の条件を満たす場合に、記憶された前記第２アドレス宛取引情報のうち、選択された第２アドレス宛取引情報をネットワークに送信するステップと、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、情報処理装置、およびプログラムに関する。
【背景技術】
【０００２】
従来、通信機能を有するコンピュータ、スマートフォン、タブレット、携帯電話機などの端末を用いてネットワーク経由により、ユーザが仮想資産の売買取引を行えるようにしたサービスが広く一般に利用されている。このような仮想資産の取引は、特定の機関による管理の代わりに、ネットワーク上に存在するブロックチェーンとよばれる仮想資産の取引情報を記した分散型台帳により管理される。この取引情報は移動元から移動先への仮想資産の転移に関する情報を含むものであり、移動元となる仮想資産を所有するユーザが所有する秘密鍵等の暗号鍵（仮想資産の所有権を証明する鍵）により電子署名され、かつ、ネットワーク上に送信されて初めて、取引情報が分散型台帳に記録され、有効なものとして扱われる。詳細には、暗号鍵により電子署名された取引情報がネットワーク上に送信されると、ブロックチェーンノードがその正当性を検証し、検証した複数の取引情報を所定の時間周期毎にブロックというグループにまとめ、まとめられた新たなブロックがブロックチェーンの末尾に追加されることで、取引情報が分散型台帳に記録される。
【０００３】
上記ブロックチェーンのブロック内の取引情報は実質上改ざんが不可能であり、また、なりすましもできないという点で、信用性の高い資産の取引システムであるといえる。しかしながら、第三者が何らかの手段でユーザの暗号鍵を知った場合には、第三者はユーザの所有する仮想資産を第三者宛に移動させる取引情報を作成し、電子署名したうえでネットワーク上に送信することが可能となる。暗号鍵により電子署名されている以上、このように送信された取引情報は有効な取引情報として扱われる。そのため、暗号鍵が悪意のある第三者に知られた場合にはユーザは所有する仮想資産の流出を止めることができない。
【０００４】
また、ユーザが暗号鍵を忘失した場合には、取引情報を暗号鍵により電子署名することができず、仮想資産を移動させることができないため、実質上仮想資産が消失した状態となる。
【０００５】
特許文献１には、かかる仮想資産の取引において、第三者が暗号鍵を不正に入手した場合などに、不正な取引情報に基づく取引の実行を抑制できる取引情報の管理方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−９３４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的に秘密鍵等の暗号鍵はウォレットというソフトウェアによって管理される。ウォレットはユーザの所有する暗号鍵を管理するとともに、ブロックチェーンを読み込むことでユーザが使用できる仮想資産の量を算出し、取引情報の作成および取引情報への電子署名を行い、また、電子署名された取引情報のネットワーク上への送信を行うことができる。
【０００８】
上記のように第三者が暗号鍵を不正に入手した場合には、その暗号鍵に紐づくウォレットに保存される仮想資産をユーザが管理する他のウォレットに移動させ、仮想資産の流出を最小限にとどめることが望ましい。また、ユーザが暗号鍵を忘失した場合にも、同様に、その暗号鍵に紐づくウォレットに保存される仮想資産を、ユーザが管理する他のウォレットに移動させることで、仮想資産の消失を回避することが望ましい。
【０００９】
しかしながら、特許文献１には、公開鍵を用いたチャレンジレスポンス認証により、取引情報の有効性を追加検証し、不正な取引情報に基づく取引の実行を抑制する情報処理方法が記載されているが、不正な取引情報に基づく取引が実行された場合において仮想資産を保全する技術は記載されていない。
【００１０】
そこで、本開示は、かかる事情に鑑みてなされたものであり、なめらかにユーザの所有する仮想資産の保全を可能ならしめる情報処理方法、情報処理装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本開示の実施形態に係る情報処理方法は、情報処理装置が、仮想資産を、第１アドレスから第２アドレスに移動させる第２アドレス宛取引情報であって、前記第１アドレスに対応する暗号鍵により電子署名された第２アドレス宛取引情報を１または複数記憶するステップと、所定の条件を満たす場合に、記憶された前記第２アドレス宛取引情報のうち、選択された第２アドレス宛取引情報をネットワークに送信するステップと、を実行することを含む。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態の一態様に係る通信システムの構成を示す。
【図２】図２は、本開示に係る情報処理装置のハードウェア構成の一例を示す。
【図３】図３は、第１実施形態に係る情報処理装置の機能的な構成を示すブロック図の一例を示す。
【図４】図４は、未送信取引情報ＤＢ３３１の管理テーブルのデータ構造の一例を示す。
【図５】図５は、送信済取引情報ＤＢ３３２が記憶するデータ構造の一部を示す。
【図６】図６は、送信済取引情報のデータ構造の一例を示す。
【図７】図７は、ルールＤＢ３３３のデータ構造の一例を示す。
【図８】図８は、第１実施形態における通信システム１が行う処理を示すシーケンス図の一例を示す。
【図９】図９は、第１実施形態におけるサーバにおける処理のフローチャートの一例を示す。
【図１０】図１０は、第１実施例における情報処理システムの動作例を示すシーケンス図の一例を示す。
【図１１】図１１は、第１実施例におけるサーバにおける処理のフローチャートの一例を示す。
【図１２】図１２は、第２実施例における情報処理システムの動作例を示すシーケンス図の一例を示す。
【図１３】図１３は、第２実施例におけるサーバにおける処理のフローチャートの一例を示す。
【発明を実施するための形態】
【００１３】
＜法令遵守＞
本明細書に記載の開示は、実施される場合、本開示を実施する各国の法令を遵守のうえで実施される。また、本明細書に記載の開示は、各国の法令を遵守するために必要な、当業者が成し得る全ての変更、置換、変形、改変、および修正をもって実施される。
【００１４】
本開示に係る情報処理方法、情報処理装置、およびプログラムを実施するための形態について、図面を参照して説明する。
【００１５】
＜システム構成＞
図１は、本開示の一実施形態に係る情報処理方法を有効に実施するための通信システム１の構成を示す。図１に開示されるように、通信システム１では、ネットワーク１３０を介してサーバ１１０Ａ，サーバ１１０Ｂと、端末１２０Ａ，端末１２０Ｂ，端末１２０Ｃが接続される。サーバ１１０Ａ，サーバ１１０Ｂと、端末１２０Ａ，端末１２０Ｂ，端末１２０Ｃは、分散型台帳（以下「ブロックチェーン」ともいう。）を構成している。本開示では、ブロックチェーンは、中央管理者のいないパブリック型の構成として説明するが、これに限定されずプライベート型や、コンソーシアム型でもよい。
【００１６】
本開示において、サーバ１１０Ａと、サーバ１１０Ｂとをそれぞれ区別する必要がない場合は、サーバ１１０Ａとサーバ１１０Ｂとは、それぞれサーバ１１０と表現されてもよい。
【００１７】
本開示において、端末１２０Ａと、端末１２０Ｂと、端末１２０Ｃとをそれぞれ区別する必要がない場合は、端末１２０Ａと端末１２０Ｂと端末１２０Ｃとは、それぞれ端末１２０と表現されてもよい。
【００１８】
本開示において、サーバ１１０と、端末１２０とをそれぞれ区別する必要がない場合は、サーバ１１０と端末１２０とは、それぞれ情報処理装置２００と表現されてもよい。なお、ネットワーク１３０に接続される情報処理装置２００の数は限定されない。
【００１９】
サーバ１１０は、ネットワーク１３０を介してユーザが利用する端末１２０に、所定のサービスを提供する。所定のサービスは、限定でなく例として、決済サービス、電子商取引サービス、インスタントメッセンジャーを代表とするＳＮＳ（Social Networking Service）、楽曲・動画・書籍などのコンテンツ提供サービス、金融サービスなどを含む。ユーザが端末１２０を介して所定のサービスを利用することで、サーバ１１０は１以上の端末１２０に所定のサービスを提供することができる。
【００２０】
必要に応じて、ユーザＸが利用する端末を端末１２０Ｘと表現し、ユーザＸまたは端末１２０Ｘに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Ｘと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよい。
【００２１】
ネットワーク１３０は、２以上の情報処理装置２００を接続する役割を担う。ネットワーク１３０は、端末１２０がサーバ１１０に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
【００２２】
ネットワーク１３０のうちの１つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよい。ネットワーク１３０は、限定でなく例として、アドホック・ネットワーク（Ad Hoc Network）、イントラネット、エクストラネット、仮想プライベート・ネットワーク（Virtual Private Network：ＶＰＮ）、ローカル・エリア・ネットワーク（Local Area Network：ＬＡＮ）、ワイヤレスＬＡＮ（Wireless LAN：ＷＬＡＮ）、広域ネットワーク（Wide Area Network：ＷＡＮ）、ワイヤレスＷＡＮ（Wireless WAN：ＷＷＡＮ）、大都市圏ネットワーク（Metropolitan Area Network：ＭＡＮ）、インターネットの一部、公衆交換電話網（Public Switched Telephone Network：ＰＳＴＮ）の一部、携帯電話網、ＩＳＤＮｓ（Integrated Service Digital Networks）、無線ＬＡＮｓ、ＬＴＥ（Long Term Evolution）、ＣＤＭＡ（Code Division Multiple Access）、ブルートゥース（Bluetooth（登録商標））、衛星通信など、または、これらの２つ以上の組合せを含むことができる。ネットワーク１３０は、１つまたは複数のネットワーク１３０を含むことができる。
【００２３】
情報処理装置２００は、本開示に記載される機能、および／または、方法を実現できる情報処理装置であればどのような情報処理装置であってもよい。
【００２４】
情報処理装置２００は、限定ではなく例として、スマートフォン、携帯電話（フィーチャーフォン）、コンピュータ（限定でなく例として、デスクトップ、ラップトップ、タブレットなど）、サーバ装置、メディアコンピュータプラットホーム（限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダなど）、ハンドヘルドコンピュータデバイス（限定でなく例として、ＰＤＡ（Personal Digital Assistant）、電子メールクライアントなど）、ウェアラブル端末（限定でなく例として、メガネ型デバイス、時計型デバイスなど）、他種のコンピュータ、またはコミュニケーションプラットホームを含む。
【００２５】
＜ハードウェア（ＨＷ）構成＞
図２を用いて、通信システム１に含まれる情報処理装置２００のＨＷ構成について説明する。
【００２６】
情報処理装置２００は、プロセッサ２０１と、メモリ２０２と、ストレージ２０３と、入出力インタフェース（入出力Ｉ／Ｆ）２０４と、通信インタフェース（通信Ｉ／Ｆ）２０５とを含む。情報処理装置２００のＨＷの各構成要素は、限定でなく例として、バスＢを介して相互に接続される。
【００２７】
情報処理装置２００は、プロセッサ２０１と、メモリ２０２と、ストレージ２０３と、入出力Ｉ／Ｆ２０４と、通信Ｉ／Ｆ２０５との協働により、本開示に記載される機能、および／または、方法を実現する。
【００２８】
プロセッサ２０１は、ストレージ２０３に記憶されるプログラムに含まれるコードまたは命令によって実現する機能、および／または、方法を実行する。プロセッサ２０１は、限定でなく例として、中央処理装置（ＣＰＵ）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphic s Processing Unit）、マイクロプロセッサ（microprocessor）、プロセッサコア（processor core）、マルチプロセッサ（multiprocessor）、ＡＳＩＣ（Application-Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等を含み、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を１つの集積回路により実現されることとしてもよい。また、ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。
【００２９】
メモリ２０２は、ストレージ２０３からロードしたプログラムを一時的に記憶し、プロセッサ２０１に対して作業領域を提供する。メモリ２０２には、プロセッサ２０１がプログラムを実行している間に生成される各種データも一時的に格納される。メモリ２０２は、限定でなく例として、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）などを含む。
【００３０】
ストレージ２０３は、プログラムを記憶する。ストレージ２０３は、限定でなく例として、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどを含む。
【００３１】
通信Ｉ／Ｆ２０５は、ネットワーク１３０を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信Ｉ／Ｆ２０５は、ネットワーク１３０を介して、他の情報処理装置との通信を実行する機能を有する。通信Ｉ／Ｆ２０５は、各種データをプロセッサ２０１からの指示に従って、他の情報処理装置に送信する。また、通信Ｉ／Ｆ２０５は、他の情報処理装置から送信された各種データを受信し、プロセッサ２０１に伝達する。
【００３２】
入出力Ｉ／Ｆ２０４は、情報処理装置２００に対する各種操作を入力する入力装置、および、情報処理装置２００で処理された処理結果を出力する出力装置を含む。入出力Ｉ／Ｆ２０４は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。
【００３３】
入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ２０１に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。入力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ（画像を介した操作入力）、マイク（音声による操作入力）を含む。
【００３４】
出力装置は、プロセッサ２０１で処理された処理結果を出力することができる全ての種類の装置のいずれか、または、その組み合わせにより実現される。当該処理結果を映像、および／または、動画像として出力する場合、出力装置は、フレームバッファに書き込まれた表示データに従って、当該表示データを表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、モニタ（限定でなく例として、液晶ディスプレイ、ＯＥＬＤ（Organic Electroluminescence Display）など）、ヘッドマウントディスプレイ（ＨＤＭ：Head Mounted Display）、プロジェクションマッピング、ホログラム、空気中など（真空であってもよい）に画像やテキスト情報等を表示可能な装置、スピーカ（音声出力）、プリンタなどを含む。なお、これらの出力装置は、３Ｄで表示データを表示可能であってもよい。
【００３５】
本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。
【００３６】
記憶媒体は適切な場合、１つまたは複数の半導体ベースの、または他の集積回路（ＩＣ）（限定でなく例として、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ（ＦＤＤ）、磁気テープ、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、またはこれらの２つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
【００３７】
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して、情報処理装置２００に提供されてもよい。
【００３８】
また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００３９】
なお、本開示のプログラムは、限定でなく例として、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｐｙｔｈｏｎなどのスクリプト言語、Ｃ言語、Ｇｏ言語、Ｓｗｉｆｔ、Ｋｏｔｌｉｎ，、Ｊａｖａ（登録商標）などのプログラミング言語などを用いて実装される。
【００４０】
情報処理装置２００おける処理の少なくとも一部は、１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【００４１】
情報処理装置２００における処理の少なくとも一部を、他の情報処理装置により行う構成としてもよい。この場合、プロセッサ２０１により実現される各機能部の処理のうち少なくとも一部の処理を、他の情報処理装置で行う構成としてもよい。
【００４２】
＜その他＞
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよい。
【００４３】
本開示では、明記されない限り、または文脈によって示されない限り、「または」は排他的ではなく包含的な意味である。したがって、本開示では、明記されていない限り、または文脈によって示されない限り、「ＡまたはＢ」は「Ａ、Ｂ、またはその両方」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「および」は協同（joint）および個々（several）の両方の意味である。したがって、本明細書では、明記されない限り、または文脈によって 示されない限り、「ＡおよびＢ」は、「ＡおよびＢが一緒に、または個別に（A and B, jointly or severally）」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「a」、「an」、または「the」は「１つまたは複数」を意味するものとする。したがって、本明細書では、別段に明記されない限り、または文脈によって示されない限り、「an A」または「the A」は「１つまたは複数のＡ」を意味する。
【００４４】
本開示は、本開示の実施形態、および／または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。同様に、適切な場合、添付の特許請求の範囲は、本開示の実施形態、および／または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。さらに、本開示は、当業者が成し得る、本開示における実施形態、および／または、実施例の１つまたは複数の特徴と、本開示における他の実施形態、および／または、実施例の１つまたは複数の特徴との任意の組合せを包含する。
【００４５】
加えて、特定の機能を実施するように適合される、配置される、能力を有する、構成される、使用可能である、動作可能である、または動作できる装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合される、配置される、能力を有する、構成される、使用可能にされる、動作可能にされる、または動作できる限り、その装置、システム、構成要素またはその特定の機能がアクティベートされ、オンにされ、またはロック解除されているか否かに関わらず、その装置、システム、構成要素を包含する。
【００４６】
以下、本開示の一例に係る実施形態について、図面を参照して説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００４７】
＜用語＞
実施形態について具体的に説明する前に、まず本開示で使用される用語について説明する。本開示における「仮想資産」とは、仮想通貨や、それに準ずる取引可能な資産を示す。「仮想通貨」とは、原則として、資金決済に関する法律（平成２１年法律第５９号）の第２条第５項第１号および第２号に規定されるもの、または、それに準ずるものであって、紙幣や硬貨のような現物をもたずに電子データとして流通し、ネットワークを通じて不特定多数の間で物品やサービスの対価として使用することができ、中央銀行などの公的な発行主体や管理者が必ずしも存在せずに専門の取引所や販売所で売買され、また、円やドルやユーロなどの実体的な通貨と交換できるものを意味するが、これに限られない。
【００４８】
上記仮想資産は、当該仮想資産を所有するユーザから他のユーザに送金することができる。このような仮想資産の取引は、特定の機関による管理の代わりに、ブロックチェーンとよばれる仮想資産の取引情報を記した分散型台帳により管理される。この取引情報は移動元から移動先への仮想資産の転移に関する情報を含むものであり、移動元となる仮想資産を所有するユーザが所有する暗号鍵（仮想資産の所有権を証明する鍵）により電子署名され、かつ、ブロックチェーンネットワーク上に送信されて初めて、取引情報が分散型台帳に記録され、有効なものとして扱われる。一例として、暗号鍵により電子署名された取引情報がネットワーク上に送信されると、ブロックチェーンノードがその取引情報の正当性を検証し、検証した複数の取引情報を所定の時間周期毎にブロックというグループにまとめ、まとめられた新たなブロックがブロックチェーンの末尾に追加されることで、取引情報が分散型台帳に記録される。すなわち、ブロックチェーンにおいては、取引情報を含んだブロックと呼ばれるデータが、時系列に並べられて管理され、仮想資産の移動を記した台帳としての役割を有している。
【００４９】
ユーザが所有する仮想資産を他のユーザに送金する際には、取引情報がブロックチェーンネットワークに送信される。「ブロックチェーンネットワーク」とは、所定の通信プロトコルに従って通信する２以上の情報処理装置２００によって構成されたブロックチェーンに関する情報を共有するネットワークをいう。ブロックチェーンネットワークは一例として、Ｐ２Ｐネットワークである。このブロックチェーンネットワークに参加するノードは、ネットワーク１３０を介して互いにブロックチェーンに関する情報を直接共有することができる。ここでは、一例として、取引情報はブロードキャスト通信でネットワーク１３０に送信されるとして説明するが、これに限定されず、ユニキャスト通信やマルチキャスト通信によって送信されてもよい。ブロックチェーンネットワークにブロードキャストされた取引情報は、ブロックチェーンネットワークに接続される各情報処理装置２００で受信される。一例として、ブロードキャストされた取引情報は、当該取引情報を受信した情報処理装置２００のうち任意の情報処理装置２００によってブロックに格納される。取引情報が格納されたブロックがネットワーク１３０に送信（例えばブロードキャスト）されると、ブロックチェーンネットワークに接続される各情報処理装置２００が当該ブロックを受信して、ＰｏＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ）、ＰｏＳ（Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ）などのアルゴリズムで合意形成を行い、最後に確定したブロックの次につないで記録する。
【００５０】
本開示における「アドレス」とは、ブロックチェーンにおいて仮想資産を送受信する際に使用される英数字からなる識別子であり、仮想資産の移動元あるいは移動先を指定する際に使用される。仮想資産の移動元あるいは移動先を指定する識別子であるアドレスはネットワーク１３０において一意であり、一例として、後述する暗号鍵と一対一に対応付けられる関係にある。なお、アドレスは、秘密鍵と対応付けられていればよく、必ずしも秘密鍵とペアになる公開鍵から生成されるものに限定されない。
【００５１】
本開示における「ウォレット」とは、署名用の鍵（例えば秘密鍵）が記録された物であれば、必ずしも仮想資産の取引情報作成部などを有する情報処理装置である必要はなく、例えば記録媒体あるいは紙媒体であっても暗号鍵が記録されればウォレットになりうる。ウォレットは記録される媒体によって分類分けをすることができ、例えば、サーバが暗号鍵を記録する場合をウェブ（オンライン）ウォレット、端末が暗号鍵を記録する場合をソフトウェア（デスクトップ）ウォレット、ＵＳＢ等の記録媒体が暗号鍵を記録する場合をハードウェアウォレット、紙媒体が暗号鍵を記録する場合をコールド（ペーパー）ウォレットという。なお、以降では暗号鍵は、公開鍵暗号方式で用いられる秘密鍵として説明するが、これに限定されず、共通鍵暗号方式の共通鍵等、任意の暗号鍵でもよい。
【００５２】
もっとも、仮想資産の取引をするために必要な処理、例えば、取引情報の作成、電子署名の付与、および電子署名された取引情報のブロックチェーンネットワークへの送信、あるいは、受信した仮想資産の確認を実現するには、ウォレットプログラムがインストールされることにより、後述する取引情報作成部などこれら処理を行う機能部が実装された情報処理装置が必要である。以下、ウォレットプログラムがインストールされることにより、取引情報作成部、電子署名部、および送信部が実現されることにより仮想資産の取引を可能とした端末を、「ウォレット端末」ともいう。
【００５３】
なお、ウォレットには、秘密鍵のほかに、秘密鍵から作成される公開鍵および公開鍵から作成される識別子（アドレス）がさらに記録されていてもよい。また、１つのウォレットには、複数の秘密鍵や複数のアドレスが記録されていてもよい。
【００５４】
また、本開示における「第１アドレス」は第１ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第１ウォレット」は、例えば、ユーザがブロックチェーンネットワークを介した仮想資産取引に主に使用するウォレットである。仮想資産取引に使用する観点から、第１ウォレットとしては、ネットワーク１３０に接続されたウォレット、例えば、ウェブ（オンライン）ウォレットおよびソフトウェア（デスクトップ）ウォレットに分類されるものが挙げられる。このなかでも安全性の観点から、ソフトウェア（デスクトップ）ウォレットが挙げられる。ここで、第１ウォレットの機能がサーバ１１０に存在する場合は、第１ウォレットはウェブ（オンライン）ウォレットに該当し、第１ウォレットの機能が端末１２０に存在する場合は、第１ウォレットはソフトウェア（デスクトップ）ウォレットに該当する。
【００５５】
さらに、本開示における「第２アドレス」は第２ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第２ウォレット」は、例えば、ユーザの仮想資産の保全に使用されるウォレットである。第２ウォレットは、ウェブ（オンライン）ウォレット、ソフトウェア（デスクトップ）ウォレット、ハードウェアウォレット、およびコールド（ペーパー）ウォレットのいずれに分類されるウォレットのいずれであってもよいが、仮想資産の保全に使用する観点から、ハードウェアウォレットおよびコールド（ペーパー）ウォレットのいずれかに分類されるウォレットが挙げられる。ハードウェアウォレットは例えばＵＳＢに記憶されるタイプのウォレットであり、容易にオフラインとすることが可能であるため、第三者がハッキングなどにより秘密鍵を知得しにくいものである。また、コールド（ペーパー）ウォレットは例えばウォレット情報を紙に記載するタイプのウォレットであり、通常は紙の状態で管理をし、このコールドウォレットから他のウォレットへ仮想資産を移動させるときにのみ記載されたウォレット情報をブロックチェーンネットワークに接続された端末に読み込ませて使用するものであるため、第三者がハッキングなどにより秘密鍵を知得しにくいものである。
【００５６】
ここで、仮想資産を退避させる移動先である第２ウォレットは、第１ウォレットを所有するユーザと同一の者が所有するウォレットであってもよいし、第１ウォレットを所有するユーザが信頼する他の者が所有するウォレットであってもよい。
【００５７】
また、本開示における「第３アドレス」は第３ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第３ウォレット」は、第１ウォレットおよび第２ウォレット以外の他のウォレットであり、主にユーザの仮想資産の取引相手が所有するウォレットあるいは秘密鍵を知得した第三者が所有するウォレットである。第３ウォレットは、ウェブ（オンライン）ウォレット、ソフトウェア（デスクトップ）ウォレット、ハードウェアウォレット、およびコールド（ペーパー）ウォレットのいずれに分類されるウォレットのいずれであってもよい。
【００５８】
＜第１実施形態＞
第１実施形態は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、第１ウォレットが管理する仮想資産を第２ウォレットへ移動させる第２アドレス宛取引情報を予め記憶しておき、所定の条件を満たす場合に、その第２アドレス宛取引情報をブロックチェーンネットワークに送信することにより、第１ウォレットが管理する仮想資産を保全する実施形態である。なお、上記取引システムにおいては公開鍵暗号技術により生成された秘密鍵と公開鍵のキーペアが利用される。秘密鍵は取引情報の電子署名に使用され、公開鍵は仮想資産を受け取るために使用される。
【００５９】
この第１実施形態では、サーバ１１０によって第１ウォレット（第１アドレス）から第２ウォレット（第２アドレス）へ仮想資産を移動させるための通信システムが構築される。サーバ１１０は、第１ウォレットのユーザが自ら秘密鍵により電子署名したブロックチェーンネットワークに送信する前の取引情報であって、第１アドレスを移動元とし第２アドレスを移動先とする１又は複数の取引情報（以下、「未送信取引情報」ともいう。第２アドレス宛取引情報の一例である。）を端末１２０から予め受信し、受信した未送信取引情報をブロックチェーンネットワークに送信しない状態で記憶する。これと並行して、サーバ１１０は、例えば、不正な取引情報による仮想資産の流出や秘密鍵の忘失による仮想資産の消失など、仮想資産を脅かす事態が生じていないか否かを検知する。そして、所定の条件のもと第１ウォレットから仮想資産を移動させて保全することが求められる場合には、未送信取引情報を選択し、これをブロックチェーンネットワークに送信する。これにより、ユーザの所有する仮想資産の保全を図ることができる。このような通信システムは、仮想資産の売買取引を行うための取引システムの一部として構成されていてもよい。
【００６０】
端末１２０は、記憶部４３０に取引システム用アプリケーション（以下、「ウォレットプログラム」ともいう。）がインストールされることで、仮想資産の取引や残高の管理をする機能が実装される。この取引システム用アプリケーションがプロセッサ２０１で実行されることにより、ユーザは、仮想資産の取引システムへアクセスして仮想資産の取引を行うことができる。例えば、第１ウォレットの機能が実装された端末１２０は、ユーザが指定したタイミングで、第１ウォレットが保管する仮想資産の全部または一部を第３ウォレットへ移動させる取引情報を作成し、第１ウォレットの秘密鍵により電子署名をして、ブロックチェーンネットワークへ送信する。これにより、ユーザは自己の所有する仮想資産に基づく取引を任意に行うことができる。また、これとは別に、第１実施形態においては、第１ウォレットの機能が実装された端末１２０は、所定のタイミングで、その時点の第１ウォレットの残高に応じた仮想資産の値を第２ウォレットへ移動させる取引情報を作成し第１ウォレットの秘密鍵により電子署名をして、未送信取引情報としてサーバ１１０に送信する。
【００６１】
＜第１実施形態の効果＞
かかる第１実施形態によれば、第１ウォレットの秘密鍵を知り得た第三者が第１ウォレットから仮想資産の一部を流出させた場合やユーザが第１ウォレットの秘密鍵を忘失した場合であっても、第１ウォレットに残った仮想資産を第２ウォレットになめらかに退避させることができる。これにより、仮想資産の継続的な流出による損害の拡大を抑えることや仮想資産の消失を回避することができ、仮想資産の保全を実現することができる。また、サーバ１１０自体がユーザの秘密鍵を管理し、該秘密鍵を用いて未送信登録情報を作成し記憶するのではなく、ユーザが自ら管理する秘密鍵により電子署名した未送信登録情報をサーバ１１０が受信して記憶する構成とすることにより、サーバ１１０が攻撃されることによりユーザの秘密鍵が流出するリスクを回避することも可能となる。
【００６２】
＜第１実施形態の機能構成＞
図３を用いてサーバ１１０および端末１２０の機能構成を説明する。図３は、第１実施形態に係る情報処理装置の機能的な構成を示すブロック図の一例を示し、情報処理装置２００（サーバ１１０および端末１２０）によって構築される通信システム１の全体的な概略構成を示す図でもある。図３に開示の機能部は、情報処理装置２００が備えるプロセッサ２０１と、メモリ２０２と、ストレージ２０３と、入出力Ｉ／Ｆ２０４と、通信Ｉ／Ｆ２０５との協働により実現される。すなわち、図２に示す情報処理装置２００のプロセッサ２０１は、ストレージ２０３に記憶された各種プログラム（制御プログラム、演算プログラムなど）をメモリ２０２（例えばＲＡＭ）に展開する。そして、プロセッサ２０１は、メモリ２０２に展開された各種プログラムを解釈および実行して、各ハードウェア構成要素を制御することにより、以下に説明する機能構成が実現される。
【００６３】
なお、情報処理装置２００で実現される各機能は、汎用のＣＰＵなどのプロセッサ２０１で実現されてもよく、あるいは、機能の一部又は全部が、一又は複数の専用のプロセッサ２０１によって実現されてもよい。さらに、情報処理装置２００によって実現される機能構成は、実施形態や実施例に応じて、適宜、機能の省略、置換、および追加が行われてももちろんよい。
【００６４】
（１）サーバの機能構成
サーバ１１０は、入出力Ｉ／Ｆ３１１と、通信Ｉ／Ｆ３１２と、制御部３２０と、記憶部３３０とを有する。入出力Ｉ／Ｆ３１１は、図２の入出力Ｉ／Ｆ２０４に相当し、通信Ｉ／Ｆ３１２は、図２の通信Ｉ／Ｆ２０５に相当する。記憶部３３０は、メモリ２０２および／またはストレージ２０３を用いて実現される。また、制御部３２０は、受信部３２１と、取引管理部３２２と、検知部３２３と、選択部３２４と、送信部３２５とを有する。
【００６５】
記憶部３３０には、未送信取引情報ＤＢ３３１と、送信済取引情報ＤＢ３３２と、ルールＤＢ３３３と、プログラム３３４とが記憶されている。受信部３２１と、取引管理部３２２と、検知部３２３、選択部３２４と、送信部３２５とは、プロセッサ２０１が、記憶部３３０に格納されているプログラム３３４を読み出して実行することで実現される。サーバ１１０では、記憶部３３０に記憶された通信システム用プログラムがプロセッサ２０１で実行されることにより、第１ウォレットの仮想資産の保全を行うための通信システムが構築される。
【００６６】
未送信取引情報ＤＢ３３１は、１または複数の第２アドレス宛取引情報を記憶する第２アドレス宛取引情報記憶部の一例である。未送信取引情報ＤＢ３３１には、未送信取引情報と管理テーブルとが記憶されている。図４は、管理テーブルの一例を示す図である。管理テーブルには、一例として、移動元アドレスと、未送信取引情報の識別子とが対応付けられて記憶されている。なお、管理テーブルには、さらに未送信取引情報の作成日時や移動させる仮想資産に関するデータ、有効期限が記録されていてもよい。また、未送信取引情報ＤＢ３３１には、未送信取引情報が記録されていればよく、必ずしも管理テーブルを備える必要はない。
【００６７】
送信済取引情報ＤＢ３３２は、第１アドレスに対応する暗号鍵により電子署名され、ブロックチェーンネットワークに送信された仮想資産の取引情報であって、前記第１アドレスを移動元とし第３アドレスを移動先とする１又は複数の取引情報（以下、「送信済取引情報」ともいう。第３アドレス宛取引情報の一例である。）を記憶する第３アドレス宛取引情報記憶部の一例である。
【００６８】
送信済取引情報ＤＢ３３２には、送信済取引情報が記憶されている。図５は、送信済取引情報ＤＢ３３２が記憶するデータ構造の一部を模式的に示す図であって、時系列順に並んだブロックのうち、Ｎ＋１番目のブロックの構造を示す図である。Ｎ＋１番目のブロックのヘッダーには、例えば、Ｎ番目のブロックのダイジェスト、タイムスタンプ、ターゲット、ナンスが格納されている。ここで、ターゲットは、既存のＰｏＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ）の技術を用いてマイニングを行う場合に、用いられる値である。ナンスは、任意の値をいう。マイニングについて具体的に説明すると、マイニングを行う情報処理装置２００（ブロックチェーンノード）は、ブロックヘッダーのダイジェストがターゲット以下となるナンスを発見することを目的に、ナンスの値を変更しながら、繰り返しブロックヘッダーのダイジェストの計算（マイニング）を行う。適切なナンスが発見されると、マイニングを行う情報処理装置２００は、発見したナンスを格納してブロックを作成する。任意のナンスを含んだブロックヘッダーのダイジェストが、ターゲット以下となる確率は極めて小さいため、マイニングは過大なコストがかかる作業である。なお、マイニングはＰｏＷの技術を用いる構成に限定されない。例えば各情報処理装置２００は、作成されたブロックのヘッダーがターゲットの値以下になるか否かにかかわらず、ブロックをブロックチェーンの末尾に追加する構成でもよい。この場合、送信済取引情報Ｄ３３２に記憶されるブロックは、ターゲット及びナンスを含まない構成でもよい。さらに、ブロックチェーンがプライベート型やコンソーシアム型である場合には、マイニングが行われない構成でもよい。
【００６９】
次に、ブロックのボディ部分の構成について説明する。図５の例では、ブロックのボディには複数の送信済取引情報が格納されている。
【００７０】
図６は、送信済取引情報のデータ構造の一例を示す図である。送信済取引情報には、例えば、送信日時、移動元アドレス、移動先アドレス、移動させる仮想資産に関するデータ、電子署名が格納されている。
【００７１】
ルールＤＢ３３３には、未送信取引情報をブロックチェーンネットワークに送信するための条件などが、記憶されている。図７は、ルールＤＢ３３３のデータ構造の一例を示す図である。図７の例では、移動元アドレスと、未送信取引情報をブロックチェーンネットワークに送信するためのルールとが対応付けられて記憶されている。一例として、ルールＤＢ３３３に記憶されるルールとしては、以下のものが挙げられる。
【００７２】
・移動先アドレス
「移動先アドレス」に特定のアドレスが指定されている場合、移動元アドレスからの送金は当該指定された移動先アドレスに限定される。そのため、指定された移送先アドレス以外のアドレスを移動先として指定した送信済取引情報を不正と判断する。
【００７３】
・取引可能時間
「取引可能時間」は、対応するアドレスが移動元アドレスに指定されている取引情報がブロックチェーンネットワークに送信される時間を限定するための条件である。取引可能時間に特定の時間帯が指定されている場合、指定された時間帯以外において取引情報が送信されると、サーバ１１０は、未送信取引情報をブロックチェーンネットワークに送信する。
【００７４】
・移動させる仮想資産の上限
「移動させる仮想資産の上限」は、対応するアドレスから移動可能な仮想資産の量を制限するための条件である。移動させる仮想資産の上限に特定の値が指定されている場合、当該指定された上限を超える量の仮想資産を移動させる取引情報が送信されると、サーバ１１０は、未送信取引情報をブロックチェーンネットワークに送信する。なお、上限は１つの取引情報において移動可能な仮想資産の量として指定してもよいし、所定の期間において移動可能な仮想資産の量として指定してもよい。
【００７５】
・移動前通知
「移動前通知」は、対応するアドレスから仮想資産を移動させる際に、サーバ１１０に対して通知を要するか否かを示す条件である。サーバ１１０は、移動前通知が要になっているアドレスを送信元とする取引情報を受信した場合において、当該アドレスのユーザから移動前通知を受信していない場合には、サーバ１１０は、未送信取引情報をブロックチェーンネットワークに送信する。
【００７６】
・定期連絡
「定期連絡」は、ユーザがサーバ１１０に所定の間隔で通知を行うことを要するか否かを示す条件である。図７の例では定期連絡には定期連絡を要する期間が登録されている。定期連絡に期間が登録されているアドレスを有するユーザから、当該期間を超過しても定期連絡がない場合は、サーバ１１０は、未送信取引情報をブロックチェーンネットワークに送信する。なお、定期連絡には、要否のみが登録される構成でもよい。この場合、要が登録されているアドレスを有するユーザからあらかじめ定められた任意の間隔で連絡がなかった場合に、サーバ１１０は、未送信取引情報をブロックチェーンネットワークに送信する。
【００７７】
・有効期間
「有効期間」は、対応するアドレスの利用可能な期間を示す条件である。ルールＤＢ３３３に有効期間を超過しているアドレスが存在する場合には、サーバ１１０は、管理テーブルを参照し、当該アドレスに対応する未送信取引情報をブロックチェーンネットワークに送信する。
【００７８】
なお、ルールＤＢ３３３は、上述したすべての条件を含む必要はなく、任意の条件から構成されてよい。また、ルールＤＢ３３３は、上述した条件以外の条件を含んでもよい。
【００７９】
未送信取引情報ＤＢ３３１は、入出力Ｉ／Ｆ２０４を介して受信した未送信取引情報をブロックチェーンネットワークに送信しない状態で記憶する処理を行う機能を有する。
【００８０】
受信部３２１は、入出力Ｉ／Ｆ２０４を介して、第１ウォレットとして機能するウォレット端末１２０から未送信取引情報を受信する処理を行う機能と、ブロックチェーンネットワークから送信済取引情報を受信する処理を行う機能と、受信した未送信取引情報及び送信済取引情報を未送信取引情報ＤＢ３３１および送信済取引情報ＤＢ３３２に渡す処理を行う機能を有する。
【００８１】
取引管理部３２２は、第１アドレスに対応するユーザが秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、入出力Ｉ／Ｆ２０４を介して、ユーザからその取引情報に関する通知を受け付ける処理を行う機能を有する。
【００８２】
検知部３２３は、ルールＤＢ３３３に記憶された条件に基づいて、未送信取引情報の送信の要否を判断し、その情報を選択部３２４に渡す処理を行う機能を有する。
【００８３】
選択部３２４は、検知部３２３が未送信取引情報の送信が必要であると判断した場合に、未送信取引情報ＤＢ３３１に記憶した未送信取引情報のなかからブロックチェーンネットワークに送信する未送信取引情報を選択する。例えば、選択部３２４は、第１ウォレットの仮想資産の残高以下の未送信取引情報を選択することができる。この場合、選択部３２４は、まず、送信済取引情報ＤＢ３３２を参照して、記憶された送信済取引情報のなかから、第１アドレスを移動先とする取引情報を抽出する、そして、抽出した取引情報に基づいて第１ウォレットの仮想資産の残高を計算する。選択部３２４は、未送信取引情報ＤＢ３３１を参照して、計算した第１ウォレットの仮想資産の残高以下の仮想資産を移動させる未送信取引情報を選択することができる。
【００８４】
送信部３２５は、選択部３２４により選択された未送信取引情報を、入出力Ｉ／Ｆ２０４を介してブロックチェーンネットワークに送信する処理を行う機能を有する。
【００８５】
記憶部３３０は、送信済取引情報ＤＢ３３２と、未送信取引情報ＤＢ３３１と、ルールＤＢ３３３と、第１実施形態に係るサーバ１１０が実行するプログラム３３４を格納する。また、ウォレット端末１２０やブロックチェーンネットワークから受信したあらゆる情報を一時的に格納することができる。
【００８６】
（２）端末の機能構成
ウォレット端末１２０は、入出力Ｉ／Ｆ４１１と、通信Ｉ／Ｆ４１２と、制御部４２０と、記憶部４３０とを有する。入出力Ｉ／Ｆ４１１は、図２の入出力Ｉ／Ｆ２０４に相当し、通信Ｉ／Ｆ１２は、図２の通信Ｉ／Ｆ２０５に相当する。また、制御部４２０は、取引情報作成部４２１と、電子署名部４２２と、送信部４２３とを有する。取引情報作成部４２１と、電子署名部４２２と、送信部４２３とは、プロセッサ２０１が、記憶部４３０に格納されているプログラムを読み出して実行することで実現される。記憶部４３０は、メモリ２０２および／またはストレージ２０３を用いて実現される。
【００８７】
ウォレット端末１２０では、記憶部４３０に記憶された第１ウォレットアプリケーション（プログラム）がプロセッサ２０１で実行されることにより、ユーザは、ブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへアクセスして、仮想資産の取引を行うことができる。
【００８８】
取引情報作成部４２１は、第１ウォレットから仮想資産を移動させる取引情報を作成する処理を行う機能を有する。取引情報作成部４２１は、移動元アドレスに第１アドレスを指定し、移動先アドレスに仮想資産を移動させる任意のアドレスを指定し、さらに移動させる仮想資産の量を指定して、取引情報を作成する。
【００８９】
取引情報の作成処理をより具体的に説明する前に、ブロックチェーンネットワーク上における仮想資産のデータの持ち方と取引処理の一例について説明する。仮想資産は、ユーザのみが利用できるように設定されたトランザクションアウトプット（ＵＴＸＯ）として、ブロックチェーン上に記録されるものであり、ウォレット端末１２０（あるいはサーバ１１０）は、ブロックチェーンからそのユーザに属するトランザクションアウトプットを集計することで、ユーザの所有する仮想資産を算出する。このようにして集計された仮想資産の総量を「残高」と呼称する。例えば、ユーザが仮想資産により支払いをしようとするときは、ウォレット端末１２０はブロックチェーンに存在するユーザに属するトランザクションアウトプットのなかから、所望の支払額となるようなトランザクションアウトプットを選択し、その情報とともに仮想資産の移動先（支払先）の識別子を含む取引情報を作成する。そして、ウォレット端末１２０は、秘密鍵を用いて作成した取引情報に電子署名をしてブロックチェーンネットワークに送信する。電子署名された取引情報がブロックチェーンネットワークに送信されることで、ユーザから支払先へ仮想資産が移動する。より厳密には、ブロックチェーンネットワークに送信された取引情報が新たなブロックに格納され、そのブロックがブロックチェーンに格納されることで、ユーザから支払先へ仮想資産が移動したことがブロックチェーン上に記録され、支払先の者のみが利用できるように設定されたトランザクションアウトプットが新たに生成する。なお、残高は、ユーザ毎にかつ仮想資産の種類ごとに管理されてもよい。
【００９０】
したがって、取引情報作成部４２１の取引情報を作成する処理を行う機能は、ブロックチェーンからユーザの利用可能なトランザクションアウトプットを抽出する処理を行う機能と、抽出したトランザクションアウトプットから仮想資産の移動量が所望の量となるように取引情報に記述するトランザクションアウトプットを選択する処理を行う機能と、選択したトランザクションアウトプットと移動先の識別子を一つの取引情報にまとめる処理を行う機能とを含む。なお、ブロックチェーンからユーザの利用可能なトランザクションアウトプットを抽出する処理に加えて、トランザクションアウトプットを集計して得られる仮想資産の残高の算出を行ってもよい。
【００９１】
さらに、取引情報作成部４２１は、サーバ１１０において未送信取引情報として記憶される取引情報を作成することができる。なお、取引情報作成部４２１が未送信取引情報を生成する処理の詳細については、図８、及び図９を用いて後述する。
【００９２】
電子署名部４２２は、取引情報作成部４２１が作成した取引情報に秘密鍵を用いて電子署名をする処理を行う機能を有する。電子署名をされた取引情報は、秘密鍵を有するユーザがその仮想資産の移動を承認した取引情報として、ブロックチェーンに格納される。
【００９３】
送信部４２３は、上記のように作成される取引情報のうち、第２アドレス（第２ウォレット）を仮想資産の移動先とする取引情報（すなわち未送信取引情報）をサーバ１１０へ送信する処理を行う機能と、第３アドレス（第３ウォレット）を仮想資産の移動先とする取引情報をブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへ送信する処理を行う機能とを有する。これにより、第２アドレス（第２ウォレット）を仮想資産の移動先とする取引情報は未送信取引情報としてサーバ１１０の未送信取引情報ＤＢ３３１に記憶され、第３アドレス（第３ウォレット）を仮想資産の移動先とする取引情報はブロックチェーンネットワークに送信される。
【００９４】
記憶部４３０は、第１実施形態に係るウォレット端末１２０が実行するプログラムを格納する。また、記憶部４３０は、未送信取引情報ＤＢ４３１と、送信済取引情報ＤＢ４３２と、ルールＤＢ４３３とを記憶してもよい。さらに記憶部４３０は、サーバ１１０やブロックチェーンネットワークから受信したあらゆる情報を一時的に格納することもできる。なお、未送信取引情報ＤＢ４３１はサーバ１１０の未送信取引情報ＤＢ３３１に相当し、送信済取引情報ＤＢ４３２はサーバ１１０の送信済取引情報ＤＢ４３２に相当し、ルールＤＢ４３３はサーバ１１０のルールＤＢ３３３に相当する。
【００９５】
＜第１実施形態の動作処理＞
図８から図９を参照し、第１実施形態に係る情報処理装置の処理について説明する。図８は、第１実施形態における通信システム１が行う処理を示すシーケンス図の一例を示し、図９は、第１実施形態における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
【００９６】
（未送信取引情報を記憶する処理）
まず、未送信取引情報を記憶する処理の流れを、図８および９を参照しながら説明する。ステップＳ８０２，Ｓ９０２において、サーバ１１０の未送信取引情報ＤＢ３３１は、第１ウォレットを所有するユーザの秘密鍵により電子署名されたブロックチェーンネットワークに送信する前の取引情報であって、第１アドレスを移動元とし第２アドレスを移動先とする一又は複数の未送信取引情報を取得し、記憶する。この具体的方法としては、第１ウォレットとして機能するウォレット端末１２０の取引情報作成部４２１および電子署名部４２２が未送信取引情報を作成し、送信部４２３が作成した未送信取引情報をサーバ１１０へ送信し（ステップＳ８０１，Ｓ９０１）、サーバ１１０がこれを受け付けて未送信取引情報ＤＢ３３１に記憶することが考えられる。
【００９７】
ここで、未送信取引情報の「未送信」とは、ブロックチェーンネットワークに対して電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、当該ブロックチェーンネットワークに取引情報が送信されていないことを意味する。したがって、例えば、ステップＳ８０１のように、単にウォレット端末１２０からサーバ１１０へネットワーク１３０を介して取引情報を送信したとしても、その取引情報がブロックチェーンネットワークに対して送信されブロックチェーンに格納されない限り、当該取引情報は未送信取引情報である。
【００９８】
未送信取引情報が指定する移動させる仮想資産の量は、未送信取引情報を作成するときの第１ウォレットの仮想資産の残高に基づいて設定することができる。具体的には、未送信取引情報を作成するときの第１ウォレットの仮想資産の残高に対し、９０％、８０％、７０％・・・等の値を移動させる仮想資産の量として指定することができる。なお、不正な取引情報に基づく取引の実行により第１ウォレットから流出する仮想資産の量は予測できない。そのため、柔軟に仮想資産を保全できるよう、一度に作成する未送信取引情報は１つに限られず、例えば、残高の２０％、残高の３０％、残高の４０％の値を移動させる仮想資産の量として指定する複数の未送信取引情報を一度に作成してもよい。
【００９９】
また、第１ウォレットの残高は仮想資産の取引状況に応じて随時変化しうるため、サーバ１１０は定期的に未送信取引情報を取得し、未送信取引情報ＤＢ３３１には取得された複数の未送信取引情報を蓄積することができる。この具体的方法としては、例えば、ウォレット端末１２０が所定の時間周期毎、例えば、１日毎に未送信取引情報を作成してサーバ１１０に送ることや、ウォレット端末１２０にユーザがログインする度に未送信取引情報を作成してサーバ１１０に送ることが考えられる。また、サーバ１１０がウォレット端末１２０へ未送信取引情報の送信を要求する通知を発信し、当該発信を受領したタイミングでウォレット端末１２０が未送信取引情報を作成し、サーバ１１０へ送信してもよい。サーバ１１０がウォレット端末１２０へ未送信取引情報の送信を要求する通知を発信するタイミングとしては、所定の時間周期毎またはユーザからの指示を一定期間以上受信しない場合が挙げられる。
【０１００】
上記のような処理を行うことにより、未送信取引情報ＤＢ３３１は一又は複数の未送信取引情報を記憶し、以下の処理において選択されるまでブロックチェーンネットワークに対して送信されない状態で保持する。
【０１０１】
（送信済取引情報を受信する処理）
次に、送信済取引情報を受信する処理の流れを、図８および９を参照しながら説明する。ステップＳ８０３，Ｓ９０３において、サーバ１１０の受信部３２１は、秘密鍵により電子署名されてブロックチェーンネットワークに送信された仮想資産の取引情報であって、第１アドレスを移動元とし第３アドレスを移動先とする送信済取引情報を受信し、送信済取引情報ＤＢ３３２に渡す。これにより、送信済取引情報ＤＢ３３２は、ブロックチェーン（分散型台帳）のブロックに格納された取引情報を有する。
【０１０２】
（未送信取引情報を送信する処理）
最後に、所定の要件を満たす場合に、未送信取引情報をブロックチェーンネットワークに送信する処理の流れを、図８および９を参照しながら説明する。Ｓ８０６，Ｓ９０６において、送信部３２５は、未送信取引情報をブロックチェーンネットワークに送信する。これにより、選択された未送信取引情報は、送信済取引情報としてブロックチェーンに格納され、秘密鍵が第三者に知得された第１ウォレットから第２ウォレットへ仮想資産を退避させ、仮想資産の保全を図ることができる。
【０１０３】
送信部３２５が未送信取引情報を送信する処理を行うための条件は、ルールＤＢ３３３に記憶されている。具体的には、ルールＤＢ３３３に記憶された条件に基づいて、検知部３２３が、送信済取引情報が不正であることを検知した場合（後述する実施例１）や、ユーザが秘密鍵を忘失したことを推定できる場合（後述する実施例２）に（ステップＳ９０４）、未送信取引情報を送信する処理が行われる。
【０１０４】
この際、Ｓ８０６，Ｓ９０６に先立って、Ｓ８０５，Ｓ９０５において、サーバ１１０の選択部３２４は、未送信取引情報ＤＢ３３１に記憶した未送信取引情報のなかから、送信する未送信取引情報として、第１アドレスを移動先とする取引情報に指定される仮想資産の総額（すなわち、第１アドレスに紐づく仮想資産の残高）以下の仮想資産を移動させる未送信取引情報を選択することができる。
【０１０５】
このとき、未送信取引情報ＤＢ３３１から抽出される未送信取引情報が複数ある場合には、選択部３２４は、不正な取引情報による第１ウォレットからの仮想資産の流出被害を可能な限り抑える観点から未送信取引情報を選択することが望ましい。具体的には、第１ウォレットから第２ウォレットへ最も多くの仮想資産を移動させる一の未送信取引情報を選択することや、移動させる仮想資産の合計値が最も多くなる複数の未送信取引情報を組み合わせて選択することが考えられる。また、同様の観点から、受信した時系列順の最も新しい未送信取引情報を選択してもよい。第１アドレスを移動先とする取引情報に指定される仮想資産の総量（すなわち、第１アドレスに紐づく仮想資産の残高）以下の仮想資産を移動させる未送信取引情報を選択する。
【０１０６】
＜＜第１実施例＞＞
続いて、第１実施形態の第１実施例について説明する。第１実施形態の第１実施例は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、サーバ１１０が第１ウォレットを所有するユーザ自らが秘密鍵により電子署名していない取引情報がブロックチェーンネットワークに送信されたことを検知した場合に、第１ウォレットが管理する仮想資産をより安全な第２ウォレットへ移動させる取引情報をブロックチェーンネットワークに送信することにより、第１ウォレットが管理する仮想資産を保全する処理を行う実施例である。
【０１０７】
以下の説明において、第１実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第１実施形態と同様の作用および効果についても、説明を省略する。以下、第１実施形態との相違点を中心に説明する。
【０１０８】
この第１実施例では、サーバ１１０の検知部３２３が、送信済取引情報ＤＢ３３２に記憶された取引情報のなかに不正な取引情報を検知した場合に、選択部３２４が、第１ウォレットの管理する仮想資産の残高を確認するとともに、予め記憶した未送信取引情報のなかから当該残高以下の仮想資産を第２ウォレットへ移動させる取引情報を選択し、送信部３２５が選択した取引情報をブロックチェーンネットワークに送信する。
【０１０９】
＜＜第１実施例の効果＞＞
かかる第１実施例によれば、第１ウォレットの秘密鍵を第三者に知得された場合であっても、第１ウォレットに残った仮想資産を第２ウォレットになめらかに退避させることができる。これにより、仮想資産の流出を回避することができ、仮想資産の保全を実現することができる。
【０１１０】
＜第１実施例の機能構成＞
この第１実施例におけるサーバ１１０及び端末１２０の機能構成は、第１実施形態と同様とすることができる。
【０１１１】
＜第１実施例の動作処理＞
図１０から図１１を参照し、第１実施例に係る情報処理装置の処理について説明する。図１０は、第１実施例における通信システム１が行う処理を示すシーケンス図の一例を示し、図１１は、第１実施例における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
【０１１２】
この第１実施例における動作処理は、ステップＳ９０４において、検知部３２３がルールＤＢ３３３に記憶された条件に基づいて送信済取引情報が不正であることを検知する処理を必須とするという点以外は、第１実施形態と同様とすることができる。
【０１１３】
（送信済取引情報が不正であることを検知する処理）
送信済取引情報が不正であることを検知する処理の流れを、図１０および１１を参照しながら説明する。ステップＳ１００３，Ｓ１１０３において、サーバ１１０の受信部３２１は、秘密鍵により電子署名されてブロックチェーンネットワークに送信された仮想資産の取引情報であって、第１アドレスを移動元とし第３アドレスを移動先とする送信済取引情報を受信し、送信済取引情報ＤＢ３３２に渡す。
【０１１４】
次いで、検知部３２３は、送信済取引情報ＤＢ３３２に記憶された取引情報のなかから、第１アドレスを仮想資産の移動元としかつ第２アドレスを移動先としない取引情報を抽出し、第１アドレスを移動元とし第３アドレスを移動先とする送信済取引情報を特定する。
【０１１５】
ここで、第１アドレスを移動元とし第３アドレスを移動先とする送信済取引情報は、ユーザの秘密鍵が第三者に知られていない状態においては、ユーザの所有する第１ウォレットから取引相手の所有する第３ウォレットへ向けた真正な取引情報のみを含むものと考えられる。一方で、第三者がユーザの秘密鍵を何らかの方法で知り得た場合には、その第三者はユーザの許可を得ることなく秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信することができ、これにより、ユーザの所有する第１ウォレットからユーザが意図しない第三者が所有する第３ウォレットへ仮想資産を流出させることができる。したがって、ユーザの秘密鍵が第三者に知られた場合にあっては、第１アドレスを移動元とし第３アドレスを移動先とする送信済取引情報には、上記真正な取引情報に加えて、ユーザの所有する第１ウォレットからユーザが意図しない第三者が所有する第３ウォレットへ向けた不正な取引情報が含まれ得る。
【０１１６】
サーバ１１０の検知部３２３は、受信部３２１が受信した送信済取引情報が所定の要件に従っていない場合に、該送信済取引情報が不正であることを検知する（Ｓ１００４，Ｓ１１０４）。この具体的方法としては、第１ウォレットとして機能するウォレット端末１２０の取引情報作成部４２１が作成する取引情報の作成ルールを予め決めてサーバ１１０と共有しておき、送信済取引情報ＤＢ３３２が記憶した送信済取引情報の中で、この作成ルールに従わない送信済取引情報を不正なものとして検知することが考えられる。なお、この作成ルールは、端末１２０においては、ルールＤＢ４３３が記憶し、サーバ１１０においてはルールＤＢ３３３が記憶する。
【０１１７】
取引情報の作成ルールとしては、第１ウォレットからの仮想資産の移動量を予め決めておくことや、第１ウォレットからの仮想資産の移動先を予め決めておくことが考えられる。このような要件を用いた不正検知の具体的方法としては、一回当たりの送信済取引情報によって移動する仮想資産の量が所定の値を超える場合に、該送信済取引情報が不正であることを検知することや、所定の期間に受信した送信済取引情報によって移動する仮想資産の総量が所定の値を超える場合に、該送信済取引情報が不正であることを検知することが考えられる。あるいは、送信済取引情報に含まれる仮想資産の移動先（第３ウォレット）が予め決めた移動先とは異なる場合に、該送信済取引情報が不正であることを検知することが考えられる。
【０１１８】
また、送信済取引情報が不正であることを検知する他の方法としては、第１ウォレットとして機能するウォレット端末１２０の送信部４２３が秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、これと同時にまたは前後して、サーバ１１０の取引管理部３２２に対してもブロックチェーンネットワークに送信した取引情報に関する通知を送信する方法が考えられる。ユーザ自身により電子署名され送信された真正な取引情報の場合、サーバ１１０は、ウォレット端末１２０から取引管理部３２２が受信した通知と、ブロックチェーンネットワークから受信部３２１が受信した送信済取引情報の２つを受信する。一方、第三者が電子署名して送信した不正な取引情報の場合、サーバ１１０はブロックチェーンネットワークから受信部３２１が受信した送信済取引情報のみを受信する。したがって、この方法においては、送信済取引情報ＤＢ３３２のなかに、取引管理部３２２が送信部４２３から受け付けていない取引情報が含まれる場合には、検知部３２３は該送信済取引情報が不正であることを検知することができる。
【０１１９】
＜＜第２実施例＞＞
続いて、第１実施形態の第２実施例について説明する。第１実施形態の第２実施例は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、ユーザが何らかの理由により秘密鍵を忘失し、実質上仮想資産が消失した状態になった場合に、第１ウォレットが管理する仮想資産を第２ウォレットへ仮想資産を移動させる取引情報をブロックチェーンネットワークに送信することにより、第１ウォレットが管理する仮想資産を保全する実施形態である。
【０１２０】
以下の説明において、第１実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第１実施形態と同様の作用および効果についても、説明を省略する。以下、第１実施形態との相違点を中心に説明する。
【０１２１】
この第２実施例では、サーバ１１０の選択部３２４は、ユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、第１ウォレットの管理する仮想資産の残高を確認するとともに、予め記憶した未送信取引情報のなかから、当該残高以下の仮想資産を第２ウォレットへ移動させる取引情報を選択し、これをブロックチェーンネットワークに送信する。
【０１２２】
＜第２実施例の効果＞
かかる第２実施例によれば、ユーザが第１ウォレットの秘密鍵を忘失した場合であっても、第１ウォレットに残った仮想資産を第２ウォレットになめらかに退避させることができる。これにより、仮想資産の消失を回避することができ、仮想資産の保全を実現することができる。
【０１２３】
また、第２実施例によれば、秘密鍵を忘失した場合のほかにも、ユーザが第１ウォレットの秘密鍵が第三者に知得された恐れがあるとの疑いを抱いた場合であって、未だ具体的に不正な取引情報に基づく仮想資産の流出被害を受ける前の状態においても、第１ウォレットに残った仮想資産を第２ウォレットになめらかに退避させることができる。これにより、仮想資産の流出を予防することができる。
【０１２４】
＜第２実施例の機能構成＞
この第２実施例におけるサーバ１１０及び端末１２０の機能構成は、不正な取引情報の検知に関する機能部を必須としないという点以外は、第１実施形態と同様とすることができる。
【０１２５】
すなわち、サーバ１１０の機能構成において、取引管理部３２２と検知部３２３は必ずしも必要ではないし、受信部３２１は第１ウォレットの仮想資産の残高を算出する処理を行う機能を有すれば、仮想資産の取引システムから送信済取引情報を受信する処理を行う機能は必ずしも必要ではない。また、選択部３２４は、ユーザからの指示を一定期間以上受信しない場合、又は端末１２０からユーザの指示を受信した場合に受信した送信済取引情報に基づいて第１ウォレットの仮想資産の残高を把握する処理、記憶した未送信取引情報のなかから、第１ウォレットの仮想資産の残高以下の仮想資産を移動させる未送信取引情報を選択する処理を行う機能を有するものであればよい。
【０１２６】
＜第２実施例の動作処理＞
図１２から図１３を参照し、第２実施例に係る情報処理装置の処理について説明する。図１２は、第２実施例における通信システム１が行う処理を示すシーケンス図の一例を示し、図１３は、第２実施例における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
【０１２７】
この第２実施例における動作処理は、ステップＳ９０４において、ユーザが秘密鍵を忘失したことを検知する処理を必須とするという点以外は、第１実施形態と同様とすることができる。
【０１２８】
すなわち、未送信取引情報を記憶する処理のあとは、ユーザが秘密鍵を忘失したことを検知する処理を行い、ユーザが秘密鍵を忘失したと推定できる場合には、未送信取引情報を送信する処理を行うことができる。ここで、未送信取引情報を送信する処理においては、ユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、ユーザが秘密鍵を忘失したと推定し、未送信取引情報をブロックチェーンネットワークに送信する（ステップＳ１２０４、Ｓ８０５、Ｓ８０６、Ｓ１３０４、Ｓ９０５、Ｓ９０６）。
【０１２９】
＜＜第３実施例＞＞
続いて、第１実施形態の第３実施例について説明する。第１実施形態の第３実施例は、端末１２０に代わってあるいは加えて、サーバ１１０がユーザの秘密鍵が記録された第１ウォレットの管理を行い、未送信取引情報を作成する処理を行う実施例である。以下の説明において、上記第１実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第１実施形態と同様の作用および効果についても、説明を省略する。以下、第１実施形態との相違点を中心に説明する。
【０１３０】
＜＜第３実施例の効果＞＞
この第１実施形態の第３実施例によれば、端末１２０が未送信取引情報を作成してサーバ１１０へ送信する代わりに、サーバ１１０が未送信取引情報を作成し、記憶することができる。そのため、ユーザが端末１２０に長期間アクセスしないような場合でも、サーバ１１０の未送信取引情報ＤＢ３３１に未送信取引情報を蓄積することができる。これにより、第１ウォレットの秘密鍵を知り得た第三者が第１ウォレットから仮想資産の一部を流出させた場合に、第１ウォレットに残った仮想資産を第２ウォレットになめらかに退避させることができる。
【０１３１】
＜＜第３実施例の機能構成＞＞
（１）サーバの機能構成
この第３実施例では、サーバ１１０の制御部３１３は、ユーザの秘密鍵が記録された第１ウォレットを管理するウォレット管理部と、取引情報作成部と、電子署名部とをさらに有する。
【０１３２】
ウォレット管理部は、第１ウォレットに記録されたユーザの秘密鍵が第三者に知得されないよう管理する機能を有する。また、制御部３１３が有する取引情報作成部および電子署名部は、上記取引情報作成部４２１および電子署名部４２２と同様の機能を有する。これにより、サーバ１１０としては端末１２０によらずとも未送信取引情報を作成し記憶する処理を行うことができる。
【０１３３】
（２）端末の機能構成
端末１２０は、上記第１実施形態と同様の機能部を有し、ウォレット端末として機能する。すなわち、第３実施例においては、秘密鍵が端末１２０とサーバ１１０の両方で管理される。これにより、端末１２０としてはサーバ１１０によらずとも取引情報の作成及び取引情報への電子署名を行い、第２ウォレットを仮想資産の移動先とする取引情報をサーバ１１０へ送信する処理と、第３ウォレットを仮想資産の移動先とする取引情報をブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへ送信する処理を行うことができる。
【０１３４】
＜＜第３実施例の動作処理＞＞
未送信取引情報を記憶する処理において、第１実施形態では、ウォレット端末１２０が未送信取引情報を作成し、サーバ１１０がこれを受け付けて未送信取引情報ＤＢ３３１に記憶していたが、第３実施例では、サーバ１１０も独自に未送信取引情報を作成し、記憶することができる。したがって、未送信取引情報を記憶する処理をサーバ１１０が単独で行うことも可能となったという点で、当該処理が冗長化されている。これにより、ウォレット端末１２０から未送信取引情報を受信しない場合であっても、未送信取引情報ＤＢ３３１は未送信取引情報を記録することができる。
【０１３５】
上記処理において未送信取引情報が指定する移動させる仮想資産の量については、第１実施形態と同様とすることができる。さらに、未送信取引情報を作成するタイミングとしては、サーバ１１０が所定の時間周期毎、例えば、１日毎に未送信取引情報を作成し、未送信取引情報ＤＢ３３１に蓄積することが考えられる。
【０１３６】
＜＜第４実施例＞＞
次に、第１実施形態の第４実施例について説明する。第１実施形態の第４実施例は、サーバ１１０に代わってあるいは加えて、端末１２０が未送信取引情報を記憶し、送信する処理を行う実施例である。以下の説明において、上記第１実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第１実施形態と同様の作用および効果についても、説明を省略する。以下、第１実施形態との相違点を中心に説明する。
【０１３７】
＜＜第４実施例の効果＞＞
この第１実施形態の第４実施例によれば、サーバ１１０の機能部を利用することなく、端末１２０の機能部だけで第１実施形態の情報処理方法を実施することができる。そのため、プログラム提供者としては、端末において上記情報処理方法を実行するプログラムを提供するだけでユーザの仮想資産を保全することができ、ユーザとしては当該プログラムをインストールした端末１２０を使用するだけで、事故の仮想資産の保全を達成することができる、また、第１実施形態と同様に、サーバ１１０が攻撃されることによりユーザの秘密鍵が流出するリスクを回避することも可能となる。
【０１３８】
＜＜第４実施例の機能構成＞＞
（１）サーバの機能構成
この第４実施例では、サーバ１１０は、上記情報処理方法を実行するプログラムの提供部を有する。当該プログラムはウォレットプログラムの位置機能として構成されていてもよい。
【０１３９】
（２）端末の機能構成
端末１２０は、上記第１実施形態に記載した機能部に加え、上記第１実施形態においてサーバ１１０が有する機能部のうち、受信部３２１と、取引管理部３２２と、検知部３２３と、選択部３２４と、送信部３２５に相当する機能部を有する。なお、第４実施例では、これらを受信部３２１’と、取引管理部３２２’と、検知部３２３’と、選択部３２４’と、送信部３２５’という。
【０１４０】
未送信取引情報ＤＢ４３１は、取引情報作成部４２１および電子署名部４２２が作成した未送信取引情報（第２アドレス宛取引情報）をブロックチェーンネットワークに送信しない状態で記憶する。また、送信済取引情報ＤＢ４３２は、受信部３２１’が受信した送信済取引情報（第３アドレス宛取引情報）を記憶する。ルールＤＢ４３３は、未送信取引情報をブロックチェーンネットワークに送信するための条件などを記憶する。
【０１４１】
受信部３２１’は、入出力Ｉ／Ｆ２０４を介して、ブロックチェーンネットワークから送信済取引情報を受信する処理を行う機能と、受信した送信済取引情報を送信済取引情報ＤＢ４３２に渡す処理を行う機能を有する。
【０１４２】
取引管理部３２２’は、第１アドレスに対応するユーザが秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、その取引情報に関する情報を記憶する処理を行う機能を有する。
【０１４３】
検知部３２３’、選択部３２４’、および送信部３２５’は、上記検知部３２３、選択部３２４、および送信部３２５と同様の機能を有する。
【０１４４】
＜＜第４実施例の動作処理＞＞
未送信取引情報を記憶する処理において、第１実施形態では、ウォレット端末１２０が未送信取引情報を作成し、サーバ１１０がこれを受け付けて未送信取引情報ＤＢ３３１に記憶していたが、第４実施例では、端末１２０が作成した未送信取引情報を端末１２０の未送信取引情報ＤＢ４３１が記憶することができる。なお、上記処理において未送信取引情報が指定する移動させる仮想資産の量および未送信取引情報を作成するタイミングについては、第１実施形態と同様である。
【０１４５】
送信済取引情報が不正であることを検知する処理において、第１実施形態では、端末１２０が作成する取引情報の作成ルールをサーバ１１０と共有し、受信部３２１が受信した送信済取引情報の中で、この作成ルールから外れる送信済取引情報を不正なものとして検知するようにしたが、第４実施例では取引情報の作成ルールをサーバ１１０と共有する必要はない。したがって、上記の第１ウォレットからの仮想資産の移動量を予め決めておくことや、第１ウォレットからの仮想資産の移動先を予め決めておくという取引情報の作成ルールは、端末１２０のルールＤＢ４３３が記憶する。
【０１４６】
また、端末１２０の取引管理部３２２’は、送信部４２３からブロックチェーンネットワークに送信した場合にその取引情報に関する情報を記憶する。したがって、ブロックチェーンネットワークから受信部３２１’が受信した送信済取引情報のなかに、取引管理部３２２’に記憶された取引情報にない取引情報が含まれる場合には、該送信済取引情報が不正であることを検知することができる。
【０１４７】
なお、上述したとおり、本発明は、上記の実施形態及び実施例に限定されるものではなく、その要旨を逸脱しない範囲内において様々な変形が可能である。すなわち、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、秘密鍵に代えて共通鍵を用いてもよいし、ブロックチェーンネットワークは、ブロックチェーンに関する情報をノード間で分散共有するネットワークであれば、必ずしもその通信手段がＰ２Ｐ通信プロトコルに従う必要はない。
【符号の説明】
【０１４８】
１…通信システム、１１０…サーバ、１１０Ａ…サーバ、１１０Ｂ…サーバ、１２０…端末、１２０Ａ…端末、１２０Ｂ…端末、１２０Ｃ…端末、１３０…ネットワーク、２００…情報処理装置、２０１…プロセッサ、２０２…メモリ、２０３…ストレージ、２０４…入出力インタフェース（入出力Ｉ／Ｆ）、２０５…通信インタフェース（通信Ｉ／Ｆ）、３１１，４１１…入出力インタフェース（入出力Ｉ／Ｆ）、３１２，４１２…通信インタフェース（通信Ｉ／Ｆ）、３２０，４２０…制御部、３２１…受信部、３２２…取引管理部、３２３…検知部、３２４…選択部、３２５…送信部、３３０，４３０…記憶部、３３１，４３１…未送信取引情報ＤＢ、３３２，４３２…送信済取引情報ＤＢ、３３３，４３３…ルールＤＢ、３３４，４３４…プログラム、４２１…取引情報作成部、４２２…電子署名部、４２３…送信部、Ｎ…ネットワーク。
【図１】
2020021446.tif 000003
【図２】
2020021446.tif 000004
【図３】
2020021446.tif 000005
【図４】
2020021446.tif 000006
【図５】
2020021446.tif 000007
【図６】
2020021446.tif 000008
【図７】
2020021446.tif 000009
【図８】
2020021446.tif 000010
【図９】
2020021446.tif 000011
【図１０】
2020021446.tif 000012
【図１１】
2020021446.tif 000013
【図１２】
2020021446.tif 000014
【図１３】
2020021446.tif 000015