(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-28
(45)【発行日】2022-07-06
(54)【発明の名称】ブロックチェーンネットワークに基づくデータ共有方法、装置、機器及び媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20220629BHJP
G16H 10/00 20180101ALI20220629BHJP
【FI】
H04L9/32 200Z
G16H10/00
(21)【出願番号】P 2021029875
(22)【出願日】2021-02-26
【審査請求日】2021-02-26
(31)【優先権主張番号】202010119729.6
(32)【優先日】2020-02-26
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ファン, ウェイ
(72)【発明者】
【氏名】ワン, ユーカオ
(72)【発明者】
【氏名】ユー, ヤーナン
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2020-010267(JP,A)
【文献】国際公開第2019/085699(WO,A2)
【文献】国際公開第2019/101226(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G16H 10/00
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンネットワーク内のノードによって実行されるブロックチェーンネットワークに基づくデータ共有方法であって、前記方法は、
データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶するステップと、
共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップと、
前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するステップと、を含むことを特徴とする、データ共有方法。
【請求項2】
前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するステップは、
ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記共有証明書をチェーンにアップロードして記憶した後、ターゲット機関から送信された前記共有証明書を含むデータ取得トランザクションリクエストに応答する前に、
前記ターゲット機関が前記処理対象キュー内の共有証明書記憶識別子に応じて共有証明書を取得するように、前記共有証明書記憶識別子をターゲット機関の処理対象キューに送信するステップを含むことを特徴とする、請求項2に記載の方法。
【請求項4】
ターゲット機関から開始されたキューアクセストランザクションリクエストに応答し、キューアクセススマートコントラクトを呼び出して前記ターゲット機関の処理対象キューから共有証明書記憶識別子を取得するステップと、
前記共有証明書記憶識別子に応じて共有証明書を取得して前記ターゲット機関にフィードバックするステップと、をさらに含むことを特徴とする、請求項3に記載の方法。
【請求項5】
前記共有証明書には前記ターゲットデータのデジタル要約が含まれ、
前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、
前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを検索するステップと、
前記デジタル要約に基づいて、検索して見つけられたターゲットデータを検証するステップと、
検証に合格した場合、前記ターゲットデータを取得してターゲット機関にフィードバックするステップと、を含むことを特徴とする、請求項2に記載の方法。
【請求項6】
前記共有証明書をチェーンにアップロードして記憶するステップは、
前記共有証明書を前記ソース機関に送信して、前記ソース機関が独自の秘密鍵で前記共有証明書に署名するステップと、
ソース機関から共有証明書のデジタル署名を取得し、前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶するステップと、を含み、
前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、
前記共有証明書のソース機関識別子に応じて、前記ソース機関のデジタル署名を検証するステップと、
検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップと、を含むことを特徴とする、請求項2に記載の方法。
【請求項7】
前記ターゲットデータをチェーンにアップロードして記憶するステップは、
前記共有スマートコントラクトのデータ記憶インタフェースを呼び出し、前記ターゲットデータをチェーンにアップロードして記憶するステップを含み、
共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップは、
前記共有スマートコントラクトの共有証明書生成インタフェースを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップを含むことを特徴とする、請求項1に記載の方法。
【請求項8】
前記ターゲットデータは、データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化することで得られることを特徴とする、請求項1に記載の方法。
【請求項9】
前記機関は病院であり、前記データプロバイダのターゲットデータは患者の診断及び治療データであり、前記共有証明書は病院移送証明書であることを特徴とする、請求項1から8のいずれかに記載の方法。
【請求項10】
ソース機関機器によって実行されるブロックチェーンネットワークに基づくデータ共有方法であって、前記方法は、
データプロバイダのターゲットデータを取得するステップと、
ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップと、を含み、
前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられることを特徴とする、データ共有方法。
【請求項11】
ブロックチェーンノードから送信された前記共有証明書に独自の秘密鍵で署名して、前記共有証明書のデジタル署名を取得するステップと、
前記デジタル署名を前記ブロックチェーンノードにフィードバックし、これにより前記ブロックチェーンノードが前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶するステップと、をさらに含むことを特徴とする、請求項10に記載の方法。
【請求項12】
データプロバイダのターゲットデータを取得するステップは、
前記データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化し、前記ターゲットデータを得ることを特徴とする、請求項10に記載の方法。
【請求項13】
ターゲット機関機器によって実行されるブロックチェーンネットワークに基づくデータ共有方法であって、前記方法は、
ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するステップであって、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成されるステップと、
ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始するステップと、を含むことを特徴とする、データ共有方法。
【請求項14】
ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するステップは、
キューアクセストランザクションリクエストを開始し、これによりブロックチェーンノードが前記ターゲット機関のチェーン上の処理対象キューから共有証明書記憶識別子を取得し、また前記共有証明書記憶識別子に応じて前記共有証明書を取得して前記ターゲット機関にフィードバックするステップを含むことを特徴とする、請求項13に記載の方法。
【請求項15】
データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて前記ターゲットデータを復号するステップをさらに含むことを特徴とする、請求項13に記載の方法。
【請求項16】
ブロックチェーンノードに配置されるブロックチェーンネットワークに基づくデータ共有装置であって、前記装置は、
データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶するためのターゲットデータアップロードモジュールと、
共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するための共有証明書アップロードモジュールと、
前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するためのターゲットデータ共有モジュールと、を含むことを特徴とする、データ共有装置。
【請求項17】
ソース機関機器に配置されるブロックチェーンネットワークに基づくデータ共有装置であって、前記装置は、
データプロバイダのターゲットデータを取得するためのターゲットデータ取得モジュールと、
ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するためのトランザクションリクエスト開始モジュールと、を含み、
前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられることを特徴とする、データ共有装置。
【請求項18】
ターゲット機関機器に配置されるブロックチェーンネットワークに基づくデータ共有装置であって、前記装置は、
ソース機関識別子、ターゲット機関
の識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するための共有証明書取得モジュールであって、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成される共有証明書取得モジュールと、
ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始するためのトランザクションリクエスト開始モジュールと、を含むことを特徴とする、データ共有装置。
【請求項19】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、
前記メモリには前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1から
9のいずれかに記載のブロックチェーンネットワークに基づくデータ共有方法を実行することを特徴とする、電子機器。
【請求項20】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が実行される場合、請求項1から
9のいずれかに記載のブロックチェーンネットワークに基づくデータ共有方法が実行されることを特徴とする、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項21】
コンピュータプログラムであって、
前記コンピュータプログラムにおける命令が実行された場合、請求項1から
9のいずれかに記載のブロックチェーンネットワークに基づくデータ共有方法が実行されることを特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、コンピュータ技術に関し、特にブロックチェーン技術分野に関する。具体的にはブロックチェーンネットワークに基づくデータ共有方法、装置、機器及び媒体に関する。
【背景技術】
【0002】
情報化時代の継続的な発展に伴い、異なる機関間におけるデータ交換は、徐々に増加している。
【0003】
複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関がデータを共有する必要がある場合、従来の技術では、ターゲット機関が紙の共有証明書と電話確認を通じて許可を取得した後、一元化されたサーバを介してソース機関とターゲット機関との間にデータを送信していた。
【0004】
上記技術案ではデータを機関間で共有する場合、通常、紙の証明書と電話確認を通じて許可を取得するが、データ共有の効率が低く、共有証明書のデータの正確性を保証しにくいという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願の実施例は、機関コンソーシアムに含まれるソース機関及びターゲット機関がターゲットデータを共有する際の、ターゲットデータの共有効率を向上させる、ブロックチェーンネットワークに基づくデータ共有方法、装置、機器及び媒体を提供する。
【課題を解決するための手段】
【0006】
第1の態様は、本出願の実施例は、ブロックチェーンネットワーク内のノードによって実行されるブロックチェーンネットワークに基づくデータ共有方法を提供する。
前記方法は、データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶するステップと、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップと、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するステップと、を含む。
【0007】
本出願の実施例では、ブロックチェーンノードによってデータプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、ターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶し、共有証明書に基づいてターゲットデータをターゲット機関と共有する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させることができ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0008】
選択的に、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するステップは、ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップを含む。
【0009】
上記出願の1つの選択的な実施形態では、ターゲットデータ共有操作を、ターゲット機関から送信された、共有証明書を含むデータ取得トランザクションリクエストに応答し、ターゲットデータをターゲット機関と共有するように具体化してもよい。これにより、ターゲットデータの共有方法を改善することができる。
【0010】
選択的に、ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答する前に、前記ターゲット機関が前記処理対象キュー内の共有証明書記憶識別子に応じて共有証明書を取得するように、前記共有証明書記憶識別子をターゲット機関の処理対象キューに送信するステップをさらに含む。
【0011】
上記出願の1つの選択的な実施形態では、データ取得トランザクションリクエストに応答する前に、共有証明書記憶識別子をターゲット機関の処理対象キューに送信することとしてもよい。これにより、ターゲット機関が共有データを取得するのに寄与する。
【0012】
選択的に、前記方法は、ターゲット機関から開始されたキューアクセストランザクションリクエストに応答し、キューアクセススマートコントラクトを呼び出して前記ターゲット機関の処理対象キューから共有証明書記憶識別子を取得するステップと、前記共有証明書記憶識別子に応じて共有証明書を取得して前記ターゲット機関にフィードバックするステップと、をさらに含む。
【0013】
上記出願の1つの選択的な実施形態では、ターゲット機関から開始されたキューアクセストランザクションリクエストに応答し、処理対象キューから共有証明書記憶識別子を取得することとしてもよい。これにより、共有証明書を取得するのに寄与する。
【0014】
選択的に、前記共有証明書には前記ターゲットデータのデジタル要約が含まれ、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得するステップは、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを検索するステップと、前記デジタル要約に基づいて、検索して見つけられたターゲットデータを検証するステップと、検証に合格した場合、前記ターゲットデータを取得するステップと、を含む。
【0015】
上記出願の1つの選択的な実施形態では、共有証明書にターゲットデータのデジタル要約を追加してもよい。これにより、ターゲットデータを取得するプロセスにおいて、デジタル要約に基づいてターゲットデータの正確性を検証することができる。
【0016】
選択的に、前記共有証明書をチェーンにアップロードして記憶するステップは、前記共有証明書を前記ソース機関に送信して、前記ソース機関が独自の秘密鍵で前記共有証明書に署名するステップと、ソース機関から共有証明書のデジタル署名を取得し、前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶するステップと、を含み、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、前記共有証明書のソース機関識別子に応じて、前記ソース機関のデジタル署名を検証するステップと、検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップと、を含む。
【0017】
上記出願の1つの選択的な実施形態では、共有証明書をチェーンにアップロードして記憶する際に、ソース機関によって共有証明書をデジタル署名することで、ターゲット機関が共有証明書を取得する際に、共有証明書のソース機関識別子に基づいて共有証明書の有効性を検証することができる。
【0018】
選択的に、前記ターゲットデータをチェーンにアップロードして記憶するステップは、前記共有スマートコントラクトのデータ記憶インタフェースを呼び出し、前記ターゲットデータをチェーンにアップロードして記憶するステップを含み、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップは、前記共有スマートコントラクトの共有証明書生成インタフェースを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップを含む。
【0019】
上記出願の1つの選択的な実施形態では、ターゲットデータをチェーンにアップロードして記憶する操作と共有証明書を生成及びチェーンにアップロードして記憶する操作を、共有スマートコントラクトの異なるデータインタフェースを呼び出すように具体化して実現することとしてもよい。これにより、ターゲットデータ及び共有証明書を読み取るのに寄与する。
【0020】
選択的に、前記ターゲットデータは、データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて、元のデータを暗号化することにより得ることができる。
【0021】
上記出願の1つの選択的な実施形態では、データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化することによってターゲットデータを得るステップは、ターゲットデータ共有プロセス中にターゲット機関に許可を提供することとしてもよい。これにより、ソース機関とターゲット機関以外の他の機関へのターゲットデータの漏洩を回避し、ターゲットデータのセキュリティを向上させることができる。
【0022】
選択的に、前記機関は病院であり、前記データプロバイダのターゲットデータは患者の診断及び治療データであり、前記共有証明書は病院移送証明書としてもよい。
【0023】
上記出願の1つの選択的な実施形態では、機関、ターゲットデータ、及び共有証明書をそれぞれ具体化することとしてもよい。これにより、データ共有操作を、患者がソース病院からターゲット病院に移送されるシーンに適用することができる。
【0024】
第2の態様によれば、本出願の実施例は、ソース機関機器によって実行されるブロックチェーンネットワークに基づくデータ共有方法をさらに提供する。
前記方法は、データプロバイダのターゲットデータを取得するステップと、ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップと、を含む。前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられる。
【0025】
第3の態様によれば、本出願の実施例は、ターゲット機関機器によって実行されるブロックチェーンネットワークに基づくデータ共有方法をさらに提供する。
前記方法は、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するステップであって、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成されるステップと、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始するステップと、を含む。
【0026】
第4の態様によれば、本出願の実施例は、ブロックチェーンネットワーク内のノードに配置されるブロックチェーンネットワークに基づくデータ共有装置をさらに提供する。
前記装置は、データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶するためのターゲットデータアップロードモジュールと、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するための共有証明書アップロードモジュールと、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するためのターゲットデータ共有モジュールと、を含む。
【0027】
第5の態様によれば、本出願の実施例は、ソース機関機器に配置されるブロックチェーンネットワークに基づくデータ共有装置をさらに提供する、
前記装置は、データプロバイダのターゲットデータを取得するためのターゲットデータ取得モジュールと、ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するためのトランザクションリクエスト開始モジュールと、を含む。前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられる。
【0028】
第6の態様によれば、本出願の実施例は、ターゲット機関機器に配置されるブロックチェーンネットワークに基づくデータ共有装置をさらに提供する。
前記装置は、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するための共有証明書取得モジュールであって、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成される共有証明書取得モジュールと、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始するためのトランザクションリクエスト開始モジュールと、を含む。
【0029】
第7の態様によれば、本出願の実施例によりさらに提供される電子機器は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含む。前記メモリには前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが第1の態様、第2の態様及び第3の態様の実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行する。
【0030】
第8の態様によれば、本出願の実施例は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体をさらに提供し、前記コンピュータ命令が実行される場合、第1の態様、第2の態様及び第3の態様の実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法が実行される。
第9の態様によれば、本出願の実施例は、コンピュータプログラムをさらに提供し、前記コンピュータプログラムの命令が実行された場合、第1の態様、第2の態様及び第3の態様の実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法が実行される。
【発明の効果】
【0031】
上記選択的な実施形態が有する他の効果は、特定の実施例と併せて以下で説明する。
【図面の簡単な説明】
【0032】
図面は、本技術案をよりよく理解するために使用され、本出願を限定するものではない。
【
図1】本出願の実施例1に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。
【
図2】本出願の実施例2に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。
【
図3】本出願の実施例3に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。
【
図4】本出願の実施例4に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。
【
図5】本出願の実施例5に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。
【
図6】本出願の実施例6に係るブロックチェーンネットワークに基づくデータ共有装置の構造図である。
【
図7】本出願の実施例7に係るブロックチェーンネットワークに基づくデータ共有装置の構造図である。
【
図8】本出願の実施例8に係るブロックチェーンネットワークに基づくデータ共有装置の構造図である。
【
図9】本出願の実施例に係るブロックチェーンネットワークに基づくデータ共有方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0033】
以下、図面を組み合わせて本出願の例示的な実施例を説明し、理解を容易にするために、その中には本出願の実施例の様々な詳細事項が含まれているが、それらは単なる例示と見なすべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするため、以下の説明では、周知の機能及び構造の説明を省略する。
【0034】
実施例1
図1は本出願の実施例1に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用され、該方法は、ブロックチェーンネットワークに基づくデータ共有装置によって実行され、該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつブロックチェーンノードが運ばれている電子機器に配置される。
【0035】
図1に示されるブロックチェーンネットワークに基づくデータ共有方法は、ステップS101~S103を含む。
【0036】
S101、データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶する。
【0037】
選択的に、共有トランザクションリクエストは、データプロバイダが、機関コンソーシアム内のソース機関とターゲット機関の間でターゲットデータのデータを共有するため、独自のターゲットデータに基づいてブロックチェーンネットワークに対して開始してもよいし、あるいは、選択的に、ソース機関が、データプロバイダのターゲットデータに基づいて、ブロックチェーンネットワークに対してトランザクションリクエストを開始してもよい。
【0038】
ソース機関は、オフラインで取得するという方法を通じてデータプロバイダからターゲットデータを取得でき、データプロバイダがデータトランザクションリクエストを開始するという方式を通じて、データプロバイダからソース機関にターゲットデータを送信することもできる。
【0039】
一実施形態では、データプロバイダにデータ共有の必要がある場合、ターゲットデータをソース機関に送信し、ソース機関は、取得したターゲットデータに基づいてブロックチェーンネットワークへの共有トランザクションリクエストを開始する。
【0040】
例えば、ソース機関又はデータプロバイダは、ブロックチェーンネットワークへのターゲットデータを含む共有トランザクションリクエストを開始し、ブロックチェーンノードは該共有トランザクションリクエストを受信して処理し、ターゲットデータをチェーンにアップロードして記憶する。
【0041】
一実施形態では、ブロックチェーンノードは、スマートコントラクトを呼び出すことで、ターゲットデータをチェーンにアップロードして記憶する。
【0042】
選択的に、ターゲットデータは、キーバリューの方法で記憶される。キーフィールドはソース機関に対応し、値フィールドは異なるソース機関により記憶されたターゲットデータを記憶するのに用いられる。つまり、ソース機関が異なれば、ブロックチェーン内のストレージスペースも異なり、ソース機関識別子に応じて該ソース機関によりチェーンにアップロードして記憶されているターゲットデータを検索することができる。
【0043】
なお、ソース機関が異なるデータプロバイダのターゲットデータに対して共有トランザクションリクエストを開始するため、データの混乱を避けるために、ターゲットデータを記憶する場合、通常、データプロバイダのディメンションでデータを記憶する。
【0044】
さらに、データプロバイダのデータ漏洩を避けるために、データプロバイダのディメンションでデータを記憶する場合、データプロバイダの暗号鍵で独自のターゲットデータを暗号化する。
【0045】
本出願の実施例の選択的な一実施形態では、データプロバイダの暗号鍵で独自のターゲットデータを暗号化するステップは、ターゲットデータをチェーンにアップロードして記憶する際に実現でき、またデータプロバイダがソース機関にターゲットデータを提供する前に、独自の暗号鍵でターゲットデータの元のデータを暗号化し、暗号化して得られたターゲットデータをソース機関に提供することもできる。
【0046】
選択的に、データプロバイダのターゲットデータがソース機関とターゲット機関以外の機関コンソーシアムの他の機関から漏洩するのを避けるために、ターゲットデータの元のデータをデータプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて暗号化することができる。
【0047】
本出願の実施例の選択的な一実施形態では、ターゲットデータの元のデータをデータプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて暗号化するステップは、ターゲットデータをチェーンにアップロードして記憶する際に実現でき、またデータプロバイダがソース機関にデータを提供する前に、独自の暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化し、暗号化して得られたターゲットデータをソース機関に提供することもできる。
【0048】
S102、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶する。
【0049】
ソース機関識別子は、ソース機関の名前、又はブロックチェーンネットワーク内のソース機関のブロックチェーンアカウントであってもよく、ターゲット機関識別子は、ターゲット機関の名前、又はブロックチェーンネットワーク内のターゲット機関のブロックチェーンアカウントであってもよい。
【0050】
ターゲットデータ記憶識別子は、ブロックチェーン内のソース機関のストレージスペースにあるデータプロバイダのターゲットデータにアクセスすることに用いられる。
【0051】
ターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを関連付けて呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶する。
【0052】
共有証明書は、ソース機関とターゲット機関の間でデータを共有するための証明資料として用いられ、また、ターゲット機関がターゲットデータにアクセスするためのウィンドウとしても利用できる。
【0053】
本出願の実施例の選択的な一実施形態では、スマートコントラクトを呼び出すことで、ターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶する。
【0054】
異なるスマートコントラクトを呼び出すプロセスにおいて生成されたデータは、セットデータストレージモデルによって管理することができ、データセットを形成し、異なるスマートコントラクト間のデータセットが重複しない。したがって、異なるスマートコントラクトが属するデータセット内のデータを読み取るときに、一定の障害が生じることがある。ターゲットデータ共有プロセス中のターゲットデータと共有証明書の読み取りの障害を簡素化するために、通常、スマートコントラクトを呼び出してターゲットデータをチェーンにアップロードして記憶し、共有証明書を生成及びチェーンにアップロードして記憶する。
【0055】
上記目的を達成するために、本出願の実施例の他の選択的な実施形態では、前記共有スマートコントラクトのデータ記憶インタフェースを呼び出し、前記ターゲットデータをチェーンにアップロードして記憶し、前記共有スマートコントラクトの共有証明書生成インタフェースを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶する。
【0056】
S103、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有する。
【0057】
例えば、共有証明書のソース機関識別子に基づいて、ブロックチェーンにターゲットデータを記憶するソース機関のストレージスペースを決定し、ターゲットデータ記憶識別子に応じて、ブロックチェーン内のソース機関に対応するストレージスペースからデータプロバイダのターゲットデータを取得する。
【0058】
選択的に、ターゲットデータを共有する際に、ターゲット機関によって共有証明書を含むデータ取得トランザクションリクエストを開始してもよい。ブロックチェーンノードは、ターゲット機関が開始したデータ取得トランザクションリクエストに応答し、共有証明書のターゲットデータ記憶識別子とソース機関識別子に基づいてターゲットデータを取得し、取得したターゲットデータをターゲット機関にフィードバックする。
【0059】
例えば、データ取得スマートコントラクトを呼び出すことで、共有証明書のターゲットデータ記憶識別子とソース機関識別子に基づいてターゲットデータを取得し、取得したターゲットデータをターゲット機関にフィードバックすることができる。
【0060】
なお、データ取得の効率を向上させるために、共有スマートコントラクトのデータ取得インタフェースを呼び出すことで、共有証明書のターゲットデータ記憶識別子とソース機関識別子に基づいてターゲットデータを取得し、取得したターゲットデータをターゲット機関にフィードバックすることができる。
【0061】
データ取得トランザクションリクエストに含まれる共有証明書は、データプロバイダによってターゲット機関にオフラインで提供されてもよく、又はターゲット機関は、データプロバイダがターゲットデータを共有していることを承知した後、ブロックチェーンから共有証明書を検索して取得してもよい。
【0062】
本出願の選択的な一実施形態では、チェーンに記憶されているターゲットデータがデータプロバイダの暗号鍵で暗号化されたデータである場合、ターゲット機関は、該ターゲットデータを取得した後、データプロバイダの暗号鍵を用いて、取得されたターゲットデータを復号する。例えば、ターゲットデータを暗号化するための暗号鍵はデータプロバイダの秘密鍵であり、ターゲットデータを復号するための暗号鍵はデータプロバイダの公開鍵である。
【0063】
本出願の実施例の他の選択的な実施形態では、チェーンに記憶されたターゲットデータがデータプロバイダの暗号鍵とターゲット機関の暗号鍵で暗号化されたデータである場合、ターゲット機関は、該ターゲットデータを取得した後、データプロバイダの暗号鍵とターゲット機関の独自の暗号鍵を用いて、取得されたターゲットデータを復号する。例えば、ターゲットデータを暗号化するための暗号鍵は、データプロバイダの秘密鍵とターゲット機関の公開鍵に基づいて、設定された暗号化アルゴリズムを採用して決定された共通鍵暗号方式の暗号鍵であり、ターゲットデータを復号するための暗号鍵は、データプロバイダの公開鍵とターゲット機関の秘密鍵に基づいて、該設定された暗号化アルゴリズムを採用して決定された共通鍵である。設定された暗号化アルゴリズムは、従来技術における少なくとも1つの暗号化アルゴリズムによって実現することができる。
【0064】
本出願の実施例では、ブロックチェーンノードによってデータプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、ターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶し、共有証明書に基づいてターゲットデータをターゲット機関と共有する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することで、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0065】
実施例2
図2は本出願の実施例2に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。本出願の実施例は、上記各実施例の技術案に基づいて最適化及び改善される。
【0066】
「前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有する」操作を、ソース機関がターゲット機関と共有する際のターゲットデータの共有メカニズムを改善するために、「ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックする」ように具体化する。
【0067】
図2に示されるブロックチェーンネットワークに基づくデータ共有方法はステップS201~S203を含む。
【0068】
S201、データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶する。
【0069】
S202、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶する。
【0070】
共有証明書の検索と取得を容易にするために、共有証明書をチェーンにアップロードして記憶した後、共有証明書の共有証明書記憶識別子を、ソース機関、データプロバイダ、及びターゲット機関の少なくとも1つに送信してもよい。それにより、ターゲット機関が後で共有証明書記憶識別子に基づいて共有証明書を検索して取得することができ、さらに共有証明書のターゲットデータ記憶識別子に応じてターゲットデータを検索して取得することができる。
【0071】
本出願の実施例の他の選択的な実施形態では、共有証明書記憶識別子の正確性とセキュリティ上の問題を回避するために、ブロックチェーンにおいて各機関に対して、処理していない共有イベントを記憶するための対応する処理対象キューを予め設定することができる。例えば、共有証明書をチェーンにアップロードして記憶した後、共有証明書記憶識別子をターゲット機関の処理対象キューに送信してもよく、それにより、ターゲット機関が処理対象キューの共有証明書記憶識別子に応じて共有証明書を取得することができる。
【0072】
本出願の実施例の選択的な一実施形態では、共有証明書には、ターゲットデータのデジタル要約が含まれる。
【0073】
例えば、共有スマートコントラクトを呼び出すとき、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成する前に、セットコーディング関数を用いてターゲットデータをコーディングし、ターゲットデータのデジタル要約を取得することをさらに含む。
【0074】
セットコーディング関数を用いて異なるターゲットデータをコーディングすることによって取得されるデジタル要約は異なるため、デジタル要約はターゲットデータの一意の識別子として、後にターゲットデータを取得する際に取得したターゲットデータの正確性を検証することに用いられる。
【0075】
本出願の実施例の他の選択的な実施形態では、後で共有証明書を取得する際の、共有証明書の有効性を確保するために、共有証明書をチェーンにアップロードして記憶するステップは、前記共有証明書を前記ソース機関に送信して、前記ソース機関が独自の秘密鍵で前記共有証明書に署名し、及びソース機関から共有証明書のデジタル署名を取得し、前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶してもよい。デジタル署名は共有証明書の有効性を検証することに用いられる。
【0076】
例えば、ソース機関が独自の秘密鍵で前記共有証明書に署名するステップは、設定署名アルゴリズムを採用してソース機関の秘密鍵に基づいて共有証明書に署名し、デジタル署名を取得してもよい。
【0077】
S203、ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックする。
【0078】
例えば、ターゲット機関は共有証明書を取得し、ブロックチェーンネットワークへの共有証明書を含むデータ取得トランザクションリクエストを開始し、ブロックチェーンノードはデータ取得トランザクションリクエストに応答し、共有証明書のソース機関識別子に基づいてブロックチェーン内のソース機関のストレージスペースを決定し、ターゲットデータ記憶識別子に応じて、ソース機関に関連付けられたストレージスペースでターゲットデータを検索して取得し、取得したターゲットデータをターゲット機関にフィードバックすることで、ソース機関とターゲット機関の間でターゲットデータを共有することができる。
【0079】
選択的に、ターゲット機関は、独自で受信した共有証明書記憶識別子に応じて共有証明書を取得することができ、又は、選択的に、ターゲット機関は、オフライン取得を通じてデータプロバイダ又はソース機関から共有証明書記憶識別子を取得し、取得した共有証明書記憶識別子に応じて共有証明書を取得する。又は、選択的に、ターゲット機関は、ブロックチェーンネットワークへのキューアクセストランザクションリクエストを開始し、ブロックチェーンノードはキューアクセススマートコントラクトを呼び出し、ターゲット機関の処理対象キューから共有証明書記憶識別子を取得し、共有証明書記憶識別子に応じて共有証明書を取得してターゲット機関にフィードバックする。
【0080】
例えば、共有証明書記憶識別子に応じて共有証明書を取得するステップは、ターゲット機関機器がブロックチェーンネットワークに参加しているノードである場合、共有証明書記憶識別子に応じてローカルで共有証明書を取得し、又は共有証明書をチェーンで取得し、ターゲット機関機器がトラステッドノードを介してブロックチェーンネットワークに参加している場合、共有証明書記憶識別子をトラステッドノードに送信し、トラステッドノードによりローカルで共有証明書を取得し、又は共有証明書をチェーンで取得してもよい。
【0081】
本出願の実施例の選択的な一実施形態では、共有証明書にターゲットデータのデジタル要約が含まれている場合、共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて前記ターゲットデータを検索し、前記デジタル要約に基づいて、検索して見つけられたターゲットデータを検証し、検証に合格した場合、前記ターゲットデータを取得してターゲット機関にフィードバックしてもよい。
【0082】
具体的には、デジタル要約に基づいて、検索して見つけられたターゲットデータを検証するステップは、セットコーディング関数を用いて検索して見つけられたターゲットデータを計算し、デジタル要約を得て、計算されたデジタル要約を共有証明書のデジタル要約と比較し、比較結果に応じて、検索して見つけられたターゲットデータの正確性を検証してもよい。比較結果が一致している場合、検証は合格であり、そうでない場合には、検証は不合格である。
【0083】
なお、検証に合格した場合には、ターゲット機関が取得しようとするターゲットデータが検索して見つけられたターゲットデータと同じであることを示しり、そうでない場合には、ターゲット機関の取得しようとするターゲットデータが検索して見つけられたターゲットデータとは異なることを示す。
【0084】
本出願の実施例の他の選択的な実施形態では、共有証明書にデジタル署名が関連付けられている場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、前記共有証明書のソース機関識別子に基づいて前記ソース機関のデジタル署名を検証し、検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックしてもよい。
【0085】
具体的には、前記共有証明書のソース機関識別子に応じて前記ソース機関のデジタル署名を検証するステップは、共有証明書のソース機関識別子に応じてソース機関の公開鍵を検索し、設定署名アルゴリズムを採用してソース機関の公開鍵に基づいて共有証明書に署名し、デジタル署名を取得し、取得されたデジタル署名を共有証明書に関連付けられたデジタル署名と比較し、比較結果に基づいて共有証明書の有効性を検証してもよい。比較結果が一致している場合には、検証は合格であり、そうでない場合には、検証は不合格である。
【0086】
なお、検証に合格した場合には、共有証明書の開始者と署名者が同じであることが示され、共有証明書が有効であると判断し、検証に合格しなかった場合には、共有証明書の開始者と署名者が異なることが示され、共有証明書が無効であると判断する。
【0087】
本出願の実施例は、ターゲットデータをターゲット機関と共有する操作を、ターゲット機関によって開始される共有証明書を含むデータ取得トランザクションリクエストを処理するように具体化して実現し、ターゲットデータの共有メカニズムを改善し、ソース機関がターゲットデータをターゲット機関と共有するための技術支援を提供する。
【0088】
本出願の上記各実施例の技術案は具体的には、患者を、複数の病院を含む医療コンソーシアム内のソース病院及びターゲット病院に移送する場合に使用することができる。
【0089】
具体的には、上記各実施例に記載の機関は病院であり、データプロバイダのターゲットデータは患者の診断及び治療データであり、共有証明書は病院移送証明書である。
【0090】
実施例3
図3は本出願の実施例3に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートであり、本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用される。該方法は、ブロックチェーンネットワークに基づくデータ共有装置によって実行され、該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつソース機構機器に配置される。
【0091】
図3に示されるブロックチェーンネットワークに基づくデータ共有方法はステップS301及びS302を含む。
【0092】
S301、データプロバイダのターゲットデータを取得する。
【0093】
選択的に、データプロバイダのターゲットデータは元のデータであってもよく、独自の暗号鍵によって元のデータを暗号化して得られたターゲットデータであってもよい。それにより、ターゲットデータを共有する際に、データプロバイダの暗号鍵を有する機関のみがターゲットデータの元のデータを取得することができる。
【0094】
選択的に、データプロバイダのターゲットデータがソース機関とターゲット機関以外の機関コンソーシアムの他の機関から漏洩するのを避けるために、データプロバイダが独自の暗号鍵とターゲット機関の暗号鍵に従って元のデータを暗号化し、暗号化して得られたターゲットデータをソース機関に提供してもよい。
【0095】
又は、選択的に、データプロバイダの操作を簡素化するために、ソース機関がデータプロバイダを置き換え、データプロバイダの暗号鍵に従って元のデータを暗号化してターゲットデータを取得してもよく、又はデータプロバイダの暗号鍵とターゲット機関の暗号鍵に従って元のデータを暗号化してターゲットデータを取得してもよい。データプロバイダの暗号鍵はデータプロバイダの秘密鍵であり、ターゲット機関の暗号鍵はターゲット機関の公開鍵である。
【0096】
S302、ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶する。
【0097】
前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられる。
【0098】
ソース機関は、ブロックチェーンネットワークへのターゲットデータを含む共有トランザクションリクエストを開始し、ブロックチェーンノードは該共有トランザクションリクエストに応答し、ターゲットデータをチェーンにアップロードして記憶する。また、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶する。共有証明書に基づいて、ターゲットデータをターゲット機関と共有する。
【0099】
例えば、共有証明書に基づいて、ターゲットデータをターゲット機関と共有するステップは、ターゲット機関がブロックチェーンネットワークへの前記共有証明書を含むデータ取得トランザクションリクエストを開始し、ブロックチェーンノードがデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックしてもよい。
【0100】
上記各実施例の技術案に基づいて、共有証明書の有効性検証を容易にするために、ブロックチェーンノードで共有証明書をチェーンにアップロードして記憶するステップは、共有証明書をソース機関に送信し、ソース機関が独自の秘密鍵でブロックチェーンノードから送信された共有証明書に署名し、共有証明書のデジタル署名を取得し、デジタル署名をブロックチェーンノードにフィードバックし、これによりブロックチェーンノードがデジタル署名を共有証明書と関連付けてチェーンにアップロードして記憶してもよい。
【0101】
例えば、ソース機関が独自の秘密鍵で前記共有証明書に署名するステップは、設定署名アルゴリズムを採用してソース機関の秘密鍵に基づいて共有証明書に署名し、デジタル署名を取得してもよい。
【0102】
なお、共有証明書にはソース機関のデジタル署名が含まれる場合、ブロックチェーンノードで共有証明書に基づいてターゲットデータをターゲット機関と共有する際に、共有証明書の有効性を検証することができる。
【0103】
例えば、共有証明書にデジタル署名が関連付けられている場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、前記共有証明書のソース機関識別子に基づいて前記ソース機関のデジタル署名を検証し、検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックしてもよい。
【0104】
具体的には、前記共有証明書のソース機関識別子に応じて前記ソース機関のデジタル署名を検証するステップは、共有証明書のソース機関識別子に応じてソース機関の公開鍵を検索し、設定署名アルゴリズムを採用してソース機関の公開鍵に基づいて共有証明書に署名し、デジタル署名を取得し、取得されたデジタル署名を共有証明書に関連付けられたデジタル署名と比較し、及び比較結果に基づいて共有証明書の有効性を検証してもよい。比較結果が一致している場合、検証は合格であり、そうでない場合、検証は不合格である。
【0105】
なお、検証に合格した場合、共有証明書の開始者と署名者が同じであることが示され、共有証明書が有効であると判断し、検証に合格しなかった場合、共有証明書の開始者と署名者が異なることが示され、共有証明書が無効であると判断する。
【0106】
本出願の上記各実施例の技術案は具体的には、患者を、複数の病院を含む医療コンソーシアム内のソース病院及びターゲット病院に移送する場合に使用することができる。
【0107】
具体的には、上記各実施例に記載の機関は病院であり、データプロバイダのターゲットデータは患者の診断及び治療データであり、共有証明書は病院移送証明書である。
【0108】
本出願の実施例では、ソース機関機器によってデータプロバイダのターゲットデータを取得し、ターゲットデータを含む共有トランザクションリクエストを開始する。これにより、ブロックチェーンノードがターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶する。共有証明書は、ターゲット機関にターゲットデータを共有するように指示することに用いられる。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させることができる。また、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0109】
実施例4
図4は本出願の実施例4に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートである。本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用される。該方法は、ブロックチェーンネットワークに基づくデータ共有装置によって実行され、該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつターゲット機構機器に配置される。
【0110】
図4に示されるブロックチェーンネットワークに基づくデータ共有方法はステップS401及びS402を含む。
【0111】
S401、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得し、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成される。
【0112】
共有証明書記憶識別子は、共有スマートコントラクトを呼び出して共有証明書を生成した後、チェーンに共有証明書を記憶する記憶識別子である。
【0113】
選択的に、ターゲット機関は、独自で受信した共有証明書記憶識別子に応じて共有証明書を取得することができ、又は、選択的に、ターゲット機関は、オフライン取得を通じてデータプロバイダ又はソース機関から共有証明書記憶識別子を取得し、取得した共有証明書記憶識別子に応じて共有証明書を取得する。又は、選択的に、ターゲット機関は、ブロックチェーンネットワークへのキューアクセストランザクションリクエストを開始し、これによりブロックチェーンノードが前記ターゲット機関のチェーン上の処理対象キューから共有証明書記憶識別子を取得し、前記共有証明書記憶識別子に応じて前記共有証明書を取得して前記ターゲット機関にフィードバックする。
【0114】
例えば、共有証明書記憶識別子に応じて共有証明書を取得するステップは、ターゲット機関機器がブロックチェーンネットワークに参加しているノードである場合、共有証明書記憶識別子に応じてローカルで共有証明書を取得し、又は共有証明書をチェーンで取得し、ターゲット機関機器がトラステッドノードを介してブロックチェーンネットワークに参加している場合、共有証明書記憶識別子をトラステッドノードに送信し、トラステッドノードによりローカルで共有証明書を取得し、又は共有証明書をチェーンで取得してもよい。
【0115】
本出願の実施例の選択的な一実施形態では、後に共有証明書を取得する際の、共有証明書の有効性を確保するため、共有スマートコントラクトを呼び出して共有証明書を生成し、チェーンに共有証明書を記憶する際には、再度ソース機関を用いて共有証明書に署名する。例えば、前記共有証明書を前記ソース機関に送信して、前記ソース機関が独自の秘密鍵で前記共有証明書に署名し、ソース機関から共有証明書のデジタル署名を取得し、前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶する。デジタル署名は共有証明書の有効性を検証することに用いられる。
【0116】
例えば、ソース機関が独自の秘密鍵で前記共有証明書に署名するステップは、設定署名アルゴリズムを採用してソース機関の秘密鍵に基づいて共有証明書に署名し、デジタル署名を取得してもよい。
【0117】
S402、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始する。
【0118】
例えば、ターゲット機関はブロックチェーンネットワークへの共有証明書を含むデータ取得トランザクションリクエストを開始し、ブロックチェーンノードは該データ取得トランザクションリクエストに応答し、共有証明書に基づいて、ターゲットデータをターゲット機関と共有する。
【0119】
選択的に、共有証明書に基づいて、ターゲットデータをターゲット機関と共有するステップは、共有証明書のソース機関識別子に基づいて、ブロックチェーンにターゲットデータを記憶するソース機関のストレージスペースを決定し、及びターゲットデータ記憶識別子に応じて、ブロックチェーン内のソース機関に対応するストレージスペースからデータプロバイダのターゲットデータを取得してもよい。
【0120】
選択的に、ターゲットデータを共有する際にターゲット機関によって共有証明書を含むデータ取得トランザクションリクエストを開始してもよく、ブロックチェーンノードは、ターゲット機関が開始したデータ取得トランザクションリクエストに応答し、共有証明書のターゲットデータ記憶識別子とソース機関識別子に基づいてターゲットデータを取得し、取得したターゲットデータをターゲット機関にフィードバックする。
【0121】
例えば、データ取得スマートコントラクトを呼び出すことで、共有証明書のターゲットデータ記憶識別子とソース機関識別子に基づいてターゲットデータを取得し、取得したターゲットデータをターゲット機関にフィードバックすることができる。
【0122】
本出願の実施例の選択的な一実施形態では、共有証明書にデジタル署名が関連付けられている場合、ブロックチェーンノードはデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップは、前記共有証明書のソース機関識別子に基づいて前記ソース機関のデジタル署名を検証し、及び検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックしてもよい。
【0123】
具体的には、前記共有証明書のソース機関識別子に応じて前記ソース機関のデジタル署名を検証するステップは、共有証明書のソース機関識別子に応じてソース機関の公開鍵を検索し、設定署名アルゴリズムを採用してソース機関の公開鍵に基づいて共有証明書に署名し、デジタル署名を取得し、取得されたデジタル署名を共有証明書に関連付けられたデジタル署名と比較し、比較結果に基づいて共有証明書の有効性を検証してもよい。比較結果が一致している場合、検証は合格であり、そうでない場合、検証は不合格である。
【0124】
なお、検証に合格した場合、共有証明書の開始者と署名者が同じであることが示され、共有証明書が有効であると判断し、検証に合格しなかった場合、共有証明書の開始者と署名者が異なることが示され、共有証明書が無効であると判断する。
【0125】
なお、共有データに関連付けられたターゲットデータが暗号化されたデータである場合、前記共有証明書を含むデータ取得トランザクションリクエストを開始する。これにより、ブロックチェーンノードが、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有した後、ターゲット機関はまたターゲットデータを復号する必要がある。
【0126】
例えば、チェーンに記憶されているターゲットデータがデータプロバイダの暗号鍵で暗号化されたデータである場合、ターゲット機関は、該ターゲットデータを取得した後、データプロバイダの暗号鍵を用いて、取得されたターゲットデータを復号する。例えば、ターゲットデータを暗号化するための暗号鍵はデータプロバイダの秘密鍵であり、ターゲットデータを復号するための暗号鍵はデータプロバイダの公開鍵である。
【0127】
例えば、チェーンに記憶されているターゲットデータがデータプロバイダの暗号鍵とターゲット機関の暗号鍵で暗号化されたデータである場合、ターゲット機関は、該ターゲットデータを取得した後、データプロバイダの暗号鍵とターゲット機関の独自の暗号鍵を用いて、取得されたターゲットデータを復号する。例えば、ターゲットデータを暗号化するための暗号鍵は、データプロバイダの秘密鍵とターゲット機関の公開鍵に基づいて、設定された暗号化アルゴリズムを採用して決定された共通鍵暗号方式の暗号鍵であり、ターゲットデータを復号するための暗号鍵は、データプロバイダの公開鍵とターゲット機関の秘密鍵に基づいて、該設定された暗号化アルゴリズムを採用して決定された共通鍵である。設定された暗号化アルゴリズムは、従来技術における少なくとも1つの暗号化アルゴリズムによって実現することができる。
【0128】
本出願の実施例によれば、ターゲット機関機器は、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得し、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成され、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0129】
本出願の上記各実施例の技術案は、具体的には、患者を複数の病院を含む医療コンソーシアム内のソース病院及びターゲット病院に移送する場合に使用することができる。
【0130】
具体的には、上記各実施例に記載の機関は病院であり、データプロバイダのターゲットデータは患者の診断及び治療データであり、共有証明書は病院移送証明書である。
【0131】
実施例5
図5は本出願の実施例5に係るブロックチェーンネットワークに基づくデータ共有方法のフローチャートであり、本出願の実施例は上記各実施例の技術案に基づいて好適な実施形態を提供する。
【0132】
図5に示されるブロックチェーンネットワークに基づくデータ共有方法はステップS501~S520を含む。
【0133】
S501、患者は、診断及び治療データを独自の秘密鍵とターゲット病院の公開鍵で暗号化する。
【0134】
具体的には、患者は独自の秘密鍵とターゲット病院の公開鍵でECDH(Elliptic Curve Diffie-
Hellman、暗号鍵合意アルゴリズム)アルゴリズムによって暗号鍵を生成し、該暗号鍵で診断及び治療データを暗号化する。
【0135】
S502、患者は暗号化された診断及び治療データをソース病院に送信する。
【0136】
S503、ソース病院は、診断及び治療データを含む共有トランザクションリクエストを開始する。
【0137】
S504、ブロック生産ノードは、共有スマートコントラクトのデータ記憶インタフェースを呼び出し、診断及び治療データをチェーンにアップロードして記憶する。
【0138】
ブロックチェーンには異なる病院に対応するストレージスペースが設けられ、キーバリュー(key-value)方法で診断及び治療データを記憶する。異なる患者の診断及び治療データを区別するために、診断及び治療データは患者のディメンションで記憶される。
【0139】
S505、共有スマートコントラクトの病院移送証明書生成インタフェースを呼び出し、診断及び治療データのデジタル要約を計算し、ソース病院、ターゲット病院、診断及び治療データ記憶識別子、及びデジタル要約を含む病院移送証明書を生成する。
【0140】
S506、病院移送証明書をソース病院に送信する。
【0141】
S507、ソース病院は、独自の秘密鍵で病院移送証明書にデジタル署名する。
【0142】
S508、デジタル署名された病院移送証明書をブロック生産ノードにフィードバックする。
【0143】
S509、ブロック生産ノードは、デジタル署名された病院移送証明書をチェーンにアップロードして記憶する。
【0144】
S510、病院移送証明書の記憶識別子をターゲット病院の病院移送キューに送信する。
【0145】
ブロックチェーンにおいて異なる病院に対して病院移送キューが設定されており、患者が医療コンソーシアムに含まれる少なくとも病院間で移送されるとき、該病院移送イベントに対応する病院移送証明書の記憶識別子を対応するターゲット病院の病院移送キューに追加することに用いられる。
【0146】
なお、移送が成功すると、病院移送キュー内の今回の病院移送イベントに対応する病院移送証明書の記憶識別子が削除される。
【0147】
S511、ターゲット病院がキューアクセストランザクションリクエストを開始する。
【0148】
S512、ブロック生産ノードは、共有スマートコントラクトのキューアクセスインタフェースを呼び出し、病院移送キューから病院移送証明書の記憶識別子を取得し、該病院移送証明書の記憶識別子に応じて病院移送証明書を取得する。
【0149】
S513、病院移送証明書をターゲット病院に送信する。
【0150】
S514、ターゲット病院は、病院移送証明書を含むデータ取得トランザクションリクエストを開始する。
【0151】
S515、ブロック生産ノードは、共有スマートコントラクトのデータ取得インタフェースを呼び出し、病院移送証明書におけるソース病院の識別子に応じて、ソース病院のデジタル署名の有効性を検証する。
【0152】
S516、検証に合格した場合、診断及び治療データ記憶識別子に応じて診断及び治療データを検索する。
【0153】
S517、病院移送証明書におけるデジタル要約に基づいて、検索して見つけられた診断及び治療データの正確性を検証する。
【0154】
S518、検証に合格した場合、診断及び治療データを取得する。
【0155】
S519、診断及び治療データをターゲット病院に送信する。
【0156】
S520、ターゲット病院は、独自の秘密鍵と患者の公開鍵で、診断及び治療データを復号する。
【0157】
具体的には、ターゲット病院は、独自の秘密鍵と患者の公開鍵で、ECDHアルゴリズムによって復号鍵を生成し、該復号鍵で診断及び治療データを復号する。
【0158】
実施例6
図6は本出願の実施例6に係るブロックチェーンネットワークに基づくデータ共有装置の構造図である。本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用される。該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつブロックチェーンノードが運ばれている電子機器に配置される。
【0159】
図6に示されるブロックチェーンネットワークに基づくデータ共有装置600は、データプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、前記ターゲットデータをチェーンにアップロードして記憶するためのターゲットデータアップロードモジュール601と、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するための共有証明書アップロードモジュール602と、前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するためのターゲットデータ共有モジュール603と、を含む。
【0160】
本出願の実施例では、ターゲットデータアップロードモジュールを介してデータプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、ターゲットデータをチェーンにアップロードして記憶し、共有証明書アップロードモジュールを介して共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶し、ターゲットデータ共有モジュールを介して共有証明書に基づいてターゲットデータをターゲット機関と共有する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0161】
さらに、ターゲットデータ共有モジュール603は具体的には、ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答し、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックすることに用いられる。
【0162】
さらに、共有証明書アップロードモジュール602は、ターゲット機関から送信された、前記共有証明書を含むデータ取得トランザクションリクエストに応答するステップを実行する前に、さらに、前記ターゲット機関が前記処理対象キュー内の共有証明書記憶識別子に応じて共有証明書を取得するように、前記共有証明書記憶識別子をターゲット機関の処理対象キューに送信することに用いられる。
【0163】
さらに、ターゲットデータ共有モジュール603は、さらに、ターゲット機関から開始されたキューアクセストランザクションリクエストに応答し、キューアクセススマートコントラクトを呼び出して前記ターゲット機関の処理対象キューから共有証明書記憶識別子を取得し、前記共有証明書記憶識別子に応じて共有証明書を取得して前記ターゲット機関にフィードバックすることに用いられる。
【0164】
さらに、前記共有証明書には前記ターゲットデータのデジタル要約が含まれる。
【0165】
ターゲットデータ共有モジュール603は、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップを実行する際に、具体的には、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを検索し、前記デジタル要約に基づいて、検索して見つけられたターゲットデータを検証し、検証に合格した場合、前記ターゲットデータを取得してターゲット機関にフィードバックすることに用いられる。
【0166】
さらに、ターゲットデータアップロードモジュール601は、前記共有証明書をチェーンにアップロードして記憶するステップを実行する際、具体的には、前記共有証明書を前記ソース機関に送信して、前記ソース機関が独自の秘密鍵で前記共有証明書に署名し、ソース機関から共有証明書のデジタル署名を取得し、前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶することに用いられる。
【0167】
ターゲットデータ共有モジュール603は、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックするステップを実行する際、具体的には、前記共有証明書のソース機関識別子に基づいて、前記ソース機関のデジタル署名を検証し、検証に合格した場合、前記共有証明書のターゲットデータ記憶識別子と前記ソース機関識別子に基づいて、前記ターゲットデータを取得してターゲット機関にフィードバックすることに用いられる。
【0168】
さらに、ターゲットデータアップロードモジュール601は、前記ターゲットデータをチェーンにアップロードして記憶するステップを実行する際に、具体的には、前記共有スマートコントラクトのデータ記憶インタフェースを呼び出し、前記ターゲットデータをチェーンにアップロードして記憶することに用いられ、共有証明書アップロードモジュール602は、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するステップを実行する際に、具体的には、前記共有スマートコントラクトの共有証明書生成インタフェースを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶することに用いられる。
【0169】
さらに、前記ターゲットデータは、データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化することで得られる。
【0170】
さらに、前記機関は病院であり、前記データプロバイダのターゲットデータは患者の診断及び治療データであり、前記共有証明書は病院移送証明書である。
【0171】
上記ブロックチェーンネットワークに基づくデータ共有装置は本出願のいずれかの実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行することができ、ブロックチェーンネットワークに基づくデータ共有方法の実行に対応する機能モジュール及び有益な効果を有する。
【0172】
実施例7
図7は本出願の実施例7に係るブロックチェーンネットワークに基づくデータ共有装置の構造図である。本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用される。該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつソース機構機器に配置される。
【0173】
図7に示されるブロックチェーンネットワークに基づくデータ共有装置700は、データプロバイダのターゲットデータを取得するためのターゲットデータ取得モジュール701と、ブロックチェーンノードが前記ターゲットデータをチェーンにアップロードして記憶するように、前記ターゲットデータを含む共有トランザクションリクエストを開始し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、前記共有証明書をチェーンにアップロードして記憶するためのトランザクションリクエスト開始モジュール702と、を含み、前記共有証明書は前記ターゲット機関に前記ターゲットデータを共有するように指示することに用いられる。
【0174】
本出願の実施例では、ターゲットデータ取得モジュールを介してデータプロバイダのターゲットデータを取得し、トランザクションリクエスト開始モジュールを介してターゲットデータを含む共有トランザクションリクエストを開始する。これにより、ブロックチェーンノードがターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶する。共有証明書は、ターゲット機関にターゲットデータを共有するように指示することに用いられる。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0175】
さらに、該装置は、ブロックチェーンノードから送信された前記共有証明書に独自の秘密鍵で署名して、前記共有証明書のデジタル署名を取得し、前記デジタル署名を前記ブロックチェーンノードにフィードバックし、これにより前記ブロックチェーンノードが前記デジタル署名を前記共有証明書に関連付けてチェーンにアップロードして記憶するための署名モジュールをさらに含む。
【0176】
さらに、ターゲットデータ取得モジュール701は具体的には、前記データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて元のデータを暗号化し、前記ターゲットデータを得ることに用いられる。
【0177】
上記ブロックチェーンネットワークに基づくデータ共有装置は本出願のいずれかの実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行することができ、ブロックチェーンネットワークに基づくデータ共有方法の実行に対応する機能モジュール及び有益な効果を有する。
【0178】
実施例8
図8は本出願の実施例8に係るブロックチェーンネットワークに基づくデータ共有装置の構造図であり、本出願の実施例は、複数の機関を含む機関コンソーシアムにおいて、ソース機関とターゲット機関との間でターゲットデータを共有する状況に適用され、該装置は、ソフトウェア及び/又はハードウェアによって実現され、かつターゲット機構機器に配置される。
【0179】
図8に示されるブロックチェーンネットワークに基づくデータ共有装置800は、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得するための共有証明書取得モジュール801であって、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成される共有証明書取得モジュール801と、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始するためのトランザクションリクエスト開始モジュール802と、を含む。
【0180】
本出願の実施例では、共有証明書取得モジュールを介してソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を取得し、前記共有証明書が、ブロックチェーンノードによってターゲットデータを含む共有トランザクションリクエストに応答してターゲットデータをチェーンにアップロードして記憶した後、共有スマートコントラクトを呼び出して生成され、トランザクションリクエスト開始モジュールを介して、ブロックチェーンノードが前記共有証明書に基づいて前記ターゲットデータを前記ターゲット機関と共有するように、前記共有証明書を含むデータ取得トランザクションリクエストを開始する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得できる。それにより、ソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させることができる。
【0181】
さらに、共有証明書取得モジュール801は、具体的には、キューアクセストランザクションリクエストを開始する。これにより、ブロックチェーンノードが前記ターゲット機関のチェーン上の処理対象キューから共有証明書記憶識別子を取得し、前記共有証明書記憶識別子に応じて前記共有証明書を取得して前記ターゲット機関にフィードバックすることに用いられる。
【0182】
さらに、前記装置は、データプロバイダの暗号鍵とターゲット機関の暗号鍵に基づいて前記ターゲットデータを復号するための復号モジュールをさらに含む。
【0183】
上記ブロックチェーンネットワークに基づくデータ共有装置は本出願のいずれかの実施例により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行することができ、ブロックチェーンネットワークに基づくデータ共有方法の実行に対応する機能モジュール及び有益な効果を有する。
【0184】
実施例9
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0185】
図9に示すのは、本出願の実施例に係るブロックチェーンネットワークに基づくデータ共有方法を実現する電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイル装置を表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0186】
図9に示すように、当該電子機器は、1つ又は複数のプロセッサ901と、メモリ902と、高速インタフェース及び低速インタフェースを含む各コンポーネントを接続するためのインタフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、電子機器内で実行される命令を処理することができ、当該命令は、外部入力/出力装置(例えば、インタフェースに結合されたディスプレイ機器など)にGUIの図形情報をディスプレイするためにメモリ内又はメモリに記憶されている命令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと一緒に使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、一部の必要な操作(例えば、サーバアレイ、1グループのブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。
図9では、1つのプロセッサ901を例とする。
【0187】
メモリ902は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。前記メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記少なくとも1つのプロセッサが本出願により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行する。本出願の非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータに本出願により提供されるブロックチェーンネットワークに基づくデータ共有方法を実行させるためのコンピュータ命令が記憶されている。
【0188】
メモリ902は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例におけるブロックチェーンネットワークに基づくデータ共有方法に対応するプログラム命令/モジュール(例えば、
図6に示すターゲットデータアップロードモジュール601、共有証明書アップロードモジュール602及びターゲットデータ共有モジュール603、又は
図7に示すターゲットデータ取得モジュール701及びトランザクションリクエスト開始モジュール702、又は
図8に示す共有証明書取得モジュール801及びトランザクションリクエスト開始モジュール802)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶する。プロセッサ901は、メモリ902に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記方法の実施例におけるブロックチェーンネットワークに基づくデータ共有方法を実現する。
【0189】
メモリ902は、ストレージプログラムエリアとストレージデータエリアとを含むことができ、ストレージプログラムエリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータエリアは、ブロックチェーンネットワークに基づくデータ共有方法を実現する電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ902は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ902は、プロセッサ901に対して遠隔に設定されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してブロックチェーンネットワークに基づくデータ共有方法を実現する電子機器に接続することができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
【0190】
ブロックチェーンネットワークに基づくデータ共有方法を実現する電子機器は、入力装置903と出力装置904とをさらに含むことができる。プロセッサ901、メモリ902、入力装置903、及び出力装置904は、バス又は他の方式を介して接続することができ、
図9では、バスを介して接続することを例とする。
【0191】
入力装置903は、入力された数字又は文字情報を受信し、ブロックチェーンネットワークに基づくデータ共有方法を実現する電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置904は、ディスプレイデバイス、補助照明装置(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態で、ディスプレイデバイスは、タッチスクリーンであってもよい。
本出願の実施例によれば、コンピュータプログラムが提供される。当該コンピュータプログラムの命令が実行された場合に、本出願の実施例のブロックチェーンネットワークに基づくデータ共有方法が実行される。
【0192】
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0193】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含むことができ、高レベルのプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することができる。本明細書に使用されるような、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0194】
ユーザとのインタラクションを提供するために、コンピュータ上で、ここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0195】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークとを含む。
【0196】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般的に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。
【0197】
本出願の実施例では、ブロックチェーンノードによってデータプロバイダのターゲットデータを含む共有トランザクションリクエストに応答し、ターゲットデータをチェーンにアップロードして記憶し、共有スマートコントラクトを呼び出し、ソース機関識別子、ターゲット機関識別子、及びターゲットデータ記憶識別子を含む共有証明書を生成し、共有証明書をチェーンにアップロードして記憶し、共有証明書に基づいてターゲットデータをターゲット機関と共有する。上記技術案では、共有スマートコントラクトを呼び出して共有証明書をチェーンにアップロードして記憶することにより、ターゲット機関はチェーンに記憶されている共有証明書に基づいてターゲットデータを取得でき、それによりソース機関とターゲット機関の間でターゲットデータを共有し、許可を取得するために紙の証明書を発行して確認する必要がないため、データ共有の効率を向上させ、同時に、共有スマートコントラクトを呼び出すことで共有証明書を生成し、共有証明書の正確性に対する人為的操作の影響を低減し、共有証明書の精度を向上させる。
【0198】
上記に示される様々な形態のフローを使用してステップを並べ替え、追加、又は削除することができる。例えば、本出願に記載された各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案により所望の結果を得ることができればよく、本明細書では限定しない。
【0199】
上記具体的な実施形態は、本出願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本出願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれる。