(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-11
(45)【発行日】2025-07-22
(54)【発明の名称】ブロックチェーンインフラストラクチャのセキュアプロビジョニングの保証
(51)【国際特許分類】
G06F 21/57 20130101AFI20250714BHJP
G06F 8/30 20180101ALI20250714BHJP
【FI】
G06F21/57 320
G06F8/30
(21)【出願番号】P 2023516607
(86)(22)【出願日】2021-09-13
(86)【国際出願番号】 CN2021118004
(87)【国際公開番号】W WO2022053048
(87)【国際公開日】2022-03-17
【審査請求日】2024-02-15
(32)【優先日】2020-09-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】マルヴァンカー、アビシェク
(72)【発明者】
【氏名】イラザバル、ジェロニモ
(72)【発明者】
【氏名】ガウル、ニティン
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】特開2019-028525(JP,A)
【文献】国際公開第2019/021107(WO,A1)
【文献】特表2020-512715(JP,A)
【文献】米国特許出願公開第2020/0090188(US,A1)
【文献】特開2020-072475(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/12 - 21/16
G06F 21/50 - 21/57
G06F 8/30
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンインフラストラクチャのセキュリティを向上させる方法であって、前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新する段階
であって、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、及び
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
段階;及び
前記コンジットノードのセット内の各コンジットノードは、前記複数のレジャーノードの前記サブセットが前記規定のセキュリティアップデートのセットをインストールしたことを判定する、前記複数のレジャーノードの前記サブセットのコンプライアンスチェックを実行することによって、前記規定のセキュリティアップデートのセットへのコンプライアンスを施行する段階
を備える、
方法。
【請求項2】
ブロックチェーンインフラストラクチャのセキュリティを向上させる方法であって、前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新する段階
であって、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
段階;
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用する段階;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定する段階;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止する段階であって、
新たなレジャーノードを識別する段階、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する段階;
前記新たなレジャーノード上に、前記スナップショットを複製する段階;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する段階、を含む、段階
を備える、
方法。
【請求項3】
新たなレジャーノードが前記ブロックチェーンインフラストラクチャに追加されることを判定する段階、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供する段階;
前記新たなレジャーノードは、前記
規定のセキュリティアップデートのセットを適用していることを判定する段階;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する段階
をさらに備える、請求項1
または2に記載の方法。
【請求項4】
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定する段階、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットに準拠することを確認する段階;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加する段階、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供する段階;
前記新たなレジャーノードが、前記
規定のセキュリティアップデートのセットを適用していることを判定する段階;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する段階
をさらに備える、請求項1
または2に記載の方法。
【請求項5】
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用する段階;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定する段階;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止する段階
をさらに備える、請求項1
に記載の方法。
【請求項6】
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、請求項
2に記載の方法。
【請求項7】
ソフトウェアがクラウド環境でサービスとして提供されて、前記ブロックチェーンインフラストラクチャをプロビジョニングする、請求項1から6のいずれか一項に記載の方法。
【請求項8】
ブロックチェーンインフラストラクチャのセキュリティを向上させるコンピュータプログラムであって、デバイスに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新させる手順
であって、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
手順;及び
前記コンジットノードのセット内の各コンジットノードは、前記複数のレジャーノードの前記サブセットが前記規定のセキュリティアップデートのセットをインストールしたことを判定する、前記複数のレジャーノードの前記サブセットのコンプライアンスチェックを実行することによって、前記規定のセキュリティアップデートのセットへのコンプライアンスを施行する手順
を実行させる、
コンピュータプログラム。
【請求項9】
ブロックチェーンインフラストラクチャのセキュリティを向上させるコンピュータプログラムであって、デバイスに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新させる手順
であって、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
手順;
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用する手順;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定する手順;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止する手順であって、
新たなレジャーノードを識別する手順、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する手順;
前記新たなレジャーノード上に、前記スナップショットを複製する手順;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する手順、を含む、手順
を実行させる、
コンピュータプログラム。
【請求項10】
前記デバイスに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定する手順、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供する手順;
前記新たなレジャーノードは、前記
規定のセキュリティアップデートのセットを適用していることを判定する手順;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する手順
をさらに実行させる、請求項8
または9に記載のコンピュータプログラム。
【請求項11】
前記デバイスに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定する手順、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットに準拠することを確認する手順;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加する手順、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供する手順;
前記新たなレジャーノードが、前記
規定のセキュリティアップデートのセットを適用していることを判定する手順;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する手順、
をさらに実行させる、請求項8
または9に記載のコンピュータプログラム。
【請求項12】
前記デバイスに、
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用する手順;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定する手順;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止する手順、
をさらに実行させる、請求項8
に記載のコンピュータプログラム。
【請求項13】
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、請求項
9に記載のコンピュータプログラム。
【請求項14】
ソフトウェアがクラウド環境でサービスとして提供されて、前記ブロックチェーンインフラストラクチャをプロビジョニングする、請求項8から13のいずれか一項に記載のコンピュータプログラム。
【請求項15】
ブロックチェーンインフラストラクチャのセキュリティを向上させるシステムであって、前記システムは、
その上にプログラム命令が含まれるメモリサブシステム;及び
前記メモリサブシステムと通信しているプロセッサ
を備え、前記プログラム命令は、前記プロセッサに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードをコンジットノードのセットを介して連続的に更新させ、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬
し、
前記コンジットノードのセット内の各コンジットノードは、前記複数のレジャーノードの前記サブセットが前記規定のセキュリティアップデートのセットをインストールしたことを判定する、前記複数のレジャーノードの前記サブセットのコンプライアンスチェックを実行することによって、前記規定のセキュリティアップデートのセットへのコンプライアンスを施行させる、
システム。
【請求項16】
ブロックチェーンインフラストラクチャのセキュリティを向上させるシステムであって、前記システムは、
その上にプログラム命令が含まれるメモリサブシステム;及び
前記メモリサブシステムと通信しているプロセッサ
を備え、前記プログラム命令は、前記プロセッサに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードをコンジットノードのセットを介して連続的に更新させ、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定の
セキュリティアップデートのセットを有し、及び
前記コンジットノードのセット内の各コンジットノードは、前記
規定のセキュリティアップデートのセットを、前記複数のレジャーノードのサブセットに伝搬
し、
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用させ;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定させ;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止させ、
前記1つ又は複数のレジャーノードを使用停止する手順は、
新たなレジャーノードを識別する手順、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する手順;
前記新たなレジャーノード上に、前記スナップショットを複製する手順;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する手順
をさらに備える、
システム。
【請求項17】
前記プログラム命令は、さらに前記プロセッサに、
新たなレジャーノードが前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードは、前記
規定のセキュリティアップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
請求項15
または16に記載のシステム。
【請求項18】
前記プログラム命令は、さらに前記プロセッサに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットに準拠することを確認させ;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加させ、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記
規定のセキュリティアップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードが、前記
規定のセキュリティアップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
請求項15
または16に記載のシステム。
【請求項19】
前記プログラム命令は、さらに前記プロセッサに、
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用させ;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定させ;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止させる、
請求項15
に記載のシステム。
【請求項20】
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、請求項
16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般には、ブロックチェーンインフラストラクチャの分野に、より具体的には、ブロックチェーンインフラストラクチャのセキュアプロビジョニングの保証に関する。
【0002】
ブロックチェーンは一般に、トランザクション及び処理(例えば、ビジネスネットワーク内のアセット及び通貨トラッキング)の記録を円滑化する共有された不変のレジャー(ledger)を指す。ブロックチェーンインフラストラクチャの実装は、ますます普及するようになり、ブロックチェーンに関する新たな有用な用途は、継続的に開発されている。
【発明の概要】
【0003】
本開示の実施形態は、ブロックチェーンインフラストラクチャのセキュリティを向上させる方法、コンピュータプログラム製品、及びシステムを含む。
【0004】
ブロックチェーンインフラストラクチャ内の複数のレジャーノードは、コンジットノードのセットを介して連続的に更新される。コンジットノードのセットは、セキュアプロビジョンレジャーを共有する。セキュアプロビジョンレジャーは、ブロックチェーンインフラストラクチャに関するアップデートのセットを含む。セット内の各コンジットノードは、アップデートのセットを、複数のレジャーノードのサブセットに伝搬する。
【0005】
上記概要は、本開示の示されている各実施形態又はすべての実装を説明することを意図するものではない。
【図面の簡単な説明】
【0006】
本開示に含まれる図面は、本明細書に組み込まれ、その一部をなす。これらは、本開示の実施形態を示し、本明細書と共に、本開示の原理を説明するのに役立つ。図面は、典型的な実施形態を例示するものにすぎず、本開示を限定するものではない。
【0007】
【
図1】本開示の実施形態に係るブロックチェーンインフラストラクチャに関する例示的コンピューティング環境を示す図である。
【0008】
【
図2】本開示の実施形態に係るブロックチェーンインフラストラクチャのセキュアプロビジョニングを保証する例示的方法を示す図である。
【0009】
【
図3】本開示の実施形態に係るコンテナのセキュアプロビジョニングを保証する例示的方法を示す図である。
【0010】
【
図4】本開示の一実施形態に係るクラウドコンピューティング環境を示す図である。
【0011】
【
図5】本開示の一実施形態に係る抽象化モデルレイヤを示す図である。
【0012】
【
図6】本開示の実施形態を実装するのに使用され得る例示的コンピュータシステムのハイレベルブロック図を示す図である。
【0013】
本明細書において説明される実施形態は、様々な修正及び代替形態が可能であるが、それらの具体的な内容は、例として図面に示されているとともに詳細に説明される。しかしながら、説明される特定の実施形態は、限定的な意味で捉えられるべきではないことが理解されるべきである。それに対して、本開示の範囲内にある、すべての変更、等価物、及び代替物を網羅することが意図される。
【発明を実施するための形態】
【0014】
本開示の態様は一般には、ブロックチェーンインフラストラクチャの分野に、より具体的には、ブロックチェーンインフラストラクチャのセキュアプロビジョニングの保証に関する。本開示はそのような用途に必ずしも限定されないが、本開示の様々な態様が、本文脈を使用する様々な例の考察を通じて認識され得る。
【0015】
ブロックチェーンネットワークが増えているため、ブロックチェーンリソースのプロビジョニングが安全であり、一貫しており、及び拡張可能であることを保証することは、重要な問題である。これは、許可型及び非許可型ブロックチェーンネットワークの両方に当てはまり得る。開発者及び管理者は、最新で最も安全なソフトウェア、ハードウェア、及びコアコードが仮想マシン、コンテナ、又はブロックチェーンインフラストラクチャの他のユニットに含まれるか、又は利用されることを保証することに関心を寄せ得る。
【0016】
従来、ネットワーク管理者は、定期的なセキュリティアップデートにより(例えば、許可型ブロックチェーンで)、又は他のノード/コンテナとの一貫性を奨励する何らかの方法で特定のノード/コンテナのオーナー/オペレータにペナルティを科すことによって(例えば、非許可型ブロックチェーンで)、セキュリティ及び一貫性を維持している。
【0017】
セキュリティベクトルは迅速にシフトするので、オペレーティングシステム(OS)プロバイダ、コンテナプロバイダ、及びクラウドコンピューティングプロバイダは、ランタイム及びコンテナスタックに関して継続的にアップデートを発行する可能性がある。あまり安全でないソフトウェア/アップデート/コードが実行されているノード及びコンテナなどの弱点を阻止することにより、セキュリティを上げて、ブロックチェーンインフラストラクチャコンポーネント間の互換性を合理化することによって、アーキテクチャの不変の性質を向上させる。
【0018】
本開示の実施形態は、ブロックチェーンインフラストラクチャの安全で拡張可能なプロビジョニングを保証する方法及びモデルを企図する。従来のブロックチェーンモデルは通常、例えば新たなトランザクションの認証時に、定期的に更新されるにすぎない。しかしながら、連続的なアップデートモデルは、ブロックチェーンインフラストラクチャへのアップデートの記録を保つために特殊な共有されたセキュアプロビジョンレジャーを用い得る。共有されたセキュアプロビジョンレジャーは、特殊なコンジットノード間で共有されてもよく、それらはさらに、記録されたアップデート要件をブロックチェーンのレジャーノードに伝搬し得る。いくつかの実施形態では、ブロックチェーンに参加する各エンティティは、コンジットノードを用いて、共有されたセキュアプロビジョンレジャーを管理し、アップデートを、エンティティによって利用/所有されている1つ又は複数のレジャーノードに伝搬し得る。このようにして、様々な企業/エンティティは、それら自身のレジャーノード及びそれらのブロックチェーンピアのレジャーノードの両方がすべて、ソフトウェア/ハードウェア/ファームウェア/などのセキュリティアップデートに関するユビキタス基準に準拠することを保証しつつ、ブロックチェーンネットワークに参加し得る。
【0019】
いくつかの実施形態では、エンティティは一意の企業であってもよいが、いくつかの実施形態では、エンティティは、一意の企業内の組織(例えば、局、部門など)であってもよい。
【0020】
いくつかの実施形態では、共有されたセキュアプロビジョンレジャーは、明確な基準(例えば、ソフトウェア/ハードウェア/OS/ファームウェア/などに関する特定のバージョンを規定)又は最低限の基準(例えば、バージョンX、又はそれよりも新しいバージョンを規定)を施行し得る。特定のコンジット又はレジャーノードを具現化するのに使用されるリソースが基準に準拠することができないという事象において、その/それらのノードは、ブロックチェーンネットワークへの登録を拒否され得る。いくつかの実施形態では、許容期間が用いられ得る。許容期間は、ブロックチェーンネットワークのコンポーネントが、アップデートを実行し、共有されたセキュアプロビジョンレジャーにおける基準に準拠するようになる必要がある時間量を含み得る。
【0021】
このようにして、クロスエンティティブロックチェーンネットワークは、それらのインフラストラクチャコンポーネントに関して非集中型で、連続的に利用可能な不変のセキュリティ基準を用いてもよく、各エンティティは、あらゆる他のエンティティがまさに同じレベルのセキュリティを維持すると確信され得る。
【0022】
ここで、
図1を参照すると、本開示の実施形態に係るブロックチェーンインフラストラクチャに関する例示的コンピューティング環境100が示されている。この例では、3つの別個のエンティティが、ブロックチェーンネットワークのそれら自身の区分115A~Cを維持している。いくつかの実施形態では、区分115A~Cはすべて、同じサーバ上で、複数のサーバにわたって、同じクラウド環境で、又は別個のクラウド環境で存在し得る。
【0023】
各区分115A~Cは、少なくとも1つのコンジットノード105A~Cを含有し得る。コンジットノード105A~Cは、本明細書中で記述されているように、特殊なセキュアプロビジョンレジャーを共有して、レジャーノード110A1~3、110B1~3、及び110C1~3のブロックチェーンネットワークのコンポーネントをプロビジョニングするためのセキュリティ基準の記録を維持し得る。いくつかの実施形態では、KUBERNETESアーキテクチャは、コンジットノード105A~C間の共有されたセキュアプロビジョンレジャーを管理するのに用いられ得る。
【0024】
共有されたセキュアプロビジョンレジャーは、コンジットノード105A~C間でのコンセンサスによって更新されてもよく、レジャーノード110A1~3、110B1~3、及び110C1~3に関するセキュリティ基準をさらに含有してもよい。各コンジットノード105A~Cは、ブロックチェーンネットワークの関連付けられた区分115A~C内のレジャーノードのプロビジョニングを通信及び統制し得る。例えば、コンジットノード105Aは、共有されたセキュアプロビジョニングレジャー内のセキュリティ基準を、レジャーノード110A1~3に伝搬して、それらのセキュリティ基準に準拠できないすべてのレジャーノードを使用停止させ得る。いくつかの実施形態では、共有されたセキュアプロビジョンレジャーは、ブロックチェーンネットワーク全体のセキュリティの最低限の基準を指示してもよく、各コンジットノード105A~Cはさらに、それらの各々の区分115A~C内のレジャーノード110A1~110C3に関するさらなるセキュリティ基準を含んでもよい。いくつかの実施形態では、コンジットノード105A~Cは、単一命令複数データ(SIMD)技法などの並列技法を使用して、セキュリティ基準の両方のセットを、それらの各々のレジャーノード110A1~110C3に伝搬し得る。
【0025】
いくつかの実施形態では、レジャーノードの使用停止は、当該ノード内のレジャー情報のイメージ又はスナップショットを作成する手順、セキュリティ基準に準拠することが可能な新たなレジャーノードを識別する手順(又はいくつかの実施形態では、新たなコンテナを生成する手順)、及び当該新たなレジャーノード/コンテナにイメージ/スナップショットをインストールする手順を含み得る。いくつかの実施形態では、新たなレジャーノード/コンテナは、ブロックチェーンネットワークへの登録及び組み込み前に準拠を保証するために検査され得る。
【0026】
レジャーノード110A1~110C3は、不変の共有レジャーを用いて、ブロックチェーンネットワークの様々な他のレジャーノード110A1~110C3間でアセット又は他のオブジェクト/リソースを追跡し得る。
【0027】
この例は、3つの区分115A~C、3つのコンジットノード105A~C及びレジャーノード110A1~110C3の3つのセットを示しているが、任意の数の区分、コンジットノード、及びレジャーノードが用いられてもよいことが、当業者に理解されるべきである。ここで付与される例は、いかなる場合でもコンポーネント(例えば、ノード/コンテナ/区分)の数を限定するものと解釈されるべきではない。
【0028】
ここで、
図2を参照すると、本開示の実施形態に係るブロックチェーンインフラストラクチャのセキュアプロビジョニングを保証するための例示的方法200が示されている。例示的方法200は、205で始まり得、ここで、レジャーノードがコンジットノードを介して連続的に更新される。いくつかの実施形態では、これは、ブロックチェーンネットワークコンポーネントのOS、ハードウェア、ソフトウェア、ファームウェア、又は任意の他のセキュリティ関連の態様に関するアップデートを含み得る。
【0029】
210では、新たなレジャーノードがブロックチェーンネットワークに追加されるかどうかが判定される。はいの場合、215で、新たなコンジットノードも、ブロックチェーンインフラストラクチャに追加されるかどうかが判定される(例えば、新たなエンティティが、ブロックチェーンに参加しようとしている場合)。コンジットノードが追加されない場合、方法は230に進む。
【0030】
215で、新たなコンジットノードがブロックチェーンに追加されると判定される場合、コンジットノードは、220で、共有されたセキュアプロビジョニングレジャーにおける基準との準拠に関してチェックされる。220で、コンジットノードが準拠チェックに不合格である場合、レジャーノード及びコンジットノードを追加することを試みているユーザは、245で不合格を通知される。
【0031】
しかしながら、コンジットノードが220で準拠チェックに合格した場合、225で、新たなコンジットノードが、ブロックチェーンインフラストラクチャ内のコンジットノードのセットに追加され、ブロックチェーンに参加し/セキュアプロビジョンレジャーを任意の既存のコンジットノードと共有し始める。
【0032】
230では、新たなレジャーノードに、レジャーノードと関連付けられたコンジットノードを介して、共有されたセキュアプロビジョンレジャーとの準拠を達成するのに必要とされる任意のアップデートが提供される。
【0033】
235では、新たなレジャーノードが、準拠に関してチェックされる。準拠チェックは、例えば、共有されたセキュアプロビジョンレジャー内の基準に対するソフトウェア/ハードウェア/ファームウェアのバージョンをマッチング又はチェックする手順を含み得る。
【0034】
235で、新たなレジャーノードが準拠していないと判定された場合、レジャーノードを追加することを試みているユーザは、245で不合格を通知され、新たなレジャーノードは、ブロックチェーンネットワークでの登録を拒否される。
【0035】
しかしながら、235で、新たなレジャーノードが、共有されたセキュアプロビジョンレジャーにおいて基準に準拠していると判定された場合、新たなレジャーノードが、240でブロックチェーンネットワークに追加される。このようにして、統合されたセキュリティ基準が用いられて、ブロックチェーンネットワークに参加するすべてのノード及びエンティティにわたって伝搬され得る。
【0036】
ここで、
図3を参照すると、本開示の実施形態に係るコンテナのセキュアプロビジョニングを保証するための例示的方法300が示されている。いくつかの実施形態では、KUBERNETESアーキテクチャは、コンジットノードとレジャーノードとの間で使用され、本明細書中で説明されるように、共有されたセキュアプロビジョンレジャー内で規定されたセキュリティ基準などのブロックチェーンネットワークポリシーとの準拠を保証し得る。
【0037】
方法300は、305で始まり得、ここで、開発者/ユーザは、ブロックチェーンネットワークに追加されるべき潜在的なKUBERNETESコンテナ用のDockerfileを追加する(例えば、レジャーノードとして)。いくつかの実施形態では、Dockerfileは、コンテナ又はコンテナ内のレイヤがコンテナのセキュリティを向上させるためにいつ置換されるべきかを判定するための、コンテナレイヤバージョン及び仕様又はポリシーなどの情報を含有し得る。
【0038】
310では、潜在的なコンテナレイヤは、Dockerfileを使用して分析される。いくつかの実施形態では、様々なポリシーが規定され得る。例えば、任意の脆弱性がコンテナのレイヤ内で見出される場合、当該レイヤはアップグレードされるべきであり、又はアップグレードさせることができない場合、コンテナは、準拠したコンテナに置換され得るポリシー。
【0039】
315では、脆弱なレイヤが見出される場合、320で、準拠したレイヤが代用されるか、又は脆弱なレイヤがアップグレードされ得る。いくつかの実施形態では、ブロックチェーンネットワーク内のピアは、330でチェック/検査を実行して、レイヤ又はコンテナが置換されたか、若しくは準拠するようになったか、又はその両方であるどうかを判定し得る。例えば、置換されたレイヤは、存在している継続的インテグレーション及び継続的デリバリ(CI/CD)DevOpsシステムに対して検査され得る。
【0040】
いくつかの実施形態では、レイヤ置換(例えば、段階320)は、DockerfileならびLABEL、MAINTAINER、及びONBUILDに関する命令を使用して実装され得る。例えば、LABEL命令は、メタデータをコンテナイメージに追加し得る。LABELは、例えば、脆弱性が検出される場合に(例えば、VULNERABILITY_DETECTED=ANY)、レイヤ置換を処理するのに使用され得るキーと値のペアであり得る。
【0041】
いくつかの実施形態では、MAINTAINER命令は、脆弱性若しくはレイヤ置換、又はその両方を通知されるユーザ/開発者を指定する(例えば、MAINTAINER=JOHN_DOE@DOCKERFILE.COM)ために、生成されたイメージの著者のフィールドを設定し得る。
【0042】
いくつかの実施形態では、ONBUILD命令は、イメージが別の構築用(例えば、置換レイヤ/コンテナ)のベースとして使用されるときに実行するためのトリガ命令を追加し得る。いくつかの実施形態では、これは、指定された著者に通知するためのトリガを提供することに加えて、イメージが置換レイヤ/コンテナを構築するのに使用される場合に、ベースレイヤを置換するのに、並びに検査を実行するのに使用され得る。
【0043】
しかしながら、チェック/検査前にレイヤ代用/アップグレードが存在しなかった場合、ユーザ又は開発者は、325で不合格を通知され得る。同様に、コンテナレイヤが、330で実施した検査に不合格である場合、335での検査の合格/不合格を判定するためのチェックは、325で通知されるべきユーザ/開発者をプロンプトし得る。
【0044】
しかしながら、検査合格/不合格のチェックは、335で合格した場合、コンテナは、340でブロックチェーンネットワークレジストリに追加され得る。
【0045】
本開示はクラウドコンピューティングについての詳細な説明を含むが、本明細書で記載される教示内容の実装は、クラウドコンピューティング環境に限定されるものではないことを理解されたい。むしろ、本発明のいくつかの実施形態は、現在既知の、又は今後開発される任意の他のタイプのコンピューティング環境と併せて実装することが可能である。
【0046】
クラウドコンピューティングは、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールに、便利なオンデマンドネットワークアクセスを可能にするサービス配信のモデルであり、これらコンピューティングリソースは最小限の管理作業又はサービスプロバイダとのインタラクションで迅速にプロビジョニングされリリースされることができる。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含み得る。
【0047】
特性は以下のとおりである:
【0048】
オンデマンドセルフサービス:クラウドコンシューマは、サーバ時間及びネットワークストレージなどのコンピューティング能力を、人間がサービスプロバイダとインタラクションすることを必要とせずに自動で、必要に応じて、一方的にプロビジョニングすることができる。
【0049】
幅広いネットワークアクセス:能力は、ネットワークを介して利用可能であり、異種のシン又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準メカニズムを通してアクセスされる。
【0050】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用する複数のコンシューマにサービス提供するためにプールされ、異なる物理及び仮想リソースが、需要に応じて動的に割り当て及び再割り当てされる。コンシューマは一般に提供されたリソースの正確なロケーションに対して支配権又は知識を有していないが、より高いレベルの抽象化(例えば、国、州、データセンター)においてロケーションを指定できる場合があるという点で、ロケーションの独立性の意味がある。
【0051】
迅速伸縮性:能力は、素早くスケールアウトするように、いくつかの場合には自動で、迅速及び伸縮自在にプロビジョニングし、素早くスケールインするように迅速にリリースすることができる。コンシューマにとって、多くの場合、プロビジョニングに利用可能な能力は無制限に見え、いつでも任意の量で購入することができる。
【0052】
測定されるサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブユーザアカウント)に対して適切な或る抽象化レベルでのメータリング能力を利用して、リソース使用を自動で制御して最適化する。リソース使用量をモニタリング、制御及び報告することができ、それにより、利用されるサービスのプロバイダ及びコンシューマの両方に透明性が提供される。
【0053】
サービスモデルは以下のとおりである:
【0054】
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを通して様々なクライアントデバイスからアクセス可能である。コンシューマは、考えられる例外としての限定されたユーザ固有のアプリケーション構成設定を除き、ネットワーク、サーバ、オペレーティングシステム、ストレージ又は更には個々のアプリケーション能力を含む、基礎をなすクラウドインフラストラクチャを管理又は制御しない。
【0055】
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成されたコンシューマ生成又は取得アプリケーションを展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーション、及び場合によってはアプリケーションホスティング環境構成を制御する。
【0056】
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、及び他の基礎的なコンピューティングリソースをプロビジョニングすることである。コンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開及び実行可能である。コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御し、場合によっては選択ネットワーキングコンポーネント(例えば、ホストのファイアウォール)の限定的な制御を行う。
【0057】
展開モデルは以下のとおりである:
【0058】
プライベートクラウド:クラウドインフラストラクチャは、或る組織のためだけに稼働される。プライベートクラウドは、その組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスで存在してよい。
【0059】
コミュニティクラウド:クラウドインフラストラクチャは、幾つかの組織によって共有され、関心(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス考慮事項)を共有する特定のコミュニティをサポートする。コミュニティクラウドは、それらの組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスで存在してよい。
【0060】
パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界団体に対して利用可能にされ、クラウドサービスを販売する組織によって所有される。
【0061】
ハイブリッドクラウド:クラウドインフラストラクチャは、一意のエンティティのままであるが、データ及びアプリケーションポータビリティ(例えば、クラウド間の負荷バランスを行うクラウドバースト)を可能にする標準化された技術又は独自の技術によって結合される、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)を組み合わせたものである。
【0062】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性を重視したサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードからなるネットワークを含むインフラストラクチャが存在する。
【0063】
ここで、
図4を参照すると、例示的なクラウドコンピューティング環境50が示されている。示すように、クラウドコンピューティング環境50は、例えば、パーソナルデジタルアシスタント(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、若しくは自動車コンピュータシステム54N、又はその組み合わせなどの、クラウドコンシューマによって使用されるローカルコンピューティングデバイスと通信し得る、1つ又は複数のクラウドコンピューティングノード10を備える。ノード10は、互いに通信し得る。ノード10は、本明細書の上記で説明されたようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はこれらの組み合わせなどの、1つ又は複数のネットワーク内で物理的に又は仮想的にグループ化されてよい(図示せず)。これにより、クラウドコンピューティング環境50は、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、若しくはソフトウェア又はその組み合わせを提供することができる。
図4に示されるコンピューティングデバイス54A~Nのタイプは、例示のみを意図し、コンピューティングノード10及びクラウドコンピューティング環境50は、任意のタイプのネットワーク若しくはネットワークアドレス指定可能な接続(例えば、ウェブブラウザを使用して)又はその組み合わせを通して、任意のタイプのコンピュータ化デバイスと通信可能であることを理解されたい。
【0064】
ここで、
図5を参照すると、クラウドコンピューティング環境50(
図4)により提供される機能抽象化レイヤのセットが示されている。
図5に示されたコンポーネント、レイヤ、及び機能は、例示のみを意図したものであり、本発明のいくつかの実施形態はこれに限定されるものではないことをあらかじめ理解されるべきである。図示されているように、以下のレイヤ及び対応する機能が設けられている:
【0065】
ハードウェア及びソフトウェアレイヤ60は、ハードウェアコンポーネント及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は:メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62;サーバ63;ブレードサーバ64;ストレージデバイス65;及び、ネットワーク及びネットワーキングコンポーネント66を含む。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を含む。
【0066】
仮想化レイヤ70は:仮想サーバ71;仮想ストレージ72;仮想プライベートネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;及び仮想クライアント75である、仮想エンティティの以下の例が提供され得る抽象化レイヤを提供する。
【0067】
1つの例では、管理レイヤ80は、以下で説明される機能を提供してもよい。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するのに利用される、コンピューティングリソース及び他のリソースの動的な調達を提供する。メータリング及び価格設定82は、クラウドコンピューティング環境内でリソースが利用されるときのコスト追跡、及びこれらのリソースの消費に対する請求又はインボイス作成を提供する。1つの例では、これらのリソースは、アプリケーションソフトウェアライセンスを含んでもよい。セキュリティは、クラウドコンシューマ及びタスクに対する識別情報検証、並びに、データ及び他のリソースに対する保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者に、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要とされるサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)計画及び履行85は、SLAに従って将来の要件が予測されるクラウドコンピューティングリソースの事前準備及び調達を提供する。
【0068】
ワークロードレイヤ90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。このレイヤから提供され得るワークロード及び機能の例は:マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育配信93;データ分析処理94;トランザクション処理95;及びブロックチェーンインフラストラクチャのセキュアプロビジョニングの保証96を含む。
【0069】
ここで、
図6を参照すると、
図2及び
図3に説明される、例えば方法200/300を含む本開示の様々な態様を実行するように構成され得る例示的コンピュータシステム601のハイレベルブロック図が示されている。例示的コンピュータシステム601は、本開示の実施形態に係る、本明細書で説明される方法又はモジュール、及び任意の関連機能又は動作のうちの1つ又は複数を実装する際に(例えば、コンピュータの1つ又は複数のプロセッサ回路又はコンピュータプロセッサを使用して)使用され得る。いくつかの実施形態では、コンピュータシステム601の例示的なコンポーネントは、1つ又は複数のCPU602、メモリサブシステム604、端末インタフェース612、ストレージインタフェース614、I/O(入力/出力)デバイスインタフェース616、及びネットワークインタフェース618を備え、これらのすべては、メモリバス603、I/Oバス608及びI/Oバスインタフェースユニット610を介してコンポーネント間通信のために直接的又は間接的に通信可能に結合されてもよい。
【0070】
コンピュータシステム601は、本明細書においてCPU602と総称される、1つ又は複数の汎用プログラマブル中央処理装置(CPU)602A、602B、602C、及び602Dを含んでもよい。いくつかの実施形態では、コンピュータシステム601は、比較的大規模なシステムに典型的な、複数のプロセッサを含んでもよいが、他の実施形態では、コンピュータシステム601は、代替的に単一のCPUシステムであってもよい。各CPU602は、メモリサブシステム604に格納された命令を実行してもよく、1つ又は複数のレベルのオンボードキャッシュを含んでもよい。メモリサブシステム604は、プロセッサ602によって実行される場合に、プロセッサ602に、
図2~
図3に関して上記で説明された機能の一部又はすべてを実行させる命令606を含んでもよい。
【0071】
いくつかの実施形態では、メモリサブシステム604は、データ及びプログラムを格納するための、ランダムアクセス半導体メモリ、ストレージデバイス、又は記憶媒体(揮発性又は不揮発性)を有してもよい。いくつかの実施形態では、メモリサブシステム604は、コンピュータシステム601の仮想メモリ全体を表す場合があり、またネットワークを介して接続されたコンピュータシステム601に結合された他のコンピュータシステムの仮想メモリを含んでもよい。メモリサブシステム604は、概念的に単一のモノリシックエンティティであってもよいが、いくつかの実施形態では、メモリサブシステム604は、キャッシュ及び他のメモリデバイスの階層などのより複雑な構成であってもよい。例えば、メモリは、複数のレベルのキャッシュで存在してもよく、これらのキャッシュは、さらに、1つのキャッシュが命令を保持する一方で、別のキャッシュがプロセッサ(単数又は複数)によって使用される非命令データを保持するように、機能で分けられ得る。様々ないわゆる不均等メモリアクセス(NUMA)コンピュータアーキテクチャのいずれかにおいて知られているように、メモリは、さらに分散されて、種々のCPU又はCPUのセットと関連付けられてもよい。いくつかの実施形態では、メインメモリ又はメモリサブシステム604は、CPU602によって使用されるメモリの制御及びフローに関する要素を含み得る。これは、メモリコントローラ605を含み得る。
【0072】
図6では、メモリバス603は、CPU602、メモリサブシステム604、及びI/Oバスインタフェース610の間の直接的な通信経路を提供する単一バス構造として示されているが、メモリバス603は、いくつかの実施形態では、複数の異なるバス又は通信経路を有してもよく、これらのバス又は通信経路は、階層型、星型、又はウェブ構成のポイントツーポイントリンク、複数の階層型バス、並列及び冗長な経路、又は任意の他の適切なタイプの構成などの、様々な形態のいずれかで配置されていてもよい。さらに、I/Oバスインタフェース610及びI/Oバス608は、単一のそれぞれのユニットとして示されているが、コンピュータシステム601は、いくつかの実施形態では、複数のI/Oバスインタフェースユニット610、複数のI/Oバス608、又はその両方を含んでいてもよい。さらに、I/Oバス608を、様々なI/Oデバイスに達する様々な通信経路から分離する複数のI/Oインタフェースユニットが示されているが、他の実施形態では、I/Oデバイスの一部又はすべてが、1つ又は複数のシステムI/Oバスに直接接続されてもよい。
【0073】
いくつかの実施形態では、コンピュータシステム601は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又は、直接的なユーザインタフェースをほとんど又は全く有さないが他のコンピュータシステム(クライアント)からの要求を受信するサーバコンピュータ又は同様のデバイスであってもよい。さらに、いくつかの実施形態では、コンピュータシステム601は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップ又はノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話機、スマートフォン、モバイルデバイス、又は任意の他の適切なタイプの電子デバイスとして実装されてもよい。
【0074】
図6は、例示的なコンピュータシステム601の代表的な例示的コンポーネントを示すことを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々のコンポーネントが、
図6に表されたものよりも複雑であっても、又はそれよりも複雑でなくてもよく、
図6に示されたコンポーネント以外の、又はそれに加えてコンポーネントが存在してもよく、そのようなコンポーネントの数、タイプ、及び構成は多様であってもよい。
【0075】
本発明は、任意の可能な技術詳細レベルで統合化されたシステム、方法、若しくはコンピュータプログラム製品、又はその組み合わせであり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(単数又は複数)を含んでもよい。
【0076】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述のものの任意の好適な組み合わせであり得るが、これらに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストは、次のもの:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的にエンコードされたデバイス、及び、上述のものの任意の好適な組み合わせを含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波又は他の自由に伝搬する電磁波、導波路又は他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して伝送される電気信号など、一過性の信号そのものであると解釈されてはならない。
【0077】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、若しくは無線ネットワーク、又はその組み合わせを介して、外部コンピュータ又は外部ストレージデバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、若しくはエッジサーバ、又はその組み合わせを備え得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0078】
本発明の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、C++などのオブジェクト指向のプログラミング言語、及び「C」プログラミング言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書き込まれた、ソースコード又はオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で全体を、ユーザのコンピュータ上で一部分を実行すること、ユーザのコンピュータ上で一部分を、及びリモートコンピュータ上で一部分を実行すること、又は、リモートコンピュータ又はサーバ上で全体を実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又はその接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われてもよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズ化することができる。
【0079】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図若しくはブロック図又はその両方を参照して、説明されている。フローチャート図若しくはブロック図又はその両方の各ブロック、及びフローチャート図若しくはブロック図又はその両方のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ることが理解されるであろう。
【0080】
これらのコンピュータ可読プログラム命令を汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供して機械を生成してよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート若しくはブロック図又はその両方の単数又は複数のブロックで指定された機能/動作を実装する手段を作成するようになる。これらのコンピュータ可読プログラム命令はまた、命令が格納されているコンピュータ可読記憶媒体が、フローチャート若しくはブロック図又はその両方の単数又は複数のブロックで指定された機能/動作の態様を実装する命令を含む製造物品を備えるべく、コンピュータ、プログラマブルデータ処理装置、若しくは他のデバイス又はその組み合わせに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に格納されてもよい。
【0081】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は、他のデバイスにロードして、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で一連の動作段階を実行させることでコンピュータ実装プロセスを生成することもでき、それにより、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で実行される命令が、フローチャート若しくはブロック図又はその両方の単数又は複数のブロックで指定された機能/動作を実装するようになる。
【0082】
図面におけるフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の考えられる実装のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装する1つ又は複数の実行可能命令を含む命令のモジュール、セグメント、又は一部を表し得る。いくつかの代替的な実装において、ブロックに記載される機能が、図面に記載される順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよいし、ブロックは、関与する機能に依存して逆の順序で実行される場合もあり得る。ブロック図若しくはフローチャート図又はその両方の各ブロック、及びブロック図若しくはフローチャート図又はその両方におけるブロックの組み合わせが、指定された機能又は動作を実行する、又は専用ハードウェア及びコンピュータ命令の組み合わせを実行する、専用ハードウェアベースのシステムによって実装され得ることにも留意されたい。
【0083】
本発明の様々な実施形態の説明は、例示の目的で提示されてきたが、包括的になること、又は開示された実施形態に限定されることを意図するものではない。説明した実施形態の範囲から逸脱しない、多くの変更及び変形が当業者には明らかになるであろう。本明細書において使用される専門用語は、実施形態の原理、実用的な適用又は市場で見られる技術に対する技術的改善を最適に説明し、又は、本明細書において開示される実施形態を他の当業者が理解することを可能にするように選択された。
[項目1]
ブロックチェーンインフラストラクチャのセキュリティを向上させる方法であって、前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新する段階を備え、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定のアップデートのセットを有し、及び
前記コンジットノードのセット内の各コンジットノードは、前記アップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
方法。
[項目2]
新たなレジャーノードが前記ブロックチェーンインフラストラクチャに追加されることを判定する段階、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供する段階;
前記新たなレジャーノードは、前記アップデートのセットを適用していることを判定する段階;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する段階
をさらに備える、項目1に記載の方法。
[項目3]
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定する段階、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットに準拠することを確認する段階;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加する段階、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供する段階;
前記新たなレジャーノードが、前記アップデートのセットを適用していることを判定する段階;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加する段階
をさらに備える、項目1に記載の方法。
[項目4]
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用する段階;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定する段階;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止する段階
をさらに備える、項目1に記載の方法。
[項目5]
前記1つ又は複数のレジャーノードを使用停止する段階は、
新たなレジャーノードを識別する段階、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する段階;
前記新たなレジャーノード上に、前記スナップショットを複製する段階;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する段階
をさらに備える、項目4に記載の方法。
[項目6]
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、項目5に記載の方法。
[項目7]
ソフトウェアがクラウド環境でサービスとして提供されて、前記ブロックチェーンインフラストラクチャをプロビジョニングする、項目1に記載の方法。
[項目8]
ブロックチェーンインフラストラクチャのセキュリティを向上させるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を備え、前記プログラム命令は、デバイスに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードを、コンジットノードのセットを介して連続的に更新させるために前記デバイスによって実行可能であり、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定のアップデートのセットを有し、及び
前記コンジットノードのセット内の各コンジットノードは、前記アップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
コンピュータプログラム製品。
[項目9]
前記プログラム命令は、さらに前記デバイスに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードは、前記アップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
項目8に記載のコンピュータプログラム製品。
[項目10]
前記プログラム命令は、さらに前記デバイスに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットに準拠することを確認させ;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加させ、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードが、前記アップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
項目8に記載のコンピュータプログラム製品。
[項目11]
前記プログラム命令は、さらに前記デバイスに、
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用させ;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定させ;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止させる、
項目8に記載のコンピュータプログラム製品。
[項目12]
前記1つ又は複数のレジャーノードを使用停止する手順は、
新たなレジャーノードを識別する手順、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する手順;
前記新たなレジャーノード上に、前記スナップショットを複製する手順;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する手順
をさらに備える、項目11に記載のコンピュータプログラム製品。
[項目13]
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、項目12に記載のコンピュータプログラム製品。
[項目14]
ソフトウェアがクラウド環境でサービスとして提供されて、前記ブロックチェーンインフラストラクチャをプロビジョニングする、項目8に記載のコンピュータプログラム製品。
[項目15]
ブロックチェーンインフラストラクチャのセキュリティを向上させるシステムであって、前記システムは、
その上にプログラム命令が含まれるメモリサブシステム;及び
前記メモリサブシステムと通信しているプロセッサ
を備え、前記プログラム命令は、前記プロセッサに、
前記ブロックチェーンインフラストラクチャ内の複数のレジャーノードをコンジットノードのセットを介して連続的に更新させ、
前記コンジットノードのセットは、セキュアプロビジョンレジャーを共有し、
前記セキュアプロビジョンレジャーは、前記ブロックチェーンインフラストラクチャに関する規定のアップデートのセットを有し、及び
前記コンジットノードのセット内の各コンジットノードは、前記アップデートのセットを、前記複数のレジャーノードのサブセットに伝搬する、
システム。
[項目16]
前記プログラム命令は、さらに前記プロセッサに、
新たなレジャーノードが前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、第1のコンジットノードと関連付けられる;
前記第1のコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードは、前記アップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
項目15に記載のシステム。
[項目17]
前記プログラム命令は、さらに前記プロセッサに、
新たなレジャーノードが、前記ブロックチェーンインフラストラクチャに追加されることを判定させ、ここで前記新たなレジャーノードは、新たなコンジットノードと関連付けられる;
前記新たなコンジットノードは、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットに準拠することを確認させ;
前記新たなコンジットノードを、前記ブロックチェーンインフラストラクチャ内の前記コンジットノードのセットに追加させ、前記新たなコンジットノードは、前記共有されたセキュアプロビジョンレジャーを有する;
前記新たなコンジットノードを介して、前記ブロックチェーンインフラストラクチャに関する前記アップデートのセットを、前記新たなレジャーノードに提供させ;
前記新たなレジャーノードが、前記アップデートのセットを適用していることを判定させ;及び
前記新たなレジャーノードを前記ブロックチェーンインフラストラクチャに追加させる、
項目15に記載のシステム。
[項目18]
前記プログラム命令は、さらに前記プロセッサに、
前記共有されたセキュアプロビジョンレジャーに、前記ブロックチェーンインフラストラクチャに関する1つ又は複数の新たなアップデートを適用させ;
前記複数内の1つ又は複数のレジャーノードが、前記1つ又は複数の新たなアップデートに準拠することができないことを判定させ;及び
前記ブロックチェーンインフラストラクチャから前記1つ又は複数のレジャーノードを使用停止させる、
項目15に記載のシステム。
[項目19]
前記1つ又は複数のレジャーノードを使用停止する手順は、
新たなレジャーノードを識別する手順、前記新たなレジャーノードは、前記1つ又は複数の新たなアップデートに準拠する;
前記1つ又は複数のレジャーノードと関連付けられるブロックチェーン情報のセットのスナップショットを生成する手順;
前記新たなレジャーノード上に、前記スナップショットを複製する手順;及び
前記新たなレジャーノードを、前記ブロックチェーンインフラストラクチャに追加する手順
をさらに備える、項目18に記載のシステム。
[項目20]
前記コンジットノードのセット内の各コンジットノードは、一意のエンティティによって所有される、項目19に記載のシステム。