(57)【要約】  本出願の1つまたは複数の実施形態では、ブロックチェーンベースのデータ検証方法および装置、ならびに電子デバイスが提供される。この方法は、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するステップであって、データ識別子がブロックチェーン上の目標データの記憶位置を示す、ステップと、データ識別子に基づいて、目標データがブロックチェーン上に記憶されているかどうかを判定するステップと、目標データがブロックチェーン上に記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得するステップであって、ブロックチェーン上に記憶された目標データが、目標データの真正性を検証するための認証情報を保持している、ステップと、認証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するステップとを含んでもよい。
2021515427.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンベースのデータ検証方法であって、
ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するステップであって、前記データ識別子が前記ブロックチェーン内の前記目標データの記憶位置を示す、ステップと、
前記データ識別子に基づいて、前記目標データが前記ブロックチェーンに記憶されているかどうかを判定するステップと、
前記目標データが前記ブロックチェーンに記憶されている場合に、前記データ識別子によって示された前記記憶位置から前記目標データを取得するステップであって、前記ブロックチェーンに記憶された前記目標データが、前記目標データの真正性を検証するために使用される検証情報を保持している、ステップと、
前記検証情報に基づいて、前記取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するステップとを含む方法。
【請求項２】
前記データプロバイダによって公開された前記目標データは、前記データ識別子に基づいて生成されたグラフィックコードを保持しており、
ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するステップは、
前記グラフィックコードを走査し解析して前記ブロックチェーン内の前記目標データの前記データ識別子を取得するステップを含む、請求項1に記載の方法。
【請求項３】
前記データ識別子は、前記目標データのトランザクションのトランザクションハッシュ値であり、
前記データ識別子に基づいて、前記目標データが前記ブロックチェーンに記憶されているかどうかを判定するステップは、
前記目標データの前記トランザクションのトランザクションハッシュ値に基づいて前記トランザクションについてのSPVを実行して、前記トランザクションが前記ブロックチェーンに記憶されているかどうかを判定するステップを含む、請求項1または2に記載の方法。
【請求項４】
前記検証情報に基づいて、前記取得された目標データの真正性を検証するステップは、
インストールされた検証プログラムを実行して、前記検証情報に基づいて、前記取得された目標データの真正性を検証するステップ、または
前記ブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、前記スマートコントラクトに定義された検証プログラムを実行し、前記検証情報に基づいて、前記取得された目標データの真正性を検証するステップを含む、請求項1に記載の方法。
【請求項５】
前記ブロックチェーンに記憶された前記目標データは、前記真正性の検証に関する補助情報をさらに含み、前記検証情報は、前記目標データの元のコンテンツおよび前記補助情報に基づいてハッシュ計算を実行することによって取得されたハッシュ値であり、
前記検証情報に基づいて、前記取得された目標データの真正性を検証するステップは、
前記目標データの前記元のコンテンツおよび前記補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出された前記ハッシュ値が前記ブロックチェーンに記憶された前記目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、前記取得された目標データは前記真正性の検証に合格したと判定し、または同じではない場合に、前記取得された目標データは前記真正性の検証に合格しなかったと判定するステップを含む、請求項4に記載の方法。
【請求項６】
前記補助情報は、
データアップローダの識別子、
前記目標データのアップロードタイムスタンプ、または
前記目標データのアップロード位置
のうちの任意の1つまたは少なくとも2つの組合せを含む、請求項5に記載の方法。
【請求項７】
前記データ識別子によって示された前記記憶位置から取得された前記目標データを前記データ検証者に出力し、それによって、前記データ検証者が、前記出力された目標データを前記データプロバイダによって公開された前記目標データと比較するステップをさらに含む、請求項1に記載の方法。
【請求項８】
ブロックチェーンベースのデータ検証装置であって、
ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するように構成された第1の取得モジュールであって、前記データ識別子が前記ブロックチェーン内の前記目標データの記憶位置を示す、第1の取得モジュールと、
前記データ識別子に基づいて、前記目標データが前記ブロックチェーンに記憶されているかどうかを判定するように構成された判定モジュールと、
前記目標データが前記ブロックチェーンに記憶されている場合に、前記データ識別子によって示された前記記憶位置から前記目標データを取得するように構成された第2の取得モジュールであって、前記ブロックチェーンに記憶された前記目標データが、前記目標データの真正性を検証するために使用される検証情報を保持している、第2の取得モジュールと、
前記検証情報に基づいて、前記取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するように構成された検証モジュールとを備える装置。
【請求項９】
前記データプロバイダによって公開された前記目標データは、前記データ識別子に基づいて生成されたグラフィックコードを保持しており、
前記第1の取得モジュールは、
前記グラフィックコードを走査し解析して前記ブロックチェーン内の前記目標データの前記データ識別子を取得するように構成される、請求項8に記載の装置。
【請求項１０】
前記データ識別子は、前記目標データのトランザクションのトランザクションハッシュ値であり、
前記判定モジュールは、
前記目標データの前記トランザクションのトランザクションハッシュ値に基づいて前記トランザクションについてのSPVを実行して、前記トランザクションが前記ブロックチェーンに記憶されているかどうかを判定するように構成される、請求項8または9に記載の装置。
【請求項１１】
前記検証モジュールは、インストールされた検証プログラムを実行して、前記検証情報に基づいて、前記取得された目標データの真正性を検証するか、または
前記ブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、前記スマートコントラクトに定義された検証プログラムを実行し、前記検証情報に基づいて、前記取得された目標データの真正性を検証するようにさらに構成される、請求項8に記載の装置。
【請求項１２】
前記ブロックチェーンに記憶された前記目標データは、前記真正性の検証に関する補助情報をさらに含み、前記検証情報は、前記目標データの元のコンテンツおよび前記補助情報に基づいてハッシュ計算を実行することによって取得されたハッシュ値であり、
前記検証モジュールは、
前記目標データの前記元のコンテンツおよび前記補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出された前記ハッシュ値が前記ブロックチェーンに記憶された前記目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、前記取得された目標データは前記真正性の検証に合格したと判定し、または同じではない場合に、前記取得された目標データは前記真正性の検証に合格しなかったと判定するようにさらに構成される、請求項11に記載の装置。
【請求項１３】
前記補助情報は、
データアップローダの識別子、
前記目標データのアップロードタイムスタンプ、または
前記目標データのアップロード位置
のうちの任意の1つまたは少なくとも2つの組合せを含む、請求項12に記載の装置。
【請求項１４】
前記第2の取得モジュールは、
前記データ識別子によって示された前記記憶位置から取得された前記目標データを前記データ検証者に出力し、それによって、前記データ検証者が、前記出力された目標データを前記データプロバイダによって公開された前記目標データと比較するようにさらに構成される、請求項8に記載の装置。
【請求項１５】
プロセッサと、
機械実行可能な命令を記憶するように構成されたメモリとを含む電子デバイスであって、
前記プロセッサが、前記メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、
ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得することであって、前記データ識別子が前記ブロックチェーン内の前記目標データの記憶位置を示す、ことと、
前記データ識別子に基づいて、前記目標データが前記ブロックチェーンに記憶されているかどうかを判定することと、
前記目標データが前記ブロックチェーンに記憶されている場合に、前記データ識別子によって示された前記記憶位置から前記目標データを取得することであって、前記ブロックチェーンに記憶された前記目標データが、前記目標データの真正性を検証するために使用される検証情報を保持している、ことと、
前記検証情報に基づいて、前記取得された目標データの真正性を検証し、検証結果をデータ検証者に出力することとが可能である、電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の1つまたは複数の実装形態はブロックチェーンの分野に関し、詳細には、データ検証方法および装置、ならびに電子デバイスに関する。
【背景技術】
【０００２】
ブロックチェーン技術は、分散型台帳技術とも呼ばれ、複数のコンピューティングデバイスが「会計」に関与して完全な分散型データベースを維持する新しい技術である。ブロックチェーン技術は、非中央集権性、開放性、および透明性、データベースにデータを記録することへの各コンピューティングデバイスの関与、コンピューティングデバイス間の高速データ同期などの特徴によって多くの分野で広く使用されている。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書は、ブロックチェーンベースのデータ検証方法であって、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するステップであって、データ識別子がブロックチェーン内の目標データの記憶位置を示す、ステップと、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定するステップと、目標データがブロックチェーンに記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得するステップであって、ブロックチェーンに記憶された目標データが、目標データの真正性を検証するために使用される検証情報を保持している、ステップと、検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するステップとを含む方法を提供する。
【０００４】
任意選択で、データプロバイダによって公開された目標データは、データ識別子に基づいて生成されたグラフィックコードを保持しており、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するステップは、グラフィックコードを走査し解析してブロックチェーン内の目標データのデータ識別子を取得するステップを含む。
【０００５】
任意選択で、データ識別子は、目標データのトランザクションのトランザクションハッシュ値であり、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定するステップは、目標データのトランザクションのトランザクションハッシュ値に基づいてトランザクションについての簡易決済検証(Simplified Payment Verification(SPV))を実行して、トランザクションがブロックチェーンに記憶されているかどうかを判定するステップを含む。
【０００６】
任意選択で、検証情報に基づいて、取得された目標データの真正性を検証するステップは、インストールされた検証プログラムを実行して、検証情報に基づいて、取得された目標データの真正性を検証するステップ、またはブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、スマートコントラクトに定義された検証プログラムを実行し、検証情報に基づいて、取得された目標データの真正性を検証するステップを含む。
【０００７】
任意選択で、ブロックチェーンに記憶された目標データは、真正性検証に関する補助情報をさらに含み、検証情報は、目標データの元のコンテンツおよび補助情報に基づいてハッシュ計算を実行することによって取得されたハッシュ値であり、検証情報に基づいて、取得された目標データの真正性を検証するステップは、目標データの元のコンテンツおよび補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出されたハッシュ値がブロックチェーンに記憶された目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、取得された目標データは真正性検証に合格したと判定し、または同じではない場合に、取得された目標データは真正性検証に合格しなかったと判定するステップを含む。
【０００８】
任意選択で、補助情報は、データアップローダの識別子、目標データのアップロードタイムスタンプ、または目標データのアップロード位置のうちの任意の1つまたは少なくとも2つの組合せを含む。
【０００９】
任意選択で、この方法は、データ識別子によって示された記憶位置から取得された目標データをデータ検証者に出力し、それによって、データ検証者が、出力された目標データをデータプロバイダによって公開された目標データと比較するステップを含む。
【００１０】
本明細書は、ブロックチェーンベースのデータ検証装置であって、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得するように構成された第1の取得モジュールであって、データ識別子がブロックチェーン内の目標データの記憶位置を示す、第1の取得モジュールと、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定するように構成された判定モジュールと、目標データがブロックチェーンに記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得するように構成された第2の取得モジュールであって、ブロックチェーンに記憶された目標データが、目標データの真正性を検証するために使用される検証情報を保持している、第2の取得モジュールと、検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するように構成された検証モジュールとを含む装置をさらに提供する。
【００１１】
任意選択で、データプロバイダによって公開された目標データは、データ識別子に基づいて生成されたグラフィックコードを保持しており、第1の取得モジュールは、グラフィックコードを走査し解析してブロックチェーン内の目標データのデータ識別子を取得するように構成される。
【００１２】
任意選択で、データ識別子は、目標データのトランザクションのトランザクションハッシュ値であり、判定モジュールは、目標データのトランザクションのトランザクションハッシュ値に基づいてトランザクションについてのSPVを実行して、トランザクションがブロックチェーンに記憶されているかどうかを判定するように構成される。
【００１３】
任意選択で、検証モジュールは、インストールされた検証プログラムを実行して、検証情報に基づいて、取得された目標データの真正性を検証するか、またはブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、スマートコントラクトに定義された検証プログラムを実行し、検証情報に基づいて、取得された目標データの真正性を検証するように構成される。
【００１４】
任意選択で、ブロックチェーンに記憶された目標データは、真正性検証に関する補助情報をさらに含み、検証情報は、目標データの元のコンテンツおよび補助情報に基づいてハッシュ計算を実行することによって取得されたハッシュ値であり、検証モジュールは、目標データの元のコンテンツおよび補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出されたハッシュ値がブロックチェーンに記憶された目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、取得された目標データは真正性検証に合格したと判定し、または同じではない場合に、取得された目標データは真正性検証に合格しなかったと判定するようにさらに構成される。
【００１５】
任意選択で、補助情報は、データアップローダの識別子、目標データのアップロードタイムスタンプ、または目標データのアップロード位置のうちの任意の1つまたは少なくとも2つの組合せを含む。
【００１６】
任意選択で、第2の取得モジュールは、データ識別子によって示された記憶位置から取得された目標データをデータ検証者に出力し、それによって、データ検証者が、出力された目標データをデータプロバイダによって公開された目標データと比較するようにさらに構成される。
【００１７】
本明細書は、プロセッサと、機械実行可能な命令を記憶するように構成されたメモリとを含む電子デバイスであって、プロセッサが、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得することであって、データ識別子がブロックチェーン内の目標データの記憶位置を示す、ことと、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定することと、目標データがブロックチェーンに記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得することであって、ブロックチェーンに記憶された目標データが、目標データの真正性を検証するために使用される検証情報を保持している、ことと、検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力することとが可能である電子デバイスをさらに提供する。
【００１８】
前述の技術的解決策によれば、一方では、データプロバイダによって公開されたデータ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかが判定され、データプロバイダによって公開された情報の真正性を検証することができ、それによって、データ検証者は、データプロバイダによって公開され、ブロックチェーン内のどのデータ記憶レコードにも対応しない偽データ識別子を迅速に特定することができる。
【００１９】
一方、目標データがブロックチェーンに記憶されていると判定された後、ブロックチェーンに記憶された目標データに保持された検証情報に基づいてブロックチェーン内の目標データに対して真正性検証が実行され、それによって、データ検証者は、ブロックチェーン内の目標データのコンテンツが改ざんされているかどうかを判定し、異常なデータを迅速に特定することができる。
【図面の簡単な説明】
【００２０】
【図１】例示的な実装形態によるブロックチェーンベースのデータ検証方法を示す概略図である。
【図２】例示的な実装形態によるコンソーシアム型ブロックチェーンを示す図である。
【図３】例示的な実装形態による電子デバイスを示す概略構造図である。
【図４】例示的な実装形態によるブロックチェーンベースのデータ検証装置を示すブロック図である。
【発明を実施するための形態】
【００２１】
社会のデジタル化のレベルが高くなるにつれて、インターネットが生活および産業のより多くの分野により深く浸透するときに実世界とデジタル世界をどのように接続するかが重要な問題になっている。
【００２２】
たとえば、典型的なシナリオでは、何らかの製品がeコマースウェブサイト上で販売され、ユーザはウェブサイト上でいくつかの写真(デジタル情報)しか見ることができないため、デジタル情報が実際の適用例では実世界における製品に対応することを消費者に納得させる必要がある。
【００２３】
このことに鑑みて、本明細書は、ブロックチェーンの分散型データに記憶されたデジタル情報の真正性を検証するための技術的解決策を提供する。
【００２４】
実施中、目標データについて標準データ記憶フォーマットを定義することができ、目標データは、アップロード側クライアントによって、アップロード側クライアントによってアクセス可能なブロックチェーンノードデバイスに定義されたデータ記憶フォーマットに従ってアップロードされる。定義されたデータ記憶フォーマットは、目標データの真正性を検証するために使用される検証情報を含むことができる。
【００２５】
アップロード側クライアントによってアップロードされた目標データを受信した後、ノードデバイスは、目標データをブロックチェーンにおいて公開し、ブロックチェーン内のノードデバイス間のコンセンサス処理の後でブロックチェーンの分散型データベースに目標データを記憶することができる。
【００２６】
目標データがブロックチェーンの分散型データベースに首尾よく記憶された後、ブロックチェーン内のノードデバイスは、ブロックチェーン内の目標データの記憶位置を示すデータ識別子を、アップロード側クライアントを通じてデータプロバイダに返すことができる。たとえば、実際の適用例では、データ識別子は特に、目標データのトランザクションのトランザクションハッシュ値とすることができる。
【００２７】
さらに、目標データがブロックチェーンの分散型データベースに首尾よく記憶された後、データプロバイダは、ブロックチェーン内のノードデバイスによって返される目標データおよびブロックチェーン内の目標データのデータ識別子を、たとえばウェブサイトを通して公開することができる。
【００２８】
データプロバイダによって公開された目標データおよびブロックチェーン内の目標データのデータ識別子を見た後、データ検証者は、データプロバイダによって公開された目標データの真正性を検証クライアントを通じて検証することができる。
【００２９】
まず、検証クライアントは、データプロバイダによって公開されたデータ識別子を取得し、データ識別子に基づいて、目標データがブロックチェーンの分散型データベースに記憶されているかどうかを検証することができる。
【００３０】
さらに、目標データがブロックチェーンの分散型データベースに記憶されていることが検証された場合、ブロックチェーンに記憶された目標データをデータ識別子によって示された記憶位置から取得することができ、次いで、目標データに保持された検証情報に基づいて目標データに対して真正性検証が実行され、検証クライアントによって検証結果がデータ検証者に出力される。
【００３１】
前述の技術的解決策によれば、一方では、データプロバイダによって公開されたデータ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかが判定され、データプロバイダによって公開された情報の真正性を検証することができ、それによって、データ検証者は、データプロバイダによって公開され、ブロックチェーン内のどのデータ記憶レコードにも対応しない偽データ識別子を迅速に特定することができる。
【００３２】
一方、目標データがブロックチェーンに記憶されていると判定された後、ブロックチェーンに記憶された目標データに保持された検証情報に基づいてブロックチェーン内の目標データに対して真正性検証が実行され、それによって、データ検証者は、ブロックチェーン内の目標データのコンテンツが改ざんされているかどうかを判定し、異常データを迅速に特定することができる。
【００３３】
以下では、実装形態を使用することにより、特定の適用例シナリオを参照して、本明細書について説明する。
【００３４】
図1を参照すると、図1は、本明細書の実装形態によるブロックチェーンベースのデータ検証方法を示す。この方法は、ブロックチェーン内の検証クライアントに適用され、以下のステップを含む。
【００３５】
ステップ102:  ブロックチェーン内のデータプロバイダによって公開された目標データのデータ識別子を取得する。データ識別子は、ブロックチェーン内の目標データの記憶位置を示す。
【００３６】
ステップ104:  データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定する。
【００３７】
ステップ106:  目標データがブロックチェーンに記憶されている場合、データ識別子によって示された記憶位置から目標データを取得する。ブロックチェーンに記憶された目標データは、目標データの真正性を検証するために使用される検証情報を保持している。
【００３８】
ステップ108:  検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力する。
【００３９】
目標データは特に、ブロックチェーンに記憶することができ、インターネットを通じて公表することができ、実世界における物に対応する任意の形式のデジタル情報を含むことができる。
【００４０】
たとえば、1つのシナリオでは、目標データは特に、実在の品質検査機関によって発行された製品品質検査レポートとすることができ、業者は、eコマースプラットフォームを通じて製品を発表する際に製品の写真を製品の製品品質検査レポートの写真とともに公表することができる。
【００４１】
データ識別子は特に、ブロックチェーンに記憶されたデータの記憶位置を示す任意の形式の識別情報を含むことができる。
【００４２】
たとえば、図示の実装形態では、ブロックチェーンの分散型データベースにおいて、データは一般に、ブロックチェーン内のブロックに記憶されたトランザクションに記録され、ブロックに記憶されたトランザクションは一般に、トランザクションのトランザクションハッシュ値に基づくマークルツリー(Merkle tree)として構成される。したがって、データの取込みを容易にするために、データ識別子は特に、データのトランザクションのトランザクションハッシュ値とすることができる。データのトランザクションは、トランザクションハッシュ値に基づいて迅速に見つけることができる。もちろん、実際の適用例では、データ識別子は特に、データのトランザクションのトランザクションインデックスとすることができる。
【００４３】
本明細書で説明するブロックチェーンは特に、任意の種類のブロックチェーンネットワークを含むことができる。
【００４４】
たとえば、図示の実装形態では、ブロックチェーンは特に、複数の業者、複数の品質検査機関、および複数の消費者を含むコンソーシアムブロックチェーンとすることができる。品質検査機関は、データアップローダとして、アップロード側クライアントを通じてコンソーシアムブロックチェーン内の任意のノードデバイスにアクセスし、製品品質検査レポートをデジタル情報の形でノードデバイスにアップロードすることができる。ノードデバイスは、ブロックチェーンにおける製品品質検査レポートについてのコンセンサス処理を開始し、コンセンサスが得られた後にブロックチェーンの分散型データベースに製品品質検査レポートを記憶する。業者は、データプロバイダとして、品質検査機関によって発表された製品品質検査レポートをeコマースプラットフォームを通じて公表することができる。消費者は、業者によって公表された製品品質検査レポートを見たときに、コンソーシアムブロックチェーン内の任意のノードデバイスに検証クライアントを通じてアクセスすることによって製品品質検査レポートについての真正性検証を開始することもできる。
【００４５】
以下では、目標データが製品品質検査レポートであり、ブロックチェーンが、複数の業者、複数の品質検査機関、および複数の消費者を含む前述のコンソーシアムブロックチェーンである例に基づいて本明細書の技術的解決策について詳細に説明する。
【００４６】
図2を参照すると、図2は、本明細書によるコンソーシアムブロックチェーンを示す図である。
【００４７】
図2に示すように、ブロックチェーンオペレータは、複数のノードデバイスを含むコンソーシアムブロックチェーンを事前に確立することができる。業者、製品品質検査機関、および消費者は、コンソーシアムブロックチェーンに登録し、コンソーシアムブロックチェーンにおける法的アイデンティティを取得した後(たとえば、コンソーシアムブロックチェーンによって割り当てられる秘密鍵/公開鍵対を取得した後)にコンソーシアムブロックチェーンのメンバーとしてコンソーシアムブロックチェーンにアクセスすることができる。
【００４８】
本明細書では、業者、製品品質検査機関、および消費者がコンソーシアムブロックチェーンに登録され、コンソーシアムブロックチェーンのメンバーとしてコンソーシアムブロックチェーンに参加する具体的なプロセスは、説明を簡単にするために省略されている。
【００４９】
図2を参照すると、製品品質検査機関は、データアップローダとして、コンソーシアムブロックチェーン内のノードデバイスにアップロード側クライアントを通じてアクセスし、業者によって委託された製品について発表された製品品質検査レポートを、デジタル情報の形でノードデバイスにアップロードすることができる。
【００５０】
消費者は、データ検証者として、コンソーシアムブロックチェーン内のノードデバイスに検証クライアントを通じてアクセスすることができる。消費者は、業者によって公表された製品品質検査レポートを見たときに、製品品質検査レポートについての真正性検証を検証クライアントを通じて開始することができる。
【００５１】
アップロード側クライアントおよび検証クライアントの各々はウェブクライアント(ブロックチェーンブラウザなど)またはプリインストールされたアプリケーション(APP)とすることができ、これについては本明細書では特に限定されないことに留意されたい。
【００５２】
本明細書では、製品品質検査機関は、アップロードすべき製品品質検査レポート用の標準データ記憶フォーマットを定義することができる。製品品質検査機関が、業者によって委託された製品についての製品品質検査レポートを発行した後、製品品質検査レポートを標準データ記憶フォーマットに構成することができ、製品品質検査機関によって保持される秘密鍵に基づいて製品品質検査レポートに署名することができ、次いで製品品質検査レポートをアップロード側クライアントによってアクセス可能なブロックチェーン内のノードデバイスにアップロードすることができる。
【００５３】
製品品質検査レポートについて定義されたデータ記憶フォーマットは、データの元のコンテンツ、検証情報、および補助情報の3つの部分を含むことができる。検証情報は特に、データの真正性を検証するために使用される。補助情報は、真正性検証に関する補助パラメータとすることができる。
【００５４】
図示の実装形態では、検証情報は、製品品質検査レポートの元のコンテンツおよび補助情報に基づくハッシュ計算を実行することによって取得されるハッシュ値とすることができる。補助情報は、データアップローダのアイデンティティ、アップロードタイムスタンプ、アップロード位置などのうちの1つまたは少なくとも2つの組合せを含むことができる。
【００５５】
この場合、製品品質検査レポートについて定義されたデータ記憶フォーマットをTable 1(表1)に示すことができる。
【表１】
2021515427.tif 000003
【００５６】
コンテンツフィールドエントリの具体的な形式は、本明細書では特に限定されない。たとえば、コンテンツフィールドエントリは写真の形式とすることができる。
【００５７】
アップローダアイデンティティフィールドエントリは、アップローダのアイデンティティを示す任意の形式の情報、たとえば、IDカード番号、指紋情報、またはデジタル証明書署名とすることができる。
【００５８】
アップロード時間フィールドエントリは、それぞれに異なる時間帯に属する人の同じ時間についての認識の不一致によって生じる曖昧さを防止するために一般に受け入れられる世界時間に基づくべきである。たとえば、北京時間帯に属する人とニューヨーク時間帯に属する人は、同じ時間についての認識が一致しない場合がある。
【００５９】
アップロード位置フィールドにおける住所記述は、曖昧さを生じさせてはならない。たとえば、多くの都市に「Zhongshan Road」がある。最も適切な方法は、経度および緯度座標、ジオハッシュなどの明確な住所表現を使用することである。
【００６０】
本明細書では、コンソーシアムブロックチェーン内のノードデバイスは、アップロード側クライアントによってアップロードされた製品品質検査レポートを受信した後、まず製品品質検査機関によって保持された秘密鍵に対応する公開鍵に基づいて製品品質検査レポートの署名を検証することができる。署名検証が合格した場合、製品品質検査レポートが正当な製品品質検査機関によってアップロードされた情報であることが示される。この場合、目標データをブロックチェーンにおいて公開することができ、コンソーシアムブロックチェーン内のノードデバイス間のコンセンサス処理が完了した後、製品品質検査レポートをブロックチェーンの分散型データベースに記憶することができる。
【００６１】
コンソーシアムブロックチェーンにおいて使用されるコンセンサスアルゴリズムは、本明細書では特に限定されない。たとえば、PBFTなどの、コンソーシアムブロックチェーンにおいて使用するのに適した主流のコンセンサスアルゴリズムを使用することができ、またはコンソーシアムブロックチェーンのオペレータによって、関連するコンセンサスアルゴリズムを独立に開発することができる。
【００６２】
製品品質検査レポートがブロックチェーンの分散型データベースに首尾よく記憶されると、ブロックチェーン内のノードデバイスは、ブロックチェーン内の製品品質検査レポートの記憶位置を示すデータ識別子を、アップロード側クライアントを通じて製品品質検査機関に返送することができる。
【００６３】
たとえば、図示の実装形態では、データ識別子は特に、製品品質検査レポートのトランザクションのトランザクションハッシュ値とすることができる。
【００６４】
本明細書では、製品品質検査機関はまた、生成された製品品質検査レポート、およびコンソーシアムブロックチェーン内のノードデバイスによって返送されたデータ識別子を業者に送ることができる。業者は、製品品質検査機関によって送られた製品品質検査レポートおよびデータ識別子を受信した後、製品品質検査レポートおよびデータ識別子をウェブサイトを通じて消費者に公開することができる。たとえば、製品の写真を電子業者プラットフォームを通じて製品の写真とともに消費者に公開することができる。
【００６５】
消費者は、業者によって公表された製品品質検査レポートおよびブロックチェーン内の製品品質検査レポートのデータ識別子を見た後、業者によって公表された製品品質検査レポートの真正性を検証クライアントを通じて検証することができる。
【００６６】
図示の実装形態では、消費者は、業者によって公開されたブロックチェーン内の製品品質検査レポートのデータ識別子を見た後、検証クライアントによって提供されるユーザインターフェース上にデータ識別子を手動で入力することができる。検証クライアントは、ユーザによって手動で入力されたデータ識別子を取得し、次いで、取得されたデータ識別子に基づいて、製品品質検査レポートの検証を開始することができる。
【００６７】
別の図示の実装形態では、業者は、製品品質検査レポートを公開するときに、製品品質検査レポートのグラフィックコード(2次元コードまたはバーコードなど)を公表された製品品質検査レポートに付加することができる。
【００６８】
たとえば、データ識別子が製品品質検査レポートのトランザクションのトランザクションハッシュ値である場合、業者は、トランザクションハッシュ値に対応する文字列を符号化情報として使用することによって対応するグラフィックコードを生成し、次いで、生成されたグラフィックコードを公表された製品品質検査レポートの写真に貼り付けることができる。
【００６９】
この場合、消費者は、検証クライアントを使用して、グラフィックコードに保持されたデータ識別子を取得することによって、グラフィックコードを走査し解析し、次いで、解析されたデータ識別子に基づいて、製品品質検査レポートの検証を開始することができる。
【００７０】
本明細書では、検証クライアントが、業者によって公開されたコンソーシアムブロックチェーンにおける製品品質検査レポートのデータ識別子を取得した後、データ識別子に基づいて、製品品質検査レポートがコンソーシアムブロックチェーンの分散型データベースに記憶されているかどうかを判定することができる。
【００７１】
図示の実装形態では、データ識別子は、製品品質検査レポートのトランザクションのトランザクションハッシュ値であり、トランザクションハッシュ値に基づいてトランザクションに対して簡易決済検証(SPV)を実行し、トランザクションがコンソーシアムブロックチェーンの分散型データベースに記憶されているかどうかを判定することができる。
【００７２】
SPVは、ブロックチェーンの分散型データベース内にトランザクションがすでに存在するかどうかを検証するために使用されるプロトコルである。以下では、トランザクションハッシュに基づいてトランザクションに対してSPVを実行するプロセスについて詳細に説明する。
【００７３】
実際の適用例では、ブロックチェーン内のブロックは一般に、ブロックヘッダとブロック本体(トランザクションを含む)の2つの部分を含む。ブロックに記録されたトランザクションは一般に、トランザクションハッシュ値の形のマークルツリーとして構成される。
【００７４】
マークルツリーに記録されたトランザクションのハッシュ値を構成する詳細なプロセスは、本明細書では特に限定されない。当業者は、関連する技術を参照することによって、本明細書における技術的解決策を実施することができる。
【００７５】
トランザクションハッシュ値に基づいてトランザクションに対してSPVが実行されると、マークルツリーにおけるトランザクションの目標ブロックを含むトランザクションのマークル検証経路を最初に取得することができる。
【００７６】
マークル検証経路は特に、トランザクションのトランザクション値に基づいてマークルツリーを横断することによって取得される兄弟ノード(すなわち、近隣ノード)によって形成される経路である。トランザクションに対してSPVが実行されるときに、トランザクションのマークル検証経路を、トランザクションが位置するマークルツリーのルートノードに対応するハッシュ値を逆計算するための計算パラメータとして使用することができる。
【００７７】
マークル検証経路は、ユーザによって手動で提示するか、または検証クライアントによってブロックチェーンから能動的に問い合わせることができることに留意されたい。
【００７８】
たとえば、検証クライアントは、トランザクションの目標ブロックを含むマークルツリーにおけるトランザクションのマークル検証経路を能動的に問い合わせるとき、まずトランザクションのトランザクションハッシュ値に基づいてトランザクションが位置する目標ブロックを見つけることができる。
【００７９】
本明細書では、トランザクションハッシュ値に基づいてトランザクションが位置するブロックを見つけるプロセスについては、説明を簡略化するために省略する。たとえば、関連技術では、トランザクションのハッシュ値が位置するブロックを見つけるためにブルームフィルタをデプロイすることができる。トランザクションが位置するブロックを見つけると、ブロックの見つかったマークルツリーからマークルツリーにおけるトランザクションのマークル検証経路をさらに見つけることができる。
【００８０】
本明細書では、トランザクションの目標ブロックを含むマークルツリーにおけるトランザクションのマークル検証経路を取得した後、SPVプロトコルによって指定された計算手順に基づいて目標ブロックのブロックヘッダのハッシュ値(すなわち、目標ブロックのマークルツリーのルートノードのハッシュ値)を算出することができる。次いで、目標ブロックのブロックヘッダの算出されたハッシュ値が目標ブロックのブロックヘッダに記憶されたハッシュ値と一致するかどうかを判定することができる。目標ブロックのブロックヘッダの算出されたハッシュ値が目標ブロックのブロックヘッダに記憶されたハッシュ値と一致する場合、トランザクションは目標ブロックに含まれると判定することができ、すなわち、製品品質検査レポートは、コンソーシアムブロックチェーンの分散型データベースに首尾よく記憶されている。対して、目標ブロックのブロックヘッダの算出されたハッシュ値が、目標ブロックのブロックヘッダに記憶されたハッシュ値と一致しない場合は、トランザクションが目標ブロックに含まれていないことを示し、すなわち、製品品質検査レポートは、コンソーシアムブロックチェーンに記憶された分散型データベースに首尾よく記憶されていない。
【００８１】
本明細書では、前述の実施プロセスによって、製品品質検査レポートがコンソーシアムブロックチェーンの分散型データベースに記憶されていると判定されたときに、データ識別子によって示された記憶位置から製品品質検査レポートをさらに取得することができる。
【００８２】
たとえば、依然としてデータ識別子が製品品質検査レポートのトランザクションのトランザクションハッシュ値である場合、トランザクションハッシュ値に基づいて対応するトランザクションを見つけることができ、次いで、見つかったトランザクションからトランザクションに記録された製品品質検査レポートを読み取ることができる。
【００８３】
製品品質検査レポートがデータ識別子によって示された記憶位置から取得された後、製品品質検査レポートの標準記憶フォーマットで保持された検証情報をさらに読み取ることができ、コンソーシアムブロックチェーンの分散型データベースから取得された製品品質検査レポートの真正性を検証情報に基づいて検証することができる。
【００８４】
本明細書では、真正性検証は特に、製品品質検査レポートに記録された元のコンテンツが改ざんされているかどうかを検証することである。
【００８５】
たとえば、いくつかのシナリオでは、製品品質検査機関によって製品品質検査レポートが発行された後、製品品質検査レポートを標準データ記憶フォーマットに構成し、次いでアップロードを目的として業者に送ることができる。この場合、信頼性に劣る業者が、レポートをアップロードする前に製品品質検査レポートにおけるいくつかのフィールドを悪意を持って修正することがある。
【００８６】
別の例では、他のシナリオにおいて、製品品質検査レポートが送信時に不正に傍受されることがあり、レポート内のいくつかのフィールドが悪意を持って修正されることがある。
【００８７】
消費者は、製品品質検査レポートの真正性を検証するプロセスをブロックチェーンに導入することによって、上述の製品品質検査レポートの悪意を持った修正を迅速に特定することができる。
【００８８】
本明細書では、検証クライアントが製品品質検査レポートに保持された検証情報に基づいて、コンソーシアムブロックチェーンの分散型データベースから取得された製品品質検査レポートの真正性を検証するときに、特に、ローカルにインストールされた検証プログラムを実行するか、またはコンソーシアムブロックチェーンにデプロイされたスマートコントラクトをリモートから呼び出すことによって検証を実施することができる。
【００８９】
図示の実装形態では、検証クライアント上に検証プログラムをインストールして製品品質検査レポートの真正性を検証することができる。
【００９０】
たとえば、製品品質検査レポートの真正性検証規則は、データアップローダとして働く製品品質検査機関によって公表することができ、検証クライアントの開発者は、製品品質検査機関によって公開された検証規則に基づいて検証クライアントのソフトウェア環境における対応するプログラム実行コード(たとえば、検証規則の実行論理に対応する機能)を開発することができる。
【００９１】
検証クライアントは、製品品質検査レポートがコンソーシアムブロックチェーンの分散型データベースに記憶されていると判定し、コンソーシアムブロックチェーンに記憶された製品品質検査レポートを取得したときに、取得された製品品質検査レポートから検証情報を読み取ることができる。たとえば、Table 1(表1)に示すデータ記憶フォーマットが使用されるとき、検証クライアントは、Table 1(表1)に示すフィールド5から検証情報を読み取ることができる。
【００９２】
さらに、ローカルにインストールされた検証プログラムを実行し、読み取られた検証情報に基づいてコンソーシアムブロックチェーンから取得された製品品質検査レポートの真正性を検証することができる。
【００９３】
図示の実装形態では、代替として、コンソーシアムブロックチェーンに事前にスマートコントラクトをデプロイすることができ、製品品質検査レポートの真正性を検証するための検証手順がスマートコントラクトに定義される。
【００９４】
たとえば、コンソーシアムブロックチェーンのオペレータは、データアップローダとしての製品品質検査機関によって公表された製品品質検査レポートについての真正性検証規則に基づいて対応するコントラクトコードを開発し、スマートコントラクトをデプロイし、次いでコンソーシアムブロックチェーンにおいてスマートコントラクトを公開することができる。次いで、コンソーシアムブロックチェーン内のノードデバイスは、スマートコントラクトに対してコンセンサス処理を実行し、コンセンサス処理が完了した後にコンソーシアムブロックチェーンの分散型データベースにスマートコントラクトを記憶することができ、それによって、コンソーシアムブロックチェーンにアクセスするクライアントはスマートコントラクトをリモートから呼び出すことができる。
【００９５】
検証クライアントは、製品品質検査レポートがコンソーシアムブロックチェーンの分散型データベースに記憶されていると判定し、コンソーシアムブロックチェーンに記憶された製品品質検査レポートを取得すると、取得された製品品質検査レポートから検証情報を読み取り、検証情報に基づいてトランザクションを構築し、トランザクションをスマートコントラクトに提示し、スマートコントラクトの取消しを開始し、スマートコントラクトに定義された検証プログラムを実行し、読み取られた検証情報に基づいて、コンソーシアムブロックチェーンから取得された製品品質検査レポートの真正性を検証することができる。
【００９６】
図示の実装形態では、たとえば、検証情報は、製品品質検査レポートの元のコンテンツおよび製品品質検査レポートのデータ記憶フォーマットに保持された補助情報に基づいてハッシュ計算を実行することによって取得されるハッシュ値である。この場合、検証クライアントにローカルにインストールされた検証プログラムが実行されるか、またはスマートコントラクトがリモートから呼び出され、スマートコントラクトに定義された検証プログラムが実行される。製品品質検査レポートに対して真正性検証が実行されるときに、製品品質検査レポートの元のコンテンツおよびコンソーシアムブロックチェーンから取得された製品品質検査レポートのデータ記憶フォーマットに保持された補助情報に基づいて、再計算によってハッシュ値を取得することができる。
【００９７】
さらに、算出されたハッシュ値を、検証情報として製品品質検査レポートのデータ記憶フォーマットに保持されたハッシュ値と突き合わせて、算出されたハッシュ値が、検査情報として製品品質検査レポートのデータ記憶フォーマットに保持されたハッシュ値と同じであるかどうかを判定することができる。2つのハッシュ値が同じである場合は、コンソーシアムブロックチェーンに記憶された製品品質検査レポートに保持されたコンテンツが改ざんされておらず、製品品質検査レポートが真正性検証に合格することが示され、もちろん、2つのハッシュ値が異なる場合は、コンソーシアムブロックチェーンに記憶された製品品質検査レポートに保持されたコンテンツが改ざんされており、製品品質検査レポートが真正性検証に合格しないことが示される。
【００９８】
製品品質検査レポートの真正性検証が完了した後、真正性検証結果を検証クライアントによって消費者に出力することができる。次いで、消費者は、製品品質検査レポートのために検証クライアントによって出力された真正性検証結果を参照することによって製品を購入するかどうかを判定することができる。
【００９９】
本明細書では、コンソーシアムブロックチェーンから取得された製品品質検査レポートを検証クライアントを通じて消費者に出力することもでき、それによって、消費者は、コンソーシアムブロックチェーンにおける記憶された製品品質検査レポートを業者によって公表された製品品質検査レポートと比較することができる。
【０１００】
このようにして、消費者は、業者によって公表された製品品質検査レポートに記録された情報が、製品品質検査機関によってアップロードされた製品品質検査レポートに記録された情報と一致するかどうかを目視によって検査することができる。
【０１０１】
実際の適用例では、コンソーシアムブロックチェーンから取得された直後に製品品質検査レポートを消費者に出力することができ、または製品品質検査レポートについての真正性検証が完了し、真正性検証結果が検証クライアントによって消費者に出力された後に、製品品質検査レポートを選択的に消費者に出力することができる。
【０１０２】
たとえば、真正性検証結果が、製品品質検査レポートが真正性検証に合格したことを示すとき、コンソーシアムブロックチェーンから取得された製品品質検査レポートを出力し、消費者に表示することができる。一方、製品品質検査レポートが真正性検証に合格しない場合、製品品質検査レポートはもはや消費者に出力されない。このようにして、消費者は、真正性検証に合格した製品品質検査レポートのみを見ることができる。
【０１０３】
上記の実装形態における製品品質検査レポートが目標データの例に過ぎないことに留意されたい。明らかに、実際の適用例では、代替として、目標データを製品品質検査レポート以外の他の形式のデータとすることができる。目標データが製品品質検査レポート以外の別の形式のデータであるとき、当業者は、実装形態に記載された実施プロセスを参照することによって本明細書に記載された技術的解決策を実施することができる。説明を簡単にするために、本明細書では詳細を省略する。
【０１０４】
前述の技術的解決策によれば、一方では、データプロバイダによって公開されたデータ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかが判定され、データプロバイダによって公開された情報の真正性を検証することができ、それによって、データ検証者は、データプロバイダによって公開され、ブロックチェーン内のどのデータ記憶レコードにも対応しない偽データ識別子を迅速に特定することができる。
【０１０５】
たとえば、業者によって公開されたデータ識別子に基づいて、データ識別子に対応する製品品質検査レポートはブロックチェーンに記憶されていないと判定された場合は、業者によって公開されたデータ識別子は偽データ識別子である可能性があり、すなわち、業者によって公表された製品品質検査レポートが存在しない可能性があることが示される。
【０１０６】
一方、目標データがブロックチェーンに記憶されていると判定された後、ブロックチェーンに記憶された目標データに保持された検証情報に基づいてブロックチェーン内の目標データに対して真正性検証が実行され、それによって、データ検証者は、ブロックチェーン内の目標データのコンテンツが改ざんされているかどうかを判定し、異常データを迅速に特定することができる。
【０１０７】
たとえば、ブロックチェーンに記憶された製品品質検査レポートが真正性検証に合格しない場合は、製品品質検査レポートが、アップロードされる前またはアップロードされたときに不当に改ざんされている可能性があることが示され、それによって、消費者は迅速に異常を特定することができる。
【０１０８】
前述の方法実装形態に対応して、本明細書では、ブロックチェーンベースのデータ検証装置の実装形態をさらに提供する。本明細書におけるブロックチェーンベースのデータ検証装置の実装形態は、電子デバイスに適用することができる。装置実装形態はソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを使用することによって実装することができる。一例としてソフトウェア実装形態が使用される。この装置は、論理装置として、電子デバイスのプロセッサによって不揮発性メモリ内の対応するコンピュータプログラム命令を実行できるようにメモリに読み込むことによって形成される。ハードウェアに関して、図3は、ブロックチェーンベースのデータ検証装置が配置された電子デバイスのハードウェア構造を示す図である。電子デバイスは、図3に示すプロセッサ、メモリ、ネットワークインターフェース、および不揮発性メモリに加えて、一般に電子デバイスの他の実際の機能に基づいて他のハードウェアを含む。本明細書では、説明を簡単にするために詳細を省略する。
【０１０９】
図4は、本明細書の例示的な実装形態によるブロックチェーンベースのデータ検証装置を示す論理ブロック図である。
【０１１０】
図4を参照すると、ブロックチェーンベースのデータ検証装置40は、図3に示す電子デバイスに適用することができ、第1の取得モジュール401と、判定モジュール402と、第2の取得モジュール403と、検証モジュール404とを含む。
【０１１１】
第1の取得モジュール401は、ブロックチェーン内のデータプロバイダによって公開された目標データのデータ識別子を取得するように構成され、データ識別子は、ブロックチェーン内の目標データの記憶位置を示す。
【０１１２】
判定モジュール402は、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定するように構成される。
【０１１３】
第2の取得モジュール403は、目標データがブロックチェーンに記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得するように構成され、ブロックチェーンに記憶された目標データは、目標データの真正性を検証するために使用される検証情報を保持している。
【０１１４】
検証モジュール404は、検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力するように構成される。
【０１１５】
この実装形態では、データプロバイダによって公開された目標データは、データ識別子に基づいて生成されたグラフィックコードを保持しており、第1の取得モジュール401は、グラフィックコードを走査し解析してブロックチェーン内の目標データのデータ識別子を取得するように構成される。
【０１１６】
この実装形態では、データ識別子は、目標データのトランザクションのトランザクションハッシュ値であり、判定モジュール402は、目標データのトランザクションのトランザクションハッシュ値に基づいてトランザクションについてのSPVを実行し、トランザクションがブロックチェーンに記憶されているかどうかを判定するように構成される。
【０１１７】
この実装形態では、検証モジュール404は、インストールされた検証プログラムを実行して、検証情報に基づいて、取得された目標データの真正性を検証するか、またはブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、スマートコントラクトに定義された検証プログラムを実行し、検証情報に基づいて、取得された目標データの真正性を検証するようにさらに構成される。
【０１１８】
この実装形態では、ブロックチェーンに記憶された目標データは、真正性検証に関する補助情報をさらに含み、検証情報は、目標データの元のコンテンツおよび補助情報に基づいてハッシュ計算を実行することによって取得されたハッシュ値であり、検証モジュール404は、目標データの元のコンテンツおよび補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出されたハッシュ値がブロックチェーンに記憶された目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、取得された目標データは真正性検証に合格したと判定し、または同じではない場合に、取得された目標データは真正性検証に合格しなかったと判定するようにさらに構成される。
【０１１９】
この実装形態では、補助情報は、データアップローダの識別子、目標データのアップロードタイムスタンプ、または目標データのアップロード位置のうちの任意の1つまたは少なくとも2つの組合せを含む。
【０１２０】
この実装形態では、第2の取得モジュール403は、データ識別子によって示された記憶位置から取得された目標データをデータ検証者に出力し、それによって、データ検証者が、出力された目標データをデータプロバイダによって公開された目標データと比較するようにさらに構成される。
【０１２１】
装置内のモジュールの機能および目的の詳細な実施プロセスについては、方法における対応するステップの実施プロセスを参照することができ、本明細書では、説明を簡単にするために詳細を省略する。
【０１２２】
装置実装形態は基本的に方法実装形態に対応するので、関連する部品については、方法実装形態の説明を参照することができる。前述の装置実装形態は一例に過ぎず、互いに別々の部品として記載された各ユニットは、物理的に別々にすることができ、または物理的に別々にする必要はなく、各ユニットとして表示される各構成要素は物理的ユニットにすることができる場合もできない場合もあり、1つの場所に配置することができ、または複数のネットワークユニット上に分散させることができる。実際の要件に基づいて、これらのモジュールのうちのいくつかまたはすべてを本明細書の目的を実現するモジュールとして選択することができる。当業者は、創造的な努力なしにブロックチェーンベースのデータ処理装置を理解し実現することができる。
【０１２３】
前述の実装形態に示すシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを使用することによって実装することができ、または一定の機能を有する製品を使用することによって実装することができる。典型的な実施デバイスは、パーソナルコンピュータ、ランプトップコンピュータ、携帯電話、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメールトランシーバ、ゲームコンソール、タブレットコンピュータ、ウエアラブルデバイス、またはこれらのデバイスのうちの少なくとも2つの任意の組合せの形をしたコンピュータである。
【０１２４】
前述の方法実装形態に対応して、本明細書は電子デバイスの実装形態をさらに提供する。電子デバイスは、プロセッサと、機械実行可能な命令を記憶するように構成されたメモリとを含み、プロセッサとメモリは通常、内部バスを通じて互いに接続される。他の可能な実装形態では、電子デバイスは、他のデバイスまたは構成要素と通信するために使用される外部インターフェースを含むこともできる。
【０１２５】
この実装形態では、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、ブロックチェーンにおいてデータプロバイダによって公開された目標データのデータ識別子を取得することであって、データ識別子がブロックチェーン内の目標データの記憶位置を示す、ことと、データ識別子に基づいて、目標データがブロックチェーンに記憶されているかどうかを判定することと、目標データがブロックチェーンに記憶されている場合に、データ識別子によって示された記憶位置から目標データを取得することであって、ブロックチェーンに記憶された目標データが、目標データの真正性を検証するために使用される検証情報を保持している、ことと、検証情報に基づいて、取得された目標データの真正性を検証し、検証結果をデータ検証者に出力することとが可能である。
【０１２６】
この実装形態では、データプロバイダによって公開された目標データは、データ識別子に基づいて生成されたグラフィックコードを保持しており、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、グラフィックコードを走査し解析してブロックチェーン内の目標データのデータ識別子を取得することが可能である。
【０１２７】
この実装形態では、データ識別子は、目標データのトランザクションのトランザクションハッシュ値であり、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、目標データのトランザクションのトランザクションハッシュ値に基づいてトランザクションについてのSPVを実行して、トランザクションがブロックチェーンに記憶されているかどうかを判定することが可能である。
【０１２８】
この実装形態では、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、インストールされた検証プログラムを実行して、検証情報に基づいて、取得された目標データの真正性を検証するか、またはブロックチェーンにおいて公開されたスマートコントラクトを呼び出し、スマートコントラクトに定義された検証プログラムを実行し、検証情報に基づいて、取得された目標データの真正性を検証することが可能である。
【０１２９】
この実装形態では、ブロックチェーンに記憶された目標データは、真正性検証に関する補助情報をさらに含み、検証情報は、目標データの元のコンテンツおよび補助情報に基づいてハッシュ計算を実行することによって取得されるハッシュ値であり、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、目標データの元のコンテンツおよび補助情報に対してハッシュ計算を実行してハッシュ値を取得し、算出されたハッシュ値がブロックチェーンに記憶された目標データに保持されたハッシュ値と同じであるかどうかを判定し、同じである場合に、取得された目標データは真正性検証に合格したと判定し、または同じではない場合に、取得された目標データは真正性検証に合格しなかったと判定することが可能である。
【０１３０】
この実装形態では、プロセッサは、メモリに記憶され、ブロックチェーンベースのデータ検証用の制御論理に対応する機械実行可能な命令を読み取り実行することによって、データ識別子によって示された記憶位置から取得された目標データをデータ検証者に出力し、それによって、データ検証者が、出力された目標データをデータプロバイダによって公開された目標データと比較することが可能である。
【０１３１】
当業者は、ここに開示された本明細書を検討し実施した後に本明細書の他の実装形態を容易に構想することができる。本明細書は、本明細書の一般的な原則に従う本明細書のあらゆる変形例、使用例、または適応例を対象とし、本明細書で開示されない一般常識または当技術分野で一般に使用される技術手段を含むことが意図される。本明細書および実装形態は一例に過ぎない。本明細書の保護範囲および趣旨は特許請求の範囲によって示される。
【０１３２】
本明細書が上で説明し添付の図面に示した厳密な構造に限定されず、本明細書の範囲から逸脱せずに様々な修正および変更を施せることを理解されたい。本明細書の保護範囲は添付の特許請求の範囲によって定義されるべきである。
【０１３３】
上記の説明は、本明細書の1つまたは複数の実装形態のうちの好ましい実施形態に過ぎず、本明細書を限定することは意図されない。本明細書の趣旨および原則から逸脱せずに施されるあらゆる修正、等価の置換、改良などは、本明細書の保護範囲内であるものとする。
【符号の説明】
【０１３４】
40  ブロックチェーンベースのデータ検証装置
401  第1の取得モジュール
402  判定モジュール
403  第2の取得モジュール
404  検証モジュール
【図１】
2021515427.tif 000004
【図２】
2021515427.tif 000005
【図３】
2021515427.tif 000006
【図４】
2021515427.tif 000007
【国際調査報告】
2021515427.tif 000008
2021515427.tif 000009
2021515427.tif 000010
2021515427.tif 000011