(57)【要約】  本発明は、ブロックチェーンのリンクの暗号保護され且つフィルタリングされ且つソートされたトランザクションデータセットの集合を提供する装置と、ソートされたトランザクションデータセットの集合を形成するための方法とに関する。本発明の一態様は、ブロックチェーンのリンク（Ｂ１０，Ｂ１１）の、整合性が検証され且つセマンティックにソートされたトランザクションデータセット（Ｔｘ２，Ｔｘ１，Ｔｘ０，Ｔｘ３）の集合から、暗号保護され且つフィルタリングされたトランザクションデータセットの集合を提供する装置であって、リンクが本発明による方法によって形成されており、ブロックチェーンの少なくとも１つの当該リンクを提供する提供手段と、フィルタ基準を使用して、ブロックチェーンの検証され且つセマンティックにソートされたトランザクションデータセットの集合から、フィルタリングしたトランザクションデータセットの集合を決定するフィルタリング機器に対し前記提供手段を結合する結合手段と、フィルタリングしたトランザクションデータセットの決定された集合を提供する出力手段とを有する。
2020531976.tif 000002
【特許請求の範囲】
【請求項１】
未ソートのトランザクションデータセットの集合から、ブロックチェーンの暗号保護され且つセマンティックにソートされたトランザクションデータセットの集合を形成する方法であって、
ａ）同じ又は別のブロックチェーンの第１のリンク（Ｂ１０）にリンクされているか又はリンクされるブロックチェーンの少なくとも１つの第２のリンク（Ｂ１１）を形成するステップと、
ｂ）前記第２のリンクにおいて少なくとも１つの検索語を確定するか、又は、前記第２のリンクが含む少なくとも１つの以前に確定された検索語を読み出す、ステップと、
ｃ）前記未ソートのトランザクションデータセット（Ｔｘ０〜Ｔｘ６）の集合（Ｍ）から整合性について検証済みのトランザクションデータセット（Ｔｘ０）を選択するステップと、
ｄ）前記選択したトランザクションデータセット（Ｔｘ０）を、前記確定した又は読み出した検索語、又は、前記確定した又は読み出した検索語のうちの１つ、に割り当てるステップと、
ｅ）少なくとも、選択すべきトランザクションデータセットが所定の数に達するまで、又は、前記未ソートのトランザクションデータセットの集合が空になるまで、前記ステップｂ）から前記ステップｄ）を繰り返すステップと、
ｆ）所定のソート基準に基づいて、前記選択し且つ割り当てたトランザクションデータセットをセマンティックにソートし、前記割り当てられた検索語を前記ソート基準に対応する順序にするステップと、
ｇ）前記順序を使用して、前記暗号保護され且つセマンティックにソートされたトランザクションデータセット（Ｔｘ２，Ｔｘ１，Ｔｘ０，Ｔｘ３）の集合を形成するステップとを含む、方法。
【請求項２】
前記第２のリンク（Ｂ１１）において複数の検索語を確定し又は読み出す場合、該検索語が検索ツリー（ＴＴ）に配置され、そして前記検索語が前記検索ツリーのノードを形成する、請求項１に記載の方法。
【請求項３】
前記検索語は、それぞれが区切り記号によって分離され得る、上位語と複数の下位語から構成されている、請求項１又は２に記載の方法。
【請求項４】
前記検索語は、前記検索ツリーのルートノード内の前記上位語から前記検索ツリーのリーフノード内の最下位の前記下位語までが階層的に配置され、区切り記号によって前記検索ツリーの関連する前記ノード間にあるエッジを明示することができる、請求項３に記載の方法。
【請求項５】
ブロックチェーンのリンク（Ｂ１０，Ｂ１１）の整合性が検証され且つセマンティックにソートされたトランザクションデータセット（Ｔｘ２，Ｔｘ１，Ｔｘ０，Ｔｘ３）の集合から、暗号保護され且つフィルタリングされたトランザクションデータセットの集合を提供する装置であって、前記リンクが請求項１〜４のいずれか１項に記載の方法に従って形成され、
ブロックチェーンの少なくとも１つの前記リンクを提供する提供手段と、
フィルタ基準を使用して、前記ブロックチェーンの前記検証され且つセマンティックにソートされたトランザクションデータセットの集合から、フィルタリングしたトランザクションデータセットの集合を決定するフィルタリング機器に、前記提供手段を結合する結合手段と、
前記フィルタリングしたトランザクションデータセットの決定した集合を提供する出力手段とを有する、装置。
【請求項６】
前記フィルタ基準を使用して、ブロックチェーン（Ｂ１１）の前記整合性が検証され且つソートされたトランザクションデータセットの集合（Ｔｘ２，Ｔｘ１，Ｔｘ０，Ｔｘ３）から、フィルタリングしたトランザクションデータセットの集合を決定する決定手段を備える、請求項５に記載の装置の前記提供手段に結合するべく構成されたフィルタリング機器。
【請求項７】
前記フィルタ基準は、前記ブロックチェーンの前記提供されたリンク内の前記検索語と同一であるか、又は、前記検索語から誘導可能であるか、又は、前記検索語から誘導されている、さらなる検索語又は該さらなる検索語の少なくとも一部を少なくとも用いて確定可能である、請求項６に記載のフィルタリング機器。
【請求項８】
請求項６又は７に記載のフィルタリング機器を備えるアクセスユニット（Ｇ）であって、
前記さらなる検索語が、少なくとも、１つのデバイス（ＩｏＴ）又はグループ（ＡＮ）の複数のデバイス（ＩｏＴＣ，ＦＤ１，ＦＤ２，ＦＤ３）によって確定可能であるか、又は、前記検索語に割り当てられた前記トランザクションデータセットが前記デバイスによってサブスクライブされるようにサブスクライブ可能であり、前記少なくとも確定されるか又はサブスクライブされるトランザクションデータセットを含むブロックチェーンのリンクのみが、前記１つのデバイス又は前記複数のデバイスに伝達される、アクセスユニット（Ｇ）。
【請求項９】
通信ネットワークの構成であって、構成要素として、
請求項５に記載の装置を有し、ブロックチェーンを処理する少なくとも１つのネットワークノード（ＢＣＮ）と、
１つのデバイス（ＩｏＴ）又はグループ（ＡＮ）に割り当てられている複数のデバイス（ＩｏＴＣ，ＦＤ１，ＦＤ２、ＦＤ３）と、
請求項６又は７に記載のフィルタリング機器を少なくとも１つ、又は、請求項８に記載のアクセスユニット（Ｇ）を少なくとも１つと、
これらの構成要素が相互に通信できるネットワークインフラストラクチャ（Ｎ）とを含む、通信ネットワークの構成。
【請求項１０】
前記ネットワークインフラストラクチャ（Ｎ）においていわゆるパブリッシュ／サブスクライブプロトコルが適用可能であり、前記フィルタリング機器が、前記１つのデバイス又は前記グループの複数のデバイスに検索語のサブスクリプション又は確定を少なくとも可能にするように構成される、請求項９に記載の通信ネットワークの構成。
【請求項１１】
ブロックチェーンを処理するネットワークノード（ＢＣＮ）のためのプログラム命令を含むコンピュータプログラムであって、
前記ネットワークノード（ＢＣＮ）が、請求項１〜４のいずれか１項に記載の方法を実行するべく適合させた前記プログラム命令によって構成される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロックチェーンのリンクの暗号保護され且つフィルタリングされ且つソートされたトランザクションデータセットの集合を提供する装置と、ソートされたトランザクションデータセットの集合を形成する方法と、関連する通信ネットワーク構成と、関連するコンピュータプログラム（を記憶した製品）とに関する。
【背景技術】
【０００２】
ブロックチェーンには様々な種類の多数のトランザクションが結果的に含まれている。例えば、スマートエネルギーグリッド（インテリジェントなエネルギーグリッド）の制御など、産業用途にブロックチェーンを使用する場合、ネットワークのノードは、ノードに無関係の大量のトランザクションを処理する必要がある。
【０００３】
ブロックチェーン技術や分散台帳技術（Distributed Ledger Technology）は、現在、議論が集中している技術である。これについては、例えば、https://en.wikipedia.org/wiki/Blockchain(database)に説明されている。
【０００４】
図１は、そのようなブロックチェーンの一例を示す。ブロックチェーンとは、一般的に、先行するデータセット（又はブロック、リンク）Ｂ１０の、ハッシュ値とも呼ばれる一方向性関数値ＰＨを、各後続のリンクＢ１１に保存することによって、すなわち、暗号デイジーチェーンによって、整合性（事後改ざんに対する保護）が確保されているデータベースであると解釈される。その保護は、ブロックチェーンネットワークＮにおいて、いわゆるマイニング又はブロックの検証を実行する、例えば図３に図示した、信頼できるノードＢＣＮの大部分によって成立する。ブロックチェーンに参加するノードのネットワークでは、例えば、１０分ごとなどの定期的な間隔で、新しいブロック、例えばＢ１１が形成され、この場合、現存するブロックのハッシュ値ＰＨが一緒に保存される。このときに、トランザクション、例えばＴｘ０、Ｔｘ１、Ｔｘ２、Ｔｘ３、Ｔｘ４、Ｔｘ５、Ｔｘ６の集合Ｍから、事前に決定可能な数のトランザクション、図１の例では４つのトランザクション、例えばＴｘ０、Ｔｘ１、Ｔｘ２、Ｔｘ３が選択され、所定の順序、好ましくは０から３までの番号付けの構文的順序で、ハッシュツリーにおいてリーフとしてマウントされる。例えば、マークルツリー又はパトリシアツリーの使用がハッシュツリーとして普通である。このようなハッシュツリーのルートノードＴｘＲは、ブロック、例えばＢ１１に固定されている。
【０００５】
一度ブロックチェーンにおいて出現することとなるトランザクションＴｘ０、Ｔｘ１、Ｔｘ２、Ｔｘ３は、もはや気付かれることなく変更することは不可能である。このマイニングプロセスでは、ブロックに保存されるトランザクションの有効性又は整合性を検証する。トランザクションデータセットを使用してトランザクションを実行できる。トランザクションとは、送信者から受信者への、仮想物か実物の又は（例えば、ビットコイン又はイーサリアムを使用する）支払い又は他の情報の、相互転送であると解釈される。ビットコインでは、比較的単純なスタックベースのランタイム環境を使用して、トランザクションの許容性を検証する。この場合、トランザクションには、トランザクションの有効性を検証するためのチェックサムが含まれる。ブロックチェーンプラットフォームのイーサリアムは、ブロックチェーンのプログラムコードを柔軟に実装できるように、自由にプログラマブルなランタイム環境をサポートする。このとき、例えば、ビジネスロジックは、トランザクションデータセットに、したがってブロックチェーン又はブロックチェーンインフラストラクチャノードに、プログラムコードとして保存される。このような観点から、実行されるトランザクションは、ブロックチェーンの（チェーン）リンクに保存されている。したがって、これに関連して、実行されるトランザクションと、トランザクションを実行するために形成されたトランザクションデータセットとを区別することは、ほとんど不可能である。
【０００６】
ブロックチェーンでは、相当数のノードがブロックを完全にバリデーションする、すなわち、ブロックのすべてのトランザクションを検証することが可能である。これは手間がかかるため、個々のトランザクションのみをバリデーションする、「シンプルバリデーションノード」もまた考えられる。そのために、ノードはそれぞれ、関係するトランザクションのハッシュツリーを通るパスを注意深く探索して検証しなければならない。
【０００７】
「プルーフオブワーク」としてのマイニングプロセスに加えて、代替形態、特に擬似ランダムではあるが決定論的に選択されたブロックチェーンノードによってブロックが確認される「プルーフオブステーク」、又はアクセス制御されたブロックチェーン（許可されたブロックチェーン）もまた既知である。ブロックチェーンで保護された、したがって暗号保護されたトランザクションデータセットは、一般にプログラムコードを含む。「スマートコントラクト」という用語は、プログラムコードであると解釈され、そのプログラムコードにおいて、作成時に条件を定義でき、そのランタイムに解析できるため、特定のトランザクションを特定の（金額の）程度で１つの特定の受信者又は複数の特定の受信者において実行できるか、又は実行できない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、ノードに関連するトランザクションの効率的で改善された処理を、ノードによって可能にする方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
本課題は、独立形式請求項において特定されている特徴によって解決される。本発明の有利な発展態様が引用形式請求項に示されている。
【００１０】
本発明は、未ソートのトランザクションデータセットの集合から、ブロックチェーンの暗号保護され且つセマンティックにソートされたトランザクションデータセットの集合を形成する又は発生させる方法に係り、該方法は、
ａ）同じ又は別のブロックチェーンの第１のリンクにリンクされているか又はリンクされるブロックチェーンの少なくとも１つの第２のリンクを形成するステップと、
ｂ）その第２のリンクにおいて少なくとも１つの検索語を確定するか、又は第２のリンクが含んでいる以前に確定された少なくとも１つの検索語を読み出すステップと、
ｃ）未ソートのトランザクションデータセットの集合から、整合性（インテグリティ）について検証済みのトランザクションデータセットを選択するステップステップと、
ｄ）選択したトランザクションデータセットを、前記確定した又は読み出した検索語に、あるいは、前記確定した又は読み出した検索語のうちの１つに、割り当てるステップと、
ｅ）少なくとも、選択すべきトランザクションデータセットが所定の数に達するまでか又は未ソートのトランザクションデータセットの集合が空になるまで、ステップｂ）からステップｄ）を繰り返すステップと、
ｆ）所定のソート基準に基づいて、選択して割り当てたトランザクションデータセットをセマンティックにソートし、割り当てられた検索語を前記ソート基準に対応する順序にするステップと、
ｇ）該順序を使用して、暗号保護され且つセマンティックにソートされたトランザクションデータセットの集合を形成するステップとを含む。
【００１１】
本方法は、起点リンク（起源リンク）でもあり得る開始リンクで始まる多数のリンクを最終的に形成又は生成できるように繰り返し可能であり、各リンクは、それ自身、前述した種類の検証機能又はその一部の機能を対応して含むことができる。
【００１２】
本発明に関して言うセマンティックにソートされたとは、ソートが検索語の意味に依存することであると解釈される。この場合、該セマンティックなソートは、単なる偶然で、上記トランザクションの構成において前述した構文ソートと同じ順序で生じてもよい。ただし、これは通常のケースではない。配置されたトランザクションの順序は、通常、セマンティックなソートから得られた順序が、構文ソートから得られた順序とは異なるか、又は未ソートの順序とは全く異なる。
【００１３】
この場合、検索語は、１つの上位語及び１つ以上のそれより下位の下位語から構成されていてもよい。上位語と下位語との間に、それぞれ、区切り記号、例えば、「．」が挿入され得る。
【００１４】
上述の第２のリンクにおける確定した又は読み出した検索語が複数の場合、これらの検索語は、検索ツリーに、好ましくはハッシュツリーに配置でき、当該検索語が検索ツリーのノードを形成する。検索語はまた、検索ツリー内のルートノードの上位語から検索ツリーのリーフノードの最下位の下位語までが階層的に配置されてもよく、場合によって区切り記号が、関連するノード間にある検索ツリーのエッジを明示する。
【００１５】
したがって、リンクの検索ツリーは、検索語に基づいて構造化されている。
【００１６】
本方法は、好ましくは、コンピュータ支援されて実行される。以下の説明では特に明記しない限り、「実行する」、「算出する」、「コンピュータ支援された」、「計算する」、「確定する」、「生成する」、「構成する」、「再構成する」などの用語は、好適には、データを変更したり生成する、あるいはデータを他のデータに変換する、演算、プロセス、処理するステップなどに関連し、データは、具体的には物理量として、例えば、電気的インパルスとして、表されるか又は存在する。「コンピュータ」という用語は、例えば、データ処理特性を備えたすべての電子デバイスをカバーするために、可能な限り広く解釈すべきである。したがって、コンピュータは、例えば、パーソナルコンピュータ、サーバ、プログラマブルロジックコントローラ（ＰＬＣ）、ハンドヘルドコンピュータシステム、ポケットＰＣデバイス、モバイル無線デバイス、及びコンピュータ支援されてデータを処理できるその他の通信デバイス、プロセッサ及びデータ処理用のその他の電子デバイスであり得る。
【００１７】
本発明に関して言う「コンピュータ支援された」は、例えば、プロセッサが本方法の少なくとも１つの方法ステップを実行する、本方法の実装であると解釈できる。
【００１８】
本発明に関して言うプロセッサは、例えば、装置又は電子回路であると解釈できる。プロセッサは、具体的には、メインプロセッサ（中央処理装置、ＣＰＵ）、マイクロプロセッサ又はマイクロコントローラ、例えば特定用途向け集積回路又はデジタル信号プロセッサ、であり、場合によって、プログラム命令などを記憶するための記憶ユニットと組み合わせてもよい。プロセッサはまた、例えば、ＩＣ（集積回路）、特にＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）又はＤＳＰ（デジタルシグナルプロセッサ）又はグラフィックプロセッサＧＰＵ（グラフィックプロセッシングユニット）であり得る。さらに、プロセッサは、仮想化プロセッサ、仮想マシン又はソフトＣＰＵであるとも解釈できる。また、例えば、本発明による上述の方法を実行するための構成（コンフィグレーション）ステップが実装されているプログラマブルプロセッサ、又はプログラマブルプロセッサが、本発明の方法、構成要素、モジュール、手段、他の態様、部分的な態様の１つ以上の本発明による特徴を実現するように構成ステップによって構成されている、プログラマブルプロセッサであり得る。
【００１９】
本発明に関して言う「記憶ユニット」は、例えば、ワーキングメモリ（ランダムアクセスメモリ、ＲＡＭ）の形態のメモリ又はハードドライブであると解釈できる。
【００２０】
本発明に関して言う手段は、例えば、プロセッサ又はプログラム命令を記憶するための記憶ユニット、あるいはその両方であると解釈できる。例えば、プロセッサは、本発明による方法又は本発明による方法のステップを実装又は実現するための機能をプロセッサに実行させるプログラム命令を実行するよう特別に構成されている。
【００２１】
ブロックチェーンは、ノードによって、特に産業用ＩｏＴ（モノのインターネット）環境の制御コンピュータ又は制御デバイスによって、より効率的に使用できる。さらに言えば、関連性がない情報をこれらのノードによって内容に関して解析する必要がほとんどないことから、リアルタイム挙動がさらに改善される。それでもなお、共通のブロックチェーンプラットフォームを複数の異なるタスクに使用できるため、そのようなブロックチェーンプラットフォームを効率的に運用可能である。さらに、ブロックチェーンプラットフォームは、異なるハードウェアプラットフォームで実行できる。
【００２２】
本発明の別の態様は、ブロックチェーンのリンクの整合性が検証され且つセマンティックにソートされたトランザクションデータセットの集合から、暗号保護され且つフィルタリングされたトランザクションデータセットの集合を提供する装置に関する。当該装置は、そのリンクが上記方法により形成され、
ブロックチェーンの少なくとも１つの上記リンクを提供する提供手段と、
フィルタ基準を使用して、ブロックチェーンの検証され且つセマンティックにソートされたトランザクションデータセットの集合から、フィルタリングしたトランザクションデータセットの集合を決定するフィルタリング機器に対し前記提供手段を結合する結合手段と、
フィルタリングしたトランザクションデータセットの決定した集合を提供する出力手段とを有する。
【００２３】
本発明に関して言う「提供する」とは、例えば、データキャリア又はプラットフォームで、又はデータキャリア又はプラットフォームから、トランザクションデータセットを作成すること、ロードすること又は記憶することであると解釈できる。
【００２４】
フィルタ基準を用いることで、ブロックチェーンブロックの関連トランザクションの単純なフィルタリングが可能になる。フィルタ基準は、その結果ノードがすべてのトランザクションを含む検索ツリー全体を処理しないように編成できるが、その代わりに、ノードに関連するトランザクションを含むサブツリーを目的に合わせて決定できる。
【００２５】
フィルタ基準は、一種の「パブリッシュ／サブスクライブ」基準として設定される。パブリッシュ／サブスクライブプロトコル、例えば、ＭＱＴＴ、ＸＭＰＰ、ＯＰＣ  ＵＡ  ＰｕｂＳｕｂが使用可能である。その場合、いわゆるパブリッシャーノードがメッセージを発行し、サブスクライバー、例えばグループのデバイスがメッセージを受信する。検索語は、メッセージのテーマを識別する。パブリッシャー（発行ノード）は、メッセージのテーマ（トピック又は検索語）を指定し、サブスクライバーは、特定のテーマのメッセージをサブスクライブする。メッセージは、例えば、メッセージブローカーによって伝達される。その場合、検索語は、一般に、例えば、上記検索ツリーの態様を使用して階層的に構造化されている。
【００２６】
本発明の別の態様は、上述の装置の提供手段に対する結合に適したフィルタリング機器であり、フィルタ基準を使用して、整合性が検証され且つソートされた、ブロックチェーンのトランザクションデータセットの集合から、フィルタリングしてトランザクションデータセットの集合を決定する決定手段を特徴とする。
【００２７】
フィルタリング機器の一態様は、さらなる検索語やさらなる検索語の少なくとも一部を用いて確定可能なフィルタ基準を提供し、当該検索語は、ブロックチェーンの提供されたリンク内の検索語と同一であるか、又はその検索語から導出可能な、又はその検索語から導出されている。この、さらなる検索語は、上述した種類のトピック（パブリッシュ／サブスクライブ）であってもよく、検索ツリー内の検索語に割り当てられているか、又は場合によっては検索語と同一である。この場合、割当テーブル（検索語−トピック）を使用して、割当又は誘導を実行できる。
【００２８】
本発明の別の態様は、上述の種類のフィルタリング機器を含むアクセスユニットであり、さらなる検索語が、少なくとも、グループ内の１つのデバイス又は複数のデバイスによって確定可能であるか、又は、該検索語に割り当てられたトランザクションデータセットが該デバイスによってサブスクライブされるようにしてサブスクライブ可能であり、そして、その少なくとも確定した又はサブスクライブしたトランザクションデータセットを含むブロックチェーンのリンクのみが、前記１つのデバイス又は複数のデバイスに伝達されることを特徴とする。すなわちこのアクセスユニットは、具体的には、前記デバイス用の、好適には（ブロックチェーンを処理できないことが多い）ＩｏＴデバイス用の、ゲートウェイの一種である。さらなる検索語又はトピックは、ユーザインターフェース（ＵＩ）を介して確定されてもよい。検索語は、工業施設の事業計画データとしても規定され得る。この場合の当該デバイスは、特定のさらなる検索語をサブスクライブできる。さらなる検索語に一致するトランザクションは、フィルタリングされ、該トランザクションのみが、前記デバイスに対して実行されるか、又は該デバイスに提供される。
【００２９】
本発明の別の態様は、通信ネットワークの構成であり、構成要素として、
上記種類のデバイスを有し、ブロックチェーンを処理する少なくとも１つのネットワークノードと、
グループに割り当てられた１つ以上のデバイスと、
上記種類の少なくとも１つのフィルタリング機器、又は、上記種類に係る少なくとも１つのアクセスユニットと、
これら構成要素が相互に通信できるネットワークインフラストラクチャとを含む。
【００３０】
そのネットワークインフラストラクチャにおいて例えば上述した種類のパブリッシュ／サブスクライブプロトコルを適用でき、この場合、フィルタリング機器は、グループ内の１つ以上のデバイスに検索語のサブスクリプションか確定を少なくとも可能にするように設計される。
【００３１】
ネットワークインフラストラクチャは、上記構成要素が有線又はエアインターフェースによる無線で相互に通信できるように構成される。エアインターフェースは、ＧＳＭ、ＵＭＴ、ＬＴＥ、５Ｇ、ＷＬＡＮ、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標又はＮＦＣなどの規格に従って形成され得る。
【００３２】
上記のデバイス、機器、構成は、上述の本発明係る方法の発展態様及び具体的態様に対応してさらに発展させることができる。
【００３３】
さらに、プログラム命令を含むコンピュータプログラム（を記憶した製品）は、例えば既述した種類のブロックチェーンを処理するネットワークノード用であり、当該ネットワークノードは、上述の方法を実行するべく適合させたプログラム命令に従って構成される。
【００３４】
このコンピュータプログラムの派生態様として、例えば、３Ｄプリンタ、コンピュータシステム、又は、プロセッサやデバイスの作製に適した製造機械といった創造装置を構成するプログラム命令を含むものがさらに提供され得る。
【００３５】
用途、装置（デバイス）及びコンピュータプログラム（の製品）は、上記本発明に係る方法の発展態様／具体的態様及びそれらの発展態様／具体的態様に対応させて構成することが可能である。
【００３６】
さらに、コンピュータプログラムを少なくとも記憶するか又は提供する提供装置が可能である。この提供装置は、例えば、コンピュータプログラムを少なくとも記憶するか又は提供するデータキャリアである。代替として又は追加して、提供装置は、好ましくはデータストリームとしてコンピュータプログラムを記憶したり提供する、例えば、ネットワークサービス、コンピュータシステム、サーバシステム、特に分散コンピュータシステム、クラウドベースのコンピュータシステム、仮想コンピュータシステムのいずれか１つ以上である。
【００３７】
この提供は、例えば、完全なコンピュータプログラムの、プログラムデータブロックや命令データブロックの方式でのダウンロードとして、好ましくはファイルとして、特にダウンロードファイルとして、又は、データストリームとして、特にダウンロードデータストリームとして、行われる。ただし、この提供は、例えば、ピアツーピアネットワーク経由でダウンロードされるか又はデータストリームとして提供される、複数の部分からなる部分的なダウンロードとしても行い得る。このようなコンピュータプログラム（の製品）は、例えば、データキャリアの形態の提供装置を使用してシステムに読み込まれ、プログラム命令の実行により、本発明による方法がコンピュータで実行されるか、又は、創造装置が少なくともリンク又はブロックチェーンを生成するように構成される。
【００３８】
本発明の上述の特性、特徴、利点、そしてそれらが達成される仕組みは、図面と関連させて以下に詳細に説明する実施形態の説明においてさらに明らかになり、より明確に理解される。
【図面の簡単な説明】
【００３９】
【図１】従来技術に係るブロックチェーンの形態の具体例を示す。
【図２】ブロックチェーンのリンクに統合された１つ以上のトランザクションデータセットの本発明に係る実施形態を示す。
【図３】ネットワークインフラストラクチャに本発明を組み込む手法の実施形態を示す。
【図４】本発明に係る方法に関するフローチャートを示す。
【発明を実施するための形態】
【００４０】
図中、特に明記しない限り、類似の機能をもつ要素には同じ参照符号が付されている。
【００４１】
既述したように、図１は、一例としてブロックチェーンの第１のリンクＢ１０、第２のリンクＢ１１とした、リンクを示す。リンクは、それぞれ複数のトランザクションＴｘ０〜Ｔｘ３を含む。先行リンクに応じて形成されるハッシュ値ＰＨは、具体的に、例えばＳＨＡ２−２５６、ＳＨＡ２−３８４、ＳＨＡ−３、ＢＬＡＫＥ２を使用して決定可能な暗号ハッシュ値である。
【００４２】
図２は、ブロックチェーンのリンクに統合された１つ以上のトランザクションデータセットの例を示す。
【００４３】
リンクは、それぞれ、ハッシュツリーＴＴのルートハッシュ値ＴｘＲとして機能できる、トランザクションＴのハッシュ（関数）値を含むことができる。検索ツリーとも称するハッシュツリーは、該ハッシュツリーが、ハッシュツリーＴＴのハッシュ値Ｈ０及びＨ１をもつ次のノードに関する、例えばＨ０１やＨ２３のハッシュ値と、図２に示す「ｅｏｎ」や「Ｔｅｌｅｋｏｍ」ような少なくとも１つの検索語との両方を含むように、構成されている。Ｈ０をもつノードは検索語「Ｍ−Ｃｉｔｙ」を含み、Ｈ１をもつノードは、例えば上位語「Ｍ−Ｓｔａｔｅ」である検索語を含む。例えば、場所の「Ｖａｔｅｒｓｔｅｔｔｅｎ」、「Ｐｏｉｎｇ」、「Ａｓｃｈｈｅｉｍ」などの下位語を含むその下のノードは、Ｈ１のノードを起点として表示されている。また、これらのノードはそれぞれ、図２には図示していないハッシュ値も含む。ハッシュツリーＴＴのリーフには、図２に示すように、「Ｌｏａｄ  ｓｈｅｄｄｉｎｇ」（負荷制限）、「Ｒｅｄｕｃｅ  ｉｎｆｅｅｄ」（インフィードの低減）などの可能なトランザクションラベルが与えられ、トランザクションラベルは、この例においては、マークルツリーとして形成される続くハッシュツリーＨＴのルートを擬似的に表す。マークルツリーのさらなるノードは、図２には図示していない。マークルツリーのリーフに、トランザクションＴｘ２、Ｔｘ１及びＴｘ０、Ｔｘ３が示され、このトランザクションは、マークルツリーにおいてセマンティックのソートによって、トランザクションの未ソート集合Ｍ（図１参照）から、図２に示した位置に到達している。換言すれば、リンクのハッシュツリーＨＴ（例えば、マークルツリー、パトリシアツリーなど）がソートされる、すなわち、リンクのトランザクションがソートされる。その結果、共通のソート基準（検索語）を満たすすべてのトランザクションは、ツリーの１つのブランチにある。
【００４４】
これには、「検索語」のトランザクションが効率的に検証可能であるという利点がある。ノードＢＣＮ（図３を参照）は、この検索語のトランザクションを含むツリーＨＴの部分領域をロードして検証することができる。これにより、異なる種類のトランザクションを簡単に区別できる。特定の種類のトランザクションのみを解析しようとするノードは、関連するトランザクションを含むツリーＨＴの部分を目的に合わせて処理できる。
【００４５】
ツリーＨＴの構造は、不変に規定されるか、又は（ブロックごとに、又はより長い期間で）適応性をもって決定される。さらに、ツリーＨＴの構造（すなわち、ソート）は、ブロックチェーン内のトランザクションとして既知になってもよい。これにより、情報は、容易に解析可能であり、可能ならば調整される。
【００４６】
このようにして、ブロックチェーントランザクションの解析は、例えばモノのインターネットにおいてノードＩｏＴについても効率的に可能である。したがって、「検索語」に関するトランザクションは、マークルツリーにおいて勝手には分散されない。
【００４７】
図３によれば、デバイスは、例えばＩｏＴであり、該デバイスがグループＡＮに、例えばトピック「ｅｏｎ．Ｍ−Ｓｔａｔｅ．Ｐｏｉｎｇ．Ｒｅｄｕｃｅｉｎｆｅｅｄ」をサブスクライブしていた、例えばエネルギーグリッドに割り当てられており、そして、このデバイスに対して、セマンティックにソートされたマークルツリーからトランザクションＴｘ０及びＴｘ１のみがフィルタリングされ、場合によって実行される。
【００４８】
トピック又は検索語は、図２の例では、用語間のピリオド区切り記号を伴って、上位語「ｅｏｎ」と、その下位の下位語「Ｍ−Ｓｔａｔｅ」及び「Ｐｏｉｎｇ」と、最後にトランザクション名「Ｒｅｄｕｃｅｉｎｆｅｅｄ」とから構成されている。当該区切り記号は、ノード「ｅｏｎ」とノード「Ｍ−Ｓｔａｔｅ」との間のツリーＴＴにおけるエッジを識別できる。同様にして、ツリーＴＴのすべてのエッジに区切り記号を付けてもよい。
【００４９】
図３は、一例として、ブロックチェーン（分散データベース）を実装でき、ネットワークインフラストラクチャＮを介して相互に通信できるノードＢＣＮを含む通信ネットワークの構成を示し、これが矢印によって示されている。さらに、上述のデバイスＩｏＴが設けられている。グループＡＮは、例えば、さらなるデバイスＦＤ１、ＦＤ２、ＦＤ３及びデバイスＩｏＴに接続しているＩｏＴコントローラＩｏＴＣを含む。さらに、ゲートウェイＧがこの通信の構成に設けられている。ゲートウェイＧは、例えば、サーバ、電化製品又はクラウドベースのサービス（例えば、産業プラットフォーム用の特別なアプリ）として実装されてもよい。ゲートウェイＧは、パブリッシャーによって提供され且つトピックに割り当てられているパブリッシュ／サブスクライブプロトコル（例えば、ＸＭＰＰ、ＭＱＴＴ、ＡＭＱＰ、ＯＰＣ  ＵＡ  ＰｕｂＳｕｂ）のメッセージからブロックチェーントランザクションを生成し、そのブロックチェーントランザクションは、逆方向でｅｗａｙ、ｄｎｅｔであり且つ検証されているリンクにおいて確認されているトランザクションを、トピックとしてブロックチェーントランザクションの検索語を含むＰｕｂＳｕｂメッセージとして、サブスクライバー（グループのデバイス）にＰｕｂＳｕｂメッセージを提供する。好適には、ゲートウェイに、又はノードＢＣＮのうちの１つにもまた、内蔵又は（リモート）結合したフィルタリング機器によってトランザクションをフィルタリングする装置（図示せず）を実装できる。フィルタリングは、上述のパブリッシュ／サブスクライブアプローチを使用して実行してもよい。フィルタ基準は、トピック（さらなる検索語）によって決定され、該フィルタ基準を使用して、フィルタリングされたトランザクション又はトランザクションデータセットが提供され、デバイス、例えばＩｏＴ又は他のノードＢＣＮに伝達できる。
【００５０】
この場合、ブロックチェーンの検索語のＰｕｂＳｕｂトピックへの１：１割当（さらなる検索語は上記参照）を行うことができる。すなわち、用語は、同一である。ブロックチェーンの検索語のＰｕｂＳｕｂトピックへの割当及びその逆はまた、ゲートウェイＧに内蔵され得るテーブルタブを介して行ってもよい。これには、デバイス自体がブロックチェーンテクノロジーをサポートする必要なしに、ブロックチェーンインフラストラクチャをＩｏＴデバイス又はインダストリー４.０デバイス、例えば、ＦＤ１、ＦＤ２によって簡単に使用できるという利点がある。デバイスは、ＩｏＴ環境で使用できるＰｕｂＳｕｂプロトコルを介してブロックチェーンにアクセスできる。トピック（さらなる検索語）は、事業計画データとして例えばＦＤ３に、少なくとも、例えばユーザインターフェースを介してデバイスによって確定されるか、デバイスによってサブスクライブされる（例えば、適用分野：インダストリー４.０、プラント：変電所、変電所内のデバイスｘ、地域：ミュンヘン地方、運用者：Ｅｏｎなど）。このために、トランザクションは、（例えば、（ソート）属性により）トピックに割り当てられる。この場合、トピックは、例えば、ｔｏｐｉｃ１.ｔｏｐｉｃ２.ｔｏｐｉｃ３など、階層構造化してもよい（トピックツリー）（上記も参照）。特定のテーマについて対応してグループ通信を使用できるようにするために、トピックとして、例えば、名前空間を使用してもよい。ミュンヘン地方（Ｍ−Ｓｔａｔｅ）のエリアにあるＥｏｎ社の仮想発電所（ＶＰＰ、Ｖｉｒｔｕａｌ  Ｐｏｗｅｒ  Ｐｌａｎｔ）が一例であり、該仮想発電所には、インフィード低減の通信用の別個のグループがある：VPP.eon.M-Land.Poing.reduce_infeed（図２を参照）。
【００５１】
ソート基準又は複数のソート属性は、例えば管理上、明示的に規定されるか、又はトランザクションに応じて暗黙的に決定される。スマートコントラクト又はスマートコントラクトの一部のハッシュ値を作成し、ソート基準として使用できる。
【００５２】
通信の構成（図３を参照）において、ノードＢＣＮは、ブロックチェーンオラクルとしても形成できる。いわゆるブロックチェーンオラクルにより、信頼できると見なされるノードは、ブロックチェーントランザクションにおいて現実世界に関する情報をエンコードし、したがって、ブロックチェーンのスマートコントラクトに対して現実世界からの情報にアクセスできるようにする（https://blog.ledger.co/hardware-oracles-bridging-the-real-world-to-the-blockchainca97c2fc3e6c#.lu511vbrd）。
【００５３】
図４には、本発明による方法に関するフローチャートが示されている。ブロックチェーン又はブロックチェーンは、集中排除型の分散データベースであるため、複数の同様のブロックチェーンノードのうちの１つ、例えば、図３のＢＣＮとの通信が通常可能である。
【００５４】
この方法は、以下のステップを有する。
Ｓ０１：同じブロックチェーン又は別のブロックチェーンの第１のリンクにリンクされているか又はリンクされるブロックチェーンの１つ以上の（第２の）リンクを形成するステップ。既述のように、第１のリンクは、開始リンク、起源リンク（起点リンク）とすることができる。
Ｓ０２：第２のリンク又は各第２のリンクにおいて少なくとも１つの検索語を確定するか、又は、第２のリンクが含む少なくとも１つの以前に確定された検索語を読み出すステップ。検索語は既に説明した。
Ｓ０３：未ソートのトランザクションデータセットの集合Ｍ（例えば、図１を参照）から１つのトランザクションデータセットを選択し、該選択したトランザクションデータセットが整合性について検証されている、ステップ。
Ｓ０４：選択したトランザクションデータセットを、前記確定した又は読み出した検索語に割り当てる、又は、前記確定した又は読み出した検索語のうちの１つに割り当てる、ステップ。
Ｂ１：少なくとも、選択すべきトランザクションデータセットが所定の数に達するまでか、又は、未ソートのトランザクションデータセットの集合が空になるまで、ステップＳ０２からＳ０４を繰り返すステップ。
Ｓ０５：所定のソート基準に基づいて、選択されて割り当てられたトランザクションデータセットをセマンティックにソートし、割り当てられた検索語をソート基準に対応する順序にするステップ。
Ｓ０６：該順序を使用して、暗号保護され且つセマンティックにソートされたトランザクションデータセットの集合を形成するステップ。
Ｂ２：本方法を、ブロックチェーンの十分な長さまで、又は、ブロックチェーン内に所定数のリンクが形成されるまで、Ｓ０１から開始して繰り返すステップ。
【００５５】
好ましい実施形態を例示して本発明を詳細に図示し説明したが、本発明は、開示された例によって限定されず、本発明の保護範囲から逸脱することなく他の変形、派生を当業者は導き出すことができる。
【００５６】
上述のプロセス又は方法シーケンスの実装は、コンピュータ可読記憶媒体又は揮発性コンピュータメモリ（以下、コンピュータ可読メモリと総称する）に存在するインストラクション（命令）に基づいて行うことができる。コンピュータ可読メモリは、例えば、キャッシュ、バッファ又はＲＡＭなどの揮発性メモリ、及びリムーバブルメディア、ハードディスクなどの不揮発性メモリである。
【００５７】
この場合、上述の機能又はステップは、少なくとも１つのインストラクションセットの方式でコンピュータ可読メモリに存在し得る。このとき、機能又はステップは、インストラクションの特定のセット又はインストラクションセットの特定の形態又は特定の記憶媒体又は特定のプロセッサ又は特定の実行スキームにリンクされず、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、プロセッサ、集積回路などによって単独で、又は任意の組み合わせで実行できる。その場合、例えば、単一のプロセッサによるシリアル処理又はマルチプロセッシング又はマルチタスク又は並列処理など、様々な処理ストラテジーを使用してもよい。
【００５８】
インストラクションは、ローカルメモリに記憶してもよいが、インストラクションをリモートシステムに保存して、ネットワーク経由でアクセスしてもよい。
【００５９】
「プロセッサ」、「中央信号処理」、「制御ユニット」又は「データ解析手段」という用語は、本明細書で使用される場合、最も広義の処理手段、すなわち、例えば、サーバ、ユニバーサルプロセッサ、グラフィックプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、ＦＰＧＡなどのプログラマブルロジック回路、個別のアナログ回路又はデジタル回路、及びそれらの任意の組み合わせを含み、当業者に既知であるか、又は将来開発される他のすべての処理手段を含む。この場合、プロセッサは、１つ以上の装置又は機器又はユニットからなっていてもよい。プロセッサが複数の装置からなる場合、装置は、並列処理か順次処理又はインストラクションの実行のために設計又は構成されていてもよい。
【図１】
2020531976.tif 000003
【図２】
2020531976.tif 000004
【図３】
2020531976.tif 000005
【図４】
2020531976.tif 000006
【国際調査報告】
2020531976.tif 000007
2020531976.tif 000008
2020531976.tif 000009