JP6544695B2 - Virtual currency management program and method - Google Patents

Virtual currency management program and method Download PDF

Info

Publication number
JP6544695B2
JP6544695B2 JP2017058065A JP2017058065A JP6544695B2 JP 6544695 B2 JP6544695 B2 JP 6544695B2 JP 2017058065 A JP2017058065 A JP 2017058065A JP 2017058065 A JP2017058065 A JP 2017058065A JP 6544695 B2 JP6544695 B2 JP 6544695B2
Authority
JP
Japan
Prior art keywords
transaction data
type
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.)
Active
Application number
JP2017058065A
Other languages
Japanese (ja)
Other versions
JP2018160179A (en
Inventor
重一郎 山▲崎▼
重一郎 山▲崎▼
茂亨 安土
茂亨 安土
高橋 剛
剛 高橋
仁志 岡田
仁志 岡田
雄介 金子
雄介 金子
繁幸 長田
繁幸 長田
公紀 栗原
公紀 栗原
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.)
Japan Research Institute Ltd
Kinki University
Inter University Research Institute Corp Research Organization of Information and Systems
Sumitomo Mitsui Banking Corp
Original Assignee
Japan Research Institute Ltd
Kinki University
Inter University Research Institute Corp 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 Japan Research Institute Ltd, Kinki University, Inter University Research Institute Corp Research Organization of Information and Systems, Sumitomo Mitsui Banking Corp filed Critical Japan Research Institute Ltd
Priority to JP2017058065A priority Critical patent/JP6544695B2/en
Publication of JP2018160179A publication Critical patent/JP2018160179A/en
Application granted granted Critical
Publication of JP6544695B2 publication Critical patent/JP6544695B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想通貨管理プログラムおよび方法に関し、特に、従来の仮想通貨管理プログラムおよび方法を利用して、ユーザ間でのあらゆる仮想通貨の資金移動を可能にする仮想通貨管理プログラムおよび方法に関する。   The present invention relates to a virtual currency management program and method, and more particularly to a virtual currency management program and method that enables the transfer of funds of any virtual currency between users using conventional virtual currency management programs and methods.

近年、ピアツーピア(Peer to Peer)型の決済網であるビットコイン(Bitcoin)と称される仮想通貨管理システムが利用されている。ビットコインとは、複数のコンピュータが相互接続された分散型コンピュータネットワークを利用して行われるオンライン仮想通貨またはその仮想通貨を使用したオンライン商取引スキームである。   In recent years, a virtual currency management system called Bitcoin, which is a payment network of Peer to Peer type, is used. Bitcoin is an online virtual currency or an online commerce scheme using the virtual currency, which is performed using a distributed computer network in which a plurality of computers are interconnected.

ビットコインの送金といった取引(以下、「トランザクション」と呼ぶ)では、ハッシュ関数と公開鍵暗号方式とを使用して分散台帳を形成することで、トランザクションの完全性が担保されている。トランザクションは、ビットコインを利用する全てのコンピュータにブロードキャストされ、コンピュータ上で動作するソフトウェアによってトランザクションの正当性が検証される。   In transactions such as remittance of bitcoins (hereinafter referred to as “transactions”), transaction integrity is secured by forming a distributed register using a hash function and a public key encryption method. The transaction is broadcast to all computers utilizing Bitcoin, and the software operating on the computer verifies the legitimacy of the transaction.

図1は、ユーザAからユーザBに(トランザクションA)、ユーザBからユーザCに(トランザクションB)、およびユーザCからユーザDに(トランザクションC)に送金を行う取引の例を示している。各トランザクションは、入力部および出力部を含む。入力部は、送金者の電子署名(送金者の秘密鍵によって生成された)、送金者の公開鍵、および送金者の使用する未使用仮想通貨の情報(UTXO:unspent transaction output)への参照を含み、使用するUTXOへの参照からは、入金額や送金者のビットコインアドレスが参照することができる。出力部は、出金額、および受取人となるユーザのビットコインアドレスを含む。   FIG. 1 shows an example of a transaction for transferring money from user A to user B (transaction A), user B to user C (transaction B), and user C to user D (transaction C). Each transaction includes an input and an output. The input unit is a reference to the sender's digital signature (generated by the sender's private key), the sender's public key, and information on the sender's unused virtual currency (UTXO: unspent transaction output). The reference to the UTXO to be used and used can refer to the deposit amount and the bitcoin address of the sender. The output unit includes the withdrawal amount and the bitcoin address of the user who is the payee.

ビットコインアドレスとは、ユーザがそれぞれ有する自身の公開鍵から生成されるIDである。各ユーザは、複数のビットコインアドレスを生成することができ、このアドレスによって各ユーザ、およびそのユーザがそのアドレスを使用した取引履歴を特定することができる。   The bitcoin address is an ID generated from the user's own public key. Each user can generate a plurality of bitcoin addresses, which can identify each user and the transaction history in which the user used that address.

ビットコインでは、ビットコインを発行するトランザクションを除き、トランザクションの入力部の入金額と出力部の出金額とが一致する総量保存則を満たされる。   With bitcoins, except for transactions that issue bitcoins, the total amount storage rule is satisfied in which the amount of money deposited in the input section of the transaction matches the amount of money deposited in the output section.

図2に示すように、入力部には、その時点での使用するUTXOへの参照が含まれ、この情報からUTXOの現所有者と残高とが参照することができる。例えば、ユーザAが100BTC(BTCはビットコインの数量単位)を所有していることが分かる。この状況から、ユーザBに10BTCを送金する場合、残りの90BTCはユーザA自身に送金する必要がある。このようにして、上述した総量保存則が満たされたままトランザクションは記録され、入力部には使用するUTXOへの参照を用いることで、通貨の二重譲渡を防止している。   As shown in FIG. 2, the input section includes a reference to the UTXO to be used at that time, and the current owner of UTXO and the balance can refer to this information. For example, it can be seen that the user A owns 100 BTC (BTC is a unit of bit coin quantity). From this situation, when transferring 10 BTC to User B, the remaining 90 BTCs need to be transferred to User A itself. In this way, the transaction is recorded while the above-described total amount storage rule is satisfied, and the double transfer of currency is prevented by using a reference to the UTXO to be used in the input unit.

ビットコインの仕組みを利用した(ビットコインにオーバレイする)ブロックチェーン上に様々なアセット(流動資産)を構成可能にする、カラードコインと呼ばれる技術がある。カラードコインは、ビットコインに「色」をつけることで、金・株式・証券・既存通貨その他あらゆる資産(アセット)を表現することができる技術である。   There is a technology called colored coin, which enables various assets (fluid assets) to be configured on a block chain using bit coin mechanism (overlay on bit coin). Colored coins are a technology that can represent gold, stocks, securities, existing currencies, and all other assets (assets) by adding color to bitcoins.

カラードコインは、ビットコインと異なり、カラードコインの発行者が存在する。カラードコインは、それを実装するプログラムを動作させたコンピュータ間でのみ、そのカラードコインによる取引を行うことができる。カラードコインを利用することによって、ビットコインの仕組みを利用して、ユーザ間での融資などを行うことも可能になる。このように、ビットコインを利用した仮想通貨管理システムが開発・利用されつつある。   Colored coins, unlike bitcoins, have issuers of colored coins. Colored coins can be traded with colored coins only between computers running programs that implement them. By using colored coins, it becomes possible to make loans among users using the bit coin mechanism. As such, a virtual currency management system using bitcoin is being developed and used.

ビットバンク株式会社&『ブロックチェーンの衝撃』編集委員会著、「ブロックチェーンの衝撃」、日経BP社、2016年 6月 8日Bit Bank Co., Ltd. & "Blockchain Impact" Editorial Board, "Blockchain Impact", Nikkei BP, June 8, 2016 岡田仁志、高橋 郁夫、山▲崎▼ 重一郎著「仮想通貨 技術・法律・制度」、東洋経済新報社、2015年 5月29日Hitoshi Okada, Atsushi Takahashi, Yamazaki ▼ ▼ 一郎 "Virtual currency technology · law · system", Toyo Keizai Shimbun, May 29, 2015

金融業務において使用する台帳は、利息を記録できることが必要となる。一方、金融業務において使用する台帳にブロックチェーンを採用することを考えたとき、すべてのアセット発行者は、アセットを無制限に発行することができることになる。   Ledgers used in financial services need to be able to record interest. On the other hand, considering the adoption of blockchains in the ledger used in financial business, all asset issuers will be able to issue assets without restriction.

このため、例えば、融資における元本や利息の返済といった、時間の経過などに伴ってアセットを発行したり償却したりする取引を行うと、取引記録全体におけるアセットの総量は一定に保たれず、アセットの総量の管理が難しくなる問題がある。これにより、ブロックチェーンに金融取引を記録しにくいという課題が生じていた。ビットコインおよびカラードコインでも、上述した総量保存則を満たす必要があるが、時間の経過とともに発生する利息の性質上、総量保存則を満たすことができなくなるからである。   For this reason, for example, when performing transactions such as repayment of principal and interest in a loan, etc., by issuing or depreciating assets with the passage of time, the total amount of assets in the entire transaction record is not kept constant. Management of the total amount of This has created the problem that it is difficult to record financial transactions in the blockchain. Even with bitcoins and colored coins, it is necessary to satisfy the above-mentioned total amount storage law, but due to the nature of the interest generated over time, the total amount storage law can not be satisfied.

本発明は、このような問題に鑑みてなされたものであり、その目的とするところは、金融機関でブロックチェーンを台帳として利用するための、合理的な台帳を構成するにあたり、利息といった時間経過に伴い増減する価値について、当該価値の正当な権利保有者による発行、資金移動、償却といった取引をブロックチェーンに記録する、仮想通貨管理プログラムおよび方法を提供することを目的とする。   The present invention has been made in view of such problems, and the purpose of the present invention is to use time lapses such as interest in constructing a rational ledger for utilizing a block chain as a ledger in a financial institution. The purpose of the program is to provide a virtual currency management program and method that records transactions such as issuance by the right holder of the value, transfer of money, and amortization in the blockchain, with respect to the value that increases or decreases.

上記の課題を解決するために、本発明に係る仮想通貨管理プログラムは、コンピュータ実行可能命令を含む仮想通貨管理プログラムであって、前記コンピュータ実行可能命令は、プロセッサによって実行されると、コンピュータに、仮想通貨を発行するための第1のトランザクションデータおよび第2のトランザクションデータを生成させ、前記第1のトランザクションデータは、第1の使用するUTXOへの参照、前記仮想通貨の第1のタイプの発行額、第1のユーザID、第1の秘密鍵から生成された第1のアセットID、および第1のタイプのトランザクション種別を含み、前記第2のトランザクションデータは、第2の使用するUTXOへの参照、前記第1のタイプの発行額と同額の第2のタイプの発行額、前記第1のユーザID、第2の秘密鍵から生成された第2のアセットID、および前記第1のタイプのトランザクション種別を含むことを特徴とする。   In order to solve the above problems, a virtual currency management program according to the present invention is a virtual currency management program including computer executable instructions, wherein the computer executable instructions are executed by a processor in a computer, Generating first transaction data and second transaction data for issuing a virtual currency, said first transaction data being a reference to a first used UTXO, issuance of a first type of said virtual currency A second user data including a first amount, a first user ID, a first asset ID generated from the first secret key, and a first type of transaction type, the second transaction data being sent to the second UTXO to be used Reference, second type issue amount equal to issue amount of the first type, first user ID, 2 of the second asset ID generated from a secret key, and characterized in that it comprises a transaction type of the first type.

本発明に係る仮想通貨管理プログラムによれば、時間経過に伴い増減する価値をブロックチェーンに記録することが可能になるため、仮想通貨とその利息を金融機関が発行し、ブロックチェーンを使用して流通させることが可能になる。この結果、金融取引に仮想通貨およびブロックチェーンを利用することができる場面が拡大する。   According to the virtual currency management program according to the present invention, it is possible to record in the block chain the value which increases and decreases with the passage of time, so that a financial institution issues virtual currency and its interest and uses the block chain. It becomes possible to distribute it. As a result, the situations in which virtual currencies and block chains can be used for financial transactions are expanded.

従来技術に従ったビットコインにおけるトランザクションの連鎖関係を示す図である。FIG. 7 is a diagram showing a chain relationship of transactions in bitcoin according to the prior art. 従来技術に従ったビットコインにおけるトランザクションの入力部と出力部との関係を示す図である。FIG. 7 is a diagram showing the relationship between the input and output of a transaction in bitcoin according to the prior art. 本発明に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムの全体の構成の例を示すブロック図である。It is a block diagram showing an example of the whole composition of a virtual currency management system implemented by running a virtual currency management program concerning the present invention. 本発明に係る仮想通貨管理プログラムが実行する処理の例を示すフローチャートである。It is a flowchart which shows the example of the process which the virtual currency management program which concerns on this invention performs. 本発明一実施形態に係る仮想通貨発行処理および資金移動(融資)に対応するトランザクションデータの例を示す図である。It is a figure which shows the example of the transaction data corresponding to the virtual currency issuing process and funds transfer (financing) which concern on one Embodiment of this invention. 本発明の一実施形態に係る利息発行処理に対応するトランザクションデータの例を示す図である。It is a figure showing an example of transaction data corresponding to interest issue processing concerning one embodiment of the present invention. 本発明の一実施形態に係る資金移動(返済)に対応するトランザクションデータの例を示す図である。It is a figure showing an example of transaction data corresponding to fund transfer (repayment) concerning one embodiment of the present invention. 本発明の一実施形態に係る仮想通貨償却処理に対応するトランザクションデータの例を示す図である。It is a figure which shows the example of the transaction data corresponding to the virtual currency depreciation process which concerns on one Embodiment of this invention.

以下で、本発明に係る仮想通貨管理プログラムおよび方法の詳細を説明する。本発明に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムは、ビットコインに代表される、既存の仮想通貨管理システム(以下、「既存型仮想通貨管理システム」)を利用するが(既存型仮想通貨管理システムにオーバレイして実装され、既存型仮想通貨管理システムの上位のレイヤで実装される。)、その前提となる既存型仮想通貨管理システムはビットコインに限定されない。   In the following, the details of the virtual currency management program and method according to the present invention are described. A virtual currency management system implemented by executing a virtual currency management program according to the present invention uses an existing virtual currency management system (hereinafter, “existing virtual currency management system”) represented by Bitcoin. (Which is implemented by overlaying the existing virtual currency management system and implemented in the upper layer of the existing virtual currency management system), but the underlying existing virtual currency management system is not limited to bitcoin.

既存型仮想通貨管理システムは、各ユーザが資金移動を実行する際に、コンピュータによってトランザクションデータが生成され、そのトランザクションデータが他のコンピュータにブロードキャストされ、一連のトランザクションの連鎖が検証・記録されるシステムを意味する。ブロードキャストされるトランザクションデータは、それまでのトランザクションに関するデータ(前のトランザクションのハッシュ値)を含み、この構成によって、各ユーザは、一連のトランザクションの履歴を検証することができる。   In an existing virtual currency management system, as each user executes a fund transfer, a computer generates transaction data, the transaction data is broadcast to other computers, and a series of transaction chains are verified and recorded. Means The transaction data to be broadcast includes data on previous transactions (hash value of previous transactions), and this configuration allows each user to verify the history of a series of transactions.

本明細書において、「資金移動」とは、仮想通貨を利用して一のユーザから別のユーザにその仮想通貨の指定した量が移動することを意味し、仮想通貨での融資、その返済、および送金などを含む。   In the present specification, “transfer of funds” means that a specified amount of virtual currency is transferred from one user to another using virtual currency, and a loan in virtual currency, its repayment, And money transfer etc.

<システム構成>
図3を参照して、本発明の一実施形態に係る仮想通貨管理プログラムを実行することによって実装される仮想通貨管理システムの全体の構成の例を説明する。本発明に係る仮想通貨管理システムは、複数のコンピュータ1a(例えば、スマートフォンなどの携帯電話、タブレット端末などの携帯情報端末)、コンピュータ1b(例えば、デスクトップ型パーソナルコンピュータなど)、コンピュータ1c(例えば、ノート型パーソナルコンピュータなど)、およびコンピュータ1d(例えば、データセンター設置型コンピュータなど)(以下、「コンピュータ1」と総称する)を備え、それらはネットワーク2を介して相互に接続されている。ネットワーク2は、インターネットや専用線などである。
<System configuration>
An example of the overall configuration of a virtual currency management system implemented by executing a virtual currency management program according to an embodiment of the present invention will be described with reference to FIG. The virtual currency management system according to the present invention includes a plurality of computers 1a (for example, a mobile phone such as a smartphone, a portable information terminal such as a tablet terminal), a computer 1b (for example, a desktop personal computer), a computer 1c (for example, a notebook Type computer and the like, and a computer 1 d (for example, a data center installed type computer and the like) (hereinafter collectively referred to as “computer 1”), which are mutually connected via the network 2. The network 2 is the Internet, a dedicated line, or the like.

コンピュータ1は、本発明に係る仮想通貨管理システムを利用するユーザが使用し、当該仮想通貨管理システムに参加するユーザを構成するコンピュータである。コンピュータ1を使用するユーザは、公開鍵暗号の秘密鍵と公開鍵のペア、および公開鍵から生成されるユーザIDを所持する。このユーザIDは、上述したビットコインアドレスと同様の役割を果たす。   The computer 1 is a computer that is used by a user who uses the virtual currency management system according to the present invention and configures a user who participates in the virtual currency management system. A user who uses the computer 1 possesses a private key-public key pair of public key encryption and a user ID generated from the public key. This user ID plays the same role as the bitcoin address described above.

ユーザは、コンピュータ1を使用して、特定のユーザとの間で資金移動を行い、また第三者の資金移動を検証・記録する。コンピュータ1は、スマートフォンなどの携帯電話、タブレット端末などの携帯情報端末、およびパーソナルコンピュータ(ノート型およびデスクトップ型コンピュータを含む)など、ネットワーク2にアクセス可能な任意のコンピュータを含む。   The user uses the computer 1 to transfer funds to and from a specific user, and verifies and records the transfer of funds by a third party. The computer 1 includes any computer capable of accessing the network 2 such as a mobile phone such as a smartphone, a portable information terminal such as a tablet terminal, and a personal computer (including a notebook computer and a desktop computer).

銀行も、コンピュータ1を用いて、仮想通貨管理システムに参加する。加えて、銀行が用いるコンピュータ1(以下、「銀行コンピュータ」と呼ぶ)のみが、以下で述べるシステム内定義仮想通貨を発行(利息のための発行を含む)および償却することができる。つまり、銀行コンピュータは、既存型仮想通貨システムの上位レイヤで実装される、本発明に係る仮想通貨管理システムによるユーザ間相互ネットワークにおいて、信頼可能な第三者機関の役割を果たす。   The bank also uses the computer 1 to participate in the virtual currency management system. In addition, only the computer 1 used by the bank (hereinafter referred to as "bank computer") can issue (including issue for interest) and depreciate the in-system defined virtual currency described below. That is, the bank computer plays the role of a reliable third party in the user-to-user interworking network by the virtual currency management system according to the present invention implemented in the upper layer of the existing virtual currency system.

次に、図4を参照して、本発明に係る仮想通貨管理システムを構成するコンピュータ1の詳細な構成の例を説明する。   Next, with reference to FIG. 4, an example of a detailed configuration of the computer 1 constituting the virtual currency management system according to the present invention will be described.

コンピュータ1は、通信部11、制御部12、主記憶部13、補助記憶部14、および表示部15を備えている。   The computer 1 includes a communication unit 11, a control unit 12, a main storage unit 13, an auxiliary storage unit 14, and a display unit 15.

通信部11は、ネットワーク2を介して接続された他のコンピュータ1およびとの間でデータおよび制御情報を送受信するネットワークインタフェースである。   The communication unit 11 is a network interface that transmits and receives data and control information to and from other computers 1 connected via the network 2.

制御部12は、中央処理装置(CPU)とも呼ばれ、上記各構成要素の制御やデータの演算を行う。また、制御部12は、本発明に係る各種処理を実行するための、補助記憶部14に格納されている各種プログラムを主記憶部13に読み取って実行する。   The control unit 12 is also referred to as a central processing unit (CPU), and performs control of each component and calculation of data. Further, the control unit 12 reads various programs stored in the auxiliary storage unit 14 into the main storage unit 13 to execute various processes according to the present invention, and executes the programs.

主記憶部13は、メインメモリとも呼ばれ、他のコンピュータ1からブロードキャストされたトランザクションのデータ、コンピュータ実行可能な命令および当該命令による演算処理後のデータなどを記憶する。   The main storage unit 13 is also referred to as a main memory, and stores transaction data broadcasted from another computer 1, a computer-executable instruction, data after arithmetic processing by the instruction, and the like.

補助記憶部14は、ハードディスク(HDD)などに代表される記憶装置であり、制御部12に、以下で説明するコンピュータ1によって実行されることになる各種処理を実行させるためのプログラム16を記憶している。このプログラムを実行したコンピュータ1のみが、本発明に係る仮想通貨管理システムによる資金移動を行うことができる。また、補助記憶部14には、上述した秘密鍵と公開鍵のペアおよびユーザIDが記憶されている。   The auxiliary storage unit 14 is a storage device represented by a hard disk (HDD) or the like, and stores a program 16 for causing the control unit 12 to execute various processes to be executed by the computer 1 described below. ing. Only the computer 1 that has executed this program can transfer funds using the virtual currency management system according to the present invention. Further, the auxiliary storage unit 14 stores the pair of the secret key and the public key described above and the user ID.

表示部15は、制御部12が補助記憶部14に記憶されたプログラム16を実行することによって、ユーザが情報を入力および表示するための入出力インタフェースを表示する。   The display unit 15 displays an input / output interface for the user to input and display information as the control unit 12 executes the program 16 stored in the auxiliary storage unit 14.

本発明では、既存型仮想通貨管理システムを利用して本発明に係る仮想通貨管理システムが実装される。既存型仮想通貨管理システムは、コンピュータ1の各々の制御部12が補助記憶部14に記憶されたプログラム16を実行することによって実行される。   In the present invention, a virtual currency management system according to the present invention is implemented using an existing virtual currency management system. The existing virtual currency management system is executed by the control unit 12 of the computer 1 executing the program 16 stored in the auxiliary storage unit 14.

本発明に係る仮想通貨管理システムでは、資金移動を行う際に、予め定義された通貨(以下、「システム内定義仮想通貨」)を発行し、その発行されたシステム内定義仮想通貨の資金移動がユーザ間およびユーザ−銀行システム間で行われる。システム内定義仮想通貨は、本発明に係る仮想通貨管理システムで有効な、ユーザ間およびユーザ−銀行システム間での資金移動において表現される価値であり、法定通貨(円、ドルなど)とのレートなどが定義されていても良い。   In the virtual currency management system according to the present invention, when performing fund transfer, a pre-defined currency (hereinafter, "in-system defined virtual currency") is issued, and the fund transfer of the issued in-system defined virtual currency is It takes place between users and between user-bank systems. The in-system defined virtual currency is a value expressed in the transfer of funds between users and between the user and the banking system, which is effective in the virtual currency management system according to the present invention, and is a rate with legal currency (yen, dollar, etc.) Etc. may be defined.

次に、本発明の一実施形態に係る仮想通貨管理プログラムが実行する処理の例を説明する。   Next, an example of processing executed by the virtual currency management program according to an embodiment of the present invention will be described.

<システム内定義通貨発行処理>
まず、銀行コンピュータがシステム内定義通貨を発行する処理の例を説明する。本発明に係る仮想通貨管理システムでは、上述したカラードコインと同様に、システム内定義通貨の発行者が存在するが、そのシステム内定義通貨は、特定の権限を有するユーザのみがシステム内定義通貨の発行(利息発行を含む)および後述する償却を行えるよう制御される。
<In-system defined currency issuance process>
First, an example of processing in which a bank computer issues an in-system defined currency will be described. In the virtual currency management system according to the present invention, as in the case of the colored coin described above, there is an issuer of a system-defined currency, but the system-defined currency is a system-defined currency that only users with specific authority have. It is controlled to be able to issue (including interest issue) and to make it described later.

具体的には、発行するシステム内定義通貨にアセットIDが付与される。このアセットIDは、銀行の秘密鍵によって生成されるため、他のユーザが同じアセットIDを発行することはできない。また、アセットIDがどのようなものかを定義したメタデータを定義し、アセットIDは、そのメタデータによって、アセットIDの発行用トランザクションにリンクすることができる。このメタデータは認証局から発行されたデジタル証明書による署名が行われているため、後述するトランザクションデータを受信した各コンピュータ1は、証明書を確認することでそのアセットIDの発行元を確認することができる(発行元を確認することによって、後述するトランザクションの種別ごとにトランザクションの発行が特定のユーザに制限される)。   Specifically, an asset ID is assigned to the in-system defined currency to be issued. Since this asset ID is generated by the bank's secret key, other users can not issue the same asset ID. Also, it defines metadata that defines what asset ID is, and the asset ID can be linked to a transaction for issuance of asset ID by the metadata. Since this metadata is signed by a digital certificate issued from a certificate authority, each computer 1 that has received transaction data to be described later confirms the issuer of the asset ID by confirming the certificate. (Verifying the issuer limits the issue of the transaction to a specific user for each type of transaction described later).

また、システム内定義通貨を発行および償却する権限を銀行コンピュータ以外のユーザに付与する場合は、銀行コンピュータを認証局としてもよい。本実施形態では、銀行コンピュータのみがシステム内定義通貨を発行(利息発行を含む)および償却することができるものとし、以下の例では、システム内定義通貨で定められた価値である600p(単位「p」は、便宜上そのように表現している)を発行するものとする。   When the user other than the bank computer is authorized to issue and depreciate the in-system defined currency, the bank computer may be a certification authority. In this embodiment, only the bank computer can issue (including an interest issue) and amortize the in-system defined currency, and in the following example, the value defined in the in-system defined currency is 600p (unit: Let p "issue so-called for convenience).

ここで、銀行コンピュータは、銀行の公開鍵を使用して生成されたユーザIDを補助記憶部14に記憶しているものとする。便宜上、銀行コンピュータのユーザIDを銀行ユーザIDとする。   Here, it is assumed that the bank computer stores the user ID generated using the bank's public key in the auxiliary storage unit 14. For convenience, the user ID of the bank computer is taken as a bank user ID.

まず、銀行コンピュータの制御部12は、銀行ユーザIDを使用して、トランザクションデータ101および102を生成する。このトランザクションデータ101および102に対応するトランザクションをそれぞれトランザクション101および102とする。生成されるトランザクションデータ101および102の例を図5に示す。   First, the control unit 12 of the bank computer generates transaction data 101 and 102 using the bank user ID. Transactions corresponding to the transaction data 101 and 102 are referred to as transactions 101 and 102, respectively. An example of the generated transaction data 101 and 102 is shown in FIG.

以下で説明する各トランザクションデータは、入力部および出力部を含む。トランザクションデータ101の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。銀行ユーザIDは、上述したように、例えば、ビットコインではビットコインアドレスに相当し、銀行コンピュータによるこの銀行ユーザIDを使用したトランザクションの履歴を参照することができ、よって、システム内定義通貨の発行者(銀行コンピュータ)および発行者のUTXOを特定することができる。   Each transaction data described below includes an input unit and an output unit. The input portion of the transaction data 101 includes a signature generated with the bank's private key, the bank's public key, and a reference to the UTXO to be used at that time. By reference to the UTXO used, the current owner (bank) and balance of UTXO can be referenced. The bank user ID corresponds to, for example, a bitcoin address in bitcoin, as described above, and can refer to the history of transactions using this bank user ID by the bank computer, and hence issue of the system-defined currency Can identify the UTXO of the issuer (bank computer) and the issuer.

出力部は、システム内定義仮想通貨の発行額である出金額としてBCC=600p、銀行ユーザID、アセットID、およびトランザクション種別を含む。BCC(Bank Cashier's Check)は、銀行が発行するシステム内定義通貨を意味する。出力部で設定されるユーザIDは、当該トランザクションで発行および資金移動などがされるシステム内定義通貨の宛先を示す。トランザクションデータ101では、銀行ユーザIDが設定されているので、BCC=600pが銀行コンピュータに発行されることを意味する。   The output unit includes BCC = 600p, a bank user ID, an asset ID, and a transaction type as a withdrawal amount that is an issue amount of the in-system defined virtual currency. BCC (Bank Cashier's Check) means an in-system defined currency issued by a bank. The user ID set in the output unit indicates the destination of the in-system defined currency to be issued and transferred in the transaction. In the transaction data 101, since the bank user ID is set, it means that BCC = 600p is issued to the bank computer.

銀行ユーザIDは、上述したように、例えば、ビットコインではビットコインアドレスに相当し、銀行コンピュータによるこの銀行ユーザIDを使用したトランザクションの履歴を参照することができる。   As described above, the bank user ID corresponds to, for example, a bitcoin address in bitcoin, and the bank computer can refer to the history of transactions using this bank user ID.

アセットIDは、システム内定義通貨を発行する都度、銀行の秘密鍵を使用して生成され、認証局から発行されたデジタル証明書による署名が行われたメタデータ(アセットIDがどのようなものかを定義した)を含む。このアセットIDによって、この発行されたBCCの資金移動を行う際に、当該発行されたBCCであることを特定することができる。トランザクション種別は、トランザクションの種別を示す値が設定され、例えば、「1:発行」、「2:送金」、および「3:償却」などであってもよく、トランザクションデータ101には、「1:発行」が設定される。   Asset ID is generated each time the system defined currency is issued, is generated using the bank's private key, and has been signed by a digital certificate issued from a certificate authority (metadata such as asset ID Defined). This asset ID can identify the issued BCC when transferring the issued BCC's funds. The transaction type is set to a value indicating the type of transaction, and may be, for example, “1: issue”, “2: remittance”, “3: amortization”, etc. The transaction data 101 includes “1: "Issue" is set.

トランザクションデータ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:発行」が設定される。   The input part of the transaction data 102 is the same as the transaction data 101, so the description is omitted. The output unit includes an IOU (I O You You), a bank user ID, an asset ID, and a transaction type as withdrawals. IOU means a borrowing certificate issued by the bank, and is set to a value equal to BCC = 600p of the transaction data 101. The asset ID is generated using the bank's private key, and is set to a value different from the asset ID of the transaction data 101 (the value of the asset ID is an asset generated by the transaction data 101 using the bank's private key) It is calculated using a calculation method different from the ID, or is generated using a secret key different from the bank's private key used in the transaction data 101) (for convenience, the asset IDs of the transactions 101 and 102 are asset IDs a and b, respectively. And). The transaction type "1: issue" is set.

トランザクションデータ101および102は、銀行の秘密鍵によって暗号化されて、通信部11によって仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ101および102を受信したコンピュータ1は、銀行の公開鍵によって復号し、トランザクション101および102の検証をすることができる。   The transaction data 101 and 102 are encrypted by the bank's secret key and broadcast by the communication unit 11 to the computers 1 of all users constituting the virtual currency management system. The computer 1 that has received the transaction data 101 and 102 can decrypt it with the bank's public key to verify the transactions 101 and 102.

このようにして、銀行コンピュータによるシステム内定義通貨の発行処理では、トランザクションデータ101とその対となるトランザクションデータ102が生成され、それぞれ、出力部において発行額である600pがBCCおよびIOUとして設定される。   In this way, in the issuing process of the in-system defined currency by the bank computer, the transaction data 101 and the paired transaction data 102 are generated, and the issue amount 600p is set as the BCC and IOU, respectively. .

トランザクション101で発行されたBCCは、転々流通する特性を備え、任意のユーザに移動することができる。一方、IOUは、銀行が発行する借用証書に相当するので、特定のユーザ(例えば、特定のユーザとの取引がある銀行団)への移動のみ認めるなど制御される。この移動の制御は、上述した銀行の秘密鍵によって生成されたアセットIDを使用することによって実装される(IOUを移動させる新たなトランザクションデータが生成され、移動先ユーザの秘密鍵で生成された新たなアセットID(認証局から発行されたデジタル証明書を含む)が出力部に設定される)。   The BCC issued in the transaction 101 has the feature of circulation and can move to any user. On the other hand, since the IOU corresponds to a borrowing certificate issued by a bank, it is controlled to allow only movement to a specific user (for example, a bank having a transaction with a specific user). This movement control is implemented by using the asset ID generated by the bank's private key described above (new transaction data for moving the IOU is generated, and a new generated by the destination user's private key Asset ID (including a digital certificate issued by a certificate authority) is set at the output unit.

<資金移動(融資)処理>
次に、上記発行されたBCCを銀行コンピュータからユーザAに移動する処理の例を説明する。本発明に係る仮想通貨管理システムにおいては、銀行コンピュータによって発行されたBCCを通じて、ユーザ間およびユーザ−銀行システム間で資金移動が行われる。この例における資金移動は、銀行コンピュータがユーザAにBCC=600pを融資する例である。
<Transfer of funds (financing) processing>
Next, an example of processing for moving the issued BCC from the bank computer to the user A will be described. In the virtual currency management system according to the present invention, funds are transferred between users and between user-bank systems through BCC issued by a bank computer. The money transfer in this example is an example in which the bank computer lends the user A BCC = 600 p.

銀行コンピュータの制御部12は、トランザクション101からハッシュ値を生成して、トランザクションデータ103を生成する。このトランザクションデータ103に対応するトランザクションをトランザクション103とする。生成されるトランザクションデータ103の例を図5に示す。   The control unit 12 of the bank computer generates a hash value from the transaction 101 to generate transaction data 103. A transaction corresponding to the transaction data 103 is referred to as a transaction 103. An example of the generated transaction data 103 is shown in FIG.

トランザクションデータ103の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。なお、銀行コンピュータは、トランザクション101および102でそれぞれBCC=600pおよびIOU=600pを発行しているので、この時点での銀行コンピュータのUTXOは1200pとなる。   The input portion of the transaction data 103 includes a signature generated with the bank's private key, the bank's public key, and a reference to the UTXO to be used at that time. By reference to this UTXO used, the current owner (bank) and balance of UTXO can be referenced. Since the bank computer issues BCC = 600 p and IOU = 600 p in the transactions 101 and 102, respectively, the UTXO of the bank computer at this time is 1200 p.

出力部は、出金額としてBCC=600p、ユーザAのユーザID(以下、便宜上、ユーザA IDとする)、アセットIDa、およびトランザクション種別を含む。アセットIDaは、トランザクションデータ101で設定された値と同様であり、このIDによって、トランザクション101で発行されたBCCの資金移動(融資)であることを特定することができる。   The output unit includes BCC = 600p as a withdrawal amount, a user ID of user A (hereinafter referred to as user A ID for convenience), an asset IDa, and a transaction type. The asset IDa is the same as the value set in the transaction data 101, and it is possible to specify that the BCC's funds transfer (loan) is issued in the transaction 101 by this ID.

トランザクション103の宛先として、ユーザA IDが指定されているので、BCC=600pがトランザクション103によってユーザAに移動することになる。トランザクション種別は、例えば、「2:送金」が設定される。   Since the user A ID is designated as the destination of the transaction 103, BCC = 600p is moved to the user A by the transaction 103. As the transaction type, for example, "2: remittance" is set.

トランザクションデータ103は、銀行の秘密鍵によって暗号化されて、通信部11によって仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ103を受信したコンピュータ1は、銀行の公開鍵によって復号し、トランザクション103の検証をすることができる。   The transaction data 103 is encrypted by the bank's secret key and broadcast by the communication unit 11 to the computers 1 of all the users constituting the virtual currency management system. The computer 1 that has received the transaction data 103 can decrypt it using the bank's public key and verify the transaction 103.

上述したトランザクションデータ101乃至103が生成された時点で、ユーザAは、融資額であるBCC=600pを保持し、銀行コンピュータは、同額のIOUを保持しているので、本発明に係る仮想通貨管理システムでは、ユーザAに融資したBCCに対して、銀行コンピュータが発行した借用証書(IOU=600p)を管理することができる。この時点での銀行コンピュータのUTXOは600pであり(トランザクション102で発行されたIOU=600p)、ユーザAのUTXOは600pである(トランザクション103で移動したBCC=600p)。   When transaction data 101 to 103 described above are generated, user A holds the loan amount BCC = 600p, and the bank computer holds the same amount of IOU. Therefore, virtual currency management according to the present invention The system can manage the borrowing certificate (IOU = 600p) issued by the bank computer for the BCC that has loaned to the user A. The UTXO of the bank computer at this time is 600p (IOU issued in transaction 102 = 600p), and the UTXO of user A is 600p (BCC moved in transaction 103 = 600p).

銀行コンピュータからシステム内定義通貨を通じた融資を受けたユーザAは、その後、その移動したBCC=600pを第三者(ユーザA以外の他のユーザ)に移動させてもよい(例えば、当該第三者に対する譲渡でもよい)。この場合、ユーザAのコンピュータ1は、第三者に移動する額をBCCとして指定し、当該第三者を宛先(出力部に当該第三者のユーザIDを含める)としてトランザクション103と同様にトランザクションデータを生成する。   The user A who has received a loan from the bank computer through the in-system defined currency may then move the moved BCC = 600p to a third party (for example, the third user other than the user A). Transfer to the person who In this case, the computer 1 of the user A designates the amount to be transferred to a third party as BCC, and sets the third party as a destination (including the user ID of the third party in the output unit) as in the transaction 103. Generate data.

以上のように、システム内定義通貨の発行およびその資金移動処理を説明したが、本発明に係る仮想通貨管理システムによれば、特定の権限を有するユーザであれば、任意の額のシステム内定義通貨をいつでも発行することができる。また、システム内定義通貨を発行することができるユーザが制限されるので、システム内定義通貨が乱発されるおそれもなくなる。さらに、IOUの移動も銀行団などの特定のユーザに制限されることから、権限なき第三者が融資に対する借用証書を有することを防止することができる。   As described above, although the issue of the in-system defined currency and the money transfer process have been described, according to the virtual currency management system according to the present invention, an in-system definition of any amount is possible for a user having a specific authority. Currency can be issued anytime. In addition, since the users who can issue the in-system defined currency are limited, there is no possibility that the in-system defined currency will be burst. In addition, the movement of the IOU is also restricted to certain users, such as banking groups, which can prevent unauthorized third parties from having a debt certificate for a loan.

<利息発行処理>
次に、銀行コンピュータがトランザクション103でユーザAに融資したBCCに対する利息を発行する処理の例を説明する。本実施形態では、融資額である600pに対する利息(2%)である12pが発行されるものとする。
<Interest issue processing>
Next, an example of a process in which the bank computer issues interest to BCC which has loaned the user A in the transaction 103 will be described. In this embodiment, it is assumed that 12p, which is the interest (2%) on the loan amount 600p, is issued.

上述したトランザクションデータ103が生成されてから所定の期間が経過した時点で(本実施形態では、所定の期間を経過して利息が発生するときを利息発生時点とし、以下で示す第2の利息発生時点に対して第1の利息発生時点とする)、銀行コンピュータの制御部12は、トランザクション103からハッシュ値を生成して、トランザクションデータ104を生成する。また、トランザクション102からハッシュ値を生成して、トランザクションデータ105を生成する。   When a predetermined period has elapsed since the generation of the above-mentioned transaction data 103 (in the present embodiment, the time when the interest is generated after the predetermined period is regarded as the time of interest generation, the second interest generation shown below The control unit 12 of the bank computer generates a hash value from the transaction 103 to generate transaction data 104, which is a first interest occurrence time with respect to the time). Also, a hash value is generated from the transaction 102 to generate transaction data 105.

第2の利息発生時点では、制御部12は、トランザクション104からハッシュ値を生成して、トランザクションデータ106を生成する。また、トランザクション105からハッシュ値を生成して、トランザクションデータ107を生成する。このトランザクションデータ104乃至107に対応するトランザクションをそれぞれトランザクション104乃至107とする。生成されるトランザクションデータ104乃至107の例を図6に示す。   At the second occurrence of interest, control unit 12 generates a hash value from transaction 104 to generate transaction data 106. Also, a hash value is generated from the transaction 105 to generate transaction data 107. Transactions corresponding to the transaction data 104 to 107 are referred to as transactions 104 to 107, respectively. An example of the generated transaction data 104 to 107 is shown in FIG.

トランザクションデータ104の入力部は、銀行の秘密鍵で生成された署名、銀行の公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。   The input portion of the transaction data 104 includes a signature generated with the bank's private key, the bank's public key, and a reference to the UTXO to be used at that time. By reference to this UTXO used, the current owner (bank) and balance of UTXO can be referenced.

出力部は、出金額として、トランザクションデータ103のBCC=600pに対する利息額であるBCC=12p、銀行ユーザID、アセットIDa、およびトランザクション種別を含む。   The output unit includes BCC = 12p, which is an interest amount for BCC = 600p of the transaction data 103, a bank user ID, an asset IDa, and a transaction type as the withdrawal amount.

トランザクション104の宛先として銀行ユーザIDが設定されているので、BCC=12pが銀行コンピュータに発行されることになる。アセットIDaは、トランザクションデータ103で設定された値と同様であり、このIDによって、トランザクション103でユーザAに移動した融資額に対する利息発行であることを特定することができる。トランザクション種別は、例えば、「1:発行」が設定される。   Since the bank user ID is set as the destination of the transaction 104, BCC = 12p will be issued to the bank computer. The asset IDa is the same as the value set in the transaction data 103, and it is possible to identify the interest issue for the loan amount moved to the user A in the transaction 103 by this ID. As the transaction type, for example, “1: issue” is set.

トランザクションデータ105の入力部は、トランザクションデータ104と同様であるので説明を省略する。出力部は、IOU=12p、銀行ユーザID、アセットID 2、およびトランザクション種別を含む。アセットIDb、トランザクションデータ102で設定された値と同様である。トランザクション種別は、「1:発行」が設定される   The input part of the transaction data 105 is the same as the transaction data 104, so the description will be omitted. The output unit includes IOU = 12 p, bank user ID, asset ID 2, and transaction type. It is the same as the value set in the asset ID b and the transaction data 102. Transaction type is set to "1: Issue"

トランザクションデータ104および105は、銀行の秘密鍵によって署名されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ104および105を受信したコンピュータ1は、銀行の公開鍵によって、トランザクション104および105の署名を検証することができる。   The transaction data 104 and 105 are signed by the bank's secret key and broadcast to the computers 1 of all the users making up the virtual currency management system. The computer 1 having received the transaction data 104 and 105 can verify the signature of the transactions 104 and 105 by the bank's public key.

また、第2の利息発行時点では、図5に示すように、トランザクションデータ106および107がそれぞれ、トランザクションデータ104および105と同様に生成される。   Also, at the time of the second interest issuance, as shown in FIG. 5, transaction data 106 and 107 are generated similarly to the transaction data 104 and 105, respectively.

上述したトランザクションデータ104乃至107が生成された時点で、ユーザAの融資額であるBCC=600pに対し、銀行コンピュータは、利息額であるIOU=24pを発行したことになり、本発明に係る仮想通貨管理システムでは、ユーザAに融資したBCCに対して、銀行コンピュータが発行した利息額に対する借用証書を管理することができる。   When the above-described transaction data 104 to 107 are generated, the bank computer has issued an interest amount IOU = 24p to BCC = 600p, which is the loan amount of the user A, which is a virtual according to the present invention. In the currency management system, it is possible to manage a borrowing certificate for the amount of interest issued by the bank computer for the BCC that has loaned the user A.

この時点で、銀行コンピュータが発行した仮想通貨の合計額は、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である。   At this point, the total amount of virtual currency issued by the bank computer is 1248p (BCC = 600p in transaction 101, IOU = 600p in transaction 102, BCC = 12p in transaction 104, IOU = 12p in transaction 105, transaction 106) And BCC = 12 p, and transaction 107 IOU = 12 p). Among them, since BCC = 600p is moved to the user A in the transaction 103, UTXO of the bank computer is 648p and UTXO of the user A is 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回生成される)。   Although transactions 104 and 105 and transactions 106 and 107 are transactions issued at the first interest occurrence time and the second interest occurrence time, respectively, the loan amount (BCC = 600 p) in the transaction data 103 Interest on interest may be divided in advance. For example, when the interest amount for the loan amount (BCC = 600 p) is 144 p, the amount is divided in 12 times in advance (BCC = 12 p) and BCC = 12 p as transaction data (hereinafter, “interest issue transaction data 1”) Is generated 12 times and IOU = 12 p (hereinafter referred to as “interest issue transaction data 2”) is generated 12 times (that is, 12 pieces of transaction data similar to transaction data 104, transaction data 105 and Similar transaction data is generated 12 times).

利息発行トランザクションデータ1および利息発行トランザクションデータ2を生成する際は、参照するUTXOも12回に分割されることになる。利息発行トランザクションデータ1および利息発行トランザクションデータ2はそれぞれ、予め12回分を一度に生成されてもよく、または所定の周期で(例えば、第1の利息発生時点乃至第12の利息発行時点のそれぞれにおいて)生成されてもよい。   When generating the interest issue transaction data 1 and the interest issue transaction data 2, the UTXO to be referred to is also divided into 12 times. The interest issuance transaction data 1 and the interest issuance transaction data 2 may each be generated in advance 12 times at a time, or in a predetermined cycle (for example, at each of the first interest occurrence time to the twelfth interest issuance time) ) May be generated.

また、利息発行トランザクションデータ1および利息発行トランザクションデータ2で設定される利息額(つまり、BCCおよびIOU)は、トランザクションデータ103が生成された時点で定められた利率に基づいて算出されてもよく(固定金利)、または、利息発行トランザクションデータ1および利息発行トランザクションデータ2を生成する時点での利率に基づいて算出されてもよい(変動金利)。   In addition, the amount of interest (that is, BCC and IOU) set in the interest issuance transaction data 1 and the interest issuance transaction data 2 may be calculated based on the interest rate determined at the time of generation of the transaction data 103 ( The fixed interest rate may be calculated based on the interest rate at the time of generating the interest issue transaction data 1 and the interest issue transaction data 2 (variable interest rate).

<債務返済処理>
次に、ユーザAに移動したBCC、および上記発行された利息額をユーザAが返済する処理の例を説明する。この例では、ユーザAが銀行コンピュータに対し、返済額の合計である624pを返済することになる。ユーザAは、本発明に係る仮想通貨管理システムを利用して、本実施形態では説明しないトランザクション(以下、便宜上、トランザクションXとする)によって返済額である624pを取得しているものとする(つまり、この時点でのユーザAのUTXOが624p)。
<Debt repayment processing>
Next, an example of processing for the user A to repay the BCC moved to the user A and the above-mentioned issued interest amount will be described. In this example, the user A repays the bank computer the sum of repayment amount 624p. It is assumed that the user A acquires the repayment amount 624 p by a transaction (hereinafter referred to as transaction X for convenience) which is not described in the present embodiment, using the virtual currency management system according to the present invention (that is, , UTXO of user A at this time is 624p).

ユーザAのコンピュータ1の制御部12は、トランザクションXからハッシュ値を生成して、トランザクションデータ108を生成する。このトランザクションデータ108に対応するトランザクションをトランザクション108とする。生成されるトランザクションデータ108の例を図7に示す。   The control unit 12 of the computer 1 of the user A generates a hash value from the transaction X to generate transaction data 108. A transaction corresponding to the transaction data 108 is referred to as a transaction 108. An example of the generated transaction data 108 is shown in FIG.

トランザクションデータ108の入力部は、入金額として、銀行コンピュータへの返済額であるBCC=600p、BCC=12p、BCC=12p)、ユーザAの秘密鍵で生成された署名、ユーザAの公開鍵、およびその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(ユーザA)および残高を参照することができる。   The input unit of the transaction data 108 includes, as a payment amount, BCC = 600 p, BCC = 12 p, BCC = 12 p) which is the repayment amount to the bank computer, a signature generated with the user A's private key, the user A's public key, And a reference to the UTXO to be used at that time. The reference to the UTXO used can refer to the current owner (user A) of UTXO and the balance.

出力部は、出金額として、入金額と同額のBCC=624p(入金額であるBCCの合計額)、銀行ユーザID、アセットIDa、およびトランザクション種別を含む。   The output unit includes, as the withdrawal amount, BCC = 624p (total amount of BCC that is the receipt amount), the bank user ID, the asset IDa, and the transaction type, which are the same amount as the deposit amount.

トランザクション108の宛先として、銀行ユーザIDが指定されているので、BCC=624pがトランザクション108によって銀行コンピュータに移動(返済される)ことになる。アセットIDaは、トランザクションデータ101、104および106で設定された値と同様であり、このIDによって、トランザクション103で融資した融資額、ならびにトランザクション104および106で発行された利息に対する返済であることを特定することができる。トランザクション種別は、例えば、「2:送金」が設定される。   Since the bank user ID is specified as the destination of the transaction 108, BCC = 624p will be transferred (repayed) to the bank computer by the transaction 108. The asset IDa is similar to the value set in transaction data 101, 104 and 106, which identifies the loan amount loaned in transaction 103 and the repayment for the interest issued in transactions 104 and 106 can do. As the transaction type, for example, "2: remittance" is set.

トランザクションデータ108は、ユーザAの秘密鍵によって暗号化されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ108を受信した他のコンピュータ1は、ユーザAの公開鍵によって復号し、トランザクション108の検証をすることができる。   The transaction data 108 is encrypted by the secret key of the user A and broadcast to the computers 1 of all the users constituting the virtual currency management system. The other computer 1 that has received the transaction data 108 can decrypt it using the user A's public key and verify the transaction 108.

トランザクション107が発行された時点で、銀行コンピュータのUTXOが648pであることは上述した。この状態で、トランザクション108でBCC=624pが銀行コンピュータに移動したので、この時点での銀行コンピュータのUTXOは1272pである。   It has been mentioned above that UTXO of the bank computer is 648p when transaction 107 is issued. In this state, since BCC = 624p moved to the bank computer in transaction 108, the UTXO of the bank computer at this point is 1272p.

<システム内定義通貨償却処理>
次に、トランザクション102、105および107で発行されたIOUを銀行コンピュータが償却する処理の例を説明する。
<In-system defined currency depreciation processing>
Next, an example of a process in which the bank computer amortizes the IOU issued in the transactions 102, 105 and 107 will be described.

銀行コンピュータの制御部12は、トランザクション108からハッシュ値を生成して、トランザクションデータ109を生成する。このトランザクションデータ109に対応するトランザクションをトランザクション109とする。生成されるトランザクションデータ109の例を図5に示す。   The control unit 12 of the bank computer generates a hash value from the transaction 108 to generate transaction data 109. A transaction corresponding to the transaction data 109 is referred to as a transaction 109. An example of the generated transaction data 109 is shown in FIG.

トランザクションデータ109の入力部は、入金額として、トランザクション102、105および107で発行されたIOU=600p、IOU=12p、およびIOU=12p、銀行の秘密鍵で生成された署名、銀行の公開鍵、ならびにその時点での使用するUTXOへの参照を含む。この使用するUTXOへの参照によって、UTXOの現所有者(銀行)および残高を参照することができる。   The input part of the transaction data 109 is, as deposit amount, IOU = 600p, IOU = 12p, and IOU = 12p issued in the transactions 102, 105 and 107, a signature generated with a bank's secret key, a bank's public key, As well as references to UTXO to be used at that time. By reference to this UTXO used, the current owner (bank) and balance of UTXO can be referenced.

出力部は、出金額として、入金額と同額のBCC(624p)、銀行ユーザID、アセットIDb、およびトランザクション種別を含む。アセットIDbは、トランザクションデータ102、105および107で設定された値と同額であり、このIDによって、トランザクション102、105および107で発行された仮想通貨およびその利息に対する償却であることを特定することができる。トランザクション種別は、例えば、「3:償却」が設定される。   The output unit includes, as a withdrawal amount, a BCC (624p), a bank user ID, an asset IDb, and a transaction type, which are equal to the payment amount. The asset ID b is equal to the value set in the transaction data 102, 105 and 107, and this ID can specify that the virtual currency issued in the transactions 102, 105 and 107 and the amortization for the interest thereof it can. The transaction type is set, for example, “3: Amortization”.

トランザクションデータ109は、銀行の秘密鍵によって署名されて、仮想通貨管理システムを構成する全ユーザのコンピュータ1にブロードキャストされる。トランザクションデータ109を受信したコンピュータ1は、銀行の公開鍵によって、トランザクション109の署名を検証することができる。   The transaction data 109 is signed by the bank's secret key and broadcast to the computers 1 of all the users making up the virtual currency management system. The computer 1 having received the transaction data 109 can verify the signature of the transaction 109 by the bank's public key.

上述したトランザクションデータ109が生成されたことによって、銀行コンピュータがそれまで保持していたIOUが全て償却されたことになる(出力部が全て同額のBCCに置き換わる)。これによって、ユーザAからの融資およびその利息に対する返済がされたことになる。   The generation of the above-described transaction data 109 means that all the IOUs held by the bank computer until now are amortised (all the output units are replaced with the same BCC). This means that the loan from user A and the repayment for the interest are made.

銀行コンピュータが発行した仮想通貨額の合計額は、1248pであることは上述した。この時点での銀行コンピュータのUTXOは1272pであるので、発行した合計額から24pが増加したことになる。これは、ユーザAから返済された利息(トランザクション105で発行したIOU=12p、およびトランザクション107で発行したIOU=12p)に対する返済を受けたことを意味する。   As mentioned above, the total amount of virtual currency amounts issued by the bank computer is 1248p. Since UTXO of the bank computer at this point is 1272p, it means that 24p has increased from the total amount issued. This means that the user A receives repayment for the interest repayment (IOU = 12 p issued in the transaction 105 and IOU issued 1210 in the transaction 107).

以上説明したように、トランザクション101での仮想通貨の発行からその償却までにおいて、各々のトランザクションの入力部および出力部で指定された仮想通貨の額、ならびにUTXOの整合性が全て保証されている。このようにして、本発明に係る仮想通貨管理システムでは、既存型仮想通貨管理システムでは困難であった利息を発行することができるとともに、総量保存則が満たされ、ひいては、システム内定義通貨の二重譲渡を防止することができる。   As described above, from the issue of the virtual currency in transaction 101 to the amortization thereof, the consistency of the amount of virtual currency designated in the input part and the output part of each transaction, and UTXO are all guaranteed. Thus, in the virtual currency management system according to the present invention, it is possible to issue interest which was difficult in the existing type virtual currency management system, and the total amount storage law is satisfied, which means that in-system defined currency Double transfer can be prevented.

なお、トランザクション103での資金移動(融資)処理において、ユーザAに対して融資するBCCの融資額を予め分割し、分割した数のトランザクションを所定の周期で発行してもよい。この場合、分割したトランザクションの入力部および出力部に設定されるBCCは、分割した融資額が設定される(例えば、融資額が600pであり、分割数が6の場合、BCCは100pであり、6つのトランザクションデータが生成される)。このような構成によって、例えば、月賦払いなどの融資にも対応することができる。   It should be noted that, in the fund transfer (loan) process in the transaction 103, the loan amount of the BCC to be provided to the user A may be divided in advance, and the divided number of transactions may be issued at a predetermined cycle. In this case, the BCC set in the input unit and the output unit of the divided transaction is set to the divided loan amount (for example, when the loan amount is 600 p and the number of divisions is 6, the BCC is 100 p, Six transaction data are generated). With such a configuration, for example, it is possible to cope with a loan such as a monthly payment.

上記トランザクションを分割する例では、後続の利息発行、返済、および償却処理についても、分割したトランザクションのそれぞれに対して実行される。   In the example of dividing the transaction, the subsequent interest issue, repayment, and amortization processes are also executed for each of the divided transactions.

以上のように、本発明に係る仮想通貨管理プログラムを説明した。本実施形態では、仮想通貨管理システムを融資、その返済、および利息の発行を例としたユーザ間の資金移動に適用する例を説明したが、本発明の適用範囲はそのような例に限定されない。例えば、ユーザ間での売買契約など、システム内定義通貨を通じたユーザ間でのあらゆる資金(価値)移動に適用されてもよい。   As described above, the virtual currency management program according to the present invention has been described. In this embodiment, an example is described in which the virtual currency management system is applied to a loan, its repayment, and the transfer of funds between users in the example of the issue of interest, but the scope of application of the present invention is not limited to such an example. . For example, it may be applied to all funds (value) transfer between users through a system-defined currency, such as sales contracts between users.

1a コンピュータ
1b コンピュータ
1c コンピュータ
1d コンピュータ
2 ネットワーク
1a computer 1b computer 1c computer 1d computer 2 network

Claims (7)

コンピュータ実行可能命令を含む仮想通貨管理プログラムであって、
前記コンピュータ実行可能命令は、プロセッサによって実行されると、相互接続された複数のコンピュータのうちのいずれかのコンピュータに、
仮想通貨を発行するための第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のタイプのトランザクション種別を出力部にみ、前記第1の使用するUTXOおよび前記第2の使用するUTXOはそれぞれ、前記第1のタイプの発行額と前記第2のタイプの発行額との合計額と等しい
ことを特徴とする仮想通貨管理プログラム。
A virtual currency manager program containing computer executable instructions, comprising:
The computer executable instructions, when executed by a processor, cause one of a plurality of interconnected computers to:
Generating first transaction data and second transaction data for issuing a virtual currency;
The first transaction data and the second transaction data are recorded in a block chain by broadcasting the plurality of computers to the plurality of computers, and the first transaction data inputs a reference to a first used UTXO. to include, include the issuance of the first type of virtual currency, the first user ID, the first of the first asset ID generated from a secret key, and the output unit a transaction type of the first type, The second transaction data includes, at an input portion, a reference to a second UTXO to be used, and a second type issue amount equal to the issue amount of the first type, the first user ID, the second 2 of the second asset ID generated from a secret key, and viewed including the output unit a transaction type of the first type, the second Virtual currency management program UTXO to UTXO and the second use to use in each, characterized in that equal to the sum of the issuance of the first type and the second type and issuance.
前記第1のアセットIDおよび前記第2のアセットIDはそれぞれ、デジタル証明書により署名されたメタデータを含むことを特徴とする請求項1に記載の仮想通貨管理プログラム。   The virtual currency management program according to claim 1, wherein the first asset ID and the second asset ID each include metadata signed by a digital certificate. 前記コンピュータ実行可能命令は、前記コンピュータに、
前記第1のタイプの発行額を移動させるための第3のトランザクションデータを生成させ、
前記第3のトランザクションデータを、前記複数のコンピュータにブロードキャストすることによって前記ブロックチェーンに記録させ、前記第3のトランザクションデータは、第3の使用するUTXOへの参照を入力部に含み、前記第1のタイプの発行額に対応する移動額、第2のユーザID、前記第1のアセットID、および第2のタイプのトランザクション種別を出力部に含む
ことを特徴とする請求項1または2に記載の仮想通貨管理プログラム。
The computer executable instructions are stored on the computer
Generating third transaction data for moving the issue amount of the first type;
The third transaction data is recorded in the block chain by broadcasting the plurality of computers to the plurality of computers, and the third transaction data includes a reference to a third used UTXO at an input portion, the first The transfer unit according to claim 1 or 2, characterized in that the output unit includes a transfer amount corresponding to the issue amount of the second type, a second user ID, the first asset ID, and a second type of transaction type. Virtual Currency Management Program.
前記コンピュータ実行可能命令は、前記コンピュータに、
前記仮想通貨を発行するための第4のトランザクションデータおよび第5のトランザクションデータを生成させ、
前記第4のトランザクションデータおよび前記第5のトランザクションデータを、前記複数のコンピュータにブロードキャストすることによって前記ブロックチェーンに記録させ、前記第4のトランザクションデータは、第4の使用するUTXOへの参照を入力部に含み、前記第1のタイプの発行額と関連付けられた第3のタイプの発行額、前記第1のユーザID、前記第1のアセットID、および前記第1のタイプのトランザクション種別を出力部に含み、前記第5のトランザクションデータは、第5の使用するUTXOへの参照を入力部に含み、前記第3のタイプの発行額と同額の第4のタイプの発行額、前記第1のユーザID、前記第2のアセットID、および前記第1のタイプのトランザクション種別を出力部に含む
ことを特徴とする請求項3に記載の仮想通貨管理プログラム。
The computer executable instructions are stored on the computer
Generating fourth transaction data and fifth transaction data for issuing the virtual currency;
The fourth transaction data and the fifth transaction data are recorded in the block chain by broadcasting to the plurality of computers, and the fourth transaction data inputs a reference to the fourth UTXO to be used wherein the parts, the third type of issuance associated with issuance of the first type, the first user ID, the first asset ID, and an output unit transaction type of the first type to include, the fifth transaction data, a reference to UTXO the use of a 5 comprises an input unit, issuance of the third type of issuance and the fourth type of the same amount, the first user The output unit includes an ID, the second asset ID, and the transaction type of the first type. The virtual currency management program according to claim 3.
前記第4のトランザクションデータに含まれる前記第3のタイプの発行額は、前記第3のトランザクションデータを生成した時点で定められた額であることを特徴とする請求項4に記載の仮想通貨管理プログラム。   5. The virtual currency management according to claim 4, wherein the issue amount of the third type included in the fourth transaction data is an amount determined when the third transaction data is generated. program. 前記第4のトランザクションデータに含まれる前記第3のタイプの発行額は、前記第4のトランザクションデータが生成されるタイミングで算出されることを特徴とする請求項4に記載の仮想通貨管理プログラム。   The virtual currency management program according to claim 4, wherein the issuance amount of the third type included in the fourth transaction data is calculated at a timing when the fourth transaction data is generated. 相互接続された複数のコンピュータによって実行される仮想通貨管理方法であって、
前記複数のコンピュータのうちの第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のタイプのトランザクション種別を出力部にみ、前記第1の使用するUTXOおよび前記第2の使用するUTXOはそれぞれ、前記第1のタイプの発行額と前記第2のタイプの発行額との合計額と等しい、ステップと
を備えたことを特徴とする方法。
A virtual currency management method implemented by a plurality of interconnected computers, comprising:
A first computer of the plurality of computers is a pair of a first secret key and a first public key, a second secret key and a second public key, and the first public key. The generated first user ID is stored in the storage unit,
By the first computer
Generating first transaction data and second transaction data for issuing a virtual currency;
Recording the generated first transaction data and the generated second transaction data in a block chain by broadcasting to the plurality of computers, wherein the generated first transaction data is A reference to the UTXO used by the input unit in the input unit, the first type of issuance amount of the virtual currency, the first user ID, the first asset ID generated from the first secret key, and the first asset ID A transaction type of type 1 is included in the output unit, and the generated second transaction data includes a reference to the second UTXO to be used in the input unit, and the second equivalent of the issue amount of the first type Amount of issue amount, the first user ID, a second asset ID generated from the second secret key, and Serial viewed including the first type output unit transaction type, issuance of the first, respectively UTXO and the second used to UTXO uses, wherein the first type of issuance second type A method characterized in that it comprises steps and equal to the sum of
JP2017058065A 2017-03-23 2017-03-23 Virtual currency management program and method Active JP6544695B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058065A JP6544695B2 (en) 2017-03-23 2017-03-23 Virtual currency management program and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058065A JP6544695B2 (en) 2017-03-23 2017-03-23 Virtual currency management program and method

Publications (2)

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

Family

ID=63795071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058065A Active JP6544695B2 (en) 2017-03-23 2017-03-23 Virtual currency management program and method

Country Status (1)

Country Link
JP (1) JP6544695B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119078A (en) * 2019-01-21 2020-08-06 株式会社chaintope Information processing method, information processing apparatus, program, and information processing system
CN111553791B (en) * 2019-11-29 2023-08-04 上海十进制网络信息科技有限公司 Digital cash object currency and method, system, device and storage medium for generating the same
CN111738712A (en) * 2020-07-17 2020-10-02 百度在线网络技术(北京)有限公司 Payment processing method, device, equipment and medium for block chain
CN113489669B (en) * 2020-09-23 2023-04-18 青岛海信电子产业控股股份有限公司 User data protection method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230281A (en) * 2001-02-05 2002-08-16 Hiroshi Takahashi Method for loan

Also Published As

Publication number Publication date
JP2018160179A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
JP7428765B2 (en) How to secure peer-to-peer communication on blockchain
US11562333B1 (en) System, method and program product for generating and utilizing stable value digital assets
US11893637B2 (en) Systems and methods for cryptographic trading
US11334883B1 (en) Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
US11017391B1 (en) System, method and program product for generating and utilizing stable value digital assets
US20210065293A1 (en) Distributed ledger lending
JP7112690B2 (en) Digital Wealth Management for Decentralized Transaction Consensus Network
Abdulhakeem et al. Powered by Blockchain technology, DeFi (Decentralized Finance) strives to increase financial inclusion of the unbanked by reshaping the world financial system
US20180293553A1 (en) Account platform for a distributed network of nodes
WO2020155789A1 (en) Blockchain-based certificate storage method and apparatus
US20210374853A1 (en) Atomically swapping ownership certificates
US11455642B1 (en) Distributed ledger based interchange
JP6544695B2 (en) Virtual currency management program and method
Ahmad et al. Blockchain Implementation in Financial Sector and Cyber Security System
US20210295320A1 (en) Lightweight blockchain supported transaction platform with blockchain based checking enhancements
WO2022212801A2 (en) Advanced transactional protocols and ecosystem for smart contract authoring and deployment
WO2019204117A1 (en) Systems and methods for recording assets and transactions thereof in blockchains
US11392906B2 (en) Cryptographic token with separate circulation groups
Ainsworth et al. Payroll tax & the blockchain
Palihapitiya Blockchain Revolution in Banking Industry
CA3023325A1 (en) System and method for dynamic financial management
Mas et al. Bitcoin-like protocols and innovations
Van Hee et al. A new digital currency system
Sharma et al. Using crypto currency and associated advantages and disadvantages
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