JP2021018514A - サーバー装置、データ管理システム、およびデータ管理方法 - Google Patents
サーバー装置、データ管理システム、およびデータ管理方法 Download PDFInfo
- Publication number
- JP2021018514A JP2021018514A JP2019132613A JP2019132613A JP2021018514A JP 2021018514 A JP2021018514 A JP 2021018514A JP 2019132613 A JP2019132613 A JP 2019132613A JP 2019132613 A JP2019132613 A JP 2019132613A JP 2021018514 A JP2021018514 A JP 2021018514A
- Authority
- JP
- Japan
- Prior art keywords
- hash
- transaction
- data
- mode
- blockchain
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】運用コストとデータの安全性を両立させたデータ管理技術を提供する。【解決手段】システムにおいて、サーバ装置は、データオブジェクトを保存する記憶装置と、データオブジェクトのハッシュ値を生成するハッシュ処理部と、ハッシュ値を含むトランザクションを発行するトランザクション発行部と、トランザクションを送信する通信部と、制御部と、を備える。ハッシュ処理部は、複数のデータオブジェクトに基づいたハッシュ値を生成する第1のハッシュ生成処理と、一つのデータオブジェクトに基づいたハッシュ値を生成する第2のハッシュ生成処理と、を実行する。トランザクション発行部は、ルートハッシュを含むトランザクションを発行する第1のモードと、オブジェクトハッシュを含むトランザクションを発行する第2のモードと、を実行する。制御部は、トランザクション発行部に対して第1のモードと第2のモードの切り替えを指示する。【選択図】図3
Description
本発明は、企業等が収集したデータに対する非改ざんの証明をするための技術に関わる。
近年、官公庁や企業が収集した個人情報に対する管理基準が厳しくなっており、データを確実に保護することが求められている。ブロックチェーンはデータ改ざんを容易に検知できることから、データ管理ソリューションとしても注目されている。
周知のように、ブロックチェーンは、ブロックと呼ばれるデータの単位を生成し、鎖のように連結していくことによりデータを保管する。各々のブロックは、その一つ前のブロックのハッシュ値を持っている。あるブロックの内容はそのブロックのハッシュ値が直後のブロックに記載されることで証明されている。一度チェーンに登録されたブロックを改竄するには、それ以降のブロックのハッシュ演算を全てやり直さなくてはならないため、現実的には改竄はできないとされている。
特許文献1には、データベースのハッシュをブロックチェーンに記録することで、改ざんを防止したシステムが開示されている。データベースの一部又は全部を書き換えるとハッシュが変わるため、データベースのハッシュとブロックチェーンに記録されたハッシュと照合することで、改ざんされていないことが確認できる。また、複数のハッシュをまとめたルートハッシュをブロックチェーンに記録する方式が開示されている。
官公庁や企業が収集するデータは増加する一方であるが、収集した多くのデータについて、ブロックチェーンを用いて非改ざんを保証しようとしたとき、以下の課題がある。
ブロックチェーンへのハッシュの記録は、データの安全性を保障する観点からは、データ変更後リアルタイムで行うことが理想である。
しかし、オブジェクトデータ(ここでは管理対象となるデータを意味する。単にオブジェクトということもある)に対してハッシュをひとつずつブロックチェーンに記録する場合、トランザクション数が多くなり、システムや回線の負荷が増大する。さらに、これにより運用コストが増加する。
一方、ルートハッシュをブロックチェーンに記録する場合、ルートハッシュを構成するデータ数が多いため、そのうちの一部でも変更があればすべてのハッシュ処理をし直して、再度ブロックチェーンに記録し直す必要がある。これは運用コストに影響する。
そこで本発明は、運用コストとデータの安全性を両立させたデータ管理技術を提供することを目的とする。
本発明の好ましい一側面は、データオブジェクトを保存する記憶装置と、データオブジェクトのハッシュ値を生成するハッシュ処理部と、ハッシュ値を含むトランザクションを発行するトランザクション発行部と、トランザクションを送信する通信部と、制御部と、を備えるサーバー装置である。ハッシュ処理部は、複数のデータオブジェクトに基づいたハッシュ値であるルートハッシュを生成する第1のハッシュ生成処理と、一つのデータオブジェクトに基づいたハッシュ値であるオブジェクトハッシュを生成する第2のハッシュ生成処理と、を実行可能である。トランザクション発行部は、ルートハッシュを含むトランザクションを発行する第1のモードと、オブジェクトハッシュを含むトランザクションを発行する第2のモードと、を実行可能である。制御部は、トランザクション発行部に対して第1のモードと第2のモードの切り替えを指示する。
好ましい例では、制御部は、トランザクションに付随する経済的なコストや、トランザクション数に応じて、第1のモードと第2のモードの切り替えを指示する。
本発明の好ましい他の一側面は、上記のサーバー装置を備えるデータ管理システムである。サーバー装置は、1または複数のクライアント装置から送信されてきたデータを、記憶装置にデータオブジェクトとして記録し、データオブジェクトの新規の記録あるいは変更に対応して、第1のモードまたは第2のモードにより、データオブジェクトのハッシュ値を含むトランザクションをブロックチェーンに送信し、ブロックチェーンから送信されるタイムスタンプを、データオブジェクトと対応付けて記録することで、データの非改ざん性を保証する。
本発明の好ましい他の一側面は、上記のサーバー装置を利用するデータ管理方法である。より具体的な例では、サーバー装置は、データオブジェクトの新規の記録あるいは変更に対応して、第1のモードまたは第2のモードにより、データオブジェクトのハッシュ値を含むトランザクションをブロックチェーンに送信し、トランザクションに対応してブロックチェーンから送られてきたタイムスタンプを、データオブジェクトと対応付けて記録することで、データの非改ざん性を保証する。そして、所定のデータオブジェクトのハッシュ値が、ルートハッシュを含むトランザクションおよびオブジェクトハッシュを含むトランザクションの両方に含まれている場合、ルートハッシュを含むトランザクションに対応して送られてきたタイムスタンプを、オブジェクトハッシュのタイムスタンプとして用いる。
運用コストとデータの安全性を両立させたデータ管理技術を提供することができる。
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
以下で詳細に説明される実施例の一つでは、ブロックチェーンに記録するハッシュを、条件に応じてオブジェクトハッシュとルートハッシュで切り替える。切り替えは、例えばトランザクションに必要なコスト、例えばブロックチェーンに書き込むための費用や、通信費用に応じて切り替える。トランザクション1件当たりの単価が高いときにはルートハッシュを使用し、単価が安い時にはオブジェクトハッシュを使用する。あるいは、通信のデータ量が問題になる場合には、トランザクション数に応じて切り替える。例えばトランザクション数が閾値以下の場合はオブジェクトハッシュ、閾値を超える場合はルートハッシュをブロックチェーンに記録する。
ルートハッシュを用いて記録した場合には、適切なタイミングでルートハッシュを構成するオブジェクトハッシュをブロックチェーンに記録する。タイミングとしては、例えばトランザクション数が閾値以下となった場合に、ルートハッシュを構成するオブジェクトハッシュをブロックチェーンに記録する。オブジェクトハッシュとルートハッシュの対応関係をデータベースに記録しておき、ルートハッシュを記録したタイムスタンプを参照することで、各データが変更された時間を保証する。
<1.全体システム構成>
図1は、実施例1が適用されるシステムの全体像を示すブロック図である。このシステムは、サーバー装置100、クライアント装置200、ブロックチェーン300、およびネットワーク900からなる。
図1は、実施例1が適用されるシステムの全体像を示すブロック図である。このシステムは、サーバー装置100、クライアント装置200、ブロックチェーン300、およびネットワーク900からなる。
サーバー装置100は、データを管理し非改ざんを保証するデータ管理会社等により運用される。クライアント装置200は、データ管理会社等にデータを提供し管理を委託する企業や個人などにより運用される。この実施例では、ブロックチェーン300はパブリックブロックチェーンを想定し、不特定多数の個人や法人により運用されるものとする。
サーバー装置100、クライアント装置200、およびブロックチェーン300は、有線あるいは無線によるネットワーク900で通信が可能であり、データをやり取りすることができる。
図2は、図1のシステムの各要素の構成を示すブロック図である。
図2は、図1のシステムの各要素の構成を示すブロック図である。
サーバー装置100は、収集したデータを格納し管理するとともに、非改ざんを保証するための比較的大型のデータベースサーバを想定する。サーバー装置100は、処理機能として、制御部101、通信部102、ハッシュ処理部103、推奨手数料取得部104、トランザクション発行部105を備える。また、データベースとして、認証情報記憶部111、社員情報記憶部112、ハッシュ管理情報記憶部113を備える。
制御部101は装置の全体の管理や、データベースへのデータの記録を管理する。通信部102はネットワーク900を介してトランザクションを送信し、応答を受信する。ハッシュ処理部103はオブジェクトのハッシュを生成する。推奨手数料取得部104は、トランザクションに必要な費用を計算あるいは取得する。トランザクション発行部105はハッシュを含むトランザクションを発行する。
クライアント装置200は、データをサーバー装置100とやり取りするためのサーバーあるいはパーソナルコンピュータを想定する。図2では、ユーザからの入力を受け付けて全体を制御する制御部201、ネットワーク900を介して通信を行う通信部202、ユーザに対して情報を表示する表示部203を示している。1つまたは複数のクライアント装置200が、1つのサーバー装置100に対応しているものとする。クライアント装置の数は任意であるが、以下では第1クライアント装置200−1と第2クライアント装置200−2が、サーバー装置100に接続されている例で説明する。
ブロックチェーン300は、特定の管理者がいない複数のサーバーやパーソナルコンピュータから構成されている。機能的には、ブロックと呼ばれる順序付けられたレコードが連続的に増加するリストを格納する。各ブロックには、タイムスタンプと前のブロックへのリンクが含まれている。ブロックチェーンの概念として公知のように、各々のブロックは、その連鎖を遡ることで非改ざん性を保証できる。
サーバー装置100は、クライアント装置200から提供されたデータに対してハッシュを生成し、ネットワーク900を介して、ハッシュをブロックチェーン300に記録する。サーバー装置100のデータが改ざんされると、ハッシュ値が変化するため、ブロックチェーン300のハッシュ値と照合することで、改ざん有無を証明できる。
図2では、ブロックチェーン300を機能的に表し、制御部301、ネットワーク900を介して通信を行う通信部302、ハッシュ情報を記憶する記憶装置であるハッシュ情報記憶部303を示している。パブリックブロックチェーン自体は公知の構成のため、詳細な説明は省略する。
サーバー装置100、クライアント装置200、ブロックチェーン300を構成するサーバーやパーソナルコンピュータは、周知のように情報処理装置の一般的構成要素である、入力装置、出力装置、処理装置、記憶装置を備えている。本明細書や図面では、説明上、これら周知の構成を明示することなく、情報処理装置で実現される機能的な構成を主語として動作を説明することがある。本実施例では計算や制御等の機能は、記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウエアと協働して実現されることとする。情報書誌装置が実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」等と呼ぶ場合がある。
サーバー装置100、クライアント装置200、ブロックチェーン300では、制御部101,201,301は入出力装置を含む装置の全体を制御し、所定の処理は専用のプログラムを用いて実行するものとする。また、通信部102,202,302はネットワーク900を介して通信を行う。クライアント装置200の表示部203はオブジェクトデータの内容をユーザに表示する。ブロックチェーン300のハッシュ情報記憶部303は、サーバー装置100から送られてきたハッシュ値をブロックチェーンとして記録する。
以上の情報処理装置の構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウエアでも実現できる。
<2.アクセス処理>
図3は、クライアント装置200がサーバー装置100に記録したデータを変更する処理の全体を示す流れ図である。以下では、第1クライアント装置200−1の処理について説明するが、第2クライアント装置200−2の処理も同様に行うことができ、またこれらの処理は独立に行うことが可能である。
図3は、クライアント装置200がサーバー装置100に記録したデータを変更する処理の全体を示す流れ図である。以下では、第1クライアント装置200−1の処理について説明するが、第2クライアント装置200−2の処理も同様に行うことができ、またこれらの処理は独立に行うことが可能である。
まずユーザは、第1クライアント装置200−1の通信部202、ネットワーク900、およびサーバー装置100の通信部102を介して、サーバー装置100にログインする。ログインの認証は、ID(Identification)やパスワード用いた周知の方法でよい。サーバー装置100は、認証情報記憶部111に記憶されている認証情報を用いてログインの可否を判断する。以下の例では、企業の社員であるユーザが自分の個人情報を閲覧、変更する例で説明するが、これに限るものではない。認証情報としては、例えばデータを特定するオブジェクトIDとパスワードでもよい。ログインにより、ユーザがデータにアクセス可能な状態とする(S1−1,S10−1)。
そして、サーバー装置100が保存しているデータのうち、変更したいデータを指定する。指定する方法はデータのファイル番号(オブジェクトIDなど)や索引を用いた周知の方法でよい。ここでは、サーバー装置100は、ユーザの社員情報のデータを社員情報記憶部112に記憶しているものとする。もちろん、社員情報はデータの一例であり、任意の他の種類のデータでもよい。
基本的に、サーバー装置100、クライアント装置200、ブロックチェーン300の間の通信方法は上記と同様であり、以降の説明では煩雑なため省略する。
<3.社員情報テーブル>
図4は、社員情報記憶部112に格納されている社員情報テーブル400の構成及び内容の例を示す図である。社員情報テーブル400は、制御部101により社員情報記憶部112に記録される。
図4は、社員情報記憶部112に格納されている社員情報テーブル400の構成及び内容の例を示す図である。社員情報テーブル400は、制御部101により社員情報記憶部112に記録される。
この例では、社員情報テーブル400に記録される社員情報データは、データを一意に示すオブジェクトID401、社員の名前402、社員の所属403、社員の年齢404、これらのデータから生成されたハッシュ値であるオブジェクトハッシュ405、ブロックチェーン300へのトランザクションを一意に示すトランザクションID406、ブロックチェーン300から受け取ったタイムスタンプ407を含む。
この例で非改ざん性を担保する対象であるデータは、クライアント装置200から提供された、社員の名前402、社員の所属403、社員の年齢404であるが、これらは一例であり、他のデータでもよい。またデータはテキストに限らず、画像や動画や音声でもよい。ユーザは例えば、オブジェクトID401を指定することで、任意のデータを呼び出すことができる。オブジェクトID401は、オブジェクトの登録のたびに制御部101により発行される。なお、新規生成、変更、追加のたびに一意のIDを付してもよい。
オブジェクトハッシュ405は、ハッシュ処理部103で計算される。トランザクションID406は、トランザクション発行部105でオブジェクトハッシュを含むトランザクションごとに発行される。タイムスタンプ407は、オブジェクトハッシュを含むトランザクションに対してブロックチェーン300で発行され、通信部102で受信される。
ユーザが社員情報データを呼び出すと、サーバー装置100は、社員情報記憶部112にアクセスし社員情報テーブル400を参照するとともに、ハッシュ管理情報記憶部113にアクセスし、当該社員情報データのハッシュ管理情報を参照する。
社員情報テーブル400の内容は、クライアント装置200に送信し、クライアント装置200の表示部203によりユーザが閲覧することができる。このとき、オブジェクトハッシュ405と、ブロックチェーンにてトランザクションID406に紐付けられたハッシュを比較することでデータの改ざんが行われていないことが確認できる。タイムスタンプ407は、そのデータのハッシュがどの時点からブロックチェーンに登録され、非改ざん性が保証されているかを示す情報であるため、意味がある。
<4.ハッシュ管理情報テーブル>
図5は、ハッシュ管理情報記憶部113に格納されているハッシュ管理情報テーブル500の構成及び内容の例を示す図である。ハッシュ管理情報テーブル500は、制御部101によりハッシュ管理情報記憶部113に記録される。
図5は、ハッシュ管理情報記憶部113に格納されているハッシュ管理情報テーブル500の構成及び内容の例を示す図である。ハッシュ管理情報テーブル500は、制御部101によりハッシュ管理情報記憶部113に記録される。
この例では、ハッシュ管理情報テーブル500に記録されるハッシュ管理情報データは、データを一意に示すオブジェクトID501(オブジェクトID401と同じものである)、データから生成されたハッシュ値であるオブジェクトハッシュ502(オブジェクトハッシュ405と同じものである)、オブジェクトハッシュをまとめたルートハッシュ503、ブロックチェーン300へのトランザクションを一意に示すトランザクションID504、ブロックチェーン300から受け取ったタイムスタンプ505を含む。
ルートハッシュ503は、ハッシュ処理部103で計算される。トランザクションID504は、トランザクション発行部105でルートハッシュを含むトランザクションごとに発行される。タイムスタンプ505は、ルートハッシュを含むトランザクションに対してブロックチェーン300で発行され、通信部102で受信される。
たとえば図5の例では、オブジェクトID501が、「002」「003」「004」の3つのデータを纏めてルートハッシュ503が生成されている。オブジェクトID「002」「003」「004」のそれぞれのデータのハッシュは、オブジェクトハッシュ502に記録されている。ルートハッシュ503は、オブジェクトハッシュ502のハッシュ値を計算して生成する。なお、ルートハッシュ503は、複数のオブジェクトのデータそのものから生成したハッシュ値であってもよいが、オブジェクトハッシュ502のハッシュ値を計算したほうが簡単である。
<5.データの承認状況と登録処理>
ログイン処理を受け付けたサーバー装置100の制御部は、ユーザに指定されたデータについて社員情報テーブル400とハッシュ管理情報テーブル500を参照し、当該データの承認状況を確認する。
ログイン処理を受け付けたサーバー装置100の制御部は、ユーザに指定されたデータについて社員情報テーブル400とハッシュ管理情報テーブル500を参照し、当該データの承認状況を確認する。
以下の実施例では、説明上便宜的に、承認状況を「状態1」「状態2」「状態3」の3つのステイタスに分けて説明する。
「状態1(承認前)」は、社員情報記憶部112に登録あるいは変更されたデータのハッシュが、ブロックチェーン300に登録されていない状態である。データの非改ざん性は保証されていない。
「状態2(処理1のみ承認済)」は、社員情報記憶部112に登録あるいは変更されたデータのハッシュが、オブジェクトハッシュではなく、ルートハッシュとしてブロックチェーン300に登録されている状態である。データの非改ざん性はルートハッシュにより保証される。
「状態3(処理2または処理3が承認済)」は、社員情報記憶部112に登録あるいは変更されたデータのハッシュが、オブジェクトハッシュとしてブロックチェーン300に登録されている状態である。データの非改ざん性はオブジェクトハッシュまたはルートハッシュにより保証される。
また以下の実施例では、説明上便宜的に、ハッシュをブロックチェーン300に登録する処理を、「処理1」「処理2」「処理3」の3種類に分けて説明する。
「処理1」は、ルートハッシュをブロックチェーン300に登録する処理である。
「処理2」は、ルートハッシュがブロックチェーン300に登録されていないオブジェクトについて、オブジェクトハッシュをブロックチェーン300に登録する処理である。
「処理3」は、ルートハッシュがブロックチェーン300に登録済のオブジェクトについて、オブジェクトハッシュをブロックチェーン300に登録する処理である。
状況の確認のために、制御部101は、まず社員情報記憶部112の社員情報テーブル400を参照する。タイムスタンプ407にタイムスタンプが存在する場合(例えばオブジェクトID001)には、オブジェクトハッシュ405がブロックチェーン300に登録済であり、「状態3」である。タイムスタンプ407にタイムスタンプが存在しない場合(例えば図4のオブジェクトID002以下)には、オブジェクトハッシュ405がブロックチェーン300に登録されておらず、「状態1」または「状態2」である。
社員情報テーブル400のタイムスタンプ407に、タイムスタンプが存在しない場合は、制御部101はハッシュ管理情報記憶部113のハッシュ管理情報テーブル500を参照する。例えば、図4の例ではオブジェクトID002にはタイムスタンプがないので、ハッシュ管理情報テーブル500でオブジェクトID002を検索する。すると、オブジェクトID「002,003,004」のデータをまとめたルートハッシュに対して、タイムスタンプ「2018/4/1 11:10」が存在することがわかる。これにより、制御部101は、オブジェクトID002のデータは、オブジェクトハッシュではなく、ルートハッシュによりブロックチェーン300に登録されている状態である「状態2」であると判定する。
もし、該当するデータのタイムスタンプが、ハッシュ管理情報テーブル500に存在しない場合には、データのハッシュが、ルートハッシュとしてもオブジェクトハッシュとしても、ブロックチェーン300に登録されていない状態であり、「状態1」となる。
<6.データの承認状況の表示>
ユーザがデータを変更したり、承認状況を確認したりしたい場合には、サーバー装置100の制御部101は、承認状況がわかる形で、データをクライアント装置200に送信し、クライアント装置200によりユーザが確認できるようにすることが望ましい。
ユーザがデータを変更したり、承認状況を確認したりしたい場合には、サーバー装置100の制御部101は、承認状況がわかる形で、データをクライアント装置200に送信し、クライアント装置200によりユーザが確認できるようにすることが望ましい。
図6は、制御部101がクライアント装置200に送信するデータをどこから参照するかを説明する表図である。それぞれの状態について、オブジェクトID601、名前602、所属603、年齢604、ハッシュ605、トランザクションID606、タイムスタンプ607をユーザに表示することができる。
状態1では、オブジェクトID601〜ハッシュ605の情報を、社員情報テーブル400のオブジェクトID401〜オブジェクトハッシュ405からコピーして、クライアント装置200に送信する。トランザクションID606とタイムスタンプ607は未承認のため、未承認の旨を通知する。クライアント装置200では、表示部203に受信した情報を表示する。
図7は、データが状態1の場合に、クライアント装置200の表示部203に表示される個人情報閲覧画面の一例である。
状態2では、オブジェクトID601については、ハッシュ管理情報テーブル500のオブジェクトID501をコピーする。名前602〜年齢604の情報を、社員情報テーブル400の名前402〜年齢404からコピーする。ハッシュ605〜タイムスタンプ607の情報を、ハッシュ管理情報テーブル500のルートハッシュ503〜タイムスタンプ505からコピーする。これらをクライアント装置200に送信する。
図8は、データが状態2の場合に、クライアント装置200の表示部203に表示される個人情報閲覧画面の一例である。
状態3では、オブジェクトID601〜トランザクションID606の情報を、社員情報テーブル400のオブジェクトID401〜トランザクションID406からコピーする。
タイムスタンプ607は、該当するオブジェクトIDを持つハッシュ管理情報テーブル500のタイムスタンプ505が存在する場合には、そこからコピーする。該当するオブジェクトIDを持つハッシュ管理情報テーブル500のタイムスタンプ505が存在しない場合には、社員情報テーブル400のタイムスタンプ407をコピーする。これらをクライアント装置200に送信する。
該当するオブジェクトIDを持つハッシュ管理情報テーブル500のタイムスタンプ505が存在する場合に、社員情報テーブル400のタイムスタンプ407を使用しないのは、データの非改ざん性は、ルートハッシュが登録されたハッシュ管理情報テーブル500のタイムスタンプ505の時刻から保証されていることを示すためである。
図9は、データが状態3の場合に、クライアント装置200の表示部203に表示される個人情報閲覧画面の一例である。
サーバー装置100は、クライアント装置200から受信するデータ閲覧要求などに応答して、上記データをクライアント装置に送信し、ユーザはこれを見ることができる。
<7.データの登録(前処理)>
以下、サーバー装置100の社員情報記憶部112に記憶される社員情報テーブル400の内容を変更し、その非改ざん性を保証する処理について説明する。なお、以下ではデータの変更について説明するが、新規作成や消去についても同様である。
以下、サーバー装置100の社員情報記憶部112に記憶される社員情報テーブル400の内容を変更し、その非改ざん性を保証する処理について説明する。なお、以下ではデータの変更について説明するが、新規作成や消去についても同様である。
図3に戻り、ユーザは図7〜図9に示すように表示されたデータを見ながら、データを変更する。変更したデータとともにデータ変更要求をサーバー装置100に送信する(S3)。
サーバー装置100の制御部は、まず前処理S4を行う。
図10は、前処理S4の内容を示す流れ図である。図3のクライアント装置200からのデータ変更要求S3により、処理が開始される。制御部101は、社員情報記憶部112の社員情報テーブル400の、名前402、所属403、あるいは年齢404等を、ユーザの指示に従って変更あるいは登録する(S41)。
ハッシュ処理部103は、社員情報テーブル400の、名前402、所属403、年齢404のデータにより、ハッシュ値を計算する。計算したハッシュ値は制御部101により、社員情報テーブル400の、オブジェクトハッシュ405に記録される(S42)。
その後、システムは所定時刻まで待機する(S43)。所定の時刻は例えば1時間おき等任意の時間間隔で定めてよい。本実施例では、ブロックチェーン300へのハッシュの記録は、バッチ処理で行うものとしている。処理の間の期間では、社員情報テーブル400のトランザクションID406とタイムスタンプ407は登録されていない。
所定の時刻になったら、推奨手数料取得部104はその時刻における推奨されるトランザクション手数料を取得する(S44)。トランザクション手数料は、推奨手数料取得部104が所定のアルゴリズムに基づいて自分で計算してもよいし、サーバー装置100の外部から取得してもよいし、予め時刻に対応して定めておいてもよい。典型的な例では、推奨手数料取得部104は、時間tに対する関数A(t)を定義しておき、関数A(t)により推奨手数料Aを計算する。もう一つの典型的な例では、最新ブロックから過去数ブロックに承認されたトランザクションのうち最も安いものを推奨手数料Aとする。
ブロックチェーン300にハッシュを登録するための費用であるトランザクション手数料は、一般に時刻によって変動する。例えば、利用が多い時間帯(例えば勤務時間帯)には価格が上昇し、深夜には価格が低下する。価格は特定の主体が定める場合もあり、あるいは、オークション方式をとる場合には需給の状態により変動する場合もある。このような場合、例えば推奨手数料はブロックチェーンへの書き込みが即時承認されると予想できる価格に設定する。
制御部101は、所定時刻までの間に蓄積されたデータ変更要求の数をトランザクション数Bとして取得する(S44)。トランザクション数Bを得るためには、例えば社員情報テーブル400にもハッシュ管理情報テーブル500にもタイムスタンプがないオブジェクト数をカウントする。そして制御部101は、推奨手数料取得部104から得た推奨手数料Aとトランザクション数Bから、合計手数料をA×Bを計算する。
<8.データの登録(条件判定)>
合計手数料A×Bは、所定期間内にデータ変更(あるいは新規登録)要求されたデータのハッシュをブロックチェーン300に登録するための費用であり、サーバー装置100の運用者はこれをできるだけ低下させたい要求がある。
合計手数料A×Bは、所定期間内にデータ変更(あるいは新規登録)要求されたデータのハッシュをブロックチェーン300に登録するための費用であり、サーバー装置100の運用者はこれをできるだけ低下させたい要求がある。
図3の条件判定S5では、合計手数料A×Bを予め定めた閾値と比較する。閾値は固定値を記憶しておいてもよいし、変動させてもよい、あるいは、その都度サーバー装置100の管理者が入力してもよい。
合計手数料A×Bが閾値以上か否かで、ハッシュをブロックチェーン300に登録するための処理を選択する(S5)。合計手数料A×Bが閾値以上の場合には、処理1(S6)でハッシュを登録する。合計手数料A×Bが閾値より小さい場合には、処理2(S7)でハッシュを登録する。
<9.データの登録(処理1によるハッシュの登録)>
前述のように処理1は、ルートハッシュをブロックチェーン300に登録する処理である。合計手数料A×Bが高価であるため、ルートハッシュを用いることでトランザクション数Bを減少させる。
前述のように処理1は、ルートハッシュをブロックチェーン300に登録する処理である。合計手数料A×Bが高価であるため、ルートハッシュを用いることでトランザクション数Bを減少させる。
図11は、処理1(S6)の詳細な内容を示すフロー図である。図3の条件判定S5で「yes」の場合、処理が開始する。
ハッシュ処理部103は、例えば社員情報テーブル400にもハッシュ管理情報テーブル500にもタイムスタンプがないオブジェクトを特定し、それらのオブジェクトを複数個纏める。纏める個数は固定値であってもよいし、例えばB/n(nは所定の整数)のように定めてもよい。あるいは、すべてのオブジェクト(すなわちB個)をまとめてもよい。
制御部101は、纏めたオブジェクト毎に、オブジェクトID501とそれから計算したオブジェクトハッシュ502をハッシュ管理情報テーブル500に登録する(S61)。
次に、ハッシュ処理部103は、オブジェクトハッシュ502からルートハッシュを計算し、制御部101は、ルートハッシュ503をハッシュ管理情報テーブル500に登録する(S62)。
次に、制御部101は、ハッシュ管理情報テーブル500のオブジェクトID501とそれから計算したオブジェクトハッシュ502を参照し、トランザクション発行部105にブロックチェーン300に対するトランザクションの発行を依頼する。トランザクション発行部105は、オブジェクトID501とオブジェクトハッシュ502に対してトランザクションを発行し、通信部102からブロックチェーン300に対して送信する(S63)。
ブロックチェーン300では、オブジェクトID501とそれに対応するルートハッシュ503を含むトランザクションを受信すると、それらをハッシュ情報記憶部303に登録し、トランザクションIDとタイムスタンプを発行する。トランザクションIDとタイムスタンプは、サーバー装置100に送信される(S64)。
図12は、ハッシュ情報記憶部303に格納されているハッシュ情報テーブル1200の構成及び内容の例を示す図である。図12に示すように、サーバー100から送られてきたオブジェクトID(処理1の場合は複数)1202と、当該オブジェクトから計算したハッシュ(処理1の場合はルートハッシュ)1203、および発行されたトランザクションID1201が登録されている。
ブロックチェーン300から送信されたトランザクションIDとタイムスタンプは、制御部101により、ハッシュ管理情報テーブル500の対応するオブジェクトIDと紐づけられる。制御部101は、ハッシュ管理情報テーブル500に、受信したトランザクションID504とタイムスタンプ505を登録する(S65)。
以上の処理により、トランザクションのコストが割高な場合には、ルートハッシュを用いてトランザクションを減少させることにより、社員情報テーブル400のデータの非改ざん性を保証することができる。
<10.データの登録(処理2によるハッシュの登録)>
図13は、処理2(S7)の詳細な内容を示すフロー図である。図3の条件判定S5で「no」の場合、処理が開始する。
図13は、処理2(S7)の詳細な内容を示すフロー図である。図3の条件判定S5で「no」の場合、処理が開始する。
処理2では、所定時刻までの間に蓄積されたデータ変更要求を全て処理する(S71)。そのため、トランザクション発行部105は、社員情報テーブル400にもハッシュ管理情報テーブル500にもタイムスタンプがないオブジェクトID401とオブジェクトハッシュ405を参照して、すべてのオブジェクトID401とオブジェクトハッシュ405をブロックチェーン300に送信する(S72)。
ブロックチェーン300では、オブジェクトID401とそれに対応するオブジェクトハッシュ405を受信すると、それをハッシュ情報記憶部303のハッシュ情報テーブル1200に登録し、トランザクションIDとタイムスタンプを発行する。トランザクションIDとタイムスタンプは、サーバー装置100に送信される(S73)。
図12に示すように、サーバー装置100から送られてきたオブジェクトID(処理2の場合は単数)1202とそれから計算したハッシュ(処理2の場合はオブジェクトハッシュ)1203、およびこれに対して発行されたトランザクションID1201が登録されている。
ブロックチェーン300から送信されたトランザクションIDとタイムスタンプは、制御部101により、社員情報テーブル400の対応するオブジェクトIDと紐づけられる。制御部101は、社員情報テーブル400に、受信したトランザクションID406とタイムスタンプ407を登録する(S74)。
以上の処理により、トランザクションのコストが割安な場合には、オブジェクトハッシュを用いて、社員情報テーブルのデータの非改ざん性を保証することができる。
<11.データの登録(処理3によるハッシュの登録)>
処理1により、ルートハッシュを用いて低コストでデータの非改ざん性を保証することができる。しかし、ルートハッシュのままだと、再度データが変更された場合、ハッシュ処理部103の負荷が大きいままとなる。また、オブジェクトのどの部分が改ざんされているかを特定することが難しくなる。
処理1により、ルートハッシュを用いて低コストでデータの非改ざん性を保証することができる。しかし、ルートハッシュのままだと、再度データが変更された場合、ハッシュ処理部103の負荷が大きいままとなる。また、オブジェクトのどの部分が改ざんされているかを特定することが難しくなる。
そこで処理3では、ルートハッシュでブロックチェーンのハッシュ情報記憶部303に登録されているオブジェクトを、オブジェクトハッシュで登録するように変更する。処理3を行うタイミングは、処理2と同じくトランザクションのコストが割安な機関である。
図3を再度参照する。処理2(S7)の終了の後で、処理1(S6)を行ったが処理3(S9)を行っていないオブジェクトがあるかどうかを確認する(S8)。これは、先に述べた「状態2」のオブジェクトを抽出する処理によって可能である。「状態2」のオブジェクトがない場合は処理を終了する。「状態2」のオブジェクトがある場合は、処理3(S9)を実行する。
図14は、処理3(S9)の詳細な内容を示すフロー図である。図3の条件判定S8で「yes」の場合、処理が開始する。
最初に制御部101は、処理3で処理するトランザクション数を決定する(S91)。「状態2」のオブジェクトを全て処理する場合には、S91の処理はなくてもよいが、トランザクション数が多くなりすぎることを防ぎたい場合には、上限を設けることができる。数は予め定めた固定値でもよいし、適宜変更してもよい。そして、決定された数のトランザクションを処理する(S92)。
制御部101は、社員情報テーブル400のタイムスタンプ407にタイムスタンプが存在しないオブジェクトに対して、ハッシュ管理情報記憶部113のハッシュ管理情報テーブル500を参照する。ハッシュ管理情報テーブル500の対応するオブジェクトに、タイムスタンプが存在する場合、当該オブジェクトは「状態2」である。
処理2と同様に、トランザクション発行部105は、社員情報テーブル400の「状態2」のオブジェクトID401とオブジェクトハッシュ405に対して、S91で決定された数のオブジェクトに対してトランザクションを発行し、ブロックチェーン300に送信する(S93)。
ブロックチェーン300では、オブジェクトID401とそれに対応するオブジェクトハッシュ405を受信すると、それをハッシュ情報記憶部303のハッシュ情報テーブル1200に登録し、トランザクションID1201とタイムスタンプを発行する。トランザクションIDとタイムスタンプは、サーバー装置100に送信される(S94)。
ブロックチェーン300から送信されたトランザクションIDとタイムスタンプは、制御部101により、社員情報テーブル400の対応するオブジェクトIDと紐づけられる。制御部101は、社員情報テーブル400に、受信したトランザクションID406とタイムスタンプ407を登録する(S95)。
以上の処理により、ルートハッシュでブロックチェーン300に登録されていたオブジェクトが、オブジェクトハッシュによる登録に変更され、以降のデータ変更時の処理負荷が軽減できることになる。
<12.実施例の運用詳細>
図15は、時刻(横軸)と合計手数料(縦軸)の関係を説明するグラフ図である。ここで合計手数料とは、前述のA×Bに対応する。この例の前提として、トランザクション数Bが時間によらず一定で、トランザクション1件あたりの手数料Aが時間により変動する例を示している。この例では手数料Aは昼間高く夜低い。最も手数料が高いのは12時であり、もっとも低いのは0時である。トランザクション数が常に一定の前提のため、手数料の合計額は12時がピークになる。
図15は、時刻(横軸)と合計手数料(縦軸)の関係を説明するグラフ図である。ここで合計手数料とは、前述のA×Bに対応する。この例の前提として、トランザクション数Bが時間によらず一定で、トランザクション1件あたりの手数料Aが時間により変動する例を示している。この例では手数料Aは昼間高く夜低い。最も手数料が高いのは12時であり、もっとも低いのは0時である。トランザクション数が常に一定の前提のため、手数料の合計額は12時がピークになる。
図16は、上記実施例1を適用した際の、時刻とトランザクション数の関係の例を示すグラフ図である。
図17は、図16のトランザクション数の条件で、時刻と合計手数料の関係の例を示すグラフ図である。
実施例1の処理を示す図3の条件分岐S5では、想定される合計手数料が閾値以上になったときルートハッシュを用いる処理1に分岐する。いま図15で合計手数料の閾値1500に定めていた場合、8時から16時までの時間帯は処理1(S6)が適用され、それ以外は処理2(S7)および処理3(S9)が適用される。図16に示すように、処理1(S6)が適用される期間は、ルートハッシュの使用により、トランザクション数は大幅に低下する。
一方、ルートハッシュをオブジェクトハッシュに変更する処理3(S9)は、処理2(S7)と同じ17時から7時までに時間帯に行われる。このとき、図14の処理S91で、処理3において処理するトランザクション数を適切に決めることが有効である。
この実施例では、合計手数料に閾値を設け、処理2によるトランザクションと処理3によるトランザクションの手数料の合計が、閾値を超えないように処理3のトランザクション数を決定する。このとき処理2によるトランザクションは、処理3より優先的に割り当てるものとする。また、処理3はできるだけ早く終了するようにトランザクションを割り当てている。
図17に示すように、合計手数料の閾値を超えないように処理3のトランザクションが発行されていることがわかる。
<13.補足説明>
上記の実施例では、処理2(S7)の後に処理3(S9)を行っているが、順番を逆にしてもよい。ただし、データの非改ざんの保証強度を上げるためには、処理2(S7)を優先したほうが望ましい。
上記の実施例では、処理2(S7)の後に処理3(S9)を行っているが、順番を逆にしてもよい。ただし、データの非改ざんの保証強度を上げるためには、処理2(S7)を優先したほうが望ましい。
上記の実施例では、ブロックチェーンとしてパブリックブロックチェーンを想定したが、プライベートブロックチェーンあるいはコンソーシアムブロックチェーンでもよい。
以上説明した実施例によると、ブロックチェーンへのトランザクションの発生数を調整しつつ、各データ(オブジェクトハッシュ)の非改ざん性を、タイムスタンプにより適切に証明することが可能となる。
実施例では、社員情報テーブル400、ハッシュ管理情報テーブル500の例を示しているが、データ構成はこれに限る必要はない。オブジェクト、およびこれに基づくオブジェクトハッシュ、ルートハッシュ、およびタイムスタンプの関係性が、例えばオブジェクトIDによって特定できるものであれば、他のデータテーブルを用いてもよい。
図14の処理S91で、処理3において処理するトランザクション数を決定する他の例を、実施例2として説明する。
図18は、実施例2を適用した際の、時刻とトランザクション数の関係の例を示すグラフ図である。
図19は、図18のトランザクション数の条件で、時刻と合計手数料の関係の例を示すグラフ図である。
この例では、トランザクション1件あたりの手数料Aが低い時間帯ほど、処理3において処理するトランザクション数を増やすというポリシーにより、トランザクション数を決定している。ポリシーの具体例としては、処理3によるトランザクション数と手数料の関係を反比例の関係とする。あるいは、手数料に反比例した重みづけで、トランザクション数を決定する。
図18のように、処理3によるトランザクション数は、手数料の低い深夜の時間帯に増加している。
図19に示すように、結果として合計手数料の総額を低下させることが可能となる。
実施例1では主にブロックチェーン300としてプライベートブロックチェーンを想定し、トランザクションの経済的コストに着目してシステムを構成した。ブロックチェーンの運営形態には各種あるが、サーバー装置100と同一主体が所有管理するプライベートブロックチェーンの形態も考えられる。このような場合には、トランザクションのコストより、サーバー装置100とブロックチェーン300の間の通信負荷が問題となる。すなわち、通信回線の設計としてはピークの通信量に合わせた回線容量とする必要がある。このため、ピーク時の通信量を低下させることは、回線の設備コストを節減するうえで重要である。
実施例2における、装置構成や処理は実施例1とほぼ同様である。変更点としては、図3の条件分岐処理S5において、「閾値≦トランザクション数」の条件判定を行う。トランザクション数が閾値以上の場合には、処理1(S6)の処理を行う。トランザクション数が閾値より小さい場合には、処理2(S7)および処理3(S9)の処理を行う。
処理S5のためにトランザクション数を取得する必要があるが、図10の処理S44とS45に代えて、トランザクション数すなわちクライアントからの変更要求数をカウントすればよい。
実施例3では、図14の処理S91で、処理3において処理するトランザクション数の決定処理では、所定時間内におけるトランザクション数の合計(処理2と処理3のトランザクションの合計)が閾値を超えないように設定することが望ましい。トランザクション数を制限することで、必要な回線の容量を制限することが可能になる。
サーバー装置100、クライアント装置200、ブロックチェーン300、ネットワーク900、制御部101、通信部102、ハッシュ処理部103、推奨手数料取得部104、トランザクション発行部105、認証情報記憶部111、社員情報記憶部112、ハッシュ管理情報記憶部113、社員情報テーブル400、ハッシュ管理情報テーブル500
Claims (15)
- データオブジェクトを保存する記憶装置と、
前記データオブジェクトのハッシュ値を生成するハッシュ処理部と、
前記ハッシュ値を含むトランザクションを発行するトランザクション発行部と、
前記トランザクションを送信する通信部と、
制御部と、
を備え、
前記ハッシュ処理部は、
複数のデータオブジェクトに基づいたハッシュ値であるルートハッシュを生成する第1のハッシュ生成処理と、
一つのデータオブジェクトに基づいたハッシュ値であるオブジェクトハッシュを生成する第2のハッシュ生成処理と、
を実行可能であり、
前記トランザクション発行部は、
前記ルートハッシュを含むトランザクションを発行する第1のモードと、
前記オブジェクトハッシュを含むトランザクションを発行する第2のモードと、
を実行可能であり、
前記制御部は、
前記トランザクション発行部に対して前記第1のモードと前記第2のモードの切り替えを指示する、
サーバー装置。 - 前記制御部は、
所定の期間において送信すべき前記トランザクションの数を特定し、当該トランザクションを送信するためのコストと閾値を比較し、比較結果に基づいて前記トランザクション発行部に対して前記第1のモードと前記第2のモードの切り替えを指示する、
請求項1記載のサーバー装置。 - 推奨手数料取得部をさらに備え、
前記通信部は、
ブロックチェーンに対して前記トランザクションを送信し、
前記推奨手数料取得部は、
前記ブロックチェーンへのトランザクションの書き込みが即時承認されるための推奨手数料を算出し、
前記制御部は、
前記推奨手数料と前記トランザクションの数に基づいて前記コストを算出する、
請求項2記載のサーバー装置。 - 前記制御部は、
所定の期間において送信すべき前記トランザクションの数を特定し、当該トランザクションの数と閾値を比較し、比較結果に基づいて前記トランザクション発行部に対して前記第1のモードと前記第2のモードの切り替えを指示する、
請求項1記載のサーバー装置。 - 前記ハッシュ処理部は、
前記オブジェクトハッシュに基づいて、前記ルートハッシュを生成する、
請求項1記載のサーバー装置。 - ハッシュ管理情報記憶部をさらに備え、
前記ハッシュ処理部は、
第1のハッシュ生成処理により生成されたルートハッシュと、その基となる複数のデータオブジェクトのオブジェクトIDとの関係を、前記ハッシュ管理情報記憶部に記録し、
前記通信部は、
ブロックチェーンに対して前記トランザクションを送信し、前記ブロックチェーンから前記トランザクションの書き込みが行われたことを示すタイムスタンプを受信し、
前記制御部は、
送信された前記トランザクションが前記ルートハッシュを含むものであり、当該トランザクションに対して前記タイムスタンプを受信したときには、前記ハッシュ管理情報記憶部に前記ルートハッシュと前記タイムスタンプを対応付けて記録する、
請求項1記載のサーバー装置。 - 前記制御部は、
前記ハッシュ管理情報記憶部に前記ルートハッシュと前記タイムスタンプが対応付けて記録されているときには、前記第2のモード中に、前記トランザクション発行部に対して、ルートハッシュの基となる複数のデータオブジェクトそれぞれのオブジェクトハッシュを含むトランザクションの発行を指示する、
請求項6記載のサーバー装置。 - データ情報記憶部をさらに含み。
前記制御部は、
送信された前記トランザクションが前記ルートハッシュの基となるデータオブジェクトのオブジェクトハッシュを含むものであり、当該トランザクションに対して前記タイムスタンプを受信したときには、前記データ情報記憶部に前記オブジェクトハッシュと前記タイムスタンプを対応付けて記録する、
請求項7記載のサーバー装置。 - 前記制御部は、
前記ルートハッシュの基となるデータオブジェクトを参照する指示を受け付けたときには、データの状態を示すタイムスタンプとして、前記データ情報記憶部に記録されたタイムスタンプではなく、前記ハッシュ管理情報記憶部に記録されたタイムスタンプを用いる、
請求項8記載のサーバー装置。 - 前記制御部は、
前記第2のモード中に発行されるトランザクションの数を、当該トランザクションを送信するためのコストの合計が閾値以下になるように決定する、
請求項7記載のサーバー装置。 - 前記制御部は、
前記第2のモード中に発行されるトランザクションの数を、当該トランザクションを送信するための1トランザクション当たりのコストと反比例した重みづけにより決定する、
請求項7記載のサーバー装置。 - 前記制御部は、
前記第2のモード中に発行されるトランザクションの数を、閾値以下になるように決定する、
請求項7記載のサーバー装置。 - 請求項1記載のサーバー装置を備え、
前記サーバー装置は、
1または複数のクライアント装置から送信されてきたデータを、前記記憶装置に前記データオブジェクトとして記録し、
前記データオブジェクトの新規の記録あるいは変更に対応して、前記第1のモードまたは前記第2のモードにより、前記データオブジェクトのハッシュ値を含むトランザクションをブロックチェーンに送信し、
前記ブロックチェーンから送信されるタイムスタンプを、前記データオブジェクトと対応付けて記録することで、データの非改ざん性を保証する、
データ管理システム。 - 記憶装置にデータオブジェクトを保存する記憶装置と、
前記データオブジェクトのハッシュ値を生成するハッシュ処理部と、
前記ハッシュ値を含むトランザクションを発行するトランザクション発行部と、
前記トランザクションを送信する通信部と、
を用いるデータ管理方法であって、
前記ハッシュ処理部は、
複数のデータオブジェクトに基づいたハッシュ値であるルートハッシュを生成する第1のハッシュ生成処理と、
一つのデータオブジェクトに基づいたハッシュ値であるオブジェクトハッシュを生成する第2のハッシュ生成処理と、
を実行可能であり、
前記トランザクション発行部は、
前記ルートハッシュを含むトランザクションを発行する第1のモードと、
前記オブジェクトハッシュを含むトランザクションを発行する第2のモードと、
を実行可能であり、
前記第1のモードと前記第2のモードを選択的に実行する、
データ管理方法。 - 前記データオブジェクトの新規の記録あるいは変更に対応して、前記第1のモードまたは前記第2のモードにより、前記データオブジェクトのハッシュ値を含むトランザクションをブロックチェーンに送信し、
前記トランザクションに対応して前記ブロックチェーンから送られてきたタイムスタンプを、前記データオブジェクトと対応付けて記録することで、データの非改ざん性を保証する際に、
所定のデータオブジェクトのハッシュ値が、ルートハッシュを含むトランザクションおよびオブジェクトハッシュを含むトランザクションの両方に含まれている場合、
ルートハッシュを含むトランザクションに対応して送られてきたタイムスタンプを、オブジェクトハッシュのタイムスタンプとして用いる、
データ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019132613A JP2021018514A (ja) | 2019-07-18 | 2019-07-18 | サーバー装置、データ管理システム、およびデータ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019132613A JP2021018514A (ja) | 2019-07-18 | 2019-07-18 | サーバー装置、データ管理システム、およびデータ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021018514A true JP2021018514A (ja) | 2021-02-15 |
Family
ID=74564252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019132613A Pending JP2021018514A (ja) | 2019-07-18 | 2019-07-18 | サーバー装置、データ管理システム、およびデータ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021018514A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022259940A1 (ja) * | 2021-06-10 | 2022-12-15 | キヤノン株式会社 | ブロックチェーンに情報を登録するコンテンツ生成装置、コンテンツ生成装置の制御方法、及びプログラム |
-
2019
- 2019-07-18 JP JP2019132613A patent/JP2021018514A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022259940A1 (ja) * | 2021-06-10 | 2022-12-15 | キヤノン株式会社 | ブロックチェーンに情報を登録するコンテンツ生成装置、コンテンツ生成装置の制御方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190295102A1 (en) | Computer architecture incorporating blockchain based immutable audit ledger for compliance with data regulations | |
US20190340588A1 (en) | Systems and methods for tracking subdivided ownership of connected devices using block-chain ledgers | |
US7814119B2 (en) | Control of data linkability | |
CN110494876A (zh) | 用于在分布式网络节点内发布和追踪数字令牌的系统和方法 | |
CN110494877A (zh) | 用于在分布式网络节点内发布和追踪数字令牌的系统和方法 | |
CN108573741A (zh) | 业务数据记录方法、装置、设备和存储介质 | |
CN109844781A (zh) | 用于从日志文件识别处理流并使流可视化的系统和方法 | |
US20150026823A1 (en) | Method and system for entitlement setting, mapping, and monitoring in big data stores | |
US9971803B2 (en) | Method and system for embedding third party data into a SaaS business platform | |
JP5520330B2 (ja) | 情報取引システム | |
CN110599273B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
JP2021018514A (ja) | サーバー装置、データ管理システム、およびデータ管理方法 | |
KR101219364B1 (ko) | 기관 서버와 업무 서버 간의 연계 서비스에 대한 모니터링 방법 및 모니터링 서버, 그 기록매체 | |
WO2020183726A1 (ja) | 個人情報管理システム、個人情報管理装置、および個人情報管理方法 | |
JP2015103149A (ja) | 管理システムおよび管理システムの制御方法 | |
US20240062232A1 (en) | System And Method For Allocating Digital Data According To Valu of Digital Content | |
WO2020004137A1 (ja) | サービス支援システム、及びサービス支援方法 | |
JP5602782B2 (ja) | 情報提供者端末、及び情報取引方法 | |
EP3147809B1 (en) | Processing files to be stored on virtual drive | |
KR102239144B1 (ko) | 마스크 관리 장치 및 방법 | |
JP2022098952A (ja) | 電子文書管理装置、及び電子文書管理プログラム | |
CN109582720B (zh) | 数据存储方法、装置和存储介质 | |
KR20180090827A (ko) | 로컬거래 인증용 네트웍 브리지 | |
US20150193870A1 (en) | Generating electronic documents (edocs) for transactions | |
JP2008210177A (ja) | 給与情報管理システム、および、給与情報管理方法 |