(57)【要約】  コンピュータで実施される方法を提供することができる。この方法は、例えばビットコインネットワーク等のブロックチェーン・ネットワークを使用して実施することができる。コンピュータで実施される方法は、ｉ）計算タスク分散システムを監視して、要求側コンピュータシステムによって行われた要求に応じて、提案側コンピュータシステムによって提供される提案側文字列に対する異議申立てを検出するステップであって、要求は、要求に関連する計算タスクと第１のデジタル資産とを指定し、提案側文字列は、計算タスクに対する解のハッシュによって示され、提案側文字列は、提案側文字列に関連する提案者トランザクションへの入力で参照される第２のデジタル資産を指定する、検出するステップと、ｉｉ）少なくとも異議申立てを検出した結果として、少なくともａ）第１のブロックチェーン・ネットワークに提供された、少なくとも提案側文字列を含む解のセットから１つの解を少なくとも選択することにより、第１のブロックチェーン・ネットワークを使用して異議申立てを解決するステップと、ｂ）解に少なくとも部分的に基づいて、第１のデジタル資産及び第２のデジタル資産によるデジタル資産を計算タスク分散システムの１人又は複数人の関係者に分配するステップと、を含む。
2020522927.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実施される方法であって、当該コンピュータで実施される方法は、
計算タスク分散システムを監視して、要求側コンピュータシステムによって行われた要求に応じて、提案側コンピュータシステムによって提供される提案側文字列に対する異議申立てを検出するステップであって、前記要求は、前記要求に関連する計算タスクと第１のデジタル資産とを指定し、前記提案側文字列は、前記計算タスクに対する解のハッシュによって示され、前記提案側文字列は、前記提案側文字列に関連する提案者トランザクションへの入力で参照される第２のデジタル資産を指定する、検出するステップと、
前記異議申立てを検出した結果として、少なくとも、
第１のブロックチェーン・ネットワークに提供された、少なくとも前記提案側文字列を含む解のセットから１つの解を少なくとも選択することにより、第１のブロックチェーン・ネットワークを使用して前記異議申立てを解決するステップと、
前記解に少なくとも部分的に基づいて、前記第１のデジタル資産及び前記第２のデジタル資産によるデジタル資産を前記計算タスク分散システムの１人又は複数人の関係者に分配するステップと、を含む、
コンピュータで実施される方法。
【請求項２】
前記提案側文字列は、前記提案側文字列に関連するタイムスタンプに少なくとも部分的に基づいて、前記解のセットから選択される、請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記異議申立ては、前記計算タスクに対する異議申立側文字列のハッシュを指定し、前記解のセットは、前記異議申立側文字列を含む、請求項１又は２に記載のコンピュータで実施される方法。
【請求項４】
前記計算タスク分散システムは、プルーフオブワーク・ブロックチェーン・ネットワークに関連するｗｅｂサービスとして実施される、請求項１乃至３のいずれか一項に記載のコンピュータで実施される方法。
【請求項５】
前記計算タスク分散システムは、プルーフオブワーク・ブロックチェーン・ネットワーク上で実施される、請求項１乃至３のいずれか一項に記載のコンピュータで実施される方法。
【請求項６】
前記第１のブロックチェーン・ネットワークは、プルーフオブステーク・ブロックチェーン・ネットワークである、請求項１乃至５のいずれか一項に記載のコンピュータで実施される方法。
【請求項７】
前記提案側文字列は、前記計算タスクに解がないことを示す、請求項１乃至６のいずれか一項に記載のコンピュータで実施される方法。
【請求項８】
前記異議申立ては、前記計算タスクに解がないことを示す、請求項１乃至７のいずれか一項に記載のコンピュータで実施される方法。
【請求項９】
前記デジタル資産には、提案者が前記第１のブロックチェーン・ネットワークに提供した預託金が含まれる、請求項１乃至８のいずれか一項に記載のコンピュータで実施される方法。
【請求項１０】
前記デジタル資産は、前記第１のデジタル資産、前記第２のデジタル資産、及び前記異議申立てに関連するトランザクションへの入力で参照される第３のデジタル資産から分配される、請求項１乃至９のいずれか一項に記載のコンピュータで実施される方法。
【請求項１１】
前記異議申立てを解決するステップは、前記解のセットのうちの１つ又は複数の解の対応する検証動作のセットを実行するステップを含む、請求項１乃至１０のいずれか一項に記載のコンピュータで実施される方法。
【請求項１２】
前記異議申立てを解決するステップは、少なくとも
提案者から、前記解のセットに関して前記提案側文字列の第１セットの中間結果を受信するステップと、
異議申立者から、前記解のセットに関して異議申立側文字列の第２セットの中間結果を受信するステップと、
前記第１セットの中間結果を前記第２セットの中間結果と比較して、前記提案側文字列と前記異議申立側文字列とが分岐する位置を決定するステップと、
解を選択するステップであって、
前記第１のブロックチェーンを使用して、前記位置で前記第１セットの中間結果の１つ又は複数の計算を繰り返すこと、及び
前記第１のブロックチェーンを使用して、前記位置で前記第２セットの中間結果の１つ又は複数の計算を繰り返すことに少なくとも分的に基づいて解を選択するステップと、を少なくとも含む仲裁手順を実行するステップを含む、請求項１乃至１１のいずれか一項に記載のコンピュータで実施される方法。
【請求項１３】
前記異議申立てを解決するステップは、少なくとも
提案者から、前記解のセットに関して前記提案側文字列の第１セットの中間結果を受信するステップと、
異議申立者から、前記解のセットに関して異議申立側文字列の第２セットの中間結果を受信するステップと、
前記第１セットの中間結果及び前記第２セットの中間結果を解析して、前記提案側文字列と前記異議申立側文字列とが分岐する位置を特定するステップと、
前記解析に少なくとも部分的に基づいて、誤った解を特定するステップと、によって前記解のセットの前記誤った解を特定するステップを少なくとも含む、請求項１乃至１２のいずれか一項に記載のコンピュータで実施される方法。
【請求項１４】
システムであって、当該システムは、
プロセッサと、
該プロセッサによる実行の結果として、当該システムに請求項１乃至１３のいずれか一項に記載のコンピュータで実施される方法を実行させる実行可能命令を含むメモリと、を含む、
システム。
【請求項１５】
コンピュータシステムのプロセッサによって実行される結果として、前記コンピュータシステムに請求項１乃至１３のいずれか一項に記載のコンピュータで実施される方法を少なくとも実行させる実行可能命令を記憶した非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、分散システムに関し、より具体的には、分散システム上のトランザクションの信頼性を高めるための方法及びシステムに関する。本発明は、計算タスク分散システムにおける計算の信頼性を高める際の使用に特に適しているが、これに限定されるものではない。
【０００２】
この文書では、あらゆる形態の電子的なコンピュータベースの分散型台帳を含めるために「ブロックチェーン」という用語を使用している。これらの形態には、コンセンサス（合意）ベースのブロックチェーン及びトランザクションチェーン技術、許可された台帳及び許可されていない台帳、共有台帳、及びそれらのバリエーションが含まれる。ブロックチェーン技術の最も広く知られている用途はビットコイン台帳であるが、他のブロックチェーン実施態様が提案され開発されている。本明細書では、便宜上及び例示の目的で、本開示で説明する技術の有用な用途として「ビットコイン」について参照し得るが、ビットコインは、本開示で説明する技術を適用できる多くの用途のうちの１つに過ぎない。もっとも、本発明はビットコイン・ブロックチェーンでの使用に限定されるものではなく、非商用用途を含む代替のブロックチェーン実施態様及びプロトコルも、本発明の範囲内に含まれることに留意されたい。例えば、本開示で説明する技術は、暗号通貨の交換が発生するかどうかに関係なく、ブロックチェーンの実施態様を利用し、ブロックチェーンの検証及び／又は暗号通貨トランザクションの検証にビットコインと同様の制約を有する他の暗号通貨に利点を提供する。
【０００３】
ブロックチェーンはコンセンサスベースの電子台帳であり、この台帳はブロックで構成されるコンピュータベースの非中央型の分散システムとして実施され、ブロックは、トランザクションで構成され得、且つ一実施形態では追加の情報を含む。いくつかの例では、「ブロックチェーン・トランザクション」は、データ及び条件のセットを含むフィールド値の構造化されたコレクションをエンコードする入力メッセージを指し、条件のセットを満たすことは、フィールドのセットをブロックチェーンのデータ構造に書き込むための前提条件である。台帳を管理するための中央処理システムがないため、ブロックチェーンはピアツーピア電子台帳とも呼ばれ得、台帳のトランザクションは、分散システムのノード同士の間のコンセンサス・プロトコルを使用して検証され得る。ビットコインの場合に、各トランザクションは、ブロックチェーン・システムの参加者同士の間でデジタル資産の制御（control：管理）の転送（transfer：移転）を符号化するデータ構造であり、各トランザクションには、少なくとも１つの入力と少なくとも１つの出力とが含まれる。各ブロックには以前のブロックのハッシュが含まれているため、これらブロックは、一緒にチェーンで繋がれており、その開始からブロックチェーンに書き込まれた全てのトランザクションの永続的な変更不可能なレコードを作成する。トランザクションには、それらの入力及び出力に埋め込まれたスクリプトとして知られている小さなプログラムが含まれており、スクリプトは、トランザクションの出力に誰がどの様にアクセスできるかを指定する。ビットコイン・プラットフォームでは、これらのスクリプトは、スタックベースのスクリプト言語を使用して記述され得る。スタックベースのスクリプト言語は、様々なスタックベース又はスタック指向の実行モデル及び動作をサポートするプログラミング言語を指し得るが、場合によっては厳密な後入れ先出し（ＬＩＦＯ）方式の動作だけに限定されないことに留意されたい。例えば、スタックベースのスクリプト言語は、スタック内のｎ番目のアイテムを最上部にコピー又は移動する操作（例えば、ビットコインのそれぞれＯＰ＿ＰＩＣＫ及びＯＰ＿ＲＯＬＬ等）をサポートすることができる。スタックベースのスクリプト言語で記述されたスクリプトは、ベクトル、リスト、スタック等の適切なデータ構造を使用して実装できる論理スタックに押し込む（push  onto）ことができる。
【０００４】
本明細書で使用される場合に、「デジタル資産」は、ブロックチェーンによって管理されるリソースの単位であり得る。ビットコイン等のいくつかの実施形態では、リソースはトークン化されないため、例えば、ブロックチェーンで識別されるリソースの識別子はないが、むしろブロックチェーンに記録される有効なトランザクションを生成する能力により、リソースの制御が証明される。ただし、いくつかのブロックチェーンの実施態様ではトークン化されたリソースを使用する場合があるため、例えば、ブロックチェーンに記録された情報を使用してリソースを明確に識別できる。デジタル資産は、いくつかの実施形態では暗号通貨として使用され得るが、実施形態では、デジタル資産は、追加的又は代替的に他の状況で使用可能であると考えられる。本発明は、デジタル資産の制御に適用可能であるが、本質的に技術的であり、必ずしもデジタル資産の転送を伴うことなく、ブロックチェーンデータ構造を利用する他の状況で使用できることに留意されたい。本開示で使用される「デジタル資産」は、１つ又は複数のデジタル資産を指す場合がある。例えば、トランザクションには複数の入力が含まれ、それらの入力のそれぞれが異なるデジタル資産を表す場合がある。この例では、制御が転送されるデジタル資産は、複数のデジタル資産のコレクションであり、コレクション自体がデジタル資産であり得る。同様に、トランザクションは、これらの複数の入力を細分化及び／又は結合して、例えば入力数と出力数とが異なり得るように、１つ又は複数の出力を生成することができる。
【０００５】
トランザクションをブロックチェーンに書き込むためには、「検証」する必要がある。有効性は、ブロック生成能力を有する大多数のノードで使用されている共通のルールセットに基づいて、ノードによって判定され得る。例えば、ビットコイン・プロトコルでは、いくつかのネットワークノードは、マイナー（miners：採掘者）として機能し、各トランザクションが有効であることを確認する作業を行い、無効なトランザクションはネットワークから拒否される。いくつかの例では、「マイナー」は、各トランザクションが有効であることを確認する作業を行う計算システムであり、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェア・クライアントは、関連するロック及びロック解除スクリプトを実行することにより、未決済のトランザクション出力（ＵＴＸＯ）を参照するトランザクションでこの検証作業を行う。ロック及びロック解除スクリプトの実行がＴＲＵＥと評価され、且つ他の特定の条件が満たされた場合に、トランザクションは有効であり、このトランザクションはブロックチェーンに書き込まれる。こうして、トランザクションをブロックチェーンに書き込むためには、そのトランザクションは、ｉ）トランザクションを受信するノードによって検証される（トランザクションが検証されると、ノードはその検証したトランザクションをネットワーク内の他のノードに中継する）；ｉｉ）マイナーによって構築された新しいブロックに追加され；ｉｉｉ）マイニングされる（つまり、過去のトランザクションの公的な台帳に追加される）必要がある。
【０００６】
最近、デジタル起業家は、ビットコインがベースとする暗号セキュリティシステムと、ブロックチェーンに格納され得るデータとの両方を使用して新しいシステムを実施することを模索し始めている。暗号通貨の領域に限定されない自動化されたタスク及びプロセスにブロックチェーンを使用できれば、非常に有利になろう。このような解決策によって、ブロックチェーンの利点（例えば、イベントの永続的な改ざん防止記録、分散処理等）を活用しながら、それら用途をより広げることができるだろう。
【０００７】
ブロックチェーンは、殆ど不変であり、且つ大抵の場合匿名である。ブロックチェーン技術の不変で略匿名の性質は、悪意のある行動からユーザを保護する際に多くの技術的課題を提示する。例えば、トランザクションを含むブロック上に構築された多数のブロックにより、トランザクションを実質的に元に戻せないため、大抵の場合払戻しは利用できず、トランザクションの整合性を維持するために新しい技術システムが必要である。このような課題は、ブロックチェーン技術の非中央型のトラストレス（trustless：中央主権型に頼らない）な性質により困難になる。つまり、トランザクションの整合性を保証する中心的な関係者は存在せず、トランザクションの整合性は、代わりに技術的な手段によって達成される。従って、ブロックチェーン技術がトランザクションの信頼性を高めることが望ましい。
【０００８】
信頼性の課題は、計算タスク分散システムに存在する場合がある。計算タスク分散システムは、費用のかかる計算のオフチェーン（off-chain：チェーン外部での）実行を可能にするサービスである。このような計算タスク分散システムにより、ネットワーク内のノードが、アルゴリズムの実行を別のリモートノードに外部委託できる。アルゴリズムの結果は、アルゴリズムの演算を外部委託したノードに報告される。結果を受け取るノードは、結果が信頼できるかどうかを知らない可能性がある。答えが正しいかどうかを受信ノードが判断するには、一般に、受信ノードはアルゴリズム自体を実行する必要があり、これは外部委託の目的が損なわれる。従って、ブロックチェーン技術によって、計算タスク分散システムの結果の信頼性を高めることが望ましい。
【発明の概要】
【０００９】
本開示は、１つ又は複数のブロックチェーンベースのコンピュータプログラムの技術的態様を説明する。ブロックチェーンベースのコンピュータプログラムは、ブロックチェーン・トランザクションに記録された機械可読で且つ実行可能なプログラムである。ブロックチェーンベースのコンピュータプログラムは、結果を生成するために入力を処理できるルールで構成され、それらの結果に応じてアクションが実行され得る。ロックスクリプトがロック解除トランザクションと以前のトランザクションとの両方にアクセスできる場合に、ブロックチェーンを利用して、非常に柔軟で且つ複雑なブロックチェーンベースのコンピュータプログラムを実現できる。現在の研究の１つの領域は、「スマート・コントラクト（smart  contracts：契約の自動化）」の実施態様のためのブロックチェーンベースのコンピュータプログラムの使用である。自然言語で記述される従来の契約とは異なり、スマート・コントラクトは、機械可読の契約又は同意の条件の実行を自動化するように設計されたコンピュータプログラムである。
【００１０】
ブロックチェーンに関連する別の関心分野は、「トークン」（つまり、「カラードコイン（coloured  coin）」）を使用して、ブロックチェーンを介して実世界のエンティティを表現し且つそのエンティティに転送することである。潜在的に機密又は秘密のアイテムは、識別可能な意味や価値を有さないトークンで表すことができる。こうして、トークンは、実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能する。
【００１１】
こうして、これらの態様の１つ又は複数においてブロックチェーン技術を改善する方法及びシステムを提供することが望ましい。
【００１２】
こうして、本発明によれば、添付の特許請求の範囲で規定される方法が提供される。
従って、本発明によれば、添付の特許請求の範囲で規定されるコンピュータで実施される方法（及び、対応するシステム）方法を提供することができる。この方法は、ブロックチェーン・ネットワークを使用して計算タスク分散システムを実施する方法として説明され得る。コンピュータで実施される方法は、ｉ）計算タスク分散システムを監視して、要求側（Requester）コンピュータシステムによって行われた要求に応じて、提案側（Proposer）コンピュータシステムによって提供される提案側文字列（Proposer  string）に対する異議申立てを検出するステップであって、要求は、要求に関連する計算タスクと第１のデジタル資産とを指定し、提案側文字列は、計算タスクに対する解のハッシュによって示され、提案側文字列は、提案側文字列に関連する提案者（Proposer）トランザクションへの入力で参照される第２のデジタル資産を指定する、検出するステップと、ｉｉ）異議申立てを検出した結果として、少なくとも：ａ）第１のブロックチェーン・ネットワークに提供された、少なくとも提案側文字列を含む解のセットから１つの解を少なくとも選択することにより、第１のブロックチェーン・ネットワークを使用して異議申立てを解決するステップと、ｂ）解に少なくとも部分的に基づいて、第１のデジタル資産及び第２のデジタル資産によるデジタル資産を計算タスク分散システムの１人又は複数人の関係者に分配する（distributing）ステップと、を含む。
【００１３】
ゴースト（ghost）チェーンは一時的なブロックチェーンである。従来のブロックチェーンとは対照的に、ゴーストチェーンは、パフォーマンス、或いは１つ又は複数の基準、目標、又は指定された目的が満たされると終了、消滅、及び／又は期限切れになるように構成できる。つまり、ゴーストチェーンは、その目的が達成されると動作を停止する単一目的のブロックチェーンであり得る。ゴーストチェーンは、ジェネシス（genesis：起源）ブロックと呼ばれ得、ゴーストチェーンの展開用に作成されるか、或いはゴーストチェーンの目的、基準、又は目標のために作成される第１のブロックを含むことができる。
【００１４】
コンピュータで実施される方法は、グループの他のノードと協力して、グループに転送可能なトランザクション（入力として報奨金及び提案者の預託金、出力として報奨金及び提案者の預託金及び異議申立者の預託金を含む）を構築するステップと、異議申立者の預託金を入力として追加するためのトランザクションを異議申立者に提供するステップも含み得る。一実施形態において、報奨金（例えば、提案者の預託金及び異議申立者の預託金）は、他の報奨金に対する作業の重要性を示す値とともに作業が実行可能であるという、別のコンピュータシステムへの信号として機能するトランザクションの値である。いくつかの実施形態では、報奨金はデジタル資産である。一実施形態では、報奨金は、ブロックチェーン上の第１のトランザクションに記録されると、（例えば、第２のトランザクションのロック解除スクリプトを実行した結果として、第１のトランザクションのロックスクリプトを成功裏にロック解除することにより、）ブロックチェーン・ネットワーク内の別のコンピュータシステムが第２のトランザクションをブロックチェーンに書き込むことを可能にする。報奨金及び提案者の預託金は、異議申立者トランザクションの構築前にグループの管理下に置かれ得る。例えば、提案者が要求に対する解をコミットした後の期間内に異議申立てが検出された場合に、報奨金及び提案者の預託金が、グループの独占的管理下に置かれ得る。
【００１５】
提案側文字列は、提案側文字列に関連するタイムスタンプに少なくとも部分的に基づいて、解のセットから選択できる。
【００１６】
異議申立てでは、計算タスクに対する異議申立側文字列のハッシュを指定でき、解のセットには、異議申立側文字列が含まれる。
【００１７】
計算タスク分散システムは、プルーフオブワーク（proof  of  work：作業証明）・ブロックチェーン・ネットワークに関連するＷｅｂサービスとして実施できる。
【００１８】
計算タスク分散システムは、プルーフオブワーク・ブロックチェーン・ネットワーク上で実施できる。
【００１９】
第１のブロックチェーン・ネットワークは、プルーフオブステーク（proof-of-stake）ブロックチェーン・ネットワークであり得る。
【００２０】
提案側文字列は、計算タスクに解がないことを示す場合がある。
【００２１】
異議申立ては、計算タスクに解がないことを示す場合がある。
【００２２】
デジタル資産には、提案者が第１のブロックチェーン・ネットワークに提供した預託金が含まれ得る。
【００２３】
デジタル資産は、第１のデジタル資産、第２のデジタル資産、及び異議申立てに関連するトランザクションへの入力で参照される第３のデジタル資産から分配され得る。
【００２４】
異議申立てを解決するステップは、解のセットのうちの１つ又は複数の解の対応する検証動作のセットを実行するステップを含み得る。
【００２５】
異議申立てを解決するステップは、提案者から、解のセットに関して提案側文字列の第１セットの中間結果を受信することを少なくとも含む仲裁手順を実行するステップを含み得る。追加又は代替として、異議申立てを解決するステップは、異議申立者から、解のセットに関して異議申立側文字列の第２セットの中間結果を受信するステップを含み得る。追加又は代替として、異議申立てを解決するステップは、第１セットの中間結果を第２セットの中間結果と比較して、提案側文字列と異議申立側文字列とが分岐する位置を決定するステップを含み得る。追加又は代替として、異議申立てを解決するステップは、第１のブロックチェーンを使用して、その位置で第１セットの中間結果の１つ又は複数の計算を繰り返すこと、及び／又は第１のブロックチェーンを使用して、その位置で第２セットの中間結果の１つ又は複数の計算を繰り返すことに少なくとも部分的に基づいて、解を選択するステップを含み得る。
【００２６】
異議申立てを解決するステップは、提案者から、解のセットに関して提案側文字列の第１セットの中間結果を少なくとも受信することにより、解のセットの誤った解を特定するステップを少なくとも含み得る。追加又は代替として、異議申立てを解決するステップは、異議申立者から、解のセットに関して異議申立側文字列の第２セットの中間結果を受信するステップを含み得る。追加又は代替として、異議申立てを解決するステップは、第１セットの中間結果及び第２セットの中間結果を解析して、提案側文字列と異議申立側文字列とが分岐する位置を特定するステップを含み得る。追加又は代替として、異議申立てを解決ステップは、解析に少なくとも部分的に基づいて、誤った解を特定するステップを含み得る。コンピュータで実施される方法のいくつかの実施態様では、異議申立てを解決するためにゴーストチェーンを展開するステップは、要求に関連するタスクをゴーストチェーンで実行して、１つ又は複数の提案側文字列及び／又は１つ又は複数の異議申立側文字列の正しい解を決定するステップを含み得る。
【００２７】
コンピュータで実施される方法のいくつかの実施態様では、異議申立てを解決するためにゴーストチェーンを展開するステップは、タスクの一部をゴーストチェーンで実行して、提案者又は異議申立者のいずれかが、要求に関連するタスクの中間ステップで誤っていることを判定するステップを含み得る。
【００２８】
コンピュータで実施される方法のいくつかの実施態様では、ゴーストチェーンを終了するステップは、異議申立ての解決に関連する情報をプルーフオブワーク・ブロックチェーン・ネットワークに転送するステップを含み得る。
【００２９】
コンピュータで実施される方法のいくつかの実施態様では、ゴーストチェーンを終了するステップは、最終トランザクションの署名中に作成されたブロックに起因するマイニング分配の記録を含む末端ブロックを構築するステップを含み得る。
【００３０】
本発明によれば、電子装置が提供され得る。電子装置は、インターフェイス装置、インターフェイス装置に結合されたプロセッサ、及びプロセッサに結合されたメモリを含む。メモリは、実行されると、本明細書で説明する方法を実行するようにプロセッサを構成するコンピュータ実行可能命令を格納している。
【００３１】
本発明によれば、コンピュータ可読記憶媒体が提供され得る。コンピュータ可読記憶媒体は、実行されると、本明細書で説明する方法を実行するようにプロセッサを構成するコンピュータ実行可能命令を含む。
【図面の簡単な説明】
【００３２】
本発明のこれら及び他の態様は、本明細書で説明する実施形態から明らかとなり、この実施形態を参照して説明される。ここで、本発明の実施形態を、単なる例として、添付の図面を参照して説明する。
【図１】例示的なブロックチェーン・ネットワークのブロック図である。
【図２】ブロックチェーン・ネットワーク内のノードとして機能し得る例示的な電子装置のブロック図である。
【図３】タスク要求が生成され、且つブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、解が提案され得る例示的な環境のブロック図である。
【図４】ブロックチェーン・トランザクションがタスク要求に関連付けられ、且つブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解が生成され得る例示的な環境のブロック図である。
【図５】ブロックチェーン・トランザクションが異議申立てに関連付けられ、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解が生成され得る例示的な環境のブロック図である。
【図６】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解に対する異議申立てを解決し得る例示的な環境のブロック図である。
【図７】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解に対する異議申立てを受け入れない例示的な環境のブロック図である。
【図８】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスのフローチャートの第１の部分を示す図である。
【図９】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスのフローチャートの第２の部分を示す図である。
【図１０】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスを開始するための例示的なプロセスのフローチャートである。
【図１１】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスに加入するための例示的なプロセスのフローチャートである。
【図１２】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、デジタル資産を没収するための例示的なプロセスのフローチャートである。
【図１３】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、秘密キーシェア分配を更新する例示的なプロセスのフローチャートである。
【図１４】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、秘密キーシェア分配を更新するための例示的なプロセスのフローチャートである。
【図１５】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、預託金を返却するための例示的なプロセスのフローチャートである。
【図１６】第１及び第２のブロックチェーン・ネットワークがブロックチェーン・ネットワークに関連する計算タスク分散システムで実施され得る例示的な環境のブロック図である。
【図１７】ブロックチェーン・ネットワークに関連する計算タスク分散システム又は双方向ペグを提供するための例示的なプロセスのフローチャートである。
【図１８】ブロックチェーン及びゴーストチェーンがブロックチェーン・ネットワークに関連する計算タスク分散システムで実施され得る例示的な環境のブロック図である。
【図１９】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクの完了を要求するための例示的なプロセスのフローチャートである。
【図２０】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解を提案するための例示的なプロセスのフローチャートである。
【図２１】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解に異議を申し立てるための例示的なプロセスのフローチャートである。
【図２２】ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解について異議申立者を仲裁するための例示的なプロセスのフローチャートである。
【図２３】様々な実施形態を実施することができる例示的な環境のブロック図である。
【発明を実施するための形態】
【００３３】
最初に図１を参照すると、この図は、ブロックチェーンに関連する例示的なブロックチェーン・ネットワーク１００をブロック図形式で示す。ブロックチェーン・ネットワークは、パブリック・ブロックチェーン・ネットワークとすることができ、このネットワークは、招待を受けずに又は他のメンバーの同意なしに、誰でも加入できるピアツーピアのオープンメンバーシップ・ネットワークである。ブロックチェーン・ネットワーク１００が動作する下で、ブロックチェーン・プロトコルのインスタンスを実行する分散型電子装置は、ブロックチェーン・ネットワーク１００に参加することができる。そのような分散型電子装置は、ノード１０２と呼ばれ得る。ブロックチェーン・プロトコルは、例えば、ビットコイン・プロトコルであってもよい。
【００３４】
ブロックチェーン・プロトコルを実行し、且つブロックチェーン・ネットワーク１００のノード１０２を形成する電子装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ等のコンピュータ、スマートフォン等のモバイル装置、スマートウォッチ等のウェアラブルコンピュータ、又は他の電子装置等を含む様々なタイプの装置であってもよい。
【００３５】
ブロックチェーン・ネットワーク１００のノード１０２は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合され得る。このような通信は、ブロックチェーンに関連するプロトコルに準拠している。例えば、ブロックチェーンがビットコイン・ブロックチェーンである場合に、ビットコイン・プロトコルを使用してもよい。
【００３６】
ノード１０２は、ブロックチェーン上の全てのトランザクションのグローバル台帳を維持する。こうして、グローバル台帳は分散型台帳であり得る。各ノード１０２は、グローバル台帳の完全なコピー又は部分的なコピーを格納することができる。プルーフオブワーク（proof  of  work：作業証明）により保証されたブロックチェーンの場合に、グローバル台帳に影響を与えるノード１０２によるトランザクションは、グローバル台帳の有効性が維持されるように他のノード１０２によって検証され得る。ブロックチェーンがプルーフオブワークベースのブロックチェーンである場合に、ブロックとともに送信された作業証明をチェックすることでブロックも検証され得る。
【００３７】
ノード１０２の少なくともいくつかは、ブロックチェーン・ネットワーク１００のマイニングノード１０４として動作する。図１のブロックチェーン・ネットワーク１００は、ブロックチェーン上でのトランザクションを促進するためにマイニングノード１０４が費用のかかる計算を行うプルーフオブワーク・ブロックチェーンであり得る。例えば、プルーフオブワーク・ブロックチェーンでは、マイナーが暗号問題を解く必要があり得る。ビットコインでは、マイニングノード１０４は、ブロックヘッダーをＳＨＡ−２５６でハッシュして、現在の難易度により規定される値よりも小さい数になるようにナンス（nonce）を見つける。プルーフオブワーク・アルゴリズムに必要なハッシュ能力は、トランザクションが、特定の数のブロックがその上部でマイニングされた後に、実質的に不可逆とみなされ得ることを意味する。暗号問題を解くマイニングノード１０４は、ブロックチェーンに新しいブロックを作成し、この新しいブロックを他のノード１０２にブロードキャストする。他のノード１０２は、マイニングノード１０４が実際に暗号問題を解き、従って、ブロックをブロックチェーンに追加すべきことを受け入れる前に、十分なプルーフオブワーク（作業証明）を実証したかを検証する。ブロックは、ノード１０２のコンセンサスによってブロックチェーン（つまり、グローバル分散型台帳）に追加され得る。
【００３８】
マイニングノード１０４によって作成されたブロックは、ノード１０２によってブロックチェーンにブロードキャストされたトランザクションを含み得る。例えば、ブロックは、あるノード１０２に関連するアドレスから別のノード１０２に関連するアドレスへのトランザクションを含み得る。このように、ブロックは、あるアドレスから別のアドレスへのトランザクションの記録として機能する。トランザクションをブロックに含めるように要求する関係者（party）は、公開キー（public  key）に対応する秘密キー（private  key）を使用してその要求に署名することにより、転送を開始する（例えば、ビットコインの場合に、ビットコインを転送する）権限があることを証明する。その要求が有効に署名されている場合にのみ、その転送（トランザクション）がブロックに追加され得る。
【００３９】
ビットコインの場合に、公開キーとアドレスとの間には１対１の対応関係がある。つまり、各公開キーは単一のアドレスに関連付けられる。こうして、本明細書での公開キーとの間でのデジタル資産の移転（例えば、公開キーへの転送）及びその公開キーに関連するアドレスとの間でのデジタル資産の移転への言及は、一般的な動作を指す。
【００４０】
ノード１０２のいくつかは、マイニングノードとして動作しない場合があり、代わりに検証ノードとして参加し得る。トランザクションの検証には、署名の照合、有効なＵＴＸＯへの参照の確認等が含まれ得る。
【００４１】
図１の例は、６つのノード１０２を含み、そのうちの２つがマイニングノード１０４として参加している。実際には、ノード１０２又はマイニングノード１０４の数は異なっていてもよい。多くのブロックチェーン・ネットワークでは、ノード１０２及びマイニングノード１０４の数は、図１に示されている数よりはるかに多くてもよい。
【００４２】
以下で説明するように、様々なノード１０２が協力して、本明細書でコングレス（congress：会議）１０６と呼ばれるグループを形成することができる。図示の例では、３つのノード１０２がコングレス１０６に参加するものとして示されている。しかしながら、コングレス１０６の実際のメンバーは、はるかに多くてもよい。
【００４３】
コングレス１０６は、コングレス１０６に関連するプールに十分な出資金を提出すると、ノード１０２が加入することができるオープンメンバーシップ・グループであり得る。例えば、ノードは、デジタル通貨（ビットコイン等）、トークン、又は他の出資金や対価等のデジタル資産を、コングレス１０６に関連するアカウントに転送することで、コングレスに加入することができる。コングレスに加入するノード１０２は、マイニングノードと非マイニングノードとの両方を含む、ブロックチェーン・ネットワーク内のノードであり得る。コングレスの少なくともいくつかのアプリケーションでは、コングレス・メンバーとして機能するノードは、完全なブロックチェーンをダウンロードする（ただし、必ずしも保持する必要はない）という意味でブロックチェーンを監視する。コングレス１０６への加入、退会、及び参加の手法については、以下でより詳細に議論する。
【００４４】
以下でより詳細に説明するように、コングレスのメンバーは一時的なゴーストチェーン・ネットワーク１０８を形成することができる。ゴーストチェーンの第１のブロックチェーン・ネットワークは、本明細書でゴーストチェーンと呼ばれる分散型台帳を作成し且つ維持する。ゴーストチェーン・ネットワーク１０８は、本明細書で説明する方法の実行中に、信頼性を検証するために、又は要求に応じて生成された提案側文字列に対して異議申立て（challenge）が発生したときに仲裁するために、展開され得る。例えば、ゴーストチェーン・ネットワーク１０８は、ブロックチェーン・ネットワーク１００のノード１０２によって提出された作業成果物であり得るプロセッサによって生成された作業成果物の完全性を検証するために展開され得る。例えば、ゴーストチェーン・ネットワーク１０８は、ブロックチェーン・ネットワーク１００上で生成されたアルゴリズム関連の紛争を仲裁するために展開され得る。このような紛争は、あるノードのプロセッサによって生成された作業成果物の信頼性が別のノードによって異議申立てされた場合に起こり得る。
【００４５】
ゴーストチェーン（ghost  chain）は一時的なブロックチェーンであり得る。従来のブロックチェーンとは異なり、ゴーストチェーンは、本明細書で説明する目的を達成すると終了するように構成され得る。つまり、ゴーストチェーンは、その目的が達成されると存在しなくなる単一目的のブロックチェーンであり得る。ゴーストチェーンは、ジェネシス（genesis）ブロックと呼ばれる最初のブロックを含み、ゴーストチェーンがその目的のために（例えば、プロセッサによって生成された作業成果物の完全性を検証するために）展開された場合にのみ作成され得る。
【００４６】
ブロックチェーン・ネットワークに関連するブロックチェーンは、プルーフオブワーク・ブロックチェーンであるが、ゴーストチェーンは、プルーフオブステーク（proof-of-stake）ブロックチェーンであり得る。プルーフオブステークベースのゴーストチェーン・ネットワーク１０８は、コンセンサスを得るための代替メカニズムを提供する。プルーフオブステーク・ゴーストチェーンでは、ブロックチェーンは、プルーフオブワークではなくプルーフオブステークによって保証され得る。プルーフオブステークでは、ゴーストチェーンのマイニングノード１１０はデジタル資産の預託金を預託し、ブロックをマイニングするノードとして選択される確率は、預託金として提供したデジタル資産の額に比例し得る。プルーフオブステーク・ブロックチェーンシステムを使用すると、プルーフオブワーク・ブロックチェーンでマイニングするために必要な計算費用及びエネルギーを回避することができる。さらに、プルーフオブステーク・ブロックチェーンによって、プルーフオブワーク・ブロックチェーンよりも高頻度でより定期的なブロック作成が可能になる。
【００４７】
複数のノード１０２は、ゴーストチェーン・ネットワーク１０８のマイニングノード１１０として機能する。ゴーストチェーン・ネットワーク１０８のマイニングノード１１０の少なくともいくつかは、ブロックチェーン・ネットワーク１００のマイニングノード１０４として機能しなくてもよい。ゴーストチェーン・ネットワーク１０８がプルーフオブステーク・ブロックチェーン・ネットワークであり得るので、マイニングノード１１０は、マイニングノードとして含めてもらうためにデジタル資産を預託する。より具体的には、ゴーストチェーンのマイニングノード１１０は、ゴーストチェーン・ネットワーク１０８上でマイニングするために留め置き検証（bonded  validator）セットを形成する。これらのマイニングノード１１０は、ブロックチェーン・ネットワーク１００に関連するコングレス１０６のメンバーでもあり得る。つまり、ノード１０２は、プルーフオブワーク・ブロックチェーン・ネットワーク１００とゴーストチェーン・ネットワーク１０８との両方の一部であり得、ゴーストチェーン・ネットワーク１０８のマイニングノード１１０として、及びプルーフオブワーク・ブロックチェーン・ネットワーク１００で確立されたコングレス１０６のメンバーとして機能する。これらのマイニングノード１１０は、コングレス１０６に加入し、以下で説明する方法に従ってコングレス１０６に参加する。それらマイニングノードのデジタル資産のコングレスプールへの預託は、プルーフオブワーク・ブロックチェーンで行われ得る。つまり、コングレス・メンバーは、プルーフオブワークの第１のブロックチェーン・ネットワーク１００に自分の「出資金」を預託してコングレス・メンバーとなり、コングレス・メンバーが、留め置き検証セットを形成することにより、ゴーストチェーン上でマイニングノード１１０として機能することができる。コングレス１０６は、コングレス１０６に関連するプールへの十分な出資金を提出すると、ノードが加入することができるオープンメンバーシップ・グループであり得る。
【００４８】
本明細書で説明するコンピュータで実施される方法は、十分にリッチなスクリプト言語（つまり、ブロックチェーンベースの計算市場（computational  marketplace）で実施するために使用され得るスクリプト言語）を有するブロックチェーンで実施され得るブロックチェーンベースの計算市場ではなく、十分にリッチなスクリプト言語に欠けるビットコイン（又は、他のそのようなブロックチェーン）で実施され得る計算市場を説明することに留意されたい。より具体的には、ブロックチェーンベースの計算市場で実施するために使用され得るスクリプト言語は、本明細書で説明するように、提案側文字列について異議申し立てされている場合に、提案者と異議申立者との間の判定（adjudicating）機能を実行する（例えば、勝者を決定する）のに十分にリッチであり得る。異議申立てがない場合に、追加のプロトコルを呼び出さずに、且つ本明細書で説明するようなコングレス及びゴーストチェーン等の追加機能を使用せずに、ビットコイン（又は、他の同様のブロックチェーン）で計算市場を最初から最後まで実行することができる。例えば、イーサリアム（Ethereum）には、ブロックチェーンベースの計算市場で実施するために使用できる十分にリッチなスクリプト言語がある（例えば、提案者と異議申立者との間の判定機能を実行するのに十分にリッチなスクリプト言語がある）。例えば、このようなシステムについて説明しているTruebitの説明https://people.cs.uchicago.edu/~teutsch/papers/truebit.pdfを参照されたい。
【００４９】
本明細書で説明するコンピュータで実施される方法は、追加の一時的なプルーフオブステーク・ブロックチェーン（例えば、ゴーストチェーン）と、提案側文字列に対する異議申立てを解決するためのコングレス・プロトコルとを使用して、ビットコイン（又は、他そのようないくつかのブロックチェーン）等のより限定的なプラットフォームで計算市場をどの様に実施するかを説明する。本明細書で説明するコンピュータで実施される方法では、分配レイヤー（ビットコイン等）は、制限されたスクリプト言語に関連するセキュリティを保持する。例えば、本明細書で説明するコンピュータで実施される方法を使用すると（つまり、ビットコイン等のネットワークと連携してゴーストチェーン及びコングレスを使用すると）、複雑なブロックチェーンベースのコンピュータプログラムを作成するのがより困難になる（いくつかの実施形態では不可能になる）可能性があり、それによってその動作を予測するのが困難になる又は不可能にさえなる。しかしながら、そのような十分にリッチなスクリプト言語（例えば、Ethereum）を使用して、ブロックチェーン・プロトコルでその動作を予測するのが困難になる又は不可能にさえなるような、複雑なブロックチェーンベースのコンピュータプログラムを作成することができる。ビットコイン等のプロトコルの上部に計算市場向けの追加機能を実装する（例えば、ゴーストチェーン及びコングレスを使用する）ことにより、基礎になるブロックチェーン（資金が存在する）のセキュリティは影響を受けない可能性があり、こうして複雑なブロックチェーンベースのコンピュータプログラムを作成するのがより困難になる可能性があり（そして、いくつかの実施形態では不可能になる可能性があり）、それによってその動作を予測することが困難である又は不可能でさえなる。
【００５０】
図２は、図１に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワーク（例えば、図１に関連して示したブロックチェーン・ネットワーク１００等のブロックチェーン・ネットワーク）内のノード（例えば、図１に関連して示したノード１０２のうちの１つ等のノード）として機能し得る例示的な電子装置２００をブロック図形式で示す。例示的な電子装置２００は、図１に関連して示したブロックチェーン・ネットワーク１００等のブロックチェーン・ネットワークにおける、図１に関連して示したノード１０２のうちの１つ等のノードとして機能し得る。一実施形態では、ブロックチェーン・ネットワークは、ピアツーピア・ブロックチェーン・ネットワークである。
【００５１】
図２は、ピアツーピア・ブロックチェーン・ネットワーク１００においてノード１０２として機能し得る例示的な電子装置２００のコンポーネントを示すブロック図である。例示的な電子装置２００は、処理装置とも呼ばれ得る。電子装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等のモバイル装置、スマートウォッチ等のウェアラブルコンピュータ、又は別のタイプの形式を含む様々な形態を取ることができる。
【００５２】
電子装置２００は、プロセッサ２１０、メモリ２２０、及びインターフェイス装置２３０を含む。これらのコンポーネントは、互いに直接的又は間接的に結合してもよく、互いに通信してもよい。例えば、プロセッサ２１０、メモリ２２０、及びインターフェイス装置２３０は、バス２４０を介して互いに通信することができる。メモリ２２０は、本明細書で説明する機能を実行するための機械可読命令及びデータを含むコンピュータソフトウェアプログラムを格納する。例えば、メモリは、プロセッサ２１０によって実行されると、電子装置に本明細書で説明する方法を実行させるプロセッサ実行可能命令を含み得る。プロセッサ実行可能命令は、プロセッサ２１０によって実行されると、電子装置にブロックチェーン・ネットワーク１００に関連するプロトコルを実装させる命令を含み得る。例えば、命令には、ビットコイン・プロトコルを実装するための命令が含まれ得る。
【００５３】
メモリ２２０は、ブロックチェーン・ネットワーク１００のグローバル台帳又はその一部を格納してもよい。つまり、メモリ２２０は、ブロックチェーンの全てのブロック、又は最新のブロック等のブロックの一部、又はいくつかのブロックにおける情報の一部を格納することができる。さらに、ゴーストチェーンが展開されている間に、メモリ２２０は、ゴーストチェーン又はその一部を格納してもよい。
【００５４】
図２では、メモリ２２０が単一のブロックで示されているが、実際には、電子装置２００は、複数のメモリ・コンポーネントを含んでもよい。メモリ・コンポーネントは、例えば、ＲＡＭ、ＨＤＤ、ＳＳＤ、フラッシュドライブ等を含む様々なタイプのものであってもよい。異なるタイプのメモリが異なる目的に適している場合がある。さらに、メモリ２２０がプロセッサ２１０とは別に示されているが、プロセッサ２１０は埋込み型メモリを含んでもよい。
【００５５】
図２に示されるように、プロセッサ２１０は、信頼できる実行環境（ＴＥＥ）２５０等の安全な領域を含むことができる。ＴＥＥ２５０は、隔離され状態での実行、信頼できるアプリケーションの統合、及び資産の機密性等の追加のセキュリティを電子装置２００に提供する隔離された実行環境であり得る。ＴＥＥ２５０は、ＴＥＥ２５０内にロードされたコンピュータ命令及びデータが機密性及び完全性の観点から保護され得ることを保証する実行空間を提供する。ＴＥＥ２５０は、キー等の重要なリソースの完全性及び機密性を保護するために使用され得る。ＴＥＥ２５０は、少なくとも部分的にハードウェアレベルで実装されるため、ＴＥＥ２５０内で実行される命令及びデータは、電子装置２００の残りの部分からの及び電子装置の所有者等の外部関係者からのアクセス及び操作に対して保護され得る。ＴＥＥ２５０内のデータ及び計算は、ＴＥＥ２５０を含むノード１０２を操作する関係者からセキュリティ保護され得る。
【００５６】
ＴＥＥ２５０は、累積的にハッシュしながら、エンクレーブ（enclave：孤立領域）をインスタンス化し、メモリのページを一度に１つずつ追加するように動作し得る。本明細書で使用される場合に、エンクレーブは、外部アクセスから保護されるＴＥＥ２５０内のデータの隔離されたメモリ領域であり得る。特別な命令を使用してアプリケーションコード及びデータをエンクレーブ内に入れることができる。エンクレーブは、通常、ハードウェアセキュリティを使用して外部アクセスから保護される。本明細書で使用される場合に、及び文脈からそうでないことが明確にされない限り、エンクレーブは、ＴＥＥ２５０と同じであってもよく、ＴＥＥ２５０内でインスタンス化してもよい。
【００５７】
エンクレーブをインスタンス化する同様の動作をリモートマシン（開発マシン又は別のマシンであり得る）でも実行することができるので、リモートマシンは、予想されるハッシュを決定して格納する。従って、エンクレーブのコンテンツをリモートマシンで検証して、エンクレーブが承認済みアルゴリズムを実行しているかを確認することができる。この検証は、ハッシュを比較することで行うことができる。エンクレーブが完全に構築されると、そのエンクレーブはロックダウン（locked  down）され得る。ＴＥＥ２５０でコードを実行し、このコードにシークレット（secrets）を送信することは可能であるが、コードを変更することはできない。最終的なハッシュは、認証キーによって署名され、データ所有者がシークレットをエンクレーブに送信する前に検証するためにデータ所有者がその認証キーを利用できるようにし得る。
【００５８】
ＴＥＥ２５０は、（図１に関して上述した）コングレス１０６によって使用されるコングレス公開キーに関連する秘密キーシェア（private  key  share）の機密性及び完全性を保護するために使用され得る。例えば、ＴＥＥ２５０は、秘密キーシェアの生成及び格納に使用され得る。ＴＥＥ２５０は、ＴＥＥ２５０エンクレーブ内に保持されている秘密キーシェア、又はメンバー間通信又はエンクレーブ間通信から他の秘密キーシェアに関する情報を、メンバーが直接的に取得できないようにすることを目的としている。このプロトコルは、エンクレーブのしきい値の危殆化（compromise）に対しても堅牢であり得る。さらに、ＴＥＥ２５０は、ノード１０２によって使用され得るリモート認証を可能にし、ＴＥＥ２５０が、真正であり、且つコングレス１０６によって実施されるプロトコル用の承認済みのコンピュータ実行可能命令を実行していることを他のノード１０２に証明することができる。コードの特定の一部を実行し、エンクレーブの内部認証キーで署名された、エンクレーブの内部のコードのハッシュを送信することにより、ＴＥＥ２５０によってリモート認証が提供され得る。
【００５９】
ＴＥＥ２５０は、電子装置２００上で秘密キーシェアを以前に使用したコングレス１０６のメンバーがコングレスを退会することを選択したときに、秘密キーシェアの削除を保証するために使用され得る。電子装置２００は、ＴＥＥ２５０で提供されるリモート認証プロトコルを介して削除の証明を他のコングレス・メンバーに通知することができる。メンバーが自分のメンバー預託金（deposit）を引き出すことを許可される前に、削除の証明が必要とされ得る。つまり、預託金の返却は、メンバーのエンクレーブ内に保持されている秘密キーシェアの削除の証明を条件とし得る。
【００６０】
ＴＥＥ２５０は、ＴＥＥのエンクレーブの内部にあり得る安全な（secure）乱数発生器を装備することができ、この乱数発生器を使用して、秘密キー、ランダム異議申立て（random  challenges）、又は他のランダムデータを生成することができる。ＴＥＥ２５０は、外部メモリからデータを読み出すように構成することもでき、且つ外部メモリにデータを書き込むように構成することができる。このようなデータは、エンクレーブ内でのみ保持される秘密キーで暗号化され得る。
【００６１】
ＴＥＥ２５０は、Trusted  Platform  Module（ＴＰＭ）やIntel  Software  Guard  Extensions（ＳＧＸ）等の様々なプラットフォームを使用して実装することができる。例えば、ＳＧＸはリモート認証をサポートし、これにより、エンクレーブが、特定のエンクレーブを実行しているプロセッサからクォート（quote）と呼ばれる所与のメンバーのハッシュを含む署名付きステートメントを取得することができる。Intel  Attestation  Service（ＩＡＳ）等の第三者認証サービスは、これらの署名付きステートメントがＳＧＸ仕様に準拠した真正のＣＰＵからのものであることを証明し得る。
【００６２】
電子装置２００は、ブロックチェーン・ネットワーク１００（図１）内のノード１０２（図１）として機能し、コングレス１０６（図１）に加入し、そうでなければ参加することができる。コングレス１０６は、デジタル資産所有者のグループが、ブロックチェーン・ネットワーク１００によってサポートされるデジタル通貨、トークン、又は他の出資金や対価等のデジタル資産をプールするときに形成され得る。
【００６３】
コングレス１０６は、認可されたグループでも認可されていないグループでもよい。つまり、コングレス１０６には、ブロックチェーン・ネットワーク１００（図１）内の任意のノード１０２（図１）が（すなわち、ブロックチェーン内の情報の少なくとも一部を監視及び格納する任意のノードが）加入することができる。コングレス１０６に加入するために、ノード１０２は、１つ又は複数のデジタル資産をコングレス１０６に関連するデジタル資産プールに（つまり、１つ又は複数のデジタル資産に関連付けられ、次にコングレスの他のメンバーに関連付けられた公開グループアドレスに）転送する。このデジタル資産プールは、コングレスプールと呼ばれ得る。例えば、ノード１０２は、そのようなデジタル資産をコングレスプールに関連するアドレス（つまり、公開グループアドレスとも呼ばれ得る「コングレスアドレス」）に転送する（すなわち、預託する）ことにより、コングレス１０６に加入することができる。デジタル資産は、コングレス公開キーと呼ばれる単一の公開キーを含むグループしきい値署名の管理下に置かれ得る。コングレス・メンバーは、分配的に生成された秘密キーシェアを保持している。保持シェア数は、プールに預託された金額に比例し得る。
【００６４】
コングレス１０６によって管理されるデジタル資産は、コングレスアドレスに転送されるデジタル資産を含み、しきい値署名方式の管理下に置かれ得る。しきい値署名方式では、デジタル資産をコングレス１０６の管理から外すように転送するのを可能にする有効な署名を生成するためには、秘密キーシェアの合計保有量がしきい値を超えるメンバーのグループが必要であり得る。つまり、少なくともしきい値数の秘密キーシェアを使用して、コングレス１０６が管理するデジタル資産の支出（outgoing）転送のための有効な署名を生成する必要がある。
【００６５】
コングレス公開キーは、秘密キーシェアと引き換えに、コングレス１０６のメンバーによってコングレスプールに預託されたデジタル資産と、コングレス１０６のメンバー又は非メンバーによってコングレスプールに関連するアドレスに預託された（つまり、コングレスの完全、部分、又は条件付き管理下に置かれた）（秘密キーシェアの取得以外の理由で預託された）デジタル資産とを制限する（encumber）。非メンバー又はメンバーは、様々な理由でコングレスに関連するアドレスにデジタル資産を預託することができる。
【００６６】
同じコングレス公開キーが、メンバー預託金（つまり、秘密キーシェアと引き換えにコングレス・メンバーによって提供されるデジタル資産）と、他の目的でメンバー又は非メンバーによって提供されるデジタル資産との両方を制限する場合があるため、預託金のタイプを示すために、コングレスに関連するアドレスに対する少なくとも一部の預託金に特別なフラグを立てる場合がある。例えば、デジタル資産をコングレスアドレスに転送するトランザクションには、行われている預託金の性質を示すフラグ、識別子、又は他の属性が含まれ得る。例として、コングレスへの加入又はコングレス構成員の出資金を増やす目的で行われていないデジタル資産をコングレスアドレスに転送するトランザクションには、別の目的で預託が行われていることを示す特別な識別子が含まれ得る。そのような識別子は、秘密キー生成を管理するときに、コングレス１０６に関連するノード１０２によって使用され得る。より具体的には、グループに加入する目的でデジタル資産を預託するノード１０２には、コングレス１０６の秘密キーシェアが（例えば、デジタル資産の預託を行った結果として）割り当てられる一方、他の目的で（例えば、代替チェーン（ａｌｔｃｈａｉｎ）に転送するために）デジタル資産を預託した他のノード１０２は、コングレスのコングレス秘密キーシェア（つまり、コングレス公開キーに対応する）を保持していない可能性がある。
【００６７】
コングレス１０６は、メンバー預託金の全部又は一部を没収するという脅しによって協力的な行動が強制される自治グループとして機能し得る。多くの誠実なメンバーが協力的なプロトコルに参加することにより、非協力的な又は悪意のあるメンバーのそのようなデジタル資産を没収することができる。さらに、コングレス・メンバーがコングレス１０６から退会したい場合に、メンバーは自分のメンバー預託金を引き出す（つまり、コングレス１０６がメンバー預託金をそのメンバーの個人アドレスに戻す（返送する）ことを要求する）ことができる。ただし、資金の引出しは、有効なデジタル署名を生成するために必要なしきい値を超える数の秘密キーシェアが、引出しを承認するグループ（つまり、コングレス）のメンバーによって使用される場合にのみ、実行され得る。
【００６８】
コングレス１０６によって実施されるしきい値署名方式は、様々なタイプのものであり得る。しきい値署名方式は、有効な署名の生成に少なくともしきい値数の秘密キーシェアが寄与している限り、ｎ人の関係者の間で署名能力をシェアすることを可能にする。従って、しきい値未満の秘密キーシェアのサブセットを使用して、有効な署名を生成することはできない。より具体的には、各関係者は秘密署名キーのシェアを管理し、部分的な署名を組み合わせて有効な署名を生成するには、しきい値数のキーシェアを使用しなければならない。しきい値未満のキーシェアのサブセットを使用して、部分的な署名を組み合わせて有効な署名を生成することができない。
【００６９】
しきい値署名方式は、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）方式であり得る。例えば、ＥＣＤＳＡ方式は、Ibrahimらによって、“A  robust  threshold  elliptic  curve  digital  signature  providing  a  new  verifiable  secret  sharing  scheme”,  2003  EIII  46th  Midwest  Symposium  on  Circuits  and  Systems,  1:  276-280  (2003)に提案されたタイプのものであり得る。このしきい値署名方式は、楕円曲線暗号ベースのアルゴリズムであるデジタル署名方式の拡張であり、この方式では、秘密キーを再構築するためにｎ個のキーシェア保有者から構成される関係者からのｔ＋１個のキーシェアが必要となり得る。この方式を使用して、秘密キーを再構築する必要がなく、且つある関係者が自分のキーシェアを他の関係者に明らかにする必要なく、有効な署名を構築することができる。
【００７０】
ｔ＋１個のキーシェアがシークレットを再構築するのに十分となり得るため、この手法による許容される敵（adversary）の最大数はtである。Ibrahimらのモデルにおける敵は、シークレットシェアを保持している関係者を買収し、且つそのシークレットシェアにアクセスするエンティティであり得る。敵には様々な種類があり得る。例えば、ビザンチン（Byzantine）の敵は、プロトコルに参加するふりをしているが、実際には不正な情報を送信している敵である。Ibrahimによって提案されたＥＣＤＳＡ方式は、最大ｔ＜＝ｎ／４の悪意のある敵に対して堅牢であり得る。この堅牢性はｔ＜＝ｎ／３まで上がる可能性があるが、複雑性のコストが増す。
【００７１】
IbrahimらのＥＣＤＳＡ方式は、ｔ＜＝ｎ／３の敵を食い止める（halting）のに堅牢であり得る。敵の食止めによって、買収された関係者がプロトコルに参加するのを阻止するか、途中参加を食い止めることができる。
【００７２】
このＥＣＤＳＡ方式は、ノード１０２が悪意のある又は非協力的な関係者を特定するために使用できる様々なメカニズムを含む。例えば、検証可能な秘密分散（ＶＳＳ：verifiable  secret  sharing）を使用して、Shamirの秘密分散（ＳＳＳ）に必要な多項式をシェアすることができる。ＳＳＳは、シークレットが複数の部分に分割され、各参加者にそれ自体の固有の部分で提供される秘密分散（シークレットシェア）の形式であり得る。これらの部分は、シークレットを再構築するために使用され得る。一貫性のないシェアが異なるノード１０２に提供される場合、又は全てのノードにブロードキャストされ、ブラインドシェア（blinded  share）とは異なるシェアがノードに秘密裏に送信される場合に、ＶＳＳは、ノード１０２によって悪意のあるノード１０２又はメンバーを特定するために使用され得る。一貫性のないシェアは、ノード１０２のいずれか１つによって特定され得る。シークレットのシェア（sharing）は、ノード１０２がそのシェアを一貫したものとして検証することを可能にする補助情報を含めることによって検証可能になり得る。
【００７３】
個々のノードへの誤ったシェア（つまり、ブロードキャストされ、ブラインドシェアとは異なるシェア）の送信は、シェアの受信対象ノードによって識別することができる。ノードに秘密裏に送信される誤ったシェアの識別は、公開される検証可能な秘密分散（ＰＶＳＳ：Publically  Verifiable  Secret  Sharing）の手法を使用して、公開検証可能にし得る。そのような手法は、ＰＶＳＳが使用されておらず、且つ誤ったシェアの受信者がオフラインであるか、又は誤ったシェアが送信されたときにその受信者がネットワークの実質的な部分から切り離されている場合に発生し得る不正送信者を特定する際の遅延の可能性を回避することができる。
【００７４】
異なるノードに一貫性のないシェアを提供する等の不正行為は、悪意のある行為を阻止するためにコングレス１０６によって対処され得る。例えば、あるノード１０２（図１）が他のノード１０２によって悪意のある関係者として特定されると、しきい値（例えば、ｔ＋１）を超える数のノード１０２（つまり、コングレス・メンバーに関連するノード）が協力して悪意のある関係者を罰することができる。例えば、ノード１０２は、悪意のある関係者によってコングレスに預託されたデジタル資産（デジタル通貨、トークン、又は他の出資金や対価等）に関係して行動をとることができる。例えば、コングレスは、デジタル通貨、トークン、出資金や対価を返却先アドレスに転送して焼却し（burn）、又はコングレスは、悪意のある関係者への返却承認を拒否することにより、そのようなデジタル資産を没収し得る。不正行為を行っているノードではないノード１０２は、不正行為を行っているノードを排除するように協力することにより（例えば、キーシェアを実質的に無効化することにより、例えば、コングレス・プロトコルへの参加からノードを排除することにより、又は秘密キーを再共有し且つ不正行為を行っているノードにシェアを割り当てないようにすることにより）、不正行為を阻止することもできる。
【００７５】
上述したＥＣＤＳＡ技術はＴＥＥを使用して強化することができる。例えば、Ibrahimらに基づくしきい値ＥＣＤＳＡ署名技術は、ここではビザンチンの敵と呼ばれる強力な敵を想定している。このタイプの敵は、署名プロセスに参加するのを拒否し、且つ関係者に割って入って食い止めるのを拒否するだけでなく、誠実に参加するふりをして不正な情報を送信する等、恣意的に振る舞い得る。ただし、ＴＥＥを使用し、シークレット秘密キーシェアが格納されるＴＥＥのエンクレーブ内で署名に使用されるデータを生成することにより、エンクレーブがかなりの数で危険に曝される可能性が非常に低いため、追加のセキュリティを提供してもよい。例えば、各ＴＥＥにキーシェアが１つしか割り当てられていない場合に、ｎが十分に大きいと仮定すると、危険に曝される可能性のあるＴＥＥの数は、ビザンチンの敵に対する堅牢性のしきい値に到達しないことが合理的に予想され得る。これにより、キーシェアの総数に対して、悪意のある敵の僅かな割合に耐性がある場合に、プロトコルを安全にすることができる。
【００７６】
例えば、全てのノードにＴＥＥがある場合に、エンクレーブ内に格納されたシークレットの取得は、ＴＥＥの製造元が買収されてない限り、ノードへの物理アクセスに多大な労力と費用をかけた場合にのみ達成され得る。このような製造元レベルの買収は管理可能であると予想される。例えば、製造元が複数の公開キーが真正のＴＥＥに対応していると不誠実に主張した場合に、その製造元は、秘密キーシェアに直接的にアクセスして攻撃を開始する可能性がある。ただし、このような攻撃には、製造元が他のノードによる支援なしに有効な署名を作成できるようにするために、相当な数のキーシェアが必要となる。これは、出資総額の大部分を蓄積することを意味し、かなりの費用がかかる。さらに、攻撃を行うことにより、保有している出資金の大部分が破壊されるだろう。
【００７７】
ＴＥＥを使用する場合に、「不正に関与する（corrupted：買収された）ノード」に対するプロトコルの堅牢性を熟慮することが有用であり得る。不正に関与するノードとは、ＴＥＥの外部のハードウェアが不正に関与するが、ＴＥＥの完全性が損なわれていないノードのことであり得る。不正に関与するノードは、エンクレーブが受信する情報及び受信しない情報を制御することができる。特に、不正に関与するノードは、プロトコルへの参加をためらう、つまり、控える可能性がある。プロトコルに提供される情報が、エンクレーブにおいて秘密裏に保持された秘密キーによって署名される必要がある場合（認証中に対応する公開キーが認証された場合）に、秘密キーはエンクレーブ自体と同じ位信頼でき得る。こうして、不正に関与するノードは、恣意的な（認証された）情報をプロトコルに送信できず、一時停止し又はエンクレーブを不正に動作するように欺いて、例えば古い情報をエンクレーブに提供する等して干渉のみを試みる可能性がある。従って、不正に関与するノードの場合に、攻撃を成功させるには、完全な署名を生成するために十分な数の部分的な署名を集める必要があることになる。ＴＥＥでは、Ibrahimらのプロトコルは、２tの不正に関与するノードに対して堅牢であり得る。ｎ−２ｔ＞＝２ｔ＋１の場合に署名を生成することができるため、サイズ２ｔ＋１＜＝（ｎ＋１）／２のキーシェアの有資格サブセットで十分となり得る。従って、ＴＥＥを使用する場合に、不正に関与するノードが存在する場合に有効な署名を生成するために、しきい値署名方式のしきい値をキーシェアの５０％以上の数になるように設定することができる。
【００７８】
他のしきい値署名方式も使用することができる。例えば、しきい値署名方式は、Goldfederらの、“Securing  Bitcoin  Wallets  via  a  New  DSA/EDCSA  threshold  signature  scheme”,  (2015)によって提案されたタイプのＥＣＤＳＡしきい値方式であってもよい。このプロトコルにより、ｔ＋１の関係者が有効な署名を生成することができる。その結果、敵が有効な署名を生成するために制御（管理）しなければならないキーシェアの数は、敵が秘密キーを再構築するために所有しなければならないキーシェアの数に等しくなる可能性がある。この手法は、有効な署名を生成するために全会一致が必要な場合に効率的な方式を提供することができる。最も一般的なケースでは、この方式は、任意のしきい値に対して、ｎの中からｔ＋１プレーヤーの可能なサブセットに対してプロトコル全体を繰り返す必要があるため、コングレス・メンバーの数に応じて指数関数的にスケーリングするスペース要件を課す。こうして、ｎとｔとの両方の値が大きい場合に、多数のキーシェアを格納する必要があり得る。このようなストレージ要件を緩和するために、標準のビットコインのマルチ署名をしきい値署名と組み合わせてもよい。特に、複数の署名を使用してデジタル資産をロックすると、各秘密キーがシェアに分割される。この手法は、スペース要件の観点から、より大きなコングレスをより効率的にする。スケーリング特性は、小規模な関係者サイズの中から複数のレベルで多数の参加者向けの方式を反復的に構成することによっても改善され得る。例えば、しきい値署名方式は、Cohenらの、Efficient  Multiparty  Protocols  via  Log-Depth  Threshold  Formulas  (2013),  Advances  in  Cryptology  -  CRYPTO  2013  pp  185-202の手法と組み合わせてもよい。
【００７９】
非ＥＣＤＳＡ署名方式を含む他のしきい値方式を使用してもよい。例えば、ノード１１０が、シュノア（Schnorr）方式に基づくしきい値方式を使用して、コングレス１０６を実施してもよい。
【００８０】
ブロックチェーン・ネットワーク内のノードは、選択されたしきい値署名方式に基づいてコングレス・プロトコルを実装することができる。そのようなノードは、コングレス・プロトコルを実装する、図２に関して説明したメモリ２２０等のメモリに格納されたコンピュータ実行可能命令を含み得る。そのような命令は、図２に関して説明したプロセッサ２１０等のプロセッサによって実行されると、図２に関して説明したタイプの電子装置２００等のノード１０２にコングレス・プロトコルの１つ又は複数の方法を実行させる。そのような方法は、本明細書で説明する例示的なプロセスのいずれか１つ又は組合せを含み得る。こうして、コングレス・プロトコルは、本明細書で説明するような例示的なプロセスの１つ又は複数を含み得る。例示的なプロセスは、ノードが他のコングレス・メンバーに関連する他のノードと協力して実行してもよい。
【００８１】
図３は、図１に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスク要求を生成し、解を提案し得る例示的な環境３００をブロック図形式で示す。図３に示される例示的な環境３００では、タスク３０４を有する要求者（requester）３０２は、タスク３０４及びタスク３０４を完了するために提案される分配金（distribution）３０６を含む要求３１０を開始する（３０８）。タスク３０４は、解くためにある量の計算能力を必要とする、いくつかの問題を解くためのタスクであり得る。実施例では、タスク３０４は、特定の数が因数分解可能であるかどうかを決定するタスクであり、その場合に、その数の因数が何であるかを決定するタスクである。タスクの他の例は、問題の最適解を決定するタスク、特定の予め規定されたしきい値内の解を決定するタスク、又は他のそのようなタスクであり得る。タスク３０４は、単一の計算集約的なタスクであってもよく、又は個別に計算集約的ではないが、全体として解くために多大な計算力を必要とし得る多数のタスクの組合せであってもよい。
【００８２】
提案される分配金３０６は、エンティティを引き付けてタスクに対する解を決定する（つまり、エンティティを引き付けて、解を決定するのに十分な計算能力を消費する）のに十分な量のデジタル資産であり得る。考えられるように、提案される分配金３０６が低過ぎる場合に、要求者に提供される解は殆どない（又はまったくない）、及び／又は解は低品質である可能性がある。反対に、提案される分配金３０６が不当に高い場合に、要求者に提供される解が多くなり過ぎる可能性があり、多数の解が回答に対する信頼性を高める一方で、過度に多数の解によって処理が困難になる場合がある。
【００８３】
図３に示される例示的な環境３００では、要求３１０は、複数のそのような要求３１６を含み得る計算タスク分散システム３１４に投稿（post）され得る。一実施形態では、計算タスク分散システムは、図１及び図２に関連して説明したようなブロックチェーン・ネットワーク（例えば、ビットコイン）に関連付けられ、且つ要求者が本明細書で説明するように解に関する要求を投稿するＷｅｂページとして実装される。そのような実施形態では、計算タスク分散システム３１４は、例えば、解に関する要求を投稿し、そのような要求に応じて提案側文字列の通知を投稿し、及び／又は提案側文字列に対する異議申立ての通知の投稿するために使用可能な１つ又は複数のウェブサービス及び／又は１つ又は複数のアプリケーション・プログラミング・インターフェイス（ＡＰＩ）を含むことができる。そのような実施形態では、ブロックチェーン・ネットワークを使用して、関係者が、トラストレスな環境で解を要求し、解を提供し、解に異議申し立てできるようにする（つまり、中央集権的な関係者がいない環境で、トランザクションの完全性を保証し、トランザクションの完全性はブロックチェーン・ネットワークを使用して実現される）。
【００８４】
一実施形態では、ブロックチェーン・ネットワークは、追加専用（append-only）の公開掲示板として機能する（つまり、通知を掲示板から削除することはできず、追加することしかできない）。これは、ブロックチェーンのブロックが確認されると、ブロックチェーン・ネットワークの全てのノードがブロックに含まれる情報を見ることができ、ブロック内の全ての情報の部分にタイムスタンプが付けられ、不変であるためである。ブロックチェーン・ネットワークを使用して、本明細書で説明するように解を要求し、解を提供し、解に異議を申し立てることにより、関係者は、要求、解、異議申立てが不変であることを保証できる。一実施形態では、計算タスク分散システム３１４は、計算タスク分散システム３１４に、解に関する要求を投稿し、そのような要求に応じて提案側文字列の通知を投稿し、及び／又は提案側文字列に対する異議申立ての通知を投稿する（例えば、要求３１０等の要求を広告する）ことにブロックチェーン・ネットワークを必要としないことに留意されたい。
【００８５】
一実施形態では、計算タスク分散システム３１４は、図１及び図２に関連して説明したネットワーク等のブロックチェーン・ネットワーク（例えば、ビットコイン）上で実装される。そのような実施形態では、要求３１０は、以下で詳細に説明するように、トランザクションとして計算タスク分散システム３１４のブロックチェーン・ネットワークにマイニングされる。そのような実施形態では、要求者３０２は、ブロックチェーン・ネットワークのノードとして動作し得る。
【００８６】
ブロックチェーン・ネットワークが関連付けられているブロックチェーン・ネットワークのノードとしても動作する、又は計算タスク分散システム３１４が実装されているノードとしても動作する提案者３１８は、計算タスク分散システム３１４を監視し（３２０）、提案者が、提案者３１８にとって、計算能力を消費して関連タスクを解くことに関心を起こさせるのに十分であるとみなされる分配金を含む要求を識別することができる。図３に示される例では、提案者は、提案者にとって、タスク３０４（本明細書では「提案側文字列」と呼ぶ）に対する解を生成することに関心を起こさせるのに十分な提案される分配金３０６を含むように要求３１０を特定した。明示的に述べられないか、文脈によって明確にされない限り、提案者からの提案される解は、提案側文字列（本明細書では単に「解」とも呼ばれ得る）であるため、例えば提案者から提案される解（例えば、提案側文字列）は、「提案された提案側解」又は「提案された提案側文字列」ではなく、単に「提案される解」又は「提案側文字列」と呼ばれ得ることに留意されたい。
【００８７】
図３に示されないが、提案者３１８は、提案される分配金を請求することを期待して、解を提案する複数の提案者のうちの１人であり得る。例えば、１つのタスク（つまり、１つの要求）で、数十、数百、数千、又はそれ以上の提案側文字列が生成され得る。一実施形態では、解は、解に関連するタイムスタンプに少なくとも部分的に基づいて、複数の提案者から選択される。例えば、一実施形態では、（そのタイムスタンプが）最初に受信した解であるため（つまり、その解に関連するタイムスタンプが他の提案者の他の解のタイムスタンプよりも早いため）、その解が選択され得る。
【００８８】
提案者３１８が提案側文字列３２２を生成できる（つまり、一実施形態では、ブロックチェーン・ネットワークの外部の計算を使用して）場合に、提案者３１８は、提案側文字列３２２のハッシュ３３２を使用して提案側文字列へのコミットを生成し、解に署名する秘密キー３２４を生成し、（提案側文字列３２２のハッシュ３３２を含む）提案側文字列３３０及び（秘密キー３２４に対応する）公開キー３３４へのコミットを生成し（３２８）、それによって提案側文字列３３０へのコミットは、要求者３０２に安全に送信され得る（３３６）。本明細書で使用される場合に、提案側文字列は、提案者によって生成され要求者に送信されるデータの一部であり得、提案者が断言する提案側文字列が、要求される計算タスクの出力である。同様に、本明細書で使用される場合に、異議申立側文字列は、異議申立者によって生成され、異議申立て期間内にコングレスに利用可能になる（以下で説明する）データの一部であり得、異議申立者が断言する異議申立側文字列が、要求される計算タスクの出力であり、提案側文字列とは異なる（つまり、別の解を提示する）。
【００８９】
本明細書で使用される場合に、解は、実施形態に応じて、いくつかの異なる項目のうちの１つであり得る。一実施形態では、解は、異議申立て期間を生き延びた提案側文字列である。一実施形態では、解は、提案側文字列又は、対応する文字列が本明細書で説明するように解に対する異議申立てによってトリガーされたオンチェーン計算と一致する異議申立側文字列のいずれかである。また、本明細書で使用される場合に、提案される解は、提案側文字列（提案者によって提供される場合）又は異議申立側文字列（提案側文字列に応じて異議申立者によって提供される場合）のいずれかであり得る。また、本明細書で使用される場合に、解へのコミットは、（上述したように）解のハッシュであってもよい。解へのコミットは、要求者に提供された提案側文字列のハッシュである提案側文字列へのコミットとは対照的に、及びコングレスに提供された異議申立側文字列のハッシュである異議申立側文字列へのコミットとは対照的に、使用され得る。
【００９０】
提案側文字列３２２のハッシュ３３２を使用する提案側文字列へのコミットは、本明細書では、例えば、提案側文字列３３０へのコミットにおけるハッシュ３３２等、単に「ハッシュ」と呼ばれ得ることに留意されたい。一実施形態では、提案側文字列３３０へのコミットは、（本明細書で説明するように）ブロックチェーン・ネットワーク上のトランザクションとして送信してもよい。本明細書で使用される場合に、提案側文字列へのコミットには、提案される解（例えば、提案側文字列３２２）が含まれる。
【００９１】
解コミットメント３３０は提案側文字列３２２を含まず、提案側文字列３２２のハッシュ３３２のみを含むため、提案者が実際にタスクに対する解を有していることを要求者３０２に保証できることに留意されたい。一実施形態では、コミットを提案側文字列３３０に送信する目的は、（例えば、解として）後で購入される文字列が、異議申立て期間を過ぎた文字列と同じであり（以下で説明する）、従ってタスクに対する解であることを要求者に保証できるようにすることである。要求者は、ハッシュ値を比較することでこの文字列を検証できる。しかしながら、提案側文字列３２２（つまり、提案側文字列へのコミットのハッシュ原像（pre-image））は、ブロックチェーン・ネットワークに後でマイニングされ得るため、提案者３１８は、解が要求者３０２に提供されるときに、提案される分配金（すなわち、要求者によって提供された報奨金）を徴収することができる。ブロックチェーン・ネットワーク上のトランザクションを使用することで、両方とも本明細書で説明するように、要求者は、提案される分配金３０６を失うことなく解にアクセスできず、提案者は、提案側文字列３２２が検証されるまで、提案される分配金を請求することができない。それに応じて、一実施形態では、提案者は、提案側文字列３２２のハッシュ３３２を含む預託金３２６を提供し、この預託金３２６は、（以下で述べるように）異議申立ての場合に解を検証するのに十分であり、異議申立てがない場合に提案者に返却される。
【００９２】
ブロックチェーン・ネットワークが、分配のための解の公正な交換を可能にしながら、中央の「エスクロー（escrow）」エージェントを必要とせずに、互いに信頼されていない関係者同士の間のトランザクションを促進するので、ブロックチェーン・ネットワーク上での計算タスク分散システム３１４の実装によって、要求者３０２の側の不誠実な行為（例えば、有効な解を受け入れないことにより、有効な解を認識しないことを決定する、又は解を受け取ったら解の分配金を提供するように決定する）と、提案者の側による不誠実な行為（例えば、検証していない（つまり、判定に合格していない）解を提案する又は分配金を受け取ったときに解を提供しない）とが、防止される。タスク３０４に対する有効な提案側文字列３２２が提案者３１８によって提示される場合（本明細書で説明するように、異議申立てを除く）に、提案される分配金３０６は、要求者３０２によって分配してもよい。
【００９３】
図３に示されていないが、有効な解なしに分配金が分配される場合の１つの例がある。タスク３０４が有効な解のないタスクである場合に、「解なし」が唯一の有効な解であり得る。例えば、タスクが数値５１の素因数分解を決定しなければならない場合に、解は３及び１７（つまり、乗算すると５１に等しい２つの素数）である。しかしながら、タスクが正確に２つの因数で数値５２の素因数分解を決定しなければないない場合に、解はない（２、２、及び１３は解になり得るが、タスクに応じた有効な解ではない）。これらは単純なタスクかもしれないが、これらは、分配金を取得しながら提案者が解がないことをどの様に示すことができるかという問題を示している。かなり難しいタスクの場合に、解がないと決定するにはかなりの計算能力が必要になる場合がある。
【００９４】
考えられるように、提案者が「解なし」のハッシュを提供することで「解なし」を示す場合に、要求者は、ハッシュを容易に認識し、解を単に無視することができる（つまり、要求者が解を「知る」ためにトランザクションを完了する必要がないため、トランザクションを完了しなくてもよい）。要求者がこのハッシュを容易に認識できるため、要求者は提案者から結果を購入する理由が存在しない場合がある。
【００９５】
このケースに対処するための１つの方法は、適切なフラグ（例えば、「解なし」の言葉）を他の情報の一部と連結することを提案者に要求することであり得る。今説明した状況を回避するために、情報は、計算を実行した（及び、解がないことを見つけた）人だけがアクセスできる何らかの情報にすることができる。一実施形態では、提案者は、解なしの状態を生じさせる計算のトランスクリプトの少なくとも一部を使用する。ハッシュ原像（例えば、解）がブロックチェーンにマイニングされ、提案者が報奨金を徴収するため、トランスクリプトの一部は、トランスクリプト全体が非常に大きい場合に使用され得る。こうして、提案者は、事前ハッシュ（pre-hash）解として合意された式に従って選択されたトランスクリプトのスパース（sparse）サンプルを使用できる。このサンプルは、解なしを見つけたことを示すフラグと連結され、ハッシュされ、要求者に送信され得る。テキストフラグなしでトランスクリプトのサンプルを送信することは、計算に対する解と間違われる可能性があるため、効果的ではないことに留意されたい。
【００９６】
図４は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスク要求及び提案される解に関連するブロックチェーン・トランザクションを生成できる例示的な環境４００をブロック図形式で示す。図４に示される例示的な環境４００では、要求者４０２は、入力として提案される分配金（「Ｂ」）及びその出力として提案される分配金プラス提案者の預託金（「Ｄ」）を有する第１のトランザクション４０６を提供する（４０４）。出力は、異議申立て期間（つまり、本明細書で説明するように、他のノードが提案者の解に異議申立てできる期間）の後に提案者によって請求することができる。
【００９７】
第１のトランザクション４０６は、提案者４１０に提供され（４０８）、提案者４１０が預託金（「Ｄ」）を入力に追加して最終的な第１のトランザクション４１４を生成する（４１２）ことができ、この最終的な第１のトランザクション４１４が、計算タスク分散システムのブロックチェーン４１８（つまり、計算タスク分散システムが関連付けられているブロックチェーン・ネットワークのブロックチェーン、又は計算タスク分散システムが実装されるブロックチェーン・ネットワークのブロックチェーン）に送信され得る（４１６）。要求者４０２が第１のトランザクション４０６を提供する（４０４）場合の、第１のトランザクション４０６が提案者４１０に提供される（４０８）場合の、及び提案者４１０が預託金を入力に追加して最終的な第１のトランザクション４１４を生成する（４１２）場合のトランザクションは全て、本明細書で説明するように、ブロックチェーン４１８のブロックチェーン・トランザクションを使用して（例えば、ビットコイン・ブロックチェーン上で）実行してもよい。
【００９８】
図５は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解に対する異議申立てに関連するブロックチェーン・トランザクションを生成できる例示的な環境５００をブロック図形式で示す。図５に示される例示的な環境５００では、異議申立者５０２は、異議申立て期間の終了前に（本明細書で説明するように）提案者によって提供される解に異議を申し立てる。
【００９９】
図５に示される例では、異議申立者５０２は、解に異議を申し立てる意図をブロードキャストする（５０８）（つまり、異議を申し立てる意図を示すブロックチェーン・トランザクションを生成することによりブロードキャストする）。異議を申し立てる意図は、一実施形態では、異議申立てに回答する努力を相殺するのに十分な預託金５０６を含む。一実施形態では、（本明細書で説明する）提案者の預託金と異議申立者の預託金５０６とは同額である。一実施形態では、異議申立者は代替解５０４のハッシュも含む。異議申立者によって生成された代替解５０４は、本明細書では「異議申立側文字列」と呼ばれ得る。ただし、提案側文字列の場合と同様に、明示的に述べられないか、文脈によって明確にされない限り、異議申立者から提案される解（単に「解」と呼ば得る）は異議申立側文字列であり、例えば、異議申立者から提案される解（例えば、異議申立側文字列）は、「提案された異議申立側解」又は「提案された異議申立側文字列」ではなく、単に「提案される解」又は「異議申立側文字列」と呼ばれ得る。一実施形態では、異議申立者５０２が預託金５０６を提供する場合に、異議申立者５０２は、代替解５０４のハッシュなしで、提案される解に異議を申し立てることができる。
【０１００】
一実施形態では、異議申立てに応じて、入力として以前のトランザクション（要求トランザクション）の出力（「Ｂ＋Ｄ」）と、出力として以前の分配金プラス提案者の預託金及び異議申立者の預託金（「Ｂ＋Ｄ＋Ｄ」）とを含むトランザクション５１４を、コングレス５１０によって生成する（５１２）ことができる。第１のトランザクションと同様に、第２のトランザクションが異議申立者５０２に提供され（５１６）、異議申立者が異議申立者の預託金５０６を入力に追加して、更新されたトランザクション５２０を生成する（５１８）ことができ、この更新されたトランザクション５２０がブロックチェーン５２４にマイニングされ得る（５２２）。上述したように、図５に示される各トランザクションは、ブロックチェーンを使用して実行できる。図５に示されていないが、異議申立者５０２は、複数の異議申立者のうちの１人であり得る（つまり、各提案側文字列は、数十、数百、数千、又はそれ以上の異議申立側文字列も生成し得る）。
【０１０１】
図６は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解への異議申立てが解決され得る例示的な環境６００をブロック図形式で示す。図６に示される例示的な環境６００では、コングレス６０２は、ブロックチェーン６０６のソースブロック６０８内の情報から始まるゴーストチェーン６０４（本明細書で説明する）をインスタンスする。ソースブロック６０８は、本明細書では、異議申立てが生じたブロック（例えば、ブロック図１８に関連して説明する異議申立て１８０６のブロック）とも呼ばれ得る。本明細書で説明する方法を使用してゴーストチェーンによって異議申立てが解決された後に、コングレス６０２は、本明細書で説明するように、提案される分配金（「Ｂ」）プラス預託金（「Ｄ」）を１人又は複数人の関係者に分配するための１つ又は複数のトランザクション６１２を作成する（６１０）。次に、１つ又は複数のトランザクション６１２を、現在のブロック６１６でブロックチェーン６０６にマイニングすることができる（６１４）。
【０１０２】
提案される分配金（「Ｂ」）プラス追加の預託金（「Ｄ」）を１人又は複数人の関係者に送金するための１つ又は複数のトランザクション６１２をどの様に作成するかの第１の例では、提案される解がない場合に、異議申立てを判定するためにインスタンス化されたゴーストチェーンがないため、要求者は、元のトランザクション（「Ｂ」）のＵＴＸＯを再利用できる。一実施形態では、提案される解がない場合に、預託金はなく、報奨金（「Ｂ」）は、決して提案側文字列の入力に追加されない。
【０１０３】
提案される分配金（「Ｂ」）プラス追加の預託金（「Ｄ」）を１人又は複数人の関係者に送金するための１つ又は複数のトランザクション６１２をどの様に作成するかの第２の例では、提案される解があるが、異議申立者がない場合に、異議申立てを判定するためにインスタンス化されるゴーストチェーンもない場合がある。従って、提案者は、解が要求者によって受け入れられ、提案者も提案者の預託金（「Ｄ」）の回収をできる場合に、元のトランザクションのＵＴＸＯ（「Ｂ」）を請求することができ、解を検証するためのコストを削減する。一実施形態では、異議申立てがない場合に、解を検証するために使用されるコストはゼロであり、解が要求者によって受け入れられ、提案者も提案者の預託金（「Ｄ」）全体を回収できる場合に、提案者は、元のトランザクションのＵＴＸＯ（「Ｂ」）を請求することができる。逆に、解が要求者によって受け入れられず、提案者が提案者の預託金（「Ｄ」）を回収できる場合に、要求者は、元のトランザクションのＵＴＸＯ（「Ｂ」）を請求することができる。一実施形態では、提案者は、上述したように、資金を請求するために使用される解のハッシュが解コミットメントの解のハッシュと同じであれば、異議申立て期間後に解を用いて資金を請求することができる。
【０１０４】
一実施形態では、提案者は、上述したように、解に異議を申し立てることにより（つまり、提案された提案側文字列に対する異議申立者として機能することにより）提案された解を拒否することができる。
【０１０５】
提案される分配金（「Ｂ」）プラス追加の預託金（「Ｄ」）を１人又は複数人の関係者に送金するための１つ又は複数のトランザクション６１２をどの様に作成するかの第３の例では、１人の異議申立者がいて、異議申立てを判定するためにゴーストチェーン６０４がインスタンス化されている場合であって、提案者が異議申立てに「勝った」場合に、提案者は、元のトランザクションのＵＴＸＯ（「Ｂ」）を請求することができ、提案者は、解を検証するための費用を差し引いた提案者の預託金（「Ｄ」）も回収することができ、異議申立者は、解に異議を申し立てるための費用を差し引いた異議申立者の預託金（「Ｄ」）を回収することができる。逆に、異議申立者が異議申立てに「勝った」場合に、異議申立者は、元のトランザクションのＵＴＸＯ（「Ｂ」）を請求することができ、提案者は、解を検証するための費用を差し引いた提案者の預託金（「Ｄ」）を回収することができ、異議申立者は、解に異議を申し立てるための費用を差し引いた異議申立者の預託金（「Ｄ」）を回収することができる。一実施形態では、異議申立ての敗者（例えば、提案者又は異議申立者）は、異議申立ての全費用を送金する。一実施形態では、異議申立ての両当事者（例えば、提案者及び異議申立者）は、異議申立ての費用を均等に折半する。一実施形態では、異議申立ての両当事者（例えば、提案者及び異議申立者）は、同様に検証の費用を均等に折半する。考えられるように、提案される分配金（「Ｂ」）プラス追加の預託金（「Ｄ」）を１人又は複数人の関係者に送金するための１つ又は複数のトランザクション６１２をどの様に作成するかの例は、単なる例示であり、かくして、提案される分配金（「Ｂ」）プラス追加の預託金（「Ｄ」）を１人又は複数人の関係者に送金するための１つ又は複数のトランザクション６１２をどの様に作成するかに関する他の例は、本開示の範囲内であるとみなされ得る。
【０１０６】
仲裁手順を使用して、ゴーストチェーンで実行すべき計算の長さを大幅に削減できる可能性があることに留意されたい。一実施形態では、計算全体を再実行する必要なしに仲裁を実施することができる。そのような実施形態では、仲裁プロトコルは、提案者及び異議申立者が、自分の最終回答に至った計算の中間結果を提供することを必要とする。計算の入力は同じ（要求者によって投稿されたもの）であり、且つ出力は異なる（提案者及び異議申立者が異なる回答に達した）ため、提案者及び異議申立者の計算が分岐する２つの中間値の間に少なくとも１つの移行があるはずである。このような「移行点」は、２つの値のリスト（つまり、２つの値のリストの間の違い）に対してバイナリサーチを使用して識別することができる。このサーチを行うために必要な操作の数は、２つのリストの長さの２を底とする対数（つまり、ｌｏｇ２）のオーダーである。例えば、２つのリストの計算に１０２４個の要素がある場合に、移行のサーチを行うために必要な操作の数は、ｌｎ１０２４、つまり１０である。
【０１０７】
２つの計算が分岐する中間ステップが決定されると（つまり、移行点が見つかった場合に）、ゴーストチェーンを使用してその単一の移行を再計算し、２つの提案の間で仲裁することができる。計算をオンチェーン（on-chain）（例えば、メインチェーン）で再実行することによる仲裁とは異なり、本明細書で説明するようなバイナリサーチ手法は、一方の関係者を不正確なものとして排除できるが、他方の関係者の正当性を確認できない場合があることに留意されたい。従って、一実施形態では、バイナリサーチによって排除されなかった関係者の解は、別の異議申立て期間の対象になる可能性がある。
【０１０８】
図７は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、提案される解に対する異議申立てが受け取られなかった場合の例示的な環境７００をブロック図形式で示す。図７に示される例示的な環境７００では、提案者７０２は、ブロックチェーン７１４から生成されたトランザクション７１２で提案される分配金７０８（「Ｂ」）及び提案者の預託金７１０（「Ｄ」）を含む分配７０６を受け取る（７０４）。一実施形態では、分配７０６は、提案者７０２の解を検証するために使用された費用を差し引いた提案される分配金７０８（「Ｂ」）及び提案者の預託金７１０（「Ｄ」）を含む。一実施形態では、異議申立てがなかった場合に、提案者７０２の解を検証するために使用された費用はゼロであり、分配７０６は、提案される分配金７０８（「Ｂ」）及び全ての提案者の預託金７１０（「Ｄ」）を含む。
【０１０９】
図８は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００をフローチャート形式で示す。ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図８に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００を実行し得る。
【０１１０】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８０２において、要求者は、本明細書で説明する解の関連する分配金を含むタスクの完了を要求する。
【０１１１】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８０４において、提案者は、公開キー及び提案した解のハッシュを用いて要求者に連絡する。図８に示されていないが、ステップ８０４の前に、提案者は、本明細書で説明するようにタスクを受け取り、関連する分配金が十分であると判断し、解を生成し、解のハッシュを全て生成した。一実施形態では、提案者は、二次セキュア・チャネルを使用して、公開キー及び提案した解のハッシュを用いて要求者に連絡する。一実施形態では、提案者は、計算タスク分散システムを実装するブロックチェーンを使用して、公開キー及び提案した解のハッシュを用いて要求者に連絡する。一実施形態では、複数の提案者が解を有して存在する。
【０１１２】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８０６において、要求者は、入力として関連する分配金及び出力として関連する分配金プラス預託金を含む第１のトランザクションを構築し、この第１のトランザクションは、異議申立て期間後に提案者によって、又は本明細書で説明するようにコングレスによっていつでもロック解除できる。
【０１１３】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８０８において、要求者は、本明細書で説明するように、提案者が提案者の預託金をトランザクションの入力に追加できるように、第１のトランザクションを提案者に送信し、こうして、提案者がタスクに投資する機会を与える。提案者によって預託金をトランザクションに追加させることにより、提案者が、要求者を誤った解であふれさせる（flooding）ことを抑制できる。
【０１１４】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８１０において、提案者は、入力としての自分の預託金を第１のトランザクションに追加し、且つ本明細書で説明するように、第１のトランザクションをブロックチェーンにブロードキャストする。
【０１１５】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８１２において、異議申立てを受けたかどうかが判定され得る。一実施形態では、本明細書で説明するように、別のノード（例えば、異議申立者）から異議申立てを受ける場合がある。一実施形態では、異議申立ては、上述したように、トランザクションをブロックチェーンにマイニングすることにより異議申立者によって発生し、こうして、要求者及び提案者を含むブロックチェーン内のノードによって受信される。一実施形態では、提案される解毎に複数の異議申立てが受け取られる。一実施形態では、計算タスク分散システムは、タスクがリスト化され、提案される解の通知が掲示され、且つそれらの提案される解に対する異議申立てが掲示されるオフチェーンシステム（例えばウェブサービス）である。そのような実施形態では、計算タスク分散システムに関連するブロックチェーンは、解を提供し、解の分配金を提供し、且つ（例えば、ゴーストチェーンを介して）異議申立てを管理するために使用される。
【０１１６】
ステップ８１２において異議申立てを受け取ったと判定された場合に、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００は、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９０２で継続する。
【０１１７】
ステップ８１２において異議申立てを受け取ったと判定されない場合に、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８１４において、異議申立て期間が終了したかどうかが判定され得る。一実施形態では、異議申立て期間は要求者によって設定される。一実施形態では、異議申立て期間は、計算タスク分散システムによって設定される。一実施形態では、異議申立て期間は、いくつかのブロックをマイニングするのに必要な期間に少なくとも部分的に基づいて決定される。例えば、ブロックチェーン・ネットワークは、１０分毎に１回の割合でマイニングされ得る（例えば、ビットコインネットワーク）。そのような例では、異議申立て期間は、２８８ブロックをマイニングするのに必要な時間（例えば、４８時間、つまり約２日間に対して１時間に６ブロック）に基づく場合がある。
【０１１８】
ステップ８１４において、異議申立て期間が終了したと判定されない場合に、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００は、ステップ８１２において、異議申立てを受け取ったかどうかの判定を継続して行う。
【０１１９】
ステップ８１４において、異議申立て期間が終了したと判定された場合に、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第１の部分８００のステップ８１６において、提案者は、本明細書で説明するように、報奨金に加えて、異議申立てされていない実際の解に対する提案者の預託金を請求する。
【０１２０】
図８に示される例示的なプロセスの第１の部分８００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１２１】
図９は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００をフローチャート形式で示す。ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図９に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００を実行し得る。
【０１２２】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９０２において、本明細書で説明するように、異議申立てが受け取られ得る。
【０１２３】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９０４において、コングレスは、入力として関連する分配金プラス預託金、及び出力として関連する分配金プラス２倍の預託金を含む第２のトランザクションを構築し、この第２のトランザクションは、コングレスによっていつでもロック解除できる。ステップ９０４において、関連する分配金は、提案者からの預託金と異議申立者からの預託金との両方を含むため、２倍の預託金を含む。ただし、ステップ９０４において、異議申立者からの預託金は、未だトランザクションの入力に追加されていない。
【０１２４】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９０６において、コングレスは、本明細書で説明するように、異議申立者の預託金をトランザクションの入力に追加できるように、第２のトランザクションを預託者（例えば、異議申立者）に送信する。
【０１２５】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９０８において、預託者は、入力としての第２の預託金を第２のトランザクションに追加し、且つ本明細書で説明するように、第２のトランザクションをブロックチェーンにブロードキャストする。
【０１２６】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９１０において、コングレスは、本明細書で説明する方法を使用して異議申立てを解決するためにゴーストチェーンを作成する。
【０１２７】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９１２において、コングレスは、異議申立てを解決し、且つ異議申立ての解決に従って（つまり、１つ又は複数の提案側文字列及び／又は１つ又は複数の異議申立側文字列から）実際の解を与える。ステップ９１２において、コングレスは、本明細書で説明するように、ゴーストチェーンを使用して異議申立てを解決する。一実施形態では、コングレスは、オンチェーン計算方法を使用して異議申立てを解決する。一実施形態では、コングレスは、本明細書で説明するように、バイナリサーチ技術を使用して異議申立てを解決する。
【０１２８】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９１４において、コングレスは、本明細書で説明するように、解決及び解決費用に従って、１つ又は複数のトランザクションを用いて第２のトランザクションの出力を分配する。
【０１２９】
ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスの第２の部分９００のステップ９１６において、コングレスはゴーストチェーンを終了させる。一実施形態では、終了したゴーストチェーン（例えば、ゴーストチェーンの末端ブロック）は、本明細書で説明するように、続いて起こるゴーストチェーンの開始ブロックとして使用される。
【０１３０】
一実施形態では、提案側文字列及び異議申立側文字列を含む解のセットに１つ又は複数の解がある。一実施形態では、図８及び図９に関連して説明したブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスは、第１のブロックチェーン・ネットワークを使用して、第１のブロックチェーン・ネットワークに提供される解のセットから１つの解を少なくとも選択することにより異議申立てを解決することを含み、解のセットは提案側文字列を少なくとも含む。一実施形態では、解のセットから１つの解を選択することは、１つ又は複数の選択基準に少なくとも部分的に基づいて、正しい解を選択することを含む。一実施形態では、解のセットから１つの解を選択することは、１つ又は複数の選択基準に少なくとも部分的に基づいて、１つ又は複数の誤った解を除外することを含む。一実施形態では、バイナリサーチアルゴリズム等のアルゴリズムを使用して、解のセットから１つの解が選択されるまで、１つ又は複数の誤った解を除外する。
【０１３１】
複数の解が同じハッシュで受信される実施形態（例えば、各提案側文字列が同じハッシュ値を有する場合）において、図８及び図９に関連して説明したブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する提案される解及び異議申立てを解決するための例示的なプロセスは、提案側文字列に関連するタイムスタンプに少なくとも部分的に基づいて、解のセットから１つの解を選択することを含む（つまり、タイムスタンプを使用して、同じハッシュ値を有する複数の解から１つの解を選択することができ、例えば、最初に受け取った解を選択してもよい）。
【０１３２】
図９に示される例示的なプロセスの第２の部分９００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１３３】
図１０は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスを開始するための例示的なプロセス１０００をフローチャート形式で示す。例示的なプロセス１０００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１０に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスを開始するための例示的なプロセス１０００を実行することができる。一実施形態では、プロセス１０００は、コングレスを設定するために最初に信頼された関係者によって実行される。
【０１３４】
プロセス１０００は、ステップ１００２において、コングレス公開キーを提供することを含む。コングレス公開キーは、他のノードがコングレスに加入したい場合に、他のノードがコングレス公開キーに預託することを可能にするために他のノードに提供され得る。つまり、他のノードは、コングレスに加入するために、コングレス公開キーに関連するアドレスにトークンを転送し得る。
【０１３５】
ステップ１００４において、プロセス１００を実行するノードは、１つ又は複数の条件が満たされるまで公開キーへの分配を許可してもよい。例えば、ノードは、決められた期間に亘って又は決められた数のブロックに、公開キーへの分配を許可してもよい。条件が満たされた後（例えば、この期間の終了後又はその数のブロックのマイニング後）に、ステップ１００６において、プロセス１０００を実行するノードは、コングレスの初期メンバーを特定する。
【０１３６】
コングレスの初期構成員を構成する関係者が特定された後に、ステップ１００８において、秘密キーが、しきい値署名方式に従って秘密キーシェアに分割され得る。次に、ステップ１０１０において、秘密キーシェアは、プロセス１０００を実行するノードから特定された関係者に分配され得る。秘密キーシェアは、本明細書で説明するタイプのものであるしきい値署名方式に関連付けられ得る。
【０１３７】
ステップ１０１０の間に、コングレス・メンバーとして特定されたノードは、協力して、新しい秘密キーシェア及び新しい公開キーを生成する。最初に信頼された関係者によってそのようなノードに送信された元のキーシェアは、コングレスプール内の全てのデジタル資産を新しい公開キーに送信するトランザクションに署名してブロードキャストするために使用でき、次に、その新しい公開キーは、コングレス公開キーとなる。つまり、ステップ１０１０の間に、新しいグループ公開アドレスが確立され、コングレスの管理下にあるデジタル資産をこの新しいアドレスに転送でき、この新しいグループ公開アドレスが、グループの新しいアドレスになり、且つコングレス公開キーに関連付けられる。この転送が確認された後に、コングレスはトラストレスな運営が可能になる。新しいグループ公開アドレスは、将来、コングレスに加入したい他のノードから、又は上述したような他の目的のために、デジタル資産の預託金を受け取るために形成してもよい。ここで、コングレスは、ゴングレスに登録されたとみなされるようになり、これらのノードは最初に信頼された関係者の支援なしに動作できるようになる。さらに、最初に信頼された関係者は、もはやコングレスの運営に関与しない。
【０１３８】
図１０に示される例示的なプロセス１０００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１３９】
図１１は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスに加入するための例示的なプロセス１１００をフローチャート形式で示す。例示的なプロセス１１００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１１に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、コングレスに加入するための例示的なプロセス１１００を実行し得る。
【０１４０】
図１１に示される例示的なプロセス１１００は、図１０に関連して説明した例示的なプロセス１０００と連動して動作し得る。一実施形態では、例示的なプロセス１１００は、（例示的なプロセス１０００を実行するノードが動作する）同じブロックチェーン・ネットワーク１００（図１）で動作するノード（例えば、ノード１０２等のノード）のうちの異なるノードによって実行される。ステップ１１０２において、例示的なプロセス１１００は、コングレス公開キーを取得することを含む。コングレス公開キーは、図１０の例示的なプロセス１０００を実行するノード等の、コングレスを開始する関係者から直接取得してもよく、又は、例えば、ブロックチェーン・ネットワークの外部で動作する第三者システムを含む第三者から取得してもよい。例えば、コングレス公開キーは、公衆インターネットを介してアクセス可能な公開Ｗｅｂサーバから取得してもよい。
【０１４１】
ステップ１１０４において、例示的なプロセス１１００を実行するノードは、デジタル資産のトランザクションをノードに関連するプライベートアカウントからコングレスアドレス（すなわち、コングレス公開キーに関連するアドレス）にブロードキャストすることにより、コングレス公開キーに預託を行う。より具体的には、ノードは、コングレス公開キーに関連する公開グループアドレスに１つ又は複数のデジタル資産を転送するトランザクションをブロードキャストすることができる。公開グループアドレスは、コングレスプールのアドレスである場合がある。コングレスプールには、コングレスの他のメンバーに関連する他のデジタル資産が含まれる。こうして、ステップ１１０４において、トランザクションがマイナー（例えば、図１に関連して説明したマイニングノード１０４）によってブロックに追加されると、トランザクションは、他のメンバーからのデジタル資産を含むデジタル資産をコングレスプールに転送する。公開グループアドレスは、コングレスに加入したい関係者からの転送と、コングレスに加入したくない関係者からの転送との両方を受信する場合がある。コングレスに加入したくない関係者は、デジタル資産をコングレスプールに転送し、そのようなデジタル資産は、コングレスが使用するしきい値署名方式を使用して、コングレスによる全体的、部分的、又は条件付き管理下に置かれ得る。
【０１４２】
ステップ１１０４において、トランザクションは、デジタル資産を転送する関係者がコングレスに加入することを望み、そのような目的のために預託が行われていることを示すフラグ、識別子又は他の属性を含み得る。
【０１４３】
デジタル資産をコングレスプールに預託した後に、ステップ１１０６において、例示的なプロセス１１００を実行するノードは、秘密キーシェアを受け取る。次に、ステップ１１０８において、ノードは、プロトコルの単一インスタンスを実行することにより、秘密キーシェアを再生成する。秘密キーシェアの生成は、ノードのＴＥＥ内で実行され得る。
【０１４４】
ステップ１１０８において、ノードは、コングレスに代わってトランザクションの有効な署名を生成するために少なくともしきい値の秘密キーシェアを使用しなければならないしきい値署名方式で使用され得る秘密キーシェアを生成する。秘密キーシェアの他の所有者は、それぞれのデジタル資産を公開グループアドレスに転送することにより、許可ベース又は非許可ベースでコングレスに加入したコングレスの他のメンバーである。
【０１４５】
秘密キーシェアを再生成するために、ステップ１１０８において、既存のコングレス・メンバーは、協力してキーシェアを更新することができる。例えば、ノードは、次数tのランダム多項式を生成し、定数項はゼロ
【数１】
2020522927.tif 000003
である。次に、ノードは、ポイント
【数２】
2020522927.tif 000004
を計算し、これを秘密キーシェアとして設定できる。次に、ノードは、この多項式
【数３】
2020522927.tif 000005
上の点を既存の各コングレス・メンバーｉ＝１，…，ｎに分配できる。次に、既存の各コングレス・メンバー（ｉ＝１，…，ｎ）は、受信した値を自分の既存の秘密キーシェアに追加して、新しい秘密キーシェアを取得する。次に、ノードは、他の全てのメンバーと同等の秘密キーシェアを有しており、対応する公開キーは変更されないままである。上述したように、しきい値署名方式は、楕円曲線デジタル署名アルゴリズム又はシュノア方式に基づくしきい値方式を含む様々なタイプのものであり得る。
【０１４６】
秘密キーシェアはＴＥＥ内で生成してもよく（少なくとも図２に関連して上述した）、且つノードに安全に格納してもよい。例えば、秘密キーシェアはＴＥＥに格納してもよい。
【０１４７】
秘密キーシェアがそれぞれのノードによって生成された後に、以前のコングレス公開キーの管理下にある資金（例えば、元のコングレス公開キーに関連する公開グループアドレスに転送された資金）が、（しきい値署名方式の下で有効な署名を生成するのに十分な数のグループノードの協力によって）新しい秘密キーシェアに関連する新しいコングレス公開キーへ転送され得る。
【０１４８】
ステップ１１０８において、秘密キーシェアが生成された後に、その秘密キーシェアを例示的なプロセス１１００のステップ１１１０において使用してもよい。秘密キーシェアを使用して、（あるメンバーによってブロードキャストされ得る）公開グループアドレスからのトランザクションの有効な署名を協力して生成することができる。つまり、秘密キーシェアをしきい値署名方式で使用して、署名生成に寄与することができる。しきい値署名方式では、コングレスのしきい値数の秘密キーシェアをそれぞれのメンバーが使用して、デジタル資産をコングレスとは別の場所に（away  from）転送できるようにする有効な署名を生成する必要があり得る。例示的なプロセス１１００を実行するノードは、署名生成に寄与するために、ストレージから秘密キーシェアを検索し、この秘密キーシェアを使用することができる。十分な数の他のコングレス・メンバーもそれぞれの秘密キーを使用して署名の生成に寄与する場合に、署名が生成され、有効な支出トランザクションがブロードキャストされ得る。ブロックチェーン・ネットワークのマイニングノードが、（ブロックチェーン・ネットワーク内のノードのコンセンサスによってブロックチェーンに追加される）トランザクションをマイニングされたブロックに追加し、ブロックが確認されると、支出トランザクションが完了し得る。この時点で、トランザクションにおいて表されるデジタル資産は、もはやコングレスの管理下にない可能性がある。つまり、そのようなデジタル資産は、コングレス公開キーによってもはや制限されなくなる可能性がある。
【０１４９】
ステップ１１０８における秘密キーシェアの使用は、ノードのＴＥＥ内で実行され得る。ＴＥＥは、システムの他の部分又はメンバー自体が、エンクレーブに格納された秘密キーシェア等のあらゆるデータにアクセスできないように秘密キーシェアを保護する。さらに、ＴＥＥは、メンバーが自分の預託金の払戻しを望み、預託金を受け取りたい場合に、メンバー預託金を返却する前に秘密キーの削除を証明する必要があるため、ＴＥＥが秘密キーのコピーを保持できないという点で、秘密キーを保護する。
【０１５０】
図１１の例示的なプロセス１１００は、初期セットアップ段階中又はその後に実行できる。つまり、例示的なプロセス１１００は、初期キーシェアが分配される前（例えば、例示的なプロセス１０００のステップ１０１０中）に又はその後（例えば、以下でより詳細に議論する再バランス中）に実行され得る。
【０１５１】
ステップ１１１０におけるトランザクションは、デジタル資産を、元々それらのデジタル資産をコングレスプールに預託した関係者に戻すように転送することができる。つまり、転送（移転）はデジタル資産を預託者に返却することができる。転送は、デジタル資産を他の場所に転送することもできる。例えば、デジタル資産は、第三者又は返却先アドレスに転送される場合がある。
【０１５２】
図１１に示される例示的なプロセス１１００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１５３】
図１２は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、デジタル資産を没収するための例示的なプロセス１２００をフローチャート形式で示す。例示的なプロセス１２００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１２に関連して説明するデジタル資産を没収するための例示的なプロセス１２００を実行し得る。一実施形態では、図１２に示される例示的なプロセス１２００を実行するノードは、図１１に関連して説明した例示的なプロセス１１００を実行するノードと同じノードである。例示的なプロセス１２００は、例示的なプロセス１２００のステップ１１０８の後に実行され得、例示的なプロセス１２００が実行されるときに、例示的なプロセス１２００を実行するノードは、既に秘密キーシェアへのアクセスを有している。
【０１５４】
ステップ１２０２において、ノードは、悪意のある関係者による悪意のある活動を検出する。悪意のある関係者は、コングレスの別のメンバーである可能性がある。悪意のある活動は、コングレスのメンバーが予め規定されたプロトコル又は基準に違反しているとノードが判定したときに検出され得る。例えば、コングレス内のメンバーであるノードが偽の情報（つまり、虚偽の、一貫性のない、又は容認できない情報）をコングレスの他のメンバーに報告する場合に、そのメンバーは悪意のあるメンバーと見なされ得る。
【０１５５】
ステップ１２０４において、悪意のある活動の検出に応答して、ノードは、コングレス内の他のノードと協力して、悪意のある関係者であるメンバーを一時保留状態にする（suspend）ことができる。つまり、コングレスは、悪意のある関係者をコングレスへの更なる参加から排除することができる。
【０１５６】
全てのノードが予め規定されたプロトコル又は基準に準拠して動作することを保証するために、コングレスプール内へのメンバー預託金は没収の対象となり得る。没収とは、没収されたとみなされるメンバー預託金の返却を永久に阻止することを意味する。悪意のある活動のために返却されない、メンバー預託金を形成するデジタル資産は、コングレスプールに残され得るが、返却されない場合があり、別の返却先アドレスに直ちに又は将来的に転送され、又は没収され得る。没収の性質は、コングレスが代替チェーンの留め置き検証（bonded  validator）セットとして機能するかどうかに依存し得る。例えば、ステップ１２０６において、悪意のある関係者による悪意のある活動を検出することに応じて、例示的なプロセス１２００を実行するノードは、秘密キーシェアを使用して没収トランザクションに関する部分的な署名を提供することができる。すなわち、ノードは、コングレスの他のノードと協力して、悪意のある関係者によって公開グループアドレス（つまり、コングレスプール）に以前転送されたデジタル資産の少なくとも一部を没収する。つまり、グループメンバーが予め規定されたプロトコル又は基準に違反していることを確認したことに応じて、秘密キーシェアは、そのグループメンバーに関連付けられ且つコングレスプール内に保持されている１つ又は複数のデジタル資産のトランザクションの承認に寄与するために利用され得る。
【０１５７】
しきい値署名方式がコングレス公開キーとともに使用され得るため、単独で行動する個々のノードは、別のコングレス・メンバーのデジタル資産の預託金をコングレスプールとは別の場所（例えば、返却先アドレスに）転送することができない。むしろ、デジタル資産は、デジタル資産を別のアドレスに転送するための有効な署名を生成するために、それぞれのメンバーがしきい値数の秘密キーシェアを使用する場合に、又は少なくともしきい値数の秘密キーシェアとなるグループのメンバーが、（ステップ１２０４において）あるメンバーを一時保留状態にするコンセンサスに達した場合のみ、転送によって没収され、一時保留状態にされたメンバーからの引出し要求は自動的に無視される。デジタル資産が転送によって没収された場合に、デジタル資産が転送され得る他のアドレスは、返却先アドレスに関連付けられる場合がある。例えば、この他のアドレスは、秘密キーが存在しないアドレスであってもよく、このアドレスの公開キーに結び付けられたデジタル資産にどの関係者もアクセスできないようにすることができる。デジタル資産が返却先アドレスに転送されると、デジタル資産はもはやコングレスのメンバーによって又は実際にブロックチェーン・ネットワークのノードによって換金（償還）される可能性があるため、デジタル資産は焼却されたとみなされ得る。
【０１５８】
従って、ステップ１２０６において、ノードは、コングレスの他のメンバーと協力して秘密キーシェアを使用してトランザクションの返却先アドレスへの有効な署名を生成することにより、デジタル資産を没収することができる。
【０１５９】
さらに、いくつかの実施態様では、コングレスは、プルーフオブステーク代替チェーンを保護する留め置き検証セットとして機能し、この代替チェーンは、ブロードキャスト・チャネルとして使用され得る。例えば、代替チェーンのコングレス・メンバーにより、あるメンバーが悪意を持って行動したというコンセンサスに達する場合がある。このコンセンサスは、悪意のある活動の犯罪的証拠を含む代替チェーントランザクションの確認に対応する場合がある。コンセンサスに達すると、悪意のあるメンバーによって行われたメンバー預託金の引出し要求は拒否され、預託金は没収されたとみなされ得る。没収されたデジタル資産の全て又は一部は、将来のある時点で焼却され得る。つまり、しばらくすると、しきい値のメンバー（悪意のあるメンバーを含まない）が協力して、没収されたデジタル資産の返却先アドレスへの転送を許可する場合がある。代わりに、デジタル資産の一部又は全てが、メンバーの不正行為の証拠を提供したノードに分配金として送信される場合がある。
【０１６０】
コングレスは、デジタル資産の預託によってブロックチェーン・ネットワークの任意のノードが加入できるオープングループであり得るため、グループ構成員は定期的に変更される場合がある。このような変更が発生すると、秘密キーシェアの分配が更新される可能性がある。
【０１６１】
図１２に示される例示的なプロセス１２００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１６２】
図１３は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、秘密キーシェア分配を更新するための例示的なプロセス１３００をフローチャート形式で示す。例示的なプロセス１３００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１３に関連して説明する秘密キーシェア分配を更新するための例示的なプロセス１３００を実行し得る。
【０１６３】
例示的なプロセス１３００のステップ１３０２において、ノードは、要求である再分配要求を検出し、その履行はキーシェアの再分配を伴う。例えば、ノードは、新しい見込みメンバーがデジタル資産を公開グループアドレスに転送したこと、又は既存のメンバーがメンバー預託金の引出しを要求したことを検出できる。
【０１６４】
デジタル資産は、コングレスへの加入又はコングレスへの参加を増やすことを要求するノードによって、及びコングレスへの加入を要求しないが、代わりに別の目的で（以下で説明するように、デジタル資産を代替チェーンに転送する等）デジタル資産をコングレスに転送する他のノードによって、公開グループアドレス（つまり、コングレスプール）に転送され得る。ステップ１３０２において、ノードは、デジタル資産の公開グループアドレスへのトランザクションの少なくとも一部に含まれる１つ又は複数の属性を使用して、コングレス・メンバー（つまり、コングレスに加入するためにデジタル資産をコングレス公開キーに転送した関係者であり、別の目的の関係者ではない）を識別することができる。例えば、特定のトランザクションは、トランザクションの属性を使用して特別なトランザクションとしてフラグが付けられる場合がある。このような属性（又は、その属性の有無）は、転送を行う目的を示すことができる。例えば、転送者がコングレスへの加入を要求していない場合に、トランザクションにフラグを含めてもよい。
【０１６５】
ステップ１３０２における要求の検出に応じて、その履行はキーシェアの再分配を伴いステップ１３０４において、上述したように秘密キーシェアを生成した方法と同様の方法で、新しい秘密キーシェアがノードによって生成され得る。コングレスの他のメンバーノードも、それぞれの秘密キーシェアを生成する。これらの秘密キーシェアは、新しいコングレス公開キーのしきい値署名方式で使用できる。この時点でコングレスを退会するメンバーは、ステップ１３０４の間に新しい秘密キーシェアを生成できず、退会するメンバーには新しいコングレス公開キーで使用する秘密キーシェアが割り当てられないため、退会するメンバーは、コングレスに参加する能力を失い、もはやコングレス・メンバーとはみなされなくなる場合がある。
【０１６６】
さらに、再分配要求（これは、その履行がキーシェアの再分配を伴う要求であり得る）の検出に応じて、ステップ１３０６において、ノードは、他のコングレス・メンバーと協力して、公開グループアドレス内の全てのデジタル資産を新しい公開キーに関連する新しい公開アドレス（これが新しいコングレス公開キーになり得る）に転送する。
【０１６７】
こうして、図１３の例示的なプロセス１３００によれば、預託金の分配が変更されたとき、又はメンバーから預託金を引き出す要求を受け取ったときに、秘密キーシェアが再生成され、コングレスの管理下にある全てのデジタル資産が新しい公開キーに移動され得る。コングレスの構成員を更新できる頻度は、ブロックチェーン・ネットワークのブロック時間によって制限される場合がある。多くのアプリケーションでは、低頻度での再バランスのみが必要になり得る。
【０１６８】
図１３に示される例示的なプロセス１３００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１６９】
図１４は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、秘密キーシェア分配を更新するための例示的なプロセス１４００をフローチャート形式で示す。例示的なプロセス１４００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１４に関連して説明する秘密キーシェア分配を更新するための例示的なプロセス１４００を実行し得る。
【０１７０】
図１４の例示的なプロセス１４００では、コングレス公開キーは、メンバー預託金の分配が変更される度に変更されない。（ステップ１４０２において、デジタル資産の公開グループアドレスへの預託によって発生する可能性がある）新しいキーシェアを割り当てる要求が検出されると、ノードは、コングレスの他のメンバーと協力して、（ステップ１４０４において）同じ公開キーに関する新しい秘密キーシェアをグループの新しいメンバーに発行する。協力するノードの数は、しきい値署名方式の下でデジタル署名を生成するために必要な少なくともしきい値数のノードであり得る。ステップ１４０４において、追加のキーシェアが割り当てられ得る一方、他のキーシェアは同じままである。これは、（しきい値署名方式の）しきい値の変更を伴う場合があるが、実際にはその変更は少ない。あるいはまた、ステップ１４０４において、他のキーシェアが更新されている間に、追加のキーシェアを割り当ててもよい。このような更新には、以前生成したあらゆるキーシェアの削除の証明を伴う必要があり得る。この場合に、同じしきい値を維持しながら新しいシェアを割り当てることができる（ＳＳＳのコンテキストでは、これには、次数が増加した新しい多項式での分散（sharing）が含まれる）。
【０１７１】
ステップ１４０２において、ノードは、デジタル資産の公開グループアドレスへのトランザクションの少なくとも一部に含まれる１つ又は複数の属性を使用して、コングレス・メンバー（つまり、コングレスに加入するためにデジタル資産をコングレス公開キーに転送した関係者であり、別の目的の関係者ではない）を識別することができる。例えば、特定のトランザクションは、トランザクションの属性を使用して特別なトランザクションとしてフラグが付けられる場合がある。このような属性（又は、その属性の有無）は、転送を行う目的を示すことができる。例えば、転送者がコングレスへの加入を要求していない場合に、トランザクションにフラグを含めてもよい。
【０１７２】
メンバーが例示的なプロセス１４００を使用するコングレスを退会するときに、メンバーは、自分の秘密キーシェアを安全に削除できる。古いメンバーの秘密キーシェアが使用できないことを保証するために、コングレスのメンバーは、特別なＴＥＥを有するノードを使用するように要求される場合がある。ＴＥＥは、ハードウェアレベルで実装されたアーキテクチャであり、ＴＥＥ内で実行される命令及びデータが、上述したように、システムの他の部分からのアクセス及び操作から保護されることを保証する。ＴＥＥは、ハードウェアメカニズムを使用して、コングレスの他のノード等の外部関係者に対してシステムの完全性を検証するために使用できるリモート認証の異議申立てに対応できる。
【０１７３】
各メンバーノードは、集積回路レベルでハードウェアを損なうことなくホストシステムにアクセスできないままである、１つ又は複数のランダムシークレット値を生成するように構成された認定ＴＥＥを使用できる。このようにして生成されたシークレット値は、上述したように、秘密キーシェアの分配生成で使用される。このシークレット値は、コングレスのセットアップ段階でシェアされる（shared）公開キーを確立するためにも使用できる。セットアッププロトコルに関連する計算はＴＥＥのエンクレーブ内で実行され得るため、メンバー又は以前のメンバーは、メンバー間通信又は他の方法により自分又は他の秘密キーシェアに関する情報を得ることができない。ＴＥＥ内のエンクレーブは、ＴＥＥのエンクレーブが、真正であり、承認されたコンピュータ可読命令を実行していることを他のノードに証明するために使用され得るリモート認証プロトコルを実行できるようにする。
【０１７４】
グループの変更に関連する計算は、ＴＥＥのエンクレーブ内で実行され得る。例えば、ＳＳＳの目的で新しい多項式を計算する際に使用され得る新しい安全なランダムシークレットの生成は、ＴＥＥのエンクレーブ内で実行される。
【０１７５】
ＴＥＥのエンクレーブは、メンバー預託金を返却する前に、もはや使用されなくなった以前のキーシェア及び以前のシークレットを安全に削除するのを保証することも目的としている。より具体的には、メンバー預託金を返却するために、認証プロトコルでは、ＴＥＥのエンクレーブがキーシェアの削除を証明することを要求する場合がある。各ノードは、そのような証明を、必要な削除がリモート認証プロトコルを介して他のノードで発生したことの確認として解釈することができる。こうして、例示的なプロセス１４００は、コングレスを退会したメンバーのＴＥＥ内に以前保持されていた秘密キーシェアが、そのメンバーに関連するノードから削除されたことを確認することも含み得る。この確認は、秘密キーシェアの削除の証明を受信することで行うことができる。従って、リモート認証プロトコルを使用して、コングレスを退会したメンバーのＴＥＥ内に以前保持されていた秘密キーシェアの削除に対する認証を取得できる。
【０１７６】
例示的なプロセス１３００及び例示的なプロセス１４００は、それぞれ、実施されると、様々な利点を提供することに留意されたい。例えば、例示的なプロセス１３００は、安全な削除に依存せず、信頼できるハードウェアに依存する必要もない。しかしながら、例示的なプロセス１３００は、状況によっては、このようなハードウェアによって、例えば、キーシェアの悪意のあるプーリングをより起こりにくくし得るため、そのようなハードウェアから恩恵を受け得る。別の例では、例示的なプロセス１４００は、構成員が変わる度に新しいコングレス公開キーの下でデジタル資産を再ロックしなければならない必要性を回避する。さらに、状況によっては、例示的なプロセス１４００は、例示的なプロセス１３００よりも速く構成員を更新する場合がある。なぜなら、例示的なプロセス１４００では、デジタル資産が新しい公開キーに移動されないため、全てのデジタル資産を新しい公開キーに移動するためにトランザクションをブロックチェーンに追加する必要がないからである。つまり、公開キーが変更されないため、デジタル資産の新しい公開キーへの転送を確認するためにいくつかのブロック（例えば、６個のブロック）が生成されるのを待たずに、例示的なプロセス１４００を使用して構成員を更新することができる。
【０１７７】
図１４に示される例示的なプロセス１４００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１７８】
図１５は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、預託金を返却するための例示的なプロセス１５００をフローチャート形式で示す。例示的なプロセス１５００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１５に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、預託金を返却するための例示的なプロセス１５００を実行し得る。上述したように、グループメンバーは時にはコングレスからの退会を要求する場合があり、グループメンバーがコングレスから登録解除するときに、コングレスプールに預託されたデジタル資産は返却される場合がある。
【０１７９】
例示的なプロセス１５００のステップ１５０２において、ノードは、コングレス・メンバーである要求者から引出し要求を受け取ることができる。引出し要求は、登録解除要求とも呼ばれ得る。引出し要求は、要求者によって以前預託され、コングレスによって現在管理されているデジタル資産を引き出す要求であり得る。要求は、要求者によって全てのコングレス・メンバーにブロードキャストされ得る。
【０１８０】
要求の受信に応じて、ステップ１５０４において、ノードは、決定された基準に対して要求を評価する。そのような基準は、予め規定された基準であり得る。コングレスが、グループ構成員が変更される度にコングレス公開キーが変更されないコングレス・プロトコルに従って動作する場合に、ステップ１５０４において、ノードは、秘密キーシェアが要求者によって削除されたことを確認できる。このような確認は、ＴＥＥに関連するリモート認証プロトコルを使用して得ることができる。
【０１８１】
コングレス・プロトコルが、構成員が変更されたときにコングレス公開キーが変更されるプロトコルである場合に、秘密キーシェアがもはや有効ではないため、ノードは、秘密キーシェアの削除を確認できない場合がある。代わりに、新しいコングレスキーが使用され、コングレス管理下の他のデジタル資産が新しいコングレスキーに転送される場合がある。
【０１８２】
ステップ１５０４において、ゴーストチェーンが現在展開されているかどうかも評価に入れられ得る。ゴーストチェーンが展開されている場合に、ゴーストチェーンの動作が停止するまで、引出し要求が拒否される場合がある。つまり、ゴーストチェーンでマイニングしているコングレス・メンバーは、少なくともゴーストチェーンが終了するまで、トークンの「出資金（stake）」を引き出すことが阻止される。
【０１８３】
ノードが評価に基づいて引出し要求を承認する場合に、ステップ１５０６において、ノードはデジタル資産の引出しを促進する。つまり、ノードは、その秘密キーシェアを使用してデジタル署名を協力して生成し、このデジタル署名を使用して、要求者によって以前預託されたデジタル資産を要求者に戻す。例えば、デジタル資産は、デジタル資産を以前受け取ったアドレスに送り返される場合がある。ステップ１５０６は、しきい値署名方式に従って実行され得、少なくともしきい値数のコングレス・メンバーが引出しを承認した場合にのみ引出しが行われる。ステップ１５０６は、登録解除を希望するメンバーが一定期間活動を一時保留状態にされた後に実行され得る。この待機期間によって、メンバー預託金の返却のためのプロトコルを実行している間に、メンバーが不正行為に関与するのを防止する。
【０１８４】
コングレス・プロトコルは、多数の様々な目的に使用され得る。コングレスは、様々な機能を実行するための安全なメカニズムを提供する。コングレスは、トラストレスな運営を行い、デジタル資産の所有権を管理することができる。
【０１８５】
コングレス・プロトコルは、例えば、本明細書で説明するようにゴーストチェーンを実装するために使用してもよく、その場合に、コングレス・プロトコルは、ゴーストチェーンプロトコルと呼ばれ得る。
【０１８６】
図１５に示される例示的なプロセス１５００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０１８７】
図１６は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、第１及び第２のブロックチェーン・ネットワークを実装できる例示的な環境１６００をブロック図形式で示す。第１のブロックチェーン・ネットワーク１６１４は、図１を参照して上述したタイプのものであり得る。第１のブロックチェーン・ネットワーク１６１４は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合され得る複数のノード１６０２、１６０６を含む。
【０１８８】
第１のブロックチェーン・ネットワーク１６１４のノード１６０２、１６０６は、第１のブロックチェーン（本明細書では「メインチェーン」と呼ばれ得る）上の全てのトランザクションのグローバル台帳を維持する。ノード１６０２、１６０６の少なくともいくつかは、本明細書で説明するように、第１のブロックチェーン・ネットワーク１６１４のマイニングノード１６０４として動作する。
【０１８９】
第２のブロックチェーン・ネットワーク１６１６は、プルーフオブステーク・ブロックチェーン・ネットワークであり得る。第２のブロックチェーン・ネットワーク１６１６は、互いに結合され得、且つ第２のブロックチェーン・ネットワーク１６１６のグローバル台帳を維持する複数のノード１６１２、１６０６を含む。第２のブロックチェーン・ネットワーク１６１６のグローバル台帳は、第１のブロックチェーン・ネットワーク１６１４のグローバルとは別個及び異なっていてもよい。第２のブロックチェーン・ネットワーク１６１６のグローバル台帳は、本明細書では「代替チェーン」と呼ばれ得る。
【０１９０】
プルーフオブステークベースの第２のブロックチェーン・ネットワーク１６１６は、コンセンサスを得るための代替メカニズムを提供する。プルーフオブステーク・ブロックチェーン・ネットワークでは、ブロックチェーンは、プルーフオブワークではなくプルーフオブステークによって保護され得る。プルーフオブステークの下で、マイニングノード１６０８は、デジタル資産のセキュリティ預託金を預託し、ブロックをマイニングするノードとして選択される確率は、セキュリティ預託金として提供されるデジタル資産の額に比例し得る。プルーフオブステーク・ブロックチェーン・システムを使用すると、プルーフオブワーク・ブロックチェーンのマイニングに必要な計算費用及びエネルギーを省くことができる。プルーフオブステーク・ブロックチェーンによって、プルーフオブワーク・ブロックチェーンよりも高い頻度でより定期的なブロック作成が可能になる。
【０１９１】
第２のブロックチェーン・ネットワーク１６１６は、適切な通信技術を一緒に使用し得る複数のノード１６０６、１６１２も含む。これらのノード１６０６、１６１２は、第２のブロックチェーン・ネットワーク１６１６のグローバル台帳を維持する。
【０１９２】
複数のノード１６０６は、第２のブロックチェーン・ネットワーク１６１６のマイニングノード１６０８として機能する。第２のブロックチェーン・ネットワーク１６１６がプローフオブステーク・ブロックチェーン・ネットワークであり得るため、マイニングノード１６０８は、マイニングノードとして含まれるためにデジタル資産を預託する。より具体的には、代替チェーンのマイニングノード１６０８は、第２のブロックチェーン・ネットワーク１６１６上でマイニングするために留め置き検証セットを形成する。これらのマイニングノード１６０８は、第１のブロックチェーン・ネットワーク１６１４に関連するコングレス１６１０のメンバーでもあり得る。つまり、第１のブロックチェーン・ネットワーク１６１４と第２のブロックチェーン・ネットワーク１６１６との両方の一部であり得るノード１６０６は、第２のブロックチェーン・ネットワーク１６１６のマイニングノード１６０８として、及び第１のブロックチェーン・ネットワーク１６１４上に確立されたコングレス１６１０のメンバーとして機能する。これらのマイニングノード１６０８は、上述した方法に従ってコングレス１６１０に加入し、コングレス１６１０に参加する。デジタル資産のコングレスプールへの預託は、メインチェーンで行われ得る。つまり、コングレス・メンバーは、自分の「出資金」をプローフオブワークの第１のブロックチェーン・ネットワーク１６１４に預託して、第１のブロックチェーン・ネットワーク１６１４のコングレス・メンバーになり、留め置き検証セットを形成することにより、第２のブロックチェーン・ネットワーク１６１６上のマイニングノード１６０８としても機能する。第１のブロックチェーン・ネットワーク１６１４上のメンバー預託金は、第２のブロックチェーン・ネットワーク１６１６のセキュリティ預託金として機能する。
【０１９３】
メンバーが保有する秘密キーシェアの量がそのメンバーのセキュリティ預託金の額に基づいている可能性があり、且つそのような預託金が悪意のある行動に関して没収の対象となるため、コングレスの活動に大きな影響を与えるメンバー（つまり、より多くの秘密キーシェアを保有するメンバー）は、影響力の少ないメンバーよりも多く失うことになることに留意されたい。コングレス１６１０は、十分な出資金をコングレス１６１０に関連するプールに提出すると、任意のノードが加入できるオープンメンバーシップ・グループであり得る。コングレス・メンバーが第２のブロックチェーン・ネットワーク１６１６上のマイニングノードであり得るため、コングレス・メンバーは、第２のブロックチェーン・ネットワーク１６１６上に新しいデジタル資産を形成して、デジタル資産を第１のブロックチェーン・ネットワーク１６１４から第２のブロックチェーン・ネットワーク１６１６に効果的に転送することができる。本明細書で図１７に関連して少なくとも説明するように、コングレス１６１０を使用して、プルーフオブワーク・ブロックチェーンとプルーフオブステーク・ブロックチェーンとの間に双方向のペグ（peg）を提供できる。
【０１９４】
図１６に示されるノード１６０２、１６０６、及び１６１２は、図２に関連して説明した電子装置２００等の電子装置であってもよい。
【０１９５】
図１７は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、双方向ペグを提供するための例示的なプロセス１７００をフローチャート形式で示す。例示的なプロセス１７００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１７に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システム又は双方向ペグを提供するための例示的なプロセス１７００を実行し得る。
【０１９６】
一実施形態では、例示的なプロセス１７００は、図１６に関連して説明したノード１６０６等のノードによって実行され、このノード１６０６は、第１のブロックチェーン・ネットワーク１６１４（つまり、プルーフオブワーク・ブロックチェーン・ネットワーク）と第２のブロックチェーン・ネットワーク１６１６（つまり、プルーフオブステーク・ブロックチェーン・ネットワーク）との両方で動作し、両方のネットワークとも図１６に関して説明した。コンピュータ可読命令は、そのようなノードのメモリに格納してもよく、これら命令は、ノードのプロセッサによって実行されると、プロセッサに例示的なプロセス１７００を実行させるように構成される。
【０１９７】
ステップ１７０２において、ノード（例えば、ノード１６０６）はコングレスに加入する。コングレスには、図４を参照して上述した方法で加入することができる。例えば、ノードは、１つ又は複数のデジタル資産をコングレス公開キーに関連する公開グループアドレスに転送できる。公開グループアドレスには、コングレスの他のメンバー（例えば、ノード１６０６等の他のノード）に関連する１つ又は複数の他のデジタル資産がある。ノードがコングレスに加入すると、ノードは、コングレスに代わって有効な署名を生成するために少なくともしきい値の秘密キーシェアを使用する必要があるしきい値署名方式で使用するための秘密キーシェアを生成する。上述したように、しきい値署名方式は、楕円曲線デジタル署名アルゴリズム又はシュノア方式に基づくしきい値方式を含む様々なタイプのものであり得る。
【０１９８】
秘密キーシェアの他の所有者は、それぞれのデジタル資産を公開グループアドレスに転送することにより、許可ベース又は非許可ベースでコングレスに加入したコングレスの他のメンバーであり得る。
【０１９９】
ステップ１７０４において、コングレスに加入したノードは、コングレスの他のメンバーと一緒にプルーフオブステーク・ブロックチェーン・ネットワーク上（例えば、第２のブロックチェーン・ネットワーク１６１６上）に留め置き検証セットを形成する。つまり、デジタル資産をセキュリティとして預託した（その預託金を本書では「担保（bonding）」と呼ばれ得る）後に、（第１のブロックチェーン・ネットワーク１６１４への預託金によって形成された）コングレスのメンバーは、ここで第２のブロックチェーン・ネットワーク（例えば、第２のブロックチェーン・ネットワーク１６１６）上のマイニングノードとして機能し、第２のブロックチェーン・ネットワークのための新しいブロックを定期的に生成する。
【０２００】
コングレスが形成された後に、ステップ１７０６において、コングレス・メンバーであるノードは、プルーフオブワーク・ブロックチェーン・ネットワーク上でのデジタル資産のグループ公開アドレスへの特別なトランザクションの確認を検出することができる。トランザクションは、このトランザクションがコングレスに加入するために使用されたトランザクションから区別する予め規定された基準を満たす場合に、特別であると判定され得る。例えば、特定のフラグ、変数、又は属性が含まれている場合に、トランザクションは特別であると判定され得る。
【０２０１】
特別なトランザクションを検出した後に、ノードは、少なくともしきい値数のブロックがプルーフオブワーク・ブロックチェーン・ネットワークのブロックチェーンに追加されるまで待機し得る。この待機期間によって、ステップ１７０６においてトランザクションを無効にする可能性のある、プルーフオブワーク・ブロックチェーン・ネットワーク上のブロックチェーンの可能な再編成のリスクを低減することができる。こうして、図１７に示されていないが、この方法は、特別なトランザクションの検出後に、少なくともしきい値数のブロックがプルーフオブワーク・ブロックチェーン・ネットワークのブロックチェーンに追加されたことを判定する動作を含み得る。
【０２０２】
しきい値数のブロックがプルーフオブワーク・ブロックチェーンに追加された後に、ノードは、（ステップ１７０８において）プルーフオブステーク・ブロックチェーン・ネットワーク上に対応するデジタル資産を生成する。これらのデジタル資産は、特別なトランザクションの検出に応じて生成してもよく、ステップ１７０６において検出された特別なトランザクションのデジタル資産の額に対応する額で生成してもよい。
【０２０３】
生成されたデジタル資産は、プルーフオブステーク・ブロックチェーン・ネットワーク上で、ステップ１７０６において特別なトランザクションを検出した公開キーの所有者に関連するアカウント内に置かれ得る。こうして、デジタル資産をプルーフオブワーク・ブロックチェーン・ネットワーク上のコングレスに転送する関係者は、プルーフオブステーク・ブロックチェーン・ネットワーク上のデジタル資産の制御（管理）を再開する。この関係者は、例えば、これらのデジタル資産を他のアカウントに転送する等、これらのデジタル資産を様々な方法で自由に使用できるようになる。
【０２０４】
生成は、選択されたコングレス・メンバーによって実行され得る。より具体的には、プルーフオブステーク・ブロックチェーン・ネットワークのマイニングノードとしても機能するコングレス・メンバー（例えば、図１６に関連して説明したマイニングノード１６０８等のマイナー）が、プルーフオブステーク・ブロックチェーン・ネットワークによってブロックを生成するために選択され得る。あるノードが選択される確率は、そのノードが出資したデジタル資産の額に基づく場合がある。確率は、ノードがコングレス公開キーに預託したデジタル資産の額に比例する場合がある。
【０２０５】
ある時点で、デジタル資産の所有者は、それらデジタル資産をプルーフオブワーク・ブロックチェーン・ネットワーク（つまり、メインチェーン）に戻したい場合がある。そのために、所有者は、デジタル資産をプルーフオブワーク・ブロックチェーン・ネットワークに戻す要求を発することができる。このような要求は、プルーフオブステーク・ブロックチェーン・ネットワーク上での特別なトランザクションの形式で発せられ得る。このトランザクションは特別な返却先アドレスへのトランザクションであるという点で特別で有り得、この返却先アドレスは、送信者がこれらの資金をメインチェーンに戻したいときに資金を送信するアドレスである。つまり、アドレスが特別なアドレスであるという点で、トランザクションは特別であり得る。ステップ１７１０において、ノードは、プルーフオブステーク・ブロックチェーン・ネットワーク上のデジタル資産を、プルーフオブワーク・ブロックチェーン・ネットワークに戻す要求を検出することができる。例えば、ステップ１７１０において、資金を特別なアドレスに送信するトランザクションのマイニングがあり得る。
【０２０６】
再編成を防ぐために、ノードは、ステップ１７１０において要求が検出された後に、少なくともしきい値数のブロックがプルーフオブステーク・ブロックチェーン・ネットワークのブロックチェーンに追加されるまで待機する場合がある。こうして、図１７に示されないが、例示的なプロセス１７００は、要求の検出後に、少なくともしきい値数のブロックがプルーフオブステーク・ブロックチェーン・ネットワークのブロックチェーンに追加されたことを判定する動作を含み得る。
【０２０７】
そのような要求を検出し、且つしきい値数のブロックがプルーフオブステーク・ブロックチェーンに追加されたと判定すると、ステップ１７１２において、ノードは、コングレスのその秘密キーシェアを使用して、公開グループアドレスからトランザクションのための有効な署名を協力して生成する。例えば、トランザクションに必要な情報を代替チェーンの含めることにより代替チェーンを介して又は直接的に、トランザクションをコングレス・メンバー同士の間で循環させることができ、メンバーは、有効な署名が取得されるまで自分の部分的な署名を追加することができ、有効な署名が取得された時点で、トランザクションは、プルーフオブワーク・ブロックチェーン・ネットワークのマイニングノード（例えば、図１６に関連して説明したマイニングノード１６０４）にブロードキャストされ得る。トランザクションは、デジタル資産を、（ステップ１７１０において検出された要求を発したノードに関連するアドレスであり得る）プルーフオブワーク・ブロックチェーン・ネットワーク上のアドレスに転送する。
【０２０８】
ステップ１７１０においてデジタル資産が転送される特別なアドレスは、返却先アドレスであり得る。こうして、ステップ１７１０におけるデジタル資産の転送は、２つのブロックチェーンに亘るデジタル資産の重複を防ぐために、プルーフオブステーク・ブロックチェーン上のデジタル資産を焼却する（つまり、破壊する）。
【０２０９】
セキュリティを強化するために、転送の操作の少なくとも一部を信頼できる実行環境のノードで実行され得る。例えば、少なくともしきい値数のブロックがプルーフオブステーク・ブロックチェーン・ネットワークのブロックチェーンに追加されたという決定は、ノード上の信頼できる実行環境内で実行され得る。ノードは、秘密キーシェアを使用する前に、信頼できる実行環境内であるテップ１７１０において検出した要求の有効性を確認することもできる。秘密キーシェアの生成及び使用も、信頼できる実行環境内で実行され得る。
【０２１０】
図１７に示される例示的なプロセス１７００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０２１１】
本明細書で説明するプロトコルのセキュリティをさらに強化するために、プロトコルには「一方向賭け攻撃（one-way  bet  attack）」から保護するための１つ又は複数の保護手段を含めることができることに留意されたい。一方向賭け攻撃の例は、不正行為者（つまり、悪意のある関係者に関連するノード）が、コングレスの管理下にある（つまり、コングレス公開キーによって制限される）デジタル資産の全て又は一部を転送するトランザクションをメインチェーン上に構築したときに発生する。不正行為者は、部分的な署名を追加するためにトランザクションを他のメンバーに提供する場合がある。メンバーに関連するしきい値数の秘密キーシェアが関係する場合に、有効な署名を生成できる。プロトコルで使用されているしきい値署名方式が集約（aggregate）署名方式ではない場合（例えば、ＥＣＤＳＡが使用されている場合）に、部分的な署名を提供したメンバーを特定するのは困難になり得る。不正行為が成功した場合に分配の期限を迎える可能性のあるメンバーは、部分的な署名をトランザクションに追加し、不正行為の関係者としての危険性を露呈することなしにトランザクションを通過させることができる。起こり得る最悪の事態は、完全な署名を取得するために不十分が部分的な署名が収集されることであるので、部分的な署名を追加することは、一方向の賭けとして見ることができる。従って、プロトコルには、一方向の賭けに対してプロトコルを保護するための１つ又は複数の機能が含まれる場合がある。例えば、各ノードのＴＥＥは、部分的に署名した全てのトランザクションを定期的に証明するように構成でき、及び／又は、預託金を回収する前にそのような証明をブロードキャストする必要があり得る。ノードが、（コングレス・メンバーのしきい値によって）不正なトランザクションであると後で判断されたトランザクションに部分的な署名を追加したことを証明する場合に、そのような悪意のある活動は、本明細書で説明するように他の誠実なメンバーノードによって検出され得る。そのような悪意のある活動が検出された場合に、誠実なメンバーノードは協力して、本明細書で説明するようにそのメンバーを一時保留状態にし、及び／又は本明細書で説明するようにそのメンバーのデジタル資産を没収することができる。この手法は、一方向の賭けからプロトコルを保護するのに役立つが、定期的な証明が使用されると、オーバーヘッドが発生する可能性がある。さらに、預託金の返却前に証明が必要な場合に、不正が長期間検出されない場合がある。
【０２１２】
プロトコルには、一方向の賭けから保護するために、他のセキュリティ対策が含まれ得る。例えば、Boneh、Gentry、Lynn、Shachamの「ＢＧＬＳ」スキーム等の集約署名方式（Aggregate  and  Verifiably  Encrypted  Signatures  from  Bilinear  Maps.  International  Conference  on  the  Theory  and  Applications  of  Cryptographic  Techniques  EUROCRYPT  2003:  Advances  in  Cryptology-  pp  416-432）を使用してもよい。集約署名を使用すると、異なる署名者が異なるメッセージに署名できるが、１つの署名だけが生成され、この署名は「シングルショット」で検証できる。
【０２１３】
ＢＧＬＳを使用するために、各メンバーのＴＥＥは、メインチェーンで使用されるしきい値署名方式のための単一の秘密キーシェアとＢＧＬＳ秘密キーとを保持できる。ＢＧＬＳ秘密キーに対応する公開キーは、シェアＩＤ（「ＳＩＤ」）と呼ばれ得る。ＢＧＬＳ秘密キーは、ＴＥＥ内の安全な乱数発生器を使用して生成された乱数であり得る。しきい値署名方式の秘密キーシェアは、他者間（multiparty）キー生成プロトコルを使用してＴＥＥ内で計算されたシェアであり得る。
【０２１４】
ＢＧＬＳは、以下の方法で、一方向の賭けに対する安全な保護を提供できる。本明細書で説明するように、ノードが登録の目的でコングレス公開キーを分配する場合に、登録トランザクションには、エンクレーブが確認したメインチェーン上の最新ブロックの数（番号）及びハッシュと、第２のブロックチェーン（つまり、代替チェーン）上の最新のブロックの数（番号）及びハッシュが含まれ、これらは、メンバーとクォート（quote）（ＴＥＥの証明キーによって署名され、且つＳＩＤに結合されたエンクレーブ内のメモリの最初のコンテンツのハッシュ）との間のブロードキャスト・チャネルとして使用できる。
【０２１５】
ＴＥＥが登録トランザクションに必要なデータを提供することを要求する前に、メンバーは、メインチェーン及び第２のブロックチェーン上の全てのブロックを、各ブロックチェーンのジェネシス・ブロックから開始するＴＥＥ内に順次に送信する必要がある。ＴＥＥは、メインチェーン上の作業証明をチェックし、現在の構成員の記録を保持するように構成でき、これは、登録及び登録解除トランザクションを解析することで取得できる。これにより、ＴＥＥが、（例えば、所有者等から）独立して、最新のＳＩＤを確立することができる。つまり、ＴＥＥが、コングレスの現在の全てのメンバーに対応するＳＩＤを確立することができる。
【０２１６】
登録するために、（見込みのある）メンバーは、コングレスの公開グループアドレスに転送可能な登録トランザクションを構築、署名して、メインチェーンであるブロックチェーン・ネットワーク（例えば、第１のブロックチェーン・ネットワーク１６１４）にブロードキャストすることができる。登録トランザクションは、少なくとも１つのキーシェアに十分なＵＴＸＯを参照する。登録トランザクションがメインチェーンで確認されると、コングレスのメンバーは協力して、本明細書で説明するように、新しいキーシェアを登録されたメンバーのＴＥＥに発行できる。
【０２１７】
コングレスがコングレス公開キーによって制限されたデジタル資産のトランザクションを開始するのを望む場合に、コングレスのノードは、第２のブロックチェーン・ネットワーク（つまり、代替チェーン）上でトランザクション（つまり、本明細書で「トランザクションＴ（Ｍ）」として示される）を提案することができる。トランザクションＴ（Ｍ）は、この時点で、デジタル資産をメインチェーンＭ上に転送することを目的とした未署名のトランザクションであり、これは、代替チェーンＡで提案される場合がある。つまり、第２のブロックチェーン・ネットワーク（つまり、代替チェーン）は、ブロードキャスト・チャネルとして使用され得る。あるメンバーが何らかの情報を他の全てのメンバーに伝えたい場合に、それら情報をトランザクションに入れて、このトランザクションを代替チェーンに送ることがある。
【０２１８】
トランザクションＴ（Ｍ）は、少なくともしきい値数のブロックが第２のブロックチェーン・ネットワークの上でマイニングされると、第２のブロックチェーン・ネットワーク（例えば、代替チェーン）で承認されたとみなされ得る。ＴＥＥは、第２のブロックチェーン・ネットワーク（つまり、代替チェーン）上でトランザクションが承認（つまり、提案及び確認）されたことを確認すると、事前コミット（precommit）をブロードキャストする。事前コミットは、トランザクションＴ（Ｍ）上のＢＬＧＳ署名と、ＢＬＧＳ署名に対応するＳＩＤとで構成され得る。事前コミットは、第２のブロックチェーン・ネットワークに送信され、他のコングレス・メンバーとシェアされる。つまり、事前コミットは、第２のブロックチェーン・ネットワーク上のトランザクションにカプセル化できる。
【０２１９】
ノードによって、より具体的には（メインチェーンと第２のブロックチェーン・ネットワークとの両方のブロックが入力される）ＴＥＥによって、しきい値の事前コミットが確認されると、ノードは、事前にコミットしたコミット（部分的な署名）をトランザクションＴ（Ｍ）上に出力することができる。しきい値は、例えば、現在の全てのＳＩＤの単純な過半数に設定され得る。トランザクションに含まれるコミットは、Ｔ（Ｍ）を参照するＴ（Ｍ）の部分的な署名を含む第２のブロックチェーン・ネットワークに送信され得る。
【０２２０】
完全な署名を構築するために、少なくともしきい値数のコミットが第２のブロックチェーン・ネットワークで確認されると、署名されたトランザクションＴ（Ｍ）が、構築され、且つ第１のブロックチェーン・ネットワーク（例えば、メインチェーン）にブロードキャストされ得る。
【０２２１】
集約署名方式のプロパティが、メンバーが自分の身元を明かさずに事前コミットに寄与できないことを意味するため、事前コミットの使用は、追加のセキュリティを与えることができる。つまり、それらの身元はＳＩＤの形式で公開され得、このＳＩＤは、登録手続き中にメンバー預託金に関連付けられる。
【０２２２】
上述した対策に加えて、ノードに関連するＴＥＥは、トランザクションが第２のブロックチェーン・ネットワーク上で承認された場合にのみコミット又は事前コミットされるようにさらに構成できる。例えば、全てのブロックは、ＴＥＥ内で構築することができ、ブロックが（ＴＥＥのＳＩＤに対応し、ＴＥＥ内で構築された）それら事前コミット又はコミットを必要とする承認済みトランザクションへの事前コミット又はコミットを常に含むように構成される。その結果、メンバーは、承認済みトランザクションへのコミット又は事前コミットメントの送信を控えることができず、代替チェーンでマイニングを継続し得る。
【０２２３】
第２のブロックチェーン・ネットワーク上の未承認トランザクションに対する事前コミットを監視するノードは、このような悪意のある行動を、留め置き検証セットの他のメンバーに報告することができる。（ＳＩＤで識別される）悪意のあるメンバーは、上述したようにメンバー預託金の一時保留及び／又は没収により罰せられる場合がある。例えば、未承認トランザクションに対する事前コミットメントの監視に応じて、構成員は協力してＳＩＤを即座に一時保留状態にし、それ以上事前コミットメントを受け取ることがなくなり、有罪メンバーのプロトコルへの参加を一時保留状態にすることができる。さらに、有罪の証拠を含むトランザクションが第２のブロックチェーン・ネットワークで確認されると、有罪メンバーの預託金は没収され、預託金は焼却される。誠実なメンバーは協力して、悪意のある行動を報告したノードを（例えば、没収したデジタル資産の少なくとも一部を、悪意のある行動を報告したノードに転送することにより）補償することができる。こうして、事前コミット段階で集約署名方式を適用すると、例えば、一方向の賭け攻撃を防ぐことで、プロトコルのセキュリティを強化することができる。
【０２２４】
ＴＥＥを欺いてメインチェーン内の作業証明の現在の難易度が現在のその難易度よりも低いと判定させようとするメンバーを防ぐために、ＴＥＥは、難易度の急激な低下が観察されたときに行動を取るように構成され得る。より具体的には、ブロックが到着した際にブロックがＴＥＥに送信される場合に、ブロック同士の間の時間間隔から難易度を確立できる。難易度の低下は緩やかであると予想され得、急激な低下（低下は、予め規定された基準に基づいて「急激」と判定され得る）は、ブロックが到着した際にブロックを提供せずにＴＥＥを欺こうとするメンバーによって引き起こされ、難易度が下がったように見せかけて、プルーフオブワークのメインチェーンのブロックを偽装し易くする場合がある。更なるセキュリティを与えるために、ＴＥＥは、第２のブロックチェーン・ネットワークにマイニングされる新しい難易度への事前コミットを（ブロックのハッシュ及びブロック番号とともに）出力することにより、メインチェーンの難易度の急激な低下に応答するように構成され得る。ブロックのハッシュを含めると、ブロックが新しい難易度に対応することを確認でき、ブロック番号を含めると、他のメンバーが、主張された難易度／ブロックハッシュをブロックチェーンのコピーの同じ高さのブロックと素早く比較できるようになる。
【０２２５】
その同じ難易度に対するしきい値の事前コミットメント（これは難易度が急激に低下する前に預託金があった他のメンバーに対応する）を含む第２のブロックチェーンのブロックが提供されている場合にのみ、それは、メインチェーンの難易度を再調整し、難易度の急激な低下が確認されたため、メインチェーンに登録される新しいメンバーを受け入れることができる。
【０２２６】
ＢＧＬＳ等の集約署名方式が使用される場合に、メンバー預託金の返却手続きには追加要件が含まれる場合がある。例えば、預託金の返却を要求するノードは、秘密キーシェアとＢＧＬＳ秘密キーとの両方の削除を（そのＴＥＥを介して）証明する必要があり得る。他のメンバーノードは、その脱退メンバーが秘密キーシェアとＢＧＬＳ秘密キーとの両方を削除することを証明した場合に、メンバー預託金を脱退メンバーに返却するトランザクションに事前コミット又は部分的な署名のみを含めるように構成され得る。
【０２２７】
脱退メンバーのノードは、ＴＥＥを介して、事前にコミット又はコミットした全てのトランザクションを証明する必要もあり得る。他のメンバーノードは、脱退メンバーが未承認であると判定されたトランザクションに事前コミットしていない場合に、メンバー預託金を脱退メンバーに返却するトランザクションに事前コミット又は部分的な署名のみを含めるように構成され得る。
【０２２８】
上記の手順により、悪意のあるメンバーが、ＴＥＥからのブロックを保留することから利益を得ることは殆どない。（確認済みＳＩＤに対応するもの以外の）ＴＥＥが有効とみなされ得る唯一の事前コミットは、もはや存在しないＢＬＧＳ秘密キーに対応するものである（そして、これがかなりの確率で発生し得る唯一の方法は、メンバーが最新のブロックをＴＥＥに提供しなかった場合であり、ＴＥＥは、実際に一部のメンバーがコングレスを退会し、自分のキーシェアを削除し、自分のメンバー預託金を回収したときに、一部のメンバーを最新として登録した）。さらに、上記の結果として、メンバーは、不正行為的な（つまり、未承認の）トランザクションの事前コミットメントを提供し、その後、コングレスによる預託金の返却を許可することをＴＥＥに納得させない場合がある。こうして、メンバーは、ＴＥＥがブロックチェーン（つまり、メインチェーン及び代替チェーン）の最新のコピーを有していることを確認するように動機付けられ得る。
【０２２９】
こうして、次の機能の１つ又は複数を含むプロトコルに従って動作するようにノードを構成することにより、プロトコルを保護できる：（ｉ）ＴＥＥは、部分的な署名を事前コミットされたトランザクションに出力する前に、しきい値の事前コミットメントが第２のブロックチェーン・ネットワーク（例えば、プルーフオブステークの代替チェーン）で確認されることを要求するように構成され得る；（ｉｉ）メンバー預託金は、そのメンバーのＴＥＥが、秘密キーシェア及びＢＧＬＳ秘密キーの削除と、全てのトランザクション（事前にコミットされており且つこれらのいずれも（第２のブロックチェーン・ネットワークでのコンセンサスにより）未承認であると判断されている）とを証明する場合にのみ返却され得る；（ｉｉｉ）ＴＥＥ内で構築されたブロックには、それらを必要とする承認済みトランザクション（しきい値の（事前）コミットメントを未だ収集していない承認済み／事前コミット済みトランザクション）に対する（事前）コミットメントが常に含まれ得る；（ｉｖ）ＴＥＥは、新しい難易度に対する事前コミットを（ブロックのハッシュとともに）第２のブロックチェーン・ネットワークにマイニングするように出力することにより、メインチェーンの難易度の確認される急激な低下に応答するように構成され得る。同じ難易度に対するしきい値の事前コミットメント（これは難易度が急激に低下する前に預託金があった他のメンバーに対応する）を含む第２のブロックチェーンのブロックが提供されている場合にのみ、それは、メインチェーンの難易度を再調整し、難易度の急激な低下が確認されたため、メインチェーンに登録される新しいメンバーを受け入れることができる。
【０２３０】
本明細書で説明する第２のブロックチェーン・ネットワークをサポートするプロトコルは、メインチェーン（例えば、ビットコイン）の外部の他者間プロトコルを介してデジタル署名の構築を通じて対話するため、許可なしに、ビットコイン等の既存のパブリック・プルーフオブワーク・ブロックチェーン・プロトコルの上に階層化でき、これは、そのプロトコルが、メインチェーンのマイナーや開発者の同意を必要とせずに動作する可能性があることを意味する。従って、プロトコルは、既存のパブリック・プルーフオブワーク・ブロックチェーンの「上で」実装することができ、そのパブリック・プルーフオブワーク・ブロックチェーンのプロトコルの変更を条件としない場合がある。この意味で、更なるプロトコルに対応するためにブロックチェーン・プロトコル自体を変更する必要がないため、プロトコルを、許可なしで（つまり、許可を必要とせずに）ブロックチェーンに追加できる。
【０２３１】
本明細書で説明する例示的なプロセスは一般にノードで実行されるものとして説明したが、本明細書で説明する例示的なプロセスの機能は、他のノードとの協力（連携）に依存しており、本明細書で説明するような他のコンピュータ装置によって実行できることに留意されたい。さらに、上記の説明では、一般に、プルーフオブワーク・ブロックチェーン・ネットワークで実装されるコングレスについて説明しているが、コングレスは、代わりに、プルーフオブステーク・ブロックチェーン・ネットワークで実装することができる。
【０２３２】
既に述べた特定の利点及び機能に加えて、本明細書で説明する技術は追加の利点を提供し得る。例えば、双方向のペグにより、チューリング完全（Turing  complete）ブロックチェーンベースのコンピュータプログラム機能を、既存のプルーフオブワーク・ブロックチェーン（ビットコイン等）及びプルーフオブステーク代替チェーンで構成されるバイナリ・ブロックチェーンシステムに追加できる。より具体的には、このような機能は、チューリング完全スクリプト言語を用いてプルーフオブステーク代替チェーンを与えることで実現され得る。さらに、本明細書で説明する技術の少なくともいくつかは、以前示唆したプルーフオブステーク・ブロックチェーンの実装の出資時に何も無い問題に悩まされないプルーフオブステーク・ブロックチェーンや、従来のプルーフオブステーク方式に関連するより速く、より定期的なブロック作成の利点を提供することができる。さらに、本明細書で説明する少なくともいくつかの技術は、プルーフオブステーク・メインチェーンのマイナーが、かなりの数のデジタル資産を保持する理由を与え、これはプルーフオブワーク・メインチェーンのセキュリティを高める。
【０２３３】
図１８は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、ブロックチェーン及びゴーストチェーンが実装され得る例示的な環境１８００をブロック図形式で示す。
【０２３４】
ブロックチェーン１８０２は、本明細書で説明するようなブロックベースのプルーフオブワークの分散型台帳であり得る。同様に本明細書で説明するようなゴーストチェーン１８０４は、例えば、ブロックチェーン・ネットワーク内のノード同士の間の紛争を仲裁するために使用され得る、ブロックベースのプルーフオブステークの分散型台帳であり得る。例えば、ブロックチェーンは、あるノードが別のノードによって提出された作業成果物に異議を申し立てる異議申立て１８０６を含み得る。異議申立て１８０６は、例えば、ノード（つまり、異議申立者）が、要求の履行の際に提案された結果が無効であることを示す場合に発生し得る。
【０２３５】
異議申立て１８０６がノードによって提起されると、ゴーストチェーン１８０４が展開され得る。異議申立てに応答して異議申立て１８０６が発生した後に、ゴーストチェーンをインスタンス化することができる。ゴーストチェーンは、ゴーストチェーンの以前のインスタンス化による最終ブロック（末端ブロックとも呼ばれる）であるジェネシス・ブロックでインスタンス化され得る。ゴーストチェーンが判断（judgement）１８０８に達するまで、ノードをマイニングすることによりいくつかのブロックをゴーストチェーンに追加して、デジタル紛争を解決することができる。
【０２３６】
判断１８０８に達したときに、トランザクション（以下で最終トランザクション又は決済トランザクションと呼ばれる）が、構築され、（以下でより詳細に説明するように）署名され得る。このトランザクションは、判断１８０８に従って資金をメインブロックチェーン１８０２に分配する、資金をゴーストチェーンのマイニングノードに分配する等の効果を有するトランザクションであり得る。トランザクションは、判断の結果をメインブロックチェーン１８０２に返信することもできる（例えば、トランザクションは判断ブロック１８１０にマイニングされ得る）。より具体的には、結果はトランザクションにカプセル化され得る。
【０２３７】
判断に達し、最終トランザクションが構築及び署名された後に、ゴーストチェーン１８０４は終了し、構築されたトランザクションは、判断ブロック１８１０においてメインブロックチェーン１８０２にマイニングされ得る。ゴーストチェーン１８０４は終了するため、ゴーストチェーンには末端ブロックがあるという点で、典型的なブロックチェーンとは異なり得る。ゴーストチェーン１８０４の最後のブロックであり得るこの末端ブロックは、判断（例えば、ゴーストチェーン１８０４の判断ブロック１８０８）が決定されると発生し、この判断に従って資金をメインブロックチェーン１８０２に分配し、資金をゴーストチェーンのマイニングノードに分配する等の結果のトランザクションは、有効に署名される。
【０２３８】
従って、ブロックチェーン・ネットワーク内のノードは、要求者−提案者−異議申立者プロトコル及び／又はゴーストチェーンの解決プロトコルを実装できる。そのようなノードは、図２に関連して説明したメモリ２２０等のメモリに格納され、そのようなプロトコルを実装するコンピュータ実行可能命令を含み得る。そのような命令は、図２に関連して説明したプロセッサ２１０等のプロセッサによって実行されると、ノード（図２に関連して説明したタイプの電子装置２００等）に、要求者−提案者−異議申立者プロトコル及び／又はゴーストチェーンの解決プロトコルに関連する１つ又は複数の方法を実行させる。そのような方法は、本明細書で説明する例示的なプロセス１９００、２０００、２１００、又は２２００のいずれか１つ又は組合せを含み得る。
【０２３９】
ここで、図１９〜図２２を参照すると、これらの図は、要求者−提案者−異議申立者プロトコル及び／又はゴーストチェーンの解決プロトコルに含まれ得る方法を示している。要求者の方法（Requester  method）（例えば、図１９に示される例示的なプロセス１９００の方法）は、計算タスク分散システム内のタスクの要求者によって実行され得る。つまり、タスクの完了を要求するノードは、図１９に示される要求者の方法を実行し得る。一実施形態では、ノードはブロックチェーン・ネットワーク内のノードであり、ノードは要求者と呼ばれ得る。
【０２４０】
提案者の方法（Proposer  method）（例えば、図２０に示される例示的なプロセス２０００の方法）は、タスクに対する解に関する提案者によって実行され得る。つまり、タスクを完了したと主張するノードは、図２０に示される提案者の方法を実行し得る。ノードはブロックチェーン・ネットワーク内のノードであり、ノードは提案者と呼ばれ得る。
【０２４１】
異議申立者の方法（Challenger  method）（例えば、図２１に示される例示的なプロセス２１００の方法）は、タスクに対する解に関する異議申立者によって実行され得る。つまり、提案者によって提示された解に異議を申し立てるノードは、図２１に示される異議申立者の方法を実行し得る。ノードはブロックチェーン・ネットワークのノードであり、ノードは異議申立者と呼ばれ得る。
【０２４２】
仲裁者の方法（例えば、図２２に示される例示的なプロセス２２００の方法）は、ブロックチェーン・ネットワークの他のノードと協力して、ブロックチェーン・ネットワークのノードによって実行され得る。他のノードと協力して仲裁者の方法を実行するノードは、仲裁者と呼ばれ得る。
【０２４３】
図１９〜図２２の例示的なプロセス１９００、２０００、２１００、及び２２００で説明する方法は、協同して実行され、本明細書で説明するように、ゴーストチェーンが提案側文字列の有効性を判定する（及び／又は、提案側文字列が異議申立ての対象である場合の異議申立側文字列の有効性を判定する）ために使用される要求者−提案者−異議申立者プロトコルをまとめて提供する。
【０２４４】
図１９は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクの完了を要求するための例示的なプロセス１９００をフローチャート形式で示す。例示的なプロセス１９００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図１９に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクの完了を要求するための例示的なプロセス１９００を実行し得る。図１９に示される例示的なプロセス１９００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０２４５】
図２０は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解を提案するための例示的なプロセス２０００をフローチャート形式で示す。例示的なプロセス２０００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図２０に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解を提案するための例示的なプロセス２０００を実行し得る。図２０に示される例示的なプロセス２０００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０２４６】
図２１は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解に異議を申し立てるための例示的なプロセス２１００をフローチャート形式で示す。例示的なプロセス２１００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図２１に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解に異議を申し立てるための例示的なプロセス２１００を実行し得る。図２１に示される例示的なプロセス２１００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０２４７】
図２２は、図３に関連して説明したような及び一実施形態による、ブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解に対して異議申立者を仲裁するための例示的なプロセス２２００をフローチャート形式で示す。例示的なプロセス２２００は、図１に関連して説明したブロックチェーン・ネットワーク１００等の、ブロックチェーン・ネットワークの図１に関連して説明したノード１０２のうちの１つ等のノードによって実行され得る。つまり、図１に関連して説明したノード１０２のうちの１つ等のノードは、図２２に関連して説明するブロックチェーン・ネットワークに関連する計算タスク分散システムに関して、タスクに対する解に対して異議申立者を仲裁するための例示的なプロセス２２００を実行し得る。図２２に示される例示的なプロセス２２００で実行される１つ又は複数の動作は、並列を含む様々な順序及び組合せで実行され得ることに留意されたい。
【０２４８】
例示的なプロセス１９００のステップ１９０２において、ノード（本明細書では「要求者」と呼ばれ得る）が要求を行う。要求は、タスクを完了するための要求であり得る。例えば、タスクは作業成果物の要求であり得る。より具体的には、そのタスクは、プロセッサ作業成果物（すなわち、プロセッサが計算の出力等の規定された作業成果物を生成するための）の要求であり得る。タスクは、費用のかかる計算、金融契約等の外部ソースからの入力を必要とするタスク、又はアルゴリズムや文書等の特定のプロパティを有するデータを生成するタスクであり得る。要求は、タスクの成功裏の完了と引き換えに、ブロックチェーン・ネットワーク（例えば、図１に関連して説明したブロックチェーン・ネットワーク１００）に関連するデジタル資産の形式で報奨金を提供する。要求は、ブロックチェーンの外部（つまり、「オフチェーン」）から発せられ得る。例えば、要求は、インターネット経由でアクセス可能なＷｅｂサーバで発せられ得る。要求に対する候補解が一定期間（ここでは「異議申立て期間」と呼ばれ得る）異議申立てされないとき、又は計算をゴーストチェーンで再実行することにより異議申立てが解決し得る場合に、候補解がオンチェーン計算の結果と一致することが判明したときに、要求は、成功裏に完了したと規定され得る。
【０２４９】
（ステップ１９０２において）要求は、計算タスク分散システムで発せられ得る。計算タスク分散システムは、様々な要求者によって要求されるタスクのコレクションを含み得る。例えば、複数のタスクが計算タスク分散システムで発行され得る。タスクは、同じ要求者又は別の要求者によって発行され得る。計算タスク分散システムにより、ノードが、計算又はアルゴリズムのパフォーマンスを他のノードにオフロードできる。
【０２５０】
例示的なプロセス２０００のステップ２００２において、本明細書で提案者と呼ばれるノードが要求を特定する。次に、ノードは、（ステップ２００４において）タスクをオフチェーンで完了するよう進む。例えば、要求者によって要求されたアルゴリズム、データ、又は他の結果は、プロセッサによる作業成果物として取得される場合がある。
【０２５１】
次に、提案者は、例示的なプロセス２０００のステップ２００６において提案を提出することができる。提案は、例示的なプロセス１９００のステップ１９０２において要求者によって発せられた要求に関連するタスクを完了したという主張であり得る。提案を提出するために、提案者は、ブロックチェーン・ネットワークの公開キーを要求者に送信することができる。提案者は、タスクに対する解にコミットすることもできる。このコミットは、解のハッシュ（つまり、計算の出力や別のタイプの解等の作業成果物のハッシュ）の形式にすることができる。
【０２５２】
要求者は、例示的なプロセス１９００のステップ１９０４において提案を受け取る。例えば、要求者は、提案者の公開キー及び「コミット」（例えば、目的の作業成果物のハッシュ）を受け取ることができる。
【０２５３】
提案の受取りに応じて、例示的なプロセス１９００のステップ１９０６において、要求者は、トランザクションＴ１を構築することができる。トランザクションＴ１には、入力として報奨金が含まれる。トランザクションには、出力として報奨金と提案者の預託金（つまり、Ｔ１の出力、Ｔ１＿ｏｕｔ＝報奨金＋提案者の預託金）とが含まれる。トランザクションＴ１に署名して、提案者が自分の入力に追加できるようにし得る。例えば、トランザクションＴ１は、ＳＩＧＨＡＳＨ＿ＡＬＬ｜ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹに署名され得る。ＳＩＧＨＡＳＨ＿ＡＬＬは、署名スクリプトを除くトランザクション全体に署名するデフォルトの署名ハッシュタイプであり得、署名された部分の変更を防止する。ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹは、現在の入力のみに署名する署名ハッシュタイプであり得る。
【０２５４】
トランザクションＴ１は、２つの方法でロック解除されるように構築することができる。（後述する）異議申立て期間の終了後に、そのトランザクションＴ１は、提案者の署名（つまり、提案者が要求者に提供した公開キーに対応する署名）とコミットに対応する解でロックを解除できる。例えば、命令コードＯＰ＿ＣＨＥＣＫＳＥＱＵＥＮＣＥＶＥＲＩＦＹを使用して、異議申立て期間に亘ってトランザクションをロックできるが、この期間内に異議申立てがない場合に、提案者によってロックを解除できる。トランザクションＴ１は、上述したようにいつでもコングレスのグループ署名でロック解除されるように構築することもできる。つまり、コングレスのしきい値署名方式に従って、コングレスのメンバーであるノードが協力してそれぞれの秘密キーシェアを使用し、トランザクションＴ１をロック解除するときに、異議申立て期間の終了前又は後にトランザクションＴ１をロック解除することができる。
【０２５５】
トランザクションＴ１には、コミット等の疑わしい（未確認の）解に関する情報も含まれる場合がある。例えば、ＯＰ＿ＰＵＳＨＤＡＴＡ命令コードを使用して、目的の作業成果物のハッシュをトランザクションＴ１に追加することができる。より具体的には、目的の成果物のハッシュをトランザクションＴ１のロックスクリプトに追加することができる。このロックスクリプトは、ロックスクリプトに含まれる目的の作業成果物のハッシュにハッシュする解を与えるロック解除スクリプトによって（異議申立て期間の終了後に）ロック解除されるように構成できる。
【０２５６】
図１９及び図２０に示されていないが、提案者は、ステップ１９０６において構築されたトランザクションＴ１を受け取り、提案者の預託金を入力としてトランザクションＴ１に追加することができる。提案者は、トランザクションをブロックチェーン・ネットワークの他のノードにブロードキャストする。トランザクションＴ１は、ブロックチェーン上でマイニング（つまり、ブロックに追加）され、公開される。
【０２５７】
トランザクションＴ１がブロックチェーンにマイニングされると、異議申立て期間が開始され、その間に、任意のノードが提案者によって提出された提案に異議を申し立てることができる。異議申立て期間中に異議申立てがなされなかった場合に、提案者は、トランザクションＴ１から報奨金及び提案者の預託金を請求することができる。提案者は、異議申立て期間に残っている時間を追跡するためにタイマーを開始し、異議申立て期間が終了すると自動的にアクションを取ることができる。例えば、提案者は、作業成果物（本明細書では解と呼ばれ得る）を要求者に提供し、トランザクションのロックを解除できる。
【０２５８】
提案者は、要求者に解を直接提供することはできない。代わりに、提案者は、メインブロックチェーン・ネットワーク上のトランザクションに解を埋め込むことにより解を提供できる。例えば、提案者は、報奨金及び提案者の預託金を制限する（トランザクションＴ１内の）ロックスクリプトをロック解除するロック解除スクリプト（例えば、Ｔ１のロックスクリプトをＴＲＵＥと評価するロック解除スクリプト）で解を提供できる。上述したように、ロックスクリプトは、ロック解除スクリプト内の提案される解が、要求者が提案者によって以前に与えられた値（つまり、「コミット」）にハッシュすることを確認するように構成され得る。ロック解除スクリプトが、トランザクションＴ１のロックスクリプトによって以前制限されたデジタル資産（つまり、トランザクションＴ１のＵＴＸＯ）を制限するロックスクリプトを成功裏にロック解除すると、ロック解除スクリプトを含むトランザクションは、デジタル資産（つまり、提案者の預託金及び報奨金）を新しいロックスクリプト（これは、例えば、提案者の公開キーを使用してデジタル資産を制限し、提案者がデジタル資産を完全に制御できるようにする）で制限することによってトランザクションをロック解除する。
【０２５９】
上述したように、トランザクションＴ１は、ＯＰ＿ＣＨＥＣＫＳＥＱＵＥＮＣＥＶＥＲＩＦＹコードを使用して、報奨金及び提案者の預託金をロックするように構築することができる。これにより、提案者が、異議申立て期間の終了後に、要求者からの更なる承認なしに、報奨金及び提案者の預託金を自動的に請求できる。
【０２６０】
提案者の解に対して異議申立てがない場合に、異議申立てプロトコル又はゴーストチェーンプロトコルの実行を必要とせずに、プルーフオブワーク・メインブロックチェーンで完全なトランザクションを実行できることに留意されたい。
【０２６１】
しかしながら、異議申立者は異議申立て期間中に異議申立てを行うことができる。例えば、例示的なプロセス２１００のステップ２１０２において、異議申立者は異議申立てを行う。異議申立者は、例示的なプロセス２０００のステップ２００２及びステップ２００４と同様の動作を行うことができる。つまり、異議申立者は、要求を特定し、ステップ２１０２において異議申立てを行う前にタスクをオフチェーンで完了させ得る。また、異議申立者は、異議申立者の解が提案者の解と異なると判定することにより、異議申立てを行う必要があると判断し得る。例えば、異議申立者は、自分の解のハッシュを実行し、そのハッシュを提案者の解のハッシュと比較することができ、ハッシュが異なる場合に、異議申立者は異議申立てを行うことができる。
【０２６２】
図２１の例示的なプロセス２１００のステップ２１０２において、異議申立者は、異議申立て期間内に異議申立てを行う。異議申立者は、異議を申し立てる意図をブロックチェーン・ネットワークにブロードキャストすることにより、異議申立てを行うことができる。異議申立てがなされると、ノードのグループが、解の有効性を判断するのに支援することができる。
【０２６３】
例えば、ノードのグループがコングレスを形成し、このコングレスは、異議申立てが提起されたときに仲裁を行うために使用され得る。上述したように、コングレスは、プルーフオブワーク・ブロックチェーン・ネットワーク上のデジタル資産の預託によって保証される。例示的なプロセス２２００のステップ２２０２において、仲裁者の例示的なプロセス２２００を実行する仲裁者は、上述したようにコングレスに加入することができる。従って、ステップ２２０２において、仲裁者は、コングレスに関連する公開グループアドレスにデジタル資産を、コングレスと呼ばれ得るグループに預託することにより加入して、グループメンバーになる。仲裁者は、プルーフオブワーク・ブロックチェーン・ネットワーク上でこの預託を行う。上述したように、グループは、ノードが秘密キーシェアを制御するためのしきい値署名方式に関連付けられてもよい。グループへの加入（登録とも呼ばれ得る）は、例えば、ゴーストチェーンの展開中に行われ得る。図２２は、ステップ２２０２（コングレスへの加入）がステップ２２０６（ゴーストチェーンの展開）の前に行われるのを示しているが、ステップ２２０２は、ゴーストチェーンの以前の展開中（つまり、ステップ２２０６における展開中ではない）にコングレスに加入したノードによって実行され得る。しかしながら、ステップ２２０６、ステップ２２０８、及びステップ２２１０は、例えば、ステップ２２０６中にグループに加入するノードによって実行してもよい。
【０２６４】
ステップ２２０４において、仲裁者は、グループの他のノードと協力して、例示的なプロセス２１００のステップ２１０２において異議申立者によってなされた異議申立てを検出する。より具体的には、仲裁者は、グループの他のノードと協力して、要求者が行った要求に応じて提案者の作業成果物に対する異議申立者による異議申立てを検出する。
【０２６５】
上述したトランザクションＴ１により、異議申立てがなされると、グループは、報奨金及び提案者の預託金の管理を引き継ぐ。つまり、トランザクションＴ１は、いつでもコングレスによってロック解除可能になるように構築され得る。従って、報奨金及び預託金はグループの管理下に置かれ、維持される。こうして、異議申立てが発生するかどうかに関係なく、グループは、報奨金及び提案者の預託金を管理する。一実施形態では、異議申立てが検出されると、グループは、異議申立てに関連するロック解除トランザクションに共同して署名して、本明細書で説明するように分配金及び／又は預託金を分配する。本明細書で説明するように、分配金及び／又は預託金は、いつでもグループによって償還可能であるが、関連するタイムアウト期間後に、提案者（又は、成功した場合は異議申立者）によってのみ償還可能である。
【０２６６】
グループが報奨金及び提案者の預託金を管理した後に、異議申立者の検出に応じて、仲裁者は、グループの他のノードと協力して、異議申立者によるデジタル資産の預託を促進することができる。例えば、異議申立ての検出に応じて、コングレスは、報奨金及び提案者の預託金に等しい入力（例えば、Ｔ２＿ｉｎ＝報奨金＋提案者の預託金）と、報奨金、提案者の預託金、及び異議申立者の預託金の合計に等しい出力（例えば、Ｔ２＿ｏｕｔ＝報奨金＋提案者の預託金＋異議申立者の預託金）とを含むトランザクションＴ２を構築することができる。トランザクションＴ２は、いつでもグループに配布するように構成できる。つまり、トランザクションＴ２は、コングレス公開キーに配布するように構成できる。トランザクションＴ２は、ＳＩＧＨＡＳＨ＿ＡＬＬ｜ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹに署名され得る。仲裁者は、他の仲裁者とともに、異議申立者の預託金を入力として追加するために、トランザクションＴ２を異議申立者に提供できる。例えば、仲裁者は、他のノードと一緒に、トランザクションＴ２を他のノードに公開できる。
【０２６７】
トランザクションＴ２が公開された後に、異議申立者は、異議申立者の預託金を入力としてトランザクションＴ２に追加する。つまり、異議申立者は、デジタル資産の預託金を（例示的なプロセス２１００のステップ２１０４において）提供し、そのような預託金をグループの管理下に置く。より具体的には、異議申立者の預託金は、コングレス公開キーの管理下に置かれ得る。従って、報奨金、提案者の預託金、及び異議申立者の預託金は、全てグループの管理下に置かれ、コングレス公開キーによって制限される。上記のコングレスの説明で詳細に説明したように、しきい値署名方式により、しきい値の数のコングレス・メンバーが、それぞれの秘密キーシェアを使用して、報奨金、提案者の預託金、及び異議申立者の預託金を含むトランザクションの有効な署名を協力して生成できる。提案者の預託金と異議申立者の預託金とが、同じサイズである場合がある。
【０２６８】
異議申立者は、異議申立ての解にコミットすることもできる。例えば、異議申立者は、例えば命令コードＯＰ＿ＰＵＳＨＤＡＴＡを使用して、解のハッシュをトランザクションＴ２に追加できる。
【０２６９】
トランザクションＴ２は、メインブロックチェーン・ネットワークにブロードキャストされ、且つメインブロックチェーン・ネットワーク上でマイニングされ得るため、異議申立者の預託金は、コングレス公開キーによって制限される。報奨金、提案者の預託金、及び異議申立者の預託金は、グループの独占的管理下に置かれ得る。
【０２７０】
こうして、異議申立者は、代替解のエビデンス及び預託金を仲裁者に提供する。例示的なプロセス２２００のステップ２２０６において、トランザクションＴ２がメインブロックチェーン・ネットワーク上にマイニングされた後に、仲裁者は、グループの他のノードと協力してゴーストチェーンを展開して異議申立てを解決する。上述したように、ゴーストチェーンは、ゴーストチェーンのマイニングノードがグループのメンバーであるプルーフオブステーク・ブロックチェーンであり得る。つまり、コングレスのメンバーは、ゴーストチェーンでのマイニングを許可され得る。プルーフオブワーク・ブロックチェーン・ネットワーク上のメンバー預託金は、コングレスのメンバーがゴーストチェーンでマイニングできるようにするための出資金として機能し、メンバーがマイニングに選択される確率は、預託金の相対額に比例する場合がある。
【０２７１】
（ステップ２２０６において）ゴーストチェーンが展開されている間に、グループの他のノードと協力して仲裁者が、ゴーストチェーンのジェネシス・ブロックを作成又は取得することができる。ジェネシス・ブロックは、最後のゴーストチェーン展開による最終ブロック（例えば、ゴーストチェーンが実行され、過去の異議申立てに応答して前回の実行が行われた最後のインスタンスによる末端ブロック）であり得る。このブロックには、ジェネシス分配に関する情報が含まれ得る。ジェネシス分配は、デジタル資産の転送であり得るが、これは未だ行われておらず、ゴーストチェーンの以前の展開に基づいている。
【０２７２】
さらに、ゴーストチェーンが展開されている間に、メンバーは、登録を許可されたり、グループからの登録解除を要求したりできる。登録段階の間に、新しいメンバーを登録して、本明細書で説明するようにメンバーに秘密キーシェアを割り当てることができる。新しいメンバーには、ジェネシス・ブロック（現在のしきい値のメンバーによって認証され得る）と登録プロセス中に生成された後続のブロックとが提供され得る。
【０２７３】
ゴーストチェーンの実行には、事前登録解除の段階も含まれ得る。この登録解除前の段階の間に、登録解除を要求したメンバーは、特定の個人データの削除の証明を送信できる。このような証明は、メンバー預託金の返却に必要になる場合がある。メンバー預託金の返却を妨げる可能性のある不正行為の証拠は、この段階で送信できる（例えば、新しく登録されたメンバーは、現在のメンバー（複数可）によって事前にコミットされているが、偽物であると疑われるジェネシス・ブロックを送信できる）。登録解除の手法については、上で詳しく説明している。
【０２７４】
ゴーストチェーンの展開には、グループの他のノードと協力する仲裁者による、仲裁操作を含めることができる。仲裁操作には、提案者及び異議申立者から証拠を受け取り、その証拠に基づいて異議申立てを解決することが含まれ得る。例えば、受け取った証拠には、最終的な解又は中間結果の一方又は両方が含まれ得る。中間結果は、要求されたタスクを実行するために必要なステップ又は一連のステップの結果であり得る。例えば、中間ステップは、タスクの部分的な作業成果物であり得る。最終的な解は、要求されたタスクを完了する最終的な作業成果物であり得る。証拠は、例示的なプロセス２０００のステップ２００８において提案者によって、及び例示的なプロセス２１００のステップ２１０６において異議申立者によって提出してもよい。
【０２７５】
仲裁者及びコングレスの他のノードは、要求に関連するタスクを実行して正しい解を決定することにより、異議申立てを解決することができる。例えば、タスク（例えば、計算又はアルゴリズム）は、オンチェーンで（つまり、ゴーストチェーン自体で）実行され得る。
【０２７６】
グループは、そのような解をゴーストチェーンで決定された特有の解と比較することで、提案側文字列と異議申立側文字列とのどちらが正しいかを判断できる。このプロセス中に、グループメンバー（つまり、ゴーストチェーン・マイニングノード）が計算及び／又は解析を実行して、紛争に関する仲裁を行う。グループメンバーは、このプロセス中にコンセンサスに達し、ブロックに署名する。
【０２７７】
計算要件及び時間遅延を減らすために、グループは、ゴーストチェーンを使用して異議申立てを解決しながらバイナリサーチ手順を実行できる。より具体的には、提案者及び異議申立者はそれぞれ、計算又は解析に関する１つ又は複数の中間結果を提供してもよい。計算又は解析の入力は提案者と異議申立者との両方で同じである可能性があり（要求者が指定したように）、出力が異なる可能性があるため、異議申立者及び提案者が分岐する中間ステップ同士の間に移行がある可能性がある。このような移行が特定されると、グループは、ゴーストチェーンを使用して、移行に関連する単一の動作、ステップ、又は手順のみを実行すればよい。こうして、仲裁者は、他のノードと協力して、ゴーストチェーン上のタスクの一部のみを実行し、提案者又は異議申立者のいずれかが要求に関連するタスクの中間ステップでエラーを起こしたと判断することができる。このバイナリサーチ手法では、グループは正しい解を特定できず、むしろ誤った解を特定する可能性がある。グループが正しい解を決定しないため、誤っていると特定されていない解は、必ずしも正しいとは限らない。
【０２７８】
（グループの他のノードと協力して）仲裁者は、ゴーストチェーンが展開されている間に判断を下す。仲裁者及びコングレスの他のノードが異議申立てを解決するとき（つまり、そのようなノードが解決に関してコンセンサスを形成するとき）に、判断に達したと言うことができる。
【０２７９】
ブロックチェーンで仲裁の判断に達した後に、仲裁者は、グループの他のノードと協力して最終的なトランザクション（完全に署名されたときにメインブロックチェーン・ネットワークにマイニングされる）を構築する。決済トランザクションとも呼ばれ得る最終トランザクションには、様々なデジタル資産移転；例えば、報奨金＋預託金（これは、判定の過程で成功又は正当であるとみなされたノードに転送され得る）；マイニング分配金（既に実行されているゴーストチェーンマイニングの場合）;ジェネシス転送（これは、ゴーストチェーンの以前の実行に基づいて発生するデジタル資産転送であり得、且つジェネシス・ブロックから決定される）；及び／又は退会したメンバーのメンバー預託金の返却が含まれ得る。
【０２８０】
このトランザクションには、有用なメタデータも含まれる場合がある。例えば、決済トランザクションは、解をブロックチェーン・ネットワークに戻すことがある。従って、このプロセス中に、グループ（つまり、グループの他のノードと協力する仲裁者）は、判定の結果をブロックチェーン・ネットワークにコミットできる。グループは、ゴーストチェーン上のオンチェーンで決定された中間計算状態のマークル（Merkle）ルートハッシュをブロックチェーン・ネットワークにコミットすることもできる。
【０２８１】
グループ管理下のデジタル資産は、グループの他のノードと協力して仲裁者によって（ステップ２２０８によって）分配してもよい。そのようなデジタル資産の分配は、コングレスのために（つまり、グループのために）規定されたしきい値署名方式に従って実行され得る。上記のコングレスの議論で述べたように、しきい値署名方式は、コングレス公開キーの有効な署名を生成するために、少なくともしきい値数のメンバーが必要となるように構成され得る。従って、仲裁者は、グループの他のノードと一緒に（つまり、他の仲裁者と一緒に）、仲裁者の秘密キーシェアを使用して最終トランザクションに部分的な署名を追加することにより、デジタル資産の転送に同意することができる。しきい値署名方式の下で必要な少なくともしきい値数の秘密キーシェアを使用して最終トランザクションの有効な署名を作成するまで、他のノードも、それぞれの秘密キーシェアを使用して部分的な署名を追加する。
【０２８２】
最終トランザクションでデジタル資産を分配する特定の方法は、仲裁の結果に依存し得る。例えば、異議申立てが成功すると、仲裁者は、他のノードと協力して、少なくとも異議申立者の預託金を異議申立者に転送し、マイニングしたブロックの絶対数に比例して提案者の預託金をゴーストチェーンのマイニングノードに分配することができる。異議申立てが成功し、異議申立者の解が正しいと判断された場合に、報奨金も異議申立者に転送され得る。こうして、異議申立者は、例示的なプロセス２１００のステップ２１０８においてデジタル資産を受け取ることができる。しかしながら、正しい解が特定されないようにバイナリサーチが使用される場合に、報奨金は要求を再び申し立てる要求者に返却され得、異議申立者が回答に基づいて提案を提出できるようにする。あるいはまた、提案者がバイナリサーチによって排除されると、要求者は、異議申立者のコミットを提案として取り扱い、例示的なプロセス１９００のステップ１９０６において動作を再開することができる。つまり、要求者は、異議申立者の提案に基づいて新しいトランザクションＴ１を構築することができる。このトランザクションは、以前に異議申立者であると見なされていたノードが現在提案者であるとみなされる場合があることを除いて、ステップ１９０６を参照して上述した通りであり得る。こうして、新しいトランザクションＴ１は、上述したトランザクションＴ２で異議申立者によって提供される解のハッシュに対応する解を与えることにより、異議申立て期間の終了後に異議申立者によってロック解除されるように構築され得る。
【０２８３】
提案者の作業成果物が有効であると判断された場合に、仲裁者は、他のノードと協力して報奨金及び提案者の預託金を提案者に転送し、マイニングしたブロックの絶対数に比例して異議申立者の預託金をゴーストチェーンのマイニングノードに分配することができる。こうして、提案者は、例示的なプロセス２０００のステップ２０１０においてデジタル資産を受け取ることができる。
【０２８４】
提案者の解と異議申立者の解との両方が間違っている場合に、マイニングしたブロックの絶対数に比例して、異議申立者の預託金の半分と提案者の預託金の半分とがマイニングノードに分配され得る。残りの預託金は、その預託金を受け取った関係者に返却される場合がある。
【０２８５】
要求者は、例示的なプロセス１９００のステップ１９０８において解を受け取る。ステップ１９０８において要求者が解を受け取る方法は、異議申立てがなされたかどうかに依存し得る。例えば、異議申立てがなされなかった場合に、提案者は、例示的なプロセス１９００のステップ１９０６を参照して上述したトランザクションＴ１を使用して、ブロックチェーンに解をコミットした。しかしながら、異議申立てがなされ、ゴーストチェーンによって要求に対する解が決定される場合に、ゴーストチェーン・ノードは、ゴーストチェーンの終了時に（例えば、例示的なプロセス２２００のステップ２２１０において）解を要求者に送信してもよい。従って、ゴーストチェーンプロトコルにより、ゴーストチェーンに参加しているノードは、解を決定すると、解を要求者に自動的に送信することができる。
【０２８６】
さらに、ゴーストチェーンで判断に達し、トランザクションが構築され、有効に署名された後に、ゴーストチェーンは、（例示的なプロセス２２００のステップ２２１０において）終了し得る。つまり、異議申立てが解決されると、ゴーストチェーンは終了する。ゴーストチェーンが終了すると、異議申立ての解決に関連する情報が、プルーフオブワーク・ブロックチェーン・ネットワークに戻され得る。
【０２８７】
ゴーストチェーンが終了すると、ゴーストチェーンに更なるブロックを追加することはできない。つまり、典型的なブロックチェーンとは異なり、ゴーストチェーンには末端ブロックがある。ゴーストチェーンは、分岐しないプルーフオブステーク・ブロックチェーンとして実施できる。分岐が存在しないということは、ゴーストチェーンが終了するときに明確な末端ブロック（つまり、グループの全てのノードによって合意された末端ブロック）が存在し得ることを意味する。この端末ブロックの後に、ゴーストチェーンは、目的を果たし、追加できなくなる。
【０２８８】
前述したように、仲裁者（つまり、コングレスのノード）が判断に達すると、ノードは、上述したようにしきい値署名方式による部分的な署名の追加によって有効な署名のトランザクションが生成されると、メインチェーン上で（ステップ２２０８において）ブロードキャストされ得るトランザクションを構築するために協力する。このトランザクション自体は他者間計算であるため、このトランザクションに寄与するノードは、このトランザクションに参加するために、デジタル資産の少なくとも一部の分配を受け取ることがある。ただし、トランザクションは署名される前に指定されるため、署名に参加するための報酬（トランザクションを介したゴーストチェーンへの部分的な署名の送信、及び実際のブロックのマイニングを含む）は、更なるゴーストチェーンが展開されるまで延期される場合がある。そのような延期は、ステップ２２１０で提供され得る。より具体的には、末端ブロックは、ゴーストチェーンの将来の展開中にジェネシス分配を処理可能にする情報を用いて構築され得る。このような情報は、最終トランザクションの署名中に作成されたブロック等の、最終トランザクションの構築後に作成されたブロックに起因し得るマイニング分配の記録であり得る。つまり、ジェネシス分配は、最終トランザクションの署名に寄与したノードに分配されるように設計できる。ゴーストチェーンの末端ブロックは、次のゴーストチェーンの実行の（つまり、ゴーストチェーンが次に展開されるとき）ジェネシス・ブロックになり得る。従って、将来のジェネシス分配のために、末端ブロックに記録が作成される。
【０２８９】
直ぐ上で示した実施態様によると、メンバーは、ゴーストチェーンの実行中に登録／登録解除を行うが、これは異議申立てによってトリガーされ得る。代替の実施態様では、定期的間隔又は他の条件下での登録／登録解除も可能である。これには、この目的専用のゴーストチェーンのスケジュール調整された実行が含まれる場合があり、これは、判定及び判断段階がないことを除いて、上述したゴーストチェーン展開と同様である。この場合に、マイニング分配金は、登録の見返りとして必要となり得る「登録分配金」から少なくとも部分的に分配され得る。
【０２９０】
また、上述した例示的なプロセス２２００では、最初のゴーストチェーンの実行ではない可能性のあるゴーストチェーンの実行について説明していることに留意されたい。つまり、例示的なプロセス２２００は、過去のある時点で展開されていたゴーストチェーンの展開を説明しており、ゴーストチェーンに対してジェネシス分配を含む末端ブロックが既に存在する。例示的なプロセス２２００は、第１のゴーストチェーンを展開できるように修正することができる。例えば、ゴーストチェーンが初めて展開されるとき、別の方法でジェネシス・ブロックを確立できる。例えば、ジェネシス・ブロックは、最初に信頼された関係者によって提供され得る。
【０２９１】
プルーフオブステークベースのブロックチェーンを使用して異議申立てを仲裁することにより、ゴーストチェーンの解は、プルーフオブステークにより、より定期的なブロック生成が可能になり、且つ高い頻度でブロック生成を可能にするように構成できるため、プルーフオブワーク・ブロックチェーン・ネットワーク自体でそのような仲裁を行うよりも速い解決策を提供できる。さらに、メインブロックチェーン自体ではなくゴーストチェーン上でこのような仲裁操作を実行することにより、メインブロックチェーン・ネットワークからタスクが押し出され得るため、メインブロックチェーン・ネットワークの負荷が軽減される。
【０２９２】
さらに、ゴーストチェーンの一時的な性質（つまり、ゴーストチェーンが本質的に一時的なものであり、終了するという事実）は、典型的に、プルーフオブステーク・ブロックチェーン・ネットワークに影響を与える出資時に何も無い（nothing-at-stake）問題のリスクを回避又は軽減し得る。ゴーストチェーン・ネットワークの一時的な性質により、コングレスは、ゴーストチェーンが終了するまで、ゴーストチェーンのマイニングノードに対して、預託金を所定の場所に残しておくよう要求することができる。つまり、ゴーストチェーンの実行中に、コングレス・メンバーが自分の出資金を引出しできないようにコングレスを構成できる。
【０２９３】
上述した例ではビットコインで利用可能な命令コードについて言及しているが、本明細書で説明する方法は他のタイプのブロックチェーン・ネットワークでも使用できることに留意されたい。
【０２９４】
図２３は、本発明の様々な実施形態を実施できる例示的なコンピュータ装置２３００をブロック図形式で示す。図２３は、本開示の少なくとも一実施形態を実施するために使用され得る例示的なコンピュータ装置２３００の簡略ブロック図を示している。様々な実施形態では、例示的なコンピュータ装置２３００を使用して、本明細書で例示し且つ上述したシステム又は方法のいずれかを実施することができる。例えば、例示的なコンピュータ装置２３００は、データサーバ、ウェブサーバ、ポータブルコンピュータ装置、パーソナルコンピュータ、又は任意の電子コンピュータ装置として使用するために構成され得る。図２３に示されるように、例示的なコンピュータ装置２３００は、バス・サブシステム２３０４を介して複数の周辺サブシステムと通信し、動作可能に結合するように構成され得る１つ又は複数のプロセッサ２３０２を含み得る。これらの周辺サブシステムは、メモリ・サブシステム２３０８及びファイルストレージ・サブシステム２３１０を含むストレージ・サブシステム２３０６、１つ又は複数のユーザインターフェイス入力装置２３１２、１つ又は複数のユーザインターフェイス出力装置２３１４、及びネットワークインターフェイス・サブシステム２３１６を含み得る。このようなストレージ・サブシステム２３０６は、本開示で説明したトランザクション又は動作に関連する情報の一時的又は長期のストレージに使用できる。
【０２９５】
バス・サブシステム２３０４は、例示的なコンピュータ装置２３００の様々なコンポーネント及びサブシステムが意図するように互いに通信可能にするためのメカニズムを提供することができる。バス・サブシステム２３０４が単一のバスとして概略的に示されているが、バス・サブシステムの代替実施形態では複数のバスを利用してもよい。ネットワークインターフェイス・サブシステム２３１６は、他のコンピュータ装置及びネットワークへのインターフェイスを提供し得る。ネットワークインターフェイス・サブシステム２３１６は、例示的なコンピュータ装置２３００からデータを受信し、他のシステムにデータを送信するためのインターフェイスとして機能し得る。例えば、ネットワークインターフェイス・サブシステム２３１６は、ユーザが、本明細書で説明するように装置を無線ネットワークに又は他のネットワークに接続できるようにし得る。バス・サブシステム２３０４は、本開示で説明するトランザクション又は動作に関連するデータを、ネットワークインターフェイス・サブシステム２３１６を介して１つ又は複数のプロセッサ２３０２及び／又はシステム外部の他のエンティティに通信するために利用され得る。
【０２９６】
ユーザインターフェイス入力装置２３１２は、キーボード等の１つ又は複数のユーザ入力装置、統合マウス、トラックボール、タッチパッド、又はグラフィックタブレット等のポインティング装置、スキャナー、バーコードスキャナー、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイク等のオーディオ入力装置、及び他の種類の入力装置を含み得る。一般に、用語「入力装置」の使用は、情報をコンピュータ装置２３００に入力するための全ての可能なタイプの装置及びメカニズムを含むものとする。１つ又は複数のユーザインターフェイス出力装置２３１４は、ディスプレイ・サブシステム、プリンタ、又は音声出力装置等の非視覚化ディスプレイを含み得る。ディスプレイ・サブシステムは、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等のフラットパネル装置、発光ダイオード（ＬＥＤ）ディスプレイ、又はプロジェクション又は他のディスプレイ装置であり得る。一般に、用語「出力装置」の使用は、コンピュータ装置２３００から情報を出力するための全ての可能なタイプの装置及びメカニズムを含むものとする。１つ又は複数の出力装置２３１４を使用して、そのような（アプリケーションとユーザとの）対話が適切な場合に、例えば、本明細書で説明するプロセス及びそのバリエーションを実行するアプリケーションとのユーザ対話を促進するユーザインターフェイスを提示することができる。
【０２９７】
ストレージ・サブシステム２３０６は、本開示の少なくとも一実施形態の機能を提供し得る基本的なプログラミング及びデータ構造を記憶するためのコンピュータ可読記憶媒体を提供し得る。アプリケーション（プログラム、コードモジュール、命令）は、１つ又は複数のプロセッサにより実行されると、本開示の１つ又は複数の実施形態の機能を提供し、ストレージ・サブシステム２３０６に格納され得る。これらのアプリケーションモジュール又は命令は、１つ又は複数のプロセッサ２３０２によって実行され得る。ストレージ・サブシステム２３０６は、本開示に従って使用されるデータを格納するためのリポジトリをさらに提供し得る。ストレージ・サブシステム２３０６は、メモリ・サブシステム２３０８及びファイル／ディスク・ストレージ・サブシステム２３１０を含み得る。
【０２９８】
メモリ・サブシステム２３０８は、プログラム実行中に命令及びデータを格納するためのメインランダムアクセスメモリ（ＲＡＭ）２３１８と、固定命令を格納できる読み取り専用メモリ（ＲＯＭ）２３２０とを含む複数のメモリを含み得る。ファイルストレージ・サブシステム２３１０は、プログラム及びデータファイルのための非一時的な永続的（不揮発性）ストレージ（本明細書では非一時的コンピュータ可読記憶媒体とも呼ばれる）を提供し、且つハードディスクドライブ、関連するリムーバブルメディアと一緒のフロッピーディスクドライブ、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光学ドライブ、リムーバブルメディア・カートリッジ、及び他の同様のストレージメディアを含み得る。
【０２９９】
例示的なコンピュータ装置２３００は、少なくとも１つのローカルクロック（local  clock）２３２４を含み得る。ローカルクロック２３２４は、特定の開始日から発生したティック（tick）数を表すカウンタであり、且つ例示的なコンピュータ装置２３００内に一体的に配置され得る。ローカルクロック２３２４は、特定のクロックパルスで例示的なコンピュータ装置２３００及びそこに含まれる全てのサブシステムのプロセッサでのデータ転送を同期するために使用でき、例示的なコンピュータ装置２３００とデータセンター内の他のシステムとの間の同期動作を調整するために使用できる。一実施形態では、ローカルクロック２３２４は原子時計である。別の実施形態では、ローカルクロックはプログラム可能なインターバルタイマーである。
【０３００】
例示的なコンピュータ装置２３００は、ポータブルコンピュータ装置、タブレットコンピュータ、ワークステーション、又は本明細書で説明する任意の他の装置を含む様々なタイプのものであり得る。さらに、例示的なコンピュータ装置２３００は、１つ又は複数のポート２３２６（例えば、ＵＳＢ、ヘッドフォンジャック、照明コネクタ等）を介して例示的なコンピュータ装置２３００に接続され得る別の装置を含み得る。例示的なコンピュータ装置２３００に接続され得る装置は、光ファイバコネクタを受容するように構成された複数のポートを含み得る。従って、例示的なコンピュータ装置２３００に接続され得る装置は、光信号を、（処理のために装置を例示的なコンピュータ装置２３００に接続するポートを介して送信され得る）電気信号に変換するように構成され得る。コンピュータ及びネットワークの絶えず変化する性質のために、図２３に示される例示的なコンピュータ装置２３００の説明は、装置の実施形態を例示するための特定の例としてのみ意図している。図２３に示されるシステムよりも多い又は少ないコンポーネントを有する他の多くの構成が可能である。
【０３０１】
従って、明細書及び図面は、制限的な意味ではなく、例示的な意味でみなすべきである。もっとも、特許請求の範囲に記載されている本発明のより広い精神及び範囲から逸脱することなく、様々な修正及び変更を行うことができることは明らかであろう。
【０３０２】
他の変形形態は、本開示の精神内にある。こうして、開示された技術は様々な修正及び代替の構成の影響を受けやすいが、その特定の例示的な実施形態について図面に示し、詳細に上述してきた。ただし、本発明を開示された特定の形態（複数可）に限定する意図はないが、反対に、添付の特許請求の範囲に規定されるように、本発明の精神及び範囲内にある全ての修正、代替構成、及び同等物を網羅すること意図していることを理解されたい。
【０３０３】
開示される実施形態を説明する文脈において（特に以下の特許請求の範囲の文脈において）用語「１つの（a,  an）」及び「その（the）」及び同様の指示語の使用は、本明細書で特に明記しない限り、又は文脈によって明らかに矛盾しない限り、単数と複数との両方を網羅すると解釈される。用語「備える、有する、含む（comprising）」、「有する、含む（having）」、「含む、有する（including）」、及び「含む（containing）」は、特に断りのない限り、オープンエンドの用語（つまり、「目的語を含むが、この目的語に限定されない」という意味）と解釈される。用語「接続された（connected）」は、修飾されず、物理的な接続を指す場合に、何かが介在している場合でも、部分的又は全体的に含まれる、取り付けられる、又は接合されると解釈される。本明細書の値の範囲の列挙は、本明細書で特に明記しない限り、個々の値が本明細書に個別に記載されているかのように本明細書に組み込まれている場合を除き、範囲内にある各個別の値を個別に参照する簡略的な方法として機能することを単に意図している。用語「セット」（例えば、「アイテムのセット」）又は「サブセット」の使用は、特に注記がないか、文脈によって矛盾しない限り、１つ又は複数のメンバーを含む空でないコレクションとして解釈すべきである。さらに、特に注記がないか、文脈によって矛盾しない限り、対応するセットの「サブセット」という用語は、必ずしも対応するセットの適切なサブセットを示すものではなく、サブセット及び対応するセットは等しくてもよい。
【０３０４】
「Ａ、Ｂ、及びＣの少なくとも１つ」又は「Ａ、Ｂ、及びＣの少なくとも１つ」の形式のフレーズ等の接続言語は、特に明記しない限り、又は文脈によって明らかに矛盾しない限り、アイテム、用語等がＡ、Ｂ、又はＣ、或いはＡとＢとＣとのセットの空でないサブセットのいずれかであることを提示するために一般的に使用されるように文脈で理解される。例えば、メンバーが３つのセットの説明例では、「Ａ、Ｂ、及びＣの少なくとも１つ」及び「Ａ、Ｂ、及びＣの少なくとも１つ」という接続句は、「Ａ」、「Ｂ」、「Ｃ」、「Ａ、Ｂ」、「Ａ、Ｃ」、「Ｂ、Ｃ」、「Ａ、Ｂ、Ｃ」のいずれかを指す。こうして、そのような接続言語は、一般に、特定の実施形態が、少なくとも１つのＡ、少なくとも１つのＢ、及び少なくとも１つのＣがそれぞれ存在することを必要とすることを暗示することを意図しない。
【０３０５】
本明細書で説明するプロセスの動作は、本明細書で特に指示がない限り、又は文脈によって明らかに矛盾しない限り、任意の適切な順序で実行することができる。本明細書で説明するプロセス（又は、その変形及び／又は組合せ）は、実行可能命令で構成される１つ又は複数のコンピュータシステムの制御下で実行でき、且つハードウェア又はそれらの組合せにより、１つ又は複数のプロセッサで集合的に実行されるコード（例えば、実行可能命令、１つ又は複数のコンピュータプログラム、或いは１つ又は複数のアプリケーション）として実施できる。コードは、例えば、１つ又は複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体に記憶させることができる。コンピュータ可読記憶媒体は、非一時的であってもよい。
【０３０６】
本明細書に提供されるありとあらゆる例、又は例示的な用語（例えば「等」）の使用は、単に本発明の実施形態をより良く明らかにすることを意図しており、特に主張されない限り本発明の範囲を限定するものではない。明細書中の用語は、特許請求の範囲に記載されていない要素が本発明の実施に不可欠であることを示すと解釈すべきではない。
【０３０７】
本明細書では、本発明を実施するために発明者に知られている最良の形態を含む本開示の実施形態を説明する。これらの実施形態の変形形態は、前述の説明を読めば、当業者に明らかになり得る。本発明者は、当業者がそのような変形を適宜使用することを予期し、本発明者は、本開示の実施形態が本明細書に具体的に説明されている以外の方法で実施されることを意図する。従って、本開示の範囲には、適用法で認められるように、本明細書に添付された特許請求の範囲に列挙された主題の全ての修正及び同等物が含まれる。さらに、その全ての可能な変形における上述した要素の任意の組合せが、本明細書で特に指示がない限り、又は文脈により明らかに矛盾しない限り、本開示の範囲に含まれる。
【０３０８】
上述した実施形態は、本発明を限定するのではなく例示するものであり、当業者は、本発明の範囲から逸脱することなく、添付の特許請求の範囲によって規定されるように多くの代替実施形態を設計できることに留意されたい。特許請求の範囲において、括弧内に置かれた参照符号は、特許請求の範囲を限定するものとして解釈してはならない。「備える、有する、含む（comprising,  comprises）」等の語は、特許請求の範囲又は明細書全体に列挙されているもの以外の要素又はステップの存在を排除するものではない。本明細書において、「備える、有する、含む（comprises,  comprising）」は、「含む、有する（includes,  including）」又は「から構成される（consists  of,  consisting  of）」を意味する。要素の単数形の参照は、そのような要素の複数形の参照を除外するものではなく、その逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアによって、及び適切にプログラムされたコンピュータによって実施され得る。いくつかの手段を列挙する装置クレームでは、これらの手段のいくつかは、ハードウェアの同一のアイテムによって具現化され得る。特定の手段が互いに異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有利に使用できないことを示すものではない。
【図１】
2020522927.tif 000006
【図２】
2020522927.tif 000007
【図３】
2020522927.tif 000008
【図４】
2020522927.tif 000009
【図５】
2020522927.tif 000010
【図６】
2020522927.tif 000011
【図７】
2020522927.tif 000012
【図８】
2020522927.tif 000013
【図９】
2020522927.tif 000014
【図１０】
2020522927.tif 000015
【図１１】
2020522927.tif 000016
【図１２】
2020522927.tif 000017
【図１３】
2020522927.tif 000018
【図１４】
2020522927.tif 000019
【図１５】
2020522927.tif 000020
【図１６】
2020522927.tif 000021
【図１７】
2020522927.tif 000022
【図１８】
2020522927.tif 000023
【図１９】
2020522927.tif 000024
【図２０】
2020522927.tif 000025
【図２１】
2020522927.tif 000026
【図２２】
2020522927.tif 000027
【図２３】
2020522927.tif 000028
【国際調査報告】
2020522927.tif 000029
2020522927.tif 000030