(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-14
(45)【発行日】2022-04-22
(54)【発明の名称】ブロックチェーンに基づくデータ処理方法、装置、機器及び媒体
(51)【国際特許分類】
G06F 21/64 20130101AFI20220415BHJP
G06F 21/60 20130101ALI20220415BHJP
H04L 9/32 20060101ALI20220415BHJP
G09C 1/00 20060101ALI20220415BHJP
【FI】
G06F21/64
G06F21/60 320
H04L9/32 200Z
G09C1/00 620Z
(21)【出願番号】P 2020205937
(22)【出願日】2020-12-11
【審査請求日】2020-12-11
(31)【優先権主張番号】201911420985.2
(32)【優先日】2019-12-31
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】シャオ, ウェイ
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2020-092414(JP,A)
【文献】米国特許出願公開第2019/0379646(US,A1)
【文献】中国特許出願公開第108199842(CN,A)
【文献】米国特許出願公開第2019/0296907(US,A1)
【文献】米国特許出願公開第2019/0058580(US,A1)
【文献】Jianting Ning他,Keeping Time-Release Secrets through Smart Contracts,Cryptology ePrint Archive,2018年11月29日,p.1-p.27,インターネット<URL:https://eprint.iacr.org/2018/1166.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/64
G06F 21/60
H04L 9/32
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンノードによって実行されるブロックチェーンに基づくデータ処理方法であって、
遅延トランザクション要求を取得し、前記遅延トランザクション要求の実行をトリガするステップと、
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶するステップと、
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップと、
を含むブロックチェーンに基づくデータ処理方法。
【請求項2】
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、
前記遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータを決定するステップと、
前記読み取りデータを準同型暗号化するステップと、
暗号化された読み取りデータに基づいて前記遅延トランザクション要求を実行して、暗号化された書き込みデータを生成するステップと、
暗号化された遅延データを、生成された遅延トランザクションデータに追加するステップであって、前記暗号化された遅延データは、暗号化された書き込みデータを含むか、又は暗号化された読み取りデータ及び書き込みデータを含むステップと、
を含む請求項1に記載のブロックチェーンに基づくデータ処理方法。
【請求項3】
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化する前に、
前記遅延トランザクション要求の実行中に、遅延開示対象のデータを決定するステップと、
前記遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するステップと、
を含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項4】
前記遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するステップが、
前記遅延開示対象のデータが、四則演算を実行するデジタルデータである場合、完全準同型暗号化アルゴリズムを選択するステップと、
前記遅延開示対象のデータが、加算を実行するデジタルデータである場合、加算準同型暗号化アルゴリズムを選択するステップと、
前記遅延開示対象のデータが、乗算を実行するデジタルデータである場合、乗算準同型暗号化アルゴリズムを選択するステップと、
を含む請求項3に記載のブロックチェーンに基づくデータ処理方法。
【請求項5】
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、
前記遅延トランザクション要求で指定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップ、又は、
前記遅延トランザクション要求の開始ユーザから送信された開示指示を受信した場合、設定された開示遅延条件が満たされると判定し、前記遅延トランザクションデータを復号化処理するステップ、
を含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項6】
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化するステップが、
前記遅延トランザクション要求の実行中に、前記遅延トランザクション要求の開始ユーザによって提供された暗号鍵を用いて、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化するステップを含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項7】
前記遅延トランザクションデータを復号化処理する前に、
前記開始ユーザによって開始された開示トランザクション要求を取得し、前記開示トランザクション要求から復号鍵を取得するステップを含む請求項6に記載のブロックチェーンに基づくデータ処理方法。
【請求項8】
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、
設定された開示遅延条件が満たされる場合、復号処理を行うように、前記開始ユーザによって提供された復号鍵を前記遅延トランザクションデータの照会ユーザに提供するステップを含む請求項6に記載のブロックチェーンに基づくデータ処理方法。
【請求項9】
前記開始ユーザによって提供された復号鍵を前記遅延トランザクションデータの照会ユーザに提供するステップが、
前記開始ユーザによって提供された復号鍵を開示されるようにアップリンクに記憶するステップ、又は、
前記遅延トランザクションデータを照会する際に復号化処理するために、前記開始ユーザによって提供された復号鍵を前記遅延トランザクション要求に対応してローカルに関連付けて記憶するステップ、
を含む請求項8に記載のブロックチェーンに基づくデータ処理方法。
【請求項10】
決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化した後に、
前記暗号鍵と前記暗号化された遅延データとの間の対応関係を確立し、双方向索引を作成するステップを含む請求項6に記載のブロックチェーンに基づくデータ処理方法。
【請求項11】
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、
前記遅延トランザクション要求の実行中に、キー値ペアの形式で記憶される遅延開示対象の読み取りデータ及び書き込みデータを決定するステップと、
非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するとともに、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップと、
を含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項12】
前記ブロックチェーンノードが、アプリケーションレイヤ、論理ストレージレイヤ及び物理ストレージレイヤを含み、
前記遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するステップが、
前記遅延トランザクション要求の実行中に、前記論理ストレージレイヤにより遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するステップを含む請求項11に記載のブロックチェーンに基づくデータ処理方法。
【請求項13】
遅延トランザクション要求を取得した後、
前記遅延トランザクション要求の指示に従って、全部又は一部のトランザクション要求のデータを遅延開示対象のデータとして決定するステップを含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項14】
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、
前記ブロックチェーンノードが前記遅延トランザクション要求の事前実行ノードである場合、平文状態の読み取りデータに対して前記遅延トランザクション要求を実行し、平文状態の書き込みデータを決定するステップと、
前記読み取りデータ及び書き込みデータを準同型暗号化して、前記遅延開示対象のデータの暗号化された遅延データとして遅延トランザクションデータに追加するステップと、
を含む請求項
1に記載のブロックチェーンに基づくデータ処理方法。
【請求項15】
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータに対する照会要求を受信すると、前記暗号化された遅延データを含む遅延トランザクションデータを復号化して照会要求側にフィードバックするステップを含む請求項1又は2に記載のブロックチェーンに基づくデータ処理方法。
【請求項16】
ブロックチェーンノードに配置されるブロックチェーンに基づくデータ処理装置であって、
遅延トランザクション要求を取得し、前記遅延トランザクション要求の実行をトリガするための遅延トランザクション要求取得モジュールと、
前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを
対応する暗号化アルゴリズムによって準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶するための準同型暗号化モジュールと、
設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するための復号化モジュールと、
を備えるブロックチェーンに基づくデータ処理装置。
【請求項17】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサと通信可能に接続されるメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサが請求項1から15のいずれか一項に記載のブロックチェーンに基づくデータ処理方法を実行する電子機器。
【請求項18】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が、コンピュータに請求項1から15のいずれか一項に記載のブロックチェーンに基づくデータ処理方法を実行させる非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
コンピュータに請求項1から15のいずれか一項に記載のブロックチェーンに基づくデータ処理方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータ技術に関し、具体的にブロックチェーン技術に関し、特にブロックチェーンに基づくデータ処理方法、装置、機器及び媒体に関する。
【背景技術】
【0002】
ブロックチェーン技術は、分散型データ記憶、ピアツーピア送信、コンセンサスメカニズム、暗号化アルゴリズム等のコンピュータ技術を組み合わせる新しいアプリケーションパターンである。
【0003】
複数のブロックチェーンノードから構成されるブロックチェーンネットワークにおいては、各ノードは、分散化の公平性を確保するために、各ブロック内のトランザクションデータを検証し、ブロックを記憶する。
【0004】
様々なアプリケーションシナリオにおけるブロックチェーン技術の使用に伴い、データ開示の適時性に対する要件、アップリンクデータの遅延開示に対するニーズなど、より多くのニーズが求められるようになった。
【0005】
従来技術では、アップリンクデータの遅延開示のための解決手段が未だに提供されていない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施例は、ブロックチェーン内の書き込みデータに対する遅延開示を実現するために、ブロックチェーンに基づくデータ処理方法、装置、電子機器及び媒体を提供する。
【課題を解決するための手段】
【0007】
第1態様では、本発明の実施例は、ブロックチェーンノードによって実行される、ブロックチェーンに基づくデータ処理方法を提供し、当該方法は、遅延トランザクション要求を取得し、前記遅延トランザクション要求の実行をトリガするステップと、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶するステップと、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップと、を含む。
【0008】
上記発明の一実施例は以下の利点又は有益な効果を有する。ブロックチェーンノードは、取得された遅延トランザクション要求の実行中に、準同型暗号化を導入することにより、決定された遅延開示対象のデータを処理し、データ検証に影響を与えることなく、得られた暗号化された遅延データの安全性を確保することができ、その後、暗号化された遅延データを含む遅延トランザクションデータをアップリンクに記憶し、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化し、ブロックチェーン内のアップリンクデータに対する遅延開示を実現し、アップリンクデータの遅延開示に新たな考え方を提供する。
【0009】
選択的に、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、前記遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータを決定するステップと、前記読み取りデータを準同型暗号化するステップと、暗号化された読み取りデータに基づいて前記遅延トランザクション要求を実行して、暗号化された書き込みデータを生成するステップと、暗号化された遅延データを、生成された遅延トランザクションデータに追加するステップであって、暗号化された遅延データは、暗号化された書き込みデータを含むか、又は暗号化された読み取りデータ及び書き込みデータを含むステップと、を含む。
【0010】
上記選択可能な方式は以下の利点又は有益な効果を有する。遅延トランザクション要求の実行中にデータに対して段階的に特性が決定されることに合わせて、遅延開示対象の読み取りデータ及び書き込みデータを処理して、暗号化された遅延データを取得することができ、暗号化された遅延データを決定するための選択可能な方式を提供する。
【0011】
選択的に、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化する前に、さらに、前記遅延トランザクション要求の実行中に、遅延開示対象のデータを決定するステップと、前記遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するステップと、を含む。
【0012】
選択的に、前記遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するステップが、前記遅延開示対象のデータが、四則演算を実行するデジタルデータである場合、完全準同型暗号化アルゴリズムを選択するステップと、前記遅延開示対象のデータが、加算を実行するデジタルデータである場合、加算準同型暗号化アルゴリズムを選択するステップと、前記遅延開示対象のデータが、乗算を実行するデジタルデータである場合、乗算準同型暗号化アルゴリズムを選択するステップと、前記遅延開示対象のデータが、演算を必要としないテキストデータである場合、非対称暗号化アルゴリズムを選択するステップと、を含む。
【0013】
上記選択可能な方式は以下の利点又は有益な効果を有する。異なる暗号化アルゴリズムを導入することにより、異なる実行操作タイプの遅延開示対象のデータを処理し、技術案の柔軟性を向上させ、適用範囲を拡大する。
【0014】
選択的に、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、前記遅延トランザクション要求で指定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップ、又は、前記遅延トランザクション要求の開始ユーザから発送された開示指示を受信すると、設定された開示遅延条件が満たされると判定し、前記遅延トランザクションデータを復号化処理するステップを含む。
【0015】
上記選択可能な方式は以下の利点又は有益な効果を有する。開示遅延条件を導入することにより、ブロックチェーンにおけるアップリンクデータの遅延開示を実現することができ、同時に、実際の必要に応じて、遅延トランザクション要求において開示遅延条件を事前に指定するか、又は後に遅延トランザクション要求の開始ユーザによって送信するなどして、柔軟に対応して技術案の柔軟性を向上させる。
【0016】
選択的に、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化するステップが、前記遅延トランザクション要求の実行中に、前記遅延トランザクション要求の開始ユーザによって提供された暗号鍵を用いて、決定された遅延開示対象のデータを準同型暗号化するステップを含む。
【0017】
上記選択可能な方式は以下の利点又は有益な効果を有する。遅延開示対象のデータを準同型暗号化する暗号鍵が遅延トランザクション要求の開始ユーザによって提供されるように限定することにより、遅延開示対象のデータの安全性をさらに保証する。
【0018】
選択的に、前記遅延トランザクションデータを復号化処理する前に、さらに、
前記開始ユーザによって開始された開示トランザクション要求を取得し、前記開示トランザクション要求から復号鍵を取得するステップを含む。
【0019】
上記選択可能な方式は以下の利点又は有益な効果を有する。復号鍵は遅延トランザクション要求の開始ユーザによって提供され、例えば、復号鍵が、遅延トランザクション要求の開始ユーザによって開始された開示トランザクション要求に運ばれ、復号鍵の安全性が保証される。ブロックチェーンノードは、開示トランザクション要求から復号鍵を取得することができ、復号鍵を取得するための選択可能な方式を提供する。
【0020】
選択的に、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、設定された開示遅延条件が満たされる場合、復号化処理を行うように、前記開始ユーザによって提供された復号鍵を前記遅延トランザクションデータの照会ユーザに提供するステップを含む。
【0021】
選択的に、前記開始ユーザによって提供された復号鍵を前記遅延トランザクションデータの照会ユーザに提供するステップが、前記開始ユーザによって提供された復号鍵を開示されるようにアップリンクに記憶するステップ、又は、前記遅延トランザクションデータを照会する際に復号化処理を行うために、前記開始ユーザによって提供された復号鍵を前記遅延トランザクション要求に対応してローカルに関連付けて記憶するステップを含む。
【0022】
上記選択可能な方式は以下の利点又は有益な効果を有する。照会ユーザは、ブロックチェーン又はローカルのブロックチェーンノードから復号鍵を取得して、復号化処理を行い、さらに遅延データを取得することができる。
【0023】
選択的に、決定された遅延開示対象のデータを準同型暗号化した後に、さらに、前記暗号鍵と前記暗号化された遅延データとの間の対応関係を確立し、双方向索引を作成するステップを含む。
【0024】
上記選択可能な方式は以下の利点又は有益な効果を有する。暗号鍵と暗号化された遅延データとの間の双方向索引を作成することにより、暗号鍵に対応する復号鍵を素早く照会するために新たな考え方を提供する。
【0025】
選択的に、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、前記遅延トランザクション要求の実行中に、キー値ペアの形式で記憶される遅延開示対象の読み取りデータ及び書き込みデータを決定するステップと、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するとともに、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップと、を含む。
【0026】
上記選択可能な方式は以下の利点又は有益な効果を有する。遅延開示対象のデータ内の読み取りデータ及び書き込みデータがキー値ペアの形式で記憶される場合、実際のキー値ペアのキードメイン及び値ドメインの特性に合わせて、異なる暗号化アルゴリズムを選択して暗号化することにより、技術案の柔軟性をさらに向上させる。
【0027】
選択的に、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得するステップが、ローカルノードが前記遅延トランザクション要求の事前実行ノードである場合、平文状態の読み取りデータに対して前記遅延トランザクション要求を実行し、平文状態の書き込みデータを決定するステップと、前記読み取りデータ及び書き込みデータを準同型暗号化して、前記遅延開示対象のデータの暗号化された遅延データとして遅延トランザクションデータに追加するステップと、を含む。
【0028】
上記選択可能な方式は以下の利点又は有益な効果を有する。ブロックチェーンノードが遅延トランザクション要求の事前実行ノードであるシナリオでは、ブロックチェーンノードは、平文状態でのデータを演算した後に、平文状態での読み取りデータ及び書き込みデータを準同型暗号化することができ、最初に準同型暗号化してから演算を行う必要がなく、算出速度を高める。
【0029】
選択的に、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するステップが、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータに対する照会要求を受信すると、前記暗号化された遅延データを含む遅延トランザクションデータを復号化して照会要求側にフィードバックするステップを含む。
【0030】
上記選択可能な方式は以下の利点又は有益な効果を有する。遅延トランザクションデータを復号化処理するための選択可能な方式を提供し、オフラインのデータ伝送に一層適合している。
【0031】
第2態様では、本発明の実施例は、ブロックチェーンノードに配置される、ブロックチェーンに基づくデータ処理装置を開示し、当該装置は、遅延トランザクション要求を取得し、前記遅延トランザクション要求の実行をトリガするための遅延トランザクション要求取得モジュールと、前記遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶するための準同型暗号化モジュールと、設定された開示遅延条件が満たされる場合、前記遅延トランザクションデータを復号化処理するための復号化モジュールと、を備える。
【0032】
第3態様では、本発明の実施例はさらに電子機器を開示し、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されるメモリとを備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサが、本発明のいずれかの実施例に記載のブロックチェーンに基づくデータ処理方法を実行することができる。
【0033】
第4態様では、本発明の実施例はさらに、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、コンピュータに本発明のいずれかの実施例に記載のブロックチェーンに基づくデータ処理方法を実行させる。
第5態様では、本発明の実施例はさらに、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータに本発明のいずれかの実施例に記載のブロックチェーンに基づくデータ処理方法を実行させる。
【発明の効果】
【0034】
上記発明のうちの一実施例は以下の利点又は有益な効果を有する。ブロックチェーンノードは、取得された遅延トランザクション要求の実行中に、準同型暗号化を導入することにより、決定された遅延開示対象のデータを処理し、データ検証に影響を与えることなく、得られた暗号化された遅延データの安全性を確保することができ、その後、暗号化された遅延データを含む遅延トランザクションデータをアップリンクに記憶し、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化し、ブロックチェーン内のアップリンクデータに対する遅延開示を実現し、アップリンクデータの遅延開示に新たな考え方を提供する。
【0035】
上記選択可能な方式の他の効果は、以下に具体的な実施例と組み合わせて説明する。
【図面の簡単な説明】
【0036】
図面は本技術案への理解を容易にするためのものであり、本発明を限定するものではない。
【0037】
【
図1】本発明の第1の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。
【
図2】本発明の第2の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。
【
図3】本発明の第3の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。
【
図4】本発明の第4の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。
【
図5】本発明の第5の実施例によって提供される、ブロックチェーンに基づくデータ処理装置の構造概略図である。
【
図6】本発明の実施例のブロックチェーンに基づくデータ処理方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0038】
以下に、図面に合わせて本発明の例示的な実施例を説明し、理解を促すために本発明の実施例の様々な詳細を含んでいるが、単なる例示的なものと見なすべきである。従って、当業者であれば、本発明の範囲及び精神を逸脱することなく、ここで説明された実施例に対して様々な変更と修正を行うことができる。同様に、明確さと簡潔さのために、以下の説明では公知の機能及び構造に対する説明は省略する。
【0039】
第1の実施例
【0040】
図1は、本発明の第1の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。本実施例は、データをどのように処理すればよいかという場合に適用可能であり、特に、データの遅延開示が求められる時、データ開示の適時性の要件を満たすために、どのようにデータを処理すればよいかという場合に適用される。本実施例におけるブロックチェーンに基づくデータ処理方法は、ブロックチェーンノードによって実行することができ、具体的には、トランザクション要求を開始するブロックチェーンノードによって実行するか、又はブロックチェーンネットワークにおいてトランザクション要求を取得した他のノードによって実行してもよい。
【0041】
本発明の実施例の技術案は、ブロックチェーンに基づくデータ処理装置によって実行し、該装置はソフトウェア及び/又はハードウェアの方式で実現でき、ブロックチェーンノードを搭載したコンピューティングデバイスに集積することもできる。
図1に示すように、本実施例によって提供されるブロックチェーンに基づくデータ処理方法は、以下のステップを含んでもよい。
【0042】
S110において、遅延トランザクション要求を取得し、遅延トランザクション要求の実行をトリガする。
【0043】
本実施例では、遅延トランザクション要求は、データの遅延開示が求められるトランザクション要求であってもよい。遅延開示が求められているかどうかの観点から考えれば、ブロックチェーンネットワークにおいて伝送されているトランザクション要求は、遅延トランザクション要求と通常のトランザクション要求の二種類に分けることができる。遅延トランザクション要求と通常のトランザクション要求を区別するために、さらに、遅延トランザクション要求に識別情報、例えば特定の識別子を追加することができる。選択的に、遅延トランザクション要求は、スマートコントラクトに基づくトランザクション要求であるか、又はフィールドフォーマットに基づくトランザクション要求であってもよい。
【0044】
選択的に、ローカルノードは、ローカルで開始された遅延トランザクション要求を取得でき、例えば、ユーザは、データの遅延開示が求められている場合、ローカルノードを介して遅延トランザクション要求を開始でき、ローカルノードは、ローカルで開始された遅延トランザクション要求を取得することができる。又は、ローカルノードは、あるトリガメカニズム、例えばサードパーティ製品(例えばクライアント、端末装置又はサーバ等)から送信されてきた遅延トランザクション処理要件を受信した時、遅延トランザクション処理要件に応じて遅延トランザクション要求を生成して開始する。
【0045】
ローカルノードはさらに、ブロックチェーンネットワークにおいて伝送されている他のブロックチェーンノードによって開始された遅延トランザクション要求を取得することもできる。
【0046】
具体的に、ローカルノードは、遅延トランザクション要求を取得した後、当該遅延トランザクション要求を実行することができる。例えば、ローカルノードは、トランザクション要求を取得するたびに、取得されたトランザクション要求を実行し、従って、ローカルノードは、遅延トランザクション要求を取得した後、当該遅延トランザクション要求を実行することができる。又は、ローカルノードはさらに、トランザクション要求をバッチで処理することができ、例えば、ローカルノードは、現在の状態が、設定されたバッチ処理条件を満たしていると判定した場合、取得されたトランザクション要求を一括して処理する。現在の状態が設定されたバッチ処理条件を満たしていることは、取得されたトランザクション要求の数が設定された値に達するか、又は現在の時間が設定された処理周期に達する等であってもよい。従って、ローカルノードは、遅延トランザクション要求を取得した後、現在の状態が設定されたバッチ処理条件を満たしていると判定した場合、取得されたトランザクション要求を一括して処理すれば、遅延トランザクション要求を実行することができる。
【0047】
S120において、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得して、アップリンクに記憶する。
【0048】
本実施例では、遅延トランザクション要求は実行中に、ブロックチェーン内の一部の既存のデータに依存する必要があり、さらに、一部のデータを変更、削除又は追加する可能性があり、これらのデータが、遅延トランザクション要求に関連するデータであり、遅延開示対象のデータが、遅延トランザクション要求に関連するデータのうち遅延開示が必要とされるデータである。選択的に、遅延トランザクション要求は、該遅延トランザクション要求に関連するデータにおいて、遅延開示を必要とするもの、及び遅延開示を必要としないものを規定することができる。さらに、遅延開示を必要とするデータは、遅延開示を必要としないデータと区別されるように、特定の識別子を含んでも良い。従って、ローカルノードは、遅延トランザクション要求を取得した後、遅延トランザクション要求の指示に従って、全部又は一部のトランザクション要求のデータを遅延開示対象のデータとして決定することができる。
【0049】
準同型暗号化は、特殊な暗号化方式であり、即ち暗号文を直接処理するという方式であり、平文を処理した後に処理結果を暗号化するという方式と比べ、得られた結果は同じである。それに応じて、暗号化された遅延データは、遅延開示対象のデータを準同型暗号化して得られた暗号化データである。
【0050】
選択的に、遅延トランザクション要求は、遅延開示対象のデータを準同型暗号化するための準同型暗号化アルゴリズムを指定することができ、従って、ローカルノードは、遅延トランザクション要求の実行中に、遅延トランザクション要求で指定された準同型暗号化アルゴリズムを用いて遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを取得し、暗号化された遅延データを遅延トランザクションデータに追加して、ブロックチェーンに記憶することができる。遅延トランザクションデータは、暗号化された遅延データを含んでもよく、遅延トランザクション要求の実行に係る、遅延開示を必要としない平文データや、遅延トランザクション要求のトランザクション識別子等を含んでもよい。
【0051】
選択的に、ローカルノードはさらに、遅延開示対象のデータの実行操作タイプに基づいて、遅延開示対象のデータを暗号化するための暗号化アルゴリズムを決定することができる。さらに、遅延開示対象のデータの実行操作タイプが異なると、用いられる暗号化アルゴリズムは異なるものであってもよい。例えば、遅延開示対象のデータが、演算を必要とするデジタルデータであるならば、必要とされる演算のタイプ(例えば加算と減算、乗算と除算等)に基づいて、対応する準同型暗号化アルゴリズムを選択することができる。通常、テキストデータは具体的な演算処理を必要としないので、遅延開示対象のデータが、演算を必要としないテキストデータである場合、非対称暗号化アルゴリズム等の非準同型暗号化アルゴリズムを選択することができる。
【0052】
例示的に、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化する前に、さらに、遅延トランザクション要求の実行中に、遅延開示対象のデータを決定するステップと、遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するステップとを含んでもよい。具体的に、ローカルノードは、遅延トランザクション要求の指示に従って、遅延トランザクション要求の実行中に、遅延開示対象のデータを決定することができ、その後、ローカルノードは、遅延開示対象のデータの実行操作タイプを認識することにより、対応する暗号化アルゴリズムを選択して遅延開示対象のデータを暗号化することができる。選択的に、ローカルノードは、遅延開示対象のデータが演算を必要とするデジタルデータであると認識した場合、必要とされる演算のタイプ(例えば加算と減算、乗算と除算等)に基づいて、対応する準同型暗号化アルゴリズムを選択することができ、例えば、遅延開示対象のデータが、四則演算を行うデジタルデータである場合、完全準同型暗号化アルゴリズム、例えばGentryアルゴリズムを選択することができ、遅延開示対象のデータが、加算を実行するデジタルデータである場合、加算準同型暗号化アルゴリズム、例えばPaillierアルゴリズムを選択することができ、遅延開示対象のデータが、乗算を実行するデジタルデータである場合、乗算準同型暗号化アルゴリズム、例えばRSAアルゴリズム等を選択することができる。ローカルノードは、遅延開示対象のデータが、演算を必要としないテキストデータであると認識した場合、非対称暗号化アルゴリズムを選択することができる。
【0053】
なお、本実施例は、異なる暗号化アルゴリズムを導入することにより、異なる実行操作タイプの遅延開示対象のデータを処理し、技術案の柔軟性を向上させ、適用範囲を拡大する。
【0054】
なお、従来の暗号化記憶メカニズムは主に、ユーザによって開始されたトランザクション要求に対するものであり、トランザクション要求のコンテンツが暗号化された情報である場合、暗号化された情報をアップリンクに記憶して、適切なタイミングで復号鍵を開示する。ブロックチェーンネットワークが暗号化されたコンテンツを理解できないため、暗号化されたコンテンツのデータを処理できず、情報を暗号化した後に記憶することしかできない。通常、テキストデータは具体的な演算処理を必要とせず、暗号化して記憶することのみが必要とされるが、論理演算が必要とされる情報は、暗号化された状態で処理することができない。例えば、1つの論理情報の場合、例えば、あるデータに1を加えるとする場合、復号鍵が開示されていないため、ブロックチェーンネットワークは暗号化された情報を理解できず、データに1を加える操作をすることができない。そのため、当該暗号化された情報に対する処理は、暗号化された情報が復号化されるまで遅らせなければ実行できない。このように、暗号化された情報の処理が、他の処理済みのトランザクション要求との衝突をもたらし、さらにロールバックする必要がある場合においても、復号化されるときにのみ発見できるので、この前に処理されたすべてのトランザクション要求はロールバックする必要がある。つまり、1つのトランザクション要求は、暗号化された情報がアップリンクに記憶される際に、実質的に処理され且つ検証されておらず、復号化されるまで遅らせないと実質的に処理し且つ検証することができない。
【0055】
しかし、本発明は、遅延開示対象のデータを準同型暗号化方式で処理し、遅延開示対象のデータ及び準同型暗号化アルゴリズムが決定される場合、遅延開示対象のデータを準同型暗号化することによって得られた暗号化された遅延データは一意性を有するので、本発明は、データに衝突が存在するか否かをリアルタイムに検証する効果を実現できる。例えば、ローカルノードは、処理済みの遅延トランザクション要求の準同型暗号化アルゴリズムを用いて、現在の取得されたトランザクション要求のデータを処理し、処理して得られた暗号化された遅延データと、ブロックチェーンに記憶されている暗号化された遅延データとの一致性を比較し、一致しない場合、処理済みの遅延トランザクション要求と現在の取得されたトランザクション要求との間に衝突が存在しないと決定することができ、そうでない場合、処理済みの遅延トランザクション要求と現在の取得されたトランザクション要求との間に衝突があると決定することができる。
【0056】
S130において、設定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理する。本実施例で、開示遅延条件は、予め設定された開示ブロックチェーンに記憶されている暗号化された遅延データが満たす必要のある条件、又は他のユーザが暗号化された遅延データの平文を取得できるために満たす必要がある条件等である。例えば、以下の少なくとも1つを含んでもよい。1)現在のブロックの高さが設定された値に達する。2)現在の時間が設定された開示時間に達する。3)遅延トランザクションデータに対して受信された照会要求の数が設定された閾値に達する。4)他のトリガメカニズム、例えば遅延トランザクション要求を開始したユーザによって送信された開示指示等を受信する。
【0057】
さらに、開示遅延条件は、遅延トランザクション要求で指定するか、遅延トランザクション要求の開始者が実際の状況に応じて随時決定するか、又はブロックチェーンネットワーク内のノードのネゴシエーションによって決定して、アップリンクに記憶してもよい。
【0058】
選択的に、開示遅延条件が遅延トランザクション要求で指定されている場合、設定された開示遅延条件が満たされる時、遅延トランザクション要求を復号化処理するステップは、遅延トランザクション要求で指定された開示遅延条件が満たされる時、遅延トランザクションデータを復号化処理することであってもよい。例えば、遅延トランザクション要求で指定されている開示遅延条件が、遅延トランザクションデータに対して受信された照会要求の数が設定された閾値に達して、ローカルノードが、遅延トランザクションデータに対して受信された照会要求の数を統計でき、統計された数が設定された閾値に達する、例えば設定された閾値以上であると決定される場合、遅延トランザクションデータを復号化処理する。
【0059】
例示的に、開示遅延条件が遅延トランザクション要求の開始者によって実際の状況に応じて随時決定される場合、開示遅延条件は遅延トランザクション要求の開始ユーザによって出される開示指示であってもよい。従って、設定された開示遅延条件が満たされる場合、遅延トランザクション要求を復号化処理するステップは、ローカルノードが遅延トランザクション要求の開始ユーザからの開示指示を受信した場合、設定された開示遅延条件が満たされると判定し、遅延トランザクションデータを復号化処理することであってもよい。
【0060】
なお、本実施例において、開示遅延条件は、遅延トランザクション要求で事前に指定され、即ち遅延トランザクション要求の開始ユーザによって指定されるか、又は後で遅延トランザクション要求の開始ユーザによって出されるなどであり、ユーザデータ開示の適時性要件が満たされるうえで、ユーザの満足度をさらに向上させる。
【0061】
また、開示遅延条件がブロックチェーンネットワーク内のノードのネゴシエーションによって決定され、アップリンクに記憶される場合、設定された開示遅延条件が満たされる場合、遅延トランザクション要求を復号化処理するステップは、例えば、現在の状態(現在のブロックの高さ及び現在の時間のうちの少なくとも1つを含んでもよい)が履歴ブロックに記憶されている開示遅延条件を満たすと判定された場合、遅延トランザクションデータを復号化処理すること、又は遅延トランザクションデータに対して受信された照会要求の数が履歴ブロックに記憶されている開示遅延条件を満たすと判定された場合、遅延トランザクションデータを復号化処理する等のことであってもよい。
【0062】
具体的に、ローカルノードは、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化処理し、その後、任意のユーザが復号化された処理結果をブロックチェーンから取得できるように、復号化された処理結果をアップリンクに記憶することができる。又は、ローカルノードは、復号化された処理結果を照会要求に対応する照会要求側など、復号化された処理結果を必要としているユーザに送信することができる。
【0063】
従って、ローカルノードは、設定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理するステップは、さらに、設定された開示遅延条件が満たされる場合、遅延トランザクションデータに対する照会要求が受信されると、暗号化された遅延データを含む遅延トランザクションデータを復号化して、照会要求側にフィードバックすることであってもよい。具体的に、ローカルノードは、設定された開示条件が満たされると判定された場合、遅延トランザクションデータに対する任意の照会要求側からの照会要求を受信すると、照会要求内のトランザクション識別子に基づいて、対応する遅延トランザクションデータをブロックチェーンから取得し、遅延トランザクションデータ内の暗号化された遅延データを復号化し、復号化された処理結果を照会要求側にフィードバックすることができる。
【0064】
本発明の実施例が提供する技術案によれば、ブロックチェーンノードは、取得された遅延トランザクション要求の実行中に、準同型暗号化を導入することにより、決定された遅延開示対象のデータを処理し、データ検証に影響を与えることなく、得られた暗号化された遅延データの安全性を確保することができ、その後、暗号化された遅延データを含む遅延トランザクションデータをアップリンクに記憶し、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化し、ブロックチェーン内のアップリンクデータに対する遅延開示を実現し、アップリンクデータの遅延開示に新たな考え方を提供する。
【0065】
第2の実施例
【0066】
図2は、本発明の第2の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。本実施例は、上記実施例に基づいて、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得するステップについてさらに説明する。
図2に示すように、本実施例によって提供されるブロックチェーンに基づくデータ処理方法は以下のステップを含んでもよい。
【0067】
S210において、遅延トランザクション要求を取得し、遅延トランザクション要求の実行をトリガする。
【0068】
S220において、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータを決定する。
【0069】
本実施例では、遅延開示対象のデータは、遅延トランザクション要求に関連するデータを含んでもよい。さらに、遅延トランザクション要求に関連するデータは、読み取りデータ及び書き込みデータを含んでもよく、読み取りデータは、遅延トランザクション要求の実行中にローカルデータから読み取る必要があるデータを指し、書き込みデータは、遅延トランザクション要求の実行後に更新(例えば追加、変更又は削除等)されることになるデータを指す。従って、遅延トランザクション要求で、遅延開示対象のデータのうち、遅延開示の読み取りデータと、遅延開示の書き込みデータとを指定すること等ができる。即ち、遅延開示対象のデータは、遅延開示対象の読み取りデータを含んでもよく、さらに遅延開示対象の書き込みデータを含んでもよい。なお、読み取りデータ及び書き込みデータは1回で決定されるわけではなく、遅延トランザクション要求の実行中に段階的に決定される。
【0070】
具体的に、ローカルノードは、遅延トランザクション要求の実行中に、遅延トランザクション要求内の指示に従って遅延開示対象の読み取りデータを最初に決定することができる。
【0071】
S230において、読み取りデータを準同型暗号化する。
【0072】
具体的に、ローカルノードは、読み取りデータが決定されると、読み取りデータの実行操作タイプに基づいて、対応する準同型暗号化アルゴリズムを選択し、読み取りデータを準同型暗号化することができる。例えば、読み取りデータが四則演算を行うデジタルデータである場合、完全準同型暗号化アルゴリズムを選択することができる。
【0073】
S240において、暗号化された読み取りデータに基づいて遅延トランザクション要求を実行することにより、暗号化された書き込みデータを生成する。
【0074】
選択的に、ローカルノードは、スマートコントラクトを呼び出すことによって、暗号化された読み取りデータに基づいて遅延トランザクション要求を実行して、暗号化された書き込みデータを生成することができる。又は、ローカルノードは、フィールドフォーマットのトランザクション要求の実行方式に基づいて、暗号化された読み取りデータに基づいて遅延トランザクション要求を実行して、暗号化された書き込みデータを生成することもできる。
【0075】
S250において、暗号化された遅延データを、生成された遅延トランザクションデータに追加し、アップリンクに記憶する。
【0076】
本実施例では、暗号化された遅延データは、暗号化された書き込みデータを含むか、又は暗号化された読み取りデータ及び書き込みデータを含んでもよい。暗号化された書き込みデータが暗号化された読み取りデータによって決定されることをより直観的に検証するために、本実施例の暗号化された遅延データは、好ましくは、暗号化された読み取りデータ及び書き込みデータを含む。
【0077】
具体的に、ローカルノードは暗号化された遅延データが決定されると、暗号化された遅延データを遅延トランザクションデータに追加し、アップリンクに記憶することができる。
【0078】
さらに、ローカルノードが、開始ユーザが遅延トランザクション要求を開始するブロックチェーンノードである場合、即ちローカルノードが遅延トランザクション要求の事前実行ノードである場合、ローカルノードは、平文状態でのデータを最初に演算してから、平文状態での読み取りデータ及び書き込みデータを準同型暗号化することもでき、最初に準同型暗号化してから演算する必要がないため、算出速度の向上に役立つ。例示的に、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得するステップは、ローカルノードが遅延トランザクション要求の事前実行ノードである場合、平文状態の読み取りデータに対して遅延トランザクション要求を実行し、平文状態の書き込みデータを決定し、読み取りデータ及び書き込みデータを準同型暗号化して、遅延開示対象のデータの暗号化された遅延データとして遅延トランザクションデータに追加することであってもよい。
【0079】
ローカルノードが、遅延トランザクション要求の事前実行ノードである場合、ローカルノードは、暗号化された遅延データを遅延トランザクションデータに追加した後、ブロックチェーンネットワーク内の他のノードが検証及び記憶するように、遅延トランザクション要求を遅延トランザクションデータに関連付けてブロックに記憶しブロックチェーンネットワークに送信することができる。
【0080】
ローカルノードが、ブロックチェーンネットワークから遅延トランザクション要求を取得した他のノードである場合、即ちローカルノードが遅延トランザクション要求の検証ノードである場合、ローカルノードは、読み取りデータを準同型暗号化した後、読み取りデータの準同型暗号化結果と、事前実行ノードによって送信された遅延トランザクション要求に関連付けられた遅延トランザクションデータ内の暗号化された読み取りデータとの一致性を比較することができる。一致すると確認された場合、ローカルノードは、S240を実行して暗号化された書き込みデータを決定し、暗号化された書き込みデータと、事前実行ノードによって送信された遅延トランザクション要求に関連付けられた遅延トランザクションデータ内の暗号化された書き込みデータとの一致性を比較し、一致すると確認された場合、アップリンクに記憶することができる。本実施例は二段階検証の方式により、事前実行ノードの偽造の確率を低下させることができる。
【0081】
S260において、設定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理する。
【0082】
本発明の実施例が提供する技術案は、遅延トランザクション要求の実行中にデータに対して段階的に特性が決定されるということに合わせて、遅延開示対象の読み取りデータ及び書き込みデータを処理することにより、暗号化された遅延データを得ることができ、暗号化された遅延データを決定するために選択可能な方式を提供する。
【0083】
第3の実施例
【0084】
図3は、本発明の第3の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。本実施例は、上記実施例に基づいて、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得するステップについてさらに説明し、具体的には、遅延開示対象のデータの記憶形式を説明する。
図3に示すように、本実施例によって提供されるブロックチェーンに基づくデータ処理方法は以下のステップを含んでもよい。
【0085】
S310において、遅延トランザクション要求を取得し、遅延トランザクション要求の実行をトリガする。
【0086】
S320において、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータ及び書き込みデータを決定する。
【0087】
具体的に、ローカルノードは、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータを最初に決定し、その後、読み取りデータに基づいて遅延トランザクション要求を実行して、書き込みデータを生成することができる。読み取りデータ及び書き込みデータは、キー値ペアの形式で記憶するか、又は他の形式で記憶してもよい。照会を容易にするために、本実施例で、読み取りデータ及び書き込みデータは、キー値ペアの形式で記憶されるのが好ましい。
【0088】
S330において、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化し、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶する。
【0089】
読み取りデータ及び書き込みデータがキー値ペアの形式で記憶される場合、キー値ペアのキードメインは、識別に用いられ、通常はテキストデータであり、演算を必要としないので、非準同型暗号化アルゴリズム、例えば非対称暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化することができる。キー値ペアの値ドメインに対しては、値ドメインが、演算を必要としないテキストデータである場合、非準同型暗号化アルゴリズム、例えば非対称暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化することができる。値ドメインがすべてデジタルデータであるか、又は少なくとも一部のデジタルデータを含む場合、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化することができる。さらに、値ドメインがすべてデジタルデータであるか、又は少なくとも一部のデジタルデータを含む場合、遅延トランザクション要求に基づいて、今回の実行が演算を必要としないと判定すれば、非準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化することができる。
【0090】
選択的に、ローカルノードが、ブロックチェーンネットワークから遅延トランザクション要求を取得した他のノードである場合、即ちローカルノードが遅延トランザクション要求の検証ノードである場合、ローカルノードは、遅延開示対象の読み取りデータが決定されると、非準同型暗号化アルゴリズムを用いて、読み取りデータに係るキー値ペアのキードメインを暗号化するとともに、準同型暗号化アルゴリズムを用いて、読み取りデータに係るキー値ペアの値ドメインを暗号化することができる。その後、暗号化された読み取りデータに基づいて遅延トランザクション要求を実行して、暗号化された書き込みデータを生成し、暗号化された書き込みデータ及び読み取りデータを、暗号化された遅延データとして遅延トランザクションデータに追加し、アップリンクに記憶することができる。
【0091】
ローカルノードが遅延トランザクション要求の事前実行ノードである場合、ローカルノードは、平文状態での読み取りデータに対して遅延トランザクション要求を最初に実行し、平文状態での書き込みデータを決定することができる。読み取りデータ及び書き込みデータがキー値ペアの形式で記憶される場合、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するとともに、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶することができる。さらに、キードメイン及び値ドメインを暗号化するアルゴリズムが一意でない場合、ローカルノードは、ブロックチェーンネットワーク内の他のノードが検証して記憶するように、用いるアルゴリズムの識別子を遅延トランザクションデータに追加してから、遅延トランザクション要求を遅延トランザクションデータに関連付けてブロックに記憶しブロックチェーンネットワークに送信することができる。
【0092】
S340において、設定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理する。
【0093】
読み取りデータ及び書き込みデータがキー値ペアの形式で記憶される場合、選択的に、ローカルノードは、設定された開示遅延条件が満たされる場合、遅延トランザクションデータに対する照会要求を任意のユーザから受信すると、照会要求内のトランザクション識別子に基づいて、暗号化されたキードメイン(例えば、キードメインを暗号化するアルゴリズムがf1()である場合、暗号化されたキードメインをf1(key)として表すことができる)を決定でき、次に、暗号化されたキードメインに基づいて、暗号化された値ドメイン(例えば、値ドメインを暗号化するアルゴリズムがf2()である場合、暗号化された値ドメインをf2(value)として表すことができる)を決定し、その後、開始ユーザによって提供された復号鍵を用いて、暗号化された値ドメインを復号化することができ、即ちf2’(f2(value))を実行してvalueを取得し、その後valueを当該ユーザにフィードバックすることができる。
【0094】
本発明の実施例によって提供される技術案は、遅延開示対象のデータ内の読み取りデータ及び書き込みデータがキー値ペアの形式で記憶される場合、実際のキー値ペアのキードメイン及び値ドメインの特性に合わせて、異なる暗号化アルゴリズムを選択して暗号化することにより、技術案の柔軟性をさらに向上させる。
【0095】
さらに、ローカルノードはアプリケーションレイヤ、論理ストレージレイヤ及び物理ストレージレイヤ等の構造を含んでもよい。任意の機能を実現できるソフトウェアであってもよく、様々なデータ処理要求を生成する必要がある。好ましくは、アプリケーションレイヤは、ブロックチェーンノードの機能を実現するソフトウェアであり、具体的には、ブロックチェーンノードのローカルブロックチェーンの正常な動作を支持するために必要なソフトウェアを含み、例えば仮想マシン、及びブロックチェーンに関連する他のアプリケーションソフトウェア等を含んでもよい。ブロックチェーンアプリケーションレイヤのソフトウェアの主な機能は,トランザクション要求を生成することである。論理ストレージレイヤは、アプリケーションレイヤから取得したトランザクション要求を実行し、実行結果を物理ストレージレイヤに伝送して記憶するものである。
【0096】
選択的に、ローカルノードがアプリケーションレイヤ、論理ストレージレイヤ及び物理ストレージレイヤを含む場合、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するステップは、遅延トランザクション要求の実行中に、論理ストレージレイヤにより遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化することであってもよい。
【0097】
具体的に、アプリケーションレイヤは遅延トランザクション要求内の遅延開示対象のデータを指定することができ、従って、論理ストレージレイヤは、アプリケーションレイヤから遅延トランザクション要求を取得した後、遅延トランザクション要求内の指示に従って、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータ及び書き込みデータを決定することができ、さらに、S330の方式を用いて、キー値ペアのキードメイン及び値ドメインを暗号化して、暗号化された遅延データを取得し、その後、暗号化された遅延データを物理ストレージレイヤに伝送して記憶することができる。
【0098】
第4の実施例
【0099】
図4は、本発明の第4の実施例によって提供される、ブロックチェーンに基づくデータ処理方法のフローチャートである。本実施例は、上記実施例に基づき、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化するステップをさらに説明し、具体的には、遅延開示対象のデータを準同型暗号化する暗号鍵を説明する。
図4に示すように、本実施例によって提供される、ブロックチェーンに基づくデータ処理方法は以下のステップを含んでもよい。
【0100】
S410において、遅延トランザクション要求を取得し、遅延トランザクション要求の実行をトリガする。
【0101】
S420において、遅延トランザクション要求の実行中に、遅延トランザクション要求の開始ユーザによって提供された暗号鍵を用いて、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶する。
【0102】
本実施例では、遅延開示対象のデータを暗号化することに用いられる暗号鍵は、開始ユーザによって提供され、例えば遅延トランザクション要求の開始ユーザの非対称鍵の公開鍵であってもよい。選択的に、開始ユーザは、暗号鍵をオフラインでローカルノードに提供するか、又はオンラインで提供することもできる。例えば、開始ユーザは、ローカルノードの公開鍵を用いて暗号鍵を暗号化して、遅延トランザクション要求に運んでローカルノードに送信することができる。データの安全性を保証するために、開始ユーザは、暗号鍵を定期的に変更して、ローカルノードに提供することができる。
【0103】
具体的に、ローカルノードは、遅延トランザクション要求の実行中に、遅延トランザクション要求の開始ユーザによって提供された暗号鍵を用いて、決定された遅延開示対象のデータを準同型暗号化することによって暗号化された遅延データを取得し、その後、暗号化された遅延データを遅延トランザクションデータに追加し、アップリンクに記憶することができる。
【0104】
なお、ユーザは通常自分が信頼するブロックチェーンノードを選択してトランザクション要求を開始し、ローカルノードが、開始ユーザが遅延トランザクション要求を開始するブロックチェーンノードである場合、即ちローカルノードが遅延トランザクション要求の事前実行ノードである場合においても、ローカルノードは、設定された鍵生成ルールに従って暗号鍵を生成することができる。例えば、ローカルノードは、暗号鍵が漏洩しないように、予め設定された信頼可能な領域において、鍵生成ルールに従って暗号鍵を生成することができる。
【0105】
さらに、ローカルノードが、遅延トランザクション要求の事前実行ノードである場合、ローカルノードは、遅延トランザクション要求を取得した後、鍵生成ルールに従って暗号鍵を最初に生成してから、遅延トランザクション要求の実行中に、生成された暗号鍵を用いて、決定された遅延開示対象のデータを準同型暗号化して、暗号化された遅延データを取得することができ、その後、暗号化された遅延データを遅延トランザクションデータに追加し、アップリンクに記憶することができる。
【0106】
S430において、設定された開示遅延条件が満たされる場合、復号化処理が行われるように、開始ユーザによって提供された復号鍵を遅延トランザクションデータの照会ユーザに提供する。
【0107】
実施例では、暗号鍵が開始ユーザによって提供される場合、対応する復号鍵も開始ユーザによって提供されてもよく、例えば開始ユーザの非対称鍵の秘密鍵であってもよい。例示的に、遅延トランザクションデータを復号化処理する前に、開始ユーザによって提供された復号鍵を取得するステップを含んでもよい。選択的に、開始ユーザは、復号鍵をオフラインでローカルノードに提供するか、又はオンラインで提供することもでき、例えば、開始ユーザは、復号鍵を開示トランザクション要求に追加して開始し、ローカルノードは、開始ユーザによって開始された開示トランザクション要求を取得し、開示トランザクション要求から復号鍵を取得することができる。復号鍵の安全性を保証するために、開始ユーザはさらに、ローカルノードの公開鍵を用いて復号鍵を暗号化した後、開示トランザクション要求に運んでローカルノードに送信することができる。
【0108】
また、暗号鍵がローカルノードによって生成される場合、非対称鍵の特性に基づいて、ローカルノードは暗号鍵を生成すると同時に復号鍵を生成する。
【0109】
具体的に、ローカルノードは復号鍵を取得した後、復号鍵を遅延トランザクション要求に関連付けて記憶し、設定された開示遅延条件が満たされると判定された場合、復号処理が行われるように、開始ユーザによって提供された復号鍵を遅延トランザクションデータの照会ユーザに提供することができる。
【0110】
選択的に、ローカルノードは、以下のような選択可能な方式のいずれかを用いて、開始ユーザによって提供された復号鍵を遅延トランザクションデータの照会ユーザに提供することができる。1)開始ユーザによって提供された復号鍵を開示されるようにアップリンクに記憶するして、照会ユーザはブロックチェーンから照会して復号鍵を取得することができる。2)遅延トランザクションデータを照会する際に復号処理を行うために、開始ユーザによって提供された復号鍵を、遅延トランザクション要求に対応してローカルに関連付けて記憶して、照会ユーザはローカルノードから復号鍵を取得することができる。3)遅延トランザクションデータを照会する際に復号処理を行うために、他のノードが開始ユーザによって提供された復号鍵を遅延トランザクション要求に対応してローカルに関連付けて記憶するように、開始ユーザによって提供された復号鍵をローカルノードが信頼する他のノードに伝送して、照会ユーザは他のノードから復号鍵を取得することができる。
【0111】
また、ローカルノードは復号化された処理結果を直接照会ユーザに提供することができる。例えば、ローカルノードは遅延トランザクションデータに対する照会要求を任意の照会ユーザから受信すると、照会要求のトランザクション識別子に基づいて、ターゲットの遅延トランザクション要求を決定することができる。その後、ローカルに記憶されている復号鍵と遅延トランザクション要求との間の関連関係に基づいて、ターゲットの遅延トランザクション要求に対応する遅延トランザクションデータを復号化するための復号鍵を決定して、復号鍵を用いてターゲットの遅延トランザクション要求に対応する遅延トランザクションデータを復号化し、復号化された処理結果を照会ユーザにフィードバックすることができ、又はローカルノードは復号化された処理結果をアップリンクに記憶することができる。
【0112】
本発明の実施例によって提供される技術案は、遅延開示対象のデータを準同型暗号化する暗号鍵と、遅延トランザクションデータを復号化する復号鍵とが、遅延トランザクション要求の開始ユーザによって提供されるように限定することで、遅延開示対象のデータの安全性をさらに保証する。
【0113】
後で素早く照会して復号鍵を特定することを容易にするために、選択的に、決定された遅延開示対象のデータを準同型暗号化した後、ローカルノードは、暗号鍵と暗号化された遅延データとの間の対応関係を確立し、双方向索引を作成することができ、例えば、暗号鍵を索引語とし、暗号化された遅延データを索引結果とする索引表を作成するか、又は暗号化された遅延データを索引語とし、暗号鍵を索引結果とする索引表を作成することができる。又は、ローカルノードは暗号鍵とトランザクション識別子との間の双方向索引を作成することもできる。
【0114】
例えば、ローカルノードは、遅延トランザクションデータに対する照会要求を任意のユーザから受信すると、遅延トランザクションデータに基づいて、暗号化された遅延データを決定でき、その後、予め作成された暗号鍵と暗号化された遅延データとの間の索引表において照会することにより、暗号化された遅延データに関連付けられた暗号鍵を決定することができる。従って、暗号化された遅延データに関連付けられた暗号鍵に基づいて、復号鍵を決定し、復号鍵を用いて、暗号化された遅延データを復号化して当該ユーザにフィードバックすることができる。
【0115】
第5の実施例
【0116】
図5は、本発明の第5の実施例によって提供される、ブロックチェーンに基づくデータ処理装置の構造概略図である。当該装置はブロックチェーンノードに配置することができ、本発明のいずれかの実施例によって提供される、ブロックチェーンに基づくデータ処理方法を実行でき、実行方法に対応する機能モジュール及び有益な効果を有する。
図5に示すように、当該ブロックチェーンに基づくデータ処理装置は、遅延トランザクション要求を取得し、遅延トランザクション要求の実行をトリガするための遅延トランザクション要求取得モジュール510と、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化することにより、暗号化された遅延データを含む遅延トランザクションデータを取得し、アップリンクに記憶するための準同型暗号化モジュール520と、設定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理するための復号化モジュール530と、を備える。
【0117】
本発明の実施例によって提供される技術案において、ブロックチェーンノードは、取得された遅延トランザクション要求の実行中に、準同型暗号化を導入することにより、決定された遅延開示対象のデータを処理し、データ検証に影響を与えることなく、得られた暗号化された遅延データの安全性を確保することができ、その後、暗号化された遅延データを含む遅延トランザクションデータをアップリンクに記憶し、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化し、ブロックチェーン内のアップリンクデータに対する遅延開示を実現し、アップリンクデータの遅延開示に新たな考え方を提供する。
【0118】
例示的に、準同型暗号化モジュール520は、具体的に、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータを決定し、読み取りデータを準同型暗号化し、暗号化された読み取りデータに基づいて遅延トランザクション要求を実行して、暗号化された書き込みデータを生成し、暗号化された遅延データを、生成された遅延トランザクションデータに追加し、暗号化された遅延データは、暗号化された書き込みデータを含むか、又は暗号化された読み取りデータ及び書き込みデータを含む。
【0119】
例示的に、上記装置は、さらに、遅延トランザクション要求の実行中に、決定された遅延開示対象のデータを準同型暗号化する前に、遅延トランザクション要求の実行中に、遅延開示対象のデータを決定するための遅延開示対象のデータ決定ユニットと、遅延開示対象のデータの実行操作タイプに基づいて、対応する暗号化アルゴリズムを決定するための暗号化アルゴリズム決定ユニットと、を備える。
【0120】
例示的に、暗号化アルゴリズム決定ユニットは、具体的に、遅延開示対象のデータが、四則演算を行うデジタルデータである場合、完全準同型暗号化アルゴリズムを選択し、遅延開示対象のデータが、加算を実行するデジタルデータである場合、加算準同型暗号化アルゴリズムを選択し、遅延開示対象のデータが、乗算を実行するデジタルデータである場合、乗算準同型暗号化アルゴリズムを選択し、遅延開示対象のデータが、演算を必要としないテキストデータである場合、非対称暗号化アルゴリズムを選択する。
【0121】
例示的に、復号化モジュール530は、具体的に、遅延トランザクション要求で指定された開示遅延条件が満たされる場合、遅延トランザクションデータを復号化処理し、又は、遅延トランザクション要求の開始ユーザから送信された開示指示を受信した場合、設定された開示遅延条件が満たされると判定し、遅延トランザクションデータを復号化処理する。
【0122】
例示的に、準同型暗号化モジュール520は、具体的に、遅延トランザクション要求の実行中に、遅延トランザクション要求の開始ユーザによって提供された暗号鍵を用いて、決定された遅延開示対象のデータを準同型暗号化する。
【0123】
例示的に、上記装置は、さらに、遅延トランザクションデータを復号化処理する前に、開始ユーザによって開始された開示トランザクション要求を取得し、開示トランザクション要求から復号鍵を取得するための開示トランザクション要求取得モジュールを備えてもよい。
【0124】
例示的に、復号化モジュール530は、設定された開示遅延条件が満たされる場合、復号処理を行うように、開始ユーザによって提供された復号鍵を遅延トランザクションデータの照会ユーザに提供するための復号鍵提供ユニットを備えてもよい。
【0125】
例示的に、復号鍵提供ユニットは、具体的に、開始ユーザによって提供された復号鍵を開示されるようにアップリンクに記憶し、又は、遅延トランザクションデータを照会する際に復号処理を行うために、開始ユーザによって提供された復号鍵を遅延トランザクション要求に対応してローカルに関連付けて記憶する。
【0126】
例示的に、上記装置は、さらに、決定された遅延開示対象のデータを準同型暗号化した後、暗号鍵と暗号化された遅延データとの間の対応関係を確立し、双方向索引を作成するための索引作成モジュールを備えてもよい。
【0127】
例示的に、準同型暗号化モジュール520は、具体的に、遅延トランザクション要求の実行中に、キー値ペアの形式で記憶される遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化するとともに、準同型暗号化アルゴリズムを用いてキー値ペアの値ドメインを暗号化して、暗号化された遅延データを含む遅延トランザクションデータを取得することができる。
【0128】
例示的に、ブロックチェーンノードがアプリケーションレイヤ、論理ストレージレイヤ及び物理ストレージレイヤを含む場合、準同型暗号化モジュール520は、遅延トランザクション要求の実行中に、遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化する時、具体的に、遅延トランザクション要求の実行中に、論理ストレージレイヤにより遅延開示対象の読み取りデータ及び書き込みデータを決定し、非準同型暗号化アルゴリズムを用いてキー値ペアのキードメインを暗号化することができる。
【0129】
例示的に、上記装置は、さらに、遅延トランザクション要求を取得した後、遅延トランザクション要求の指示に従って、全部又は一部のトランザクション要求のデータを遅延開示対象のデータとして決定するための遅延開示対象のデータの決定モジュールを備えてもよい。
【0130】
例示的に、準同型暗号化モジュール520は、具体的に、ローカルノードが遅延トランザクション要求の事前実行ノードである場合、平文状態の読み取りデータに対して遅延トランザクション要求を実行し、平文状態の書き込みデータを決定し、読み取りデータ及び書き込みデータを準同型暗号化して、遅延開示対象のデータの暗号化された遅延データとして遅延トランザクションデータに追加することができる。
【0131】
例示的に、復号化モジュール530は、さらに、設定された開示遅延条件が満たされる場合、遅延トランザクションデータに対する照会要求を受信すると、暗号化された遅延データを含む遅延トランザクションデータを復号化して、照会要求側にフィードバックすることができる。
【0132】
本発明の実施例によれば、本発明はさらに電子機器及び読み取り可能な記憶媒体を提供する。
また、本発明の実施例はさらに、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータに本発明のいずれかの実施例に記載のブロックチェーンに基づくデータ処理方法を実行させる。
【0133】
図6に示すように、本発明の実施例によるブロックチェーンに基づくデータ処理方法の電子機器のブロック図である。電子機器は、様々なデジタルコンピュータ、例えば、ラップトップパソコン、デスクトップパソコン、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームコンピュータ及び他の適切なコンピュータを表すことを意図している。電子機器はさらに、様々な形態のモバイル装置、例えば、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス及び他の同様なコンピューティングデバイスを表すことができる。本明細書に示す部品、それらの接続と関係、及びそれらの機能は例示的なものに過ぎず、本明細書で説明された及び/又は求められた本発明の実現を限定することを意図していない。
【0134】
図6に示すように、当該電子機器は、1つ又は複数のプロセッサ601と、メモリ602と、各部品を接続するためのインターフェースとを備え、インターフェースは高速インターフェースと低速インターフェースとを備える。各部品は、異なるバスを用いて互いに接続されており、共通のマザーボードに実装されるか、又は必要に応じて他の方式で実装されてもよい。プロセッサは、電子機器内で実行される命令を処理することができ、前記命令は、外部入力/出力装置(例えば、インターフェースに結合される表示装置)にGUI(Graphical User Interface、GUI)の図形情報を表示するようにメモリ内又はメモリ上に記憶される命令を含む。他の実施形態において、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと組み合わせて使用してもよい。同様に、複数の電子機器を接続してもよく、各機械は必要とされる操作の一部を提供する。例えば、サーバアレイ、1グループのブレードサーバ、又はマルチプロセッサシステムとする。
図6では、1つのプロセッサ601を例として取り上げる。
【0135】
メモリ602は、本発明によって提供される非一時的なコンピュータ読み取り可能な記憶媒体である。前記メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、それによって前記少なくとも1つのプロセッサが、本発明によって提供されるブロックチェーンに基づくデータ処理方法を実行する。本発明の非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータに本発明によって提供されるブロックチェーンに基づくデータ処理方法を実行させるためのコンピュータ命令が記憶されている。
【0136】
メモリ602は、非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータによって実行可能なプログラム及びモジュール、例えば本発明の実施例におけるブロックチェーンに基づくデータ処理方法に対応するプログラム命令/モジュールを記憶することができ、例えば、
図5に示すトランザクション要求取得モジュール510、準同型暗号化モジュール520及び復号化モジュール530を記憶することができる。プロセッサ601は、メモリ602に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することにより、サーバの様々な機能のアプリケーション及びデータの処理を実行し、即ち上記方法の実施例におけるブロックチェーンに基づくデータ処理方法を実現する。
【0137】
メモリ602は、ストレージプログラムエリアと、ストレージデータエリアとを含んでも良く、ストレージプログラムエリアは、オペレーティングシステムと、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータエリアは、ブロックチェーンに基づくデータ処理方法を実現するための電子機器の使用によって作成されたデータ等を記憶することができる。また、メモリ602は、高速ランダムアクセスメモリだけではなく、非一時的なメモリ、例えば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス又は他の非一時的なソリッドステートストレージデバイスを備えてもよい。一部の実施例では、メモリ602は選択的に、プロセッサ601に対して遠隔的に設けられたメモリを備え、これらの遠隔メモリは、ネットワークを介して、ブロックチェーンに基づくデータ処理方法を実現するための電子機器に接続することができる。上記ネットワークの実例は、インターネット、イントラネット、ブロックチェーンネットワーク、ローカルエリアネットワーク、モバイル通信ネットワーク及びそれらの組み合わせを含むが、それらに限定されない。
【0138】
ブロックチェーンに基づくデータ処理方法を実現するための電子機器はさらに、入力装置603と出力装置604を備えてもよい。プロセッサ601、メモリ602、入力装置603及び出力装置604は、バス又は他の方式で接続することができ、
図6では、バスによる接続を例として取り上げる。
【0139】
入力装置603は、入力された数字又は文字情報を受信できるだけではなく、ブロックチェーンに基づくデータ処理方法を実現するための電子機器のユーザの設定及び機能制御に関連するキー信号入力を生成することもでき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティック等の入力装置である。出力装置604は、表示装置、補助照明装置及び触覚フィードバック装置等を含んでもよく、補助照明装置は、発光ダイオード(Light Emitting Diode、LED)等であり、触覚フィードバック装置は振動モータ等である。当該表示装置は、液晶ディスプレイ(Liquid Crystal Display、LCD)、LEDディスプレイ及びプラズマディスプレイを含むが、それらに限定されない。一部の実施形態では、表示装置はタッチスクリーンであってもよい。
【0140】
ここで説明されたシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は以下を含んでもよい。1つ又は複数のコンピュータプログラムにおいて実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行及び/又は解釈することができ、該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置及び少なくとも1つの出力装置からデータと命令を受信し、データと命令を当該ストレージシステム、当該少なくとも1つの入力装置及び当該少なくとも1つの出力装置に転送することができる。
【0141】
これらのコンピューティングプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれ、プログラマブルプロセッサの機械命令を含み、且つ高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ言語/機械語を用いてこれらのコンピューティングプログラム実行することができる。本明細書で使用される用語の「機械読み取り可能な媒体」と「コンピュータ読み取り可能な媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するためのコンピュータプログラム製品、機器、及び/又は装置、例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device、PLD)を指し、機械読み取り可能な信号としての機械命令を受信する機械読み取り可能な媒体を含む。用語の「機械読み取り可能な信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するためのあらゆる信号を指す。
【0142】
ユーザとのインタラクションを提供するために、ここで説明されたシステムと技術をコンピュータにおいて実施することができ、当該コンピュータは、ユーザに情報を表示するための表示装置、例えば、陰極線管(Cathode Ray Tube、CRT)又はLCDモニタと、キーボードとポインティングデバイス、例えば、マウス又はトラックボールとを有し、ユーザは当該キーボードと当該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類のデバイスはさらに、ユーザとのインタラクションを提供することもでき、例えば、ユーザに提供されたフィードバックは、任意の形式のセンシングフィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力を、音響入力、音声入力又は触覚入力を含む任意の形式で受信することもできる。
【0143】
ここで説明されたシステムと技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは当該グラフィカルユーザインタフェース又は当該ウェブブラウザを介して、ここで説明されたシステムと技術の実施形態とインタラクションすることができる)、又はこれらのバックグラウンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実行することができる。任意の形式又は媒体のデジタルデータ通信、例えば通信ネットワークを介して、システムのコンポーネントを互いに接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(Local Area Network、LAN)、ワイドエリアネットワーク(Wide Area Network、WAN)、インターネット及びブロックチェーンネットワークが含まれる。
【0144】
コンピュータシステムはクライアント及びサーバ備えてもよい。一般的には、クライアントとサーバとは互いに離れており、通常は通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されると同時に互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
【0145】
本発明の実施例の技術案によれば、ブロックチェーンノードは、取得された遅延トランザクション要求の実行中に、準同型暗号化を導入することにより、決定された遅延開示対象のデータを処理し、データ検証に影響を与えることなく、得られた暗号化された遅延データの安全性を確保することができ、その後、暗号化された遅延データを含む遅延トランザクションデータをアップリンクに記憶し、設定された開示遅延条件が満たされると判定された場合、ブロックチェーンに記憶されている遅延トランザクションデータを復号化し、ブロックチェーン内のアップリンクデータに対する遅延開示を実現し、アップリンクデータの遅延開示に新たな考え方を提供する。
【0146】
以上に示される様々な形式のプロセスを用いて、ステップを並べ替え、追加又は削除することができることを理解されたい。例えば、本発明に記載の各ステップは、並列に実行してもよいし、順次に実行してもよいし、異なる順序で実行してもよいが、本発明で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
【0147】
上記具体的な実施形態は、本発明の保護範囲を制限するものではない。当業者であれば、設計の要件及び他の要因に応じて、様々な修正、組み合わせ、一部の組み合わせ及び置き換えを行うことができる。本発明の精神及び原則を逸脱しない限り、行われるすべての修正、同等の置換及び改善などは、いずれも本発明の保護範囲内に含まれるべきである。