JP6649173B2 - Virtual currency management method and virtual currency management program - Google Patents

Virtual currency management method and virtual currency management program Download PDF

Info

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
Application number
JP2016098802A
Other languages
Japanese (ja)
Other versions
JP2017207860A (en
Inventor
奥山 浩伸
浩伸 奥山
原田 貴史
貴史 原田
秀雄 北爪
秀雄 北爪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016098802A priority Critical patent/JP6649173B2/en
Publication of JP2017207860A publication Critical patent/JP2017207860A/en
Application granted granted Critical
Publication of JP6649173B2 publication Critical patent/JP6649173B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

“Bitcoin: A Peer-to-Peer Electronic Cash System”, [平成28年5月6日検索,インターネット<URL:https://bitcoin.org/bitcoin.pdf>“Bitcoin: A Peer-to-Peer Electronic Cash System”, [May 6, 2016 search, Internet <URL: https://bitcoin.org/bitcoin.pdf>

しかしながら、このようなオルトコインは、オープンかつ分散を前提としたサービスであるため、マイナーは、自由に参加或いは離脱が可能である。このため、サービスの普及度によっては、十分なマイナーが確保できない可能性が想定される。即ち、サービスの普及度によっては、マイナーによる計算量が十分に確保できない可能性が想定される。この場合、トランザクション等のブロックチェーン内に記録された情報の真正性が保証できず、サービスは、その本来の目的を達成できないという問題があった。   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.

図1は、本発明の実施の形態の概略を説明する図である。FIG. 1 is a diagram schematically illustrating an embodiment of the present invention. 図2は、本発明の実施の形態の概略を説明する図である。FIG. 2 is a diagram schematically illustrating an embodiment of the present invention. 図3は、本発明の実施の形態に係る仮想通貨管理システムの構成の一例を模式的に示す図である。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. 図4は、図3に示すマイナーの構成を示すブロック図である。FIG. 4 is a block diagram showing the configuration of the minor shown in FIG. 図5は、図4に示すブロックチェーンの構成の一例を説明する図である。FIG. 5 is a diagram illustrating an example of the configuration of the block chain illustrated in FIG. 図6は、図3に示すユーザの構成の一例を示すブロック図である。FIG. 6 is a block diagram showing an example of the configuration of the user shown in FIG. 図7は、図4及び図6に示す結合部による結合処理を説明するための図である。FIG. 7 is a diagram for explaining the combining process performed by the combining unit illustrated in FIGS. 4 and 6. 図8は、図4及び図6に示す結合部による結合処理を説明するための図である。FIG. 8 is a diagram for explaining the combining process performed by the combining unit illustrated in FIGS. 4 and 6. 図9は、結合のタイミングの一例を説明するための図である。FIG. 9 is a diagram for explaining an example of the connection timing. 図10は、図4及び図6に示す結合部による結合処理の処理手順を示すフローチャートである。FIG. 10 is a flowchart illustrating a processing procedure of a combining process performed by the combining unit illustrated in FIGS. 4 and 6. 図11は、本実施の形態の変形例1を説明する図である。FIG. 11 is a diagram illustrating a first modification of the present embodiment. 図12は、本実施の形態の変形例2を説明する図である。FIG. 12 is a diagram illustrating a second modification of the present embodiment. 図13は、本実施の形態の変形例2を説明する図である。FIG. 13 is a diagram illustrating a second modification of the present embodiment. 図14は、プログラムが実行されることにより、マイナー及びユーザが実現されるコンピュータの一例を示す図である。FIG. 14 is a diagram illustrating an example of a computer in which a minor and a user are realized by executing a program.

以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。   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 currency management system 1 has a P2P (Peer to Peer) type configuration in which a plurality of client terminal devices communicate with each other. The virtual currency management system 1 has a configuration in which a plurality of terminals (minor 10K, 10T, users 20K, 20T) using the virtual currency are connected to a network 30 such as the Internet or a dedicated line.

マイナー10K,10T及びユーザ20K,20Tは、本仮想通貨管理システム1の仮想通貨管理プログラムをインストールした端末装置である。例えば、マイナー10K,10T及びユーザ20K,20Tは、携帯電話、スマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)等である。   The minors 10K and 10T and the users 20K and 20T are terminal devices on which the virtual currency management program of the virtual currency management system 1 is installed. For example, the minors 10K and 10T and the users 20K and 20T are a mobile phone, a smartphone, a PC (Personal Computer), a PDA (Personal Digital Assistants), and the like.

また、マイナー10K,10Tは、仮想通貨を用いて取引を行うとともに、仮想通貨に対するトランザクションの検証や承認を行う端末である。ユーザ20K,20Tは、仮想通貨を用いて取引を行う端末である。そして、マイナー10K及びユーザ20Kは、前述のサービスKを利用する端末である。一方、マイナー10T及びユーザ20Tは、前述のサービスTを利用する端末である。実施の形態では、仮想通貨管理システム1が、サービスKとサービスTとを統合する場合を例に、仮想通貨を管理する方法を説明する。   The minors 10K and 10T are terminals that conduct transactions using virtual currencies and verify and approve transactions for virtual currencies. The users 20K and 20T are terminals that conduct transactions using virtual currency. The minor 10K and the user 20K are terminals that use the service K described above. On the other hand, the minor 10T and the user 20T are terminals that use the service T described above. In the embodiment, a method of managing virtual currency will be described by taking as an example a case where the virtual currency management system 1 integrates a service K and a service T.

[仮想通貨の概要]
ここで、仮想通貨管理システム1によって提供される仮想通貨の概要について説明する。この仮想通貨は、既存のビットコインの仕組みと類似した暗号通貨システム(オルトコイン)によって提供されるP2Pデジタル通貨である。仮想通貨は、公開鍵暗号式と、ハッシュ関数とを使用したデジタル署名によって取引情報の完全性が担保されている。また、仮想通貨の取引に関数する情報や履歴は、ブロックチェーンとして、仮想通貨管理システム1全体で分散して管理されている。
[Overview of virtual currency]
Here, an outline of the virtual currency provided by the virtual currency management system 1 will be described. This virtual currency is a P2P digital currency provided by a cryptocurrency system (orthocoin) similar to the existing bitcoin mechanism. In the virtual currency, the integrity of transaction information is secured by a digital signature using a public key cryptosystem and a hash function. In addition, information and history that function in virtual currency transactions are distributed and managed throughout the virtual currency management system 1 as a blockchain.

サービス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 user 20K use the virtual currency provided by the service K and store the blockchain B (K). The minor 10T and the user 20T use the virtual currency provided by the service T, and store the blockchain B (T). After the integration of the service K and the service T, the minors 10K and 10T and the users 20K and 20T use the virtual currency provided by the integrated service (K + T) and store the blockchain B (K + T).

マイナー10K,10Tは、仮想通貨を取引するためのウォレット機能と、仮想通貨の真正性の検証及び取引を承認するためのマイニング機能とを実行させるプログラムをインストールしている。ユーザ20K,20Tは、ウォレット機能を実行させるプログラムをインストールしている。   The miners 10K and 10T have installed programs for executing a wallet function for trading virtual currency and a mining function for verifying the authenticity of the virtual currency and approving the transaction. The users 20K and 20T have installed programs for executing the wallet function.

マイナー10K,10T及びユーザ20K,20Tは、ウォレット機能を実行させるプログラムをインストールすることによって、口座アドレスがそれぞれ振り分けられ、仮想通貨を購入、取引することができる。暗号技術を用いて行われた仮想通貨の取引情報(トランザクション)は、ブロックチェーンによって管理される。マイナー10K,10Tは、トランザクションの真正性を検証し、正当なトランザクションを承認した場合、承認済みのトランザクションから構成されるブロックを生成して、ブロックチェーンの末尾に繋ぐ。そこで、マイナー10K,10Tの装置構成について説明する。   The minors 10K and 10T and the users 20K and 20T can purchase and trade virtual currencies by installing a program for executing the wallet function, respectively, by assigning account addresses. Transaction information (transaction) of the virtual currency performed using the cryptographic technology is managed by the blockchain. The minors 10K and 10T verify the authenticity of the transaction, and when approving the valid transaction, generate a block composed of the approved transaction and connect it to the end of the block chain. Therefore, the device configuration of the minors 10K and 10T will be described.

[マイナーの構成]
図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 minors 10K and 10T are described without distinction, they are described as minor 10. As illustrated in FIG. 4, the minor 10K includes a communication unit 11, a storage unit 12, a control unit 13, an input unit 14, and an output unit 15.

通信部11は、ネットワーク30を介して接続された他のマイナー10K,10T及びユーザ20K,20Tとの間で、各種情報を送受信する通信インタフェースである。仮想通貨の取引があった場合には、通信部11は、制御部13の制御の基、トランザクションを同じサービスを利用する他のマイナー及びユーザにブロードキャストで送信する。   The communication unit 11 is a communication interface that transmits and receives various information to and from other minors 10K and 10T and users 20K and 20T connected via the network 30. When the virtual currency is traded, the communication unit 11 broadcasts the transaction to other miners and users who use the same service under the control of the control unit 13.

記憶部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 information storage unit 123.

ブロック情報記憶部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 information storage unit 123 stores the secret key of the operator who uses the minor 10K. The secret key functions as a password used for remittance.

制御部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 unit 133.

ウォレット部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 network 30. When the delivered transaction is approved by mining by another miner and connected to the blockchain, the transaction is settled.

マイニング部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 unit 133 performs a combining process of combining the block chain B (K) of the service K and the block chain B (T) of the service T different from the service K. In other words, the combining unit 133 integrates the block chain B (K) and the block chain B (T), and combines a new block chain B (K + T) that inherits the transaction history between the service K and the service T. As a result, the virtual currency management system 1 can integrate the service K and the service T and construct a new service (K + T). The combining unit 133 includes a timing control unit 1331, a combining processing unit 1332, and a determining unit 1333.

タイミング制御部1331は、所定のルールに従ったタイミングで、結合処理の開始を制御する。図1の例では、タイミング制御部1331は、所定のルールに従ったタイミングで、ブロックチェーンB(K)とブロックチェーンB(T)とを結合する結合処理の開始を制御する。   The timing control unit 1331 controls the start of the combining process at a timing according to a predetermined rule. In the example of FIG. 1, the timing control unit 1331 controls the start of the combining process for combining the block chains B (K) and B (T) at a timing according to a predetermined rule.

結合処理部1332は、所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関するブロックチェーンを取得する。続いて、結合処理部1332は、取得した他のサービスに対応する取引履歴と、ブロック情報記憶部121に記憶するブロックチェーンとを結合する。言い換えると、結合処理部1332は、サービスTのブロックチェーンB(T)を取得する。続いて、結合処理部1332は、取得したサービスTのブロックチェーンB(T)と、ブロック情報記憶部121に記憶するサービスKのブロックチェーンB(K)とを結合し、サービスKとサービスTとの取引履歴を継承した新たなブロックチェーンB(K+T)を結合する。   The connection processing unit 1332 obtains a block chain related to a distributed virtual currency provided by another service different from the predetermined service. Subsequently, the combination processing unit 1332 combines the transaction history corresponding to the acquired other service and the block chain stored in the block information storage unit 121. In other words, the combination processing unit 1332 acquires the block chain B (T) of the service T. Subsequently, the combining processing unit 1332 combines the obtained block chain B (T) of the service T and the block chain B (K) of the service K stored in the block information storage unit 121, and connects the service K with the service T. New blockchain B (K + T) that inherits the transaction history of

この場合、結合処理部1332は、結合対象の各取引履歴のそれぞれ最後のブロックから、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとする。そして、結合処理部1332は、通信部11を介して、結合後のブロックチェーンB(K+T)を、サービスK,Tを利用する他のマイナー及びユーザにブロードキャストで送信する。   In this case, the combining processing unit 1332 generates a hash from each last block of each transaction history to be combined using a cryptographic hash function, and sets the hash as the first hash of the combined transaction history. Then, the combination processing unit 1332 broadcasts the combined blockchain B (K + T) to other miners and users using the services K and T via the communication unit 11.

なお、マイナー10Tの場合には、結合処理部1332は、他方のサービスKのブロックチェーンB(K)を取得し、結合処理部1332は、取得したサービス(K)のブロックチェーンB(K)と、記憶するサービスTのブロックチェーンB(T)とを結合して、新たなブロックチェーンB(K+T)を結合する。   In the case of the minor 10T, the combination processing unit 1332 acquires the block chain B (K) of the other service K, and the combination processing unit 1332 acquires the block chain B (K) of the acquired service (K). Is combined with the block chain B (T) of the service T to be stored, and a new block chain B (K + T) is combined.

判断部1333は、通信部11を介して、サービスK,Tを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンB(K+T)を受信する。そして、判断部1333は、所定のルールに従って、受信した各ブロックチェーンB(K+T)のうち、結合後のブロックチェーンとして採用するブロックチェーンを判断する。続いて、判断部1333は、結合後のブロックチェーンとして採用されたブロックチェーンB(K+T)をブロック情報記憶部121に記憶する。   The determination unit 1333 receives, via the communication unit 11, a block chain B (K + T) in which other miners and users using the services K and T are combined. Then, the determining unit 1333 determines a block chain to be adopted as the combined block chain among the received block chains B (K + T) according to a predetermined rule. Subsequently, the determining unit 1333 stores the block chain B (K + T) adopted as the combined block chain in the block information storage unit 121.

入力部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 users 20K and 20T will be described. FIG. 6 is a block diagram showing an example of the configuration of the user 20K shown in FIG. Note that the user 20T has the same functional configuration as the user 20K. Hereinafter, when the users 20K and 20T are described without distinction, they are described as the user 20. As shown in FIG. 6, the user 20K has a communication unit 21, a storage unit 22, a control unit 23, an input unit 24, and an output unit 25.

通信部21は、通信部11と同様の機能を有する通信インタフェースである。記憶部22は、記憶部12と同様の機能を有し、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部22は、記憶部12と同様に、ブロック情報記憶部121、公開鍵記憶部122及び口座情報記憶部123を記憶する。   The communication unit 21 is a communication interface having the same function as the communication unit 11. The storage unit 22 has the same function as the storage unit 12, and is realized by a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 22 stores a block information storage unit 121, a public key storage unit 122, and an account information storage unit 123, like the storage unit 12.

制御部23は、制御部13と同様の機能を有し、CPUやMPUなどの電子回路である。制御部23は、制御部13と比し、マイニング部132を削除した構成を有する。   The control unit 23 has the same function as the control unit 13 and is an electronic circuit such as a CPU and an MPU. The control unit 23 has a configuration in which the mining unit 132 is deleted as compared with the control unit 13.

入力部24は、入力部14と同様に、ユーザ20Kの操作者からの各種操作を受け付ける入力インタフェースである。そして、出力部25は、例えば、液晶ディスプレイやプリンタ等であって、仮想通貨の管理に関する各種情報を出力する。   The input unit 24 is, similarly to the input unit 14, an input interface that receives various operations from the operator of the user 20K. The output unit 25 is, for example, a liquid crystal display, a printer, or the like, and outputs various types of information related to management of the virtual currency.

[結合処理における前提]
次に、サービス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 unit 133. The combining unit 133 acquires the block chains B (K) of the service K and the block chain B (T) of the service T to be combined, as shown in FIG. As described above, in the block chain B (K) of the service K, blocks B1 to B (m + 1) are connected in time series from the first block B0. In the block chain B (T) of the service T, blocks B1 'to B (n + 1)' are connected in chronological order from the first block B0 '.

結合処理部1332は、サービスKのブロックチェーンB(K)の最後のブロックB(m+1)と、サービスTのブロックチェーンB(T)の最後のブロックB(n+1)´との2つのブロックから、「決められたルール」に従い、新しいハッシュHc(H(Bm+n+1))を生成する(図7の(1)及び図8参照)。   The combining processing unit 1332 calculates the last block B (m + 1) of the block chain B (K) of the service K and the last block B (n + 1) ′ of the block chain B (T) of the service T from: A new hash Hc (H (Bm + n + 1)) is generated according to the "determined rule" (see (1) in FIG. 7 and FIG. 8).

そして、結合処理部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 processing unit 1332 sets the hash Hc as the first hash of the combined block chain. In other words, the miner 10 and the user 20 of the two services respectively obtain a new block B (m + 1) of the last block B (K) and a last block B (n + 1) ′ of the block chain B (T). A hash Hc (H (Bm + n + 1)) is generated (see arrow Y11 in FIG. 7). This hash Hc becomes a node between the two block chains B (K) and B (T).

そして、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 combination processing unit 1332 may select a method of generating a hash using a cryptographic hash function from the combined value of the two blocks B (m + 1) and B (n + 1) ′. For example, SHA-256 is used as the cryptographic hash function.

また、結合処理部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 processing unit 1332 generates an exclusive OR of the two blocks B (m + 1) and B (n + 1)'. A method of generating a hash using a cryptographic hash function may be selected.

そして、第五の合意事項である「結合のタイミング」は、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 timing control unit 1331 measures the “combination timing” by a method in which block generation in each service is stopped for a predetermined period of time and the block processing unit 1332 combines the block chains at that time. Can be.

続いて、ルール例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 determination unit 1333, the combining unit 133 sets a rule defined by the following priority, and The combining process is executed at a timing according to the first to fourth rules.

まず、タイミング制御部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 timing control unit 1331 specifies a block length M and a block length N for the service K and the service T as indices of timing to be combined in advance (first rule).
The coupling processing unit 1332 selects the shortest block chain in the block chain in which the block length of the service K is m ≧ M. Ideally, m = M is selected (see FIG. 9) (second rule). Then, the combination processing unit 1332 selects the shortest one among the block chains in which the block length of the service T portion satisfies n ≧ N from among the first and second rules. Ideally, n = N is selected (see FIG. 9) (third rule). From among the above first to third rules, the determination unit 1333 selects the block block having the longest combined block length 1 (see FIG. 9) as the combined block chain (fourth rule).

上記第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 unit 133 uses the cryptographic hash function from the last block of the block whose length of B (K) is M and the last block of the block whose length of B (T) is N. Then, a hash Hc is generated as a node of the block chain. Then, the combined block is approved by the determination unit 1333 of the player P (K) ∪P (T), assuming that the longer block chain is correct, and is adopted as the combined block chain.

なお、分散環境下では、理論的には、前述のような理想的な形状のブロックチェーンが形成されることは保証されない。ただし、実運用においては、多数のノードは、予め指定されたブロック長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 unit 133 will be described with reference to FIG. FIG. 10 is a flowchart illustrating a processing procedure of the combining process of the combining unit 133 illustrated in FIGS. 4 and 6.

まず、結合部133は、サービスKとサービスTとのブロックチェーンB(K),B(T)に対する結合指示を、通信部11,21を介して受信する(ステップS1)。この結合指示は、仮想通貨管理システム1において、サービスKとサービスTとの管理を行う装置から送信される。そして、結合部133は、受信した結合指示について同意し(ステップS2)、同意する旨を管理装置に送信する。これによって、結合部133は、合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアを受け取り、装置に実装する(ステップS3)。   First, the combining unit 133 receives a combining instruction for the block chains B (K) and B (T) of the service K and the service T via the communication units 11 and 21 (step S1). This connection instruction is transmitted from the device that manages the service K and the service T in the virtual currency management system 1. Then, the combining unit 133 agrees with the received combining instruction (Step S2), and transmits a message to the effect to the management device. As a result, the combining unit 133 receives the software for operating the combined processing and the combined blockchain according to the agreed items, and mounts the software on the device (step S3).

続いて、結合部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 unit 133 acquires the block chain to be combined by executing the software (Step S4). For example, when the user is the minor 10K or the user 20K, the combining unit 133 reads the block chain B (K) of the service K used by itself from the block information storage unit 121 and blocks the service T via the network 30. Acquire the chain B (T). When the user is the minor 10T or the user 20T, the combining unit 133 reads the blockchain B (T) of the service T used by the own device from the block information storage unit 121, and reads the blockchain B (K) of the service K. ) To get.

そして、タイミング制御部1331は、所定のルールに従ったタイミングで、結合の開始を制御する(ステップS5)。結合処理部1332は、タイミング制御部1331が制御したタイミングに従って、結合対象のブロックチェーンを結合する結合処理を行う(ステップS6)。この処理では、結合処理部1332は、結合対象の各ブロックチェーンB(K),B(T)のそれぞれ最後のブロックBm,Bn´から、暗号学的ハッシュ関数を用いてハッシュHcを生成し、このハッシュHcを、結合後の取引履歴の最初のハッシュとする。   Then, the timing control unit 1331 controls the start of the combination at a timing according to a predetermined rule (step S5). The combining processing unit 1332 performs a combining process of combining the block chains to be combined according to the timing controlled by the timing control unit 1331 (Step S6). In this processing, the combination processing unit 1332 generates a hash Hc from the last block Bm, Bn ′ of each of the block chains B (K), B (T) to be combined using a cryptographic hash function, This hash Hc is set as the first hash of the transaction history after the combination.

そして、判断部1333は、結合後のブロックチェーンの採用を判断する(ステップS7)。具体的には、まず、判断部1333は、自身の装置が結合したブロックチェーンB(K+T)を、サービスK,Tの全プレイヤーに、ネットワーク30を介してブロードキャストで配信する。これとともに、他のサービスK,Tを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンB(K+T)を受信する。そして、サービスK,Tの全プレイヤーは、「結合後のブロックチェーンの「正しさ」を判断するルール」に従って、各ブロックチェーンの「正しさ」を判断する。そして、サービスK,Tの全プレイヤーは、最も「正しい」と判断されたブロックチェーンB(K+T)を、結合後のブロックチェーンとして採用することを決定する。   Then, the determining unit 1333 determines the adoption of the combined block chain (Step S7). Specifically, first, the determining unit 1333 broadcasts the blockchain B (K + T) to which the own device is connected to all the players of the services K and T via the network 30. At the same time, a blockchain B (K + T) in which other miners and users using the other services K and T are combined is received. Then, all the players of the services K and T determine the “correctness” of each block chain according to the “rule for determining the“ correctness ”of the combined block chains”. Then, all the players of the services K and T decide to adopt the blockchain B (K + T) determined to be the most “correct” as the combined blockchain.

この結果に応じて、判断部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 determination unit 1333 stores the block chain B (K + T) adopted as the combined block chain in the block information storage unit 121 (step S8). As a result, all the players of the services K and T hold the blockchain B (K + T) adopted as the combined blockchain. Accordingly, the integration of the services K and T into the service (K + T) is completed, and the subsequent transactions by the minors 10K and 10T and the users 20K and 20T are mined by the minors 10K and 10T.

[実施の形態の効果]
上記のように、実施の形態では、ブロックチェーンを利用するサービス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を説明する図である。
[Modification 1 of Embodiment]
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 processing unit 1332 uses a cryptographic hash function from the last block B (m + n + k + 1), B (j + 1) ″ of each of the block chains B (K + T), B (U) to be combined. Generate a hash Hc ′.

そして、結合処理部1332は、このハッシュHc´を、結合後のブロックチェーンB(K+T+U)の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンB(K+T+U)に対する最初のブロック(B(m+n+k+j+1))を作成して(セルC2参照)、ハッシュHc´を介して繋いでいく。このように、本実施の形態では、連続して、ブロックチェーンの結合を行うことも可能である。   Then, the combining processing unit 1332 sets the hash Hc ′ as the first hash of the combined block chain B (K + T + U), and restarts the block chain. Specifically, the miner that succeeds in mining creates the first block (B (m + n + k + j + 1)) for the combined block chain B (K + T + U) (see cell C2) and connects it via the hash Hc ′. . As described above, in the present embodiment, it is also possible to continuously combine the block chains.

[実施の形態の変形例2]
また、本実施の形態では、3つのブロックチェーンを結合することも可能である。図12及び図13は、本実施の形態の変形例2を説明する図である。
[Modification 2 of Embodiment]
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 combination processing unit 1332 outputs the last blocks B (m + 1) and B (n + 1) of the block chains B (K), B (T), and B (U) to be combined. ) ′, B (j + 1) ″, a hash Hc ″ may be generated using a cryptographic hash function (for example, SHA-256). Since the SHA-256 can calculate a hash value from an original text of an arbitrary length up to 2 to the 64th bit, a single hash (here, the data obtained by connecting the last blocks of the three block chains) is used. Hc ″) is possible.

そして、結合処理部1332は、このハッシュHc″を、結合後のブロックチェーンB(K+T+U)´の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンB(K+T+U)´に対する最初のブロック(B(m+n+j+1))を作成して、ハッシュHc″を介して繋いでいく。このように、本実施の形態では、3つのブロックチェーンを結合することも可能である。   Then, the joining processing unit 1332 sets the hash Hc ″ as the first hash of the combined block chain B (K + T + U) ′ and restarts the block chain. Specifically, the miner that succeeds in mining is Creates the first block (B (m + n + j + 1)) for the block chain B (K + T + U) ′, and connects it via the hash Hc ″. Thus, in the present embodiment, three block chains can be connected.

[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、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 computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.

メモリ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 memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to the display 1130, for example.

ハードディスクドライブ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 OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the minor 10 and the user 20 is implemented as a program module 1093 in which codes executable by a computer are described. The program module 1093 is stored in, for example, the hard disk drive 1090. For example, a program module 1093 for executing the same processing as the functional configuration of the minor 10 and the user 20 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (Solid State Drive).

また、上述した実施形態の処理で用いられる設定データは、プログラムデータ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 program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as needed, and executes them.

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN, or the like). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.

以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。   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 Currency Management System 10K, 10T Minor 20K, 20T User 30 Network 11, 21, Communication Unit 12, 22, Storage Unit 13, 23 Control Unit 14, 24 Input Unit 15, 25 Output Unit 121 Block Information Storage Unit 122 Public Key Storage Unit 123 Account information storage unit 131 Wallet unit 132 Mining unit 133 Joining unit 1331 Timing control unit 1332 Joining processing unit 1333 Judgment unit

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.
前記端末が、所定のルールに従ったタイミングで、前記結合する工程の開始を制御する工程
をさらに含んだことを特徴とする請求項に記載の仮想通貨管理方法。
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〜のいずれか一つに記載の仮想通貨管理方法。
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 .
JP2016098802A 2016-05-17 2016-05-17 Virtual currency management method and virtual currency management program Active JP6649173B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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