JP2020028052A - データ管理方法 - Google Patents

データ管理方法 Download PDF

Info

Publication number
JP2020028052A
JP2020028052A JP2018152593A JP2018152593A JP2020028052A JP 2020028052 A JP2020028052 A JP 2020028052A JP 2018152593 A JP2018152593 A JP 2018152593A JP 2018152593 A JP2018152593 A JP 2018152593A JP 2020028052 A JP2020028052 A JP 2020028052A
Authority
JP
Japan
Prior art keywords
data
user
user terminal
contract
terminal
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.)
Withdrawn
Application number
JP2018152593A
Other languages
English (en)
Inventor
友一 水谷
Yuichi Mizutani
友一 水谷
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.)
SKILL Inc
Original Assignee
SKILL Inc
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 SKILL Inc filed Critical SKILL Inc
Priority to JP2018152593A priority Critical patent/JP2020028052A/ja
Publication of JP2020028052A publication Critical patent/JP2020028052A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】分散公開型データベースに不必要なデータを残しにくいデータ管理方法を提供する。【解決手段】データ管理方法は、第1データを取得し、第1データに関連付けられた第2データを取得し、第1データおよび第2データを含む合成データを生成することを含む。データ管理方法は、合成データに一方向性関数を含むアルゴリズムを適用することにより、合成データに基づくビット列を生成することを含む。データ管理方法は、ビット列を、分散公開型データベース20を有するネットワークに送信することを含む。【選択図】図1

Description

本発明は、データ管理方法、特に、分散公開型データベースを用いたデータ管理方法に関する。
従来、分散公開型データベース(ブロックチェーン)を用いたデータ管理方法が知られている(特許文献1参照)。特許文献1は、分散公開型データベースを利用する個人データの管理方法を開示している。具体的には、第1のリモート装置(ユーザのリモート装置)は、運転免許証のような身分証明書から個人データを取得し、ハッシュアルゴリズムを用いて個人データからビット列を生成する。ユーザのリモート装置は、さらに、ネットワークを介して分散公開型データベースに格納するためにこのビット列を送信する。第1のリモート装置は、その後、ネットワークを介して分散公開型データベースからトランザクション番号を受信し、そのトランザクション番号と個人データを第2のリモート装置(認証者のリモート装置)に送信する。第2のリモート装置は、トランザクション番号を使用して、分散公開型データベースから署名されたビット列を検索する。第2のリモート装置は、さらに、受信した個人データからビット列を生成し、署名されたビット列が生成されたビット列と同じであることを検証する。そして、第2のリモート装置は、証明書を作成する。
特表2018−516030号公報
特許文献1の技術は、改ざんされにくい分散公開型データベースの特徴をうまく利用して、個人データの正当性を証明している。しかも、個人データ自体は分散公開型データベースに送信されないので、個人データが公衆に暴露される可能性を低減または排除している。しかし、特許文献1の技術は、分散公開型データベースに不必要なデータを永久に残してしまう可能性を有する。例えば、第1のリモート装置が不正な個人データを利用し、後にそれが判明してその個人データを利用しなくなる場合がある。この場合、不正な個人データから生成され、もはや不必要となったビット列は、分散公開型データベースに永久に保存されることになる。本発明は、分散公開型データベースに不必要なデータを残しにくいデータ管理方法を提供する。
本発明に係るデータ管理方法は、第1データを取得し、第1データに関連付けられた第2データを取得し、第1データおよび第2データを含む合成データを生成することを含む。データ管理方法は、合成データに一方向性関数を含むアルゴリズムを適用することにより、合成データに基づくビット列を生成することを含む。データ管理方法は、ビット列を、分散公開型データベースを有するネットワークに送信することを含む。
このデータ管理方法であれば、第1データと、第1データに関連付けられた第2データが合成された後に、ビット列が生成される。これにより、2つの関連するデータに対して一つのビット列が与えられ、分散公開型データベースに保存される。これにより、例えば、最初に生成された第1データに誤った情報が含まれたために、新たな第1データが作成され、誤った情報を含んだ第1データが不要となったとする。このような場合であっても、新たな第1データと、新たな第1データに関連する第2データが再度合成されて、分散公開型データベースに保管される。このため、不要となる誤った情報を含んだ第1データのみが記録されたブロックが、分散公開型データベースに保存されることを防止できる。
本発明によれば、分散公開型データベースに不必要なデータを残しにくいデータ管理方法を提供できる。
本発明のデータ管理システムの図。 本発明のデータ管理方法のコントラクト登録からコントラクト実行まで一例におけるブロック生成の図。 本発明のデータ管理方法の管理者登録からコントラクト実行までの一例におけるフローチャート。 本発明のデータ管理方法の第1データ作成からトークン取得までのフローチャート。 本発明のデータ管理方法の閲覧リクエストから閲覧表示までのフローチャート。 本発明の第1データ作成から閲覧表示までにおけるブロック生成の図。 比較例の分散公開型データベースにおけるブロック生成の図。
以下、本発明の実施形態について図面を参照しながら説明する。なお、本実施形態では、第1データとして職歴情報を入力し、第2データとして第1データのリファレンス情報を入力する例について説明する。
図1に示すように、データ管理システム2は、ネットワークシステム3と、管理サーバ4と、アクセス制限付きデータベース5と、第1ユーザ端末6と、第2ユーザ端末8と、閲覧者端末10と、を含む。ネットワークシステム3は、分散公開型データベース20を有する。管理サーバ4、ネットワークシステム3、および第1ユーザ端末6から閲覧者端末10までの各端末は、インターネットを介して接続される。また、管理サーバ4、および、第1ユーザ端末6から閲覧者端末10までの各端末は、実際にはCPU、RAM、ROM、通信インターフェースなどを備えて構成された電子計算機であり、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された各部に対応するプログラムが動作することによって実現される。
図1に示すように、ネットワークシステム3は、P2P(Peer to Peer)型ネットワークを介して接続された端末101から端末106(以下各ノードと記す)を含む。本実施形態では、各ノードの台数を6台で示したが、ノードは複数台であればよい。
各ノードは、実際にはCPU、RAM、ROM、通信インターフェースなどを備えて構成された電子計算機であり、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された各部に対応するプログラムが動作することによって実現される。また、各ノードは、それぞれ別のノードと通信を行うとともに、すべてのノードは、同じデータを保存することが可能な状態となっている。さらに、各端末は、ネットワークシステム3にアクセスするためのアカウントアドレスと秘密鍵を作成する。ネットワークシステム3は、各端末に紐づくアカウントアドレスによって、各端末を識別する。
ネットワークシステム3は、分散公開型データベース20を含む。分散公開型データベース20は、ネットワークシステム3上の各ノードに設けられる。図2は、本発明のデータ管理方法のコントラクト登録からコントラクト実行までの一例におけるブロック生成の図である。図2に示すように、分散公開型データベース20は、複数のブロックを保存している。図2のブロック生成の図では、例えば、ブロックは、ブロック21からブロック23の3つである。しかし、分散公開型データベース20は、実際には、多数のブロックが保存されている。複数のブロックには、前のブロックのハッシュ値(例えば図2の221参照)、一度だけ使用される使い捨ての数字で構成される特別な値(以下ノンスと記す)(例えば図2の222参照)、およびトランザクションデータ群(例えば図2の223参照)が記録されている。
トランザクションデータは、各端末または各ノードで生成されたデータを、分散公開型データベース20に記録するために、各端末または各ノードからネットワークシステム3に送信されるデータである。本実施形態では、トランザクションデータは、後述するコントラクトの情報、コントラクトの実行指示、コントラクトの実行結果、およびユーザ間のトークンの移動に関する取引情報を含む。しかし、これに限定されるものではなく、例えば、本発明のデータ管理システム2以外の各端末で生成された取引情報およびコントラクトに関連する情報も含む。図2に示すように、例えば、ブロック21とブロック22に記録された、その他取引情報、および、その他実行結果は、データ管理システム2以外の各端末で生成されたデータのトランザクションデータを示す。
コントラクトは、ネットワークシステム3上の各端末および各ノードの全てが実行可能なプログラムである。本実施形態では、コントラクトは、職歴保存コントラクトと、預託コントラクトである。この他、コントラクトは、各端末に紐づくアカウントアドレスから、管理サーバ4に紐づくアカウントアドレスにトークンを送信するプログラムなどが考えられる。コントラクトは、ネットワークシステム3上で実行する処理を定める部分と、これら処理に入力する変数で構成される。コントラクトを作成する端末は、ネットワークシステム3上で実行する処理を作成すると、これら処理の内容および変数の内用をコンパイルしバイトコードを作成する。また、コントラクトを作成する端末は、各端末とネットワークシステム3が、これら処理の内容と変数を互いに簡単に解読できるようにアプリケーション・バイナリ・インターフェース(以下ABIと記す)を作成する。ネットワークシステム3の分散公開型データベース20には、このバイコードとABIが、コントラクトとして記録される。ネットワークシステム3は、分散公開型データベース20にコントラクトが記録されると、コントラクトアドレスを付与する。各端末は、このコントラクトアドレスとABIを取得し、変数を入力してデータを生成し、ネットワークシステム3にトランザクションデータとして送信することで、コントラクトの実行を指示する。
職歴保存コントラクトは、ネットワークシステム3が、職歴情報を入力したユーザから職歴情報とリファレンス情報を合成した合成データに基づくビット列を取得した際に、管理サーバ4に紐づくアカウントアドレスから、職歴情報を入力したユーザ端末に紐づくアカウントアドレス、および、リファレンス情報を入力したユーザ端末に紐づくアカウントアドレスに対して報酬となるトークン(以下リワードトークンと記す)を移動するという処理を実行するプログラムである。職歴保存コントラクトの変数は、職歴情報を入力するユーザ端末に紐づくアカウントアドレス、および、リファレンス情報を入力するユーザ端末に紐づくアカウントアドレス、合成データに基づくビット列である。さらに、職歴保存コントラクトは、リファレンス情報を入力したユーザのステータスデータを更新する処理を含んだプログラムとしてもよい。本実施形態では、職歴情報を入力するユーザ端末は第1ユーザ端末6である。また、リファレンス情報を入力するユーザ端末は、第2ユーザ端末8である。合成データに基づくビット列は、管理サーバ4が作成し、職歴情報を入力するユーザ端末(本実施形態では第1ユーザ端末6)に送信する。
また、預託コントラクトは、職歴情報を入力したユーザおよびリファレンス情報を入力したユーザから閲覧許可が送信された際に、閲覧する者の端末に紐づくアカウントアドレスから預託されたトークンを、職歴情報を入力したユーザ端末に紐づくアカウントアドレス、および、リファレンス情報を入力したユーザ端末に紐づくアカウントアドレスに移動する処理を実行するプログラムである。預託コントラクトの変数は、閲覧する者の端末に紐づくアカウントアドレス、職歴情報を入力するユーザ端末に紐づくアカウントアドレス、およびリファレンス情報を入力するユーザ端末に紐づくアカウントアドレスである。本実施形態では、閲覧する者の端末は、閲覧者端末10である。職歴情報入力するユーザ端末は第1ユーザ端末6である。また、リファレンス情報を入力するユーザ端末は、第2ユーザ端末8である。
ネットワークシステム3は、以下の処理を実行するネットワークプログラムを含む。ネットワークプログラムは、実際には各ノードに保存され、各ノード間で通信しながらネットワークプログラムを実行する。ネットワークシステム3は、管理サーバ4と、第1ユーザ端末6と、第2ユーザ端末8とのいずれかから、トランザクションデータを受信する。ネットワークシステム3は、トランザクションデータを受信すると、一時的に複数のトランザクションデータを集積する。また、ネットワークシステム3は、各トランザクションデータに、トランザクションアドレスを付与する。ネットワークシステム3は、各ノードの中から分散公開型データベース20にブロックを生成するノード(以下マイナーと記す)を決定する。マイナーは、集積されたトランザクションデータから、トランザクションデータをランダムに抽出し、トランザクションデータ群を生成する。このとき、マイナーは、本発明のデータ管理システム2の各端末が生成したトランザクションデータ以外を抽出することもある。マイナーは、前回のブロックのハッシュ値と一致する数字配列を探し出す演算を実行し、ノンスをハッシュ値に対し付加して、トランザクションデータ群を含む新しいブロックを生成する。その後、マイナーが、マイナー以外の各ノードにブロックを送信する。各ノードは、ブロックの内容を検証したうえで、問題がなければ、各ノードにブロックを追加する。この結果、各ノードに全く同じデータが保存される。このような分散公開型データベース20は、ブロックチェーンと称され、データの改ざんの防止に使用される。なお、各ノードは、管理サーバ4、第1ユーザ端末6から閲覧者端末10までの各端末を含んで構成されてもよい。
また、ネットワークシステム3は、コントラクトの保存、実行の処理についても同様に、各端末からトランザクションデータを受信して処理する。すなわち、コントラクトの保存と実行の処理は、マイナーによって実行される。但し、ネットワークシステム3は、コントラクトを保存する処理がトランザクションデータに含まれる場合は、このコントラクトに対してコントラクトアドレスを付与する。
管理サーバ4は、職歴情報およびリファレンス情報を、管理者によって管理する端末である。管理サーバ4は、以下の処理を実行する管理プログラムを含む。管理サーバ4は、職歴情報とリファレンス情報の合成データを作成し、合成データに対し一方向性関数を含むアルゴリズムを適用することにより、合成データに基づくビット列を作成する。一方で、職歴情報、リファレンス情報、および合成データに基づくビット列を、アクセス制限付きデータベース5に格納する。また、管理サーバ4は、閲覧者端末10から閲覧要求があった際に、アクセス制限付きデータベース5の情報と、分散公開型データベース20に格納された情報の整合を確認し、閲覧者端末10に閲覧用画面を表示させる。整合する情報については、後述する。なお、本実施形態では、一方向性関数を含むアルゴリズムは、ハッシュアルゴリズムである。また、合成データに基づくビット列は、ハッシュ値である。しかし、一方向関数を含むアルゴリズムであれば、ハッシュアルゴリズムに限定されない。例えば、一方向関数を含むアルゴリズムは、チェックサムアルゴリズムでもよい。その場合、ビット列は、ハッシュ値の代わりにチェックサム値となる。
また、管理サーバ4は、職歴保存コントラクトおよび預託コントラクトを生成し、ネットワークシステム3にトランザクションデータとして送信する。管理サーバ4は、職歴保存コントラクトおよび預託コントラクトとして、ネットワークシステム3上で実行する処理を管理サーバ4上で作成し、これらをバイトコードに変換して、ネットワークシステム3に送信する。また、管理サーバ4は、ユーザがアクセス可能な領域に設けるWebサイト、もしくは、ダウンロード可能なアプリケーションプログラムを保存している。また、アプリケーションプログラムは、管理者によって第三者のプラットホームを通じて配布されてもよい。ユーザは、これらWebサイトもしくはアプリケーションプログラムをダウンロードすることで、管理サーバ4およびネットワークシステム3にアクセスする。また、管理サーバ4は、各端末が作成したアカウントアドレスを取得し、保存している。
アクセス制限付きデータベース5は、分散公開型データベース20と異なるデータベースである。アクセス制限付きデータベース5は、アクセス制限付きデータベース5にアクセスできるユーザを制限することができ、アクセス制限付きデータベース5に保存されるデータへの権限のないユーザによるアクセスを制限する。なお、アクセス制限付きデータベース5は、アクセス制限可能なデータベースの一例であり、これに限定されるものではない。例えば、ネットワークシステム3上に保存されるブロックと異なるデータベース保存エリア(以下サイドチェーンと記す)を設けて、サイドチェーンに職歴情報およびリファレンス情報を保存してもよい。この場合、職歴情報およびリファレンス情報は、可逆暗号化され保存される。さらに、職歴情報とリファレンス情報は、秘密鍵によってデータの参照が制御される。これにより、職歴情報およびリファレンス情報へアクセスが制限される。
第1ユーザ端末6は、第1ユーザによって職歴情報が入力される端末である。ここで職歴情報は、例えば、職歴や、職場での評価、職業の実績、承認者(第2ユーザ)などの情報である。第1ユーザ端末6は、例えば、職歴情報の入力欄を含む画面を第1ユーザに提示する。第1ユーザは、例えば、その入力欄にテキストデータを入力することにより、職歴情報を入力することができる。また、第1ユーザは、例えば、職歴情報を含む文書ファイルをその入力欄にドラッグアンドドロップすることにより、職歴情報を入力することができる。いずれにせよ、第1ユーザは、職歴情報を入力することによって、第1データを生成する。また、第1ユーザ端末6は、承認者を選択する画面を提示し、第1ユーザが第2ユーザを検索できるようにしてもよい。第1ユーザは、例えば、承認者として第2ユーザを選択することで、第2ユーザに対して、リファレンス情報を作成するようにリクエストできる。第1ユーザ端末6は、管理サーバ4にアクセスし、Webサイトまたはアプリケーションプログラムをダウンロードすることで、上述の画面を取得する。
第2ユーザ端末8は、第1ユーザが入力した職歴情報に対して、第1ユーザと異なる第2ユーザが、関連する情報であるリファレンス情報を入力する端末である。ここで、リファレンス情報とは、第1ユーザとの関係に関する情報である。リファレンス情報は、例えば、第1ユーザが入力した職歴情報の内容を承認することを示す承認情報、承認したユーザのステータスデータを含む。ステータスデータは、例えば、課長、部長、社長のような社内での職位の情報であってもよい。また、ステータスデータは、リワードトークンの報酬額や、リファレンス情報の入力回数、他のユーザからリファレンスリクエストを受けた回数に応じた地位を示す情報であってもよい。さらに、ステータスデータは、それらを総合的に計算しスコア化した信用度を示す情報であってもよい。
また、第2ユーザ端末8は、例えば、リファレンス情報の入力欄を含む画面を第2ユーザに提示する。第2ユーザは、例えば、その入力欄にテキストデータを入力することにより、リファレンス情報を入力することができる。また、第2ユーザ端末8が、承認するか否かのチェックボックス、複数のステータスの候補からいずれかを選択するためのチェックボックス、複数の関係の候補からいずれかを選択するためのチェックボックスを表示した画面を提示することとしてもよい。第2ユーザは、例えば、チェックボックスをクリックすることで、リファレンス情報を入力することができる。いずれにせよ、第2ユーザは、リファレンス情報を入力することによって、第2データを生成する。すなわち、リファレンス情報は、第2ユーザの入力行為に起因して生成される。第2ユーザ端末8は、管理サーバ4にアクセスし、Webサイトの閲覧またはアプリケーションプログラムをダウンロードすることで、上述の画面を取得する。
閲覧者端末10は、閲覧者が、職歴情報およびリファレンス情報を閲覧する端末である。閲覧者端末10は、例えば、ユーザを表示した画面と、閲覧リクエストボタンを表示した画面を提示することとしてもよい。さらに、閲覧者端末10は、閲覧するために預託するトークンが表示された画面を表示することとしてもよい。閲覧者は、例えば、表示されたユーザの中から第1ユーザを選択し、閲覧リクエストボタンをクリックすることで、トークンの預託と、第1ユーザおよび第2ユーザの職歴情報とリファレンス情報を閲覧することができる。閲覧者端末10は、管理サーバ4にアクセスし、Webサイトの閲覧またはアプリケーションプログラムをダウンロードすることで、上述の画面を取得する。
次に、図2および図3のフローチャートと用いて、本発明のデータ管理方法における管理者登録からコントラクト実行までのフローを説明する。
図3は、本発明のデータ管理方法の管理者登録からコントラクト実行までにおけるフローチャートである。なお、ユーザ端末は、第1ユーザ端末6を例にあげて説明するが、ユーザが使用する端末であれば第2ユーザ端末8でも、閲覧者端末10でもよい。また、コントラクトは、預託コントラクトであっても、職歴保存コントラクトであってもよい。
管理サーバ4は、ネットワークシステム3にアクセスするための秘密鍵と、管理サーバ4に紐づくアカウントアドレスを作成する(S1)。管理サーバ4は、コントラクトのデータを生成したのち、作成したアカウントと秘密鍵を用いてこれらデータに署名し、トランザクションデータとしてネットワークシステム3に送信する(S2)。ネットワークシステム3は、コントラクトを取得し(S3)、コントラクトアドレスを発行する(S4)。また、ネットワークシステム3は、マイナーによって抽出されたコントラクト含むトランザクショデータ群223(図2参照)を、分散公開型データベース20のブロック21(図2参照)に記録する(S5)。
管理サーバ4は、コントラクトアドレスを取得し(S6)、管理サーバ4のユーザがアクセス可能な領域に設けるWebサイト、もしくは、第1ユーザ端末6にダウンロード可能なアプリケーションプログラムに、コントラクトアドレスを組み込む(S7)。
第1ユーザ端末6は、管理サーバ4にアクセスすることで、管理サーバ4に保存されているWebサイトにアクセスする、もしくは、アプリケーションプログラムをダウンロードする(S8)。第1ユーザ端末6は、ネットワークシステム3にアクセスするための秘密鍵と、第1ユーザ端末6に紐づくアカウントアドレスを作成し、第1ユーザ端末6に紐づくアカウントアドレスを管理サーバ4に送信する(S9)。管理サーバ4は、第1ユーザ端末6に紐づくアドレスを取得し、保存する(S10)。また、第1ユーザ端末6は、管理サーバ4にアクセスすることで、管理サーバ4に保存されているWebサイトにアクセスする、もしくは、アプリケーションプログラムをダウンロードすることで、コントラクトアドレスとABIを取得する(S11)。第1ユーザ端末6は、取得したコントラクトアドレスから実行すべきコントラクトを特定する。さらに第1ユーザ端末6は、取得したABIの情報に対し変数を入力する。第1ユーザ端末6は、これら情報を含むコントラクト実行指示のためのデータを生成し、作成したアカウントと秘密鍵を用いてこれらデータに署名し、トランザクションデータとしてネットワークシステム3に送信する(S12)。
ネットワークシステム3は、コントラクト実行指示を含むトランザクションデータを集積し(S13)、トランザクションアドレスを発行する(S14)。また、ネットワークシステム3は、マイナーによって抽出されたコントラクト実行指示を含むトランザクショデータ群224(図2参照)を、分散公開型データベース20のブロック22(図2参照)に記録する(S15)。さらに、ネットワークシステム3は、コントラクトを実行し(S16)、実行結果のデータを生成する(S17)。その後、マイナーによって抽出されたコントラクト実行結果を含むトランザクショデータ群225(図2参照)を、分散公開型データベース20のブロック23(図2参照)に記録する(S18)。
次に図4および図5のフローチャート、および図6を用いて、データ管理システム2における、第1ユーザによる職歴情報の入力から閲覧者による職歴情報の閲覧までのフローについて説明する。なお、本実施形態では、図3に示すフローチャートに基づいて、職歴保存コントラクトと、預託コントラクトが分散公開型データベース20に保存された状態である。また、第1ユーザ端末6、第2ユーザ端末8、および閲覧者端末10は、管理サーバ4に保存されるWebサイトにアクセスする、または、管理サーバ4からアプリケーションプログラムをダウンロードすることで、職歴保存コントラクトおよび預託コントラクトのコントラクトアドレスを取得している状態である。同様に、第1ユーザ端末6、第2ユーザ端末8、および閲覧者端末10は、秘密鍵およびアカウントアドレスを作成し、ネットワークシステム3へ送信するデータに対し、署名が可能状態である(図3のS9参照)。また、第1ユーザ端末6、第2ユーザ端末8、および閲覧者端末10のそれぞれに紐づくアカウントアドレスは、管理サーバ4に保存された状態である(図3のS10参照)。これにより、第1ユーザ端末6、第2ユーザ端末8、および閲覧者端末10は、管理サーバ4に保存されるWebサイトにアクセスする、または、管理サーバ4からアプリケーションプログラムをダウンロードすることで、各端末に紐づくアカウントアドレスを取得可能な状態である。
図4は、本発明のデータ管理方法における第1データ作成からトークン取得までのフローチャートである。図6は、第1データ作成から閲覧表示までにおけるブロック生成の図である。第1ユーザが第1ユーザ端末6に職歴情報を入力することで、第1ユーザ端末6に第1データが生成(作成)される。第1ユーザ端末6に、職歴情報が入力されると、第1ユーザ端末6は、職歴情報を管理サーバ4に送信する(S101)。また、第1ユーザ端末6は、第1ユーザに提示した選択画面で第2ユーザが選択されることで、第2ユーザに対するリファレンス情報(第2データ)の生成のリクエストを管理サーバ4に送信する(S102)。さらに第1ユーザ端末6は、第2ユーザが選択された際に、第2ユーザ端末8に紐づくアカウントアドレスを取得する。管理サーバ4は、第1ユーザ端末6から職歴情報を取得する(S103)。また管理サーバ4は、第2ユーザに対するリファレンス情報を生成するリクエストを取得する(S104)。管理サーバ4は、リファレンス情報の生成リクエストの取得を受けて、第1ユーザと異なる第2ユーザに対するリファレンス情報の生成のリクエストを第2ユーザ端末8に送信する(S105)。
第2ユーザ端末8は、リファレンス情報の入力リクエストを取得し(S106)、第2ユーザがリファレンス情報を入力することで、第2ユーザ端末8にリファレンス情報が生成される。すなわち、リファレンス情報は、職歴情報が生成された第1時刻よりも遅い第2時刻に生成される。第2ユーザ端末8は、リファレンス情報が生成されると管理サーバ4にリファレンス情報を送信する(S107)。その後、管理サーバ4は、リファレンス情報を取得する(S108)。
管理サーバ4は、職歴情報とリファレンス情報の両方を取得すると、職歴情報とリファレンス情報の合成データを作成する(S109)。一方、管理サーバ4は、合成データに対し一方向性関数を含むアルゴリズムを適用することにより、合成データに基づくビット列を作成する(S110)。その後、管理サーバ4は、職歴情報およびリファレンス情報を、アクセス制限付きデータベース5に保存する(S111)。管理サーバ4は、ビット列の作成を受けて、リファレンス情報の完了通知を生成する。また、管理サーバ4は、第1ユーザ端末6に完了通知、およびビット列を送信する(S112)。
第1ユーザ端末6は、リファレンス情報の完了通知、およびビット列を取得すると(S113)、登録データの確認画面を生成する(S114)。第1ユーザ端末6は、第1ユーザによる登録情報の確認が完了すると(S114)、職歴保存コントラクトのコントラクトアドレスと、ABIに基づく変数を入力する。ここで、変数は、第1ユーザ端末6に紐づくアカウントアドレス、第2ユーザ端末8に紐づくアカウントアドレス、および合成データのビット列である。第1ユーザ端末6は、これら変数を入力し、職歴保存コントラクトを実行するためのデータを生成する(S115)。第1ユーザ端末6は、職歴保存コントラクトの実行指示のデータに署名し、トランザクションデータとしてネットワークシステム3に送信する(S116)。なお、S113からS116までの処理が、図3のS11からS12の処理に相当する。
ネットワークシステム3のマイナーは、ビット列を含むトランザクションデータを取得すると、職歴保存コントラクトの実行指示を分散公開型データベース20の、ブロック201(図6参照)に記録する(S117)。ネットワークシステム3のマイナーは、職歴保存コントラクトを実行し、職歴保存コントラクトに基づいて、管理サーバ4に紐づくアカウントアドレスから第1ユーザ端末6および第2ユーザ端末8に紐づくアカウントアドレスにリワードトークンを移動する(S118)。その後、管理サーバ4は、分散公開型データベース20からリワードトークンのアドレスの移動情報を取得し、管理サーバ4から第1ユーザ端末6および第2ユーザ端末8にリワードトークンの移動通知を送付する(S119)。第1ユーザ端末6および第2ユーザ端末8は、リワードトークンの移動通知を受け取る(S120、S121)。また、このとき、第2ユーザのステータスデータを更新してもよい。ステータスデータの更新とは、例えば、ステータスデータが第2ユーザのリファレンス情報の入力回数に応じた地位であった場合に、リファレンス情報の入力回数を1回増加させることを示す。
また、ネットワークシステム3のマイナーは、実行結果を第3ブロック203(図6参照)に保存するためのトランザクションデータ群205(図6参照)を生成する。実行結果は、ビット列を保存する処理の完了、および、リワードトークンのアドレスの移動の処理の完了を示す。その後、マイナーによって、ビット列およびリワードトークン取引情報を含むトランザクションデータ群205が第3ブロック203に記録される(S122)。
次に、データ管理システム2の職歴情報およびリファレンス情報の閲覧についてのフローについて説明する。図5は、本発明のデータ管理方法における閲覧リクエストから閲覧表示までのフローチャートである。
図5に示すように、閲覧者は、管理サーバ4に保存されるWebサイトにアクセスする、または、管理サーバ4からアプリケーションプログラムをダウンロードすることで、管理サーバ4から預託コントラクトのコントラクトアドレスを受け取る(S201、S202)。閲覧者が、第1ユーザの職歴情報およびリファレンス情報の閲覧操作をすると、閲覧者端末10は、第1ユーザ端末6に紐づくアカウントアドレス、および第2ユーザ端末8に紐づくアカウントアドレスを取得するとともに、管理サーバ4に閲覧リクエストを送信する(S203)。また、閲覧者端末10は、預託コントラクトのコントラクトアドレスおよびABIに基づいて、変数の第1ユーザ端末6に紐づくアカウントアドレス、および第2ユーザ端末8に紐づくアカウントアドレスを入力し、預託コントラクト実行指示のデータを生成する。閲覧者端末10は、生成したデータに署名し、トランザクションデータとしてネットワークシステム3に送信する(S204)。なお、S202からS204までの処理が、図3のS11からS12までの処理に相当する。ネットワークシステム3のマイナーは、第2ブロック202(図6参照)に取引情報を記録する(S205)
管理サーバ4は、閲覧リクエストを取得すると(S206)、閲覧許可リクエストを第1ユーザ端末6および第2ユーザ端末8に送信する(S207)。第1ユーザおよび第2ユーザによって閲覧が許可されると、第1ユーザ端末6および第2ユーザ端末8は、閲覧許可をネットワークシステム3に送信する(S208)。
ネットワークシステム3のマイナーは、閲覧許可を取得すると、預託コントラクトに基づいて閲覧者端末10に紐づくアカウントアドレスから、第1ユーザ端末6に紐づくアカウントアドレスおよび第2ユーザ端末8に紐づくアカウントアドレスへトークンを移動する。また、ネットワークシステム3のマイナーは、第4ブロック204(図6参照)に取引情報を記録する(S209)。第1ユーザ端末6および第2ユーザ端末8は、トークンの移動通知を受け取る(S210)。
管理サーバ4は、閲覧許可を取得した後、ネットワークシステム3から、ビット列およびその他必要な情報を取得する(S211、S212)。その後、管理サーバ4は、アクセス制限付きデータベース5から、第1ユーザの職歴情報、および第2ユーザのリファレンス情報を取得する(S213)。管理サーバ4は、第1ユーザの職歴情報、および第2ユーザのリファレンス情報を合成し、合成データに基づくビット列を再作成する(S214)。管理サーバ4は、取得した合成データに基づくビット列と分散公開型データベース20のビット列との整合性を検証し(S215)、整合する場合は閲覧画面を生成し閲覧者端末10へ送信する(S216)。
図7は、比較例の分散公開型データベースにおけるブロック生成の図である。比較例のブロックでは、第1データは第1ブロック301に記録される。また、第2データは、第1データと別の第2ブロック302に記録される。その後、例えば第1データが修正されたとする。この場合、第1データの修正データは、また別のブロックである第3ブロック303に記録される。さらに、第2データは第1データと関連した場合、第2データは第1データの修正を反映して、さらに別のブロックである第4ブロック304に記録される。このとき、第1データおよび第2データは不必要なデータとなる。これにより、第1ブロック301および第2ブロック302を生成する際に必要となった、マイナーの実行したハッシュ値と一致する数字配列を探し出す演算が無駄となる。このように、無駄なブロックが生成されると、分散公開型データベースの演算負荷が重くなる。また、マイナーは、演算を行った報酬として、トークンを受け取る場合がある。マイナーに支払う報酬は、ブロック生成にかかる手数料としてユーザおよび管理者から徴収される。このように、無駄なブロックが生成された場合、ユーザおよび管理者に無駄な手数料が発生する。
本発明のデータ管理システム2によれば、第1データと第2データは合成されて一つのビット列が作成される。すなわち、最初に生成された第1データに誤った情報が含まれたために、新たな第1データが作成され、誤った情報を含んだ第1データが不必要となったとする。このような場合であっても、新たな第1データと、新たな第1データに関連する第2データが再度合成されて、分散公開型データベースに保管される。このため、不必要となる誤った情報を含んだ第1データのみが記録されたブロックや、この第1データと関連する第2データのみが記録されたブロックが、分散公開型データベース20に保存されることを防止できる。このため、分散公開型データベース20は、不必要なデータが記録された状態のブロックが残りにくい。これにより、不必要なブロックを生成する際に発生する演算が少なくなり、ネットワークシステム3の演算負荷を軽くすることができる。また、ユーザおよび管理者に無駄な手数料が発生することを防止できる。
また、本発明のデータ管理システム2によれば、分散公開型データベース20に保存されるデータは、合成データのビット列である(図4のS110参照)。職歴情報およびリファレンス情報は、アクセス制限付きデータベース5に保存される(図4のS111参照)。アクセス制限付きデータベース5に保存された職歴情報、およびリファレンス情報を合成して、再度ビット列を作成する(図5のS214参照)。アクセス制限付きデータベース5に保存した職歴情報およびリファレンス情報のいずれかが改ざんされた場合、合成データに基づいて再作成したビット列が、分散公開型データベース20に保存したビット列と異なることとなる。これにより、分散公開型データベース20の改ざん防止機能を利用することで、信頼性の高いデータ管理方法が提供できる。さらに、本発明のデータ管理システム2では、アクセス制限付きデータベース5に、個人情報である職歴情報およびリファレンス情報を保存する。これにより、個人情報を保護し、さらに信頼性の高いデータ管理方法が提供できる。
さらに、本発明のデータ管理システム2によれば、コントラクトを用いて、ユーザ間や、ユーザおよび閲覧者との間の決まりごとを、より自由に設定することができる。また、本発明のデータ管理システム2によれば、コントラクトを用いてユーザおよび閲覧者間のトークンのやり取りを自由に規定することができる。このため、ユーザおよび閲覧者間の利益を自由に規定できる。この結果、ユーザビリティーの高いデータ管理方法が提供できる。
<他の実施形態>
(a)上記実施形態では、第1データとして職歴情報を入力し、第2データとして第1データのリファレンス情報を入力する例について説明したが、これに限定されるものではない。例えば、第1データとして、質問を入力し、第2データとして質問に対する回答を入力してもよい。また、第1データとして、対戦ゲームにおける自分のアクションであり、第2データとして、それに関連する相手のアクションであってもよい。いずれにせよ、第2データは、第1データと関連するデータであればよい。
(b)上記実施形態では、第1データと、第1データと関連する第2データの2つのデータを例に説明したが、これに限定されるものではない。データは、2つ以上の関連のあるデータであればよい。
(c)上記実施形態では、第1ユーザと、第2ユーザと、閲覧者とそれに対応する、第1ユーザ端末6、第2ユーザ端末8、および閲覧者端末10を例に説明したが、ユーザと、閲覧者の数は、1ユーザ以上であれば、さらに多くのユーザと閲覧者がいてもよい。
2 :データ管理システム
3 :ネットワークシステム
4 :管理サーバ
5 :アクセス制限付きデータベース
6 :第1ユーザ端末
8 :第2ユーザ端末
10 :閲覧者端末
20 :分散公開型データベース
101、102、103、104、105、106 :端末(ノード)
本発明に係るデータ管理方法は、分散公開型データベースを有するネットワークに接続された電子計算機が第1データを取得し、第1データを取得した電子計算機が第1データに関連付けられた第2データを取得し、第1データおよび第2データを取得した電子計算機が第1データおよび第2データを含む合成データを生成することを含む。データ管理方法は、合成データを取得した電子計算機が合成データに一方向性関数を含むアルゴリズムを適用することにより、合成データに基づくビット列を生成することを含む。データ管理方法は、ビット列を取得した電子計算機が分散公開型データベースを有するネットワークにビット列を送信することを含む。また、データ管理方法は、分散公開型データベースが前記ビット列を保存し、第1データは、第1ユーザが利用する電子計算機により生成され、第2データは、第1ユーザとは異なる第2ユーザが利用する電子計算機により生成されることを含む。

Claims (7)

  1. 第1データを取得し、
    前記第1データに関連付けられた第2データを取得し、
    前記第1データおよび前記第2データを含む合成データを生成し、
    前記合成データに一方向性関数を含むアルゴリズムを適用することにより、前記合成データに基づくビット列を生成し、
    前記ビット列を、分散公開型データベースを有するネットワークに送信する、
    ことを含むデータ管理方法。
  2. 前記第1データは、第1ユーザにより生成され、
    前記第2データは、前記第1ユーザとは異なる第2ユーザにより生成される、
    請求項1に記載のデータ管理方法。
  3. 前記第1データの取得を受けて、前記第2データの生成のリクエストを前記第2ユーザに送信し、
    前記リクエストに対する前記第2ユーザの行為に起因して、前記第2データを生成する、
    ことをさらに含む請求項2に記載のデータ管理方法。
  4. 前記第2ユーザのステータスを示すステータスデータを取得することをさらに含み、
    前記合成データは、前記ステータスデータをさらに含む、
    請求項2または3に記載のデータ管理方法。
  5. 前記第2データの取得を受けて、前記第2ユーザにトークンを送信する、
    ことをさらに含む請求項2から4のいずれか1項に記載のデータ管理方法。
  6. 前記第1データは、第1時刻に生成され、
    前記第2データは、前記第1時刻より遅い第2時刻に生成される、
    請求項1から5のいずれか1項に記載のデータ管理方法。
  7. 前記合成データを、前記分散公開型データベースとは異なる、アクセス制限可能なデータベースに保存する、
    請求項1から6のいずれか1項に記載のデータ管理方法。
JP2018152593A 2018-08-14 2018-08-14 データ管理方法 Withdrawn JP2020028052A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018152593A JP2020028052A (ja) 2018-08-14 2018-08-14 データ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018152593A JP2020028052A (ja) 2018-08-14 2018-08-14 データ管理方法

Publications (1)

Publication Number Publication Date
JP2020028052A true JP2020028052A (ja) 2020-02-20

Family

ID=69620414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018152593A Withdrawn JP2020028052A (ja) 2018-08-14 2018-08-14 データ管理方法

Country Status (1)

Country Link
JP (1) JP2020028052A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021144514A (ja) * 2020-03-12 2021-09-24 SingulaNet株式会社 個人情報管理システム及び個人情報管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
JP2017157926A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2018116509A (ja) * 2017-01-18 2018-07-26 富士通株式会社 ブロックチェーン管理方法、ブロックチェーン管理プログラム、ブロックチェーン管理装置、及びブロックチェーン管理システム
JP2018128823A (ja) * 2017-02-08 2018-08-16 株式会社サテライトオフィス 電子ファイル証明システム
WO2019138668A1 (ja) * 2018-01-15 2019-07-18 三菱日立パワーシステムズ株式会社 遠隔サービスシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
JP2017157926A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2018116509A (ja) * 2017-01-18 2018-07-26 富士通株式会社 ブロックチェーン管理方法、ブロックチェーン管理プログラム、ブロックチェーン管理装置、及びブロックチェーン管理システム
JP2018128823A (ja) * 2017-02-08 2018-08-16 株式会社サテライトオフィス 電子ファイル証明システム
WO2019138668A1 (ja) * 2018-01-15 2019-07-18 三菱日立パワーシステムズ株式会社 遠隔サービスシステム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"「銀行」手本に信頼を再構築", 日経コンピュータ, vol. 第951号, JPN6019031809, 9 November 2017 (2017-11-09), JP, pages 34 - 37, ISSN: 0004097037 *
大澤昇平ほか: "ブロックチェーンアプリケーション開発の実践と今後の課題", ソフトウェアエンジニアリングシンポジウム2017論文集, JPN6019031808, 23 August 2017 (2017-08-23), JP, pages 204 - 211, ISSN: 0004097036 *
石黒尚久ほか, 図解入門最新ブロックチェーンがよ〜くわかる本, vol. 第1版, JPN6019049704, 1 August 2017 (2017-08-01), pages 183 - 188, ISSN: 0004176790 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021144514A (ja) * 2020-03-12 2021-09-24 SingulaNet株式会社 個人情報管理システム及び個人情報管理方法

Similar Documents

Publication Publication Date Title
JP7075393B2 (ja) ブロックチェーンにより実現されるシステム及び方法
KR20180115727A (ko) 보안 투표 및 분배에서 사용을 위한 블록체인 구현 카운팅 시스템 및 방법
JP2021527274A (ja) ブロックチェーンの分散アクセス、記憶、及び転送
CN102870086A (zh) 具有隐私保护控制的个人属性、倾向、推荐行为和历史事件的数字简档系统
JP5160205B2 (ja) ファイル転送管理のための方法およびシステム
JPWO2019082442A1 (ja) データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム
JP4708177B2 (ja) データベース管理方法および個人情報管理システム
CN110737723B (zh) 卡券领取方法、装置、设备及存储介质
JP2019079502A (ja) アイテム取引システム及びアイテム取引プログラム
JP2019076350A (ja) アイテム取引システム及びアイテム取引プログラム
JP6545888B1 (ja) 情報処理システム、公開鍵の変更方法、およびプログラム
JP7053031B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
KR101946556B1 (ko) 블록체인을 이용하여 족보를 구축하고 열람하는 방법 및 시스템
CN111046078A (zh) 基于区块链的征信查询方法、装置和电子设备
JPWO2020183726A1 (ja) 個人情報管理システム、個人情報管理装置、および個人情報管理方法
Sari et al. FileTribe: blockchain-based secure file sharing on IPFS
US20230360034A1 (en) Profile badges and access control based on digital wallet blockchain activity
Pouwelse et al. Laws for creating trust in the blockchain age
JP5520330B2 (ja) 情報取引システム
Singh et al. Cloud computing security using blockchain technology
Fehnker et al. Twenty percent and a few days–optimising a bitcoin majority attack
JP7393343B2 (ja) 制御方法、コンテンツ管理システム、及び、プログラム
JP2020028052A (ja) データ管理方法
JP7457406B2 (ja) 仮想通貨システム
Lashkami et al. A blockchain based framework for complete secure data outsourcing with malicious behavior prevention

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190517

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190517

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200121

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20200327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200327