(57)【要約】  非一時的なコンピュータ可読媒体にエンコードされたソフトウェアアーキテクチャにおいて、ソフトウェアアーキテクチャは作成プロトコルを含み、作成プロトコルは複数のディーリングメッセージを作成するように構成される。加えて、ソフトウェアアーキテクチャは読取りプロトコルを含み、読取りプロトコルは選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、ソフトウェアアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、ソフトウェアアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名される。
2021511763.tif 000002
【特許請求の範囲】
【請求項１】
非一時的なコンピュータ可読媒体にエンコードされたソフトウェアアーキテクチャにおいて、
複数のグループを形成するように構成され、該複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む１番目のプロトコルと、
複数のディーリングメッセージを作成するように構成され、該複数のディーリングメッセージのうち各ディーリングメッセージは、前記複数のグループのうち選択されたグループにおけるディーラノードからの情報を含む作成プロトコルと、
ネットワークに複数のブロックをブロードキャストするように構成され、該複数のブロックの各ブロックは、前記複数のディーリングメッセージのうち一つのディーリングメッセージを含む５番目のプロトコルと、
前記選択されたグループの受信者ノード宛ての前記ディーリングメッセージを読取るように構成され、前記受信者ノードは、その情報が対応するディーリングメッセージに含有される前記ディーラノードとは相違する読取りプロトコルと、
対応するディーリングメッセージの真正性を検証するように構成され、前記受信者ノードによって動作させられるように構成される検証プロトコルと、
苦情メッセージを生成するように構成され、該苦情メッセージは前記受信者ノードによって署名され、前記受信者ノードによって動作させられるように構成される苦情プロトコルと、
正当化メッセージを作成するように構成され、該正当化メッセージは前記苦情メッセージに対する正当化を含み、前記ディーラノードは正当化プロトコルを動作させて前記正当化メッセージを作成するように構成される正当化プロトコルと、
複数の正当化された公開鍵の確認を統合するように構成され、該複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応し、前記検証プロトコルは前記複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである登録プロトコルとを含むソフトウェアアーキテクチャ。
【請求項２】
前記作成プロトコルは前記選択されたグループの各ディーラノードによって動作させられるように構成される請求項１のソフトウェアアーキテクチャ。
【請求項３】
前記読取りプロトコルは前記選択されたグループの各受信者ノードによって動作させられるように構成される請求項１のソフトウェアアーキテクチャ。
【請求項４】
請求項１のソフトウェアアーキテクチャにおいて、
前記１番目のプロトコルによって形成された前記複数のグループから１番目のグループをランダムに選択するように構成される２番目のプロトコルをさらに含むソフトウェアアーキテクチャ。
【請求項５】
前記１番目のグループは前記選択されたグループを含む請求項４のソフトウェアアーキテクチャ。
【請求項６】
前記検証プロトコルは検証ベクトルに関する前記ディーラノードからの復号化された鍵共有を検証するように構成され、対応する前記ディーリングメッセージにおける情報は前記ディーラノードからの前記鍵共有及び前記検証ベクトルを含む請求項１のソフトウェアアーキテクチャ。
【請求項７】
前記受信者ノードによって動作させられる前記検証プロトコルは前記ディーラノードの前記検証ベクトルに関する前記ディーラノードからの前記暗号化された鍵共有を検証するように構成される請求項１のソフトウェアアーキテクチャ。
【請求項８】
前記苦情メッセージは前記検証ベクトルに関する前記暗号化された鍵共有の検証の不足に関するデータを含む請求項６のソフトウェアアーキテクチャ。
【請求項９】
前記検証プロトコルは前記検証ベクトルに関する前記正当化メッセージの真正性を検証するように構成され、前記検証プロトコルは前記検証ノードによって動作させられるように構成される請求項１のソフトウェアアーキテクチャ。
【請求項１０】
前記検証プロトコルは前記正当化メッセージの前記真正性を拒絶する請求項９のソフトウェアアーキテクチャ。
【請求項１１】
前記検証プロトコルは前記正当化メッセージの前記真正性を承認する請求項９のソフトウェアアーキテクチャ。
【請求項１２】
前記登録プロトコルは前記検証ノードによって動作させられる請求項１のソフトウェアアーキテクチャ。
【請求項１３】
さらに２番目のプロトコルを含み、該２番目のプロトコルは複数のグループから公証人グループをランダムに選択するように構成され、該公証人グループは４番目のプロトコルを使用するように構成される請求項１のソフトウェアアーキテクチャ。
【請求項１４】
さらに５番目のプロトコルを含み、該５番目のプロトコルは前記ネットワークに複数のブロックをブロードキャストするように構成され、該複数のブロックの各ブロックは、前記複数のディーリングメッセージのうち一つのディーリングメッセージを含む請求項１のソフトウェアアーキテクチャ。
【請求項１５】
さらに４番目のプロトコルを含み、該４番目のプロトコルは複数のブロックの各ブロックを公証するように構成される請求項１４のソフトウェアアーキテクチャ。
【発明の詳細な説明】
【技術分野】
【０００１】
本米国特許出願は、２０１８年１月２６日出願の米国特許仮出願第６２／６２２,１６９号の関連出願であり、その優先権による利益を主張し、この仮出願の内容は、この記載を受けて、引用によって本開示にその全体が含まれる。
【背景技術】
【０００２】
本セクションでは、本開示の理解を深めるのを促すのに役立つ側面を盛り込んでいる。したがって、ここでの記載は、この点に照らして解釈されるべきであり、どれが先行技術であり、どれがそうでないかという点についての自認として理解されてはならない。
【０００３】
特にブロックチェーン操作のための従来のシステムアーキテクチャは、計算及び操作速度、アーキテクチャのセキュリティ、参加のスケーラビリティその他に関する問題を抱えている。本開示のさまざまな実施形態では、上記の問題に対処している。
【発明の概要】
【０００４】
本発明の１つの側面は、非一時的なコンピュータ可読媒体にエンコードされたソフトウェアアーキテクチャに関し、ソフトウェアアーキテクチャは作成プロトコルを含み、作成プロトコルは複数のディーリングメッセージを作成するように構成される。ソフトウェアアーキテクチャは読取りプロトコルを含み、読取りプロトコルは選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、ソフトウェアアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、ソフトウェアアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名される。
【０００５】
本発明のもう１つの側面は、非一時的なコンピュータ可読媒体にエンコードされたソフトウェアアーキテクチャに関し、ソフトウェアアーキテクチャは作成プロトコルを含み、作成プロトコルは複数のディーリングメッセージを作成するように構成され、複数のディーリングメッセージのうち各ディーリングメッセージは、複数のグループのうち選択されたグループの各ディーラノードからの情報を含む。追加で、ソフトウェアアーキテクチャは５番目のプロトコルを含み、５番目のプロトコルはネットワークに複数のブロックをブロードキャストするように構成され、複数のブロックの各ブロックは、複数のディーリングメッセージのうち一つのディーリングメッセージを含む。加えて、ソフトウェアアーキテクチャは読取りプロトコルを含み、読取りプロトコルは選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、ソフトウェアアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、ソフトウェアアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコルは受信者ノードによって動作させられるように構成される。ソフトウェアアーキテクチャは正当化プロトコルを含み、正当化プロトコルは正当化メッセージを作成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化プロトコルを動作させて正当化メッセージを作成するように構成される。ソフトウェアアーキテクチャは登録プロトコルも含み、登録プロトコルは選択された複数のディーリングメッセージを統合するように構成され、登録プロトコルは受信者ノードによって動作させられる。
【０００６】
本発明のもう１つの側面は、非一時的なコンピュータ可読媒体にエンコードされたソフトウェアアーキテクチャに関し、ソフトウェアアーキテクチャは１番目のプロトコルを含み、１番目のプロトコルは複数のグループを形成するように構成され、複数のグループのうち各グループは、ネットワークからランダムに選択された一組のノードを含む。ソフトウェアアーキテクチャは作成プロトコルも含み、作成プロトコルは複数のディーリングメッセージを作成するように構成され、複数のディーリングメッセージのうち各ディーリングメッセージは、複数のグループのうち選択されたグループにおけるディーラノードからの情報を含む。追加で、ソフトウェアアーキテクチャは５番目のプロトコルを含み、５番目のプロトコルはネットワークに複数のブロックをブロードキャストするように構成され、複数のブロックの各ブロックは、複数のディーリングメッセージのうち一つのディーリングメッセージを含む。加えて、ソフトウェアアーキテクチャは読取りプロトコルを含み、読取りプロトコルは選択されたグループの受信者ノード宛てのディーリングメッセージを読取るように構成され、受信者ノードは、その情報が対応するディーリングメッセージに含有されるディーラノードとは相違する。加えて、ソフトウェアアーキテクチャは検証プロトコルを含み、検証プロトコルは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコルは受信者ノードによって動作させられるように構成される。さらに、ソフトウェアアーキテクチャは苦情プロトコルを含み、苦情プロトコルは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコルは受信者ノードによって動作させられるように構成される。ソフトウェアアーキテクチャは正当化プロトコルを含み、正当化プロトコルは正当化メッセージを生成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化プロトコルを動作させて正当化メッセージを生成するように構成される。ソフトウェアアーキテクチャは登録プロトコルも含み、登録プロトコルは複数の正当化された公開鍵の確認を統合するように構成され、複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応し、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。
【０００７】
一又は複数の実施形態は、添付の図面中の図に、例の形で、したがって限定によるものではない形で示され、同一の符号で指示された要素は、一貫して同様の要素となる。業界の標準的な手法に合致して、さまざまな技術的特徴が実寸どおりに図示されていないこともあり、もっぱら図示の目的で使用されることは強調される。事実、図面中のさまざまな技術的特徴の寸法は、議論の明確性のために、恣意的に大きくしたり小さくしたりすることもある。
【図面の簡単な説明】
【０００８】
【図１】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
【図１ａ】ブロックチェーンで暗号鍵分散生成手順を実行するためのシステムアーキテクチャ１００ａを示す図。
【図１ｂ】一又は複数の実施形態にしたがう、暗号鍵分散生成手順用のシステムアーキテクチャにおけるデータを処理する方法１００ｂを示すフローチャート。
【図２】一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図３】一又は複数の実施形態にしたがって、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図４】一又は複数の実施形態にしたがって、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図５】一又は複数の実施形態にしたがう、閾値リレーチェーンの格付けシステムのシステムアーキテクチャを示す図。
【図６】一又は複数の実施形態にしたがう、システムアーキテクチャにおけるデータを処理する方法を示すフローチャート。
【図７】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
【図８】一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図９】一又は複数の実施形態にしたがって、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図１０】一又は複数の実施形態にしたがって、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す図。
【図１１】一又は複数の実施形態にしたがう、閾値リレーチェーンの格付けシステムのシステムアーキテクチャを示す図。
【図１２】一又は複数の実施形態にしたがう、システムアーキテクチャにおけるデータを処理する方法を示すフローチャート。
【図１３】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
【図１４】一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャを示す図。
【図１５】ブロックチェーンにおいてノードを動作させるためのコンピュータ処理または処理ノードの一例を示す図。
【発明を実施するための形態】
【０００９】
以下の開示は、本願のさまざまな技術的特徴を実装するための多数の異なる実施形態又は例を規定する。以下に、本明細書の開示を簡単に示すために、部品及び配置の特定の例について説明する。これらは一例であり、限定することが目的ではない。図示した実施形態の製法及び使用について、以下で詳細に説明される。しかしながら、本開示は、多様な特定のコンテキストで具現化することができる多数の実用化可能なコンセプトを規定すると評価すべきである。少なくとも若干の実施形態において、本明細書に詳細を示した一又は複数の実施形態及び／又はその変形例は、一又は複数の実施形態及び／又はその変形例と組合わせ可能である。
【００１０】
公開又は許諾型の任意の参加モデルにおいて展開することができるセキュアかつ高性能のコンセンサスメカニズムを使用するシステムアーキテクチャに関する本開示のさまざまな実施形態。さまざまな実施形態にしたがい、システムアーキテクチャは、時間の経過の中で出力のストリームを生成する検証可能なランダム関数として作用する分散型のランダムビーコンを含む。閾値署名方式を含むかかる分散型のランダムビーコンを用いて、最終的には、ブロック作成者の選択における幅が小さくなるので、ブロック作成に関する限り、計算速度の向上につながる。加えて、分散型のランダムビーコンは、予測不能、停止不能かつ検証可能であるランダムシーケンスを生成するように構成されるので、関連のシステムの信頼性を維持し、同時に内部のセキュリティを向上させる。
【００１１】
閾値リレーメカニズムを含む分散型のランダムビーコンを用いて、きわめて多くの参加者に合わせてスケールアップすることができるので、アーキテクチャのキャパシティを下支えする。アーキテクチャのさまざまな実施形態は、ランダムビーコン出力経由の非対話型のメッセージングを一回しか行なう必要がなく、かかるアーキテクチャの計算速度には、引き続き支障はない。さらに、閾値リレーメカニズムは、一又は複数の実施形態にしたがい、登録されたブロック作成者のみから選択する。このような生態系では、不正を働くブロック作成者に無制限のペナルティを科すことが可能になる。その理由は、このように不正を働くブロック作成者は、自らが受けた指名を失うばかりでなく、資格も剥奪され、かかる指名に関連する金銭的価値も喪失する可能性があるからである。これは、不正を抑止するのみならず、関連のシステムのセキュリティを高める。
【００１２】
加えて、生態系のアーキテクチャセキュリティをさらに高めるためのさまざまな実施形態は、暗号鍵分散生成手順プロトコル（以下に論じる）を実行することで、誠実なノードのみが上の生態系に参加していることを確認するためのシステムアーキテクチャに関する。さまざまな実施形態において、暗号鍵分散生成手順プロトコルは、ディーラノードとは受信者ノードとの間の戦略的取引メッセージに基づいて運用される。ディーラノードは少なくとも一人の受信者に対してディーリングメッセージを送る。ディーリングメッセージは、ディーラノードからの暗号化された鍵共有を含む。ディーラノードは各受信者ノード用に別々の暗号化された鍵共有を作成することで、全ての受信者ノードが別々の暗号化された鍵共有を受信するようにする。これによって、全ての受信者ノードが、ディーラノードの検証ベクトルとの関連で、ディーラノードから受信した暗号化された鍵共有を個別に検証することを可能にする。受信者ノードが検証することが不可能な場合には、ディーラノードからの復号化された鍵共有がネットワークにブロードキャストされるようにするためにさまざまなプロトコルが実施される。その鍵共有が検証ベクトルに対して検証されたディーラノードのみが誠実なノードと判断されることで、上の生態系に参加することが許可される。上の手順は、検証ベクトルとの関連で暗号化された鍵共有を個別に検証した上で、誠実な（ディーラ）ノードのみが上記の生態系に参加していると確認することで、ディーラノードの関与をチェックする上で役立つ。本願のさまざまな実施形態は、上記を実行することに関するため、ネットワークのセキュリティが確実に維持される。
【００１３】
さまざまな実施形態において、閾値リレーメカニズムは、従来の方法論に比較して、目に見えない反対側のフォークの重みにいっそう厳しい限界／見積もりを与える格付けメカニズムも調整するので、結果として、複数のフォークを扱う際に、より迅速かつより正確なチェーンの選択がもたらされる。閾値リレーメカニズムは、公証によってプロックのファイナリティを与えることで、結果として新規のブロックに略瞬時のファイナリティがもたらされる。
【００１４】
図１は、一又は複数の実施形態にしたがう、閾値リレーチェーンのシステムアーキテクチャ１００を示す。閾値リレーチェーン１００は汎用ネットワーク１０５と通信するように構成される。汎用ネットワーク１０５は複数のノード１１０を含み、複数のノード１１０のうちの各ノードは、通信チャネルを介して相互に対話するように構成される。通信チャネルは、ピアツーピアネットワーク、ブロードキャストネットワーク又はゴシップネットワークのうち少なくとも１つを含む。ネットワーク１１５は二以上のノード１１０を含む。６番目のプロトコル１６５は、汎用ネットワーク１０５から複数のノード１７０１を指名するように構成される。１番目のプロトコル１２０は、複数のグループ１２５を形成するように構成され、複数のグループ１２５の各グループ（１２５;Ｇ１，Ｇ２...，ＧＮ）は、ネットワーク１１５からランダムに選択されたノードの集合を含む。さまざまな実施形態において、複数のグループ１２５の各グループ（１２５;Ｇ１，Ｇ２...，ＧＮ）は、複数のノード１７０１の一部である。少なくとも１つの実施形態において、ネットワーク１１５は汎用ネットワーク１０５である。少なくとも１つの実施形態において、暗号鍵分散生成手順プロトコル（以下に論じる）を実行するためのシステムアーキテクチャは、誠実なノードのみが上の生態系に参加していることを確認するために動作させられる。
【００１５】
２番目のプロトコル１３０は、１番目のグループ（１３５，γ１）をランダムに選択するように構成される。３番目のプロトコル１４０は、１番目のグループ（１３５，γ１）を指定して、１番目のグループ署名を生成することで、１番目のメッセージ（１４５，Ｍ１）に署名するように構成される。ハッシュ関数１５０は、１番目のグループ署名からハッシュ値（１５５，Ｈ１）を生成するように構成される。１番目のグループ（１３５，γ１）のサイズは、システムパラメータである。少なくとも１つの実施形態において、ハッシュ値（１５５，Ｈ１）は、２番目のプロトコル１３０を用いて２番目のグループ（１３５，γ２）を選択するように構成され、３番目のプロトコル１４０は、２番目のグループ（１３５，γ２）を指定して、２番目のメッセージ（１４５，Ｍ２）に署名するように構成される。
【００１６】
さまざまな実施形態において、１番目のグループ署名は、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成される。いくつかの実施形態において、閾値集合は、１番目のグループ（１３５，γ１）のサイズより小さい。いくつかの実施形態において、閾値集合は、１番目のグループ（１３５，γ１）のサイズに等しい。少なくとも１つの実施形態において、１番目のグループ（１３５，γ１）の閾値集合は、システムパラメータである。
【００１７】
さまざまな実施形態において、１番目のメッセージ（１４５，Ｍ１）は乱数に鎖状につながれる。いくつかの実施形態において、乱数は、シード１６０に由来する値である。いくつかの実施形態において、シード１６０は、先行するグループ署名から導出される。少なくとも１つの実施形態において、シード１６０が先行するグループ署名から導出されるのは、ハッシュ関数１５０による。少なくとも１つの実施形態において、１番目のメッセージは、システムパラメータである。
【００１８】
上に論じたとおり、２番目のプロトコル１３０は、１番目のグループ（１３５，γ１）をランダムに選択するように構成される。さまざまな実施形態において、かかる選択は乱数に基づく。いくつかの実施形態において、乱数は、シード１６０に由来する値である。いくつかの実施形態において、シード１６０は、先行するグループ署名から導出される。少なくとも１つの実施形態において、シード１６０が先行するグループ署名から導出されるのは、ハッシュ関数１５０による。
【００１９】
閾値リレーチェーン１００は設定プロトコル１８０を含み、設定プロトコル１８０は、１番目のプロトコル１２０によって形成される複数のグループ１２５のグループ用のグループ公開鍵を確立するように構成され、１番目のグループ署名は、グループ公開鍵によって検証されるように構成される。少なくとも１つの実施形態において、１番目のグループ署名は、１番目のグループ（１３５，γ１）の特異性とは無関係に、グループ公開鍵及び１番目のメッセージ（１４５，Ｍ１）に固有となるように構成される。いくつかの実施形態において、１番目のグループ署名は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。
【００２０】
一又は複数の実施形態において、設定プロトコル１８０は、複数のグループ１２５の各グループ（１２５；Ｇ１，Ｇ２...，ＧＮ）の各ノード用に、個別の秘密鍵共有を確立するように構成される。少なくとも１つの実施形態にしたがい、１番目のグループ（１３５，γ１）の閾値集合のノードのそれぞれの個別の秘密鍵共有は、１番目のグループ署名を生成するように構成される。いくつかの実施形態において、閾値集合は、１番目のグループ（１３５，γ１）のサイズより小さい。いくつかの実施形態において、閾値集合は、１番目のグループ（１３５，γ１）のサイズに等しい。少なくとも１つの実施形態において、１番目のグループ（１３５，γ１）の閾値集合は、システムパラメータである。
【００２１】
上に論じたとおり、閾値リレーチェーン１００は６番目のプロトコル１６５を含むように構成され、６番目のプロトコル１６５は、汎用ネットワーク１０５から複数のノード１７０１を指名するように構成される。１又は複数の実施形態において、ランダムに選択されたノードの集合は、複数のノード１７０１の一部である。いくつかの実施形態において、６番目のプロトコル１６５は、複数のノード１７０１を指名するための方法論を採用するように構成され、方法論は、プルーフオブワークパズル、外部の第三者の承認又は計算資源の検証のうちいずれか１つを含む。いくつかの実施形態において、６番目のプロトコル１６５は、複数のノード１７０１のうち各ノードに関連する金銭的価値及び／又は投票権を評価するように構成される。
【００２２】
さらに、閾値リレーチェーン１００は７番目のプロトコル１７５を含み、７番目のプロトコル１７５は、ランダムに選択された及び／又は複数のノードの集合の選択ノードの不正を検出するように構成される。いくつかの実施形態において、７番目のプロトコル１７５は、選択ノードにペナルティを与えるように構成される。いくつかの実施形態において、７番目のプロトコル１７５は、選択ノードの指名を拒絶するように構成される。
【００２３】
図１に示したとおり、閾値リレーチェーン１００のさまざまなプロトコル及び関数は、データ管理及び処理のサイクル（すなわちＣ１，Ｃ２…ＣＮ）に同時にサービスを提供するように構成される。２番目のプロトコル１３０は、ハッシュ値（１５５，Ｈ１）と共に、２番目のグループ（１３５，γ２）を選択するように構成され、３番目のプロトコル１４０は、２番目のグループ（１３５，γ２）を指定して、２番目のメッセージ（１４５，Ｍ２）に署名するように構成される。いくつかの実施形態において、２番目のメッセージ（１４５，Ｍ２）は、１番目のグループ署名のハッシュ値（１５５，Ｈ１）を含む。いくつかの実施形態において、２番目のメッセージ（１４５，Ｍ２）は、１番目のグループ署名のハッシュ値（１５５，Ｈ１）を含まない。
【００２４】
一又は複数の実施形態にしたがい、２番目のプロトコル１３０は、ハッシュ値（１５５，ＨＮ）と共に、（Ｎ＋１）番目のグループ（１３５，γＮ＋１）を選択するように構成され、３番目のプロトコル１４０は、（Ｎ＋１）番目のグループ（１３５，γＮ＋１）を指定して、（Ｎ＋１）番目のメッセージ（１４５，ＭＮ＋１）に署名するように構成される。ハッシュ関数１５０は、（Ｎ＋１）番目のグループ署名からハッシュ値（１５５，ＨＮ＋１）を生成するように構成される。いくつかの実施形態において、（Ｎ＋１）番目のメッセージ（１４５，ＭＮ＋１）は、Ｎ番目のグループ署名のハッシュ値（１５５，ＨＮ）を含む。いくつかの実施形態において、（Ｎ＋１）番目のメッセージ（１４５，１３０ＭＮ＋１）は、Ｎ番目のグループ署名のハッシュ値（１５５，ＨＮ）を含まない。
【００２５】
本開示のさまざまな実施形態は、２番目のプロトコル１３０が１番目のプロトコル１２０によって形成される複数のグループから１番目のグループをランダムに選択する前に方法論を実行するためのシステムアーキテクチャに関する。２番目のプロトコル１３０が１番目のグループをランダムに選択するために、この１番目のグループはブロックチェーンでの暗号鍵分散生成手順の遵守に沿う必要がある。図１ａは、ブロックチェーンで暗号鍵分散生成手順１００ａを実行するためのシステムアーキテクチャを示す。暗号鍵分散生成手順１００ａ用のシステムアーキテクチャは、１番目のグループ内に虚偽の情報をブロードキャストする可能性のある悪意のあるノードをゼロにするように構成される。いくつかの実施形態において、暗号鍵分散生成手順１００ａは、１番目のプロトコル１２０が複数のグループを形成した後に実行される。
【００２６】
上に示したように、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。暗号鍵分散生成手順１００ａ用のシステムアーキテクチャは作成プロトコル１０５ａを含み、作成プロトコル１０５ａはディーリングメッセージを作成するように構成される。作成プロトコル１０５ａは少なくとも１つのディーラノードによって動作させられる。暗号鍵分散生成手順１００ａ用のシステムアーキテクチャはハッシュ関数１１０ａを含み、ハッシュ関数１１０ａは複数のディーリングメッセージのうち各ディーリングメッセージからハッシュ値を生成する。追加で、暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは５番目のプロトコル１１５ａを含み、５番目のプロトコル１１５ａはブロックチェーンのネットワーク宛ての複数のブロックをブロードキャストするように構成される。さらに、暗号鍵分散生成手順１００ａ用のシステムアーキテクチャは４番目のプロトコル１２０ａを含み、４番目のプロトコル１２０ａは複数のブロックのうち各ブロックを公証するように構成される。追加で、暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは５番目のプロトコル１１５ａを含み、５番目のプロトコル１１５ａは選択されたグループの受信者ノードに複数のブロックをブロードキャストするように構成される。
【００２７】
一又は複数の実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは複数のグループのうち選択されたグループにおける各ディーラノードからの情報を含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち各ディーリングメッセージを含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち少なくとも二つのディーリングメッセージを含む。少なくとも一つの実施形態において、受信者ノードはその情報が対応するディーリングメッセージに含まれるディーラノードとは相違する。いくつかの実施形態において、ハッシュ値は複数のディーリングメッセージのマークルツリーのルートである。少なくとも一つの実施形態において、ハッシュ値は複数のブロックのうち一つのブロックに内蔵される。
【００２８】
暗号鍵分散生成手順１００ａ用のシステムアーキテクチャは２番目のプロトコル１３０（図１）を含み、２番目のプロトコル１３０は複数のグループから公証人グループをランダムに選択するように構成され、公証人グループは４番目のプロトコル１２０ａを使用するように構成される。公証人グループは出力を生成し、これが後で２番目のプロトコル１３０に使用されて複数のグループから公証人グループをランダムに選択する。
【００２９】
いくつかの実施形態において、作成プロトコルは選択されたグループの各ディーラノードによって動作させられるように構成される。いくつかの実施形態において、読取りプロトコルは選択されたグループの各受信者ノードによって動作させられるように構成される。
【００３０】
単一のディーリングメッセージは、単一のディーラノードについての情報を含む。かかる情報は、単一のディーラノードからの鍵共有を含む。作成プロトコルが動作している時は、単一のディーラノードに含まれる秘密鍵の鍵共有が受信者ノード用に生成される。秘密鍵の異なる鍵共有が各受信者ノード用に生成される。異なる鍵共有がその受信者ノードに対応する公開鍵によって暗号化され（各受信者ノード公開鍵に関連付けられ）、こうして全ての受信者ノードにおいて異なる暗号化された鍵共有が得られる。
【００３１】
さまざまな実施形態において、暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは検証プロトコル１３５ａを含み、検証プロトコル１３５ａは対応するディーリングメッセージの真正性を検証するように構成され、検証プロトコル１３５ａは受信者ノードによって動作させられるように構成される。受信者はディーラからの暗号化された鍵共有を復号化する。検証プロトコル１３５ａは検証ベクトルに関するディーラノードからの復号化された鍵共有を検証するように構成され、対応するディーリングメッセージにおける情報はディーラノードからの鍵共有及び検証ベクトルを含む。検証ベクトルはディーラノードに含まれる。
【００３２】
暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは苦情プロトコル１４０ａを含み、苦情プロトコル１４０ａは苦情メッセージを生成するように構成され、苦情メッセージは受信者ノードによって署名され、苦情プロトコル１４０ａは受信者ノードによって動作させられるように構成される。いくつかの実施形態において、苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。いくつかの実施形態において、データは検証ベクトルに関する暗号化された鍵共有の検証の不足に関する証拠である。
【００３３】
少なくとも一つの実施形態において、５番目のプロトコル１１５ａはその後ネットワークに苦情メッセージをブロードキャストするように構成される。暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは正当化プロトコル１４５ａを含み、正当化プロトコル１４５ａは正当化メッセージを作成するように構成され、正当化メッセージは苦情メッセージに対する正当化を含み、ディーラノードは正当化プロトコルを動作させて正当化メッセージを作成するように構成される。少なくとも一つの実施形態において、５番目のプロトコル１１５ａはネットワークに正当化メッセージをブロードキャストするように構成される。一又は複数の実施形態において、検証プロトコル１３５ａは検証ベクトルに関する正当化メッセージの真正性を検証するように構成され、検証プロトコル１３５ａは検証ノードによって動作させられるように構成される。いくつかの実施形態において、検証プロトコル１３５ａは正当化メッセージの真正性を拒絶する。いくつかの実施形態において、検証プロトコル１３５ａは正当化メッセージの真正性を承認する。
【００３４】
さまざまな実施形態において、作成プロトコルは複数の２番目のディーリングメッセージを作成するように構成され、複数の２番目のディーリングメッセージのうち各２番目のディーリングメッセージは、複数のグループのうち選択された２番目のグループにおける各ディーラノードについての情報を含む。
【００３５】
さらに、暗号鍵分散生成手順１００ａ用のソフトウェアアーキテクチャは登録プロトコル１５０ａを含み、登録プロトコル１５０ａは選択されたグループの複数のディーリングメッセージを統合するように構成され、登録プロトコル１５０ａは受信者ノードによって動作させられる。一又は複数の実施形態において、登録プロトコルは複数の正当化された公開鍵の確認を統合するように構成され、複数の正当化された公開鍵のうち各正当化された公開鍵は各ディーリングメッセージに対応する。いくつかの実施形態において、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。
【００３６】
一又は複数の実施形態において、登録プロトコル１５０ａは各検証ノードによって動作させられる。一又は複数の実施形態において、登録プロトコルは複数のディーリングメッセージの確認を統合するように構成される。いくつかの実施形態において、検証プロトコルは各ディーリングメッセージの真正性を承認済みである。いくつかの実施形態において、検証プロトコルは各ディーリングメッセージに関連付けられた各正当化メッセージの真正性を承認済みである。いくつかの実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは何らの苦情とも関連付けられていない。
【００３７】
登録プロトコルが複数のディーリングメッセージの確認を統合した後、各検証ノードは複数の公開鍵を集約し、各公開鍵は統合された（又は確認された）複数のディーリングメッセージのうち一つのディーリングメッセージから抽出される。登録プロトコルが複数のディーリングメッセージの確認を統合した後、各受信者ノードは複数の鍵共有を集約し、各鍵共有は統合された（又は確認された）ディーリングメッセージに対応する。
【００３８】
いくつかの実施形態において、２番目のプロトコル１３０がその後始まり、２番目のプロトコル１３０は、１番目のプロトコルによって形成された複数のグループから１番目のグループをランダムに選択するように構成される。少なくとも１つの実施形態において、１番目のグループは選択されたグループを含む。
【００３９】
例１は以下のとおり。ディーリングメッセージは、ディーラノードについての情報を含む。ディーリングメッセージは、ディーラノードからの鍵共有を含む。ディーリングメッセージが受信者ノードに分散されると、ディーラノードは受信者ノードの公開鍵で鍵共有を暗号化する。ディーリングメッセージは、受信者ノードによって受信された暗号化された鍵共有を含む。ここで受信者ノードは、ディーラノードの検証ベクトルとの関連で、ディーラノードからの暗号化された鍵共有を検証する。複数のディーラノードがある場合には、受信者ノードは複数のディーリングメッセージを統合する。いくつかの実施形態において、受信者ノードは複数の公開鍵の確認を統合し、各ディーリングメッセージは正当化された公開鍵に対応する。ディーラノードはここで誠実であると見なされる。
【００４０】
例２は以下のとおり。ディーリングメッセージは、ディーラノードについての情報を含む。ディーリングメッセージは、ディーラノードからの鍵共有を含む。ディーリングメッセージが受信者ノードに分散されると、ディーラノードは受信者ノードの公開鍵で鍵共有を暗号化する。ディーリングメッセージは、受信者ノードによって受信された暗号化された鍵共有を含む。受信者はディーラからの暗号化された鍵共有を復号化する。これによって、全ての受信者ノードが、ディーラノードの検証ベクトルとの関連で、ディーラノードから受信した暗号化された鍵共有を個別に検証することを可能にする。受信者ノードはネットワークに苦情メッセージをブロードキャストすることで苦情を行なう。苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。いくつかの実施形態において、データは検証ベクトルに関する暗号化された鍵共有の検証の不足に関する証拠である。ディーラノードはここでネットワークに正当化メッセージをブロードキャストする。ディーラノードはネットワーク上に正当化メッセージ（鍵共有を含む）を公開する。ここで検証ノードは検証ベクトルに関する正当化メッセージ（即ち鍵共有）の真正性を検証する。検証ノードが正当化メッセージの真正性を拒絶する場合には、プロトコルは拒絶された正当化メッセージに対応するディーラノードが不誠実であるとの理解のもとで登録を進める。検証ノードが正当化メッセージの真正性を承認する場合には、プロトコルはメッセージが正当化されたディーラノードが誠実であるとの理解のもとで登録を進める。
【００４１】
図１ｂは、一又は複数の実施形態にしたがう、暗号鍵分散生成手順用のシステムアーキテクチャにおけるデータを処理する方法１００ｂを示すフローチャートである。プロセッサによって実行された場合コンピュータに方法１００ｂを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。一又は複数の実施形態において、方法１００ｂは、１番目のプロトコル１２０（図１）が複数のグループを形成した後に実行される。
【００４２】
上に示したように、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。方法１００ｂは、作成プロトコルが複数のディーリングメッセージを作成するステップ１０５ｂで開始する。その後方法１００ｂは、ハッシュ関数が複数のディーリングメッセージのうちの各ディーリングメッセージからハッシュ値を生成するステップ１１０ｂに続く。その後方法１００ｂは５番目のプロトコルがネットワークに複数のブロックをブロードキャストするステップ１１５ｂを含む。
【００４３】
さらに、方法１００ｂは４番目のプロトコルが複数のブロックのうち各ブロックを公証するステップ１２０ｂを含む。さまざまな実施形態において、公証人グループは各ブロックを公証する。少なくとも１つの実施形態において、２番目のプロトコルは複数のグループから公証人グループをランダムに選択する。加えて方法１００ｂは読取りプロトコルが選択されたグループの受信者ノード宛てのディーリングメッセージを読取るステップ１２５ｂを含む。
【００４４】
一又は複数の実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは複数のグループのうち選択されたグループにおける各ディーラノードからの情報を含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち各ディーリングメッセージを含む。いくつかの実施形態において、複数のブロックのうち各ブロックは複数のディーリングメッセージのうち少なくとも二つのディーリングメッセージを含む。少なくとも一つの実施形態において、受信者ノードはその情報が対応するディーリングメッセージに含まれるディーラノードとは相違する。いくつかの実施形態において、ハッシュ値は複数のディーリングメッセージのマークルツリーのルートである。少なくとも一つの実施形態において、ハッシュ値は複数のブロックのうち一つのブロックに内蔵される。さまざまな実施形態において、単一のディーリングメッセージは、単一のノードについての情報を含む。さまざまな実施形態において、複数のディーリングメッセージのうち各ディーリングメッセージは、ディーラノードからの暗号化された鍵共有を含む。
【００４５】
さらに方法１００ｂは検証プロトコルが対応するディーリングメッセージの真正性を検証するステップ１３０ｂを含む。受信者ノードは検証プロトコルを動作させる。検証プロトコルは、ディーラノードの検証ベクトルとの関連で、ディーラノードからの暗号化された鍵共有を検証する。対応するディーリングメッセージにおける情報は、ディーラノードからの暗号化された鍵共有及び検証ベクトルを含む。
【００４６】
方法１００ｂは、苦情プロトコルが苦情メッセージを生成するステップ１３５ｂに続く。苦情メッセージは受信者ノードによって動作させられ、苦情メッセージは受信者ノードによって署名される。一又は複数の実施形態において、苦情メッセージは検証ベクトルに関する暗号化された鍵共有の検証の不足に関するデータを含む。
【００４７】
方法１００ｂは、５番目のプロトコルがネットワークに苦情メッセージをブロードキャストするステップ１４０ｂに続く。さらに方法１００ｂは、正当化プロトコルが正当化メッセージを作成するステップ１４５ｂを含む。ディーラノードは正当化プロトコルを動作させて正当化メッセージを作成し、正当化メッセージは苦情メッセージに対する正当化を含む。
【００４８】
方法１００ｂはこれに続いて、５番目のプロトコルがネットワークに正当化メッセージをブロードキャストするステップ１５０ｂを行なう。さらに方法１００ｂは、検証ノードが検証ベクトルに関する正当化メッセージの真正性を検証するステップ１５５ｂを含む。いくつかの実施形態において、検証プロトコルは正当化メッセージの真正性を拒絶する。いくつかの実施形態において、検証プロトコルは正当化メッセージの真正性を承認する。
【００４９】
検証プロトコルが正当化メッセージの真正性を拒絶した場合に、作成プロトコルは複数の二番目のディーリングメッセージを作成する。いくつかの実施形態において、作成プロトコルが複数の二番目のディーリングメッセージを作成するようにするために、検証プロトコルはある程度の割合の正当化メッセージを拒絶する必要がある。複数の二番目のディーリングメッセージのうちの各二番目のディーリングメッセージは、複数のグループのうち各選択されたグループを含む。
【００５０】
検証プロトコルが正当化メッセージの真正性を承認した場合に、方法１００ｂは、登録プロトコルが選択されたグループの複数のディーリングメッセージを統合するステップ１６０ｂに続く。いくつかの実施形態において、登録プロトコルは各受信者ノードによって動作させられる。いくつかの実施形態において、登録プロトコルは検証ノードによって動作させられる。少なくとも一つの実施形態において、登録プロトコルは複数の正当化された公開鍵の確認を統合する。複数の正当化された公開鍵のうち各正当化された公開鍵は、各ディーリングメッセージに対応する。いくつかの実施形態において、検証プロトコルは複数の正当化された公開鍵のうち各正当化された公開鍵の真正性を承認済みである。いくつかの実施形態において、方法１００ｂはステップ１３５ｂの直後にステップ１６０ｂを続ける。さらに方法１００ｂは、５番目のプロトコルがネットワークに統合された確認をブロードキャストするように構成されるステップ１６５ｂを含む。
【００５１】
方法１００ｂは、２番目のプロトコルが１番目のプロトコルによって形成される複数のグループから１番目のグループを選択するステップ１７０ｂに続く。いくつかの実施形態において、１番目のグループはランダムに選択される。少なくとも１つの実施形態において、１番目のグループは選択されたグループを含む。
【００５２】
当業者であれば、一又は複数の実施形態において、方法１００ｂに操作が追加されたりこれから削除されたりするということを理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法１００ｂにおける操作の順番は変更されるということも理解するはずである。
【００５３】
図２は、一又は複数の実施形態にしたがって、ブロックチェーンを動作させるように構成された閾値リレーチェーンの複数のプロトコルのシステムアーキテクチャを示す。ハッシュ値（（１６０，Ｈ０）；（１５５，Ｈ１）；（１５５，Ｈ２）…（１５５，ＨＮ））のそれぞれは、図２に示した複数のブロック作成者を選択するように構成される。１２番目のプロトコル２０５は、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。ハッシュ値から発生した各ブロック作成者の優先順位の階層を図２に示す。図５は、格付けシステムについての追加の資料を示す。
【００５４】
たとえば、ハッシュ値（１６０，Ｈ０）から発生した優先順位最高位にあるブロック作成者は、“ＰＢＭ１（Ｈ０）”で表される。数が大きくなると、ハッシュ値（１６０，Ｈ０）から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“ＰＢＭ２（Ｈ０）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ０）”より低い優先度レベルを有する。加えて、“ＰＢＭＭ（Ｈ０）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ０）”及び“ＰＢＭ２（Ｈ０）”より低い優先度レベルを有し、Ｍは２より大きい整数である。
【００５５】
他の側面において、ハッシュ値（１５５，Ｈ１）から発生した優先順位最高位にあるブロック作成者は、“ＰＢＭ１（Ｈ１）”で表される。数が大きくなると、ハッシュ値（１５５，Ｈ１）から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“ＰＢＭ２（Ｈ１）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ１）”より低い優先度レベルを有する。加えて、“ＰＢＭＭ（Ｈ１）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ１）”及び“ＰＢＭ２（Ｈ１）”より低い優先度レベルを有し、Ｍは２より大きい整数である。
【００５６】
さらに他の側面において、ハッシュ値（１５５，Ｈ２）から発生した優先順位最高位にあるブロック作成者は、“ＰＢＭ１（Ｈ２）”で表される。数が大きくなると、ハッシュ値（１５５，Ｈ２）から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“ＰＢＭ２（Ｈ２）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ２）”より低い優先度レベルを有する。加えて、“ＰＢＭＭ（Ｈ２）”で表されるブロック作成者は、“ＰＢＭ１（Ｈ２）”及び“ＰＢＭ２（Ｈ２）”より低い優先度レベルを有し、Ｍは２より大きい整数である。
【００５７】
さらに、ハッシュ値（１５５，ＨＮ）から発生した優先順位最高位にあるブロック作成者は、“ＰＢＭ１（ＨＮ）”で表される。数が大きくなると、ハッシュ値（１５５，ＨＮ）から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“ＰＢＭ２（ＨＮ）”で表されるブロック作成者は、“ＰＢＭ１（ＨＮ）”より低い優先度レベルを有する。加えて、“ＰＢＭＭ（ＨＮ）”で表されるブロック作成者は、“ＰＢＭ１（ＨＮ）”及び“ＰＢＭ２（ＨＮ）”より低い優先度レベルを有し、Ｍは２より大きい整数であり、Ｎは２より大きい整数である。
【００５８】
立ち戻って図２を参照して、複数のブロック作成者のうち各ブロック作成者は、ブロックを作成するように構成される。ブロックは、複数のブロック作成者のうち１人のブロック作成者によって集められたトランザクションを含む。図２に関する議論は、以下の図３に関する議論に引き続いて行なわれる。
【００５９】
図３は、一又は複数の実施形態にしたがって、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャを示す。少なくとも１つの実施形態において、４番目のプロトコル３１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、Ｎ番目のグループ（１３５，γＮ）に先行するサイクル（例：ＣＮ-１）内の複数のブロックのうち１つのブロックを検証するように構成される。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、４番目のプロトコル３１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか１つを含む。少なくとも１つの実施形態において、４番目のプロトコル３１５は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【００６０】
引き続き図３に関して、４番目のプロトコル３１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ０）内にある。１番目の二次グループ署名は、ブロックを認証する。加えて、４番目のプロトコル３１５は、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ１）内にある。２番目の二次グループ署名は、ブロックを認証する。さらに、４番目のプロトコル３１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：ＣＮ-１）内にある。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、４番目のプロトコル３１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。１又は複数の実施形態において、４番目のプロトコル３１５は、検証されたブロックに対してタイムスタンプを押すように構成される。１又は複数の実施形態において、図９の４番目のプロトコル３１５は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【００６１】
いくつかの実施形態において、公証されたブロックは、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループ（１３５，γ１）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループ（１３５，γ２）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループ（１３５，γＮ）のサイズ以下である。
【００６２】
１番目のグループ署名は、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループのサイズ以下である。少なくとも１つの実施形態において、１番目のグループ（１３５，γ１）の閾値集合のサイズは、システムパラメータである。２番目のグループ署名は、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループのサイズ以下である。少なくとも１つの実施形態において、２番目のグループ（１３５，γ２）の閾値集合は、システムパラメータである。Ｎ番目のグループ署名は、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループのサイズ以下である。少なくとも１つの実施形態において、Ｎ番目のグループ（１３５，γＮ）の閾値集合は、システムパラメータである。
【００６３】
複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャは、５番目のプロトコル３２０も含み、５番目のプロトコル３２０は、１番目の二次グループ署名又はサイクルＣ０内のタイムスタンプが押されたブロックをネットワークにブロードキャストするように構成される。１番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、５番目のプロトコル３２０は、２番目の二次グループ署名又はサイクルＣ１内のタイムスタンプが押されたブロックのうち少なくとも１つをネットワークにブロードキャストするように構成される。２番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。さらに、５番目のプロトコル３２０は、Ｎ番目の二次グループ署名又はサイクルＣＮ-１内のタイムスタンプが押されたブロックをネットワークにブロードキャストするように構成される。Ｎ番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。少なくとも１つの実施形態において、５番目のプロトコル３２０は、上記の機能を同時に遂行するように構成される。ブロードキャストされた任意のタイムスタンプが押されたブロックは、異なるサイクルの他のタイムスタンプが押されたブロックを参照する。
【００６４】
ブロードキャストされた各サイクル内の任意の公証されたブロックは、異なるサイクルの他のブロックを参照する。少なくとも１つの実施形態において、他のブロックは公証される。
【００６５】
立ち戻って図２を参照して、ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャは、１３番目のプロトコル２１０も含み、１３番目のプロトコル２１０は、タイムスタンプに利用可能な複数のブロック間で各ブロックに優先順位をつけるように構成される。加えて、１３番目のプロトコル２１０は、複数のブロック作成者の格付けシステムに基づいて、複数のブロック間で各ブロックに優先順位をつけるように構成される。
【００６６】
１又は複数の実施形態において、１３番目のプロトコル２１０は、各サイクル内で、ハッシュ値を用いることで、複数のブロック間で各ブロックに優先順位をつけるように構成される。たとえば、１３番目のプロトコル２１０は、ハッシュ値（１６０，Ｈ０）を用いることで、Ｃ０内で複数のブロック間で各ブロックに優先順位をつけるように構成される。いくつかの実施形態において、１３番目のプロトコル２１０は、ハッシュ値（１５５，Ｈ１）を用いることで、Ｃ１内で複数のブロック間で各ブロックに優先順位をつけるように構成される。いくつかの実施形態において、１３番目のプロトコル２１０は、ハッシュ値（１５５，Ｈ２）を用いることで、Ｃ２内で複数のブロック間で各ブロックに優先順位をつけるように構成される。たとえば、１３番目のプロトコル２１０は、ハッシュ値（１５５，ＨＮ）及び／又は（１６０，Ｈ０）を用いることで、ＣＮ内で複数のブロック間で各ブロックに優先順位をつけるように構成される。ハッシュ値から発生した各ブロック作成者の優先順位の階層を図２にも示す。
【００６７】
たとえば、ハッシュ値（１６０，Ｈ０）から発生した優先順位最高位にあるブロックは、“ＰＢ１（Ｈ０）”で表される。数が大きくなると、ハッシュ値（１６０，Ｈ０）から発生する対応するブロックの優先度レベルが低下する。それゆえ、“ＰＢ２（Ｈ０）”で表されるブロック作成者は、“ＰＢ１（Ｈ０）”より低い優先度レベルを有する。加えて、“ＰＢＭ（Ｈ０）”で表されるブロック作成者は、“ＰＢ１（Ｈ０）”及び“ＰＢ２（Ｈ０）”より低い優先度レベルを有し、Ｍは２より大きい整数である。
【００６８】
他の側面において、ハッシュ値（１５５，Ｈ１）から発生した優先順位最高位にあるブロックは、“ＰＢ１（Ｈ１）”で表される。数が大きくなると、ハッシュ値（１５５，Ｈ１）から発生する対応するブロックの優先度レベルが低下する。それゆえ、“ＰＢ２（Ｈ１）”で表されるブロックは、“ＰＢ１（Ｈ１）”の優先度レベルより低い優先度レベルを有する。加えて、“ＰＢＭ（Ｈ１）”で表されるブロックは、“ＰＢ１（Ｈ１）”及び“ＰＢ２（Ｈ１）”の優先度レベルより低い優先度レベルを有し、Ｍは２より大きい整数である。
【００６９】
さらに他の側面において、ハッシュ値（１５５，Ｈ２）から発生した優先順位最高位にあるブロックは、“ＰＢ１（Ｈ２）”で表される。数が大きくなると、ハッシュ値（１５５，Ｈ２）から発生する対応するブロックの優先度レベルが低下する。それゆえ、“ＰＢ２（Ｈ２）”で表されるブロックは、“ＰＢ１（Ｈ２）”の優先度レベルより低い優先度レベルを有する。加えて、“ＰＢＭ（Ｈ２）”で表されるブロックは、“ＰＢ１（Ｈ２）”及び“ＰＢ２（Ｈ２）”の優先度レベルより低い優先度レベルを有し、Ｍは２より大きい整数である。
【００７０】
さらに、ハッシュ値（１５５，ＨＮ）から発生した優先順位最高位にあるブロックは、“ＰＢ１（ＨＮ）”で表される。数が大きくなると、ハッシュ値（１５５，ＨＮ）から発生する対応するブロック作成者の優先度レベルが低下する。それゆえ、“ＰＢ２（ＨＮ）”で表されるブロックは、“ＰＢ１（ＨＮ）”の優先度レベルより低い優先度レベルを有する。加えて、“ＰＢＭ（ＨＮ）”で表されるブロックは、“ＰＢ１（ＨＮ）”及び“ＰＢ２（ＨＮ）”より低い優先度レベルを有し、Ｍは２より大きい整数であり、Ｎは２より大きい整数である。
【００７１】
ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャは、４番目のプロトコル２１５も含み、４番目のプロトコル２１５は、少なくとも１つの実施形態にしたがい、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、１番目のグループ（１３５，γ１）に先行するサイクル（例：Ｃ０）内で、複数のブロックを検証するように構成される。１番目の二次グループ署名は、ブロックを認証する。加えて、４番目のプロトコル２１５は、少なくとも１つの実施形態にしたがい、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、２番目のグループ（１３５，γ２）に先行するサイクル（例：Ｃ１）内で、複数のブロックを検証するように構成される。２番目の二次グループ署名は、ブロックを認証する。さらに、４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、Ｎ番目のグループ（１３５，γＮ）に先行するサイクル（例：ＣＮ-１）内の複数のブロックのうち１つのブロックを検証するように構成される。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、４番目のプロトコル２１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか１つを含む。少なくとも１つの実施形態において、４番目のプロトコル２１５は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【００７２】
引き続き図２において、ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャにおいて、４番目のプロトコル２１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックの１番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ０）内にある。１番目の二次グループ署名は、１番目の優先順位をつけたブロックを認証する。加えて、４番目のプロトコル２１５は、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、複数のブロックの２番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ１）内にある。２番目の二次グループ署名は、２番目の優先順位をつけたブロックを認証する。さらに、４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、複数のブロックの（Ｎ-１）番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：ＣＮ-１）内にある。Ｎ番目の二次グループ署名は、（Ｎ-１）番目の優先順位を認証する。少なくとも１つの実施形態において、４番目のプロトコル２１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。１又は複数の実施形態において、４番目のプロトコル２１５は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【００７３】
いくつかの実施形態において、公証されたブロックは、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループ（１３５，γ１）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループ（１３５，γ２）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループ（１３５，γＮ）のサイズ以下である。
【００７４】
ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャは、５番目のプロトコル２２０も含み、５番目のプロトコル２２０は、１番目の二次グループ署名又は公証された１番目のブロックをブロードキャストするように構成される。１番目の二次グループ署名は、１番目のブロックを公証するように構成される。加えて、５番目のプロトコル２２０は、２番目の二次グループ署名又は公証された２番目のブロックをブロードキャストするように構成される。２番目の二次グループ署名は、２番目のブロックを公証するように構成される。さらに、５番目のプロトコル２２０は、Ｎ番目の二次グループ署名又は公証されたＮ番目のブロックをブロードキャストするように構成される。Ｎ番目の二次グループ署名は、Ｎ番目のブロックを公証するように構成される。少なくとも１つの実施形態において、５番目のプロトコル２２０は、上記の機能を同時に遂行するように構成される。
【００７５】
ブロードキャストされた各サイクル内の任意の公証されたブロックは、異なるサイクルの他のブロックを参照する。少なくとも１つの実施形態において、他のブロックは公証される。
【００７６】
図４は、一又は複数の実施形態にしたがう、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャを示す。上に論じたとおり、ハッシュ値（（１６０，Ｈ０）；（１５５，Ｈ１）；（１５５，Ｈ２）…（１５５，ＨＮ））のそれぞれは、複数のブロック作成者を選択するように構成される。ハッシュ値（１６０，Ｈ０）に沿った２番目のプロトコル１３０は、１番目のグループ（１３５，γ１）を選択するように構成される。１又は複数の実施形態において、４番目のプロトコル２１５は、１番目のグループ（１３５，γ１）を指定して、複数のブロックの１つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ０）内にある。４番目のプロトコル２１５がタイムスタンプを検証してはじめて、１番目のグループ（１３５，γ１）は１番目のグループ署名を使用して１番目のメッセージ（１４５，Ｍ１）に署名することで、図１に示す閾値リレーチェーン１００の操作を継続する。
【００７７】
ハッシュ値（１５５，Ｈ１）に沿った２番目のプロトコル１３０は、２番目のグループ（１３５，γ２）を選択するように構成される。１又は複数の実施形態において、４番目のプロトコル２１５は、２番目のグループ（１３５，γ２）を指定して、複数のブロックの１つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ１）内にある。４番目のプロトコル２１５がタイムスタンプを検証してはじめて、２番目のグループ（１３５，γ２）は２番目のグループ署名を使用して２番目のメッセージ（１４５，Ｍ２）に署名することで、図１に示す閾値リレーチェーン１００の操作を継続する。
【００７８】
ハッシュ値（１５５，ＨＮ−１）に沿った２番目のプロトコル１３０は、Ｎ番目のグループ（１３５，γＮ）を選択するように構成される。１又は複数の実施形態において、４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、複数のブロックの１つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：ＣＮ-１）内にある。４番目のプロトコル２１５がタイムスタンプを検証してはじめて、Ｎ番目のグループ（１３５，γＮ）はＮ番目のグループ署名を使用してＮ番目のメッセージ（１４５，Ｍ２）に署名することで、図１に示す閾値リレーチェーン１００の操作を継続する。
【００７９】
図５は、一又は複数の実施形態にしたがう、閾値リレーチェーン１００の格付けシステム５００のシステムアーキテクチャを示す。さまざまな実施形態において、閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャは、８番目のプロトコル５２５を含み、８番目のプロトコル５２５は、複数のブロック作成者の各ブロック作成者の格付けを導出するように構成される。いくつかの実施形態において、格付けは、先行するサイクル（例：Ｃ０）の１番目のグループ署名から導出される。いくつかの実施形態において、格付けは、先行するサイクル（例：Ｃ１）の２番目のグループ署名から導出される。いくつかの実施形態において、格付けは、先行するサイクル（例：ＣＮ-１）のＮ番目のグループ署名から導出される。
【００８０】
閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャは、９番目のプロトコル５３０を含み、９番目のプロトコル５３０は、複数のブロック作成者の各ブロック作成者に関連するブロックに、複数の１番目の重みを割当てるように構成される。いくつかの実施形態において、単一の１番目の重みが各ブロックに割当てられる。少なくとも１つの実施形態において、各ブロックの複数の１番目の重みの各１番目の重みは、複数のブロック作成者のうち各ブロック作成者の格付けに基づく。
【００８１】
閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャは、１０番目のプロトコル５３５を含み、１０番目のプロトコル５３５は、ブロックから成る少なくとも１つのチェーンに、２番目の重みを割当てるように構成される。少なくとも１つの実施形態において、ブロックから成る少なくとも１つのチェーンの２番目の重みは、ブロックから成る少なくとも１つのチェーンの各ブロックの各１番目の重みに基づき、ブロックから成る少なくとも１つのチェーンの１つのブロックは、ブロックから成る少なくとも１つのチェーンの他のブロックを参照する。
【００８２】
さらに、閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャは、１１番目のプロトコル５４０を含み、１１番目のプロトコル５４０は、要素に基づいて、ブロックから成る少なくとも１つのチェーンのうちブロックから成る１つのチェーンの先行するブロックを選択するように構成される。少なくとも１つの実施形態において、要素は、ブロックから成るチェーンの先行するブロックの１番目の重み又はブロックから成るチェーンの２番目の重みを含む。
【００８３】
図６は、一又は複数の実施形態にしたがう、システムアーキテクチャ内のデータの処理方法６００を示すフローチャートである。プロセッサによって実行された場合コンピュータに方法１００ｂを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。方法６００は、６番目のプロトコルによって複数のノードが指名されるステップ６０５で始まる。方法６００は、１番目のプロトコルによって複数のグループが形成されるステップ６１０に続く。少なくとも１つの実施形態において、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。いくつかの実施形態において、ランダムに選択されたノードの集合は、複数のノードの一部である。
【００８４】
方法６００は、７番目のプロトコルによって、ランダムに選択されたノードの集合の中の選択されたノード及び／又は複数のノードの不正の可能性を検出するステップ６１５に続く。１又は複数の実施形態において、選択ノードはペナルティを受ける及び／又は指名を取り消す。方法６００は、２番目のプロトコルによって、複数のグループから１番目のグループが選択されるステップ６２０に続く。いくつかの実施形態において、１番目のグループは、シードに基づいて２番目のプロトコルによってランダムに選択される。いくつかの実施形態において、１番目のグループは、先行するグループ署名に基づくシードに基づいて２番目のプロトコルによってランダムに選択される。
【００８５】
さらに、方法６００は、設定プロトコルによって１番目のグループのグループ公開鍵が確立されるステップ６２５に続く。ステップ６３０において、１番目のグループは、１番目のグループ署名を生成することで１番目のメッセージに署名する。１又は複数の実施形態において、３番目のプロトコルは、１番目のグループを指定して１番目のメッセージに署名するように構成される。さらに、方法６００は、１番目のグループ署名からハッシュ値が生成されるステップ６３５に続く。１又は複数の実施形態において、ハッシュ関数は、１番目のグループ署名からハッシュ値を生成するように構成される。
【００８６】
方法６００は、ハッシュ値及び２番目のプロトコルが、後続のサイクルの２番目のグループを選択するように構成されるステップ６４０に続く。１又は複数の実施形態において、複数のブロックのうち１つのブロックが、以下に論じる先行するサイクルのステップ６７０に示されているように、４番目のプロトコルによって、検証又はタイムスタンプのいずれか一方がなされて初めて、後続のサイクルの２番目のグループは、方法６００のステップ６２５と同様のステップに続く。
【００８７】
先行するサイクルに立ち戻って、方法６００は、ハッシュ値によって複数のブロック作成者が選択されるステップ６４５に続く。方法６００は、１２番目のプロトコルによって、複数のブロック作成者の各ブロック作成者に優先順位がつけられるステップ６５０を含む。少なくとも１つの実施形態において、１２番目のプロトコルは、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。いくつかの実施形態において、格付けシステムは図５に示した格付けシステム５００を含む。方法６００は、１３番目のプロトコルによって、先行するサイクル内の複数のブロックの各ブロックに優先順位がつけられるステップ６５５に続く。方法６００は、４番目のプロトコルによって複数のグループのうち１つのブロックにタイムスタンプが押されるステップ６６０に続く。少なくとも１つの実施形態において、４番目のプロトコルは、先行するサイクルにおいて複数のグループのうち１つのブロックにタイムスタンプを押すように構成される。いくつかの実施形態において、４番目のプロトコルは、優先順位がつけられたブロックのみにタイムスタンプを押す。いくつかの実施形態において、４番目のプロトコルは、優先順位がつけられているかとは無関係に、ブロックにタイムスタンプを押す。いくつかの実施形態において、タイムスタンプは２番目のグループ署名を使用して生成される。
【００８８】
さらに、方法６００は、４番目のプロトコルによって複数のグループのうち１つのブロックが検証されるステップ６６５に続く。少なくとも１つの実施形態において、４番目のプロトコルは、２番目のグループ署名を指定して、複数のグループのうち１つのブロックを検証するように構成される。いくつかの実施形態において、優先順位がつけられたブロックのみが検証される。いくつかの実施形態において、複数のブロックはその優先順位とは無関係に検証される。いくつかの実施形態において、検証されたブロックのみにタイムスタンプが押される。いくつかの実施形態において、タイムスタンプが発行されたブロックのみが検証される。
【００８９】
さらに、方法６００は、５番目のプロトコルによって、２番目のグループ署名又はタイムスタンプが発行されたブロックのうち少なくともいずれか一方がブロードキャストされるステップ６７０に続く。
【００９０】
当業者であれば、一又は複数の実施形態において、方法６００に操作が追加されたり削除されたりすることは理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法６００における操作の順番が変更されることは理解するはずである。
【００９１】
図７は、一又は複数の実施形態にしたがう、閾値リレーチェーン７００のシステムアーキテクチャを示す。閾値リレーチェーン７００のシステムアーキテクチャ（図７）は閾値リレーチェーン１００（図１）と同様である。閾値リレーチェーン７００における同様の要素は、図１と同一の符号を有する。図１と比較すると、図７はハッシュ値（１６０，Ｈ０）を含み、図７のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【００９２】
上で論じたとおり、閾値リレーチェーン７００のシステムアーキテクチャ（図７）のこれ以外の特徴は、閾値リレーチェーン１００のシステムアーキテクチャ（図１）と同様である。
【００９３】
図８は、一又は複数の実施形態にしたがう、ブロックチェーンを操作するように構成された閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャを示す。閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図８）は、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図２）と同様である。閾値リレーチェーン７００（図８）における同様の要素は、図２と同一の符号を有する。図２と比較すると、図８はハッシュ値（１６０，Ｈ０）を含み、図８のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【００９４】
図２と比較すると、ブロックチェーンを操作するように構成された、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図８）において、図８の４番目のプロトコル２１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックの１番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ１）内にある。１番目の二次グループ署名は、ブロックを認証する。加えて、図８の４番目のプロトコル２１５は、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、１番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ２）内にある。２番目の二次グループ署名は、ブロックを認証する。さらに、４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、Ｎ番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：ＣＮ）内にある。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、図８の４番目のプロトコル２１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか１つを含む。少なくとも１つの実施形態において、図８の４番目のプロトコル２１５は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【００９５】
図２と比較すると、ブロックチェーンを操作するように構成された、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図８）において、図８の４番目のプロトコル２１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックの１番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ１）内にある。１番目の二次グループ署名は、１番目の優先順位をつけたブロックを認証する。加えて、図８の４番目のプロトコル２１５は、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、複数のブロックの２番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：Ｃ２）内にある。２番目の二次グループ署名は、２番目の優先順位をつけたブロックを認証する。さらに、図８の４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、複数のブロックのＮ番目の優先順位をつけたブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：ＣＮ）内にある。Ｎ番目の二次グループ署名は、Ｎ番目の優先順位をつけたブロックを認証する。少なくとも１つの実施形態において、図８の４番目のプロトコル２１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。１又は複数の実施形態において、図８の４番目のプロトコル２１５は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【００９６】
いくつかの実施形態において、公証されたブロックは、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループ（１３５，γ１）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループ（１３５，γ２）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループ（１３５，γＮ）のサイズ以下である。
【００９７】
上で論じたとおり、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図８）のこれ以外の特徴は、ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図２）と同様である。
【００９８】
図９は、一又は複数の実施形態にしたがう、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャを示す。閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図９）は、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図３）と同様である。閾値リレーチェーン７００（図９）における同様の要素は、図３と同一の符号を有する。図３と比較すると、図９はハッシュ値（１６０，Ｈ０）を含み、図９のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【００９９】
図３と比較すると、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図９）は、４番目のプロトコル３１５を含む。図９の４番目のプロトコル３１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、各サイクル（例：ＣＮ）内の複数のブロックのうち１つのブロックを検証するように構成される。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、図９の４番目のプロトコル３１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、任意のブロックの検証は、署名のチェック、参照のチェック、ハッシュの検証、トランザクションの検証、サイズのチェック、実行時間のチェック又は二重使用のチェックのうち少なくともいずれか１つを含む。少なくとも１つの実施形態において、図９の４番目のプロトコル３１５は、ブロックを検証することで、検証されたブロックを公証するように構成される。
【０１００】
図３と比較すると、図９の４番目のプロトコル３１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：Ｃ１）内にある。１番目の二次グループ署名は、ブロックを認証する。加えて、図９の４番目のプロトコル３１５は、２番目のグループ（１３５，γ２）を指定して、２番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：Ｃ２）内にある。２番目の二次グループ署名は、ブロックを認証する。さらに、図９の４番目のプロトコル３１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、Ｎ番目の二次グループ署名を作成することで、複数のブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：ＣＮ）内にある。Ｎ番目の二次グループ署名は、ブロックを認証する。少なくとも１つの実施形態において、図９の４番目のプロトコル３１５は、上記の機能を同時に遂行するように構成される。さまざまな実施形態において、タイムスタンプ発行は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。１又は複数の実施形態において、図９の４番目のプロトコル３１５は、検証されたブロックに対してタイムスタンプを押すように構成される。１又は複数の実施形態において、図９の４番目のプロトコル３１５は、検証されたブロックのみにタイムスタンプを押すことで、タイムスタンプが押され検証されたブロックを公証するように構成される。さまざまな実施形態において、タイムスタンプは、ある時間窓でしか発行されない。
【０１０１】
いくつかの実施形態において、公証されたブロックは、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループ（１３５，γ１）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループ（１３５，γ２）のサイズ以下である。いくつかの実施形態において、公証されたブロックは、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループ（１３５，γＮ）のサイズ以下である。
【０１０２】
１番目のグループ署名は、１番目のグループ（１３５，γ１）の閾値集合によって生成されるように構成され、閾値集合のサイズは、１番目のグループのサイズ以下である。少なくとも１つの実施形態において、１番目のグループ（１３５，γ１）の閾値集合のサイズは、システムパラメータである。２番目のグループ署名は、２番目のグループ（１３５，γ２）の閾値集合によって生成されるように構成され、閾値集合のサイズは、２番目のグループのサイズ以下である。少なくとも１つの実施形態において、２番目のグループ（１３５，γ２）の閾値集合は、システムパラメータである。Ｎ番目のグループ署名は、Ｎ番目のグループ（１３５，γＮ）の閾値集合によって生成されるように構成され、閾値集合のサイズは、Ｎ番目のグループのサイズ以下である。少なくとも１つの実施形態において、Ｎ番目のグループ（１３５，γＮ）の閾値集合は、システムパラメータである。
【０１０３】
同じく図３と比較すると、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成された、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図９）は、５番目のプロトコル３２０も含み、図９の５番目のプロトコル３２０は、１番目の二次グループ署名又はサイクルＣ１内のタイムスタンプが押されたブロックのうち少なくとも１つをネットワークにブロードキャストするように構成される。１番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、図９の５番目のプロトコル３２０は、２番目の二次グループ署名又はサイクルＣ２内のタイムスタンプが押されたブロックのうち少なくとも１つをネットワークにブロードキャストするように構成される。２番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。加えて、図９の５番目のプロトコル３２０は、Ｎ番目の二次グループ署名又はサイクルＣＮ内のタイムスタンプが押されたブロックのうち少なくとも１つをネットワークにブロードキャストするように構成される。Ｎ番目の二次グループ署名は、各ブロックに対してタイムスタンプを押すように構成される。少なくとも１つの実施形態において、図９の５番目のプロトコル３２０は、上記の機能を同時に遂行するように構成される。ブロードキャストされた任意のタイムスタンプが押されたブロックは、異なるサイクルの他のタイムスタンプが押されたブロックを参照する。
【０１０４】
上で論じたとおり、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図９）のこれ以外の特徴は、ブロックチェーンを操作するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図３）と同様である。
【０１０５】
図１０は、一又は複数の実施形態にしたがう、系統的ランダム性ベースのブロック検証を維持するように構成された閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャを示す。閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図１０）は、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図４）と同様である。閾値リレーチェーン７００（図１０）における同様の要素は、図４と同一の符号を有する。図４と比較すると、図１０はハッシュ値（１６０，Ｈ０）を含み、図１０のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【０１０６】
図４と比較すると、図１０の４番目のプロトコル２１５は、１番目のグループ（１３５，γ１）を指定して、１番目の二次グループ署名を作成することで、複数のブロックのうち１つのブロックを検証しタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：Ｃ１）内にある。１又は複数の実施形態において、図１０の４番目のプロトコル２１５は、２番目のグループ（１３５，γ２）を指定して、複数のブロックの１つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、先行するサイクル（例：Ｃ２）内にある。２番目のグループ（１３５，γ２）が、１番目のグループ（１３５，γ１）からのタイムスタンプを確認して初めて、２番目のグループ（１３５，γ２）は、図７に黙示的に示した２番目のグループ署名を作成する。１又は複数の実施形態において、図１０の４番目のプロトコル２１５は、Ｎ番目のグループ（１３５，γＮ）を指定して、複数のブロックの１つのブロックに対してタイムスタンプを押すように構成され、複数のブロックは、各サイクル（例：ＣＮ）内にある。（Ｎ＋１）番目のグループ（１３５，γＮ＋１）が、Ｎ番目のグループ（１３５，γＮ）からのタイムスタンプを確認して初めて、（Ｎ＋１）番目のグループ（１３５，γＮ＋１）は（Ｎ＋１）番目のグループ署名を作り出す。
【０１０７】
上で論じたとおり、系統的ランダム性ベースのブロック検証を維持するように構成された、閾値リレーチェーン７００の複数のプロトコルのシステムアーキテクチャ（図１０）のこれ以外の特徴は、系統的ランダム性ベースのブロック検証を維持するように構成された、閾値リレーチェーン１００の複数のプロトコルのシステムアーキテクチャ（図４）と同様である。
【０１０８】
図１１は、一又は複数の実施形態にしたがう、閾値リレーチェーン７００の格付けシステム１１００のシステムアーキテクチャを示す。閾値リレーチェーン７００の格付けシステムのシステムアーキテクチャ（図１１）は、閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャ（図５）と同様である。閾値リレーチェーン７００の格付けシステムのシステムアーキテクチャ（図１１）の同様の要素は、図５と同一の符号を有する。図５と比較すると、図１１はハッシュ値（１６０，Ｈ０）を含み、図１１のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【０１０９】
さまざまな実施形態において、閾値リレーチェーン７００の格付けシステムのシステムアーキテクチャ（図１１）は、８番目のプロトコル５２５を含み、図１１の８番目のプロトコル５２５は、複数のブロック作成者の各ブロック作成者の格付けを導出するように構成される。図５と比較すると、１又は複数の実施形態にしたがって、格付けは、各サイクル（例：Ｃ１）の１番目のグループ署名から導出される。いくつかの実施形態において、格付けは、各サイクル（例：Ｃ２）の２番目のグループ署名から導出される。いくつかの実施形態において、格付けは、各サイクル（例：ＣＮ）のＮ番目のグループ署名から導出される。
【０１１０】
上で論じたとおり、閾値リレーチェーン７００の格付けシステムのシステムアーキテクチャ（図１１）のこれ以外の特徴は、閾値リレーチェーン１００の格付けシステムのシステムアーキテクチャ（図５）と同様である。
【０１１１】
図１２は、一又は複数の実施形態にしたがう、システムアーキテクチャ内のデータの処理方法１２００を示すフローチャートである。プロセッサによって実行された場合コンピュータに方法１００ｂを実行させるコンピュータ可読プログラムがエンコードされた非一時的なコンピュータ可読媒体。方法１２００は、６番目のプロトコルによって複数のノードが指名されるステップ６０５で始まる。方法１２００は、１番目のプロトコルによって複数のグループが形成されるステップ６１０に続く。少なくとも１つの実施形態において、複数のグループのうち各グループは、ネットワークからランダムに選択されたノードの集合を含む。いくつかの実施形態において、ランダムに選択されたノードの集合は、複数のノードの一部である。
【０１１２】
方法１２００は、７番目のプロトコルによって、ランダムに選択されたノードの集合の中の選択されたノード及び／又は複数のノードの不正の可能性を検出するステップ６１５に続く。１又は複数の実施形態において、選択ノードはペナルティを受ける及び／又は指名を取り消す。方法１２００は、２番目のプロトコルによって、複数のグループから１番目のグループが選択されるステップ６２０に続く。いくつかの実施形態において、１番目のグループは、シードに基づいて２番目のプロトコルによってランダムに選択される。いくつかの実施形態において、１番目のグループは、先行するグループ署名に基づくシードに基づいて２番目のプロトコルによってランダムに選択される。
【０１１３】
さらに、方法１２００は、設定プロトコルによって１番目のグループのグループ公開鍵が確立されるステップ６２５に続く。ステップ６３０において、１番目のグループは、１番目のグループ署名を生成することで１番目のメッセージに署名する。１又は複数の実施形態において、３番目のプロトコルは、１番目のグループを指定して１番目のメッセージに署名するように構成される。さらに、方法１２００は、１番目のグループ署名からハッシュ値が生成されるステップ６３５に続く。１又は複数の実施形態において、ハッシュ関数は、１番目のグループ署名からハッシュ値を生成するように構成される。
【０１１４】
方法１２００は、ハッシュ値及び２番目のプロトコルが、後続のサイクルの２番目のグループを選択するように構成されるステップ６４０に続く。１又は複数の実施形態において、複数のブロックのうち１つのブロックが、以下に論じる先行するサイクルのステップ６７０に示されているように、４番目のプロトコルによって、検証又はタイムスタンプのいずれか一方がなされて初めて、後続のサイクルの２番目のグループは、方法１２００のステップ６２５と同様のステップに続く。２番目のグループが複数のブロックが検証又はタイムスタンプのいずれか一方がなされたのを確認して初めて、２番目のグループは、２番目のメッセージに署名する。
【０１１５】
先行するサイクルに立ち戻って、方法１２００は、ハッシュ値によって複数のブロック作成者が選択されるステップ６４５に続く。方法１２００は、１２番目のプロトコルによって、複数のブロック作成者の各ブロック作成者に優先順位がつけられるステップ６５０を含む。少なくとも１つの実施形態において、１２番目のプロトコルは、格付けシステムに基づいて、複数のブロック作成者のうち各ブロック作成者に優先順位をつけるように構成される。いくつかの実施形態において、格付けシステムは図１１に示した格付けシステム１１００を含む。方法１２００は、１３番目のプロトコルによって、先行するサイクル内の複数のブロックの各ブロックに優先順位がつけられるステップ６５５を含む。方法１２００は、４番目のプロトコルによって複数のグループのうち１つのブロックにタイムスタンプが押されるステップ６６０に続く。少なくとも１つの実施形態において、４番目のプロトコルは、各サイクル（例：Ｃ１）において複数のグループのうち１つのブロックにタイムスタンプを押すように構成される。いくつかの実施形態において、４番目のプロトコルは、優先順位がつけられたブロックのみにタイムスタンプを押す。いくつかの実施形態において、４番目のプロトコルは、優先順位がつけられているかとは無関係に、ブロックにタイムスタンプを押す。いくつかの実施形態において、タイムスタンプは２番目のグループ署名を使用して生成される。
【０１１６】
さらに、方法１２００は、４番目のプロトコルによって複数のグループのうち１つのブロックが検証されるステップ６６５に続く。少なくとも１つの実施形態において、４番目のプロトコルは、１番目のグループ署名を指定して、複数のグループのうち１つのブロックを検証するように構成される。いくつかの実施形態において、優先順位がつけられたブロックのみが検証される。いくつかの実施形態において、複数のブロックはその優先順位とは無関係に検証される。いくつかの実施形態において、検証されたブロックのみにタイムスタンプが押される。いくつかの実施形態において、タイムスタンプが発行されたブロックのみが検証される。
【０１１７】
さらに、方法１２００は、５番目のプロトコルによって、２番目のグループ署名又はタイムスタンプが発行されたブロックのうち少なくともいずれか一方がブロードキャストされるステップ６７０に続く。
【０１１８】
当業者であれば、一又は複数の実施形態において、方法１２００に操作が追加されたり削除されたりすることは理解するはずである。当業者であれば、さまざまな代替的な実施形態において、方法１２００における操作の順番が変更されることは理解するはずである。
【０１１９】
図１３は、一又は複数の実施形態にしたがう、閾値リレーチェーン１３００のシステムアーキテクチャを示す。閾値リレーチェーン１３００のシステムアーキテクチャ（図１３）は閾値リレーチェーン１００（図１）と同様である。閾値リレーチェーン１３００における同様の要素は、図１と同一の符号を有する。図１と比較すると、図１３は、１番目のデルタグループ（１８５，Δ１）と１番目のグループ（１３５，γ１）とをランダムに選択するように構成された２番目のプロトコル１３０を含む。
【０１２０】
図１３の３番目のプロトコル１４０は、１番目のデルタグループ（１８５，Δ１）を指定して、１番目のグループ署名を生成することで、１番目のメッセージ（１４５，Ｍ１）に署名するように構成される。図１３のハッシュ関数１５０は、１番目のグループ署名からハッシュ値（１５５，Ｈ１）を生成するように構成される。１番目のデルタグループ（１８５，Δ１）のサイズは、システムパラメータである。少なくとも１つの実施形態において、ハッシュ値（１５５，Ｈ１）は、２番目のプロトコル１３０を用いて２番目のデルタグループ（１８５，Δ２）を選択するように構成され、３番目のプロトコル１４０は、２番目のデルタグループ（１８５，Δ２）を指定して、２番目のメッセージ（１４５，Ｍ２）に署名するように構成される。
【０１２１】
さまざまな実施形態において、１番目のグループ署名は、１番目のデルタグループ（１８５，Δ１）の閾値集合によって生成されるように構成される。いくつかの実施形態において、閾値集合は、１番目のデルタグループ（１８５，Δ１）のサイズより小さい。いくつかの実施形態において、閾値集合は、１番目のデルタグループ（１８５，Δ１）のサイズに等しい。少なくとも１つの実施形態において、１番目のデルタグループ（１８５，Δ１）の閾値集合は、システムパラメータである。
【０１２２】
上で論じたとおり、２番目のプロトコル１３０は、１番目のデルタグループ（１８５，Δ１）をランダムに選択するように構成される。さまざまな実施形態において、かかる選択は乱数に基づく。いくつかの実施形態において、乱数は、シード１６０に由来する値である。いくつかの実施形態において、シード１６０は、先行するグループ署名から導出される。少なくとも１つの実施形態において、シード１６０が先行するグループ署名から導出されるのは、ハッシュ関数１５０による。
【０１２３】
図１３の閾値リレーチェーン１３００は設定プロトコル１８０を含み、設定プロトコル１８０は、１番目のプロトコル１２０によって形成される複数のグループ１２５のグループ用のグループ公開鍵を確立するように構成され、１番目のグループ署名は、グループ公開鍵によって検証されるように構成される。少なくとも１つの実施形態において、１番目のグループ署名は、１番目のデルタグループ（１８５，Δ１）の閾値集合の特異性とは無関係に、グループ公開鍵及び１番目のメッセージ（１４５，Ｍ１）に固有となるように構成される。いくつかの実施形態において、１番目のグループ署名は、双線形ペアリング、楕円曲線上の双線形ペアリング、閾値方式、ＧａｐＤｉｆｆｉｅ−Ｈｅｌｌｍａｎグループ（ＧＤＨ）又はＢｏｎｅｈ−Ｌｙｎｎ−Ｓｈａｃｈａｍ（ＢＬＳ）署名方式に基づく。
【０１２４】
一又は複数の実施形態において、図１３の設定プロトコル１８０は、複数のグループ１２５の各グループ（１２５；Ｇ１，Ｇ２...，ＧＮ）の各ノード用に、個別の秘密鍵共有を確立するように構成される。少なくとも１つの実施形態にしたがい、１番目のデルタグループ（１８５，Δ１）の閾値集合のノードのそれぞれの個別の秘密鍵共有は、１番目のグループ署名を生成するように構成される。いくつかの実施形態において、閾値集合は、１番目のデルタグループ（１８５，Δ１）のサイズより小さい。いくつかの実施形態において、閾値集合は、１番目のデルタグループ（１８５，Δ１）のサイズに等しい。少なくとも１つの実施形態において、１番目のデルタグループ（１８５，Δ１）の閾値集合は、システムパラメータである。
【０１２５】
図１３に示したとおり、閾値リレーチェーン１３００のさまざまなプロトコル及び関数は、データ管理及び処理のサイクル（すなわちＣ１，Ｃ２…ＣＮ）に同時にサービスを提供するように構成される。２番目のプロトコル１３０は、ハッシュ値（１５５，Ｈ１）と共に、２番目のデルタグループ（１８５，Δ２）を選択するように構成され、３番目のプロトコル１４０は、２番目のデルタグループ（１８５，Δ２）を指定して、２番目のメッセージ（１４５，Ｍ２）に署名するように構成される。いくつかの実施形態において、２番目のメッセージ（１４５，Ｍ２）は、１番目のグループ署名のハッシュ値（１５５，Ｈ１）を含む。いくつかの実施形態において、２番目のメッセージ（１４５，Ｍ２）は、１番目のグループ署名のハッシュ値（１５５，Ｈ１）を含まない。
【０１２６】
一又は複数の実施形態にしたがい、２番目のプロトコル１３０は、ハッシュ値（１５５，ＨＮ）と共に、（Ｎ＋１）番目のデルタグループ（１８５，ΔＮ＋１）を選択するように構成され、３番目のプロトコル１４０は、（Ｎ＋１）番目のデルタグループ（１８５，ΔＮ＋１）を指定して、（Ｎ＋１）番目のメッセージ（１４５，ＭＮ＋１）に署名するように構成される。ハッシュ関数１５０は、（Ｎ＋１）番目のグループ署名からハッシュ値（１５５，ＨＮ＋１）を生成するように構成される。いくつかの実施形態において、（Ｎ＋１）番目のメッセージ（１４５，ＭＮ＋１）は、Ｎ番目のグループ署名のハッシュ値（１５５，ＨＮ）を含む。いくつかの実施形態において、（Ｎ＋１）番目のメッセージ（１４５，ＭＮ＋１）は、Ｎ番目のグループ署名のハッシュ値（１５５，ＨＮ）を含まない。
【０１２７】
上で論じたとおり、閾値リレーチェーン１３００のシステムアーキテクチャ（図１３）のこれ以外の特徴は、閾値リレーチェーン１０００のシステムアーキテクチャ（図１）と同様である。少なくとも１つの実施形態において、図２〜６及び本願の関連の説明は、閾値リレーチェーン１３００のシステムアーキテクチャ（図１３）と併用される。
【０１２８】
図１４は、一又は複数の実施形態にしたがう、閾値リレーチェーン１４００のシステムアーキテクチャを示す。閾値リレーチェーン１４００のシステムアーキテクチャ（図１４）は閾値リレーチェーン１３００（図１３）と同様である。閾値リレーチェーン１４００（図１４）における同様の要素は、図１３と同一の符号を有する。図１３と比較すると、図１４はハッシュ値（１６０，Ｈ０）を含み、図１４のハッシュ値（１６０，Ｈ０）は複数のブロック作成者を選択しない。
【０１２９】
上で論じたとおり、閾値リレーチェーン１４００のシステムアーキテクチャ（図１４）のこれ以外の特徴は、閾値リレーチェーン１３００のシステムアーキテクチャ（図１３）と同様である。少なくとも１つの実施形態において、図８〜１２及び本願の関連の説明は、閾値リレーチェーン１４００のシステムアーキテクチャ（図１４）と併用される。
【０１３０】
図１５は、ブロックチェーン内のノードを操作するための閾値リレーチェーンの計算又は処理ノード１５００の一例を示す。この例は、本願に記載の本発明の実施形態の使用範囲又は機能に関して何らかの限定を提示することを目的としたものではない。それでも、計算ノード１５００は、実装および／または本願の以上に記載した機能をどれでも実行することができる。
【０１３１】
計算ノード１５００には、多数の他の汎用又は特殊用途の計算システム環境又は設定で動作するコンピュータシステム／サーバ１５０２が存在する。コンピュータシステム／サーバ１５０２と併用するのに適した計算システム、環境及び／又は設定の例としては、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、携帯又はラップトップ端末、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家電機器、ネットワークＰＣ、ミニコンピュータシステム、メインフレームコンピュータシステム、上記のシステム又はデバイスのうちいずれかを含む分散型クラウド計算システムその他が含まれるが、これに限定されない。
【０１３２】
コンピュータシステム／サーバ１５０２は、プログラムモジュールのようなコンピュータシステムを用いた実行命令の全体的な文脈の中で説明されることがある。一般的には、プログラムモジュールは、特定のタスクを実行する又は特定の抽象的データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造その他を含むことがある。コンピュータシステム／サーバ１５０２は、分散型クラウドコンピューティング環境で実行されることもあり、ここでは、タスクは、通信ネットワークを通じてリンクされたリモートの処理用デバイスによって実行される。分散型クラウドコンピューティング環境においては、プログラムモジュールは、メモリ記憶デバイスを含むローカルとリモートのいずれのコンピュータシステム用記憶媒体にも配置することができる。
【０１３３】
図１５に示したとおり、クラウド計算ノード１５００におけるコンピュータシステム／サーバ１５０２は、汎用コンピューティングデバイスの形で示される。コンピュータシステム／サーバ１５０２のコンポーネントは、一又は複数のプロセッサ又は処理ユニット１５０４と、システムメモリ１５０６と、システムメモリ１５０６を含むさまざまなシステムコンポーネントをプロセッサ１５０４に接続するバス１５０８を含むことがあるが、これには限定されない。
【０１３４】
バス１５０８は、複数のタイプのバス構造のうち任意のものの一又は複数に相当し、メモリバス又はメモリコントローラ、周辺バス、ＡＧＰ、プロセッサ又は各種のバスアーキテクチャのうち任意のものを使用するローカルバスを含む。以下は一例であり限定するものではないが、かかるアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、強化ＩＳＡ（ＥＩＳＡ）バス、ＶＥＳＡローカルバス、ＰＣＩバスを含む。
【０１３５】
通常、コンピュータシステム／サーバ１５０２は、各種のコンピュータシステム可読媒体を含む。かかる媒体は、コンピュータシステム／サーバ１５０２によってアクセス可能であるあらゆる入手可能な媒体であってもよく、揮発性、不揮発性のいずれの媒体も、取外し可能な媒体も取外しできない媒体も含む。
【０１３６】
１つの実施形態において、システムメモリ１５０６は、図６及び図１２のフローチャート並びに図１〜５、図７〜１１及び図１３〜１４のアーキテクチャを実行する。システムメモリ５０６は、たとえばランダムアクセスメモリ（ＲＡＭ）１５１０及び／又はキャッシュメモリ１５１２のような揮発性メモリの形のコンピュータシステム可読媒体を含むことができる。コンピュータシステム／サーバ１５０２は、他の取外し可能／取外しできない、揮発性／不揮発性コンピュータシステム記憶媒体を含んでもよい。もっぱら一例として、ストレージシステム１５１４は、取外しできない、不揮発性磁気媒体（図示せず、通常「ハードドライブ」と呼ばれる）から読み出し、かつここに書込みをするために設けることができる。図示していないが、取外しできない、不揮発性磁気媒体から読み出し、かつここに書込みをするため磁気ディスクドライブ（例：「フロッピーディスク」）及び不揮発性磁気媒体から読み出し、かつここに書込みをするため光学ディスクドライブ、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光学媒体も設けることができる。かかる例においては、それぞれが、一又は複数のデータ媒体インターフェースによってバス１５０８に接続される。以下においてさらに示され説明されるとおり、メモリ１５０６は、本発明のさまざまな実施形態の機能を実行するように構成されたプログラムモジュールの集合（例：少なくとも１つ）を有する少なくとも１つのプログラム製品を含むこともある。
【０１３７】
プログラムモジュール１５１８の集合（例：少なくとも１つ）を有するプログラム／ユーティリティ１５１６は、一例であり、制限するものではないが、メモリ１５０６、さらには、オペレーティングシステム、一又は複数のアプリケーションプログラム、その他のプログラムモジュール及びプログラムデータに保存されることもある。オペレーティングシステム、一又は複数のアプリケーションプログラム、その他のプログラムモジュール及びプログラムデータ並びにこれらの組み合わせのうちそれぞれは、ネットワーキング環境の実装を含むこともある。プログラムモジュール１５１８は、一般的には、本明細書に記載の本発明のさまざまな実施形態の機能及び／又は方法論を実行する。
【０１３８】
当業者からかかる評価が与えられることにはなるが、本発明の側面は、システム、方法又はコンピュータプログラム製品のいずれかの形で組込まれることがある。したがって、本発明の側面は、全面的にハードウェアを用いた態様、全面的にソフトウェアを用いた態様（ファームウェア、常駐ソフト、マイクロコード等）又はハードウェアの側面とソフトウェアの側面を併用した態様の形を取ることがあり、これら全てが、本明細書中では一般的に「回路」、「モジュール」又は「システム」と呼ばれることがある。さらに、本発明の側面は、これに組み込まれたコンピュータ可読プログラムコードを有する、一又は複数のコンピュータ可読媒体に組み込まれたコンピュータプログラム製品の形を取ることがある。
【０１３９】
コンピュータシステム／サーバ１５０２は、一又は複数の外付け機器１５２０、例えばキーボード、ポインタ、ディスプレイ１５２２その他、ユーザがコンピュータシステム／サーバ１５０２と対話するのを可能にする一又は複数の機器、及び／又は、コンピュータシステム／サーバ１５０２と通信するのを可能にする任意の機器（ネットワークカード、モデム等）と通信することができる。かかる通信は、Ｉ／Ｏインターフェース１５２４を介して行なうことができる。さらに、コンピュータシステム／サーバ１５０２は、ネットワークアダプタ１５２６を介して、一又は複数のネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）及び／又は公衆回線網（例：インターネット）と通信することができる。示したとおり、ネットワークアダプタ１５２６は、コンピュータシステム／サーバ１５０２の他のコンポーネントとバス１５０８を介して通信することができる。図示されていないが、他のハードウェア又はソフトウェアコンポーネントを、コンピュータシステムサーバ１５０２と併用することもできると理解すべきである。例として、マイクロコード、デバイスドライバ、冗長処理ユニット、外付けディスクドライブアレイ、ＲＡＩＤシステム、テープドライブ及びデータ保存用ストレージシステムその他が含まれるが、これに限定されない。
【０１４０】
本開示及びその利点が以上において詳細に説明されているが、本明細書において、添付の特許請求の範囲に規定された開示の趣旨及び目的から逸脱することなく、さまざまな変更、入れ換え、部分的変更を行なうことができる。さらに、本願の目的は、本明細書に記載の事項の処理、設計、機械、製法及び組成、手段、方法並びに工程の特定の実施形態に限定されることを期するものではない。当業者は、開示内容から、本明細書に記載の対応する実施形態と実質的に同様の機能を遂行する又は実質的に同様の結果をもたらす、既存又は今後開発されることのある事項の処理、設計、機械、製法、組成、手段、方法又は工程は、本開示内容に従い利用することができると容易に評価する。結果として、添付の特許請求の範囲は、その目的の中に、処理、設計、機械、製法、組成、手段、方法又は工程を含むことを期する。
【０１４１】
本開示において、複数の実施形態が規定されているが、開示のシステム及び方法は、開示の趣旨及び目的から逸脱することなく、多数の他の特殊な形態で実施することができると理解する必要がある。本願の例は、一例にすぎず、限定を加えるものではなく、本発明は、本願に提示した細部に限定されるものではない。例えば、さまざまな要素又はコンポーネントを組み合わせたり別のシステムに内蔵したりすることもでき、或いは、かかる技術的特徴を省略したり、実施しないとしたりすることもできる。
【図１】
2021511763.tif 000003
【図１ａ】
2021511763.tif 000004
【図１ｂ】
2021511763.tif 000005
【図２】
2021511763.tif 000006
【図３】
2021511763.tif 000007
【図４】
2021511763.tif 000008
【図５】
2021511763.tif 000009
【図６】
2021511763.tif 000010
【図７】
2021511763.tif 000011
【図８】
2021511763.tif 000012
【図９】
2021511763.tif 000013
【図１０】
2021511763.tif 000014
【図１１】
2021511763.tif 000015
【図１２】
2021511763.tif 000016
【図１３】
2021511763.tif 000017
【図１４】
2021511763.tif 000018
【図１５】
2021511763.tif 000019
【国際調査報告】
2021511763.tif 000020
2021511763.tif 000021
2021511763.tif 000022