JP2019096987A - Block chain generation system, block chain generation method, and block chain generation program - Google Patents

Block chain generation system, block chain generation method, and block chain generation program Download PDF

Info

Publication number
JP2019096987A
JP2019096987A JP2017223516A JP2017223516A JP2019096987A JP 2019096987 A JP2019096987 A JP 2019096987A JP 2017223516 A JP2017223516 A JP 2017223516A JP 2017223516 A JP2017223516 A JP 2017223516A JP 2019096987 A JP2019096987 A JP 2019096987A
Authority
JP
Japan
Prior art keywords
block
block chain
hash value
generation device
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017223516A
Other languages
Japanese (ja)
Other versions
JP6915505B2 (en
Inventor
琢磨 竹内
Takuma Takeuchi
琢磨 竹内
俊也 清水
Toshiya Shimizu
俊也 清水
健 鎌倉
Ken Kamakura
健 鎌倉
津田 宏
Hiroshi Tsuda
宏 津田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017223516A priority Critical patent/JP6915505B2/en
Publication of JP2019096987A publication Critical patent/JP2019096987A/en
Application granted granted Critical
Publication of JP6915505B2 publication Critical patent/JP6915505B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a block chain generation device which facilitates management of multiple block chains.SOLUTION: A block chain generation device 100 acquires a first hash value set to the up-to-date block 112 of a block chain 110. The block chain generation device 100 receives a second hash value, set to the up-to-date block 122 of a block chain 120 managed by other device, from other device. The block chain generation device 100 adds an intermediate block 113, having the acquired first hash value and the received second hash value, to the block chain 110. The block chain generation device 100 adds a block 114, having a third hash value common to the block chains 110, 120, to the block chain 110 by using a given function.SELECTED DRAWING: Figure 1

Description

本発明は、ブロックチェーン生成システム、ブロックチェーン生成方法、およびブロックチェーン生成プログラムに関する。   The present invention relates to a block chain generation system, a block chain generation method, and a block chain generation program.

従来、ある時間間隔で、データをまとめたブロックを生成し、生成したブロックを連結していくことにより、データを管理するブロックチェーン(Blockchain)と呼ばれるリストを作成する技術がある。ブロックチェーンは、例えば、何らかの組織ごとに生成され、何らかの組織内の1以上のノードは、同一のブロックチェーンを共通して記憶する。   2. Description of the Related Art Conventionally, there is a technique of creating a block in which data is grouped at a certain time interval, and linking the generated blocks to create a list called a block chain that manages data. The block chain is generated, for example, for every organization, and one or more nodes in any organization store the same block chain in common.

先行技術としては、例えば、クライアント端末によりP2P仮想通貨ネットワークに投入された取引データから、コンテンツの利用に要する仮想通貨の価額の支払いを確認できた場合、クライアント端末のユーザに対してコンテンツの利用を許可するものがある。また、例えば、オンライン取引におけるトランザクションイベントを検出し、トランザクションイベントのそれぞれに関連する取引情報を記録する技術がある。また、例えば、仮想通貨を第1のユーザに送金する第1の取引により送金された金額の少なくとも一部を第1のユーザが送金する第2の取引の正当性を検証する技術がある。   As prior art, for example, when payment of the value of the virtual currency required for use of the content can be confirmed from the transaction data input to the P2P virtual currency network by the client terminal, the use of the content is made available to the user of the client terminal. There is something to allow. Also, for example, there is a technique of detecting transaction events in an online transaction, and recording transaction information associated with each of the transaction events. Also, for example, there is a technique for verifying the legitimacy of the second transaction in which the first user remits at least a portion of the amount of money transferred in the first transaction in which the virtual currency is remitted to the first user.

特開2016−162431号公報JP, 2016-162431, A 特開2016−151802号公報JP, 2016-151802, A 特開2016−200954号公報JP, 2016-200954, A

しかしながら、従来技術では、複数の組織が合併する際、合併した後の複数の組織の状態に合わせて、それぞれの組織で生成されたブロックチェーンを管理することが難しい。例えば、複数の組織が合併する際、それぞれの組織におけるブロックチェーンを所定のアプリケーションで一括して管理する場合が考えられるが、アプリケーションを導入するコストがかかり、アプリケーションがセキュリティ上の脆弱性になりうる。   However, in the prior art, when a plurality of organizations merge, it is difficult to manage the block chain generated in each organization according to the state of the plurality of organizations after the merger. For example, when a plurality of organizations merge, it is conceivable that block chains in each organization are collectively managed by a predetermined application, but it is costly to introduce an application, and the application may be a security vulnerability. .

1つの側面では、本発明は、複数のブロックチェーンを管理しやすくすることができるブロックチェーン生成システム、ブロックチェーン生成方法、およびブロックチェーン生成プログラムを提供することを目的とする。   In one aspect, the present invention aims to provide a block chain generation system, a block chain generation method, and a block chain generation program capable of facilitating management of a plurality of block chains.

1つの実施態様によれば、1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのうち前記第1のブロックチェーンに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加し、前記第1のブロックチェーンに追加された中間ブロックが有する第1のハッシュ値と第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加するブロックチェーン生成システム、ブロックチェーン生成方法、およびブロックチェーン生成プログラムが提案される。   According to one embodiment, the first block chain of the first block chain and the second block chain connecting one or more blocks corresponds to the latest block of the first block chain. Adding an intermediate block having a first hash value and a second hash value corresponding to the latest block of the second block chain, and the intermediate block added to the first block chain includes: The first block chain is calculated using a function capable of calculating a third hash value common to the first and second block chains based on the first hash value and the second hash value. , A block chain generation system for adding a block having the third hash value, a block chain generation method, and a block chain Formation program is proposed.

一態様によれば、複数のブロックチェーンを管理しやすくすることが可能になる。   According to one aspect, it is possible to facilitate management of a plurality of block chains.

図1は、実施の形態にかかるブロックチェーン生成方法の一実施例を示す説明図である。FIG. 1 is an explanatory view showing an example of a block chain generation method according to the embodiment. 図2は、ブロックチェーン生成システム200の一例を示す説明図である。FIG. 2 is an explanatory view showing an example of the block chain generation system 200. As shown in FIG. 図3は、ブロックチェーン生成装置100のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram showing an example of the hardware configuration of the block chain generation device 100. As shown in FIG. 図4は、ブロック400の記憶内容の一例を示す説明図である。FIG. 4 is an explanatory diagram of an example of the storage content of the block 400. As shown in FIG. 図5は、ブロックチェーン生成装置100の機能的構成例を示すブロック図である。FIG. 5 is a block diagram showing an example of a functional configuration of the block chain generation device 100. As shown in FIG. 図6は、ブロックチェーン生成システム200の機能的構成例を示すブロック図である。FIG. 6 is a block diagram showing a functional configuration example of the block chain generation system 200. As shown in FIG. 図7は、ブロックチェーン生成装置100の動作例1を示す説明図(その1)である。FIG. 7 is an explanatory diagram (part 1) of an operation example 1 of the block chain generation device 100. 図8は、ブロックチェーン生成装置100の動作例1を示す説明図(その2)である。FIG. 8 is an explanatory view (part two) of an operation example 1 of the block chain generation device 100. 図9は、ブロックチェーン生成装置100の動作例1を示す説明図(その3)である。FIG. 9 is an explanatory diagram (part 3) of an operation example 1 of the block chain generation device 100. 図10は、ブロックチェーン生成装置100の動作例1を示す説明図(その4)である。FIG. 10 is an explanatory diagram (part four) of an operation example 1 of the block chain generation device 100. 図11は、ブロックチェーン生成装置100の動作例1を示す説明図(その5)である。FIG. 11 is an explanatory diagram (part 5) of an operation example 1 of the block chain generation device 100. 図12は、ブロックチェーン生成装置100の動作例1を示す説明図(その6)である。FIG. 12 is an explanatory diagram (part 6) of an operation example 1 of the block chain generation device 100. 図13は、ブロックチェーン生成装置100の動作例1を示す説明図(その7)である。FIG. 13 is an explanatory diagram (part 7) of an operation example 1 of the block chain generation device 100. 図14は、ブロックチェーン生成装置100の動作例1を示す説明図(その8)である。FIG. 14 is an explanatory diagram (part 8) of an operation example 1 of the block chain generation device 100. 図15は、ブロックチェーン生成装置100の動作例1を示す説明図(その9)である。FIG. 15 is an explanatory diagram (No. 9) showing an operation example 1 of the block chain generation device 100. 図16は、ブロックチェーン生成装置100の動作例1を示す説明図(その10)である。FIG. 16 is an explanatory diagram (part 10) of an operation example 1 of the block chain generation device 100. 図17は、ブロックチェーン生成装置100の動作例1を示す説明図(その11)である。FIG. 17 is an explanatory diagram (part 11) of an operation example 1 of the block chain generation device 100. 図18は、ブロックチェーン生成装置100の動作例1を示す説明図(その12)である。FIG. 18 is an explanatory diagram (part 12) of an operation example 1 of the block chain generation device 100. 図19は、動作例1におけるブロックチェーン管理処理手順の一例を示すフローチャートである。FIG. 19 is a flowchart of an example of a block chain management process procedure according to the first operation example. 図20は、ブロックチェーン生成装置100の動作例2を示す説明図である。FIG. 20 is an explanatory diagram of an operation example 2 of the block chain generation device 100. 図21は、ブロックチェーン生成装置100の動作例3を示す説明図(その1)である。FIG. 21 is an explanatory diagram (part 1) of an operation example 3 of the block chain generation device 100. 図22は、ブロックチェーン生成装置100の動作例3を示す説明図(その2)である。FIG. 22 is an explanatory diagram (part two) of an operation example 3 of the block chain generation device 100. 図23は、動作例3におけるブロックチェーン管理処理手順の一例を示すフローチャートである。FIG. 23 is a flowchart of an example of a block chain management process procedure according to the third operation example.

以下に、図面を参照して、本発明にかかるブロックチェーン生成システム、ブロックチェーン生成方法、および、ブロックチェーン生成プログラムの実施の形態を詳細に説明する。   Hereinafter, embodiments of a block chain generation system, a block chain generation method, and a block chain generation program according to the present invention will be described in detail with reference to the drawings.

(実施の形態にかかるブロックチェーン生成方法の一実施例)
図1は、実施の形態にかかるブロックチェーン生成方法の一実施例を示す説明図である。ブロックチェーン生成装置100は、ブロックチェーンを管理するコンピュータである。
(One Example of Block Chain Generation Method According to Embodiment)
FIG. 1 is an explanatory view showing an example of a block chain generation method according to the embodiment. The block chain generation device 100 is a computer that manages block chains.

ブロックチェーンは、データを管理するためのリストである。ブロックチェーンは、1以上のブロックを連結させたリストである。ブロックチェーンは、例えば、何らかの組織において生成され、記憶される。何らかの組織内の1以上のノードは、同一のブロックチェーンを共通して記憶し、管理する。ブロックは、1以上のデータをまとめたデータ集合である。   A block chain is a list for managing data. A block chain is a linked list of one or more blocks. The block chain is generated and stored, for example, in some organization. One or more nodes in any organization store and manage the same block chain in common. A block is a data set that combines one or more pieces of data.

ここで、複数の組織のそれぞれの組織においてブロックチェーンが記憶されている状況において、複数の組織を合併しようとする場合がある。この場合、合併した後の複数の組織の状態に合うように、それぞれの組織におけるブロックチェーンを管理することが望まれる。   Here, in a situation where block chains are stored in each organization of a plurality of organizations, it may be attempted to merge a plurality of organizations. In this case, it is desirable to manage block chains in each organization so as to match the state of multiple organizations after merger.

例えば、複数の組織が合併した後では、それぞれの組織におけるブロックチェーンに、同一のブロックが追加されていくように、それぞれの組織において生成されているブロックチェーンを管理しようとする要望がある。換言すれば、複数の組織が合併した後では、それぞれの組織におけるブロックチェーンを、組織間で共通化しようとする要望がある。   For example, after a plurality of organizations merge, there is a demand to manage block chains generated in each organization so that the same block is added to block chains in each organization. In other words, after a plurality of organizations merge, there is a demand to make the block chain in each organization common among the organizations.

一方で、複数の組織が合併する前に、いずれかの組織におけるブロックチェーンに追加されていたブロックについては、複数の組織が合併した後でも、他の組織から参照されないようにしようとする要望がある。しかしながら、合併した後の複数の組織の状態に合わせて、上述した要望を満たすように、それぞれの組織におけるブロックチェーンを管理することは難しい。   On the other hand, there is a demand for blocks that have been added to a block chain in one organization prior to the merger of multiple organizations to be prevented from being referenced by other organizations even after the merger of the multiple organizations. is there. However, it is difficult to manage block chains in each organization so as to meet the above-mentioned needs in accordance with the state of multiple organizations after merger.

例えば、複数の組織が合併する際、それぞれの組織におけるブロックチェーンを、所定のアプリケーションで監視し、所定のアプリケーションで一括して管理する場合が考えられる。この場合、アプリケーションを導入し、運用するコストがかかり、アプリケーションがセキュリティ上の脆弱性になりうる。   For example, when a plurality of organizations merge, it is conceivable that a block chain in each organization is monitored by a predetermined application and collectively managed by the predetermined application. In this case, it is costly to introduce and operate the application, and the application may be a security vulnerability.

具体的には、所定のアプリケーションが、複数の組織が合併する前にブロックチェーンに追加されたブロックについて、それぞれの組織からのアクセスの制限を管理することになる。また、所定のアプリケーションが、合併時のブロックの正当性を保証することになる。このため、所定のアプリケーションのセキュリティを強化することが好ましく、所定のアプリケーションの運用にかかるコストの増大化を招く。   Specifically, a predetermined application will manage the restriction of access from each organization with respect to the block added to the block chain before the plurality of organizations merge. Also, a given application will guarantee the legitimacy of the block upon merger. For this reason, it is preferable to strengthen the security of a predetermined application, which leads to an increase in the cost of operating the predetermined application.

そこで、本実施の形態では、ブロックチェーンの仕組みを利用し、所定のタイミング以降には、それぞれの組織におけるブロックチェーンに、同一のブロックが追加されていくようにすることができるブロックチェーン生成方法について説明する。これによれば、ブロックチェーン生成方法は、合併した後の複数の組織の状態に合わせて、それぞれの組織におけるブロックチェーンを管理しやすくすることができる。   Therefore, in the present embodiment, a block chain generation method capable of causing the same block to be added to the block chain in each organization after a predetermined timing by using a block chain mechanism. explain. According to this, the block chain generation method can make it easy to manage the block chain in each organization according to the state of a plurality of organizations after the merger.

図1の例では、2つの組織においてブロックチェーンが記憶されている。具体的には、組織Aにおいては、ブロックチェーン110が記憶されている。ブロックチェーン110は、ブロック111,112を含む。組織Bにおいては、ブロックチェーン120が記憶されている。ブロックチェーン120は、ブロック121,122を含む。   In the example of FIG. 1, block chains are stored in two organizations. Specifically, in the organization A, the block chain 110 is stored. The block chain 110 includes blocks 111 and 112. In the organization B, a block chain 120 is stored. The block chain 120 includes blocks 121 and 122.

ブロックチェーン生成装置100は、組織ごとに1以上含まれる。ブロックチェーン生成装置100は、いずれかの組織内のノードとして、いずれかの組織におけるブロックチェーンを管理する。以下の説明では、ブロックチェーン生成装置100が、組織A内のノードとして、組織Aにおけるブロックチェーン110を管理する場合について説明する。   One or more block chain generation devices 100 are included for each tissue. The block chain generation device 100 manages block chains in any organization as nodes in any organization. In the following description, the block chain generation device 100 manages the block chain 110 in the organization A as a node in the organization A.

ブロックチェーン生成装置100は、自装置が管理するブロックチェーンの最新のブロックに対応する第1のハッシュ値を取得する。最新のブロックに対応する第1のハッシュ値は、例えば、最新のブロックを所定の関数に代入することにより算出される、最新のブロックを示すハッシュ値である。最新のブロックに対応する第1のハッシュ値は、例えば、最新のブロックに設定されたハッシュ値をコピーしたハッシュ値であってもよい。ブロックチェーン生成装置100は、例えば、ブロックチェーン110の最新のブロック112に設定された第1のハッシュ値を取得する。   The block chain generation device 100 acquires a first hash value corresponding to the latest block of the block chain managed by the own device. The first hash value corresponding to the latest block is, for example, a hash value indicating the latest block, which is calculated by substituting the latest block into a predetermined function. The first hash value corresponding to the latest block may be, for example, a hash value obtained by copying the hash value set for the latest block. The block chain generation device 100 acquires, for example, the first hash value set in the latest block 112 of the block chain 110.

また、ブロックチェーン生成装置100は、自装置が管理するブロックチェーン以外の、他装置が管理するブロックチェーンの最新のブロックに対応する第2のハッシュ値を取得する。最新のブロックに対応する第2のハッシュ値は、例えば、最新のブロックを所定の関数に代入することにより算出される、最新のブロックを示すハッシュ値である。最新のブロックに対応する第2のハッシュ値は、例えば、最新のブロックに設定されたハッシュ値をコピーしたハッシュ値であってもよい。ブロックチェーン生成装置100は、例えば、ブロックチェーン120の最新のブロック122に設定された第2のハッシュ値を、他装置から受信する。   Also, the block chain generation device 100 acquires a second hash value corresponding to the latest block of the block chain managed by another device other than the block chain managed by the own device. The second hash value corresponding to the latest block is, for example, a hash value indicating the latest block, which is calculated by substituting the latest block into a predetermined function. The second hash value corresponding to the latest block may be, for example, a hash value obtained by copying the hash value set for the latest block. The block chain generation device 100 receives, for example, the second hash value set in the latest block 122 of the block chain 120 from the other device.

そして、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンについて、第1のハッシュ値と、第2のハッシュ値とを有する中間ブロックを追加する。ブロックチェーン生成装置100は、例えば、ブロックチェーン110について、取得した第1のハッシュ値と、受信した第2のハッシュ値とを有する中間ブロック113を追加する。一方で、他装置も、同様に、ブロックチェーン120について、中間ブロック123を追加する。   Then, the block chain generation device 100 adds an intermediate block having the first hash value and the second hash value to the block chain managed by the own device. The block chain generation device 100 adds, for example, an intermediate block 113 having the acquired first hash value and the received second hash value for the block chain 110. On the other hand, the other device similarly adds an intermediate block 123 for the block chain 120.

次に、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンに追加された中間ブロックが有する第1のハッシュ値と第2のハッシュ値とに基づき、所定の関数を用いて、第3のハッシュ値を算出する。所定の関数は、複数のブロックチェーンに共通する第3のハッシュ値を算出可能な関数である。   Next, the block chain generation device 100 uses the predetermined function based on the first hash value and the second hash value of the intermediate block added to the block chain managed by the own device, using the third function. Calculate the hash value. The predetermined function is a function capable of calculating a third hash value common to a plurality of block chains.

そして、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンについて、第3のハッシュ値を有するブロックを追加する。ブロックチェーン生成装置100は、例えば、ブロックチェーン110について、ブロックチェーン110,120で共通する第3のハッシュ値を有するブロック114を追加する。一方で、他装置も、同様に、ブロックチェーン120について、ブロックチェーン110,120で共通する第3のハッシュ値を有するブロック124を追加する。   Then, the block chain generation device 100 adds a block having the third hash value to the block chain managed by the own device. The block chain generation device 100 adds a block 114 having a third hash value common to the block chains 110 and 120, for example, for the block chain 110. On the other hand, the other device similarly adds, for the block chain 120, a block 124 having a third hash value common to the block chains 110 and 120.

これにより、ブロックチェーン生成装置100は、所定の関数により、複数のブロックチェーンに共通する第3のハッシュ値が算出されるように、自装置が管理するブロックチェーンに、中間ブロックを追加することができる。そして、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンに、複数のブロックチェーンに共通する第3のハッシュ値を有するブロックを追加することができる。結果として、それぞれのブロックチェーンに、中間ブロックの次に追加されるブロックが一致することになる。   Thereby, the block chain generation device 100 may add an intermediate block to the block chain managed by the own device so that the third hash value common to the plurality of block chains is calculated by the predetermined function. it can. Then, the block chain generation device 100 can add a block having a third hash value common to a plurality of block chains to the block chain managed by the own device. As a result, in each block chain, the block added next to the intermediate block will match.

このため、以降では、それぞれのブロックチェーンに、同一のブロックが追加されていくようになり、ブロックチェーン生成装置100は、ブロックチェーンの仕組みを利用して、複数のブロックチェーンを組織間で共通化することができる。このように、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンを、合併した複数の組織の状態に合うように管理することができる。また、ブロックチェーン生成装置100は、ブロックチェーンの仕組みを利用して、合併前後でのブロックの整合性を保証することができる。   Therefore, in the following, the same block is added to each block chain, and the block chain generation device 100 shares a plurality of block chains among organizations using the block chain mechanism. can do. In this manner, the block chain generation device 100 can manage block chains managed by the own device so as to match the state of a plurality of merged organizations. In addition, the block chain generation device 100 can guarantee the consistency of the blocks before and after the merger by using the block chain mechanism.

ブロックチェーン生成装置100は、自装置が管理するブロックチェーンについて、中間ブロック、および、中間ブロックに基づき生成された中間ブロックの次のブロックなどのような、特殊なブロックを残しておくことができる。このため、ブロックチェーン生成装置100は、後々、自装置が管理するブロックチェーンを共通化したタイミングを判別可能にすることができる。   The block chain generation device 100 can leave special blocks, such as an intermediate block and a block following an intermediate block generated based on the intermediate block, for a block chain managed by the own device. For this reason, the block chain generation device 100 can make it possible to determine later the timing when the block chain managed by the own device is shared.

一方で、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンに、中間ブロックより前に追加されていたブロックについては、自装置で記憶しておけばよく、他装置に参照させなくてもよい。このため、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンに、中間ブロックより前に追加されていたブロックに含まれる取引情報や個人情報や社外秘情報などがあれば保護することができ、セキュリティの向上を図ることができる。   On the other hand, the block chain generation device 100 may store the block added before the intermediate block in the block chain managed by the own device by the own device, even if other devices do not refer to it. Good. For this reason, the block chain generation device 100 can protect the transaction information, personal information, confidential information, and the like included in the block added before the intermediate block in the block chain managed by the own device. Security can be improved.

また、ブロックチェーン生成装置100は、それぞれのブロックチェーンを管理するアプリケーションなどを導入しなくてもよく、アプリケーションの導入や運用による、人的または金銭的なコストの増大化を抑制することができる。また、ブロックチェーン生成装置100は、アプリケーションがセキュリティ上の脆弱性になることがないため、セキュリティの向上を図ることができる。   Further, the block chain generation device 100 may not introduce an application for managing each block chain, and can suppress an increase in human or financial cost due to the introduction or operation of the application. In addition, the block chain generation device 100 can improve security because the application is not vulnerable to security.

(ブロックチェーン生成システム200の一例)
次に、図2を用いて、図1に示したブロックチェーン生成装置100を適用した、ブロックチェーン生成システム200の一例について説明する。
(Example of block chain generation system 200)
Next, an example of a block chain generation system 200 to which the block chain generation apparatus 100 shown in FIG. 1 is applied will be described using FIG.

図2は、ブロックチェーン生成システム200の一例を示す説明図である。図2において、ブロックチェーン生成システム200は、第1の組織における1以上のノード201と、第2の組織における1以上のノード202とを含む。   FIG. 2 is an explanatory view showing an example of the block chain generation system 200. As shown in FIG. In FIG. 2, the block chain generation system 200 includes one or more nodes 201 in a first organization and one or more nodes 202 in a second organization.

第1の組織において、1以上のノード201は、有線または無線のネットワーク211を介して接続される。ネットワーク211は、例えば、LAN(Local Area Network)やWAN(Wide Area Network)などである。   In the first organization, one or more nodes 201 are connected via a wired or wireless network 211. The network 211 is, for example, a local area network (LAN) or a wide area network (WAN).

第2の組織において、1以上のノード202は、有線または無線のネットワーク212を介して接続される。ネットワーク212は、例えば、LANやWANなどである。   In the second organization, one or more nodes 202 are connected via a wired or wireless network 212. The network 212 is, for example, a LAN or a WAN.

ブロックチェーン生成システム200において、第1の組織における1以上のノード201と、第2の組織における1以上のノード202とは、第1の組織と第2の組織が合併したことに応じて、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネットなどである。   In the block chain generation system 200, the one or more nodes 201 in the first organization and the one or more nodes 202 in the second organization are wired in response to the merger of the first organization and the second organization. Or connected via a wireless network 210. The network 210 is, for example, the Internet.

ノード201は、第1の組織におけるブロックチェーンを管理するコンピュータである。ノード201は、図1に示したブロックチェーン生成装置100によって実現される。ノード201は、例えば、サーバ、PC(Personal Computer)、タブレット端末、スマートフォン、ウェアラブル端末などである。   The node 201 is a computer that manages block chains in the first organization. The node 201 is realized by the block chain generation device 100 shown in FIG. The node 201 is, for example, a server, a PC (Personal Computer), a tablet terminal, a smartphone, a wearable terminal, or the like.

ノード202は、第2の組織におけるブロックチェーンを管理するコンピュータである。ノード202は、図1に示したブロックチェーン生成装置100によって実現される。ノード202は、例えば、サーバ、PC、タブレット端末、スマートフォン、ウェアラブル端末などである。   The node 202 is a computer that manages block chains in the second organization. The nodes 202 are realized by the block chain generation device 100 shown in FIG. The node 202 is, for example, a server, a PC, a tablet terminal, a smartphone, a wearable terminal, or the like.

(ブロックチェーン生成装置100のハードウェア構成例)
次に、図3を用いて、ブロックチェーン生成装置100のハードウェア構成例について説明する。
(Hardware configuration example of block chain generation device 100)
Next, a hardware configuration example of the block chain generation device 100 will be described with reference to FIG.

図3は、ブロックチェーン生成装置100のハードウェア構成例を示すブロック図である。図3において、ブロックチェーン生成装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。   FIG. 3 is a block diagram showing an example of the hardware configuration of the block chain generation device 100. As shown in FIG. In FIG. 3, the block chain generation device 100 includes a central processing unit (CPU) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Also, each component is connected by a bus 300.

ここで、CPU301は、ブロックチェーン生成装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。メモリ302は、例えば、ブロックチェーンを記憶する。   Here, the CPU 301 is in charge of overall control of the block chain generation device 100. The memory 302 includes, for example, a read only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, a flash ROM or a ROM stores various programs, and a RAM is used as a work area of the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute coded processing. The memory 302 stores, for example, a block chain.

ネットワークI/F303は、通信回線を通じて、ネットワーク210,211,212などに接続され、ネットワーク210,211,212などを介して、他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210,211,212などと内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。   The network I / F 303 is connected to the networks 210, 211, 212 and the like through communication lines, and is connected to another computer through the networks 210, 211, 212 and the like. A network I / F 303 interfaces the networks 210, 211, 212, etc. with the inside, and controls input / output of data from other computers. For example, a modem or a LAN adapter may be employed as the network I / F 303.

記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、ブロックチェーン生成装置100から着脱可能であってもよい。   The recording medium I / F 304 controls read / write of data with respect to the recording medium 305 according to the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, a solid state drive (SSD), or a universal serial bus (USB) port. The recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 305 may be removable from the block chain generation device 100.

ブロックチェーン生成装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、ブロックチェーン生成装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、ブロックチェーン生成装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。   The block chain generation device 100 may have, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like in addition to the components described above. Also, the block chain generation device 100 may have a plurality of recording medium I / F 304 and recording medium 305. Further, the block chain generation device 100 may not have the recording medium I / F 304 or the recording medium 305.

(ブロック400の記憶内容)
次に、図4を用いてブロックチェーンに含まれるブロックの一例として、ブロック400の記憶内容について説明する。ブロック400は、例えば、図3に示したブロックチェーン生成装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Memory content of block 400)
Next, the storage contents of the block 400 will be described as an example of the block included in the block chain with reference to FIG. The block 400 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the block chain generation device 100 illustrated in FIG. 3.

図4は、ブロック400の記憶内容の一例を示す説明図である。図4に示すように、ブロック400は、直前ハッシュ値と、ナンス(Nonce)と、取引IDリストとのフィールドを有する。ブロック400は、各フィールドに情報を設定することにより、生成される。   FIG. 4 is an explanatory diagram of an example of the storage content of the block 400. As shown in FIG. As shown in FIG. 4, the block 400 has fields of an immediately preceding hash value, a nonce, and a transaction ID list. The block 400 is generated by setting information in each field.

直前ハッシュ値のフィールドには、ブロック400の直前にブロックチェーンに追加された直前ブロックに対応するハッシュ値が設定される。直前ブロックに対応するハッシュ値は、例えば、直前ブロックを所定の関数に代入することにより算出される、直前ブロックを示すハッシュ値である。ナンスのフィールドには、ナンスと呼ばれる、自由に設定可能な値が設定される。取引IDリストのフィールドには、過去の取引(transaction)に関する情報が設定される。取引に関する情報は、例えば、取引を特定するIDである。   In the field of the immediately preceding hash value, a hash value corresponding to the immediately preceding block added to the block chain immediately before the block 400 is set. The hash value corresponding to the immediately preceding block is, for example, a hash value indicating the immediately preceding block, which is calculated by substituting the immediately preceding block into a predetermined function. In the nonce field, a freely settable value called nonce is set. Information on past transactions is set in the field of the transaction ID list. The information on the transaction is, for example, an ID for identifying the transaction.

(ブロックチェーン生成システム200の機能的構成例)
次に、ブロックチェーン生成システム200の機能的構成例について説明する。ブロックチェーン生成システム200は、第1追加部と、第2追加部とを有する。
(Example of functional configuration of block chain generation system 200)
Next, a functional configuration example of the block chain generation system 200 will be described. The block chain generation system 200 has a first addition unit and a second addition unit.

第1追加部は、複数のブロックチェーンそれぞれに中間ブロックを追加する。第1追加部は、例えば、第1の組織における1以上のノード201を実現するブロックチェーン生成装置100の図5に示す各機能部と、第2の組織における1以上のノード202を実現するブロックチェーン生成装置100の図5に示す各機能部とによって実現される。   The first adding unit adds an intermediate block to each of the plurality of block chains. The first addition unit is, for example, a block that implements each functional unit shown in FIG. 5 of the block chain generation device 100 that implements one or more nodes 201 in a first organization, and a block that implements one or more nodes 202 in a second organization. It is realized by each functional unit shown in FIG. 5 of the chain generation device 100.

第2追加部は、複数のブロックチェーンそれぞれに共通する第3のハッシュ値を有するブロックを、複数のブロックチェーンそれぞれに追加する。第2追加部は、例えば、第1の組織における1以上のノード201を実現するブロックチェーン生成装置100の図5に示す各機能部と、第2の組織における1以上のノード202を実現するブロックチェーン生成装置100の図5に示す各機能部とによって実現される。   The second adding unit adds a block having a third hash value common to each of the plurality of block chains to each of the plurality of block chains. The second addition unit is, for example, a block that implements each functional unit shown in FIG. 5 of the block chain generation device 100 that implements one or more nodes 201 in the first organization, and a block that implements one or more nodes 202 in the second organization. It is realized by each functional unit shown in FIG. 5 of the chain generation device 100.

(ブロックチェーン生成装置100の機能的構成例)
次に、図5を用いて、ブロックチェーン生成装置100の機能的構成例について説明する。
(Example of functional configuration of block chain generation device 100)
Next, a functional configuration example of the block chain generation device 100 will be described using FIG.

図5は、ブロックチェーン生成装置100の機能的構成例を示すブロック図である。ブロックチェーン生成装置100は、記憶部500と、取得部501と、追加部502と、出力部503とを含む。   FIG. 5 is a block diagram showing an example of a functional configuration of the block chain generation device 100. As shown in FIG. The block chain generation device 100 includes a storage unit 500, an acquisition unit 501, an addition unit 502, and an output unit 503.

記憶部500は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部500が、ブロックチェーン生成装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、ブロックチェーン生成装置100とは異なる装置に含まれ、記憶部500の記憶内容がブロックチェーン生成装置100から参照可能である場合があってもよい。   The storage unit 500 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 illustrated in FIG. 3. Although the case where the storage unit 500 is included in the block chain generation device 100 will be described below, the present invention is not limited to this. For example, the storage unit 500 may be included in an apparatus different from the block chain generation apparatus 100, and the storage content of the storage unit 500 may be referable from the block chain generation apparatus 100.

取得部501〜出力部503は、制御部となる機能である。取得部501〜出力部503は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。   The acquisition unit 501 to the output unit 503 are functions as a control unit. Specifically, for example, the acquisition unit 501 to the output unit 503 cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 illustrated in FIG. 3, or the network I / F 303. To realize that function. The processing result of each functional unit is stored, for example, in a storage area such as the memory 302 or the recording medium 305 shown in FIG.

記憶部500は、ブロックチェーンを記憶する。ブロックチェーンは、1以上のブロックを連結したリストである。ブロックは、データをまとめたデータ集合である。ブロックの一例は、図4に示したブロック400である。ブロックは、複数の項目を有する。ブロックは、例えば、第1の項目と、第2の項目とを有する。ブロックが有する第1の項目は、例えば、ブロックの直前に連結されたブロックを示すハッシュ値が設定される、直前ハッシュ値の項目である。また、第1の項目は、ナンスの項目、または、取引IDリストの項目であってもよい。ブロックが有する第2の項目は、例えば、ナンスの項目である。また、第2の項目は、直前ハッシュ値の項目、または、取引IDリストの項目であってもよい。これにより、記憶部500は、ブロックチェーンを参照可能にすることができる。   The storage unit 500 stores block chains. A block chain is a linked list of one or more blocks. A block is a data set that summarizes data. An example of the block is block 400 shown in FIG. A block has a plurality of items. The block has, for example, a first item and a second item. The first item of the block is, for example, an item of an immediately preceding hash value in which a hash value indicating the block connected immediately before the block is set. Also, the first item may be an item of nonce or an item of transaction ID list. The second item included in the block is, for example, an item of nonce. The second item may be the item of the immediately preceding hash value or the item of the transaction ID list. Thereby, the storage unit 500 can make the block chain referable.

また、記憶部500は、各機能部の処理に用いられる各種情報を記憶する。記憶部500は、例えば、所定の関数を記憶する。所定の関数は、ブロックに基づき、ブロックを示すハッシュ値を算出するハッシュ関数である。所定の関数は、例えば、ブロックが有する複数の項目の値に基づき、第3のハッシュ値を算出する関数である。所定の関数は、具体的には、ブロックが有する複数の項目のうち第1の項目の値と第2の項目の値とが入れ替わっても、算出される第3のハッシュ値が同一になる関数である。これにより、記憶部500は、各機能部の処理に用いられる各種情報を、各機能部に参照可能にすることができる。   The storage unit 500 also stores various information used for processing of each functional unit. The storage unit 500 stores, for example, a predetermined function. The predetermined function is a hash function that calculates a hash value indicating a block based on the block. The predetermined function is, for example, a function that calculates a third hash value based on the values of a plurality of items included in the block. Specifically, the predetermined function is a function in which the third hash value to be calculated becomes identical even if the value of the first item and the value of the second item among the plurality of items included in the block are interchanged. It is. As a result, the storage unit 500 can make reference to various types of information used in the processing of each functional unit to each functional unit.

取得部501は、自装置が管理するブロックチェーンの最新のブロックに対応するハッシュ値を取得する。最新のブロックに対応するハッシュ値は、例えば、最新のブロックに設定されたハッシュ値をコピーしたハッシュ値である。最新のブロックに対応するハッシュ値は、例えば、最新のブロックを所定の関数に代入することにより算出された、最新のブロックを示すハッシュ値である。取得部501は、例えば、自装置が管理するブロックチェーンの最新のブロックに対応するハッシュ値を自装置で算出しない場合に、自装置が管理するブロックチェーンの最新のブロックに対応するハッシュ値を、他装置から受信する。これにより、取得部501は、中間ブロックの生成に用いる情報を取得し、追加部502に提供することができる。   The acquisition unit 501 acquires a hash value corresponding to the latest block of the block chain managed by the own device. The hash value corresponding to the latest block is, for example, a hash value obtained by copying the hash value set to the latest block. The hash value corresponding to the latest block is, for example, a hash value indicating the latest block calculated by substituting the latest block into a predetermined function. For example, when the acquisition unit 501 does not calculate the hash value corresponding to the latest block of the block chain managed by the own device, the acquisition unit 501 may use the hash value corresponding to the latest block of the block chain managed by the own device. Receive from another device. As a result, the acquisition unit 501 can acquire information used to generate an intermediate block and provide the information to the addition unit 502.

取得部501は、他装置が管理するブロックチェーンの最新のブロックに対応するハッシュ値を取得する。最新のブロックに対応するハッシュ値は、例えば、最新のブロックに設定されたハッシュ値をコピーしたハッシュ値である。最新のブロックに対応するハッシュ値は、例えば、最新のブロックを所定の関数に代入することにより算出された、最新のブロックを示すハッシュ値である。取得部501は、他装置が管理するブロックチェーンの最新のブロックに対応するハッシュ値を、他装置から受信する。これにより、取得部501は、中間ブロックの生成に用いる情報を取得し、追加部502に提供することができる。   The acquisition unit 501 acquires a hash value corresponding to the latest block of a block chain managed by another device. The hash value corresponding to the latest block is, for example, a hash value obtained by copying the hash value set to the latest block. The hash value corresponding to the latest block is, for example, a hash value indicating the latest block calculated by substituting the latest block into a predetermined function. The acquisition unit 501 receives a hash value corresponding to the latest block of a block chain managed by another device from the other device. As a result, the acquisition unit 501 can acquire information used to generate an intermediate block and provide the information to the addition unit 502.

追加部502は、自装置が管理するブロックチェーンについて、中間ブロックを追加する。ここで、複数のブロックチェーンのそれぞれのブロックチェーンに追加される中間ブロックは、同一でなくてもよいが、所定の関数に代入された場合には、所定の関数から算出される第3のハッシュ値を同一にすることができる。   The adding unit 502 adds an intermediate block to the block chain managed by the own device. Here, the intermediate blocks added to the respective block chains of the plurality of block chains may not be identical, but when assigned to a predetermined function, the third hash calculated from the predetermined function The values can be identical.

自装置が管理するブロックチェーンに追加される中間ブロックは、例えば、自装置が管理するブロックチェーンの最新のブロックに対応する第1のハッシュ値と、他装置が管理するブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する。自装置が管理するブロックチェーンに追加される中間ブロックは、例えば、第1のハッシュ値が第1の項目の値に設定され、第2のハッシュ値が第2の項目の値に設定される。   The intermediate block added to the block chain managed by the own device is, for example, the first hash value corresponding to the latest block of the block chain managed by the own device and the latest block of the block chain managed by another device And a corresponding second hash value. For example, the first hash value is set to the value of the first item, and the second hash value is set to the value of the second item for the intermediate block added to the block chain managed by the own device.

中間ブロックは、具体的には、第1のハッシュ値が、直前ハッシュ値の項目の値に設定され、第2のハッシュ値が、ナンスの項目の値に設定される。また、中間ブロックは、具体的には、第1のハッシュ値が、直前ハッシュ値の項目の値に設定され、第2のハッシュ値が、取引IDリストの項目の値に設定されてもよい。また、中間ブロックは、具体的には、第1のハッシュ値が、ナンスの項目の値に設定され、第2のハッシュ値が、取引IDリストの項目の値に設定されてもよい。   Specifically, in the intermediate block, the first hash value is set to the value of the immediately preceding hash value item, and the second hash value is set to the nonce item value. Moreover, specifically, the first hash value may be set to the value of the item of the immediately preceding hash value, and the second hash value may be set to the value of the item of the transaction ID list. Moreover, specifically, the first hash value may be set to the value of the item of the nonce, and the second hash value may be set to the value of the item of the transaction ID list.

追加部502は、具体的には、自装置が管理するブロックチェーンの最新のブロックに設定された第1のハッシュ値と、他装置が管理するブロックチェーンの最新のブロックに設定された第2のハッシュ値とを有する中間ブロックを追加する。追加部502は、図7〜図18に後述する動作例1、または、図20に後述する動作例2などのように、自装置が管理するブロックチェーンについて、中間ブロックを追加する。これにより、追加部502は、算出済みのハッシュ値を利用し、処理量の低減化を図ることができる。   More specifically, the adding unit 502 sets the first hash value set in the latest block of the block chain managed by the own device and the second hash value set in the latest block of the block chain managed by another device. Add an intermediate block with a hash value. The adding unit 502 adds an intermediate block to a block chain managed by the own apparatus as in the operation example 1 described later with reference to FIGS. 7 to 18 or the operation example 2 described later with reference to FIG. As a result, the adding unit 502 can reduce the amount of processing by using the calculated hash value.

追加部502は、具体的には、自装置が管理するブロックチェーンの最新のブロックを示す第1のハッシュ値と、他装置が管理するブロックチェーンの最新のブロックを示す第2のハッシュ値とを有する中間ブロックを追加してもよい。追加部502は、図21および図22に後述する動作例3などのように、自装置が管理するブロックチェーンについて、中間ブロックを追加する。これにより、追加部502は、第1のハッシュ値に基づいて、自装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。また、追加部502は、第2のハッシュ値に基づいて、他装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。   Specifically, the adding unit 502 has a first hash value indicating the latest block of the block chain managed by the own device and a second hash value indicating the latest block of the block chain managed by the other device. An intermediate block may be added. The adding unit 502 adds an intermediate block to a block chain managed by the own device, as in the operation example 3 described later with reference to FIGS. 21 and 22. As a result, the adding unit 502 can determine whether or not the block added immediately before the intermediate block in the block chain managed by the own apparatus has been tampered with based on the first hash value. In addition, the adding unit 502 can determine whether the block added immediately before the intermediate block in the block chain managed by the other device has been tampered with based on the second hash value.

追加部502は、中間ブロックを追加した後、自装置が管理するブロックチェーンについて、共通ブロックを追加する。共通ブロックは、それぞれのブロックチェーンに共通して追加されるブロックである。共通ブロックは、第3のハッシュ値を有する。共通ブロックは、第3のハッシュ値を、第1の項目の値に設定される。第3のハッシュ値は、中間ブロックを示すハッシュ値である。   After adding the intermediate block, the adding unit 502 adds a common block to the block chain managed by the own device. The common block is a block commonly added to each block chain. The common block has a third hash value. The common block sets the third hash value to the value of the first item. The third hash value is a hash value indicating an intermediate block.

追加部502は、例えば、自装置が管理するブロックチェーンに追加された中間ブロックが有する第1のハッシュ値と第2のハッシュ値とに基づき、所定の関数を用いて、第3のハッシュ値を算出する。そして、追加部502は、自装置が管理するブロックチェーンについて、第3のハッシュ値を有する共通ブロックを追加する。これにより、追加部502は、以降、それぞれのブロックチェーンに同一のブロックが追加されていくようにすることができ、複数のブロックチェーンを共通化することができる。   The adding unit 502 uses, for example, a predetermined function based on the first hash value and the second hash value of the intermediate block added to the block chain managed by the own device, and uses the third hash value. calculate. Then, the adding unit 502 adds a common block having the third hash value to the block chain managed by the own device. Thus, the adding unit 502 can subsequently add the same block to each block chain, and can share a plurality of block chains.

追加部502は、例えば、第3のハッシュ値のほか、それぞれのブロックチェーンに中間ブロックの直前に追加されたブロックを示す第4のハッシュ値を算出してもよい。そして、追加部502は、自装置が管理するブロックチェーンについて、第3のハッシュ値のほか、第4のハッシュ値をさらに有する共通ブロックを追加する。これにより、追加部502は、第4のハッシュ値に基づいて、それぞれのブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。   The adding unit 502 may calculate, for example, in addition to the third hash value, a fourth hash value indicating a block added immediately before the intermediate block in each block chain. Then, the adding unit 502 adds a common block further having a fourth hash value in addition to the third hash value to the block chain managed by the own apparatus. Thus, the adding unit 502 can determine whether the block added immediately before the intermediate block in each block chain is tampered with based on the fourth hash value.

出力部503は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部503は、各機能部の処理結果を利用者に通知可能にし、ブロックチェーン生成装置100の管理や運用、例えば、ブロックチェーン生成装置100の設定値の更新などを支援することができる。そして、出力部503は、ブロックチェーン生成装置100の利便性の向上を図ることができる。   The output unit 503 outputs the processing result of each functional unit. The output format is, for example, display on a display, print output to a printer, transmission to an external device by the network I / F 303, or storage in a storage area such as the memory 302 or the recording medium 305. Thus, the output unit 503 can notify the user of the processing result of each functional unit, and support management and operation of the block chain generation device 100, for example, updating of setting values of the block chain generation device 100, and the like. it can. Then, the output unit 503 can improve the convenience of the block chain generation device 100.

ここでは、ブロックチェーン生成装置100が、単独で、各機能部を実現する場合について説明したが、これに限らない。例えば、図6に後述するように、ブロックチェーン生成システム200において、複数のブロックチェーン生成装置100が、協働して、各機能部を実現する場合があってもよい。   Here, although the case where block chain generation device 100 realizes each functional part independently was explained, it does not restrict to this. For example, as described later with reference to FIG. 6, in the block chain generation system 200, there may be a case where a plurality of block chain generation devices 100 cooperate to realize each functional unit.

(ブロックチェーン生成システム200の機能的構成例)
次に、図6を用いて、ブロックチェーン生成システム200の機能的構成例について説明する。
(Example of functional configuration of block chain generation system 200)
Next, a functional configuration example of the block chain generation system 200 will be described using FIG.

図6は、ブロックチェーン生成システム200の機能的構成例を示すブロック図である。ブロックチェーン生成システム200は、例えば、ハッシュ値算出部601とブロック生成部602とを含むブロックチェーン生成装置100を有する。   FIG. 6 is a block diagram showing a functional configuration example of the block chain generation system 200. As shown in FIG. The block chain generation system 200 includes, for example, a block chain generation device 100 including a hash value calculation unit 601 and a block generation unit 602.

また、ブロックチェーン生成システム200は、例えば、統合準備部603を含むブロックチェーン生成装置100を有する。また、ブロックチェーン生成システム200は、例えば、統合部604を含むブロックチェーン生成装置100を有する。   Also, the block chain generation system 200 includes, for example, a block chain generation device 100 including an integration preparation unit 603. Also, the block chain generation system 200 includes, for example, a block chain generation device 100 including an integration unit 604.

ハッシュ値算出部601は、自装置が管理するブロックチェーンに直前に追加されたブロックを示すハッシュ値を算出する。ブロック生成部602は、ハッシュ値算出部601が算出したハッシュ値がハッシュ値の項目の値として設定されたブロックを生成し、自装置が管理するブロックチェーンに追加する。   The hash value calculation unit 601 calculates a hash value indicating a block added immediately before the block chain managed by the own device. The block generation unit 602 generates a block in which the hash value calculated by the hash value calculation unit 601 is set as the value of the item of the hash value, and adds the block to the block chain managed by the own device.

統合準備部603は、中間ブロックを生成する。統合準備部603は、自装置のメモリ302に記憶された、自装置が管理するブロックチェーンについて、生成した中間ブロックを追加する。統合準備部603は、追加部502の一部の動作を実現する。統合部604は、共通ブロックを生成する。統合部604は、自装置のメモリ302に記憶された、自装置が管理するブロックチェーンについて、生成した共通ブロックを追加する。統合部604は、追加部502の一部の動作を実現する。   The integration preparation unit 603 generates an intermediate block. The integration preparation unit 603 adds the generated intermediate block to the block chain managed by the own device stored in the memory 302 of the own device. The integration preparation unit 603 implements part of the operation of the addition unit 502. The integration unit 604 generates a common block. The integration unit 604 adds the generated common block to the block chain managed by the own device stored in the memory 302 of the own device. The integration unit 604 implements part of the operation of the addition unit 502.

(ブロックチェーン生成装置100の動作例1)
次に、図7〜図18を用いて、ブロックチェーン生成装置100の動作例1について説明する。
(Operation example 1 of block chain generation device 100)
Next, an operation example 1 of the block chain generation device 100 will be described using FIGS. 7 to 18.

図7〜図18は、ブロックチェーン生成装置100の動作例1を示す説明図である。図7は、具体的には、複数の組織のそれぞれの組織におけるブロックチェーンを、組織間で共通化しようとする状況の一例を示す。   7 to 18 are explanatory diagrams showing an operation example 1 of the block chain generation device 100. FIG. Specifically, FIG. 7 illustrates an example of a situation in which a block chain in each tissue of a plurality of tissues is to be shared among the tissues.

図7に示すように、A社においてA社ブロックチェーンが記憶されている。B社においてB社ブロックチェーンが記憶されている。ここで、A社とB社とが、合併や提携する状況において、A社ブロックチェーンとB社ブロックチェーンとを共通化し、AB社ブロックチェーンとして利用しようとする場合がある。   As shown in FIG. 7, the company A block chain is stored in company A. A company B block chain is stored in company B. Here, in a situation where company A and company B merge or associate, there is a case where company A block chain and company B block chain may be shared and used as company AB block chain.

ここで、A社ブロックチェーンとB社ブロックチェーンとを共通化した場合でも、A社従業員が、A社ブロックチェーンと、AB社ブロックチェーンとを参照可能であるが、B社ブロックチェーンを参照可能ではないようにすることが望まれる。一方で、B社従業員が、B社ブロックチェーンと、AB社ブロックチェーンとを参照可能であるが、A社ブロックチェーンを参照可能ではないようにすることが望まれる。   Here, even when company A block chain and company B block chain are common, company A employee can refer to company A block chain and company AB block chain, but refer to company B block chain It is desirable not to be possible. On the other hand, it is desirable that a company B employee can refer to the company B block chain and the company AB block chain but can not refer to the company A block chain.

以下の説明では、A社ブロックチェーンを「チェーンA」と表記する場合がある。以下の説明では、B社ブロックチェーンを「チェーンB」と表記する場合がある。次に、図8の説明に移行し、A社やB社における、ブロックチェーンに対するブロックの追加の流れについて説明する。   In the following description, the company A block chain may be described as "chain A". In the following description, the company B block chain may be described as "chain B". Next, it transfers to description of FIG. 8, and the flow of addition of the block with respect to a block chain in A company and B company is demonstrated.

図8は、具体的には、ブロックチェーンに対するブロックの追加の流れを示す。図8に示すように、ブロックチェーン生成装置100は、一定時間ごとに、ブロックチェーンに新たなブロックを追加していく。ここでは、ブロックチェーンに、ブロック1が追加された後における、ブロックチェーン生成装置100の動作について説明する。   FIG. 8 specifically shows the additional flow of blocks to the block chain. As shown in FIG. 8, the block chain generation device 100 adds new blocks to the block chain at regular intervals. Here, an operation of the block chain generation device 100 after the block 1 is added to the block chain will be described.

ブロックチェーン生成装置100は、具体的には、ブロックチェーンの最新のブロック1をハッシュ関数に代入し、最新のブロック1を示すハッシュ値「hash1」を算出する。次に、ブロックチェーン生成装置100は、算出したハッシュ値「hash1」を直前ハッシュ値の項目の値に設定した新たなブロック2を生成する。そして、ブロックチェーン生成装置100は、ブロックチェーンに、生成したブロック2を追加する。   Specifically, the block chain generation device 100 substitutes the latest block 1 of the block chain into a hash function, and calculates a hash value "hash1" indicating the latest block 1. Next, the block chain generation device 100 generates a new block 2 in which the calculated hash value “hash1” is set to the value of the item of the previous hash value. Then, the block chain generation device 100 adds the generated block 2 to the block chain.

ハッシュ関数は、直前ハッシュ値の項目の値、ナンスの項目の値、取引IDリストの項目の値が代入され、ハッシュ値を算出する。ハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値とが入れ替わっても、同一のハッシュ値を算出する。ハッシュ関数は、例えば、下記式(1)または下記式(2)で表される。   The hash function substitutes the value of the immediately preceding hash value item, the value of the nonce item, and the value of the transaction ID list item to calculate a hash value. The hash function calculates the same hash value even if, for example, the value of the immediately preceding hash value item and the value of the nonce item are interchanged. The hash function is represented, for example, by the following equation (1) or the following equation (2).

ハッシュ値=f(直前ハッシュ値の項目の値*ナンスの項目の値*取引IDリストの項目の値) ・・・(1)     Hash value = f (value of immediately preceding hash value item * value of nonce item * value of item of transaction ID list) ··· (1)

ハッシュ値=f(直前ハッシュ値の項目の値)*f(ナンスの項目の値)−f(取引IDリストの項目の値) ・・・(2)     Hash value = f (value of immediately preceding hash value item) * f (value of nonce item)-f (value of item of transaction ID list) (2)

ここで、f()は、SHA−256ハッシュ関数である。*は、乗算を示す。−は、減算を示す。上記式(1)および上記式(2)において、*の代わりに、A@B=B@Aを満たす任意の演算子@が利用されてもよい。上記式(1)および上記式(2)において、例えば、*の代わりに+が利用されてもよい。上記式(2)において、−の代わりに、任意の演算子@が利用されてもよい。   Here, f () is a SHA-256 hash function. * Indicates multiplication. -Indicates subtraction. In the above equations (1) and (2), any operator @ satisfying A @ B = B @ A may be used instead of *. In the above formulas (1) and (2), for example, + may be used instead of *. In the above equation (2), an arbitrary operator @ may be used instead of-.

同様に、ブロックチェーン生成装置100は、ブロックチェーンの最新のブロック2をハッシュ関数に代入してハッシュ値「hash2」を算出し、算出したハッシュ値「hash2」を直前ハッシュ値の項目の値に設定した新たなブロック3を生成する。ブロックチェーン生成装置100は、ブロックチェーンに、生成したブロック3を追加する。   Similarly, the block chain generation device 100 substitutes the latest block 2 of the block chain into the hash function to calculate the hash value “hash2”, and sets the calculated hash value “hash2” as the value of the item of the previous hash value Generate a new block 3. The block chain generation device 100 adds the generated block 3 to the block chain.

このように、ブロックチェーン生成装置100は、ブロックチェーンに新たなブロックを追加していく。ブロックチェーン生成装置100は、ブロックを追加する際、直前ブロックを示すハッシュ値を算出し、追加するブロックに含めることにより、ブロックチェーンの連結を実現する。次に、図9の説明に移行し、ブロックが追加されるブロックチェーンの共通化の流れについて説明する。   Thus, the block chain generation device 100 adds new blocks to the block chain. When adding a block, the block chain generation device 100 realizes a block chain concatenation by calculating a hash value indicating the immediately preceding block and including it in the block to be added. Next, it transfers to description of FIG. 9, and demonstrates the flow of commonization of the block chain to which a block is added.

図9は、ブロックチェーンの共通化の流れを示す。図9に示すように、A社とB社とが合併するタイミングで、チェーンAとチェーンBとを共通化し、A社とB社とが合併するタイミング以降は、チェーンAにもチェーンBにも同一のブロックが追加されるようにする。これにより、A社とB社とが合併するタイミング以降は、A社においてもB社においても、同一のブロックを記憶していくことになる。   FIG. 9 shows the flow of commonization of block chains. As shown in FIG. 9, at the timing when company A and company B merge, chains A and B are shared, and after time when company A and company B merge, neither chain A nor chain B Make the same block be added. As a result, after the timing at which the company A and the company B merge, the same block is stored in the company A and the company B.

図9の例では、具体的には、チェーンAには、ブロック911〜913以降、ブロック931,932が追加されていくようにする。一方で、チェーンBには、ブロック921〜923以降、チェーンAと同じブロック931,932が追加されていくようにする。次に、図10の説明に移行し、ブロックチェーンの共通化の具体例について説明する。   Specifically, in the example of FIG. 9, blocks 931 and 932 are added to the chain A after the blocks 911 to 913. On the other hand, the same blocks 931 and 932 as those of the chain A are added to the chain B after the blocks 921 to 923. Next, it transfers to description of FIG. 10, and the specific example of commonization of a block chain is demonstrated.

図10は、ブロックチェーンの共通化の具体例を示す。図10の例では、A社とB社とが合併する前、A社におけるチェーンAには、ブロック1011,1012が含まれている。ここで、図11の説明に移行し、チェーンAにおける最新のブロック1012の具体例について説明する。   FIG. 10 shows a specific example of block chain sharing. In the example of FIG. 10, before company A and company B merge, the chain A in company A includes blocks 1011 and 1012. Here, it transfers to description of FIG. 11, and the specific example of the newest block 1012 in the chain A is demonstrated.

図11は、チェーンAにおける最新のブロック1012の具体例を示す。図11に示すように、ブロック1012は、直前ハッシュ値の項目に「A11..11」が設定される。ブロック1012は、ナンスの項目に「A22..22」が設定される。ブロック1012は、取引IDリストの項目に「A33..33, A44..44, ...」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 11 shows an example of the latest block 1012 in chain A. As shown in FIG. 11, in block 1012, “A 11.. 11” is set in the item of the immediately preceding hash value. The block 1012 sets "A22..22" in the item of nonce. The block 1012 sets "A33..33, A44..44, ..." in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

図10の説明に戻り、A社とB社とが合併する前、B社におけるチェーンBには、ブロック1021,1022が含まれている。ここで、図12の説明に移行し、チェーンBにおける最新のブロック1022の具体例について説明する。   Returning to the description of FIG. 10, before company A and company B merge, chain B in company B includes blocks 1021 and 1022. Here, it transfers to description of FIG. 12, and the example of the newest block 1022 in the chain B is demonstrated.

図12は、チェーンBにおける最新のブロック1022の具体例を示す。図12に示すように、ブロック1022は、直前ハッシュ値の項目に「B55..55」が設定される。ブロック1022は、ナンスの項目に「B66..66」が設定される。ブロック1022は、取引IDリストの項目に「B77..77, B88..88, ...」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 12 shows an example of the latest block 1022 in chain B. As shown in FIG. 12, in block 1022, "B55..55" is set in the item of the immediately preceding hash value. In block 1022, "B66..66" is set in the item of nonce. In block 1022, "B77..77, B88..88, ..." is set in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

図10の説明に戻り、A社側のブロックチェーン生成装置100は、例えば、A社とB社とが合併したことに応じて、中間ブロックとなるブロック1013を生成する。以下の説明では、A社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100A」と表記する場合がある。   Returning to the explanation of FIG. 10, the block chain generating device 100 on the side of company A generates, for example, a block 1013 to be an intermediate block in response to the merger of company A and company B. In the following description, the block chain generation device 100 on the A company side may be described as “block chain generation device 100A”.

ブロックチェーン生成装置100Aは、ブロック1013の直前ハッシュ値の項目の値に、直前のブロック1012に設定されたハッシュ値「hashA」を設定する。また、ブロックチェーン生成装置100Aは、ブロック1013のナンスの項目の値に、チェーンBのブロック1022に設定されたハッシュ値「hashB」を設定する。ブロック1013の取引IDリストの項目は空である。   The block chain generation device 100A sets the hash value “hashA” set in the immediately preceding block 1012 in the value of the item of the immediately preceding hash value of the block 1013. Further, the block chain generation device 100A sets the hash value “hash B” set in the block 1022 of the chain B to the value of the nonce item of the block 1013. The item of the transaction ID list of block 1013 is empty.

ここでは、ブロックチェーン生成装置100Aが、ブロック1013のナンスの項目の値に、チェーンBのブロック1022に設定されたハッシュ値「hashB」を設定する場合について説明したが、これに限らない。例えば、ブロックチェーン生成装置100Aが、ブロック1013の取引IDリストの項目の値に、チェーンBのブロック1022に設定されたハッシュ値「hashB」を設定する場合があってもよい。   Here, the case where the block chain generation device 100A sets the hash value “hashB” set in the block 1022 of the chain B to the value of the nonce item of the block 1013 has been described, but the present invention is not limited thereto. For example, the block chain generation device 100A may set the hash value “hash B” set in the block 1022 of the chain B to the value of the item of the transaction ID list of the block 1013.

ブロックチェーン生成装置100Aは、生成したブロック1013を、チェーンAに追加する。ここで、図13の説明に移行し、ブロック1013の具体例について説明する。   The block chain generation device 100A adds the generated block 1013 to the chain A. Here, it transfers to description of FIG. 13, and the specific example of the block 1013 is demonstrated.

図13は、ブロック1013の具体例を示す。図13に示すように、ブロック1013は、直前ハッシュ値の項目に、ブロック1012からコピーした「A11..11」が設定される。ブロック1013は、ナンスの項目に、ブロック1022からコピーした「B55..55」が設定される。ブロック1013は、取引IDリストの項目に「0」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 13 shows a specific example of the block 1013. As shown in FIG. 13, in the block 1013, “A11..11” copied from the block 1012 is set in the item of the immediately preceding hash value. In block 1013, “B55..55” copied from block 1022 is set in the item of nonce. In block 1013, "0" is set in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

図10の説明に戻り、B社側のブロックチェーン生成装置100は、例えば、A社とB社とが合併したことに応じて、中間ブロックとなるブロック1023を生成する。以下の説明では、B社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100B」と表記する場合がある。   Returning to the explanation of FIG. 10, the block chain generation device 100 on the side of company B generates, for example, a block 1023 to be an intermediate block in response to the merger of company A and company B. In the following description, the block chain generation device 100 on the B company side may be referred to as “block chain generation device 100B”.

ブロックチェーン生成装置100Bは、ブロック1023の直前ハッシュ値の項目の値に、直前のブロック1022に設定されたハッシュ値「hashB」を設定する。また、ブロックチェーン生成装置100Bは、ブロック1023のナンスの項目の値に、チェーンAのブロック1012に設定されたハッシュ値「hashA」を設定する。ブロック1023の取引IDリストの項目は空である。   The block chain generation device 100 </ b> B sets the hash value “hashB” set in the immediately preceding block 1022 in the value of the item of the immediately preceding hash value of the block 1023. Further, the block chain generation device 100B sets the hash value “hashA” set in the block 1012 of the chain A to the value of the item of the nonce of the block 1023. The item of the transaction ID list of block 1023 is empty.

ここでは、ブロックチェーン生成装置100Bが、ブロック1023のナンスの項目の値に、チェーンAのブロック1012に設定されたハッシュ値「hashA」を設定する場合について説明したが、これに限らない。例えば、ブロックチェーン生成装置100Bが、ブロック1023の取引IDリストの項目の値に、チェーンAのブロック1012に設定されたハッシュ値「hashA」を設定する場合があってもよい。   Here, the case where the block chain generation device 100B sets the hash value “hashA” set in the block 1012 of the chain A to the value of the nonce item of the block 1023 has been described, but the present invention is not limited thereto. For example, the block chain generation device 100B may set the hash value “hashA” set in the block 1012 of the chain A to the value of the item of the transaction ID list of the block 1023.

ブロックチェーン生成装置100Bは、生成したブロック1023を、チェーンBに追加する。ここで、図14の説明に移行し、ブロック1023の具体例について説明する。   The block chain generation device 100B adds the generated block 1023 to the chain B. Here, it transfers to description of FIG. 14, and the example of a block 1023 is demonstrated.

図14は、ブロック1023の具体例を示す。図14に示すように、ブロック1023は、直前ハッシュ値の項目に、ブロック1022からコピーした「B55..55」が設定される。ブロック1023は、ナンスの項目に、ブロック1012からコピーした「A11..11」が設定される。ブロック1023は、取引IDリストの項目に「0」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 14 shows a specific example of block 1023. As shown in FIG. 14, in block 1023, "B55..55" copied from block 1022 is set in the item of the immediately preceding hash value. In block 1023, "A11..11" copied from block 1012 is set in the item of nonce. In block 1023, “0” is set in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

このように、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、ハッシュ関数に代入した場合に、同一のハッシュ値が算出されるような、ブロック1013と、ブロック1023とを生成することができる。これにより、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、次に、チェーンAと、チェーンBとに追加されるブロックが、同一になるようにすることができる。次に、図15の説明に移行する。   As described above, the block chain generation device 100A and the block chain generation device 100B may generate the block 1013 and the block 1023 such that the same hash value is calculated when substituted into the hash function. it can. Thus, the block chain generation device 100A and the block chain generation device 100B can be configured such that the blocks added to the chain A and the chain B are the same next. Next, it transfers to description of FIG.

図15に示すように、ブロックチェーン生成装置100Aは、例えば、チェーンAにブロック1013を追加すると、ブロック1013に基づいて、新たなブロック1511を生成する。   As shown in FIG. 15, for example, when the block 1013 is added to the chain A, the block chain generation device 100A generates a new block 1511 based on the block 1013.

ブロックチェーン生成装置100Aは、ブロック1511の直前ハッシュ値の項目の値に、直前のブロック1013をハッシュ関数に代入することにより算出されたハッシュ値「hashAB」を設定する。また、ブロックチェーン生成装置100Aは、ブロック1511のナンスの項目の値に「nonceAB」を設定する。ブロック1511の取引IDリストの項目は空である。   The block chain generation device 100A sets the hash value “hashAB” calculated by substituting the immediately preceding block 1013 into the hash function in the value of the item of the immediately preceding hash value of the block 1511. Further, the block chain generation device 100A sets “nonce AB” to the value of the item of the nonce of the block 1511. The item of the transaction ID list of block 1511 is empty.

ハッシュ関数は、直前ハッシュ値の項目の値、ナンスの項目の値、取引IDリストの項目の値が代入され、ハッシュ値を算出する。ハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値とが入れ替わっても、同一のハッシュ値を算出する。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。   The hash function substitutes the value of the immediately preceding hash value item, the value of the nonce item, and the value of the transaction ID list item to calculate a hash value. The hash function calculates the same hash value even if, for example, the value of the immediately preceding hash value item and the value of the nonce item are interchanged. The hash function is represented, for example, by the above equation (1) or the above equation (2).

ブロックチェーン生成装置100Aは、生成したブロック1511を、チェーンAに追加する。ここで、図16の説明に移行し、ブロック1511の具体例について説明する。   The block chain generation device 100A adds the generated block 1511 to the chain A. Here, it transfers to description of FIG. 16, and the example of a block 1511 is demonstrated.

図16は、ブロック1511の具体例を示す。図16に示すように、ブロック1511は、直前ハッシュ値の項目に、ブロック1013から算出したハッシュ値「h(A11..11,B55..55,0)」が設定される。h(p,n,t)は、直前ハッシュ値pと、ナンスnと、取引IDリストtとに基づいて算出されるハッシュ値を示す。ブロック1511は、ナンスの項目に「AB99..99」が設定される。ブロック1511は、取引IDリストの項目に「0」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 16 shows a specific example of the block 1511. As shown in FIG. 16, in the block 1511, the hash value “h (A11.. 11, B55.. 55, 0)” calculated from the block 1013 is set in the item of the immediately preceding hash value. h (p, n, t) indicates a hash value calculated based on the immediately preceding hash value p, the nonce n, and the transaction ID list t. A block 1511 sets "AB99..99" in the item of nonce. In block 1511, “0” is set in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

図15の説明に戻り、ブロックチェーン生成装置100Bは、例えば、チェーンBにブロック1023を追加すると、ブロック1023に基づいて、新たなブロック1521を生成する。   Returning to the explanation of FIG. 15, for example, when adding the block 1023 to the chain B, the block chain generation device 100B generates a new block 1521 based on the block 1023.

ブロックチェーン生成装置100Bは、ブロック1521の直前ハッシュ値の項目の値に、直前のブロック1023をハッシュ関数に代入することにより算出されたハッシュ値「hashAB」を設定する。また、ブロックチェーン生成装置100Bは、ブロック1521のナンスの項目の値に「nonceAB」を設定する。ブロック1521の取引IDリストの項目は空である。   The block chain generation device 100B sets the hash value “hashAB” calculated by substituting the immediately preceding block 1023 into the hash function in the value of the item of the immediately preceding hash value of the block 1521. Further, the block chain generation device 100B sets “nonce AB” to the value of the item of the nonce of the block 1521. The item of the transaction ID list of block 1521 is empty.

ハッシュ関数は、直前ハッシュ値の項目の値、ナンスの項目の値、取引IDリストの項目の値が代入され、ハッシュ値を算出する。ハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値とが入れ替わっても、同一のハッシュ値を算出する。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。   The hash function substitutes the value of the immediately preceding hash value item, the value of the nonce item, and the value of the transaction ID list item to calculate a hash value. The hash function calculates the same hash value even if, for example, the value of the immediately preceding hash value item and the value of the nonce item are interchanged. The hash function is represented, for example, by the above equation (1) or the above equation (2).

ブロックチェーン生成装置100Bは、生成したブロック1521を、チェーンBに追加する。ここで、図17の説明に移行し、ブロック1521の具体例について説明する。   The block chain generation device 100B adds the generated block 1521 to the chain B. Here, it transfers to description of FIG. 17, and the specific example of block 1521 is demonstrated.

図17は、ブロック1521の具体例を示す。図17に示すように、ブロック1521は、直前ハッシュ値の項目に、ブロック1023から算出したハッシュ値「h(B55..55,A11..11,0)」が設定される。ブロック1521は、ナンスの項目に「AB99..99」が設定される。ブロック1521は、取引IDリストの項目に「0」が設定される。直前ハッシュ値と、ナンスとは、例えば、256ビットである。   FIG. 17 shows a specific example of the block 1521. As shown in FIG. 17, in the block 1521, the hash value “h (B55..55, A11. .. 11, 0)” calculated from the block 1023 is set in the item of the immediately preceding hash value. A block 1521 sets "AB99..99" in the item of nonce. In block 1521, “0” is set in the item of the transaction ID list. The immediately preceding hash value and the nonce are, for example, 256 bits.

ここで、上述したように、ハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値とが入れ替わっても、同一のハッシュ値を算出する。このため、h(A11..11,B55..55,0)=h(B55..55,A11..11,0)である。結果として、ブロック1511と、ブロック1521とが同一になる。これにより、以降は、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、チェーンAと、チェーンBとを共通化することができる。次に、図18の説明に移行する。   Here, as described above, the hash function calculates, for example, the same hash value even when the value of the item of the immediately preceding hash value and the value of the item of the nonce are interchanged. Therefore, h (A11..11, B55..55, 0) = h (B55..55, A11..11, 0). As a result, block 1511 and block 1521 become identical. As a result, after that, the block chain generation device 100A and the block chain generation device 100B can share the chains A and B. Next, it transfers to description of FIG.

図18に示すように、チェーンAにブロック1511が追加され、かつ、チェーンBにブロック1521が追加された後、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとが、ネットワーク210を介して接続される。そして、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとが、ネットワーク210を介して、取引に関する情報などを共有する。   As shown in FIG. 18, after the block 1511 is added to the chain A and the block 1521 is added to the chain B, the block chain generation device 100A and the block chain generation device 100B are connected via the network 210. Be done. Then, the block chain generation device 100A and the block chain generation device 100B share, for example, information related to a transaction via the network 210.

これにより、以降では、チェーンAと、チェーンBとに、同一のブロックが追加されていくようになり、チェーンAと、チェーンBとは、チェーンABとして共通化され、利用される。また、チェーンAと、チェーンBとを共通化した形跡が、チェーンAと、チェーンBとに残っているため、後々に、チェーンAと、チェーンBとが共通化されたタイミングが判別可能になる。   As a result, in the following, the same block is added to the chain A and the chain B, and the chain A and the chain B are shared and used as the chain AB. Further, since the evidence that the chain A and the chain B are made common remains in the chain A and the chain B, it is possible later to determine the timing at which the chain A and the chain B are made common. .

ここで、チェーンAに追加されたブロック1511と、チェーンBに追加されたブロック1521とは、さらに、ブロック1012を示すハッシュ値と、ブロック1022を示すハッシュ値とを有するようにしてもよい。これにより、後々、ブロック1012と、ブロック1022とについて、改ざんの有無が判定可能になる。   Here, the block 1511 added to the chain A and the block 1521 added to the chain B may further include a hash value indicating the block 1012 and a hash value indicating the block 1022. As a result, it is possible to determine the presence or absence of tampering with the block 1012 and the block 1022 later.

(動作例1におけるブロックチェーン管理処理手順の一例)
次に、図19を用いて、動作例1におけるブロックチェーン管理処理手順の一例について説明する。
(An example of block chain management processing procedure in the operation example 1)
Next, an example of the block chain management processing procedure in the operation example 1 will be described using FIG.

図19は、動作例1におけるブロックチェーン管理処理手順の一例を示すフローチャートである。ブロックチェーン生成装置100は、自装置が管理するブロックチェーンにおける直前ブロックのハッシュ値の項目の値に設定されたハッシュ値を取得する(ステップS1901)。   FIG. 19 is a flowchart of an example of a block chain management process procedure according to the first operation example. The block chain generation device 100 acquires the hash value set in the value of the item of the hash value of the immediately preceding block in the block chain managed by the own device (step S1901).

次に、ブロックチェーン生成装置100は、他装置が管理するブロックチェーンにおける直前ブロックのハッシュ値の項目の値に設定されたハッシュ値を、他装置から受信する(ステップS1902)。そして、ブロックチェーン生成装置100は、ハッシュ値の項目に、取得したハッシュ値を設定し、かつ、ナンスの項目に、受信したハッシュ値を設定した新たなブロックを生成し、自装置が管理するブロックチェーンに追加する(ステップS1903)。   Next, the block chain generation device 100 receives, from the other device, the hash value set in the value of the item of the hash value of the immediately preceding block in the block chain managed by the other device (step S1902). Then, the block chain generation device 100 sets the acquired hash value in the item of the hash value, and generates a new block in which the received hash value is set in the item of the nonce, and the block managed by the own device It is added to the chain (step S1903).

次に、ブロックチェーン生成装置100は、追加したブロックを示すハッシュ値を算出する(ステップS1904)。そして、ブロックチェーン生成装置100は、ハッシュ値の項目に、算出したハッシュ値を設定した新たなブロックを生成し、自装置が管理するブロックチェーンに追加する(ステップS1905)。   Next, the block chain generation device 100 calculates a hash value indicating the added block (step S1904). Then, the block chain generation device 100 generates a new block in which the calculated hash value is set in the item of the hash value, and adds it to the block chain managed by the own device (step S1905).

次に、ブロックチェーン生成装置100は、他装置との協調動作を開始する(ステップS1906)。そして、ブロックチェーン生成装置100は、ブロックチェーン管理処理を終了する。これにより、ブロックチェーン生成装置100は、複数のブロックチェーンを共通化することができる。   Next, the block chain generation device 100 starts a cooperative operation with another device (step S1906). Then, the block chain generation device 100 ends the block chain management process. Thus, the block chain generation device 100 can share a plurality of block chains.

(ブロックチェーン生成装置100の動作例2)
次に、図20を用いて、ブロックチェーン生成装置100の動作例2について説明する。動作例1は、ブロックチェーン生成システムにおいて、2つのブロックチェーンを共通化する場合についての動作例である。これに対し、動作例2は、ブロックチェーン生成システムにおいて、3以上のブロックチェーンを共通化する場合についての動作例である。
(Operation example 2 of block chain generation device 100)
Next, operation example 2 of the block chain generation device 100 will be described using FIG. The operation example 1 is an operation example in the case where two block chains are shared in the block chain generation system. On the other hand, operation example 2 is an operation example in which three or more block chains are shared in the block chain generation system.

図20は、ブロックチェーン生成装置100の動作例2を示す説明図である。図20の例は、A社とB社とC社とが合併する際、A社におけるチェーンAと、B社におけるチェーンBと、C社におけるチェーンCとが共通化される場合についての一例である。   FIG. 20 is an explanatory diagram of an operation example 2 of the block chain generation device 100. The example of FIG. 20 is an example of a case where the chain A in A company, the chain B in B company, and the chain C in C company are made common when A company, B company and C company merge. is there.

合併前では、A社におけるチェーンAには、ブロック2011,2012が含まれている。合併前では、B社におけるチェーンBには、ブロック2021,2022が含まれている。合併前では、C社におけるチェーンCには、ブロック2031,2032が含まれている。   Before the merger, Chain A in Company A includes blocks 2011 and 2012. Before the merger, chain B in company B includes blocks 2021 and 2022. Before the merger, chain C in company C includes blocks 2031 and 2032.

A社側のブロックチェーン生成装置100は、例えば、合併に応じて、ブロック2013を生成する。以下の説明では、A社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100A」と表記する場合がある。ブロックチェーン生成装置100Aは、ブロック2013の直前ハッシュ値の項目の値に、直前のブロック2012に設定されたハッシュ値「hashA」を設定する。   For example, the block chain generation device 100 on the A company side generates a block 2013 according to the merger. In the following description, the block chain generation device 100 on the A company side may be described as “block chain generation device 100A”. The block chain generation device 100A sets the hash value “hashA” set in the immediately preceding block 2012 to the value of the item of the immediately preceding hash value of the block 2013.

また、ブロックチェーン生成装置100Aは、チェーンBのブロック2022に設定されたハッシュ値「hashB」と、チェーンCのブロック2032に設定されたハッシュ値「hashC」を乗算する。ブロックチェーン生成装置100Aは、ブロック2013のナンスの項目の値に、乗算結果「hashB*hashC」を設定する。ブロック2013の取引IDリストの項目は空である。ブロックチェーン生成装置100Aは、生成したブロック2013を、チェーンAに追加する。   Further, the block chain generation device 100A multiplies the hash value “hashB” set in the block 2022 of the chain B and the hash value “hashC” set in the block 2032 of the chain C. The block chain generation device 100A sets the multiplication result “hashB * hashC” to the value of the item of the nonce of the block 2013. The item of the transaction ID list of block 2013 is empty. The block chain generation device 100A adds the generated block 2013 to the chain A.

B社側のブロックチェーン生成装置100は、例えば、合併に応じて、ブロック2023を生成する。以下の説明では、B社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100B」と表記する場合がある。ブロックチェーン生成装置100Bは、ブロック2023の直前ハッシュ値の項目の値に、直前のブロック2022に設定されたハッシュ値「hashB」を設定する。   The B-side block chain generation apparatus 100 generates a block 2023, for example, according to the merger. In the following description, the block chain generation device 100 on the B company side may be referred to as “block chain generation device 100B”. The block chain generation device 100 </ b> B sets the hash value “hashB” set in the immediately preceding block 2022 in the value of the item of the immediately preceding hash value of the block 2023.

また、ブロックチェーン生成装置100Bは、チェーンAのブロック2012に設定されたハッシュ値「hashA」と、チェーンCのブロック2032に設定されたハッシュ値「hashC」とを乗算する。ブロックチェーン生成装置100Bは、ブロック2023のナンスの項目の値に、乗算結果「hashA*hashC」を設定する。ブロック2023の取引IDリストの項目は空である。ブロックチェーン生成装置100Bは、生成したブロック2023を、チェーンBに追加する。   Further, the block chain generation device 100B multiplies the hash value “hashA” set in the block 2012 of the chain A by the hash value “hashC” set in the block 2032 of the chain C. The block chain generation device 100B sets the multiplication result “hashA * hashC” to the value of the item of the nonce of the block 2023. The item of the transaction ID list of block 2023 is empty. The block chain generation device 100B adds the generated block 2023 to the chain B.

C社側のブロックチェーン生成装置100は、例えば、合併に応じて、ブロック2033を生成する。以下の説明では、C社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100C」と表記する場合がある。ブロックチェーン生成装置100Cは、ブロック2033の直前ハッシュ値の項目の値に、直前のブロック2032に設定されたハッシュ値「hashC」を設定する。   For example, the block chain generation device 100 on the side of company C generates a block 2033 according to the merger. In the following description, the block chain generation device 100 on company C may be referred to as “block chain generation device 100C”. The block chain generation device 100C sets the hash value “hashC” set in the immediately preceding block 2032 in the value of the item of the immediately preceding hash value of the block 2033.

また、ブロックチェーン生成装置100Cは、チェーンAのブロック2012に設定されたハッシュ値「hashA」と、チェーンBのブロック2022に設定されたハッシュ値「hashB」とを乗算する。ブロックチェーン生成装置100Cは、ブロック2033のナンスの項目の値に、乗算結果「hashA*hashB」を設定する。ブロック2033の取引IDリストの項目は空である。ブロックチェーン生成装置100Cは、生成したブロック2033を、チェーンCに追加する。   Further, the block chain generation device 100C multiplies the hash value “hashA” set in the block 2012 of the chain A by the hash value “hashB” set in the block 2022 of the chain B. The block chain generation device 100C sets the multiplication result “hashA * hashB” to the value of the nonce item of the block 2033. The item of the transaction ID list of block 2033 is empty. The block chain generation device 100C adds the generated block 2033 to the chain C.

このように、ブロックチェーン生成装置100A〜100Cは、ハッシュ関数に代入した場合に、同一のハッシュ値が算出されるような、ブロック2013と、ブロック2023と、ブロック2033とを生成することができる。これにより、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bと、ブロックチェーン生成装置100Cとは、次に、チェーンAと、チェーンBと、チェーンCとに追加されるブロックが、同一になるようにすることができる。   As described above, the block chain generation devices 100A to 100C can generate the block 2013, the block 2023, and the block 2033 such that the same hash value is calculated when substituting the hash function. As a result, the block chain generation device 100A, the block chain generation device 100B, and the block chain generation device 100C are configured such that the blocks added to the chain A, the chain B, and the chain C next become identical. Can be

ブロックチェーン生成装置100Aは、例えば、チェーンAにブロック2013を追加すると、ブロック2013に基づいて、新たなブロック2014を生成する。ブロックチェーン生成装置100Aは、ブロック2014の直前ハッシュ値の項目の値に、直前のブロック2013をハッシュ関数に代入することにより算出されたハッシュ値「hashABC」を設定する。   For example, when the block 2013 is added to the chain A, the block chain generation device 100A generates a new block 2014 based on the block 2013. The block chain generation device 100A sets the hash value “hashABC” calculated by substituting the immediately preceding block 2013 into the hash function in the value of the item of the immediately preceding hash value of the block 2014.

また、ブロックチェーン生成装置100Aは、ブロック2014のナンスの項目の値に「nonceABC」を設定する。ブロック2014の取引IDリストの項目は空である。ハッシュ関数は、例えば、上記式(1)で表される。ブロックチェーン生成装置100Aは、生成したブロック2014を、チェーンAに追加する。   Further, the block chain generation device 100A sets “nonceABC” to the value of the item of the nonce of the block 2014. The item of the transaction ID list of block 2014 is empty. The hash function is represented, for example, by the above equation (1). The block chain generation device 100A adds the generated block 2014 to the chain A.

ブロックチェーン生成装置100Bは、例えば、チェーンBにブロック2023を追加すると、ブロック2023に基づいて、新たなブロック2024を生成する。ブロックチェーン生成装置100Bは、ブロック2024の直前ハッシュ値の項目の値に、直前のブロック2023をハッシュ関数に代入することにより算出されたハッシュ値「hashABC」を設定する。   For example, when the block 2023 is added to the chain B, the block chain generation device 100B generates a new block 2024 based on the block 2023. The block chain generation device 100B sets the hash value “hashABC” calculated by substituting the immediately preceding block 2023 into the hash function in the value of the item of the immediately preceding hash value of the block 2024.

また、ブロックチェーン生成装置100Bは、ブロック2024のナンスの項目の値に「nonceABC」を設定する。ブロック2024の取引IDリストの項目は空である。ハッシュ関数は、例えば、上記式(1)で表される。ブロックチェーン生成装置100Bは、生成したブロック2024を、チェーンBに追加する。   In addition, the block chain generation device 100B sets “nonceABC” to the value of the item of the nonce of the block 2024. The item of the transaction ID list of block 2024 is empty. The hash function is represented, for example, by the above equation (1). The block chain generation device 100B adds the generated block 2024 to the chain B.

ブロックチェーン生成装置100Cは、例えば、チェーンCにブロック2033を追加すると、ブロック2033に基づいて、新たなブロック2034を生成する。ブロックチェーン生成装置100Cは、ブロック2034の直前ハッシュ値の項目の値に、直前のブロック2033をハッシュ関数に代入することにより算出されたハッシュ値「hashABC」を設定する。   For example, when the block 2033 is added to the chain C, the block chain generation device 100C generates a new block 2034 based on the block 2033. The block chain generation device 100C sets the hash value “hashABC” calculated by substituting the immediately preceding block 2033 into the hash function in the value of the item of the immediately preceding hash value of the block 2034.

また、ブロックチェーン生成装置100Cは、ブロック2034のナンスの項目の値に「nonceABC」を設定する。ブロック2034の取引IDリストの項目は空である。ハッシュ関数は、例えば、上記式(1)で表される。ブロックチェーン生成装置100Cは、生成したブロック2034を、チェーンCに追加する。   Further, the block chain generation device 100C sets “nonceABC” to the value of the item of the nonce of the block 2034. The item of the transaction ID list of block 2034 is empty. The hash function is represented, for example, by the above equation (1). The block chain generation device 100C adds the generated block 2034 to the chain C.

ここで、上記式(1)で表されるハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値とに設定される、hashAとhashBとhashCとが入れ替わっても、同一のハッシュ値を算出することができる。結果として、ブロック2014と、ブロック2024と、ブロック2034とが同一になる。これにより、以降は、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bと、ブロックチェーン生成装置100Cとは、チェーンAと、チェーンBと、チェーンCとを共通化することができる。   Here, for example, the hash function represented by the equation (1) is the same even if the hashA, hashB, and hashC are set to the value of the immediately preceding hash value item and the value of the nonce item. The hash value of can be calculated. As a result, block 2014, block 2024 and block 2034 are identical. As a result, thereafter, the block chain generation device 100A, the block chain generation device 100B, and the block chain generation device 100C can share the chain A, the chain B, and the chain C.

(動作例2におけるブロックチェーン管理処理手順の一例)
動作例2におけるブロックチェーン管理処理手順の一例は、図19に示した動作例1におけるブロックチェーン管理処理手順の一例と同様であるため、説明を省略する。
(An example of block chain management processing procedure in the operation example 2)
An example of the block chain management processing procedure in the operation example 2 is the same as the example of the block chain management processing procedure in the operation example 1 shown in FIG.

(ブロックチェーン生成装置100の動作例3)
次に、図21および図22を用いて、ブロックチェーン生成装置100の動作例3について説明する。動作例1は、ブロックチェーン生成装置100が、中間ブロックを生成する際、直前ブロックのハッシュ値を中間ブロックにコピーする場合についての動作例である。これに対し、動作例3は、ブロックチェーン生成装置100が、中間ブロックを生成する際、直前ブロックを示すハッシュ値を算出して、中間ブロックに含める場合についての動作例である。
(Operation example 3 of block chain generation device 100)
Next, operation example 3 of the block chain generation device 100 will be described with reference to FIGS. 21 and 22. The operation example 1 is an operation example in which the block chain generation device 100 copies the hash value of the immediately preceding block to the intermediate block when the intermediate block is generated. On the other hand, operation example 3 is an operation example in the case where the block chain generation device 100 generates an intermediate block, calculates a hash value indicating the immediately preceding block, and includes it in the intermediate block.

図21および図22は、ブロックチェーン生成装置100の動作例3を示す説明図である。図21の例は、A社とB社とが合併する際、A社におけるチェーンAと、B社におけるチェーンBとが共通化される場合についての一例である。   21 and 22 are explanatory diagrams showing an operation example 3 of the block chain generation device 100. FIG. The example of FIG. 21 is an example of a case where the chain A in company A and the chain B in company B are made common when company A and company B merge.

合併前では、A社におけるチェーンAには、ブロック2111,2112が含まれている。合併前では、B社におけるチェーンBには、ブロック2121,2122が含まれている。   Before the merger, chain A in company A includes blocks 2111, 2112. Before the merger, the chain B in company B includes blocks 2121 and 2122.

A社側のブロックチェーン生成装置100は、例えば、合併に応じて、ブロック2113を生成する。以下の説明では、A社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100A」と表記する場合がある。   For example, the block chain generation device 100 on the A company side generates a block 2113 according to the merger. In the following description, the block chain generation device 100 on the A company side may be described as “block chain generation device 100A”.

ブロックチェーン生成装置100Aは、ハッシュ関数を用いて直前のブロック2112を示すハッシュ値「hashA’」を算出する。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。ブロックチェーン生成装置100Aは、算出したハッシュ値「hashA’」を、ブロック2113の直前ハッシュ値の項目の値に設定する。   The block chain generation device 100 </ b> A calculates a hash value “hashA ′” indicating the immediately preceding block 2112 using a hash function. The hash function is represented, for example, by the above equation (1) or the above equation (2). The block chain generation device 100 </ b> A sets the calculated hash value “hashA ′” as the value of the item of the immediately preceding hash value of the block 2113.

ブロックチェーン生成装置100Aは、ブロックチェーン生成装置100Bがハッシュ関数を用いて算出した、チェーンBのブロック2122を示すハッシュ値「hashB’」を、ブロックチェーン生成装置100Bから受信する。ブロックチェーン生成装置100Aは、受信したハッシュ値「hashB’」を、ブロック2113のナンスの項目の値に設定する。ブロック2113の取引IDリストの項目は空である。ブロックチェーン生成装置100Aは、生成したブロック2113を、チェーンAに追加する。   The block chain generation device 100A receives, from the block chain generation device 100B, the hash value “hash B ′” indicating the block 2122 of the chain B calculated by the block chain generation device 100B using the hash function. The block chain generation device 100 </ b> A sets the received hash value “hash B ′” to the value of the item of nonce of block 2113. The item of the transaction ID list of block 2113 is empty. The block chain generation device 100A adds the generated block 2113 to the chain A.

B社側のブロックチェーン生成装置100は、例えば、合併に応じて、ブロック2123を生成する。以下の説明では、B社側のブロックチェーン生成装置100を「ブロックチェーン生成装置100B」と表記する場合がある。   The B-side block chain generation device 100 generates a block 2123, for example, according to the merger. In the following description, the block chain generation device 100 on the B company side may be referred to as “block chain generation device 100B”.

ブロックチェーン生成装置100Bは、ハッシュ関数を用いて直前のブロック2122を示すハッシュ値「hashB’」を算出する。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。ブロックチェーン生成装置100Bは、算出したハッシュ値「hashB’」を、ブロック2123の直前ハッシュ値の項目の値に設定する。   The block chain generation device 100 </ b> B calculates a hash value “hashB ′” indicating the immediately preceding block 2122 using a hash function. The hash function is represented, for example, by the above equation (1) or the above equation (2). The block chain generation device 100 </ b> B sets the calculated hash value “hash B ′” as the value of the item of the immediately preceding hash value of the block 2123.

ブロックチェーン生成装置100Bは、ブロックチェーン生成装置100Aがハッシュ関数を用いて算出した、チェーンAのブロック2112を示すハッシュ値「hashA’」を、ブロックチェーン生成装置100Aから受信する。ブロックチェーン生成装置100Bは、受信したハッシュ値「hashA’」を、ブロック2123のナンスの項目の値に設定する。ブロック2123の取引IDリストの項目は空である。ブロックチェーン生成装置100Bは、生成したブロック2123を、チェーンBに追加する。   The block chain generation device 100B receives, from the block chain generation device 100A, the hash value “hashA ′” indicating the block 2112 of the chain A calculated by the block chain generation device 100A using the hash function. The block chain generation device 100 </ b> B sets the received hash value “hashA ′” to the value of the item of the nonce of block 2123. The item of the transaction ID list of block 2123 is empty. The block chain generation device 100B adds the generated block 2123 to the chain B.

このように、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、ハッシュ関数に代入した場合に、同一のハッシュ値が算出されるような、ブロック2113と、ブロック2123とを生成することができる。これにより、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、次に、チェーンAと、チェーンBとに追加されるブロックが、同一になるようにすることができる。   As described above, the block chain generation device 100A and the block chain generation device 100B can generate the block 2113 and the block 2123 such that the same hash value is calculated when substituted in the hash function. it can. Thus, the block chain generation device 100A and the block chain generation device 100B can be configured such that the blocks added to the chain A and the chain B are the same next.

ブロックチェーン生成装置100Aは、例えば、チェーンAにブロック2113を追加すると、ブロック2113に基づいて、新たなブロック2211を生成する。ブロックチェーン生成装置100Aは、ブロック2211の直前ハッシュ値の項目の値に、直前のブロック2113をハッシュ関数に代入することにより算出されたハッシュ値「hashAB」を設定する。   For example, when the block 2113 is added to the chain A, the block chain generation device 100A generates a new block 2211 based on the block 2113. The block chain generation device 100A sets the hash value “hashAB” calculated by substituting the immediately preceding block 2113 into the hash function in the value of the item of the immediately preceding hash value of the block 2211.

また、ブロックチェーン生成装置100Aは、ブロック2211のナンスの項目の値に「nonceAB」を設定する。ブロック2211の取引IDリストの項目は空である。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。ブロックチェーン生成装置100Aは、生成したブロック2211を、チェーンAに追加する。   Further, the block chain generation device 100A sets “nonce AB” to the value of the item of the nonce of the block 2211. The item of the transaction ID list of block 2211 is empty. The hash function is represented, for example, by the above equation (1) or the above equation (2). The block chain generation device 100A adds the generated block 2211 to the chain A.

ブロックチェーン生成装置100Bは、例えば、チェーンBにブロック2123を追加すると、ブロック2123に基づいて、新たなブロック2221を生成する。ブロックチェーン生成装置100Bは、ブロック2221の直前ハッシュ値の項目の値に、直前のブロック2123をハッシュ関数に代入することにより算出されたハッシュ値「hashAB」を設定する。   For example, when the block 2123 is added to the chain B, the block chain generation device 100B generates a new block 2221 based on the block 2123. The block chain generation device 100B sets the hash value “hashAB” calculated by substituting the immediately preceding block 2123 into the hash function in the value of the item of the immediately preceding hash value of the block 2221.

また、ブロックチェーン生成装置100Bは、ブロック2221のナンスの項目の値に「nonceAB」を設定する。ブロック2221の取引IDリストの項目は空である。ハッシュ関数は、例えば、上記式(1)または上記式(2)で表される。ブロックチェーン生成装置100Bは、生成したブロック2221を、チェーンBに追加する。   Also, the block chain generation device 100B sets “nonce AB” to the value of the item of the nonce of the block 2221. The item of the transaction ID list of block 2221 is empty. The hash function is represented, for example, by the above equation (1) or the above equation (2). The block chain generation device 100B adds the generated block 2221 to the chain B.

ここで、ハッシュ関数は、例えば、直前ハッシュ値の項目の値と、ナンスの項目の値が入れ替わっても、同一のハッシュ値を算出することができる。結果として、ブロック2211と、ブロック2221とが同一になる。これにより、以降は、ブロックチェーン生成装置100Aと、ブロックチェーン生成装置100Bとは、チェーンAと、チェーンBとを共通化することができる。   Here, the hash function can calculate the same hash value even if, for example, the value of the item of the immediately preceding hash value and the value of the item of the nonce are interchanged. As a result, block 2211 and block 2221 are identical. As a result, after that, the block chain generation device 100A and the block chain generation device 100B can share the chains A and B.

(動作例3におけるブロックチェーン管理処理手順の一例)
次に、図23を用いて、動作例3におけるブロックチェーン管理処理手順の一例について説明する。
(An example of block chain management processing procedure in the operation example 3)
Next, an example of the block chain management processing procedure in the operation example 3 will be described using FIG.

図23は、動作例3におけるブロックチェーン管理処理手順の一例を示すフローチャートである。ブロックチェーン生成装置100は、自装置が管理するブロックチェーンにおける直前ブロックを示すハッシュ値を算出する(ステップS2301)。   FIG. 23 is a flowchart of an example of a block chain management process procedure according to the third operation example. The block chain generation device 100 calculates a hash value indicating the immediately preceding block in the block chain managed by the own device (step S2301).

次に、ブロックチェーン生成装置100は、他装置が管理するブロックチェーンにおける直前ブロックを示すハッシュ値を、他装置から受信する(ステップS2302)。そして、ブロックチェーン生成装置100は、ハッシュ値の項目に、算出したハッシュ値を設定し、かつ、ナンスの項目に、受信したハッシュ値を設定した新たなブロックを生成し、自装置が管理するブロックチェーンに追加する(ステップS2303)。   Next, the block chain generation device 100 receives, from the other device, a hash value indicating the immediately preceding block in the block chain managed by the other device (step S2302). Then, the block chain generation device 100 sets the calculated hash value in the item of the hash value, and generates a new block in which the received hash value is set in the item of the nonce, and the block managed by the own device It is added to the chain (step S2303).

次に、ブロックチェーン生成装置100は、追加したブロックを示すハッシュ値を算出する(ステップS2304)。そして、ブロックチェーン生成装置100は、ハッシュ値の項目に、算出したハッシュ値を設定した新たなブロックを生成し、自装置が管理するブロックチェーンに追加する(ステップS2305)。   Next, the block chain generation device 100 calculates a hash value indicating the added block (step S2304). Then, the block chain generation device 100 generates a new block in which the calculated hash value is set in the item of the hash value, and adds the new block to the block chain managed by the own device (step S2305).

次に、ブロックチェーン生成装置100は、他装置との協調動作を開始する(ステップS2306)。そして、ブロックチェーン生成装置100は、ブロックチェーン管理処理を終了する。これにより、ブロックチェーン生成装置100は、複数のブロックチェーンを共通化することができる。   Next, the block chain generation device 100 starts a cooperative operation with another device (step S2306). Then, the block chain generation device 100 ends the block chain management process. Thus, the block chain generation device 100 can share a plurality of block chains.

以上説明したように、ブロックチェーン生成装置100によれば、自装置が管理するブロックチェーンの最新のブロックに対応する第1のハッシュ値と、他装置が管理するブロックチェーンの最新のブロックに対応する第2のハッシュ値とを取得することができる。ブロックチェーン生成装置100によれば、自装置が管理するブロックチェーンに、第1のハッシュ値と第2のハッシュ値とを有する中間ブロックを追加することができる。ブロックチェーン生成装置100によれば、所定の関数を用いて、自装置が管理するブロックチェーンに、複数のブロックチェーンで共通するハッシュ値を有するブロックを追加することができる。これにより、ブロックチェーン生成装置100は、自装置が管理するブロックチェーンに、複数のブロックチェーンに共通する第3のハッシュ値を有するブロックを追加することができ、それぞれのブロックチェーンを組織間で共通化することができる。   As described above, according to the block chain generation device 100, the first hash value corresponding to the latest block of the block chain managed by the own device and the latest block of the block chain managed by another device A second hash value can be obtained. According to the block chain generation device 100, an intermediate block having the first hash value and the second hash value can be added to the block chain managed by the own device. According to the block chain generation device 100, a block having a hash value common to a plurality of block chains can be added to a block chain managed by the own device using a predetermined function. Thereby, the block chain generation device 100 can add a block having a third hash value common to a plurality of block chains to the block chain managed by the own device, and the respective block chains are common among organizations. Can be

ブロックチェーン生成装置100によれば、所定の関数として、ブロックが有する複数の項目のうち第1の項目の値と第2の項目の値とが入れ替わっても、算出されるハッシュ値が同一になる関数を用いることができる。ブロックチェーン生成装置100によれば、第1のハッシュ値が第1の項目の値に設定され、かつ、第2のハッシュ値が第2の項目の値に設定された中間ブロックを生成することができる。これにより、ブロックチェーン生成装置100は、それぞれのブロックチェーンに追加された中間ブロックから算出される第3のハッシュ値が同一になるようにすることができる。   According to the block chain generation device 100, even if the value of the first item and the value of the second item among the plurality of items possessed by the block are replaced as a predetermined function, the calculated hash value becomes identical. Functions can be used. According to the block chain generation device 100, it is possible to generate an intermediate block in which the first hash value is set to the value of the first item and the second hash value is set to the value of the second item. it can. Thus, the block chain generation device 100 can make the third hash values calculated from the intermediate blocks added to the respective block chains be the same.

ブロックチェーン生成装置100によれば、第1のハッシュ値を、ブロックの直前に連結されたブロックを示すハッシュ値が設定される第1の項目の値に設定し、第2のハッシュ値を、ナンスが設定される第2の項目の値に設定することができる。これにより、ブロックチェーン生成装置100は、それぞれのブロックチェーンに追加された中間ブロックから算出される第3のハッシュ値が同一になるようにすることができる。   According to the block chain generation device 100, the first hash value is set to the value of the first item for which the hash value indicating the block connected immediately before the block is set, and the second hash value is nonce Can be set to the value of the second item to be set. Thus, the block chain generation device 100 can make the third hash values calculated from the intermediate blocks added to the respective block chains be the same.

ブロックチェーン生成装置100によれば、第1のハッシュ値として、自装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックに設定されたハッシュ値をコピーしたハッシュ値を用いることができる。ブロックチェーン生成装置100によれば、第2のハッシュ値として、他装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックに設定されたハッシュ値をコピーしたハッシュ値を用いることができる。これにより、ブロックチェーン生成装置100は、算出済みのハッシュ値をコピーし、処理量の低減化を図ることができる。   According to the block chain generation device 100, it is possible to use, as the first hash value, a hash value obtained by copying the hash value set in the block added immediately before the intermediate block to the block chain managed by the own device. According to the block chain generation device 100, it is possible to use, as the second hash value, a hash value obtained by copying the hash value set in the block added immediately before the intermediate block to the block chain managed by the other device. As a result, the block chain generation device 100 can copy the calculated hash value to reduce the processing amount.

ブロックチェーン生成装置100によれば、自装置が管理するブロックチェーンに、第3のハッシュ値のほか、それぞれのブロックチェーンに中間ブロックの直前に追加されたブロックを示す第4のハッシュ値をさらに有するブロックを追加することができる。これにより、ブロックチェーン生成装置100は、第4のハッシュ値に基づいて、それぞれのブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。このため、ブロックチェーン生成装置100は、ブロックチェーン生成システム200におけるセキュリティの向上を図ることができる。   According to the block chain generation device 100, in addition to the third hash value, each block chain managed by the own device further has a fourth hash value indicating a block added immediately before the intermediate block in each block chain. Blocks can be added. Thereby, the block chain generation device 100 can determine whether or not the block added immediately before the intermediate block in each block chain is tampered with based on the fourth hash value. Therefore, the block chain generation device 100 can improve security in the block chain generation system 200.

ブロックチェーン生成装置100によれば、第1のハッシュ値として、自装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックを示すハッシュ値を用いることができる。ブロックチェーン生成装置100によれば、第2のハッシュ値として、他装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックを示すハッシュ値を用いることができる。これにより、ブロックチェーン生成装置100は、第1のハッシュ値に基づいて、自装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。また、ブロックチェーン生成装置100は、第2のハッシュ値に基づいて、他装置が管理するブロックチェーンに中間ブロックの直前に追加されたブロックの改ざんの有無を判定可能にすることができる。このため、ブロックチェーン生成装置100は、ブロックチェーン生成システム200におけるセキュリティの向上を図ることができる。   According to the block chain generation device 100, it is possible to use, as the first hash value, a hash value indicating a block added immediately before the intermediate block in the block chain managed by the own device. According to the block chain generation device 100, it is possible to use, as the second hash value, a hash value indicating a block added immediately before an intermediate block in a block chain managed by another device. Thus, the block chain generation device 100 can determine whether or not the block added immediately before the intermediate block is tampered with in the block chain managed by the own device based on the first hash value. Further, the block chain generation device 100 can determine whether or not the block added immediately before the intermediate block in the block chain managed by another device is tampered with based on the second hash value. Therefore, the block chain generation device 100 can improve security in the block chain generation system 200.

ブロックチェーン生成装置100によれば、第3のハッシュ値として、中間ブロックを示すハッシュ値を用いることができる。これにより、ブロックチェーン生成装置100は、第3のハッシュ値に基づいて、中間ブロックの改ざんの有無を判定可能にすることができる。このため、ブロックチェーン生成装置100は、ブロックチェーン生成システム200におけるセキュリティの向上を図ることができる。   According to the block chain generation device 100, a hash value indicating an intermediate block can be used as the third hash value. Thus, the block chain generation device 100 can determine whether the intermediate block has been tampered with based on the third hash value. Therefore, the block chain generation device 100 can improve security in the block chain generation system 200.

なお、本実施の形態で説明したブロックチェーン生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明したブロックチェーン生成プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明したブロックチェーン生成プログラムは、インターネット等のネットワークを介して配布してもよい。   The block chain generation method described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The block chain generation program described in the present embodiment is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, MO, or DVD, and is executed by being read from the recording medium by the computer. . In addition, the block chain generation program described in the present embodiment may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following appendices will be further disclosed regarding the embodiment described above.

(付記1)1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのそれぞれに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加する第1追加部と、
前記第1および前記第2のブロックチェーンにそれぞれ追加された前記中間ブロックが有する前記第1のハッシュ値と前記第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1および前記第2のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する第2追加部と、
を有することを特徴とするブロックチェーン生成システム。
(Supplementary Note 1) A first hash value corresponding to the latest block of the first block chain, for each of the first block chain and the second block chain connecting one or more blocks; A first adding unit for adding an intermediate block having a second hash value corresponding to the latest block of the second block chain;
Common to the first and second block chains based on the first hash value and the second hash value of the intermediate block respectively added to the first and second block chains A second adding unit that adds a block having the third hash value to the first and second block chains using a function capable of calculating a third hash value;
A block chain generation system characterized by having.

(付記2)前記ブロックは、複数の項目を有し、
前記関数は、前記複数の項目の値に基づき、前記第3のハッシュ値を算出する関数であり、かつ、前記複数の項目のうち第1の項目の値と第2の項目の値とが入れ替わっても、算出される前記第3のハッシュ値が同一になる関数であり、
前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックに対応する第1のハッシュ値が前記第1の項目の値に設定され、かつ、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックに対応する第2のハッシュ値が前記第2の項目の値に設定された前記中間ブロックを追加する、ことを特徴とする付記1に記載のブロックチェーン生成システム。
(Supplementary Note 2) The block has a plurality of items,
The function is a function for calculating the third hash value based on the values of the plurality of items, and the value of the first item and the value of the second item among the plurality of items are interchanged. Even if the third hash value to be calculated is the same function,
The first addition unit is
For each of the first block chain and the second block chain, a first hash value corresponding to the latest block of the block chain is set to the value of the first item, and other than the block chain The block chain generation system according to claim 1, further comprising: adding the intermediate block in which a second hash value corresponding to the latest block of another block chain in the block is set to the value of the second item. .

(付記3)前記ブロックが有する前記第1の項目は、前記ブロックの直前に連結されたブロックを示すハッシュ値が設定される項目であり、
前記ブロックが有する前記第2の項目は、ナンスが設定される項目である、ことを特徴とする付記2に記載のブロックチェーン生成システム。
(Supplementary Note 3) The first item included in the block is an item to which a hash value indicating a block connected immediately before the block is set.
The block chain generation system according to appendix 2, wherein the second item included in the block is an item for which a nonce is set.

(付記4)前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックに設定された第1のハッシュ値と、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックに設定された第2のハッシュ値とを有する前記中間ブロックを追加する、ことを特徴とする付記1〜3のいずれか一つに記載のブロックチェーン生成システム。
(Supplementary Note 4) The first addition unit
For each of the first block chain and the second block chain, the first hash value set to the latest block of the block chain and the latest block of other block chains other than the block chain The block chain generation system according to any one of Appendices 1 to 3, further comprising: adding the intermediate block having the second hash value.

(付記5)前記第2追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、前記第3のハッシュ値のほか、前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれに中間ブロックの直前に追加されたブロックを示す第4のハッシュ値をさらに有するブロックを追加する、ことを特徴とする付記4に記載のブロックチェーン生成システム。
(Supplementary Note 5) The second addition unit
For each of the first block chain and the second block chain, in addition to the third hash value, an intermediate block is added to each of the first block chain and the second block chain just before the intermediate block. The block chain generation system according to appendix 4, wherein a block further having a fourth hash value indicating the block is added.

(付記6)前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックを示す第1のハッシュ値と、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックを示す第2のハッシュ値とを有する前記中間ブロックを追加する、ことを特徴とする付記1に記載のブロックチェーン生成システム。
(Supplementary Note 6) The first addition unit
For each of the first block chain and the second block chain, a first hash value indicating the latest block of the block chain and a second hash value indicating the latest block of another block chain other than the block chain The block chain generation system according to claim 1, wherein the intermediate block having a hash value of

(付記7)前記第3のハッシュ値は、前記中間ブロックを示すハッシュ値である、ことを特徴とする付記1〜6のいずれか一つに記載のブロックチェーン生成システム。 (Supplementary Note 7) The block chain generation system according to any one of Supplementary notes 1 to 6, wherein the third hash value is a hash value indicating the intermediate block.

(付記8)1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのそれぞれに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加し、
前記第1および前記第2のブロックチェーンにそれぞれ追加された前記中間ブロックが有する前記第1のハッシュ値と前記第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1および前記第2のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する、
ことを特徴とするブロックチェーン生成方法。
(Supplementary Note 8) A first hash value corresponding to the latest block of the first block chain, for each of the first block chain and the second block chain connecting one or more blocks; Add an intermediate block having a second hash value corresponding to the latest block of the second block chain,
Common to the first and second block chains based on the first hash value and the second hash value of the intermediate block respectively added to the first and second block chains Adding a block having the third hash value to the first and second block chains using a function capable of calculating a third hash value;
A block chain generation method characterized by

(付記9)コンピュータに、
1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのうち前記第1のブロックチェーンに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加し、
前記第1のブロックチェーンに追加された中間ブロックが有する第1のハッシュ値と第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する、
処理を実行させることを特徴とするブロックチェーン生成プログラム。
(Supplementary Note 9)
A first hash value corresponding to the latest block of the first block chain, for the first block chain of the first block chain connecting one or more blocks and the second block chain; Adding an intermediate block having a second hash value corresponding to the latest block of the second block chain;
A third hash value common to the first and second block chains can be calculated based on a first hash value and a second hash value of an intermediate block added to the first block chain Adding a block having the third hash value to the first block chain using a random function
A block chain generation program characterized by executing processing.

100 ブロックチェーン生成装置
110,120 ブロックチェーン
111,112,114,121,122,124,400,911〜913,921〜923,931,932,1011〜1013,1021〜1023,1511,1521,2011〜2014,2021〜2024,2031〜2034,2111〜2113,2121〜2123,2211,2221 ブロック
113,123 中間ブロック
200 ブロックチェーン生成システム
201,202 ノード
210〜212 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
500 記憶部
501 取得部
502 追加部
503 出力部
601 ハッシュ値算出部
602 ブロック生成部
603 統合準備部
604 統合部
DESCRIPTION OF SYMBOLS 100 Block chain generation apparatus 110, 120 Block chain 111, 112, 114, 121, 122, 124, 400, 911-913, 921-923, 931, 1011-1013, 1021-1023, 1511, 1521, 201-1 2014, 2021-2024, 2031-2034, 2111-2113, 2121-2123, 2211-2221 block 113, 123 intermediate block 200 block chain generation system 201, 202 node 210-212 network 300 bus 301 CPU
302 Memory 303 Network I / F
304 Recording medium I / F
305 recording medium 500 storage unit 501 acquisition unit 502 addition unit 503 output unit 601 hash value calculation unit 602 block generation unit 603 integration preparation unit 604 integration unit

Claims (8)

1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのそれぞれに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加する第1追加部と、
前記第1および前記第2のブロックチェーンにそれぞれ追加された前記中間ブロックが有する前記第1のハッシュ値と前記第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1および前記第2のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する第2追加部と、
を有することを特徴とするブロックチェーン生成システム。
A first hash value corresponding to the latest block of the first block chain and a second block chain for each of the first block chain and the second block chain connecting one or more blocks; Adding an intermediate block having a second hash value corresponding to the latest block of
Common to the first and second block chains based on the first hash value and the second hash value of the intermediate block respectively added to the first and second block chains A second adding unit that adds a block having the third hash value to the first and second block chains using a function capable of calculating a third hash value;
A block chain generation system characterized by having.
前記ブロックは、複数の項目を有し、
前記関数は、前記複数の項目の値に基づき、前記第3のハッシュ値を算出する関数であり、かつ、前記複数の項目のうち第1の項目の値と第2の項目の値とが入れ替わっても、算出される前記第3のハッシュ値が同一になる関数であり、
前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックに対応する第1のハッシュ値が前記第1の項目の値に設定され、かつ、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックに対応する第2のハッシュ値が前記第2の項目の値に設定された前記中間ブロックを追加する、ことを特徴とする請求項1に記載のブロックチェーン生成システム。
The block has a plurality of items,
The function is a function for calculating the third hash value based on the values of the plurality of items, and the value of the first item and the value of the second item among the plurality of items are interchanged. Even if the third hash value to be calculated is the same function,
The first addition unit is
For each of the first block chain and the second block chain, a first hash value corresponding to the latest block of the block chain is set to the value of the first item, and other than the block chain The block chain generation according to claim 1, characterized in that the intermediate block is added with a second hash value corresponding to the latest block of another block chain of the block set to the value of the second item. system.
前記ブロックが有する前記第1の項目は、前記ブロックの直前に連結されたブロックを示すハッシュ値が設定される項目であり、
前記ブロックが有する前記第2の項目は、ナンスが設定される項目である、ことを特徴とする請求項2に記載のブロックチェーン生成システム。
The first item included in the block is an item to which a hash value indicating a block connected immediately before the block is set.
The block chain generation system according to claim 2, wherein the second item included in the block is an item for which a nonce is set.
前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックに設定された第1のハッシュ値と、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックに設定された第2のハッシュ値とを有する前記中間ブロックを追加する、ことを特徴とする請求項1〜3のいずれか一つに記載のブロックチェーン生成システム。
The first addition unit is
For each of the first block chain and the second block chain, the first hash value set to the latest block of the block chain and the latest block of other block chains other than the block chain The block chain generation system according to any one of claims 1 to 3, wherein the intermediate block having the second hash value and the second hash value is added.
前記第2追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、前記第3のハッシュ値のほか、前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれに中間ブロックの直前に追加されたブロックを示す第4のハッシュ値をさらに有するブロックを追加する、ことを特徴とする請求項4に記載のブロックチェーン生成システム。
The second addition unit is
For each of the first block chain and the second block chain, in addition to the third hash value, an intermediate block is added to each of the first block chain and the second block chain just before the intermediate block. The block chain generation system according to claim 4, wherein a block further having a fourth hash value indicating the block is added.
前記第1追加部は、
前記第1のブロックチェーンと前記第2のブロックチェーンのそれぞれについて、当該ブロックチェーンの最新のブロックを示す第1のハッシュ値と、当該ブロックチェーン以外の他のブロックチェーンの最新のブロックを示す第2のハッシュ値とを有する前記中間ブロックを追加する、ことを特徴とする請求項1に記載のブロックチェーン生成システム。
The first addition unit is
For each of the first block chain and the second block chain, a first hash value indicating the latest block of the block chain and a second hash value indicating the latest block of another block chain other than the block chain The block chain generation system according to claim 1, wherein the intermediate block having a hash value of and is added.
1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのそれぞれに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加し、
前記第1および前記第2のブロックチェーンにそれぞれ追加された前記中間ブロックが有する前記第1のハッシュ値と前記第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1および前記第2のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する、
ことを特徴とするブロックチェーン生成方法。
A first hash value corresponding to the latest block of the first block chain and a second block chain for each of the first block chain and the second block chain connecting one or more blocks; Add an intermediate block with a second hash value corresponding to the latest block of
Common to the first and second block chains based on the first hash value and the second hash value of the intermediate block respectively added to the first and second block chains Adding a block having the third hash value to the first and second block chains using a function capable of calculating a third hash value;
A block chain generation method characterized by
コンピュータに、
1以上のブロックを連結する第1のブロックチェーンと第2のブロックチェーンのうち前記第1のブロックチェーンに対して、前記第1のブロックチェーンの最新のブロックに対応する第1のハッシュ値と、前記第2のブロックチェーンの最新のブロックに対応する第2のハッシュ値とを有する中間ブロックを追加し、
前記第1のブロックチェーンに追加された中間ブロックが有する第1のハッシュ値と第2のハッシュ値とに基づき、前記第1および前記第2のブロックチェーンに共通する第3のハッシュ値を算出可能な関数を用いて、前記第1のブロックチェーンに対して、前記第3のハッシュ値を有するブロックを追加する、
処理を実行させることを特徴とするブロックチェーン生成プログラム。
On the computer
A first hash value corresponding to the latest block of the first block chain, for the first block chain of the first block chain connecting one or more blocks and the second block chain; Adding an intermediate block having a second hash value corresponding to the latest block of the second block chain;
A third hash value common to the first and second block chains can be calculated based on a first hash value and a second hash value of an intermediate block added to the first block chain Adding a block having the third hash value to the first block chain using a random function
A block chain generation program characterized by executing processing.
JP2017223516A 2017-11-21 2017-11-21 Blockchain generation system, blockchain generation method, and blockchain generation program Active JP6915505B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017223516A JP6915505B2 (en) 2017-11-21 2017-11-21 Blockchain generation system, blockchain generation method, and blockchain generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017223516A JP6915505B2 (en) 2017-11-21 2017-11-21 Blockchain generation system, blockchain generation method, and blockchain generation program

Publications (2)

Publication Number Publication Date
JP2019096987A true JP2019096987A (en) 2019-06-20
JP6915505B2 JP6915505B2 (en) 2021-08-04

Family

ID=66972040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017223516A Active JP6915505B2 (en) 2017-11-21 2017-11-21 Blockchain generation system, blockchain generation method, and blockchain generation program

Country Status (1)

Country Link
JP (1) JP6915505B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021068339A (en) * 2019-10-28 2021-04-30 本田技研工業株式会社 Vehicle information management system
WO2022024340A1 (en) * 2020-07-31 2022-02-03 日本電信電話株式会社 Information management device, information management method, and program
JP2022548629A (en) * 2019-09-20 2022-11-21 マスターカード インターナシヨナル インコーポレーテツド Methods and Systems for Consistent Ledger Distribution Across Multiple Blockchains
KR102655765B1 (en) 2021-06-16 2024-04-09 계명대학교 산학협력단 Method and apparatus for providing blockchain

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160330034A1 (en) * 2015-05-07 2016-11-10 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20170293503A1 (en) * 2016-04-10 2017-10-12 Bank Of America Corporation System for transforming large scale electronic processing using application block chain and multi-structured data stores
JP2017204070A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Settlement system, settlement method, transaction generation device, and transaction generation program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160330034A1 (en) * 2015-05-07 2016-11-10 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20170293503A1 (en) * 2016-04-10 2017-10-12 Bank Of America Corporation System for transforming large scale electronic processing using application block chain and multi-structured data stores
JP2017204070A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Settlement system, settlement method, transaction generation device, and transaction generation program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WALL, E.: "Chainmerger - unifying blockchains after a fork", [ONLINE], JPN6021022501, 24 September 2017 (2017-09-24), ISSN: 0004528277 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022548629A (en) * 2019-09-20 2022-11-21 マスターカード インターナシヨナル インコーポレーテツド Methods and Systems for Consistent Ledger Distribution Across Multiple Blockchains
JP2021068339A (en) * 2019-10-28 2021-04-30 本田技研工業株式会社 Vehicle information management system
JP7027386B2 (en) 2019-10-28 2022-03-01 本田技研工業株式会社 Vehicle information management system
WO2022024340A1 (en) * 2020-07-31 2022-02-03 日本電信電話株式会社 Information management device, information management method, and program
KR102655765B1 (en) 2021-06-16 2024-04-09 계명대학교 산학협력단 Method and apparatus for providing blockchain

Also Published As

Publication number Publication date
JP6915505B2 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
KR102247658B1 (en) Processing of blockchain data based on smart contract behavior executed in a trusted execution environment
AU2019204730C1 (en) Processing and storing blockchain data under a trusted execution environment
Liu et al. Blockchain based data integrity service framework for IoT data
JP2022119949A (en) Method and system for efficient transfer of cryptocurrency associated with salary payment on block chain that leads to automated salary payment method and system based on smart contracts
US20190386817A1 (en) Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
EP3345360B1 (en) Method for storing an object on a plurality of storage nodes
KR20200078420A (en) Data isolation in blockchain networks
KR20190002688A (en) Method and system for verifying the integrity of a digital asset using a distributed hash table and peer-to-peer distributed origin
AU2019204733A1 (en) Performing parallel execution of transactions in a distributed ledger system
AU2019378667B2 (en) Performing map iterations in blockchain-based system
CN111066050B (en) Retrieving value of digital ticket in blockchain networks using smart contracts
JP6915505B2 (en) Blockchain generation system, blockchain generation method, and blockchain generation program
AU2019379711B2 (en) Performing map iterations in a blockchain-based system
WO2020210979A1 (en) Blockchain-network-based joint learning method and joint learning device
CN115668194A (en) Cross-partition calls in a partition&#39;s tamper-resistant data store
CN112286872A (en) Medical image data sharing method and system based on block chain technology and interplanetary file system and readable storage medium
WO2022193920A1 (en) Blockchain data segregation
CN114760054A (en) Key management method and device based on digital wallet and storage medium
Shah et al. M-DPS: a blockchain-based efficient and cost-effective architecture for medical applications
Abbas et al. A model-driven framework for security labs using blockchain methodology
US20220247570A1 (en) Content use system, permission terminal, browsing terminal, distribution terminal, and content use program
Patel et al. EMRs with blockchain: a distributed democratised electronic medical record sharing platform
KR20200095203A (en) Method and system for managing electronic document
Hemalatha et al. Utilization of blockchain technology to overthrow the challenges in healthcare industry
CN106575341A (en) Composite document access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210527

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: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6915505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150