(57)【要約】  本出願は、ターゲットオブジェクトの第一データバージョンの第一チェック値を判定するステップ（１０１）と、第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第一チェック値についてサーチするステップ（１０２）と、第一チェック値及び第二チェック値に基づいてデータブロックを生成するステップ（１０３）と、データブロックをブロックチェーン内において保存するステップ（１０４）と、を具備する、データ保存、データ認証、及びデータ追跡の方法及び装置を提供する。ブロックチェーン内においてターゲットオブジェクトの第一データバージョンの第一チェック値をデータブロックの形態で保存することにより、ブロックチェーンが、不変であるという特徴を有していることから、データ要求者がターゲットオブジェクトの第一データバージョンに対応するデータコンテンツを取得した際に、データ要求者は、ブロックチェーン内に保存されている第一チェック値に基づいて、第一データバージョンに対応するデータコンテンツが変更されたかどうかをチェックすることにより、第一データバージョンに対応するデータコンテンツの信憑性を判定することが可能であり、データコンテンツの容易な変更に起因した、データコンテンツの信憑性を判定することができない、という問題点を事実上解決することが可能であり、且つ、データ要求者のデータ分析効率を増大させることができる。
2019532550.tif 000002
【特許請求の範囲】
【請求項１】
データ保存方法であって、前記方法は、
ターゲットオブジェクトの第一データバージョンの第一チェック値を判定するステップと、
前記第一データバージョンに隣接する前記ターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチするステップと、
前記第一チェック値及び前記第二チェック値に基づいてデータブロックを生成し、且つ、前記データブロックをブロックチェーン内において保存するステップであって、前記ブロックチェーン内において保存された前記データブロックは、不変である、ステップと、
を具備する、方法。
【請求項２】
ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する前記ステップは、
前記第一データバージョンにおける前記ターゲットオブジェクトのデータコンテンツサマリを判定するステップと、
予め設定されたアルゴリズム及び前記データコンテンツサマリに従って、前記ターゲットオブジェクトの前記第一データバージョンの前記第一チェック値を算出するステップと、
を具備する、請求項１に記載のデータ保存方法。
【請求項３】
前記第一チェック値及び前記第二チェック値に基づいてデータブロックを生成する前記ステップは、
前記データブロックを生成し、且つ、予め設定されたフォーマットに従って前記第一チェック値及び前記第二チェック値を前記データブロックのデータヘッダ内において書き込むステップ、
を具備する、請求項１に記載のデータ保存方法。
【請求項４】
前記方法は、
前記第一データバージョンにおける前記ターゲットオブジェクトのデータコンテンツサマリ、又は前記第二チェック値、又は前記ターゲットオブジェクトの前記第一データバージョンのデータコンテンツを前記データブロックのデータボディ内において書き込むステップ、
を更に具備する、請求項３に記載のデータ保存方法。
【請求項５】
前記方法は、
前記ターゲットオブジェクトの前記第一データバージョンのデータコンテンツをクラウドデータゲートウェイ又はデータベース内において保存するステップ、
を更に具備する、請求項３に記載のデータ保存方法。
【請求項６】
前記データブロックを前記ブロックチェーン内において保存した後に、前記方法は、
前記ターゲットオブジェクトの前記第一データバージョンのバージョン識別子と前記データブロックのブロック識別子との間のマッピング関係を保存するステップ、
を更に具備する、請求項１に記載のデータ保存方法。
【請求項７】
前記データブロックをブロックチェーン内において保存する前記ステップは、
リンクされたデータ構造に従って、前記データブロックを前記ブロックチェーンに追加するステップ、
を具備する、請求項１から請求項６までのいずれか一項に記載のデータ保存方法。
【請求項８】
データ認証方法であって、前記方法は、
データ認証要求を受け取るステップであって、前記データ認証要求は、認証対象データのデータバージョンのバージョン識別子と、前記認証対象データのデータコンテンツに基づいて取得されたチェック値と、を具備する、ステップと、
前記データ認証要求内に含まれている前記データバージョンの前記バージョン識別子に基づいて、ブロックチェーン内において、前記データバージョンの前記バージョン識別子に対応する予め保存されたチェック値についてサーチするステップと、
前記データ認証要求内に含まれている前記受け取られたチェック値及び前記サーチを介して取得された前記チェック値に基づいて、前記認証対象データの前記データコンテンツを認証するステップと、
を具備する、方法。
【請求項９】
前記データ認証要求内に含まれている前記受け取られたチェック値及び前記サーチを介して取得された前記チェック値に基づいて、前記認証対象データの前記データコンテンツを認証するステップは、
前記データ認証要求内に含まれている前記受け取られたチェック値が、前記サーチを介して取得された前記チェック値と同一である際に、前記認証対象データの前記データコンテンツは本物であると判定するステップと、
前記データ認証要求内に含まれている前記受け取られたチェック値が、前記サーチを介して取得された前記チェック値と異なっている際に、前記認証対象データの前記データコンテンツは変更されていると判定するステップと、
を具備する、請求項８に記載のデータ認証方法。
【請求項１０】
前記データ認証要求内に含まれている前記データバージョンの前記バージョン識別子に基づいて、前記ブロックチェーン内において、前記データバージョンの前記バージョン識別子に対応する予め保存されたチェック値についてサーチするステップは、
データバージョンのバージョン識別子とデータブロックのブロック識別子との間の予め保存されたマッピング関係に基づいて、前記データ認証要求内の前記データバージョンの前記バージョン識別子に対応するデータブロックのブロック識別子を判定するステップと、
前記ブロック識別子に対応する前記判定されたデータブロックから、前記データバージョンの前記バージョン識別子に対応する前記チェック値を読み取るステップと、
を具備する、請求項８又は請求項９に記載のデータ認証方法。
【請求項１１】
データ追跡方法であって、前記方法は、
データバックトラッキング要求を受け取るステップであって、前記データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備する、ステップと、
前記第一データバージョンの前記バージョン識別子に基づいて、ブロックチェーン内において、前記第一データバージョンの前記バージョン識別子を含むデータブロックについてサーチし、且つ、前記データブロックから、前記第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得するステップと、
前記第二データバージョンの前記取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの初期バージョンの前記バージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングするステップと、
前記データブロックに基づいて、前記バックトラッキング対象データの前記初期バージョンに対応するデータコンテンツを判定するステップと、
を具備する、方法。
【請求項１２】
前記第二データバージョンの前記取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングする前記ステップは、
データバージョンの取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックが取得される時点まで、
前記ブロックチェーン内において、前記データバージョンの前記取得されたバージョン識別子を含むデータブロックについてサーチし、且つ、前記取得されたデータバージョンに隣接する以前のデータバージョンのバージョン識別子を前記データブロックから取得する、ことと、
前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックが取得される時点まで、上述の動作の循環的な実行をトリガする、ことと、
という動作を実行するステップ、
を具備する、請求項１１に記載のデータ追跡方法。
【請求項１３】
データ保存装置であって、前記装置は、
ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する判定モジュールと、
前記第一データバージョンに隣接する前記ターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチするサーチユニットと、
前記第一チェック値及び前記第二チェック値に基づいてデータブロックを生成し、且つ、前記データブロックをブロックチェーン内において保存する保存モジュールであって、前記ブロックチェーン内において保存された前記データブロックは、不変である、保存モジュールと、
を具備する、装置。
【請求項１４】
ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する前記判定モジュールは、
前記第一データバージョンにおける前記ターゲットオブジェクトのデータコンテンツサマリを判定することと、
予め設定されたアルゴリズム及び前記データコンテンツサマリに従って前記ターゲットオブジェクトの前記第一データバージョンの前記第一チェック値を算出することと、
を具備する、請求項１３に記載のデータ保存装置。
【請求項１５】
前記第一チェック値及び前記第二チェック値に基づいてデータブロックを生成する前記保存モジュールは、
前記データブロックを生成し、且つ、前記第一チェック値及び前記第二チェック値を予め設定されたフォーマットに従って前記データブロックのデータヘッダ内において書き込むこと、
を具備する、請求項１３に記載のデータ保存装置。
【請求項１６】
前記データ保存装置は、書込みモジュールを更に具備し、
前記書込みモジュールは、前記第一データバージョンにおける前記ターゲットオブジェクトのデータコンテンツサマリ、又は前記第二チェック値、又は前記ターゲットオブジェクトの前記第一データバージョンのデータコンテンツを前記データブロックのデータボディ内において書き込む、
請求項１５に記載のデータ保存装置。
【請求項１７】
前記保存モジュールは、前記ターゲットオブジェクトの前記第一データバージョンのデータコンテンツをクラウドデータゲートウェイ又はデータベース内において保存する、
請求項１５に記載のデータ保存装置。
【請求項１８】
前記保存モジュールは、前記データブロックを前記ブロックチェーン内において保存した後に、前記ターゲットオブジェクトの前記第一データバージョンのバージョン識別子と前記データブロックのブロック識別子との間のマッピング関係を保存する、
請求項１３に記載のデータ保存装置。
【請求項１９】
ブロックチェーン内において前記データブロックを保存する前記保存モジュールは、
リンクされたデータ構造に従って、前記データブロックを前記ブロックチェーンに追加すること、
を具備する、請求項１３又は請求項１８に記載のデータ保存装置。
【請求項２０】
データ認証装置であって、前記装置は、
データ認証要求を受け取る受信モジュールであって、前記データ認証要求は、認証対象データのデータバージョンのバージョン識別子と、前記認証対象データのデータコンテンツに基づいて取得されたチェック値と、を具備する、受信モジュールと、
ブロックチェーン内において、前記データ認証要求内に含まれている前記データバージョンの前記バージョン識別子に基づいて、前記データバージョンの前記バージョン識別子に対応する予め保存されたチェック値についてサーチするサーチモジュールと、
前記データ認証要求内に含まれている前記受け取られたチェック値及び前記サーチを介して取得された前記チェック値に基づいて、前記認証対象データの前記データコンテンツを認証する認証モジュールと、
を具備する、装置。
【請求項２１】
前記データ認証要求内に含まれている前記受け取られたチェック値及び前記サーチを介して取得された前記チェック値に基づいて前記認証対象データの前記データコンテンツを認証する前記認証モジュールは、
前記データ認証要求内に含まれている前記受け取られたチェック値が、前記サーチを介して取得された前記チェック値と同一である際に、前記認証対象データの前記データコンテンツは本物であると判定することと、
前記データ認証要求内に含まれている前記受け取られたチェック値が、前記サーチを介して取得された前記チェック値と異なっている際に、前記認証対象データの前記データコンテンツは変更されていると判定することと、
を具備する、請求項２０に記載のデータ認証装置。
【請求項２２】
前記ブロックチェーン内において、前記データ認証要求内に含まれている前記データバージョンの前記バージョン識別子に基づいて、前記データバージョンの前記バージョン識別子に対応する予め保存されたチェック値についてサーチする前記サーチモジュールは、
データバージョンのバージョン識別子とデータブロックのブロック識別子との間の予め保存されたマッピング関係に基づいて、前記データ認証要求内の前記データバージョンの前記バージョン識別子に対応するデータブロックのブロック識別子を判定することと、
前記ブロック識別子に対応する前記判定されたデータブロックから、前記データバージョンの前記バージョン識別子に対応する前記チェック値を読み取ることと、
を具備する、請求項２０又は請求項２１に記載のデータ認証装置。
【請求項２３】
データ追跡装置であって、前記装置は、
データバックトラッキング要求を受け取る受信モジュールであって、前記データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備する、受信モジュールと、
ブロックチェーン内において、前記第一データバージョンの前記バージョン識別子に基づいて、前記第一データバージョンの前記バージョン識別子を含むデータブロックについてサーチし、且つ、前記データブロックから、前記第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得し、前記第二データバージョンの前記取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの初期バージョンの前記バージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングするバックトラッキングモジュールと、
前記データブロックに基づいて、前記バックトラッキング対象データの前記初期バージョンに対応するデータコンテンツを判定する判定モジュールと、
を具備する、装置。
【請求項２４】
前記第二データバージョンの前記取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングする前記バックトラッキングモジュールは、
データバージョンの取得されたバージョン識別子に基づいて、前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックが取得される時点まで、
前記ブロックチェーン内において、前記データバージョンの前記取得されたバージョン識別子を含むデータブロックについてサーチし、且つ、前記データブロックから、前記取得されたデータバージョンに隣接する以前のデータバージョンのバージョン識別子を取得することと、
前記バックトラッキング対象データの前記初期バージョンの前記バージョン識別子を含むデータブロックが取得される時点まで、上述の動作の循環的な実行をトリガすることと、
という動作を実行すること、
を具備する、請求項２３に記載のデータ追跡装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年８月１９日付けで出願された第 201610694496.6 号という出願番号及び「データ保存、データチェック、及びデータ連結の方法及び装置（Data Storage, Data Check, and Data Linkage Method and Apparatus）」という発明の名称を有する中国特許出願の優先権を主張するものであり、この特許文献は、引用により、そのすべてが本出願に包含される。
【０００２】
本出願は、インターネット情報処理の技術分野に関し、詳しくは、データ保存、データ認証、及びデータ追跡の方法及び装置に関する。
【背景技術】
【０００３】
デジタル化情報時代においては、データは、もはや、冷たいテキスト記録ではなく、生産価値を含む情報リソースである。データ内に含まれている情報リソースを正確に分析するには、データ保存の信憑性を保証する必要がある、即ち、データベース内に保存されているデータがオリジナルのデータであることを保証する必要がある。
【０００４】
所謂データ追跡は、変化情報の記録及びそのライフサイクル全体にわたる（生成から、散布を経て、消滅するまでの）オリジナルデータのコンテンツの変化処理として理解することができる。オリジナルのデータを検討することにより、そのライフサイクル全体にわたってオリジナルデータの変化を追跡することができると共に、オリジナルデータのデータの出所を判定することができる。これは、データ提供者及びデータ要求者にとって重要な事柄である。
【０００５】
現在、データ提供者は、データベース内においてデータを保存しており、且つ、データベース内において、保存対象データコンテンツのみならず、保存対象データに関係するその他の情報（例えば、データの生成者、データがバージョンの変更を有しているかどうか、及びデータ生成の時刻）をも、保存している。データ要求者が、データベースからのデータの取得を必要としている際には、データ提供者は、取得対象データにアクセスするためのデジタル署名をデータ要求者に提供することになる。データ要求者は、このデジタル署名に基づいて、取得対象データをデータベースから取得し、且つ、取得対象データの信憑性をチェックする。
【０００６】
但し、データ提供者は、データをデータベース内において保存しており、且つ、現在使用されている多数のデータベースは、変更機能を有している。データ提供者が、バージョンＡデータをデータ要求者に提供すると約束しているが（バージョンＡデータに対応するデジタル署名は、Ａ１である）、その他の理由から、データ提供者が、バージョンＢデータをデータ要求者に提供しており（但し、データ要求者は、取得されたデータが、バージョンＡデータであるのか、或いは、バージョンＢデータであるのか、を知らない）、且つ、バージョンＢに基づいて取得されるデジタル署名がＢ１であるものと仮定しよう。データ要求者が、取得されたデータがバージョンＡデータであると信じるようにするべく、データ提供者は、データベース内において保存されているバージョンＡデータに対応するデジタル署名を変更することができる、即ち、バージョンＡのデジタル署名をＢ１に変更することができる。この結果、データ要求者がＢ１を使用することによってチェックした際に、チェック結果は、ＯＫとなる。この結果、データ要求者は、取得されたバージョンＢデータが、自身が取得を所望したバージョンＡデータであると信じることになるが、実際には、データ要求者によって取得されたデータは、自身が取得を所望したバージョンＡデータではない。この結果、データ要求者が、取得されたバージョンＢデータに基づいて取得したデータ分析結果は、予想結果を大きく逸脱することになり、その結果、データ要求者に対する損失がもたらされる。
【０００７】
要すれば、現時点の技術におけるデータの容易な改竄に起因した、データの信憑性を判定することができない、という問題点を解決するためのデータ保存方法が緊急に必要とされている。
【発明の概要】
【０００８】
以上の内容に鑑み、本出願の実施形態は、現時点の技術における、データの容易な改竄に起因した、データの信憑性を判定することができない、という問題点を解決するべく、データ保存、データ認証、及びデータ追跡の方法及び装置を提供している。
【０００９】
本出願の実施形態は、データ保存方法を提供しており、方法は、
ターゲットオブジェクトの第一データバーションの第一チェック値を判定するステップと、
第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチするステップと、
第一チェック値及び第二チェック値に基づいてデータブロックを生成し、且つ、データブロックをブロックチェーン内において保存するステップであって、ブロックチェーン内において保存されたデータブロックは、不変である、ステップと、
を具備する。
【００１０】
本出願の実施形態は、データ保存装置を提供しており、装置は、
ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する判定モジュールと、
第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチするサーチユニットと、
第一チェック値及び第二チェック値に基づいてデータブロックを生成し、且つ、データブロックをデータチェーン内において保存する保存モジュールであって、ブロックチェーン内において保存されたデータブロックは、不変である、保存モジュールと、
を具備する。
【００１１】
本出願の実施形態によって採用されている上述の技術的解決策のうちの少なくとも一つは、ターゲットオブジェクトの第一データバージョンの第一チェック値を判定するステップ、第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチするステップ、第一チェック値及び第二チェック値に基づいてデータブロックを生成し、データブロックをブロックチェーン内において保存するステップを通じて、以下のような有益な効果を実現することができる。ターゲットオブジェクトの第一データバージョンの第一チェック値が、データブロックの形態においてブロックチェーン内において保存されている。ブロックチェーンが、不変であるという特徴を有していることから、データ要求者が、ターゲットオブジェクトの第一データバージョンに対応するデータコンテンツを取得した際に、データ要求者は、ブロックチェーン内において保存されている第一チェック値に基づいて、第一データバージョンに対応するデータコンテンツが変更されているかどうかをチェックすることにより、第一データバージョンに対応するデータコンテンツの信憑性を判定することが可能であり、データコンテンツの容易な変更に起因した、データコンテンツの信憑性を判定することができない、という問題点を事実上解決することが可能であり、且つ、データ要求者のデータ分析効率を増大させることができる。
【００１２】
本出願の実施形態は、データ認証方法を更に提供しており、方法は、
データ認証要求を受け取るステップであって、データ認証要求は、認証対象データのデータバージョンのバージョン識別子と、認証対象データのデータコンテンツに基づいて取得されたチェック値と、を具備する、ステップと、
データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、ブロックチェーン内において、データバージョンのバージョン識別子に対応する予め保存されたチェック値についてサーチするステップと、
データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツを認証するステップと、
を具備する。
【００１３】
本出願の実施形態は、データ認証装置を更に提供しており、装置は、
データ認証要求を受け取る受信モジュールであって、データ認証要求は、認証対象データのデータバージョンのバージョン識別子と、認証対象データのデータコンテンツに基づいて取得されたチェック値と、を具備する、受信モジュールと、
ブロックチェーン内において、データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、データバージョンのバージョン識別子に対応する予め保存されたチェック値についてサーチするサーチモジュールと、
データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツを認証する認証モジュールと、
を具備する。
【００１４】
本出願の実施形態によって採用されている上述の技術的解決策のうちの少なくとも一つは、認証対象データのデータバージョンのバージョン識別子及び認証対象データのデータコンテンツに基づいて取得されたチェック値を含むデータ認証要求を受け取るステップと、データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、ブロックチェーン内において、データバージョンのバージョン識別子に対応する予め保存されたチェック値についてサーチするステップと、データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツを認証するステップと、を通じて、以下の有益な効果を実現することができる。ブロックチェーンは、不変であるという特徴を有していることから、データバージョンのバージョン識別子に対応するブロックチェーンから取得された予め保存されたチェック値は、本物である。本物のチェック値は、データ認証要求内の認証対象データが、改竄されているかどうかをチェックすることにより、認証対象データの信憑性を保証するべく、使用される。
【００１５】
本出願の実施形態は、データ追跡方法を更に提供しており、方法は、
データバックトラッキング要求を受け取るステップであって、データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備する、ステップと、
第一データバージョンのバージョン識別子に基づいて、ブロックチェーン内において、第一データバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得するステップと、
第二データバージョンの取得されたバージョン識別子に基づいて、順番にバックトラッキングし、且つ、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得するステップと、
データブロックに基づいて、バックトラッキング対象データの初期バージョンに対応するデータコンテンツを判定するステップと、
を具備する。
【００１６】
本出願の実施形態は、データ追跡装置を更に提供しており、装置は、
データバックトラッキング要求を受け取る受信モジュールであって、データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備する、受信モジュールと、
ブロックチェーン内において、第一データバージョンのバージョン識別子に基づいて、第一データバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得し、第二データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングするバックトラッキングモジュールと、
データブロックに基づいてバックトラッキング対象データの初期バージョンに対応するデータコンテンツを判定する判定モジュールと、
を具備する。
【００１７】
本出願の実施形態によって採用されている上述の技術的解決策のうちの少なくとも一つは、データバックトラッキング要求を受け取るステップであって、データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備する、ステップと、第一データバージョンのバージョン識別子に基づいて、ブロックチェーン内において、第一データバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得するステップと、第二データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得するべく順番にバックトラッキングし、データブロックに基づいて、バックトラッキング対象データの初期バージョンに対応するデータコンテンツを判定するステップと、を通じて、以下ような有益な効果を実現することができる。ターゲットオブジェクトの第一データバージョンのバージョン識別子と第一データバージョンに隣接する第二データバージョンのバージョン識別子との両方が、ブロックチェーン内においてデータブロックの形態において保存されていることから、且つ、ブロックチェーンが、不変であるという特徴を有し、且つ、リンクされたデータ構造を採用していることから、バックトラッキング対象データの変化したバージョンのみならず、すべての変化したバージョンに対応するデータコンテンツをバックトラッキングすると共に見出すことが可能であり、且つ、データ変化の信憑性を保証することができる。
【図面の簡単な説明】
【００１８】
本明細書において記述されている図面は、本出願の更なる理解を提供するべく、且つ、本出願の一部分を構成するべく、意図されており、且つ、本出願の例示用の実施形態及びその説明は、本出願の限定ではなく、本出願を説明するべく意図されている。添付図面は、以下のとおりである。
【００１９】
【図１】本出願のいくつかの実施形態によるデータ保存方法のフロー図である。
【図２】ブロックチェーン内の様々なブロック内において生成されるデータブロックの構造図である。
【図３】本出願のいくつかの実施形態によるデータ認証方法のフロー図である。
【図４】本出願のいくつかの実施形態によるデータ認証方法のシナリオの概略図である。
【図５】本出願のいくつかの実施形態によるデータ追跡方法のフロー図である。
【図６】本出願のいくつかの実施形態によるデータ追跡方法のシナリオの概略図である。
【図７】本出願のいくつかの実施形態によるデータ保存装置の構造図である。
【図８】本出願のいくつかの実施形態によるデータ認証装置の構造図である。
【図９】本出願のいくつかの実施形態によるデータ追跡装置の構造図である。
【発明を実施するための形態】
【００２０】
本出願の目的を実現するべく、本出願の実施形態は、データブロックの形態において、ブロックチェーン内においてターゲットオブジェクトの第一データバージョンの第一チェック値を保存するデータ保存、データ認証、及びデータ追跡の方法及び装置を提供している。ブロックチェーンが、不変であるという特徴を有していることから、データ要求者がターゲットオブジェクトの第一データバージョンに対応するデータコンテンツを取得した際に、データ要求者は、ブロックチェーン内において保存されている第一チェック値に基づいて、第一データバージョンに対応するデータコンテンツが変更されているかどうかをチェックすることにより、第一データバージョンに対応するデータコンテンツの信憑性を判定することが可能であり、データコンテンツの容易な変更に起因した、データコンテンツの信憑性を判定することができない、という問題点を事実上解決することが可能であり、且つ、データ要求者のデータ分析効率を増大させることができる。
【００２１】
本出願の実施形態において記録されているブロックチェーンは、信頼性の高いデータベースとして理解することができると共に、信頼性の高いデータベースは、非リレーショナルデータベースに類似したデータベースであることに留意されたい。従来のデータベースとの比較において、信頼性の高いデータベースは、以下のような相違点を有する。信頼性の高いデータベースは、分散化と、トラストレスと、を特徴としている。所謂分散化は、ブロックチェーンに基づいたシステム内に、中央集中化されたハードウェア又は管理者が存在しておらず、システムの任意のノードの間において権限及び義務が等しくなっており、且つ、任意のノードの損傷又は損害がシステム全体の動作に影響を及ぼさない、ことを意味している。
【００２２】
所謂トラストレスは、全体システムの任意のノードの間におけるデータ交換への参加に、相互の信頼が必要とされておらず、全体システムの運用規則が、開示され、且つ、透明性を有しており、且つ、全体システムのデータコンテンツも明らかであり、従って、システムによって設定された規則及び時間の範囲内において、いずれのノードも、その他のノードを騙すことができない、或いは、そのための方法を有していない、ことを意味している。
【００２３】
本出願の実施形態において記録されている技術的解決策は、データ構造を提案している（以下において、これは、「データブロック」と呼称され得る）。このデータ構造は、データヘッダと、データボディと、を含む。データヘッダは、ターゲットオブジェクトの後続のデータ追跡を促進するべく、ターゲットオブジェクトの現時点のデータバージョンのチェック値と、現時点のデータバージョンに隣接する以前のデータバージョンのチェック値と、を保存している。データボディは、現時点のデータバージョンに対応するターゲットオブジェクトのデータコンテンツを保存していてもよく、或いは、その他のコンテンツを保存していてもよい。これに関する制限は、設定されていない。この結果、このデータ構造及びブロックチェーンを通じて、ターゲットオブジェクト及びその変化の完全性及び信憑性が保証されている。
【００２４】
以下、本出願の実施形態及び添付の図面を参照することにより、本出願の技術的解決策について明瞭且つ十分に説明する。記述されている実施形態は、本出願の実施形態のすべてではなく、そのいくつかであるに過ぎないことが明らかである。本出願における実施形態に基づいて、創造的な努力を伴うことなしに、当業者によって取得されるすべてのその他の実施形態は、本出願の範囲に含まれるものとする。
【００２５】
以下、添付図面を参照することにより、本出願の実施形態による技術的解決策について詳細に説明する。
【００２６】
実施形態１
図１は、本出願のいくつかの実施形態によるデータ保存方法のフロー図である。方法は、以下に示されているようなものであってよい。
【００２７】
ステップ１０１：ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する。
【００２８】
この場合に、本出願の実施形態においては、ターゲットオブジェクトは、任意の形態を有するデータであってよい。これは、ビジネスフォーム、書籍の原稿、又はソフトウェアソースコードであってもよく、或いは、これは、写真の組、音楽の作品、又はビデオであってもよい。これに関する制限は、設定されていない。
【００２９】
この場合に、ターゲットオブジェクトのデータバージョンは、ターゲットオブジェクトのライフサイクル全体にわたって変化する又は生成される様々なデータコンテンツを意味することができる。識別子は、データコンテンツのすべての断片について設定することができる。この識別子は、データバージョンのバージョン識別子と呼称され得る。
【００３０】
例えば、ビデオの場合には、ビデオのすべての部分（又は、すべてのシーズン）が、データバージョンと呼称され得る。ビデオＡの第一部分がデータバージョン１．０に対応していると仮定すれば、変化プロセスにおいて、ビデオＡの第二部分は、データバージョン２．０に対応し、ビデオＡの第三部分は、データバージョン３．０に対応し、・・・、ビデオＡの第Ｎ番目の部分は、データバージョンｎ．０に対応している。
【００３１】
別の例として、アプリケーションソフトウェアの場合には、開発ニーズに従って、アプリケーションソフトウェアの複数のバージョンが出現し得る。アプリケーションソフトウェアの変化プロセスにおけるアプリケーションソフトウェアのバージョンが、バージョン１．０、バージョン１．０．１、バージョン１．０．１．１、バージョン２．０、バージョン２．０．１、・・・を含んでいると仮定しよう。
【００３２】
本出願の実施形態におけるターゲットオブジェクトの第一データバージョンは、ターゲットオブジェクトの現時点のデータバージョンを意味し得る。例えば、上述のアプリケーションソフトウェアの場合には、第一データバージョンに対応するバージョン番号は、２．０．１である。
【００３３】
例えば、本出願の実施形態においては、ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する方法は、限定を伴うことなしに、以下のような方法を含む。
【００３４】
第一に、第一データバージョンにおけるターゲットオブジェクトのデータコンテンツサマリを判定し、第二に、予め設定されたアルゴリズム及びデータコンテンツサマリに従って、ターゲットオブジェクトの第一データバージョンの第一チェック値を算出する。
【００３５】
例として、ソフトウェアソースコードの例をターゲットオブジェクトとして使用することにより、説明を実施する。ソフトウェアソースコードの現時点のバージョンのデータコンテンツサマリが判定される。次いで、データコンテンツサマリを処理してソフトウェアソースコードの現時点のバージョンのハッシュ化された値（この場合には、これが、第一チェック値と呼称され得る）を取得するべく、ハッシュアルゴリズムが使用される。
【００３６】
予め設定されたアルゴリズムは、ハッシュアルゴリズムであってもよく、或いは、任意のその他のアルゴリズム（例えば、ＳＨＡ−１）であってもよいことに留意されたい。これに関する制限は、設定されていない。
【００３７】
ステップ１０２：第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチする。
【００３８】
本出願の実施形態におけるターゲットオブジェクトの第二データバージョンは、ターゲットオブジェクトの現時点のデータバージョンに隣接する以前のデータバージョンを意味し得る。例えば、上述のアプリケーションソフトウェアの場合には、第二データバージョンに対応するバージョン番号は、２．０である。
【００３９】
例えば、ターゲットオブジェクトの第一データバージョンに隣接する第二データバージョンのバージョン識別子は、以下のように判定される。
【００４０】
第二データバージョンのバージョン識別子を記録しているデータブロックが、ブロックチェーン内においてサーチされ、且つ、ターゲットオブジェクトの第二データバージョンの第二チェック値が、データブロックから読み取られる。
【００４１】
ターゲットオブジェクトの現時点のデータバージョンが、オリジナルのデータバージョンである（例えば、アプリケーションソフトウェアのバージョン１．０である）場合には、第一データバージョンに隣接する以前のデータバージョンが存在していないことから、ステップ１０２において記録されている第二チェック値についてサーチする必要はないことに留意されたい。
【００４２】
更には、ターゲットオブジェクトの第一データバージョンに隣接する第二データバージョンのバージョン識別子を判定した後に、第二チェック値を取得するべく、ステップ１０１において記録されている第一チェック値を判定する方法を参照することもできる。この場合に、ステップ１０１において記録されている第一チェック値を判定する方法に従って、第二チェック値が取得される場合には、ターゲットオブジェクトの第一データバージョンに隣接する第二データバージョンのデータコンテンツが改竄されていないことを保証する必要があることに留意されたい。
【００４３】
或いは、第二データバージョンのバージョン識別子を記録するデータブロックが、ブロックチェーン内においてサーチされ、次いで、ターゲットオブジェクトの第二データバージョンのデータコンテンツサマリが、データブロックから読み取られ、且つ、次いで、ステップ１０１において記録されている第二チェック値を判定する方法を参照することにより、第二チェック値が取得される。
【００４４】
ステップ１０３：第一チェック値及び第二チェック値に基づいて、データブロックを生成する。
【００４５】
ステップ１０３においては、ターゲットオブジェクトの第一チェック値及び第二チェック値を取得した後に、第一チェック値及び第二チェック値に基づいて、データブロックが生成される。
【００４６】
例えば、生成されたデータブロックは、データヘッダと、データボディと、を含む。
【００４７】
第一チェック値及び第二チェック値は、予め設定されたフォーマットに従って、データブロックのデータヘッダ内において書き込まれる。
【００４８】
表１は、データブロックのデータヘッダ内において書き込まれるチェック値の概略的な表である。
【００４９】
【表１】
2019532550.tif 000003
【００５０】
表１から、データブロックの生成時刻ラベルは、XXXX 年 YYYY 月 ZZZZ 日 10:00:00 であり、データブロック内において書き込まれた第一チェック値は、1234567890ZXCV であり、且つ、第二チェック値は、null であることがわかる。従って、データブロックは、ターゲットオブジェクトの初期データ（例えば、データ）である、即ち、これは、ターゲットオブジェクトのデータの出所である、ことがわかる。
【００５１】
任意選択により、ターゲットオブジェクトの第一チェック値／第二チェック値は、不可逆的なアルゴリズムを通じて取得されていることから、ターゲットオブジェクトの異なるデータバージョンは、計算を通じて、異なるチェック値を取得することになり、即ち、ターゲットオブジェクトの第一チェック値／第二チェック値は、一意である。
【００５２】
表２は、データブロックのデータヘッダ内において書き込まれるチェック値の概略的な表である。
【００５３】
【表２】
2019532550.tif 000004
【００５４】
表２から、データブロックの生成時刻ラベルは、MMMM 年 NNNN 月 ZZZZ 日 14:00:00 であり、データブロック内において書き込まれた第一チェック値は、!@#\%......&* () ASDF であり、且つ、第二チェック値は、1234567890ZXCV であることがわかる。即ち、表２の第二チェック値は、表１の第一チェック値と同一であることから、表１において示されているデータブロックに対応するデータバージョンは、表２において示されているデータブロックに対応するデータバージョンに隣接する以前のデータバージョンであることがわかる。
【００５５】
又、データブロックのデータヘッダは、二つの隣接するデータバージョンのバージョン識別子を保存し得る、即ち、第一データバージョンのバージョン識別子及び第二データバージョンのバージョン識別子を保存し得る、ことにも留意されたい。
【００５６】
又、任意選択により、データヘッダに加えて、生成されたデータブロックは、データボディをも具備する。第一データバージョンにおけるターゲットオブジェクトのデータコンテンツサマリ、又は第二チェック値、又はターゲットオブジェクトの第一データバージョンのデータコンテンツは、データブロックのデータボディ内において書き込むことができる。
【００５７】
図２は、ブロックチェーン内の様々なブロックにおいて生成されるデータブロックの構造図である。
【００５８】
図２から、データブロック１、データブロック２、及びデータブロック３は、同一のターゲットオブジェクトに対応していることがわかる。データブロック１のデータボディ内には、現時点のデータバージョン／隣接する以前のデータバージョンのデータコンテンツサマリが保存されている。データブロック２のデータボディ内には、現時点のデータバージョン／隣接する以前のデータバージョンのチェック値が保存されている。データブロック３のデータボディ内には、現時点のデータバージョン／隣接する以前のデータバージョンのデータコンテンツが保存されている。
【００５９】
本出願の別の実施形態においては、ターゲットオブジェクトのデータコンテンツは、データブロック内において保存されてもよく、且つ、更には、クラウドデータゲートウェイ又はデータべース内において保存されてもよい。
【００６０】
データコンテンツのデータ容量が小さい際には、データコンテンツを保存するための方法として、データブロック３の方式を優先的に選択し得ることに留意されたい。
【００６１】
例えば、ターゲットオブジェクトの第一データバージョンのデータコンテンツは、クラウドデータゲートウェイ又はデータベース内において保存される。
【００６２】
データ要求者によるデータ提供者の身元の認証を促進するように、データブロックのデータボディは、上述のコンテンツを保存し得るのみならず、データ提供者によって提供されるターゲットオブジェクトのデジタル署名をも記録し得ることに留意されたい。又、データボディは、データブロック生成時刻及びその他の関連する情報やデータバージョンのバージョン識別子などを記録することもできる。これに関する制限は、設定されていない。
【００６３】
ステップ１０４：データブロックをブロックチェーン内において保存する。
【００６４】
この場合に、ブロックチェーン内において保存されているデータブロックは、不変である。
【００６５】
ステップ１０４においては、データブロックは、リンクされたデータ構造に従って、ブロックチェーンに追加されている。
【００６６】
例えば、新しく生成されたデータブロックは、ブロックチェーンに接続済みのデータブロックの末尾に追加される。
【００６７】
本出願の別の実施形態においては、ブロックチェーン内においてデータブロックを保存した後に、方法は、
ターゲットオブジェクトの第一データバージョンのバージョン識別子とデータブロックのブロック識別子との間のマッピング関係を保存するステップ、或いは、この代わりに、
ターゲットオブジェクトの第一データバージョンのバージョン識別子とデータブロックのブロック識別子との間のマッピング関係を保存するステップ、
を更に具備する。
【００６８】
本出願の実施形態においては、ブロックチェーン内においてデータブロックを保存するステップは、ブロックチェーン内において保存するように、ブロックチェーンに対してデータブロックを追加する動作を実行するステップとも呼称され得ることに留意されたい。
【００６９】
本出願の実施形態において記録されている技術的解決策を通じて、ターゲットオブジェクトの第一データバージョンの第一チェック値が判定され、且つ、第一チェック値に隣接するターゲットオブジェクトの第二バージョンの第二チェック値がサーチされ、第一チェック値及び第二チェック値に基づいて、データブロックが生成され、且つ、データブロックが、ブロックチェーン内において保存されている。ターゲットオブジェクトの第一データバージョンの第一チェック値は、ブロックチェーン内において、データブロックの形態で保存されている。ブロックチェーンが、不変であるという特徴を有していることから、データ要求者が、ターゲットオブジェクトの第一データバージョンに対応するデータコンテンツを取得した際に、データ要求者は、ブロックチェーン内に保存されている第一チェック値に基づいて、第一データバージョンに対応するデータコンテンツが変更されているかどうかをチェックすることにより、第一データバージョンに対応するデータコンテンツの信憑性を判定することが可能であり、データコンテンツの容易な変更に起因した、データコンテンツの信憑性を判定することができない、という問題点を事実上解決することが可能であり、且つ、データ要求者のデータ分析効率を増大させることができる。
【００７０】
実施形態２
同一の発明概念に基づいて、図３は、本出願のいくつかの実施形態によるデータ認証方法のフロー図である。方法は、以下に示されているようなものであってよい。
【００７１】
ステップ３０１：データ認証要求を受け取る。
【００７２】
データ認証要求は、認証対象データのデータバージョンのバージョン識別子と、認証対象データのデータコンテンツに基づいて取得されたチェック値と、を含む。
【００７３】
ステップ３０１においては、本出願の実施形態のエクゼクティブエージェントは、ブロックチェーンであってもよく、或いは、別の装置であってもよい。これに関する制限は、設定されていない。
【００７４】
例えば、データ要求者が、データ提供者によって提供されたデータを受け取った際に、データ要求者は、提供されたデータを認証対象データとして見なしてもよく、認証対象データのデータバージョンのバージョン識別子を判定してもよく、且つ、認証対象データの取得されたデータコンテンツに基づいて、認証対象データのチェック値を、計算を通じて取得してもよい。
【００７５】
このケースにおいては、認証対象の受け取られたデータが本物であることを保証するために、データ要求者は、データ提供者によって提供されたデータが改竄されているかどうかをチェックするべく、データ認証要求をブロックチェーンに対して送信する。
【００７６】
ステップ３０２：データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、ブロックチェーン内において、データバージョンのバージョン識別子に対応する予め保存されているチェック値についてサーチする。
【００７７】
ステップ３０２においては、データブロックが、ターゲットオブジェクトの保存の際に生成され、且つ、データブロックが、ブロックチェーン内において保存されていることから、データブロックがブロックチェーン内に保存される際に、ターゲットオブジェクトの第一データバージョンのバージョン識別子とデータブロックのブロック識別子との間のマッピング関係が保存される。
【００７８】
データ認証要求が受け取られた際に、データバージョンのバージョン識別子、データブロックのユニット識別子、ブロックのブロック識別子の間の予め保存されているマッピング関係に基づいて、データ認証要求内に含まれているデータバージョンのバージョン識別子に対応するデータブロックのブロック識別子が判定される。
【００７９】
データバージョンのバージョン識別子に対応するチェック値は、ブロック識別子に対応するデータブロックから読み取られる。
【００８０】
ステップ３０２において取得されたデータバージョンのバージョン識別子に対応するチェック値は、ターゲットオブジェクトの保存の際に生成され、且つ、ブロックチェーン内において保存されており、従って、サーチを介して取得されたチェック値は、本物である、ことに留意されたい。
【００８１】
ステップ３０３：データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツを認証する。
【００８２】
ステップ３０３においては、データ認証要求内に含まれている受け取られたチェック値が、サーチを介して取得されたチェック値と比較されている。
【００８３】
データ認証要求内に含まれている受け取られたチェック値が、サーチを介して取得されたチェック値と同一である際には、認証対象データのデータコンテンツは、本物であると判定される。
【００８４】
データ認証要求内に含まれている受け取られたチェック値が、サーチを介して取得されたチェック値と異なっている際には、認証対象データのデータコンテンツは、変更されているものと判定される。
【００８５】
本出願の実施形態によって提供される技術的解決策を通じて、認証対象データのデータバージョンのバージョン識別子及び認証対象データのデータコンテンツに基づいて取得されたチェック値を含むデータ認証要求が受け取られ、データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、データバージョンのバージョン識別子に対応する予め保存されたチェック値が、ブロックチェーン内においてサーチされ、データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツが認証されている。ブロックチェーンが、不変であるという特性を有していることから、サーチを介して取得された、且つ、データバージョンのバージョン識別子に対応する、ブロックチェーン内の予め保存されたチェック値は、本物である。本物のチェック値は、データ認証要求内の認証対象データが改竄されているかどうかをチェックすることにより、認証対象データの信憑性を保証するべく、使用される。
【００８６】
図４は、本出願のいくつかの実施形態によるデータ認証方法のシナリオの概略図である。
【００８７】
図４から、ブロックチェーンは、複数のデータノードを含んでいることがわかる。これらのデータノードは、異なるユーザから送信されたデータ認証要求を受け取ることができる。データ認証要求内において搬送されているデータ情報（この場合には、これは、チェック値を意味し得る）に基づいて、対応するデータ情報がブロックチェーン内においてサーチされる。受け取られたデータ情報及びサーチを介して取得されたデータ情報に基づいて、データ要求者が本物の且つ有効なデータを取得し得ることを保証するべく、データ認証要求内の認証対象データが認証される。
【００８８】
実施形態３
図５は、本出願のいくつかの実施形態によるデータ追跡方法のフロー図である。方法は、以下に示されているようなものであってよい。
【００８９】
ステップ５０１：データバックトラッキング要求を受け取る。
【００９０】
データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を含む。
【００９１】
ステップ５０１においては、ターゲットオブジェクトの変化プロセス又は変化履歴をサーチする必要がある際には、本出願の実施形態の動作を開始することができる、即ち、データバックトラッキング要求の送信を開始することができる。データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を含む。
【００９２】
この場合に、第一データバージョンのバージョン識別子は、現時点のデータバージョンのバージョン識別子であってもよく、或いは、任意のデータバージョンのバージョン識別子であってもよい。これに関する制限は、設定されていない。
【００９３】
この場合に、第一データバージョンのバージョン識別子は、バックトラッキング対象データをバックトラッキングするための開始点を判定するべく、使用される。例として、３．０という現時点のデータバージョンを有するアプリケーションソフトウェアを取り上げよう。バックトラッキング要求が開始されたら、バックトラッキング要求内において搬送されているデータバージョンのバージョン識別子は、３．０であってもよく、或いは、２．０などであってもよい。これに関する制限は、設定されていない。
【００９４】
ステップ５０２：第一データバージョンのバージョン識別子に基づいて、ブロックチェーン内において、第一データバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、第一データバージョンに隣接する第二データバージョンのバージョン識別子を取得する。
【００９５】
ステップ５０２においては、データブロックは、第一データバージョンのバージョン識別子を保存しているのみならず、第一データバージョンのバージョン識別子に隣接する以前の第二データバージョンのバージョン識別子をも、保存していることから、第一データバージョンのバージョン識別子を含むデータブロックを第一データバージョンのバージョン識別子に基づいて取得することができると共に、第一データバージョンのバージョン識別子に隣接する以前の第二データバージョンのバージョン識別子がデータブロックから取得される。
【００９６】
ステップ５０３：第二データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得するべく、順番にバックトラッキングする。
【００９７】
ステップ５０３においては、第二データバージョンの取得されたバージョン識別子が開始点として選択されており、且つ、次いで、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを見出すべく、ステップ５０２において記述されている方法により、バックトラッキングされている。
【００９８】
例えば、データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックが取得される時点まで、
ブロックチェーン内において、取得されたデータバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、取得されたデータバージョンに隣接する以前のデータバージョンのバージョン識別子を取得するステップと、
バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックが取得される時点まで、上述の動作の循環的な実行をトリガするステップと、
という動作が実行される。
【００９９】
この場合に、データバージョンの取得されたバージョン識別子は、第一データバージョンを除いた任意のデータバージョンのバージョン識別子であってもよいことに留意されたい。
【０１００】
ステップ５０４：データブロックに基づいて、バックトラッキング対象データの初期バージョンに対応するデータコンテンツを判定する。
【０１０１】
本出願の実施形態においては、データバージョンのバージョン識別子が取得された際には、常に、データバージョンに対応するデータコンテンツが判定され得ることに留意されたい。この結果、バックトラッキング対象データ内に含まれている生産価値を確実に且つ効果的に分析するべく、取得されたデータコンテンツに基づいて、バックトラッキング対象データの変化プロセスを分析することができる。
【０１０２】
本出願の実施形態の技術的解決策を通じて、バックトラッキング対象データの第一データバージョンのバージョン識別子を含むデータバックトラッキング要求が受け取られ、第一データバージョンのバージョン識別子に基づいて、第一データバージョンのバージョン識別子を含むデータブロックが、ブロックチェーン内においてサーチされ、且つ、第一データバージョンに隣接する第二データバージョンのバージョン識別子が、データブロックから取得され、第二データバージョンの取得されたバージョン識別子に基づいて、シーケンシャルなバックトラッキングが実行され、且つ、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックが取得され、データブロックに基づいて、バックトラッキング対象データの初期バージョンに対応するデータコンテンツが判定されている。ターゲットオブジェクトの第一データバージョンのバージョン識別子と第一データバージョンに隣接する第二データバージョンのバージョン識別子との両方がブロックチェーン内においてデータブロックの形態で保存されていることから、且つ、ブロックチェーンが、不変であるという特性を有し、且つ、リンクされたデータ構造を採用していることから、バックトラッキング対象データの変化したバージョンのみならず、すべての変化したバージョンに対応するデータコンテンツをバックトラッキングすると共に見出すことが可能であり、且つ、データ変化の信憑性を保証することができる。
【０１０３】
図６は、本出願のいくつかの実施形態によるデータ追跡方法のシナリオの概略図である。
【０１０４】
図６から、ブロックチェーンが、リンクされたデータ構造を採用していることから、データブロックのうちの一つが判定される際に、リンクされたデータ構造の特性に従って、データブロックと関連するその他のデータブロックを取得することにより、一方においては、取得された情報が本物であることを保証しつつ、データの出所を追跡するという目的を実現し得ることがわかる。
【０１０５】
ターゲットオブジェクトに対応する五つのデータブロックが存在しているものと仮定しよう。それらは、データブロック１、データブロック２、データブロック３、データブロック４、及びデータブロック５である。ここでは、一例として、データバージョンのバージョン識別子を保存しているデータブロックを取り上げよう。
【０１０６】
データブロック５内に保存されているデータバージョンのバージョン識別子は、５．０及び４．０である。データブロック４内に保存されているデータバージョンのバージョン識別子は、４．０及び３．０である。データブロック３内に保存されているデータバージョンのバージョン識別子は、３．０及び２．０である。データブロック２内に保存されているデータバージョンのバージョン識別子は、２．０及び１．０である。データブロック１内に保存されているデータバージョンのバージョン識別子は、１．０である。データ追跡の際に、まずは、データブロック５１が判定され、これに、データブロック４、データブロック３、及びデータブロック２が後続し、且つ、最後が、データブロック１である。この結果、データ追跡という目的を完全に実現することができる。
【０１０７】
実施形態４
同一の発明概念に基づいて、図７は、本出願のいくつかの実施形態によるデータ保存装置の構造図である。データ保存装置は、判定モジュール７１と、サーチモジュール７２と、保存モジュール７３と、を具備する。ここで、
判定モジュール７１は、ターゲットオブジェクトの第一データバージョンの第一チェック値を判定しており、
サーチモジュール７２は、第一データバージョンに隣接するターゲットオブジェクトの第二データバージョンの第二チェック値についてサーチしており、
保存モジュール７３は、第一チェック値及び第二チェック値に基づいて、データブロックを生成し、且つ、データブロックをブロックチェーン内において保存しており、この場合に、ブロックチェーン内に保存されているデータブロックは、不変である。
【０１０８】
本出願の別の実施形態においては、ターゲットオブジェクトの第一データバージョンの第一チェック値を判定する判定モジュール７１は、
第一データバージョンにおけるターゲットオブジェクトのデータコンテンツサマリを判定するステップと、
予め設定されたアルゴリズム及びデータコンテンツサマリに従って、ターゲットオブジェクトの第一データバージョンの第一チェック値を取得するべく計算するステップと、
を具備する。
【０１０９】
本出願の別の実施形態においては、第一チェック値及び第二チェック値に基づいてデータブロックを生成する保存モジュール７２は、
データブロックを生成し、且つ、予め設定されたフォーマットに従って、第一チェック値及び第二チェック値をデータブロックのデータヘッダ内において書き込むステップ、
を具備する。
【０１１０】
本出願の別の実施形態においては、データ保存装置は、書込みモジュール７４を更に具備する。ここで、
書込みモジュール７４は、第一データバージョンにおけるターゲットオブジェクトのデータコンテンツサマリ、又は第二チェック値、又はターゲットオブジェクトの第一データバージョンのデータコンテンツをデータブロックのデータボディ内において書き込んでいる。
【０１１１】
本出願の別の実施形態においては、保存モジュール７２は、ターゲットオブジェクトの第一データバージョンのデータコンテンツをクラウドデータゲートウェイ又はデータベース内において保存している。
【０１１２】
本出願の別の実施形態においては、保存モジュール７２は、データブロックをブロックチェーンのブロック内において保存した後に、ターゲットオブジェクトの第一データバージョンのバージョン識別子とデータブロックのブロック識別子との間のマッピング関係を保存している。
【０１１３】
本出願の別の実施形態においては、データブロックをブロックチェーン内において保存する保存モジュール７２は、
リンクされたデータ構造に従って、データブロックをブロックチェーンに追加するステップ、
を具備する。
【０１１４】
本出願の実施形態によるデータ保存装置は、ハードウェア又はソフトウェアによって実現され得ることに留意されたい。これに関する制限は、設定されていない。データ保存装置は、ターゲットオブジェクトの第一データバージョンの第一チェック値をブロックチェーン内においてデータブロックの形態で保存している。ブロックチェーンが、不変であるという特徴を有していることから、データ要求者がターゲットオブジェクトの第一データバージョンに対応するデータコンテンツを取得した際に、データ要求者は、ブロックチェーン内に保存されている第一チェック値に基づいて、第一データバージョンに対応するデータコンテンツが変更されているかどうかをチェックすることにより、第一データバージョンに対応するデータコンテンツの信憑性を判定することが可能であり、データコンテンツの容易な変更に起因した、データコンテンツの信憑性を判定することができない、という問題点を事実上解決することが可能であり、且つ、データ要求者のデータ分析効率を増大させることができる。
【０１１５】
実施形態５
図８は、本出願のいくつかの実施形態によるデータ認証装置の構造図である。データ認証装置は、受信モジュール８１と、サーチモジュール８２と、認証モジュール８３と、を具備する。ここで、
受信モジュール８１は、認証対象データのデータバージョンのバージョン識別子及び認証対象データのデータコンテンツに基づいて取得されたチェック値を含むデータ認証要求を受け取っており、
サーチモジュール８２は、ブロックチェーン内において、データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、データバージョンのバージョン識別子に対応する予め保存されたチェック値をサーチしており、
認証モジュール８３は、データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて、認証対象データのデータコンテンツを認証している。
【０１１６】
本出願の別の実施形態においては、データ認証要求内に含まれている受け取られたチェック値及びサーチを介して取得されたチェック値に基づいて認証対象データのデータコンテンツを認証する認証モジュール８３は、
データ認証要求内に含まれている受け取られたチェック値が、サーチを介して取得されたチェック値と同一である際に、認証対象データのデータコンテンツが本物であると判定することと、
データ認証要求内に含まれている受け取られらチェック値が、サーチを介して取得されたチェック値と異なっている際に、認証対象データのデータコンテンツが変更されていると判定することと、
を具備する。
【０１１７】
本出願の別の実施形態においては、ブロックチェーン内において、データ認証要求内に含まれているデータバージョンのバージョン識別子に基づいて、データバージョンのバージョン識別子に対応する予め保存されたチェック値についてサーチするサーチユニット８２は、
データバージョンのバージョン識別子とデータブロックのブロック識別子との間の予め保存されたマッピング関係に基づいて、データ認証要求内のデータバージョンのバージョン識別子に対応するデータブロックのブロック識別子を判定することと、
ブロック識別子に対応する判定されたデータブロックから、データバージョンのバージョン識別子に対応するチェック値を読み取ることと、
を具備する。
【０１１８】
本出願の実施形態によるデータ認証装置は、ハードウェア又はソフトウェアによって実現され得ることに留意されたい。これに関する制限は、設定されていない。ブロックチェーンが、不変であるという特性を有していることから、データバージョンのバージョン識別子に対応するブロックチェーン内の、サーチされた、予め保存されたチェック値は、本物である。本物のチェック値は、データ認証要求内の認証対象データが改竄されているかどうかをチェックすることにより、認証対象データの信憑性を保証するべく、使用される。
【０１１９】
実施形態６
図９は、本出願のいくつかの実施形態によるデータ追跡装置の構造図である。データ追跡装置は、受信モジュール９１と、バックトラッキングモジュール９２と、判定モジュール９３と、を具備する。ここで、
受信モジュール９１は、データバックトラッキング要求を受け取っており、データバックトラッキング要求は、バックトラッキング対象データの第一データバージョンのバージョン識別子を具備しており、
バックトラッキングモジュール９２は、ブロックチェーン内において、第一データバージョンのバージョン識別子に基づいて、第一データバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、第一データバージョンに隣接する第二データバージョンのバーンジョン識別子を取得し、第二データバージョンの取得されたバージョン識別子に基づいて、シーケンシャルなバックトラッキングを実行し、且つ、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得しており、
判定モジュール９３は、データブロックに基づいて、バックトラッキング対象データの初期バージョンに対応するデータコンテンツを判定している。
【０１２０】
本出願の別の実施形態においては、第二データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックを取得するべく、シーケンシャルバックトラッキングを実行するバックトラッキングモジュール９２は、
データバージョンの取得されたバージョン識別子に基づいて、バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックが取得される時点まで、
ブロックチェーン内において、取得されたデータバージョンのバージョン識別子を含むデータブロックについてサーチし、且つ、データブロックから、取得されたデータバージョンに隣接する以前のデータバージョンのバージョン識別子を取得することと、
バックトラッキング対象データの初期バージョンのバージョン識別子を含むデータブロックが取得される時点まで、上述の動作の循環的な実行をトリガすることと、
という動作を実行すること、
を具備する。
【０１２１】
本出願の実施形態によるデータ追跡装置は、ハードウェア又はソフトウェアによって実現され得ることに留意されたい。これに関する制限は、設定されていない。ターゲットオブジェクトの第一データバージョンのバージョン識別子と第一データバージョンに隣接する第二データバージョンのバージョン識別子との両方が、ブロックチェーン内においてデータブロックの形態で保存されていることから、且つ、ブロックチェーンが、不変であるという特性を有し、且つ、リンクされたデータ構造を採用していることから、バックトラッキング対象データの変化したバージョンのみならず、すべての変化したバージョンに対応するデータコンテンツをも、バックトラッキングすると共に見出すことが可能であり、且つ、データ変化の信憑性を保証することができる。
【０１２２】
当業者は、本出願の実施形態は、方法、システム、又はコンピュータプログラムプロダクトとして提供されてもよく、従って、本出願は、純粋なソフトウェア、純粋なハードウェア、又はソフトウェアとハードウェアとの組合せの形態の実施形態を採用し得ることを理解するであろう。更には、本出願は、コンピュータ使用可能プログラムコードを含む（限定を伴うことなしに、ディスクメモリ、ＣＤ−ＲＯＭ、及び光メモリを含む）一つ又は複数のコンピュータ使用可能保存媒体上において実装されたコンピュータプログラムプロダクトの形態を採用することもできる。
【０１２３】
本出願は、本出願の実施形態による方法、装置（システム）、及びコンピュータプログラムプロダクトのフローチャート及び／又はブロック図を参照することにより、記述されている。フローチャート及び／又はブロック図内のすべてのフロー及び／又はブロック、並びに、フローチャート及び／又はブロック図内のフロー及び／又はブロックの組合せは、コンピュータプログラム命令を通じて実現され得ることを理解されたい。これらのコンピュータプログラム命令は、コンピュータ又はその他のプログラム可能なデータ処理機器のプロセッサによって実行された命令を通じて、フローチャート内の一つ又は複数のフロー及び／又はブロック図内の一つ又は複数のブロックにおいて指定されている機能を実現する装置が生成されるように、機械を生成するべく、汎用コンピュータ、特殊目的コンピュータ、組込み型のプロセッサ、又はその他のプログラム可能なデータ処理機器のプロセッサに提供されてもよい。
【０１２４】
又、これらのコンピュータプログラム命令は、コンピュータ可読メモリ内に保存されている命令が命令装置を具備するプロダクトを生成するような特定の方式により、機能するようにコンピュータ又はその他のプログラム可能なデータ処理機器をガイドし得るコンピュータ可読メモリ内において保存されてもよい。命令装置は、フローチャート内の一つ又は複数のフロー及び／又はブロック図内の一つ又は複数のブロックにおいて指定されている機能を実現する。
【０１２５】
又、これらのコンピュータプログラム命令は、一連の動作ステップが、コンピュータによって実現された処理を生成するべく、コンピュータ又はその他のプログラム可能なデータ処理機器上において実行されるように、コンピュータ又はその他のプログラム可能なデータ処理機器に読み込まれてもよい。従って、コンピュータ又はその他のプログラム可能なデータ処理機器上において実行される命令は、フローチャート内の一つ又は複数のフロー及び／又はブロック図内の一つ又は複数のブロックにおいて指定されている機能を実現するステップを提供する。
【０１２６】
代表的な構成においては、演算機器は、一つ又は複数のプロセッサ（ＣＰＵ）と、入出力インタフェースと、ネットワークインタフェースと、内部メモリと、を具備する。
【０１２７】
内部メモリは、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ：Random Access Memory）、並びに／或いは、コンピュータ可読媒体内の、読み出し専用メモリ（ＲＯＭ：Read-Only Memory）又はフラッシュメモリ（フラッシュＲＡＭ）などの、不揮発性メモリの形態を有することができる。内部メモリは、コンピュータ可読媒体の一例である。
【０１２８】
コンピュータ可読媒体は、不揮発性の、揮発性の、可動型の、非可動型の、媒体を含み、且つ、任意の方法又は技術によって情報保存を実現することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータであってもよい。コンピュータ保存媒体の例は、限定を伴うことなしに、相変化ランダムアクセスメモリ（ＰＲＡＭ：Phase change ＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ：Static ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ：Dynamic ＲＡＭ）及びその他のタイプのランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的に消去可能なプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ：Electrically Erasable Programmable ＲＯＭ）、フラッシュメモリ又はその他のメモリ技術、コンパクトディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ：Compact Disc−ＲＯＭ）、デジタルビデオディスク（ＤＶＤ：Digital Video Disk）又はその他の光メモリ、カセットタイプの磁気テープ、テープディスクメモリ又はその他の磁気保存装置、或いは、任意のその他の非転送媒体を含む。これらは、コンピュータ装置がアクセス可能な情報を保存するべく使用されてもよい。本明細書における定義によれば、コンピュータ可読媒体は、変調されたデータ信号及び搬送波などの、一時的な媒体を含んではいない。
【０１２９】
「包含する、含む（include）」、「収容する、含む（contain）」、「具備する、備える（comprise）」という用語、又はこれらの変形は、一連の要素を含むプロセス、方法、商品、又は機器が、これらの要素を含むのみならず、明瞭に記述されてはいないその他の要素をも含むように、或いは、このようなプロセス、方法、商品、又は機器に固有の要素を含むように、非排他的包含をカバーするべく意図されていることに更に留意されたい。その他の方式で限定されていない限り、「一つの〜を含む（including one......）」というフレーズによって定義される要素は、その要素を含むプロセス、方法、商品、又は機器内におけるその他の類似の要素の存在を排除するものではない。
【０１３０】
当業者は、本出願の実施形態は、方法、システム、又はコンピュータプログラムプロダクトとして提供されてもよく、従って、本出願は、純粋なソフトウェア、純粋なハードウェア、又はソフトウェアとハードウェアとの組合せの形態の実施形態を採用し得ることを理解するであろう。更には、本出願は、コンピュータ使用可能プログラムコードを含む（限定を伴うことなしに、ディスクメモリ、ＣＤ−ＲＯＭ、及び光メモリを含む）一つ又は複数のコンピュータ使用可能保存媒体上において実装されたコンピュータプログラムプロダクトの形態を採用することもできる。
【０１３１】
以上の説明は、本出願の実施形態であり、且つ、本出願を限定するべく意図されたものではない。当業者にとっては、本出願は、様々な変更及び変形を有することができる。本出願の精神及び原理を逸脱することなしに実施される、すべての変更、均等な置換、及び改善は、本出願の請求項の範囲に含まれるものとする。
【図１】
2019532550.tif 000005
【図２】
2019532550.tif 000006
【図３】
2019532550.tif 000007
【図４】
2019532550.tif 000008
【図５】
2019532550.tif 000009
【図６】
2019532550.tif 000010
【図７】
2019532550.tif 000011
【図８】
2019532550.tif 000012
【図９】
2019532550.tif 000013
【国際調査報告】
2019532550.tif 000014
2019532550.tif 000015
2019532550.tif 000016
2019532550.tif 000017
2019532550.tif 000018