JP5858506B1 - Virtual currency management program and virtual currency management method - Google Patents
Virtual currency management program and virtual currency management method Download PDFInfo
- Publication number
- JP5858506B1 JP5858506B1 JP2015080222A JP2015080222A JP5858506B1 JP 5858506 B1 JP5858506 B1 JP 5858506B1 JP 2015080222 A JP2015080222 A JP 2015080222A JP 2015080222 A JP2015080222 A JP 2015080222A JP 5858506 B1 JP5858506 B1 JP 5858506B1
- Authority
- JP
- Japan
- Prior art keywords
- user
- transaction
- public key
- remittance
- information
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 35
- 238000013507 mapping Methods 0.000 claims abstract description 140
- 230000006870 function Effects 0.000 claims description 22
- 238000000034 method Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 54
- 238000012795 verification Methods 0.000 description 54
- 238000012545 processing Methods 0.000 description 31
- 238000005065 mining Methods 0.000 description 16
- 239000000284 extract Substances 0.000 description 11
- 238000009412 basement excavation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000009467 reduction Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
【課題】鍵ペアを更新後も、更新前に利用していた仮想通貨を継続して利用可能とする、仮想通貨管理プログラム、及び仮想通貨管理方法を提供する。【解決手段】ユーザの識別子と、ユーザの公開鍵との対応関係を示すマッピング情報を記憶する手段、仮想通貨を第1のユーザに送金する第1の取引における、第1のユーザの識別子を含む第1の取引情報と、第1の取引により送金された金額の少なくとも一部を第1のユーザが送金する第2の取引における、第1のユーザの第1の公開鍵及び第1の電子署名を含む第2の取引情報とを記憶する手段、及び第2の取引情報に含まれる第1の公開鍵が、マッピング情報において、第1の取引情報に含まれる第1のユーザの識別子に対応付けられているか否か、及び、第2の取引情報に含まれる第1の公開鍵で第2の取引情報に含まれる第1の電子署名を検証できるか否かに基づいて、第2の取引の正当性を検証する手段、を備える。【選択図】図7The present invention provides a virtual currency management program and a virtual currency management method that allow a virtual currency used before the update to be continuously used even after the key pair is updated. Means for storing mapping information indicating a correspondence relationship between a user identifier and a user public key, including a first user identifier in a first transaction in which a virtual currency is transferred to the first user The first public information and the first electronic signature of the first user in the second transaction in which the first user remits at least a part of the first transaction information and the amount remitted by the first transaction And the first public key included in the second transaction information is associated with the identifier of the first user included in the first transaction information in the mapping information. Based on whether the first electronic signature included in the second transaction information can be verified with the first public key included in the second transaction information. Means for verifying validity. [Selection] Figure 7
Description
本発明は、仮想通貨管理プログラム、及び仮想通貨管理方法等に関する。 The present invention relates to a virtual currency management program, a virtual currency management method, and the like.
近年、円やドルといった現実の貨幣による物品の取引だけでなく、電子マネー等の仮想通貨を用いた商取引が行われている。非特許文献1には、ビットコインと呼ばれる仮想通貨を用いて取引を行う技術について開示されている。
ビットコインによる取引では、ハッシュ関数と公開鍵暗号方式とを用いて、取引データの完全性が担保されている。暗号化を用いて行われた取引(以下、ビットコインの取引を「トランザクション」とも呼ぶ。)は、ビットコインを利用する全端末に対してブロードキャストで配信される。配信されたトランザクションは、マイナー(発掘者)と呼ばれる端末ソフトウェアによって正当性が検証され、発掘されたブロックにまとめられ、ブロックチェーンと呼ばれる台帳に記録され、それが他のマイナーたちにより追認されることで承認される。
In recent years, not only transactions of goods using real money such as yen and dollars but also business transactions using virtual currency such as electronic money have been carried out. Non-Patent Document 1 discloses a technique for performing a transaction using a virtual currency called bitcoin.
In the transaction using Bitcoin, the integrity of the transaction data is secured using a hash function and a public key cryptosystem. Transactions performed using encryption (hereinafter, bitcoin transactions are also referred to as “transactions”) are distributed by broadcast to all terminals using bitcoins. The delivered transaction is verified by terminal software called a miner (excavator), compiled into excavated blocks, recorded in a ledger called blockchain, and confirmed by other miners Approved by
非特許文献1には、公開鍵を用いてビットコインのコインの所有者を識別する方法について開示されている。非特許文献1に記載の方法によれば、コインの現在の所有者は、相手にコインを支払う際、現在のコイン(自分に宛てられたコインのデータ)と相手の公開鍵を合わせたデータに対して、ハッシュ関数を適用し、自分の秘密鍵を用いて署名を施す。コインを受け取った相手は、その一つ手前の取引におけるコインの受け手の公開鍵を用いて署名を検証すると共に、ハッシュ値を再計算することで、コインが正当な所有者から自分宛てに渡されたことを確認することができる。 Non-Patent Document 1 discloses a method for identifying the owner of a bit coin using a public key. According to the method described in Non-Patent Document 1, when the current owner of the coin pays the coin to the opponent, the current coin (data of the coin addressed to him) and the data of the opponent's public key are combined. On the other hand, a hash function is applied, and a signature is applied using its own secret key. The recipient of the coin verifies the signature using the public key of the coin recipient in the previous transaction, and recalculates the hash value, so that the coin is delivered to himself / herself from the rightful owner. Can be confirmed.
非特許文献1に記載の方法の場合、ビットコインのシステム内では、ユーザは公開鍵によって識別され、秘密鍵によってコインの所有者であることを証明する。そのため、たとえばユーザが秘密鍵を紛失してしまった場合、そのユーザは、自分が鍵を紛失する前のユーザと同一ユーザであることを証明できなくなってしまう。その結果、そのユーザはこれまで所有していたコインを利用することができなくなってしまう。 In the case of the method described in Non-Patent Document 1, in the Bitcoin system, the user is identified by the public key and proves that it is the coin owner by the private key. Therefore, for example, if the user loses the secret key, the user cannot prove that the user is the same user as the user before the key is lost. As a result, the user cannot use the coins that have been owned so far.
そこで、本発明は、上記事情に鑑み、鍵ペアを更新後も、更新前に利用していた仮想通貨を継続して利用可能とするための、仮想通貨管理プログラム、及び仮想通貨管理方法を提供することを目的とするものである。 Therefore, in view of the above circumstances, the present invention provides a virtual currency management program and a virtual currency management method for making it possible to continuously use a virtual currency that has been used before the update even after the key pair is updated. It is intended to do.
本発明による仮想通貨管理プログラムは、コンピュータを、ユーザの識別子と、当該ユーザの公開鍵との対応関係を示すマッピング情報を記憶する記憶手段、仮想通貨を第1のユーザに送金する第1の取引における、第1のユーザの識別子を含む第1の取引情報と、第1の取引により送金された金額の少なくとも一部を第1のユーザが送金する第2の取引における、第1のユーザの第1の公開鍵及び第1の電子署名を含む第2の取引情報とを記憶する記憶手段、及び第2の取引情報に含まれる第1の公開鍵が、マッピング情報において、第1の取引情報に含まれる第1のユーザの識別子に対応付けられているか否か、及び、第2の取引情報に含まれる第1の公開鍵で第2の取引情報に含まれる第1の電子署名を検証できるか否かに基づいて、第2の取引の正当性を検証する検証手段として機能させるものを含む。 The virtual currency management program according to the present invention is a first transaction in which a computer stores storage information for storing mapping information indicating a correspondence relationship between a user identifier and a public key of the user, and remits the virtual currency to the first user. In the second transaction in which the first user remits at least part of the first transaction information including the identifier of the first user and the amount remitted by the first transaction. The storage means for storing the first public key and the second transaction information including the first electronic signature, and the first public key included in the second transaction information are included in the first transaction information in the mapping information. Whether or not the first electronic signature included in the second transaction information can be verified with the first public key included in the second transaction information, whether or not it is associated with the identifier of the first user included Based on whether or not Including those which function as a verification means for verifying the validity of the second transaction.
また、本発明による仮想通貨管理方法は、コンピュータが、ユーザの識別子と、当該ユーザの公開鍵との対応関係を示すマッピング情報を記憶するステップと、仮想通貨を第1のユーザに送金する第1の取引における、第1のユーザの識別子を含む第1の取引情報と、第1の取引により送金された金額の少なくとも一部を第1のユーザが送金する第2の取引における、第1のユーザの第1の公開鍵及び第1の電子署名を含む第2の取引情報とを記憶するステップと、第2の取引情報に含まれる第1の公開鍵が、マッピング情報において、第1の取引情報に含まれる第1のユーザの識別子に対応付けられているか否か、及び、第2の取引情報に含まれる第1の公開鍵で第2の取引情報に含まれる第1の電子署名を検証できるか否かに基づいて、第2の取引の正当性を検証するステップと、を実行する方法を含む。 The virtual currency management method according to the present invention includes a step in which a computer stores mapping information indicating a correspondence relationship between a user identifier and the public key of the user, and a first remittance of the virtual currency to the first user. The first user in the second transaction in which the first user remits at least a part of the first transaction information including the identifier of the first user in the transaction and the amount repaid by the first transaction Storing the first public key and the second transaction information including the first electronic signature, and the first public key included in the second transaction information is the first transaction information in the mapping information. The first electronic signature included in the second transaction information can be verified with the first public key included in the second transaction information. Based on whether or not Including how to perform the steps of verifying the validity of the second transaction, the.
本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。 The program of the present invention can be installed or loaded on a computer through various recording media such as an optical disk such as a CD-ROM, a magnetic disk, or a semiconductor memory, or via a communication network.
また、本明細書等において、「部」とは、単に物理的構成を意味するものではなく、その構成が有する機能をソフトウェアによって実現する場合も含む。また、1つの構成が有する機能が2つ以上の物理的構成により実現されても、2つ以上の構成の機能が1つの物理的構成により実現されてもよい。 Further, in this specification and the like, the “unit” does not simply mean a physical configuration, but also includes a case where the functions of the configuration are realized by software. In addition, functions of one configuration may be realized by two or more physical configurations, or functions of two or more configurations may be realized by one physical configuration.
本発明によれば、鍵ペアを更新後も、更新前に利用していた仮想通貨を継続して利用可能とするための、仮想通貨管理プログラム、及び仮想通貨管理方法を提供することができる。 According to the present invention, it is possible to provide a virtual currency management program and a virtual currency management method for making it possible to continuously use a virtual currency that has been used before the update even after the key pair is updated.
[第1の実施形態]
以下、本発明の実施の形態の1つについて詳細に説明する。なお、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。またさらに、必要に応じて示す上下左右等の位置関係は、特に断らない限り、図示の表示に基づくものとする。さらにまた、図面における各種の寸法比率は、その図示の比率に限定されるものではない。
[First Embodiment]
Hereinafter, one embodiment of the present invention will be described in detail. The following embodiments are examples for explaining the present invention, and are not intended to limit the present invention only to the embodiments. The present invention can be variously modified without departing from the gist thereof. Furthermore, those skilled in the art can employ embodiments in which the elements described below are replaced with equivalent ones, and such embodiments are also included in the scope of the present invention. Furthermore, positional relationships such as up, down, left, and right shown as needed are based on the display shown unless otherwise specified. Furthermore, various dimensional ratios in the drawings are not limited to the illustrated ratios.
<1.システム構成の概要>
図1は、仮想通貨システム10の構成の一例を示している。図1に示すように、仮想通貨システム10は、本発明に係る仮想通貨管理プログラムをインストールした、複数のクライアント装置同士が互いに通信を行う、P2Pの構成となっている。図1の例では、仮想通貨を用いて取引を行うユーザのクライアント端末を端末100A〜C(以下、端末100A〜Cをまとめて「端末100」とも呼ぶ。)、送金トランザクションの検証や承認を行うユーザのクライアント端末を端末200A〜C(以下、端末200A〜Cをまとめて「端末200」とも呼ぶ。)として説明する。
<1. Overview of system configuration>
FIG. 1 shows an example of the configuration of the
端末100及び端末200は、インターネットや専用線等のネットワーク400に接続されたコンピュータである。具体的には、携帯電話やスマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)、タブレット、ウェアラブル(Wearable)端末等が挙げられるが、これに限られない。ネットワーク400に有線又は無線で接続された装置100及び200が、互いに通信可能に設定されることにより、仮想通貨システム10を構成する。なお、本実施形態において、仮想通貨システム10は、P2P型のシステムであるとして説明するが、これに限定されるものではない。例えば、仮想通貨システム10は、クラウドコンピューティング形式のシステムとして構成されてもよい。この場合、ユーザは、仮想通貨システム10のコンピュータ処理をネットワーク経由でサービスとして利用する。また、仮想通貨システム10は、ASP(Application Service Provider)のサーバを含むシステムとして構成されてもよい。
The
<2.仮想通貨の概要>
まず、仮想通貨システム10によって提供される仮想通貨(以下、仮想通貨システム10によって提供される仮想通貨を「オーブ」とも呼ぶ。)の概要について説明する。オーブは既存のビットコインと同様に、インターネットを用いたP2Pデジタル通貨であり、公開鍵暗号方式とハッシュ関数を用いたデジタル署名によって取引情報の完全性が担保されている。また、オーブの取引に関する情報や履歴は、仮想通貨システム10全体で分散して管理される。なお、本実施形態においてオーブは最小単位が「1Orb」である通貨として説明する。
<2. Overview of virtual currency>
First, the outline of the virtual currency provided by the virtual currency system 10 (hereinafter, the virtual currency provided by the
オーブを利用するユーザは、まず仮想通貨管理プログラムをインストールする必要がある。仮想通貨管理プログラムには、ウォレットツールとマイニングツールとが含まれていることが望ましい。ウォレットツールは、オーブの購入やオーブを用いた取引を行うために必要なツールをいう。一方で、マイニングツールは、オーブを用いた取引の完全性や整合性を検証し、取引を承認するために必要なツールをいう。 A user who uses an orb must first install a virtual currency management program. The virtual currency management program preferably includes a wallet tool and a mining tool. The wallet tool is a tool necessary to purchase orbs and conduct transactions using the orbs. On the other hand, the mining tool refers to a tool necessary for verifying the integrity and consistency of a transaction using an orb and approving the transaction.
ウォレットツールをクライアント端末にインストールしたユーザは、ネットワーク400に一意なIDを生成する必要がある。IDは、たとえば、ユーザのメールアドレスと任意の単語とを組み合わせた文字列のハッシュ値である。生成したIDは、オーブの購入や送金に利用する公開鍵と紐づけられ、後述するマッピング情報と呼ばれる構造体で管理される。マッピング情報の生成や更新に関するデータ(以下、マッピング情報の生成や更新に関するデータを「マップトランザクション」とも呼ぶ。)は、ネットワーク400全体で共有される。
A user who has installed the wallet tool on the client terminal needs to generate a unique ID in the
マッピング情報を生成したユーザは、オーブを購入することができるようになる。「オーブを購入する」とは、仮想通貨システム10に新たなオーブを発生させることをいう。具体的には、ユーザによって、任意の金額の現実の通貨からオーブへと換金されることを指す。
The user who generated the mapping information can purchase the orb. “Purchase an orb” means that a new orb is generated in the
さらにユーザは、購入したオーブを他のユーザに送金することができる。「オーブを送金する」とは、元の所有者から新たな所有者へとオーブの受け渡しが行われることをいう。 Further, the user can remit the purchased orb to another user. “Transmit the orb” means that the orb is transferred from the original owner to the new owner.
オーブの購入や送金に関するデータ(以下、オーブの購入や送金に関するデータを「送金トランザクション」とも呼ぶ。特に、オーブの購入に関するデータを「通貨発生トランザクション」とも呼ぶ。)は、後述するブロックチェーンと呼ばれる構造体によって管理される。ブロックチェーンは、ブロックと呼ばれるデータが時系列に並べられたものであり、オーブの送金を記した台帳としての役割を有している。マイニングツールをウォレットツールに加えてクライアント端末にインストールしたユーザ(以下、ウォレットツールのみをインストールしたユーザを単に「ユーザ」と呼び、ウォレットツールとマイニングツールとをインストールしたユーザを「マイナー」と呼ぶ。)は、送金トランザクションの正当性を検証し、正当な送金トランザクションを承認することができる。さらにマイナーは、承認済みの送金トランザクションから構成されるブロックを生成(以下、ブロックを生成することを「ブロックを発掘する」とも呼ぶ。)して、ブロックチェーンにつなぐことができる。 Data related to orb purchase and remittance (hereinafter, data related to orb purchase and remittance is also referred to as “remittance transaction”. In particular, data related to orb purchase is also referred to as “currency generation transaction”) is referred to as a block chain described later. Managed by a structure. The block chain is a series of data called blocks, and serves as a ledger that records the remittance of orbs. A user who has installed the mining tool on the client terminal in addition to the wallet tool (hereinafter, a user who has installed only the wallet tool is simply referred to as “user”, and a user who has installed the wallet tool and mining tool is referred to as “minor”) Can verify the validity of the remittance transaction and approve the valid remittance transaction. Further, the miner can generate a block composed of approved remittance transactions (hereinafter, generating the block is also referred to as “excavating the block”) and connecting it to the block chain.
なお、オーブは、購入時から時間の経過とともに、減価するように構成されている。そのため、オーブを購入したユーザは、オーブが減価によって消滅してしまう前に消費する必要がある。オーブが減価するように構成されることで、ユーザは投資の対象とせず、結果として、オーブの価値を安定させることが可能になる。 The orb is configured to depreciate as time passes from the time of purchase. Therefore, the user who purchased the orb needs to consume it before the orb disappears due to depreciation. By configuring the orb to depreciate, the user is not the target of the investment, and as a result, the value of the orb can be stabilized.
<3.機能構成>
次に、図2を用いて、本実施形態に係る仮想通貨管理プログラムをインストールした端末100及び200の機能構成について説明する。
<3−1.ウォレットツールの機能>
図2(A)は、ウォレットツールをインストールした、端末100の機能ブロック図の一例を示す図である。ウォレットツールをインストールした端末100には、送金トランザクションDB131と、ブロック情報DB132と、マッピング情報DB133と、口座情報DB134と、マップトランザクション情報DB135と、送金受付部101と、インプットデータ作成部102と、アウトプットデータ作成部103と、送金トランザクション配信部104と、マッピング部105とが構築されることが望ましい。
<3. Functional configuration>
Next, the functional configuration of the
<3-1. Wallet Tool Functions>
FIG. 2A is a diagram illustrating an example of a functional block diagram of the terminal 100 in which the wallet tool is installed. The terminal 100 in which the wallet tool is installed has a
送金トランザクション情報DB131には、端末100又は200がネットワーク400にブロードキャストで配信した送金トランザクションの履歴が保存されている。1つの送金トランザクションには、通常、インプットデータ、アウトプットデータ、送金トランザクションが発生した時刻、送金トランザクションが後述するブロックチェーンに追加された時刻が含まれることが望ましい。なお、オーブの購入時に配信される通貨発生トランザクションには、インプットデータは含まれないとしてもよい。
The remittance
送金トランザクションのアウトプットデータには、送金されるオーブの金額と、送金先のユーザIDとが含まれていることが望ましい。 The output data of the remittance transaction preferably includes the amount of the orb to be remittance and the user ID of the remittance destination.
送金トランザクションのインプットデータには、今回送金するオーブを送金元ユーザが受け取った送金トランザクションのアウトプットデータへのポインタと、後述する電子署名作成処理によって作成される送金元ユーザの電子署名と、送金元ユーザの公開鍵とが含まれていることが望ましい。 The input data of the remittance transaction includes a pointer to the output data of the remittance transaction that the remittance user received the orb to be retransmitted this time, the electronic signature of the remittance source user created by the electronic signature creation process described later, and the remittance source It is desirable to include the user's public key.
オーブを用いた取引では、過去に受け取った、又は購入したオーブを送金対象として指定し、別のユーザへと送金する。そのため、送金を行う際には、過去の送金トランザクションから、送金元ユーザが送金先ユーザとなったアウトプットデータを今回の送金対象として指定する必要がある。このように、オーブの送金トランザクションは、インプットデータが1つ前のアウトプットデータへのポインタを有する構造をしている。その結果、すべての送金トランザクションは、通貨発生トランザクションまでポインタを介して数珠つなぎとなるデータ構造となっている。 In a transaction using an orb, an orb received or purchased in the past is designated as a remittance target and remittance to another user. For this reason, when performing remittance, it is necessary to designate output data in which the remittance source user has become the remittance destination user from the past remittance transaction as the remittance target this time. As described above, the orb remittance transaction has a structure in which the input data has a pointer to the previous output data. As a result, all remittance transactions have a data structure that is linked to each other through a pointer to the currency generation transaction.
ブロック情報DB132には、生成されたブロックに関する情報が保存されている。ブロックには、マイナーが正当性を検証して承認した複数の送金トランザクションやマップトランザクションが格納されている。オーブの購入や送金、マッピング情報の生成や更新は、ブロックチェーンと呼ばれる構造体によって管理されている。ブロックチェーンは、ブロックと呼ばれるデータが時系列に並べられたものをいう。ブロックチェーンは仮想通貨システム10の全端末が共有するが、ユーザはブロックチェーンのうち自己が関心をもつ部分のみを所持していればよい。マイナーはブロックチェーンの全体を所持していることが望ましい。
ブロックには、1つ前のブロックのハッシュ値、及び複数の送金トランザクションが含まれている。
The
The block includes a hash value of the previous block and a plurality of remittance transactions.
マッピング情報DB133には、ウォレットツールをインストールした全ユーザのマッピング情報が保存されている。図3は、マップトランザクションによって生成、更新されるマッピング情報の構造の一例を示す概念図である。図3に示すように、マッピング情報は、IDと、公開鍵と、公開鍵のスペア(以下、公開鍵のスペアを「スペアキー」とも呼ぶ。)と、複数の管理ユーザのIDが紐づけられた構造となっている。
The
IDは、ウォレットツールをインストールした際に、ユーザが作成した、ネットワーク400において一意な識別子である。
管理ユーザは、そのIDに紐づけられた公開鍵の更新を許可されたユーザである。管理ユーザはたとえば、公開鍵の所有者と、自治体や企業等のオーブの発行元と、オーブの製造者との3人である。なお、管理ユーザは、公開鍵の所有者が任意に設定できるとしてもよい。また、管理ユーザは2人以上であることが望ましいがこれに限定されない。
図3の例ではスペアキーは1つしか登録されていないが、これに限定されず、複数のスペアキーが登録されていてもよい。さらに、スペアキーが登録されていない構成であってもよい。
なお、管理ユーザのマッピング情報も、マッピング情報DB133に記憶されている。
The ID is an identifier unique in the
The administrative user is a user who is permitted to update the public key associated with the ID. For example, there are three administrative users: an owner of a public key, an orb issuer such as a local government or a company, and an orb manufacturer. The management user may be arbitrarily set by the owner of the public key. Moreover, although it is desirable that there are two or more management users, the present invention is not limited to this.
In the example of FIG. 3, only one spare key is registered. However, the present invention is not limited to this, and a plurality of spare keys may be registered. Furthermore, a configuration in which no spare key is registered may be used.
Note that the management user mapping information is also stored in the
口座情報DB134には、端末100を利用するユーザの秘密鍵が保存されている。
The
マップトランザクション情報DB135には、端末100又は200がネットワーク400にブロードキャストで配信したマップトランザクションの履歴が保存されている。1つのマップトランザクションには、通常、インプットデータ、及びアウトプットデータが含まれることが望ましい。マップトランザクションは、ユーザがIDを作成する場合(以下、ユーザがIDを作成する場合に配信されるマップトランザクションを特に「ID発生トランザクション」とも呼ぶ。)や、ユーザが古い鍵ペア(以下、更新される古い鍵ペアを「旧鍵ペア」と呼び、このうち古い公開鍵を「旧鍵」とも呼ぶ。)から新しい鍵ペア(以下、新しい鍵ペアを「新鍵ペア」と呼び、このうち新しい公開鍵を「新鍵」とも呼ぶ。)へと鍵ペアの更新を行う場合に配信されるトランザクションである。
The map
マップトランザクションのアウトプットデータには、新鍵がユーザのIDに対応付けられた新たなマッピング情報(以下、新しいマッピング情報を「新マッピング」とも呼ぶ。また、更新される古いマッピング情報を「旧マッピング」とも呼ぶ。)が格納されていることが望ましい。 In the output data of the map transaction, new mapping information in which the new key is associated with the user ID (hereinafter, the new mapping information is also referred to as “new mapping”. The old mapping information to be updated is referred to as “old mapping”. Is also stored.
マップトランザクションのインプットデータには、ポインタと、所定の人数の管理ユーザの電子署名と公開鍵とが含まれていることが望ましい。ポインタは、今回更新される旧鍵を公開鍵に指定して、ユーザが過去にマッピング情報を更新または生成した、マップトランザクションのアウトプットデータを指し示すものである。
また、所定の人数の管理ユーザは、更新対象となるマッピング情報で指定されている複数の管理ユーザの少なくとも一部の人数の管理ユーザである。具体的には、旧マッピングでユーザがスペアキーとして登録した鍵を、新マッピングで公開鍵として指定する場合には、インプットデータには、管理ユーザの電子署名として、公開鍵の所有者の電子署名のみが含まれる。一方で、旧マッピングに登録されていない新たな鍵を新鍵として登録する場合には、たとえば3人の管理ユーザのうち、2人以上の電子署名が必要となる。
The input data of the map transaction preferably includes a pointer, a digital signature and a public key of a predetermined number of management users. The pointer indicates the output data of the map transaction in which the user has updated or generated mapping information in the past by designating the old key updated this time as the public key.
The predetermined number of management users is a management user of at least a part of the plurality of management users specified by the mapping information to be updated. Specifically, when the key registered by the user as the spare key in the old mapping is specified as the public key in the new mapping, only the electronic signature of the owner of the public key is included in the input data as the electronic signature of the management user. Is included. On the other hand, when a new key that is not registered in the old mapping is registered as a new key, for example, two or more electronic signatures of three management users are required.
マップトランザクションも送金トランザクションと同様に、インプットデータが1つ前のアウトプットデータへのポインタを有する構造をしている。その結果、すべてのマップトランザクションも、ID発生トランザクションまでポインタを介して数珠つなぎとなるデータ構造となっている。なお、ID発生トランザクションには、インプットデータは含まれないことが望ましい。 Similar to the remittance transaction, the map transaction has a structure in which the input data has a pointer to the previous output data. As a result, all the map transactions also have a data structure that is connected in a daisy chain through the pointer to the ID generation transaction. It is desirable that input data is not included in the ID generation transaction.
図1に戻り、ウォレットツールをインストールした端末100の各構成の続きを説明する。
送金受付部101は、ユーザから送金先のユーザと送金する金額との指定を受け付ける。送金受付部101は、送金受付画面を端末100のディスプレイに提示することが望ましい。また、送金受付部101は通貨購入画面をディスプレイに提示して、ユーザからオーブの購入を受け付けてもよい。
Returning to FIG. 1, the continuation of each component of the terminal 100 in which the wallet tool is installed will be described.
The
インプットデータ作成部102は、送金受付部101が受け付けた送金金額に応じて送金トランザクションのインプットデータを作成する。インプットデータ作成部102は、インプットデータを作成するために、以下の4つの処理を行う。
・送金対象検索処理
・減価額計算処理
・ポインタ指定処理
・電子署名作成処理
The input
・ Remittance object search processing ・ Price reduction calculation processing ・ Pointer designation processing ・ Digital signature creation processing
(送金対象検索処理)
インプットデータ作成部102は、送金対象検索処理として、まず、送金対象として用いることができるアウトプットデータを有する送金トランザクションを送金トランザクション情報DB131から検索することができる。たとえば、インプットデータ作成部102は、送金トランザクション情報DB131から、送金元ユーザのIDが、送金先IDとして指定されているアウトプットを有する送金トランザクションであって、他の送金トランザクションのインプットデータのポインタとして指定されていないアウトプットデータを有する送金トランザクションを抽出することが望ましい。
(Remittance target search process)
As the remittance target search process, the input
(減価額計算処理)
次に、インプットデータ作成部102は、抽出した送金トランザクションのアウトプットデータに含まれる送金金額を参照し、現在までに減額した金額(減価額)を計算する。まず、インプットデータ作成部102は、抽出した送金トランザクションのインプットデータに含まれるポインタを順次参照していき、通貨発生トランザクションを抽出する。そして、インプットデータ作成部102は、通貨発生トランザクションのトランザクション発生時刻を参照し、現在時刻との差分に基づいて減価率を計算する。
(Depreciation calculation processing)
Next, the input
図4は、時間の経過とオーブの残高率との対応関係の一例を示す図である。図4の例では、オーブが購入されてから10日経過するごとに現在の金額から10%減価する様子を示している。オーブの減価率が図4の表のように定義されている場合には、インプットデータ作成部102は、たとえば購入から22日経過したオーブに対しては、現在の残高は購入時の残高の81%であり、減価率は19%であると算出する。なお、オーブの減価の態様は図4の例に限定されず、たとえば、時間の経過ごとに一定金額が減額されるとしてもよいし、時間の経過につれて減価率が変化してもよい。
インプットデータ作成部102は、抽出した送金トランザクションのアウトプットデータの金額と計算した現在の減価率を用いて、当該金額の減価額を計算することができる。
FIG. 4 is a diagram illustrating an example of a correspondence relationship between the passage of time and the balance rate of the orb. In the example of FIG. 4, a state in which the current amount is deducted by 10% every 10 days after the orb is purchased is shown. When the depreciation rate of the orb is defined as shown in the table of FIG. 4, the input
The input
(ポインタ指定処理)
次に、インプットデータ作成部102は、送金受付部101が受け付けた送金金額に基づいて、抽出した送金トランザクションの中から、ポインタを指定するのに適したアウトプットデータを選択する。具体的には、インプットデータ作成部102は、抽出したアウトプットデータの金額と、計算した減価率とに基づいて、各アウトプットデータの残高を計算する。そして、計算した残高が、送金受付部101が受け付けた送金金額を上回っているアウトプットデータへのポインタを、今回のインプットデータとして指定することができる。
なお、計算した残高が、送金受付部101が受け付けた送金金額を上回っているアウトプットデータが存在しない場合には、本実施形態では、インプットデータ作成部102は、送金金額をいくつかの金額へ分割したうえで、再度、計算した残高が分割した金額を上回っているアウトプットデータを検索することが望ましい。なお、これに限定されず、今回の送金金額よりも大きな金額のアウトプットデータを有する送金トランザクションが存在しない場合には、インプットデータ作成部102は、複数のアウトプットデータのポインタを指定するために複数のインプットデータを作成するとしてもよい。
(Pointer specification processing)
Next, the input
When there is no output data in which the calculated balance exceeds the remittance amount accepted by the
インプットデータ作成部102は、送金受付部101が複数のユーザへの送金を受け付けた場合には、受け付けた送金金額の合計金額に基づいてポインタを選択することが望ましい。
When the
(電子署名作成処理)
さらに、インプットデータ作成部102は、送金元ユーザの電子署名を作成する。たとえば、インプットデータ作成部102は、電子署名を格納する部分を除く、作成中の送金トランザクションのデータ全体から、ハッシュ関数を使ってダイジェストを生成する。そして、インプットデータ作成部102は、生成したダイジェストを送金元ユーザの秘密鍵で暗号化することで電子署名を作成することができる。
(Digital signature creation process)
Further, the input
インプットデータ作成部102は、ポインタ指定処理において指定したポインタと、電子署名作成処理において作成した電子署名と、さらに送金元ユーザの公開鍵とを格納して、インプットデータを作成することができる。
The input
図2(A)に戻り、各機能ブロックの機能の続きについて説明する。
アウトプットデータ作成部103は、送金受付部101が受け付けた、送金先のユーザと送金する金額とに基づいて、送金トランザクションのアウトプットデータを作成する。たとえば、アウトプットデータ作成部103は、マッピング情報DB133を参照して、送信先ユーザのIDをアウトプットデータに指定することができる。
また、アウトプットデータ作成部103は、インプットデータ作成部102がポインタを指定したアウトプットデータの残高から、今回の送金金額の合計金額を減算し、差額を、送金元ユーザ宛の送金としてアウトプットデータを作成することが望ましい。
Returning to FIG. 2A, the continuation of the function of each functional block will be described.
The output
Further, the output
なお、アウトプットデータ作成部103は、送金受付部101が、ユーザからオーブの購入を受け付けた場合には、オーブの購入を入力したユーザを送金先ユーザとして、アウトプットデータを作成することが望ましい。
In addition, when the
送金トランザクション配信部104は、今回の送金に関する送金トランザクションを作成し、ネットワーク400へと配信する。送金トランザクション配信部104は、以下の2種類の送金トランザクションを作成する処理を行う。
・通常トランザクション(以下、通常トランザクションのことを単に「送金トランザクション」とも呼ぶ。)
・通貨発生トランザクション
The remittance
-Normal transaction (hereinafter, the normal transaction is also simply referred to as “remittance transaction”)
-Currency generation transaction
(通常トランザクション)
通常トランザクションは、オーブの送金が行われた場合に、送金トランザクション配信部104が配信する送金トランザクションをいう。通常トランザクションには、インプットデータと、アウトプットデータと、送金トランザクションが発生した時刻と、送金トランザクションがブロックチェーンに追加された時刻とが含まれる。
送金トランザクション配信部104は、インプットデータ作成部102が作成したインプットデータと、アウトプットデータ作成部103が作成したアウトプットデータと、を通常トランザクションに格納し、さらに現在時刻をトランザクション発生時刻に指定して、通常トランザクションをネットワーク400へブロードキャストで配信することができる。
(Normal transaction)
The normal transaction refers to a remittance transaction distributed by the remittance
The remittance
(通貨発生トランザクション)
通貨発生トランザクションは、オーブが購入された場合に送金トランザクション配信部104が配信する送金トランザクションをいう。すべての送金トランザクションは、インプットデータのポインタを参照していくと通貨発生トランザクションに収束する。
通貨発生トランザクションには、インプットデータは含まれないことが望ましい。送金トランザクション配信部104は、アウトプットデータ作成部103が作成した、オーブの購入を入力したユーザを送金先ユーザとするアウトプットデータを通貨発生トランザクションに格納し、さらに現在時刻をトランザクション発生時刻に指定して、通貨発生トランザクションをネットワーク400にブロードキャストで配信することができる。
(Currency transaction)
The currency generation transaction is a remittance transaction distributed by the remittance
The currency generation transaction should not include input data. The remittance
マッピング部105は、マッピング情報の生成や更新をユーザから受け付け、マップトランザクションをブロードキャストでネットワーク400に配信する。マッピング部105は、以下の処理を行うように構成される。
・発行受付処理
・ポインタ指定処理
・管理ユーザ指定処理
・配信処理
The
・ Issuance acceptance processing ・ Pointer designation processing ・ Management user designation processing ・ Distribution processing
(発行受付処理)
マッピング部105は、発行受付処理として、ID発行情報の入力を受け付ける。ID発行情報は、たとえば、ユーザが新たに利用する鍵ペアのうちの公開鍵と、当該公開鍵を利用するユーザとして紐づけるユーザのIDである。マッピング部105は、ユーザから直接IDの指定を受け付けてもよいし、メールアドレスや任意の文字列の入力を受け付けてもよい。マッピング部105は、メールアドレスや任意の文字列の入力を受け付けた場合には、受け付けたメールアドレスや任意の文字列からハッシュ値を生成しIDとすることができる。マッピング部105は、端末100のディスプレイに発行受付画面を提示して、公開鍵の登録を受け付けることができる。マッピング部105は、このとき、スペアキーの登録も合わせて受け付けることも可能である。
ID発生トランザクションにおいて、マッピング部105は、ID発行情報と合わせて、管理ユーザ情報を受け付けてもよい。管理ユーザ情報は、管理ユーザとして登録するユーザのIDである。なお、管理ユーザ情報は、システムの管理者によって決定され、ユーザが自由に決定できないものとしてもよい。
(Issuance acceptance process)
The
In the ID generation transaction, the
(ポインタ指定処理)
マッピング部105は、ポインタ指定処理として、マップトランザクションのインプットデータに格納するポインタを指定する。マッピング部105は、まず、マッピング情報DB133を参照して、発行受付処理において受け付けたユーザのIDに対応する公開鍵(旧鍵)を特定する。次に、マッピング部105は、特定した旧鍵がアウトプットデータとして指定されているマップトランザクションを抽出する。マッピング部105は、抽出したマップトランザクションから、他のインプットデータからポインタとして参照されていないアウトプットデータを有するマップトランザクションを選択する。そして、マッピング部105は、選択したマップトランザクションのアウトプットデータへのポインタを、今回のインプットデータとして指定する。
(Pointer specification processing)
The
(電子署名作成処理)
マッピング部105は、電子署名作成処理として、マッピング情報に登録された管理ユーザの電子署名を取得する。具体的には、電子署名を格納する部分を除く、作成中のマップトランザクションのデータ全体にハッシュ関数を用いてダイジェストを作成する。そして、作成したダイジェストに対して、管理ユーザの秘密鍵を用いて暗号化することで電子署名を作成する。
(Digital signature creation process)
The
(配信処理)
マッピング部105は、配信処理として、インプットデータとアウトプットデータとを格納したマップトランザクションを、ネットワーク400にブロードキャストで配信する。マッピング部105は、ID発生トランザクションの場合とそれ以外のマップトランザクションの場合とで、それぞれ以下の処理を行う。
(Delivery process)
The
・ID発生トランザクションの場合
マッピング部105は、発行受付処理を行った後に配信処理を行う。マッピング部105は、発行受付処理において受け付けたID発行情報と管理ユーザ情報とに基づいてマッピング情報を作成し、アウトプットデータに格納する。ID発生トランザクションにおいては、マップトランザクションはインプットデータを有していない。そのため、マッピング部105は、アウトプットデータのみを格納し、ID発生トランザクションをネットワーク400にブロードキャストで配信する。
In the case of an ID generation transaction The
・ID発生トランザクション以外のマップトランザクションの場合
マッピング部105は、発行受付処理とポインタ指定処理と電子署名作成処理を行った後に、配信処理を行う。まず、マッピング部105は、アウトプットデータを作成するために、マッピング情報DB133を参照して、発行受付処理において受け付けたIDに対応するマッピング情報を抽出する。マッピング部105は、抽出したマッピング情報の公開鍵(旧鍵)を新鍵に更新し、アウトプットデータに格納する。なお、この場合、マッピング部105は、アウトプットデータに格納する新マッピングから、旧鍵を除外することが望ましい。
次に、マッピング部105は、インプットデータに、ポインタ指定処理において指定したポインタと、電子署名作成処理において作成した電子署名と当該電子署名に対応する公開鍵とを、格納する。
マッピング部105は、作成したインプットデータとアウトプットデータとを格納したマップトランザクションを、ネットワーク400にブロードキャストで配信する。
In the case of a map transaction other than an ID generation transaction The
Next, the
The
<3−2.オーブ送金処理フロー>
次に図5を用いて、ユーザAがユーザBへオーブを送金する際の処理フローについて説明する。図5は、ユーザAが端末100Aを用いて、購入したオーブをユーザBへ送金する場合の送金トランザクションを模式的に示した図である。
この例では、オーブの送金元ユーザであるユーザAが利用する端末を端末100A、オーブの送金先ユーザであるユーザBが利用する端末をそれぞれ端末100Bとして説明する。また、図5の例においても、経過時間とオーブの減価率とは図4に示した対応関係にあるとして説明する。
<3-2. Orb remittance processing flow>
Next, a processing flow when the user A remits the orb to the user B will be described with reference to FIG. FIG. 5 is a diagram schematically showing a remittance transaction when the user A remits the purchased orb to the user B using the
In this example, the terminal used by the user A who is the orb remittance source user is described as the terminal 100A, and the terminal used by the user B who is the orb remittance destination user is described as the terminal 100B. Also, in the example of FIG. 5, the description will be made assuming that the elapsed time and the orb depreciation rate have the correspondence shown in FIG.
図5において、ブロックB02は、ブロックチェーンの末尾のブロックであり、ブロックB01はブロックB02の1つ前のブロックであるとする。また、送金トランザクションT11は通貨発生トランザクションであり、送金トランザクションT12は、ユーザAからユーザBへのオーブの送金に関する通常トランザクションである。さらに、O11〜O13はそれぞれアウトプットデータを表し、I11はインプットデータを表している。 In FIG. 5, block B02 is the last block in the block chain, and block B01 is the block immediately preceding block B02. The remittance transaction T11 is a currency generation transaction, and the remittance transaction T12 is a normal transaction related to the remittance of the orb from the user A to the user B. Further, O11 to O13 each represent output data, and I11 represents input data.
まず、ユーザAがオーブを10000Orb購入するとする。この場合、送金受付部101によって、通貨購入画面が端末100Aのディスプレイに提示される。ユーザAは提示された通貨購入画面から、購入するオーブの金額を10000Orbとして指定する。このとき、アウトプットデータ作成部103は、マッピング情報DB136を参照して、送金金額を10000Orb、送金先をユーザAとしてユーザAのIDを指定してアウトプットデータO11を作成する。
First, it is assumed that user A purchases 10,000 orbs. In this case, the
次に、送金トランザクション配信部104が、アウトプットデータO11を送金トランザクションT11に格納し、現在時刻をトランザクション発生時刻に指定して、通貨発生トランザクションを作成し、ネットワーク400に配信する。配信した通貨発生トランザクションが、後述するマイナーの発掘処理によって、承認され、ブロックチェーンにつながれると、ユーザAは購入したオーブを取引に使えるようになる。
Next, the remittance
ユーザAは、たとえばオーブの購入から11日後に、購入したオーブの一部(7000Orb)をユーザBに対して送金するとする。この場合、インプットデータ作成部102が、まず送金対象検索処理を実行し、これまでにユーザAが送金先ユーザとして指定されているアウトプットデータを有する送金トランザクションを検索する。図5の例では、該当する送金トランザクションが送金トランザクションT11だけであるため、インプットデータ作成部102は送金トランザクションT11を抽出する。
For example, assume that the user A remits a part of the purchased orb (7000 Orb) to the
次に、インプットデータ作成部102は、減価額計算処理を実行し、アウトプットデータO11の減価額を計算する。今回の送金は、オーブの購入から11日後に行われているため、減価率は10%である。そのため、インプットデータ作成部102は、アウトプットデータO11の減価額は、1000Orbであると算出する。インプットデータ作成部102は、算出した減価額(1000Orb)をアウトプットデータO11の送金金額(10000Orb)から減算し、アウトプットデータO11の残高を9000Orbであると算出する。これは、今回の送金金額である7000Orbを上回っているため、インプットデータ作成部102は、アウトプットデータO11のポインタを、今回のインプットデータI11に指定する。さらにインプットデータ作成部102は、電子署名作成処理を実行する。具体的には、電子署名を格納する部分を除く、作成中の送金トランザクションのデータ全体にハッシュ関数を用いてダイジェストを作成する。そして、口座情報DB134に保存されたユーザAの秘密鍵を用いてインプットデータ作成部102は、生成したダイジェストを暗号化して電子署名を作成する。インプットデータ作成部102は、指定したポインタと、作成した電子署名と、送金元ユーザの公開鍵とを格納してインプットデータI11を作成する。
Next, the input
次に、アウトプットデータ作成部103は、送金金額を7000Orb、送金先をユーザBとして、マッピング情報DB136からユーザBのIDに対応するレコードを参照し、ユーザBのIDと公開鍵とを指定して、アウトプットデータO12を作成する。さらに、アウトプットデータ作成部103は、アウトプットデータO11の残高9000Orbから今回のアウトプットデータO12の送金金額である7000Orbを減算し、差分である2000Orbを、ユーザAのIDを送金先とするアウトプットデータO13を作成する。
Next, the output
送金トランザクション配信部104は、インプットデータI11と、アウトプットデータO12と、アウトプットデータO13とを送金トランザクションT12に格納し、現在時刻をトランザクション発生時刻に指定して、送金トランザクションT12を配信する。
The remittance
なお、上述の例で、送金金額がたとえば9500Orbである場合、送金金額がアウトプットデータO11の残高である9000Orbを上回っているため、インプットデータ作成部102は、アウトプットデータO11のポインタを指定することができない。この場合、インプットデータ作成部102は、送金金額をたとえば9000Orbと500Orbとの2つの金額に分割することができる。このとき、インプットデータ作成部102は、それぞれの送金金額に対応するインプットデータを作成し、ポインタで参照するアウトプットデータを検索することが望ましい。さらにこの場合、アウトプットデータ作成部103は、送金金額が9000Orbのアウトプットデータをと、500Orbのアウトプットデータとをそれぞれ作成するとしてもよい。
In the above example, when the remittance amount is 9500 Orb, for example, the remittance amount exceeds 9000 Orb, which is the balance of the output data O11, and therefore the input
このように本実施形態に係るウォレットツールが、オーブが時間の経過とともに減額するように、端末100を機能させることで、オーブは投資の対象とされにくくなり、通貨価値の変動を抑えることが可能となる。 As described above, the wallet tool according to the present embodiment makes the orb less likely to be an investment target by causing the terminal 100 to function so that the orb is reduced over time, and it is possible to suppress fluctuations in currency value. It becomes.
<マッピング情報更新処理フロー>
図6を用いて、ユーザAがマッピング情報を更新する場合の処理フローについて説明する。図6は、マッピング情報に登録している公開鍵を、新鍵に更新する場合のマップトランザクションを模式的に示した図である。この例では、マッピング情報DB133には、ユーザAの管理ユーザとして、ユーザA、ユーザB、ユーザCの3人のIDが登録されているとして説明する。また、ユーザAが使用する端末を端末100Aとし、ユーザBが使用する端末を端末100Bとする。
<Mapping information update processing flow>
A processing flow in the case where the user A updates the mapping information will be described with reference to FIG. FIG. 6 is a diagram schematically showing a map transaction when the public key registered in the mapping information is updated to a new key. In this example, it is assumed that IDs of three users, user A, user B, and user C, are registered in the
図6において、ブロックB22は、ブロックチェーンの末尾のブロックであり、ブロックB21はユーザAがIDを作成したID発生トランザクションが含まれるブロックであるとする。また、マップトランザクションT21はID発生トランザクションであり、マップトランザクションT22は、ユーザAが公開鍵を旧鍵から新鍵へとマッピング情報を更新するトランザクションである。さらに、O21とO22とはアウトプットデータを表し、I22はインプットデータを表している。 In FIG. 6, block B22 is the last block of the block chain, and block B21 is a block including an ID generation transaction in which user A has created an ID. The map transaction T21 is an ID generation transaction, and the map transaction T22 is a transaction in which the user A updates the mapping information from the old key to the new key. Further, O21 and O22 represent output data, and I22 represents input data.
まずユーザAは、IDを新規に作成する。この場合、マッピング部105によって、発行受付画面が、端末100Aのディスプレイに提示される。ユーザは提示された発行受付画面に、ID発行情報として、メールアドレスや電話番号など任意の文字列を入力し、公開鍵とスペアキーとを登録する。さらに、ユーザAは管理ユーザ情報として、登録するユーザのID(図6の例では、ユーザA、ユーザB、ユーザC)を指定する。マッピング部105は、入力された文字列のハッシュ値からIDを作成する。そして、マッピング部105は、作成したIDと受け付けたID発行情報と管理ユーザ情報とを紐づけてユーザAのマッピング情報を作成し、アウトプットデータO21に格納する。マッピング部105は、ID発生トランザクションT21に作成したアウトプットデータO21を格納し、ネットワーク400にブロードキャストで配信する。配信されたID発生トランザクションT21は、後述するマイナーの発掘処理によって、承認されると、ブロックチェーンにつながれる。ブロックチェーンにID発生トランザクションT21がつながれると、ユーザAのマッピング情報として、ネットワーク400で共有される。
First, user A creates a new ID. In this case, the
ユーザAが、IDを新規に作成した後、登録した公開鍵とペアになる秘密鍵を紛失した等の理由により、マッピング情報を更新するとする。この場合、マッピング部105は、まず発行受付処理を行い、登録する新鍵と、ユーザAの登録済みのIDを受け付ける。
マッピング部105は、マッピング情報DB133を参照し、受け付けたIDに対応するマッピング情報(旧マッピング)を抽出する。マッピング部105は、抽出した旧マッピングの公開鍵(旧鍵)を新鍵に更新した新マッピングを作成し、アウトプットデータO22に格納する。
It is assumed that the mapping information is updated because the user A has created a new ID and lost the private key paired with the registered public key. In this case, the
The
次に、マッピング部105は、ポインタ指定処理を行う。具体的には、まずマッピング部105は、マッピング情報DB133に登録されているユーザAの旧マッピングから、ユーザAのIDと対応する公開鍵(旧鍵)を特定する。さらにマッピング部105は、特定した旧鍵を公開鍵とするマッピング情報がアウトプットデータとして指定されているマップトランザクションを抽出する。図6の例では、公開鍵の更新は今回初めて行われるので、マッピング部105は、ID発生トランザクションT21を抽出する。マッピング部105は、ID発生トランザクションT21のアウトプットデータO21を参照するポインタを今回のインプットデータI22に格納する。
Next, the
次に、マッピング部105は、電子署名作成処理を実行する。この例では、マッピング部105は、ユーザBとユーザCとの電子署名を作成する。具体的には、電子署名を格納する部分を除く、作成中のマップションのデータ全体にハッシュ関数を用いてダイジェストを作成する。そして、ユーザBの秘密鍵を用いてダイジェストを暗号化し、ユーザBの電子署名を作成する。また、ユーザCの秘密鍵を用いてダイジェストを暗号化し、ユーザCの電子署名を作成する。
Next, the
マッピング部105は、ユーザBおよびCの電子署名とユーザBおよびCの公開鍵、およびアウトプットデータO21へのポインタをインプットデータI22に格納する。
The
マッピング部105は、インプットデータI22と、アウトプットデータO22とをマップトランザクションT12に格納し、配信する。
The
なお、上述の例で、ユーザAがたとえば、秘密鍵を紛失しておらず、マッピング情報の公開鍵およびスペアキーを変更したい場合は、マッピング部105は、インプットデータI22にユーザAの電子署名と公開鍵とアウトプットデータO21へのポインタとを格納し、他の管理ユーザの電子署名は格納しないとしてもよい。この場合、アウトプットデータO21に格納されるマッピング情報(新マッピング)からは、旧鍵は削除されるとしてもよい。
In the above example, if the user A has not lost the private key and wants to change the public key and spare key of the mapping information, the
図2に戻り、端末200の機能について説明する。
<3−4.マイニングツールの機能>
図2(B)は、ウォレットツールに加えて、マイニングツールをインストールした、端末200の機能ブロック図の一例を示す図である。マイニングツールをインストールした端末200には、上述したウォレットツールによって作成される機能ブロックに加えて、検証部201と、発掘部202と、報酬計算部203と、更新許可部204とが構築されることが望ましい。
Returning to FIG. 2, the function of the terminal 200 will be described.
<3-4. Mining Tool Functions>
FIG. 2B is a diagram illustrating an example of a functional block diagram of the terminal 200 in which a mining tool is installed in addition to the wallet tool. In the terminal 200 in which the mining tool is installed, a
検証部201は、受信した送金トランザクションの正当性を検証するために、以下の3つの処理を実行する。
・ID検証処理
・完全性検証処理
・整合性検証処理
検証部201は上記3つの検証処理の結果、IDと完全性と整合性とが認められた送金トランザクションを正当な送金トランザクションであると承認することができるとしてもよい。
The
ID verification process / integrity verification process / consistency verification process As a result of the above three verification processes, the
(ID検証処理)
検証部201は、ID検証処理として、今回送金を行った送金元ユーザが、送金したオーブの正当な所有者であったかを、IDを検証することによって確認する。たとえば、検証部201は、受信した送金トランザクションのインプットデータに含まれる電子署名と、ポインタが参照するアウトプットデータに含まれるIDとが、同一のユーザのものであるか否かを検証する。
図7は、ID検証処理の処理フローを示す図である。
まず、検証部201は、受信した送金トランザクションのインプットデータから送金元ユーザの電子署名と公開鍵とを取得する(S11)。また、検証部201は、受信した送金トランザクションのインプットデータに含まれるポインタが参照するアウトプットデータに格納されている、ID(ID1とする)を取得する(S12)。
次に、検証部201は、マッピング情報DB133を参照して、取得した公開鍵に紐づけられたユーザのID(ID2とする)を抽出し(S13)、ID1とID2とが一致するか検証する(S14)。一致した場合には、さらに、検証部201は、ID2に紐づけられている公開鍵で、送金トランザクションに含まれていた電子署名が復号できるか検証する(S15)。復号できた場合には、検証部201は、送金を行ったユーザが、送金したオーブの正しい所有者であったと認証する(S16)。なお、S15の電子署名の検証は、受信した送金トランザクションにインプットデータに格納されている公開鍵で行うものとしてもよい。
このように、本実施形態に係る仮想通貨管理プログラムによれば、送金元ユーザの認証をIDによって行う。これによって、ユーザが公開鍵を更新した場合でも、更新前と同じユーザであると識別することができる。
(ID verification processing)
As the ID verification process, the
FIG. 7 is a diagram illustrating a processing flow of the ID verification processing.
First, the
Next, the
Thus, according to the virtual currency management program according to the present embodiment, the remittance source user is authenticated by the ID. Thereby, even when the user updates the public key, it can be identified that the user is the same as that before the update.
(完全性検証処理)
検証部201は、完全性検証処理として、受信した送金トランザクションに対して改ざんが行われていないかを検証する。具体的には、検証部201は、まずマッピング情報DB133を参照して、受信した送金トランザクションのインプットデータに含まれる電子署名を、もとの所有者の公開鍵で復号して、インプットデータ作成部102が作成したダイジェストを取り出す。さらに検証部201は受信した送金トランザクションのデータ全体のうち電子署名を格納する部分を除いたデータから、ハッシュ関数を用いてダイジェストを生成する。検証部201は、復号したダイジェストと生成したダイジェストとが一致するか否かを検証し、一致する場合には送金トランザクションデータの完全性を承認することができる。検証部201は、送金トランザクションに含まれるすべてのインプットデータの電子署名を検証できた場合に、当該送金トランザクションの完全性を承認することができるとしてもよい。
(Integrity verification process)
The
(整合性検証処理)
検証部201は、整合性検証処理として、受信した送金トランザクションがブロックチェーン全体として整合性がとれた取引であるか否かを検証する。具体的には、検証部201は、上述した減価額計算処理と同様の処理を実行して、インプットデータの残高を計算して、計算した残高がアウトプットデータの金額より上回っているか検証する。
また、検証部201は、整合性検証処理として、検証対象の送金トランザクションのインプットデータと同じアウトプットデータを参照している送金トランザクションがすでに承認されていないかを確認して二重取引の検証を行うとしてもよい。具体的には、検証部201は、ブロック情報DB132を参照して、ブロックチェーンにつながれたブロックに含まれる送金トランザクションのインプットデータのポインタが参照するアウトプットデータを抽出する。さらに検証部201は、今回の検証対象の送金トランザクションのインプットデータとして指定されたポインタが参照するアウトプットデータが、すでに参照されているものか否かを検証する。今回の検証対象の送金トランザクションのインプットデータとして指定されたポインタが参照するアウトプットデータが、過去の送金トランザクションのインプットデータからポインタを指定されていない場合、検証部201は、今回の検証対象の送金トランザクションのインプットデータの整合性を承認することができる。
検証部201は、送金トランザクションに含まれるすべてのインプットデータの整合性が承認できた場合に、当該送金トランザクションの整合性を承認することができるとしてもよい。
(Consistency verification process)
As the consistency verification process, the
In addition, as the consistency verification process, the
The
発掘部202は、検証部201の処理によって送金元ユーザが認証され、完全性と整合性が認められた正当な送金トランザクションを格納するブロックを生成するために、マイニングの処理を行う。具体的には、発掘部202は、現在のブロックチェーンの末尾のハッシュ値を、ハッシュ関数を用いて計算する。計算したハッシュ値と、生成するブロックに所定の値とを合わせたデータに対して、発掘部202は、ハッシュ関数を用いてハッシュ値を計算する。このデータには、ブロックの生成時刻を含めてもよい。このハッシュ値が所定の値以下になる場合、本実施形態では「ブロックが発掘された」という。ブロックを発掘すると、発掘部202は、当該ブロックを、ブロックチェーンの末尾につなぐことができる。
発掘部202は、ブロックをブロックチェーンにつなぐ際に、現在時刻を、当該ブロックに格納されている送金トランザクションのブロックチェーン追加時刻として指定することが望ましい。
The
When the excavating
報酬計算部203は、ブロックに格納した正当な送金トランザクションの減価額に基づいて、マイナーの報酬を計算する。たとえば、報酬計算部203は、インプットデータのポインタとして指定されたアウトプットデータの金額の、減価額の合計をマイナーの報酬として計算してもよい。具体的には、報酬計算部203は、インプットデータに含まれるポインタを順次参照していき、通貨発生トランザクションを抽出する。そして、報酬計算部203は、通貨発生トランザクションのトランザクション発生時刻を参照し、現在時刻との差分に基づいて減価率を計算する。この処理は、インプットデータ作成部102の減価額計算処理と同様の処理であってもよい。報酬計算部203は、発掘部202が生成したブロックに格納される各送金トランザクションの減価額の合計をマイナーの報酬として計算することができる。
さらに報酬計算部203は、送金金額を計算した報酬の金額、送信先を端末200を利用するマイナーに指定して、アウトプットデータを作成して、当該アウトプットデータに基づいて通貨発生トランザクションを作成することが望ましい。報酬計算部203は作成した通貨発生トランザクションを、ネットワーク400にブロードキャストで配信する。この通貨発生トランザクションは生成するブロックに含めることでブロードキャストすることが望ましい。この通貨発生トランザクションがネットワーク400に接続しているいずれかのマイナーの端末によって承認されることで、端末200を利用するマイナーは、報酬を受け取ることができる。
The
Further, the
更新許可部204は、マッピング情報の更新が、管理ユーザによって行われたものか否かに基づいて妥当性を検証し、妥当な場合には更新を許可する。たとえば、更新許可部204は、マップトランザクションに含まれる電子署名と公開鍵とを用いて、当該電子署名が更新対象となるマッピング情報に管理ユーザとして登録されたユーザのものであるか否かの検証を行う。
図8は、更新許可部204の更新許可処理フローの一例をチャートである。なお、図8では、更新許可部204が、図6のT22に示したマップトランザクションにおいて行われる、マッピング情報の更新を検証する場合を例に説明する。
The
FIG. 8 is a chart illustrating an example of an update permission process flow of the
まず、マップトランザクションを受信すると更新許可部204は、アウトプットデータO22に格納されたマッピング情報からユーザAのIDを取得する(S21)。次に、マッピング情報DB133を参照し、取得したユーザAのIDがすでに登録済みのIDであるか否かを確認する(S22)。取得したユーザAのIDがマッピング情報DB133に登録されていないIDである場合(S22:NO)には、取得したマッピング情報を、マッピング情報DB133に登録する。
First, when receiving the map transaction, the
一方で、取得したユーザAのIDがマッピング情報DB133に登録されているIDである場合(S22:YES)には、更新許可部204は、インプットデータI22を参照し、更新処理に必要な人数分の正しい電子署名が格納されているか検証する(S23)。更新処理に必要な人数は、たとえば3人中2人である。
On the other hand, when the acquired ID of the user A is an ID registered in the mapping information DB 133 (S22: YES), the
更新許可部204は、インプットデータI22に電子署名とともに格納されているユーザBとユーザCとの公開鍵を取得する。マッピング情報DB133を参照して、更新許可部204は、取得した公開鍵に対応するユーザIDを確認し、当該ユーザIDが管理ユーザとして登録されていたIDと一致するか検証する。一致した場合には、更新許可部204はさらに、取得したユーザBとユーザCそれぞれの公開鍵でそれぞれの電子署名が復号できるか検証する。
The
必要な人数分、正しい電子署名が格納されていた場合(S23:YES)には、更新許可部204は、新マッピングで、公開鍵に指定されている新鍵が、ネットワーク400においてユニークな鍵かを確認する(S24)。具体的には、更新許可部204は、マッピング情報DB133を参照して、他のユーザの公開鍵として登録されていないを確認する。新鍵として指定されている公開鍵がユニークな鍵であれば(S24:YES)、更新許可部204は、マッピング情報の更新を許可する。
If correct electronic signatures are stored for the required number of persons (S23: YES), the
このように、本実施形態に係る仮想通貨管理プログラムによれば、ユーザがマッピング情報を更新する際に、付与された電子署名が、管理ユーザとして登録されたユーザのものであるかを、マッピング情報を再帰的に参照する。これによって、更新後のユーザが更新前のユーザと同一視できるユーザであることを担保することができる。 As described above, according to the virtual currency management program according to the present embodiment, when the user updates the mapping information, the mapping information indicates whether the assigned electronic signature belongs to the user registered as the management user. Is referenced recursively. Thereby, it can be ensured that the updated user can be identified with the user before the update.
<3−5.マイニング処理フロー>
図9を用いて、マイニングツールをインストールした端末200のマイニング処理の処理フローについて、送金トランザクションをブロックに格納する場合を例に説明する。
まず、検証部201は、送金トランザクションDB131を参照して、受信した送金トランザクションのうち、検証が行われていない未検証送金トランザクションが残っているか否か確認する(S101)。未検証送金トランザクションが残っている場合(S101:YES)には、検証部201は、当該未検証送金トランザクションを、検証を行うために取得する(S102)。
<3-5. Mining process flow>
With reference to FIG. 9, the processing flow of the mining process of the terminal 200 in which the mining tool is installed will be described by taking an example in which a remittance transaction is stored in a block.
First, the
次に検証部201は、取得した検証対象の送金トランザクションに含まれるインプットデータのうち、未検証のインプットデータがある場合(S103:YES)、当該未検証のインプットを取得して(S104)、インプットデータの検証を行う。まず、検証部201は、取得したインプットデータのポインタから、当該インプットデータに用いられているオーブの通貨発生トランザクションを抽出する(S105)。さらに、検証部201は通貨発生トランザクションのトランザクション発生時刻と現在時刻との差分から、減価額とインプットデータの残高とを計算する(S106)。
Next, when there is unverified input data among the input data included in the acquired remittance transaction to be verified (S103: YES), the
次に、検証部201は、検証対象送金トランザクションに含まれるアウトプットデータの送金金額の合計金額が、計算した残高を上回っていないか確認して、当該インプットデータの正当性を検証する(S107)。送金金額の合計金額が、計算した残高を上回っている場合(S107:NO)には、検証部201は、検証対象の送金トランザクションは不正な送金トランザクションであるとして、ブロックには格納しない(S151)。一方で、検証対象送金トランザクションに含まれるアウトプットデータの送金金額の合計金額が、計算した残高を上回っていない場合(S107:YES)には、検証対象送金トランザクションは、正当なインプットデータであるとして、当該インプットデータを承認する。検証部201は、このS103〜107までの処理を送金トランザクションに含まれるすべてのインプットデータの検証が完了するまで繰り返し実行する。送金トランザクションに含まれるすべてのインプットデータが正当であると承認した場合には、検証は当該送金トランザクションを正当な送金トランザクションとしてブロックに格納する。
Next, the
検証部201は、S101〜S107までの処理を未検証送金トランザクションがなくなるまで繰り返し実行する。端末200が受信した送金トランザクションに未検証送金トランザクションがなくなると(S101:NO)、報酬計算部203は、ブロックに格納した送金トランザクションの減価額の合計金額に基づいて、マイナーの報酬を計算する。さらに報酬計算部203は、送金金額を計算した合計金額とし、送金先を当該マイナーに指定して、通貨発生トランザクションを作成し、ネットワーク400にブロードキャストで配信する(S108)。配信した通貨発生トランザクションが他のマイナーに承認されると、報酬金が、通貨発生トランザクションを配信したマイナーに与えられる(S109)。
The
このように本実施形態に係るマイニングツールが、マイナーが獲得する報酬が承認したブロックに含まれる送金トランザクションの減価額に基づいて決定するように端末200を機能させることで、マイナーに対する報酬を枯渇させないようにすることが可能となる。 As described above, the mining tool according to the present embodiment does not deplete the reward for the miner by causing the terminal 200 to function based on the reduced price of the remittance transaction included in the approved block. It becomes possible to do so.
(4 ハードウェア構成)
以下、図10を参照しながら、上述してきた端末100及び端末200をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
(4 hardware configuration)
Hereinafter, an example of a hardware configuration when the terminal 100 and the terminal 200 described above are realized by the
図10に示すように、コンピュータ800は、プロセッサ801、メモリ803、記憶装置805、入力I/F部807、データI/F部809、通信I/F部811、及び表示装置813を含む。
As illustrated in FIG. 10, the
プロセッサ801は、メモリ803に記憶されているプログラムを実行することによりコンピュータ800における様々な処理を制御する。例えば、端末100の送金受付部101やインプットデータ作成部102、アウトプットデータ作成部103、送金トランザクション配信部104、マッピング部105、端末200の検証部201や発掘部202、報酬計算部203、更新許可部204などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。
The
メモリ803は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
The
記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。この他、記憶装置805は、送金トランザクション情報DB131や、ブロック情報DB132、マッピング情報DB133、口座情報DB134、マッピングトランザクション情報DB135を記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。
The
入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)等のインタフェースを介してコンピュータ800に接続されても良い。
The input I /
データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSB等のインタフェースを介してコンピュータ800へと接続される。
A data I /
通信I/F部811は、コンピュータ800の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSB等のインタフェースを介してコンピュータ800に接続される。
The communication I /
表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブル等を介してコンピュータ800に接続される。
The
[その他の実施形態]
以上、本発明の実施形態について述べたが、本発明は既述の実施形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形及び変更が可能である。
[Other embodiments]
Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications and changes can be made based on the technical idea of the present invention.
例えば、既述の実施形態において、マイニングツールは、ウォレットツールと合わせてインストールされる構成として説明したが、これに限定されない。たとえば、端末200はマイニングツールだけをインストールする構成としてもよい。この場合、端末200には、検証部201、発掘部202、及び報酬計算部203とあわせて、送金トランザクション情報DB131、ブロック情報DB132、及び公開鍵情報DB133がインストールされることが望ましい。また、既述の実施形態において、仮想通貨は時間の経過とともに減価する構成を例に説明したが、これに限定されず、減価しないものであってもよい。さらに、仮想通貨は電子的に資産として管理や取引されるものであればよく、現実の通貨や株、債券、土地等に対応するものであってもよい。
For example, in the above-described embodiment, the mining tool has been described as being installed together with the wallet tool, but the present invention is not limited to this. For example, the terminal 200 may be configured to install only a mining tool. In this case, it is desirable that a remittance
10 仮想通貨システム
100 端末
101 送金受付部
102 インプットデータ作成部
103 アウトプットデータ作成部
104 送金トランザクション配信部
105 マッピング部
131 送金トランザクション情報DB
132 ブロック情報DB
133 マッピング情報DB
134 口座情報DB
135 マッピングトランザクション情報DB
200 端末
201 検証部
202 発掘部
203 報酬計算部
204 更新許可部
400 ネットワーク
DESCRIPTION OF
132 Block information DB
133 Mapping information DB
134 Account Information DB
135 Mapping transaction information DB
Claims (3)
ユーザの識別子と、当該ユーザの公開鍵との対応関係を示し、前記公開鍵の更新を許可する管理ユーザの公開鍵を含むマッピング情報を記憶する記憶手段、
仮想通貨を第1のユーザに送金する第1の取引における、前記第1のユーザの識別子を含む第1の取引情報と、前記第1の取引により送金された金額の少なくとも一部を前記第1のユーザが送金する第2の取引における、前記第1のユーザの第1の公開鍵及び第1の電子署名を含む第2の取引情報とを記憶する記憶手段、及び
前記第2の取引情報に含まれる前記第1の公開鍵が、前記マッピング情報において、前記第1の取引情報に含まれる前記第1のユーザの識別子に対応付けられているか否か、及び、前記第2の取引情報に含まれる前記第1の公開鍵で前記第2の取引情報に含まれる前記第1の電子署名を検証できるか否かに基づいて、前記第2の取引の正当性を検証する検証手段、
第2のユーザの識別子、第2の公開鍵、及び第2の電子署名を含む更新情報を記憶する記憶手段、及び
前記マッピング情報において、前記更新情報に含まれる前記第2のユーザの識別子に対応付けられた前記管理ユーザの第3の公開鍵で、前記更新情報に含まれる前記第2の電子署名を検証可能な場合、前記マッピング情報において前記第2のユーザの識別子に対応付けられた前記第2のユーザの第4の公開鍵を、前記更新情報に含まれる前記第2の公開鍵に更新する更新手段、
として機能させる仮想通貨管理プログラム。 Computer
An identifier of the user, memory means shows the correspondence between the public key of the user, and stores the mapping information including the public key of the administrative user to allow updates of the public key,
The first transaction information including the identifier of the first user in the first transaction for transferring the virtual currency to the first user, and at least a part of the amount remitted by the first transaction Storage means for storing second transaction information including a first public key and a first electronic signature of the first user in a second transaction remittance by the user, and in the second transaction information Whether the first public key included is associated with the identifier of the first user included in the first transaction information in the mapping information, and included in the second transaction information Verifying means for verifying the validity of the second transaction based on whether the first electronic signature included in the second transaction information can be verified with the first public key.
Storage means for storing update information including an identifier of the second user, a second public key, and a second electronic signature; and
In the mapping information, the second electronic signature included in the update information can be verified with the third public key of the management user associated with the identifier of the second user included in the update information. Update means for updating the second public key of the second user associated with the identifier of the second user in the mapping information to the second public key included in the update information,
Virtual currency management program to function as.
前記更新情報は、さらに、前記第5の公開鍵を含み、
前記更新手段は、
前記マッピング情報において、前記第2の電子署名を前記第3の公開鍵または前記第5の公開鍵で検証可能な場合、前記第2のユーザの識別子に対応付けられた公開鍵を、前記第4及び第5の公開鍵から、前記第2及び第5の公開鍵に更新する、請求項1に記載の仮想通貨管理プログラム。 The mapping information includes fourth and fifth public keys as public keys associated with the second user identifier,
The update information further includes the fifth public key,
The updating means includes
In the mapping information, when the second electronic signature can be verified with the third public key or the fifth public key, the public key associated with the identifier of the second user is set to the fourth public key. The virtual currency management program according to claim 1, wherein the second public key and the fifth public key are updated to the second public key and the fifth public key.
ユーザの識別子と、当該ユーザの公開鍵との対応関係を示し、前記公開鍵の更新を許可する管理ユーザの公開鍵を含むマッピング情報を記憶するステップと、
仮想通貨を第1のユーザに送金する第1の取引における、前記第1のユーザの識別子を含む第1の取引情報と、前記第1の取引により送金された金額の少なくとも一部を前記第1のユーザが送金する第2の取引における、前記第1のユーザの第1の公開鍵及び第1の電子署名を含む第2の取引情報とを記憶するステップと、
前記第2の取引情報に含まれる前記第1の公開鍵が、前記マッピング情報において、前記第1の取引情報に含まれる前記第1のユーザの識別子に対応付けられているか否か、及び、前記第2の取引情報に含まれる前記第1の公開鍵で前記第2の取引情報に含まれる前記第1の電子署名を検証できるか否かに基づいて、前記第2の取引の正当性を検証するステップと、
第2のユーザの識別子、第2の公開鍵、及び第2の電子署名を含む更新情報を記憶するステップ、及び
前記マッピング情報において、前記更新情報に含まれる前記第2のユーザの識別子に対応付けられた前記管理ユーザの第3の公開鍵で、前記更新情報に含まれる前記第2の電子署名を検証可能な場合、前記マッピング情報において前記第2のユーザの識別子に対応付けられた前記第2のユーザの第4の公開鍵を、前記更新情報に含まれる前記第2の公開鍵に更新するステップ、
を実行する仮想通貨管理方法。 Computer
And storing the identifier of the user, and shows the correspondence between public key of the user, the mapping information including the public key of the administrative user to allow updates of the public key,
The first transaction information including the identifier of the first user in the first transaction for transferring the virtual currency to the first user, and at least a part of the amount remitted by the first transaction Storing second transaction information including a first public key and a first electronic signature of the first user in a second transaction sent by the user of
Whether or not the first public key included in the second transaction information is associated with the identifier of the first user included in the first transaction information in the mapping information; and The validity of the second transaction is verified based on whether or not the first electronic signature included in the second transaction information can be verified with the first public key included in the second transaction information. And steps to
Storing update information including a second user identifier, a second public key, and a second electronic signature; and
In the mapping information, the second electronic signature included in the update information can be verified with the third public key of the management user associated with the identifier of the second user included in the update information. And updating the second public key of the second user associated with the identifier of the second user in the mapping information to the second public key included in the update information,
Virtual currency management method to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015080222A JP5858506B1 (en) | 2015-04-09 | 2015-04-09 | Virtual currency management program and virtual currency management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015080222A JP5858506B1 (en) | 2015-04-09 | 2015-04-09 | Virtual currency management program and virtual currency management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5858506B1 true JP5858506B1 (en) | 2016-02-10 |
JP2016200954A JP2016200954A (en) | 2016-12-01 |
Family
ID=55301012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015080222A Active JP5858506B1 (en) | 2015-04-09 | 2015-04-09 | Virtual currency management program and virtual currency management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5858506B1 (en) |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017170679A1 (en) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | Private node, processing method for private node, and program for same |
JP2017188883A (en) * | 2017-03-23 | 2017-10-12 | 株式会社bitFlyer | Private node, processing method in private node, and program therefor |
JP2017200196A (en) * | 2017-06-01 | 2017-11-02 | 株式会社bitFlyer | Private node, processing method in private node, and program therefor |
JP2017224017A (en) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | Processing system and processing method |
JP2017224018A (en) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | Processing system and processing method |
JP2018014567A (en) * | 2016-07-19 | 2018-01-25 | ソフトバンク株式会社 | Control method, information processing system, computer, and control program |
JP6274680B1 (en) * | 2016-10-18 | 2018-02-07 | 株式会社大和総研ビジネス・イノベーション | Transaction recording system and program |
JP6340107B1 (en) * | 2017-04-10 | 2018-06-06 | アイビーシー株式会社 | Electronic certification system |
JP2018160828A (en) * | 2017-03-23 | 2018-10-11 | 沖電気工業株式会社 | Remittance source device, remittance destination device, remittance method, money receiving method, program, and remittance system |
JP2018182710A (en) * | 2017-08-10 | 2018-11-15 | アイビーシー株式会社 | Electronic certification system |
JP2018196150A (en) * | 2016-03-31 | 2018-12-06 | 株式会社bitFlyer | Transaction processing device, transaction processing method, and program for the same |
JP2019029933A (en) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | Content distribution apparatus, content distribution system, content distribution program, and content distribution method |
JP2019511151A (en) * | 2016-02-23 | 2019-04-18 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Cryptographic method and system for secure extraction of data from blockchain |
JP2019513312A (en) * | 2016-02-23 | 2019-05-23 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Tokenizing method and system for implementing exchange on blockchain |
JP2019524016A (en) * | 2016-06-03 | 2019-08-29 | ジエマルト・エス・アー | Methods for managing the status of connected devices |
WO2019163040A1 (en) * | 2018-02-22 | 2019-08-29 | 株式会社ゼタント | Access management system and program thereof |
JP2019525326A (en) * | 2016-07-15 | 2019-09-05 | ビザ インターナショナル サービス アソシエーション | Digital asset distribution with transaction devices |
JP2019532603A (en) * | 2016-10-20 | 2019-11-07 | ソニー株式会社 | Digital rights management based on blockchain |
JP2019535076A (en) * | 2016-09-30 | 2019-12-05 | アマゾン・テクノロジーズ、インコーポレイテッド | Immutable database supported by a cryptographically protected ledger |
JP2019211563A (en) * | 2018-06-01 | 2019-12-12 | 富士ゼロックス株式会社 | Data processing device |
JP2019537318A (en) * | 2016-10-06 | 2019-12-19 | マスターカード インターナシヨナル インコーポレーテツド | Method and system for identity and certificate protection and verification via blockchain |
CN110753916A (en) * | 2017-10-16 | 2020-02-04 | 因特比有限公司 | Method and system for virtualizing blockchain |
CN111694502A (en) * | 2019-03-14 | 2020-09-22 | 北京沃东天骏信息技术有限公司 | Block chain data storage method, device, equipment and storage medium |
US10810157B1 (en) | 2016-09-28 | 2020-10-20 | Amazon Technologies, Inc. | Command aggregation for data storage operations |
JP2021048430A (en) * | 2019-09-17 | 2021-03-25 | 富士通株式会社 | Transaction recording device, transaction recording method, and transaction recording program |
US10977128B1 (en) | 2015-06-16 | 2021-04-13 | Amazon Technologies, Inc. | Adaptive data loss mitigation for redundancy coding systems |
US11113161B2 (en) | 2016-03-28 | 2021-09-07 | Amazon Technologies, Inc. | Local storage clustering for redundancy coded data storage system |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11137980B1 (en) | 2016-09-27 | 2021-10-05 | Amazon Technologies, Inc. | Monotonic time-based data storage |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11204895B1 (en) | 2016-09-28 | 2021-12-21 | Amazon Technologies, Inc. | Data payload clustering for data storage systems |
US11269888B1 (en) | 2016-11-28 | 2022-03-08 | Amazon Technologies, Inc. | Archival data storage for structured data |
US11281624B1 (en) | 2016-09-28 | 2022-03-22 | Amazon Technologies, Inc. | Client-based batching of data payload |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11349645B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11356280B2 (en) | 2016-02-23 | 2022-06-07 | Nchain Holdings Ltd | Personal device security using cryptocurrency wallets |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11386060B1 (en) | 2015-09-23 | 2022-07-12 | Amazon Technologies, Inc. | Techniques for verifiably processing data in distributed computing systems |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11537587B2 (en) | 2015-12-14 | 2022-12-27 | Amazon Technologies, Inc. | Techniques and systems for storage and processing of operational data |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
JP7554536B2 (en) | 2016-02-23 | 2024-09-20 | エヌチェーン ライセンシング アーゲー | Method and system for efficient transfer of entities in a blockchain |
US12107952B2 (en) | 2016-02-23 | 2024-10-01 | Nchain Licensing Ag | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
US12217224B2 (en) | 2016-02-23 | 2025-02-04 | Nchain Licensing Ag | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097356B2 (en) | 2015-07-02 | 2018-10-09 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
JP6825296B2 (en) | 2016-10-11 | 2021-02-03 | 富士通株式会社 | Edge server and its encrypted communication control method |
JP6938920B2 (en) * | 2017-01-19 | 2021-09-22 | 富士通株式会社 | Information processing system, verification device, information processing method, verification method and program |
WO2018158960A1 (en) * | 2017-03-03 | 2018-09-07 | A・Tコミュニケーションズ株式会社 | Information processing device, information processing method, and program |
KR102050007B1 (en) * | 2017-03-07 | 2020-01-08 | 서강대학교산학협력단 | System and method for supporting external interface based on block chain |
CN110546663A (en) | 2017-03-08 | 2019-12-06 | 锡克拜控股有限公司 | Advanced method, system and apparatus for registering information in a database |
US11157900B2 (en) | 2017-03-24 | 2021-10-26 | Mastercard International Incorporated | Method and system for offline data transfer via machine-readable code |
CN111756550B (en) * | 2017-03-28 | 2023-08-22 | 创新先进技术有限公司 | Block chain consensus method and device |
CN110770723A (en) * | 2017-05-18 | 2020-02-07 | 科德克斯有限公司 | Distributed digital content distribution system and process using blockchain priority information |
US10956555B2 (en) | 2017-08-01 | 2021-03-23 | Panasonic Intellectual Property Corporation Of America | Management system, vehicle, and information processing method |
JP7109238B2 (en) * | 2017-08-01 | 2022-07-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Management system, vehicle, and information processing method |
JP7465915B2 (en) * | 2017-08-01 | 2024-04-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Information processing method, device, and vehicle |
GB201714987D0 (en) | 2017-09-18 | 2017-11-01 | Nchain Holdings Ltd | Computer-implemented system and method |
CA3107682C (en) * | 2018-07-29 | 2023-10-31 | Praveen Baratam | A computer-implemented method, a computer system and a cryptocurrency depository for enabling secure escrow and safekeeping of a cryptocurrency |
JP6532581B1 (en) * | 2018-08-28 | 2019-06-19 | 株式会社リップル・マーク | Virtual currency management system, virtual currency management method and virtual currency management program |
US20240372703A1 (en) * | 2021-09-16 | 2024-11-07 | Sony Group Corporation | Information processing apparatus, information processing method, and program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260123A (en) * | 2005-03-17 | 2006-09-28 | Hitachi Ltd | Credit management system, credit management method and program |
US20130054471A1 (en) * | 2007-04-19 | 2013-02-28 | Gideon Samid | Bit Currency: Transactional Trust Tools |
US20130166455A1 (en) * | 2011-12-23 | 2013-06-27 | Douglas Feigelson | Creating and using digital currency |
US20150006895A1 (en) * | 2009-06-01 | 2015-01-01 | Maidsafe Foundation | Distributed network system |
-
2015
- 2015-04-09 JP JP2015080222A patent/JP5858506B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260123A (en) * | 2005-03-17 | 2006-09-28 | Hitachi Ltd | Credit management system, credit management method and program |
US20130054471A1 (en) * | 2007-04-19 | 2013-02-28 | Gideon Samid | Bit Currency: Transactional Trust Tools |
US20150006895A1 (en) * | 2009-06-01 | 2015-01-01 | Maidsafe Foundation | Distributed network system |
US20130166455A1 (en) * | 2011-12-23 | 2013-06-27 | Douglas Feigelson | Creating and using digital currency |
Non-Patent Citations (1)
Title |
---|
JPN6015032130; 岡田 仁志: 'ビットコインの構造と制度的課題' 情報処理 2014年5月号 第55巻,第5号, 20140415, 第440-443頁, 一般社団法人情報処理学会 * |
Cited By (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977128B1 (en) | 2015-06-16 | 2021-04-13 | Amazon Technologies, Inc. | Adaptive data loss mitigation for redundancy coding systems |
US11386060B1 (en) | 2015-09-23 | 2022-07-12 | Amazon Technologies, Inc. | Techniques for verifiably processing data in distributed computing systems |
US11537587B2 (en) | 2015-12-14 | 2022-12-27 | Amazon Technologies, Inc. | Techniques and systems for storage and processing of operational data |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US12217224B2 (en) | 2016-02-23 | 2025-02-04 | Nchain Licensing Ag | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
KR102753027B1 (en) * | 2016-02-23 | 2025-01-14 | 엔체인 홀딩스 리미티드 | Method and system for secure transfer of entities on blockchain |
KR102753021B1 (en) * | 2016-02-23 | 2025-01-14 | 엔체인 홀딩스 리미티드 | Tokenization method and system for implementing exchanges on blockchain |
KR102753032B1 (en) * | 2016-02-23 | 2025-01-14 | 엔체인 홀딩스 리미티드 | Method and system for efficient transfer of entities in a peer-to-peer distributed ledger using blockchain |
KR102753569B1 (en) * | 2016-02-23 | 2025-01-10 | 엔체인 홀딩스 리미티드 | Systems and methods for controlling asset-related activities via blockchain |
KR102752890B1 (en) * | 2016-02-23 | 2025-01-10 | 엔체인 홀딩스 리미티드 | Method and system for efficient transfer of objects in blockchain |
KR102748172B1 (en) * | 2016-02-23 | 2024-12-31 | 엔체인 홀딩스 리미티드 | A universal tokenization system for blockchain-based cryptocurrencies |
US12182805B2 (en) | 2016-02-23 | 2024-12-31 | Nchain Licensing Ag | Tokenisation method and system for implementing exchanges on a blockchain |
US12107952B2 (en) | 2016-02-23 | 2024-10-01 | Nchain Licensing Ag | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
JP2019511151A (en) * | 2016-02-23 | 2019-04-18 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Cryptographic method and system for secure extraction of data from blockchain |
JP2019513312A (en) * | 2016-02-23 | 2019-05-23 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Tokenizing method and system for implementing exchange on blockchain |
JP7554536B2 (en) | 2016-02-23 | 2024-09-20 | エヌチェーン ライセンシング アーゲー | Method and system for efficient transfer of entities in a blockchain |
US12032677B2 (en) | 2016-02-23 | 2024-07-09 | Nchain Licensing Ag | Agent-based turing complete transactions integrating feedback within a blockchain system |
JP7489422B2 (en) | 2016-02-23 | 2024-05-23 | エヌチェーン ライセンシング アーゲー | TOKENATION METHOD AND SYSTEM FOR CARRYING OUT EXCHANGES ON A BLOCKCHAIN |
US11972422B2 (en) | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
US11349645B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
JP2022095918A (en) * | 2016-02-23 | 2022-06-28 | エヌチェーン ホールディングス リミテッド | Tokenization methods and systems for performing exchanges on the blockchain |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11356280B2 (en) | 2016-02-23 | 2022-06-07 | Nchain Holdings Ltd | Personal device security using cryptocurrency wallets |
US11347838B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Blockchain implemented counting system and method for use in secure voting and distribution |
JP6995762B2 (en) | 2016-02-23 | 2022-01-17 | エヌチェーン ホールディングス リミテッド | Cryptographic methods and systems for the secure extraction of data from the blockchain |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
US11113161B2 (en) | 2016-03-28 | 2021-09-07 | Amazon Technologies, Inc. | Local storage clustering for redundancy coded data storage system |
WO2017170679A1 (en) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | Private node, processing method for private node, and program for same |
JP2018196150A (en) * | 2016-03-31 | 2018-12-06 | 株式会社bitFlyer | Transaction processing device, transaction processing method, and program for the same |
JP2019524016A (en) * | 2016-06-03 | 2019-08-29 | ジエマルト・エス・アー | Methods for managing the status of connected devices |
JP2017224018A (en) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | Processing system and processing method |
JP2017224017A (en) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | Processing system and processing method |
JP2019525326A (en) * | 2016-07-15 | 2019-09-05 | ビザ インターナショナル サービス アソシエーション | Digital asset distribution with transaction devices |
JP2018014567A (en) * | 2016-07-19 | 2018-01-25 | ソフトバンク株式会社 | Control method, information processing system, computer, and control program |
US11137980B1 (en) | 2016-09-27 | 2021-10-05 | Amazon Technologies, Inc. | Monotonic time-based data storage |
US10810157B1 (en) | 2016-09-28 | 2020-10-20 | Amazon Technologies, Inc. | Command aggregation for data storage operations |
US11204895B1 (en) | 2016-09-28 | 2021-12-21 | Amazon Technologies, Inc. | Data payload clustering for data storage systems |
US11281624B1 (en) | 2016-09-28 | 2022-03-22 | Amazon Technologies, Inc. | Client-based batching of data payload |
JP2019535076A (en) * | 2016-09-30 | 2019-12-05 | アマゾン・テクノロジーズ、インコーポレイテッド | Immutable database supported by a cryptographically protected ledger |
US10614239B2 (en) | 2016-09-30 | 2020-04-07 | Amazon Technologies, Inc. | Immutable cryptographically secured ledger-backed databases |
JP2020184774A (en) * | 2016-10-06 | 2020-11-12 | マスターカード インターナシヨナル インコーポレーテツド | Method and system for protecting and verifying identity and credential via blockchain |
US11062038B2 (en) | 2016-10-06 | 2021-07-13 | Mastercard International Incorporated | Method and system for identity and credential protection and verification via blockchain |
JP2019537318A (en) * | 2016-10-06 | 2019-12-19 | マスターカード インターナシヨナル インコーポレーテツド | Method and system for identity and certificate protection and verification via blockchain |
JP2018067108A (en) * | 2016-10-18 | 2018-04-26 | 株式会社大和総研ビジネス・イノベーション | Transaction record system and program |
JP6274680B1 (en) * | 2016-10-18 | 2018-02-07 | 株式会社大和総研ビジネス・イノベーション | Transaction recording system and program |
JP2019532603A (en) * | 2016-10-20 | 2019-11-07 | ソニー株式会社 | Digital rights management based on blockchain |
US11269888B1 (en) | 2016-11-28 | 2022-03-08 | Amazon Technologies, Inc. | Archival data storage for structured data |
JP2017188883A (en) * | 2017-03-23 | 2017-10-12 | 株式会社bitFlyer | Private node, processing method in private node, and program therefor |
JP2018160828A (en) * | 2017-03-23 | 2018-10-11 | 沖電気工業株式会社 | Remittance source device, remittance destination device, remittance method, money receiving method, program, and remittance system |
JP6340107B1 (en) * | 2017-04-10 | 2018-06-06 | アイビーシー株式会社 | Electronic certification system |
JP2018182487A (en) * | 2017-04-10 | 2018-11-15 | アイビーシー株式会社 | Electronic certification system |
JP2017200196A (en) * | 2017-06-01 | 2017-11-02 | 株式会社bitFlyer | Private node, processing method in private node, and program therefor |
JP2019029933A (en) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | Content distribution apparatus, content distribution system, content distribution program, and content distribution method |
JP2018182710A (en) * | 2017-08-10 | 2018-11-15 | アイビーシー株式会社 | Electronic certification system |
CN110753916A (en) * | 2017-10-16 | 2020-02-04 | 因特比有限公司 | Method and system for virtualizing blockchain |
JPWO2019163040A1 (en) * | 2018-02-22 | 2021-01-07 | 株式会社ゼタント | Access control system and its programs |
WO2019163040A1 (en) * | 2018-02-22 | 2019-08-29 | 株式会社ゼタント | Access management system and program thereof |
JP2019211563A (en) * | 2018-06-01 | 2019-12-12 | 富士ゼロックス株式会社 | Data processing device |
US11412105B2 (en) | 2018-06-01 | 2022-08-09 | Fujifilm Business Innovation Corp. | Data processing device |
JP7077792B2 (en) | 2018-06-01 | 2022-05-31 | 富士フイルムビジネスイノベーション株式会社 | Data processing equipment |
CN111694502A (en) * | 2019-03-14 | 2020-09-22 | 北京沃东天骏信息技术有限公司 | Block chain data storage method, device, equipment and storage medium |
JP7322621B2 (en) | 2019-09-17 | 2023-08-08 | 富士通株式会社 | Transaction recording device, transaction recording method, and transaction recording program |
JP2021048430A (en) * | 2019-09-17 | 2021-03-25 | 富士通株式会社 | Transaction recording device, transaction recording method, and transaction recording program |
Also Published As
Publication number | Publication date |
---|---|
JP2016200954A (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5858506B1 (en) | Virtual currency management program and virtual currency management method | |
JP5858507B1 (en) | Virtual currency management program and virtual currency management method | |
JP5871347B1 (en) | Virtual currency management program and virtual currency management method | |
US12107947B2 (en) | Multi-blockchain digital transaction information segregation system | |
JP6841911B2 (en) | Information protection systems and methods | |
EP3439231A1 (en) | Private node, processing method for private node, and program for same | |
CN110520884A (en) | Intelligent bond service outside chain based on credible performing environment | |
CN109937557A (en) | System and method for information protection | |
CN110730963B (en) | System and method for information protection | |
CN110473105A (en) | A kind of block chain transaction settlement method, system and relevant device | |
CN110337665A (en) | System and method for information protection | |
KR20190034272A (en) | Block Chain Implementation Method and System | |
US11373216B2 (en) | Method, server, and computer program for mediating advertisement based on block chain | |
US20140136418A1 (en) | System and method for application security | |
US11329819B2 (en) | Information processing system, method for changing public key, program, and method for building information processing system | |
CN115053226A (en) | Mapping keys to blockchain overlay networks | |
US20240202710A1 (en) | Method and system for payment for central bank digital currency | |
CN111882437A (en) | Block chain implementation method with intelligent contract with complete picture | |
CN116569515A (en) | Key generation method | |
CN114531941A (en) | Multi-standard blockchain protocol | |
JP2020129284A (en) | Program, information processing device, and information processing method | |
KR102671054B1 (en) | Method and system for payment for central bank digital currency | |
JP7262328B2 (en) | Asset backup process and program | |
JPWO2019123676A1 (en) | Virtual currency management system, program | |
US20210326942A1 (en) | Method of Securing Online Merchant Reviews Using Block Chains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20151124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5858506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |