[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2021057887A - データ構造 - Google Patents

データ構造 Download PDF

Info

Publication number
JP2021057887A
JP2021057887A JP2020135910A JP2020135910A JP2021057887A JP 2021057887 A JP2021057887 A JP 2021057887A JP 2020135910 A JP2020135910 A JP 2020135910A JP 2020135910 A JP2020135910 A JP 2020135910A JP 2021057887 A JP2021057887 A JP 2021057887A
Authority
JP
Japan
Prior art keywords
data
block
blocks
genesis
data block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020135910A
Other languages
English (en)
Inventor
工藤 健司
Kenji Kudo
健司 工藤
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2021057887A publication Critical patent/JP2021057887A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ブロックチェーンを構成する新たなデータブロックの追加、接続の際に発生する不均一な待ち時間を解消することができるデータ構造を提供する。【解決手段】本発明のブロックチェーン1は、データの先頭をなすジェネシスブロック(G)と、ジェネシスブロック(G)の後方に連結されるデータブロック(D)とからなるデータ構造を有している。データブロック(D)の1つは、少なくとも2つ以上の異なるジェネシスブロック(G)に連結され、データブロック(D)には、連結されたジェネシスブロック(G)のそれぞれのハッシュ値が格納されている。【選択図】図3

Description

本発明は、ブロックチェーンのデータ構造に関する。
現在、Peer to Peerに係る個々のPeer(コンピュータ)について、データベースを分散して管理するブロックチェーン技術を応用した様々なシステムが開発されている。ブロックチェーン技術は、仮想通貨の決済、企業間での情報共有、社内における稟議手続等、ネットワーク上で行われる種々の手続処理についての応用が検討されている。
例えば、以下の非特許文献1等の従来のデータ構造(ブロックチェーン10)は、ブロックチェーン10を構成するGenesisブロック20が1つ存在する(図5参照)。そして、Genesisブロック20のハッシュ値を、連結されるトランザクションデータより計算されたマークルルートと共に、後段の第1のデータブロック30に格納している。
『ビットコインとブロックチェーン 暗号通貨を支える技術』(著:Andreas M. Antonopoulos、訳:今井崇也、鳩貝淳一郎、発行:NTT出版)
しかしながら、ブロックチェーン10を含むデータ構造は直列数珠つなぎの構造となっているため、第1のデータブロック30のナンス計算中には、第2のデータブロック40が連結できない状態である。第2のデータブロック40のナンス計算は、第1のデータブロック30のナンス計算が完了し、ブロック0ヘッダのハッシュ値が確定した段階で開始される。すなわち、新たなデータブロックの連結にナンス計算の完了待ちが発生し、性能に影響を及ぼすという問題があった。
ビットコインの場合、平均10分に1回の割合でデータブロックが生成されるが、あえてこの時間を設定している。しかしながら、実際は5分でデータブロックが生成されることもあれば、1時間経ってもデータブロックが生成されないこともある。
また、2つのグループが同時にマイニングに成功した場合、ブロックチェーンが一時的に分岐する現象が起こる。例えば、データブロック40(「D2」)がデータブロック50(「D3」)とデータブロック51(「Dx」)に分岐したとき(図6参照)、データブロック60(「D4」)とデータブロック61(「Dy」)をマイニングして分岐の判定に利用する。
しかしながら、データブロック60とデータブロック61のうち、一方の処理は最終的に無駄になってしまう。これは、ブロックチェーン10の連結点が1箇所であるために発生する事象であり、連結点が複数あれば、無駄な処理を別のロジックに置き換えることができる。
本発明は、このような事情に鑑みてなされたものであり、ブロックチェーンを構成する新たなデータブロックの追加、接続の際に発生する不均一な待ち時間を解消することができるデータ構造を提供することを目的とする。
本発明は、データの先頭をなすジェネシスブロックと、前記ジェネシスブロックの後方に連結されるデータブロックとからなるブロックチェーンのデータ構造において、前記ジェネシスブロックはn(n≧3)個で構成され、全ての前記ジェネシスブロックが円環状に接続され、前記データブロックの1つは、少なくとも2つ以上の異なる前記ジェネシスブロックに接続され、前記データブロックには、連結された前記ジェネシスブロックのそれぞれのハッシュ値が格納されていることを特徴とする。
本発明のブロックチェーンは、データの先頭をなすジェネシスブロックがn(n≧3)個あり、これらが円環状に接続されている。データブロックはジェネシスブロックの後方に連結されるが、データブロックの1つは、少なくとも2つ以上の異なるジェネシスブロックに接続されている。
従来、新たなデータブロックを連結可能なポイントは、データ構造(直線状)の終端の1箇所に限られていたが、本発明は連結ポイントの選択肢を増やすことができる。これにより、新たなデータブロックの追加、接続の際に発生する不均一な待ち時間を解消することができる。
本発明のブロックチェーンのデータ構造において、前記ジェネシスブロックの各々の後方に第m(m≧1)列の前記データブロックが連結され、第m列の前記データブロックの1つは、第(m+1)列の少なくとも2つ以上の前記データブロックに接続され、データ全体としてチューブ形状をなしている。
この構成によれば、ジェネシスブロックの後方に第1列のデータブロックが連結され、当該第1列のデータブロックの後方に第2列のデータブロックが連結される。さらに、第m(m≧1)列のデータブロックの1つは、第(m+1)列の少なくとも2つ以上のデータブロックに接続されて、データ全体としてチューブ形状をなす。1つのデータブロックが後段の2つ以上のデータブロックに接続されてデータが拡散していくため、データ改竄の難易度を高めることができる。
新たなデータブロックの追加、接続の際に発生する不均一な待ち時間を解消し、データブロックの改竄の難易度を高めることができる。
実施形態のブロックチェーンのデータ構造を示す概略図である。 ブロックチェーンのデータ構造の詳細(ジェネシスブロックとデータブロックの接続)を示す図である。 ブロックチェーンのデータ構造の詳細(チューブ形状)を示す図である。 ブロックチェーンのデータ構造(変更形態)の詳細を示す図である。 従来のブロックチェーンのデータ構造(1)を示す図である。 従来のブロックチェーンのデータ構造(2)を示す図である。 従来のブロックチェーンのデータ構造(3)を示す図である。 従来のブロックチェーンのデータ構造(4)を示す図である。
まず、図1を参照して、本発明のブロックチェーンのデータ構造を説明する。
本発明の実施形態に係るブロックチェーン1は、データの先頭をなすブロックであるジェネシスブロックを複数有し、これらが接続されて円環ブロック2を構成している。ジェネシスブロックは任意の数(n:自然数)であるが、n≧3としてジェネシスブロックが論理的かつ円環状に接続されている。
ここで、「論理的かつ円環状に接続」とは、10個のジェネシスブロック(図中のGenesisブロック0〜9)を利用する場合、ハッシュ番号の「0と1」、「1と2」、「2と3」、「3と4」、「4と5」、「5と6」、「6と7」、「7と8」、「8と9」を接続し、さらに、ハッシュ番号の最小値「0」と最大値「9」とを組み合わせて「9と0」を接続することを意味する。
従来のブロックチェーン10のデータ構造(図7参照)は、例えば4個のGenesisブロック20〜23を用いた場合、ジェネシスブロックの数だけ直列のデータチェーンが作成される。具体的には、Genesisブロック20の列にはデータブロック30,40,50が連結され、Genesisブロック21の列にはデータブロック31,41,51が連結されるが、データチェーン間に相関はない。すなわち、Genesisブロック20〜23ごとに別のデータ構造をとることとなる。一方で、本発明は、複数のジェネシスブロックを円環状にして、データブロック同士に相関が生じる点こと特徴点となる。
また、従来のブロックチェーン15のデータ構造(図8参照)は、本実施形態のブロックチェーン1と比較して、Genesisブロック20〜23が円環状となっていない点以外は同じ構成といえる。しかしながら、ブロックチェーン15では、新たなデータブロック33の追加に伴い、Genesisブロック24を追加する必要がある。この点、本実施形態のブロックチェーン1は、ジェネシスブロックの増加を抑えることができる。
図1に示す本実施形態のブロックチェーン1において、Genesisブロック0には、2個のデータブロック(データブロック3A、データブロック3B)が連結されている。ここで、データブロック3Aはブロック0ヘッダを有し、データブロック3Bはブロック1ヘッダを有している。ブロックNヘッダ(N≧0)は、トランザクションの履歴が書き込まれるデータであり、接続されるブロックのハッシュ値と、ナンス値と、マークルルートとから構成されている。
ハッシュ値とは、ブロックNヘッダに対してアルゴリズム(SHA256)を用いて、別の数値(文字列)を生成する暗号的な数値である。例えば、Genesisブロック0はデータブロック3A及びデータブロック3Bに接続しているので、Genesisブロック0のハッシュ値は、ブロック0ヘッダの内部とブロック1ヘッダの内部にそれぞれ記憶される。このように、1つのデータブロックに2つのハッシュ値が格納される。
ナンス値とは、ハッシュ関数の出力を変更するために用いられる数値である。また、マークルルートとは、マークルツリー(ハッシュ値を含む二分木)内で二分木(ノード)ののペアから1つのハッシュ値が残るルートのことであり、ブロックに含まれる全てのトランザクションが要約されたものである。
図2は、ジェネシスブロックとデータブロックの詳細を示している。
例えば、Genesisブロック0は、データブロック3A(ブロック0ヘッダ)とデータブロック3B(ブロック1ヘッダ)に連結されている。また、Genesisブロック1は、データブロック3B(ブロック1ヘッダ)とデータブロック3C(ブロック2ヘッダ)に連結されている。このため、各データブロックは、ジェネシスブロックのハッシュ値が2つ格納されている。Genesisブロック2〜9についても同様である。なお、図中の「GB」は、ジェネシスブロックを意味する。
さらに、データブロック3Aは、後段のデータブロック4A(ブロック10ヘッダ)とデータブロック4B(ブロック11ヘッダ)に連結されている。また、データブロック3Bは、後段のデータブロック4B(ブロック11ヘッダ)とデータブロック4C(ブロック12ヘッダ)に連結されている。2列目以降のデータブロックは、前段のデータブロックのハッシュ値が2つ格納されている。
このようにデータブロックを後段に連結していくと、ジェネシスブロックが円環状になっていることから、ブロックチェーン1の全体のデータ構造は、図3に示すようなチューブ形状をなす。
データブロック3A〜3C(図2参照)は、図3において、ジェネシスブロック(図中の「G」で示す)の後方に連結される第1列(m=1)のデータブロック(図中の「D」で示す)である。また、データブロック4A〜4D(図2参照)は、第2列(m=2)のデータブロックである。そして、第m列のデータブロックの1つは、第(m+1)列の少なくとも2つ以上のデータブロックに接続される。
このようなデータ構造では、データブロック「X1」の追加完了を待たずに、新たなデータブロック「X2」の追加が可能となる。すなわち、ブロックチェーン1は、連結ポイントを複数有するデータ構造となっているため、1つの連結ポイントがナンス計算の実行中で、新たなデータブロックが連結できない場合でも、別の計算済みの連結ポイントにデータブロックを連結することができる。
具体的には、データブロック「X1」は、データブロック「D1」のハッシュ値とデータブロック「D2」のハッシュ値を格納するが、データブロック「D1」、データブロック「D2」は連結が完了していれば、その後段にデータブロック「X1」を追加することができる。
また、データブロック「X2」は、データブロック「D2」のハッシュ値とデータブロック「D3」のハッシュ値を格納する。データブロック「D2」、データブロック「D3」の連結が完了していれば、データブロック「X1」の連結完了に関係なく、データブロック「X2」を追加することができる。これは、従来のデータ構造(図5〜図7参照)よりもデータブロックの追加にかかる時間が短縮されることを意味する。また、1つのデータブロックのハッシュ値が2つのデータブロックに格納され拡散していくため、データ改竄の難易度が高まる。
次に、図4に、ブロックチェーン1のデータ構造の変更形態を示す。図示するように、Genesisブロック0は、データブロック3A(ブロック0ヘッダ)とデータブロック3B(ブロック1ヘッダ)に連結されている。また、Genesisブロック1は、データブロック3B(ブロック1ヘッダ)とデータブロック3C(ブロック2ヘッダ)に連結されている。データブロック3Bには、Genesisブロック0とGenesisブロック1のそれぞれのハッシュ値が、1つのファイルにまとめて格納されている。
さらに、データブロック3Aは、後段のデータブロック4A(ブロック10ヘッダ)とデータブロック4B(ブロック11ヘッダ)に連結されている。また、データブロック3Bは、後段のデータブロック4B(ブロック11ヘッダ)とデータブロック4C(ブロック12ヘッダ)に連結されている。2列目のデータブロック4Bは、前段のデータブロック3Aとデータブロック3Bのそれぞれのハッシュ値が、1つのファイルにまとめて格納されている。このように、格納する2つのハッシュ値を連結し、さらにハッシュ化して格納しても同様の効果が得られる。
なお、ジェネシスブロックの数の増減により多重度が増加するが、要求されるシステムスケールに合わせて適宜変更することができる。上記実施形態は、本発明を実施する一態様であり、上記実施形態に限定されるものではない。また、本発明は、各ブロックに対する様々な情報の付加も考慮し得ることを想定している。
何らかの方法、プログラム、端末、装置、サーバ又はシステムにおいて、本実施形態に記載されたものと異なる動作をする側面があるとしても、本発明は、記載された動作の何れかと同一の動作を対象とする。すなわち、記載されたものと異なる動作が存在することは、当該方法等を本発明の範囲外とするものではないことを付言する。
1,10,15…ブロックチェーン、2,20〜24…ジェネシスブロック、3A〜3C,4A〜4C,30〜60…データブロック。

Claims (2)

  1. データの先頭をなすジェネシスブロックと、前記ジェネシスブロックの後方に連結されるデータブロックとからなるブロックチェーンのデータ構造において、
    前記ジェネシスブロックはn(n≧3)個で構成され、全ての前記ジェネシスブロックが円環状に接続され、
    前記データブロックの1つは、少なくとも2つ以上の異なる前記ジェネシスブロックに接続されていることを特徴とするデータ構造。
  2. 請求項1に記載のデータ構造において、
    前記ジェネシスブロックの各々の後方に第m(m≧1)列の前記データブロックが連結され、
    第m列の前記データブロックの1つは、第(m+1)列の少なくとも2つ以上の前記データブロックに接続され、データ全体としてチューブ形状をなしていることを特徴とするデータ構造。
JP2020135910A 2019-09-29 2020-08-11 データ構造 Pending JP2021057887A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019178147 2019-09-29
JP2019178147 2019-09-29

Publications (1)

Publication Number Publication Date
JP2021057887A true JP2021057887A (ja) 2021-04-08

Family

ID=75271294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020135910A Pending JP2021057887A (ja) 2019-09-29 2020-08-11 データ構造

Country Status (1)

Country Link
JP (1) JP2021057887A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080301677A1 (en) * 2007-05-30 2008-12-04 Samsung Electronics Co., Ltd. Apparatus and method for parallel processing
WO2018057520A1 (en) * 2016-09-20 2018-03-29 Nant Holdings Ip, Llc Sample tracking via sample tracking chains, systems and methods
WO2018075129A1 (en) * 2016-10-20 2018-04-26 Sony Corporation Blockchain-based digital rights management
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
WO2019120320A2 (en) * 2019-03-28 2019-06-27 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions
WO2019152750A1 (en) * 2018-01-31 2019-08-08 Salesforce.Com.Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080301677A1 (en) * 2007-05-30 2008-12-04 Samsung Electronics Co., Ltd. Apparatus and method for parallel processing
WO2018057520A1 (en) * 2016-09-20 2018-03-29 Nant Holdings Ip, Llc Sample tracking via sample tracking chains, systems and methods
WO2018075129A1 (en) * 2016-10-20 2018-04-26 Sony Corporation Blockchain-based digital rights management
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
WO2019152750A1 (en) * 2018-01-31 2019-08-08 Salesforce.Com.Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
WO2019120320A2 (en) * 2019-03-28 2019-06-27 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions

Similar Documents

Publication Publication Date Title
US11556516B2 (en) Distributed blockchain data storage under account model
JP6816300B2 (ja) ブロックチェーンネットワークにおけるトランザクションの並列実行
EP3837652B1 (en) Distributed blockchain data storage under account model
JP7047133B2 (ja) 符号化ブロックチェーンデータのインデックス化および復元
US10985919B2 (en) Performing map iterations in a blockchain-based system
JP2020519983A (ja) 並列処理ブロックチェーントランザクションのためのシステムおよび方法
EP3794770B1 (en) Shared blockchain data storage based on error correction code
CN110599169B (zh) 数据处理方法、装置、终端及介质
JP2021533638A (ja) ブロックチェーンネットワーク上でグループ鍵基盤の二重署名トランザクション構造を構成するノードグループ管理装置およびコンピューティング装置
JP2021528885A (ja) 許可型ブロックチェーンネットワークのための、誤り訂正コードに基づくブロックチェーンデータ記憶
CA3098942C (en) Taking snapshots of blockchain data
TW201901482A (zh) 區塊鏈系統及區塊鏈生成方法
CN111226209B (zh) 在基于区块链的系统中执行映射迭代
US10797871B1 (en) Generation of cryptographic authentication keys using a defined sequence of security questions
WO2022087837A1 (en) Blockchain system having efficient world state data structures
WO2022087834A1 (en) Blockchain system having efficient world state data structures
EP3769219B1 (en) Taking snapshots of blockchain data
CN111209341A (zh) 区块链的数据存储方法、装置、设备及介质
US20170220442A1 (en) Replicating test case data into a cache with non-naturally aligned data boundaries
JP2021057887A (ja) データ構造
KR102437006B1 (ko) 블록체인에서 수직적 블록 구조에 기반한 정보 관리 방법
CN110321326B (zh) 一种区块链文件分片检索方法
CN116797362A (zh) 背书节点确定方法、联盟链网络的账本更新方法及装置
CN115936696A (zh) 跨链转账方法、计算机设备和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200812

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211221