JP6649173B2 - Virtual currency management method and virtual currency management program - Google Patents
Virtual currency management method and virtual currency management program Download PDFInfo
- Publication number
- JP6649173B2 JP6649173B2 JP2016098802A JP2016098802A JP6649173B2 JP 6649173 B2 JP6649173 B2 JP 6649173B2 JP 2016098802 A JP2016098802 A JP 2016098802A JP 2016098802 A JP2016098802 A JP 2016098802A JP 6649173 B2 JP6649173 B2 JP 6649173B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- service
- virtual currency
- unit
- block
- 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 description 28
- 238000000034 method Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 23
- 238000005065 mining Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 230000010354 integration Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、仮想通貨管理方法及び仮想通貨管理プログラムに関する。 The present invention relates to a virtual currency management method and a virtual currency management program.
近年、円やドルといった貨幣による物品の取引のみではなく、電子マネー等の仮想通貨を用いた商取引が行なわれている。さらに、オープンかつ分散を前提とした「ビットコイン(登録商標)」と呼ばれる仮想通貨を用いたサービスが提案されている(例えば、非許文献1参照)。 2. Description of the Related Art In recent years, not only transactions of goods such as yen and dollars but also business transactions using virtual currency such as electronic money have been performed. Furthermore, a service using a virtual currency called "Bitcoin (registered trademark)" which is assumed to be open and distributed has been proposed (for example, see Non-Patent Document 1).
このビットコインでは、実現のために「ブロックチェーン」と呼ばれる技術が使用されている。まず、ビットコインによる取引では、ハッシュ関数と公開鍵暗号方式とを用いて、取引情報の真正性を担保している。暗号技術を用いて行われた仮想通貨の取引情報(以下、「トランザクション」という。)は、ビットコインを利用する全端末に対してブロードキャストで送信される。送信されたトランザクションは、マイナー(採掘者)と呼ばれる端末によって真正性が検証され、承認されるとブロックにまとめられ、ブロックチェーンと呼ばれる台帳に記録される。ビットコインによる取引では、マイナーにマイニング(採掘)と呼ばれる計算処理を行わせてから、ブロックチェーンにブロックを追加することによって、トランザクションの改ざんを防いでいる。 In this bitcoin, a technology called “blockchain” is used for realization. First, in the transaction using bitcoin, the authenticity of the transaction information is secured using a hash function and a public key cryptosystem. Transaction information (hereinafter, referred to as “transaction”) of the virtual currency performed using the encryption technology is transmitted by broadcast to all terminals that use bitcoin. The transmitted transaction is verified for its authenticity by a terminal called a miner (miner), and when it is approved, it is put into a block and recorded in a ledger called a block chain. In Bitcoin transactions, transactions are prevented from being tampered with by allowing miners to perform a calculation process called mining and then adding blocks to the blockchain.
ここで、ブロックチェーンの末尾のブロックには、複数のトランザクションと、ブロックチェーンの末尾のブロックの一つ前のブロックのハッシュ値と、予め条件が定められた適切な値(「Nonce(ナンス)」という。)と、が格納されている。マイナーは、マイニングとして、このブロックチェーンの末尾のブロックのハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックに使うハッシュを生成するようなNonceを、総当たりで探索する。 Here, the last block of the block chain includes a plurality of transactions, the hash value of the block immediately before the last block of the block chain, and an appropriate value (“Nonce (nonce)”) whose conditions are determined in advance. ) Is stored. The miner performs a brute-force search for a nonce that generates a hash to be used for the next block from the hash value of the last block of the block chain and the transaction whose authenticity is to be guaranteed, as mining.
このとき、マイナーが、他のマイナーに先駆けてNonceを発見するためには膨大な計算量が必要である。この計算量が非常に大きいことがブロックチェーンの内容の真正性の根拠となっている。このように、各取引をネットワークで合意・認証するために多くの計算量を費やす方式を、プルーフ・オブ・ワークという。プルーフ・オブ・ワークは、仮想通貨など、様々な情報の真正性を示すために適用されている。 At this time, an enormous amount of calculation is required for the miner to discover Nonce ahead of other miners. The extremely large amount of calculation is the basis for the authenticity of the contents of the blockchain. Such a method of spending a large amount of calculation to agree and authenticate each transaction on the network is called a proof of work. The proof of work is applied to show the authenticity of various information such as virtual currency.
このブロックチェーン技術には様々な応用が検討されており、ビットコインの仕組みを基に、類似した暗号通貨システム(オルトコイン)が提案されている。オルトコインとしては、ライトコイン、ドージコイン、モナーコイン(登録商標)等があり、現在、500以上の暗号通貨システムがあるといわれている。 Various applications are being studied for this blockchain technology, and a similar cryptocurrency system (orthocoin) has been proposed based on the mechanism of bitcoin. Ortho coins include Litecoin, Dogecoin, Monacoin (registered trademark) and the like, and it is said that there are currently more than 500 cryptocurrency systems.
このようなオープンかつ分散型の仮想通貨を提供するサービスでは、ブロックチェーンの内部に記述される情報(ビットコインの場合はトランザクションである。)の真正性は、その系を支えるマイナーが提供する計算量に依存している。 In such a service that provides open and decentralized virtual currencies, the authenticity of the information (in the case of bitcoin, a transaction) described in the blockchain is calculated by the miner that supports the system. Depends on quantity.
言い換えると、計算量によっては、ブロックチェーンへの攻撃が可能となる。例えば、悪意あるグループまたは個人が、全体の計算量の50%以上を超えると、ネットワーク全体の採掘速度の50%以上を支配し、不正な取引が可能となることが知られている(51%攻撃)。 In other words, depending on the amount of calculation, an attack on the blockchain becomes possible. For example, it is known that if a malicious group or individual exceeds 50% or more of the total calculation amount, it will dominate over 50% or more of the mining speed of the entire network and illegal transactions will be possible (51%). attack).
したがって、プルーフ・オブ・ワークによって真正性を保証するためには、すなわち、攻撃者からの改ざんを防ぐためには、攻撃者が、攻撃のために費やす計算量を超えることが極めて困難となるように、マイナーが非常に大きな計算量を費やすことが必要条件となる。 Therefore, in order to guarantee the authenticity of the proof of work, that is, to prevent tampering by an attacker, it is extremely difficult for the attacker to exceed the amount of calculation spent for the attack. A requirement is that the miner spends a very large amount of computation.
しかしながら、このようなオルトコインは、オープンかつ分散を前提としたサービスであるため、マイナーは、自由に参加或いは離脱が可能である。このため、サービスの普及度によっては、十分なマイナーが確保できない可能性が想定される。即ち、サービスの普及度によっては、マイナーによる計算量が十分に確保できない可能性が想定される。この場合、トランザクション等のブロックチェーン内に記録された情報の真正性が保証できず、サービスは、その本来の目的を達成できないという問題があった。 However, such an altcoin is a service premised on being open and distributed, so that a miner can freely participate or leave. For this reason, depending on the spread of the service, there is a possibility that a sufficient minor cannot be secured. That is, it is assumed that the amount of calculation by the miner cannot be sufficiently secured depending on the degree of spread of the service. In this case, there is a problem that the authenticity of information recorded in the block chain such as a transaction cannot be guaranteed, and the service cannot achieve its original purpose.
本発明は、上記に鑑みてなされたものであって、オープンかつ分散を前提としたサービスで提供される仮想通貨の取引情報の真正性の保証度を高めることができる仮想通貨管理方法及び仮想通貨管理プログラムを提供することを目的とする。 The present invention has been made in view of the above, and a virtual currency management method and a virtual currency that can increase the degree of assurance of the authenticity of transaction information of virtual currencies provided by open and distributed services The purpose is to provide a management program.
上述した課題を解決し、目的を達成するために、本発明に係る仮想通貨管理方法は、所定のサービスで提供される分散型の仮想通貨の取引処理を行う複数の端末が実行する仮想通貨管理方法であって、端末は、所定のサービスで提供される仮想通貨に関する取引情報が一定の取引単位で時系列に繋がれた取引履歴であって真正性を示す情報である取引履歴を記憶する記憶部を有し、端末が、所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する取引履歴を取得する工程と、端末が、取得した他のサービスに対応する取引履歴と、記憶部に記憶する取引履歴とを結合する工程と、端末が、結合した取引履歴を記憶部に記憶させる工程と、を含む。 In order to solve the above-described problems and achieve the object, a virtual currency management method according to the present invention provides a virtual currency management method executed by a plurality of terminals that perform distributed virtual currency transaction processing provided by a predetermined service. In the method, the terminal stores a transaction history in which transaction information on virtual currency provided by a predetermined service is transaction history linked in a time series in a predetermined transaction unit and is information indicating authenticity. Having a unit, the terminal obtains a transaction history related to the distributed virtual currency provided in another service different from the predetermined service, the terminal, the transaction history corresponding to the obtained other services, storage Combining the transaction history stored in the storage unit and the terminal storing the combined transaction history in the storage unit.
本発明によれば、オープンかつ分散を前提としたサービスで提供される仮想通貨の取引情報の真正性の保証度を高めることができる。 ADVANTAGE OF THE INVENTION According to this invention, the degree of guarantee of the authenticity of the transaction information of the virtual currency provided by the service which presupposes open and dispersion can be raised.
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited by this embodiment. In the description of the drawings, the same parts are denoted by the same reference numerals.
[実施の形態]
本発明の実施の形態について説明する。本発明の実施の形態では、オープンかつ分散を前提とした仮想通貨を提供するサービスに対する仮想通貨管理方法について説明する。まず、実施の形態に係る仮想通貨管理方法の概略について説明する。
[Embodiment]
An embodiment of the present invention will be described. In the embodiment of the present invention, a virtual currency management method for a service that provides open and distributed virtual currency is described. First, an outline of a virtual currency management method according to an embodiment will be described.
[実施の形態の概略]
図1及び図2は、本発明の実施の形態の概略を説明する図である。一例として、図1の(a)に示すように、ブロックチェーン(取引履歴)B(K)を使ったサービスKと、図1の(b)に示すように、ブロックチェーンB(T)を使ったサービスTと、がある場合について説明する。ブロックチェーンは、仮想通貨に関する取引情報を示す取引単位(ブロック)が時系列に繋がれたものであって真正性を示す情報であり、仮想通貨の取引を記録した台帳として機能する。
[Outline of Embodiment]
1 and 2 are diagrams for explaining an outline of an embodiment of the present invention. As an example, a service K using a blockchain (transaction history) B (K) as shown in FIG. 1A and a blockchain B (T) as shown in FIG. A description will be given of a case where there is a service T and a service T. The block chain is information in which transaction units (blocks) indicating transaction information relating to the virtual currency are connected in chronological order and indicates authenticity, and functions as a ledger that records transactions of the virtual currency.
サービスKは、オープンかつ分散を前提とした仮想通貨を提供する。サービスTは、オープンかつ分散を前提とした仮想通貨であって、サービスKが提供する仮想通貨とは異なる種別の仮想通貨を提供する。いずれのサービスK,Tも、それぞれのサービスK,Tに対応する仮想通貨管理プログラムをインストールした、複数の端末(プレイヤー)同士が互いに通信を行うP2Pの構成となっている。そして、図1の例では、サービスKでは、サービスKにおける仮想通貨の取引処理の内容を示す取引情報(トランザクション)の真正性を保証するためのマイナー(採掘者)K1〜K3がある。また、サービスTでは、サービスTにおけるトランザクションの真正性を保証するためのマイナーT1,T2がある。 The service K provides a virtual currency that is open and distributed. The service T is a virtual currency that is open and distributed, and provides a different type of virtual currency from the virtual currency provided by the service K. Each of the services K and T has a P2P configuration in which a plurality of terminals (players), in which a virtual currency management program corresponding to each of the services K and T is installed, communicate with each other. In the example of FIG. 1, in the service K, there are miners (miners) K1 to K3 for guaranteeing the authenticity of the transaction information (transaction) indicating the content of the transaction processing of the virtual currency in the service K. In the service T, there are minors T1 and T2 for guaranteeing the authenticity of the transaction in the service T.
ここで、本実施の形態では、図2の矢印Y1に示すように、サービスKのブロックチェーンB(K)と、サービスTのブロックチェーンB(T)とを統合し、サービスKとサービスTとの取引履歴を継承した新たなブロックチェーンB(K+T)を結合する。言い換えると、二つのサービスK,TのブロックチェーンB(K),B(T)を結合し、新たなサービス(K+T)を構築する。 Here, in the present embodiment, as shown by an arrow Y1 in FIG. 2, the block chain B (K) of the service K and the block chain B (T) of the service T are integrated, and the service K and the service T New blockchain B (K + T) that inherits the transaction history of In other words, the block chains B (K) and B (T) of the two services K and T are combined to construct a new service (K + T).
この結果、サービス(K+T)では、真正性を保証するためのマイナーの数が、マイナーK1〜K3,T1,T2に増える。したがって、サービス(K+T)では、真正性を保証するためにマイナーK1〜K3,T1,T2が実行する計算量も増加するため、真正性の保証度が高まる。これは、二つのサービスK,Tを合わせることで、情報の真正性を保証する、より大きな計算量を供給可能となるためである(図2の枠C1参照)。 As a result, in the service (K + T), the number of minors for guaranteeing authenticity increases to minors K1 to K3, T1, and T2. Therefore, in the service (K + T), the amount of calculation performed by the minors K1 to K3, T1, and T2 to guarantee authenticity increases, and the degree of assurance of authenticity increases. The reason for this is that by combining the two services K and T, it is possible to supply a larger amount of calculation that guarantees the authenticity of the information (see the frame C1 in FIG. 2).
このように、実施の形態では、ブロックチェーンを応用する2つのサービスK,Tがあった場合、サービスK,TのブロックチェーンB(K),B(T)を統合し、新たなブロックチェーンB(K+T)を生成する。サービスK,Tでマイナーの集団M(S),M(T)があった場合には、このブロックチェーンB(K)及びB(T)統合によって、マイナーの集団として(M(S)∪M(T))を想定することができる。この結果、マイナーの数が増えるため、真正性を保証するためにマイナーが実行する計算量も増加し、真正性の保証度を高めることができる。 As described above, in the embodiment, when there are two services K and T to which the block chain is applied, the block chains B (K) and B (T) of the services K and T are integrated and a new block chain B is added. (K + T) is generated. When there are minor groups M (S) and M (T) in the services K and T, the integration of the block chains B (K) and B (T) results in (M (S) ∪M (T)) can be assumed. As a result, the number of minors increases, so that the amount of calculations performed by the miners to guarantee authenticity also increases, and the degree of authenticity assurance can be increased.
[仮想通貨管理システムの構成]
次に、実施の形態に係る仮想通貨管理システムの構成について説明する。図3は、本発明の実施の形態に係る仮想通貨管理システムの構成の一例を模式的に示す図である。
[Configuration of virtual currency management system]
Next, a configuration of the virtual currency management system according to the embodiment will be described. FIG. 3 is a diagram schematically illustrating an example of the configuration of the virtual currency management system according to the embodiment of the present invention.
図3に示すように、仮想通貨管理システム1は、複数のクライアント端末装置同士が互いに通信を行う、P2P(Peer to Peer)型の構成を有する。この仮想通貨管理システム1は、この仮想通貨を利用する複数の端末(マイナー10K,10T、ユーザ20K,20T)が、インターネットや専用線等のネットワーク30に接続された構成を有する。
As shown in FIG. 3, the virtual
マイナー10K,10T及びユーザ20K,20Tは、本仮想通貨管理システム1の仮想通貨管理プログラムをインストールした端末装置である。例えば、マイナー10K,10T及びユーザ20K,20Tは、携帯電話、スマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)等である。
The
また、マイナー10K,10Tは、仮想通貨を用いて取引を行うとともに、仮想通貨に対するトランザクションの検証や承認を行う端末である。ユーザ20K,20Tは、仮想通貨を用いて取引を行う端末である。そして、マイナー10K及びユーザ20Kは、前述のサービスKを利用する端末である。一方、マイナー10T及びユーザ20Tは、前述のサービスTを利用する端末である。実施の形態では、仮想通貨管理システム1が、サービスKとサービスTとを統合する場合を例に、仮想通貨を管理する方法を説明する。
The
[仮想通貨の概要]
ここで、仮想通貨管理システム1によって提供される仮想通貨の概要について説明する。この仮想通貨は、既存のビットコインの仕組みと類似した暗号通貨システム(オルトコイン)によって提供されるP2Pデジタル通貨である。仮想通貨は、公開鍵暗号式と、ハッシュ関数とを使用したデジタル署名によって取引情報の完全性が担保されている。また、仮想通貨の取引に関数する情報や履歴は、ブロックチェーンとして、仮想通貨管理システム1全体で分散して管理されている。
[Overview of virtual currency]
Here, an outline of the virtual currency provided by the virtual
サービスKとサービスTとの統合前には、マイナー10K及びユーザ20Kは、サービスKで提供される仮想通貨を利用しており、ブロックチェーンB(K)を記憶する。マイナー10T及びユーザ20Tは、サービスTで提供される仮想通貨を利用しており、ブロックチェーンB(T)を記憶する。サービスKとサービスTとの統合後には、マイナー10K,10T及びユーザ20K,20Tは、統合後のサービス(K+T)で提供される仮想通貨を利用し、ブロックチェーンB(K+T)を記憶する。
Before the integration of the service K and the service T, the minor 10K and the
マイナー10K,10Tは、仮想通貨を取引するためのウォレット機能と、仮想通貨の真正性の検証及び取引を承認するためのマイニング機能とを実行させるプログラムをインストールしている。ユーザ20K,20Tは、ウォレット機能を実行させるプログラムをインストールしている。
The
マイナー10K,10T及びユーザ20K,20Tは、ウォレット機能を実行させるプログラムをインストールすることによって、口座アドレスがそれぞれ振り分けられ、仮想通貨を購入、取引することができる。暗号技術を用いて行われた仮想通貨の取引情報(トランザクション)は、ブロックチェーンによって管理される。マイナー10K,10Tは、トランザクションの真正性を検証し、正当なトランザクションを承認した場合、承認済みのトランザクションから構成されるブロックを生成して、ブロックチェーンの末尾に繋ぐ。そこで、マイナー10K,10Tの装置構成について説明する。
The
[マイナーの構成]
図4は、図3に示すマイナー10Kの構成の一例を示すブロック図である。なお、マイナー10Tは、マイナー10Kと同様の機能構成である。以降、マイナー10K,10Tを区別なく表記する際は、マイナー10と表記する。図4に示すように、マイナー10Kは、通信部11、記憶部12、制御部13、入力部14及び出力部15を有する。
[Minor configuration]
FIG. 4 is a block diagram showing an example of the configuration of the minor 10K shown in FIG. The minor 10T has the same functional configuration as the minor 10K. Hereinafter, when the
通信部11は、ネットワーク30を介して接続された他のマイナー10K,10T及びユーザ20K,20Tとの間で、各種情報を送受信する通信インタフェースである。仮想通貨の取引があった場合には、通信部11は、制御部13の制御の基、トランザクションを同じサービスを利用する他のマイナー及びユーザにブロードキャストで送信する。
The
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、マイナー10Kを動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、ブロック情報記憶部121、公開鍵記憶部122及び口座情報記憶部123を記憶する。
The storage unit 12 is realized by a semiconductor memory device such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk, and executes a processing program for operating the minor 10K and execution of the processing program. Data and the like used therein are stored. The storage unit 12 stores a block information storage unit 121, a public key storage unit 122, and an account
ブロック情報記憶部121は、このマイナー10Kが利用するサービスK(所定のサービス)のブロックチェーンを記憶する。このブロックチェーンについて、サービスKにおけるブロックチェーンB(K)を例に説明する。図5は、ブロックチェーンB(K)の構成の一例を説明する図である。 The block information storage unit 121 stores a block chain of a service K (predetermined service) used by the minor 10K. This block chain will be described using a block chain B (K) in service K as an example. FIG. 5 is a diagram illustrating an example of the configuration of the block chain B (K).
図5に示すように、ブロックチェーンB(K)は、例えばブロックB0〜B3が時系列に繋がった構成である。ブロックB0は先頭のブロックであり、ブロックB1〜B3は、それぞれが、サービスKで提供される仮想通貨に関する取引情報を示す取引単位である。例えば、ブロックB2では、領域Raには、一つ前のブロックB1のハッシュ(H(B1))が含まれ、領域Rbには、暗号技術を用いて行われた複数のトランザクション(Transactions)が含まれ、領域Rcには、Nonceが含まれる。 As shown in FIG. 5, the block chain B (K) has a configuration in which, for example, blocks B0 to B3 are connected in time series. The block B0 is the first block, and each of the blocks B1 to B3 is a transaction unit indicating transaction information on virtual currency provided by the service K. For example, in the block B2, the area Ra includes a hash (H (B1)) of the immediately preceding block B1, and the area Rb includes a plurality of transactions (Transactions) performed using encryption technology. The region Rc includes Nonce.
ここで、ハッシュは、ハッシュ関数を実行することによって任意のデータを一定の短い長さの値に変換したものである。また、Nonceは、次のブロックB3のハッシュ(H(B2))が、設定されたある条件を満たす値にするようなキーであり、一定の長さである任意の値である。例えば、Nonceは、ブロックB3に使うハッシュを「0が一定数連続する値」とするようなキーである。 Here, the hash is obtained by converting arbitrary data into a value of a certain short length by executing a hash function. Nonce is a key that makes the hash (H (B2)) of the next block B3 a value that satisfies a set condition, and is an arbitrary value having a fixed length. For example, Nonce is a key that sets the hash used for the block B3 to be “a value in which a certain number of consecutive 0s”.
なお、マイナー10Kは、このブロックB2のハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックB3に使うハッシュ(H(B2))を生成するようなNonceを、総当たりで探索する計算処理(採掘:マイニング)を行う。また、ブロック情報記憶部121は、サービスKとサービスTとの統合前は、ブロックチェーンB(K)を記憶し、サービスKとサービスTとの統合後は、ブロックチェーンB(K+T)を記憶する。マイナー10Kは、ブロックチェーンB(K)の全体を記憶していることが望ましい。 Note that the minor 10K uses a brute force search for a nonce that generates a hash (H (B2)) to be used for the next block B3 from the hash value of the block B2 and the transaction whose authenticity is to be guaranteed. Perform calculation processing (mining: mining). Further, the block information storage unit 121 stores the block chain B (K) before the integration of the service K and the service T, and stores the block chain B (K + T) after the integration of the service K and the service T. . It is desirable that the minor 10K stores the entire block chain B (K).
図4に戻り、公開鍵記憶部122について説明する。公開鍵記憶部122は、サービスを利用する全マイナー及び全ユーザの口座アドレスと公開鍵とを対応付けて記憶する。口座情報記憶部123は、マイナー10Kを利用する操作者の秘密鍵が記憶されている。秘密鍵は、送金の際に使用する暗証番号として機能する。
Returning to FIG. 4, the public key storage unit 122 will be described. The public key storage unit 122 stores account addresses of all minors and all users who use the service in association with public keys. The account
制御部13は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部13は、ウォレット部131、マイニング部132及び結合部133を有する。
The control unit 13 has an internal memory for storing programs that define various processing procedures and the like and required data, and executes various processes by using these. For example, the control unit 13 is an electronic circuit such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). The control unit 13 includes a wallet unit 131, a mining unit 132, and a combining
ウォレット部131は、マイナー10Kの操作者の処理によって、仮想通貨の購入、或いは、仮想通貨の送金を受付けると、この取引に関するトランザクションを作成し、ネットワーク30へ配信する。配信したトランザクションが、他のマイナーのマイニングによって承認され、ブロックチェーンに繋がれると、取引が決済される。
When the purchase of the virtual currency or the remittance of the virtual currency is accepted by the processing of the operator of the minor 10K, the wallet unit 131 creates a transaction related to this transaction and distributes it to the
マイニング部132は、他のマイナー或いはユーザから送信されたトランザクションの、真正性を検証し、他のマイナーから承認されると、発掘されたブロックにまとめて、ブロックチェーンに記録させる。マイニング部132は、マイニングと呼ばれる計算処理を行う。マイニングは、ブロックチェーンの末尾のブロックのハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックに使うハッシュを生成するようなNonceを、総当たりで探索する計算処理である。マイニング部132は、新規ブロックに適合する正しいNonceを見つけた場合、ブロックを作成し、作成したブロックをブロックチェーンの末尾に繋ぐ。言い換えると、正しいNonceを見つけたマイナーが、ブロックを作成し、ブロックチェーンに、作成したブロックを繋げる権利を獲得できる。 The mining unit 132 verifies the authenticity of the transaction transmitted from another miner or user, and when approved by the other miner, collects the excavated blocks and records them in the block chain. The mining unit 132 performs a calculation process called mining. Mining is a calculation process of brute-force searching for a Nonce that generates a hash to be used for the next block from a hash value of a block at the end of the block chain and a transaction whose authenticity is to be guaranteed. If the mining unit 132 finds a correct Nonce that matches the new block, it creates a block and connects the created block to the end of the block chain. In other words, a miner who finds the correct Nonce can create a block and gain the right to connect the created block to the blockchain.
結合部133は、サービスKのブロックチェーンB(K)と、サービスKとは異なるサービスTのブロックチェーンB(T)とを結合する結合処理を行う。言い換えると、結合部133は、ブロックチェーンB(K)とブロックチェーンB(T)とを統合し、サービスKとサービスTとの取引履歴を継承した新たなブロックチェーンB(K+T)を結合する。この結果、仮想通貨管理システム1は、サービスKと、サービスTとを融合し、新たなサービス(K+T)を構築することが可能になる。この結合部133は、タイミング制御部1331、結合処理部1332及び判断部1333を有する。
The combining
タイミング制御部1331は、所定のルールに従ったタイミングで、結合処理の開始を制御する。図1の例では、タイミング制御部1331は、所定のルールに従ったタイミングで、ブロックチェーンB(K)とブロックチェーンB(T)とを結合する結合処理の開始を制御する。
The
結合処理部1332は、所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関するブロックチェーンを取得する。続いて、結合処理部1332は、取得した他のサービスに対応する取引履歴と、ブロック情報記憶部121に記憶するブロックチェーンとを結合する。言い換えると、結合処理部1332は、サービスTのブロックチェーンB(T)を取得する。続いて、結合処理部1332は、取得したサービスTのブロックチェーンB(T)と、ブロック情報記憶部121に記憶するサービスKのブロックチェーンB(K)とを結合し、サービスKとサービスTとの取引履歴を継承した新たなブロックチェーンB(K+T)を結合する。
The
この場合、結合処理部1332は、結合対象の各取引履歴のそれぞれ最後のブロックから、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとする。そして、結合処理部1332は、通信部11を介して、結合後のブロックチェーンB(K+T)を、サービスK,Tを利用する他のマイナー及びユーザにブロードキャストで送信する。
In this case, the combining
なお、マイナー10Tの場合には、結合処理部1332は、他方のサービスKのブロックチェーンB(K)を取得し、結合処理部1332は、取得したサービス(K)のブロックチェーンB(K)と、記憶するサービスTのブロックチェーンB(T)とを結合して、新たなブロックチェーンB(K+T)を結合する。
In the case of the minor 10T, the
判断部1333は、通信部11を介して、サービスK,Tを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンB(K+T)を受信する。そして、判断部1333は、所定のルールに従って、受信した各ブロックチェーンB(K+T)のうち、結合後のブロックチェーンとして採用するブロックチェーンを判断する。続いて、判断部1333は、結合後のブロックチェーンとして採用されたブロックチェーンB(K+T)をブロック情報記憶部121に記憶する。
The
入力部14は、マイナー10Kの操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部14は、ボタン、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。出力部15は、例えば、液晶ディスプレイやプリンタ等であって、仮想通貨の管理に関する各種情報を出力する。 The input unit 14 is an input interface that receives various operations from the operator of the minor 10K. For example, the input unit 14 includes buttons, a touch panel, a voice input device, and an input device such as a keyboard and a mouse. The output unit 15 is, for example, a liquid crystal display, a printer, or the like, and outputs various information related to management of virtual currency.
[ユーザの構成]
次に、ユーザ20K,20Tの装置構成について説明する。図6は、図3に示すユーザ20Kの構成の一例を示すブロック図である。なお、ユーザ20Tは、ユーザ20Kと同様の機能構成である。以降、ユーザ20K,20Tを区別なく表記する際は、ユーザ20と表記する。図6に示すように、ユーザ20Kは、通信部21、記憶部22、制御部23、入力部24及び出力部25を有する。
[User Configuration]
Next, the device configuration of the
通信部21は、通信部11と同様の機能を有する通信インタフェースである。記憶部22は、記憶部12と同様の機能を有し、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部22は、記憶部12と同様に、ブロック情報記憶部121、公開鍵記憶部122及び口座情報記憶部123を記憶する。
The
制御部23は、制御部13と同様の機能を有し、CPUやMPUなどの電子回路である。制御部23は、制御部13と比し、マイニング部132を削除した構成を有する。
The
入力部24は、入力部14と同様に、ユーザ20Kの操作者からの各種操作を受け付ける入力インタフェースである。そして、出力部25は、例えば、液晶ディスプレイやプリンタ等であって、仮想通貨の管理に関する各種情報を出力する。
The
[結合処理における前提]
次に、サービスTと、サービスKのブロックチェーンとを結合する場合の前提について説明する。
[Assumptions in join processing]
Next, a description will be given of a premise when the service T and the block chain of the service K are combined.
本実施の形態では、これまで説明したように、前提として、P2P型で運用されるブロックチェーンを利用した二つのサービスK,Tがあるとする。サービスK,Tによって生成されるブロックチェーンを、それぞれB(K),B(T)とするとともに、サービスK,Tに関連するプレイヤーの集合をそれぞれP(K),P(T)とする。プレイヤーには、前述のマイナー及びユーザが含まれる。また、サービスKのマイナーの集合をM(S)とし、サービスTのマイナーの集合をM(T)とすると、各サービスK,Tのマイナーは、各サービスK,Tのプレイヤーの一部であるから、M(K)⊂P(K)、M(T)⊂P(T)となる。 In the present embodiment, as described above, it is assumed that there are two services K and T using a block chain operated in P2P type. Block chains generated by the services K and T are B (K) and B (T), respectively, and sets of players related to the services K and T are P (K) and P (T), respectively. The players include the aforementioned minors and users. Further, assuming that a set of minors of the service K is M (S) and a set of minors of the service T is M (T), the minors of the services K and T are a part of the players of the services K and T. Thus, M (K) ⊂P (K) and M (T) ⊂P (T).
実施の形態では、これらのサービスK及びサービスTを融合したサービス(K+T)を創出及び運用するために、二つのブロックチェーンB(K)とブロックチェーンB(T)とを結合したブロックチェーンB(K+T)を生成する。ここで、このブロックチェーンの結合処理は、運用中のサービスK,T間で行われるため、この結合処理を実施するためには、最初に、予め、プレイヤーP(K)とプレイヤーP(T)との間で、次に示す内容を合意する。 In the embodiment, in order to create and operate a service (K + T) in which the service K and the service T are integrated, a block chain B (K) that combines two block chains B (K) and B (T) is used. K + T). Here, since the connection processing of the block chains is performed between the operating services K and T, in order to perform the connection processing, first, the player P (K) and the player P (T) And the following are agreed upon.
まず、第一に、プレイヤーP(K)とプレイヤーP(T)とは、二つのサービスK,Tを統合すること、すなわち、二つのブロックチェーンB(K),B(T)を結合すること自体を合意する。第二に、プレイヤーP(K)とプレイヤーP(T)とは、合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアの実装と配布とについて合意する。 First, the player P (K) and the player P (T) integrate two services K and T, that is, combine two block chains B (K) and B (T). Agree on itself. Second, the player P (K) and the player P (T) agree on the combination processing according to the agreement and the implementation and distribution of software for operating the combined blockchain.
そして、第三に、プレイヤーP(K)とプレイヤーP(T)とは、結合の処理に関する技術的仕様について合意する。具体的には、ブロックチェーンの結節点の技術的仕様である。また、第四に、プレイヤーP(K)とプレイヤーP(T)とは、結合後のブロックチェーンの技術的仕様について合意する。具体的には、プレイヤーP(K)とプレイヤーP(T)とは、結合後のブロックチェーンのための最初のハッシュの生成に使用するハッシュ関数等について合意する。 Thirdly, the player P (K) and the player P (T) agree on a technical specification relating to the combining process. Specifically, it is the technical specification of the node of the blockchain. Fourth, the players P (K) and P (T) agree on technical specifications of the combined blockchain. Specifically, the player P (K) and the player P (T) agree on a hash function and the like used for generating an initial hash for the combined block chain.
さらに、第五に、プレイヤーP(K)とプレイヤーP(T)とは、結合のタイミングについて合意する。そして、第六に、プレイヤーP(K)とプレイヤーP(T)とは、結合後のブロックチェーンの「正しさ」を判断するルールを合意する。 Fifth, player P (K) and player P (T) agree on the timing of the combination. Sixth, the player P (K) and the player P (T) agree on a rule for determining the “correctness” of the combined block chain.
[結合処理の概要]
第一から第六の合意事項のうち第一の合意事項である「二つのブロックチェーン(サービス)を結合すること」は、本実施の形態における結合処理を実施する前提であり、プレイヤーP(K)とプレイヤーP(T)との間で合意がなされているものとして以下の説明を行なう。そして、第二の合意事項である「合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアの実装と配布」は、以下で述べる技術的仕様の方法を決定し、それに従ったソフトウェアが実装及び配布されるものとする。
[Overview of join processing]
“Combining two blockchains (services)”, which is the first of the first to sixth agreements, is based on the premise that the combining process in the present embodiment is performed, and the player P (K ) And the player P (T) are described below. Then, the second agreement, “Implementation and distribution of software for operating the combined blockchain and combined blockchain in accordance with the agreement,” determines the method of the technical specifications described below and follows it. Software is implemented and distributed.
本実施の形態では、第三の合意事項である「結合の処理に関する技術的仕様」に従ってブロックチェーンの結節点を生成することによって、第四の合意事項である「結合後の部六チェーンの技術的仕様」に適合するブロックチェーンの生成を可能とする。そこで、具体的に、結合処理において生成するブロックチェーンの結節点の生成について説明する。 In the present embodiment, by generating the node of the blockchain in accordance with the “technical specification on processing of joining” which is the third agreement, the “technology of the part 6 chain after the joining” which is the fourth agreement Blockchain that conforms to the “specification”. Therefore, generation of a node of the block chain generated in the combining process will be specifically described.
図7及び図8は、結合部133による結合処理を説明するための図である。結合部133は、図7に示すように、結合対象の、サービスKのブロックチェーンB(K)とサービスTのブロックチェーンB(T)とを取得する。サービスKのブロックチェーンB(K)は、前述したように、先頭のブロックB0から、ブロックB1〜B(m+1)が時系列に繋がれている。また、サービスTのブロックチェーンB(T)は、先頭のブロックB0´から、ブロックB1´〜B(n+1)´が時系列に繋がれている。
FIGS. 7 and 8 are diagrams for explaining the combining process performed by the combining
結合処理部1332は、サービスKのブロックチェーンB(K)の最後のブロックB(m+1)と、サービスTのブロックチェーンB(T)の最後のブロックB(n+1)´との2つのブロックから、「決められたルール」に従い、新しいハッシュHc(H(Bm+n+1))を生成する(図7の(1)及び図8参照)。
The combining
そして、結合処理部1332は、このハッシュHcを、結合後のブロックチェーンの最初のハッシュとして設定する。言い換えると、2つのサービスのマイナー10及びユーザ20は、それぞれ、ブロックチェーンB(K)の最後のブロックB(m+1)とブロックチェーンB(T)の最後のブロックB(n+1)´とから、新しいハッシュHc(H(Bm+n+1))を生成する(図7の矢印Y11参照)。このハッシュHcが、2つのブロックチェーンB(K),B(T)の結節点となる。
Then, the combining
そして、2つのサービスのマイナー10及びユーザ20は、新たに生成されたハッシュHcを用いて、ブロックチェーンを再開する(図7の(2)参照)。具体的には、マイナー10及びユーザ20は、図7の矢印Y12のように、トランザクション(Transactions)とNonceとに加え、新しいハッシュHcを含めたブロック(B(m+n+1))を、ブロックチェーンB(K),B(T)の結節点に繋げる。このブロック(B(m+n+1))は、サービス(K+T)のマイナー10のうち、マイニングに成功したマイナーが生成する。 Then, the miner 10 and the user 20 of the two services restart the block chain using the newly generated hash Hc (see (2) in FIG. 7). Specifically, the miner 10 and the user 20 add a block (B (m + n + 1)) including the new hash Hc in addition to the transaction (Transactions) and Nonce as shown by an arrow Y12 in FIG. K) and B (T). This block (B (m + n + 1)) is generated by a miner that succeeds in mining among the miners 10 of the service (K + T).
続いて、このブロック(B(m+n+1))のハッシュHcの値及びトランザクションから、次のブロック(B(m+n+2))に適合する正しいNonceを見つけたマイナー10が、ブロック(B(m+n+2))を作成する。そして、マイナー10及びユーザ20は、このブロック(B(m+n+2))をブロック(B(m+n+1))に繋ぐ。 Subsequently, the miner 10 that has found a correct Nonce that conforms to the next block (B (m + n + 2)) from the value of the hash Hc of the block (B (m + n + 1)) and the transaction creates the block (B (m + n + 2)). I do. Then, the minor 10 and the user 20 connect the block (B (m + n + 2)) to the block (B (m + n + 1)).
図8に示すように、2つのサービスのマイナー10及びユーザ20は、それぞれ新しいハッシュHc(H(Bm+n+1))を生成し、ブロックチェーンB(K),B(T)を、生成したハッシュHcで結節している。ここで、この結合後のブロックチェーンB(K+T)のための最初のハッシュHcを生成する生成ルールは、さまざまな手法を選択することができる。 As shown in FIG. 8, the miners 10 and the users 20 of the two services respectively generate new hashes Hc (H (Bm + n + 1)), and generate block chains B (K) and B (T) using the generated hashes Hc. Nodules. Here, various methods can be selected for the generation rule for generating the first hash Hc for the combined block chain B (K + T).
例えば、結合処理部1332は、2つのブロックB(m+1),B(n+1)´全体の連結値から、暗号学的ハッシュ関数を用いてハッシュを生成する手法を選択してもよい。暗号学的ハッシュ関数として、例えば、SHA−256を使用する。
For example, the
また、結合処理部1332は、2つのブロックB(m+1),B(n+1)´の値が同じ大きさである場合は、それらの排他的論理和を生成し、その排他的論理和に対して暗号学的ハッシュ関数でハッシュを生成する手法を選択してもよい。
When the values of the two blocks B (m + 1) and B (n + 1) 'are the same, the combining
そして、第五の合意事項である「結合のタイミング」は、P2Pの分散環境を前提とした場合(実運用上問題のない範囲で)最終的に一意に決めることができるという条件を満たすことができれば、様々な手法を選択することが可能である。そして、第六の結合事項である「結合後のブロックチェーンの「正しさ」を判断するルール」も同様に、P2Pの分散環境を前提とした場合(実運用上問題のない範囲で)最終的に一意に決めることができるという条件を満たせれば、様々な手法を選択することが可能である。 The fifth consensus item “join timing” satisfies the condition that it can ultimately be uniquely determined on the premise of a P2P distributed environment (within a range where there is no problem in actual operation). If possible, various methods can be selected. Similarly, the sixth combination item, “rule for judging“ correctness ”of the combined blockchain”, is also the same assuming a P2P distributed environment (to the extent that there is no problem in actual operation). Various methods can be selected as long as the condition that it can be uniquely determined is satisfied.
例えば、ルール例1について説明する。これは、プレイヤーP(K)及びプレイヤーP(T)の各ノードが、誤差が運用上無視できる程度に十分同期され信頼できる時計を保持していることを前提にしてよい場合である。この場合、タイミング制御部1331は、予め取り決めた一定時間、各サービスでのブロック生成を停止し、その時点のブロックチェーンを結合処理部1332が結合する、という方法で「結合のタイミング」を計ることができる。
For example, rule example 1 will be described. This is a case where it is possible to assume that each node of the player P (K) and the player P (T) has a clock which is sufficiently synchronized and reliable so that an error can be ignored in operation. In this case, the
続いて、ルール例2について説明する。図9は、結合のタイミングの一例を説明するための図である。例えば、どの時期に何番目のブロックが生成されるかが予測できる場合に、ルール例2が適用できる。この場合、判断部1333が使用する「結合後のブロックチェーンの正しさを決定するルール」と併せて、結合部133は、次のような優先度により定義されたルールを設定し、以下の第1〜第4のルールに沿ったタイミングで結合処理を実行する。
Subsequently, rule example 2 will be described. FIG. 9 is a diagram for explaining an example of the connection timing. For example, the rule example 2 can be applied when it is possible to predict at what time what block is generated. In this case, in addition to the “rule for determining the correctness of the combined block chain” used by the
まず、タイミング制御部1331は、予め、結合するタイミングの指標として、サービスKとサービスTに対し、ブロック長Mとブロック長Nを指定する(第1のルール)。
結合処理部1332は、サービスKの部分のブロック長が、m≧Mとなるブロックチェーンのなかで、最短のものを選択する。理想的には、m=Mを選択する(図9参照)(第2のルール)。そして、結合処理部1332は、上記第1及び第2のルールを満たす中から、サービスTの部分のブロック長が、n≧Nとなるブロックチェーンのなかで、最短のものを選択する。理想的には、n=Nを選択する(図9参照)(第3のルール)。上記第1〜第3のルールを満たす中から、判断部1333は、結合後のブロック長l(図9参照)が最長のものを、結合後のブロックチェーンとして選択する(第4のルール)。
First, the
The
上記第1〜第4のルールを、予めプレイヤーP(K)∪P(T)のノードにアナウンスすることで、理想的には、結合部133において、ブロックチェーンB(K)の長さがMのブロックと、ブロックチェーンB(T)の長さがNのブロックとが結合される。言い換えると、結合部133は、B(K)の長さがMのブロックの最後のブロックと、B(T)の長さがNのブロックの最後のブロックとから、暗号学的ハッシュ関数を用いてハッシュHcを生成し、ブロックチェーンの結節点とする。そして、結合後のブロックは、より長いブロックチェーンが正しいとして、プレイヤーP(K)∪P(T)の判断部1333に承認され、結合後のブロックチェーンとして採用される。
By announcing the first to fourth rules in advance to the node of player P (K) ∪P (T), ideally, the length of the block chain B (K) is M And the block whose length is N in the block chain B (T). In other words, the combining
なお、分散環境下では、理論的には、前述のような理想的な形状のブロックチェーンが形成されることは保証されない。ただし、実運用においては、多数のノードは、予め指定されたブロック長M,Nを認識していることを前提とすることができる。このため、このブロック長を超えても結合処理を実施せずに従来のブロックを延長すると、このブロック内の情報は承認されず、また、マイニングの処理も無駄になる可能性が高いことを、多数のノードは認識している。したがって、プレイヤー全体で見れば、二つのブロックチェーンは、あらかじめ指定されたブロック長M,Nのブロックが結合されたブロックチェーンが形成される可能性が高いと想定される。 In a distributed environment, theoretically, it is not guaranteed that a block chain having an ideal shape as described above is formed. However, in actual operation, it can be assumed that many nodes recognize the block lengths M and N specified in advance. Therefore, if the conventional block is extended without performing the joining process even if the block length is exceeded, the information in this block is not approved, and the mining process is highly likely to be wasted. Many nodes are aware. Therefore, from the viewpoint of the entire player, it is assumed that there is a high possibility that the two block chains will form a block chain in which blocks of the predetermined block lengths M and N are combined.
[結合処理の流れ]
続いて、図10を参照して、結合部133の処理について説明する。図10は、図4及び図6に示す結合部133の結合処理の処理手順を示すフローチャートである。
[Join processing flow]
Subsequently, the processing of the combining
まず、結合部133は、サービスKとサービスTとのブロックチェーンB(K),B(T)に対する結合指示を、通信部11,21を介して受信する(ステップS1)。この結合指示は、仮想通貨管理システム1において、サービスKとサービスTとの管理を行う装置から送信される。そして、結合部133は、受信した結合指示について同意し(ステップS2)、同意する旨を管理装置に送信する。これによって、結合部133は、合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアを受け取り、装置に実装する(ステップS3)。
First, the combining
続いて、結合部133は、ソフトウェアの実行によって、結合対象のブロックチェーンを取得する(ステップS4)。例えば、マイナー10K或いはユーザ20Kである場合、結合部133は、ブロック情報記憶部121から、自身が利用するサービスKのブロックチェーンB(K)を読み出すとともに、ネットワーク30を介して、サービスTのブロックチェーンB(T)を取得する。また、マイナー10T或いはユーザ20Tである場合、結合部133は、ブロック情報記憶部121から、自身の装置が利用するサービスTのブロックチェーンB(T)を読み出すとともに、サービスKのブロックチェーンB(K)を取得する。
Subsequently, the combining
そして、タイミング制御部1331は、所定のルールに従ったタイミングで、結合の開始を制御する(ステップS5)。結合処理部1332は、タイミング制御部1331が制御したタイミングに従って、結合対象のブロックチェーンを結合する結合処理を行う(ステップS6)。この処理では、結合処理部1332は、結合対象の各ブロックチェーンB(K),B(T)のそれぞれ最後のブロックBm,Bn´から、暗号学的ハッシュ関数を用いてハッシュHcを生成し、このハッシュHcを、結合後の取引履歴の最初のハッシュとする。
Then, the
そして、判断部1333は、結合後のブロックチェーンの採用を判断する(ステップS7)。具体的には、まず、判断部1333は、自身の装置が結合したブロックチェーンB(K+T)を、サービスK,Tの全プレイヤーに、ネットワーク30を介してブロードキャストで配信する。これとともに、他のサービスK,Tを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンB(K+T)を受信する。そして、サービスK,Tの全プレイヤーは、「結合後のブロックチェーンの「正しさ」を判断するルール」に従って、各ブロックチェーンの「正しさ」を判断する。そして、サービスK,Tの全プレイヤーは、最も「正しい」と判断されたブロックチェーンB(K+T)を、結合後のブロックチェーンとして採用することを決定する。
Then, the determining
この結果に応じて、判断部1333は、結合後のブロックチェーンとして採用されたブロックチェーンB(K+T)をブロック情報記憶部121に記憶する(ステップS8)。これによって、サービスK,Tの全プレイヤーは、結合後のブロックチェーンとして採用されたブロックチェーンB(K+T)を保持することになる。したがって、サービスK,Tの、サービス(K+T)への統合が終了し、以降のマイナー10K,10T及びユーザ20K,20Tによるトランザクションは、マイナー10K,10Tによってマイニングされる。
According to this result, the
[実施の形態の効果]
上記のように、実施の形態では、ブロックチェーンを利用するサービスK,TのブロックチェーンB(K),B(T)を結合し、新たなブロックチェーンB(K+T)を生成する。このように、ブロックチェーンB(K),B(T)を結合した結果、サービス(K+T)のマイナーの数は、サービスK,Tにおけるマイナーの集団M(S),M(T)の合計数となる。したがって、実施の形態によれば、ブロックチェーンB(K),B(T)を結合することによって、マイナーの数を増やすことができるため、真正性を保証するためにマイナーが実行する計算量も増加し、真正性の保証度を高めることができる。
[Effects of Embodiment]
As described above, in the embodiment, the block chains B (K) and B (T) of the services K and T using the block chains are combined to generate a new block chain B (K + T). As described above, as a result of combining the block chains B (K) and B (T), the number of minors of the service (K + T) becomes the total number of the minor groups M (S) and M (T) in the services K and T. Becomes Therefore, according to the embodiment, since the number of miners can be increased by combining the block chains B (K) and B (T), the amount of calculation executed by the miners to guarantee authenticity is also reduced. Increase the degree of assurance of authenticity.
[実施の形態の変形例1]
なお、本実施の形態では、連続して、ブロックチェーンの結合を行うことも可能である。図11は、本実施の形態の変形例1を説明する図である。
[
In the present embodiment, it is also possible to continuously combine the block chains. FIG. 11 is a diagram illustrating a first modification of the present embodiment.
図11に示すように、例えば、サービスK,TのブロックチェーンB(K),B(T)をハッシュHcで結節(矢印Y21参照)することで、結合後のブロックチェーンB(K+T)を生成する。そして、この後に、さらに別のサービスUのブロックチェーンB(U)を結合してもよい(矢印Y22参照)。結合処理部1332は、この場合も、結合対象の各ブロックチェーンB(K+T),B(U)のそれぞれ最後のブロックB(m+n+k+1),B(j+1)″から、暗号学的ハッシュ関数を用いてハッシュHc´を生成する。
As shown in FIG. 11, for example, the block chains B (K) and B (T) of the services K and T are knotted by the hash Hc (see the arrow Y21) to generate the combined block chain B (K + T). I do. After that, the block chain B (U) of another service U may be combined (see arrow Y22). In this case as well, the combining
そして、結合処理部1332は、このハッシュHc´を、結合後のブロックチェーンB(K+T+U)の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンB(K+T+U)に対する最初のブロック(B(m+n+k+j+1))を作成して(セルC2参照)、ハッシュHc´を介して繋いでいく。このように、本実施の形態では、連続して、ブロックチェーンの結合を行うことも可能である。
Then, the combining
[実施の形態の変形例2]
また、本実施の形態では、3つのブロックチェーンを結合することも可能である。図12及び図13は、本実施の形態の変形例2を説明する図である。
[
Further, in the present embodiment, three block chains can be connected. FIG. 12 and FIG. 13 are diagrams illustrating Modification Example 2 of the present embodiment.
図12に示すように、例えば、サービスK,T,UのブロックチェーンB(K),B(T),B(U)をハッシュHc″で結節(矢印Y31参照)することで、3つのブロックチェーンを、ブロックチェーンB(K+T+U)´に結合することもできる。 As shown in FIG. 12, for example, the block chains B (K), B (T), and B (U) of the services K, T, and U are knotted by a hash Hc ″ (see an arrow Y31) to form three blocks. The chain can also be connected to a blockchain B (K + T + U) '.
この場合も、結合処理部1332は、図13に示すように、結合対象の各ブロックチェーンB(K),B(T),B(U)のそれぞれ最後のブロックB(m+1),B(n+1)´,B(j+1)″から、暗号学的ハッシュ関数(例えば、SHA−256)を用いてハッシュHc″を生成すればよい。なお、SHA−256は、最長で2の64乗ビットまでの任意長の原文からハッシュ値を算出できるため、3つのブロックチェーンのそれぞれの最後のブロックを連結したデータから、ひとつのハッシュ(ここではHc″)を生成することは可能である。
Also in this case, as illustrated in FIG. 13, the
そして、結合処理部1332は、このハッシュHc″を、結合後のブロックチェーンB(K+T+U)´の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンB(K+T+U)´に対する最初のブロック(B(m+n+j+1))を作成して、ハッシュHc″を介して繋いでいく。このように、本実施の形態では、3つのブロックチェーンを結合することも可能である。
Then, the joining
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Each component of each device illustrated is a functional concept and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed / arbitrarily divided into arbitrary units according to various loads and usage conditions. Can be integrated and configured. Further, all or any part of each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 Further, of the processes described in the present embodiment, all or a part of the processes described as being performed automatically can be manually performed, or the processes described as being performed manually can be performed. All or part can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified.
[プログラム]
図14は、プログラムが実行されることにより、マイナー10,ユーザ20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 14 is a diagram illustrating an example of a computer in which the minor 10 and the user 20 are realized by executing a program. The
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、マイナー10,ユーザ20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、マイナー10,ユーザ20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
The hard disk drive 1090 stores, for example, an
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
The setting data used in the processing of the above-described embodiment is stored as the
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。 As described above, the embodiment to which the invention made by the inventor is applied has been described. However, the present invention is not limited by the description and the drawings that form part of the disclosure of the present invention according to the present embodiment. That is, other embodiments, examples, operation techniques, and the like performed by those skilled in the art based on this embodiment are all included in the scope of the present invention.
1 仮想通貨管理システム
10K,10T マイナー
20K,20T ユーザ
30 ネットワーク
11,21 通信部
12,22 記憶部
13,23 制御部
14,24 入力部
15,25 出力部
121 ブロック情報記憶部
122 公開鍵記憶部
123 口座情報記憶部
131 ウォレット部
132 マイニング部
133 結合部
1331 タイミング制御部
1332 結合処理部
1333 判断部
1 Virtual
Claims (5)
前記端末は、前記所定のサービスで提供される仮想通貨に関する取引情報が一定の取引単位で時系列に繋がれた取引履歴であって真正性を示す情報である取引履歴を記憶する記憶部を有し、
前記端末が、前記所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する前記取引履歴を取得する工程と、
前記端末が、取得した前記他のサービスに対応する取引履歴と、前記記憶部に記憶する取引履歴とを結合する工程と、
前記端末が、結合した取引履歴を前記記憶部に記憶させる工程と、
を含み、
前記取引単位は、一つ前の取引単位のハッシュ、前記取引情報及び予め条件が定められた適切な値を有し、
前記結合する工程は、結合対象の各取引履歴のそれぞれ最後の前記取引単位から、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとすることを特徴とする仮想通貨管理方法。 A cryptocurrency management method executed by a plurality of terminals performing transaction processing of distributed cryptocurrencies provided by a predetermined service,
The terminal has a storage unit for storing transaction history, which is transaction history in which transaction information regarding virtual currency provided by the predetermined service is chronologically linked in a fixed transaction unit and is information indicating authenticity. And
A step in which the terminal acquires the transaction history related to a distributed virtual currency provided in another service different from the predetermined service;
A step in which the terminal combines the transaction history corresponding to the acquired other service and the transaction history stored in the storage unit;
A step in which the terminal stores the combined transaction history in the storage unit;
Only including,
The transaction unit has a hash of the immediately preceding transaction unit, the transaction information and an appropriate value in which conditions are predetermined,
The combining step generates a hash using a cryptographic hash function from the last transaction unit of each of the transaction histories to be combined, and sets the hash as the first hash of the combined transaction history. Virtual currency management method.
をさらに含んだことを特徴とする請求項1に記載の仮想通貨管理方法。 The virtual currency management method according to claim 1 , further comprising the step of: controlling, by the terminal, a start of the combining step at a timing according to a predetermined rule.
前記記憶させる工程は、前記判断する工程において、前記結合後の取引履歴として採用された取引履歴を前記記憶部に記憶することを特徴とする請求項1または2に記載の仮想通貨管理方法。 The terminal determines, in accordance with a predetermined rule, a transaction history adopted as a post-combination transaction history among transaction histories obtained by combining each terminal using the predetermined service and each terminal using the other service. Process and
3. The virtual currency management method according to claim 1, wherein the storing step stores the transaction history adopted as the post-combination transaction history in the determining step in the storage unit. 4.
前記結合する工程は、取得した前記複数の他のサービスにそれぞれ対応する取引履歴と、前記記憶部に記憶する取引履歴とを結合することを特徴とする請求項1〜3のいずれか一つに記載の仮想通貨管理方法。 The acquiring step acquires transaction histories related to virtual currency provided by the plurality of other services, respectively.
The method according to any one of claims 1 to 3 , wherein, in the combining step, the transaction histories respectively corresponding to the acquired other services and the transaction histories stored in the storage unit are combined. The described virtual currency management method.
前記所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する前記取引履歴を取得するステップと、
前記他のサービスに対応する取引履歴と、前記所定のサービスに対応する取引履歴とを結合するステップと、
結合した取引履歴を記憶するステップと、
をコンピュータに実行させ、
前記取引単位は、一つ前の取引単位のハッシュ、前記取引情報及び予め条件が定められた適切な値を有し、
前記結合するステップは、結合対象の各取引履歴のそれぞれ最後の前記取引単位から、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとする仮想通貨管理プログラム。 A step of storing a transaction history, which is transaction history related to distributed virtual currency provided by a predetermined service and is information indicating authenticity, which is a transaction history chronologically connected in a certain transaction unit,
Acquiring the transaction history for distributed virtual currency provided in another service different from the predetermined service,
Combining a transaction history corresponding to the other service and a transaction history corresponding to the predetermined service;
Storing the combined transaction history;
To the computer ,
The transaction unit has a hash of the previous transaction unit, the transaction information and an appropriate value in which conditions are predetermined,
The combining step is a virtual currency management program that generates a hash using a cryptographic hash function from the last transaction unit of each of the transaction histories to be combined, and uses the generated hash as the first hash of the combined transaction history .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098802A JP6649173B2 (en) | 2016-05-17 | 2016-05-17 | Virtual currency management method and virtual currency management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098802A JP6649173B2 (en) | 2016-05-17 | 2016-05-17 | Virtual currency management method and virtual currency management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017207860A JP2017207860A (en) | 2017-11-24 |
JP6649173B2 true JP6649173B2 (en) | 2020-02-19 |
Family
ID=60417196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016098802A Active JP6649173B2 (en) | 2016-05-17 | 2016-05-17 | Virtual currency management method and virtual currency management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6649173B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6897973B2 (en) | 2018-02-15 | 2021-07-07 | 株式会社アクセル | Server equipment, processing system, processing method and processing program |
JP7040218B2 (en) * | 2018-03-29 | 2022-03-23 | 富士通株式会社 | Blockchain program and blockchain method |
JP2019211821A (en) * | 2018-05-31 | 2019-12-12 | ソニー株式会社 | Information processing apparatus, information processing method and program |
JP2019215809A (en) * | 2018-06-14 | 2019-12-19 | 株式会社ブイシンク | Commodity selling device and commodity selling method |
WO2021079416A1 (en) * | 2019-10-21 | 2021-04-29 | 株式会社東芝 | Tampering verification method and tampering verification system |
CN112988889B (en) * | 2021-03-04 | 2024-02-02 | 京东科技控股股份有限公司 | Method, device, equipment and storage medium for realizing block chain service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150302401A1 (en) * | 2014-04-18 | 2015-10-22 | Ebay Inc. | Distributed crypto currency unauthorized transfer monitoring system |
JP6247193B2 (en) * | 2014-10-10 | 2017-12-13 | 山下 健一 | Advertisement browsing promotion system, information processing method and program |
-
2016
- 2016-05-17 JP JP2016098802A patent/JP6649173B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017207860A (en) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6649173B2 (en) | Virtual currency management method and virtual currency management program | |
JP6955026B2 (en) | Systems and methods for parallel processing blockchain transactions | |
TWI714179B (en) | Use public side chains to verify the integrity of data stored in the alliance blockchain | |
Lin et al. | A survey of blockchain security issues and challenges. | |
JP7362654B2 (en) | Maintenance and management of blockchain blocks in a divided blockchain network | |
US10790976B1 (en) | System and method of blockchain wallet recovery | |
CN109075964B (en) | Block chaining supporting multiple one-way functions for block verification | |
JP6940182B2 (en) | Blockchain management device, blockchain management method and program | |
US20190172026A1 (en) | Cross blockchain secure transactions | |
Ullah et al. | Towards blockchain-based secure storage and trusted data sharing scheme for IoT environment | |
JP6756041B2 (en) | Information protection systems and methods | |
KR20200066260A (en) | System and method for information protection | |
CN113568946A (en) | Method, system and apparatus for managing transactions in multiple blockchain networks | |
JP6921266B2 (en) | Verifying the integrity of the data stored on the consortium blockchain using the public sidechain | |
US20220239501A1 (en) | Knowledge proof | |
EP4184856A1 (en) | Blockchain transaction comprising runnable code for hash-based verification | |
CN113595734A (en) | Method, system and apparatus for managing transactions in multiple blockchain networks | |
JP2023517049A (en) | cipher data input blockchain data structure | |
CN113595733A (en) | Method, system and apparatus for managing transactions in multiple blockchain networks | |
US9106629B2 (en) | Distributed algorithm for changing a shared value | |
EP3966995A1 (en) | Blockchain transaction comprising runnable code for hash-based verification | |
US20150288703A1 (en) | Data possession verification system and method | |
CN113508570B (en) | Method for sharing and verifying blocks and electronic documents among nodes in block chain | |
US20220217004A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
KR102503373B1 (en) | Authenticated mining circuit, electronic system including the same and method of forming blockchain network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190805 |
|
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: 20200114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6649173 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |