(57)【特許請求の範囲】
【請求項１】
ブロックチェーンベースのデータを処理するための方法であって、
ブロックチェーンノードによって、トランザクションデータおよび前記トランザクションデータに対応するフォーマット済み情報を受信するステップと、
前記ブロックチェーンノードによって、前記トランザクションデータに対応するトランザクションタイプおよび前記トランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、前記トランザクションデータに対応する処理ポリシーを決定するステップであって、前記処理ポリシーは、変換のために使用されるデータ属性および前記データ属性に対応する変換ルールを含む、ステップと、
前記ブロックチェーンノードによって、前記処理ポリシーに含まれる前記変換ルールに基づいて前記フォーマット済み情報を属性値に変換するステップと、
前記属性値に対応するデータ属性を決定するステップと、
前記ブロックチェーンノードによって、前記データ属性の前記属性値および前記トランザクションデータに含まれる前記データ属性の前記属性値に基づいて受信したトランザクションデータを検証するステップと
を含む、方法。
【請求項２】
前記ブロックチェーンノードによって、前記トランザクションデータについて、前記トランザクションデータに対応する前記トランザクションタイプを決定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
各トランザクションタイプについて、所定の関係を決定するステップは、
前記トランザクションタイプのトランザクション特徴を決定するステップと、
前記トランザクションタイプの前記トランザクションデータから、前記トランザクション特徴を表す少なくとも1つのデータ属性を選択するステップと、
前記少なくとも1つのデータ属性および前記データ属性について設定された変換ルールに基づいて、前記トランザクションタイプに対応する処理ポリシーを生成するステップと、
前記トランザクションタイプと前記処理ポリシーとの間のマッピング関係を確立するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記ブロックチェーンノードによって、前記フォーマット済み情報に基づいて前記トランザクションデータを処理するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記ブロックチェーンノードによって、前記フォーマット済み情報に基づいて前記トランザクションデータを処理するステップの前に、前記方法は、
2つ以上のデータ属性が前記処理ポリシーに含まれていると決定したことに応答して、各抽出した属性値に対応するフォーマット済み情報を取得した後に、前記ブロックチェーンノードによって、前記処理ポリシーに含まれる前記データ属性のソート処理ルールに基づいて前記フォーマット済み情報をソートするステップをさらに含む、請求項4に記載の方法。
【請求項６】
前記ブロックチェーンノードによって、前記フォーマット済み情報に基づいて前記トランザクションデータを処理するステップは、
前記ブロックチェーンノードによって、ブロックチェーンネットワーク内の別のブロックチェーンノードが前記フォーマット済み情報に基づいて前記トランザクションデータに対するコンセンサス処理を行うように、前記フォーマット済み情報および前記トランザクションデータをブロードキャストするステップを含む、請求項4に記載の方法。
【請求項７】
前記ブロックチェーンノードによって、前記フォーマット済み情報に基づいて前記トランザクションデータを処理するステップは、
前記ブロックチェーンノードによって、前記フォーマット済み情報を暗号化して暗号化の結果を取得するステップと、
前記トランザクションデータに対するコンセンサス処理を行うために、前記ブロックチェーンネットワーク内の別のブロックチェーンノードに前記暗号化の結果および前記トランザクションデータを送信するステップと
を含む、請求項4に記載の方法。
【請求項８】
前記ブロックチェーンノードによって、前記属性値に対応する文字列を取得するために、前記処理ポリシーに含まれる変換アルゴリズムに基づいて前記属性値に対する処理を行うステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記ブロックチェーンノードが前記トランザクションデータを受信する場合には、前記方法は、
前記ブロックチェーンノードによって、前記トランザクションタイプと前記トランザクションデータを処理するブロックチェーンノードによって送信された前記処理ポリシーとの間の所定の関係を受信するステップをさらに含む、請求項1に記載の方法。
【請求項１０】
前記フォーマット済み情報は、前記処理ポリシーに含まれるソート順序を含む、請求項1に記載の方法。
【請求項１１】
ブロックチェーンベースのデータを処理するためのデバイスであって、前記デバイスは、請求項1から10のいずれか一項に記載の方法を行うように構成される複数のモジュールを含む、デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、インターネット情報処理技術の分野およびブロックチェーン技術の分野に関し、詳細には、ブロックチェーンベースのデータ処理方法およびデバイスに関する。
【背景技術】
【０００２】
ブロックチェーン技術は分散型台帳技術とも称される。分散インターネットデータベース技術として、ブロックチェーン技術は、分散性、透過性、改竄耐性、および信頼性という性質を持っている。ブロックチェーン技術に基づいて構築されたネットワークは、ブロックチェーンネットワークと称し得るし、ブロックチェーンネットワークは、ネットワークノード(ブロックチェーンノードとも称し得る)を含む。
【０００３】
トランザクションデータを受信する場合には、ブロックチェーンノードは、トランザクションデータのダイジェストを決定し、所定のアルゴリズムを使用してダイジェストを暗号化してトランザクションデータのデジタルシグニチャを取得する。その後、ブロックチェーンノードは、ブロードキャストによって別のブロックチェーンノードにトランザクションデータおよびトランザクションデータのデジタルシグニチャを送信する。コンセンサスフェーズにおいては、別のブロックチェーンノードは、受信したデジタルシグニチャを復号して、受信したデジタルシグニチャに対応するトランザクションデータを取得し、トランザクションデータが受信したトランザクションデータと一致するかどうかをさらに決定してトランザクションデータのコンセンサス処理を実施する。
【０００４】
しかしながら、実際には、暗号化計算のオブジェクトは、シリアル化済み情報である。すなわち、トランザクションデータのダイジェストを決定する場合には、ブロックチェーンノードは、受信したトランザクションデータをシリアル化済みデータに変換して、シリアル化済みデータに基づいてトランザクションデータのダイジェストを取得する必要がある。
【０００５】
しかしながら、ブロックチェーンネットワーク内のブロックチェーンノードは、異なるオペレーティングシステムおよび異なるコンパイル言語をサポートしている。したがって、トランザクションデータの同一の要素に対して、異なるオペレーティングシステムおよび/またはコンパイル言語が理由で、ブロックチェーンノードがトランザクションデータを送信およびトランザクションデータを暗号化する処理において得られるダイジェストが、ブロックチェーンノードがトランザクションデータを受信し受信したデジタルシグニチャを復号する処理において得られるダイジェストと異なる場合がある。そのため、トランザクションデータのコンセンサス失敗の可能性を増大させることになり、トランザクションデータ処理効率を低減している。
【発明の概要】
【課題を解決するための手段】
【０００６】
このような点を考慮して、本出願の実施形態は、ブロックチェーンベースのデータ処理方法およびデバイスを提供しており、既存の技術における低いトランザクションデータ処理効率の問題を軽減している。
【０００７】
以下の技術的ソリューションが本出願の実施形態において使用される。
【０００８】
本出願の実施形態は、ブロックチェーンベースのデータ処理方法を提供しており、ブロックチェーンベースのデータ処理方法は、ブロックチェーンノードによって、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定するステップと、ブロックチェーンノードによって、トランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定するステップであって、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む、ステップと、ブロックチェーンノードによって、トランザクションデータから、処理ポリシーに含まれるデータ属性に対応する属性値を抽出するステップと、処理ポリシーに含まれる変換ルールを使用して抽出した属性値をフォーマット済み情報に変換するステップと、ブロックチェーンノードによって、フォーマット済み情報に基づいてトランザクションデータを処理するステップとを含む。
【０００９】
本出願の実施形態は、ブロックチェーンベースのデータ処理方法をさらに提供しており、ブロックチェーンベースのデータ処理方法は、ブロックチェーンノードによって、トランザクションデータおよびトランザクションデータに対応するフォーマット済み情報を受信するステップと、ブロックチェーンノードによって、トランザクションデータに対応するトランザクションタイプおよびトランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定するステップであって、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む、ステップと、ブロックチェーンノードによって、処理ポリシーに含まれる変換ルールに基づいてフォーマット済み情報を属性値に変換するステップと、属性値に対応するデータ属性を決定するステップと、ブロックチェーンノードによって、データ属性の属性値およびトランザクションデータに含まれるデータ属性の属性値に基づいて受信したトランザクションデータを検証するステップとを含む。
【００１０】
本出願の実施形態は、ブロックチェーンベースのデータ処理デバイスをさらに提供しており、ブロックチェーンベースのデータ処理デバイスは、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定するように構成される、決定ユニットと、トランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定することであって、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む、ことと、トランザクションデータから、処理ポリシーに含まれるデータ属性に対応する属性値を抽出することと、処理ポリシーに含まれる変換ルールを使用して抽出した属性値をフォーマット済み情報に変換することと、フォーマット済み情報に基づいてトランザクションデータを処理することとをするように構成される、処理ユニットとを含む。
【００１１】
本出願の実施形態は、ブロックチェーンベースのデータ処理デバイスをさらに提供しており、ブロックチェーンベースのデータ処理デバイスは、トランザクションデータおよびトランザクションデータに対応するフォーマット済み情報を受信するように構成される、受信ユニットと、トランザクションデータに対応するトランザクションタイプおよびトランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定するように構成される、決定ユニットであって、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む、決定ユニットと、処理ポリシーに含まれる変換ルールに基づいてフォーマット済み情報を属性値に変換することと、属性値に対応するデータ属性を決定することと、データ属性の属性値およびトランザクションデータに含まれるデータ属性の属性値に基づいて受信したトランザクションデータを検証することとをするように構成される、処理ユニットとを含む。
【００１２】
少なくとも1つの本出願の実施形態において使用される上記で説明した技術的ソリューションは、以下の有益な効果を実現することができる。
【００１３】
本出願の実施形態においては、トランザクションタイプと処理ポリシーとの間の所定の関係が設定され、処理ポリシーは変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。ブロックチェーンノードは、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定し、所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定し、トランザクションデータから、処理ポリシーに含まれるデータ属性の属性値を抽出し、処理ポリシーに含まれる変換ルールに基づいてデータ属性の抽出した属性値をフォーマット済み情報に変換し、フォーマット済み情報に基づいてトランザクションデータに対するコンセンサス処理を行う。そのため、統一的変換方法は次の利点をもたらすことができる。種々のブロックチェーンノードが変換された情報を元のデータに正確に復元することができ、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を効率的に回避することができ、トランザクションデータのコンセンサス効率を効率的に改善し、トランザクションデータの処理効率を改善している。
【００１４】
本明細書で記載した添付の図面は、本出願の更なる理解を提供することを意図しており、本出願の一部分を構成する。本出願の事例的な実施形態およびその記載は、本出願を説明することを意図しており、本出願に対する限定を構成するものではない。添付の図面の説明は、以下の通りである。
【図面の簡単な説明】
【００１５】
【図１】本出願の実施形態による、ブロックチェーンベースのデータ処理方法を図示している概略フローチャートである。
【図２】本出願の実施形態による、ブロックチェーンベースのデータ処理方法を図示している概略フローチャートである。
【図３】本出願の実施形態による、ブロックチェーンベースのデータ処理デバイスを図示している概略構造図である。
【図４】本出願の実施形態による、ブロックチェーンベースのデータ処理デバイスを図示している概略構造図である。
【発明を実施するための形態】
【００１６】
本出願の目的、技術的ソリューション、およびの利点をより明確にするために、本出願の特定の実施形態および添付の図面を参照して本出願の技術的ソリューションを以下に明確かつ包括的に説明している。説明した実施形態が本出願の実施形態のすべてではなく一部に過ぎないことは明白であろう。創造的努力無しで本出願の実施形態に基づいて当業者によって得られるすべての他の実施形態は本出願の保護範囲に含まれるものとする。
【００１７】
本出願の実施形態において提供した技術的ソリューションを添付の図面を参照して以下に詳細に説明している。
【００１８】
図1は、本出願の実施形態による、ブロックチェーンベースのデータ処理方法を図示している概略フローチャートである。方法を以下のように説明することができる。本出願の本実施形態の実行エンティティは、ブロックチェーンノードを含むがこれに限定されない。
【００１９】
通常は、処理、コンセンサス、および記憶といった、3つの処理フェーズをブロックチェーンネットワーク内のトランザクションデータに対して行う必要があることを留意されたい。サービスデータを処理する場合には、ブロックチェーンノードは、サービスデータを処理する。通常、サービスデータを処理した後に、サービスデータのデジタルシグニチャが得られる。そのため、サービスデータを処理するブロックチェーンノードによってサービスデータブロードキャストを受信すると、サービスデータを処理しないブロックチェーンノードは、シグニチャ検証(シグニチャ検証は、送信側によって送信されたサービスデータおよびデジタルシグニチャを受信すると、受信側が、公開鍵を使用して受信したデジタルシグニチャを検証し、検証処理を経て、受信したサービスデータが送信側によって送信されたものであると決定することを意味する)を行って、受信したサービスデータがネットワーク伝送プロセスにおいて改竄されていないかどうかを検証する。
【００２０】
サービスデータのデジタルシグニチャを取得するプロセスにおいては、まず、サービスデータをシリアル化する必要がある。シリアル化は、サービスデータが文字列(例えば、文字列はバイナリ形式で表され得る)に変換され、文字列を逆シリアル化によってサービスデータに変換することができることを意味する。次に、サービスデータに対応するデジタルシグニチャは、シリアル化の結果を計算することによって得られる。
【００２１】
しかしながら、ブロックチェーンネットワークは、複数のブロックチェーンノードを含む。種々のブロックチェーンノードは、異なるオペレーティングシステムおよび異なるコンパイル言語をサポートし得る。具体的には、トランザクションデータの同一の要素に対して、トランザクションデータをシリアル化することによって得られるシリアル化の結果が異なるオペレーティングシステムおよび/またはコンパイル言語が理由で異なる場合がある。例えば、サービスデータを処理するブロックチェーンノードとサービスデータを処理しないブロックチェーンノードとは、異なるオペレーティングシステムをサポートしており、サービスデータを処理するブロックチェーンノードは、上記の方法におけるサービスデータに対してシリアル化処理を行い、サービスデータのデジタルシグニチャを取得する。その後、サービスデータを処理するブロックチェーンノードは、サービスデータを処理しないブロックチェーンノードにサービスデータおよびデジタルシグニチャを送信する。サービスデータを処理するブロックチェーンノードとサービスデータを処理しないブロックチェーンノードとが異なるオペレーティングシステムをサポートしているため、サービスデータを処理しないブロックチェーンノードによってデジタルシグニチャを復元することによって得られるシリアル化の結果がサービスデータを処理するブロックチェーンノードにおいて上記の方法におけるサービスデータをシリアル化することによって得られるシリアル化の結果とは異なり、さらに、取得したサービスデータが受信したサービスデータとは異なると決定され、それによってサービスデータの後続の処理に影響を及ぼすことになる。したがって、本出願の技術的ソリューションを提供しており、統一的変換方法は次の利点をもたらすために使用される。種々のブロックチェーンノードが変換された情報を元のデータに正確に復元することができ、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を効率的に回避することができ、トランザクションデータのコンセンサス効率を効率的に改善し、トランザクションデータの処理効率を改善している。
【００２２】
ステップ101: ブロックチェーンノードが、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定する。
【００２３】
本出願の本実施形態においては、ブロックチェーンノードは、トランザクションデータを処理するノードとしての稼働し、外部デバイスまたはアプリケーションクライアントデバイスからトランザクションデータを受信し得る。トランザクションデータを受信する場合には、ブロックチェーンノードは、トランザクションデータが生成されたサービスに基づいて、トランザクションデータに対応するトランザクションタイプを決定し得るし、トランザクションタイプをサービスタイプとして理解してもよい。あるいは、ブロックチェーンノードは、トランザクションデータを処理しないノードとして稼働し、さらに、ブロードキャストによって、トランザクションデータを処理するノードからトランザクションデータをさらに取得し得る。同様に、トランザクションデータを受信する場合には、ブロックチェーンノードは、トランザクションデータが生成されたサービスに基づいて、トランザクションデータに対応するトランザクションタイプを決定し得るし、トランザクションタイプをサービスタイプとして理解してもよい。
【００２４】
ステップ102: ブロックチェーンノードが、トランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定する。
【００２５】
処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。本明細書では、変換ルールを、トランザクションデータをフォーマット済み情報に変換するためのルールとして理解してもよい。
【００２６】
本出願の本実施形態においては、トランザクションタイプと処理ポリシーとの間の所定の関係は、統一的処理ポリシーが受信したトランザクションデータのために使用されるように、ブロックチェーンネットワーク内の各ブロックチェーンノードにおいて事前設定されていてもよい。本明細書で説明した統一的処理ポリシーは、同一の処理ポリシーだけでなく、異なるトランザクションタイプに基づいて異なる処理ポリシーも示し得る。しかしながら、トランザクションデータを対処する送信側および受信側は、同一の処理ポリシーを使用して処理を行い得る。したがって、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を、統一的処理ポリシーを使用して回避することができる。
【００２７】
本出願の本実施形態において説明した処理ポリシーは、以下の内容を含むがこれらに限定されない。
【００２８】
1. 変換対象のデータ属性、ここで、変換対象のデータ属性は各トランザクションタイプに対して決定される。
【００２９】
2. 変換ルール、ここで、変換対象のデータ属性に対応する一意なフォーマット済み情報は変換ルールを使用して決定され得るし、本明細書では、フォーマット済み情報もシリアル化済みデータと称し得る。
【００３０】
加えて、処理ポリシーは、一連のデータ属性のソート順序を含み得る。すなわち、サービスデータの異なるデータ属性に対応する属性値のフォーマット済み情報を取得した後に、フォーマット済み情報がデータ属性のソート順序に基づいてソートされていると決定され、ソート処理の結果はサービスデータのフォーマット済み情報とみなされ得る。例えば、サービスデータに含まれるデータ属性1、データ属性2、およびデータ属性3については、処理ポリシーに含まれるソート順序は、123、321、231、または213であり得る。ここで、データ属性の異なるソート順序は、サービスデータの異なるフォーマット済み情報が取得されることになり、後続の処理の結果が異なり得る(例えば、計算により取得したダイジェストが異なり得る)ことを示す。
【００３１】
どのようにしてトランザクションタイプと処理ポリシーとの間の所定の関係を決定するかを以下に説明する。
【００３２】
トランザクションタイプのトランザクション特徴を決定することと、トランザクションタイプのトランザクションデータから、トランザクション特徴を表すことができる少なくとも1つのデータ属性を選択することであって、異なるトランザクションタイプについては、トランザクションタイプに対応するトランザクション特徴を表すために使用されるデータ属性も異なり、本明細書では、データ属性は、ハッシュ値、公開鍵、タイムスタンプ、トランザクションコンテンツなどを含むがこれらに限定されない、ことと、選択した少なくとも1つのデータ属性およびデータ属性について設定された変換ルールに基づいて、トランザクションタイプに対応する処理ポリシーを生成することと、トランザクションタイプと処理ポリシーとの間のマッピング関係を確立することといった動作を各トランザクションタイプに対して行う。
【００３３】
異なるトランザクションタイプについては、変換ルールが各トランザクションタイプについて設定されていることを留意されたい。本願明細書では、変換ルールは、トランザクションタイプのトランザクションデータに含まれる異なるデータ属性に適用可能であり得る。あるいは、異なる変換ルールが、トランザクションタイプのトランザクションデータに含まれる異なるデータ属性について設定され得る。実施形態は本出願に特に限定されない。
【００３４】
本出願の本実施形態においては、トランザクションタイプのトランザクションデータを決定した後に、ブロックチェーンノードは、トランザクションタイプと処理ポリシーとの間の既存の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定し得る。
【００３５】
ステップ103: ブロックチェーンノードが、トランザクションデータから、処理ポリシーに含まれるデータ属性に対応する属性値を抽出し、処理ポリシーに含まれる変換ルールを使用して抽出した属性値をフォーマット済み情報に変換する。
【００３６】
本出願の本実施形態においては、まず、ブロックチェーンノードは、取得したトランザクションデータから、処理ポリシーに含まれる変換のために使用されるデータ属性に基づいて、データ属性に対応する属性値を抽出する。
【００３７】
1つのデータ属性が処理ポリシーに含まれていると仮定すると、データ属性に対応する属性値が取得したトランザクションデータから抽出される。
【００３８】
複数のデータ属性が処理ポリシーに含まれていると仮定すると、データ属性に対応する属性値が取得したトランザクションデータから逐次抽出される。
【００３９】
次に、ブロックチェーンノードは、処理ポリシーに含まれる変換ルールを使用して抽出した属性値をフォーマット済み情報に変換する。
【００４０】
特に、ブロックチェーンノードは、属性値に対応する文字列を取得するために、処理ポリシーに含まれる変換アルゴリズムに基づいて抽出した属性値に対する処理を行う。
【００４１】
例えば、データ属性の抽出した属性値はバイナリデータに変換される。抽出されたデータ属性がハッシュ値であると仮定すると、ハッシュ値に対応する値がバイナリデータに変換される。
【００４２】
複数のデータ属性が処理ポリシーに含まれていると仮定すると、1つのデータ属性に対応する属性値が抽出されるたびに、属性値が変換され得ることを留意されたい。あるいは、変換する必要があるデータ属性の属性値がある時点で抽出されてもよく、異なるデータ属性に対応する属性値は別々に変換される。処理シーケンスはここで記載したことに限定されない。
【００４３】
好ましくは、本出願の本実施形態においては、ブロックチェーンノードがフォーマット済み情報に基づいてトランザクションデータに対するコンセンサス処理を行う前に、方法は、2つ以上のデータ属性が処理ポリシーに含まれていると決定したことに応答して、各抽出した属性値に対応するフォーマット済み情報を取得した後に、ブロックチェーンノードによって、処理ポリシーに含まれるデータ属性のソート処理ルールに基づいて取得したフォーマット済み情報をソートすることをさらに含む。
【００４４】
処理ポリシーに含まれるデータ属性がデータ属性1、データ属性3、およびデータ属性5であると仮定すると、データ属性1の属性値に対応する取得したフォーマット済み情報が1000である場合には、データ属性3の属性値に対応する取得したフォーマット済み情報は1001であり、データ属性5の属性値に対応する取得したフォーマット済み情報は1101である。例えば、含まれているデータ属性のソート処理ルールが153であると、処理ポリシーに含まれるデータ属性のソート処理ルールに基づいてソートすることによって得られるフォーマット済み情報シーケンスは100011011001であり、別の例では、含まれているデータ属性のソート処理ルールが531である場合には、処理ポリシーに含まれるデータ属性のソート処理ルールに基づいてソートすることによって得られるフォーマット済み情報シーケンスは110110011000である。
【００４５】
ステップ104: ブロックチェーンノードが、フォーマット済み情報に基づいてトランザクションデータを処理する。
【００４６】
本出願の本実施形態においては、フォーマット済み情報を取得した後に、ブロックチェーンノードは、トランザクションデータを暗号化する必要があるかどうかを決定する必要がある。トランザクションデータを暗号化する必要がない場合には、ブロックチェーンノードは、ブロックチェーンネットワーク内の別のブロックチェーンノードがフォーマット済み情報に基づいてトランザクションデータに対するコンセンサス処理を行うために、フォーマット済み情報およびトランザクションデータをブロードキャストする、または、トランザクションデータを暗号化する必要がある場合には、ブロックチェーンノードは、フォーマット済み情報を暗号化して暗号化の結果を取得し、トランザクションデータに対するコンセンサス処理を行うために、ブロックチェーンネットワーク内の別のブロックチェーンノードに暗号化の結果およびトランザクションデータを送信する。
【００４７】
本出願の本実施形態において提供した技術的ソリューションに基づいて、トランザクションタイプと処理ポリシーとの間の所定の関係が設定され、処理ポリシーは変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。ブロックチェーンノードは、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定し、所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定し、トランザクションデータから、処理ポリシーに含まれるデータ属性の属性値を抽出し、処理ポリシーに含まれる変換ルールに基づいてデータ属性の抽出した属性値をフォーマット済み情報に変換し、フォーマット済み情報に基づいてトランザクションデータに対するコンセンサス処理を行う。そのため、統一的変換方法は次の利点をもたらすために使用される。種々のブロックチェーンノードが変換された情報を元のデータに正確に復元することができ、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を効率的に回避することができ、トランザクションデータのコンセンサス効率を効率的に改善し、トランザクションデータの処理効率を改善している。
【００４８】
図2は、本出願の実施形態による、ブロックチェーンベースのデータ処理方法を図示している概略フローチャートである。方法を以下のように説明することができる。本出願の本実施形態は、サービスデータを処理しないブロックチェーンネットワーク内のノードによって実行される。
【００４９】
ステップ201: ブロックチェーンノードが、トランザクションデータおよびトランザクションデータに対応するフォーマット済み情報を受信する。
【００５０】
本出願の本実施形態においては、サービスデータを処理しないノードとして、ブロックチェーンノードは、ブロードキャストを介して、サービスデータを処理するノードによってブロードキャストされたパケットを受信し、パケットは、トランザクションデータおよびトランザクションデータに対応するフォーマット済み情報を含む。
【００５１】
フォーマット済み情報は、本明細書では、サービスデータを処理するノードによってデータ処理方法を使用して取得され、データ処理方法を図1に示している。具体的な処理方法については、上記で記載した内容を参照することができる。簡潔にするために詳細はここでは省略する。
【００５２】
あるいはフォーマット済み情報が暗号化処理を行った後に得られるダイジェストであってもよいことを留意されたい。
【００５３】
ステップ202: ブロックチェーンノードが、トランザクションデータに対応するトランザクションタイプおよびトランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定する。
【００５４】
処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。
【００５５】
本出願の本実施形態においては、トランザクションタイプと処理ポリシーとの間の所定の関係は、ブロックチェーンネットワーク内の各ブロックチェーンノードにおいて事前設定されていてもよい。処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。
【００５６】
具体的な実施形態については、上記の実施形態において説明したステップ102を参照することができる。簡潔にするために詳細はここでは省略する。
【００５７】
トランザクションデータを受信する場合には、ブロックチェーンノードは、トランザクションタイプとトランザクションデータを処理するブロックチェーンノードによって送信された処理ポリシーとの間の所定の関係をあるいは受信し得る。
【００５８】
あるいは、トランザクションデータを受信する場合には、ブロックチェーンノードは、トランザクションデータを処理するブロックチェーンノードによって送信されたトランザクションデータに対応する処理ポリシーを受信する。
【００５９】
ステップ203: ブロックチェーンノードが、処理ポリシーに含まれる変換ルールに基づいてフォーマット済み情報を属性値に変換し、属性値に対応するデータ属性を決定する。
【００６０】
本出願の本実施形態においては、ブロックチェーンノードは、処理ポリシーに含まれる変換ルールに基づいて受信したフォーマット済み情報に対して逆の処理を行って、属性値を取得し得るし、ブロックチェーンノードは、属性値に対応するデータ属性をさらに決定する。ここで、フォーマット済み情報は、変換ルールを使用して復元される。同一の変換方法を使用しているため、フォーマット済み情報を復元する精度を保証することを可能にしている。
【００６１】
ステップ204: ブロックチェーンノードが、データ属性の属性値およびトランザクションデータに含まれるデータ属性の属性値に基づいて受信したトランザクションデータを検証する。
【００６２】
本出願の本実施形態においては、変換によりブロックチェーンノードによって取得された属性値がトランザクションデータに含まれるデータ属性の属性値と同一である場合には、ブロックチェーンノードによって受信されたトランザクションデータが信頼できることを示しており、トランザクションデータが検証をパスしたと決定される、または、変換によりブロックチェーンノードによって取得された属性値がトランザクションデータに含まれるデータ属性の属性値とは異なる場合には、ブロックチェーンノードによって受信されたトランザクションデータが正確ではないことを示しており、トランザクションデータが検証をパスしていないと決定される。
【００６３】
図3は、本出願の実施形態による、ブロックチェーンベースのデータ処理デバイスを図示している概略構造図である。データ処理デバイスは、決定ユニット31および処理ユニット32を含む。
【００６４】
決定ユニット31は、取得したトランザクションデータについて、トランザクションデータに対応するトランザクションタイプを決定するように構成される。
【００６５】
処理ユニット32は、トランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定することであって、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む、ことと、トランザクションデータから、処理ポリシーに含まれるデータ属性に対応する属性値を抽出することと、処理ポリシーに含まれる変換ルールを使用して抽出した属性値をフォーマット済み情報に変換することと、フォーマット済み情報に基づいてトランザクションデータを処理することとをするように構成される。
【００６６】
本出願の別の実施形態においては、データ処理デバイスは、ソート処理ユニット33をさらに含む。
【００６７】
ソート処理ユニット33は、トランザクションデータをフォーマット済み情報に基づいて処理する前に、2つ以上のデータ属性が処理ポリシーに含まれていると決定したことに応答して、各抽出した属性値に対応するフォーマット済み情報を取得した後に、処理ポリシーに含まれるデータ属性のソート処理ルールに基づいて取得したフォーマット済み情報をソートするように構成される。
【００６８】
本出願の別の実施形態においては、処理ユニット32がトランザクションタイプと処理ポリシーとの間の所定の関係を決定することは、各トランザクションタイプのための以下の動作を行うことと、トランザクションタイプのトランザクション特徴を決定することと、トランザクションタイプのトランザクションデータから、トランザクション特徴を表すことができる少なくとも1つのデータ属性を選択することと、選択した少なくとも1つのデータ属性およびデータ属性について設定された変換ルールに基づいて、トランザクションタイプに対応する処理ポリシーを生成することと、トランザクションタイプと処理ポリシーとの間のマッピング関係を確立することとを含む。
【００６９】
本出願の別の実施形態においては、処理ユニット32がフォーマット済み情報に基づいてトランザクションデータを処理することは、ブロックチェーンネットワーク内の別のブロックチェーンノードがフォーマット済み情報に基づいてトランザクションデータに対するコンセンサス処理を行うように、フォーマット済み情報およびトランザクションデータをブロードキャストすることを含む。
【００７０】
本出願の別の実施形態においては、処理ユニット32がフォーマット済み情報に基づいてトランザクションデータを処理することは、フォーマット済み情報を暗号化して暗号化の結果を取得すること、トランザクションデータに対するコンセンサス処理を行うために、ブロックチェーンネットワーク内の別のブロックチェーンノードに暗号化の結果およびトランザクションデータを送信することを含む。
【００７１】
本出願の別の実施形態においては、処理ユニット32が処理ポリシーに含まれる変換ルールに基づいて抽出した属性値をフォーマット済み情報に変換することは、属性値に対応する文字列を取得するために、処理ポリシーに含まれる変換アルゴリズムに基づいて抽出した属性値に対する処理を行うことを含む。
【００７２】
本出願の本実施形態において提供したデータ処理デバイスをソフトウェアまたはハードウェアを使用して実施し得ることを留意されたい。実施形態はここで記載したことに限定されない。本出願の本実施形態において提供したデータ処理デバイスは次の利点をもたらすために統一的変換方法を使用している。種々のブロックチェーンノードが変換された情報を元のデータに正確に復元することができ、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を効率的に回避することができ、トランザクションデータのコンセンサス効率を効率的に改善し、トランザクションデータの処理効率を改善している。
【００７３】
図4は、本出願の実施形態による、ブロックチェーンベースのデータ処理デバイスを図示している概略構造図である。データ処理デバイスは、受信ユニット41、決定ユニット42、および処理ユニット43を含む。
【００７４】
受信ユニット41は、トランザクションデータおよびトランザクションデータに対応するフォーマット済み情報を受信するように構成される。
【００７５】
決定ユニット42は、トランザクションデータに対応するトランザクションタイプおよびトランザクションタイプと処理ポリシーとの間の所定の関係に基づいて、トランザクションデータに対応する処理ポリシーを決定するように構成され、処理ポリシーは、変換のために使用されるデータ属性およびデータ属性に対応する変換ルールを含む。
【００７６】
処理ユニット43は、処理ポリシーに含まれる変換ルールに基づいてフォーマット済み情報を属性値に変換することと、属性値に対応するデータ属性を決定することと、データ属性の属性値およびトランザクションデータに含まれるデータ属性の属性値に基づいて受信したトランザクションデータを検証することとをするように構成される。
【００７７】
本出願の別の実施形態においては、トランザクションデータを受信したことに応答して、受信ユニット41は、トランザクションタイプとトランザクションデータを処理するブロックチェーンノードによって送信された処理ポリシーとの間の所定の関係を受信する。
【００７８】
本出願の本実施形態において提供したデータ処理デバイスをソフトウェアまたはハードウェアを使用して実施し得ることを留意されたい。実施形態はここで記載したことに限定されない。本出願の本実施形態において提供したデータ処理デバイスは次の利点をもたらすために統一的変換方法を使用している。種々のブロックチェーンノードが変換された情報を元のデータに正確に復元することができ、異なる動作プラットフォームおよび/またはコンパイル言語が理由で生じる暗号化プロセスにおいて送信側で得られるダイジェストと復号プロセスにおいて受信側で得られるダイジェストとの間の差異を効率的に回避することができ、トランザクションデータのコンセンサス効率を効率的に改善し、トランザクションデータの処理効率を改善している。
【００７９】
1990年代においては、技術的改善がハードウェア改善(例えば、ダイオード、トランジスタ、またはスイッチなどの回路構造に対する改善)であるかソフトウェア改善(方法の手順に対する改善)であるかは明確に区別し得た。しかしながら、技術が進歩するにつれて、多くの方法の手順に対する今日の改善は、ハードウェア回路構造に対する直接的な改善として扱うことができるようになった。設計者は、通常、改善した方法の手順をハードウェア回路にプログラムして、対応するハードウェア回路構造を得る。したがって、方法の手順をハードウェアエンティティモジュールを使用して改善し得る。例えば、プログラマブルロジックデバイス(PLD)(例えば、フィールドプログラマブルゲートアレイ(FPGA))がそのような集積回路であり、PLDの論理機能がデバイスプログラミングによりユーザによって決定される。設計者は、チップ製造業者に特定用途向け集積回路チップを設計および製造するように要求することなく、プログラミングを行ってデジタルシステムをPLDに「統合」する。加えて、今日では、集積チップを手動で製造する代わりに、このタイプのプログラミングは、「ロジックコンパイラ」というソフトウェアを使用してほとんどが実施される。プログラミングは、プログラムを開発するためおよび書くために使用されるソフトウェアコンパイラと同様である。元のコードをコンパイルのために特定のコンパイル言語で書く必要がある。そのような言語をハードウェア記述言語(HDL)と称する。Advanced Boolean Expression Language(ABEL)、Altera Hardware Description Language(AHDL)、Confluence、Cornell University Programming Language(CUPL)、HDCal、Java(登録商標) Hardware Description Language(JHDL)、Lava、Lola、MyHDL、PALASM、およびRuby Hardware Description Language(RHDL)などの多くのHDLが存在する。超高速集積回路ハードウェア記述言語(VHDL)およびVerilogがもっとも一般的に使用されている。ひとたび方法の手順がいくつかの説明したハードウェ
ア記述言語を使用して論理的にプログラムされ集積回路にプログラムされると論理的な方法の手順を実施するハードウェア回路を容易に得ることができることも当業者は理解すべきである。
【００８０】
コントローラは、任意の適切な方法を使用して実装され得る。例えば、コントローラは、マイクロプロセッサもしくはプロセッサであり得るし、またはマイクロプロセッサもしくはプロセッサ、ロジックゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または内蔵マイクロプロセッサが実行することができるコンピュータ可読プログラムコード(ソフトウェアまたはファームウェアなど)を記憶するコンピュータ可読媒体であり得る。コントローラの例としては、ARC625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320といったマイクロプロセッサを含むがこれらに限定されない。メモリコントローラはまた、メモリの制御ロジックの一部として実装され得る。当業者も知っての通り、コンピュータ可読プログラムコードを使用してコントローラを実装することに加えて、コントローラがロジックゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、および内蔵マイクロコントローラの形式で同一の機能を実装することができるように、ロジックプログラミングを方法のステップに対して行うことができる。したがって、コントローラは、ハードウェアコンポーネントとみなされ得るし、コントローラにおける様々な機能を実施するように構成された装置も、ハードウェアコンポーネントにおける構造とみなされ得る。または、様々な機能を実施するように構成された装置は、方法を実施するソフトウェアモジュールおよびハードウェアコンポーネントにおける構造の両方とみなされ得る。
【００８１】
上記の実施形態において示したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用して実装され得る、または、ある機能を有する製品を使用して実装され得る。典型的な実施デバイスがコンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ラップトップコンピュータ、セルラ電話、カメラ電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、もしくはウェアラブルデバイス、またはこれらのデバイスの任意の組合せであり得る。
【００８２】
説明を簡潔にするために、機能を様々なユニットに分割することによって上記の装置を説明している。当然のことながら、本出願を実施する際には、各ユニットの機能は、ソフトウェアおよび/またはハードウェアの1つまたは複数の要素において実施され得る。
【００８３】
本開示の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せを用いた実施形態の形式を使用し得る。加えて、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(ディスクメモリ、CD-ROM、光学メモリなどを含むがこれらに限定されない)上で実施されるコンピュータプログラム製品の形式を使用し得る。
【００８４】
本開示は、本開示の実施形態に基づいて、方法のフローチャートおよび/またはブロック図、デバイス(システム)、ならびにコンピュータプログラム製品を参照して説明している。コンピュータプログラム命令がフローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロックならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組合せを実施するために使用され得ることを留意されたい。このようなコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行された命令がフローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施するためのデバイスを生成するように、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサに提供され、機構を生成し得る。
【００８５】
このようなコンピュータプログラム命令は、コンピュータ可読メモリに記憶されている命令が命令デバイスを含むアーチファクトを生成するように、コンピュータまたは別のプログラマブルデータ処理デバイスが特定の方法で動作するように命令し得るコンピュータ可読メモリに記憶され得る。命令デバイスは、フローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施する。
【００８６】
このようなコンピュータプログラム命令は、一連の処理およびステップがコンピュータまたは別のプログラマブルデバイス上で行われ、それによってコンピュータ実施処理を生成するように、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされ得る。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施するためのステップを提供する。
【００８７】
典型的な設定においては、計算デバイスは、1つまたは複数のプロセッサ(CPU)、1つまたは複数の入力/出力インターフェース、1つまたは複数のネットワークインターフェース、および1つまたは複数のメモリを含む。
【００８８】
メモリは、例えば、リードオンリーメモリ(ROM)またはフラッシュメモリ(フラッシュRAM)といった、コンピュータ可読媒体に存在する、非持続性メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/または別の形式を含み得る。メモリは、コンピュータ可読媒体の一例である。
【００８９】
コンピュータ可読媒体は、任意の方法または技術を使用して情報を記憶することができる、持続性、非持続性、リムーバブル、および非リムーバブルメディアを含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体の例としては、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、もしくは別のメモリ技術、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、もしくは別の光学ストレージ、カセット磁気テープ、磁気テープ/磁気ディスクストレージ、もしくは別の磁気ストレージデバイスを含むがこれらに限定されない。コンピュータ記憶媒体は、計算デバイスによってアクセス可能な情報を記憶するために使用され得る。本明細書における定義に基づいて、コンピュータ可読媒体は、変調データ信号およびキャリアなどの一時的コンピュータ可読媒体(一時的媒体)は含まない。
【００９０】
「含む」、「備える」といった用語、またはそれらの任意の他の類型は、非排他的な包含をカバーすることを意図しており、したがって、多くの要素を含むプロセス、方法、製品、もしくはデバイスが、これらの要素だけでなく、明示的に記載していない他の要素も含む、または、そのようなプロセス、方法、製品、もしくはデバイスに本来備わっている要素をさらに含むことをさらに留意されたい。「・・・を含む」で終わる要素は、さらなる制約がない状態で、要素を含むプロセス、方法、製品、またはデバイスにおける追加の同一要素の存在を除外することはしない。
【００９１】
本出願は、例えば、プログラムモジュールといった、コンピュータによって実行されるコンピュータ実行可能命令の一般的な状況において説明することができる。一般的に、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本出願はまた、分散コンピューティング環境において実施することができる。分散コンピューティング環境においては、タスクは、通信ネットワークを介して接続されたリモート処理デバイスによって行われる。分散コンピューティング環境においては、プログラムモジュールは、ストレージデバイスを含むローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の両方に位置し得る。
【００９２】
本明細書における実施形態は、漸進的方法で説明している。実施形態の同一または同様の部分については、実施形態を参照されたい。各実施形態は、他の実施形態とは異なる部分に焦点を置いている。特に、システム実施形態は、方法の実施形態と基本的に同様であるため、したがって、簡潔に説明している。関連する部分については、方法の実施形態における関連する説明を参照されたい。
【００９３】
上記の実施形態は、本出願の実施形態であり、本出願を限定することは意図していない。当業者は、本出願に対して様々な修正および変更をなし得る。本出願の精神および原理から逸脱することなくなされた任意の修正、均等物との置換、または改善は、本出願における特許請求の範囲の範囲に含まれるものとする。
【符号の説明】
【００９４】
31  決定ユニット
32  処理ユニット
33  ソート処理ユニット
41  受信ユニット
42  決定ユニット
43  処理ユニット
【図１】
0006790270.tif 000002
【図２】
0006790270.tif 000003
【図３】
0006790270.tif 000004
【図４】
0006790270.tif 000005