JP2018160179A - 仮想通貨管理プログラムおよび方法 - Google Patents

仮想通貨管理プログラムおよび方法 Download PDF

Info

Publication number
JP2018160179A
JP2018160179A JP2017058065A JP2017058065A JP2018160179A JP 2018160179 A JP2018160179 A JP 2018160179A JP 2017058065 A JP2017058065 A JP 2017058065A JP 2017058065 A JP2017058065 A JP 2017058065A JP 2018160179 A JP2018160179 A JP 2018160179A
Authority
JP
Japan
Prior art keywords
type
transaction data
transaction
virtual currency
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017058065A
Other languages
English (en)
Other versions
JP6544695B2 (ja
Inventor
重一郎 山▲崎▼
Juichiro Yamazaki
重一郎 山▲崎▼
茂亨 安土
Shigeyuki Azuchi
茂亨 安土
高橋 剛
Takeshi Takahashi
剛 高橋
仁志 岡田
Hitoshi Okada
仁志 岡田
雄介 金子
Yusuke Kaneko
雄介 金子
繁幸 長田
Shigeyuki Osada
繁幸 長田
公紀 栗原
Kiminori Kurihara
公紀 栗原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haw Int Inc
HAW INTERNATIONL Inc
Japan Research Institute Ltd
Kinki University
Research Organization of Information and Systems
Sumitomo Mitsui Banking Corp
Original Assignee
Haw Int Inc
HAW INTERNATIONL Inc
Japan Research Institute Ltd
Kinki University
Research Organization of Information and Systems
Sumitomo Mitsui Banking Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haw Int Inc, HAW INTERNATIONL Inc, Japan Research Institute Ltd, Kinki University, Research Organization of Information and Systems, Sumitomo Mitsui Banking Corp filed Critical Haw Int Inc
Priority to JP2017058065A priority Critical patent/JP6544695B2/ja
Publication of JP2018160179A publication Critical patent/JP2018160179A/ja
Application granted granted Critical
Publication of JP6544695B2 publication Critical patent/JP6544695B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】仮想通貨管理プログラムを提供する。【解決手段】コンピュータ実行可能命令を含む仮想通貨管理プログラムであって、コンピュータ実行可能命令は、プロセッサによって実行されると、コンピュータに、仮想通貨を発行するための第1のトランザクションデータおよび第2のトランザクションデータを生成させ、第1のトランザクションデータは、第1の使用するUTXOへの参照、仮想通貨の第1のタイプの発行額、第1のユーザID、第1の秘密鍵から生成された第1のアセットID、および第1のタイプのトランザクション種別を含み、第2のトランザクションデータは、第2の使用するUTXOへの参照、第1のタイプの発行額と同額の第2のタイプの発行額、第1のユーザID、第2の秘密鍵から生成された第2のアセットID、および第1のタイプのトランザクション種別を含む。【選択図】図5

Description

本発明は、仮想通貨管理プログラムおよび方法に関し、特に、従来の仮想通貨管理プログラムおよび方法を利用して、ユーザ間でのあらゆる仮想通貨の資金移動を可能にする仮想通貨管理プログラムおよび方法に関する。
近年、ピアツーピア(Peer to Peer)型の決済網であるビットコイン(Bitcoin)と称される仮想通貨管理システムが利用されている。ビットコインとは、複数のコンピュータが相互接続された分散型コンピュータネットワークを利用して行われるオンライン仮想通貨またはその仮想通貨を使用したオンライン商取引スキームである。
ビットコインの送金といった取引(以下、「トランザクション」と呼ぶ)では、ハッシュ関数と公開鍵暗号方式とを使用して分散台帳を形成することで、トランザクションの完全性が担保されている。トランザクションは、ビットコインを利用する全てのコンピュータにブロードキャストされ、コンピュータ上で動作するソフトウェアによってトランザクションの正当性が検証される。
図1は、ユーザAからユーザBに(トランザクションA)、ユーザBからユーザCに(トランザクションB)、およびユーザCからユーザDに(トランザクションC)に送金を行う取引の例を示している。各トランザクションは、入力部および出力部を含む。入力部は、送金者の電子署名(送金者の秘密鍵によって生成された)、送金者の公開鍵、および送金者の使用する未使用仮想通貨の情報(UTXO:unspent transaction output)への参照を含み、使用するUTXOへの参照からは、入金額や送金者のビットコインアドレスが参照することができる。出力部は、出金額、および受取人となるユーザのビットコインアドレスを含む。
ビットコインアドレスとは、ユーザがそれぞれ有する自身の公開鍵から生成されるIDである。各ユーザは、複数のビットコインアドレスを生成することができ、このアドレスによって各ユーザ、およびそのユーザがそのアドレスを使用した取引履歴を特定することができる。
ビットコインでは、ビットコインを発行するトランザクションを除き、トランザクションの入力部の入金額と出力部の出金額とが一致する総量保存則を満たされる。
図2に示すように、入力部には、その時点での使用するUTXOへの参照が含まれ、この情報からUTXOの現所有者と残高とが参照することができる。例えば、ユーザAが100BTC(BTCはビットコインの数量単位)を所有していることが分かる。この状況から、ユーザBに10BTCを送金する場合、残りの90BTCはユーザA自身に送金する必要がある。このようにして、上述した総量保存則が満たされたままトランザクションは記録され、入力部には使用するUTXOへの参照を用いることで、通貨の二重譲渡を防止している。
ビットコインの仕組みを利用した(ビットコインにオーバレイする)ブロックチェーン上に様々なアセット(流動資産)を構成可能にする、カラードコインと呼ばれる技術がある。カラードコインは、ビットコインに「色」をつけることで、金・株式・証券・既存通貨その他あらゆる資産(アセット)を表現することができる技術である。
カラードコインは、ビットコインと異なり、カラードコインの発行者が存在する。カラードコインは、それを実装するプログラムを動作させたコンピュータ間でのみ、そのカラードコインによる取引を行うことができる。カラードコインを利用することによって、ビットコインの仕組みを利用して、ユーザ間での融資などを行うことも可能になる。このように、ビットコインを利用した仮想通貨管理システムが開発・利用されつつある。
ビットバンク株式会社&『ブロックチェーンの衝撃』編集委員会著、「ブロックチェーンの衝撃」、日経BP社、2016年 6月 8日 岡田仁志、高橋 郁夫、山▲崎▼ 重一郎著「仮想通貨 技術・法律・制度」、東洋経済新報社、2015年 5月29日
金融業務において使用する台帳は、利息を記録できることが必要となる。一方、金融業務において使用する台帳にブロックチェーンを採用することを考えたとき、すべてのアセット発行者は、アセットを無制限に発行することができることになる。
このため、例えば、融資における元本や利息の返済といった、時間の経過などに伴ってアセットを発行したり償却したりする取引を行うと、取引記録全体におけるアセットの総量は一定に保たれず、アセットの総量の管理が難しくなる問題がある。これにより、ブロックチェーンに金融取引を記録しにくいという課題が生じていた。ビットコインおよびカラードコインでも、上述した総量保存則を満たす必要があるが、時間の経過とともに発生する利息の性質上、総量保存則を満たすことができなくなるからである。
本発明は、このような問題に鑑みてなされたものであり、その目的とするところは、金融機関でブロックチェーンを台帳として利用するための、合理的な台帳を構成するにあたり、利息といった時間経過に伴い増減する価値について、当該価値の正当な権利保有者による発行、資金移動、償却といった取引をブロックチェーンに記録する、仮想通貨管理プログラムおよび方法を提供することを目的とする。
上記の課題を解決するために、本発明に係る仮想通貨管理プログラムは、コンピュータ実行可能命令を含む仮想通貨管理プログラムであって、前記コンピュータ実行可能命令は、プロセッサによって実行されると、コンピュータに、仮想通貨を発行するための第1のトランザクションデータおよび第2のトランザクションデータを生成させ、前記第1のトランザクションデータは、第1の使用するUTXOへの参照、前記仮想通貨の第1のタイプの発行額、第1のユーザID、第1の秘密鍵から生成された第1のアセットID、および第1のタイプのトランザクション種別を含み、前記第2のトランザクションデータは、第2の使用するUTXOへの参照、前記第1のタイプの発行額と同額の第2のタイプの発行額、前記第1のユーザID、第2の秘密鍵から生成された第2のアセットID、および前記第1のタイプのトランザクション種別を含むことを特徴とする。
本発明に係る仮想通貨管理プログラムによれば、時間経過に伴い増減する価値をブロックチェーンに記録することが可能になるため、仮想通貨とその利息を金融機関が発行し、ブロックチェーンを使用して流通させることが可能になる。この結果、金融取引に仮想通貨およびブロックチェーンを利用することができる場面が拡大する。
従来技術に従ったビットコインにおけるトランザクションの連鎖関係を示す図である。 従来技術に従ったビットコインにおけるトランザクションの入力部と出力部との関係を示す図である。 本発明に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムの全体の構成の例を示すブロック図である。 本発明に係る仮想通貨管理プログラムが実行する処理の例を示すフローチャートである。 本発明一実施形態に係る仮想通貨発行処理および資金移動(融資)に対応するトランザクションデータの例を示す図である。 本発明の一実施形態に係る利息発行処理に対応するトランザクションデータの例を示す図である。 本発明の一実施形態に係る資金移動(返済)に対応するトランザクションデータの例を示す図である。 本発明の一実施形態に係る仮想通貨償却処理に対応するトランザクションデータの例を示す図である。
以下で、本発明に係る仮想通貨管理プログラムおよび方法の詳細を説明する。本発明に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムは、ビットコインに代表される、既存の仮想通貨管理システム(以下、「既存型仮想通貨管理システム」)を利用するが(既存型仮想通貨管理システムにオーバレイして実装され、既存型仮想通貨管理システムの上位のレイヤで実装される。)、その前提となる既存型仮想通貨管理システムはビットコインに限定されない。
既存型仮想通貨管理システムは、各ユーザが資金移動を実行する際に、コンピュータによってトランザクションデータが生成され、そのトランザクションデータが他のコンピュータにブロードキャストされ、一連のトランザクションの連鎖が検証・記録されるシステムを意味する。ブロードキャストされるトランザクションデータは、それまでのトランザクションに関するデータ(前のトランザクションのハッシュ値)を含み、この構成によって、各ユーザは、一連のトランザクションの履歴を検証することができる。
本明細書において、「資金移動」とは、仮想通貨を利用して一のユーザから別のユーザにその仮想通貨の指定した量が移動することを意味し、仮想通貨での融資、その返済、および送金などを含む。
<システム構成>
図3を参照して、本発明の一実施形態に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムの全体の構成の例を説明する。本発明に係る仮想通貨管理システムは、複数のコンピュータ1a(例えば、スマートフォンなどの携帯電話、タブレット端末などの携帯情報端末)、コンピュータ1b(例えば、デスクトップ型パーソナルコンピュータなど)、コンピュータ1c(例えば、ノート型パーソナルコンピュータなど)、およびコンピュータ1d(例えば、データセンター設置型コンピュータなど)(以下、「コンピュータ1」と総称する)を備え、それらはネットワーク2を介して相互に接続されている。ネットワーク2は、インターネットや専用線などである。
コンピュータ1は、本発明に係る仮想通貨管理システムを利用するユーザが使用し、当該仮想通貨管理システムに参加するユーザを構成するコンピュータである。コンピュータ1を使用するユーザは、公開鍵暗号の秘密鍵と公開鍵のペア、および公開鍵から生成されるユーザIDを所持する。このユーザIDは、上述したビットコインアドレスと同様の役割を果たす。
ユーザは、コンピュータ1を使用して、特定のユーザとの間で資金移動を行い、また第三者の資金移動を検証・記録する。コンピュータ1は、スマートフォンなどの携帯電話、タブレット端末などの携帯情報端末、およびパーソナルコンピュータ(ノート型およびデスクトップ型コンピュータを含む)など、ネットワーク2にアクセス可能な任意のコンピュータを含む。
銀行も、コンピュータ1を用いて、仮想通貨管理システムに参加する。加えて、銀行が用いるコンピュータ1(以下、「銀行コンピュータ」と呼ぶ)のみが、以下で述べるシステム内定義仮想通貨を発行(利息のための発行を含む)および償却することができる。つまり、銀行コンピュータは、既存型仮想通貨システムの上位レイヤで実装される、本発明に係る仮想通貨管理システムによるユーザ間相互ネットワークにおいて、信頼可能な第三者機関の役割を果たす。
次に、図4を参照して、本発明に係る仮想通貨管理システムを構成するコンピュータ1の詳細な構成の例を説明する。
コンピュータ1は、通信部11、制御部12、主記憶部13、補助記憶部14、および表示部15を備えている。
通信部11は、ネットワーク2を介して接続された他のコンピュータ1およびとの間でデータおよび制御情報を送受信するネットワークインタフェースである。
制御部12は、中央処理装置(CPU)とも呼ばれ、上記各構成要素の制御やデータの演算を行う。また、制御部12は、本発明に係る各種処理を実行するための、補助記憶部14に格納されている各種プログラムを主記憶部13に読み取って実行する。
主記憶部13は、メインメモリとも呼ばれ、他のコンピュータ1からブロードキャストされたトランザクションのデータ、コンピュータ実行可能な命令および当該命令による演算処理後のデータなどを記憶する。
補助記憶部14は、ハードディスク(HDD)などに代表される記憶装置であり、制御部12に、以下で説明するコンピュータ1によって実行されることになる各種処理を実行させるためのプログラム16を記憶している。このプログラムを実行したコンピュータ1のみが、本発明に係る仮想通貨管理システムによる資金移動を行うことができる。また、補助記憶部14には、上述した秘密鍵と公開鍵のペアおよびユーザIDが記憶されている。
表示部15は、制御部12が補助記憶部14に記憶されたプログラム16を実行することによって、ユーザが情報を入力および表示するための入出力インタフェースを表示する。
本発明では、既存型仮想通貨管理システムを利用して本発明に係る仮想通貨管理システムが実装される。既存型仮想通貨管理システムは、コンピュータ1の各々の制御部12が補助記憶部14に記憶されたプログラム16を実行することによって実行される。
本発明に係る仮想通貨管理システムでは、資金移動を行う際に、予め定義された通貨(以下、「システム内定義仮想通貨」)を発行し、その発行されたシステム内定義仮想通貨の資金移動がユーザ間およびユーザ−銀行システム間で行われる。システム内定義仮想通貨は、本発明に係る仮想通貨管理システムで有効な、ユーザ間およびユーザ−銀行システム間での資金移動において表現される価値であり、法定通貨(円、ドルなど)とのレートなどが定義されていても良い。
次に、本発明の一実施形態に係る仮想通貨管理プログラムが実行する処理の例を説明する。
<システム内定義通貨発行処理>
まず、銀行コンピュータがシステム内定義通貨を発行する処理の例を説明する。本発明に係る仮想通貨管理システムでは、上述したカラードコインと同様に、システム内定義通貨の発行者が存在するが、そのシステム内定義通貨は、特定の権限を有するユーザのみがシステム内定義通貨の発行(利息発行を含む)および後述する償却を行えるよう制御される。
具体的には、発行するシステム内定義通貨にアセットIDが付与される。このアセットIDは、銀行の秘密鍵によって生成されるため、他のユーザが同じアセットIDを発行することはできない。また、アセットIDがどのようなものかを定義したメタデータを定義し、アセットIDは、そのメタデータによって、アセットIDの発行用トランザクションにリンクすることができる。このメタデータは認証局から発行されたデジタル証明書による署名が行われているため、後述するトランザクションデータを受信した各コンピュータ1は、証明書を確認することでそのアセットIDの発行元を確認することができる(発行元を確認することによって、後述するトランザクションの種別ごとにトランザクションの発行が特定のユーザに制限される)。
また、システム内定義通貨を発行および償却する権限を銀行コンピュータ以外のユーザに付与する場合は、銀行コンピュータを認証局としてもよい。本実施形態では、銀行コンピュータのみがシステム内定義通貨を発行(利息発行を含む)および償却することができるものとし、以下の例では、システム内定義通貨で定められた価値である600p(単位「p」は、便宜上そのように表現している)を発行するものとする。
ここで、銀行コンピュータは、銀行の公開鍵を使用して生成されたユーザIDを補助記憶部14に記憶しているものとする。便宜上、銀行コンピュータのユーザIDを銀行ユーザIDとする。
まず、銀行コンピュータの制御部12は、銀行ユーザIDを使用して、トランザクションデータ101および102を生成する。このトランザクションデータ101および102に対応するトランザクションをそれぞれトランザクション101および102とする。生成されるトランザクションデータ101および102の例を図5に示す。
以下で説明する各トランザクションデータは、入力部および出力部を含む。トランザクションデータ101の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。銀行ユーザIDは、上述したように、例えば、ビットコインではビットコインアドレスに相当し、銀行コンピュータによるこの銀行ユーザIDを使用したトランザクションの履歴を参照することができ、よって、システム内定義通貨の発行者(銀行コンピュータ)および発行者のUTXOを特定することができる。
出力部は、システム内定義仮想通貨の発行額である出金額としてBCC=600p、銀行ユーザID、アセットID、およびトランザクション種別を含む。BCC(Bank Cashier's Check)は、銀行が発行するシステム内定義通貨を意味する。出力部で設定されるユーザIDは、当該トランザクションで発行および資金移動などがされるシステム内定義通貨の宛先を示す。トランザクションデータ101では、銀行ユーザIDが設定されているので、BCC=600pが銀行コンピュータに発行されることを意味する。
銀行ユーザIDは、上述したように、例えば、ビットコインではビットコインアドレスに相当し、銀行コンピュータによるこの銀行ユーザIDを使用したトランザクションの履歴を参照することができる。
アセットIDは、システム内定義通貨を発行する都度、銀行の秘密鍵を使用して生成され、認証局から発行されたデジタル証明書による署名が行われたメタデータ(アセットIDがどのようなものかを定義した)を含む。このアセットIDによって、この発行されたBCCの資金移動を行う際に、当該発行されたBCCであることを特定することができる。トランザクション種別は、トランザクションの種別を示す値が設定され、例えば、「1:発行」、「2:送金」、および「3:償却」などであってもよく、トランザクションデータ101には、「1:発行」が設定される。
トランザクションデータ102の入力部は、トランザクションデータ101と同様であるので説明を省略する。出力部は、出金額としてIOU(I Owe You)、銀行ユーザID、アセットID、およびトランザクション種別を含む。IOUは、銀行が発行する借用証書を意味し、トランザクションデータ101のBCC=600pと同額の値が設定される。アセットIDは、銀行の秘密鍵を使用して生成され、トランザクションデータ101のアセットIDとは異なる値が設定される(当該アセットIDの値は、銀行の秘密鍵によって、トランザクションデータ101で生成したアセットIDとは異なる計算方法で算出され、またはトランザクションデータ101で使用した銀行の秘密鍵とは異なる秘密鍵を使用して生成される)(便宜上、トランザクション101および102のアセットIDをそれぞれアセットIDaおよびbとする)。トランザクション種別、「1:発行」が設定される。
トランザクションデータ101および102は、銀行の秘密鍵によって暗号化されて、通信部11によって仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ101および102を受信したコンピュータ1は、銀行の公開鍵によって復号し、トランザクション101および102の検証をすることができる。
このようにして、銀行コンピュータによるシステム内定義通貨の発行処理では、トランザクションデータ101とその対となるトランザクションデータ102が生成され、それぞれ、出力部において発行額である600pがBCCおよびIOUとして設定される。
トランザクション101で発行されたBCCは、転々流通する特性を備え、任意のユーザに移動することができる。一方、IOUは、銀行が発行する借用証書に相当するので、特定のユーザ(例えば、特定のユーザとの取引がある銀行団)への移動のみ認めるなど制御される。この移動の制御は、上述した銀行の秘密鍵によって生成されたアセットIDを使用することによって実装される(IOUを移動させる新たなトランザクションデータが生成され、移動先ユーザの秘密鍵で生成された新たなアセットID(認証局から発行されたデジタル証明書を含む)が出力部に設定される)。
<資金移動(融資)処理>
次に、上記発行されたBCCを銀行コンピュータからユーザAに移動する処理の例を説明する。本発明に係る仮想通貨管理システムにおいては、銀行コンピュータによって発行されたBCCを通じて、ユーザ間およびユーザ−銀行システム間で資金移動が行われる。この例における資金移動は、銀行コンピュータがユーザAにBCC=600pを融資する例である。
銀行コンピュータの制御部12は、トランザクション101からハッシュ値を生成して、トランザクションデータ103を生成する。このトランザクションデータ103に対応するトランザクションをトランザクション103とする。生成されるトランザクションデータ103の例を図5に示す。
トランザクションデータ103の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。なお、銀行コンピュータは、トランザクション101および102でそれぞれBCC=600pおよびIOU=600pを発行しているので、この時点での銀行コンピュータのUTXOは1200pとなる。
出力部は、出金額としてBCC=600p、ユーザAのユーザID(以下、便宜上、ユーザA IDとする)、アセットIDa、およびトランザクション種別を含む。アセットIDaは、トランザクションデータ101で設定された値と同様であり、このIDによって、トランザクション101で発行されたBCCの資金移動(融資)であることを特定することができる。
トランザクション103の宛先として、ユーザA IDが指定されているので、BCC=600pがトランザクション103によってユーザAに移動することになる。トランザクション種別は、例えば、「2:送金」が設定される。
トランザクションデータ103は、銀行の秘密鍵によって暗号化されて、通信部11によって仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ103を受信したコンピュータ1は、銀行の公開鍵によって復号し、トランザクション103の検証をすることができる。
上述したトランザクションデータ101乃至103が生成された時点で、ユーザAは、融資額であるBCC=600pを保持し、銀行コンピュータは、同額のIOUを保持しているので、本発明に係る仮想通貨管理システムでは、ユーザAに融資したBCCに対して、銀行コンピュータが発行した借用証書(IOU=600p)を管理することができる。この時点での銀行コンピュータのUTXOは600pであり(トランザクション102で発行されたIOU=600p)、ユーザAのUTXOは600pである(トランザクション103で移動したBCC=600p)。
銀行コンピュータからシステム内定義通貨を通じた融資を受けたユーザAは、その後、その移動したBCC=600pを第三者(ユーザA以外の他のユーザ)に移動させてもよい(例えば、当該第三者に対する譲渡でもよい)。この場合、ユーザAのコンピュータ1は、第三者に移動する額をBCCとして指定し、当該第三者を宛先(出力部に当該第三者のユーザIDを含める)としてトランザクション103と同様にトランザクションデータを生成する。
以上のように、システム内定義通貨の発行およびその資金移動処理を説明したが、本発明に係る仮想通貨管理システムによれば、特定の権限を有するユーザであれば、任意の額のシステム内定義通貨をいつでも発行することができる。また、システム内定義通貨を発行することができるユーザが制限されるので、システム内定義通貨が乱発されるおそれもなくなる。さらに、IOUの移動も銀行団などの特定のユーザに制限されることから、権限なき第三者が融資に対する借用証書を有することを防止することができる。
<利息発行処理>
次に、銀行コンピュータがトランザクション103でユーザAに融資したBCCに対する利息を発行する処理の例を説明する。本実施形態では、融資額である600pに対する利息(2%)である12pが発行されるものとする。
上述したトランザクションデータ103が生成されてから所定の期間が経過した時点で(本実施形態では、所定の期間を経過して利息が発生するときを利息発生時点とし、以下で示す第2の利息発生時点に対して第1の利息発生時点とする)、銀行コンピュータの制御部12は、トランザクション103からハッシュ値を生成して、トランザクションデータ104を生成する。また、トランザクション102からハッシュ値を生成して、トランザクションデータ105を生成する。
第2の利息発生時点では、制御部12は、トランザクション104からハッシュ値を生成して、トランザクションデータ106を生成する。また、トランザクション105からハッシュ値を生成して、トランザクションデータ107を生成する。このトランザクションデータ104乃至107に対応するトランザクションをそれぞれトランザクション104乃至107とする。生成されるトランザクションデータ104乃至107の例を図6に示す。
トランザクションデータ104の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。
出力部は、出金額として、トランザクションデータ103のBCC=600pに対する利息額であるBCC=12p、銀行ユーザID、アセットIDa、およびトランザクション種別を含む。
トランザクション104の宛先として銀行ユーザIDが設定されているので、BCC=12pが銀行コンピュータに発行されることになる。アセットIDaは、トランザクションデータ103で設定された値と同様であり、このIDによって、トランザクション103でユーザAに移動した融資額に対する利息発行であることを特定することができる。トランザクション種別は、例えば、「1:発行」が設定される。
トランザクションデータ105の入力部は、トランザクションデータ104と同様であるので説明を省略する。出力部は、IOU=12p、銀行ユーザID、アセットID 2、およびトランザクション種別を含む。アセットIDb、トランザクションデータ102で設定された値と同様である。トランザクション種別は、「1:発行」が設定される
トランザクションデータ104および105は、銀行の秘密鍵によって署名されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ104および105を受信したコンピュータ1は、銀行の公開鍵によって、トランザクション104および105の署名を検証することができる。
また、第2の利息発行時点では、図5に示すように、トランザクションデータ106および107がそれぞれ、トランザクションデータ104および105と同様に生成される。
上述したトランザクションデータ104乃至107が生成された時点で、ユーザAの融資額であるBCC=600pに対し、銀行コンピュータは、利息額であるIOU=24pを発行したことになり、本発明に係る仮想通貨管理システムでは、ユーザAに融資したBCCに対して、銀行コンピュータが発行した利息額に対する借用証書を管理することができる。
この時点で、銀行コンピュータが発行した仮想通貨の合計額は、1248pであり(トランザクション101でBCC=600p、トランザクション102でIOU=600p、トランザクション104でBCC=12p、トランザクション105でIOU=12p、トランザクション106でBCC=12p、およびトランザクション107でIOU=12p)である。そのうちBCC=600pがトランザクション103でユーザAに移動しているので、銀行コンピュータのUTXOは648pであり、ユーザAのUTXOは600pである。
なお、トランザクション104および105とトランザクション106および107とはそれぞれ、第1の利息発生時点および第2の利息発生時点で発行されるトランザクションであるが、トランザクションデータ103での融資額(BCC=600p)の対する利息を予め分割してもよい。例えば、融資額(BCC=600p)に対する利息額が144pである場合、その額が予め12回に分割され(BCC=12p)、BCC=12pとするトランザクションデータ(以下、「利息発行トランザクションデータ1」)が12回生成され、IOU=12pとするトランザクションデータ(以下、「利息発行トランザクションデータ2」)が12回生成される(つまり、トランザクションデータ104と同様のトランザクションデータが12回、トランザクションデータ105と同様のトランザクションデータが12回生成される)。
利息発行トランザクションデータ1および利息発行トランザクションデータ2を生成する際は、参照するUTXOも12回に分割されることになる。利息発行トランザクションデータ1および利息発行トランザクションデータ2はそれぞれ、予め12回分を一度に生成されてもよく、または所定の周期で(例えば、第1の利息発生時点乃至第12の利息発行時点のそれぞれにおいて)生成されてもよい。
また、利息発行トランザクションデータ1および利息発行トランザクションデータ2で設定される利息額(つまり、BCCおよびIOU)は、トランザクションデータ103が生成された時点で定められた利率に基づいて算出されてもよく(固定金利)、または、利息発行トランザクションデータ1および利息発行トランザクションデータ2を生成する時点での利率に基づいて算出されてもよい(変動金利)。
<債務返済処理>
次に、ユーザAに移動したBCC、および上記発行された利息額をユーザAが返済する処理の例を説明する。この例では、ユーザAが銀行コンピュータに対し、返済額の合計である624pを返済することになる。ユーザAは、本発明に係る仮想通貨管理システムを利用して、本実施形態では説明しないトランザクション(以下、便宜上、トランザクションXとする)によって返済額である624pを取得しているものとする(つまり、この時点でのユーザAのUTXOが624p)。
ユーザAのコンピュータ1の制御部12は、トランザクションXからハッシュ値を生成して、トランザクションデータ108を生成する。このトランザクションデータ108に対応するトランザクションをトランザクション108とする。生成されるトランザクションデータ108の例を図7に示す。
トランザクションデータ108の入力部は、入金額として、銀行コンピュータへの返済額であるBCC=600p、BCC=12p、BCC=12p)、ユーザAの秘密鍵で生成された署名、ユーザAの公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(ユーザA)および残高を参照することができる。
出力部は、出金額として、入金額と同額のBCC=624p(入金額であるBCCの合計額)、銀行ユーザID、アセットIDa、およびトランザクション種別を含む。
トランザクション108の宛先として、銀行ユーザIDが指定されているので、BCC=624pがトランザクション108によって銀行コンピュータに移動(返済される)ことになる。アセットIDaは、トランザクションデータ101、104および106で設定された値と同様であり、このIDによって、トランザクション103で融資した融資額、ならびにトランザクション104および106で発行された利息に対する返済であることを特定することができる。トランザクション種別は、例えば、「2:送金」が設定される。
トランザクションデータ108は、ユーザAの秘密鍵によって暗号化されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ108を受信した他のコンピュータ1は、ユーザAの公開鍵によって復号し、トランザクション108の検証をすることができる。
トランザクション107が発行された時点で、銀行コンピュータのUTXOが648pであることは上述した。この状態で、トランザクション108でBCC=624pが銀行コンピュータに移動したので、この時点での銀行コンピュータのUTXOは1272pである。
<システム内定義通貨償却処理>
次に、トランザクション102、105および107で発行されたIOUを銀行コンピュータが償却する処理の例を説明する。
銀行コンピュータの制御部12は、トランザクション108からハッシュ値を生成して、トランザクションデータ109を生成する。このトランザクションデータ109に対応するトランザクションをトランザクション109とする。生成されるトランザクションデータ109の例を図5に示す。
トランザクションデータ109の入力部は、入金額として、トランザクション102、105および107で発行されたIOU=600p、IOU=12p、およびIOU=12p、銀行の秘密鍵で生成された署名、銀行の公開鍵、ならびにその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。
出力部は、出金額として、入金額と同額のBCC(624p)、銀行ユーザID、アセットIDb、およびトランザクション種別を含む。アセットIDbは、トランザクションデータ102、105および107で設定された値と同額であり、このIDによって、トランザクション102、105および107で発行された仮想通貨およびその利息に対する償却であることを特定することができる。トランザクション種別は、例えば、「3:償却」が設定される。
トランザクションデータ109は、銀行の秘密鍵によって署名されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ109を受信したコンピュータ1は、銀行の公開鍵によって、トランザクション109の署名を検証することができる。
上述したトランザクションデータ109が生成されたことによって、銀行コンピュータがそれまで保持していたIOUが全て償却されたことになる(出力部が全て同額のBCCに置き換わる)。これによって、ユーザAからの融資およびその利息に対する返済がされたことになる。
銀行コンピュータが発行した仮想通貨額の合計額は、1248pであることは上述した。この時点での銀行コンピュータのUTXOは1272pであるので、発行した合計額から24pが増加したことになる。これは、ユーザAから返済された利息(トランザクション105で発行したIOU=12p、およびトランザクション107で発行したIOU=12p)に対する返済を受けたことを意味する。
以上説明したように、トランザクション101での仮想通貨の発行からその償却までにおいて、各々のトランザクションの入力部および出力部で指定された仮想通貨の額、ならびにUTXOの整合性が全て保証されている。このようにして、本発明に係る仮想通貨管理システムでは、既存型仮想通貨管理システムでは困難であった利息を発行することができるとともに、総量保存則が満たされ、ひいては、システム内定義通貨の二重譲渡を防止することができる。
なお、トランザクション103での資金移動(融資)処理において、ユーザAに対して融資するBCCの融資額を予め分割し、分割した数のトランザクションを所定の周期で発行してもよい。この場合、分割したトランザクションの入力部および出力部に設定されるBCCは、分割した融資額が設定される(例えば、融資額が600pであり、分割数が6の場合、BCCは100pであり、6つのトランザクションデータが生成される)。このような構成によって、例えば、月賦払いなどの融資にも対応することができる。
上記トランザクションを分割する例では、後続の利息発行、返済、および償却処理についても、分割したトランザクションのそれぞれに対して実行される。
以上のように、本発明に係る仮想通貨管理プログラムを説明した。本実施形態では、仮想通貨管理システムを融資、その返済、および利息の発行を例としたユーザ間の資金移動に適用する例を説明したが、本発明の適用範囲はそのような例に限定されない。例えば、ユーザ間での売買契約など、システム内定義通貨を通じたユーザ間でのあらゆる資金(価値)移動に適用されてもよい。
1a コンピュータ
1b コンピュータ
1c コンピュータ
1d コンピュータ
2 ネットワーク

Claims (8)

  1. コンピュータ実行可能命令を含む仮想通貨管理プログラムであって、
    前記コンピュータ実行可能命令は、プロセッサによって実行されると、コンピュータに、仮想通貨を発行するための第1のトランザクションデータおよび第2のトランザクションデータを生成させ、
    前記第1のトランザクションデータは、
    第1の使用するUTXOへの参照、前記仮想通貨の第1のタイプの発行額、第1のユーザID、第1の秘密鍵から生成された第1のアセットID、および第1のタイプのトランザクション種別を含み、
    前記第2のトランザクションデータは、
    第2の使用するUTXOへの参照、前記第1のタイプの発行額と同額の第2のタイプの発行額、前記第1のユーザID、第2の秘密鍵から生成された第2のアセットID、および前記第1のタイプのトランザクション種別を含む
    ことを特徴とする仮想通貨管理プログラム。
  2. 前記第1のアセットIDおよび前記第2のアセットIDはそれぞれ、デジタル証明書により署名されたメタデータを含むことを特徴とする請求項1に記載の仮想通貨管理プログラム。
  3. 前記コンピュータ実行可能命令は、前記コンピュータに、
    前記第1のタイプの発行額を移動させるための第3のトランザクションデータを生成させ、
    前記第3のトランザクションデータは、第3の使用するUTXOへの参照、前記第1のタイプの発行額に対応する移動額、第2のユーザID、前記第1のアセットID、および第2のタイプのトランザクション種別を含む
    ことを特徴とする請求項1または2に記載の仮想通貨管理プログラム。
  4. 前記コンピュータ実行可能命令は、前記コンピュータに、
    前記仮想通貨を発行するための第4のトランザクションデータおよび第5のトランザクションデータを生成させ、
    前記第4のトランザクションデータは、前記第1のタイプの発行額と関連付けられた第3のタイプの発行額、第4の使用するUTXOへの参照、前記第1のユーザID、前記第1のアセットID、および前記第1のタイプのトランザクション種別を含み、
    前記第5のトランザクションデータは、前記第3のタイプの発行額と同額の第4のタイプの発行額、第5の使用するUTXOへの参照、前記第2のアセットID、および前記第1のタイプのトランザクション種別を含む
    ことを特徴とする請求項3に記載の仮想通貨管理プログラム。
  5. 前記コンピュータ実行可能命令は、前記コンピュータに、
    前記第2のタイプの発行額および/または前記第4のタイプの発行額の、一部または全部を償却するための第6のトランザクションデータを生成させ、
    前記第6のトランザクションデータは、前記第2のタイプの発行額および/または前記第4のタイプの発行額、第6の使用するUTXOへの参照、前記第2のタイプの発行額および/または前記第4のタイプの発行額と同額の償却額、前記第1のユーザID、前記第2のアセットID、ならびに第3のタイプのトランザクション種別を含む
    ことを特徴とする請求項4に記載の仮想通貨管理プログラム。
  6. 前記第4のトランザクションデータに含まれる前記第3のタイプの発行額は、前記第3のトランザクションデータを生成した時点で定められた額であることを特徴とする請求項4に記載の仮想通貨管理プログラム。
  7. 前記第4のトランザクションデータに含まれる前記第3のタイプの発行額は、前記第4のトランザクションデータが生成されるタイミングで算出されることを特徴とする請求項4に記載の仮想通貨管理プログラム。
  8. 相互接続された複数のコンピュータによって実行される仮想通貨管理方法であって、
    前記複数のコンピュータのうちの第1のコンピュータは、第1の秘密鍵および第1の公開鍵のペアと、第2の秘密鍵および第2の公開鍵のペアと、前記第1の公開鍵で生成された第1のユーザIDを記憶部に記憶しており、
    前記第1のコンピュータによって、
    仮想通貨を発行するための第1のトランザクションデータおよび第2のトランザクションデータを生成するステップと、
    前記生成した第1のトランザクションデータおよび前記生成した第2のトランザクションデータを、前記複数のコンピュータにブロードキャストするステップと
    を備え、
    前記生成した第1のトランザクションデータは、第1の使用するUTXOへの参照、前記仮想通貨の第1のタイプの発行額、前記第1のユーザID、前記第1の秘密鍵から生成された第1のアセットID、および第1のタイプのトランザクション種別を含み、
    前記生成した第2のトランザクションデータは、第2の使用するUTXOへの参照、
    前記第1のタイプの発行額と同額の第2のタイプの発行額、前記第1のユーザID、前記第2の秘密鍵から生成された第2のアセットID、および前記第1のタイプのトランザクション種別を含む
    ことを特徴とする方法。
JP2017058065A 2017-03-23 2017-03-23 仮想通貨管理プログラムおよび方法 Active JP6544695B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058065A JP6544695B2 (ja) 2017-03-23 2017-03-23 仮想通貨管理プログラムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058065A JP6544695B2 (ja) 2017-03-23 2017-03-23 仮想通貨管理プログラムおよび方法

Publications (2)

Publication Number Publication Date
JP2018160179A true JP2018160179A (ja) 2018-10-11
JP6544695B2 JP6544695B2 (ja) 2019-07-17

Family

ID=63795071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058065A Active JP6544695B2 (ja) 2017-03-23 2017-03-23 仮想通貨管理プログラムおよび方法

Country Status (1)

Country Link
JP (1) JP6544695B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119078A (ja) * 2019-01-21 2020-08-06 株式会社chaintope 情報処理方法、情報処理装置、プログラム、及び情報処理システム
CN111553791A (zh) * 2019-11-29 2020-08-18 上海十进制网络信息科技有限公司 数字现金对象货币及其生成方法、系统、设备和存储介质
KR20210089606A (ko) * 2020-07-17 2021-07-16 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 블록체인의 결제 처리 방법, 장치, 기기 및 매체
CN113489669A (zh) * 2020-09-23 2021-10-08 青岛海信电子产业控股股份有限公司 一种用户数据保护的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230281A (ja) * 2001-02-05 2002-08-16 Hiroshi Takahashi ローン方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230281A (ja) * 2001-02-05 2002-08-16 Hiroshi Takahashi ローン方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山崎 重一郎: "FinTech中核技術「ブロックチェーン」完全解説", FINTECH革命【増補改訂版】, vol. 第2版, JPN6018033621, 16 October 2016 (2016-10-16), JP, pages 72 - 83 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119078A (ja) * 2019-01-21 2020-08-06 株式会社chaintope 情報処理方法、情報処理装置、プログラム、及び情報処理システム
CN111553791A (zh) * 2019-11-29 2020-08-18 上海十进制网络信息科技有限公司 数字现金对象货币及其生成方法、系统、设备和存储介质
CN111553791B (zh) * 2019-11-29 2023-08-04 上海十进制网络信息科技有限公司 数字现金对象货币及其生成方法、系统、设备和存储介质
KR20210089606A (ko) * 2020-07-17 2021-07-16 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 블록체인의 결제 처리 방법, 장치, 기기 및 매체
KR102629821B1 (ko) * 2020-07-17 2024-01-29 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 블록체인의 결제 처리 방법, 장치, 기기 및 매체
CN113489669A (zh) * 2020-09-23 2021-10-08 青岛海信电子产业控股股份有限公司 一种用户数据保护的方法及装置
CN113489669B (zh) * 2020-09-23 2023-04-18 青岛海信电子产业控股股份有限公司 一种用户数据保护的方法及装置

Also Published As

Publication number Publication date
JP6544695B2 (ja) 2019-07-17

Similar Documents

Publication Publication Date Title
JP7428765B2 (ja) ブロックチェーン上のセキュアなピアツーピア通信の方法
US20210065293A1 (en) Distributed ledger lending
US11893637B2 (en) Systems and methods for cryptographic trading
Abdulhakeem et al. Powered by Blockchain technology, DeFi (Decentralized Finance) strives to increase financial inclusion of the unbanked by reshaping the world financial system
JP7112690B2 (ja) 分散トランザクションコンセンサスネットワークのデジタル財管理
JP6813477B2 (ja) 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法
WO2020155789A1 (zh) 基于区块链的存证方法和装置
US20210374853A1 (en) Atomically swapping ownership certificates
CA3000340A1 (en) Account platform for a distributed network of nodes
US20230419316A1 (en) Systems and methods for recording assets and transactions thereof in blockchains
CN112513906A (zh) 管理区块链网络上的交易
US20180268483A1 (en) Programmable asset systems and methods
JP2018530175A (ja) 分散トランザクションデータベースにおける出所保証のシステムおよび方法
Martins et al. Introduction to bitcoins: a pseudo-anonymous electronic currency system
US11669812B2 (en) Contingent payments for virtual currencies
JP6544695B2 (ja) 仮想通貨管理プログラムおよび方法
US10810586B2 (en) Currency information processor and currency information processing system
CA3023325A1 (en) System and method for dynamic financial management
US20210004791A1 (en) Guaranteeing server and method for transaction on blockchain
WO2019140247A2 (en) Multi-partner regional or national blockchain transaction system
Mita et al. What is Stablecoin?: A Survey on Its Mechanism and Potential as Decentralized Payment Systems
WO2021117515A1 (ja) 電子資産管理方法、及び電子資産管理装置
JP7308977B2 (ja) 同時取引を容易にするための方法、取引管理装置及びコンピュータ読み取り可能な媒体
JP2022084095A (ja) 情報処理システム、情報処理方法及び情報処理プログラム
Dhobale et al. Blockchain theories and its applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190607

R150 Certificate of patent or registration of utility model

Ref document number: 6544695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250