IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ドフィニティ スティフトゥングの特許一覧

特許7337845システムアーキテクチャ及びこの中のデータの処理方法
<>
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図1
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図1a
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図1b
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図2
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図3
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図4
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図5
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図6
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図7
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図8
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図9
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図10
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図11
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図12
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図13
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図14
  • 特許-システムアーキテクチャ及びこの中のデータの処理方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-25
(45)【発行日】2023-09-04
(54)【発明の名称】システムアーキテクチャ及びこの中のデータの処理方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20230828BHJP
   G06F 21/62 20130101ALI20230828BHJP
【FI】
H04L9/32 200Z
G06F21/62 318
【請求項の数】 15
(21)【出願番号】P 2020561954
(86)(22)【出願日】2019-01-28
(65)【公表番号】
(43)【公表日】2021-05-06
(86)【国際出願番号】 IB2019000101
(87)【国際公開番号】W WO2019145790
(87)【国際公開日】2019-08-01
【審査請求日】2022-01-19
(31)【優先権主張番号】62/622,169
(32)【優先日】2018-01-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520274563
【氏名又は名称】ドフィニティ スティフトゥング
(74)【代理人】
【識別番号】100076831
【弁理士】
【氏名又は名称】伊藤 捷雄
(72)【発明者】
【氏名】ウィリアムズ,ドミニク
(72)【発明者】
【氏名】ハンケ,ティモ
(72)【発明者】
【氏名】モヴァヘディ,マフヌーシュ
【審査官】金沢 史明
(56)【参考文献】
【文献】国際公開第2017/108783(WO,A1)
【文献】特表2019-506103(JP,A)
【文献】特表2019-536398(JP,A)
【文献】米国特許出願公開第2017/0048217(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00- 9/40
G06F 21/60-21/62
(57)【特許請求の範囲】
【請求項1】
非一時的なコンピュータ可読媒体にエンコードされたシステムアーキテクチャにおいて、
複数のグループを形成するように構成され、該複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む1番目の処理手段と、
複数のディーリングメッセージを作成するように構成され、該複数のディーリングメッセージのうち各ディーリングメッセージは、前記複数のグループのうち選択されたグループにおけるディーラノードからの情報を含む作成処理手段と、
ネットワークに複数のブロックをブロードキャストするように構成され、該複数のブロックの各ブロックは、前記複数のディーリングメッセージのうち一つのディーリングメッセージを含む5番目の処理手段と、
前記選択されたグループの受信者ノード宛ての前記ディーリングメッセージを読取るように構成され、前記受信者ノードは、その情報が対応するディーリングメッセージに含有される前記ディーラノードとは相違する読取り処理手段と、
対応するディーリングメッセージの真正性を検証するように構成され、前記受信者ノードによって動作させられるように構成される検証プロトコルと、
苦情メッセージを生成するように構成され、該苦情メッセージは前記受信者ノードによって署名され、前記受信者ノードによって動作させられるように構成される苦情プロトコルと、
正当化メッセージを作成するように構成され、該正当化メッセージは前記苦情メッセージに対する正当化を含み、前記ディーラノードは正当化処理手段を動作させて前記正当化メッセージを作成するように構成される正当化処理手段と、
複数の正当化された公開鍵の確認を統合するように構成され、該複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応し、前記検証プロトコルは前記複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである登録処理手段とを含むシステムアーキテクチャ
【請求項2】
前記作成処理手段は前記選択されたグループの各ディーラノードによって動作させられるように構成される請求項1のシステムアーキテクチャ
【請求項3】
前記読取り処理手段は前記選択されたグループの各受信者ノードによって動作させられるように構成される請求項1のシステムアーキテクチャ
【請求項4】
請求項1のシステムアーキテクチャにおいて、
前記1番目の処理手段によって形成された前記複数のグループから1番目のグループをランダムに選択するように構成される2番目の処理手段をさらに含むシステムアーキテクチャ
【請求項5】
前記1番目のグループは前記選択されたグループを含む請求項4のシステムアーキテクチャ
【請求項6】
前記検証プロトコルは検証ベクトルに関する前記ディーラノードからの復号化された鍵共有を検証するように構成され、対応する前記ディーリングメッセージにおける情報は前記ディーラノードからの前記鍵共有及び前記検証ベクトルを含む請求項1のシステムアーキテクチャ
【請求項7】
前記受信者ノードによって動作させられる前記検証プロトコルは前記ディーラノードの前記検証ベクトルに関する前記ディーラノードからの前記暗号化された鍵共有を検証するように構成される請求項1のシステムアーキテクチャ
【請求項8】
前記苦情メッセージは前記検証ベクトルに関する前記暗号化された鍵共有の検証の不足に関するデータを含む請求項6のシステムアーキテクチャ
【請求項9】
前記検証プロトコルは前記検証ベクトルに関する前記正当化メッセージの真正性を検証するように構成され、前記検証プロトコルは前記検証ノードによって動作させられるように構成される請求項1のシステムアーキテクチャ
【請求項10】
前記検証プロトコルは前記正当化メッセージの前記真正性を拒絶する請求項9のシステムアーキテクチャ
【請求項11】
前記検証プロトコルは前記正当化メッセージの前記真正性を承認する請求項9のシステムアーキテクチャ
【請求項12】
前記登録処理手段は前記検証ノードによって動作させられる請求項1のシステムアーキテクチャ
【請求項13】
さらに2番目の処理手段を含み、該2番目の処理手段は複数のグループから公証人グループをランダムに選択するように構成され、該公証人グループは4番目の処理手段を使用するように構成される請求項1のシステムアーキテクチャ
【請求項14】
さらに5番目の処理手段を含み、該5番目の処理手段は前記ネットワークに複数のブロックをブロードキャストするように構成され、該複数のブロックの各ブロックは、前記複数のディーリングメッセージのうち一つのディーリングメッセージを含む請求項1のシステムアーキテクチャ
【請求項15】
さらに4番目の処理手段を含み、該4番目の処理手段は複数のブロックの各ブロックを公証するように構成される請求項14のシステムアーキテクチャ
【発明の詳細な説明】
【技術分野】
【0001】
本米国特許出願は、2018年1月26日出願の米国特許仮出願第62/622,169号の関連出願であり、その優先権による利益を主張し、この仮出願の内容は、この記載を受けて、引用によって本開示にその全体が含まれる。
【背景技術】
【0002】
本セクションでは、本開示の理解を深めるのを促すのに役立つ側面を盛り込んでいる。したがって、ここでの記載は、この点に照らして解釈されるべきであり、どれが先行技術であり、どれがそうでないかという点についての自認として理解されてはならない。
【0003】
特にブロックチェーン操作のための従来のシステムアーキテクチャは、計算及び操作速度、アーキテクチャのセキュリティ、参加のスケーラビリティその他に関する問題を抱えている。本開示のさまざまな実施形態では、上記の問題に対処している。
【発明の概要】
【0004】
本発明の1つの側面は、非一時的なコンピュータ可読媒体にエンコードされたシステムアーキテクチャに関し、システムアーキテクチャは作成処理手段を含み、作成処理手段は複数のディーリングメッセージを作成するように構成される。システムアーキテクチャは読取り処理手段を含み、読取り処理手段は選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、システムアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、システムアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名される。
【0005】
本発明のもう1つの側面は、非一時的なコンピュータ可読媒体にエンコードされたシステムアーキテクチャに関し、システムアーキテクチャは作成処理手段を含み、作成処理手段は複数のディーリングメッセージを作成するように構成され、複数のディーリングメッセージのうち各ディーリングメッセージは、複数のグループのうち選択されたグループの各ディーラノードからの情報を含む。追加で、システムアーキテクチャは5番目の処理手段を含み、5番目の処理手段はネットワークに複数のブロックをブロードキャストするように構成され、複数のブロックの各ブロックは、複数のディーリングメッセージのうち一つのディーリングメッセージを含む。加えて、システムアーキテクチャは読取り処理手段を含み、読取り処理手段は選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、システムアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、システムアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコルは受信者ノードによって動作させられるように構成される。システムアーキテクチャは正当化処理手段を含み、正当化処理手段は正当化メッセージを作成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化処理手段を動作させて正当化メッセージを作成するように構成される。システムアーキテクチャは登録処理手段も含み、登録処理手段は選択された複数のディーリングメッセージを統合するように構成され、登録処理手段は受信者ノードによって動作させられる。
【0006】
本発明のもう1つの側面は、非一時的なコンピュータ可読媒体にエンコードされたシステムアーキテクチャに関し、システムアーキテクチャは1番目の処理手段を含み、1番目の処理手段は複数のグループを形成するように構成され、複数のグループのうち各グループは、ネットワークからランダムに選択された一組のノードを含む。システムアーキテクチャは作成処理手段も含み、作成処理手段は複数のディーリングメッセージを作成するように構成され、複数のディーリングメッセージのうち各ディーリングメッセージは、複数のグループのうち選択されたグループにおけるディーラノードからの情報を含む。追加で、システムアーキテクチャは5番目の処理手段を含み、5番目の処理手段はネットワークに複数のブロックをブロードキャストするように構成され、複数のブロックの各ブロックは、複数のディーリングメッセージのうち一つのディーリングメッセージを含む。加えて、システムアーキテクチャは読取り処理手段を含み、読取り処理手段は選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、システムアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、システムアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコルは受信者ノードによって動作させられるように構成される。システムアーキテクチャは正当化処理手段を含み、正当化処理手段は正当化メッセージを生成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化処理手段を動作させて正当化メッセージを生成するように構成される。システムアーキテクチャは登録処理手段も含み、登録処理手段は複数の正当化された公開鍵の確認を統合するように構成され、複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応し、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。
【0007】
一又は複数の実施形態は、添付の図面中の図に、例の形で、したがって限定によるものではない形で示され、同一の符号で指示された要素は、一貫して同様の要素となる。業界の標準的な手法に合致して、さまざまな技術的特徴が実寸どおりに図示されていないこともあり、もっぱら図示の目的で使用されることは強調される。事実、図面中のさまざまな技術的特徴の寸法は、議論の明確性のために、恣意的に大きくしたり小さくしたりすることもある。
【図面の簡単な説明】
【0008】
図1】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
図1a】ブロックチェーンで暗号鍵分散生成手順を実行するためのシステムアーキテクチャ100aを示す図。
図1b】一又は複数の実施形態にしたがう、暗号鍵分散生成手順用のシステムアーキテクチャにおけるデータを処理する方法100bを示すフローチャート。
図2】一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図3】一又は複数の実施形態にしたがって、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図4】一又は複数の実施形態にしたがって、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図5】一又は複数の実施形態にしたがう、閾値リレーチェーンの格付けシステムのシステムアーキテクチャを示す図。
図6】一又は複数の実施形態にしたがう、システムアーキテクチャにおけるデータを処理する方法を示すフローチャート。
図7】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
図8】一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図9】一又は複数の実施形態にしたがって、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図10】一又は複数の実施形態にしたがって、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す図。
図11】一又は複数の実施形態にしたがう、閾値リレーチェーンの格付けシステムのシステムアーキテクチャを示す図。
図12】一又は複数の実施形態にしたがう、システムアーキテクチャにおけるデータを処理する方法を示すフローチャート。
図13】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
図14】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
図15】ブロックチェーンにおいてノードを動作させるためのコンピュータ処理または処理ノードの一例を示す図。
【発明を実施するための形態】
【0009】
以下の開示は、本願のさまざまな技術的特徴を実装するための多数の異なる実施形態又は例を規定する。以下に、本明細書の開示を簡単に示すために、部品及び配置の特定の例について説明する。これらは一例であり、限定することが目的ではない。図示した実施形態の製法及び使用について、以下で詳細に説明される。しかしながら、本開示は、多様な特定のコンテキストで具現化することができる多数の実用化可能なコンセプトを規定すると評価すべきである。少なくとも若干の実施形態において、本明細書に詳細を示した一又は複数の実施形態及び/又はその変形例は、一又は複数の実施形態及び/又はその変形例と組合わせ可能である。
【0010】
公開又は許諾型の任意の参加モデルにおいて展開することができるセキュアかつ高性能のコンセンサスメカニズムを使用するシステムアーキテクチャに関する本開示のさまざまな実施形態。さまざまな実施形態にしたがい、システムアーキテクチャは、時間の経過の中で出力のストリームを生成する検証可能なランダム関数として作用する分散型のランダムビーコンを含む。閾値署名方式を含むかかる分散型のランダムビーコンを用いて、最終的には、ブロック作成者の選択における幅が小さくなるので、ブロック作成に関する限り、計算速度の向上につながる。加えて、分散型のランダムビーコンは、予測不能、停止不能かつ検証可能であるランダムシーケンスを生成するように構成されるので、関連のシステムの信頼性を維持し、同時に内部のセキュリティを向上させる。
【0011】
閾値リレーメカニズムを含む分散型のランダムビーコンを用いて、きわめて多くの参加者に合わせてスケールアップすることができるので、アーキテクチャのキャパシティを下支えする。アーキテクチャのさまざまな実施形態は、ランダムビーコン出力経由の非対話型のメッセージングを一回しか行なう必要がなく、かかるアーキテクチャの計算速度には、引き続き支障はない。さらに、閾値リレーメカニズムは、一又は複数の実施形態にしたがい、登録されたブロック作成者のみから選択する。このような生態系では、不正を働くブロック作成者に無制限のペナルティを科すことが可能になる。その理由は、このように不正を働くブロック作成者は、自らが受けた指名を失うばかりでなく、資格も剥奪され、かかる指名に関連する金銭的価値も喪失する可能性があるからである。これは、不正を抑止するのみならず、関連のシステムのセキュリティを高める。
【0012】
加えて、生態系のアーキテクチャセキュリティをさらに高めるためのさまざまな実施形態は、暗号鍵分散生成手順処理手段(以下に論じる)を実行することで、誠実なノードのみが上の生態系に参加していることを確認するためのシステムアーキテクチャに関する。さまざまな実施形態において、暗号鍵分散生成手順処理手段は、ディーラノードとは受信者ノードとの間の戦略的取引メッセージに基づいて運用される。ディーラノードは少なくとも一人の受信者に対してディーリングメッセージを送る。ディーリングメッセージは、ディーラノードからの暗号化された鍵共有を含む。ディーラノードは各受信者ノード用に別々の暗号化された鍵共有を作成することで、全ての受信者ノードが別々の暗号化された鍵共有を受信するようにする。これによって、全ての受信者ノードが、ディーラノードの検証ベクトルとの関連で、ディーラノードから受信した暗号化された鍵共有を個別に検証することを可能にする。受信者ノードが検証することが不可能な場合には、ディーラノードからの復号化された鍵共有がネットワークにブロードキャストされるようにするためにさまざまな処理手段が実施される。その鍵共有が検証ベクトルに対して検証されたディーラノードのみが誠実なノードと判断されることで、上の生態系に参加することが許可される。上の手順は、検証ベクトルとの関連で暗号化された鍵共有を個別に検証した上で、誠実な(ディーラ)ノードのみが上記の生態系に参加していると確認することで、ディーラノードの関与をチェックする上で役立つ。本願のさまざまな実施形態は、上記を実行することに関するため、ネットワークのセキュリティが確実に維持される。
【0013】
さまざまな実施形態において、閾値リレーメカニズムは、従来の方法論に比較して、目に見えない反対側のフォークの重みにいっそう厳しい限界/見積もりを与える格付けメカニズムも調整するので、結果として、複数のフォークを扱う際に、より迅速かつより正確なチェーンの選択がもたらされる。閾値リレーメカニズムは、公証によってプロックのファイナリティを与えることで、結果として新規のブロックに略瞬時のファイナリティがもたらされる。
【0014】
図1は、一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャ100を示す。閾値リレーチェーン100は汎用ネットワーク105と通信するように構成される。汎用ネットワーク105は複数のノード110を含み、複数のノード110のうちの各ノードは、通信チャネルを介して相互に対話するように構成される。通信チャネルは、ピアツーピアネットワーク、ブロードキャストネットワーク又はゴシップネットワークのうち少なくとも1つを含む。ネットワーク115は二以上のノード110を含む。6番目の処理手段165は、汎用ネットワーク105から複数のノード170を指名するように構成される。1番目の処理手段120は、複数のグループ125を形成するように構成され、複数のグループ125の各グループ(125;G,G...,G)は、ネットワーク115からランダムに選択されたノードの集合を含む。さまざまな実施形態において、複数のグループ125の各グループ(125;G,G...,G)は、複数のノード170の一部である。少なくとも1つの実施形態において、ネットワーク115は汎用ネットワーク105である。少なくとも1つの実施形態において、暗号鍵分散生成手順処理手段(以下に論じる)を実行するためのシステムアーキテクチャは、誠実なノードのみが上の生態系に参加していることを確認するために動作させられる。
【0015】
2番目の処理手段130は、1番目のグループ(135,γ)をランダムに選択するように構成される。3番目の処理手段140は、1番目のグループ(135,γ)を指定して、1番目のグループ署名を生成することで、1番目のメッセージ(145,M)に署名するように構成される。ハッシュ関数150は、1番目のグループ署名からハッシュ値(155,H)を生成するように構成される。1番目のグループ(135,γ)のサイズは、システムパラメータである。少なくとも1つの実施形態において、ハッシュ値(155,H)は、2番目の処理手段130を用いて2番目のグループ(135,γ)を選択するように構成され、3番目の処理手段140は、2番目のグループ(135,γ)を指定して、2番目のメッセージ(145,M)に署名するように構成される。
【0016】
さまざまな実施形態において、1番目のグループ署名は、1番目のグループ(135,γ)の閾値集合によって生成されるように構成される。いくつかの実施形態において、閾値集合は、1番目のグループ(135,γ)のサイズより小さい。いくつかの実施形態において、閾値集合は、1番目のグループ(135,γ)のサイズに等しい。少なくとも1つの実施形態において、1番目のグループ(135,γ)の閾値集合は、システムパラメータである。
【0017】
さまざまな実施形態において、1番目のメッセージ(145,M)は乱数に鎖状につながれる。いくつかの実施形態において、乱数は、シード160に由来する値である。いくつかの実施形態において、シード160は、先行するグループ署名から導出される。少なくとも1つの実施形態において、シード160が先行するグループ署名から導出されるのは、ハッシュ関数150による。少なくとも1つの実施形態において、1番目のメッセージは、システムパラメータである。
【0018】
上に論じたとおり、2番目の処理手段130は、1番目のグループ(135,γ)をランダムに選択するように構成される。さまざまな実施形態において、かかる選択は乱数に基づく。いくつかの実施形態において、乱数は、シード160に由来する値である。いくつかの実施形態において、シード160は、先行するグループ署名から導出される。少なくとも1つの実施形態において、シード160が先行するグループ署名から導出されるのは、ハッシュ関数150による。
【0019】
閾値リレーチェーン100は設定処理手段180を含み、設定処理手段180は、1番目の処理手段120によって形成される複数のグループ125のグループ用のグループ公開鍵を確立するように構成され、1番目のグループ署名は、グループ公開鍵によって検証されるように構成される。少なくとも1つの実施形態において、1番目のグループ署名は、1番目のグループ(135,γ)の特異性とは無関係に、グループ公開鍵及び1番目のメッセージ(145,M)に固有となるように構成される。いくつかの実施形態において、1番目のグループ署名は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。
【0020】
一又は複数の実施形態において、設定処理手段180は、複数のグループ125の各グループ(125;G,G...,G)の各ノード用に、個別の秘密鍵共有を確立するように構成される。少なくとも1つの実施形態にしたがい、1番目のグループ(135,γ)の閾値集合のノードのそれぞれの個別の秘密鍵共有は、1番目のグループ署名を生成するように構成される。いくつかの実施形態において、閾値集合は、1番目のグループ(135,γ)のサイズより小さい。いくつかの実施形態において、閾値集合は、1番目のグループ(135,γ)のサイズに等しい。少なくとも1つの実施形態において、1番目のグループ(135,γ)の閾値集合は、システムパラメータである。
【0021】
上に論じたとおり、閾値リレーチェーン100は6番目の処理手段165を含むように構成され、6番目の処理手段165は、汎用ネットワーク105から複数のノード170を指名するように構成される。1又は複数の実施形態において、ランダムに選択されたノードの集合は、複数のノード170の一部である。いくつかの実施形態において、6番目の処理手段165は、複数のノード170を指名するための方法論を採用するように構成され、方法論は、プルーフオブワークパズル、外部の第三者の承認又は計算資源の検証のうちいずれか1つを含む。いくつかの実施形態において、6番目の処理手段165は、複数のノード170のうち各ノードに関連する金銭的価値及び/又は投票権を評価するように構成される。
【0022】
さらに、閾値リレーチェーン100は7番目の処理手段175を含み、7番目の処理手段175は、ランダムに選択された及び/又は複数のノードの集合の選択ノードの不正を検出するように構成される。いくつかの実施形態において、7番目の処理手段175は、選択ノードにペナルティを与えるように構成される。いくつかの実施形態において、7番目の処理手段175は、選択ノードの指名を拒絶するように構成される。
【0023】
図1に示したとおり、閾値リレーチェーン100のさまざまな処理手段及び関数は、データ管理及び処理のサイクル(すなわちC,C…C)に同時にサービスを提供するように構成される。2番目の処理手段130は、ハッシュ値(155,H)と共に、2番目のグループ(135,γ)を選択するように構成され、3番目の処理手段140は、2番目のグループ(135,γ)を指定して、2番目のメッセージ(145,M)に署名するように構成される。いくつかの実施形態において、2番目のメッセージ(145,M)は、1番目のグループ署名のハッシュ値(155,H)を含む。いくつかの実施形態において、2番目のメッセージ(145,M)は、1番目のグループ署名のハッシュ値(155,H)を含まない。
【0024】
一又は複数の実施形態にしたがい、2番目の処理手段130は、ハッシュ値(155,H)と共に、(N+1)番目のグループ(135,γN+1)を選択するように構成され、3番目の処理手段140は、(N+1)番目のグループ(135,γN+1)を指定して、(N+1)番目のメッセージ(145,MN+1)に署名するように構成される。ハッシュ関数150は、(N+1)番目のグループ署名からハッシュ値(155,HN+1)を生成するように構成される。いくつかの実施形態において、(N+1)番目のメッセージ(145,MN+1)は、N番目のグループ署名のハッシュ値(155,H)を含む。いくつかの実施形態において、(N+1)番目のメッセージ(145,130MN+1)は、N番目のグループ署名のハッシュ値(155,H)を含まない。
【0025】
本開示のさまざまな実施形態は、2番目の処理手段130が1番目の処理手段120によって形成される複数のグループから1番目のグループをランダムに選択する前に方法論を実行するためのシステムアーキテクチャに関する。2番目の処理手段130が1番目のグループをランダムに選択するために、この1番目のグループはブロックチェーンでの暗号鍵分散生成手順の遵守に沿う必要がある。図1aは、ブロックチェーンで暗号鍵分散生成手順100aを実行するためのシステムアーキテクチャを示す。暗号鍵分散生成手順100a用のシステムアーキテクチャは、1番目のグループ内に虚偽の情報をブロードキャストする可能性のある悪意のあるノードをゼロにするように構成される。いくつかの実施形態において、暗号鍵分散生成手順100aは、1番目の処理手段120が複数のグループを形成した後に実行される。
【0026】
上に示したように、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。暗号鍵分散生成手順100a用のシステムアーキテクチャは作成処理手段105aを含み、作成処理手段105aはディーリングメッセージを作成するように構成される。作成処理手段105aは少なくとも1つのディーラノードによって動作させられる。暗号鍵分散生成手順100a用のシステムアーキテクチャはハッシュ関数110aを含み、ハッシュ関数110aは複数のディーリングメッセージのうち各ディーリングメッセージからハッシュ値を生成する。追加で、暗号鍵分散生成手順100a用のシステムアーキテクチャは5番目の処理手段115aを含み、5番目の処理手段115aはブロックチェーンのネットワーク宛ての複数のブロックをブロードキャストするように構成される。さらに、暗号鍵分散生成手順100a用のシステムアーキテクチャは4番目の処理手段120aを含み、4番目の処理手段120aは複数のブロックのうち各ブロックを公証するように構成される。追加で、暗号鍵分散生成手順100a用のシステムアーキテクチャは5番目の処理手段115aを含み、5番目の処理手段115aは選択されたグループの受信者ノードに複数のブロックをブロードキャストするように構成される。
【0027】
一又は複数の実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは複数のグループのうち選択されたグループにおける各ディーラノードからの情報を含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち各ディーリングメッセージを含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち少なくとも二つのディーリングメッセージを含む。少なくとも一つの実施形態において、受信者ノードはその情報が対応するディーリングメッセージに含まれるディーラノードとは相違する。いくつかの実施形態において、ハッシュ値は複数のディーリングメッセージのマークルツリーのルートである。少なくとも一つの実施形態において、ハッシュ値は複数のブロックのうち一つのブロックに内蔵される。
【0028】
暗号鍵分散生成手順100a用のシステムアーキテクチャは2番目の処理手段130(図1)を含み、2番目の処理手段130は複数のグループから公証人グループをランダムに選択するように構成され、公証人グループは4番目の処理手段120aを使用するように構成される。公証人グループは出力を生成し、これが後で2番目の処理手段130に使用されて複数のグループから公証人グループをランダムに選択する。
【0029】
いくつかの実施形態において、作成処理手段は選択されたグループの各ディーラノードによって動作させられるように構成される。いくつかの実施形態において、読取り処理手段は選択されたグループの各受信者ノードによって動作させられるように構成される。
【0030】
単一のディーリングメッセージは、単一のディーラノードについての情報を含む。かかる情報は、単一のディーラノードからの鍵共有を含む。作成処理手段が動作している時は、単一のディーラノードに含まれる秘密鍵の鍵共有が受信者ノード用に生成処理手段される。秘密鍵の異なる鍵共有が各受信者ノード用に生成される。異なる鍵共有がその受信者ノードに対応する公開鍵によって暗号化され(各受信者ノード公開鍵に関連付けられ)、こうして全ての受信者ノードにおいて異なる暗号化された鍵共有が得られる。
【0031】
さまざまな実施形態において、暗号鍵分散生成手順100a用のシステムアーキテクチャは検証プロトコル135aを含み、検証プロトコル135aは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコル135aは受信者ノードによって動作させられるように構成される。受信者はディーラからの暗号化された鍵共有を復号化する。検証プロトコル135aは検証ベクトルに関するディーラノードからの復号化された鍵共有を検証するように構成され、対応するディーリングメッセージにおける情報はディーラノードからの鍵共有及び検証ベクトルを含む。検証ベクトルはディーラノードに含まれる。
【0032】
暗号鍵分散生成手順100a用のシステムアーキテクチャは苦情プロトコル140aを含み、苦情プロトコル140aは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコル140aは受信者ノードによって動作させられるように構成される。いくつかの実施形態において、苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。いくつかの実施形態において、データは検証ベクトルに関する暗号化された鍵共有の検証の不足に関する証拠である。
【0033】
少なくとも一つの実施形態において、5番目の処理手段115aはその後ネットワークに苦情メッセージをブロードキャストするように構成される。暗号鍵分散生成手順100a用のシステムアーキテクチャは正当化処理手段145aを含み、正当化処理手段145aは正当化メッセージを作成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化処理手段を動作させて正当化メッセージを作成するように構成される。少なくとも一つの実施形態において、5番目の処理手段115aはネットワークに正当化メッセージをブロードキャストするように構成される。一又は複数の実施形態において、検証プロトコル135aは検証ベクトルに関する正当化メッセージの真正性を検証するように構成され、検証プロトコル135aは検証ノードによって動作させられるように構成される。いくつかの実施形態において、検証プロトコル135aは正当化メッセージの真正性を拒絶する。いくつかの実施形態において、検証プロトコル135aは正当化メッセージの真正性を承認する。
【0034】
さまざまな実施形態において、作成処理手段は複数の2番目のディーリングメッセージを作成するように構成され、複数の2番目のディーリングメッセージのうち各2番目のディーリングメッセージは、複数のグループのうち選択された2番目のグループにおける各ディーラノードについての情報を含む。
【0035】
さらに、暗号鍵分散生成手順100a用のシステムアーキテクチャは登録処理手段150aを含み、登録処理手段150aは選択されたグループの複数のディーリングメッセージを統合するように構成され、登録処理手段150aは受信者ノードによって動作させられる。一又は複数の実施形態において、登録処理手段は複数の正当化された公開鍵の確認を統合するように構成され、複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応する。いくつかの実施形態において、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。
【0036】
一又は複数の実施形態において、登録処理手段150aは各検証ノードによって動作させられる。一又は複数の実施形態において、登録処理手段は複数のディーリングメッセージの確認を統合するように構成される。いくつかの実施形態において、検証プロトコルは各ディーリングメッセージの真正性を承認済みである。いくつかの実施形態において、検証プロトコルは各ディーリングメッセージに関連付けられた各正当化メッセージの真正性を承認済みである。いくつかの実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは何らの苦情とも関連付けられていない。
【0037】
登録処理手段が複数のディーリングメッセージの確認を統合した後、各検証ノードは複数の公開鍵を集約し、各公開鍵は統合された(又は確認された)複数のディーリングメッセージのうち一つのディーリングメッセージから抽出される。登録処理手段が複数のディーリングメッセージの確認を統合した後、各受信者ノードは複数の鍵共有を集約し、各鍵共有は統合された(又は確認された)ディーリングメッセージに対応する。
【0038】
いくつかの実施形態において、2番目の処理手段130がその後始まり、2番目の処理手段130は、1番目の処理手段によって形成された複数のグループから1番目のグループをランダムに選択するように構成される。少なくとも1つの実施形態において、1番目のグループは選択されたグループを含む。
【0039】
例1は以下のとおり。ディーリングメッセージは、ディーラノードについての情報を含む。ディーリングメッセージは、ディーラノードからの鍵共有を含む。ディーリングメッセージが受信者ノードに分散されると、ディーラノードは受信者ノードの公開鍵で鍵共有を暗号化する。ディーリングメッセージは、受信者ノードによって受信された暗号化された鍵共有を含む。ここで受信者ノードは、ディーラノードの検証ベクトルとの関連で、ディーラノードからの暗号化された鍵共有を検証する。複数のディーラノードがある場合には、受信者ノードは複数のディーリングメッセージを統合する。いくつかの実施形態において、受信者ノードは複数の公開鍵の確認を統合し、各ディーリングメッセージは正当化された公開鍵に対応する。ディーラノードはここで誠実であると見なされる。
【0040】
例2は以下のとおり。ディーリングメッセージは、ディーラノードについての情報を含む。ディーリングメッセージは、ディーラノードからの鍵共有を含む。ディーリングメッセージが受信者ノードに分散されると、ディーラノードは受信者ノードの公開鍵で鍵共有を暗号化する。ディーリングメッセージは、受信者ノードによって受信された暗号化された鍵共有を含む。受信者はディーラからの暗号化された鍵共有を復号化する。これによって、全ての受信者ノードが、ディーラノードの検証ベクトルとの関連で、ディーラノードから受信した暗号化された鍵共有を個別に検証することを可能にする。受信者ノードはネットワークに苦情メッセージをブロードキャストすることで苦情を行なう。苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。いくつかの実施形態において、データは検証ベクトルに関する暗号化された鍵共有の検証の不足に関する証拠である。ディーラノードはここでネットワークに正当化メッセージをブロードキャストする。ディーラノードはネットワーク上に正当化メッセージ(鍵共有を含む)を公開する。ここで検証ノードは検証ベクトルに関する正当化メッセージ(即ち鍵共有)の真正性を検証する。検証ノードが正当化メッセージの真正性を拒絶する場合には、処理手段は拒絶された正当化メッセージに対応するディーラノードが不誠実であるとの理解のもとで登録を進める。検証ノードが正当化メッセージの真正性を承認する場合には、処理手段はメッセージが正当化されたディーラノードが誠実であるとの理解のもとで登録を進める。
【0041】
図1bは、一又は複数の実施形態にしたがう、暗号鍵分散生成手順用のシステムアーキテクチャにおけるデータを処理する方法100bを示すフローチャートである。プロセッサによって実行された場合コンピュータに方法100bを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。一又は複数の実施形態において、方法100bは、1番目の処理手段120(図1)が複数のグループを形成した後に実行される。
【0042】
上に示したように、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。方法100bは、作成処理手段が複数のディーリングメッセージを作成するステップ105bで開始する。その後方法100bは、ハッシュ関数が複数のディーリングメッセージのうちの各ディーリングメッセージからハッシュ値を生成するステップ110bに続く。その後方法100bは5番目の処理手段がネットワークに複数のブロックをブロードキャストするステップ115bを含む。
【0043】
さらに、方法100bは4番目の処理手段が複数のブロックのうち各ブロックを公証するステップ120bを含む。さまざまな実施形態において、公証人グループは各ブロックを公証する。少なくとも1つの実施形態において、2番目の処理手段は複数のグループから公証人グループをランダムに選択する。加えて方法100bは読取り処理手段が選択されたグループの受信者ノード宛てのディーリングメッセージを読取るステップ125bを含む。
【0044】
一又は複数の実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは複数のグループのうち選択されたグループにおける各ディーラノードからの情報を含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち各ディーリングメッセージを含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち少なくとも二つのディーリングメッセージを含む。少なくとも一つの実施形態において、受信者ノードはその情報が対応するディーリングメッセージに含まれるディーラノードとは相違する。いくつかの実施形態において、ハッシュ値は複数のディーリングメッセージのマークルツリーのルートである。少なくとも一つの実施形態において、ハッシュ値は複数のブロックのうち一つのブロックに内蔵される。さまざまな実施形態において、単一のディーリングメッセージは、単一のノードについての情報を含む。さまざまな実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは、ディーラノードからの暗号化された鍵共有を含む。
【0045】
さらに方法100bは検証プロトコルが対応するディーリングメッセージの真正性を検証するステップ130bを含む。受信者ノードは検証プロトコルを動作させる。検証プロトコルは、ディーラノードの検証ベクトルとの関連で、ディーラノードからの暗号化された鍵共有を検証する。対応するディーリングメッセージにおける情報は、ディーラノードからの暗号化された鍵共有及び検証ベクトルを含む。
【0046】
方法100bは、苦情プロトコルが苦情メッセージを生成するステップ135bに続く。苦情メッセージは受信者ノードによって動作させられ、苦情メッセージは受信者ノードによって署名される。一又は複数の実施形態において、苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。
【0047】
方法100bは、5番目の処理手段がネットワークに苦情メッセージをブロードキャストするステップ140bに続く。さらに方法100bは、正当化処理手段が正当化メッセージを作成するステップ145bを含む。ディーラノードは正当化処理手段を動作させて正当化メッセージを作成し、正当化メッセージは苦情メッセージに対する正当化を含む。
【0048】
方法100bはこれに続いて、5番目の処理手段がネットワークに正当化メッセージをブロードキャストするステップ150bを行なう。さらに方法100bは、検証ノードが検証ベクトルに関する正当化メッセージの真正性を検証するステップ155bを含む。いくつかの実施形態において、検証プロトコルは正当化メッセージの真正性を拒絶する。いくつかの実施形態において、検証プロトコルは正当化メッセージの真正性を承認する。
【0049】
検証プロトコルが正当化メッセージの真正性を拒絶した場合に、作成処理手段は複数の二番目のディーリングメッセージを作成する。いくつかの実施形態において、作成処理手段が複数の二番目のディーリングメッセージを作成するようにするために、検証プロトコルはある程度の割合の正当化メッセージを拒絶する必要がある。複数の二番目のディーリングメッセージのうちの各二番目のディーリングメッセージは、複数のグループのうち各選択されたグループを含む。
【0050】
検証プロトコルが正当化メッセージの真正性を承認した場合に、方法100bは、登録処理手段が選択されたグループの複数のディーリングメッセージを統合するステップ160bに続く。いくつかの実施形態において、登録処理手段は各受信者ノードによって動作させられる。いくつかの実施形態において、登録処理手段は検証ノードによって動作させられる。少なくとも一つの実施形態において、登録処理手段は複数の正当化された公開鍵の確認を統合する。複数の正当化された公開鍵のうち各正当化された公開鍵は、各ディーリングメッセージに対応する。いくつかの実施形態において、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。いくつかの実施形態において、方法100bはステップ135bの直後にステップ160bを続ける。さらに方法100bは、5番目の処理手段がネットワークに統合された確認をブロードキャストするように構成されるステップ165bを含む。
【0051】
方法100bは、2番目の処理手段が1番目の処理手段によって形成される複数のグループから1番目のグループを選択するステップ170bに続く。いくつかの実施形態において、1番目のグループはランダムに選択される。少なくとも1つの実施形態において、1番目のグループは選択されたグループを含む。
【0052】
当業者であれば、一又は複数の実施形態において、方法100bに操作が追加されたりこれから削除されたりするということを理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法100bにおける操作の順番は変更されるということも理解するはずである。
【0053】
図2は、一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数の処理手段のシステムアーキテクチャを示す。ハッシュ値((160,H);(155,H);(155,H)…(155,H))のそれぞれは、図2に示した複数のブロック作成者を選択するように構成される。12番目の処理手段205は、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。ハッシュ値から発生した各ブロック作成者の優先順位の階層を図2に示す。図5は、格付けシステムについての追加の資料を示す。
【0054】
たとえば、ハッシュ値(160,H)から発生した優先順位最高位にあるブロック作成者は、“PBM(H)”で表される。数が大きくなると、ハッシュ値(160,H)から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“PBM(H)”で表されるブロック作成者は、“PBM(H)”より低い優先度レベルを有する。加えて、“PBM(H)”で表されるブロック作成者は、“PBM(H)”及び“PBM(H)”より低い優先度レベルを有し、Mは2より大きい整数である。
【0055】
他の側面において、ハッシュ値(155,H)から発生した優先順位最高位にあるブロック作成者は、“PBM(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“PBM(H)”で表されるブロック作成者は、“PBM(H)”より低い優先度レベルを有する。加えて、“PBM(H)”で表されるブロック作成者は、“PBM(H)”及び“PBM(H)”より低い優先度レベルを有し、Mは2より大きい整数である。
【0056】
さらに他の側面において、ハッシュ値(155,H)から発生した優先順位最高位にあるブロック作成者は、“PBM(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“PBM(H)”で表されるブロック作成者は、“PBM(H)”より低い優先度レベルを有する。加えて、“PBM(H)”で表されるブロック作成者は、“PBM(H)”及び“PBM(H)”より低い優先度レベルを有し、Mは2より大きい整数である。
【0057】
さらに、ハッシュ値(155,H)から発生した優先順位最高位にあるブロック作成者は、“PBM(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“PBM(H)”で表されるブロック作成者は、“PBM(H)”より低い優先度レベルを有する。加えて、“PBM(H)”で表されるブロック作成者は、“PBM(H)”及び“PBM(H)”より低い優先度レベルを有し、Mは2より大きい整数であり、Nは2より大きい整数である。
【0058】
立ち戻って図2を参照して、複数のブロック作成者のうち各ブロック作成者は、ブロックを作成するように構成される。ブロックは、複数のブロック作成者のうち1人のブロック作成者によって集められたトランザクションを含む。図2に関する議論は、以下の図3に関する議論に引き続いて行なわれる。
【0059】
図3は、一又は複数の実施形態にしたがって、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャを示す。少なくとも1つの実施形態において、4番目の処理手段315は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、N番目のグループ(135,γ)に先行するサイクル(例:CN-1)内の複数のブロックのうち1つのブロックを検証するように構成される。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、4番目の処理手段315は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか1つを含む。少なくとも1つの実施形態において、4番目の処理手段315は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【0060】
引き続き図3に関して、4番目の処理手段315は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。1番目の二次グループ署名は、ブロックを認証する。加えて、4番目の処理手段315は、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。2番目の二次グループ署名は、ブロックを認証する。さらに、4番目の処理手段315は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:CN-1)内にある。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、4番目の処理手段315は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。1又は複数の実施形態において、4番目の処理手段315は、検証されたブロックに対してタイムスタンプを押すように構成される。1又は複数の実施形態において、図9の4番目の処理手段315は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【0061】
いくつかの実施形態において、公証されたブロックは、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループ(135,γ)のサイズ以下である。
【0062】
1番目のグループ署名は、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループのサイズ以下である。少なくとも1つの実施形態において、1番目のグループ(135,γ)の閾値集合のサイズは、システムパラメータである。2番目のグループ署名は、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループのサイズ以下である。少なくとも1つの実施形態において、2番目のグループ(135,γ)の閾値集合は、システムパラメータである。N番目のグループ署名は、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループのサイズ以下である。少なくとも1つの実施形態において、N番目のグループ(135,γ)の閾値集合は、システムパラメータである。
【0063】
複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャは、5番目の処理手段320も含み、5番目の処理手段320は、1番目の二次グループ署名又はサイクルC内のタイムスタンプが押されたブロックをネットワークにブロードキャストするように構成される。1番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、5番目の処理手段320は、2番目の二次グループ署名又はサイクルC内のタイムスタンプが押されたブロックのうち少なくとも1つをネットワークにブロードキャストするように構成される。2番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。さらに、5番目の処理手段320は、N番目の二次グループ署名又はサイクルCN-1内のタイムスタンプが押されたブロックをネットワークにブロードキャストするように構成される。N番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。少なくとも1つの実施形態において、5番目の処理手段320は、上記の機能を同時に遂行するように構成される。ブロードキャストされた任意のタイムスタンプが押されたブロックは、異なるサイクルの他のタイムスタンプが押されたブロックを参照する。
【0064】
ブロードキャストされた各サイクル内の任意の公証されたブロックは、異なるサイクルの他のブロックを参照する。少なくとも1つの実施形態において、他のブロックは公証される。
【0065】
立ち戻って図2を参照して、ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャは、13番目の処理手段210も含み、13番目の処理手段210は、タイムスタンプに利用可能な複数のブロック間で各ブロックに優先順位をつけるように構成される。加えて、13番目の処理手段210は、複数のブロック作成者の格付けシステムに基づいて、複数のブロック間で各ブロックに優先順位をつけるように構成される。
【0066】
1又は複数の実施形態において、13番目の処理手段210は、各サイクル内で、ハッシュ値を用いることで、複数のブロック間で各ブロックに優先順位をつけるように構成される。たとえば、13番目の処理手段210は、ハッシュ値(160,H)を用いることで、C内で複数のブロック間で各ブロックに優先順位をつけるように構成される。いくつかの実施形態において、13番目の処理手段210は、ハッシュ値(155,H)を用いることで、C内で複数のブロック間で各ブロックに優先順位をつけるように構成される。いくつかの実施形態において、13番目の処理手段210は、ハッシュ値(155,H)を用いることで、C内で複数のブロック間で各ブロックに優先順位をつけるように構成される。たとえば、13番目の処理手段210は、ハッシュ値(155,H)及び/又は(160,H)を用いることで、C内で複数のブロック間で各ブロックに優先順位をつけるように構成される。ハッシュ値から発生した各ブロック作成者の優先順位の階層を図2にも示す。
【0067】
たとえば、ハッシュ値(160,H)から発生した優先順位最高位にあるブロックは、“PB(H)”で表される。数が大きくなると、ハッシュ値(160,H)から発生する対応するブロックの優先度レベルが低下する。それゆえ、“PB(H)”で表されるブロック作成者は、“PB(H)”より低い優先度レベルを有する。加えて、“PB(H)”で表されるブロック作成者は、“PB(H)”及び“PB(H)”より低い優先度レベルを有し、Mは2より大きい整数である。
【0068】
他の側面において、ハッシュ値(155,H)から発生した優先順位最高位にあるブロックは、“PB(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロックの優先度レベルが低下する。それゆえ、“PB(H)”で表されるブロックは、“PB(H)”の優先度レベルより低い優先度レベルを有する。加えて、“PB(H)”で表されるブロックは、“PB(H)”及び“PB(H)”の優先度レベルより低い優先度レベルを有し、Mは2より大きい整数である。
【0069】
さらに他の側面において、ハッシュ値(155,H)から発生した優先順位最高位にあるブロックは、“PB(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロックの優先度レベルが低下する。それゆえ、“PB(H)”で表されるブロックは、“PB(H)”の優先度レベルより低い優先度レベルを有する。加えて、“PB(H)”で表されるブロックは、“PB(H)”及び“PB(H)”の優先度レベルより低い優先度レベルを有し、Mは2より大きい整数である。
【0070】
さらに、ハッシュ値(155,H)から発生した優先順位最高位にあるブロックは、“PB(H)”で表される。数が大きくなると、ハッシュ値(155,H)から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“PB(H)”で表されるブロックは、“PB(H)”の優先度レベルより低い優先度レベルを有する。加えて、“PB(H)”で表されるブロックは、“PB(H)”及び“PB(H)”より低い優先度レベルを有し、Mは2より大きい整数であり、Nは2より大きい整数である。
【0071】
ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャは、4番目の処理手段215も含み、4番目の処理手段215は、少なくとも1つの実施形態にしたがい、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、1番目のグループ(135,γ)に先行するサイクル(例:C)内で、複数のブロックを検証するように構成される。1番目の二次グループ署名は、ブロックを認証する。加えて、4番目の処理手段215は、少なくとも1つの実施形態にしたがい、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、2番目のグループ(135,γ)に先行するサイクル(例:C)内で、複数のブロックを検証するように構成される。2番目の二次グループ署名は、ブロックを認証する。さらに、4番目の処理手段215は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、N番目のグループ(135,γ)に先行するサイクル(例:CN-1)内の複数のブロックのうち1つのブロックを検証するように構成される。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、4番目の処理手段215は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか1つを含む。少なくとも1つの実施形態において、4番目の処理手段215は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【0072】
引き続き図2において、ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャにおいて、4番目の処理手段215は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックの1番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。1番目の二次グループ署名は、1番目の優先順位をつけたブロックを認証する。加えて、4番目の処理手段215は、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、複数のブロックの2番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。2番目の二次グループ署名は、2番目の優先順位をつけたブロックを認証する。さらに、4番目の処理手段215は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、複数のブロックの(N-1)番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:CN-1)内にある。N番目の二次グループ署名は、(N-1)番目の優先順位を認証する。少なくとも1つの実施形態において、4番目の処理手段215は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。1又は複数の実施形態において、4番目の処理手段215は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【0073】
いくつかの実施形態において、公証されたブロックは、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループ(135,γ)のサイズ以下である。
【0074】
ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャは、5番目の処理手段220も含み、5番目の処理手段220は、1番目の二次グループ署名又は公証された1番目のブロックをブロードキャストするように構成される。1番目の二次グループ署名は、1番目のブロックを公証するように構成される。加えて、5番目の処理手段220は、2番目の二次グループ署名又は公証された2番目のブロックをブロードキャストするように構成される。2番目の二次グループ署名は、2番目のブロックを公証するように構成される。さらに、5番目の処理手段220は、N番目の二次グループ署名又は公証されたN番目のブロックをブロードキャストするように構成される。N番目の二次グループ署名は、N番目のブロックを公証するように構成される。少なくとも1つの実施形態において、5番目の処理手段220は、上記の機能を同時に遂行するように構成される。
【0075】
ブロードキャストされた各サイクル内の任意の公証されたブロックは、異なるサイクルの他のブロックを参照する。少なくとも1つの実施形態において、他のブロックは公証される。
【0076】
図4は、一又は複数の実施形態にしたがう、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャを示す。上に論じたとおり、ハッシュ値((160,H);(155,H);(155,H)…(155,H))のそれぞれは、複数のブロック作成者を選択するように構成される。ハッシュ値(160,H)に沿った2番目の処理手段130は、1番目のグループ(135,γ)を選択するように構成される。1又は複数の実施形態において、4番目の処理手段215は、1番目のグループ(135,γ)を指定して、複数のブロックの1つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。4番目の処理手段215がタイムスタンプを検証してはじめて、1番目のグループ(135,γ)は1番目のグループ署名を使用して1番目のメッセージ(145,M)に署名することで、図1に示す閾値リレーチェーン100の操作を継続する。
【0077】
ハッシュ値(155,H)に沿った2番目の処理手段130は、2番目のグループ(135,γ)を選択するように構成される。1又は複数の実施形態において、4番目の処理手段215は、2番目のグループ(135,γ)を指定して、複数のブロックの1つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。4番目の処理手段215がタイムスタンプを検証してはじめて、2番目のグループ(135,γ)は2番目のグループ署名を使用して2番目のメッセージ(145,M)に署名することで、図1に示す閾値リレーチェーン100の操作を継続する。
【0078】
ハッシュ値(155,HN-1)に沿った2番目の処理手段130は、N番目のグループ(135,γ)を選択するように構成される。1又は複数の実施形態において、4番目の処理手段215は、N番目のグループ(135,γ)を指定して、複数のブロックの1つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:CN-1)内にある。4番目の処理手段215がタイムスタンプを検証してはじめて、N番目のグループ(135,γ)はN番目のグループ署名を使用してN番目のメッセージ(145,M)に署名することで、図1に示す閾値リレーチェーン100の操作を継続する。
【0079】
図5は、一又は複数の実施形態にしたがう、閾値リレーチェーン100の格付けシステム500のシステムアーキテクチャを示す。さまざまな実施形態において、閾値リレーチェーン100の格付けシステムのシステムアーキテクチャは、8番目の処理手段525を含み、8番目の処理手段525は、複数のブロック作成者の各ブロック作成者の格付けを導出するように構成される。いくつかの実施形態において、格付けは、先行するサイクル(例:C)の1番目のグループ署名から導出される。いくつかの実施形態において、格付けは、先行するサイクル(例:C)の2番目のグループ署名から導出される。いくつかの実施形態において、格付けは、先行するサイクル(例:CN-1)のN番目のグループ署名から導出される。
【0080】
閾値リレーチェーン100の格付けシステムのシステムアーキテクチャは、9番目の処理手段530を含み、9番目の処理手段530は、複数のブロック作成者の各ブロック作成者に関連するブロックに、複数の1番目の重みを割当てるように構成される。いくつかの実施形態において、単一の1番目の重みが各ブロックに割当てられる。少なくとも1つの実施形態において、各ブロックの複数の1番目の重みの各1番目の重みは、複数のブロック作成者のうち各ブロック作成者の格付けに基づく。
【0081】
閾値リレーチェーン100の格付けシステムのシステムアーキテクチャは、10番目の処理手段535を含み、10番目の処理手段535は、ブロックから成る少なくとも1つのチェーンに、2番目の重みを割当てるように構成される。少なくとも1つの実施形態において、ブロックから成る少なくとも1つのチェーンの2番目の重みは、ブロックから成る少なくとも1つのチェーンの各ブロックの各1番目の重みに基づき、ブロックから成る少なくとも1つのチェーンの1つのブロックは、ブロックから成る少なくとも1つのチェーンの他のブロックを参照する。
【0082】
さらに、閾値リレーチェーン100の格付けシステムのシステムアーキテクチャは、11番目の処理手段540を含み、11番目の処理手段540は、要素に基づいて、ブロックから成る少なくとも1つのチェーンのうちブロックから成る1つのチェーンの先行するブロックを選択するように構成される。少なくとも1つの実施形態において、要素は、ブロックから成るチェーンの先行するブロックの1番目の重み又はブロックから成るチェーンの2番目の重みを含む。
【0083】
図6は、一又は複数の実施形態にしたがう、システムアーキテクチャ内のデータの処理方法600を示すフローチャートである。プロセッサによって実行された場合コンピュータに方法100bを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。方法600は、6番目の処理手段によって複数のノードが指名されるステップ605で始まる。方法600は、1番目の処理手段によって複数のグループが形成されるステップ610に続く。少なくとも1つの実施形態において、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。いくつかの実施形態において、ランダムに選択されたノードの集合は、複数のノードの一部である。
【0084】
方法600は、7番目の処理手段によって、ランダムに選択されたノードの集合の中の選択されたノード及び/又は複数のノードの不正の可能性を検出するステップ615に続く。1又は複数の実施形態において、選択ノードはペナルティを受ける及び/又は指名を取り消す。方法600は、2番目の処理手段によって、複数のグループから1番目のグループが選択されるステップ620に続く。いくつかの実施形態において、1番目のグループは、シードに基づいて2番目の処理手段によってランダムに選択される。いくつかの実施形態において、1番目のグループは、先行するグループ署名に基づくシードに基づいて2番目の処理手段によってランダムに選択される。
【0085】
さらに、方法600は、設定処理手段によって1番目のグループのグループ公開鍵が確立されるステップ625に続く。ステップ630において、1番目のグループは、1番目のグループ署名を生成することで1番目のメッセージに署名する。1又は複数の実施形態において、3番目の処理手段は、1番目のグループを指定して1番目のメッセージに署名するように構成される。さらに、方法600は、1番目のグループ署名からハッシュ値が生成されるステップ635に続く。1又は複数の実施形態において、ハッシュ関数は、1番目のグループ署名からハッシュ値を生成するように構成される。
【0086】
方法600は、ハッシュ値及び2番目の処理手段が、後続のサイクルの2番目のグループを選択するように構成されるステップ640に続く。1又は複数の実施形態において、複数のブロックのうち1つのブロックが、以下に論じる先行するサイクルのステップ670に示されているように、4番目の処理手段によって、検証又はタイムスタンプのいずれか一方がなされて初めて、後続のサイクルの2番目のグループは、方法600のステップ625と同様のステップに続く。
【0087】
先行するサイクルに立ち戻って、方法600は、ハッシュ値によって複数のブロック作成者が選択されるステップ645に続く。方法600は、12番目の処理手段によって、複数のブロック作成者の各ブロック作成者に優先順位がつけられるステップ650を含む。少なくとも1つの実施形態において、12番目の処理手段は、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。いくつかの実施形態において、格付けシステムは図5に示した格付けシステム500を含む。方法600は、13番目の処理手段によって、先行するサイクル内の複数のブロックの各ブロックに優先順位がつけられるステップ655に続く。方法600は、4番目の処理手段によって複数のグループのうち1つのブロックにタイムスタンプが押されるステップ660に続く。少なくとも1つの実施形態において、4番目の処理手段は、先行するサイクルにおいて複数のグループのうち1つのブロックにタイムスタンプを押すように構成される。いくつかの実施形態において、4番目の処理手段は、優先順位がつけられたブロックのみにタイムスタンプを押す。いくつかの実施形態において、4番目の処理手段は、優先順位がつけられているかとは無関係に、ブロックにタイムスタンプを押す。いくつかの実施形態において、タイムスタンプは2番目のグループ署名を使用して生成される。
【0088】
さらに、方法600は、4番目の処理手段によって複数のグループのうち1つのブロックが検証されるステップ665に続く。少なくとも1つの実施形態において、4番目の処理手段は、2番目のグループ署名を指定して、複数のグループのうち1つのブロックを検証するように構成される。いくつかの実施形態において、優先順位がつけられたブロックのみが検証される。いくつかの実施形態において、複数のブロックはその優先順位とは無関係に検証される。いくつかの実施形態において、検証されたブロックのみにタイムスタンプが押される。いくつかの実施形態において、タイムスタンプが発行されたブロックのみが検証される。
【0089】
さらに、方法600は、5番目の処理手段によって、2番目のグループ署名又はタイムスタンプが発行されたブロックのうち少なくともいずれか一方がブロードキャストされるステップ670に続く。
【0090】
当業者であれば、一又は複数の実施形態において、方法600に操作が追加されたり削除されたりすることは理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法600における操作の順番が変更されることは理解するはずである。
【0091】
図7は、一又は複数の実施形態にしたがう、閾値リレーチェーン700のシステムアーキテクチャを示す。閾値リレーチェーン700のシステムアーキテクチャ(図7)は閾値リレーチェーン100(図1)と同様である。閾値リレーチェーン700における同様の要素は、図1と同一の符号を有する。図1と比較すると、図7はハッシュ値(160,H)を含み、図7のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0092】
上で論じたとおり、閾値リレーチェーン700のシステムアーキテクチャ(図7)のこれ以外の特徴は、閾値リレーチェーン100のシステムアーキテクチャ(図1)と同様である。
【0093】
図8は、一又は複数の実施形態にしたがう、ブロックチェーンを操作するように構成された閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャを示す。閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図8)は、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図2)と同様である。閾値リレーチェーン700(図8)における同様の要素は、図2と同一の符号を有する。図2と比較すると、図8はハッシュ値(160,H)を含み、図8のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0094】
図2と比較すると、ブロックチェーンを操作するように構成された、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図8)において、図8の4番目の処理手段215は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックの1番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。1番目の二次グループ署名は、ブロックを認証する。加えて、図8の4番目の処理手段215は、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、1番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。2番目の二次グループ署名は、ブロックを認証する。さらに、4番目の処理手段215は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、N番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、図8の4番目の処理手段215は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか1つを含む。少なくとも1つの実施形態において、図8の4番目の処理手段215は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【0095】
図2と比較すると、ブロックチェーンを操作するように構成された、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図8)において、図8の4番目の処理手段215は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックの1番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。1番目の二次グループ署名は、1番目の優先順位をつけたブロックを認証する。加えて、図8の4番目の処理手段215は、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、複数のブロックの2番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。2番目の二次グループ署名は、2番目の優先順位をつけたブロックを認証する。さらに、図8の4番目の処理手段215は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、複数のブロックのN番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。N番目の二次グループ署名は、N番目の優先順位をつけたブロックを認証する。少なくとも1つの実施形態において、図8の4番目の処理手段215は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。1又は複数の実施形態において、図8の4番目の処理手段215は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【0096】
いくつかの実施形態において、公証されたブロックは、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループ(135,γ)のサイズ以下である。
【0097】
上で論じたとおり、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図8)のこれ以外の特徴は、ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図2)と同様である。
【0098】
図9は、一又は複数の実施形態にしたがう、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャを示す。閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図9)は、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図3)と同様である。閾値リレーチェーン700(図9)における同様の要素は、図3と同一の符号を有する。図3と比較すると、図9はハッシュ値(160,H)を含み、図9のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0099】
図3と比較すると、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図9)は、4番目の処理手段315を含む。図9の4番目の処理手段315は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、各サイクル(例:C)内の複数のブロックのうち1つのブロックを検証するように構成される。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、図9の4番目の処理手段315は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか1つを含む。少なくとも1つの実施形態において、図9の4番目の処理手段315は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【0100】
図3と比較すると、図9の4番目の処理手段315は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。1番目の二次グループ署名は、ブロックを認証する。加えて、図9の4番目の処理手段315は、2番目のグループ(135,γ)を指定して、2番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。2番目の二次グループ署名は、ブロックを認証する。さらに、図9の4番目の処理手段315は、N番目のグループ(135,γ)を指定して、N番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。N番目の二次グループ署名は、ブロックを認証する。少なくとも1つの実施形態において、図9の4番目の処理手段315は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。1又は複数の実施形態において、図9の4番目の処理手段315は、検証されたブロックに対してタイムスタンプを押すように構成される。1又は複数の実施形態において、図9の4番目の処理手段315は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【0101】
いくつかの実施形態において、公証されたブロックは、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループ(135,γ)のサイズ以下である。いくつかの実施形態において、公証されたブロックは、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループ(135,γ)のサイズ以下である。
【0102】
1番目のグループ署名は、1番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、1番目のグループのサイズ以下である。少なくとも1つの実施形態において、1番目のグループ(135,γ)の閾値集合のサイズは、システムパラメータである。2番目のグループ署名は、2番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、2番目のグループのサイズ以下である。少なくとも1つの実施形態において、2番目のグループ(135,γ)の閾値集合は、システムパラメータである。N番目のグループ署名は、N番目のグループ(135,γ)の閾値集合によって生成されるように構成され、閾値集合のサイズは、N番目のグループのサイズ以下である。少なくとも1つの実施形態において、N番目のグループ(135,γ)の閾値集合は、システムパラメータである。
【0103】
同じく図3と比較すると、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成された、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図9)は、5番目の処理手段320も含み、図9の5番目の処理手段320は、1番目の二次グループ署名又はサイクルC内のタイムスタンプが押されたブロックのうち少なくとも1つをネットワークにブロードキャストするように構成される。1番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、図9の5番目の処理手段320は、2番目の二次グループ署名又はサイクルC内のタイムスタンプが押されたブロックのうち少なくとも1つをネットワークにブロードキャストするように構成される。2番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、図9の5番目の処理手段320は、N番目の二次グループ署名又はサイクルC内のタイムスタンプが押されたブロックのうち少なくとも1つをネットワークにブロードキャストするように構成される。N番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。少なくとも1つの実施形態において、図9の5番目の処理手段320は、上記の機能を同時に遂行するように構成される。ブロードキャストされた任意のタイムスタンプが押されたブロックは、異なるサイクルの他のタイムスタンプが押されたブロックを参照する。
【0104】
上で論じたとおり、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図9)のこれ以外の特徴は、ブロックチェーンを操作するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図3)と同様である。
【0105】
図10は、一又は複数の実施形態にしたがう、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャを示す。閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図10)は、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図4)と同様である。閾値リレーチェーン700(図10)における同様の要素は、図4と同一の符号を有する。図4と比較すると、図10はハッシュ値(160,H)を含み、図10のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0106】
図4と比較すると、図10の4番目の処理手段215は、1番目のグループ(135,γ)を指定して、1番目の二次グループ署名を作成することで、複数のブロックのうち1つのブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。1又は複数の実施形態において、図10の4番目の処理手段215は、2番目のグループ(135,γ)を指定して、複数のブロックの1つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル(例:C)内にある。2番目のグループ(135,γ)が、1番目のグループ(135,γ)からのタイムスタンプを確認して初めて、2番目のグループ(135,γ)は、図7に黙示的に示した2番目のグループ署名を作成する。1又は複数の実施形態において、図10の4番目の処理手段215は、N番目のグループ(135,γ)を指定して、複数のブロックの1つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル(例:C)内にある。(N+1)番目のグループ(135,γN+1)が、N番目のグループ(135,γ)からのタイムスタンプを確認して初めて、(N+1)番目のグループ(135,γN+1)は(N+1)番目のグループ署名を作り出す。
【0107】
上で論じたとおり、系統的ランダム性ベースのブロック検証を維持するように構成された、閾値リレーチェーン700の複数の処理手段のシステムアーキテクチャ(図10)のこれ以外の特徴は、系統的ランダム性ベースのブロック検証を維持するように構成された、閾値リレーチェーン100の複数の処理手段のシステムアーキテクチャ(図4)と同様である。
【0108】
図11は、一又は複数の実施形態にしたがう、閾値リレーチェーン700の格付けシステム1100のシステムアーキテクチャを示す。閾値リレーチェーン700の格付けシステムのシステムアーキテクチャ(図11)は、閾値リレーチェーン100の格付けシステムのシステムアーキテクチャ(図5)と同様である。閾値リレーチェーン700の格付けシステムのシステムアーキテクチャ(図11)の同様の要素は、図5と同一の符号を有する。図5と比較すると、図11はハッシュ値(160,H)を含み、図11のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0109】
さまざまな実施形態において、閾値リレーチェーン700の格付けシステムのシステムアーキテクチャ(図11)は、8番目の処理手段525を含み、図11の8番目の処理手段525は、複数のブロック作成者の各ブロック作成者の格付けを導出するように構成される。図5と比較すると、1又は複数の実施形態にしたがって、格付けは、各サイクル(例:C)の1番目のグループ署名から導出される。いくつかの実施形態において、格付けは、各サイクル(例:C)の2番目のグループ署名から導出される。いくつかの実施形態において、格付けは、各サイクル(例:C)のN番目のグループ署名から導出される。
【0110】
上で論じたとおり、閾値リレーチェーン700の格付けシステムのシステムアーキテクチャ(図11)のこれ以外の特徴は、閾値リレーチェーン100の格付けシステムのシステムアーキテクチャ(図5)と同様である。
【0111】
図12は、一又は複数の実施形態にしたがう、システムアーキテクチャ内のデータの処理方法1200を示すフローチャートである。プロセッサによって実行された場合コンピュータに方法100bを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。方法1200は、6番目の処理手段によって複数のノードが指名されるステップ605で始まる。方法1200は、1番目の処理手段によって複数のグループが形成されるステップ610に続く。少なくとも1つの実施形態において、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。いくつかの実施形態において、ランダムに選択されたノードの集合は、複数のノードの一部である。
【0112】
方法1200は、7番目の処理手段によって、ランダムに選択されたノードの集合の中の選択されたノード及び/又は複数のノードの不正の可能性を検出するステップ615に続く。1又は複数の実施形態において、選択ノードはペナルティを受ける及び/又は指名を取り消す。方法1200は、2番目の処理手段によって、複数のグループから1番目のグループが選択されるステップ620に続く。いくつかの実施形態において、1番目のグループは、シードに基づいて2番目の処理手段によってランダムに選択される。いくつかの実施形態において、1番目のグループは、先行するグループ署名に基づくシードに基づいて2番目の処理手段によってランダムに選択される。
【0113】
さらに、方法1200は、設定処理手段によって1番目のグループのグループ公開鍵が確立されるステップ625に続く。ステップ630において、1番目のグループは、1番目のグループ署名を生成することで1番目のメッセージに署名する。1又は複数の実施形態において、3番目の処理手段は、1番目のグループを指定して1番目のメッセージに署名するように構成される。さらに、方法1200は、1番目のグループ署名からハッシュ値が生成されるステップ635に続く。1又は複数の実施形態において、ハッシュ関数は、1番目のグループ署名からハッシュ値を生成するように構成される。
【0114】
方法1200は、ハッシュ値及び2番目の処理手段が、後続のサイクルの2番目のグループを選択するように構成されるステップ640に続く。1又は複数の実施形態において、複数のブロックのうち1つのブロックが、以下に論じる先行するサイクルのステップ670に示されているように、4番目の処理手段によって、検証又はタイムスタンプのいずれか一方がなされて初めて、後続のサイクルの2番目のグループは、方法1200のステップ625と同様のステップに続く。2番目のグループが複数のブロックが検証又はタイムスタンプのいずれか一方がなされたのを確認して初めて、2番目のグループは、2番目のメッセージに署名する。
【0115】
先行するサイクルに立ち戻って、方法1200は、ハッシュ値によって複数のブロック作成者が選択されるステップ645に続く。方法1200は、12番目の処理手段によって、複数のブロック作成者の各ブロック作成者に優先順位がつけられるステップ650を含む。少なくとも1つの実施形態において、12番目の処理手段は、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。いくつかの実施形態において、格付けシステムは図11に示した格付けシステム1100を含む。方法1200は、13番目の処理手段によって、先行するサイクル内の複数のブロックの各ブロックに優先順位がつけられるステップ655を含む。方法1200は、4番目の処理手段によって複数のグループのうち1つのブロックにタイムスタンプが押されるステップ660に続く。少なくとも1つの実施形態において、4番目の処理手段は、各サイクル(例:C)において複数のグループのうち1つのブロックにタイムスタンプを押すように構成される。いくつかの実施形態において、4番目の処理手段は、優先順位がつけられたブロックのみにタイムスタンプを押す。いくつかの実施形態において、4番目の処理手段は、優先順位がつけられているかとは無関係に、ブロックにタイムスタンプを押す。いくつかの実施形態において、タイムスタンプは2番目のグループ署名を使用して生成される。
【0116】
さらに、方法1200は、4番目の処理手段によって複数のグループのうち1つのブロックが検証されるステップ665に続く。少なくとも1つの実施形態において、4番目の処理手段は、1番目のグループ署名を指定して、複数のグループのうち1つのブロックを検証するように構成される。いくつかの実施形態において、優先順位がつけられたブロックのみが検証される。いくつかの実施形態において、複数のブロックはその優先順位とは無関係に検証される。いくつかの実施形態において、検証されたブロックのみにタイムスタンプが押される。いくつかの実施形態において、タイムスタンプが発行されたブロックのみが検証される。
【0117】
さらに、方法1200は、5番目の処理手段によって、2番目のグループ署名又はタイムスタンプが発行されたブロックのうち少なくともいずれか一方がブロードキャストされるステップ670に続く。
【0118】
当業者であれば、一又は複数の実施形態において、方法1200に操作が追加されたり削除されたりすることは理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法1200における操作の順番が変更されることは理解するはずである。
【0119】
図13は、一又は複数の実施形態にしたがう、閾値リレーチェーン1300のシステムアーキテクチャを示す。閾値リレーチェーン1300のシステムアーキテクチャ(図13)は閾値リレーチェーン100(図1)と同様である。閾値リレーチェーン1300における同様の要素は、図1と同一の符号を有する。図1と比較すると、図13は、1番目のデルタグループ(185,Δ)と1番目のグループ(135,γ)とをランダムに選択するように構成された2番目の処理手段130を含む。
【0120】
図13の3番目の処理手段140は、1番目のデルタグループ(185,Δ)を指定して、1番目のグループ署名を生成することで、1番目のメッセージ(145,M)に署名するように構成される。図13のハッシュ関数150は、1番目のグループ署名からハッシュ値(155,H)を生成するように構成される。1番目のデルタグループ(185,Δ)のサイズは、システムパラメータである。少なくとも1つの実施形態において、ハッシュ値(155,H)は、2番目の処理手段130を用いて2番目のデルタグループ(185,Δ)を選択するように構成され、3番目の処理手段140は、2番目のデルタグループ(185,Δ)を指定して、2番目のメッセージ(145,M)に署名するように構成される。
【0121】
さまざまな実施形態において、1番目のグループ署名は、1番目のデルタグループ(185,Δ)の閾値集合によって生成されるように構成される。いくつかの実施形態において、閾値集合は、1番目のデルタグループ(185,Δ)のサイズより小さい。いくつかの実施形態において、閾値集合は、1番目のデルタグループ(185,Δ)のサイズに等しい。少なくとも1つの実施形態において、1番目のデルタグループ(185,Δ)の閾値集合は、システムパラメータである。
【0122】
上で論じたとおり、2番目の処理手段130は、1番目のデルタグループ(185,Δ)をランダムに選択するように構成される。さまざまな実施形態において、かかる選択は乱数に基づく。いくつかの実施形態において、乱数は、シード160に由来する値である。いくつかの実施形態において、シード160は、先行するグループ署名から導出される。少なくとも1つの実施形態において、シード160が先行するグループ署名から導出されるのは、ハッシュ関数150による。
【0123】
図13の閾値リレーチェーン1300は設定処理手段180を含み、設定処理手段180は、1番目の処理手段120によって形成される複数のグループ125のグループ用のグループ公開鍵を確立するように構成され、1番目のグループ署名は、グループ公開鍵によって検証されるように構成される。少なくとも1つの実施形態において、1番目のグループ署名は、1番目のデルタグループ(185,Δ)の閾値集合の特異性とは無関係に、グループ公開鍵及び1番目のメッセージ(145,M)に固有となるように構成される。いくつかの実施形態において、1番目のグループ署名は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、GapDiffie-Hellmanグループ(GDH)又はBoneh-Lynn-Shacham(BLS)署名方式に基づく。
【0124】
一又は複数の実施形態において、図13の設定処理手段180は、複数のグループ125の各グループ(125;G,G...,G)の各ノード用に、個別の秘密鍵共有を確立するように構成される。少なくとも1つの実施形態にしたがい、1番目のデルタグループ(185,Δ)の閾値集合のノードのそれぞれの個別の秘密鍵共有は、1番目のグループ署名を生成するように構成される。いくつかの実施形態において、閾値集合は、1番目のデルタグループ(185,Δ)のサイズより小さい。いくつかの実施形態において、閾値集合は、1番目のデルタグループ(185,Δ)のサイズに等しい。少なくとも1つの実施形態において、1番目のデルタグループ(185,Δ)の閾値集合は、システムパラメータである。
【0125】
図13に示したとおり、閾値リレーチェーン1300のさまざまな処理手段及び関数は、データ管理及び処理のサイクル(すなわちC,C…C)に同時にサービスを提供するように構成される。2番目の処理手段130は、ハッシュ値(155,H)と共に、2番目のデルタグループ(185,Δ)を選択するように構成され、3番目の処理手段140は、2番目のデルタグループ(185,Δ)を指定して、2番目のメッセージ(145,M)に署名するように構成される。いくつかの実施形態において、2番目のメッセージ(145,M)は、1番目のグループ署名のハッシュ値(155,H)を含む。いくつかの実施形態において、2番目のメッセージ(145,M)は、1番目のグループ署名のハッシュ値(155,H)を含まない。
【0126】
一又は複数の実施形態にしたがい、2番目の処理手段130は、ハッシュ値(155,H)と共に、(N+1)番目のデルタグループ(185,ΔN+1)を選択するように構成され、3番目の処理手段140は、(N+1)番目のデルタグループ(185,ΔN+1)を指定して、(N+1)番目のメッセージ(145,MN+1)に署名するように構成される。ハッシュ関数150は、(N+1)番目のグループ署名からハッシュ値(155,HN+1)を生成するように構成される。いくつかの実施形態において、(N+1)番目のメッセージ(145,MN+1)は、N番目のグループ署名のハッシュ値(155,H)を含む。いくつかの実施形態において、(N+1)番目のメッセージ(145,MN+1)は、N番目のグループ署名のハッシュ値(155,H)を含まない。
【0127】
上で論じたとおり、閾値リレーチェーン1300のシステムアーキテクチャ(図13)のこれ以外の特徴は、閾値リレーチェーン1000のシステムアーキテクチャ(図1)と同様である。少なくとも1つの実施形態において、図2~6及び本願の関連の説明は、閾値リレーチェーン1300のシステムアーキテクチャ(図13)と併用される。
【0128】
図14は、一又は複数の実施形態にしたがう、閾値リレーチェーン1400のシステムアーキテクチャを示す。閾値リレーチェーン1400のシステムアーキテクチャ(図14)は閾値リレーチェーン1300(図13)と同様である。閾値リレーチェーン1400(図14)における同様の要素は、図13と同一の符号を有する。図13と比較すると、図14はハッシュ値(160,H)を含み、図14のハッシュ値(160,H)は複数のブロック作成者を選択しない。
【0129】
上で論じたとおり、閾値リレーチェーン1400のシステムアーキテクチャ(図14)のこれ以外の特徴は、閾値リレーチェーン1300のシステムアーキテクチャ(図13)と同様である。少なくとも1つの実施形態において、図8~12及び本願の関連の説明は、閾値リレーチェーン1400のシステムアーキテクチャ(図14)と併用される。
【0130】
図15は、ブロックチェーン内のノードを操作するための閾値リレーチェーンの計算又は処理ノード1500の一例を示す。この例は、本願に記載の本発明の実施形態の使用範囲又は機能に関して何らかの限定を提示することを目的としたものではない。それでも、計算ノード1500は、実装および/または本願の以上に記載した機能をどれでも実行することができる。
【0131】
計算ノード1500には、多数の他の汎用又は特殊用途の計算システム環境又は設定で動作するコンピュータシステム/サーバ1502が存在する。コンピュータシステム/サーバ1502と併用するのに適した計算システム、環境及び/又は設定の例としては、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、携帯又はラップトップ端末、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家電機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、上記のシステム又はデバイスのうちいずれかを含む分散型クラウド計算システムその他が含まれるが、これに限定されない。
【0132】
コンピュータシステム/サーバ1502は、プログラムモジュールのようなコンピュータシステムを用いた実行命令の全体的な文脈の中で説明されることがある。一般的には、プログラムモジュールは、特定のタスクを実行する又は特定の抽象的データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造その他を含むことがある。コンピュータシステム/サーバ1502は、分散型クラウドコンピューティング環境で実行されることもあり、ここでは、タスクは、通信ネットワークを通じてリンクされたリモートの処理用デバイスによって実行される。分散型クラウドコンピューティング環境においては、プログラムモジュールは、メモリ記憶デバイスを含むローカルとリモートのいずれのコンピュータシステム用記憶媒体にも配置することができる。
【0133】
図15に示したとおり、クラウド計算ノード1500におけるコンピュータシステム/サーバ1502は、汎用コンピューティングデバイスの形で示される。コンピュータシステム/サーバ1502のコンポーネントは、一又は複数のプロセッサ又は処理ユニット1504と、システムメモリ1506と、システムメモリ1506を含むさまざまなシステムコンポーネントをプロセッサ1504に接続するバス1508を含むことがあるが、これには限定されない。
【0134】
バス1508は、複数のタイプのバス構造のうち任意のものの一又は複数に相当し、メモリバス又はメモリコントローラ、周辺バス、AGP、プロセッサ又は各種のバスアーキテクチャのうち任意のものを使用するローカルバスを含む。以下は一例であり限定するものではないが、かかるアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、強化ISA(EISA)バス、VESAローカルバス、PCIバスを含む。
【0135】
通常、コンピュータシステム/サーバ1502は、各種のコンピュータシステム可読媒体を含む。かかる媒体は、コンピュータシステム/サーバ1502によってアクセス可能であるあらゆる入手可能な媒体であってもよく、揮発性、不揮発性のいずれの媒体も、取外し可能な媒体も取外しできない媒体も含む。
【0136】
1つの実施形態において、システムメモリ1506は、図6及び図12のフローチャート並びに図1~5、図7~11及び図13~14のアーキテクチャを実行する。システムメモリ506は、たとえばランダムアクセスメモリ(RAM)1510及び/又はキャッシュメモリ1512のような揮発性メモリの形のコンピュータシステム可読媒体を含むことができる。コンピュータシステム/サーバ1502は、他の取外し可能/取外しできない、揮発性/不揮発性コンピュータシステム記憶媒体を含んでもよい。もっぱら一例として、ストレージシステム1514は、取外しできない、不揮発性磁気媒体(図示せず、通常「ハードドライブ」と呼ばれる)から読み出し、かつここに書込みをするために設けることができる。図示していないが、取外しできない、不揮発性磁気媒体から読み出し、かつここに書込みをするため磁気ディスクドライブ(例:「フロッピーディスク」)及び不揮発性磁気媒体から読み出し、かつここに書込みをするため光学ディスクドライブ、例えばCD-ROM、DVD-ROM又は他の光学媒体も設けることができる。かかる例においては、それぞれが、一又は複数のデータ媒体インターフェースによってバス1508に接続される。以下においてさらに示され説明されるとおり、メモリ1506は、本発明のさまざまな実施形態の機能を実行するように構成されたプログラムモジュールの集合(例:少なくとも1つ)を有する少なくとも1つのプログラム製品を含むこともある。
【0137】
プログラムモジュール1518の集合(例:少なくとも1つ)を有するプログラム/ユーティリティ1516は、一例であり、制限するものではないが、メモリ1506、さらには、オペレーティングシステム、一又は複数のアプリケーションプログラム、その他のプログラムモジュール及びプログラムデータに保存されることもある。オペレーティングシステム、一又は複数のアプリケーションプログラム、その他のプログラムモジュール及びプログラムデータ並びにこれらの組み合わせのうちそれぞれは、ネットワーキング環境の実装を含むこともある。プログラムモジュール1518は、一般的には、本明細書に記載の本発明のさまざまな実施形態の機能及び/又は方法論を実行する。
【0138】
当業者からかかる評価が与えられることにはなるが、本発明の側面は、システム、方法又はコンピュータプログラム製品のいずれかの形で組込まれることがある。したがって、本発明の側面は、全面的にハードウェアを用いた態様、全面的にソフトウェアを用いた態様(ファームウェア、常駐ソフト、マイクロコード等)又はハードウェアの側面とソフトウェアの側面を併用した態様の形を取ることがあり、これら全てが、本明細書中では一般的に「回路」、「モジュール」又は「システム」と呼ばれることがある。さらに、本発明の側面は、これに組み込まれたコンピュータ可読プログラムコードを有する、一又は複数のコンピュータ可読媒体に組み込まれたコンピュータプログラム製品の形を取ることがある。
【0139】
コンピュータシステム/サーバ1502は、一又は複数の外付け機器1520、例えばキーボード、ポインタ、ディスプレイ1522その他、ユーザがコンピュータシステム/サーバ1502と対話するのを可能にする一又は複数の機器、及び/又は、コンピュータシステム/サーバ1502と通信するのを可能にする任意の機器(ネットワークカード、モデム等)と通信することができる。かかる通信は、I/Oインターフェース1524を介して行なうことができる。さらに、コンピュータシステム/サーバ1502は、ネットワークアダプタ1526を介して、一又は複数のネットワーク、例えば、ローカルエリアネットワーク(LAN)、一般的な広域ネットワーク(WAN)及び/又は公衆回線網(例:インターネット)と通信することができる。示したとおり、ネットワークアダプタ1526は、コンピュータシステム/サーバ1502の他のコンポーネントとバス1508を介して通信することができる。図示されていないが、他のハードウェア又はソフトウェアコンポーネントを、コンピュータシステムサーバ1502と併用することもできると理解すべきである。例として、マイクロコード、デバイスドライバ、冗長処理ユニット、外付けディスクドライブアレイ、RAIDシステム、テープドライブ及びデータ保存用ストレージシステムその他が含まれるが、これに限定されない。
【0140】
本開示及びその利点が以上において詳細に説明されているが、本明細書において、添付の特許請求の範囲に規定された開示の趣旨及び目的から逸脱することなく、さまざまな変更、入れ換え、部分的変更を行なうことができる。さらに、本願の目的は、本明細書に記載の事項の処理、設計、機械、製法及び組成、手段、方法並びに工程の特定の実施形態に限定されることを期するものではない。当業者は、開示内容から、本明細書に記載の対応する実施形態と実質的に同様の機能を遂行する又は実質的に同様の結果をもたらす、既存又は今後開発されることのある事項の処理、設計、機械、製法、組成、手段、方法又は工程は、本開示内容に従い利用することができると容易に評価する。結果として、添付の特許請求の範囲は、その目的の中に、処理、設計、機械、製法、組成、手段、方法又は工程を含むことを期する。
【0141】
本開示において、複数の実施形態が規定されているが、開示のシステム及び方法は、開示の趣旨及び目的から逸脱することなく、多数の他の特殊な形態で実施することができると理解する必要がある。本願の例は、一例にすぎず、限定を加えるものではなく、本発明は、本願に提示した細部に限定されるものではない。例えば、さまざまな要素又はコンポーネントを組み合わせたり別のシステムに内蔵したりすることもでき、或いは、かかる技術的特徴を省略したり、実施しないとしたりすることもできる。
図1
図1a
図1b
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15