(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-13
(45)【発行日】2023-04-21
(54)【発明の名称】資産のバックアップ処理方法およびプログラム
(51)【国際特許分類】
G06Q 20/06 20120101AFI20230414BHJP
G06F 21/60 20130101ALI20230414BHJP
【FI】
G06Q20/06
G06F21/60 360
(21)【出願番号】P 2019126247
(22)【出願日】2019-07-05
【審査請求日】2019-07-05
【審判番号】
【審判請求日】2021-06-23
(73)【特許権者】
【識別番号】318009001
【氏名又は名称】G.U.Labs株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】西村 祥一
(72)【発明者】
【氏名】近藤 秀和
【合議体】
【審判長】渡邊 聡
【審判官】高瀬 勤
【審判官】鹿野 博嗣
(56)【参考文献】
【文献】特表2017-513095(JP,A)
【文献】特表2018-511137(JP,A)
【文献】特開2019-083013(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q10/00-99/00
G06F21/60
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実施される資産のバックアップ処理方法であって、
資産移動元のアカウント、資産移動先のアカウント、資産、および実行アカウントの情報を含む資産移動許可のトランザクションを実行するステップであって、前記資産移動元のアカウントに対応する秘密鍵を使用して作成された電子署名が前記資産移動許可のトランザクションに付与される、ステップと、
前記資産移動許可のトランザクションに付与された前記電子署名の検証後、前記資産移動許可のトランザクションに基づいて、トークンコントラクトに許可情報を記録するステップであって、前記許可情報は、前記資産移動元のアカウント、前記資産移動先のアカウント、および前記資産を移動させる権限が与えられた前記実行アカウントの情報を含む、ステップと、
前記資産移動元のアカウントのユーザデバイスにより、資産移動をトリガするステップと、
前記実行アカウントによって、資産移動のトランザクションを実行するステップであって、前記実行アカウントに対応する秘密鍵を使用して作成された電子署名が前記資産移動のトランザクションに付与される、ステップと、
前記資産移動のトランザクションの実行に応答して、前記資産移動のトランザクションに付与された前記電子署名の検証後、資産移動処理を実行するステップと
を含む、方法。
【請求項2】
前記資産移動処理は、台帳に記録された前記資産の所有者を、前記資産移動元のアカウントから前記資産移動先のアカウントに変更することによって実行される、請求項1に記載の方法。
【請求項3】
コンピュータにより実施される資産のバックアップ処理方法であって、
メインアカウント
、ウォレットコントラクト、および資産の情報を含む資産預託のトランザクションを実行するステップであって、前記メインアカウントに対応する秘密鍵を使用して作成された電子署名が前記資産預託のトランザクションに付与される、ステップと、
前記資産預託のトランザクションの実行に応答して、前記資産預託のトランザクションに付与された前記電子署名の検証後、資産移動処理を実行するステップと、
前記ウォレットコントラクト
、バックアップアカウント、前記資産、および実行アカウントの情報を含む資産移動許可のトランザクションを実行するステップであって
、前記メインアカウントに対応する秘密鍵を使用して作成された電子署名が前記資産移動許可のトランザクションに付与されるステップと、
前記資産移動許可のトランザクションに付与された前記電子署名の検証後、前記資産移動許可のトランザクションに基づいて、ウォレットコントラクトに許可情報を記録するステップであって、前記許可情報は
、前記ウォレットコントラクト
、前記バックアップアカウント、および前記資産を移動させる権限が与えられた前記実行アカウントの情報を含む、ステップと、
前
記メインアカウントのユーザデバイスにより、資産移動をトリガするステップと、
前記実行アカウントによって、資産移動のトランザクションを実行するステップであって、前記実行アカウントに対応する秘密鍵を使用して作成された電子署名が前記資産移動のトランザクションに付与される、ステップと、
前記資産移動のトランザクションの実行に応答して、前記資産移動のトランザクションに付与された前記電子署名の検証後、資産移動処理を実行するステップと
を含む、方法。
【請求項4】
前記資産移動のトランザクションの実行に応答して、資産移動処理を実行するステップは、
前記資産を預託された前記ウォレットコントラクトから前
記バック
アップアカウントに対して前記資産を移動すること、または
前記資産を預託された前記ウォレットコントラクトが管理する前記資産のマッピング情報を変更すること
により実行される、請求項3に記載の方法。
【請求項5】
請求項1から4のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘密鍵の紛失時の資産のバックアップ処理方法およびプログラムに関する。
【背景技術】
【0002】
仮想通貨(暗号通貨)のユーザは、公開鍵に基づいて作成されたウォレットによって、仮想通貨を管理することができる。ウォレットは、例えば仮想通貨取引所が提供するウォレット、ソフトウェアウォレット(モバイルウォレット)、ハードウェアウォレット等の種類がある。
【0003】
仮想通貨は、ウォレットに対応する秘密鍵によって作成された電子署名をトランザクションに付与して実行することで、資産移動等の処理を行うことができる。秘密鍵は、資産移動等を行うトランザクションの実行に必要であるため、厳重に管理されることが望ましい。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第5858506号公報
【文献】特開2018-14622号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、秘密鍵自体の紛失または盗難が発生した場合や、秘密鍵を管理するデバイスが故障した場合等、ユーザはウォレットの仮想通貨の管理および利用ができなくなり、復旧不可能になるという問題があった。
【0006】
特許文献1には、古い公開鍵から新しい公開鍵に更新する際、マッピング情報を検証して、予め指定された管理ユーザによる電子署名を要求する技術が開示されている。マッピング情報は、IDと、公開鍵と、公開鍵のスペアと、複数の管理ユーザのIDとが関連付けられている。特許文献1に記載の発明は、特定の仮想通貨システムにおいてマップトランザクションの検証を行い、公開鍵の更新前後の正当性を担保するものである。したがって、特許文献1に記載の発明は汎用性に欠ける。
【0007】
特許文献2には、秘密鍵の紛失または盗難が発生した場合、ユーザの生体情報を鍵とする生体署名を用いることで、秘密鍵を失効(無効化)させて新たな秘密鍵を再発行し、継続的にブロックチェーンシステムを利用する技術が開示されている。しかしながら、ユーザは生体情報を用いることに心理的抵抗を感じる場合があり、公開鍵失効申請書の作成等も行う必要がある。
【0008】
本発明はこのような課題に対し、資産のバックアップ処理方法およびプログラムを提供する。
【課題を解決するための手段】
【0009】
本発明の一実施形態に係る資産のバックアップ処理方法は、資産移動元のアカウント、資産移動先のアカウント、資産、および実行アカウントの情報を含む資産移動許可のトランザクションを実行するステップと、資産移動許可のトランザクションに基づいて、許可情報を記録するステップと、資産移動をトリガするステップと、実行アカウントによって、資産移動のトランザクションを実行するステップと、資産移動のトランザクションの実行に応答して、資産移動処理を実行するステップとを含む。
【発明の効果】
【0010】
本発明によれば、秘密鍵の紛失等が発生した場合であっても、ユーザはバックアップ用のアカウントに資産移動を行うことができ、ユーザの資産流出の恐れもない。また、プラットフォームに応じた汎用的な構成とすることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係るバックアップシステムの概念を例示する図である。
【
図2】本発明の一実施形態に係るバックアップの処理フローを例示する図である。
【
図3】本発明の一実施形態に係るバックアップの処理フローを例示する図である。
【
図4】本発明の一実施形態に係るバックアップの処理フローを例示する図である。
【
図5】本発明の一実施形態に係るユーザデバイスおよび受託者デバイスの汎用的な構成を例示する図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。複数の図面において同一の符号は同一の要素を表し、重複した説明は省略する。
【0013】
図1は、本発明の一実施形態に係るバックアップシステムの概念を例示する図である。
図1は、ユーザデバイス100、受託者デバイス110、およびブロックチェーン120を例示している。
【0014】
ユーザデバイス100は、ユーザによって操作される1つまたは複数のデバイスであり、例えばスマートフォン、タブレット、PC等とすることができる。ユーザデバイス100は、任意の資産を管理するためのウォレットアプリケーション、その他任意のアプリケーションをインストールすることができる。ユーザデバイス100はまた、インターネット上のWebウォレット、インターネットバンキング等にアクセスしてもよい。資産は、例えば仮想通貨、法定通貨等の資金、ライセンス、イベントに参加する権利、その他契約に基づく権利、デジタル資産等、移転可能な任意の資産を含む。デジタル資産は、例えばクリプトキティ/クリプトキティーズ(CryptoKitties)等のようなゲームの中で取引対象となるデータも含み得る。
【0015】
アカウントは、例えば任意の資産用の口座、公開鍵から一意に作成された資産管理用のアドレス等とすることができる。アカウントは、例えばユーザが取引や資産管理のため主に利用するメインアカウント、資産の退避先となるバックアップアカウントを含み得る。
図1のメインアカウントおよびバックアップアカウントは、例えばブロックチェーン120において管理される単なる情報(アドレス、口座番号等)であってよく、対応する秘密鍵によって資産移動等の処理を行うことができる。
【0016】
ユーザデバイス100は、ウォレットアプリケーション等によって、メインアカウント、およびバックアップアカウントにそれぞれ対応する秘密鍵を管理することができる。秘密鍵は、例えば紙または専用デバイス等の外部媒体等に格納する等、任意の形式で管理されてもよい。
【0017】
ユーザデバイス100は、任意のトランザクションを実行できる。資産移動許可のトランザクションは、例えば資産移動元のアカウント、資産移動先のアカウント、資産、実行アカウントの情報を含み得る。実行アカウントは、資産を移動させる権限を与えられるアカウントである。資産移動のトランザクションは、例えば送金の場合、資産移動元のアカウント、資産移動先のアカウント、所定の送金額等の情報を含み得る。ユーザデバイス100はまた、ユーザの秘密鍵を使用して作成された電子署名を任意のトランザクションに付与できる。ユーザデバイス100はまた、任意のトランザクションを他の任意のデバイスに送信することができる。
【0018】
受託者デバイス110は、ユーザから資産移動の依頼を受ける受託者によって操作される1つまたは複数のデバイスであり、例えばスマートフォン、タブレット、PC、サーバ等とすることができる。受託者はユーザと同一でもよく、金融機関またはサービス事業者等の第三者としてもよく、複数のメンバーにより構成されてもよい。
【0019】
受託者デバイス110は、資産移動のトランザクションを実行するための受託者アカウントと関連付けられる。受託者アカウントは、資産移動のトランザクションを実行する権限を与えられるか、または署名済みの資産移動のトランザクションを管理することができる。受託者デバイス110はまた、受託者アカウントに対応する秘密鍵を管理することができる。秘密鍵は、例えば紙または専用デバイス等の外部媒体等に格納する等、任意の形式で管理されてもよい。
【0020】
受託者デバイス110は、実行を許可された資産移動のトランザクションを実行できる。受託者デバイス110は、受託者アカウントの秘密鍵を使用して作成された電子署名を任意のトランザクションに付与してもよい。
【0021】
受託者デバイス110は、例えば受託者がユーザと同一であり、受託者デバイス110が複数のユーザデバイス100のうちの1つである場合等であっても、本明細書では説明のため受託者デバイス110と記載する。
【0022】
従来の資産移動に関するトランザクションは、資産移動元もしくは資産移動先または不特定の第三者のアカウントにより、実行されるものであった。一方、本発明の一実施形態のトランザクションは、資産移動元および資産移動先とは異なり、かつ予め指定された第三者のアカウントにより、資産移動のトランザクションが実行される。
【0023】
ブロックチェーン120は、ブロックチェーン技術を利用した分散型ネットワークであり、ネットワーク参加者である任意の種類のコンピュータによって取引、アプリケーション処理等のメソッド、トランザクションが実行され、記録される。ブロックチェーン120は、送金等のトランザクションが実行されるとき、トランザクションに付与された電子署名を検証することができる。本明細書では説明を簡単にするため、ブロックチェーン120を単一のものとして記載するが、ビットコイン、イーサリアム等のプラットフォームに応じて対応する機能や処理方式は異なる。例えば、ブロックチェーン120は、イーサリアム等のプラットフォームで実装される場合、スマートコントラクトに対応する。
【0024】
スマートコントラクトは分散実行環境上で実行可能なプログラムであり、スマートコントラクト自体にもアドレスが付与され(コントラクトアドレス)、トークンを保持できる。トークンは、ブロックチェーン技術を利用して発行されたアドレスと値とをセットにしたものであり、価値交換媒体として利用され得る。
【0025】
ブロックチェーン120は、資産を管理するアカウントに関連付けられた台帳やウォレット等を備えることができる。ブロックチェーン120は、資産移動のトランザクションの実行に応答して、台帳に記録されている資産の移動、アカウント間の資産の移動等を実行できる。資産移動は、例えば台帳に記録された資産の所有者を、資産移動元のアカウントから資産移動先のアカウントに変更すること、ウォレット間で資産を移動すること、またはウォレットの資産のマッピング情報の変更等によって実行され得る。
【0026】
ユーザデバイス100および受託者デバイス110は、インターネット等の任意のネットワークを介してブロックチェーン120にアクセスでき、任意のデータを送受信できる。
【0027】
図2は、本発明の一実施形態に係るバックアップの処理フローを例示する図である。資産移動元をメインアカウント、資産移動先をバックアップアカウント、および資産移動のトランザクションの実行者を受託者アカウントとする。
【0028】
(トークン設計手法方式)
以下、ERC20(Ethereum Request for Comments: Token Standard #20)の規格に基づいて発行されたトークンを使用する場合のバックアップ方式について説明する。ブロックチェーン120は、所有者のアドレスとトークン残高を管理するスマートコントラクト(以下、「トークンコントラクト」という)を備える。トークンコントラクトは、例えばメインアカウントのトークン残高が1,000、バックアップアカウントのトークン残高が0等のように関連付けたテーブル(以下、「トークン台帳」という)を管理できる。
【0029】
S201:ユーザは、ユーザデバイス100を使用して、資産移動許可のトランザクションを実行する。資産移動許可のトランザクションは、資産移動元をメインアカウント、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動させる権限を受託者アカウントに与える情報を含む。資産移動許可のトランザクションは、メインアカウントに対応する秘密鍵を使用して作成された電子署名が付与される。
【0030】
S202:ブロックチェーン120は、資産移動許可のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産移動許可のトランザクションが正当なユーザによって作成されたものであるかどうかを確認する意味を持つ。
【0031】
S203:ブロックチェーン120は、資産移動許可のトランザクションに基づいて、許可情報をトークンコントラクトに記録する。許可情報は、資産移動元がメインアカウント、資産移動先がバックアップアカウントであり、所定の送金額(例えば1,000)を移動させる権限が受託者アカウントに与えられている情報を含む。記録の段階では資産移動が行われないため、概念的に「送金予約」の状態となる。
【0032】
S204:ユーザは、メインアカウントに対応する秘密鍵を紛失した場合等において、受託者に資産移動を依頼する。依頼は、資産移動のトリガになり得る任意の方式、例えばユーザデバイス100を使用して、認証サーバに対するユーザ認証(IDとパスワード等)、依頼電文の送信、通知、任意のメソッドの実行等をトリガとすることで実装し得る。
【0033】
S205:受託者アカウントは、受託者デバイス110を使用して、資産移動のトランザクションを実行する。資産移動のトランザクションは、資産移動元をメインアカウント、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動する情報を含む。資産移動のトランザクションは、受託者アカウントに対応する秘密鍵を使用して作成された電子署名が付与される。
【0034】
S206:ブロックチェーン120は、資産移動のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産移動のトランザクションが正当な権限を持つ受託者アカウントによって実行されたものであるかどうかを確認する意味を持つ。
【0035】
S207:ブロックチェーン120は、資産移動のトランザクションの実行に応答して、資産移動処理を実行する。資産移動は、例えばトークン台帳に記録されているメインアカウントの残高を1,000トークン減算し、バックアップアカウントの残高を1,000トークン加算する等により実行され得る。
【0036】
このようにすることで、メインアカウントに対応する秘密鍵の紛失等が発生した場合であっても、ユーザはメインアカウントからバックアップアカウントに資産移動を行うことができる。また、受託者アカウントの秘密鍵が流出して他者により資産移動のトランザクションが実行された場合であっても、メインアカウントからバックアップアカウントに資産移動するのみであり、ユーザの資産流出の恐れがない。
【0037】
図3は、本発明の一実施形態に係るバックアップの処理フローを例示する図である。
図2と同様に、資産移動元をメインアカウント、資産移動先をバックアップアカウント、および資産移動のトランザクションの実行者を受託者アカウントとする。
【0038】
(ウォレットコントラクト方式)
以下、ブロックチェーン120において、スマートコントラクトによって作成されたウォレット(以下、「ウォレットコントラクト」という)を使用する場合のバックアップ方式について説明する。ウォレットコントラクトは、ブロックチェーン120において、スマートコントラクトによって作成されたトークンの保持、および様々な処理が実行可能なスマートコントラクトであり、アドレスを備える。ウォレットコントラクトはまた、ユーザが資産を預託し、管理するための専用のアドレス(以下、「ユーザアカウント」という)を備え、ユーザアカウントごとに資産のマッピング情報を管理してもよい。ウォレットコントラクトは、ユーザアカウントの資産のマッピング情報を変更することによって資産移動が実現されるようにしてもよい。マッピング情報の変更は、例えば資産移動元の資産の残高を減算し、資産移動先の資産残高を加算することや、資産の所有者を変更することにより行われ得る。
【0039】
S301:ユーザは、ユーザデバイス100を使用して、資産預託のトランザクションを実行する。資産預託のトランザクションは、資産移動元をメインアカウント、資産移動先をウォレットコントラクトとし、所定の送金額(例えば1,000)を移動させる情報を含む。資産預託のトランザクションは、メインアカウントに対応する秘密鍵によって電子署名が付与される。
【0040】
S302:ブロックチェーン120は、資産預託のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産預託のトランザクションが正当なユーザによって作成されたものであるかどうかを確認する意味を持つ。
【0041】
S303:ブロックチェーン120は、資産預託のトランザクションの実行に応答して、資産移動処理を実行する。資産移動処理によって、メインアカウントが保有する1,000トークンがウォレットコントラクトに移動する。移動したトークンはウォレットコントラクトのユーザアカウントで管理され、ユーザの管理下にある。
【0042】
S304:ユーザは、ユーザデバイス100を使用して、資産移動許可のトランザクションを実行する。資産移動許可のトランザクションは、資産移動元をウォレットコントラクト、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動させる権限を受託者アカウントに与える情報を含む。資産移動許可のトランザクションは、メインアカウントに対応する秘密鍵を使用して作成された電子署名が付与される。
【0043】
S305:ブロックチェーン120は、資産移動許可のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産移動許可のトランザクションが正当なユーザによって作成されたものであるかどうかを確認する意味を持つ。
【0044】
S306:ブロックチェーン120は、資産移動許可のトランザクションに基づいて、許可情報をウォレットコントラクトに記録する。許可情報は、資産移動元がウォレットコントラクト、資産移動先がバックアップアカウントであり、所定の送金額(例えば1,000)を移動させる権限が受託者アカウントに与えられている情報を含む。記録の段階では資産移動が行われないため、概念的に「送金予約」の状態となる。
【0045】
S307:ユーザは、メインアカウントに対応する秘密鍵を紛失した場合等において、受託者に資産移動を依頼する。依頼は、資産移動のトリガになり得る任意の方式、例えばユーザデバイス100を使用して、認証サーバに対するユーザ認証(IDとパスワード等)、依頼電文の送信、通知、任意のメソッドの実行等をトリガとすることで実装し得る。
【0046】
S308:受託者アカウントは、受託者デバイス110を使用して、資産移動のトランザクションを実行する。資産移動のトランザクションは、資産移動元をウォレットコントラクト、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動する情報を含む。資産移動のトランザクションは、受託者アカウントに対応する秘密鍵を使用して作成された電子署名が付与される。
【0047】
S309:ブロックチェーン120は、資産移動のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産移動のトランザクションが正当な権限を持つ受託者アカウントによって実行されたものであるかどうかを確認する意味を持つ。
【0048】
S310:ブロックチェーン120は、資産移動のトランザクションの実行に応答して、資産移動処理を実行する。資産移動は、ウォレットコントラクトからバックアップアカウントに1,000トークンを移動させること等により実行され得る。資産移動はまた、ウォレットコントラクトがメインアカウントから預託された1,000トークンの所有者をバックアップアカウントに変更し、後にバックアップアカウントから取得可能な状態にすることにより実装されてもよい。すなわち、資産移動は、資産移動先のバックアップアカウントに関連付けられたウォレットコントラクトのユーザアカウントに資産の所有者を変更すること(マッピング情報を変更すること)により実装されてもよい。
【0049】
このようにすることで、ユーザは、秘密鍵の紛失等が発生した場合であっても、ユーザはメインアカウントからバックアップアカウントに資産移動を行うことができる。また、受託者アカウントの秘密鍵が流出して他者により資産移動のトランザクションが実行された場合であっても、ウォレットコントラクトからバックアップアカウントに資産移動するのみであり、ユーザの資産流出の恐れがない。
【0050】
ウォレットコントラクト方式では、メインアカウントではなく、ブロックチェーン120にあるウォレットコントラクトからバックアップアカウントに対して資産が移動するか、またはウォレットコントラクト内のユーザアカウント間で資産が移動する。ここで、資産預託のトランザクションから一連のバックアップ処理について関連付けを行うこと、ウォレットコントラクトの方式を規格化すること等により、メインアカウントから資産移動したことを表示するようにウォレットアプリケーションを実装してもよい。
【0051】
具体的な実装において、ウォレットコントラクトは、資産移動のトランザクションを実行できる受託者アカウントと一対一に対応してもよい(専用のスマートコントラクト)。ウォレットコントラクトはまた、複数のメインアカウント、バックアップアカウント、および受託者アカウントを一元的に管理してもよい。
【0052】
図4は、本発明の一実施形態に係るバックアップの処理フローを例示する図である。
図2および
図3と同様に、資産移動元をメインアカウント、資産移動先をバックアップアカウント、および資産移動のトランザクションの実行者を受託者アカウントとする。
【0053】
(バックアップ用トランザクション用意方式)
以下、任意の実行環境を有するブロックチェーン120において、資産移動を実行する場合について説明する。
【0054】
S401:ユーザは、ユーザデバイス100を使用して、資産移動のトランザクションを作成する。資産移動のトランザクションは、資産移動元をメインアカウント、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動させる情報を含む。資産移動のトランザクションは、メインアカウントに対応する秘密鍵を使用して作成された電子署名が付与される。
【0055】
S402:ユーザは、ユーザデバイス100を使用して、受託者アカウントに資産移動のトランザクションを預託する。資産移動のトランザクションの預託は、データの受け渡しが可能な任意の形式で行われてよく、受託者デバイス110へのデータ送信、USBメモリ等のコンピュータ可読媒体での受け渡しでもよい。受託者アカウントは、受託者デバイス110、任意の専用デバイス等により資産移動のトランザクションを管理してもよく、公開鍵暗号方式により暗号化した上で、ブロックチェーン120において資産移動のトランザクションを管理してもよい。
【0056】
S403:ユーザは、メインアカウントに対応する秘密鍵を紛失した場合等において、受託者に資産移動を依頼する。依頼は、資産移動のトリガになり得る任意の方式、例えばユーザデバイス100を使用して、認証サーバに対するユーザ認証(IDとパスワード等)、依頼電文の送信、通知、任意のメソッドの実行等をトリガとすることで実装し得る。
【0057】
S404:受託者アカウントは、受託者デバイス110を使用して、資産移動のトランザクションを実行する。資産移動のトランザクションは、資産移動元をメインアカウント、資産移動先をバックアップアカウントとし、所定の送金額(例えば1,000)を移動する情報を含む。資産移動のトランザクションの実行は、受託者アカウントに対応する秘密鍵を使用して作成された電子署名を要求してもよい。
【0058】
S405:ブロックチェーン120は、資産移動のトランザクションに付与された電子署名を検証する。電子署名の検証は、資産移動のトランザクションが正当なユーザによって作成され、実行されたものであるかどうかを確認する意味を持つ。
【0059】
S406:ブロックチェーン120は、資産移動のトランザクションの実行に応答して、資産移動処理を実行する。資産移動は、メインアカウントからバックアップアカウントに対して行われるほか、ブロックチェーン120の台帳において、メインアカウントの資産減算およびバックアップアカウントの資産加算等により実装されてもよい。
【0060】
このようにすることで、ユーザは、秘密鍵の紛失等が発生した場合であっても、ユーザはメインアカウントからバックアップアカウントに資産移動を行うことができる。また、署名済みのトランザクションは改ざんが不可能であるため、ユーザの資産流出の恐れがなく、受託者アカウントに預託されたトランザクションは実行するか、または実行しないかの選択しかない。
【0061】
バックアップ用トランザクション用意方式では、資産移動のトランザクションが作成された後、移動対象となる資産が送金等に使用された場合、資産移動のトランザクションは無効になる。例えばビットコイン等のように、UTXO(Unspent Transaction Output)によって残高が管理されている場合、UTXOが消費され得る。UTXOでは、資産移動のトランザクションの移動対象となる資産がインプットとして消費されると、既に消費されたUTXOは無効になる。また、例えばイーサリアム等のように、トランザクションがノンス(nonce)等の連番で管理されている場合、トランザクションの作成ごとにノンスが変更され得る。資産移動のトランザクションの作成後、実行しない場合において異なる送金等のトランザクションを実行すると、過去に作成された(古いノンスの)資産移動のトランザクションは無効になる。したがって、資産移動のトランザクションの作成後、異なるトランザクションが発生した場合、都度資産移動のトランザクションを再作成するステップを含み得る。資産移動のトランザクションの再作成は、ユーザデバイス100にインストールされたウォレットアプリケーション等によって、異なるトランザクションの発生後自動的に行うように実装されてもよい。
【0062】
上述の例では、ブロックチェーン120の台帳またはアカウント間の送金により資産の移動を説明したが、ブロックチェーン120以外の環境で実行する場合、資産の移動は従来のデータベースにより実装されてもよい。すなわち、資産を管理するデータベースのレコードを追加、更新、削除することによって、資産の移動が実装可能である。
【0063】
図5は、本発明の一実施形態に係るユーザデバイス100および受託者デバイス110の汎用的な構成を例示する図である。
図5に例示するように、制御部501、主記憶部502、補助記憶部503、通信部504、操作部505、および表示部506がバス507等によって接続される。
【0064】
制御部501はCPUであり、システムの各構成要素の制御やデータの演算を行うことができる。主記憶部502はメインメモリであり、入力されたデータ、コンピュータ実行可能な命令および命令による演算処理後のデータ等を記憶できる。補助記憶部503はハードディスク等の記憶装置であり、データやプログラムを長期的に保存する際に使用される。制御部501は、補助記憶部503に格納されているプログラムを主記憶部502に読み出して実行できる。
【0065】
通信部504は、他のシステムまたは装置との間でデータを送受信する際のインタフェースである。操作部505は、キーボード、マウス、タッチパネル等により構成され、アプリケーションの各種操作や入力データを受け付けることができる。表示部506は、ディスプレイ等により構成され、アプリケーションの各種画面等を提供できる。
【0066】
上述の例では、バックアップアカウントに資産が移動した後、例えば第三者のアカウントからメインアカウントに対して送金等が行われる場合があり得る。しかしながら、秘密鍵の紛失等によりメインアカウントに送金された資産を利用することが不可能となるため、予めメインアカウントに対して送金された資産をバックアップアカウントに転送するようにさらに実装されてもよい。転送は、例えばブロックチェーン120のスマートコントラクトが、メインアカウントとバックアップアカウントとを関連付けたテーブルを保持することや、資産移動先のアカウントをスマートコントラクトにしておくこと等により実装されてもよい。
【0067】
以上、例示的な実施形態を参照しながら本発明の原理を説明したが、本発明の要旨を逸脱することなく、構成および細部において変更する様々な実施形態を実装可能である。すなわち、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を採用することが可能である。
【符号の説明】
【0068】
100 ユーザデバイス
110 受託者デバイス
120 ブロックチェーン