(57)【要約】      （修正有）【課題】情報の完全性を決定するための方法及びそれを使用するコンピュータシステムを提供する。【解決手段】対象物の情報の完全性を決定するための方法は、対象物の情報に対応する第１のデータを生成し、第１のデータに対応する第１の代表データを生成することと、データベースに第１のデータを記憶し、ブロックチェーンの第１のブロックに第１の代表データを追加することと、データベースから第１のデータを検索するためのコマンドに応答して、データベースから第２のデータを読み出すことと、第１のブロックを使用して、第２のデータが第１のデータと同一であるかどうかを示すことと、を含む。【選択図】図３
2020191091.tif 000002
【特許請求の範囲】
【請求項１】
対象物の情報の完全性を決定するための方法であって、
前記対象物の情報に対応する第１のデータの生成し、前記第１のデータに対応する第１の代表データを生成することと、
前記第１のデータをデータベースに記憶し、前記第１の代表データをブロックチェーンの第１のブロック内に追加することと、
前記データベースから前記第１のデータを検索するためのコマンドに応答して、前記データベースから第２のデータを読み出すことと、
前記第１のブロックを使用して、前記第２のデータが前記第１のデータと同一であるかどうかを示すことと、を含む方法。
【請求項２】
前記第１のデータに対応する前記第１の代表データを生成することは、前記第１の代表データとして前記第１のデータを複製すること、または前記第１のデータの圧縮結果を前記第１の代表データとして取得することを含む、請求項１に記載の方法。
【請求項３】
前記データベースが、前記第１のデータが生成される前に記憶された少なくとも１つのデータを含み、前記第１のデータに対応する前記第１の代表データを生成することが、前記第１のデータおよび前記記憶された少なくとも１つのデータに従って、前記第１の代表データを生成することを含む、請求項１に記載の方法。
【請求項４】
前記ブロックチェーンが、前記第１のブロックが挿入される前に挿入された少なくとも１つのブロックを含み、前記少なくとも１つのブロックが、記憶された少なくとも１つの代表データを含み、前記第１のデータに対応する前記第１の代表データを生成することが、前記第１のデータおよび前記記憶された少なくとも１つの代表データに従って、前記第１の代表データを生成することを含む、請求項１に記載の方法。
【請求項５】
前記第１のデータに対応する前記第１の代表データを生成することが、
マッピングテーブル、公開アルゴリズム、秘密鍵を用いた公開保護アルゴリズムによって前記第１のデータのダイジェストを計算することと、
前記ダイジェストを前記第１の代表データに追加することと、を含む、請求項１に記載の方法。
【請求項６】
前記公開アルゴリズムは、ハッシュ関数、メッセージ認証コード関数、キー導出関数、キーハッシュメッセージ認証コード関数、または認証暗号化モードにおける対称キー暗号ブロック暗号である、請求項５に記載の方法。
【請求項７】
前記第１のブロックを使用して、前記第２のデータが前記第１のデータと同一であるかどうかを示すことが、
前記ブロックチェーン内の第１のブロックから前記第１の代表データを検索することと、
前記第２のデータに対応する第２の代表データを計算することと、
前記第１の代表データと前記第２の代表データを比較して、前記第２のデータが前記第１のデータと同一であるかどうかを決定し、示すことと、を含む、請求項１に記載の方法。
【請求項８】
前記データベースが、前記第１のデータが生成される前に記憶された少なくとも１つのデータを含み、前記ブロックチェーンが、前記記憶された少なくとも１つのデータに対応する少なくとも１つのブロックを含み、当該方法は、
前記記憶された少なくとも１つのデータを取得することと、
前記記憶された少なくとも１つのデータに対応するターゲット代表データを計算することと、
前記ブロックチェーン内の少なくとも１つの記憶されたブロックのブロックからの基本代表データを検索することと、
前記ターゲット代表データと前記基本代表データを比較して、前記データベースの完全性を検証することと、を含む、請求項１に記載の方法。
【請求項９】
前記データベースの完全性が損なわれていることを検証するときに、前記データベースを回復することをさらに含む、請求項８に記載の方法。
【請求項１０】
処理ユニットと、
対象物の情報およびプログラムコードを記憶する記憶ユニットと、を含み、前記プログラムコードは、前記処理ユニットが、
前記対象物の情報に対応する第１のデータの生成し、前記第１のデータに対応する第１の代表データを生成するステップと、
前記第１のデータをデータベースに記憶し、前記第１の代表データをブロックチェーンの第１のブロック内に追加するステップと、
前記データベースから前記第１のデータを検索するためのコマンドに応答して、前記データベースから第２のデータを読み出すステップと、
前記第１のブロックを使用して、前記第２のデータが前記第１のデータと同一であるかどうかを示すステップと、を実行することを指示する、コンピュータシステム。
【請求項１１】
前記第１のデータに対応する前記第１の代表データを生成するステップが、前記第１の代表データとして前記第１のデータを複製すること、または前記第１のデータの圧縮結果を前記第１の代表データとして取得することを含む、請求項１０に記載のコンピュータシステム。
【請求項１２】
前記データベースが、前記第１のデータが生成される前に記憶された少なくとも１つのデータを含み、前記第１のデータに対応する前記第１の代表データを生成するステップが、前記第１のデータおよび前記記憶された少なくとも１つのデータに従って、前記第１の代表データを生成することを含む、請求項１０に記載のコンピュータシステム。
【請求項１３】
前記ブロックチェーンが、前記第１のブロックが挿入される前に挿入された少なくとも１つのブロックを含み、前記少なくとも１つのブロックが、記憶された少なくとも１つの代表データを含み、前記第１のデータに対応する前記第１の代表データを生成することが、前記第１のデータおよび前記記憶された少なくとも１つの代表データに従って、前記第１の代表データを生成することを含む、請求項１０に記載のコンピュータシステム。
【請求項１４】
前記第１のデータに対応する前記第１の代表データを生成するステップが、
マッピングテーブル、公開アルゴリズム、秘密鍵を用いた公開保護アルゴリズムによって前記第１のデータのダイジェストを計算することと、
前記ダイジェストを前記第１の代表データに追加することと、を含む、請求項１０に記載のコンピュータシステム。
【請求項１５】
前記公開アルゴリズムは、ハッシュ関数、メッセージ認証コード関数、キー導出関数、キーハッシュメッセージ認証コード関数、または認証暗号化モードにおける対称キー暗号ブロック暗号である、請求項１４に記載のコンピュータシステム。
【請求項１６】
前記第１のブロックを使用して、前記第２のデータが前記第１のデータと同一であるかどうかを示すステップが、
前記ブロックチェーン内の第１のブロックから前記第１の代表データを検索することと、
前記第２のデータに対応する第２の代表データを計算することと、
前記第１の代表データと前記第２の代表データを比較して、前記第２のデータが前記第１のデータと同一であるかどうかを決定し、示すことと、を含む、請求項１０に記載のコンピュータシステム。
【請求項１７】
前記データベースが、前記第１のデータが生成される前に記憶された少なくとも１つのデータを含み、前記ブロックチェーンが、前記記憶された少なくとも１つのデータに対応する少なくとも１つのブロックを含み、前記プログラムコードは、前記処理ユニットが
前記記憶された少なくとも１つのデータを取得することと、
前記記憶された少なくとも１つのデータに対応するターゲット代表データを計算することと、
前記ブロックチェーン内の少なくとも１つの記憶されたブロックのブロックからの基本代表データを検索することと、
前記ターゲット代表データと前記基本代表データを比較して、前記データベースの完全性を検証することと、を実行することをさらに指示する、請求項１０に記載のコンピュータシステム。
【請求項１８】
前記プログラムコードが、前記処理ユニットが、前記データベースの完全性が損なわれていることを検証するときに、前記データベースを回復することを実行することをさらに指示する、請求項１７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶の方法及びコンピュータシステムに関し、より詳細には、情報の完全性を決定するための方法及びそれを使用するコンピュータシステムに関する。
【背景技術】
【０００２】
トレーサビリティシステムが様々な業界で広く使用されており、消費者がサプライチェーン、マーケティングシステム、物流システムなどの製品の詳細な情報を追跡することを可能にしている。しかしながら、ほとんどのトレーサビリティシステムは生産情報の可視化には至っておらず、消費者の関心や製品情報の真正性を保証することはできないようになっている。
【０００３】
したがって、先行技術を改善する必要がある。
【発明の概要】
【０００４】
したがって、本出願の主たる目的は、対象物の情報の完全性を決定するための方法及びコンピュータシステムを提供し、先行技術の欠点を改善することである。
【０００５】
本発明の実施形態は、対象物の情報の完全性を決定するための方法であって、対象物の情報に対応する第１のデータの生成し、第１のデータに対応する第１の代表データを生成することと、第１のデータをデータベースに記憶し、第１の代表データをブロックチェーンの第１のブロック内に追加することと、データベースから第１のデータを検索するためのコマンドに応答して、データベースから第２のデータを読み出すことと、第１のブロックを使用して、第２のデータが第１のデータと同一であるかどうかを示すことと、を含む方法を開示する。
【０００６】
本発明の実施形態は、プロセッサユニットと、対象物の情報およびプログラムコードを記憶する記憶ユニットと、を含み、プログラムコードは、処理ユニットが、対象物の情報に対応する第１のデータの生成し、第１のデータに対応する第１の代表データを生成するステップと、第１のデータをデータベースに記憶し、第１の代表データをブロックチェーンの第１のブロック内に追加するステップと、データベースから第１のデータを検索するためのコマンドに応答して、データベースから第２のデータを読み出すステップと、第１のブロックを使用して、第２のデータが第１のデータと同一であるかどうかを示すステップと、を実行することを指示する、コンピュータシステムをさらに開示する。
【０００７】
本発明のこれらおよび他の目的は、種々の図面および図画に示されている好ましい実施形態の以下の詳細な説明を読んだ後であれば、疑いなく当業者には明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】先行技術におけるブロックチェーンの概略図である。
【図２】本発明の一実施形態によるシステムの概略図である。
【図３】本発明の一実施形態による完全性検出プロセスの概略図である。
【図４】本発明の一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【０００９】
特定の用語は、特定の構成要素を参照するために、明細書および以下の特許請求の範囲の全体にわたって使用される。当業者が理解するように、製造業者は、異なる名称で構成要素を参照してもよい。本文書は、名前は異なるが機能は異ならない構成要素間を区別することを意図していない。以下の説明および特許請求の範囲では、「含む」および「備える」という用語は、オープンエンド方式で使用され、したがって、「含むが、これに限定されない」ことを意味すると解釈されるべきである。
【００１０】
信頼性を高めるために、「ブロックチェーン」は、先行技術の様々な用途で広く使用されている。ブロックチェーンは、典型的には、ノード間通信のためのプロトコルに集合的に従い、新しいブロックを検証するピアツーピアネットワークによって管理される。いったん記録されると、ネットワークマジョリティのコンセンサスを必要とするすべての後続ブロックの変更なしには、どのブロックのデータも遡及的に変更することができない。
【００１１】
図１は、先行技術のブロックチェーン１０の概略図である。ブロックチェーン１０は、記録されるブロック１００、１０２と、未確認ブロック１０４とを含む。ブロック１００および１０２は、それらが確認された後では変更することができず、ブロック１０４は、ノードの中のネットワークマジョリティよって検証されると確認される。ブロック１０４が確認されると、ブロック１０６がブロック１０４の後に挿入され得る。したがって、ブロックチェーン１０の完全性は、任意の所与のブロックのデータを変更することができないため、保証することができる。
【００１２】
しかしながら、ブロックチェーン１０のブロックサイズは、ブロックチェーンプロトコル、例えば、ビットコインキャッシュについての３２ＭＢによって制限される。ブロックチェーン技術が情報を記録するためにトレーサビリティシステムに適用される場合、トレーサビリティシステムによって提供される記憶能力は制限されることあり、写真、オーディオ、ビデオのようなマルチメディアデータを記録することは許容されない。一方、ブロックチェーンの複数のブロックにマルチメディアデータを分割して格納する場合、マルチメディアデータへのアクセス効率が低下することがある。
【００１３】
大型データを記録し、記録されたデータの信頼性と完全性を維持するために、本発明はデータベースとブロックチェーンの両方を使用する。なお、本発明において記録すべきデータは対象物の情報であってもよく、対象物が、中古車販売システムにおける中古車、トレーサビリティシステムにおける農産物、輸出入貨物申告システムにおける貨物等の有形の物品又は商品であってもよい。代替的に、対象物が、財産又は不動産の所有権等の無形又は仮想の財産であってもよい。
【００１４】
対象物の違いにより、対象物の情報が対象物の異なる状態を表してもよい。例えば、対象物が中古車である場合、中古車が検査、売却等されるときに、その情報は変化することがある。対象物が農産物である場合、農産物が農産物のトレーサビリティシステムにおける施肥、農薬、包装、輸送等の異なるプロセスを経ると、その情報は変化することがある。対象物が輸出入貨物申告システムの貨物である場合、輸出入貨物申告システムの異なる段階の貨物であると、その情報は変化することがある。対象物が所有権である場合、所有権が移転、相続、又は廃止されるときに、変化することがある。対象物の情報を記録するためには、特に情報が変化するときに、大型のマルチメディアデータが必要されることがある。例えば、中古車の場合、中古車の写真、車のエンジン音のオーディオ等で対象物の情報が記録されることがある。農産物の場合、施肥プロセスのビデオ、または政府からの文書で対象物の記録することができる。
【００１５】
データベース内のデータが改ざんされることを防止するために、本発明は、対象物の情報に対応するデータを記録し、その情報の信頼性を維持するために、データベースおよびブロックチェーンをさらに調整する。
【００１６】
詳細には、図２は、本発明の一実施形態によるシステム２０の概略図である。図２に示すように、システム２０は、データベース２２とブロックチェーン２４とを備える。データベース２２は、写真、オーディオ、ビデオ、他の種類のデータ等のデータを記憶するためのデータフィールド２２０、２２２および２２４を備える。ブロックチェーン２４は、ブロック２４０、２４２、および２４４を備え、一旦確認されると、確認されたブロックは変更できない。システム２０では、データベース２２のデータフィールド２２０、２２２、および２２４は、ブロックチェーン２４のブロック２４０、２４２、および２４４に対応しており、本発明は、データベース２２の完全性を維持するためにブロックチェーン２４を利用する。より具体的には、データベース２２のデータフィールド２２０、２２２、および２２４は、特に対象物の情報が変化するときに、対象物の情報に対応するデータを記憶するために利用され、ブロックチェーン２４のブロック２４０、２４２、および２４４は、データフィールド２２０、２２２、および２２４に記憶されたデータに対応する代表データを記録するために利用される。換言すれば、本発明の実施形態は、データベース２２に記憶されているデータに対応する代表データを生成し、その代表データをブロックチェーン２４のブロックに追加する。このような状況では、データフィールド２２０、２２２、および２２４に記憶されたデータに対応するブロック２４０、２４２、および２４４内の代表データが変更されない可能性があるため、データベース２２の信頼性を高めることができ、あるいは、場合によっては、ブロック２４０、２４２、および２４４内の代表データを使用して、データベース２２内のデータが改ざんされているかどうかを示すことができる。
【００１７】
例えば、システム２０が中古車マーケティングシステムに適用され、そこでの中古車が検査される場合、システム２０内の対象物の情報が変化することを意味し、データベース２２は、（オペレータによって入力され得る）検査結果に対応する１つ以上の写真を記憶し、ブロックチェーン２４が、データベース２２に記憶された写真に対応する代表データを記録することができる。したがって、システム２０は、データベース２２を介して中古車の履歴又は取引データを記録し、記録されたデータがブロックチェーン２４を介して修正されるかどうかを検出し、マーケティングシステムの信頼性を高めるようにすることができる。別の例では、システム２０が輸出入貨物申告システムに適用される場合、システム２０は、証明書を通過させる、税金を支払われるなど、変更された貨物の状態をその中に記憶することができる。さらに別の例では、システムは、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）ベースの機器と協働して製品モニタリングを実行し、例えば、農産物トレーサビリティシステムに適用されるシステム２０は、各プロセスの情報を記憶してもよく、例えば、農産物が施肥されるときに、システム２０は、カメラなどのＩｏＴベースの機器をトリガして、ビデオまたは写真を自動的に捕捉し、ビデオまたは写真をデータベース２２に記憶し、ブロックチェーン２４に対応する代表データを生成することができる。
【００１８】
分かるように、システム２０は、ブロックチェーン技術に基づいて記憶されたデータの信頼性を維持しながらマルチメディアデータを記憶するのに十分なスペースをシステム２０が有するように、データベース２２に大型のデータを記憶し、ブロックチェーン２４にデータベース２２のデータに対応する代表データを記憶することができる。
【００１９】
一方、システム２０がＤＮＡ報告書認証システムに適用されるときに、ＤＮＡ報告書は非常にプライベートであり、厳密に秘密に保持されるべきであるため、権限のないユーザはデータベース２２にアクセスできないことがある。しかし、利用者は、元のデータに触れる代わりに、代表データを比較することによって、ＤＮＡ報告書の完全性を検証することができる。例えば、ＤＮＡ報告がデータフィールド２２０に記憶され、代表データがブロック２４０内に対応して記憶される場合、ユーザは、データベース２２に記憶されたデータのプライベート性を維持することができる状態でブロック２４０内の代表データのみを検索することができる。
【００２０】
なお、データベース２２が改ざんされているかどうかを検出するために、代表データが利用されてもよい。一実施形態では、代表データは、データがデータベース２２において生成／入力されるときに生成される。例えば、ブロックチェーン２４のブロック２４０、２４２、および２４４内の代表データは、データベース２２のデータフィールド２２０、２２２、および２２４内のデータを複製すること（すなわち、ブロックチェーン２４はデータベース２２のバックアップとしてとられる）、またはデータフィールド２２０、２２２、および２２４内のデータに対する圧縮を行うこと（すなわち、ブロックチェーン２４は、データベース２２の圧縮結果を記録する）によって生成することができる。
【００２１】
別の例では、ブロックチェーン２４のブロック２４０、２４２、および２４４内の代表データは、マッピングテーブルまたは公開アルゴリズムを介して、データフィールド２２０、２２２、および２２４内のデータのダイジェストを計算することによって生成することができ、データフィールド２２０、２２２、および２２４内のデータに対応するハッシュ値またはチェックサムを得るようにすることができる。
【００２２】
追加的に、ブロック２４０、２４２および２４４内の代表データの各々を生成することは、データベース２２内の単一のデータフィールドからの計算に限定されない。例えば、ブロック２４０内の代表データは、データフィールド２２０内のデータのセキュア・ハッシュ・アルゴリズム２５６（ＳＨＡ−２５６）ダイジェストを含むことができ、ブロック２４２内の代表データは、挿入ブロック２４０内の代表データおよびデータフィールド２２２内のデータの両方のＳＨＡ−２５６ダイジェストを含むことができ、ブロック２４４内の代表データは、挿入ブロック２４０、２４２内の代表データおよびデータフィールド２２４内のデータのＳＨＡ−２５６ダイジェストを含むことができる。換言すれば、代表データは、データベース２２に記憶された全てのデータ及びブロックチェーン２４に記憶された全ての代表データに基づいて計算され得る。
【００２３】
一方、実施形態において、代表データは、記憶されたデータの１つおよび記憶されたダイジェストの１つに従って計算され得る。例えば、ブロック２４０内の代表データはフィールド２２０のＳＨＡ−２５６ダイジェストを含むことができ、ブロック２４２内の代表データは挿入ブロック２４０内の代表データおよびデータフィールド２２２内のデータのＳＨＡ−２５６ダイジェストを含むことができ、ブロック２４４内の代表データは挿入ブロック２４２内の代表データおよびデータフィールド２２４内のデータのＳＨＡ−２５６ダイジェストを含むことができる。
【００２４】
分かるように、代表データは、ブロックチェーン内の少なくとも確認されたブロック内の少なくとも記憶された代表データ、および／またはデータベース内の少なくとも記憶されたデータに従って計算され得る。当業者は、本明細書に限定されないが、適宜、決定規則および変更を修正することができる。
【００２５】
ブロックチェーン２４の衝突抵抗のために、システム２０に対する攻撃者は、同じダイジェストで偽のデータを生成することが困難であり、そのアバランシェ効果のために、攻撃者がビットを元のデータに１ビット修正を加えるときでも、データフィールドのハッシュ値が劇的に変化する可能性があり、すなわち、攻撃者は、システム２０のデータを容易に修正することができず、データの完全性が保証され得る。一方、システム２０の完全性は、データベース２２内の最後のデータフィールドとブロックチェーン２４内の最後のブロックとの間の代表データを比較することによって容易に検証され得る。これにより、攻撃者が偽のデータをデータベースに追加し、偽のデータに対応する偽の代表データを追加する場合でも、１つのデータフィールドと１つのブロックの間だけでなく、複数のデータフィールドとブロックの組み合わせの間にも関係性があるため、あらゆる攻撃を検出することができる。
【００２６】
要するに、本発明は、データベース内にデータを記憶し、記憶されたデータに対応する代表データを生成し、代表データをブロックチェーンのブロックに追加する。したがって、ブロックが確認されると、ユーザは、データベースからデータを読み出し、また、データに対応する代表データを含むブロックも検索して、データの完全性を決定するようにすることができる。
【００２７】
例えば、ブロックチェーン２４のブロック２４０、２４２、および２４４内の代表データがデータベース２２内のデータフィールド２２０、２２２、および２２４からそれぞれ重複している場合、ユーザは、変更することができない確認されたブロック２４０、２４２、および２４４から重複データを検索することによって、データベース２２のデータフィールド２２０、２２２、および２２４の完全性を検出することができる。より具体的には、ブロックチェーン２４内の代表データはデータベース２２内のデータから計算されるので、データベース２２内のデータの完全性は、ブロックチェーン２４内の代表データをデータベース２２内のデータと比較することによって検出され得る。換言すれば、ユーザがデータベース２２からデータを読み出すとき、ユーザは、読み出されるデータに対応する代表データを含むブロックも検索することもできる。したがって、ユーザは、読み出されるデータが、代表データとデータとの間の関係に従って、以前に記憶されたデータと同一であるかどうかを決定することができる。
【００２８】
さらに、ブロックチェーン２４のブロック２４０内の代表データがデータベース２２のデータフィールド２２０に対するＳＨＡ−２５６のハッシュ値である場合、衝突抵抗とアバランシェ効果のために、攻撃者はデータベース２２内のデータフィールド２２０を改ざんすることが困難である。したがって、データベース２２内のデータの完全性を保証することができる。
【００２９】
一実施形態では、代表データがデータフィールドおよびデータベース２２内の少なくとも記憶されたデータフィールドに基づいて計算される場合、データベース２２は検証され、どのデータフィールドがバイナリサーチによって改ざんされるかが決定され得る。より具体的には、アバランシェ効果のために、ブロックチェーン２４内の代表データは改ざんされたデータフィールドの後に変更され、従って、中間データフィールドの完全性が、データベース２２の半分の整合性を保証し、検証される必要がある半分のデータベース内の中間要素の完全性も、そのようにすることによって、データベース２２の４分の１を保証し、攻撃者が改ざんしたデータフィールドを容易に発見することができる。
【００３０】
上記の動作は、図３に示すように、完全性検出プロセス３０に要約することができる。完全性検出プロセス３０は、システム２０において利用され、以下のステップを含む：
【００３１】
ステップ３００：開始する。
【００３２】
ステップ３０２：対象物の情報に対応する第１のデータを生成し、第１のデータに対応する第１の代表データを生成する。
【００３３】
ステップ３０４：第１のデータをデータベース２２に記憶し、第１の代表データをブロックチェーン２４の第１のブロックに追加する。
【００３４】
ステップ３０６：データベース２２から第１のデータを検索するためのコマンドに応答して、データベース２２から第２のデータを読み出す。
【００３５】
ステップ３０８：第１のブロックを使用して、第２のデータが第１のデータと同一であるかどうかを示す。
【００３６】
ステップ３１０：終了する。
【００３７】
完全性検出プロセス３０では、対象物の情報がデータベース２２のデータフィールド２２０〜２２４内にデータとして記録され、システム２０はそれに応じて代表データを生成してブロックチェーン２４のブロック２４０〜２４４を形成する。ユーザがデータベース２２から指定されたデータを読み出そうとするときに、ユーザは指定されたデータを検索するためのコマンドを送信することができる。ブロックチェーン２４は、変更することができない、データベース２２に記憶されたデータに対応する代表データを記録するため、ユーザは、検索されたデータが読み出すことを意図された指定されたデータと同一であるかどうかを決定するために、検索されたデータと対応する代表データとの間の関係を検出して、データの信頼性を高め、改ざんされた情報を受け取ることを防止するようにする。さらに、データフィールドに対応する代表データが、例えば、データベース２２のデータを複製することによって、またはデータベース２２のデータに対して圧縮を行うことによって、可逆的である場合、システム２０は、可逆的代表データに従って元のデータを完全に再構築するか、またはその完全性が損なわれたときにデータベース２２を回復させることができる。
【００３８】
例えば、ブロックチェーン２４のブロック２４０〜２４４内の代表データがデータベース２２のデータフィールド２２０〜２２４内のデータを複製することによって生成される場合、データベース２２は、ブロックチェーン２４からデータベース２２に代表データをコピーすることによってブロックチェーン２４から回復され得る。同様に、ブロックチェーン２４のブロック２４０〜２４４内の代表データが、データベース２２のデータフィールド２２０〜２２４内のデータに対する圧縮を行うことによって生成される場合、データベース２２は、データベースの完全性が損なわれたときに、ブロック２４０、２４２および２４４に対する解凍によってブロックチェーン２４から回復され得る。
【００３９】
特に、システム２０は、本発明の一実施形態であり、当業者は、修正および変更を行ってもよい。例えば、データベース２２は、任意の量のデータフィールドを含んでもよく、３つに限定されず、同様に、ブロックチェーン２４内のブロックの量は、３つに任意の数であってもよく、３つに限定されない。さらに、データフィールドは、複数のコンピュータに記憶されてもよく、同じ物理的な場所に配置されてもよく、または相互接続されたコンピュータのネットワーク上に分散されてもよい。一実施形態では、データフィールドは、オペレータの手動入力によって生成されてもよく、機械によって自動的に生成されてもよく、またはブロックチェーン内のスマートコントラクトによってトリガされてもよい。
【００４０】
追加的に、ブロックチェーン２４は、元のメインチェーンを拡張し、トランザクションプライバシー保護技術、スマートコントラクトなどの新しい機能を追加し、高頻度トランザクションまたはカスタマイズされたトランザクションをメインチェーンの外側に位置付けることができる複数のサイドチェーンを含むことができる。さらに、サイドチェーン（プラズマチェーン）で計算した結果をメインチェーンに保存するために、プラズマプロトコルを適用することができる。
【００４１】
さらに、トランザクションの両方の当事者のプライバシー保護を改善するために、リング署名秘密トランザクション（通常、RingCTと呼ばれる）を、トランザクションの隠蔽に適用することができる。当業者は、修正および改変を行うことができ、これに限定されない。例えば、オーファンブロックへの無効記憶を回避するために、確認番号を２０に設定することができる。
【００４２】
特に、データフィールドに対応するブロック内の代表データの数は、１に限定されなくてもよい。例えば、ブロック２４０は、データフィールド２２０のダイジェストとデータフィールド２２０の圧縮結果、またはデータフィールド２２０に対応するシリアル番号、記憶時間、および提出者などの他の情報とのダイジェストを含むことができる。したがって、データベースは、ブロック２４０に記憶されたダイジェストによって完全性が保証されてもよく、データベースの完全性が損なわれたときに、ブロック２４０に記憶された圧縮結果によってデータベースが回復され得る。
【００４３】
さらに、ダイジェストを計算するための方法は、当技術分野において周知である。実施形態において、ダイジェストは、記録装置のアイデンティティに従って計算され得る。例えば、システム２０がトレーサビリティシステムに適用される場合、輸入申告プロセスの各ステップの各引受人は、対応するステータスをシステム２０に記録すべきである。引受人の身元を確認するために、代表データは、データフィールド２２４に従って、マッピングテーブル、公開アルゴリズム、または秘密鍵を用いた公開保護アルゴリズム、秘密鍵を用いた公開保護アルゴリズムであるメッセージ認証コード関数ＨＭＡＣ−ＳＨＡ２５６などによって計算され得る。したがって、同じデータの代表データは、異なる引受人の入力によって異なる。ハッシュ関数、メッセージ認証コード関数、キー導出関数、キーハッシュ（keyed-hash）メッセージ認証コード関数、認証暗号化モードにおける対称キー暗号ブロック暗号など識別検証の方法は、当業者には既知であり、これは簡潔のために本明細書では説明しない。
【００４４】
一実施形態では、システム２０がマーケティングシステムに適用される場合、代表データは、マーケティングシステム内の製品のポインタＩＤをさらに含むことができる。例えば、製品の寸法、重量、高さ、および価格などの統計をデータベース２２に記憶することができ、ブロック２４０および２４２はそれぞれポインタＩＤ００００および０００２を有する製品に対応することができる。しかし、売り手がポインタＩＤ  ００００を有する製品の統計を修正したい場合、確認されたブロック２４０が変更不可能であるため、売り手はポインタＩＤ  ００００を有する新しいデータを挿入することができる。例えば、中古車販売システムにおいて、ポインタＩＤ  ００００を有する青色の中古車がデータフィールド２２０内で赤色の中古車として誤って記録され、手動入力エラーのためにブロック２４０に代表データが対応して記憶された場合、引受人は、データフィールド２２２内に同じポインタＩＤを有する正しいデータを記録することによりバージョン履歴を確立し、ブロック２４０が確認された後に、変更不可能である記憶された代表データを修正、置換、付加する必要があることを記述するために、代表データが対応して生成される。さらに、任意のユーザは、製品のポインタＩＤによってマーケティングシステム全体に関する分類された情報を分析することができ、例えば、ユーザは、最新の代表データを検索するために特定のポインタＩＤを使用することができ、または、ユーザは、同じポインタＩＤを有する、データベースに記録された対象物の情報のバージョン間の差異を検索することができる。
【００４５】
なお、システム２０および／または完全性検出プロセス３０は、コンピュータシステムによって実施および／または実行されてもよいことに留意されたい。例えば、図４は、本発明の一実施形態によるコンピュータシステム４０の概略図である。図４に示すように、コンピュータシステム４０は、処理ユニット４００および記憶ユニット４０２を備える。一実施形態では、システム４０の各ユニットは、特定用途向け集積回路（ＡＳＩＣ）によって実装され得る。一実施形態では、処理ユニット４００は、アプリケーション・プロセッサ（ＡＰ）またはデジタル信号プロセッサ（ＤＳＰ）であってもよく、処理ユニット４００は、上述のデータベースおよびブロックチェーンのアクセスを実装する中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、またはテンソル処理ユニット（ＴＰＵ）であってもよく、これらに限定されない。記憶ユニット４０２は、本発明の完全性検出プロセス３０の機能を実行するように処理ユニット４００に指示するために、対象物の情報とプログラムコードを記憶することができる。記憶ユニット４０２は、ＲＯＭ（読み出し専用メモリ）、ＲＡＭ  （ランダムアクセスメモリ）、ＣＤ−ＲＯＭ、光データ記憶装置、電気的に消去可能なプログラマブル読み出し専用メモリなどの不揮発性メモリ、またはフラッシュメモリであってもよく、これらに限定されない。
【００４６】
特に、上述の実施形態は、本出願の概念を例示するために利用される。同じブロックに対応する複数のデータフィールドが存在し、例えば、対象物の情報がデータベース２２のデータフィールド２２０、２２２内に記録されてもよく、システム２０はそれに応じて代表データを生成し、ブロックチェーン２４の同じブロック２４０内の２つのトランザクションに追加する。当業者は、それに応じて修正および変更を行ってもよく、本明細書では、実際のシナリオに適合するように限定されない。例えば、システム２０は、ＤＮＡ報告書記憶システム、サプライチェーン金融システム、不動産マーケティングシステムおよびＩｏＴベースの製品モニタリングを伴う／伴わないトレーサビリティシステムに適用することができる。したがって、データ完全性が保証された状態でブロックチェーンと協働してデータを記憶、バックアップ、および回復するデータベースがあれば、本出願の要件は満たされ、本出願の範囲内である。
【００４７】
要約すると、本発明は、データベースとブロックチェーンとの間の関係を確立することによって、データベースとブロックチェーンに適用される対象物の情報の完全性を決定するための方法を提供する。データベースに記憶されたデータに対応するブロックチェーンにデータを記憶することにより、データの完全性を確保することができ、バージョン履歴を容易に検索することができ、データをバックアップして復元することができ、データベースの完全性を検証することができる。
【００４８】
当業者は、本発明の教示を保持しつつ、装置および方法の多くの修正および変更を行うことができることを容易に気づくであろう。従って、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。
【図１】
2020191091.tif 000003
【図２】
2020191091.tif 000004
【図３】
2020191091.tif 000005
【図４】
2020191091.tif 000006
【外国語明細書】
2020191091000001.pdf