(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-27
(54)【発明の名称】データ要求を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
(51)【国際特許分類】
G06F 21/64 20130101AFI20220916BHJP
H04L 9/32 20060101ALI20220916BHJP
G06F 21/44 20130101ALI20220916BHJP
G06F 16/903 20190101ALI20220916BHJP
【FI】
G06F21/64
H04L9/32 200Z
G06F21/44
G06F16/903
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022504261
(86)(22)【出願日】2020-04-01
(85)【翻訳文提出日】2022-01-21
(86)【国際出願番号】 CN2020082670
(87)【国際公開番号】W WO2021042713
(87)【国際公開日】2021-03-11
(31)【優先権主張番号】201910827775.9
(32)【優先日】2019-09-03
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522021952
【氏名又は名称】京▲東▼科技信息技▲術▼有限公司
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】邵 珠光
(72)【発明者】
【氏名】▲孫▼ ▲海▼波
(72)【発明者】
【氏名】黄 ▲海▼泉
(72)【発明者】
【氏名】▲趙▼ 光▲偉▼
(72)【発明者】
【氏名】▲張▼ 爽
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA01
(57)【要約】
本出願の実施形態は、データ要求を処理するための方法および装置を開示する。該方法の一つの具体的な実施形態は、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて第1のノードのプロキシノードがあり、クエリ要求はクエリ内容と現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含む、ステップと、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得するステップと、クエリ要求の署名情報が第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するステップと、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするステップと、を含む。本実施形態は、ブロックチェーンに格納されているデータが漏洩するリスクが低く、障害点を増やすことなく、データのクロスチェーンでのクエリを実現できる。
【特許請求の範囲】
【請求項1】
データ要求を処理するための方法であって、
現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、前記クエリ要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて前記第1のノードのプロキシノードがあり、前記クエリ要求はクエリ内容と現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号とを含む、ステップと、
現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得するステップと、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップと、
前記クエリデータに基づいて、クエリ結果を前記第1のノードにフィードバックするステップと、を含むデータ要求を処理するための方法。
【請求項2】
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップは、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、前記第1のノードのプロキシノードが前記クエリ内容のクエリ権限を有するか否かを判断するステップと、
前記第1のノードのプロキシノードが前記クエリ内容のクエリ権限を有していることに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップと、を含む請求項1に記載の方法。
【請求項3】
前記クエリデータに基づいて、前記クエリ結果を前記第1のノードにフィードバックするステップは、
秘密鍵を用いて前記クエリデータに署名し、前記クエリデータの署名情報を得るステップと、
前記クエリデータの署名情報と、前記クエリデータと、前記第1のノードのプロキシノードの公開鍵とを、前記クエリ結果として前記第1のノードにフィードバックするステップと、を含む請求項1に記載の方法。
【請求項4】
前記第1のノードのプロキシノードは、
受信した、前記第1のノードから送信された第1のデジタル証明書を、前記第1のデジタル証明書が示す認証プラットフォームに送信して、前記認証プラットフォームに前記第1のデジタル証明書を認証させるステップであって、前記第1のデジタル証明書は、前記第1のノードの認証情報と、前記第1のノードの認証情報の署名情報と、前記認証プラットフォームの公開鍵とを含み、前記第1のノードの認証情報は、前記第1のノードの公開鍵を含むステップと、
前記認証プラットフォームからフィードバックされた認証結果が、前記第1のデジタル証明書が認証に合格したことを示すことに応答して、前記第1のノードの公開鍵に秘密鍵を用いて署名し、前記第1のノードの公開鍵の署名情報を得るステップと、
前記第1のノードの公開鍵の署名情報と前記第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって前記第1の提出データを現在のブロックチェーンに格納するようにするステップと、
現在のブロックチェーンにおける前記第1の提出データの格納番号に基づいて、プロキシ結果を前記第1のノードにフィードバックするステップと、
を実行することにより、前記第1のノードとのプロキシ関係を確立する、請求項1に記載の方法。
【請求項5】
前記現在のブロックチェーンにおける前記第1の提出データの格納番号に基づいて、プロキシ結果を前記第1のノードにフィードバックするステップは、
現在のブロックチェーンにおける前記第1の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける前記第1の提出データの格納番号の署名情報を取得するステップと、
現在のブロックチェーンにおける前記第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける前記第1の提出データの格納番号と、前記第1のノードのプロキシノードの公開鍵とを、プロキシ結果として前記第1のノードにフィードバックするステップと、を含む請求項4に記載の方法。
【請求項6】
現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求と、前記提出要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて前記第2のノードのプロキシノードがあり、前記提出要求は提出内容と現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号とを含む、ステップと、
現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第2のノードの公開鍵を取得するステップと、
現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることに応答して、前記提出要求と前記提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して前記第2の提出データに署名して前記第2の提出データの署名情報を取得するステップと、
前記第2の提出データの署名情報及び前記第2の提出データを現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムにより前記提出内容の処理結果を現在のブロックチェーンに格納するステップであって、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第2のノードのプロキシノードの公開鍵及び前記第2のノードの公開鍵を取得することと、前記第2の提出データの署名情報が前記第2のノードのプロキシノードの公開鍵の検証に合格し、前記提出要求の署名情報が前記第2のノードの公開鍵の検証に合格したことに応答して、前記提出内容を処理して前記処理結果を得ることと、によって前記提出内容を処理するステップと、
をさらに含む請求項1~5のいずれか1項に記載の方法。
【請求項7】
現在のブロックチェーンにおける前記処理結果の格納番号に基づいて、前記第2のノードに提出結果をフィードバックするステップをさらに含む請求項6に記載の方法。
【請求項8】
前記現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることに応答して、前記提出要求と前記提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して前記第2の提出データに署名して前記第2の提出データの署名情報を取得するステップは、
現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることと、前記提出要求の署名情報が前記第2のノードの公開鍵の検証に合格したこととに応答して、前記提出内容に異常があるか否かを判断するステップと、
前記提出内容に異常がないことに応答して、前記提出要求及び前記提出要求の署名情報を第2の提出データとし、秘密鍵を用いて前記第2の提出データに署名して、前記第2の提出データの署名情報を得るステップと、を含む請求項6に記載の方法。
【請求項9】
前記現在のブロックチェーンにおける前記処理結果の格納番号に基づいて、前記第2のノードに提出結果をフィードバックするステップは、
現在のブロックチェーンにおける前記処理結果の格納番号に秘密鍵を用いて署名し、現在のブロックチェーンにおける前記処理結果の格納番号の署名情報を得るステップと、
現在のブロックチェーンにおける前記処理結果の格納番号の署名情報と、現在のブロックチェーンにおける前記処理結果の格納番号と、前記第2のノードのプロキシノードの公開鍵とを、提出結果として前記第2のノードにフィードバックするステップと、を含む請求項7に記載の方法。
【請求項10】
前記第2のノードのプロキシノードは、
受信した、前記第2のノードから送信された第2のデジタル証明書を、前記第2のデジタル証明書が示す認証プラットフォームに送信して、前記認証プラットフォームに前記第2のデジタル証明書を認証させるステップであって、前記第2のデジタル証明書は、前記第2のノードの認証情報と、前記第2のノードの認証情報の署名情報と、前記認証プラットフォームの公開鍵とを含み、前記第2のノードの認証情報は、前記第2のノードの公開鍵を含むステップと、
前記認証プラットフォームからフィードバックされた認証結果が、前記第2のデジタル証明書が認証に合格したことを示すことに応答して、前記第2のノードの公開鍵に秘密鍵を用いて署名し、前記第2のノードの公開鍵の署名情報を得るステップと、
前記第2のノードの公開鍵の署名情報と前記第2のノードの公開鍵とを、第3の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって前記第3の提出データを現在のブロックチェーンに格納するようにするステップと、
現在のブロックチェーンにおける前記第3の提出データの格納番号に基づいて、プロキシ結果を前記第2のノードにフィードバックするステップと、
を実行することにより、前記第2のノードとのプロキシ関係を確立する、請求項6に記載の方法。
【請求項11】
前記現在のブロックチェーンにおける前記第3の提出データの格納番号に基づいて、プロキシ結果を前記第2のノードにフィードバックするステップは、
現在のブロックチェーンにおける前記第3の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける前記第3の提出データの格納番号の署名情報を取得するステップと、
現在のブロックチェーンにおける前記第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける前記第3の提出データの格納番号と、前記第2のノードのプロキシノードの公開鍵とを、プロキシ結果として前記第2のノードにフィードバックするステップと、を含む請求項10に記載の方法。
【請求項12】
現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、前記クエリ要求の署名情報とを受信するように構成される第1の受信ユニットであって、現在のブロックチェーンにおいて前記第1のノードのプロキシノードがあり、前記クエリ要求はクエリ内容と現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号とを含む、第1の受信ユニットと、
現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得するように構成される第1の取得ユニットと、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するように構成される第2の取得ユニットと、
前記クエリデータに基づいて、クエリ結果を前記第1のノードにフィードバックするように構成される第1のフィードバックユニットと、
を備えるデータ要求を処理するための装置。
【請求項13】
1つまたは複数のプロセッサと、1つまたは複数のプログラムが格納されている記憶装置と、を備える電子機器であって、
前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1~11のいずれか1項に記載の方法を実現する、電子機器。
【請求項14】
コンピュータプログラムが格納されているコンピュータ可読媒体であって、
当該プログラムがプロセッサによって実行されると、請求項1~11のいずれか1項に記載の方法を実現する、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2019年09月03日に提出された、出願番号が201910827775.9で、出願人が北京海益同展信息科技有限公司で、発明の名称が「データ要求を処理するための方法および装置」である中国特許出願に基づく優先権を主張し、当該特許出願の全文を引用により本出願に組み込む。
【0002】
本出願の実施形態は、コンピュータ技術分野に関し、具体的にデータ要求を処理するための方法及び装置に関する。
【背景技術】
【0003】
ブロックチェーンは、分散化(decentralization)の思想を利用してデータを管理する技術である。ブロックチェーン技術は信頼性が高いため、様々なデータシステムに適用されている。
【0004】
多くの応用シーンでは、複数のシステムにわたるデータを取得して対応する機能を実現する必要がある。このようなニーズの下で、ブロックチェーンのクロスチェーン技術もそれに伴って発展してきた。ブロックチェーンのクロスチェーン技術は、異なるブロックチェーン間のインタラクション(例えば、データのクエリ、記憶)を容易にする技術である。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の実施形態は、データ要求を処理するための方法および装置を提供する。
【0006】
第1の態様では、本出願は、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて第1のノードのプロキシノードがあり、クエリ要求はクエリ内容と現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含む、ステップと、
現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得するステップと、
クエリ要求の署名情報が第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するステップと、
クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするステップと、を含むデータ要求を処理するための方法を提供する。
【0007】
いくつかの実施形態では、前記の、クエリ要求の署名情報が第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するステップは、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答して、第1のノードのプロキシノードがクエリ内容のクエリ権限を有するか否かを判断するステップと、第1のノードのプロキシノードがクエリ内容のクエリ権限を有していることに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するステップと、を含む。
【0008】
いくつかの実施形態では、前記の、クエリデータに基づいてクエリ結果を第1のノードにフィードバックするステップは、秘密鍵を用いてクエリデータに署名し、クエリデータの署名情報を得るステップと、クエリデータの署名情報と、クエリデータと、前記第1のノードのプロキシノードの公開鍵とを、クエリ結果として第1のノードにフィードバックするステップと、を含む。
【0009】
いくつかの実施形態では、第1のノードのプロキシノードは、受信した、第1のノードから送信された第1のデジタル証明書を、第1のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第1のデジタル証明書を認証させるステップであって、第1のデジタル証明書は、第1のノードの認証情報と、第1のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第1のノードの認証情報は、第1のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第1のデジタル証明書が認証に合格したことを示すことに応答して、第1のノードの公開鍵に秘密鍵を用いて署名し、第1のノードの公開鍵の署名情報を得るステップと、第1のノードの公開鍵の署名情報と第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第1の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第1の提出データの格納番号に基づいて、プロキシ結果を第1のノードにフィードバックするステップと、を実行することにより、第1のノードとプロキシ関係を確立する。
【0010】
いくつかの実施形態では、前記の、現在のブロックチェーンにおける第1の提出データの格納番号に基づいて、プロキシ結果を第1のノードにフィードバックするステップは、現在のブロックチェーンにおける第1の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報を取得するステップと、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第1の提出データの格納番号と、前記第1のノードのプロキシノードの公開鍵とを、プロキシ結果として第1のノードにフィードバックするステップと、を含む。
【0011】
いくつかの実施形態では、前記方法は、現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求(submission request)と、提出要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて第2のノードのプロキシノードがあり、提出要求は提出内容と現在のブロックチェーンにおける第2のノードの公開鍵の格納番号とを含む、ステップと、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードの公開鍵を取得するステップと、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることに応答して、提出要求と提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して第2の提出データに署名して前記第2の提出データの署名情報を取得するステップと、第2の提出データの署名情報及び第2の提出データを現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムにより提出内容の処理結果を現在のブロックチェーンに格納するステップであって、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードのプロキシノードの公開鍵及び第2のノードの公開鍵を取得することと、第2の提出データの署名情報が第2のノードのプロキシノードの公開鍵による検証に合格し、提出要求の署名情報が第2のノードの公開鍵による検証に合格したことに応答して、提出内容を処理して処理結果を得ることと、によって前記提出内容を処理するステップと、をさらに含む。
【0012】
いくつかの実施形態では、前記方法は、現在のブロックチェーンにおける処理結果の格納番号に基づいて、第2のノードに提出結果をフィードバックするステップをさらに含む。
【0013】
いくつかの実施形態では、前記の、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることに応答して、提出要求と提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して第2の提出データに署名して第2の提出データの署名情報を取得するステップは、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることと、提出要求の署名情報が第2のノードの公開鍵による検証に合格したこととに応答して、提出内容に異常があるか否かを判断するステップと、提出内容に異常がないことに応答して、提出要求及び提出要求の署名情報を第2の提出データとし、秘密鍵を用いて第2の提出データに署名して、第2の提出データの署名情報を得るステップと、を含む。
【0014】
いくつかの実施形態では、前記の、現在のブロックチェーンにおける処理結果の格納番号に基づいて、第2のノードに提出結果をフィードバックするステップは、現在のブロックチェーンにおける処理結果の格納番号に秘密鍵を用いて署名し、現在のブロックチェーンにおける処理結果の格納番号の署名情報を得るステップと、現在のブロックチェーンにおける処理結果の格納番号の署名情報と、現在のブロックチェーンにおける処理結果の格納番号と、前記第2のノードのプロキシノードの公開鍵とを、提出結果として第2のノードにフィードバックするステップと、を含む。
【0015】
いくつかの実施形態では、第2のノードのプロキシノードは、受信した、第2のノードから送信された第2のデジタル証明書を、第2のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第2のデジタル証明書を認証させるステップであって、第2のデジタル証明書は、第2のノードの認証情報と、第2のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第2のノードの認証情報は、第2のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第2のデジタル証明書が認証に合格したことを示すことに応答して、第2のノードの公開鍵に秘密鍵を用いて署名し、第2のノードの公開鍵の署名情報を得るステップと、第2のノードの公開鍵の署名情報と第2のノードの公開鍵とを、第3の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第3の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第3の提出データの格納番号に基づいて、プロキシ結果を第2のノードにフィードバックするステップと、を実行することにより、第2のノードとプロキシ関係を確立する。
【0016】
いくつかの実施形態では、前記の、現在のブロックチェーンにおける第3の提出データの格納番号に基づいて、プロキシ結果を第2のノードにフィードバックするステップは、現在のブロックチェーンにおける第3の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報を取得するステップと、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第3の提出データの格納番号と、第2のノードのプロキシノードの公開鍵とを、プロキシ結果として第2のノードにフィードバックするステップと、を含む。
【0017】
第2の態様では、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報とを受信するように構成される第1の受信ユニットであって、現在のブロックチェーンにおいて第1のノードのプロキシノードがあり、クエリ要求はクエリ内容と現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含む、第1の受信ユニットと、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得するように構成される第1の取得ユニットと、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するように構成される第2の取得ユニットと、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするように構成される第1のフィードバックユニットと、を備えるデータ要求を処理するための装置を提供する。
【0018】
いくつかの実施形態では、第2の取得ユニットは、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答して、第1のノードのプロキシノードがクエリ内容のクエリ権限を有するか否かを判断し、第1のノードのプロキシノードがクエリ内容のクエリ権限を有していることに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するようにさらに構成される。
【0019】
いくつかの実施形態では、第1のフィードバックユニットは、秘密鍵を用いてクエリデータに署名し、クエリデータの署名情報を得、クエリデータの署名情報と、クエリデータと、公開鍵とを、クエリ結果として第1のノードにフィードバックするようにさらに構成される。
【0020】
いくつかの実施形態では、第1のノードのプロキシノードと第1のノードとのプロキシ関係は、受信した、第1のノードから送信された第1のデジタル証明書を、第1のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第1のデジタル証明書を認証させるステップであって、第1のデジタル証明書は、第1のノードの認証情報と、第1のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第1のノードの認証情報は、第1のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第1のデジタル証明書が認証に合格したことを示すことに応答して、第1のノードの公開鍵に秘密鍵を用いて署名し、第1のノードの公開鍵の署名情報を得るステップと、第1のノードの公開鍵の署名情報と第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第1の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第1の提出データの格納番号に基づいて、プロキシ結果を第1のノードにフィードバックするステップと、を実行することにより、確立される。
【0021】
いくつかの実施形態では、前記の、プロキシ結果を第1のノードにフィードバックするステップは、現在のブロックチェーンにおける第1の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報を取得し、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第1の提出データの格納番号と、公開鍵とをプロキシ結果として第1のノードにフィードバックすることにより行われる。
【0022】
いくつかの実施形態では、現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求と、提出要求の署名情報とを受信するように構成される第2の受信ユニットであって、現在のブロックチェーンにおいて第2のノードのプロキシノードがあり、提出要求は提出内容と現在のブロックチェーンにおける第2のノードの公開鍵の格納番号とを含む、第2の受信ユニットと、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードの公開鍵を取得するように構成される第3の取得ユニットと、
現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることに応答して、提出要求と提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して第2の提出データに署名して第2の提出データの署名情報を取得するように構成される署名ユニットと、第2の提出データの署名情報及び第2の提出データを現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムにより提出内容の処理結果を現在のブロックチェーンに格納するように構成される提出ユニットであって、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードのプロキシノードの公開鍵及び第2のノードの公開鍵を取得することと、第2の提出データの署名情報が第2のノードのプロキシノードの公開鍵の検証に合格し、提出要求の署名情報が第2のノードの公開鍵による検証に合格したことに応答して、提出内容を処理して処理結果を得ることと、によって提出内容を処理する提出ユニットと、をさらに備える。
【0023】
いくつかの実施形態では、前記装置は、現在のブロックチェーンにおける処理結果の格納番号に基づいて、第2のノードに提出結果をフィードバックするように構成される第2のフィードバックユニットをさらに備える。
【0024】
いくつかの実施形態では、署名ユニットは、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることと、提出要求の署名情報が第2のノードの公開鍵による検証に合格したこととに応答して、提出内容に異常があるか否かを判断し、提出内容に異常がないことに応答して、提出要求及び提出要求の署名情報を第2の提出データとし、秘密鍵を用いて第2の提出データに署名して、第2の提出データの署名情報を得るようにさらに構成される。
【0025】
いくつかの実施形態では、第2のフィードバックユニットは、さらに現在のブロックチェーンにおける処理結果の格納番号に秘密鍵を用いて署名し、現在のブロックチェーンにおける処理結果の格納番号の署名情報を得、現在のブロックチェーンにおける処理結果の格納番号の署名情報と、現在のブロックチェーンにおける処理結果の格納番号と、公開鍵とを、提出結果として第2のノードにフィードバックするように構成される。
【0026】
いくつかの実施形態では、第2のノードのプロキシノードと第2のノードとの間のプロキシ関係は、受信した、第2のノードから送信された第2のデジタル証明書を、第2のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第2のデジタル証明書を認証させるステップであって、第2のデジタル証明書は、第2のノードの認証情報と、第2のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第2のノードの認証情報は、第2のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第2のデジタル証明書が認証に合格したことを示すことに応答して、第2のノードの公開鍵に秘密鍵を用いて署名し、第2のノードの公開鍵の署名情報を得るステップと、第2のノードの公開鍵の署名情報と第2のノードの公開鍵とを、第3の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第3の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第3の提出データの格納番号に基づいて、プロキシ結果を第2のノードにフィードバックするステップと、を実行することにより、確立される。
【0027】
いくつかの実施形態では、前記の、プロキシ結果を第2のノードにフィードバックするステップは、現在のブロックチェーンにおける第3の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報を取得し、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第3の提出データの格納番号と、公開鍵とをプロキシ結果として第2のノードにフィードバックすることにより行われる。
【0028】
第3の態様では、本出願の実施形態は、1つまたは複数のプロセッサと、1つまたは複数のプログラムが格納されている記憶装置と、を備える電子機器であって、1つまたは複数のプログラムが1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに第1態様のいずれかの実施形態に記載の方法を実現する、電子機器を提供する。
【0029】
第4の態様では、本出願の実施形態は、コンピュータプログラムが格納されているコンピュータ可読媒体であって、該プログラムがプロセッサによって実行されると、第1態様のいずれかの実施形態に記載の方法を実現する、コンピュータ可読媒体を提供する。
【0030】
本出願の実施形態に係るデータ要求を処理するための方法及び装置は、まず、現在のブロックチェーン以外のブロックチェーンにおける第1のノードから送信されたクエリ要求及びクエリ要求の署名情報を受信し、次に、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得し、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格した後、現在のブロックチェーンからクエリ内容が示すクエリデータを取得し、最後にクエリデータに基づいてクエリ結果を第1のノードにフィードバックする。これにより、第三者の公証役場やサイドチェーン(またはリレーチェーン)を導入することなく、他のブロックチェーンにおける第1のノードが現在のブロックチェーンにおいてデータをクエリすること、すなわち、ブロックチェーンに格納されているデータが漏洩する危険性が低く、障害箇所を増やすことなく、データのクロスチェーンクエリを行うことができる。
【図面の簡単な説明】
【0031】
本出願の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになるであろう。
【
図1】本出願の一実施形態を適用可能な例示的なシステムアーキテクチャを示す図である。
【
図2】本出願に係るデータ要求を処理するための方法の一実施形態を示すフローチャートである。
【
図3】本出願に係るデータ要求を処理するための方法の一応用シーンを示す概略図である。
【
図4】本出願に係るデータ要求を処理するための方法のもう一つの実施形態を示すフローチャートである。
【
図5】本出願に係るデータ要求を処理するための装置の一実施形態を示す構造概略図である。
【
図6】本出願の実施形態の実現に適する電子機器の構造概略図である。
【発明を実施するための形態】
【0032】
以下、図面および実施形態を参照しながら本出願をより詳細に説明する。ここで述べている具体的な実施形態は関連発明を説明するためのものにすぎず、当該発明を限定するものではないことを理解すべきである。なお、説明の便宜上、図面には発明に関連する部分のみが示されている。
【0033】
なお、本出願の実施形態および実施形態における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面および実施形態を参照しながら本出願を詳細に説明する。
【0034】
図1は、本出願に係るデータ要求を処理するための方法またはデータ要求を処理するための装置が適用可能な例示的なアーキテクチャ100を示している。
図1に示すように、システムアーキテクチャ100は、2つのブロックチェーン10、20およびネットワーク30を含んでもよい。ブロックチェーン10は、ノード101、102、103を含み、ブロックチェーン20は、ノード104、105、106を含む。ネットワーク30は、ブロックチェーン10におけるノードとブロックチェーン20におけるノードとの間で通信リンクを提供するための媒体として使用される。ネットワーク30は、有線、無線通信リンクまたは光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
【0035】
ブロックチェーン20におけるノードが、ブロックチェーン10においてプロキシノードが存在する場合、ブロックチェーン20におけるノードは、ネットワーク30を介して、ブロックチェーン10に記憶されているデータの中から、クエリ対象のデータを取得することができる。例えば、ブロックチェーン10におけるノード102は、ブロックチェーン20におけるノード104のプロキシノードであり、ブロックチェーン20におけるノード104は、クエリ要求及びクエリ要求の署名情報をネットワーク30を介してブロックチェーン10におけるノード101に送信し、ブロックチェーン10におけるノード101は、当該クエリ要求及びクエリ要求の署名情報に基づいて、ブロックチェーン10からクエリデータを取得し、取得したクエリデータをブロックチェーン20におけるノード104にフィードバックすることができる。
【0036】
実際には、ノード101、102、103、104、105、106は、端末装置であってもよく、サーバであってもよい。
【0037】
ノード101、102、103、104、105、106が端末装置である場合には、ブロックチェーン系アプリケーション、ウェブブラウザアプリケーション、ショッピング系アプリケーション、検索系アプリケーション等の各種の通信クライアントアプリケーションがインストールされ、ハードウェアでもソフトウェアでもよい。ノード101、102、103、104、105、106がハードウェアである場合、情報の送信をサポートする様々な電子機器であってもよく、スマートフォン、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータなどを含むが、これらに限定されない。ノード101、102、103、104、105、106がソフトウェアである場合、上記列挙された電子機器にインストールすることができ、それは、複数のソフトウェア若しくはソフトウェアモジュールとして実現されてもよく、又は単一のソフトウェア若しくはソフトウェアモジュールとして実現されてもよい。ここでは特に限定しない。
【0038】
ノード101、102、103、104、105、106がサーバである場合、ハードウェアであってもよく、ソフトウェアであってもよい。ノード101、102、103、104、105、106がハードウェアである場合、複数のサーバから構成される分散サーバクラスタとしても、単一のサーバとしても実装可能である。ノード101、102、103、104、105、106がソフトウェアである場合、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するためのソフトウェア又はソフトウェアモジュール)として実現されてもよく、又は単一のソフトウェア若しくはソフトウェアモジュールとして実現されてもよい。ここでは特に限定しない。
【0039】
なお、本出願の実施形態に係るデータ要求を処理するための方法は、通常にブロックチェーン10におけるノード(例えばノード101、102、103によって)実行され、これに応じて、データ要求を処理するための装置は、通常にブロックチェーン10におけるノード内に設けられる。
【0040】
図1におけるノードおよびネットワークの数は例示的なものに過ぎないことを理解すべきである。必要に応じて、ノードおよびネットワークの数を任意に加減してもよい。
【0041】
次に、本出願に係るデータ要求を処理するための方法の一実施形態のフロー200を示す
図2を参照する。このデータを処理するため要求の方法は、次のステップ(ステップ201~204)を含む。
【0042】
ステップ201では、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報を受信する。
【0043】
本実施形態では、データ要求を処理するための方法の実行主体(
図1に示すノード101、102、103)は、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求及びクエリ要求の署名情報を受信することができる。実際には、現在のブロックチェーンおよび他のブロックチェーンは、異なるシステムにデータサービスを提供するブロックチェーンであってもよいし、同じシステムに異なるデータサービスを提供する異なるブロックチェーンであってもよい。なお、上述した実行主体と第1のノードとは、異なる2つのブロックチェーンにおける2つのノードであってもよい。
【0044】
現在のブロックチェーンには、第1のノードのプロキシノードが存在してもよい。すなわち、第1のノードのプロキシノードは、上記実行主体であってもよいし、現在のブロックチェーンにおける他のノードであってもよい。ここで、第1のノードのプロキシノードは、予め第1のノードとプロキシ関係を確立しているノードであってもよい。実際には、第1のノードは、現在のブロックチェーンにおけるノードにプロキシ関係を確立する要求を送信し、現在のブロックチェーンにおけるノードが当該要求を受け入れた前提の下で、現在のブロックチェーンにおけるノードとプロキシ関係を確立してもよい。
【0045】
クエリ要求は、クエリ内容と、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含んでもよい。ここで、クエリ内容は、第1のノードが現在のブロックチェーンにおいてクエリする必要のある内容であってもよい。クエリ要求の署名情報は、第1のノードが秘密鍵を用いてクエリ要求に署名した署名情報であってもよい。
【0046】
本実施形態のいくつかのオプション的な実施形態において、第1のノードのプロキシノードは、ステップS1~S4に示す方法を実行することによって、第1のノードとプロキシ関係を確立することができる。
【0047】
ステップS1では、受信した、第1のノードによって送信された第1のデジタル証明書を、第1のデジタル証明書が示す認証プラットフォームに送信し、認証プラットフォームは第1のデジタル証明書を認証する。
【0048】
第1のデジタル証明書は、第1のノードの認証情報と、第1のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含んでもよい。第1のノードの認証情報は、例えば、第1のノードの公開鍵を含んでもよく、さらに例えば、第1のノードの名称、番号等を含んでもよい。
【0049】
具体的には、第1のノードのプロキシノードは、第1のノードによって送信された第1のデジタル証明書を受信し、第1のデジタル証明書が示す認証プラットフォームに第1のデジタル証明書を送信して、第1のデジタル証明書を認証することができる。なお、認証プラットフォームは、ブロックチェーンにおけるノードの認証情報を認証する第三者プラットフォームであってもよい。実際には、認証プラットフォームは、その秘密鍵を用いて第1のノードの認証情報に署名し、第1のノードの認証情報の署名情報を取得し、第1のノードの認証情報、第1のノードの認証情報の署名情報、及びその公開鍵を処理することにより、第1のデジタル証明書を取得することができる。
【0050】
ステップS2では、認証プラットフォームからフィードバックされた認証結果が、第1のデジタル証明書が認証に合格したことを示すことに応答して、第1のノードの公開鍵に秘密鍵を用いて署名し、第1のノードの公開鍵の署名情報を得る。
【0051】
具体的には、認証プラットフォームによってフィードバックされた認証結果が、第1のデジタル証明書が認証に合格したことを示す場合、第1のノードのプロキシノードは、その秘密鍵を用いて第1のノードの公開鍵に署名し、第1のノードの公開鍵の署名情報を得ることができる。
【0052】
なお、一部の応用シーンでは、認証結果は、認証に合格したことを示す情報を含んでもよく、他の応用シーンでは、認証結果は、認証プラットフォームがその秘密鍵を使用して認証に合格したことを示す情報に署名する署名情報と、認証プラットフォームの公開鍵とを含んでもよい。
【0053】
ステップS3では、第1のノードの公開鍵の署名情報と第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第1の提出データを現在のブロックチェーンに格納するようにする。
【0054】
具体的には、第1のノードのプロキシノードが第1の提出データを現在のブロックチェーンに提出した後、現在のブロックチェーンにおけるノードは、現在のブロックチェーンが採用するコンセンサスメカニズムに基づいて第1の提出データの記録権を奪い合うことができ、第1の提出データの記録権を奪ったノードは、現在のブロックチェーンに第1の提出データを記録することができ、第1の提出データの記録権を奪っていないノードは、第1の提出データの記録権を奪ったノードが記録したデータを検証することができ、検証に合格した後、現在のブロックチェーンにおける第1の提出データの格納を完了できる。
【0055】
ステップS4では、現在のブロックチェーンにおける第1の提出データの格納番号に基づいて、プロキシ結果を第1のノードにフィードバックする。
【0056】
具体的には、第1のノードのプロキシノードは、現在のブロックチェーンにおける第1の提出データの格納番号を、プロキシ結果として第1のノードにフィードバックすることができる。
【0057】
これらの実施形態では、第1のノードのプロキシノードは、認証プラットフォームによる第1のノードの認証情報の認証に合格した後に、第1のノードとのプロキシ関係を確立し、第1のノードの安全性を確保しながら、第1のノードとのプロキシ関係を確立することができる。
【0058】
本実施形態のいくつかのオプション的な実施形態において、第1のノードのプロキシノードは次のようにステップS4を実行することができる。
【0059】
まず、第1のノードのプロキシノードは、その秘密鍵を用いて、現在のブロックチェーンにおける第1の提出データの格納番号に署名し、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報を得ることができる。
【0060】
そして、第1のノードのプロキシノードは、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第1の提出データの格納番号と、第1のノードのプロキシノードの公開鍵とを、プロキシ結果として第1のノードにフィードバックすることができる。
【0061】
これらの実施形態では、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報と、第1のノードのプロキシノードの公開鍵とをプロキシ結果に追加することにより、第1のノードへのフィードバック中に、現在のブロックチェーンにおける第1の提出データの格納番号が改竄されることを防止することができる。
【0062】
ステップ202では、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得する。
【0063】
本実施形態では、現在のブロックチェーンにおけるノードと予めプロキシ関係が確立されている他のブロックチェーンにおけるノードの公開鍵が現在のブロックチェーンに記憶されており、各ノードの公開鍵は一意に定められた格納番号に従って記憶されている。なお、第1のノードの公開鍵は、現在のブロックチェーンにおいて一意に定められた格納番号に従って記憶されている。
【0064】
本実施形態では、上記実行主体は、クエリ要求を受信した後、クエリ要求に含まれた、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号を取得し、当該格納番号が示す公開鍵、すなわち第1のノードの公開鍵を現在のブロックチェーンから取得することができる。
【0065】
ステップ203では、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得する。
【0066】
本実施形態では、上記実行主体は、第1のノードの公開鍵を取得した後、第1のノードの公開鍵を用いてクエリ要求の署名情報を検証することができる。具体的には、上記実行主体は、第1のノードの公開鍵を用いてクエリ要求の署名情報を復号し、復号した結果がクエリ要求と一致する場合には、クエリ要求の署名情報が検証に合格したと判定し、そうでない場合には、クエリ要求の署名情報が検証に合格していないと判定することができる。
【0067】
本実施形態では、クエリ要求の署名情報が検証に合格した場合、上記実行主体は、クエリ要求に含まれたクエリ内容が示すデータを現在のブロックチェーンから取得することができ、すなわちクエリデータを取得することができる。
【0068】
本実施形態のいくつかのオプション的な実施形態において、上記実行主体は次のようにステップ203を実行することができる。
【0069】
まず、上記実行主体は、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格した場合、第1のノードのプロキシノードがクエリ内容のクエリ権限を有しているか否かを判断することができる。
【0070】
具体的には、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格した場合、上記実行主体は、現在のブロックチェーンに格納されている第1のノードのプロキシノードのクエリ権限を示すデータに基づいて、第1のノードのプロキシノードがクエリ要求に含まれたクエリ内容のクエリ権限を有するか否かを判断することができる。
【0071】
そして、上記実行主体は、第1のノードのプロキシノードがクエリ内容のクエリ権限を有していることに応答して、クエリ内容が示すクエリデータを現在のブロックチェーンから取得することができる。
【0072】
具体的には、第1のノードのプロキシノードが、クエリ要求に含まれたクエリ内容のクエリ権限を有していると判定された場合には、上記実行主体は、当該クエリ内容が示すクエリデータを現在のブロックチェーンから取得することができる。
【0073】
これらの実施形態では、第1のノードのプロキシノードがクエリ要求に含まれたクエリ内容のクエリ権限を有していることを前提として、当該クエリ内容が示すクエリデータを現在のブロックチェーンから取得することにより、第1のノードがそのプロキシノードのクエリ権限範囲におけるデータを現在のブロックチェーンからクエリすることを確保することができる。
【0074】
ステップ204では、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックする。
【0075】
本実施形態では、上記実行主体は、クエリデータを取得した後、当該クエリデータをクエリ結果として第1のノードにフィードバックすることができる。
【0076】
本実施形態のいくつかのオプション的な実施形態において、クエリデータを取得した後、上記実行主体は次のようにステップ204を実行することができる。
【0077】
まず、上記実行主体は、その秘密鍵を用いてクエリデータに署名し、クエリデータの署名情報を得ることができる。
【0078】
そして、上記実行主体は、クエリデータの署名情報、クエリデータおよびその公開鍵をクエリ結果として第1のノードにフィードバックすることができる。
【0079】
これらの実施形態では、クエリ結果にクエリデータの署名情報と上記実行主体の公開鍵を追加することにより、第1のノードへのフィードバック中にクエリデータが改竄されることを回避できる。
【0080】
次に、本実施形態に係るデータ要求を処理するための方法の応用シーンを示す概略図である
図3を参照する。
図3の応用シーンでは、端末装置301は現在のブロックチェーンにおけるノードであり、端末装置302は他のブロックチェーンにおけるノードであり、現在のブロックチェーンにおいて端末装置302のプロキシノードが存在する。
【0081】
まず、端末装置301は、端末装置302から送信されたクエリ要求303と、クエリ要求303の署名情報304とを受信することができる。ここで、クエリ要求303は、クエリ内容3032と、現在のブロックチェーンにおける端末装置302の公開鍵の格納番号3031とを含んでもよい。そして、端末装置301は、格納番号3031に基づいて、現在のブロックチェーンから端末装置302の公開鍵305を取得することができる。そして、端末装置301は、取得した公開鍵305を用いて署名情報304を検証することができる。検証に合格すると、端末装置301は、現在のブロックチェーンからクエリ内容3032が示すクエリデータ306を取得することができる。最後に、端末装置301は、クエリ結果としてクエリデータ306を端末装置302にフィードバックすることができる。
【0082】
現在、ブロックチェーンのクロスチェーンにおいて、従来技術は公証役場のメカニズムを用いて第三者の公証役場を導入する方式で異なるブロックチェーン間のインタラクションを実現しており、ブロックチェーン同士をまたぐ過程中にブロックチェーンに記憶されたデータが漏洩するリスクを増加させる可能性がある。あるいは、従来技術では、サイドチェーン(またはリレーチェーン)モードでサイドチェーン(またはリレーチェーン)を導入することにより、異なるブロックチェーン間のインタラクションを実現しているため、ブロックチェーン同士をまたぐ時の障害点が増大することがあり、すなわち、サイドチェーン(またはリレーチェーン)に障害が発生した場合に、クロスチェーンが完了しない場合があった。本出願の上記実施形態による方法では、現在のブロックチェーンに他のブロックチェーンにおける第1のノードのプロキシノードが存在しており、上記実行主体は、第1のノードから送信されたクエリ要求の署名情報が検証に合格した後、第1のノードから送信されたクエリ要求に含まれたクエリ内容が示すクエリデータを現在のブロックチェーンから取得し、そのクエリ結果を第1のノードにフィードバックする。これにより、第三者の公証役場やサイドチェーン(またはリレーチェーン)を導入することなく、他のブロックチェーンにおける第1のノードが現在のブロックチェーンにおいてデータをクエリすること、すなわち、ブロックチェーンに格納されているデータが漏洩する危険性が低く、障害箇所を増やすことなく、データのクロスチェーンクエリを行うことができる。
【0083】
更に、データ要求を処理するための方法のもう一つの実施形態のフロー400を示す
図4を参照する。このデータ要求を処理するための方法のフロー400は、次のステップ(ステップ401~ステップ408)を含む。
【0084】
ステップ401では、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報を受信する。
【0085】
ステップ402では、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得する。
【0086】
ステップ403では、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得する。
【0087】
ステップ404では、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックする。
【0088】
上述したステップ401、ステップ402、ステップ403、ステップ404は、それぞれ
図2に示す実施形態のステップ201、ステップ202、ステップ203、およびステップ204と同様の方法で実行することができる。上述したステップ201、ステップ202、ステップ203、ステップ204の説明は、ステップ401、ステップ402、ステップ403、ステップ404にも適用され、ここではそれらの説明を省略する。
【0089】
ステップ405では、現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求及び提出要求の署名情報を受信する。
【0090】
本実施形態では、データ要求を処理するための方法の実行主体(
図1に示すノード101、102、103)は、現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求及び提出要求の署名情報を受信することができる。
【0091】
現在のブロックチェーンには、第2のノードのプロキシノードが存在する。ステップ201で説明した内容と同様に、第2のノードのプロキシノードは、上述した実行主体であってもよいし、現在のブロックチェーンにおける他のノードであってもよい。第2のノードのプロキシノードは、予め第2のノードとプロキシ関係を確立しているノードであってもよい。実際には、第2のノードは、プロキシ関係を確立する要求を現在のブロックチェーンにおけるノードに送信し、現在のブロックチェーンにおけるノードが当該要求を受け取った場合に現在のブロックチェーンにおけるノードとのプロキシ関係を確立することができる。
【0092】
提出要求は、提出内容と、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号を含んでもよい。ここで、提出内容は、第2のノードが現在のブロックチェーンにおいてクエリする必要のある内容であってもよい。提出要求の署名情報は、第2のノードが提出要求に秘密鍵を用いて署名した署名情報であってもよい。
【0093】
なお、ここで、他のブロックチェーンは、ステップ201で述べた他のブロックチェーンと同じブロックチェーンであってもよいし、異なるブロックチェーンであってもよい。第2のノードは、第1のノードと同一のノードであってもよいし、異なるノードであってもよい。なお、上記実行主体は、ステップ401とステップ405を順次実行してもよいし、ステップ401とステップ405を並行して実行してもよい。
【0094】
本実施形態のいくつかのオプション的な実施形態において、第2のノードのプロキシノードは、ステップT1~ステップT4に示す方法を実行することによって、第2のノードとプロキシ関係を確立することができる。
【0095】
ステップT1では、受信した、第2のノードによって送信された第2のデジタル証明書を、第2のデジタル証明書が示す認証プラットフォームに送信し、認証プラットフォームは第2のデジタル証明書を認証する。
【0096】
第2のデジタル証明書は、第2のノードの認証情報と、第2のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含んでもよい。第2のノードの認証情報は、例えば、第2のノードの公開鍵を含んでもよく、さらに例えば、第2のノードの名称、番号等を含んでもよい。
【0097】
ステップT2では、認証プラットフォームからフィードバックされた認証結果が、第2のデジタル証明書が認証に合格したことを示すことに応答して、第2のノードの公開鍵に秘密鍵を用いて署名し、第2のノードの公開鍵の署名情報を得る。
【0098】
ステップT3では、第2のノードの公開鍵の署名情報と第2のノードの公開鍵とを第3の提出データとして現在のブロックチェーンに提出し、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第3の提出データを現在のブロックチェーンに格納するようにする。
【0099】
ステップT4では、現在のブロックチェーンにおける第3の提出データの格納番号に基づいて、プロキシ結果を第2のノードにフィードバックする。
【0100】
なお、第2のノードのプロキシノードがステップT1~ステップT4を実行する方式は、第1のノードのプロキシノードがステップS1~ステップS4を実行する方式と同様であるので、それらの説明を省略する。
【0101】
これらの実施形態では、第2のノードのプロキシノードは、認証プラットフォームによる第2のノードの認証情報の認証に合格した後に、第2のノードとのプロキシ関係を確立することができ、第2のノードの安全性を確保しながら第2のノードとのプロキシ関係を確立することができる。
【0102】
本実施形態のいくつかのオプション的な実施形態において、第2のノードのプロキシノードは次のようにステップT4を実行することができる。
【0103】
まず、第2のノードのプロキシノードは、その秘密鍵を用いて、現在のブロックチェーンにおける第3の提出データの格納番号に署名し、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報を得ることができる。
【0104】
そして、第2のノードのプロキシノードは、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第3の提出データの格納番号と、その公開鍵とをプロキシ結果として、第2のノードにフィードバックすることができる。
【0105】
これらの実施形態では、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報と、第2のノードのプロキシノードの公開鍵とをプロキシ結果に追加することにより、第2のノードへのフィードバック中に、現在のブロックチェーンにおける第3の提出データの格納番号が改竄されることを防止することができる。
【0106】
ステップ406では、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードの公開鍵を取得する。
【0107】
本実施形態では、上記実行主体は、第2のノードから送信された提出要求及び提出要求の署名情報を受信した後、提出要求に含まれた、現在のブロックチェーンにおける第2のノードの公開鍵の現在のブロックチェーンにおける格納番号に基づいて、現在のブロックチェーンから第2のノードの公開鍵を取得することができる。
【0108】
ステップ407では、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノートが、第2のノードのプロキシノードであることに応答して、提出要求と提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して第2の提出データに署名して第2の提出データの署名情報を取得する。
【0109】
本実施形態では、上記実行主体はさらに、第2のノードの公開鍵を取得した後、現在のブロックチェーンにおいて第2のノードから送信された提出要求を受信したノードが第2のノードのプロキシノードであるか否かを判断することができ、すなわち、上記実行主体自体が第2のノードのプロキシノードであるか否かを判断することができる。実際に、上記実行主体は、現在のブロックチェーンに記憶されている第2のノードのプロキシノードの情報に基づいて、上記実行主体自体が第2のノードのプロキシノードであるか否かを判断することができる。
【0110】
本実施形態では、上記実行主体は、第2のノードのプロキシノードであると判定した後に、提出要求及び提出要求の署名情報を第2の提出データとして用いることができる。まず、上記実行主体は、その秘密鍵を用いて、得られた第2の提出データに署名し、第2の提出データの署名情報を得ることができる。
【0111】
本実施形態のいくつかのオプション的な実施形態において、上記実行主体は、次のようにステップ407を実行することができる。
【0112】
まず、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが第2のノードのプロキシノードであることと、提出要求の署名情報が第2のノードの公開鍵による検証に合格したこととに応答して、上記実行主体は、提出内容に異常があるか否かを判断することができる。
【0113】
具体的には、上記実行主体は、第2のノードの公開鍵を取得した後、自体が第2のノードのプロキシノードであるか否かを判断するだけでなく、第2のノードの公開鍵を用いて提出要求の署名情報を検証することができる。上記実行主体は、第2のノードのプロキシノードであると判断し、提出要求の署名情報が検証に合格した後に、提出要求に含まれた提出内容に異常があるか否かをさらに判断してもよい。ここで、提出内容に異常があることとは、提出内容が現在のブロックチェーンに悪影響(例えば、デッドループ)を及ぼすことがあることを意味する。
【0114】
次に、提出内容に異常がないことに応答して、上記実行主体は、提出要求及び提出要求の署名情報を第2の提出データとし、秘密鍵を用いて第2の提出データに署名して、第2の提出データの署名情報を得ることができる。
【0115】
具体的には、上記実行主体は、提出内容に異常がないと判定されたことに応答して、提出要求及び提出要求の署名情報を第2の提出データとし、その秘密鍵を用いて第2の提出データに署名して、第2の提出データの署名情報を得ることができる。
【0116】
これらの実施態様では、提出内容に異常がないと判定された後、第2の提出データに署名することにより、第2のノードが現在のブロックチェーンに提出するデータが、現在のブロックチェーンの動作に影響を与えないことを確保することができる。
【0117】
ステップ408では、第2の提出データの署名情報と第2の提出データを現在のブロックチェーンに送信し、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって提出内容の処理結果を現在のブロックチェーンに格納するようにする。
【0118】
本実施形態では、上記実行主体は、第2の提出データの署名情報及び第2の提出データを現在のブロックチェーンに提出した後、現在のブロックチェーンにおけるノードが、提出要求における提出内容を次のように処理して処理結果を得ることができる。
【0119】
まず、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードのプロキシノードの公開鍵と第2のノードの公開鍵とを取得することができる。
【0120】
そして、第2の提出データの署名情報が第2のノードのプロキシノードの公開鍵による検証に合格したことと、提出要求の署名情報が第2のノードの公開鍵による検証に合格したこととに応答して、現在のブロックチェーンにおけるノードは提出内容を処理して処理結果を得ることができる。
【0121】
一例として、提出内容は、「Aの口座残高が1000、Bの口座残高が500、AからBへの振替額が300」であり得、現在のブロックチェーンにおけるノードによる提出内容の処理は、振替後のAおよびBの口座残高を確定することであり得、得られた処理結果は、「Aの口座残高が700、Bの口座残高が800」であり得る。
【0122】
また、本実施形態では、現在のブロックチェーンにおけるノードは、現在のブロックチェーンが採用するコンセンサスメカニズムによって、得られた処理結果を現在のブロックチェーンに記憶することもできる。
【0123】
本実施形態のいくつかのオプション的な実施形態において、ステップ408の後に、上記実行主体は、現在のブロックチェーンにおける処理結果の格納番号に基づいて、第2のノードに提出結果をフィードバックしてもよい。
【0124】
具体的には、上記実行主体は、現在のブロックチェーンにおける処理結果の格納番号を提出結果として第2のノードにフィードバックしてもよい。現在のブロックチェーンにおける処理結果の格納番号を提出結果として第2のノードにフィードバックし、一方では、現在のブロックチェーンにおけるデータの提出を完了したことを第2のノードに通知し、他方では、第2のノードは、受信した格納番号に基づいて、現在のブロックチェーンにおいて提出されたデータをクエリすることができることを理解されたい。
【0125】
本実施形態のいくつかのオプション的な実施形態において、上記実行主体は、次のように第2のノードに提出結果をフィードバックしてもよい。
【0126】
まず、上記実行主体は、処理結果の現在のブロックチェーンにおける格納番号に秘密鍵を用いて署名し、処理結果の現在のブロックチェーンにおける格納番号の署名情報を得ることができる。
【0127】
そして、上記実行主体は、現在のブロックチェーンにおける処理結果の格納番号の署名情報と、現在のブロックチェーンにおける処理結果の格納番号と、その公開鍵とを、提出結果として第2のノードにフィードバックしてもよい。
【0128】
これらの実施形態では、現在のブロックチェーンにおける処理結果の格納番号の署名情報と、上記実行主体の公開鍵とを提出結果に追加することにより、第2のノードへのフィードバック中に、現在のブロックチェーンにおける処理結果の格納番号が改竄されることを防止することができる。
【0129】
図4から分かるように、本実施形態のデータ要求を処理するための方法のフロー400は、現在のブロックチェーンにおいて他のブロックチェーンにおける第2のノードのプロキシノードが存在し、上記実行主体は、それ自体が第2のノードのプロキシノードであると判定した後、第2のノードから送信された提出要求及び提出要求の署名情報を第2の提出データとし、その秘密鍵を用いて第2の提出データに署名して第2の提出データの署名情報を取得し、第2の提出データ及び第2の提出データの署名情報を現在のブロックチェーンに提出することにより、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムを用いて、提出要求に含まれた提出内容の処理結果を現在のブロックチェーンに記憶する。これにより、第三者の公証役場やサイドチェーン(またはリレーチェーン)を導入することなく、他のブロックチェーンにおける第2のノードは、現在のブロックチェーンにデータを記憶することを実現でき、すなわち、ブロックチェーンに記憶されているデータが漏洩する危険性および障害点を増加させることなく、ブロックチェーン同士を跨いでデータを記憶することができる。
【0130】
更に
図5を参照すると、上記の各図に示された方法の実施態様として、本出願は、データ要求を処理するための装置の一実施形態を提供し、該装置の実施形態は、
図2に示された方法の実施形態に対応しており、該装置は、具体的に様々な電子機器に適用することができる。
【0131】
図5に示すように、本実施形態に係るデータ要求を処理するための装置500は、第1受信ユニット501と、第1取得ユニット502と、第2取得ユニット503と、第1のフィードバックユニット504とを備える。第1の受信ユニット501は、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報とを受信するように構成され、現在のブロックチェーンにおいて第1のノードのプロキシノードがあり、クエリ要求はクエリ内容と現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含む。第1の取得ユニット502は、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得するように構成されていてもよい。第2の取得ユニット503は、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格したことに応答し、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するように構成されていてもよい。第1のフィードバックユニット504は、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするように構成されてもよい。
【0132】
本実施形態において、データ要求を処理するための装置500では、第1の受信ユニット501、第1の取得ユニット502、第2の取得ユニット503および第1のフィードバックユニット504の具体的な処理及びそれらの技術効果は、それぞれ
図2の対応する実施形態におけるステップ201、ステップ202、ステップ203及びステップ204の関連する説明を参照することができ、ここではその説明を省略する。
【0133】
本実施形態のいくつかのオプション的な実施形態において、第2の取得ユニット503は、さらに、クエリ要求の署名情報が第1のノードの公開鍵の検証に合格したことに応答して、第1のノードのプロキシノードがクエリ内容のクエリ権限を有するか否かを判断し、第1のノードのプロキシノードがクエリ内容のクエリ権限を有していることに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するように構成されていてもよい。
【0134】
本実施形態のいくつかのオプション的な実施形態において、第1のフィードバックユニット504は、さらに、秘密鍵を用いてクエリデータに署名し、クエリデータの署名情報を得、クエリデータの署名情報と、クエリデータと、公開鍵とを、クエリ結果として第1のノードにフィードバックするように構成されてもよい。
【0135】
本実施形態のいくつかのオプション的な実施形態において、第1のノードのプロキシノードと第1のノードとのプロキシ関係は、受信した、第1のノードから送信された第1のデジタル証明書を、第1のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第1のデジタル証明書を認証させるようにするステップであって、第1のデジタル証明書は、前記第1のノードの認証情報と、第1のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第1のノードの認証情報は、第1のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第1のデジタル証明書が認証に合格したことを示すことに応答して、第1のノードの公開鍵に秘密鍵を用いて署名し、第1のノードの公開鍵の署名情報を得るステップと、第1のノードの公開鍵の署名情報と第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第1の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第1の提出データの格納番号に基づいて、プロキシ結果を第1のノードにフィードバックするステップと、を実行することにより、確立される。
【0136】
本実施形態のいくつかのオプション的な実施形態において、前記の、プロキシ結果を第1のノードにフィードバックするステップは、現在のブロックチェーンにおける第1の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報を取得し、現在のブロックチェーンにおける第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第1の提出データの格納番号と、公開鍵とをプロキシ結果として第1のノードにフィードバックすることにより、行われる。
【0137】
本実施形態のいくつかのオプション的な実施形態において、上記装置500はさらに、第2の受信ユニット(図示せず)と、第3の取得ユニット(図示せず)と、署名ユニット(図示せず)と、提出ユニット(図示せず)とを含んでいてもよい。第2の受信ユニットは、現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求と、提出要求の署名情報とを受信するように構成され、現在のブロックチェーンにおいて第2のノードのプロキシノードがあり、提出要求は提出内容と、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号とを含む。第3の取得ユニットは、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードの公開鍵を取得するように構成されていてもよい。署名ユニットは、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノートが、第2のノードのプロキシノードであることに応答して、提出要求と提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して第2の提出データに署名して第2の提出データの署名情報を取得するように構成されてもよい。提出ユニットは、第2の提出データの署名情報及び第2の提出データを現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムにより提出内容の処理結果を現在のブロックチェーンに格納するように構成されてもよく、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第2のノードのプロキシノードの公開鍵及び第2のノードの公開鍵を取得することと、第2の提出データの署名情報が第2のノードのプロキシノードの公開鍵による検証に合格し、提出要求の署名情報が第2のノードの公開鍵の検証に合格したことに応答して、提出内容を処理して処理結果を得ることと、によって提出内容を処理する。
【0138】
本実施形態のいくつかのオプション的な実施形態において、前記装置500は、第2のフィードバックユニット(図示せず)を更に含んでもよい。第2のフィードバックユニットは、現在のブロックチェーンにおける処理結果の格納番号に基づいて、第2のノードに提出結果をフィードバックするように構成されてもよい。
【0139】
本実施形態のいくつかのオプション的な実施形態において、署名ユニットは、現在のブロックチェーンにおける、第2のノードから送信された提出要求を受信したノードが、第2のノードのプロキシノードであることと、提出要求の署名情報が第2のノードの公開鍵の検証に合格したこととに応答して、提出内容に異常があるか否かを判断し、提出内容に異常がないことに応答して、提出要求及び提出要求の署名情報を第2の提出データとし、秘密鍵を用いて第2の提出データに署名して、第2の提出データの署名情報を得るように構成されてもよい。
【0140】
本実施形態のいくつかのオプション的な実施形態において、第2のフィードバックユニットは、さらに現在のブロックチェーンにおける処理結果の格納番号に秘密鍵を用いて署名し、現在のブロックチェーンにおける処理結果の格納番号の署名情報を得、現在のブロックチェーンにおける処理結果の格納番号の署名情報と、現在のブロックチェーンにおける処理結果の格納番号と、公開鍵とを、提出結果として第2のノードにフィードバックするように構成されてもよい。
【0141】
本実施形態のいくつかのオプション的な実施形態において、第2のノードのプロキシノードと第2のノードとの間のプロキシ関係は、受信した、第2のノードから送信された第2のデジタル証明書を、第2のデジタル証明書が示す認証プラットフォームに送信して、認証プラットフォームに第2のデジタル証明書を認証させるステップであって、第2のデジタル証明書は、第2のノードの認証情報と、第2のノードの認証情報の署名情報と、認証プラットフォームの公開鍵とを含み、第2のノードの認証情報は、第2のノードの公開鍵を含むステップと、認証プラットフォームからフィードバックされた認証結果が、第2のデジタル証明書が認証に合格したことを示すことに応答して、第2のノードの公開鍵に秘密鍵を用いて署名し、第2のノードの公開鍵の署名情報を得るステップと、第2のノードの公開鍵の署名情報と第2のノードの公開鍵とを、第3の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって第3の提出データを現在のブロックチェーンに格納するようにするステップと、現在のブロックチェーンにおける第3の提出データの格納番号に基づいて、プロキシ結果を第2のノードにフィードバックするステップと、を実行することにより、確立される。
【0142】
本実施形態のいくつかのオプション的な実施形態において、前記の、プロキシ結果を第2のノードにフィードバックするステップは、現在のブロックチェーンにおける第3の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報を取得し、現在のブロックチェーンにおける第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける第3の提出データの格納番号と、公開鍵とをプロキシ結果として第2のノードにフィードバックすることにより行われる。
【0143】
本出願の第1の実施形態に係る装置は、まず、第1の受信ユニット501により、現在のブロックチェーン以外のブロックチェーンにおける第1のノードから送信されたクエリ要求及びクエリ要求の署名情報を受信し、次に、第1の取得ユニット502により、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得し、次に、第2の取得ユニット502により、クエリ要求の署名情報が第1のノードの公開鍵による検証に合格した後、現在のブロックチェーンからクエリ内容が示すクエリデータを取得し、最後に、第1のフィードバックユニット504により、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックする。これにより、第三者の公証役場やサイドチェーン(またはリレーチェーン)を導入することなく、他のブロックチェーンにおける第1のノードが現在のブロックチェーンにおいてデータをクエリすること、すなわち、ブロックチェーンに格納されているデータが漏洩する危険性が低く、障害箇所を増やすことなく、データのクロスチェーンクエリを行うことができる。
【0144】
以下、本出願の実施形態を実現するために適用される電子機器(例えば、
図1に示すノード101、102、103)600を示す構造概略図である
図6を参照する。
図6に示す電子機器は、あくまでも一例に過ぎず、本出願の実施形態の機能および使用範囲には如何なる制限をも与えない。
【0145】
図6に示すように、電子機器600は、読み出し専用メモリ(ROM)602に格納されているプログラムまたは記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムによって様々な適当な動作および処理を実行可能な処理装置(例えば、中央処理装置、グラフィックスプロセッサなど)601を含んでもよい。RAM603には、電子機器600の動作に必要な様々なプログラムおよびデータが更に格納されている。処理装置601、ROM602およびRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
【0146】
通常、例えば、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロホン、加速度計、ジャイロスコープなどを含む入力装置606、液晶ディスプレイ(LCD)、スピーカ、振動子などを含む出力装置607、例えば、磁気テープ、ハードディスクなどを含む記憶装置608、および通信装置609がI/Oインターフェース605に接続されてもよい。通信装置609により、電子機器600は、データを交換するために他のデバイスと無線または有線で通信可能になる。
図6は、様々な装置を有する電子機器600を示しているが、図示された装置のすべてを実装または具備することが要求されないことを理解すべきである。代替的にまたはより多いまたはより少ない装置が実装されてもよい。
図6に示す各ブロックは、1つの装置を表すことも、必要に応答して複数の装置を表すこともできる。
【0147】
特に、本出願の実施形態によれば、上述したフローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実装されてもよい。例えば、本出願の実施形態は、コンピュータ可読媒体に具現化されるコンピュータプログラムを含むコンピュータプログラム製品を備え、該コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施形態では、該コンピュータプログラムは、通信装置609を介してネットワークからダウンロードされてインストールされることが可能であり、または記憶装置608またはROM602からインストールされ得る。該コンピュータプログラムが処理装置601によって実行されると、本出願の実施形態の方法で限定された前記機能を実行する。なお、本出願の実施形態に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体、またはこれらの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁気的、赤外線、または半導体のシステム、装置もしくはデバイス、またはこれらの任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、1本または複数本の導線により電気的に接続された、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、光メモリ、磁気メモリ、またはこれらの任意の適切な組み合わせを含むことができるが、これらに限定されない。本出願の実施形態において、コンピュータ可読記憶媒体は、指令実行システム、装置もしくはデバイスによって使用可能な、またはそれらに組み込まれて使用可能なプログラムを包含または格納する任意の有形の媒体であってもよい。本出願の実施形態において、コンピュータ可読信号媒体は、ベースバンドにおける、または搬送波の一部として伝搬されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが担持されている。かかる伝搬されたデータ信号は、様々な形態をとることができ、電磁信号、光信号、またはこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ可読信号媒体は、更にコンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。該コンピュータ可読信号媒体は、指令実行システム、装置もしくはデバイスによって使用されるか、またはそれらに組み込まれて使用されるプログラムを、送信、伝搬または伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは任意の適切な媒体で伝送することができ、当該任意の適切な媒体とは、電線、光ケーブル、RF(無線周波数)など、またはこれらの任意の適切な組み合わせを含むが、これらに限定されない。
【0148】
前記コンピュータ可読媒体は、前記電子機器に含まれるものであってもよく、該電子機器に実装されずに別体として存在するものであってもよい。前記コンピュータ可読媒体は、1つまたは複数のプログラムを担持しており、上記1つまたは複数のプログラムが当該電子機器により実行されるとき、当該電子機器に、現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、クエリ要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて第1のノードのプロキシノードがあり、クエリ要求はクエリ内容と現在のブロックチェーンにおける第1のノードの公開鍵の格納番号とを含む、ステップと、現在のブロックチェーンにおける第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから第1のノードの公開鍵を取得するステップと、クエリ要求の署名情報が第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンからクエリ内容が示すクエリデータを取得するステップと、クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするステップと、を行うようにする。
【0149】
本出願の実施形態の動作を実行するためのコンピュータプログラムコードは、1種以上のプログラミング言語、又はそれらの組み合わせで作成されることができ、前記プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む。プログラムコードは、完全にユーザのコンピュータで実行されることも、部分的にユーザのコンピュータで実行されることも、単独のソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータで実行されながら部分的にリモートコンピュータで実行されることも、または完全にリモートコンピュータもしくはサーバで実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続することができ、または(例えば、インターネットサービスプロバイダによるインターネットサービスを介して)外部コンピュータに接続することができる。
【0150】
図面のうちのフローチャートおよびブロック図は、本出願の様々な実施形態に係るシステム、方法およびコンピュータプログラムによって実現できるアーキテクチャ、機能および動作の表示例である。これについては、フローチャートまたはブロック図における各ブロックは、モジュール、プログラムセグメント、またはコードの一部を表すことができる。当該モジュール、プログラムセグメント、またはコードの一部には、所定のロジック機能を実現するための1つまたは複数の実行可能な指令が含まれている。なお、一部の代替となる実施態様においては、ブロックに示されている機能は図面に示されているものとは異なる順序で実行することも可能である。例えば、連続して示された2つのブロックは、実際には係る機能に応答して、ほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。なお、ブロック図および/またはフローチャートにおけるすべてのブロック、ならびにブロック図および/またはフローチャートにおけるブロックの組み合わせは、所定の機能または動作を実行する専用のハードウェアベースのシステムで実装されてもよく、または専用のハードウェアとコンピュータ指令との組み合わせで実装されてもよい。
【0151】
本出願の実施形態に記載されたユニットは、ソフトウェアで実装されてもよく、ハードウェアで実装されてもよい。記載されたユニットは、プロセッサに設置されてもよく、例えば、「第1の受信ユニットと、第1の取得ユニットと、第2の取得ユニットと、第1のフィードバックユニットとを備えるプロセッサ」と記載されてもよい。その中でも、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではなく、例えば、第1のフィードバックユニットは、「クエリデータに基づいて、クエリ結果を第1のノードにフィードバックするためのユニット」として記載されてもよい。
【0152】
以上の記載は、本出願の好ましい実施形態、および適用される技術的原理に関する説明に過ぎない。当業者であれば、本出願に係る発明の範囲が、前記の技術的特徴の特定の組み合わせからなる技術案に限定されるものではなく、前記の本出願の趣旨を逸脱しない範囲で、前記の技術的特徴またはそれらの同等の特徴の任意の組み合わせからなる他の技術案も含むべきであることを理解すべきである。例えば、上記の特徴と、本出願に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。
【手続補正書】
【提出日】2022-01-21
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正の内容】
【0002】
本出願の実施形態は、コンピュータ技術分野に関し、具体的にデータ要求を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラムに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正の内容】
【0005】
本出願の実施形態は、データ要求を処理するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラムを提供する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正の内容】
【0028】
第3の態様では、本出願の実施形態は、1つまたは複数のプロセッサと、1つまたは複数のコンピュータプログラムが格納されている記憶装置と、を備える電子機器であって、1つまたは複数のコンピュータプログラムが1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに第1態様のいずれかの実施形態に記載の方法を実現する、電子機器を提供する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正の内容】
【0029】
第4の態様では、本出願の実施形態は、コンピュータプログラムが格納されているコンピュータ可読記憶媒体であって、該コンピュータプログラムがプロセッサによって実行されると、第1態様のいずれかの実施形態に記載の方法を実現する、コンピュータ可読記憶媒体を提供する。
第5の態様では、本出願の実施形態は、プロセッサによって実行されると、第1態様のいずれかの実施形態に記載の方法を実現する、コンピュータプログラムを提供する。
【手続補正6】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ要求を処理するための方法であって、
現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、前記クエリ要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて前記第1のノードのプロキシノードがあり、前記クエリ要求はクエリ内容と現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号とを含む、ステップと、
現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得するステップと、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップと、
前記クエリデータに基づいて、クエリ結果を前記第1のノードにフィードバックするステップと、を含むデータ要求を処理するための方法。
【請求項2】
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップは、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、前記第1のノードのプロキシノードが前記クエリ内容のクエリ権限を有するか否かを判断するステップと、
前記第1のノードのプロキシノードが前記クエリ内容のクエリ権限を有していることに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するステップと、を含む請求項1に記載の方法。
【請求項3】
前記クエリデータに基づいて、前記クエリ結果を前記第1のノードにフィードバックするステップは、
秘密鍵を用いて前記クエリデータに署名し、前記クエリデータの署名情報を得るステップと、
前記クエリデータの署名情報と、前記クエリデータと、前記第1のノードのプロキシノードの公開鍵とを、前記クエリ結果として前記第1のノードにフィードバックするステップと、を含む請求項1に記載の方法。
【請求項4】
前記第1のノードのプロキシノードは、
受信した、前記第1のノードから送信された第1のデジタル証明書を、前記第1のデジタル証明書が示す認証プラットフォームに送信して、前記認証プラットフォームに前記第1のデジタル証明書を認証させるステップであって、前記第1のデジタル証明書は、前記第1のノードの認証情報と、前記第1のノードの認証情報の署名情報と、前記認証プラットフォームの公開鍵とを含み、前記第1のノードの認証情報は、前記第1のノードの公開鍵を含むステップと、
前記認証プラットフォームからフィードバックされた認証結果が、前記第1のデジタル証明書が認証に合格したことを示すことに応答して、前記第1のノードの公開鍵に秘密鍵を用いて署名し、前記第1のノードの公開鍵の署名情報を得るステップと、
前記第1のノードの公開鍵の署名情報と前記第1のノードの公開鍵とを、第1の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって前記第1の提出データを現在のブロックチェーンに格納するようにするステップと、
現在のブロックチェーンにおける前記第1の提出データの格納番号に基づいて、プロキシ結果を前記第1のノードにフィードバックするステップと、
を実行することにより、前記第1のノードとのプロキシ関係を確立する、請求項1に記載の方法。
【請求項5】
前記現在のブロックチェーンにおける前記第1の提出データの格納番号に基づいて、プロキシ結果を前記第1のノードにフィードバックするステップは、
現在のブロックチェーンにおける前記第1の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける前記第1の提出データの格納番号の署名情報を取得するステップと、
現在のブロックチェーンにおける前記第1の提出データの格納番号の署名情報と、現在のブロックチェーンにおける前記第1の提出データの格納番号と、前記第1のノードのプロキシノードの公開鍵とを、プロキシ結果として前記第1のノードにフィードバックするステップと、を含む請求項4に記載の方法。
【請求項6】
現在のブロックチェーン以外の他のブロックチェーンにおける第2のノードから送信された提出要求と、前記提出要求の署名情報とを受信するステップであって、現在のブロックチェーンにおいて前記第2のノードのプロキシノードがあり、前記提出要求は提出内容と現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号とを含む、ステップと、
現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第2のノードの公開鍵を取得するステップと、
現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることに応答して、前記提出要求と前記提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して前記第2の提出データに署名して前記第2の提出データの署名情報を取得するステップと、
前記第2の提出データの署名情報及び前記第2の提出データを現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムにより前記提出内容の処理結果を現在のブロックチェーンに格納するステップであって、現在のブロックチェーンにおけるノードは、現在のブロックチェーンにおける前記第2のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第2のノードのプロキシノードの公開鍵及び前記第2のノードの公開鍵を取得することと、前記第2の提出データの署名情報が前記第2のノードのプロキシノードの公開鍵の検証に合格し、前記提出要求の署名情報が前記第2のノードの公開鍵の検証に合格したことに応答して、前記提出内容を処理して前記処理結果を得ることと、によって前記提出内容を処理するステップと、
をさらに含む請求項1~5のいずれか1項に記載の方法。
【請求項7】
現在のブロックチェーンにおける前記処理結果の格納番号に基づいて、前記第2のノードに提出結果をフィードバックするステップをさらに含む請求項6に記載の方法。
【請求項8】
前記現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることに応答して、前記提出要求と前記提出要求の署名情報とを第2の提出データとし、秘密鍵を使用して前記第2の提出データに署名して前記第2の提出データの署名情報を取得するステップは、
現在のブロックチェーンにおける、前記第2のノードから送信された提出要求を受信したノードが、前記第2のノードのプロキシノードであることと、前記提出要求の署名情報が前記第2のノードの公開鍵の検証に合格したこととに応答して、前記提出内容に異常があるか否かを判断するステップと、
前記提出内容に異常がないことに応答して、前記提出要求及び前記提出要求の署名情報を第2の提出データとし、秘密鍵を用いて前記第2の提出データに署名して、前記第2の提出データの署名情報を得るステップと、を含む請求項6に記載の方法。
【請求項9】
前記現在のブロックチェーンにおける前記処理結果の格納番号に基づいて、前記第2のノードに提出結果をフィードバックするステップは、
現在のブロックチェーンにおける前記処理結果の格納番号に秘密鍵を用いて署名し、現在のブロックチェーンにおける前記処理結果の格納番号の署名情報を得るステップと、
現在のブロックチェーンにおける前記処理結果の格納番号の署名情報と、現在のブロックチェーンにおける前記処理結果の格納番号と、前記第2のノードのプロキシノードの公開鍵とを、提出結果として前記第2のノードにフィードバックするステップと、を含む請求項7に記載の方法。
【請求項10】
前記第2のノードのプロキシノードは、
受信した、前記第2のノードから送信された第2のデジタル証明書を、前記第2のデジタル証明書が示す認証プラットフォームに送信して、前記認証プラットフォームに前記第2のデジタル証明書を認証させるステップであって、前記第2のデジタル証明書は、前記第2のノードの認証情報と、前記第2のノードの認証情報の署名情報と、前記認証プラットフォームの公開鍵とを含み、前記第2のノードの認証情報は、前記第2のノードの公開鍵を含むステップと、
前記認証プラットフォームからフィードバックされた認証結果が、前記第2のデジタル証明書が認証に合格したことを示すことに応答して、前記第2のノードの公開鍵に秘密鍵を用いて署名し、前記第2のノードの公開鍵の署名情報を得るステップと、
前記第2のノードの公開鍵の署名情報と前記第2のノードの公開鍵とを、第3の提出データとして現在のブロックチェーンに提出して、現在のブロックチェーンにおけるノードが、採用したコンセンサスメカニズムによって前記第3の提出データを現在のブロックチェーンに格納するようにするステップと、
現在のブロックチェーンにおける前記第3の提出データの格納番号に基づいて、プロキシ結果を前記第2のノードにフィードバックするステップと、
を実行することにより、前記第2のノードとのプロキシ関係を確立する、請求項6に記載の方法。
【請求項11】
前記現在のブロックチェーンにおける前記第3の提出データの格納番号に基づいて、プロキシ結果を前記第2のノードにフィードバックするステップは、
現在のブロックチェーンにおける前記第3の提出データの格納番号に秘密鍵を用いて署名して、現在のブロックチェーンにおける前記第3の提出データの格納番号の署名情報を取得するステップと、
現在のブロックチェーンにおける前記第3の提出データの格納番号の署名情報と、現在のブロックチェーンにおける前記第3の提出データの格納番号と、前記第2のノードのプロキシノードの公開鍵とを、プロキシ結果として前記第2のノードにフィードバックするステップと、を含む請求項10に記載の方法。
【請求項12】
現在のブロックチェーン以外の他のブロックチェーンにおける第1のノードから送信されたクエリ要求と、前記クエリ要求の署名情報とを受信するように構成される第1の受信ユニットであって、現在のブロックチェーンにおいて前記第1のノードのプロキシノードがあり、前記クエリ要求はクエリ内容と現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号とを含む、第1の受信ユニットと、
現在のブロックチェーンにおける前記第1のノードの公開鍵の格納番号に基づいて、現在のブロックチェーンから前記第1のノードの公開鍵を取得するように構成される第1の取得ユニットと、
前記クエリ要求の署名情報が前記第1のノードの公開鍵の検証に合格したことに応答して、現在のブロックチェーンから前記クエリ内容が示すクエリデータを取得するように構成される第2の取得ユニットと、
前記クエリデータに基づいて、クエリ結果を前記第1のノードにフィードバックするように構成される第1のフィードバックユニットと、
を備えるデータ要求を処理するための装置。
【請求項13】
1つまたは複数のプロセッサと、1つまたは複数の
コンピュータプログラムが格納されている記憶装置と、を備える電子機器であって、
前記1つまたは複数の
コンピュータプログラムが前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1~11のいずれか1項に記載の方法を実現する、電子機器。
【請求項14】
コンピュータプログラムが格納されているコンピュータ可読
記憶媒体であって、
当該
コンピュータプログラムがプロセッサによって実行されると、請求項1~11のいずれか1項に記載の方法を実現する、コンピュータ可読
記憶媒体。
【請求項15】
プロセッサによって実行されると、請求項1~11のいずれか1項に記載の方法を実現する、コンピュータプログラム。
【国際調査報告】