JP7348878B2 - 分散台帳管理方法、分散台帳システム、およびノード - Google Patents

分散台帳管理方法、分散台帳システム、およびノード Download PDF

Info

Publication number
JP7348878B2
JP7348878B2 JP2020076281A JP2020076281A JP7348878B2 JP 7348878 B2 JP7348878 B2 JP 7348878B2 JP 2020076281 A JP2020076281 A JP 2020076281A JP 2020076281 A JP2020076281 A JP 2020076281A JP 7348878 B2 JP7348878 B2 JP 7348878B2
Authority
JP
Japan
Prior art keywords
block
organization
node
information
block group
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
JP2020076281A
Other languages
English (en)
Other versions
JP2021174170A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020076281A priority Critical patent/JP7348878B2/ja
Priority to US17/185,744 priority patent/US11621850B2/en
Publication of JP2021174170A publication Critical patent/JP2021174170A/ja
Application granted granted Critical
Publication of JP7348878B2 publication Critical patent/JP7348878B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Description

本発明は、分散台帳管理方法、分散台帳システム、およびノードに関する。
ブロックチェーンは分散台帳技術の1つである。ブロックチェーンは、各ノードから発行され合意形成されたトランザクションを、一定期間毎にまとめたブロックの連なりであり、一種の分散型データベースである。
上述のブロックチェーンを構成する各ブロックには、タイムスタンプと前のブロックのハッシュ値が含まれる。そのため、ブロックチェーン上における任意の単一ブロックを遡及的に変更することは非常に困難である。つまり、耐改竄性が高いと言える。
こうしたブロックチェーンは、分散台帳ネットワーク上の複数の場所、すなわち分散台帳ノードそれぞれに分散し、同じ内容で格納される。換言すると、ブロックチェーンで保持するデータは、従来システムのごとく中央集権的に保持、管理されることがない。
また、スマートコントラクトにより、トランザクションを適宜に自動実行、管理し、様々な機能を柔軟に実装することも可能である。
ここで、スマートコントラクトを管理する従来技術として、例えば、スマートコントラクトのライフサイクル管理を目的として、所定のスマートコントラクトに満了時間に達したことを示すインジケータが設定されている場合、ノードは、トランザクション結果をブロックチェーンに書き込むことを控え、トランザクション結果をコンピューティングデバイスに送信するシステム(特許文献1参照)などが提案されている。
特開2019-8791号公報
ところで、ブロックチェーンに保存されているデータには、法的に一定期間の保存を要するものが含まれうる。例えば帳簿書類のデータは、七年間保管する必要がある。
そのため、ブロックチェーンを規定年数だけ保存し続けるとすれば、膨大なデータを長期間管理することが必要になる。このことは、当該ブロックチェーンの管理者にとって、コンピュータやネットワーク、およびその管理用人員といった各種リソースを、そのまま維持し続けることを意味する。
そこで本発明の目的は、ブロックチェーンに保存されているデータを、効率的に長期間保存可能とする技術を提供することにある。
上記課題を解決する本発明の分散台帳管理方法は、分散台帳システムを構成する各ノードが、前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持し、当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群
以外のブロックを削除する処理と、前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、を実行することを特徴とする。
また、本発明の分散台帳システムは、分散台帳システムを構成する各ノードであって、前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持したブロックチェーンを格納する記憶装置と、当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群以外のブロックを削除する処理と、前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、を実行する演算装置と、を備えるノードを含むことを特徴とする。
また、本発明のノードは、分散台帳システムを構成する各ノードであって、前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持したブロックチェーンを格納する記憶装置と、当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群以外のブロックを削除する処理と、前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、を実行する演算装置と、を備えることを特徴とする。
本発明によれば、ブロックチェーンに保存されているデータを、効率的に長期間保存可能となる。
本実施形態における分散台帳システムの構成例を示す図である。 本実施形態における分散台帳ノードの構成例を示す図である。 本実施形態における分散台帳管理方法のシーケンス図である。 本実施形態における終了ブロックの構成例を示す図である。 本実施形態における開始ブロックおよび終了ブロックの構成例を示す図である。
<<分散台帳システムの構成>>
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の分散台帳システム200の構成例を示す図である。図1に示す分散台帳システム200は、ブロックチェーンに保存されているデータを、効率的に長期間保存可能とするコンピュータシステムである。
図1で例示する分散台帳システム200は、例えば、3つの組織240~242がそれぞれ運用する、3つの分散台帳ノード211から構成されている。また、このシステム構成には、当該組織の担当者等が利用するクライアントデバイス251が含まれるか、或いはアクセス可能である。
これら各組織240~242の分散台帳ノード211は、インターネット、LAN(Local Area Network)など適宜なネットワーク260を介して、通信可能に接続されている。なお、各組織は、1または複数の分散台帳ノード211を運用しているものとする。
また、分散台帳ノード211のそれぞれは、スマートコントラクト212、エンドースプログラム213、コンセンサスプログラム214、ブロックチェーン215、およびエンドプログラム216を有する情報処理装置である。
こうした分散台帳ノード211が保持するスマートコントラクト212は、組織間で合意した内容の契約を実行するプログラムである。また、このスマートコントラクト212は、エンドースプログラム213によって実行される。
一方、エンドースプログラム213は、上述のスマートコントラクト212を実行し、証跡を残すために組織の秘密鍵217を用いてその実行結果に電子署名を行う。
また、コンセンサスプログラム214は、クライアントデバイス251のクライアントプログラム252から、署名が付いたスマートコントラクト212の実行結果を受け取り、必要な数の組織数の署名が揃っているか確認する。
この時、必要な数の組織数の署名が揃っていれば、コンセンサスプログラム214は、そのトランザクションをコンセンサスプログラム214のリーダーに送信する。一方、リーダーは、受け取ったトランザクションをブロックに格納し、当該ブロックを各組織の分散台帳ノード211に配布する。
各分散台帳ノード211は、他の分散台帳ノード211のコンセンサスプログラム214から配布されたブロックを受け取り、当該ブロックを自身のブロックチェーン215に保存する。
なお、本実施形態におけるエンドプログラム216は、ブロックチェーン215における終了ブロック102(後述)が示す情報に基づき、所定のブロックを削除する処理や、各組織に分散台帳ノード211に対し、そこで保持するブロックチェーン215の改竄が生じてないか検証する処理を実行する。
一方、クライアントデバイス251は、例えば、担当者250による操作を受けて、クライアントプログラム252を実行する。この実行により、クライアントデバイス215は、分散台帳ノード211のエンドースプログラム213に対し、スマートコントラクト212の実行要求をネットワーク260を介して送信する。
<<ハードウェア構成>>
上述の分散台帳システム200を構成する分散台帳ノード211のハードウェア構成例を図2に示す。なお、分散台帳ノード211の各構成は、複数の物理サーバまたは任意の数の方法で実現されても良く、或いは1つのサーバで実現しても良い。
本実施形態における分散台帳ノード211は、記憶装置221、メモリ223、演算装置224、入出力装置225、およびネットワークIF226を備えている。
このうち記憶装置221は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
また、メモリ223は、RAMなど揮発性記憶素子で構成される。
また、演算装置224は、記憶装置221に保持されるプログラム222をメモリ223に読み出すなどして実行し、装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUである。
また、入出力装置225は、ユーザからのキー入力や音声入力を受け付ける、キーボードやマウス、マイクなどの適宜な装置、演算装置224での処理データの表示を行うディスプレイ、スピーカー等の適宜な装置である。
また、ネットワークインターフェイス226は、ネットワーク260と接続して、他の分散台帳ノード211やクライアントデバイス251との通信処理を担う通信装置である。
なお、記憶装置221内には、本実施形態の分散台帳ノード211として必要な機能を実装する為の上述のプログラム222に加えて、スマートコントラクト212、ブロックチェーン215、および秘密鍵217が少なくとも記憶されている。
<<分散台帳管理方法>>
以下、本実施形態における分散台帳管理方法の実際手順について図に基づき説明する。以下で説明する分散台帳管理方法に対応する各種動作は、分散台帳ノード211がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
図3は、本実施形態における分散台帳管理方法のシーケンス図である。ここでは、各組織の分散台帳ノード211が、エンドプログラム216を用いて、終了ブロックの作成及びブロックチェーン215の管理を行う動作について示している。
なお、本シーケンスのトリガーとしては、例えば、或る組織(以後、組織A)の担当者が、クライアントデバイス251を操作して、自組織の分散台帳ノード211にアクセスし、そのエンドプログラム216を呼び出したとする。
また、このエンドプログラム216は、クライアントデバイス251で上述の担当者が入力した、終了ブロックに関する情報を取得し、この情報に基づき、ブロックチェーン215を上述の組織数(本実施形態の場合、3)のグループに分割し、各グループのハッシュ値を計算する(ステップ301)。
なお、上述の終了ブロックに関する情報とは、図4で終了ブロック102に関して例示するグループ分割情報130とグループ位置情報140の各値となる。
これらの情報のうちグループ分割情報130は、終了ブロック102(図4)におけるトランザクション110の具体例にて示すように、分散台帳システム200の運用に関与する組織の数でブロックチェーン215をグループに分割した場合の、当該グループ(ブロック群)それぞれに属するブロックを規定するものとなる。
また、グループ位置情報140は、上述のグループ(のブロック群)それぞれを保持すべき組織の情報を規定するものとなる。
続いて、エンドプログラム216は、上述のステップ301で計算した、各グループのハッシュ値、クライアントデバイス251から受け付けたグループ分割情報130およびグループ位置情報140、保存期間150、および通信間隔160、の各情報を含むトランザクションを生成し、秘密鍵217でこれに署名する(ステップ302)。
ここで、上述の保存期間150および通信間隔160についても、クライアントデバイス251から受け付けたものである。
このうち保存期間150は、ブロックチェーン215が含む情報を保存すべき期間を規定した情報である。この保存期間150の具体例は、図4の終了ブロック102におけるトランザクション110が示す、「2030/12/31」を想定できる。この例では、期間ではなく、保存を終える期限に対応した日付となっている。
また、通信間隔160は、ブロックチェーン215が含む情報に改竄が生じていないか、そのハッシュ値を組織間で検証すべき頻度に関する情報である。この通信間隔160の具体例は、図4の終了ブロック102におけるトランザクション110が示す、「1/day」を想定できる。この例では、1日に1回、改竄検証のための通信を行う規定の例を示している。
また、エンドプログラム216は、上述のステップ302で生成したトランザクションを、例えば組織Bの分散台帳ノード211におけるエンドプログラム216に送信する(ステップ303)。
一方、組織Bの分散台帳ノード211におけるエンドプログラム216は、上述の組織Aの分散台帳ノード211から送信されたトランザクションを受信する(ステップ304)。
また、組織Bの分散台帳ノード211におけるエンドプログラム216は、ステップ304で受信したトランザクションが含むグループ分割情報130に基づき、組織数で自組織のブロックチェーン215を分割したグループを生成して、各グループのハッシュ値を計算し、上述のトランザクションに含まれている各グループのハッシュ値と比較する(ステップ305)。
続いて、組織Bの分散台帳ノード211におけるエンドプログラム216は、上述の比較の結果、ハッシュ値間の相違がない場合、保存期間150と通信間隔160が想定したものかについて確認を要求する情報を、組織Bのクライアントデバイス251で表示させ、担当者250の確認動作を受ける(ステップ306)。この確認動作の結果、担当者250の意向が、保存期間150および通信間隔160について承諾する旨を示す情報がクライアントデバイス251で入力された場合、エンドプログラム216は、その旨を受けて、ステップ304で受信したトランザクションに対し、秘密鍵217で署名する。
また、組織Bの分散台帳ノード211におけるエンドプログラム216は、上述で署名したトランザクションを、組織Aの分散台帳ノード211におけるエンドプログラム216に送信する(ステップ307)。
一方、組織Aの分散台帳ノード211におけるエンドプログラム216は、組織Bの分散台帳ノード211から送信された上記トランザクションを受信する(ステップ308)。
また、組織Aの分散台帳ノード211におけるエンドプログラム216は、ステップ308で受信したトランザクションを、組織Cの分散台帳ノード211におけるエンドプログラム216に送信する(ステップ309)。
以降、組織Cの分散台帳ノード211において、上述のステップ304~307と同様に、ステップ310~313を実行し、処理結果であるトランザクションを、組織Aの分散台帳ノード211に返却する。
一方、組織Aの分散台帳ノード211におけるエンドプログラム216は、組織Cの分散台帳ノード211からトランザクションを受信し(ステップ314)、このトランザクションに全組織分すなわち組織A~Cの各署名があるか確認する(ステップ315)。
なお、上述の署名確認の処理において、全組織分の署名がトランザクションに含まれていなかった場合、組織Aの分散台帳ノード211は、処理をステップ309に遷移させ、このステップ309からステップ314までの処理を、必要な署名が全て確認できるまで繰り返すものとする。
続いて、組織Aの分散台帳ノード211におけるエンドプログラム216は、必要な数の署名が集まったトランザクションをコンセンサスプログラム214に渡し、このコンセンサスプログラム214において終了ブロックの作成と各組織の分散台帳ノード211への配布を実行する(ステップ316)。
ここで、終了ブロック102の詳細について説明する。図4は、本実施形態における終了ブロック102の構成例を示す図である。この終了ブロック102は、分散台帳ノード211それぞれが保持するブロックチェーン215の終端に連なるブロックとなる。
ブロックチェーン215は、開始ブロック101を先頭に、分散台帳ノード211らが発行した各種のトランザクションを一定時間毎にまとめたブロック(図中では、ブロック1~ブロックn)が連結され、構成されたものである。
このうち開始ブロック101は、証明書やハッシュ値の元となるシードなど様々なデータが含まれているブロックである。
一方、終了ブロック102は、本実施形態における分散台帳ノード211のいずれかが発行し、各組織(の分散台帳ノード211)の間で合意形成を経た特定のトランザクション110のみを含むブロックである。
上述のトランザクション110には、本実施形態の分散台帳管理方法において必要となる、各組織の署名111、各グループのハッシュ値121、グループ分割情報130、保存期間150、および通信間隔160、の各値が格納されている。
なお、このトランザクション110が含む、組織Aの署名111は、本トランザクション110に記載されている各種条件(グループ分割情報130、グループ位置情報140、保存期間150、および通信間隔160)を組織Aが確認し同意した場合に、トランザクション110に対して秘密鍵217にて付与した電子署名である。
こうした電子署名の動作は、組織数の回数(本実施形態では組織A~組織Cの3組織に応じて3回)だけ行われる。そのため、図4の例では、組織Aの署名、組織Bの署名、および組織Cの署名がトランザクション110に含まれている。勿論、本実施形態で示した組織数は、あくまで一例であり、これに限定はしない。
また、グループのハッシュ値121は、ブロックチェーン215に繋がっているブロックを、組織数に応じたグループごとにグルーピングし、当該グループそれぞれが含むブロック群のハッシュ値を計算した結果である。本実施形態では、組織数が3であるため、グループはグループ1からグループ3までの3グループとなっており、当該グループそれぞれのハッシュ値が格納されている。
また、グループ分割情報130は、ブロックチェーン215における各ブロックのグルーピングの形態を示す情報である。
図4の例では、ブロックチェーン215のブロックが、グループ1~3の3つに分けられ、グループ1にはブロック1,4,7のブロック群が、グループ2にはブロック2,5,8のブロック群が、グループ3にはブロック3,6,9のブロック群が、グルーピングされた例を示している。
なお、こうしたグルーピングの手法としては、例えば、組織数が2の場合にブロックチェーン215のブロックのうち先頭から半分ずつ分割する形態や、ブロックを1つおきに採用する形態、或いは、ランダムに採用する形態など、適宜適用できる。
また、グループ位置情報140は、各組織がどのグループのブロック群を保持すべきか(しているか)を規定した情報である。
なお、当該グループのブロック群のデータが改竄された場合でも復元可能にするため、各組織は少なくとも2つのグループ(のブロック群)を保持するものとする。
例えば、本実施形態のように3組織が存在する場合、図4で例示するように、組織Aはグループ1と3、組織Bはグループ1と2、組織Cはグループ2と3のように、保持する形となるよう設定する。
また、保存期間150は、ブロックチェーン215のデータを保存する期間を記述したものである。図4の例では、期間ではなく、保存終了の期限を示す例を示している。
また、通信間隔160は、ブロックチェーン215が含む情報に改竄が生じていないか、そのハッシュ値を組織間で検証すべき頻度に関する情報である。図4の例では、通信間隔160の具体例として、「1/day」を示している。この例では、1日に1回、改竄検証のための通信を行う規定の例を示している。
ここで、図3の説明に戻る。それぞれの組織の分散台帳ノード211は、組織Aの分散台帳ノード211から受信した終了ブロック102のグループ分割情報140に基づき、自身でブロック群を保存するグループを特定し、ブロックチェーン215におけるそれ以外のグループのブロックを削除する(ステップ317)。
続いて、それぞれの組織の分散台帳ノード211は、組織Aの分散台帳ノード211から受信した終了ブロック102から、保存期間150の値を参照し、当該値が示す期日までの間、通信間隔160が示す時間間隔で、他組織の分散台帳ノード211に対して、当該組織(の分散台帳ノード211)が保持すべきグループのブロック群ないしそのハッシュ値を要求し、当該グループに関して得たハッシュ値と、自身のブロックチェーン215の終了ブロック102で保持する当該グループのハッシュ値と照合することで、改竄検証を行う(ステップ318)。
上述の改竄検証の結果、ハッシュ値が一致しない場合(ステップ319:Yes)、分散台帳ノード211は、当該グループに関して改竄ありと特定し、同じグループのブロック群を保持する他組織をグループ位置情報140で特定し、当該組織の分散台帳ノード211から、当該ブロック群を取得し、改竄が特定されたグループのブロック群のデータを復元する(ステップ320)。
また、それぞれの組織の分散台帳ノード211は、保存期間150が示す期日の到来を自身のカレンダー機能等で検知した場合、それ以降の通信すなわち改竄検証は行わず、当該グループのブロック群も削除または別メディアに保管し(ステップ321)、処理を終了する。
<<その他の実施形態>>
上述の実施形態の他に、終了ブロック102の格納情報を低減する形態も想定できる。図5は、本実施形態におけるブロックチェーン500における開始ブロック501および終了ブロック510の構成例を示す図である。
この場合、開始ブロック501は、既存の開始ブロック502の情報の他に、グループ分割情報503、グループ位置情報504、保存期間505、通信間隔506、および終了時期507の各値を含む。
このうち終了時期507は、終了ブロック510の生成時期を規定した値となる。したがって、この終了時期507の到来前のブロックチェーン500には、終了ブロック510は存在しない。
一方、終了ブロック510は、トランザクション511が含まれている。このトランザクション511は、各グループのハッシュ値に同意した組織の署名512と、そのグループのハッシュ値513を含む。
以下、上述の図3のシーケンス図から変更があるステップのみ、以下に説明する。この場合、組織Aの分散台帳ノード211は、開始ブロック501における終了時期507の値が示す時期の到来を検知した場合、或いは、クライアントデバイス251における、例えば、担当者250の操作を受けた場合、エンドプログラム216を呼び出して実行し、ブロックチェーン500の開始ブロック501が含むグループ分割情報503に基づき、自組織のブロックチェーン215のブロックをグループに分け、各グループのブロック群のハッシュ値を計算する(ステップ301)。
続いて、上述の組織Aの分散台帳ノード211は、ステップ301で計算したハッシュ値を含むトランザクションを生成し、これに署名する(ステップ302)。なお、本例では、グループ分割情報130、グループ位置情報140、保存期間150、および通信間隔160は、開始ブロック501に含まれているため、本トランザクションに含める必要がない。
一方、上述のトランザクションを受信した組織Bの分散台帳ノード211におけるエンドプログラム216は、自身のブロックチェーン500における開始ブロック501が示すグループ分割情報503に基づき、自組織のブロックチェーン215の各ブロックをグループに分け、各グループ(が含むブロック群)のハッシュ値を計算し、このハッシュ値と、組織Aの分散台帳ノード211から受信したトランザクションに含まれる当該グループのハッシュ値とを比較する(ステップ305)。
上述の比較の結果、ハッシュ値間に相違がない場合、組織Bの分散台帳ノード211におけるエンドプログラム216は、秘密鍵217で当該トランザクションに署名する(ス
テップ306)。この署名は、組織Cの分散台帳ノード211でも同様に実行する(ステップ312)。
その後、各ステップを図3と同様に実行し、それぞれの組織の分散台帳ノード211は、開始ブロック501に基づき、保存期間505が示す期日到来までの間に、通信間隔506が示す頻度で、他組織の分散台帳ノード211に対し、当該分散台帳ノード211で保持するグループないしそのハッシュ値を要求して、当該グループに関するハッシュ値を取得し、当該ハッシュ値と、終了ブロック510が示す当該グループのハッシュ値とを照合することで改竄検証する(ステップ318)。
上述の改竄検証の結果、ハッシュ値が異なれば(ステップ319:Yes)、分散台帳ノード211は、当該グループに関して改竄ありと特定し、同じグループのブロック群を保持する他組織をグループ位置情報504で特定し、当該組織の分散台帳ノード211から、当該ブロック群を取得し、改竄が特定されたグループのブロック群のデータを復元する(ステップ320)。
このように、ブロックチェーンサービスの終了条件を開始ブロック501に予め書き込んで管理することにより、終了時期が明示されたブロックチェーンサービスを提供することができる。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、ブロックチェーンに保存されているデータを、効率的に長期間保存可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の分散台帳管理方法において、前記各ノードが、前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行する、としてもよい。
これによれば、法的に保存期間が規定された情報をブロックチェーンで保存する場合、その改竄の無さを、当該保存期間においてチェックし続けることが可能となる。ひいては、ブロックチェーンに保存されているデータを、より効率的に長期間保存可能となる。
また、本実施形態の分散台帳管理方法において、前記各ノードが、前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持する、としてもよい。
これによれば、終了ブロックの格納情報を減らすことが可能となり、ひいては、ブロックチェーンに保存されているデータを、より効率的に長期間保存可能となる。
また、本実施形態の分散台帳管理システムにおいて、前記各ノードは、前記記憶装置は、前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、前記演算装置は、前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行するものである、としてもよい。
また、本実施形態の分散台帳システムにおいて、前記各ノードは、前記記憶装置で、前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、前記演算装置において、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持するものである、としてもよい。
また、本実施形態のノードにおいて、前記各ノードが、前記記憶装置で、前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、前記演算装置で、前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行するものである、としてもよい。
また、本実施形態のノードにおいて、前記各ノードが、前記記憶装置で、前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、前記演算装置で、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持するものである、としてもよい。
101 開始ブロック
102 終了ブロック
111 組織の署名
121 グループのハッシュ値
130 グループ分割情報
140 グループ位置情報
150 保存期間
160 通信間隔
200 分散台帳システム
211 分散台帳ノード
212 スマートコントラクト
213 エンドースプログラム
214 コンセンサスプログラム
215 ブロックチェーン
216 エンドプログラム
217 秘密鍵
221 記憶装置
222 プログラム
223 メモリ
224 演算装置
225 入出力装置
226 ネットワークインターフェイス
251 クライアントデバイス
252 クライアントプログラム
260 ネットワーク
500 ブロックチェーン
501 開始ブロック
502 既存の開始ブロック
503 グループ分割情報
504 グループ位置情報
505 保存期間
506 通信間隔
507 終了時期
510 終了ブロック
511 トランザクション
512 組織の署名
513 グループのハッシュ値

Claims (9)

  1. 分散台帳システムを構成する各ノードが、
    前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持し、
    当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群以外のブロックを削除する処理と、
    前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、
    を実行することを特徴とする分散台帳管理方法。
  2. 前記各ノードが、
    前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、
    前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行する、
    ことを特徴とする請求項1に記載の分散台帳管理方法。
  3. 前記各ノードが、
    前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持する、
    ことを特徴とする請求項1に記載の分散台帳管理方法。
  4. 分散台帳システムを構成する各ノードであって、
    前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持したブロックチェーンを格納する記憶装置と、
    当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群以外のブロックを削除する処理と、前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、を実行する演算装置と、
    を備えるノードを含むことを特徴とする分散台帳システム。
  5. 前記各ノードにおいて、
    前記記憶装置は、前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、
    前記演算装置は、前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行するものである、
    ことを特徴とする請求項4に記載の分散台帳システム。
  6. 前記各ノードにおいて、
    前記記憶装置は、前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、
    前記演算装置は、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持するものである、
    ことを特徴とする請求項4に記載の分散台帳システム。
  7. 分散台帳システムを構成する各ノードであって、
    前記各ノードを運営する組織それぞれの署名、前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値、前記ブロック群を保持すべき組織の情報、および組織間での前記ハッシュ値の検証頻度に関する情報、を含むトランザクションを終了ブロックで保持したブロックチェーンを格納する記憶装置と、
    当該ノードを運営する組織が保持すべきブロック群を、前記終了ブロックのトランザクションで特定し、前記ブロックチェーンのうち前記特定したブロック群以外のブロックを削除する処理と、前記検証頻度に関する情報が示す頻度にて、当該ノードを運営する組織以外の他組織のノードに対し、当該他組織が保持する前記ブロック群ないし当該ブロック群のハッシュ値を要求して、前記ブロック群に基づくハッシュ値と前記終了ブロックのトランザクションが含む当該ブロック群のハッシュ値とを照合することで改竄検証を行う処理と、を実行する演算装置と、
    を備えることを特徴とするノード。
  8. 前記各ノードにおいて、
    前記記憶装置は、前記終了ブロックのトランザクションにおいて、前記ブロック群の保存期間に関する情報をさらに保持し、
    前記演算装置は、前記改竄検証の処理を、前記保存期間の終了まで前記頻度にて繰り返し実行するものである、
    ことを特徴とする請求項7に記載のノード。
  9. 前記各ノードにおいて、
    前記記憶装置は、前記ブロックチェーンの開始ブロックにおいて、前記ブロックチェーンの分割情報、前記ブロック群を保持すべき組織の情報、前記検証頻度に関する情報、および前記終了ブロックの生成時期に関する情報、を保持し、
    前記演算装置は、前記生成時期の到来に伴い、前記分割情報が示す条件で、前記各ノードを運営する組織それぞれの署名、および前記組織の数でブロックチェーンを分割したブロック群それぞれのハッシュ値を含むトランザクションを発行して、所定の合意形成を経て終了ブロックを生成し保持するものである、
    ことを特徴とする請求項7に記載のノード。
JP2020076281A 2020-04-22 2020-04-22 分散台帳管理方法、分散台帳システム、およびノード Active JP7348878B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020076281A JP7348878B2 (ja) 2020-04-22 2020-04-22 分散台帳管理方法、分散台帳システム、およびノード
US17/185,744 US11621850B2 (en) 2020-04-22 2021-02-25 Distributed ledger management method, distributed ledger system, and node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020076281A JP7348878B2 (ja) 2020-04-22 2020-04-22 分散台帳管理方法、分散台帳システム、およびノード

Publications (2)

Publication Number Publication Date
JP2021174170A JP2021174170A (ja) 2021-11-01
JP7348878B2 true JP7348878B2 (ja) 2023-09-21

Family

ID=78223024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020076281A Active JP7348878B2 (ja) 2020-04-22 2020-04-22 分散台帳管理方法、分散台帳システム、およびノード

Country Status (2)

Country Link
US (1) US11621850B2 (ja)
JP (1) JP7348878B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102759B (zh) * 2022-06-21 2023-09-12 南京质子链科技有限公司 一种基于区块链的接口回溯系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250656A (ja) 2009-04-17 2010-11-04 Dainippon Printing Co Ltd データ保管システムおよびデータ保管方法
US20180323963A1 (en) 2017-05-05 2018-11-08 Jeff STOLLMAN Systems and Methods for Extending the Utility of Blockchains Through Use of Related Child Blockchains
WO2020035086A2 (en) 2019-11-06 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US10855445B2 (en) * 2018-03-01 2020-12-01 Intuit, Inc. Summary chains in distributed systems
US11416475B2 (en) * 2018-10-19 2022-08-16 Adobe Inc. Block quantity reduction in distributed ledgers
US11227057B2 (en) * 2018-11-08 2022-01-18 International Business Machines Corporation Membership access management of a database
US11387979B2 (en) * 2019-12-23 2022-07-12 International Business Machines Corporation Partially-ordered blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250656A (ja) 2009-04-17 2010-11-04 Dainippon Printing Co Ltd データ保管システムおよびデータ保管方法
US20180323963A1 (en) 2017-05-05 2018-11-08 Jeff STOLLMAN Systems and Methods for Extending the Utility of Blockchains Through Use of Related Child Blockchains
JP2020526805A (ja) 2017-05-05 2020-08-31 ジェフ ストールマン 関連する子ブロックチェーンを用いたブロックチェーンの実用性向上のためのシステムおよび方法
WO2020035086A2 (en) 2019-11-06 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
US20210044422A1 (en) 2019-11-06 2021-02-11 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
JP2021520574A (ja) 2019-11-06 2021-08-19 アリペイ (ハンジョウ) インフォメーション テクノロジー カンパニー リミテッドAlipay (Hangzhou) Information Technology Co., Ltd. 誤り訂正符号に基づく共有されたブロックチェーンデータの記憶のデータセキュリティ

Also Published As

Publication number Publication date
US11621850B2 (en) 2023-04-04
JP2021174170A (ja) 2021-11-01
US20210336793A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US11055703B2 (en) Smart contract lifecycle management
CN109034809B (zh) 区块链的生成方法、装置、区块链节点及存储介质
CN108932348B (zh) 区块链的合并处理方法、装置、区块链节点及存储介质
EP3559874B1 (en) Event-driven blockchain workflow processing
US10810683B2 (en) Hierarchical meta-ledger transaction recording
CN115210741B (zh) 部分有序的区块链
JP2020521252A (ja) シャード化された許可型の分散型台帳
CN110647503A (zh) 一种分布式存储方法及装置
WO2019114097A1 (zh) 基于区块链的分布式存储方法
CN102170440A (zh) 适用于存储云间数据安全迁移的方法
TW201901481A (zh) 區塊鏈系統及利用區塊鏈的數據管理方法
US9497028B1 (en) System and method for remote storage auditing
US10091123B2 (en) System and user interface for coordinating distributed workflow between multiple computing systems
CN110574061A (zh) 区块链局部分类账
Esiner et al. Analysis and optimization on FlexDPDP: A practical solution for dynamic provable data possession
CN109586949A (zh) 区块生成方法及计算机存储介质
CN110599384B (zh) 组织关系的转移方法、装置、设备及存储介质
JP7348878B2 (ja) 分散台帳管理方法、分散台帳システム、およびノード
US20200394308A1 (en) Blockchain-based state verifications of software component vulnerability database for software products
JP2020204898A (ja) 分散台帳システムの運用管理方法、分散台帳システムの運用管理システム、および分散台帳システムの運用管理プログラム
CN114039733A (zh) 一种针对联盟链的存证业务转移方法、装置及设备
JP6685968B2 (ja) データ管理システム、データ管理方法及びデータ管理プログラム
Purbo et al. Benchmark and comparison between hyperledger and MySQL
CN111143130B (zh) 数据恢复方法、装置、计算机可读存储介质和计算机设备
US20230118477A1 (en) System and method for data pruning via dynamic partition management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230908

R150 Certificate of patent or registration of utility model

Ref document number: 7348878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150