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