JP6977872B2 - 仮想ブロックチェーンシステム、データ管理方法及びプログラム - Google Patents

仮想ブロックチェーンシステム、データ管理方法及びプログラム Download PDF

Info

Publication number
JP6977872B2
JP6977872B2 JP2020510281A JP2020510281A JP6977872B2 JP 6977872 B2 JP6977872 B2 JP 6977872B2 JP 2020510281 A JP2020510281 A JP 2020510281A JP 2020510281 A JP2020510281 A JP 2020510281A JP 6977872 B2 JP6977872 B2 JP 6977872B2
Authority
JP
Japan
Prior art keywords
data
blockchain
virtual
blockchain system
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020510281A
Other languages
English (en)
Other versions
JPWO2019186747A1 (ja
Inventor
俊夫 小出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019186747A1 publication Critical patent/JPWO2019186747A1/ja
Application granted granted Critical
Publication of JP6977872B2 publication Critical patent/JP6977872B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、仮想ブロックチェーンシステム、データ管理方法及びプログラムに関する。
特許文献1に、より安全で信頼性の高いデジタル仮想通貨のブロックチェーンデータを生成することができるというブロックチェーン生成装置が開示されている。このブロックチェーン生成装置1は、ブロックチェーンデータ112と、ブロックチェーンに含まれていないトランザクションデータ113とを含む共有データ111を取得する同期手段121を備える。さらに、このブロックチェーン生成装置1は、トランザクションデータのうち、ブロックチェーン生成装置1を用いる生成者の識別子に関連するトランザクションデータから、生成者の取引パターン量を算出する取引パターン量算出手段124を備える。さらに、このブロックチェーン生成装置1は、取引パターン量に基づいて、生成者が、新たなブロックチェーンデータを生成する資格を有しているか否かを判定するブロック生成条件確認手段125を備える。さらに、このブロックチェーン生成装置1は、ブロック生成条件確認手段125が資格を有していると判定した場合、共有データ111を参照して、新たなブロックチェーンの生成を試みるブロックチェーン生成手段126を備える。
昨今、取引所で取引されているBitcoin(登録商標)やEtherum(登録商標)といった多くの仮想通貨は、パブリック型ブロックチェーンの上に成り立っている。パブリック型ブロックチェーンは、複数のノードによって運用され、それらのノードの運用者が大多数の権限を取得しない限り、ブロックチェーンは中立で透明性とデータの耐改ざん性を保証できるとされている。
特開2017−91149号公報
以下の分析は、本発明によって与えられたものである。上記したパブリック型ブロックチェーンにおいても、参加ノード数が少なかったり、コードにバグが存在するということが起こりうる。さらに、人的要因として、コミュニティ内での意見の対立やその運営が健全でない、あるいは、現に健全な運営がなされていたとしても、将来にわたって運営の健全性が保証されていないという問題点がある。現に、これらを原因として、ブロックチェーンが分裂したり、事実上運用が停止になったり、耐改ざん性が失われてデータの書き換えが可能になる等といった事象が起きている。これらの事象はパブリック型ブロックチェーンに特有のもので、プライベート型やコンソーシアム型ブロックチェーンと異なり、中央集権的に制御できないことにその一因がある。
一方で、上記したブロックチェーンは仮想通貨のみならず、各種の証明や履歴管理など、さまざまなサービスへの応用が期待されている。これらのサービスを実現するためのアプリケーション(プログラム)も提案されているが、上記パブリック型ブロックチェーンの不安定さが、その普及のネックの一つとなっている。
本発明は、上記したパブリック型ブロックチェーンを用いたサービスの可用性の向上に貢献できる仮想ブロックチェーンシステム、データ管理方法及びプログラムを提供することを目的とする。
第1の視点によれば、予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定する制御部と、前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出するデータ送出部と、を含む、仮想ブロックチェーンシステムが提供される。
第2の視点によれば、予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、前記ブロックチェーンシステムに対し、記録すべきデータを送出するデータ送出部と、を備えたコンピュータが、前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定するステップと、前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出するステップと、を含むデータ管理方法が提供される。本方法は、上記ブロックチェーン管理部とデータ送出部とを備えるコンピュータという、特定の機械に結びつけられている。
第3の視点によれば、予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、前記ブロックチェーンシステムに対し、記録すべきデータを送出するデータ送出部と、を備えたコンピュータに、前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定する処理と、前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、パブリック型ブロックチェーンを用いたサービスの可用性の向上に貢献することが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の一実施形態の動作を説明するための図である。 本発明の一実施形態の別の動作を説明するための図である。 本発明の第1の実施形態の仮想ブロックチェーンシステムの構成を示す図である。 本発明の第1の実施形態の仮想ブロックチェーンシステムが保持するブロックチェーン管理情報の一例を示す図である。 本発明の第1の実施形態の仮想ブロックチェーンシステムが保持するブロックチェーン管理情報の一例を示す図である。 本発明の第1の実施形態の仮想ブロックチェーンシステムの動作を説明するための流れ図である。 本発明の第1の実施形態の仮想ブロックチェーンシステムの動作を説明するための図である。 本発明の第2の実施形態の仮想ブロックチェーンシステムの構成を示す図である。 本発明の第2の実施形態の仮想ブロックチェーンシステムの動作を説明するための流れ図である。 本発明の第2の実施形態の仮想ブロックチェーンシステムの動作を説明するための図である。 本発明の第3の実施形態の仮想ブロックチェーンシステムの構成を示す図である。 本発明の第3の実施形態の仮想ブロックチェーンシステムの動作を説明するための図である。 本発明の第3の実施形態の仮想ブロックチェーンシステムの動作を説明するための流れ図である。 本発明の第3の実施形態の仮想ブロックチェーンシステムの動作を説明するための図である。 本発明の仮想ブロックチェーンシステムを構成するコンピュータの構成を示す図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
本発明は、その一実施形態において、図1に示すように、制御部11と、データ送出部12と、ブロックチェーン管理部13とを含む仮想ブロックチェーンシステム10にて実現できる。
より具体的には、ブロックチェーン管理部13は、予め指定された2以上の実ブロックチェーンシステム21〜2N(以降、実ブロックチェーンシステムを単に「ブロックチェーン」と記す。)を管理する。ここで「管理する」とは、仮想ブロックチェーンシステム10が、管理主体として、他のブロックチェーンを管理するのではなく、他のブロックチェーンシステムに対し、いつでもデータを送信できるように管理するという意味である。
データ送出部12は、前記ブロックチェーン21〜2Nに対し、記録すべきデータを送出する。ここで、データ送出部12が送出するデータは、本仮想ブロックチェーンシステム10の用途等に依存する。例えば、本仮想ブロックチェーンシステム10が仮想通貨による決済機能や商品等の売買履歴の管理機能を提供する場合、データ送出部12が送出するデータは、トランザクションデータとなる。また、このトランザクションデータの代わりに、秘密分散法による分散データ(シェア)、パリティデータを送出するようにしてもよい。
制御部11は、前記2以上のブロックチェーン21〜2Nに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定する。
例えば、図2に示すように、制御部11は、2以上のブロックチェーンのうち、ブロックチェーン#1(符号21)と、ブロックチェーン#2(符号22)とを選択したものとする。そして、制御部11は、一方のブロックチェーン#1(符号21)に記録すべきデータを送り、他方のブロックチェーン#2(符号22)にその冗長データを送出するとの組み合わせを決定する。これにより、台帳データのミラーリングが実現される。それぞれのブロックチェーンにおいて、台帳は、改ざん耐性を持った状態で保持されるだけでなく、仮に一方のブロックチェーンに運用停止や分岐が発生しても、他方のブロックチェーンで運用を継続することが可能となる。上記ミラーリングに代えて、RAID(Redundant Arrays of Inexpensive Disks)のレベル3〜5のように、実データとパリティデータの組み合わせを送信するようにしてもよい。
また、図3に示すように、上記ブロックチェーンに送出するデータとして、秘密分散法の分散データを生成し、各ブロックチェーンに送出してもよい。このようにすることで、ブロックチェーンの利用による改ざん耐性と、秘密分散法による漏洩、ハードウェア障害に対する耐性の双方を兼ね備えたシステムを構築することが可能となる。
以上、説明したように、本発明によれば、パブリック型ブロックチェーンを用いたサービスの普及に貢献することが可能となる。その理由は、上記複数のブロックチェーンを利用して安定的な仮想ブロックチェーンを構築し、運用の安定性を向上させたことにある。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の仮想ブロックチェーンシステムの構成を示す図である。図4を参照すると、仮想ブロックチェーンシステム100と、複数のブロックチェーン201〜20Nが接続された構成が示されている。
ブロックチェーン201〜20Nは、前述のブロックチェーン21〜2Nと同様に、2以上の実ブロックチェーンである。それぞれのブロックチェーン201〜20Nは、それぞれ固有の台帳を合意形成しながら更新していく複数のノード(合意形成ノード)を含んで構成される。また、それぞれのブロックチェーン201〜20Nは、同一の仕様でなくてもよく、例えば、それぞれのブロックチェーン201〜20Nの合意形成アルゴリズムが異なっていてもよい。また、本実施形態では、ブロックチェーン201〜20Nは、パブリック型のブロックチェーンであるものとして説明するが、その一部に、プライベート型やコンソーシアム型のブロックチェーンが含まれていてもよい。
仮想ブロックチェーンシステム100は、ブロックチェーン201〜20Nに対し、それぞれ指定したデータを送出(ブロードキャスト)することで、合意形成を経て、それぞれのブロックチェーン201〜20Nの台帳に指定したデータを追加させる。
具体的には、仮想ブロックチェーンシステム100は、制御部101と、データ送出部102と、ブロックチェーン管理部103と、データ受信部104とを備える。
データ受信部104は、本実施形態の仮想ブロックチェーンシステム100を利用するアプリケーションプログラム301〜30M(以降、単に「アプリケーション」と記す。)からデータを受信する。アプリケーション301〜30Mは、ネットワークに接続された各種の端末装置上で動作するプログラムである。なお、アプリケーション301〜30Mは、同一の端末装置にインストールされた異なるプログラムであってもよいし、異なる端末装置にインストールされた同一のプログラムであってもよい。
ブロックチェーン管理部103は、上記ブロックチェーン201〜20Nを管理する。図5は、ブロックチェーン管理部103が保持するブロックチェーン管理情報の一例を示す図である。図5の例では、ブロックチェーンを一意に特定するためのブロックチェーンIDと、所属ノードのIPアドレスリストと、各ブロックチェーンの使用プロトコルと、を対応付けたエントリを格納するテーブルが示されている。所属ノードIPアドレスリストは、当該ブロックチェーンの任意のノードのIPアドレスを含む。ブロックチェーンの任意のノードのIPアドレスの代わりに、ブロックチェーンに付与されたドメイン名に対応するIPアドレスを応答するDNSサーバの情報が設定されていてもよい。その他、図5において省略しているが、ブロック高等は任意の項目を保持させてもよい。また、ブロック高その他の情報は、信頼の置けるノード等から入手することとしてもよい。
また、ブロックチェーン管理部103は、アプリケーションごとに、データの送信先(保存先)となるブロックチェーンのリストを管理する。図6は、ブロックチェーン管理部103が保持するブロックチェーン管理情報の別の一例を示す図である。図6の例では、アプリケーションを一意に特定するためのアプリケーションIDと、ブロックチェーンリストと、を対応付けたエントリを格納するテーブルが示されている。例えば、仮想ブロックチェーンシステム100は、アプリケーション#1のデータを受信すると、ブロックチェーンリストフィールドに設定されたブロックチェーンについて、それぞれ図5のテーブルを参照してその使用プロトコルに従いデータを加工する。その上で、仮想ブロックチェーンシステム100は、加工後のデータを送出する。
図6のテーブルのブロックチェーンリストに設定するブロックチェーンの選択ルールが冗長化ルールに相当する。この冗長化ルールとしては、例えば、プロトコルが同一であるブロックチェーンを2以上選択するルールが考えられる。このようなルールを採用することで、データの加工処理を共通化することができる。また逆に、プロトコルが異なるブロックチェーンを2以上選択するルールが考えられる。このようなルールを採用することで、一方のブロックチェーンにプロトコルやプログラムに由来する障害が発生しても、他方のブロックチェーンに影響が及ぶ可能性を低くすることができる。冗長化ルールは、これらの例に限られるものではなく、例えば、各ブロックチェーンへのデータ登録コストや健全性などに基づいてブロックチェーンのミックスを選択する各種のルールを採用することができる。
制御部101は、データ受信部104からデータを受信すると、その送信元のアプリケーションを特定する。次に、制御部101は、図6に示すテーブルを参照して、前記特定したアプリケーションのデータの送出先となるブロックチェーンを特定する。さらに、制御部101は、図5のテーブルを参照して、前記特定したブロックチェーンに対し、それぞれ所要の加工を行う。さらに、制御部101は、図5のテーブルを参照して、データ送出部102に対し、送信先のブロックチェーンを指定して、前記加工後のデータの送信を指示する。このときに、送信先のブロックチェーンが2以上となるため、いずれか一方が冗長データとして機能することになる。
データ送出部102は、前記制御部101の指示に従って、指定されたブロックチェーンに対し、指定されたデータを送出する動作を行う。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図7は、本発明の第1の実施形態の仮想ブロックチェーンシステムの動作を説明するための流れ図である。図7を参照すると、まず、仮想ブロックチェーンシステム100は、任意のアプリケーションからデータを受信する(ステップS001)。
次に、仮想ブロックチェーンシステム100は、受信したデータの送信元のアプリケーションを特定する(ステップS002)。
次に、仮想ブロックチェーンシステム100は、図6に示すテーブルを参照して、前記特定したアプリケーションのデータの送出先となるブロックチェーンを特定する(ステップS003)。
次に、仮想ブロックチェーンシステム100は、図5のテーブルを参照して、前記特定したブロックチェーンに対し、それぞれ所要の加工を行う(ステップS004)。
次に、仮想ブロックチェーンシステム100は、前記特定したブロックチェーンに対し、前記所要の加工を行ったデータをそれぞれ送出する(ステップS005)。
以上により、図8に示すように、アプリケーションから受け取ったデータが複数のブロックチェーンに送信され、それぞれのブロックチェーンにおいて合意形成を行った後、台帳データに登録される。これにより、例えば、図8のブロックチェーン#1のデータが消失したり、運用が停止したりした場合であっても、同一のデータを送信したその他のブロックチェーンのデータを用いてアプリケーションへのサービスを継続することが可能となる。
[第2の実施形態]
続いて、各ブロックチェーンに蓄積されたデータの移転機能が追加された本発明の第2の実施形態について図面を参照して詳細に説明する。図9は、本発明の第2の実施形態の仮想ブロックチェーンシステムの構成を示す図である。図4に示した第1の実施形態との構成上の相違点は、仮想ブロックチェーンシステム100Aにデータ移転処理部105が追加されている点である。その他の構成及び動作は第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
データ移転処理部105は、あるブロックチェーンの台帳データあるいは台帳データから抽出したデータを他のブロックチェーンに移転させる機能を有している。データ移転処理部105が、データ移転処理を行う開始条件(トリガ)としては、ブロックチェーンの運用停止や分裂などが考えられる。また、別のトリガとしては、仮想ブロックチェーンの安定性の向上のための冗長度の増加、より信頼性の高いブロックチェーンへの乗り換えというケースも想定される。
その他、仮想ブロックチェーンシステム100Aの各部によるデータ配置の動作は第1の実施形態と同様であるため説明を省略する。
続いて、本実施形態の動作について、図面を参照して詳細に説明する。図10は、本発明の第2の実施形態の仮想ブロックチェーンシステムの動作を説明するための流れ図である。
図10を参照すると、まず、上記したブロックチェーンの運用停止や分裂などのトリガが成立すると、仮想ブロックチェーンシステム100Aは、移転対象のデータを保持しているブロックチェーンの台帳からデータを読み出す(ステップS101)。なお、ここで、読み出すデータは、仮想ブロックチェーンシステム100Aから送信したデータのみ抽出してもよい。
次に仮想ブロックチェーンシステム100Aは、所定のルールで選択した代替ブロックチェーンに前記読み出したデータを転送する(ステップS102)。
例えば、仮想ブロックチェーンシステム100Aは、あるブロックチェーン(例えば、図11のブロックチェーン#2 202)の運用が停止した場合、同一のデータを保持しているブロックチェーン#1 201のデータを読み出す。そして、仮想ブロックチェーンシステム100Aは、前記読み出したデータを、他のブロックチェーン(例えば、図11のブロックチェーン#N 20N)に送る。これにより、あるブロックチェーン(例えば、図11のブロックチェーン#2 202)の運用の停止により低下した冗長度を回復することが可能となる。また、本実施形態によれば、台帳データを移転させるため、あるアプリケーションのデータの送信先となるブロックチェーンに変更が生じた場合でも、変更前に遡って、データの冗長度を確保することが可能となる。
[第3の実施形態]
続いて、秘密分散法を用いて各ブロックチェーンに送るデータに秘匿性を持たせつつ、必要なときに復元できるようにした第3の実施形態について説明する。図12は、本発明の第3の実施形態の仮想ブロックチェーンシステムの構成を示す図である。上記した第1、第2の実施形態の仮想ブロックチェーンシステム100/100Aとの構成上の第1の相違点は、制御部101Aと、データ移転処理部105Aの機能に変更が加えられている点である。また、第2の相違点は、ブロックチェーン201〜20Nに加えて、1台以上のストレージ装置401をデータの配置先とすることができる点である。その他の構成及び動作は第1、第2の実施形態と同様であるので、以下、その相違点を中心に説明する。
制御部101Aは、第1の実施形態と同様、データ受信部104からデータを受信すると、その送信元のアプリケーションを特定する。次に、制御部101Aは、図6に示すテーブルを参照して、前記特定したアプリケーションのデータの送出先となるブロックチェーンを特定する。このときに、アプリケーションのデータの送出先にストレージ装置が含まれていてもよい。これらブロックチェーン及びストレージ装置の合計はN個であるものとする。以下、分散データの配置先となるこれらブロックチェーン及びストレージ装置を総称する場合、「ブロックチェーン等」と記す。
さらに、制御部101Aは、データ受信部104から受信したデータを用いて、N個のデータを作成する。このデータの作成方法としては、例えば、閾値Kとしたときに、(K−1)次の多項式を用いて、事前に定めたシークレットを用いてN個の分散データ(シェア)を作成するShamirの秘密分散法等の手法を用いることができる。
さらに、制御部101Aは、データ送出部102に対し、送信先のブロックチェーンを指定して、前記分散データ(シェア)の送信を指示する。前記指示を受けたデータ送出部102は、制御部101Aからの指示に従って、指定されたブロックチェーンやストレージ装置に、前記分散データ(シェア)を送信する(図13参照)。本実施形態では、これらのデータの集合が、記録すべきデータと、前記記録すべきデータの復元のための冗長データとして機能することになる。
データ移転処理部105Aは、上記した分散データの再配置機能を有している。具体的には、データ移転処理部105Aは、データの配置先に変更が生じると、利用可能なK個のブロックチェーンからデータを読み出して、データ受信部104から受信したデータを復元する。そして、データ移転処理部105Aは、制御部101Aと連携して、再度、新しいデータ配置先に配置する分散データを作成し、新しいデータ配置先にデータを送信する。なお、データ移転処理部105Aがデータ移転処理を行う開始条件(トリガ)は、第2の実施形態と同様とすることができる。但し、本実施形態では、K個のブロックチェーンが利用可能な限り、データを復元できるので、1つのブロックチェーンの運用停止等によって必ずしもデータ移転を実施する必要はない。また逆に、利用可能なブロックチェーン等がN個に保たれるように、その都度、データの再配置を行ってもよい。
続いて、本実施形態の動作について、図面を参照して詳細に説明する。仮想ブロックチェーンシステム100Bの各部によるデータ配置の動作は、上記説明のとおり、図7のステップS004において送信先に応じたデータ加工(分散データの作成)が行われる点を除いて第1の実施形態と同様であるため説明を省略する。
図14は、本発明の第3の実施形態の仮想ブロックチェーンシステムによるデータ移転処理を説明するための流れ図である。図14を参照すると、まず、上記したブロックチェーンの運用停止や分裂などのトリガが成立すると、仮想ブロックチェーンシステム100Bは、分散データを保持しているブロックチェーンの台帳から分散データを読み出す(ステップS201)。
仮想ブロックチェーンシステム100Bは、読み出したK個以上のデータを用いて、データ受信部104から受信したデータを復元する(ステップS202)。
次に、仮想ブロックチェーンシステム100Bは、新しいデータ配置先となるブロックチェーン等に送信する分散データを計算する(ステップS203)。
次に、仮想ブロックチェーンシステム100Bは、新しいデータ配置先のブロックチェーン等に前記計算後の分散データを送信する(ステップS204)。
例えば、仮想ブロックチェーンシステム100Bは、あるブロックチェーン(例えば、図15のブロックチェーン#2 202)の運用が停止した場合、次の動作を行う。まず、仮想ブロックチェーンシステム100Bは、分散データを保持しているストレージ装置401、ブロックチェーン#1 201、・・・、ブロックチェーン#N 20NからK個の分散データを読み出す。そして、仮想ブロックチェーンシステム100Bは、前記読み出したK個のデータから元のデータを復元する。そして、仮想ブロックチェーンシステム100Bは、復元したデータを用いて再度分散データを作成して、ブロックチェーンに再配置する。
これにより、N個のブロックチェーン等のうち、(N−K)個のブロックチェーン等に障害等が生じても安全かつ秘匿性を維持した状態で、アプリケーション301〜30Mに対しブロックチェーンサービスを提供することが可能となる。また、本実施形態においても、過去に遡って分散データを復元し、再配置することで、特定のブロックチェーンに変更が生じた場合でも、変更前に遡って、データの冗長度を確保することが可能となる。
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。また、以下の説明において、「A及び/又はB」は、A及びBの少なくともいずれかという意味で用いる。
例えば、上記した実施形態のデータの配置先として示したストレージ装置は、必ずしも物理的な装置でなくてもよく、仮想化基盤上に設けられた仮想ストレージやストレージネットワークであってもよい。また、仮想ブロックチェーン装置自体も仮想化基盤上の仮想マシン(VM)を用いて構成されていてもよい。
また、上記した第1〜第3の実施形態に示した手順は、仮想ブロックチェーンシステム100/100A/100Bとして機能するコンピュータ(図16の9000)に、仮想ブロックチェーンシステムとしての処理を実行させるプログラムにより実現可能である。このようなコンピュータは、図16のCPU(Central Processing Unit)9010、通信インタフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、図16のCPU9010にて、データ送受信プログラムやデータ変換プログラムを実行し、その補助記憶装置9040に保持されたブロックチェーン管理情報を参照して受信したデータの加工やデータの送信処理を実施させればよい。
即ち、上記した第1〜第3の実施形態に示した仮想ブロックチェーンシステムの各部(処理手段、機能)は、上記コンピュータに搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による仮想ブロックチェーンシステム参照)
[第2の形態]
上記した仮想ブロックチェーンシステムは、さらに、
所定の端末装置から、前記2以上のブロックチェーンシステムを用いて構成された仮想ブロックチェーンシステムに送るデータを受信するデータ受信部を備えていてもよい。
[第3の形態]
上記した仮想ブロックチェーンシステムの前記制御部は、
前記データの送信元のアプリケーションプログラムと、前記アプリケーションプログラムから送信されたデータの保存先となるブロックチェーンの対応関係を定めた情報を参照し、
前記データとブロックチェーンの組み合わせとして、前記データの送信元のアプリケーションプログラムに対応付けられたブロックチェーンを選択する構成を採ることができる。
[第4の形態]
上記した仮想ブロックチェーンシステムは、さらに、
2以上のブロックチェーンシステムのうちの特定のブロックチェーンシステムに対する代替ブロックチェーンシステムに対し、前記特定のブロックチェーンシステムに保持されていたデータを移転させるデータ移転部を備えていてもよい。
[第5の形態]
上記した仮想ブロックチェーンシステムは、
前記2以上のブロックチェーンシステムに加え、所定のストレージシステムを用いてデータを分散配置する構成とすることもできる。
[第6の形態]
上記した仮想ブロックチェーンシステムの前記冗長化ルールとして所定の秘密分散法を用いることもできる。
[第7の形態]
(上記第2の視点によるデータ管理方法参照)
[第8の形態]
(上記第3の視点によるプログラム参照)
なお、上記第7〜第8の形態は、第1の形態と同様に、第2〜第6の形態に展開することが可能である。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、100、100A、100B 仮想ブロックチェーンシステム
11 制御部
12 データ送出部
13 ブロックチェーン管理部
21〜2N、201〜20N 実ブロックチェーンシステム(ブロックチェーン)
101、101A 制御部
102 データ送出部
103 ブロックチェーン管理部
104 データ受信部
105、105A データ移転処理部
301〜30N アプリケーション(プログラム)
401 ストレージ装置
9000 コンピュータ
9010 CPU
9020 通信インタフェース
9030 メモリ
9040 補助記憶装置

Claims (10)

  1. 予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、
    前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定する制御部と、
    前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出するデータ送出部と、
    を含む、
    仮想ブロックチェーンシステム。
  2. さらに、所定の端末装置から、前記2以上のブロックチェーンシステムを用いて構成された仮想ブロックチェーンシステム宛てに送信されたデータを受信するデータ受信部を備える請求項1の仮想ブロックチェーンシステム。
  3. 前記制御部は、
    前記データの送信元のアプリケーションプログラムと、前記アプリケーションプログラムから送信されたデータの保存先となるブロックチェーンの対応関係を定めた情報を参照し、
    前記データとブロックチェーンの組み合わせとして、前記データの送信元のアプリケーションプログラムに対応付けられたブロックチェーンを選択する請求項1又は2の仮想ブロックチェーンシステム。
  4. さらに、前記2以上のブロックチェーンシステムのうちの特定のブロックチェーンシステムに対する代替ブロックチェーンシステムに対し、前記特定のブロックチェーンシステムに保持されていたデータを移転させるデータ移転部を備える請求項1から3いずれか一の仮想ブロックチェーンシステム。
  5. 前記2以上のブロックチェーンシステムに加え、所定のストレージ装置を用いてデータを分散配置する請求項1から4いずれか一の仮想ブロックチェーンシステム。
  6. 前記所定の冗長化ルールとして所定の秘密分散法を用いる請求項1から5いずれか一の仮想ブロックチェーンシステム。
  7. 予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、前記ブロックチェーンシステムに対し、記録すべきデータを送出するデータ送出部と、を備えたコンピュータが、
    前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定するステップと、
    前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出するステップと、
    を含むデータ管理方法。
  8. さらに、所定の端末装置から、前記2以上のブロックチェーンシステムを用いて構成された仮想ブロックチェーンシステム宛てに送信されたデータを受信するステップを含む、
    請求項7のデータ管理方法。
  9. 前記データの送信元のアプリケーションプログラムと、前記アプリケーションプログラムから送信されたデータの保存先となるブロックチェーンの対応関係を定めた情報を参照し、
    前記データとブロックチェーンの組み合わせとして、前記データの送信元のアプリケーションプログラムに対応付けられたブロックチェーンを選択する請求項7又は8のデータ管理方法。
  10. 予め指定された2以上のブロックチェーンシステムを管理するブロックチェーン管理部と、前記ブロックチェーンシステムに対し、記録すべきデータを送出するデータ送出部と、を備えたコンピュータに、
    前記2以上のブロックチェーンシステムに対し、それぞれ、記録すべきデータと、前記記録すべきデータの復元のための冗長データとが、所定の冗長化ルールで分散配置されるよう送出するデータとブロックチェーンの組み合わせを決定する処理と、
    前記組み合わせに従って、前記ブロックチェーンシステムに対してデータを送出する処理と、
    を実行させるプログラム。
JP2020510281A 2018-03-28 2018-03-28 仮想ブロックチェーンシステム、データ管理方法及びプログラム Active JP6977872B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/012661 WO2019186747A1 (ja) 2018-03-28 2018-03-28 仮想ブロックチェーンシステム、データ管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019186747A1 JPWO2019186747A1 (ja) 2021-03-18
JP6977872B2 true JP6977872B2 (ja) 2021-12-08

Family

ID=68059545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020510281A Active JP6977872B2 (ja) 2018-03-28 2018-03-28 仮想ブロックチェーンシステム、データ管理方法及びプログラム

Country Status (3)

Country Link
US (1) US20210026844A1 (ja)
JP (1) JP6977872B2 (ja)
WO (1) WO2019186747A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11195180B2 (en) * 2019-01-25 2021-12-07 International Business Machines Corporation Virtual blockchain
US11604786B2 (en) * 2019-04-26 2023-03-14 EMC IP Holding Company LLC Method and system for processing unstable writes in a clustered file system
WO2021091548A1 (en) * 2019-11-06 2021-05-14 Visa International Service Association Blockchain enabled fault tolerance
EP4152161A4 (en) * 2020-05-12 2023-07-12 Fujitsu Limited CONTROL METHOD, CONTROL PROGRAM AND INFORMATION PROCESSING DEVICE
JP7421443B2 (ja) 2020-08-11 2024-01-24 株式会社日立製作所 データ移行方法、データ移行システム、およびノード
CN113254272B (zh) * 2021-06-09 2022-09-13 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6628188B2 (ja) * 2016-05-10 2020-01-08 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム

Also Published As

Publication number Publication date
US20210026844A1 (en) 2021-01-28
JPWO2019186747A1 (ja) 2021-03-18
WO2019186747A1 (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6977872B2 (ja) 仮想ブロックチェーンシステム、データ管理方法及びプログラム
US10887284B1 (en) Peered virtual private network endpoint nodes
CN101663651B (zh) 分布式存储系统
CN114787781B (zh) 用于启用高可用性受管理故障转移服务的系统和方法
JP5624655B2 (ja) 分散型サーバーシステムにおいてバックアップマネージャを転送するメッセージ
CN103810061B (zh) 一种高可用云存储方法
US20170344443A1 (en) Dynamically changing members of a consensus group in a distributed self-healing coordination service
CN103155497A (zh) 通信系统、控制设备、节点、处理规则设置方法以及程序
US20140215028A1 (en) Shared information distribution in a computer network
US20130117557A1 (en) Cloud computing system and cloud server managing method thereof
JP2022523217A (ja) 投票集計を伴うトポロジードリブンビザンチンフォールトトレラント合意プロトコル
WO2018181961A1 (ja) 仮想ネットワーク機能管理装置、仮想インフラストラクチャ管理装置、及び仮想ネットワーク機能構築方法
KR102119456B1 (ko) 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법
JP7056740B2 (ja) ブロックチェーンシステム、ブロックチェーン管理装置、ネットワーク制御装置、方法及びプログラム
US10146652B2 (en) Resilient distributed storage system
WO2016206392A1 (zh) 数据读写方法及装置
JP2007200085A (ja) データ複製システムおよびデータ複製方法
JP2019530267A (ja) 通信装置、システム、ロールバック方法及びプログラム
US20180276091A1 (en) Application service-level configuration of dataloss failover
JP7137078B2 (ja) 適合化装置
JP6653676B2 (ja) コンテナ最適配置システムおよびそのコンテナ復旧方法
JP6588484B2 (ja) 復旧装置、復旧方法、および復旧プログラム
JP5366880B2 (ja) Icカード制御方法及びicカード制御システム
JP6345359B1 (ja) ネットワークシステム、通信制御装置およびアドレス設定方法
JP2012216904A (ja) 分散ルーティング処理装置およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6977872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150