ブロックチェーン

ブロックチェーンを活用した文書管理システム

今回は、ブロックチェーンを扱った特許明細書を紹介します。

紹介する特許明細書は、
特許出願公開番号「特開2019-121946」
発明の名称「文書管理システム、文書管理方法及び文書管理プログラム」
です。

これまで、公文書の書き換えや事件の証拠となる文書データの日付改ざんなど、文書に関する事件が何度か起きました。電子化されると書き換えが簡単にできてしまうので対策はないのかなとニュースを聞くたびに思っていましたが、ブロックチェーンがその解決策になるようです。

このブログでは、文書の更新をさかのぼって確認できる文書管理システムの特許を紹介します。

これまでの問題

これまでは、文書単体の検証は可能でしたが、更新した文書の場合、

1.元の文書に遡って検索
2.作者、所有者の調査

が困難でした。

この発明の内容

文書の正当性を検証するために、文書の変更履歴を簡単に辿れるような文書管理システム、文書管理方法、文書管理プログラムを発明しました。

特許明細書に添付されている図を元に説明します。なお、【図1】~【図5】は特許明細書より引用しています。

※以下に示発明の内容は、発明の実施形態の一例で、以下の内容に限定するものではありません。

文書管理システムの構成

文書管理システムは、下記の【図1】にある通り、エンティティ10と管理装置30とブロックチェーン20から成り立っています。

この図をもとに、明細書の内容を追加した図を作ってみました。

エンティティ10(情報処理装置)では、新規文書の作成、更新、削除とそれを元にしたトランザクションを生成します。

管理装置10(文書管理装置)では、そのトランザクションを受信し、過去に類似した文書がないかをチェック。問題なければトランザクションとトランザクションをまとめたルートハッシュをブロックに格納します。

トランザクションの構成

エンティティ10で生成されるトランザクションの構成について説明します。

【図2】にトランザクションの構成が示されています。

Aは起点トランザクションの内訳です。
◆起点トランザクション(新規文書のトランザクション)

Bは更新トランザクションの内訳です。
◆更新トランザクション(更新した文書のトランザクション)

※要素の定義
文書の状態:文書全体や抽出された特徴の集合、文書のハッシュ値、文書を格納しているストレージを参照するデータなどいずれもOKです。
ポインタ:更新された文書のもとの文書とのつながりを示すものです。1つの文書から複数の更新があったり、複数の文書が1つに統合されて更新されることもあるので、ポインタは分岐しても統合してもOKです。

ブロックの構成

【図3】にブロックの構成とトランザクション間の関係が示されています。ブロックには複数のトランザクションとそれらのマークルツリーのルートハッシュが格納されています。

上記斜線のAは起点トランザクションで、白いBが更新トランザクションです。点線の矢印がポインタで、更新トランザクションの元のトランザクションを指し示しています。ポインタはブロックをまたいでつながることもあります。このように更新前の文書が延々つながった状態になっています。

文書管理方法

文書作成からブロックチェーンへの登録までの手順は以下の通りです。

新規の文書の作成と管理

新規の文書の作成から、ブロックチェーンのブロックへの登録の手順は、以下の通りです。

1.エンティティ10(情報処理装置)での操作
1-1.秘密鍵と公開鍵のペアを作成します。
1-2.新規の文書を作成します。
1-3.文書の状態とそのハッシュ値に電子署名をつけた起点トランザクションを生成します。
1-4.起点トランザクションを管理装置30(文書管理装置)へ送信します。

2.管理装置30(文書管理装置)での操作
2-1.起点トランザクションを受信します。
2-2.トランザクションの検証をします。既存トランザクションとの類似性をチェックして、同一と判断されるとその起点トランザクションは登録されません。
2-3.内容に問題がないトランザクションは、ブロックのマークルツリーのリーフノードに登録されます。また、定期的にトランザクションのルートハッシュをブロックに登録します。

既存の文書の更新と管理

既存の文書の更新からブロックチェーンまでの登録の手順は以下の通りです。


1.エンティティ10(情報処理装置)での操作
1-1.秘密鍵と公開鍵のペアを作成します。
1-2.既存の文書の更新して、別の文書を生成、または削除します。
1-3.文書の状態、操作情報、元の文書のトランザクションヘのポインタを合わせてハッシュ化したハッシュ値に電子署名をつけた更新トランザクションを生成します。
1-4.更新トランザクションを管理装置30(文書管理装置)へ送信します。

2.管理装置30(文書管理装置)での操作
2-1.更新トランザクションを受信します。
2-2.トランザクションの検証をします。既存トランザクションとの類似性をチェックして、削除に至った文書以外で同一と判断されるとその更新トランザクションは登録されません。
2-3.内容に問題がないトランザクションは、ブロックのマークルツリーのリーフノードに登録されます。また、定期的にトランザクションのルートハッシュをブロックに登録します。

発明によって可能になること

この発明によって、以下のことが可能になります。

1.文書の更新を正しくたどることができる
更新したばかりの文書の類似性をチェックをし、かつ元の文書へのポインタをつけることで、更新ごとのバージョンからオリジナル(最初)の文書まで、正確にたどることが可能になります。また削除した文書でも、オリジナルの文書までの経過をたどることができます。

2.管理機関を必要としない
各文書は、秘密鍵、公開鍵による電子署名が施されているので、管理機関がなくても、その正しさは保証されます。

3.トランザクションの効率的な管理が可能
トランザクションをブロックに格納する際、マークルツリーを適用して最終的にルートハッシュにまとめることにより、多数のトランザクションを効率的に管理することが可能になります。