(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023107918
(43)【公開日】2023-08-03
(54)【発明の名称】ブロックチェーンをデジタルツインにリンクするための、コンピュータにより実施されるシステム及び方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20230727BHJP
G06F 21/64 20130101ALI20230727BHJP
【FI】
H04L9/32 200B
H04L9/32 200E
G06F21/64
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023097374
(22)【出願日】2023-06-14
(62)【分割の表示】P 2020523295の分割
【原出願日】2018-10-23
(31)【優先権主張番号】1718182.7
(32)【優先日】2017-11-02
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】1719212.1
(32)【優先日】2017-11-20
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】1804744.9
(32)【優先日】2018-03-23
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】コヴァチ,アレグザンドラ
(72)【発明者】
【氏名】デステファニス,ジュゼッペ
(72)【発明者】
【氏名】マデオ,シモーネ
(72)【発明者】
【氏名】モティリンスキ,パトリック
(72)【発明者】
【氏名】ヴィンセント,ステファヌ
(57)【要約】
【課題】 デジタルツインから取得したデータのための記憶システムとしてブロックチェーン技術を使用するコンピュータにより実施される方法及びシステムが記載される。
【解決手段】 ブロックチェーンは、デジタルツインにより生成されたデータの不変のトランザクション履歴を生成するために使用できる。エラー、障害、事故、災難が生じた場合に、関心パーティは不変データセットにアクセスし分析できる。ブロックチェーンネットワークは、デジタルツインから受信したデータに基づきデジタルスマートコントラクトを実行することもできる。本発明は、Bitcoinブロックチェーン又は別のブロックチェーンプロトコルと関連して使用されてよい。
【選択図】
図7
【特許請求の範囲】
【請求項1】
ブロックチェーンのための、コンピュータにより実施される方法であって、前記コンピュータにより実施される方法は、
バッファにおいてデジタルツインからデータストリームを受信するステップと、
前記データストリームを個別メッセージのシーケンスに変換するステップと、
ブロックチェーンにトランザクションを後に記録するために、個別メッセージの前記シーケンスをブロックチェーンネットワークの受信ノードへ送信するステップであって、前記トランザクションは、個別メッセージの前記シーケンスに関連付けられたデータを含み、前記受信ノードは特別な検証ノードである、ステップと、
を含むコンピュータにより実施される方法。
【請求項2】
セキュアなチャネルが確立される度に、共有鍵の新しい値が生成される、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記受信ノードへ送信される個別メッセージ毎に、共有鍵の新しい値が生成される、請求項1又は2に記載のコンピュータにより実施される方法。
【請求項4】
前記バッファは、前記受信ノードへ送信される個別メッセージの数及び/又はレートを決定する、請求項1乃至3のいずれか一項に記載のコンピュータにより実施される方法。
【請求項5】
前記バッファは、送信するときの前記ブロックチェーンネットワークの状態を示す1つ以上のパラメータに基づき、前記受信ノードへ送信される個別メッセージの前記数及び/又はレートを決定する、請求項4に記載のコンピュータにより実施される方法。
【請求項6】
前記バッファは、送信される個別メッセージの数を追跡するカウンタを初期化する、請求項1乃至5のいずれか一項に記載のコンピュータにより実施される方法。
【請求項7】
前記受信ノードへ送信される各個別メッセージmiについて、前記バッファはハッシュH(mi)を計算し格納する、請求項1乃至6のいずれか一項に記載のコンピュータにより実施される方法。
【請求項8】
多数の個別メッセージが送信された時間tの後に、前記バッファは、前記時間tまでに送信された個別メッセージに関連するハッシュのシーケンスで構成されるメッセージmhを送信する、請求項7に記載のコンピュータにより実施される方法。
【請求項9】
前記バッファは、前記メッセージmhのハッシュを含む更なるメッセージmHを送信する、請求項8に記載のコンピュータにより実施される方法。
【請求項10】
個別メッセージの前記シーケンスは、2つのセキュアなチャネルを通じて、前記バッファから前記受信ノードへ送信される、請求項1に記載のコンピュータにより実施される方法。
【請求項11】
コンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行されると、1つ以上のプロセッサを、請求項1乃至10のいずれか一項に記載の方法を実行するよう構成する、コンピュータ可読記憶媒体。
【請求項12】
電子装置であって、
インタフェース装置と、
前記インタフェース装置に結合された1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリであって、前記メモリはコンピュータ実行可能命令を格納し、前記コンピュータ実行可能命令は、実行されると、前記1つ以上のプロセッサを、請求項1に記載の方法を実行するよう構成する、メモリと、
を含む電子装置。
【請求項13】
バッファであって、前記バッファは、請求項1に記載の方法を実行するよう構成されるバッファ。
【請求項14】
ブロックチェーンネットワークのノードであって、前記ノードは、請求項1に記載の方法を実行するよう構成されるノード。
【請求項15】
デジタルツインと、請求項13に記載のバッファと、請求項14に記載のブロックチェーンネットワークのノードと、を含むシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して、ブロックチェーンネットワークのノードに実装するのに適するコンピュータにより実施される方法及びシステムに関する。本発明は、限定ではなく、Bitcoinブロックチェーンと共に使用することに特に適する。本発明は、コンピュータにより実施されるシステムにおけるセキュリティ、完全性、及び効率にも関する。
【背景技術】
【0002】
今日の工業的資産は、種々のモデル及び膨大な数のデータソースに依存して設計される。データ科学者は、膨大な量のデータと共に研究し、一方で、専門チームが彼ら固有の研究について別個にモデルを生成し分析を行う。大部分の現在の情報及び計算は、重要な決定のために直ちに利用可能ではない場合がある。このような個々に(in silos)研究する方法は、コストと非効率を引き起こし、不確実性を生成し、膨大な時間及びリソースを浪費させる。センサ及びプロセスにより生成されたデータを最大限に利用するために、デジタルツインが非常に役立つ。
【0003】
デジタルツインは、テストを行いエラー又は障害を防ぐことの可能な現実のオブジェクト、プロセス、又はサービスの仮想動的コピーである。製品、航空機又は車両の機械的部分、生産プロセス、等のデジタルツインを生成することが可能である。デジタルツインは、シミュレーション及びリアルタイムデータ及び応答の革命的な結合として理解できる。
【0004】
プロセス又はシステムのシミュレーションの動作は、シミュレーションに含まれる全ての変数が過去にどのように動作したかの知識、及び全ての入力/出力変数が記録されるテスト中のシステムが観察される十分に大きな時間枠を前提とする。過去の知識を有することは、良好なシミュレータを構築するために必須である。リアルタイム情報をこのプロセスに追加する可能性は、システム又はプロセスの正確な動作をミラーリングする時点まで、シミュレーション全体の正確さ及び精度を劇的に向上できる。この可能性は、工業界(Industry 4.0)にとって革命的であり、Gartnerは、デジタルツインを2017年の最も重要な破壊的技術の1つとして分類した[http://www.gartner.com/smarterwithgartner/gartners-top-10-technology-trends-2017/]。
【0005】
図1は、物理的システムのためのデジタルツインの単純な概略図を示す。センサは、例えば航空機の部品であり得る物理的システムに関するデータを収集する。履歴データは、デジタルツインを構築するために使用され、デジタルツインは次に、更なるリアルタイムデータがシステムに供給されるとき、物理的システムのシミュレーションを展開する。デジタルツインは、物理的システムのパラメータを監視し、物理的システムの現在状態を評価し、物理的システムの将来状態を予測し、例えば物理的システムの障害を予測するためにテストを行い、例えば部品を交換することにより又は異なる方法で物理的システムを作動することにより、障害を回避することを助けるために使用できる。
【0006】
後述するように、多数の問題が、現在のデジタルツイン技術と共に特定されている。
【0007】
デジタルツインの信頼性及びセキュリティは、デジタルツインが依存するデータのセキュリティに依存する。データは、デジタルツインの動作がリアルタイム動作の間に改ざんできないように及び物理的システムの状態を正しく反映するために、理想的には不変であるべきである。これは、例えば、第三者がデータに干渉して、デジタルツインが物理的システムのリアルタイム状態を正しく表さないようにし、物理的システムの動作誤り又は障害を生じ得る誤った情報を提供するようにすることを防ぐために、重要であり得る。
【0008】
さらに、格納されたデータは、システムの性能の正確な信頼できる過去の記録が保たれるように、不変であるべきである。これは、例えば、物理的システムが故障し、物理的システムがなぜ故障したのかを確認するためにデータを調べる必要がある場合に、及び物理的システムのユーザ又は製造者の一部に責任が存在する場合に、重要になることがある。これは、特定の動作が早期の措置の実行に依存し得る処理においても重要になることがある。この場合、第三者は、格納されたデータを変更して、特定の動作が実行されたように見せかけ、実際に実行されていないときに、誤って更なる動作をトリガする可能性がある。
【0009】
更なる問題は、多数の関心パーティの各々に対するデータのアクセス可能性の問題である。パーティは矛盾する関心を有することがあり、したがって全てのパーティによりアクセス可能でありながらセキュア且つ不変であるデータの中立的な記録を有することが有利である。
【0010】
更なる問題は、航空機のブラックボックスレコーダのような従来のデータ記憶ソリューションが、事故が生じた場合に損傷し又は損失し得ることである。
【0011】
更なる問題は、前の動作が完了すると、更なる動作が要求されるシナリオであり、デジタルツインは、更なる動作が要求されることを示すことができるが、それが実際に実行されることを保証できない。例えば、デジタルツインは、特定の物理的プロセスが完了したことを示してよく、したがって、物理的プロセスの完了に対する支払いのような更なるステップを要求する。しかしながら、デジタルツインは、このような支払いが実際に行われることを保証できず、したがって、プロセスの当事者を信頼して支払い、又はプロセスの提供者の信頼性に依存して前払いして、プロセスを適正に完了する。
【発明の概要】
【0012】
本発明の特定の実施形態の目的は、ここに説明されるようなソリューションを提供することにより、上述の問題を解決することである。
【0013】
本発明の発明者らは、前述の問題が、デジタルツインを用いるリアルタイムアプリケーションを含む物理的システムから取得したデータ及びプロセスのための記憶システムとしてブロックチェーン技術を用いて解決できることを理解した。デジタルツインから生成されたデータは、例えば、物理的システムの1つ以上のパラメータを監視する1つ以上のセンサにより生成された物理的システムの1つ以上のパラメータに関連付けられたデータであり得る。ブロックチェーンは、デジタルツインにより生成されたデータの不変のトランザクション履歴を生成するために使用できる。エラー、障害、事故、災難が生じた場合に、関心パーティは不変データセットにアクセスし分析できる。これは、航空機のような安全重視のシステムにおいて特に重要であり得る。さらに、ブロックチェーンは、データの分散型記憶を提供するので、個々の記憶ユニットの損傷又は損失の影響を受けにくい。またさらに、本発明の発明者らは、デジタルツインが、パーティにデジタルスマートコントラクトをブロックチェーンネットワーク上で実施させることを可能にすることを理解した。これは、ステップが、ブロックチェーンネットワークにより、物理的システムの状態を示すデジタルツインにより受信されるデータに従い実行可能であることを保証できる。つまり、ブロックチェーンネットワークは、デジタルツインを組み込むシステム又は処理に関連する複数のパーティとのデジタルスマートコントラクトを実行するために使用可能である。
【0014】
現在のブロックチェーン技術は、比較的頻繁ではない時間期間で比較的少ないデータ量が格納される必要があるとき、前述の機能を満たすことができる。しかしながら、ブロックサイズ制限、及びブロックが約10分毎にブロックチェーンに組み込まれるだけであるという事実は、標準的なブロックチェーン技術が、生成されるデータ量が非常に大きく及び/又は高い頻度/忠実度で、例えば1秒毎又は1ミリ秒毎にデータを格納するという要件があるリアルタイムアプリケーションのための記憶システムとしてはあまり適さないことを意味する。ブロックチェーンをリアルタイムシステムのための記憶システムとして利用するために、これらの問題を克服するアプローチも、ここに記載される。アプローチは、デジタルツインからの膨大なデータを処理するためにブロックチェーンネットワーク内に実装される適切なプロトコル;ブロックチェーンネットワーク内でデータを処理するための変更されたブロックチェーンネットワークアーキテクチャ;デジタルツインからの膨大なデータを処理するためのデジタルツインとブロックチェーンネットワークとの間の適切なインタフェースの提供;のうちの1つ以上を含む。
【0015】
デジタルツインからの膨大なデータを処理するための、デジタルツインとブロックチェーンネットワークとの間の適切なインタフェースを提供する観点から、コンピュータにより実施される方法であって、バッファにおいてデジタルツインからのデータストリームを受信するステップと、データストリームを個別メッセージのシーケンスに変換するステップと、ブロックチェーンにトランザクションを後に記録するために、個別メッセージのシーケンスをブロックチェーンネットワークの受信ノードへ送信するステップであって、トランザクションは、個別メッセージのシーケンスに関連付けられたデータを含コンピュータにより実施される方法が提供され得る。
【0016】
個別メッセージのシーケンスは、メッセージのシーケンスのうちの各メッセージを暗号化することにより、セキュアなチャネルを通じて、バッファから受信ノードへ送信できる。セキュアなチャネルは、各メッセージを暗号化し及び解読するための共有鍵を生成するために、バッファと受信ノードとの間の鍵交渉プロトコルを用いて確立できる。共有鍵の新しい値は、セキュアなチャネルが確立される度に生成できる。例えば、受信ノードへ送信される個別メッセージ毎に、共有鍵の新しい値が生成される。
【0017】
受信ノードへ送信される各個別メッセージmiについて、バッファはハッシュH(mi)を計算し格納できる。多数の個別メッセージが送信された時間tの後に、バッファは、時間tまでに送信された個別メッセージに関連するハッシュのシーケンスで構成されるメッセージmhを送信できる。バッファは、メッセージmhのハッシュを含む更なるメッセージmHも送信できる。個別メッセージのシーケンスは、受信ノードにおいて、mh及びmHを用いて検証でき、mhは時間tまでに送信された個別メッセージに関連するハッシュのシーケンスで構成され、mHはメッセージmhのハッシュを含む。
【0018】
これらの特徴は、両方とも、デジタルツインからのデータをブロックチェーンネットワークへ送信するセキュアな手段を提供し、データがブロックチェーンネットワークにより一層迅速に処理される形式で提供されることを保証する。追加レベルのセキュリティが、個別メッセージのシーケンスを2つのセキュアなチャネルを通じて、バッファから受信ノードへ送信することにより提供できる。比較器は、2つのセキュアなチャネルを通じて送信された個別メッセージのシーケンスが一致するかどうかを検証でき、該2つのセキュアなチャネルから受信した個別メッセージのシーケンスが異なる場合、受信ノードはシーケンスを拒否し、個別メッセージのシーケンスを再送するよう通知を送信できる。
【0019】
さらに、バッファは、送信された個別メッセージの数を追跡するカウンタを初期化でき、例えば送信するときのブロックチェーンネットワークの状態を示す1つ以上のパラメータに基づき、受信ノードへ送信される個別メッセージの数及び/又はレートを決定できる。ここでも、これはデータ管理を支援でき、ブロックチェーンネットワークがデータにより過負荷にならないことを保証する。
【0020】
受信ノードのための、コンピュータにより実施される方法であって、ブロックチェーンネットワークの受信ノードにおいて、デジタルツインからのデータストリームから生成された個別メッセージのシーケンスを受信するステップと、ブロックチェーンにトランザクションを後に記録するために、個別メッセージのシーケンスを検証するステップであって、トランザクションは、個別メッセージのシーケンスに関連付けられたデータを含む、ステップと、を含む方法も提供される。トランザクションの記憶は、受信ノードに、ブロックチェーンネットワークの別のノードに、又はブロックチェーンネットワーク内の複数のノードに渡り分散して行われ得る。例えば、検証の後に、個別メッセージのシーケンスは、ブロックチェーンネットワークの分散メモリプールに格納できる。さらに、個別メッセージのシーケンス、又は個別メッセージのシーケンスのハッシュは、次に、ブロックチェーンに格納できる。
【0021】
受信ノードは、パブリックブロックチェーンネットワークのノードであり得る。しかしながら、変更されたインタフェース構成では、受信ノードは、プライベートブロックチェーンネットワークのノードであり、バッファにより生成された個別メッセージのシーケンスは、個別メッセージのシーケンスに関連付けられたデータをパブリックブロックチェーンに取り込む前にプライベートブロックチェーンに格納される。この構成では、バッファにより生成されプライベートブロックチェーンに格納された各メッセージmiについて、ハッシュH(m)が生成され、パブリックブロックチェーンに格納される。
【0022】
本発明の実施形態は、様々な形式で提供できる。例えば、実行されると1つ以上のプロセッサをここに記載の方法を実行させるよう構成するコンピュータ実行可能命令を含むコンピュータ可読記憶媒体が提供できる。電子装置であって、インタフェース装置と、インタフェース装置に結合された1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリであって、メモリはコンピュータ実行可能命令を格納し、コンピュータ実行可能命令は、実行されると、1つ以上のプロセッサを、ここに記載の方法を実行するよう構成する、メモリと、を含む電子装置も提供できる。ここに記載のコンピュータにより実施される方法は、デジタルツイン、バッファ、ブロックチェーンネットワークノード、又は前記のコンポーネントを含むシステム、のうちの1つ以上の中にも実装できる。コンポーネントは、互いに遠隔に置かれ、又はコンポーネントのうちの1つ以上が統合されてよい。
【図面の簡単な説明】
【0023】
本発明の上述の及び他の太陽は、ここに記載の実施形態から明らかであり及びそれらを参照して教示される。本発明の実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。
【
図1】物理的システムのためのデジタルツインの単純な概略図を示す。
【
図2】ブロックチェーン及びプロセスの条件を設定するスマートコントラクトを用いてパーティ間で自動化されたプロセスを有する商業チェーンの単純な例を示す。
【
図3】
図2のシステムにデジタルツインを組み込むプロセスの図を示す。
【
図4】航空機に関連付けられたデジタルツインのための独立記憶システムとしてのブロックチェーンの使用を示す。
【
図5】所与の時間枠の中のデジタルツインにより生成された所与の量のデータを格納するために使用できる増分ハッシュ手順を示す。
【
図6】デジタルツインにより生成された膨大なデータを格納可能な変更されたブロックチェーンネットワークアーキテクチャを示す。
【
図7】デジタルツインとブロックチェーンネットワークとの間のインタフェース構成として、バッファ、セキュアなチャネル、及び受信機の使用を示す。
【
図8】デジタルツインからのデータストリームを個別メッセージのシーケンスに変換するステップを含む、
図7に示すバッファの役割を示す。
【
図9】セキュアなチャネルを介してバッファから受信したメッセージのシーケンスを検証するステップを含む、
図7に示す受信機の役割を示す。
【
図10】第2のセキュアなチャネルを含むデジタルツインとブロックチェーンネットワークとの間のインタフェース構成の変更されたバージョン、及び2つのセキュアなチャネルを介して送信された個別メッセージのシーケンスが一致することを検証することにより、セキュリティレベルを向上する比較器、を示す。
【
図11】受信したメッセージを分散型ハッシュテーブルに格納し、次にハッシュをブロックチェーンに格納するステップを示す。
【
図12】パブリックブロックチェーンにデータを組み込む前に、デジタルツインからのデータを格納するプライベートブロックチェーンを含む、デジタルツインとブロックチェーンネットワークとの間のインタフェース構成の一部の変更されたバージョンを示す。
【
図13】種々の実施形態が実装できるコンピューティング環境を示す概略図である。
【発明を実施するための形態】
【0024】
本願明細書では、私たちは、全ての形式の電子的、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、限定ではないが、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本発明はBitcoinブロックチェーンと共に使用することに限定されず、代替のブロックチェーン実装及びプロトコルが本発明の範囲に包含されることに留意すべきである。
【0025】
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳であり、ブロックにより構成され、ブロックはまたトランザクション及び他の情報により構成される。Bitcoinの場合には、各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、これらのブロックは一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な不変の記録を生成する。トランザクションは、スクリプトとして知られている小さなプログラムを含む。スクリプトは、それらのインプット及びアウトプットを埋め込まれ、トランザクションのアウトプットがどのように及び誰によりアクセス可能であるかを指定する。Bitcoinプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を用いて記述される。
【0026】
トランザクションがブロックチェーンに書き込まれるためには、検証されなければならない。幾つかのネットワークノードは、マイナーとして動作し、各トランザクションが検証されることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェアクライアントは、未使用トランザクションアウトプット(unspent transaction outputs:UTXO)を参照するトランザクションに対してこの検証作業を実行する。検証は、そのロック及びアンロックスクリプトを実行することにより実行されてよい。ロック及びアンロックスクリプトの実行が真(TRUE)と評価する場合、及び特定の他の条件が満たされた場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれてよい。したがって、トランザクションがブロックチェーンに書き込まれるためには、(i)トランザクションを受信したノードにより検証され、トランザクションが有効な場合には、ノードが該トランザクションをネットワーク内の他のノードに中継する、(ii)マイナーにより構築された新しいブロックに追加される、(iii)マイニングされる、つまり過去のトランザクションのパブリック台帳に追加される、ことが必要である。トランザクションは、十分な数のブロックがブロックチェーンに追加されて、トランザクションが現実的に取り消しできないようになると、承認(confirm)されると考えられる。書き込むときに、Bitcoinブロックチェーンネットワークは、約2000個のトランザクションを含むブロックサイズに基づき、ブロックは約10分毎にマイニングされる。
【0027】
ブロックチェーン技術は、暗号通貨の実装の使用のために最も広く知られているが、デジタル事業家が、Bitcoinの基づく暗号セキュリティシステム及び新しいシステムを実装するためにブロックチェーンに格納できるデータの両方の使用を開発し始めている。ブロックチェーンが、暗号通貨において支払いと呼ばれるものだけに限定されない自動化タスク及びプロセスのために使用できれば、非常に有利になる。このようなソリューションは、ブロックチェーンの利益(例えば、永久性、イベントの記録の耐タンパー性、分散型処理、等)を利用しながら、それらの用途をより多様化し得る。
【0028】
研究の一分野は、「スマートコントラクト」の実装のためのブロックチェーンの使用である。これらは、機械可読コントラクト又は合意の条項の実行を自動化するよう設計されたコンピュータプログラムである。自然言語で記述され得る伝統的なコントラクトと異なり、スマートコントラクトは、結果を生成するためにインプットを処理できるルールを含む機械実行可能プログラムであり、これは次に該結果に依存して動作を実行させることができる。
【0029】
本願明細書は、デジタルツインと結合して、及び任意でスマートコントラクトの使用とも結合して、ブロックチェーンの使用を記載する。前述のように、デジタルツインは、サプライ管理プロセスを単純化でき、安全重視のシステム(例えば、航空機及び航空宇宙産業または一般に輸送)のための重要な診断であり得る。デジタルツインとブロックチェーン技術との結合のための可能な用途は多数ある。例えば、ブロックチェーンネットワークは、デジタルツインにより生成された情報を安全に格納するために、又はデジタルツインを組み込むシステム又はプロセスに関連する複数の関連パーティとのコントラクトを実行するために、使用できるデジタルツインは、物理的システムとブロックチェーンとの間のインタフェースとして効果的に機能できる。その結果、システム又はプロセスに関するデータは、デジタルツインにより取得され、ブロックチェーンに格納でき、ブロックチェーンは、ブロックチェーンに格納された1つ以上のスマートコントラクトに従い、受信したデータに基づき特定の動作をトリガできる。
【0030】
デジタルツインにより生成されたリアルタイムデータの量は、ミラーリングされるシステムの複雑性に依存して変化し得る。例えば、デジタルツインは、オフィスの温度をミラーリングするよう構成され得る。この場合、室温は通常、急激に変化しないことを考えると、ネットワークを介して送信されるデータの量を削減するために、温度の値を毎分(又は5分毎)に送信するのが妥当であり得る。毎分の温度の値の場合には、デジタルツインは、毎時60個の温度値を(リアルタイムに)記録し送信する。
【0031】
このようなデータ量は、勿論、ブロックチェーン上の記録にとっては妥当であり、大きな問題を生じない。しかしながら、ミラーリングされるシステムが例えば飛行中の航空機のエンジン、又は列車走行中の列車のシリンダである場合、状況はより複雑になる。これらの例では、値を毎秒送信しても不十分である可能性があり、より高い忠実度、例えばミリ秒毎のサンプル(航空機の場合に正に起こり得る)を保証する必要があり得る。また、記録される変数の数は変化し得る。複雑なシステムでは、高い忠実度で膨大な数の変数を記録するという要件が存在することがある。
【0032】
デジタルツインにより送信されるデータの量及び頻度を考える必要性は、特定のオブジェクト又はプロセスに関連する情報を格納するために可能なバックボーンインフラストラクチャとしてブロックチェーンを検討するとき、制約を伴う重要な前提である。
【0033】
<スマートコントラクト、デジタルツイン、及びブロックチェーン>
デジタルツインは、ブロックチェーンと相互作用する外部オブジェクトとして、例えばブロックチェーン上に実装されるデジタルコントラクトにおける関連パーティとして考えられる。つまり、デジタルツインは、ブロックチェーン上にトランザクションを記録し1つ以上のデジタルコントラクトに参加できるエンティティと考えることができる。エージェントが、ドメイン固有言語(domain specific languages:DSL)を用いて金融商品を構成し、信頼不要なパーティにコントラクトの実行をアウトソースし、及びコントラクト実行の正確さを公に検証することを可能にするプロトコルが提供できる。
【0034】
このようなプロトコルは、完全性(つまり、プロトコルに正しく従う場合、正直な検証者がアウトプットの有効性を確信する);健常性(つまり、不正な証明者が、正直な検証者に、アウトプットが真正であることが真であると確信させることができない);ゼロ知識(つまり、アウトプットが有効である場合、不正な検証者がこの事実から何も知ることができない);を保証する暗号プリミティブ(cryptographic primitives)を利用する。
【0035】
このようなプロトコルの基本的利点は、参加者間の通信が要求されないので中間者攻撃を防ぐことができること、ブロックチェーン技術の使用により悪意あるノードがデータを改ざんすることが困難であること、及びコントラクト検証がコード再実行を含まないことである。計算は、ネットワーク内の各ノードにより複製されない。代わりに、正直な実行の証拠が、パブリックブロックチェーンに格納され、検証目的でのみ使用される。
【0036】
<実際の例>
ブロックチェーンの出現は、高価な集中型のネットワークインフラストラクチャを設定する必要を伴わずに、且つ全ての参加者が耐タンパー性レコードに格納された同じデータへのアクセスを有するという大きな利益を伴い、複数のパーティを含むプロセスを自動化する新しい方法の可能性を開いた。さらに、ブロックチェーン技術は、スマートコントラクトプロトコルが交渉及びコントラクトの実行を促進しできることを可能にする。
【0037】
3つのパーティ、つまり(i)スーパーマーケット、(ii)運送会社、(iii)有機農家、が含まれる実際の例を考える。農家は、48時間以内に消費されなければならない有機野菜を販売し、スーパーマーケット(又は一般に店)に販売した場合、商品は、配送中に冷蔵されたまま、最終的な目的地に8時間以内に届かなければならない。
図2は、ブロックチェーン及びプロセスの条件を設定するスマートコントラクトを用いるパーティ間の自動化されたプロセスを有する商業チェーンを含む。
【0038】
プロセスに関連する3つのパーティは独立しており、全てがバリューチェーンに含まれる。この単純な例は、このプロセスの中で何ら指標が検討されなかった場合に、このシナリオでパーティ間の信頼がどれだけ重要かを示す。単純な世界では、農家は配達員を知っており信頼し、配達員は、配達用に使用されるトラックが正しく動作すること及び荷台の中の温度がスーパーマーケットにより指定されたコントラクトの中で要求されるように3度より低く保たれることを保証している。農家も、商品が最大8時間以内に配達されるという事実を信頼する。同時に、スーパーマーケットのマネージャは、農家及び配達員の両者を知っており、彼らの両方を信頼する。信頼又は既往歴がない場合には、ブロックチェーンとデジタルツインとの結合が、問題を解決できる。
【0039】
デジタルツインは、荷台の中で使用され、有機野菜が輸送される環境条件をミラーリングする。このような情報は、ブロックチェーンに格納でき、農家及びスーパーマーケットのマネージャの両者が、配送中に何が起こったかを検証することができる。ブロックチェーンは、プロセス全体のバックボーンとして機能できる。
図3は、(i)配送中にデジタルツインにより提供されたデータを登録するステップ、及び(ii)全ての条件がコントラクトに適合することを保証するために、異なるトランザクションを記録するステップ、を含むプロセスでブロックチェーンがどのように使用できるかの単純な例を示す。シナリオは、プロセスに含まれる全てのパーティが全てのトランザクションに署名できる場合を考えると、より明確に且つより複雑にすることができる。提案された例では、スーパーマーケットのマネージャは農家と取引しない。提案された例は、非常に単純であり、目的は、ブロックチェーンがデジタルツイン技術をどのように織り込むことができるかを示すことである。
【0040】
図2及び3に示した例では、デジタルツインは、配送プロセスを擬態するために、荷台の中の温度及び配送の時間の両方をミラーリングする。しかしながら、より単純な例では、温度の挙動だけを擬態することが望ましい場合には、温度センサは、このようなシステムについてデジタルツインとして定めることができる。
【0041】
<デジタルツインのための記憶システムとしてのブロックチェーン>
この章は、ブロックチェーンをデジタルツインネットワークインフラストラクチャの主要要素として使用することを説明する。
図4のシナリオは、ブロックチェーンがインフラストラクチャの基本コンポーネントである実際の安全重視の例を示す。図示の構成では、航空機に関連付けられたデジタルツインのための独立記憶システムとしてのブロックチェーンが使用される。
【0042】
航空機は、航空機関及び航空会社(例えば、民間航空)の両者による頻繁な保守活動及び厳しい制御を受ける非常に複雑なシステムである。航空機の異なるサブシステム、例えば油圧ポンプ、ブレーキシステム、翼、着陸ギア、等をミラーリングするデジタルツインは、保守プロセスを最適化する際に及び事故を防ぐ際に非常に有用であり得る。ブロックチェーンは、デジタルツインにより生成されたデータの不変のトランザクション履歴を生成する。
【0043】
見落とし、又は事故の場合には最悪のシナリオで、一般的航空機関と航空会社の両者が、ブロックチェーンに格納された不変のデータセットにアクセスし、飛行の履歴全体を分析することが可能である。飛行中の航空機の挙動を記録するデジタルツインのアレイは、データセットを調べることに関心のある全てのパーティによりアクセス可能な中立的記録(ブロックチェーン)に格納された強力な「フライトレコーダ」を構成し得る。
【0044】
<データサイズ及び頻度の問題>
上述のように、現在のブロックチェーン技術は、比較的頻繁ではない時間期間で比較的少ないデータ量が格納される必要があるとき、前述の機能を満たすことができる。しかしながら、ブロックサイズ制限、及びブロックが約10分毎にブロックチェーンに組み込まれるだけであるという事実は、標準的なブロックチェーン技術が、生成されるデータ量が非常に大きく及び/又は高い頻度/忠実度で、例えば1秒毎又は1ミリ秒毎にデータを格納するという要件があるリアルタイムアプリケーションのための記憶システムとしてはあまり適さないことを意味する。本願明細書は、ブロックチェーンにより課される(現在ある)制約を克服する2つのアプローチ:(i)履歴の増分ハッシュ(現在のビットコインネットワークアーキテクチャに実装されてよい);及び(ii)より高いレートでより大きなデータ量を処理するために適応される変更されたブロックチェーンネットワークアーキテクチャの使用;を説明する。
【0045】
<履歴の増分ハッシュ>
履歴の増分ハッシュ(incremental hashing)の思想は、ブロックチェーンの機能に厳密にリンクされる。ブロックチェーンに格納された情報は、デジタルツインにより生成されたデータではないが、所与の時間枠Tの中で生成された所与のデータ量Dの署名されたハッシュである。時間Tは、分析中のシステムに依存する(例えば、デジタルツインが室温をミラーリング(mirroring)している場合、時間枠は、例えばデジタルツインが航空機エンジンの機能をミラーリングしている場合より大きい)。記憶ノードは、署名されブロックチェーンに格納されたハッシュがデジタルツインにより生成されたデータの存在の証拠を提供できる根拠を有する専用ノードであり得る。
【0046】
図5は、所与の時間枠の中でデジタルツインにより生成された所与の量のデータを格納するために使用できる増分ハッシュ手順を示す。ステップは、以下の通りである:
(1)デジタルツインは、所与の頻度fでデータを記録し始める;
(2)データはプライベートノードに記録される;
(3)時間T0で、ノードは、デジタルツインにより記録されたデータをハッシングする第1ハッシュ(H0)を生成し:時間T0でH0=H(D)、ローカル及びブロックチェーンの両方にハッシュを記録する;
(4)時間T0+xで、全ての新しいハッシュは、前のハッシュにリンクされ(第2ハッシュはH0にリンクされ、以下同様である)、ブロックチェーンに記録されるハッシュのチェーンを生成する。
【0047】
ブロックチェーンは、デジタルツインにより生成されたデータの全体の履歴を再構築することの可能な、且つプライベートノードにより記録された情報の真正さを検証することの可能な、ハッシュのシーケンスを含む。
【0048】
<変更されたBitcoinネットワークアーキテクチャの使用>
第2のソリューションは、変更されたBitcoinネットワークアーキテクチャを使用して、検証、マイニング、及びBitcoinネットワークの中の機能を格納するための専用ノード及びプロトコルを提供する。Bitcoinネットワークのために私たちの提案するアーキテクチャは、
図6に示される。
図6は、ユーザがトランザクションを提出した瞬間から該トランザクションがブロックチェーン上で終了するまでのステップを示す動作図を示す。このアーキテクチャは、データセットが大きく且つ高頻度/忠実性で生成される場合でも、デジタルツインにより生成されたデータの完全な履歴をブロックチェーン上に格納することを可能にする。
【0049】
特別な検証ノードがそれらの間で分散型ハッシュテーブル(distributed hash table:DHT)によりトランザクションの共有メモリプールを維持するシステムが提供される。これらの専用検証ノードは、マーチャント(merchant)ノードとも呼ばれてよい(
図6では「Mノード」として表される)。Mノードは、トランザクションの高速な伝搬に焦点を当てて設計される。それらは、完全なブロックチェーンを格納してもよく又はしなくてもよく、及びマイニング機能を実行することを要求されない。Mノードの動作上の焦点は、未承認トランザクションの迅速な検証及び特に他のMノードへの伝搬である。他のMノードから、未承認トランザクションが迅速にブロックチェーンネットワーク内の他のノードへと押し出される。この機能を実現するために、Mノードは、その他の場合に統治プロトコルの下でノードに許可され得る、多数の入力及び特に出力接続を許可される。
【0050】
専用検証ノードは、トランザクションを受信し、それらを検証し、それらを分散型メモリプール(メモプールとも呼ばれる)に割り当てる。検証ノードは、次に、有効トランザクションハッシュのリストを提供するそれらのサービスを、マイナーに提供する。マイナーは、これらのハッシュに基づきプレブロック(pre-block)(ブロックスケルトン、block skeleton)を組み立て、ハッシュパズルを解くことを試みる。パズルの解が見付かると、勝者であるマイナーは、ブロックスケルトンを検証ノードへと返送する。検証ノードは、次に、ブロックを検証して、それが格納されることを保証する。最初に、検証ノードがブロック自体を格納することが可能であり便利である。ブロックサイズが最終的に特定のサイズ閾を超えると、検証ノードは、(a)それら自身の記憶能力を超える、又は(b)専用記憶ノードに格納をアウトソースする、のいずれかを行う。
【0051】
前述のネットワークシステムでは、トランザクションのメモリプールは、検証ノード間で同期する必要がある。これは、可逆ブルームフィルタルックアップテーブル(Invertible Bloom filter Lookup Tables:IBLTs-Michael T. Goodrich, 2011)を交換するステップを含む。検証ノードは、マイナー及び他の検証ノードと交換したIBLTにより、最新のメモプールを保つ。検証及び記憶機能が結合される場合、これは、
図6におけるように新しいフルノードと呼ばれる。
【0052】
マイナーは、(1)ノンスn;(2)IBLT;(3)Coinbaseトランザクション;で構成されるブロックスケルトン(タプル)を送信する。
【0053】
これに基づき、新しいフルノードは、相応してトランザクションを発注し、新しくマイニングされたブロックを組み立てる。新しいフルノードは、次に、ブロックを彼ら自身の記憶に格納すること、及びスケルトンを他の新しいフルノードへと伝搬させることに進む。
【0054】
このソリューションは、履歴の増分ハッシュの制限を克服する。増分ハッシュソリューションに伴う主な問題は、デジタルツインにより生成されたデータセットが、1つのプライベートノード(又は複数のプライベートノード)に記録されることがあり、ブロックチェーンがフルデータセットの履歴に関連付けられた署名データのみを含むことがある、という事実に起因する。この条件は、例えば商品を売る及びサプライチェーン管理の多数のアプリケーションにとっては十分であるが、一方で、例えば飛行履歴のような安全重視の他のアプリケーションは、分散型ブロックチェーン台帳に完全なデータセットが記録されることを要求することがある。
【0055】
Bitcoinネットワーク内の個々のノードは、分散型メモリプール(distributed memory pool:DMP)を提供するノードのクラスタとして見ることができる。提案したDMPは、正直なノード間の個々の信頼関係で構成されるネットワーク内に展開された分散型ハッシュテーブル(Distributed Hash Table:DHT)構造に依存する。ノードの接続のセットは、ルーティング及びアプリケーションレベル情報の集合の上に構築される。中央機関は信頼証明の解放又は記憶に関連せず、各ノードは自身の信頼できるピアの記録を維持する。
【0056】
悪意あるエンティティは、何らかの形式の攻撃を実行するためにネットワークに参加する必要がある。例えば、Sybil攻撃は、システムを傷つけるために、多数の偽アイデンティティの生成に焦点を当てた。ネットワークに接続されたSybilノードは、適法なルーティングクエリを中断し又は遅延させ、誤ったルーティング情報を広めることがある。しかしながら、提案されたDHTルーティングプロトコルは、劣線形の時間及び空間複雑性を有し、以下の仮定に基づく:
(1)ノードは、正直なノードと悪意あるノードとを区別できない;
(2)正直なノードの大部分は、他の正直なノードへのより多くの接続を有する;
(3)各ノードは、鍵空間のパーティションに関する情報を格納する責任がある。
【0057】
DHTプロトコルは2つの主な機能を提供する:
・UPDATE()は、各DHTノードにおいて、ルーティング手0ブルを構築し及び鍵を挿入するために使用される。
・GET(x,k)は、鍵kにより表される目標鍵-値レコードを見付けるために、DHTノードxにより使用される。
【0058】
各DHTノードxは、通常、公開鍵Px及び現在のIPアドレスaddrxにより識別される。この情報は、レコードsignx(Px,addrx)によりセキュアにリンクされる。ここで、signx()は対応する秘密鍵による署名を表す。ノードIDは、次に、署名されたレコードを用いてDHTに格納される。ノードが位置を変え、又は新しいIPアドレスを受信すると、新しいレコード[Px,addrx]はDHTに格納されなければならない。悪意あるノードは、誤った鍵-値ペアを挿入し得る。GETメソッドは、返された鍵-値レコードの中の署名を検証することを担う。
【0059】
データルーティングネットワークは、無向性グラフにより表すことができる。悪意あるエッジは、悪意あるノードを正直なノードに接続し、一方で、正直なエッジは2つの正直なノードを接続する。任意の数のSybilアイデンティティを生成することは悪意あるノードにとっては入手可能であるが、悪意あるエッジを生成することは、Sybil制御下のアイデンティティのうちの1つへの信頼できるリンクを確立するよう正直なノードを説得する必要がある。正直な領域を2つに切り分ける僅かな隙もない場合、正直なノードから開始する短いランダム歩行は、正直なノードで終わる可能性がある。したがって、本ソリューションは、ブロックチェーンネットワークのデジタルツインシステムとの結合ことをサポートするために、デジタルツインにより生成された膨大な量のデータを高い忠実度で格納することの可能なBitcoinネットワークアーキテクチャを提供するためのセキュアな方法を提供する。
【0060】
<インタフェース構成>
デジタルツインが重要な情報を送信している場合、例えば、安全重視の運用に関連する装置の機械部品をミラーリングしている場合、私たちは、情報がセキュアなチャネルを通じてネットワークを介して送信されることを保証したいと望む。
【0061】
この章では、ブロックチェーンをデジタルツインにより生成された情報を格納するための保証されたシステムとして使用するために、更に特別な詳細なプロトコルが説明される。特に、この章は、デジタルツインとブロックチェーンネットワークとの間の適切なインタフェースを提供する構成及びプロトコルを記載する。
【0062】
図7は、デジタルツインとブロックチェーンネットワークとの間のインタフェース構成として、バッファ、セキュアなチャネル、及び受信機の使用を示す。セキュアなチャネル(B)を実装するために、私たちは、送信機、
図7のバッファ(A)、及び受信機(C)の間の共有鍵Kを検討する必要がある。鍵Kは、送信機及び受信機にのみ知られいている必要がある。
【0063】
バッファ(A)の役割は、デジタルツインをセキュアなチャネルに接続可能なインタフェースとして動作することであり、生成されたデータストリームSを個別メッセージm
1,m
2,...,m
nのシーケンスに変換する。このアプローチを用いて、デジタルツインにより生成されネットワークを介して送信される非常に大量のデータを処理する問題は、少なくとも部分的に解決される。バッファは、デジタルツインにより生成された全てのデータの収集及び記憶を管理し、セキュアなチャネルを介するデータの送信も管理する。
図8は、デジタルツインからのデータストリームSを個別メッセージm
1,m
2,...,m
nのシーケンスに変換するステップを含む、
図7に示すバッファの役割を示す。
【0064】
データストリームSの離散化(discretization)及びネットワークを介して送信されるべきn個のメッセージの生成の後に、鍵Kの新しい値が各メッセージmiについて生成される。鍵生成プロトコルは、バッファと受信機との間で、セキュアなチャネルが確立される度に、例えばメッセージmiが送信される度に、ユニークな鍵(セッション鍵)を構成するために必要とされる。バッファは、(例えば送信時のネットワークの条件に従い)どれだけ多くの個別メッセージが送信されるかを決定するよう、及び送信されたメッセージを追跡するカウンタを初期化するよう、構成され得る。チャネルを介して送信される各個別メッセージmiについて、バッファはハッシュH(mi)を計算し格納する。特定数のメッセージが送信された後に、時間tで、バッファは、特定時間tまでに送信されたメッセージに関連するハッシュのシーケンスで構成される特定メッセージmhを送信できる。この手順は、受信した個別メッセージの完全性を調べる際に受信機を助ける。メッセージmhは、以下の形式を有する:
mh=H(m1),H(m2),...,H(mn)
【0065】
最後に、手順を完結するために第3メッセージmHが送信される。第3メッセージmHは、ハッシュのシーケンスH(mh)を含むメッセージのハッシュを含む:
mH=H(mh)
【0066】
バッファは、したがって、セキュアなチャネルにより処理され及び次に受信機へと送信されるメッセージのシーケンスを送信する。
【0067】
受信機は、次に、メッセージのシーケンスを受信し処理する。
図9は、セキュアなチャネルを介してバッファから受信したメッセージのシーケンスを検証するステップを含む、
図7に示す受信機の役割を示す。受信したシーケンスは、m
h及びm
Hを用いて受信機により検証できる。
【0068】
セキュリティのレベルを向上するために、冗長性の追加レイヤが、第2のセキュアなチャネル及び比較器の形式で導入できる。
図10は、第2のセキュアなチャネル(B)を含むデジタルツインとブロックチェーンネットワークとの間のインタフェース構成のこのような変更されたバージョン、及び2つのセキュアなチャネルを介して送信された個別メッセージのシーケンスが一致することを検証することにより、セキュリティレベルを向上する比較器(C)、を示す。比較器は、2つのセキュアなチャネルを介して送信された個別メッセージのシーケンスが一致するかどうかを検証できる。一致しない場合、つまりチャネルAから受信したシーケンスがチャネルBから受信したシーケンスと異なる場合、受信機は、シーケンスを受け入れず、シーケンスを再送するようバッファに通知する。
【0069】
セキュアなチャネルの初期化中に、鍵及びメッセージ番号の両方を設定する必要がある。Ferguson, Niels, et al., Cryptography engineering: design principles and practical applications, John Wiley & Sons, 2011で説明されているように、4個の鍵が導出される:バッファから受信機へメッセージを送信するための(I)暗号鍵及び(II)認証鍵、受信機からバッファへメッセージを送信するための(III)暗号鍵及び(IV)認証鍵、である。私たちは、2つのインプットである鍵及び役割を有する関数f、つまりf(k,r)を有し、アウトプットはチャネルSの状態である。セキュアなチャネルの設定は、以下のように符号化されてよい。
【数1】
【0070】
(デジタルツインにより生成されたデータストリームを離散化するためにバッファにより行われた離散化プロセスの後に)メッセージを送信するために、上述のように定義されたセッション状態を検討し、暗号化され認証されたメッセージを生成する必要がある。
私たちは、3つのインプット:状態S;送信されるべきメッセージm;及び認証されるべき追加データdを有する関数f1,つまりf1(S,m,d)を有する。
【0071】
アウトプットo’は、受信機へ送信されるべきデータである。これは、以下のように符号化されてよい。
【数2】
【0072】
(デジタルツインにより生成されたストリームを離散化するためにバッファにより行われた離散化プロセスの後に)メッセージを受信するために、メッセージ送信段階の間に生成された暗号化された認証されたメッセージ、及び認証されるべき追加データを処理する必要がある。メッセージを受信するために、私たちは、3つのインプット:セッション状態S;送信段階の間にf1から取得されたアウトプットo’;及び認証されるべき追加データd;を有する関数f2、つまりf2(S,o’,d)を有する。
【0073】
f
2から取得されたアウトプットは、バッファにより送信されたメッセージである。受信プロトコルは、以下のように符号化されてよい。
【数3】
【0074】
全てのメッセージが受信機により受信されると、それらを分散型ハッシュテーブル(DHT)に格納し、次にハッシュ(及び前述のようなハッシュの履歴)をブロックチェーンに格納する必要がある。
図11は、受信したメッセージを分散型ハッシュテーブルに格納し、次にハッシュをブロックチェーンに格納するステップを示す。ステップは以下の通りである。
【数4】
【0075】
ブロックチェーンをデジタルツインのためのバックボーンとして使用することを可能にする異なるアプローチは、パブリックブロックチェーンの中でミラーリングされ得るプライベートブロックチェーンの使用に基づく。
図12は、パブリックブロックチェーンにデータを組み込む前に、デジタルツインからのデータを格納するプライベートブロックチェーンを含む、デジタルツインとブロックチェーンネットワークとの間のインタフェース構成の一部の変更されたバージョンを示す。
【0076】
バッファの役割は、前述の通りであり、プライベートブロックチェーンを有するソリューションが、デジタルツインにより送信されたデータを記録するために、より少ない時間しか必要としない場合でも、ストリームの離散化は、プロセスの第2のステップ、パブリックブロックチェーン上のメッセージのミラーリング又は認証を簡略化することを助ける。バッファにより生成されプライベートチェーンに格納された各メッセージmiについて、ハッシュH(m)が生成され、パブリックブロックチェーンに格納される。
【0077】
<コンピューティング環境>
図13は、種々の実施形態が実装できるコンピューティング環境を示す概略図である。本開示の少なくとも一実施形態を実施するために使用可能なコンピューティング装置2600の簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、上述の図示のシステムのうちのいずれかを実装するために使用されてよい。例えば、コンピューティング装置2600は、データサーバ、ウェブサーバ、ポータブルコンピューティング装置、パーソナルコンピュータ、又は任意の電子コンピューティング装置として使用するために構成されてよい。
図13に示すように、コンピューティング装置2600は、主メモリ2608及び永久記憶装置2610を含む記憶サブシステム2606と通信するよう構成され得る1つ以上のレベルのキャッシュメモリ及びメモリ制御部(集合的に2602とラベル付けされる)を備える1つ以上のプロセッサを含んでよい。主メモリ2608は、図示のように、動的ランダムアクセスメモリ(DRAM)2618及び読み出し専用メモリ(ROM)2620を含み得る。記憶サブシステム2606及びキャッシュメモリ2602は、本開示で説明されたようなトランザクション及びブロックに関連付けられた詳細事項のような情報の記憶のために使用されてよい。プロセッサ2602は、本開示で説明されたような任意の実施形態のステップ又は機能を提供するために利用されてよい。
【0078】
プロセッサ2602は、1つ以上のユーザインタフェース入力装置2612、1つ以上のユーザインタフェース出力装置2614、及びネットワークインタフェースサブシステム2616とも通信できる。
【0079】
バスサブシステム2604は、コンピューティング装置2600の種々のコンポーネント及びサブシステムが意図した通りに互いに通信できるようにするメカニズムを提供してよい。バスサブシステム2604は、単一のバスとして概略的に示されるが、バスサブシステムの代替の実施形態は、複数のバスを利用してよい。
【0080】
ネットワークインタフェースサブシステム2616は、他のコンピューティング装置及びネットワークへのインタフェースを提供してよい。ネットワークインタフェースサブシステム2616は、幾つかの実施形態では、コンピューティング装置2600の他のシステムからデータを受信し及びそれへデータを送信するインタフェースとして機能してよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、装置をネットワークに接続することを可能にする。その結果、データ技術者は、データセンタのような遠隔地にいがなら、データを装置へ送信し、データを装置から受信できる。
【0081】
ユーザインタフェース入力装置2612は、キーボード、統合型マウス、トラックボール、タッチパッド、又はグラフィックタブレットのような指示装置、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンのようなオーディオ入力装置、及び他の種類の入力装置のような、1つ以上のユーザ入力装置を含んでよい。通常、用語「入力装置」の使用は、コンピューティング装置2600に情報を入力する全ての可能な種類の装置及びメカニズムを含むことを意図する。
【0082】
1つ以上のユーザインタフェース出力装置2614は、ディスプレイサブシステム、プリンタ、又はオーディオ出力装置のような非視覚的ディスプレイ、等を含んでよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、又はプロジェクションのような平面装置、又は他のディスプレイ装置を含んでよい。通常、用語「出力装置」の使用は、コンピューティング装置2600から情報を出力する全ての可能な種類の装置及びメカニズムを含むことを意図する。1つ以上のユーザインタフェース出力装置2614は、例えば、ユーザインタフェースを提示して、ここに記載したプロセス及び変形を実行するアプリケーションとのユーザ相互作用が適切であるとき、そのような相互作用を実現するために使用されてよい。
【0083】
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供する基本プログラミング及びデータ構造を記憶するコンピュータ可読記憶媒体を提供してよい。アプリケーション(例えば、プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されると、本開示の1つ以上の実施形態の機能を提供し、記憶サブシステム2606に格納されてよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてよい。記憶サブシステム2606は、更に、本開示に従い使用されるデータを格納するレポジトリを提供する。例えば、主メモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性記憶を提供できる。永久記憶装置2610は、プログラム及びデータの永久(不揮発性)記憶を提供でき、磁気ハードディスクドライブ、取り外し可能媒体に関連付けられた1つ以上のフロッピディスクドライブ、取り外し可能媒体に関連付けられた1つ以上の光ドライブ(例えば、CD-ROM、又はDVD、又はBlue-Ray)ドライブ、及び他の同様の記憶媒体を含んでよい。このようなプログラム及びデータは、本開示に記載した1つ以上の実施形態のステップを実行するためのプログラム、及び本開示に記載したトランザクション及びブロックに関連付けられたデータを含み得る。
【0084】
コンピューティング装置2600は、ポータブルコンピュータ装置、タブレットコンピュータ、ワークステーション、又は後述する任意の他の装置を含む種々のタイプのものであってよい。さらに、コンピューティング装置2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、光コネクタ、等)を通じてコンピューティング装置2600に接続可能な別の装置を含み得る。コンピューティング装置2600に接続され得る装置は、光ファイバコネクタを受けるよう構成される複数のポートを含んでよい。したがって、この装置は、光信号を、処理のために装置を接続するポートを通じてコンピューティング装置2600に送信される電気信号に変換するよう構成されてよい。コンピュータ及びネットワークの絶えず変化する特性により、
図13に示したコンピューティング装置2600の説明は、装置の好適な実施形態を説明する目的の特定の例としてのみ意図される。
図13に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
【0085】
<まとめ>
本願明細書は、ブロックチェーンをデジタルツインのための独立記憶システムとしてどのように使用するかを記載した。本願明細書は、ブロックチェーン、デジタルツイン、及び外部物理的システムtの間の相互作用を管理するために、デジタルスマートコントラクトがどのように使用できるかも記載した。大量のデータが格納される必要がある場合、2つのソリューションが記載された。第1のソリューションでは、特定のハッシュのみがブロックチェーンに記録される履歴の増分ハッシュに基づき、第2のソリューションでは、ブロックチェーンをデジタルツインインフラストラクチャの完全なバックボーンとして有効にするために、分散型メモリプール及び新しいフルノードの使用が提供される。また、大量のデータを処理し及びデータをセキュアに処理できる、デジタルツインとブロックチェーンネットワークとの間の適切なインタフェースを提供するための構成も記載された。2つの主なソリューションが記載され、第1の技術は、デジタルツインのインタフェースとして動作可能なインフラストラクチャをどのように構築するかを説明した。ソリューションの構造は、特定のハッシュのみがブロックチェーンに記録される、履歴の増分ハッシュに基づく。第2のソリューションは、例えばBigChainDB(McConaghy, Trent, et al., “BigchainDB: a scalable blockchain database.", BigChainDB, 2016)及びパブリックブロックチェーン内の各ブロックをミラーリングすることに基づくプライベートブロックチェーンを使用する。
【0086】
上述の実施形態は、本発明を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本発明の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。特許請求の範囲において、括弧内の任意の参照符号は、請求項を限定することを意図しない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素またはステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、該要素の複数の参照を排除しない。逆も同様である。本発明は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。
【外国語明細書】