(57)【要約】【課題】仮想通貨を管理するための装置において、資産管理の安全性を高める。【解決手段】資産管理装置１００は、仮想通貨の管理を行うための装置であり、利用者から、利用者毎に付与されたアドレスの残高を管理するための管理命令を受信する第１のサーバ１０１と、各利用者のアドレスに関連づけられたトランザクションを処理する第２のサーバ１０２と、各利用者のアドレスの残高記録を保持するデータベース１０３とを備える。第１のサーバ１０１が利用者の利用者端末１１０から受信する管理命令には、仮想通貨の送金を行うための命令が含まれ、送金処理は、当該利用者のアドレスではなく別個の送金用アドレスを用いて行うことができる。第２のサーバ１０２は、利用者のアドレスに入金があった際、その入金額の少なくとも一部を、当該アドレスの残高として保管するのではなく、資産管理装置１００に付与された別個の管理用アドレスに転送することができる。【選択図】図１
2018152016.tif 000002
【特許請求の範囲】
【請求項１】
仮想通貨の管理を行うための装置であって、
利用者毎に付与されたアドレスの残高管理のための命令を受信する第１のサーバと、
各利用者のアドレスに関連づけられたトランザクションを処理する第２のサーバと
を備え、
前記第２のサーバは、利用者のアドレスに対する入金を表すトランザクションを読み取った際に、
前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行し、
各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせることを特徴とする装置。
【請求項２】
前記利用者の残高記録の更新は、発行された前記トランザクションが所定回数以上の承認を受けるまで確定されないことを特徴とする請求項１に記載の装置。
【請求項３】
前記残高管理のための命令は、利用者からの送金命令であり、
前記第２のサーバは、前記第１のサーバから前記送金命令に対応する送金要求を受信した際に、前記送金要求に応じたトランザクションを発行し、
前記第１のサーバは、前記データベースに対し、前記利用者のアドレスの残高記録を送金額又は送金額に手数料を加えた額だけ減少させる更新を行わせることを特徴とする請求項１又は２に記載の装置。
【請求項４】
前記利用者の残高記録の更新は、発行された前記トランザクションが所定回数以上の承認を受けるまで確定されないことを特徴とする請求項３に記載の装置。
【請求項５】
前記送金要求に応じたトランザクションは、前記利用者のアドレスではなく、前記装置の送金用アドレスからの送金を表すことを特徴とする請求項３又は４の装置。
【請求項６】
前記別個のアドレスは、前記送金用アドレスであることを特徴とする請求項５に記載の装置。
【請求項７】
前記第２のサーバは、前記送金用アドレスの残高が所定の値を超える場合に超過額の少なくとも一部を前記装置の管理用アドレスに転送するためのトランザクションを発行することを特徴とする請求項６に記載の装置。
【請求項８】
前記管理用アドレスを送金元とするトランザクションは前記装置上で署名不能であることを特徴とする請求項７に記載の装置。
【請求項９】
前記別個のアドレスは、前記装置の管理用アドレスであることを特徴とする請求項５に記載の装置。
【請求項１０】
前記管理用アドレスへの転送は前記入金額の一部であり、
前記の入金額の残りの少なくとも一部が前記送金用アドレスに転送されることを特徴とする請求項９に記載の装置。
【請求項１１】
前記第１のサーバ又は前記第２のサーバは、前記送金用アドレスの残高と前記管理用アドレスの残高との和が前記データベースにおける各利用者の残高記録の合計と整合することの検査を行うことを特徴とする請求項７又は１０に記載の装置。
【請求項１２】
前記残高管理のための命令は、利用者の残高取得の命令であり、
前記第１のサーバは、前記第２のサーバが保持する前記利用者の残高ではなく、前記データベースが保持する前記利用者の残高記録を前記利用者の利用者端末に送信することを特徴とする請求項１から１１のいずれかに記載の装置。
【請求項１３】
仮想通貨の管理を行うための装置であって、
利用者に付与されたアドレスに対する入金を表すトランザクションを読み取った際に、
前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行し、
各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせることを特徴とする装置。
【請求項１４】
仮想通貨の管理を行うための方法であって、
利用者に付与されたアドレスに対する入金を表すトランザクションを読み取るステップと、
前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行するステップと、
各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせるステップと
を含むことを特徴とする方法。
【請求項１５】
コンピュータに、仮想通貨の管理を行うための方法を実行させるためのプログラムであって、前記方法は、
利用者に付与されたアドレスに対する入金を表すトランザクションを読み取るステップと、
前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行するステップと、
各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせるステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想通貨を管理するための資産管理装置又は資産管理方法に関する。
【背景技術】
【０００２】
ビットコインに代表される仮想通貨が日々広がりをみせている。たとえば、ビットコインの総発行量は現在約１６００万ＢＴＣであり、１ＢＴＣの相場は１０万円を超え、円換算で１兆円を超える金額が流通していることになる。海外送金等のほか、飲食店での支払いにもその利用が進み始めており、仮想通貨の保有者も増加している。
【０００３】
ビットコインなどの仮想通貨を保有するための主な方法は、仮想通貨取引所での購入である。まず、インターネット上に開設された仮想通貨取引所に利用者登録をしてアカウントを作成し、日本円、米ドルなどの現実通貨を入金する。ＢＴＣと略されるビットコインを例に説明すると、入金額の範囲でその時点のＢＴＣレートを確認し、注文を入れると取引の成立後にビットコインなどの残高がアカウントに記録される。
【０００４】
仮想通貨取引所の利用者のアカウントにはビットコインアドレスが割り当てられ、このアドレスを他人に伝えることで、入金を受けることができる。また、他人のビットコインアドレスに対して送金をすると、自分のビットコインアドレスの残高が減少することとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仮想通貨取引所では、数多くの利用者の資産が保管されているため、ネットワーク上でのセキュリティへの配慮が欠かせない。今後の仮想通貨のさらなる普及を支える上で、そのニーズは一層高まっている。また、仮想通貨取引所以外にも、仮想通貨の入金及び送金機能をネットワーク上で提供する「ウォレット」と呼ばれるサービスがあり、これらを提供するためのシステムにおいて、同様のセキュリティ問題が存在し得る。
【０００６】
本発明は、このような問題点に鑑みてなされたものであり、その目的は、仮想通貨を管理するための装置、方法又はそのためのプログラムにおいて、資産管理の安全性を高めることにある。
【課題を解決するための手段】
【０００７】
このような目的を達成するために、本発明の第１の態様は、仮想通貨の管理を行うための装置であって、利用者毎に付与されたアドレスの残高管理のための命令を受信する第１のサーバと、各利用者のアドレスに関連づけられたトランザクションを処理する第２のサーバとを備え、前記第２のサーバは、利用者のアドレスに対する入金を表すトランザクションを読み取った際に、前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行し、各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせることを特徴とする。
【０００８】
また、本発明の第２の態様は、第１の態様において、前記利用者の残高記録の更新は、発行された前記トランザクションが所定回数以上の承認を受けるまで確定されないことを特徴とする。
【０００９】
また、本発明の第３の態様は、第１又は第２の態様において、前記残高管理のための命令は、利用者からの送金命令であり、前記第２のサーバは、前記第１のサーバから前記送金命令に対応する送金要求を受信した際に、前記送金要求に応じたトランザクションを発行し、前記第１のサーバは、前記データベースに対し、前記利用者のアドレスの残高記録を送金額又は送金額に手数料を加えた額だけ減少させる更新を行わせることを特徴とする。
【００１０】
また、本発明の第４の態様は、第３の態様において、前記利用者の残高記録の更新は、発行された前記トランザクションが所定回数以上の承認を受けるまで確定されないことを特徴とする。
【００１１】
また、本発明の第５の態様は、第３又は第４の態様において、前記送金要求に応じたトランザクションは、前記利用者のアドレスではなく、前記装置の送金用アドレスからの送金を表すことを特徴とする。
【００１２】
また、本発明の第６の態様は、第５の態様において、前記別個のアドレスは、前記送金用アドレスであることを特徴とする。
【００１３】
また、本発明の第７の態様は、第６の態様において、前記第２のサーバは、前記送金用アドレスの残高が所定の値を超える場合に超過額の少なくとも一部を前記装置の管理用アドレスに転送するためのトランザクションを発行することを特徴とする。
【００１４】
また、本発明の第８の態様は、第７の態様において、前記管理用アドレスを送金元とするトランザクションは前記装置上で署名不能であることを特徴とする。
【００１５】
また、本発明の第９の態様は、第５の態様において、前記別個のアドレスは、前記装置の管理用アドレスであることを特徴とする。
【００１６】
また、本発明の第１０の態様は、第９の態様において、前記管理用アドレスへの転送は前記入金額の一部であり、前記の入金額の残りの少なくとも一部が前記送金用アドレスに転送されることを特徴とする。
【００１７】
また、本発明の第１１の態様は、第７又は第１０の態様において、前記第１のサーバ又は前記第２のサーバは、前記送金用アドレスの残高と前記管理用アドレスの残高との和が前記データベースにおける各利用者の残高記録の合計と整合することの検査を行うことを特徴とする。
【００１８】
また、本発明の第１２の態様は、第１から第１１のいずれかの態様において、前記残高管理のための命令は、利用者の残高取得の命令であり、前記第１のサーバは、前記第２のサーバが保持する前記利用者の残高ではなく、前記データベースが保持する前記利用者の残高記録を前記利用者の利用者端末に送信することを特徴とする。
【００１９】
また、本発明の第１３の態様は、仮想通貨の管理を行うための装置であって、利用者に付与されたアドレスに対する入金を表すトランザクションを読み取った際に、前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行し、各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせることを特徴とする。
【００２０】
また、本発明の第１４の態様は、仮想通貨の管理を行うための方法であって、利用者に付与されたアドレスに対する入金を表すトランザクションを読み取るステップと、前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行するステップと、各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせるステップとを含むことを特徴とする。
【００２１】
また、本発明の第１５の態様は、コンピュータに、仮想通貨の管理を行うための方法を実行させるためのプログラムであって、前記方法は、利用者に付与されたアドレスに対する入金を表すトランザクションを読み取るステップと、前記トランザクションによる入金額の少なくとも一部を別個のアドレスに転送するためのトランザクションを発行するステップと、各利用者のアドレスの残高記録を保持するデータベースに対し、前記利用者の残高記録を前記入金額又は前記入金額から手数料を引いた額だけ増加させる更新を行わせるステップとを含むことを特徴とする。
【発明の効果】
【００２２】
本発明の一態様によれば、送金用アドレス又は管理用アドレスの独自の構成によって、資産管理の安全性を高めることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一態様における資産管理装置を示す図である。
【図２】本発明の一態様におけるウェブサーバへの取引履歴及び資産残高の取得命令に対する応答結果の表示例を示す図である。
【図３】本発明の一態様における送金処理の一例を示す図である。
【図４】本発明の一態様における入金処理の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２５】
（本発明の概要）  
図１に、本発明の一態様における資産管理装置を示す。資産管理装置１００は、仮想通貨の管理を行うための装置であり、利用者から、利用者毎に付与されたアドレスの残高を管理するための管理命令を受信する第１のサーバ又はコンピュータ１０１と、各利用者のアドレスに関連づけられたトランザクションを処理する第２のサーバ又はコンピュータ１０２と、各利用者のアドレスの残高記録を保持するデータベース１０３とを備える。
【００２６】
第１のサーバ１０１が利用者の利用者端末１１０から受信する管理命令には、仮想通貨の送金を行うための命令が含まれ、資産管理装置１００が仮想通貨取引所を提供する場合又は仮想通貨取引所を提供する別の装置（図示せず）と通信可能な場合には、仮想通貨の管理として、購入及び売却も可能である。また、管理命令として、資産残高又は取引履歴の取得命令も挙げることができる。
【００２７】
第１のサーバ１０１は、ウェブサイトを提供し、利用者端末１１０が当該ウェブサイトにアクセスしてブラウザを介して命令を受け取る場合と、利用者端末１１０にインストールされたアプリケーションを介して命令を受け取る場合がある。図２は、第１のサーバ１０１が取引履歴及び資産残高の取得命令を受け取り、その結果の利用者端末１１０にインストールされたアプリケーション上における表示例である。
【００２８】
第２のサーバ１０２は、仮想通貨がビットコインであれば、ビットコインプロトコルで通信を行うためのソフトウェア又はモジュールを有し、資産管理装置１００に登録された利用者のアドレスに関連づけられたトランザクションの生成、読み取り等を行う。第２のサーバは、ビットコインネットワーク１２０との間でトランザクションを送信し、または受信するが、仮想通貨がビットコインでない場合を含めて「仮想通貨ネットワーク」とも呼ぶ。
【００２９】
本明細書では、説明の便宜上、第１のサーバ１０１、第２のサーバ１０２及びデータベース１０３を分けて記述しているものの、第１のサーバ１０１及び第２のサーバ１０２を同一のサーバとしてもよく、また、データベース１０３をサーバが有する記憶装置若しくは記憶媒体又は当該サーバからアクセス可能な記憶装置若しくは記憶媒体としてもよい。第１のサーバ１０１及び第２のサーバ１０２を同一のサーバとした際は、第１のサーバ１０１から第２のサーバ１０２への送信と説明されている点は当該同一サーバ内での処理となり、その逆も同様である。
【００３０】
加えて、上述の各サーバは、通信インターフェースなどの通信部と、プロセッサ、ＣＰＵなどの処理部と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部を備え（例示として図１符号１０２参照）、各処理を行うためのプログラムを実行することによって構成することができ、当該サーバは１又は複数のサーバないしコンピュータを含むことがあり、また当該プログラムは１又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
【００３１】
また、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
【００３２】
送金 
第１のサーバ１０１が管理命令として、仮想通貨を額Ａだけ送金元Ｘから送金先Ｙに送金する送金命令を受信した場合、第２のサーバ１０２は、当該送金命令に対応する送金要求を第１のサーバ１０１から受信し、当該送金を表すトランザクションと呼ばれるデータを生成する。生成されたトランザクションは、第２のサーバ１０２において電子署名がなされ、承認のため、仮想通貨ネットワーク１２０に送信される。
【００３３】
トランザクションには、移動金額Ａ、送金元Ｘのアドレス、及び送金先Ｙのアドレスに関する情報が保持されており、仮想通貨ネットワーク１２０上で、電子署名付き証拠データとしての役割を果たす。送金先Ｙのアドレスに入金がなされた際の１又は複数のトランザクションに記録されている移動金額は、送金先Ｙのアドレスが次の送金先を指定して自由に再分配することができる。
【００３４】
額Ａは仮想通貨単位又は現実通貨単位で示すことができるが、送金処理は仮想通貨単位で行われる。ここで、送金元Ｘは、従来であれば、送金元の利用者のアドレスに入金がなされた際の１又は複数のトランザクションに対応するが、本発明の一態様では、資産管理装置１００に付与された送金用アドレスを用い、当該アドレスに過去に入金がなされた際の１又は複数のトランザクションが対応することとなる。以下に説明するように、各利用者のアドレスの残高は０又は少額に抑えられており、送金の際に当該アドレスから送金処理を行うのではなく別アドレスから行うことによって安全性を高めている。
【００３５】
第１のサーバ１０１は、第２のサーバ１０２に対して送金要求を行うとともに又は前後して、データベース１０３に対し、送金元の利用者のアドレスの残高記録を送金額又は送金額に手数料を加えた額だけ減少させる更新を行う。第１のサーバ１０１からの更新要求によるデータベース１０３における更新は、必ずしも直ちに反映されるものではなく、第２のサーバ１０２が仮想通貨ネットワーク１２０において当該送金を表すトランザクションが所定回数以上承認されたことを判定した後に確定されるようにすることができ、確定前には承認中であること及び／又は承認回数をデータベース１０３に記憶してもよい。
【００３６】
なお、第２のサーバ１０２に対する送金要求の前に、データベース１０３への残高記録の照会を行うことで、送金用アドレスから不正に送金が行われる可能性を抑制することができる。
【００３７】
また、利用者は、利用者端末１１０から、資産残高、取引履歴等の取得を管理命令として第１のサーバ１０１に送信し、第２のサーバ１０２がトランザクションとして保持する当該利用者のアドレスにおける残高、履歴等ではなく、データベース１０３が保持する記録を第１のサーバ１０１から受信して取得することができる。
【００３８】
また、資産管理装置１００の利用者のアドレスが送信先のアドレスである場合には、第１のサーバ１０１は、第２のサーバ１０２に送金要求を行わず、資産管理装置１００内のデータベース１０３上での残高更新を行うこととしてもよい。この場合、資産管理装置１００内、たとえばデータベース１０３に資産管理装置１００の利用者のアドレスのリストを保持し、これを事前に参照することによって、利用者アドレスか否かの判定をすることができる。
【００３９】
以上の送金処理の一例を図示すると、図３のようになる。
【００４０】
入金 
第２のサーバ１０２が、利用者のアドレスに対する入金を表す署名付きトランザクションを仮想通貨ネットワーク１２０から受信した場合、データベース１０３に対し、送金先である利用者のアドレスの残高記録を入金額又は入金額から手数料を引いた額だけ増加させる更新を行う。更新は、送金と同様にトランザクションの承認回数が所定回数以上となった後に確定することができ、確定前には承認中であること及び／又は承認回数をデータベース１０３に記憶してもよい。
【００４１】
データベース１０３に対する更新要求は、第２のサーバ１０２が行う場合のほか、第１のサーバ１０１により行う場合がある。また、トランザクションが所定回数以上承認されたことの通知は、第２のサーバ１０２からデータベース１０３に対して行う場合のほか、第１のサーバ１０１により行う場合がある。
【００４２】
第２のサーバ１０２は、利用者のアドレスに入金があった際、トランザクションが所定回数承認された後に、その入金額の全額、ほぼ全額又は一部を、当該アドレスの残高として保管するのではなく、資産管理装置１００に付与された別個の管理用アドレスに転送ないし送金することができる。管理用アドレスからの送金には、署名付きトランザクションの発行が必要となるところ、署名情報を資産管理装置１００からコンピュータネットワークを介して通信不能な記憶装置又は記憶媒体に記憶又は記録し、資産管理装置１００においては署名不能としておくことにより、利用者にはデータベース１０３の残高記録から自分の残高を取得・確認可能としつつ、資産管理装置１００に対する外部からの侵入が万が一生じても、盗難を抑止し、各利用者の資産を高い安全性で管理する堅牢なシステムを実現することができる。
【００４３】
データベース１０３における各利用者の残高記録の合計は、各利用者のアドレスへの入金が全額転送されている場合には管理用アドレスの残高と一致し、部分的に転送されている場合には管理用アドレスの残高に転送されたなかった額との和と一致するため、両者の整合性を確かめるための検査プログラムを定期的又は不定期に実行することが望ましい。管理用アドレスの残高に転送されたなかった額としては、各利用者のアドレスに残された額及び以下でさらに説明する送金用アドレスに転送された額が含まれる。この処理は、第１のサーバ１０１又は第２のサーバ１０２によって行うことができる。
【００４４】
以上の入金処理の一例を図示すると、図４のようになる。
【００４５】
（転送処理の詳細）  
本発明の一態様では、各利用者のアドレスに入金があった際、全額を上述の管理用アドレスに転送するのではなく、一部を管理用アドレスに送金し、一部を送金用アドレスに送金する。
【００４６】
送金用アドレスを用いることで各利用者のアドレスからの送金時に各利用者のアドレスに入金し直す必要がなくなるが、そのままでは、送金用アドレスに随時入金を行わなければならないという問題が残る。そこで、各利用者のアドレスから管理用アドレスへの転送時に、一部を送金用アドレスに送金してプールすることによって、厳重な管理の求められる管理用アドレスからの送金処理の回数を大幅に低減することができる。
【００４７】
送金用アドレスにプールされた残高は、必要以上に大きくならないことが望ましく、一例として、各利用者のアドレスへの入金額を所定の比で管理用アドレスと送金用アドレスに割り振ったり、送金用アドレスの所定の上限まで送金用アドレスに転送したら所定の一定値を下回るまでは管理用アドレスに転送したりすることができる。あるいは、各利用者のアドレスから送金用アドレスに全額を送金した後に、送金用アドレスの残高が所定の値を超えるとき、送金用アドレスから管理用アドレスの当該超過額の全額、ほぼ全額又は一部を転送してもよい。
【符号の説明】
【００４８】
１００  資産管理装置
１０１  第１のサーバ
１０２  第２のサーバ
１０３  データベース
１１０  利用者端末
１２０  仮想通貨ネットワーク
【図１】
2018152016.tif 000003
【図２】
2018152016.tif 000004
【図３】
2018152016.tif 000005
【図４】
2018152016.tif 000006