JP6859293B2 - Data management system, data management method and data management program - Google Patents
Data management system, data management method and data management program Download PDFInfo
- Publication number
- JP6859293B2 JP6859293B2 JP2018133453A JP2018133453A JP6859293B2 JP 6859293 B2 JP6859293 B2 JP 6859293B2 JP 2018133453 A JP2018133453 A JP 2018133453A JP 2018133453 A JP2018133453 A JP 2018133453A JP 6859293 B2 JP6859293 B2 JP 6859293B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- node
- blockchain
- data management
- hash value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、ブロックチェーンを利用したデータ管理システム、データ管理方法及びデータ管理プログラムに関する。 The present invention relates to a data management system using a blockchain, a data management method, and a data management program.
従来、分散環境において、データの正当性を確認しつつ、順序付けて管理する仕組みとして、ブロックチェーンが利用されている(例えば、特許文献1参照)。
ブロックチェーンでは、参加者によるコンセンサスアルゴリズムにより、合意形成されたブロックが順次生成される。生成されたブロックは、一列に繋がり、一時的に分岐が発生したとしても、コンセンサスによりいずれか一つに収束する。これらのブロックは改ざんが困難であり、一列に繋がったブロックの順序及びブロック内のデータの順序が保証される。
Conventionally, in a distributed environment, a blockchain has been used as a mechanism for ordering and managing data while confirming the validity (see, for example, Patent Document 1).
In the blockchain, consensus-building blocks are sequentially generated by a consensus algorithm by participants. The generated blocks are connected in a row, and even if a branch occurs temporarily, it converges to one of them by consensus. These blocks are difficult to tamper with, and the order of the blocks in a row and the order of the data within the blocks is guaranteed.
しかしながら、従来のプルーフ・オブ・ワーク等のコンセンサスアルゴリズムは、報酬に関係する計算量の重さがネックとなり、最新のブロックが確定されるまで、すなわちデータの順序付けが確定するまでに長時間を要していた。 However, in conventional consensus algorithms such as proof of work, the weight of the amount of calculation related to reward becomes a bottleneck, and it takes a long time until the latest block is confirmed, that is, it takes a long time to determine the ordering of data. Was.
本発明は、ブロックチェーンに格納されるデータの順序付けを、高速に確定できるデータ管理システム、データ管理方法及びデータ管理プログラムを提供することを目的とする。 An object of the present invention is to provide a data management system, a data management method, and a data management program that can determine the ordering of data stored in a blockchain at high speed.
本発明に係るデータ管理システムは、分散ハッシュテーブルにより定義されたハッシュ関数の値域に対応付けられた複数のノードを備え、前記ノードは、1又は複数の順序付きデータを格納したブロックを生成するブロック生成部と、前記ブロックをブロックチェーンに登録するブロック登録部と、を備え、前記ブロック生成部は、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出し、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納し、前記複数のノードのうち、指定された前記リーダノードのみが前記次のブロックを生成する。 The data management system according to the present invention includes a plurality of nodes associated with the value range of the hash function defined by the distributed hash table, and the nodes generate a block storing one or a plurality of ordered data. A generation unit and a block registration unit that registers the block in the blockchain are provided, and the block generation unit calculates a first hash value based on the ordered data using the hash function, and the blockchain. The first hash value is stored in the block as an ID for designating a leader node that generates the next block ordered by, and among the plurality of nodes, only the designated leader node sets the next block. Generate.
前記ブロック生成部は、前記順序付きデータに対する自ノードによる署名に基づいて、前記第1のハッシュ値を算出してもよい。 The block generation unit may calculate the first hash value based on the signature of the own node for the ordered data.
前記ブロックチェーンにおける最初のブロックを生成する前記リーダノードは、所定の定数に基づく前記第1のハッシュ値により指定されてもよい。 The leader node that generates the first block in the blockchain may be designated by the first hash value based on a predetermined constant.
前記ノードは、前記リーダノードにより生成された前記ブロックを承認するブロック承認部を備え、前記ブロック生成部は、前記ブロックを生成する際に、前記ハッシュ関数を用いて前記順序付きデータに基づく第2のハッシュ値を算出し、前記次のブロックを承認する検証ノードを指定するIDとして、当該第2のハッシュ値を前記ブロックに格納し、前記ブロック登録部は、前記ブロックチェーンにより順序付けられた前のブロックにより指定された検証ノードにより承認されたことを条件に、当該検証ノードの署名を付加した前記ブロックを前記ブロックチェーンに登録してもよい。 The node includes a block approval unit that approves the block generated by the leader node, and the block generation unit uses the hash function to generate a second block based on the ordered data. The second hash value is stored in the block as an ID for designating the verification node that approves the next block, and the block registration unit is before being ordered by the blockchain. The block with the signature of the verification node may be registered in the blockchain, provided that it is approved by the verification node specified by the block.
前記ブロック生成部は、前記順序付きデータに対する前記検証ノードによる署名に基づいて、前記第1のハッシュ値及び前記第2のハッシュ値を算出してもよい。 The block generation unit may calculate the first hash value and the second hash value based on the signature of the ordered data by the verification node.
前記ブロックチェーンにおける最初のブロックを承認する前記検証ノードは、所定の定数に基づく前記第2のハッシュ値により指定されてもよい。 The verification node that approves the first block in the blockchain may be specified by the second hash value based on a predetermined constant.
前記検証ノードは、複数の前記第2のハッシュ値により複数指定され、前記ブロック登録部は、所定数以上の前記検証ノードにより承認されたことを条件に、当該所定数以上の前記検証ノードのグループ署名を付加した前記ブロックを前記ブロックチェーンに登録してもよい。 A plurality of the verification nodes are designated by the plurality of the second hash values, and the block registration unit is a group of the predetermined number or more of the verification nodes on condition that the verification nodes are approved by the predetermined number or more. The signed block may be registered in the blockchain.
前記ブロック生成部は、前記検証ノードによる承認が前記所定数に満たない場合、前記順序付きデータを含まないブロックを生成してもよい。 The block generation unit may generate a block that does not include the ordered data when the approval by the verification node is less than the predetermined number.
本発明に係るデータ管理方法は、分散ハッシュテーブルにより定義されたハッシュ関数の値域に対応付けられた複数のノードが、1又は複数の順序付きデータを格納したブロックを生成するブロック生成ステップと、前記ブロックをブロックチェーンに登録するブロック登録ステップと、を実行し、前記ブロック生成ステップにおいて、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出し、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納し、前記複数のノードのうち、指定された前記リーダノードのみが前記次のブロックを生成する。 The data management method according to the present invention includes a block generation step in which a plurality of nodes associated with the value range of the hash function defined by the distributed hash table generate a block storing one or a plurality of ordered data, and the above-mentioned block generation step. The block registration step of registering the block in the blockchain and the block registration step are executed, and in the block generation step, the first hash value based on the ordered data is calculated by using the hash function, and the block is ordered by the blockchain. The first hash value is stored in the block as an ID for designating the leader node that generates the block, and of the plurality of nodes, only the designated leader node generates the next block.
本発明に係るデータ管理プログラムは、分散ハッシュテーブルにより定義されたハッシュ関数の値域に対応付けられた複数のノードに、1又は複数の順序付きデータを格納したブロックを生成するブロック生成ステップと、前記ブロックをブロックチェーンに登録するブロック登録ステップと、を実行させ、前記ブロック生成ステップにおいて、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出させ、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納させ、前記複数のノードのうち、指定された前記リーダノードのみに前記次のブロックを生成させるためのものである。 The data management program according to the present invention includes a block generation step of generating a block in which one or a plurality of ordered data is stored in a plurality of nodes associated with a value range of a hash function defined by a distributed hash table, and the above-mentioned. The block registration step of registering the block in the blockchain and the block registration step are executed, and in the block generation step, the first hash value based on the ordered data is calculated by using the hash function, and the block is ordered by the blockchain. The first hash value is stored in the block as an ID for designating the leader node that generates the block, and only the designated leader node among the plurality of nodes is used to generate the next block. It is a thing.
本発明によれば、ブロックチェーンに格納されるデータの順序付けを、高速に確定できる。 According to the present invention, the ordering of data stored in the blockchain can be determined at high speed.
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係るデータ管理システム1の構成を示す概要図である。
データ管理システム1は、ピアツーピア(P2P)のネットワークにより構成された複数のノード10によりブロックチェーン20を分散管理する。
Hereinafter, an example of the embodiment of the present invention will be described.
FIG. 1 is a schematic diagram showing a configuration of a
The
n個のノード10は、分散ハッシュテーブル(DHT)により定義されたハッシュ関数の値域H、すなわちN個のキー(ハッシュ値)のいずれかに対応付けられる(N>>n)。
DHTには、例えば、Chordが用いられてよい。Chordでは、各ノード10が有するルーティングテーブルを用いて、通常、O(logN)の経路長で任意のノード10に到達する。
The
For DHT, for example, Chord may be used. In Chord, the routing table of each
なお、複数のノード10は、負荷分散のための仮想ノードであってよく、この場合、実ノード(端末)は、それぞれが複数の仮想ノードに割り当てられる。
The plurality of
ブロックチェーン20を構成する各ブロック21は、複数のノード10のうち指定された一つのリーダノードにより生成される。
このとき、各ブロック21には、次のブロック21の生成を担当するリーダノードのIDが格納される。このIDは、DHTのN個のキー(ハッシュ値)のいずれかであり、DHTにおいてこのキーを管理するノード10のみがリーダノードとして、次のブロック21を生成する。
Each block 21 constituting the
At this time, the ID of the leader node in charge of generating the next block 21 is stored in each block 21. This ID is one of N keys (hash values) of the DHT, and only the
図1の例では、例えばノード10aがブロック21aを生成し、ブロック21aで指定されたノード10bがブロック21bを生成し、ブロック21bで指定されたノード10cがブロック21cを生成し、ブロック21cで指定されたノード10dがブロック21dを生成している。
In the example of FIG. 1, for example, the
また、最新のブロック21dは、検証ノードにより承認されることでブロックチェーン20に登録される構成であってもよい。この場合、検証ノードも複数のノード10から指定され、次のブロック21を承認する検証ノードのIDが複数、ブロック21に格納される。
Further, the
各ノード10は、DHTによるルーティングを用いることにより、効率的にリーダノード及び検証ノードと通信し、また、リーダノードから最新のブロックを他のノード10へ配信できる。
また、一時的なネットワーク遮断又は遅延等の問題により一部のノード10で最新のブロックチェーン20の同期が取れなかった場合、又は新たなノード10が参加した場合であっても、これらのノード10は、ルーティングテーブルに記述された他のノード、又は現在保持しているブロック21から特定されるリーダノードから、ブロックチェーン20のローカルコピーを取得できる。
Each
In addition, even if the
なお、データ管理システム1を構成する全てのノード10がDHTに参加し、リーダノード又は検証ノードとして指定可能であってもよいが、これには限られない。例えば、一部のノード10にのみブロックの生成及び検証の権限が与えられ、他のノード10は、DHTにアクセスしてブロックチェーン20のローカルコピーを保持する構成であってもよい。
以下では、全てのノード10がDHTに参加しているものとして説明する。
All the
In the following, it is assumed that all the
図2は、本実施形態に係るノード10の機能構成を示すブロック図である。
ノード10は、制御部11と記憶部12とを備えた情報処理装置(コンピュータ)であり、制御部11は、記憶部12に格納されたソフトウェアを実行することにより、ブロック生成部111、ブロック登録部112、及びブロック承認部113として機能する。
FIG. 2 is a block diagram showing a functional configuration of the
The
ブロック生成部111は、1又は複数の順序付きデータを格納したブロック21を生成する。
このとき、ブロック生成部111は、所定のハッシュ関数hdを用いて順序付きデータに基づく第1のハッシュ値μを算出し、ブロックチェーン20により順序付けられる次のブロック21を生成するためのリーダノードを指定するIDとして、この第1のハッシュ値μをブロック21に格納する。
The
At this time, the
具体的には、ブロック生成部111は、t番目のリーダノードを指定する第1のハッシュ値μtを、例えば、
μt=hd(sig(μt−1,Tt−1)‖idt)
と計算する。ハッシュ関数への引数は、さらに追加されてもよい。
ここで、t−1番目のブロック21には、複数(2λ個)のデータが、例えば、マークルツリーとして格納され、ルートハッシュTt−1に対して、μt−1で示されるt−1番目のリーダノードの署名が付与される。t番目のリーダノードを示す第1のハッシュ値μtは、この署名sig(μt−1,Tt−1)とt番目のブロック21の識別子idtとの連結に対するハッシュ演算により算出される。
Specifically,
μ t = h d (sig ( μ t-1, T t-1) ‖id t)
To calculate. Additional arguments to the hash function may be added.
Here, in the t-1st block 21, a plurality of (2 λ ) data are stored, for example, as a Merkle tree, and the root hash T t-1 is represented by μ t-1. -The signature of the first leader node is given. The first hash value μ t indicating the t-th leader node is calculated by a hash operation for the concatenation of the signature sig (μ t-1 , T t-1 ) and the identifier id t of the t-th block 21. ..
また、ブロック生成部111は、ブロック21を生成する際に、ハッシュ関数を用いて順序付きデータに基づく第2のハッシュ値vを算出し、次のブロック21を承認するための検証ノードを指定するIDとして、この第2のハッシュ値vをブロックに格納してもよい。
Further, when the block 21 is generated, the
具体的には、ブロック生成部111は、t番目のブロック21を承認するための検証ノードのグループを指定する第2のハッシュ値vi∈Vtを、例えば、
vi=hd(sig(Vt−1,Tt−1)‖idt‖i)
と計算する。ハッシュ関数への引数は、さらに追加されてもよい。
ここで、iは、同一のブロック21を検証する検証ノードのグループ内における識別番号であり、これにより複数の第2のハッシュ値viが算出される。ブロック21に格納される複数のデータには、第2のハッシュ値viで示される検証ノードのグループVtによりグループ署名が付与される。
Specifically,
v i = h d (sig ( V t-1, T t-1) ‖id t ‖i)
To calculate. Additional arguments to the hash function may be added.
Here, i is an identification number in a group of validation node to verify the same block 21, thereby the plurality of second hash value v i is calculated. A plurality of data stored in block 21, the group signature is given by the group V t verification node indicated by the second hash value v i.
また、検証ノードが設けられる場合、前述のリーダノードを示す第1のハッシュ値μtは、
μt=hd(sig(Vt−1,Tt−1)‖idt)
のように、検証ノードによるグループ署名に基づいて生成されてもよい。
Also, if the verification node is provided, the first hash value mu t indicating the leader node described above,
μ t = h d (sig ( V t-1, T t-1) ‖id t)
It may be generated based on the group signature by the verification node.
ここで、ブロックチェーン20に登録される最初のブロック21を担当するリーダノード及び検証ノードは、直前のブロック21が存在しないため、前述の式でIDを算出することはできない。
この場合、ブロック生成部111は、例えば、
μ0=hd(κ)
vi=hd(κ‖i)
のように、所定の定数κに基づいて、第1のハッシュ値及び第2のハッシュ値を算出してよい。
Here, the leader node and the verification node in charge of the first block 21 registered in the
In this case, the
μ 0 = hd (κ)
v i = h d (κ‖i)
As described above, the first hash value and the second hash value may be calculated based on the predetermined constant κ.
図3は、本実施形態に係るブロックチェーン20に登録されるブロック21の構成を示す図である。
ブロック21には、複数のデータ(イベント1〜m)がマークルツリーとして格納される。すなわち、リーダノードがm個のデータを受信するまで、次のブロック21を担当するリーダノード及び検証ノードは決定されない。
FIG. 3 is a diagram showing a configuration of a block 21 registered in the
A plurality of data (
m個のデータによりマークルツリーが完成し、ルートハッシュに対して署名が付与されると、リーダノードは、DHTにより定義されたハッシュ関数hdにより、次のブロック21のリーダノードのIDと検証ノードのIDとを算出し、ブロック21に格納する。
なお、データの数m=2λ、及びブロック21毎の検証ノードの数は、適宜、設計されてよい。
Merkle tree is completed by m data, the signature for the root hash is applied, the reader node, by definition hash function h d by DHT, the ID of the reader nodes of the next block 21 verifying The node ID is calculated and stored in the block 21.
The number of data m = 2 λ and the number of verification nodes for each block 21 may be appropriately designed.
なお、リーダノードは、m個のデータを記録すると、これを超えるデータの登録要求は受け付けない。この場合、受信したデータを新たに指定したリーダノードへ転送してもよいし、要求元へ差し戻してもよい。 When the reader node records m data, the reader node does not accept the registration request for more data. In this case, the received data may be transferred to the newly specified reader node or returned to the requesting source.
また、ブロック21は、直前のブロック21へのポインタを有している。これにより、一連のブロック21の順序が規定され、ブロックチェーン20の全体で、格納されたデータの順序が確定する。
さらに、ブロック21には、ブロック全体の正当性を保証し改ざんを防止するために、リーダノードの署名が付与される。
Further, the block 21 has a pointer to the immediately preceding block 21. As a result, the order of the series of blocks 21 is defined, and the order of the stored data is fixed in the
Further, the block 21 is given a signature of a reader node in order to guarantee the validity of the entire block and prevent tampering.
ブロック登録部112は、ブロックチェーン20により順序付けられた前のブロック21により指定された検証ノードが承認したことを条件に、これらの検証ノードの署名を付加したブロック21をブロックチェーン20に登録する。
The
ここで、検証ノードは、複数の第2のハッシュ値により複数指定される。
したがって、ブロック登録部112は、所定数以上の検証ノードにより承認されたことを条件に、これら所定数以上の検証ノードのグループ署名を付加したブロック21をブロックチェーン20に登録する。なお、所定数は、固定値、又は検証ノードの数に応じた割合(例えば、半数)により適宜、設定されてよい。
Here, a plurality of verification nodes are designated by a plurality of second hash values.
Therefore, the
一方、検証ノードによる承認が所定数に満たない場合、ブロック登録部112は、生成されたブロック21を登録せず、順序付きデータ(イベント)を含まない空のブロック21をブロック生成部111に生成させる。
このとき、ブロック生成部111は、新たなリーダノード及び検証ノードを指定し、指定された新たなリーダノードが否認されたブロック21のデータを入れ替えて新たなブロック21を生成する。
On the other hand, when the approval by the verification node is less than the predetermined number, the
At this time, the
ブロック承認部113は、自ノードが検証ノードに指定された場合に、リーダノードにより生成されたブロック21を受け取り、署名を返信することで承認する。
When the own node is designated as the verification node, the
図4は、本実施形態に係るデータ管理システム1によるブロックの生成及び登録の処理を示すフローチャートである。
ステップS1において、リーダノードは、ブロック生成部111によりデータをブロック21に記録する。
ステップS2において、リーダノードは、マークルツリーの大きさ(m個)までデータを記録したか否かを判定する。この判定がYESの場合、処理は、ステップS3に移り、判定がNOの場合、処理はステップS1に戻る。
FIG. 4 is a flowchart showing a block generation and registration process by the
In step S1, the leader node records data in the block 21 by the
In step S2, the leader node determines whether or not data has been recorded up to the size of the Merkle tree (m pieces). If this determination is YES, the process proceeds to step S3, and if the determination is NO, the process returns to step S1.
ステップS3において、リーダノードは、生成したブロック21に対する検証ノードの署名を取得する。
ステップS4において、リーダノードは、所定数の署名が得られたか否かを判定する。この判定がYESの場合、処理はステップS7に移り、判定がNOの場合、処理はステップS5に移る。
In step S3, the leader node acquires the signature of the verification node for the generated block 21.
In step S4, the leader node determines whether or not a predetermined number of signatures have been obtained. If this determination is YES, the process proceeds to step S7, and if the determination is NO, the process proceeds to step S5.
ステップS5において、リーダノードは、生成済みのブロック21が否認されたので、ブロック生成部111により、データを含まない空のブロック21を生成する。
ステップS6において、リーダノードは、全ての検証ノードから空のブロック21に対する署名を取得する。
In step S5, since the generated block 21 is rejected, the leader node generates an empty block 21 containing no data by the
In step S6, the leader node obtains signatures for the empty block 21 from all verification nodes.
ステップS7において、リーダノードは、生成したブロック21を、ブロック登録部112によりブロックチェーン20に登録する。
ステップS8において、リーダノードは、最新のブロック21を他のノード10に対して配信しネットワーク内で同期させる。
In step S7, the leader node registers the generated block 21 in the
In step S8, the leader node distributes the latest block 21 to the
本実施形態によれば、データ管理システム1は、DHTにより定義されたハッシュ関数の値域に対応付けられた複数のノード10によりブロックチェーン20を管理し、ブロックチェーン20に登録するブロック21を、それぞれ複数のノード10の中から指定した一つのリーダノードに生成させる。このとき、ブロック21に格納された順序付きデータに基づく第1のハッシュ値により次のリーダノードを指定する。
According to the present embodiment, the
したがって、データ管理システム1は、ブロック21毎にDHTのハッシュ関数によりランダムに、かつ、一意に決定されるリーダノードに責任を負わせることで、ブロックチェーン20に格納されるデータの順序付けを、高速に確定できる。また、一つのリーダノードのみがブロック21を生成されることで、ブロックチェーン20の分岐が発生しないため、正当なブロック21が直ちに確定する。
この結果、データ管理システム1は、例えば、金融取引又はイベントログ等の即時性が要求される順序付きデータを遅滞なく確定させることができる。
Therefore, the
As a result, the
データ管理システム1は、ブロック21に格納された順序付きデータに基づく第2のハッシュ値により検証ノードを指定する。これにより、リーダノードとは異なる複数のノード10による承認を経てブロック21が登録されるため、順序付きデータの正当性がより確実に保証される。
The
データ管理システム1は、リーダノードにおいて、格納した順序付きデータに対する自ノードの署名又は検証ノードの署名に基づいて、次のリーダノード及び検証ノードのIDであるハッシュ値を算出する。
したがって、データ管理システム1は、データの正当性を保証する署名に基づいてハッシュ値を算出することで、正当なリーダノード及び検証ノードを一意に決定できる。
The
Therefore, the
データ管理システム1は、ブロックチェーン20に登録する最初のブロック21について、リーダノード及び検証ノードを所定の定数に基づくハッシュ値により指定する。これにより、データ管理システム1は、ブロックチェーン20の運用開始時からDHTに基づくリーダノード及び検証ノードの指定が可能となる。
The
データ管理システム1は、所定数以上の検証ノードにより承認されたことを条件に、グループ署名を付加したブロック21を登録する。
したがって、データ管理システム1は、署名を返信しない一部の検証ノードによりブロック21が登録されない事態を抑制でき、利便性を向上できる。
また、データ管理システム1は、検証ノードによる承認が所定数に満たない場合には、順序付きデータを含まない空のブロック21を生成してブロックチェーン20に登録することで、否認の実績を記録しつつ、新たなブロック21により正当な順序付きデータを格納できる。
The
Therefore, the
Further, when the approval by the verification node is less than the predetermined number, the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Moreover, the effects described in the above-described embodiments are merely a list of the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.
データ管理システム1によるデータ管理方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
The data management method by the
1 データ管理システム
10 ノード
11 制御部
12 記憶部
20 ブロックチェーン
21 ブロック
111 ブロック生成部
112 ブロック登録部
113 ブロック承認部
1
Claims (10)
前記ノードは、
1又は複数の順序付きデータを格納したブロックを生成するブロック生成部と、
前記ブロックをブロックチェーンに登録するブロック登録部と、を備え、
前記ブロック生成部は、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出し、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納し、
前記複数のノードのうち、指定された前記リーダノードのみが前記次のブロックを生成するデータ管理システム。 It has multiple nodes associated with the range of the hash function defined by the distributed hash table.
The node
A block generator that generates a block that stores one or more ordered data,
A block registration unit for registering the block in the blockchain is provided.
The block generation unit calculates a first hash value based on the ordered data using the hash function, and uses the hash function as an ID for designating a leader node that generates the next block ordered by the blockchain. The hash value of is stored in the block,
A data management system in which only the designated leader node among the plurality of nodes generates the next block.
前記ブロック生成部は、前記ブロックを生成する際に、前記ハッシュ関数を用いて前記順序付きデータに基づく第2のハッシュ値を算出し、前記次のブロックを承認する検証ノードを指定するIDとして、当該第2のハッシュ値を前記ブロックに格納し、
前記ブロック登録部は、前記ブロックチェーンにより順序付けられた前のブロックにより指定された検証ノードにより承認されたことを条件に、当該検証ノードの署名を付加した前記ブロックを前記ブロックチェーンに登録する請求項1から請求項3のいずれかに記載のデータ管理システム。 The node includes a block approval unit that approves the block generated by the leader node.
When generating the block, the block generation unit calculates a second hash value based on the ordered data using the hash function, and uses the hash function as an ID for designating a verification node that approves the next block. The second hash value is stored in the block,
A claim that the block registration unit registers the block with the signature of the verification node in the blockchain, provided that it is approved by the verification node specified by the previous block ordered by the blockchain. The data management system according to any one of 1 to 3.
前記ブロック登録部は、所定数以上の前記検証ノードにより承認されたことを条件に、当該所定数以上の前記検証ノードのグループ署名を付加した前記ブロックを前記ブロックチェーンに登録する請求項4から請求項6のいずれかに記載のデータ管理システム。 The verification node is designated by a plurality of the second hash values, and is designated by a plurality of the verification nodes.
The block registration unit claims from claim 4 to register the block to which the group signature of the predetermined number or more of the verification nodes is added in the blockchain, provided that the block is approved by the predetermined number or more of the verification nodes. The data management system according to any one of item 6.
1又は複数の順序付きデータを格納したブロックを生成するブロック生成ステップと、
前記ブロックをブロックチェーンに登録するブロック登録ステップと、を実行し、
前記ブロック生成ステップにおいて、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出し、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納し、
前記複数のノードのうち、指定された前記リーダノードのみが前記次のブロックを生成するデータ管理方法。 Multiple nodes associated with the range of the hash function defined by the distributed hash table
A block generation step that generates a block that stores one or more ordered data, and
The block registration step of registering the block in the blockchain and the block registration step are executed.
In the block generation step, the first hash value is calculated based on the ordered data using the hash function, and the first ID is used as an ID for designating a leader node that generates the next block ordered by the blockchain. The hash value of is stored in the block,
A data management method in which only the designated leader node among the plurality of nodes generates the next block.
1又は複数の順序付きデータを格納したブロックを生成するブロック生成ステップと、
前記ブロックをブロックチェーンに登録するブロック登録ステップと、を実行させ、
前記ブロック生成ステップにおいて、前記ハッシュ関数を用いて前記順序付きデータに基づく第1のハッシュ値を算出させ、前記ブロックチェーンにより順序付けられる次のブロックを生成するリーダノードを指定するIDとして、前記第1のハッシュ値を前記ブロックに格納させ、
前記複数のノードのうち、指定された前記リーダノードのみに前記次のブロックを生成させるためのデータ管理プログラム。 To multiple nodes associated with the range of the hash function defined by the distributed hash table,
A block generation step that generates a block that stores one or more ordered data, and
The block registration step of registering the block in the blockchain and the block registration step are executed.
In the block generation step, the first hash value is calculated based on the ordered data using the hash function, and the first ID is used as an ID for designating a leader node that generates the next block ordered by the blockchain. The hash value of is stored in the block,
A data management program for causing only the designated leader node among the plurality of nodes to generate the next block.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018133453A JP6859293B2 (en) | 2018-07-13 | 2018-07-13 | Data management system, data management method and data management program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018133453A JP6859293B2 (en) | 2018-07-13 | 2018-07-13 | Data management system, data management method and data management program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020014056A JP2020014056A (en) | 2020-01-23 |
| JP6859293B2 true JP6859293B2 (en) | 2021-04-14 |
Family
ID=69169785
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018133453A Active JP6859293B2 (en) | 2018-07-13 | 2018-07-13 | Data management system, data management method and data management program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6859293B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112527912B (en) * | 2021-02-07 | 2021-06-01 | 腾讯科技(深圳)有限公司 | Data processing method, device and computer equipment based on blockchain network |
| CN115033644B (en) * | 2022-06-24 | 2025-07-04 | 北京航天奥祥通风科技股份有限公司 | Genesis block generation method and device |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5141494B2 (en) * | 2008-10-27 | 2013-02-13 | ブラザー工業株式会社 | Content distributed storage system, special content acquisition method, node device, and node processing program |
| JP5477325B2 (en) * | 2011-04-05 | 2014-04-23 | ブラザー工業株式会社 | Information processing apparatus, program, distribution system, and information providing method |
| JP6056453B2 (en) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | Program, data management method, and information processing apparatus |
| JP5758449B2 (en) * | 2013-07-16 | 2015-08-05 | 日本電信電話株式会社 | Data rearrangement apparatus, method and program |
| WO2017170912A1 (en) * | 2016-03-31 | 2017-10-05 | 株式会社bitFlyer | Transaction processing device, transaction processing method, and program for same |
| US10554746B2 (en) * | 2016-11-14 | 2020-02-04 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
-
2018
- 2018-07-13 JP JP2018133453A patent/JP6859293B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020014056A (en) | 2020-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7732052B2 (en) | Computer-implemented method and system for validating tokens for blockchain-based cryptocurrencies | |
| EP3613189B1 (en) | Secure blockchain-based consensus | |
| JP6877448B2 (en) | Methods and systems for guaranteeing computer software using distributed hash tables and blockchain | |
| CN113486089B (en) | Methods and apparatus for distributed databases within a network | |
| CN112544053B (en) | Methods, systems, computer program products, and computer readable media for determining data blocks and for providing time stamped transactions | |
| CN110009349B (en) | Method and device for generating and verifying linkable ring signature in blockchain | |
| JP2023106055A (en) | Evidence management method, evidence management system and node | |
| CN113989047A (en) | Asset publishing method and device based on block chain and electronic equipment | |
| JP2023076628A (en) | Computer-implemented systems and methods related to binary blockchains forming a pair of coupled blockchains | |
| TW201732706A (en) | Blockchain implementation of intelligent contract registration and automated management methods | |
| US11151122B2 (en) | Distributed ledger data linkage management | |
| WO2020182430A1 (en) | Methods of electing leader nodes in a blockchain network using a role-based consensus protocol | |
| JP2024029184A (en) | Computer-implemented system and method for an accumulator-based protocol for distribution of tasks between computer networks | |
| CN110048851B (en) | Method and device for generating and verifying multi-layer linkable ring signatures in blockchain | |
| WO2022217807A1 (en) | Blockchain consensus node selection method and apparatus, and computer device and storage medium | |
| CN110910110B (en) | A data processing method, device and computer storage medium | |
| US20240340183A1 (en) | Method for securing private structured databases within a public blockchain | |
| CN109981586B (en) | A node marking method and device | |
| JP6859293B2 (en) | Data management system, data management method and data management program | |
| EP4325767A1 (en) | Generation of a non-fungible token | |
| JP7798875B2 (en) | Secure multi-distributed ledger system | |
| JP7073240B2 (en) | Blockchain management system, blockchain management method and blockchain management program | |
| CN117473557B (en) | Trusted setting method and device | |
| Sigwart et al. | Towards cross-blockchain transaction verifications | |
| Maaliw III et al. | Artificial intelligence and blockchain-based optimized and fair payment scheme over cloud computing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200601 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210224 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210323 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210325 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6859293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |