(57)【要約】  コンピュータで実施される方法が提供され得る。この方法は、例えばビットコイン・ネットワーク等のブロックチェーン・ネットワークを使用して、少なくとも部分的に実施できる。コンピュータで実施される方法は、ｉ）アイデンティティベースの暗号化方式に従って、少なくともコングレス公開キーを使用して平文メッセージを暗号公開キーに暗号化して暗号化メッセージを生成するステップであって、コングレス公開キーはコングレスのメンバーに関連付けられ、コングレスの各メンバーは、しきい値復号化方式で使用可能な秘密キーシェアへのアクセスを有しており、しきい値復号化方式において、少なくともしきい値の秘密キーシェアが、コングレスに代わって復号化キーへの部分的な寄与の組合せによって復号化キーを導出するのに十分である、生成するステップと；ｉｉ）暗号公開キーに対応する暗号秘密キーを少なくとも使用して、イベントの発生時に暗号操作を行うための第１の命令セットに対するデジタル署名を生成するステップと；ｉｉｉ）暗号化メッセージ、暗号公開キー、少なくとも第１の命令セット、及び第２の命令セットを含む１つ又は複数のトランザクションを、プルーフオブワーク・ブロックチェーン・ネットワークにブロードキャストするステップと；を含み、第２の命令セットは、デジタル署名が本物であることを条件としてイベントの発生についてコンセンサスに達したことに応じて、コングレスのメンバーと協力してゴーストチェーンを展開して第１の命令セットを実行するように命令し、第１の命令セットの実行には、しきい値を満たす複数の秘密キーシェア及び暗号キーから復号化キーを少なくとも導出することが含まれ、復号化キーは、暗号化メッセージから平文メッセージを得るのに十分な暗号化素材である。
2020528689.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実施される方法であって、当該コンピュータで実施される方法は、
アイデンティティベースの暗号化方式に従って、少なくともコングレス公開キーを使用して平文メッセージを暗号公開キーに暗号化して暗号化メッセージを生成するステップであって、前記コングレス公開キーはコングレスのメンバーに関連付けられ、コングレスの各メンバーは、しきい値復号化方式で使用可能な秘密キーシェアへのアクセスを有しており、前記しきい値復号化方式において、少なくともしきい値の秘密キーシェアが、前記コングレスに代わって復号化キーへの部分的な寄与の組合せによって前記復号化キーを導出するのに十分である、生成するステップと、
前記暗号公開キーに対応する暗号秘密キーを少なくとも使用して、イベントの発生時に暗号操作を行うための第１の命令セットに対するデジタル署名を生成するステップと、
暗号化メッセージ、暗号公開キー、少なくとも前記第１の命令セット、第２の命令セットを含む１つ又は複数のトランザクションを、プルーフオブワーク・ブロックチェーン・ネットワークにブロードキャストするステップと、を含み、
前記第２の命令セットは、前記デジタル署名が本物であることを条件として前記イベントの発生についてコンセンサスに達したことに応じて、前記コングレスのメンバーに協力してゴーストチェーンを展開して第１の命令セットを実行するように命令し、前記第１の命令セットの実行には、前記しきい値を満たす複数の秘密キーシェア及び暗号キーから前記復号化キーを少なくとも導出することが含まれ、該復号化キーは、前記暗号化メッセージから前記平文メッセージを得るのに十分な暗号化素材である、
コンピュータで実施される方法。
【請求項２】
前記復号化キーは、楕円曲線上のペアリングに基づくスキームに少なくとも部分的に基づいて導出可能である、請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記アイデンティティベースの暗号化方式は、ボン・フランクリン（Boneh-Franklin）のアイデンティティベースの暗号化方式に従う、請求項１又は２に記載のコンピュータで実施される方法。
【請求項４】
前記１つ又は複数のトランザクションは、前記コングレスに関連する公開グループアドレスへの手数料を含むトランザクションを含み、前記手数料は、前記復号化キーを導出するのに協力する、前記ゴーストチェーンのマイナーの少なくともいくつかに分配される、請求項１乃至３のいずれか一項に記載のコンピュータで実施される方法。
【請求項５】
前記ゴーストチェーンのマイナーが、前記プルーフオブワーク・ブロックチェーンから取得可能な情報に基づいて、前記イベントに関してコンセンサスに達する、請求項１乃至４のいずれか一項に記載のコンピュータで実施される方法。
【請求項６】
前記プルーフオブワーク・ブロックチェーンから取得可能な前記情報は、前記プルーフオブワーク・ブロックチェーンへのトランザクション送信のタイムスタンプである、請求項５に記載のコンピュータで実施される方法。
【請求項７】
前記プルーフオブワーク・ブロックチェーンから取得可能な前記情報は、少なくとも特定の高さの有効なブロックの検出である、請求項５に記載のコンピュータで実施される方法。
【請求項８】
前記コングレスのメンバーが、前記イベントが発生したという少なくともしきい値の証明書を発行することを少なくとも部分的に検出することに基づいて、前記コンセンサスに達し、前記イベントの発生は、前記プルーフオブワーク・ブロックチェーンの外部の情報に少なくとも部分的に基づいて決定され、さらに、前記証明書の真正性は、前記コングレスのそれぞれのメンバーに関連する暗号公開キーを使用して暗号によって検証可能である、請求項１乃至４のいずれか一項に記載のコンピュータで実施される方法。
【請求項９】
前記証明書は、所定の期間に亘って発行される、請求項８に記載のコンピュータで実施される方法。
【請求項１０】
前記暗号操作には、１つ又は複数の復号化操作が含まれる、請求項１乃至９のいずれか一項に記載のコンピュータで実施される方法。
【請求項１１】
前記暗号操作には、１つ又は複数の認証操作が含まれる、請求項１乃至１０のいずれか一項に記載のコンピュータで実施される方法。
【請求項１２】
前記コングレスのメンバーのそれぞれの秘密キーシェアが生成され、該秘密キーシェアは、前記メンバーに関連するノード内の信頼できる実行環境内で暗号操作を行うために使用される、請求項１乃至１１のいずれか一項に記載のコンピュータで実施される方法。
【請求項１３】
実行されると、請求項１乃至１２のいずれか一項に記載の方法を実施するようにプロセッサを構成するコンピュータ実行可能命令を含むコンピュータ可読記憶媒体。
【請求項１４】
電子装置であって、当該電子装置は、
インターフェイス装置と、
該インターフェイス装置に結合されたプロセッサと、
該プロセッサに結合されたメモリと、を有しており、
該メモリは、実行されると、請求項１乃至１２のいずれか一項に記載の方法を実施するようにプロセッサを構成するコンピュータ実行可能命令を記憶する、
電子装置。
【請求項１５】
前記プロセッサは、信頼できる実行環境を含み、前記コンピュータ実行可能命令は、前記信頼できる実行環境内で実行される、請求項１４に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、分散システムに関し、より具体的には、分散システム上のトランザクションにおけるイベントロック操作のための方法及びシステムに関する。イベントロック及びイベントロック暗号化は、イベントの発生に応じてデータに対して操作（演算）を行うことを意味し得る。例えば、イベントロック暗号化方式では、イベントの発生に応じて暗号メッセージが復号化され得る。特定のタイプのイベントロック暗号化は、メッセージが暗号化され、一定時間が経過した後に暗号化メッセージが復号化される又は復号化できるタイムロック暗号化方式である。本発明は、特に限定しないが、効率的且つ確実にメッセージを生成し、イベントの発生を検出し、分散システムを使用してイベントの発生の検証に応じて動作を実行するのに適している。例えば、メッセージは、（恐らくランダムな）時間の経過の結果として対応する復号化操作が発生し得るタイムロック暗号化方式の下で暗号化され得る。
【０００２】
この文書では、あらゆる形態の電子的なコンピュータベースの分散型台帳を含めるために「ブロックチェーン」という用語を使用している。これらの形態には、限定するものではないが、ブロックチェーン及びトランザクションチェーン技術、許可された台帳及び許可されていない台帳、共有台帳、及びそれらのバリエーションが含まれる。ブロックチェーン技術の最も広く知られている用途はビットコイン台帳であるが、他のブロックチェーン実施態様が提案され開発されている。本明細書では、便宜上及び例示の目的で、ビットコインについて参照し得るが、本発明は、ビットコイン・ブロックチェーンでの使用に限定されず、代替ブロックチェーンの実施態様及びプロトコルが、本発明の範囲内にあることに留意されたい。
【背景技術】
【０００３】
ブロックチェーンはコンセンサスベースの電子台帳であり、この台帳はブロックで構成されるコンピュータベースの非中央型の分散システムとして実施され、ブロックは、トランザクション及び他の情報で構成される。ビットコインの場合に、各トランザクションは、ブロックチェーン・システムの参加者同士の間でデジタル資産の制御（control：管理）の転送（transfer：移転）を符号化するデータ構造であり、各トランザクションには、少なくとも１つの入力（input）と少なくとも１つの出力（output）とが含まれる。各ブロックには以前のブロックのハッシュが含まれているため、これらブロックは、一緒にチェーンで繋がれており、その開始からブロックチェーンに書き込まれた全てのトランザクションの永続的な変更不可能なレコードを作成する。トランザクションには、それらの入力及び出力に埋め込まれたスクリプトとして知られている小さなプログラムが含まれており、スクリプトは、トランザクションの出力に誰がどの様にアクセスできるかを指定する。ビットコイン・プラットフォームでは、これらのスクリプトは、スタックベースのスクリプト言語を使用して記述される。
【０００４】
トランザクションをブロックチェーンに書き込むためには、「検証」する必要がある。いくつかのネットワークノードが、マイナー（miners）として機能し、各トランザクションが有効であることを確認する作業を行い、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェア・クライアントが、未決済のトランザクション出力（ＵＴＸＯ）を参照するトランザクションに関してこの検証作業を行う。検証は、そのロック及びロック解除スクリプトを実行することで行うことができる。ロック及びロック解除スクリプトの実行がＴＲＵＥと評価され、且つ他の特定の条件が満たされた場合に、トランザクションは有効であり、このトランザクションはブロックチェーンに書き込まれ得る。こうして、トランザクションをブロックチェーンに書き込むためには、そのトランザクションは、ｉ）トランザクションを受信するノードによって検証される（トランザクションが検証されると、ノードはその検証したトランザクションをネットワーク内の他のノードに中継する）；ｉｉ）マイナーによって構築された新しいブロックに追加され；ｉｉｉ）マイニングされる（つまり、過去のトランザクションの公的な台帳に追加される）必要がある。トランザクションは、十分な数のブロックがブロックチェーンに追加されたときに確認されたとみなされ、トランザクションを実質的に元に戻せない。
【０００５】
ブロックチェーン技術が暗号通貨の実施態様の使用で最も広く知られているが、デジタル起業家は、ビットコインがベースとする暗号セキュリティシステムと、ブロックチェーンに格納され得るデータとの両方を使用して新しいシステムを実施することを模索し始めている。暗号通貨建ての支払いに純粋に限定されない自動化されたタスク及びプロセスにブロックチェーンを使用できれば、非常に有利になろう。このような解によって、ブロックチェーンの利点（例えば、イベントの永続的な改ざん防止記録、分散処理等）を活用しながら、それら用途をより広げることができるだろう。
【０００６】
新しい機能を提供するようにブロックチェーン技術が拡張されるため、ブロックチェーン及びそこに表されるデジタル資産のセキュリティを維持することが重要である。ブロックチェーンに依存する拡張機能セットは、悪意のある関係者からの攻撃を受ける可能性がある。従って、ブロックチェーン又はブロックチェーンの新機能に追加のセキュリティを提供する、又はブロックチェーンの整合性を維持するためにデジタル資産の所有権を管理する方法及び装置を提供することは有用であり得る。
【０００７】
さらに、ブロックチェーンへの新しい改善又は修正が開発されると、あるブロックチェーンと別のブロックチェーンとの両方のブロックチェーンの整合性を維持しながら、あるブロックチェーンから別のブロックチェーンにデジタル資産を制御及び転送するための技術が役立つ。こうして、これらの態様の１つ又は複数においてブロックチェーン技術を改良する改善された方法及び装置を提供することが望ましい。
【発明の概要】
【０００８】
こうして、本発明によれば、添付の特許請求の範囲で規定される方法／システムが提供される。
【０００９】
以下でより詳細に説明するように、ブロックチェーン・ネットワーク上でコングレスを形成することができる。コングレスはオープンメンバーシップ・グループであり、このグループには、コングレスに関連するプールに十分な出資金を提出すると、ブロックチェーン・ネットワーク内の任意のノードが加入できる。例えば、ノードは、デジタル通貨（ビットコイン等）、トークン、又は他の出資金や価値等のデジタル資産を、コングレスに関連するリソース（例えば、アカウント）に転送することで、コングレスに加入できる。コングレスは、秘密キーシェアの分散生成によって部分的に保護され得る。所有者が、各秘密キーシェアを使用して、トランザクションの部分署名を生成できる。少なくともしきい値の部分的な署名を使用して、そのようなトランザクションの有効な署名を生成するためにしきい値署名方式が使用され得る。メンバー預託金（deposit）は、悪意のある行為に関して没収の対象となる。
【００１０】
有利には、キーシェアの分散生成及び他のセキュリティ機能を使用することにより、キーシェアが保護され、グループメンバー又は非グループメンバーによる悪意のある活動が防止される。このようなセキュリティは、しきい値署名方式の使用と相まって、自治型で、非中央型のグループの形成を可能にし、このグループは、例えば双方向のペグ（peg）を提供する等、いくつかの目的のいずれかに使用できる。より具体的には、しきい値署名方式により、グループが、グループに関連する公開キーによって制限された（emcumbered）デジタル資産を制御できる。
【００１１】
従って、本発明によれば、コンピュータで実施される方法を提供することができる。コンピュータで実施される方法は、
ｉ）アイデンティティベースの暗号化方式に従って、少なくともコングレス公開キーを使用して平文メッセージを暗号公開キーに暗号化して暗号化メッセージを生成するステップであって、コングレス公開キーはコングレスのメンバーに関連付けられ、コングレスの各メンバーは、しきい値復号化方式で使用可能な秘密キーシェアへのアクセスを有しており、しきい値復号化方式において、少なくともしきい値の秘密キーシェアが、コングレスに代わって（on behalf of）復号化キーへの部分的な寄与の組合せによって復号化キーを導出するのに十分である、生成するステップと；
ｉｉ）暗号公開キーに対応する暗号秘密キーを少なくとも使用して、イベントの発生時に暗号操作を行うための第１の命令セットに対するデジタル署名を生成するステップと；
ｉｉｉ）暗号化メッセージ、暗号公開キー、少なくとも第１の命令セット、及び第２の命令セットを含む１つ又は複数のトランザクションを、プルーフオブワーク・ブロックチェーン・ネットワークにブロードキャストするステップと；を含み、
第２の命令セットは、デジタル署名が本物であることを条件としてイベントの発生についてコンセンサスに達したことに応じて、コングレスのメンバーと協力してゴースト（ghost）チェーンを展開して第１の命令セットを実行するように命令し、第１の命令セットの実行には、しきい値を満たす複数の秘密キーシェア及び暗号キーから復号化キーを少なくとも導出することが含まれ、復号化キーは、暗号化メッセージから平文メッセージを得るのに十分な暗号化素材である。
【００１２】
いくつかの実施態様では、復号化キーは、楕円曲線上のペアリング（pairings）に基づくスキームに少なくとも部分的に基づいて導出可能である。
【００１３】
いくつかの実施態様では、アイデンティティベースの暗号化方式は、ボン・フランクリン（Boneh-Franklin）のアイデンティティベースの暗号化方式に従う。
【００１４】
いくつかの実施態様では、１つ又は複数のトランザクションは、コングレスに関連する公開グループアドレスへの手数料を含むトランザクションを含み、手数料は、復号化キーを導出するのに協力する、ゴーストチェーンのマイナーの少なくともいくつかに分配される。
【００１５】
いくつかの実施態様では、ゴーストチェーンのマイナーが、プルーフオブワーク・ブロックチェーンから取得可能な情報に基づいて、イベントに関してコンセンサスに達する。
【００１６】
いくつかの実施態様では、プルーフオブワーク・ブロックチェーンから取得可能な情報は、プルーフオブワーク・ブロックチェーンへのトランザクション送信のタイムスタンプである。
【００１７】
いくつかの実施態様では、プルーフオブワーク・ブロックチェーンから取得可能な情報は、少なくとも特定の高さの有効なブロックの検出である。
【００１８】
いくつかの実施態様では、コングレスのメンバーが、イベントが発生したという少なくともしきい値の証明書を発行することを少なくとも部分的に検出することに基づいて、コンセンサスに達し、イベントの発生は、プルーフオブワーク・ブロックチェーンの外部の情報に少なくとも部分的に基づいて決定され、さらに、証明書の真正性は、コングレスのそれぞれのメンバーに関連する暗号公開キーを使用して暗号によって検証可能である。
【００１９】
いくつかの実施態様では、証明書は所定の期間に亘って発行される。
【００２０】
いくつかの実施態様では、１つ又は複数の暗号操作には、１つ又は複数の復号化操作が含まれる。
【００２１】
いくつかの実施態様では、１つ又は複数の暗号操作には、１つ又は複数の認証操作が含まれる。
【００２２】
いくつかの実施形態では、コングレスのメンバーのそれぞれの秘密キーシェアが生成され、秘密キーシェアは、そのメンバーに関連するノード内の信頼できる実行環境内で暗号操作を行うために使用される。
【００２３】
本発明によれば、電子装置が提供され得る。電子装置は、インターフェイス装置、インターフェイス装置に結合されたプロセッサ、及びプロセッサに結合されたメモリを含む。メモリは、実行されると、本明細書で説明する方法を実施するようにプロセッサを構成するコンピュータ実行可能命令を記憶している。
【００２４】
本発明によれば、コンピュータ可読記憶媒体が提供され得る。コンピュータ可読記憶媒体は、実行されると、本明細書で説明する方法を実施するようにプロセッサを構成するコンピュータ実行可能命令を含む。
【図面の簡単な説明】
【００２５】
本発明のこれら及び他の態様は、本明細書に記載の実施形態から明らかとなり、この実施形態を参照して説明される。ここで、本発明の実施形態を、単なる例として、添付の図面を参照して説明する。
【図１】例示的なブロックチェーン・ネットワークのブロック図である。
【図２】ブロックチェーン・ネットワーク内のノードとして機能し得る例示的な電子装置のブロック図である。
【図３】コングレスを開始する例示的な方法のフローチャートである。
【図４】コングレスに加入する例示的な方法のフローチャートである。
【図５】デジタル資産を没収する例示的な方法のフローチャートである。
【図６】キーシェアを再分配する例示的な方法のフローチャートである。
【図７】キーシェアを再分配する更なる例示的な方法のフローチャートである。
【図８】預託金を返却する例示的な方法のフローチャートである。
【図９】例示的なブロックチェーン及び例示的なゴーストチェーンのブロック図である。
【図１０】タスクの完了を要求するための例示的な要求者に関する方法のフローチャートである。
【図１１】タスクに対する解を提案するための例示的な提案者に関する方法のフローチャートである。
【図１２】タスクに対する解に異議を申し立てるための例示的な異議申立者に関する方法のフローチャートである。
【図１３】タスクに対する解について異議申立者を仲裁するための例示的な仲裁者に関する方法のフローチャートである。
【図１４】例示的なブロックチェーン及びイベントロック・メッセージのブロック図である。
【図１５】イベントロック・メッセージを生成するための例示的な暗号化方法のフローチャートである。
【図１６】イベントロック・メッセージで指定されたイベントを検出することに応答してステップを実行し、イベントロック・メッセージを復号化するために使用可能な復号化キーを生成する例示的な方法のフローチャートである。
【発明を実施するための形態】
【００２６】
ブロックチェーン・ネットワーク
最初に図１を参照すると、この図は、ブロックチェーンに関連する例示的なブロックチェーン・ネットワーク１００をブロック図形式で示す。ブロックチェーン・ネットワークは、パブリック・ブロックチェーン・ネットワークとすることができ、このネットワークは、招待を受けずに又は他のメンバーの同意なしに、誰でも加入できるピアツーピアのオープンメンバーシップ・ネットワークである。ブロックチェーン・ネットワーク１００の動作下で、ブロックチェーン・プロトコルのインスタンスを実行する分散型電子装置は、ブロックチェーン・ネットワーク１００に参加することができる。そのような分散型電子装置は、ノード１０２と呼ばれ得る。ブロックチェーン・プロトコルは、例えば、ビットコイン・プロトコルであってもよい。
【００２７】
ブロックチェーン・プロトコルを実行し、且つブロックチェーン・ネットワーク１００のノード１０２を形成する電子装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ等のコンピュータ、スマートフォン等のモバイル装置、スマートウォッチ等のウェアラブルコンピュータ、又は他の電子装置等を含む様々なタイプの装置であってもよい。
【００２８】
ブロックチェーン・ネットワーク１００のノード１０２は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合される。このような通信は、ブロックチェーンに関連するプロトコルに準拠している。例えば、ブロックチェーンがビットコイン・ブロックチェーンである場合に、ビットコイン・プロトコルを使用してもよい。
【００２９】
ノード１０２は、ブロックチェーン上の全てのトランザクションのグローバル台帳を維持する。こうして、グローバル台帳は分散型台帳である。各ノード１０２は、グローバル台帳の完全なコピー又は部分的なコピーを格納することができる。プルーフオブワーク（proof of work：作業証明）により保証されたブロックチェーンの場合に、グローバル台帳に影響を与えるノード１０２によるトランザクションは、グローバル台帳の有効性が維持されるように他のノード１０２によって検証される。ブロックチェーンがプルーフオブワークベースのブロックチェーンである場合に、ブロックとともに送信された作業証明をチェックすることでブロックも検証される。
【００３０】
ノード１０２の少なくともいくつかは、ブロックチェーン・ネットワーク１００のマイナー１０４として動作する。図１のブロックチェーン・ネットワーク１００は、ブロックチェーン上でのトランザクションを促進するためにマイナー１０４が費用のかかる計算を行うプルーフオブワーク・ブロックチェーンである。例えば、プルーフオブワーク・ブロックチェーンでは、マイナーが暗号問題を解く必要があり得る。ビットコインでは、マイナー１０４は、ブロックヘッダーをＳＨＡ−２５６でハッシュして、現在の難易度により規定される値よりも小さい数になるようにナンス（nonce）を見つける。プルーフオブワーク・アルゴリズムに必要なハッシュ能力は、トランザクションが、特定の数のブロックがその上部でマイニングされた後に、実質的に不可逆とみなされることを意味する。暗号問題を解くマイナー１０４は、ブロックチェーンに新しいブロックを作成し、この新しいブロックを他のノード１０２にブロードキャストする。他のノード１０２は、マイナー１０４が実際に暗号問題を解き、従って、ブロックをブロックチェーンに追加すべきことを受け入れる前に、十分なプルーフオブワーク（作業証明）を実証したかを検証する。ブロックは、ノード１０２のコンセンサスによってブロックチェーン（つまり、グローバル分散型台帳）に追加される。
【００３１】
マイナー１０４によって作成されたブロックは、ノード１０２によってブロックチェーンにブロードキャストされたトランザクションを含む。例えば、ブロックは、あるノード１０２に関連するアドレスから別のノード１０２に関連するアドレスへのトランザクションを含み得る。このように、ブロックは、あるアドレスから別のアドレスへのトランザクションの記録として機能する。トランザクションをブロックに含めるように要求する関係者（party）は、公開キー（public key）に対応する秘密キー（private key）を使用してその要求に署名することにより、転送を開始する（例えば、ビットコインの場合に、ビットコインを使用する）権限があることを証明する。その要求が有効に署名されている場合にのみ、その転送（トランザクション）がブロックに追加され得る。
【００３２】
ビットコインの場合に、公開キーとアドレスとの間には１対１の対応関係がある。つまり、各公開キーは単一のアドレスに関連付けられる。こうして、本明細書での公開キーとの間でのデジタル資産の移転（例えば、公開キーへの支払い）及びその公開キーに関連するアドレスとの間でのデジタル資産の移転への言及は、共通の動作を指す。
【００３３】
ノード１０２のいくつかは、マイナーとして動作しない場合があり、代わりに検証ノードとして参加し得る。トランザクションの検証には、署名の照合、有効なＵＴＸＯへの参照の確認等が含まれ得る。
【００３４】
図１の例は、６つのノード１０２を含み、そのうちの２つがマイナー１０４として参加している。実際には、ノード１０２又はマイナー１０４の数は異なっていてもよい。多くのブロックチェーン・ネットワークでは、ノード１０２及びマイナー１０４の数は、図１に示されている数よりはるかに多くてもよい。
【００３５】
以下で説明するように、様々なノード１０２が協力して、本明細書でコングレス（congress：会議）１１０と呼ばれるグループを形成することができる。図示の例では、３つのノード１０２がコングレス１１０に参加するものとして示されている。しかしながら、コングレス１１０の実際のメンバーは、はるかに多くてもよい。
【００３６】
コングレス１１０は、コングレス１１０に関連するプールに十分な出資金（stake）を提出すると、ノード１０２が加入することができるオープンメンバーシップ・グループである。例えば、ノードは、デジタル通貨（ビットコイン等）、トークン、又は他の出資金や価値等のデジタル資産を、コングレス１１０に関連するアカウントに転送することで、コングレスに加入することができる。コングレスに加入するノード１０２は、マイニングノードと非マイニングノードとの両方を含む、ブロックチェーン・ネットワーク内のノードであり得る。コングレスの少なくともいくつかのアプリケーション（以下で説明するように、コングレスが双方向のペグを実行している場合等）では、コングレス・メンバーとして機能するノードは、完全なブロックチェーンをダウンロードする（ただし、必ずしも保持する必要はない）という意味でブロックチェーンを監視する。
【００３７】
コングレス１１０への加入、退会、及び参加の手法については、以下でより詳細に議論する。
【００３８】
ノードとして動作する電子装置
図２は、ピアツーピア・ブロックチェーン・ネットワーク１００（図１）においてノード１０２（図１）として機能し得る例示的な電子装置２００のコンポーネントを示すブロック図である。例示的な電子装置２００は、処理装置とも呼ばれ得る。電子装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等のモバイル装置、スマートウォッチ等のウェアラブルコンピュータ、又は別のタイプの形式を含む様々な形態を取ることができる。
【００３９】
電子装置２００は、プロセッサ２１０、メモリ２２０、及びインターフェイス装置２３０を含む。これらのコンポーネントは、互いに直接的又は間接的に結合してもよく、互いに通信してもよい。例えば、プロセッサ２１０、メモリ２２０、及びインターフェイス装置２３０は、バス２４０を介して互いに通信することができる。メモリ２２０は、本明細書で説明する機能を実行するための機械可読命令及びデータを含むコンピュータソフトウェアプログラムを格納する。例えば、メモリは、プロセッサ２１０によって実行されると、電子装置に本明細書で説明する方法を実行させるプロセッサ実行可能命令を含み得る。プロセッサ実行可能命令は、プロセッサ２１０によって実行されると、電子装置にブロックチェーン・ネットワーク１００（図１）に関連するプロトコルを実装させる命令を含み得る。例えば、命令には、ビットコイン・プロトコルを実装するための命令が含まれ得る。
【００４０】
メモリ２２０は、ブロックチェーン・ネットワーク１００（図１）のグローバル台帳又はその一部を格納してもよい。つまり、メモリ２２０は、ブロックチェーンの全てのブロック、又は最新のブロック等のブロックの一部、又はいくつかのブロックにおける情報の一部を格納することができる。
【００４１】
図２では、メモリ２２０が単一のブロックで示されているが、実際には、電子装置２００は、複数のメモリ・コンポーネントを含んでもよい。メモリ・コンポーネントは、例えば、ＲＡＭ、ＨＤＤ、ＳＳＤ、フラッシュドライブ等を含む様々なタイプのものであってもよい。異なるタイプのメモリが異なる目的に適している場合がある。さらに、メモリ２２０がプロセッサ２１０とは別に示されているが、プロセッサ２１０は埋込み型メモリを含んでもよい。
【００４２】
図２に示されるように、プロセッサ２１０は、信頼できる実行環境（ＴＥＥ）２５０等の安全な領域を含むことができる。ＴＥＥ２５０は、隔離された状態での実行、信頼できるアプリケーションの統合、及び資産の機密性等の追加のセキュリティを電子装置２００に提供する隔離された実行環境であり得る。ＴＥＥ２５０は、ＴＥＥ２５０内にロードされたコンピュータ命令及びデータが機密性及び完全性の観点から保護されることを保証する実行空間を提供する。ＴＥＥ２５０は、キー等の重要なリソースの完全性及び機密性を保護するために使用され得る。ＴＥＥ２５０は、少なくとも部分的にハードウェアレベルで実装されるため、ＴＥＥ２５０内で実行される命令及びデータは、電子装置２００の残りの部分からの及び電子装置の所有者等の外部関係者からのアクセス及び操作に対して保護される。ＴＥＥ２５０内のデータ及び計算は、ＴＥＥ２５０を含むノード１０２を操作する関係者からセキュリティ保護される。
【００４３】
ＴＥＥ２５０は、累積的にハッシュしながら、エンクレーブ（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）。非メンバー又はメンバーは、様々な理由でコングレスに関連するアドレスにデジタル資産を預託する場合がある。
【００５２】
同じコングレス公開キーが、メンバー預託金（つまり、秘密キーシェアと引き換えにコングレス・メンバーによって提供されるデジタル資産）と、他の目的でメンバー又は非メンバーによって提供されるデジタル資産との両方を管理する場合があるため、預託金のタイプを示すために、コングレスに関連するアドレスに送信された少なくとも一部の預託金に特別なフラグを立てる場合がある。例えば、デジタル資産をコングレスアドレスに転送するトランザクションには、行われている預託金の性質を示すフラグ、識別子、又は他の属性が含まれ得る。例として、コングレスへの加入又はコングレス構成員の出資金を増やす目的で行われていないデジタル資産をコングレスアドレスに転送するトランザクションには、別の目的で預託が行われていることを示す特別な識別子が含まれ得る。そのような識別子は、秘密キー生成を管理するときに、コングレス１１０に関連するノード１０２によって使用され得る。より具体的には、グループに加入する目的でデジタル資産を預託するノード１０２には、コングレス１１０の秘密キーシェアが（例えば、デジタル資産の預託を行った結果として）割り当てられる一方、他の目的で（例えば、サイドチェーン（sidechain）に転送するために）デジタル資産を預託した他のノード１０２は、コングレスのコングレス秘密キーシェア（つまり、コングレス公開キーに対応する）を保持していない可能性がある。
【００５３】
コングレス１０６は、メンバー預託金の全部又は一部を没収するという脅しによって協力的な行動が強制される自治グループとして機能し得る。多くの誠実なメンバーが協力的なプロトコルに参加することにより、非協力的な又は悪意のあるメンバーのそのようなデジタル資産を没収することができる。つまり、全てのノード１０２が所定のプロトコル又は基準に準拠して動作することを保証するために、コングレスプールへのメンバー預託金は没収の対象となり得る。没収とは、没収されたとみなされるメンバー預託金の返却を永久に阻止することを意味する。悪意のある活動のために返却されないメンバー預託金を形成するデジタル資産は、コングレスプールに残され得るが、返却しない場合があり（例えば、代替チェーン（alt-chain）で返却すべきではないというコンセンサスに達した場合）、別の支出不能アドレスに直ちに又は将来的に転送され、又は没収され、没収の性質は、コングレスがサイドチェーンの留め置き検証（bonded validator）セットとして機能するかどうかに依存し得る。
【００５４】
さらに、コングレス・メンバーがコングレス１１０を退会したい場合に、メンバーは自分のメンバー預託金を引き出す（つまり、コングレス１１０がメンバー預託金をそのメンバーの個人アドレスに返送することを要求する）ことができる。ただし、資金（funds）の引出しは、有効なデジタル署名を生成するために必要なしきい値を超える数の秘密キーシェアが、引出しを承認するグループ（つまり、コングレス）のメンバーによって使用される場合にのみ、実行される。
【００５５】
コングレス１１０によって実施されるしきい値署名方式は、様々なタイプのものであり得る。しきい値署名方式は、有効な署名の生成に少なくともしきい値数の秘密キーシェアが寄与している限り、ｎ人の関係者の間で署名能力をシェアすることを可能にする。しきい値未満のサブセットを使用して、有効な署名を生成することはできない。より具体的には、各関係者は秘密署名キーのシェアを管理し、部分的な署名を組み合わせて有効な署名を生成するには、しきい値数のキーシェアを使用しなければならない。しきい値未満のキーシェアのサブセットでは、有効な署名を生成することができない。
【００５６】
しきい値署名方式は、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）方式であり得る。例えば、ＥＣＤＳＡ方式は、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)に提案されたタイプのものであり得る。このしきい値署名方式は、楕円曲線暗号ベースのアルゴリズムであるデジタル署名方式の拡張であり、この方式では、秘密キーを再構築するためにｎ人のキーシェア所有者から構成される関係者からのｔ＋１個のキーシェアが必要となる。この方式を使用して、秘密キーを再構築する必要がなく、且つある関係者が自分のキーシェアを他の関係者に明らかにする必要なく、有効な署名を作成することができる。
【００５７】
ｔ＋１個のキーシェアがシークレットを再構築するのに十分となり得るため、この手法による許容される敵の最大数はtである。Ibrahimらのモデルにおける敵（adversary）は、シークレットシェアを保持している関係者を買収し、且つそのシークレットシェアにアクセスするエンティティである。敵には様々な種類があり得る。例えば、ビザンチン（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  Formulae  (2013),  Advances  in  Cryptology-CRYPTO
2013  pp 185-202の手法と組み合わせてもよい。
【００６６】
非ＥＣＤＳＡ署名方式を含む他のしきい値方式を使用してもよい。例えば、ノード１０２が、シュノア（Schnorr）方式に基づくしきい値方式を使用して、コングレス１１０を実施してもよい。
【００６７】
ブロックチェーン・ネットワーク１００（図１）内のノード１０２（図１）は、選択されたしきい値署名方式に基づいてコングレス・プロトコルを実装することができる。そのようなノード１０２は、コングレス・プロトコルを実装する、メモリ２２０（図２）に格納されたコンピュータ実行可能命令を含み得る。そのような命令は、プロセッサ２１０（図２）によって実行されると、（図２を参照して説明したタイプの電子装置２００等の）ノード１０２にコングレス・プロトコルの１つ又は複数の方法を実行させる。そのような方法は、図３〜図８、及び図１０の方法３００、４００、５００、６００、７００、８００、１０００のいずれか１つ又は組合せを含み得る。こうして、コングレス・プロトコルは、図３〜図８、及び図１０の方法３００、４００、５００、６００、７００、８００、１０００の１つ又は複数を含み得る。方法は、ノードが他のコングレス・メンバーに関連する他のノードと協力して実行してもよい。
【００６８】
コングレスの開始
ここで図３を参照すると、コングレス１１０を開始する方法３００が示されている。方法３００は、コングレス１１０をセットアップするために最初に信頼される関係者によって実行され得る。すなわち、最初に信頼される関係者に関連するノード１０２が、方法３００を実行し得る。
【００６９】
方法３００は、動作３０２において、コングレス公開キーを提供するステップを含む。コングレス公開キーは、他のノード１０２に提供され、これら他のノードがコングレスへの加入を希望する場合に他のノードがコングレス公開キーに支払を行うことを可能にし得る。つまり、他のノードは、コングレスに加入するために、コングレス公開キーに関連するアドレスにデジタル資産を転送し得る。
【００７０】
方法３００を実行するノード１０２は、動作３０４において、１つ又は複数の条件が満たされるまで公開キーへの支払いを許可する。例えば、ノードは、決められた期間又は決められたブロック数の間に、公開キーへの支払いを許可し得る。条件が満たされた後（例えば、この期間の満了後又は複数のブロックのマイニング後）に、方法３００を実行するノード１０２は、動作３０６において、コングレスの初期メンバーを特定する。
【００７１】
コングレスの初期構成員を構成する関係者が特定された後に、動作３０７において、しきい値署名方式に従って秘密キーが秘密キーシェアに分割される。次に、動作３０８において、秘密キーシェアが、方法３００を実行するノード１０２から特定された関係者に分配される。秘密キーシェアは、本明細書で説明するタイプのものであり得るしきい値署名方式に関連付けられる。
【００７２】
動作３０８中に、コングレス・メンバーとして特定されたノード１０２は協力して、新しい秘密キーシェア及び新しい公開キーを生成する。最初に信頼される関係者によってそのようなノードに送信された元の（original）キーシェアは、署名するために使用され、コングレスプール内の全てのデジタル資産を新しい公開キーに送信するトランザクションにブロードキャストするために使用され得、次にコングレス公開キーになる。すなわち、動作３０８中に、新しい公開グループアドレスが確立され、コングレスの管理下にあるデジタル資産がこの新しいアドレスに転送され、このアドレスが、グループの新しいアドレスとなり、且つコングレス公開キーに関連付けられる。この転送が確認された後に、コングレスはトラストレスな（trustlessly：中央主権型システムに頼らない）運営を行うことができる。新しい公開グループアドレスは、コングレス１１０への加入を希望する他のノードから、又は上述したような他の目的のために、将来デジタル資産の預入金を受け取ることができるように形成される。ここで、コングレス・メンバーは、コングレスに登録されているとみなされ、これらのノードは、最初に信頼される関係者の支援なしに動作することができる。さらに、最初に信頼された関係者は、もはやコングレスの運営のあらゆる部分に関与しない。
【００７３】
コングレスが開始された後のコングレスへの加入
ここで図４を参照すると、この図は、コングレスに加入する方法４００を示している。図４の方法４００は、図３の方法３００と関連して動作し得るが、図４の方法４００は、図３の方法３００を実行するノードが運営する同じブロックチェーン・ネットワーク１００（図１）で動作するノード１０２のうちの異なる１つによって実行される。図４の方法４００は、動作４０２において、コングレス公開キーを取得するステップを含む。コングレス公開キーは、図３の方法３００を実行するノード等の、コングレスを開始する関係者から直接的に取得することができる、或いは、例えばブロックチェーン・ネットワーク１００（図１）の外部で動作する第三者システムを含む第三者から取得することができる。例えば、コングレス公開キーは、公衆インターネットを介してアクセス可能な公開Ｗｅｂサーバから取得することができる。
【００７４】
方法４００を実行するノード１０２は、動作４０４において、ノード１０２に関連するプライベートアカウントからコングレスアドレス（すなわち、コングレス公開キーに関連するアドレス）にデジタル資産のトランザクションをブロードキャストすることにより、コングレス公開キーに支払を行う。より具体的には、ノード１０２は、１つ又は複数のデジタル資産をコングレス公開キーに関連する公開グループアドレスに転送するトランザクションをブロードキャストする。公開グループアドレスは、コングレスプールのためのアドレスである。コングレスプールには、コングレスの他のメンバーに関連する他のデジタル資産が含まれる。こうして、動作４０４におけるトランザクションは、マイナー１０４（図１）によってブロックに追加されると、デジタル資産を、他のメンバーからのデジタル資産を含むコングレスプールに転送する。公開グループアドレスは、コングレスへの加入を希望する関係者からの転送と、コングレスへの加入を希望しない関係者からの転送との両方を受信する場合がある。コングレスへの加入を希望しない関係者は、デジタル資産をコングレスプールに転送し、そのようなデジタル資産は、コングレスが採用するしきい値署名方式を使用して、コングレスによる全体的、部分的、又は条件付き管理下に置かれ得る。
【００７５】
動作４０４におけるトランザクションは、デジタル資産を転送する関係者がコングレスへの加入を希望し、そのような目的のために預託が行われていることを示すフラグ、識別子、又は他の属性を含み得る。
【００７６】
デジタル資産をコングレスプールに預託した後に、動作４０６において、方法４００を実行するノード１０２は、秘密キーシェアを受け取る。次に、ノード１０２は、動作４０８において、プロトコルの単一のインスタンスを実行することにより、秘密キーシェアを再生成する。秘密キーシェアの生成は、ノード１０２のＴＥＥ内で実行され得る。
【００７７】
動作４０８において、ノード１０２は、しきい値署名方式で使用される秘密キーシェアを生成し、しきい値署名方式において、コングレスに代わってトランザクションの有効な署名を生成するために、少なくともしきい値の秘密キーシェアを使用しなければならない。秘密キーシェアの他の所有者は、それぞれのデジタル資産を公開グループアドレスに転送することにより、許可ベース又は非許可ベースでコングレスに加入したコングレスの他のメンバーである。
【００７８】
秘密キーシェアを再生成するために、動作４０８において、既存のコングレス・メンバーは協力してキーシェアを更新することができる。例えば、ノード１０２は、次数ｔのランダム多項式を生成することができ、定数項はゼロ
【数１】
2020528689.tif 000003
である。次に、ノード１０２は、ポイント
【数２】
2020528689.tif 000004
を計算し、これを秘密キーシェアとして設定することができる。次に、ノード１０２は、この多項式
【数３】
2020528689.tif 000005
上のポイントを既存の各コングレス・メンバーｉ＝１，…，ｎに分配することができる。既存の各コングレス・メンバー（ｉ＝１，…，ｎ）は、受信した値を自分の既存の秘密キーシェアに追加して、新しい秘密キーシェアを取得する。ここで、ノード１０２は、他の全てのメンバーと同等の秘密キーシェアを有しており、対応する公開キーは変更されないままである。上述したように、しきい値署名方式は、楕円曲線デジタル署名アルゴリズム又はシュノア方式に基づくしきい値方式を含む様々なタイプのものであり得る。
【００７９】
秘密キーシェアは、ＴＥＥ２５０（図２）内で生成してもよく、且つノード１０２に安全に格納され得る。例えば、秘密キーシェアは、ＴＥＥ２５０に格納してもよい。
【００８０】
秘密キーシェアがそれぞれのノードによって生成された後に、以前のコングレス公開キーの管理下にある資金（例えば、元のコングレス公開キーに関連する公開グループアドレスに転送された資金）が、（しきい値署名方式の下で有効な署名を生成するのに十分な数のグループノードの協力によって、）新しい秘密キーシェアに関連する新しいコングレス公開キーに転送され得る。
【００８１】
動作４０８において、秘密キーシェアが生成された後に、その秘密キーシェアを方法４００の動作４１０において使用され得る。秘密キーシェアを使用して、（あるメンバーによってブロードキャストされ得る）公開グループアドレスからトランザクションのための有効な署名を協力して生成することができる。つまり、しきい値署名方式で秘密キーシェアを使用して、署名生成に寄与することができる。しきい値署名方式では、コングレスのしきい値数の秘密キーシェアをそれぞれのメンバーが使用して、デジタル資産をコングレスとは別の場所に（away from）転送できるようにする有効な署名を生成する必要がある。方法４００を実行するノード１０２は、署名生成に寄与するために、ストレージから秘密キーシェアを検索し、この秘密キーシェアを使用することができる。十分な数の他のコングレス・メンバーもそれぞれの秘密キーを使用して署名の生成に寄与する場合に、署名が生成され、有効な支出トランザクションがブロードキャストされ得る。ブロックチェーン・ネットワーク１００のマイナー１０４（図１）が、（ブロックチェーン・ネットワーク１００内のノード１０２のコンセンサスによってブロックチェーンに追加される）マイニングされたブロックにトランザクションを追加し、ブロックが確認されると、支出トランザクションが完了する。この時点で、トランザクションにおいて表されるデジタル資産は、もはやコングレスの管理下にない可能性がある。つまり、そのようなデジタル資産は、コングレス公開キーによってもはや制限されなくなる可能性がある。
【００８２】
動作４０８における秘密キーシェアの使用は、ノード１０２のＴＥＥ内で実行され得る。ＴＥＥは、システムの他の部分もメンバー自体も、エンクレーブに格納された秘密キーシェア等のあらゆるデータにアクセスできないように秘密キーシェアを保護する。さらに、ＴＥＥは、メンバーが預託金の返却を望み、預託金を受け取る場合に、メンバーがメンバー預託金を返却する前に秘密キーの削除を証明する必要があるため、ＴＥＥが秘密キーのコピーを保持できないという点で、秘密キーを保護する。
【００８３】
図４の方法４００は、初期セットアップ段階中又はその後に実行することができる。すなわち、方法４００は、初期キーシェアが分配される前（例えば、図３の方法３００の動作３０８中）又はその後（例えば、以下でより詳細に議論する再バランス中）に実行され得る。
【００８４】
動作４１０におけるトランザクションは、デジタル資産を、元々それらのデジタル資産をコングレスプールに預託した関係者に戻すように転送することができる。つまり、転送（移転）はデジタル資産を預託者に返却する場合がある。転送は、デジタル資産を他の場所に転送することもある。例えば、デジタル資産は、第三者又は支出不能アドレスに転送される場合がある。
【００８５】
デジタル資産の没収
ここで図５を参照すると、デジタル資産を没収する例示的な方法５００が示されている。図５の方法５００は、ノード１０２によって実行してもよく、ノード１０２は、図４の方法４００を実行するノードと同じであってもよい。方法５００は、図４の方法４００の動作４０８の後に実行され得る。そのため、ノード１０２は、図５の方法５００が実行されたときに、秘密キーシェアに既にアクセスしている。
【００８６】
動作５０２において、ノード１０２は、悪意のある関係者による悪意のある活動を検出する。悪意のある関係者は、コングレスの別のメンバーである可能性がある。悪意のある活動は、コングレス・メンバーが予め規定されたプロトコル又は基準に違反しているとノード１０２が判断したときに検出される。例えば、コングレスのメンバーであるノードが偽の情報（つまり、虚偽の、一貫性のない、又は容認できない情報）をコングレスの他のメンバーに報告する場合に、そのメンバーは悪意のあるメンバーとみなされ得る。
【００８７】
動作５０３において、悪意のある活動の検出に応答して、ノード１０２は、コングレス内の他のノードと協力して、悪意のある関係者であるメンバーを一時保留状態にする（suspend）ことができる。つまり、コングレスは、悪意のある関係者をコングレスへの更なる参加から排除することができる。
【００８８】
全てのノード１０２が予め規定されたプロトコル又は基準に準拠して動作することを保証するために、コングレスプールへのメンバー預託金は没収の対象となり得る。没収とは、没収されたとみなされるメンバー預託金の返却を永久に阻止することを意味する。悪意のある活動のために返却されない、メンバー預託金を形成するデジタル資産は、コングレスプールに残され得るが、（この措置を取るべきであるというコンセンサスに応じて）返却されない場合があり、別の支出不能アドレスに直ちに又は将来的に転送され、又は没収され得る。没収の性質は、コングレスがサイドチェーンの留め置き検証セットとして機能するかどうかに依存し得る。例えば、動作５０４において、悪意のある関係者による悪意のある活動を検出することに応じて、方法５００を実行するノード１０２は、秘密キーシェアを使用して、没収トランザクション（デジタル資産を支出不能アドレス又は悪意のある活動を曝露する報酬として別のノードに転送するトランザクション）に関する部分的な署名を提供することができる。すなわち、ノードは、コングレスの他のノードと協力して、悪意のある関係者によって公開グループアドレス（つまり、コングレスプール）に以前転送されたデジタル資産の少なくとも一部を没収する。つまり、グループメンバーが予め規定されたプロトコル又は基準に違反していることを確認したことに応じて、秘密キーシェアは、そのグループメンバーに関連付けられ且つコングレスプール内に保持されている１つ又は複数のデジタル資産のトランザクションの承認に寄与するために利用される。
【００８９】
しきい値署名方式がコングレス公開キーとともに使用されるため、単独で行動する個々のノードは、別のコングレス・メンバーのデジタル資産の預託金をコングレスプールとは別の場所（例えば、支出不能アドレスに）転送することができない。むしろ、デジタル資産は、デジタル資産を別のアドレスに転送するための有効な署名を生成するために、それぞれのメンバーがしきい値数の秘密キーシェアを使用する場合に、又は少なくともしきい値数の秘密キーシェアとなるグループのメンバーが、（動作５０３において）あるメンバーを一時保留状態にするコンセンサスに達した場合にのみ、転送によって没収され得、保留状態されたメンバーからの引出し要求は自動的に無視される。デジタル資産が転送によって没収された場合に、デジタル資産が転送され得る他のアドレスは、支出不能アドレスに関連付けられ得る。例えば、この他のアドレスは、秘密キーが存在しないアドレスであってもよく、このアドレスの公開キーに結び付けられたデジタル資産に誰もアクセスできないようにすることができる。デジタル資産を支出不能アドレスに転送するトランザクションが確認された場合、又はデジタル資産を没収すべきというコンセンサスがサイドチェーンで得られた場合に、デジタル資産は、もはやコングレスの任意のメンバーによって又は実際にブロックチェーン・ネットワーク１００内の任意のノードによって保留状態ではないので、デジタル資産は焼却されたとみなされ得る。
【００９０】
従って、動作５０４において、ノードは、コングレスの他のメンバーと協力して秘密キーシェアを使用してトランザクションの支出不能アドレスへの有効な署名を生成することにより、デジタル資産を没収することができ、いくつかの実施態様では、あるメンバー預託金の全部又は一部を永久に取り上げるべきであるコンセンサスの達成を第２のブロックチェーンで伴うことができる。
【００９１】
さらに、いくつかの実施態様では、コングレスは、プルーフオブステーク（proof-of-stake）のサイドチェーンを保護する留め置き検証セットとして機能し、このサイドチェーンは、ブロードキャストチャネルとして使用され得る。例えば、サイドチェーンのコングレス・メンバーが、あるメンバーが悪意を持って行動したというコンセンサスに達する場合がある。このコンセンサスは、悪意のある活動の犯罪的証拠を含むサイドチェーン・トランザクションの確認に対応する場合がある。コンセンサスが得られると、悪意のあるメンバーによって行われたメンバー預託金の引出し要求は拒否され、預託金は没収されたとみなされる。没収されたデジタル資産は、将来のある時点で焼却され得る。つまり、しばらくすると、しきい値のメンバー（悪意のあるメンバーを含まない）が協力して、没収されたデジタル資産の支出不能アドレスへの転送を承認することができる。
【００９２】
コングレスは、デジタル資産の預託によってブロックチェーン・ネットワーク１００のノード１０２が加入できるオープングループであるため、グループ構成員は定期的に変更され得る。このような変更が発生すると、秘密キーシェアの分配が更新され得る。ここで図６を参照すると、秘密キーシェア分配を更新する例示的な方法６００が示されている。方法６００は、ブロックチェーン・ネットワーク１００のノード１０２がブロックチェーン・ネットワーク１００の他のノードと協力して、実行され得る。
【００９３】
新しい公開アドレスを使用した秘密キーシェア分配の更新
方法６００の動作６０２において、ノード１０２は、再分配要求を検出し、これは要求であり、その履行は、キーシェアの再分配を伴う。例えば、ノード１０２は、新しい見込みメンバーがデジタル資産を公開グループアドレスに移転したこと、又は既存のメンバーがメンバー預託金の引出しを要求したことを検出することができる。
【００９４】
デジタル資産は、コングレスへ加入すること又はコングレスへの参加を増やすことを要求するノードと、コングレスへの加入を要求しないが、代わりに別の目的で（以下で説明するように、デジタル資産をサイドチェーンに転送する等で）デジタル資産をコングレスに転送する他のノードとによって、公開グループアドレスに転送され得る。動作６０２において、ノード１０２は、デジタル資産の公開グループアドレスへのトランザクションの少なくとも一部に含まれる１つ又は複数の属性を使用して、コングレス・メンバー（すなわち、コングレスに加入するためにデジタル資産をコングレス公開キーに転送する関係者であり、別の目的の関係者ではない）を識別することができる。例えば、特定のトランザクションは、トランザクションの属性を使用して特別なトランザクションとしてフラグが付けられる場合がある。このような属性（又は、その属性の有無）は、転送を行う目的を示している場合がある。例えば、転送者がコングレスへの加入を要求していない場合に、トランザクションにフラグが含まれる場合がある。
【００９５】
動作６０２における要求の検出に応じて、その履行はキーシェアの再分配を伴い、動作６０４において、秘密キーシェアが図４の方法４００の動作４０８において生成された方法と同様に、新しい秘密キーシェアがノード１０２によって生成される。コングレスの他のメンバーノードも、それぞれの秘密キーシェアを生成する。これら秘密キーシェアは、新しいコングレス公開キーのしきい値署名方式で使用することができる。この時点でコングレスを退会するメンバーは、動作６０４中に新しい秘密キーシェアを生成せず、退会するメンバーには新しいコングレス公開キーで使用する秘密キーシェアが割り当てられないため、退会するメンバーは、コングレスに参加する能力を失い、もはやコングレス・メンバーとはみなされなくなる。
【００９６】
さらに、再分配要求（これは、その履行がキーシェアの再分配を伴う要求である）の検出に応じて、動作６０６において、ノード１０２は、他のコングレス・メンバーと協力して、公開グループアドレス内の全てのデジタル資産を、新しい公開キーに関連する新しい公開アドレス（これが新しいコングレス公開キーになる）に転送する。
【００９７】
こうして、図６の方法６００によれば、預託金の分配が変更されたとき、又はあるメンバーから預託金を引き出す要求を受け取ったとき、秘密キーシェアが再生成され、コングレスの管理下にある全てのデジタル資産が新しい公開キーに移動され得る。コングレスの構成員を更新できる頻度は、ブロックチェーン・ネットワーク１００のブロック時間によって制限され得る。多くのアプリケーションでは、プルーフオブワーク・メインチェーンの平均ブロック生成時間と比較して低頻度での再バランスのみが必要であり得る。
【００９８】
既存の公開グループアドレスを保持しながら秘密キーシェア分配を更新する
ここで図７を参照すると、秘密キーシェアの分配を更新する更なる例示的な方法７００が示されている。方法７００は、ブロックチェーン・ネットワーク１００のノード１０２がブロックチェーン・ネットワーク１００の他のノードと協力して、実行され得る。
【００９９】
図７の方法７００では、コングレス公開キーは、メンバー預託金の分配が変更される度に変更されない。（動作７０２において、デジタル資産の公開グループアドレスへの預託によって発生する可能性のある）新しいキーシェアを割り当てる要求が検出されると、ノード１０２は、コングレスの他のメンバーと協力して、（動作７０４において）同じ公開キーに関する新しい秘密キーシェアをグループの新しいメンバーに発行する。協力するノードの数は、しきい値署名方式でデジタル署名を生成するために必要な少なくともしきい値数のノードである。動作７０４において、追加のキーシェアが割り当てられる一方、他のキーシェアは同じままであり得る。これは、（しきい値署名方式の）しきい値の変更を伴う場合があるが、実際にはその変更は小さい。あるいはまた、動作７０４において、他のキーシェアが更新されている間に、追加のキーシェアを割り当ててもよい。そのような更新には、以前生成したあらゆるキーシェアの削除の証明を伴う必要がある。この場合に、同じしきい値を維持しながら新しいシェアを割り当てることができる（ＳＳＳの文脈では、これには、次数が増加した新しい多項式での分散（sharing）が含まれる）。
【０１００】
動作７０２において、ノード１０２は、デジタル資産の公開グループアドレスへのトランザクションの少なくとも一部に含まれる１つ又は複数の属性を使用して、コングレス・メンバー（すなわち、コングレスに加入するためにデジタル資産をコングレス公開キーに転送する関係者であり、別の目的の関係者ではない）を識別することができる。例えば、特定のトランザクションは、トランザクションの属性を使用して特別なトランザクションとしてフラグが付けられる場合がある。このような属性（又は、その属性の有無）は、転送を行う目的を示し得る。例えば、転送者がコングレスへの加入を要求していない場合に、トランザクションにフラグを含めてもよい。
【０１０１】
メンバーが方法７００を使用するコングレスを退会するときに、メンバーは、自分の秘密キーシェアを確実に削除することができる。古いメンバーの秘密キーシェアが使用できないことを確実にするために、コングレスのメンバーは、特別なＴＥＥを有するノード１０２を使用することを要求される場合がある。ＴＥＥは、ハードウェアレベルで実装されるアーキテクチャであり、ＴＥＥ内で実行される命令及びデータが、システムの残りの部分からのアクセス及び操作から保護されることを保証する。ＴＥＥは、ハードウェアメカニズムを使用して、コングレスの他のノード等の外部関係者に対してシステムの完全性を検証するために使用できるリモート認証の課題に対応することができる。
【０１０２】
各メンバーノードは、集積回路レベルでハードウェアを損なうことなくホストシステムにアクセスできないままである１つ又は複数のランダムシークレット値を生成するように構成された認定ＴＥＥを使用することができる。このようにして生成されたシークレット値は、（例えば、図４の方法４００の動作４１０において）秘密キーシェアの分配生成で使用される。このシークレット値は、コングレスのセットアップ段階でシェアされる（shared）公開キーを確立するために使用することもできる。セットアップ・プロトコルに関連付けられた計算はＴＥＥのエンクレーブ内で実行されるため、メンバー又は以前のメンバーは、メンバー間通信又は他の方法により自分又は他の秘密キーシェアに関する情報を得ることができない。ＴＥＥ内のエンクレーブは、ＴＥＥエンクレーブが、真正であり、承認されたコンピュータ可読命令を実行していることを他のノードに証明するために使用され得るリモート証明プロトコルを実行できるようにする。
【０１０３】
グループの変更に関連する計算は、ＴＥＥのエンクレーブ内で実行される。例えば、ＳＳＳの目的で新しい多項式を計算する際に使用され得る新しい安全なアランダムシークレットの生成は、ＴＥＥのエンクレーブ内で実行される。
【０１０４】
ＴＥＥのエンクレーブは、メンバー預託金を返却する前に、使用されなくなった以前のキーシェア及び以前のシークレットを確実に削除するのを確実にすることも目的としている。より具体的には、メンバー預託金を返却するために、認証プロトコルでは、ＴＥＥのエンクレーブがキーシェアの削除を証明することを要求する場合がある。各ノード１０２は、そのような証明を、削除の必要性がリモート証明プロトコルを介して他のノードで発生したことの確認として解釈することができる。こうして、方法７００は、コングレスを退会したメンバーのＴＥＥ内に以前保持されていた秘密キーシェアが、そのメンバーに関連するノードから削除されたことを確認するステップも含み得る。この確認は、秘密キーシェアの削除の証明を受信することで行うことができる。従って、リモート証明プロトコルを使用して、コングレスを退会したメンバーのＴＥＥ内に以前保持されていた秘密キーシェアの削除に対する証明を取得することができる。
【０１０５】
図６の方法６００及び図７の方法７００には、それぞれ様々な利点がある。例えば、図６の方法６００は、確実な削除に依存せず、信頼できるハードウェアに依存する必要もない。しかしながら、図６の方法６００は、状況によっては、このようなハードウェアによってキーシェアの悪意のあるプーリングをより起こりにくくし得るため、このようなハードウェアの恩恵を受け得る。
【０１０６】
図７の方法７００は、構成員が変更される度に新しいコングレス公開キーの下でデジタル資産を再ロックする必要性を回避する。さらに、状況によっては、方法７００は、図６の方法６００よりも速く構成員を更新する場合がある。なぜなら、図７の方法７００の下では、デジタル資産が新しい公開キーに移動されないため、全てのデジタル資産を新しい公開キーに移動するためにトランザクションをブロックチェーンに追加する必要はないからである。すなわち、公開キーが変更されないため、デジタル資産の新しい公開キーへの転送を確認するためにいくつかのブロックが生成されるのを待たずに、図７の方法７００を使用して構成員を更新することができる。
【０１０７】
コングレスからの登録解除
上述したように、グループメンバーは時々コングレスからの退会を要求する場合があり、グループメンバーをコングレスから登録解除するときに、コングレスプールに預託したデジタル資産がそのグループメンバーに返却される場合がある。ここで図８を参照すると、預託金を返却する例示的な方法８００がフローチャート形式で示されている。この方法は、ノード１０２がコングレスの他のノード１０２と協力して、実行され得る。
【０１０８】
方法８００の動作８０２において、ノード１０２は、コングレス・メンバーである要求者から引出し要求を受信する。引出し要求は、登録解除要求とも呼ばれ得る。引出し要求は、要求者によって以前預託され、コングレスによって現在管理されているデジタル資産を引き出す要求である。要求は、要求者によって全てのコングレス・メンバーにブロードキャストされ得る。
【０１０９】
要求の受信に応じて、動作８０４において、ノード１０２は、決定された基準に対して要求を評価する。そのような基準は、予め決定された基準であり得る。コングレスが、グループの構成員が変更される度にコングレス公開キーが変更されないコングレス・プロトコルに従って動作する場合に、動作８０４において、ノード１０２は、秘密キーシェアが要求者によって削除されたことを確認することができる。このような確認は、ＴＥＥに関連するリモート証明プロトコルを使用して得ることができる。
【０１１０】
コングレス・プロトコルが、構成員が変更されたときにコングレス公開キーが変更されるものである場合に、秘密キーシェアはもはや有効ではないため、ノード１０２は、秘密キーシェアの削除を確認しない場合がある。代わりに、新しいコングレスキーが使用され、コングレスの管理下の他のデジタル資産が新しいコングレスキーに転送され得る。
【０１１１】
ノード１０２が評価に基づいて引出し要求を承認する場合に、動作８０６において、ノードはデジタル資産の引出しを容易にする。すなわち、ノード１０２は、その秘密キーシェアを使用してデジタル署名を協力して生成し、このデジタル署名を使用して、要求者によって以前に預託されたデジタル資産を要求者に返送する。例えば、デジタル資産は、デジタル資産を以前に受け取ったアドレスに送り返され得る。動作８０６は、しきい値署名方式に従って実行され、それにより、少なくともしきい値数のコングレス・メンバーが引出しを承認した場合にのみ引出しが行われる。動作８０６は、登録解除を希望するメンバーが一定期間活動を停止した後に実行される。この待機期間によって、メンバー預託金の返却のためのプロトコルを実行している間に、メンバーが不正行為に関与するのを防止する。
【０１１２】
コングレス・プロトコルは、多数の様々な目的に使用できる。コングレスは、様々な機能を実行するための安全なメカニズムを提供する。コングレスはトラストレス（trustless：中央主権型システムに頼らない）な運営を行い、デジタル資産の所有権を管理できる。
【０１１３】
コングレス・プロトコルは、例えば、ゴーストチェーンを実装するために使用してもよく、その場合に、コングレス・プロトコルはゴーストチェーン・プロトコルと呼ばれ得る。
【０１１４】
ゴーストチェーン
ここで図９を参照すると、図９００は、ブロックチェーン９０２及びゴーストチェーン９０４を示している。ブロックチェーン９０２は、ブロックベースのプルーフオブワークの分散型台帳である。ゴーストチェーン９０４は、フラグ付きトランザクションで指定された１つ又は複数の条件に従って復号化キーを作成する、又はブロックチェーン・ネットワークのノード同士の間の紛争を仲裁する等、あらゆる目的に使用できるブロックベースの分散プルーフオブステーク（proof-of-stake）の分散型台帳である。例えば、ブロックチェーンには、あるノードが別のノードから送信された作業成果物に異議を申し立てる異議申立てを含み得る。そのような異議申立ては、図９では「Ｃ」と示されている。異議申立ては、例えば、ノード（つまり、異議申立者）が要求の履行で提案された結果が無効であることを示す場合に発生し得る。
【０１１５】
異議申立てがノードによって提起されると、ゴーストチェーンが展開される。異議申立てに応答して異議申立てＣが発生した後に、ゴーストチェーンがインスタンス化される。ゴーストチェーンは、ゴーストチェーンの以前のインスタンス化による最終ブロック（末端ブロックとも呼ばれる）であるジェネシス（genesis）ブロックでインスタンス化され得る。ゴーストチェーンがＪで示される判断（judgement）に達するまで、マイナーがいくつかのブロックをゴーストチェーンに追加して、デジタル紛争を解決することができる。
【０１１６】
判断に達したときに、トランザクション（以下で最終トランザクション又は決済トランザクションと呼ばれる）が、構築され、（以下でより詳細に説明するように）署名され得る。このトランザクションは、判断に従って資金をメインブロックチェーン９０２に分配する、ゴーストチェーンのマイナーに報酬を与えるように資金を分配する等の効果を有するトランザクションであり得る。トランザクションは、判断の結果をメインブロックチェーン９０２に返信することもできる。より具体的には、結果はトランザクションにカプセル化され得る。
【０１１７】
判断に達し、最終トランザクションが構築及び署名された後に、ゴーストチェーン９０４は終了し、構築されたトランザクションは、メインブロックチェーン９０２にマイニングされる。ゴーストチェーン９０４が終了するため、ゴーストチェーンには末端ブロックがあるという点で、典型的なブロックチェーンとは異なる。ゴーストチェーン９０４の最後のブロックであるこの末端ブロックは、判断が決定されると発生し、この判断に従って資金をメインブロックチェーン９０２に分配し、ゴーストチェーンのマイナーに報酬を与えるように資金を分配する等の結果のトランザクションは、有効に署名される。
【０１１８】
要求者−提案者−異議申立者及びゴーストチェーン
従って、ブロックチェーン・ネットワーク（図１）のノード１０２は、要求者−提案者−異議申立者プロトコル及び／又はゴーストチェーンの解決プロトコルを実装できる。そのようなノードは、メモリ２２０（図２）に格納され、そのようなプロトコルを実装するコンピュータ実行可能命令を含み得る。そのような命令は、プロセッサ２１０（図２）によって実行されると、ノード１０２（図２を参照して説明したタイプの電子装置２００等）に、プロトコルの１つ又は複数の方法を実行させる。そのような方法は、図１０〜図１３の方法１０００、１１００、１２００、１３００のいずれか１つ又は組合せを含み得る。
【０１１９】
ここで、図１０〜図１３を参照すると、これらの図は、要求者−提案者−異議申立者プロトコル及び／又はゴーストチェーンの解決プロトコルに含まれ得る方法を示している。図１０に示される要求者に関する方法（requester method）は、計算交換のタスクに関する要求者によって実行され得る。つまり、タスクの完了を要求するノード１０２は、図１０の要求者に関する方法を実行し得る。ノードはブロックチェーン・ネットワーク（図１）内のノードであり、ノードは要求者と呼ばれ得る。
【０１２０】
提案者に関する方法（proposer method）１１００が図１１に示されている。提案者に関する方法１１００は、タスクに対する解に関する提案者によって実行され得る。つまり、タスクを完了したと主張するノード１０２が、図１１の方法を実行し得る。ノードはブロックチェーン・ネットワーク（図１）内のノードであり、ノードは提案者と呼ばれ得る。
【０１２１】
異議申立者に関する方法（challenger method）１２００が図１２に示されている。異議申立者に関する方法１２００は、タスクに対する解に関する異議申立者によって実行され得る。つまり、提案者によって提示された解に異議を申し立てるノード１０２が、図１２の方法を実行し得る。ノードはブロックチェーン・ネットワーク（図１）内のノードであり、ノードは異議申立者と呼ばれ得る。
【０１２２】
仲裁者に関する方法（arbitrator method）１３００が図１３に示されている。仲裁者に関する方法（arbitrator method）１３００は、ブロックチェーン・ネットワークのノードがブロックチェーン・ネットワークの他のノードと協力して、実行され得る。他のノードと協力して仲裁者に関する方法を実行するノードは、仲裁者と呼ばれ得る。
【０１２３】
図１０〜図１３の方法１０００、１１００、１２００、１３００は、協同して実行される。例えば、方法は、ゴーストチェーンが提案者の解の有効性を保証するために使用される要求者−提案者−異議申立者プロトコルをまとめて提供する。
【０１２４】
要求者に関する方法１０００（図１０）の動作１００２において、要求者と呼ばれるノードが要求を行う。要求は、タスクを完了するための要求である。例えば、タスクは作業成果物に対する要求又は以下でより詳細に説明するオフチェーン・イベントが発生したかどうかを判定するための要求であり得る。要求は、タスクの成功裏の完了と引き換えに、ブロックチェーン・ネットワークに関連するデジタル資産の形式で報奨金（bounty）を提供する。要求は、ブロックチェーンの外部（つまり、「オフチェーン（off-chain）」）から発せられ得る。例えば、要求は、インターネット経由でアクセス可能なＷｅｂサーバで発せられ得る。要求に対する候補解が一定期間（これは「異議申立て期間」と呼ばれ得る）異議申立てされない場合、又は候補解が正しいかどうかに関してコングレスのメンバーが投票することによって異議申立てが解決される場合に、要求は、成功裏に完了したと規定され得る。いくつかの実施形態では、ゴーストチェーンは、投票の結果に応じて展開される。
【０１２５】
いくつかの実施形態では、以下で説明するように、計算交換により、ノードが計算タスクをオフロード（offload）できるようになる場合がある。（動作１００２において）要求が、計算交換で提起され得る。計算交換は、要求されたタスクのコレクションであり得る。例えば、複数のタスクが計算交換で公開され得る。タスクは、同じ要求者又は別の要求者によって公開され得る。計算交換により、ノードが計算又はアルゴリズムのパフォーマンスを他のノードにオフロードできる。
【０１２６】
提案者に関する方法１１００（図１１）の動作１１０２において、提案者と呼ばれるノードが要求を特定する。次に、ノードは、（動作１１０４において）タスクをオフチェーンで完了するよう進む。例えば、要求者によって要求されたアルゴリズム、データ、又は他の結果は、プロセッサによる作業成果物として取得される場合がある。
【０１２７】
次に、提案者は、方法１１００（図１１）の動作１１０６において提案を提出することができる。提案は、図１０の方法１０００の動作１００２において要求者によって発せられた要求に関連するタスクを完了したという主張である。提案を提出するために、提案者は、ブロックチェーン・ネットワーク１００の公開キーを要求者に送信することができる。提案者は、タスクに対する解にコミットすることもできる。このコミットは、解のハッシュ（つまり、計算の出力や別のタイプの解等の作業成果物のハッシュ）の形式にすることができる。
【０１２８】
要求者は、図１０の方法１０００の動作１００４において提案を受け取る。例えば、要求者は、提案者の公開キー及び「コミット」（例えば、目的の作業成果物のハッシュ）を受け取ることができる。
【０１２９】
提案の受取りに応じて、図１０の方法１０００の動作１００６において、要求者は、トランザクションＴ１を構築することができる。トランザクションＴ１には、入力として報奨金が含まれる。トランザクションには、出力として報奨金と提案者の預託金と（つまり、Ｔ１の出力、Ｔ１＿ｏｕｔ＝報奨金＋提案者の預託金）が含まれる。トランザクションＴ１に署名して、提案者が自分の入力に追加できるようにする。例えば、トランザクションＴ１は、ＳＩＧＨＡＳＨ＿ＡＬＬ｜ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹに署名し得る。ＳＩＧＨＡＳＨ＿ＡＬＬは、署名スクリプトを除くトランザクション全体に署名するデフォルトの署名ハッシュタイプであり、署名された部分の変更を防止する。ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹは、現在の入力のみに署名する署名ハッシュタイプである。
【０１３０】
トランザクションＴ１は、２つの方法でロック解除されるように構築される。（後述する）異議申立て期間の終了後に、そのトランザクションＴ１は、提案者の署名（つまり、提案者が要求者に提供した公開キーに対応する署名）とコミットに対応する解とでロックを解除できる。例えば、命令コードＯＰ＿ＣＨＥＣＫＳＥＱＵＥＮＣＥＶＥＲＩＦＹを使用して、異議申立て期間に亘ってトランザクションをロックできるが、この期間内に異議申立てがない場合に、提案者によってロックを解除できる。トランザクションは、いつでもコングレス１１０（図１）のグループ署名でロック解除されるようにも構築される。つまり、コングレス１１０のしきい値署名方式に従って、コングレスのメンバーであるノードが協力し、それぞれの秘密キーシェアを使用してトランザクションをロック解除するときに、異議申立て期間の終了前又は後にトランザクションをロック解除することができる。
【０１３１】
トランザクションＴ１には、コミット等の疑わしい（未確認の）解に関する情報も含まれる場合がある。例えば、ＯＰ＿ＰＵＳＨＤＡＴＡ命令コードを使用して、目的の作業成果物のハッシュをトランザクションに追加することができる。より具体的には、目的の作業成果物のハッシュをトランザクションのロックスクリプトに追加することができる。このロックスクリプトは、ロックスクリプトに含まれる目的の作業成果物のハッシュにハッシュする解を与えるロック解除スクリプトによって（異議申立て期間の終了後に）ロック解除されるように構成される。
【０１３２】
図１０及び図１１に示されていないが、提案者は、動作１００６において構築されたトランザクションＴ１を受け取り、提案者の預託金を入力としてトランザクションＴ１に追加することができる。提案者は、トランザクションをブロックチェーン・ネットワーク（図１）の他のノードにブロードキャストする。トランザクションは、ブロックチェーン上でマイニング（つまり、ブロックに追加）され、公開される。
【０１３３】
トランザクションがブロックチェーンにマイニングされると、異議申立て期間が開始され、その間に、任意のノード（図１）が提案者によって提出された提案に異議を申し立てることができる。異議申立て期間中に異議申立てがなされなかった場合に、提案者は、トランザクションＴ１から報奨金及び提案者の預託金を請求することができる。提案者は、異議申立て期間に残っている時間を追跡するためにタイマーを開始し、異議申立て期間が終了すると自動的にアクションを取ることができる。例えば、提案者は、プロセッサ作業成果物等の作業成果物（解と呼ばれ得る）を要求者に提供し、トランザクションのロックを解除できる。一例では、提案者は、オフチェーン・イベントが発生したことを示す作業成果物を提供し、ノード１０２（図１）は、オフチェーン・イベントが実際に発生したという提案される解に異議を申し立てることができる。
【０１３４】
提案者は、要求者に解を直接提供することはできない。代わりに、提案者は、メインブロックチェーン・ネットワーク上のトランザクションに解を埋め込むことにより解を提供できる。例えば、提案者は、報奨金及び提案者の預託金を制限する（トランザクションＴ１内の）ロックスクリプトをロック解除するロック解除スクリプト（例えば、Ｔ１のロックスクリプトをＴＲＵＥと評価するロック解除スクリプト）に解を提供できる。上述したように、ロックスクリプトは、ロック解除スクリプト内の提案される解が、提案者が要求者に以前に与えた値（つまり、「コミット」）にハッシュすることを確認するように構成され得る。ロック解除スクリプトが、トランザクションＴ１のロックスクリプトによって以前制限されたデジタル資産（つまり、トランザクションＴ１のＵＴＸＯ）を制限するロックスクリプトを成功裏にロック解除すると、ロック解除スクリプトを含むトランザクションは、デジタル資産（つまり、提案者の預託金及び報奨金）を新しいロックスクリプト（これは、例えば、提案者の公開キーを使用してデジタル資産を制限し、提案者がデジタル資産を完全に制御するようにする）で制限することによってトランザクションを使用する。
【０１３５】
上述したように、トランザクションＴ１は、ＯＰ＿ＣＨＥＣＫＳＥＱＵＥＮＣＥＶＥＲＩＦＹコードを使用して、報奨金及び提案者の預託金をロックするように構築することができる。これにより、提案者が、異議申立て期間の終了後に、要求者からの更なる承認なしに、報奨金及び提案者の預託金を自動的に請求できる。
【０１３６】
提案者の解に対して異議申立てがない場合に、異議申立てプロトコル又はゴーストチェーン・プロトコルの実行を必要とせずに、プルーフオブワーク・メインブロックチェーン９０２（図９）で完全なトランザクションを実行できることに留意されたい。
【０１３７】
しかしながら、異議申立者は異議申立て期間中に異議を申し立てることができる。例えば、方法１２００の動作１２０２において、異議申立者は異議を申し立てる。異議申立者は、図１１の方法１１００の動作１１０２及び１１０４と同様の動作を行うことができる。つまり、異議申立者は、要求を特定し、動作１２０２において異議を申し立てる前にタスクをオフチェーンで完了させ得る。また、異議申立者は、異議申立者の解が提案者の解と異なると判定することにより、異議を申し立てるべきであると判断し得る。例えば、異議申立者は、自分の解のハッシュを実行し、そのハッシュを提案者の解のハッシュと比較することができ、ハッシュが異なる場合に、異議申立者は異議を申し立てることができる。
【０１３８】
図１２の方法１２００の動作１２０２において、異議申立者は、異議申立て期間内に異議を申し立てる。異議申立者は、異議を申し立てる意図をブロックチェーン・ネットワーク１００にブロードキャストすることにより、異議を申し立てることができる。異議申立てがなされると、ノードのグループが、解の有効性を判断するのを支援することができる。例えば、オフチェーン・イベントが発生したという提案に応じて異議申立てが行われる場合があり、異議申立ては、オフチェーン・イベントが実際に発生していないと断言しており、それによりノードのグループ（例えば、コングレス）が、提案者又は異議申立者によって提供された解を受け入れるかどうかを判定し得る。
【０１３９】
例えば、図１３を簡潔に参照すると、この図は、仲裁者に関する方法１３００のフローチャートを示しており、ノードのグループが、異議申立てが提起されたときに仲裁を行うために使用され得るコングレスを形成することができる。上述したように、コングレスは、デジタル資産をプルーフオブワーク・ブロックチェーン・ネットワークに預託することによって保護される。例えば、方法１３００の動作１３０２において、仲裁者に関する方法１３００を行う仲裁者はコングレスに加入することができる。例えば、仲裁者は、図４を参照して上述したコングレスに加入する方法４００を行ってもよい。従って、動作１３０２において、仲裁者は、コングレスに関連する公開グループアドレスにデジタル資産を預託することによりコングレスと呼ばれ得るグループに加入して、グループメンバーになる。仲裁者は、プルーフオブワーク・ブロックチェーン・ネットワーク上でこの預託を行う。上述したように、グループは、ノードが秘密キーシェアを制御するためのしきい値署名方式に関連付けられる。グループへの加入（登録とも呼ばれ得る）は、例えば、ゴーストチェーンの展開中に行われ得る。図１３は、動作１３０２（コングレスへの加入）が動作１３０６（ゴーストチェーンの展開）の前に行われるのを示しているので、動作１３０２は、ゴーストチェーンの以前の展開中（つまり、動作１３０６における展開中ではない）にコングレスに加入したノードによって実行され得る。しかしながら、動作１３０６、動作１３０８、及び動作１３１０は、例えば、動作１３０６中にグループに加入するノードによって実行してもよい。
【０１４０】
動作１３０４において、仲裁者は、グループの他のノードと協力して、図１２の異議申立者に関する方法１２００動作１２０２において異議申立者によってなされた異議申立てを検出する。より具体的には、仲裁者は、グループの他のノードと協力して、要求者が行った要求に応じて提案者の作業成果物に対する異議申立者による異議申立てを検出する。
【０１４１】
上述したトランザクションＴ１により、異議申立てがなされると、グループは、報奨金及び提案者の預託金の管理を引き継ぐ。つまり、トランザクションＴ１は、いつでもコングレスによってロック解除可能になるように構築される。従って、報奨金及び預託金は、要求に対する解への提案者による引き渡しに続く異議申立て時間と呼ばれる期間内に異議申立てが検出された場合に、グループの管理下に置かれ、維持される。こうして、異議申立てが検出されると、グループは報奨金及び提案者の預託金を管理する。
【０１４２】
グループが報奨金及び提案者の預託金を管理した後に、異議申立者の検出に応じて、仲裁者は、グループの他のノードと協力して、異議申立者によるデジタル資産の預託を促進することができる。例えば、異議申立ての検出に応じて、コングレスは、報奨金及び提案者の預託金に等しい入力（例えば、Ｔ２＿ｉｎ＝報奨金＋提案者の預託金）と、報奨金、提案者の預託金、及び異議申立者の預託金の合計に等しい出力（例えば、Ｔ２＿ｏｕｔ＝報奨金＋提案者の預託金＋異議申立者の預託金）とを含むトランザクションＴ２を構築することができる。トランザクションＴ２は、いつでもグループに支払うように構成される。つまり、トランザクションＴ２は、コングレス公開キーに支払うように構成される。トランザクションＴ２は、ＳＩＧＨＡＳＨ＿ＡＬＬ｜ＳＩＧＨＡＳＨ  ＡＮＹＯＮＥＣＡＮＰＡＹで署名され得る。仲裁者は、他の仲裁者とともに、異議申立者の預託金を入力として追加するために、トランザクションＴ２を異議申立者に提供できる。例えば、仲裁者は、他のノードと一緒に、トランザクションＴ２を他のノードに公開できる。
【０１４３】
トランザクションＴ２が公開された後に、異議申立者は、異議申立者の預託金を入力としてトランザクションＴ２に追加する。つまり、異議申立者は、デジタル資産の預託金を（図１２の異議申立者に関する方法１２００の動作１２０４において）提供し、そのような預託金をグループの管理下に置く。より具体的には、異議申立者の預託金は、コングレス公開キーの管理下に置かれる。従って、報奨金、提案者の預託金、及び異議申立者の預託金は、全てグループの管理下に置かれ、コングレス公開キーによって制限される。上記のコングレスの記載で詳細に説明したように、しきい値署名方式により、しきい値数のコングレス・メンバーが、それぞれの秘密キーシェアを使用して、報奨金、提案者の預託金、及び異議申立者の預託金を含むトランザクションの有効な署名を協力して生成できる。提案者の預託金と異議申立者の預託金とが、同じサイズである場合がある。
【０１４４】
異議申立者は、異議申立ての解にコミットすることもできる。例えば、異議申立者は、例えば命令コードＯＰ＿ＰＵＳＨＤＡＴＡを使用して、解のハッシュをトランザクションＴ２に追加できる。
【０１４５】
トランザクションＴ２は、メインブロックチェーン・ネットワークにブロードキャストされ、且つ異議申立者の預託金がコングレス公開キーによって制限されるように、メインブロックチェーン・ネットワーク上でマイニングされる。報奨金、提案者の預託金、及び異議申立者の預託金は、グループの独占的管理下に置かれる。
【０１４６】
こうして、異議申立者は、代替解のエビデンス及び預託金を仲裁者に提供する。仲裁者に関する方法１３００の動作１３０６において、トランザクションＴ２がメインブロックチェーン・ネットワーク上でマイニングされた後に、仲裁者は、グループの他のノードと協力してゴーストチェーンを展開して異議申立てを解決する。上述したように、ゴーストチェーンは、ゴーストチェーンのマイナーがグループのメンバーであるプルーフオブステーク・ブロックチェーンである。つまり、コングレスのメンバーは、ゴーストチェーンでのマイニングを許可される。プルーフオブワーク・ブロックチェーン・ネットワーク上のメンバー預託金は、コングレスのメンバーがゴーストチェーンでマイニングできるようにするための出資金として機能し、メンバーがマイニングに選択される確率は、預託金の相対額に比例する。
【０１４７】
（動作１３０６において）ゴーストチェーンが展開されている間に、仲裁者がグループの他のノードと協力して、ゴーストチェーンのジェネシス・ブロックを作成又は取得することができる。ジェネシス・ブロックは、最後のゴーストチェーン展開による最終ブロック（例えば、ゴーストチェーンが実行され、過去の異議申立てに応答して前回の実行が行われた最後のインスタンスによる末端ブロック）であり得る。このブロックには、ジェネシス支払に関する情報が含まれ得る。ジェネシス支払は、デジタル資産の転送であるが、これは未だ行われておらず、ゴーストチェーンの以前の展開に基づいている。
【０１４８】
さらに、ゴーストチェーンが展開されている間に、メンバーは、登録を許可されたり、グループからの登録解除を要求したりできる。登録段階の間に、新しいメンバーを登録して、（図４を参照して上述したように）そのメンバーに秘密キーシェアを割り当てる。新しいメンバーには、ジェネシス・ブロック（現在のしきい値のメンバーによって認証され得る）と登録プロセス中に生成された後続のブロックとが提供される。
【０１４９】
ゴーストチェーンの実行には、事前登録解除の段階も含まれ得る。この登録解除前の段階の間に、登録解除を要求したメンバーは、特定の個人データの削除の証明を送信できる。このような証明は、メンバー預託金の返却に必要になる場合がある。メンバー預託金の返却を妨げる可能性のある不正行為の証拠は、この段階で送信できる（例えば、新しく登録されたメンバーは、現在のメンバー（複数可）によって事前にコミットされているが、偽物であると疑われるジェネシス・ブロックを送信し得る）。登録解除の手法については、図８を参照して上記で詳しく説明している。
【０１５０】
ゴーストチェーンの展開には、グループの他のノードと協力する仲裁者による、裁定（adjudication）操作を含めることができる。裁定操作には、提案者及び異議申立者から証拠を受け取り、その証拠に基づいて異議申立てを解決することが含まれ得る。例えば、受け取った証拠には、最終的な解又は中間結果の一方又は両方が含まれ得る。中間結果は、要求されたタスクを実行するために必要なステップ又は一連のステップの結果であり得る。例えば、中間ステップは、タスクの部分的な作業成果物であり得る。最終的な解は、要求されたタスクを完了する最終的な作業成果物である。証拠は、図１１の提案者に関する方法１１００の動作１１０８において提案者によって、及び図１２の異議申立者に関する方法１２００の動作１２０６において異議申立者によって提出してもよい。場合によっては、最終的な解は、最終的な解に達するために使用される中間結果なしで提供される（例えば、オフチェーン・イベントが発生した、又は発生しなかったという主張は、中間結果なしに提供され得る）。
【０１５１】
仲裁者及びコングレスの他のノードは、要求に関連するタスクを実行して正しい解を決定することにより、異議申立てを解決することができる。例えば、タスク（例えば、計算又はアルゴリズム）は、オンチェーンで（つまり、ゴーストチェーン自体で）実行され得る。グループは、そのような解をゴーストチェーンで決定された特有の解と比較することで、提案者の解と異議申立者の解とのどちらが正しいかを判断できる。このプロセス中に、グループメンバー（つまり、ゴーストチェーンのマイナー）が計算及び／又は解析を実行して、紛争に関する仲裁を行う。グループメンバーは、このプロセス中にコンセンサスに達し、ブロックに署名する。場合によっては、異議申立ての解決には、提案者の解又は異議申立者の解を受け入れるべきかどうかを決定するためにノード（例えば、コングレスのメンバー）による投票が含まれ得る。これは、例えば、オフチェーン・イベントが発生したか否かを判断する等、解が２つの値のいずれかであるバイナリ解の場合に使用され得る。投票の結果は、オフチェーン・イベントが発生したか否かに関して真であると規定され、正しい解として扱われる場合がある。
【０１５２】
（グループの他のノードと協力して）仲裁者は、ゴーストチェーンが展開されている間に判断を下す。仲裁者及びコングレスの他のノードが異議申立てを解決するとき（つまり、そのようなノードが解決に関してコンセンサスを形成するとき）に、判断に達したと言うことができる。
【０１５３】
ブロックチェーンで仲裁の判断に達した後に、仲裁者は、グループの他のノードと協力して最終的なトランザクション（完全に署名されたときにメインブロックチェーン・ネットワークにマイニングされる）を構築する。決済トランザクションとも呼ばれ得る最終トランザクションには、様々なデジタル資産移転；例えば、（ｉ）報奨金＋預託金（これは、裁定の過程で成功又は正当であるとみなされたノードに転送され得る）；（ｉｉ）マイニング手数料（既に実行されているゴーストチェーンマイニングのため）;（ｉｉｉ）ジェネシス支払（これは、ゴーストチェーンの以前の実行に基づいて発生するデジタル資産転送であり、且つジェネシス・ブロックから決定される）；及び／又は（ｉｖ）登録解除したメンバーのメンバー預託金の返却が含まれ得る。
【０１５４】
このトランザクションには、有用なメタデータも含まれる場合がある。例えば、決済トランザクションは、解をブロックチェーン・ネットワークに戻すことがある。従って、このプロセス中に、グループ（つまり、グループの他のノードと協力する仲裁者）は、裁定の結果をブロックチェーン・ネットワークにコミットできる。グループは、中間計算状態のマークル（Merkle）ルートハッシュをゴーストチェーン上の決定されたオンチェーンとしてブロックチェーン・ネットワークにコミットすることもできる。
【０１５５】
従って、グループ管理下のデジタル資産は、仲裁者がグループの他のノードと協力して（動作１３０８において）分配され得る。そのようなデジタル資産の分配は、コングレスに関して（つまり、グループに関して）規定されたしきい値署名方式に従って実行される。上記のコングレスの議論で述べたように、しきい値署名方式は、コングレス公開キーの有効な署名を生成するために、少なくともしきい値数のメンバーが必要となるように構成される。従って、仲裁者は、グループの他のノードと一緒に（つまり、他の仲裁者と一緒に）、仲裁者の秘密キーシェアを使用して最終トランザクションに部分的な署名を追加することにより、デジタル資産の転送に同意することができる。しきい値署名方式の下で必要な少なくともしきい値数の秘密キーシェアを使用して最終トランザクションの有効な署名を作成するまで、他のノードも、それぞれの秘密キーシェアを使用して部分的な署名を追加する。
【０１５６】
最終トランザクションでデジタル資産を分配する特定の方法は、仲裁の結果に依存する。例えば、異議申立てが成功すると、仲裁者は、他のノードと協力して、少なくとも異議申立者の預託金を異議申立者に転送し、マイニングしたブロックの絶対数に比例して提案者の預託金をゴーストチェーンのマイナーに分配することができる。異議申立てが成功し、異議申立者の解が正しいと判断された場合に、報奨金も異議申立者に転送され得る。こうして、異議申立者は、図１２の異議申立者に関する方法１２００の動作１２０８においてデジタル資産を受け取ることができる。しかしながら、正しい解が特定されないようなバイナリサーチが使用される場合に、報奨金は要求を再び申し立てる要求者に返却され得、異議申立者が回答に基づいて提案を提出できるようにする。あるいはまた、提案者がバイナリサーチによって排除されると、要求者は、異議申立者のコミットを提案として取り扱い、図１０の方法１０００の動作１００６において動作を再開することができる。つまり、要求者は、異議申立者の提案に基づいて新しいトランザクションＴ１を構築することができる。このトランザクションは、以前に異議申立者であると見なされていたノードが現在提案者であるとみなされることを除いて、動作１００６を参照して上述した通りであり得る。こうして、新しいトランザクションＴ１は、解のハッシュに対応する解を上述したトランザクションＴ２で異議申立者によって提供されるものとして与えることにより、異議申立て期間の終了後に異議申立者によってロック解除されるように構築され得る。
【０１５７】
提案者の作業成果物が有効であると判断された場合に、仲裁者は、他のノードと協力して報奨金及び提案者の預託金を提案者に転送し、マイニングしたブロックの絶対数に比例して異議申立者の預託金をゴーストチェーンのマイナーに分配することができる。こうして、提案者は、図１１の方法１１００の動作１１１０においてデジタル資産を受け取ることができる。
【０１５８】
要求者は、図１０の要求者に関する方法１０００の動作１００８において解を受け取る。動作１００８において要求者が解を受け取る方法は、異議申立てがなされたかどうかに依存し得る。例えば、異議申立てがなされなかった場合に、提案者は、図１０の方法１０００の動作１００６を参照して上述したトランザクションＴ１を使用して、ブロックチェーンに解をコミットした。しかしながら、異議申立てがなされ、ゴーストチェーンによって要求に対する解が決定される場合に、ゴーストチェーン・ノードは、ゴーストチェーンの終了時に（例えば、図１３の仲裁者に関する方法１３００の動作１３１０において）解を要求者に送信してもよい。従って、ゴーストチェーン・プロトコルにより、ゴーストチェーンに参加しているノードは、解を決定すると、解を要求者に自動的に送信することができる。
【０１５９】
さらに、ゴーストチェーンで判断に達し、トランザクションが構築され、有効に署名された後に、ゴーストチェーンは、（図１３の仲裁者に関する方法１３００の動作１３１０において）終了する。つまり、異議申立てが解決されると、ゴーストチェーンは終了する。ゴーストチェーンが終了すると、異議申立ての解決に関連する情報が、プルーフオブワーク・ブロックチェーン・ネットワークに戻され得る。
【０１６０】
ゴーストチェーンが終了すると、ゴーストチェーンに更なるブロックをマイニングすることはできない。つまり、典型的なブロックチェーンとは異なり、ゴーストチェーンには末端ブロックがある。ゴーストチェーンは、分岐しないプルーフオブステーク・ブロックチェーンとして実施できる。分岐が存在しないということは、ゴーストチェーンが終了するときに明確な末端ブロック（つまり、グループの全てのノードによって合意された末端ブロック）が存在することを意味する。この末端ブロックの後に、ゴーストチェーンは、目的を果たし、ブロックを追加できなくなる。
【０１６１】
前述したように、仲裁者（つまり、コングレスのノード）が判断に達したときに、ノードは、上述したようにしきい値署名方式による部分的な署名の追加によって有効な署名のトランザクションが生成されると、メインチェーン上で（動作１３０８において）ブロードキャストされるトランザクションを構築するために協力する。このトランザクション自体は他者間計算であるため、このトランザクションに寄与するノードは、このトランザクションに参加することに関して、報酬を受け取ることがある。ただし、トランザクションは署名される前に指定されるため、署名に参加することに関する報酬（トランザクションを介したゴーストチェーンへの部分的な署名の送信、及びブロックの実際のマイニングを含む）は、更なるゴーストチェーンが展開されるまで延期される場合がある。そのような延期は、動作１３１０で提供され得る。より具体的には、末端ブロックは、ゴーストチェーンの将来の展開中にジェネシス支払を処理可能にする情報を含んで構築され得る。このような情報は、最終トランザクションの署名中に作成されたブロック等の、最終トランザクションの構築後に作成されたブロックに起因し得るマイニング手数料の記録であり得る。つまり、ジェネシス支払は、最終トランザクションの署名に寄与したノードに報酬を与えるように規定できる。ゴーストチェーンの末端ブロックは、次のゴーストチェーンの実行の（つまり、ゴーストチェーンが次に展開されるとき）ジェネシス・ブロックになる。従って、将来のジェネシス支払のために、末端ブロックに記録が作成される。直ぐ上で示した実施態様によると、メンバーは、ゴーストチェーンの実行中に登録／登録解除を行うが、これは異議申立てによってトリガーされ得ることに留意されたい。代替の実施態様では、定期的な間隔又は他の条件下での登録／登録解除も可能である。これには、この目的専用のゴーストチェーンのスケジュール調整された実行が含まれる場合があり、これは、裁定及び判断段階がないことを除いて、上述したゴーストチェーン展開と同様である。この場合に、マイニング手数料は、登録の見返りとして必要となる「登録手数料」から少なくとも部分的に支払われ得る。
【０１６２】
また、上述した方法１３００では、最初のゴーストチェーンの実行ではないゴーストチェーンの実行について説明していることに留意されたい。つまり、方法１３００は、過去のある時点で展開されていたゴーストチェーンの展開を説明しており、ゴーストチェーンに対してジェネシス支払を含む末端ブロックが既に存在する。方法１３００は、第１のゴーストチェーンを展開できるように修正することができる。例えば、ゴーストチェーンが初めて展開されるとき、別の方法でジェネシス・ブロックを確立できる。例えば、ジェネシス・ブロックは、最初に信頼された関係者によって提供され得る。
【０１６３】
プルーフオブステークベースのブロックチェーンを使用して異議申立てを仲裁することにより、ゴーストチェーンの解は、プルーフオブステークにより、より定期的なブロック生成が可能になり、且つ高い頻度でブロック生成を可能にするように構成できるため、プルーフオブワーク・ブロックチェーン・ネットワーク自体でそのような仲裁を行うよりも速い解決策を提供できる。さらに、メインブロックチェーン自体ではなくゴーストチェーン上でこのような仲裁操作を実行することにより、メインブロックチェーン・ネットワークからタスクが押し出されるため、メインブロックチェーン・ネットワークの負荷が軽減される。
【０１６４】
さらに、ゴーストチェーンの一時的な性質（つまり、ゴーストチェーンが本質的に一時的なものであり、終了するという事実）は、典型的に、プルーフオブステーク・ブロックチェーン・ネットワークに影響を与える出資時に何もしない（nothing-at-stake）問題のリスクを回避又は軽減し得る。ゴーストチェーン・ネットワークの一時的な性質により、コングレスは、ゴーストチェーンが終了するまで、ゴーストチェーンのマイナーに対して、預託金を所定の場所に残しておくよう要求することができる。つまり、ゴーストチェーンの実行中に、コングレス・メンバーが自分の出資金を引出しできないようにコングレスを構成できる。
【０１６５】
上述した例ではビットコインで利用可能な命令コードについて言及しているが、本明細書で説明する方法は、他のタイプのブロックチェーン・ネットワークでも使用できる。
【０１６６】
上述した方法は、一般にノードで実行されるものとして説明してきたが、この方法の機能は、他のノードとの協働に依存しており、他の場所で実行できる。
【０１６７】
コングレス及びゴーストチェーンからのイベントロック暗号化
コングレス及びゴーストチェーンを使用してイベントロック暗号化を行う手法について以下に説明する。
【０１６８】
イベントロック暗号化は、イベントの発生に応じて暗号操作を行うメカニズムを指し得る。例として、タイムロック暗号化は、所与の暗号文が将来の特定の時点に又はそれ以降に復号化されるように、メッセージを「未来に」送信するメカニズムを指す特定のタイプのイベントロック暗号化である。この場合に、イベントは（恐らくランダムな）時間の経過である。従って、イベントの発生を条件とする暗号操作のパフォーマンスを確保するために、イベントロック暗号化を使用できる。実行できる暗号操作の例には、暗号文の復号化、デジタル署名されたメッセージ又はデータの認証等が含まれる。例えば、本明細書で説明する技術を利用して、例えば、Bitanksyらの、“Time-Lock  Puzzles  from  Randomized
Encodings”で議論されたように、知識型暗号化（witness encryption）の文脈で提示される問題を解く効率を改善できる。
【０１６９】
例示の目的で、図９及び図１０に関連して説明したイベントロック暗号化の一部として実行される暗号操作は、イベントの発生の判定を条件とする暗号文の復号化である。しかしながら、様々な実施形態では、図９及び図１０に示されるものに関連して説明したものの代わりに、又はそれに加えて、他の暗号操作を行ってもよい。一般的に言えば、イベントが発生したと判定すると、そのような暗号操作等の１つ又は複数の操作（演算）が実行され得る。
【０１７０】
イベントロック暗号化を容易にするために使用されるイベントは、オンチェーン・イベント及びオフチェーン・イベントに分類できる。オンチェーン・イベントとは、ブロックチェーンの検査を通じて確認できるイベントを指し、オフチェーン・イベントとは、オンチェーン・イベントではないイベントを指し得る。メッセージが、アイデンティティベースの暗号化方式に従って公開キーＡに暗号化され得る。公開キーＡは、暗号化を行うエンティティがアクセスできる、対応する暗号秘密キーＳｋＡを有する暗号公開キーであってもよい。コングレス公開キーは、図１に関連して等、他の箇所で説明したものに従ってもよい。暗号化メッセージ、公開キーＡ、及び秘密キーＳｋＡによってデジタル署名されたイベント（例えば、時間しきい値）は、フラグ付きトランザクションを介してブロックチェーンに送信され得る。イベントがコングレスによって確認されると、ゴーストチェーンがインスタンス化され、復号化キーを作成できるため、暗号化メッセージの復号化が容易になる。イベントがいつ発生したかを検出するための様々な手法を以下で議論する。
【０１７１】
図４に関連して等、他の箇所で説明したように、エンティティは、デジタル資産をコングレスプールに預託し、それに応じて、コングレス１１０への秘密キーシェアを受け取ることができる。いくつかの実施形態では、エンティティが受け取るシェアは、預託したデジタル資産の金額及び／又は価値に比例し得る。秘密キーシェアは、コングレスがコングレスに関連する公開キーによって制限されたデジタル資産を管理するしきい値署名方式で利用され得る。コングレス公開キーは、秘密キーシェアと引き換えにコングレス１１０のメンバーがコングレスプールに預託したデジタル資産、及びコングレス１１０のメンバー又は非メンバーが秘密キーシェアの取得以外の理由で預託したコングレスプールに関連するアドレスに預託された（つまり、コングレスの全体的、部分的、又は条件付き管理下に置かれた）デジタル資産とを制限する。非メンバー又はメンバーは、様々な理由でコングレスに関連するアドレスにデジタル資産を預託する場合がある。例えば、コングレスに関連するアドレスにデジタル資産を預託する理由は、イベントの発生を検出した際に１つ又は複数の命令の実行に関する手数料を提供するためである。
【０１７２】
ゴーストチェーンのマイナーは協力して復号化キーを作成できる。一般に、ゴーストチェーン９０４は、紛争を単に解決するだけでなく、何らかの理由で展開できる。ゴーストチェーンはインスタンス化され、復号化キーの作成に使用される情報を共有するための追加専用の掲示板として機能する。コングレスのメンバーは、ゴーストチェーンのマイナーになり得る。
【０１７３】
いくつかの実施形態では、しきい値暗号化及び復号化を行うための方法は、本明細書に記載した技術に従って説明され得る。エンティティは、アイデンティティベースの暗号化方式に従って暗号化を行うことができる。例えば、エンティティは、メッセージをエンティティに関連する暗号公開キーに暗号化でき、この暗号化は、コングレス公開キーをアイデンティティベースの暗号化方式のシステム全体の公開キーとして利用する。アイデンティティベースの暗号化方式（scheme：スキーム）は、「Weilペアリングによるアイデンティティベースの暗号化」においてBoneh及びFranklinによって説明されたものに一致し得る。従って、エンティティは、システム全体の公開キーを使用してメッセージを暗号公開キーに暗号化できる。エンティティは、対応する暗号秘密キーにアクセスでき、システム全体の公開キーはコングレス公開キーになり得る。
【０１７４】
トランザクションを、プルーフオブワーク・ブロックチェーン・ネットワークにブロードキャストでき、このトランザクションは、アイデンティティベースの暗号化方式に従った暗号化メッセージ、メッセージ公開キーＡ（つまり、アイデンティティベースの暗号化方式の下で、メッセージを暗号化した暗号公開キー）、暗号化メッセージの復号化をトリガーするイベント、及び手数料を含み得る。いくつかの実施形態では、メッセージ公開キーＡは、署名キーＳｋＡにアクセスするエンティティに関連付けられ、メッセージ公開キーＡ及び署名キーＳｋＡは、それぞれ非対称キーペアの公開キー及び秘密キーである。トランザクションには、秘密署名キーＳｋＡを使用してデジタル署名されたデータがさらに含まれる場合がある。例えば、暗号化メッセージを復号化するための条件のセットは、秘密署名キーＳｋＡを使用してデジタル署名され、（例えば、メッセージ公開キーＡ及び秘密署名キーＳｋＡが非対称キーペアを形成する場合に）復号化キーを導出する前にメッセージ公開キーＡを使用してデジタル署名の有効性が検証される。一般的に言えば、条件のセットには、（例えば、時間ベースのイベントに応答して）復号化をいつ行うべきか等の情報や復号化を行うべき方法が含まれ得る（例えば、公開キーのセットＳに対応する秘密キーのセットへのアクセス権を有する１つ又は複数のエンティティが復号化キーを利用できるように、公開キーのセットＳの下で復号化キー自体への寄与（contributions）の有無を暗号化する必要がある）。イベントは、満たされたときに、復号化キーを利用可能にすることによって暗号化メッセージを復号化可能にすることを示すイベント又は条件であり得る。手数料は、コングレス１１０の公開グループアドレスに関連するアドレスへのデジタル資産の転送のためであり得る。手数料は、暗号化メッセージのイベントロック復号化の実行に協力し参加するコングレスのメンバー間で分配され得る。
【０１７５】
場合によっては、イベントの発生の検証時に、暗号化メッセージを復号化及び／又は復号化可能にすることが暗黙的に理解され得る。他の場合では、トランザクションは、暗号化メッセージに関連して１つ又は複数の操作（演算）を行うための命令をさらに含む場合がある。例えば、命令は、メッセージの復号化及び復号化されたコンテンツの認証を行うことであり得る。他の実施形態において、命令は、資産を所有者に効果的に転送する所有権情報（例えば、秘密キー）を含み得るメッセージの復号化を行うことであり得る。
【０１７６】
メインブロックチェーン上でイベントが発生したというコンセンサスに達したときに、ゴーストチェーンを展開して、暗号化メッセージを復号化するために使用され得る復号化キーを生成できる。一般に、オンチェーン・イベントの場合に、イベントが発生したときにコンセンサスに達するが、オフチェーン・イベントの場合に、しきい値数の証明が確認されたときにコンセンサスに達し得る。従って、ゴーストチェーンを展開できる。ゴーストチェーンは、図９〜図１３に関連して説明したもの等、本開示の他の箇所で説明したものに一致し得る。ゴーストチェーン９０４は、ゴーストチェーンの以前のインスタンス化による最終ブロックであるジェネシス・ブロックでインスタンス化され得る。多くのブロックがマイナーによってゴーストチェーンに追加され、復号化キーが導出される。
【０１７７】
ゴーストチェーンに追加されたブロックを使用して、暗号化メッセージを復号化するために使用可能な復号化キーを作成できる。必要な量をゴーストチェーンブロックに含めると（例えば、復号化キーを生成できる場合）、メインブロックチェーン９０２に資金を分配する効果がある最終トランザクションを構築して署名することができる（例えば、ゴーストチェーンのマイニングに参加するノードには、復号化キーを作成するために支払われる場合がある）。場合によっては、復号化キーは、目的の受信者に関連する公開キーを使用して暗号化され、暗号化された形式でゴーストチェーン９０４に送信され得る。対象の受信者は、対応する秘密キーを使用して、復号化キーを暗号手法によって導出できる。場合によっては、この情報はメインブロックチェーンに公開される場合がある。
【０１７８】
最終トランザクションが構築及び署名された後に、ゴーストチェーン９０４は終了し、構築されたトランザクションがメインブロックチェーン９０２にマイニングされる。ゴーストチェーン９０４が終了するため、典型的なブロックチェーンとは異なり、ゴーストチェーン９０４は末端ブロックを有する。ゴーストチェーン９０４の最後のブロックであるこの末端ブロックは、復号化キーを導出するか、指定された他の操作の完了時に発生し、メインブロックチェーン９０２上で資金を分配し、ゴーストチェーンのマイナーに報酬を与えるために資金を分配する結果のトランザクションは、有効に署名される。
【０１７９】
一実施形態では、代替的に、復号化キーは、サイドチェーンを使用して導出してもよい。サイドチェーンとは、継続的に実行されるプルーフオブステーク・ブロックチェーンを指し、復号化キーの導出時に終了するようには構成されていない。サイドチェーンは、引き続き動作し、復号化キーの導出以外の様々なタスクを実行するように構成できる。一実施形態では、サイドチェーンは、暗号キーの導出を含むがこれに限定されない複数の活動を促進するように構成されたプルーフオブステーク・ブロックチェーンである。マイナーによって多くのブロックがサイドチェーンに追加され、復号化キーが導出される。サイドチェーンに追加されたブロックを使用して、暗号化メッセージを復号化するために使用可能な復号化キーを作成できる。必要な量をサイドチェーンブロックに含めると、復号化キーを取得できる場合がある。
【０１８０】
イベントは、一般に、オンチェーン・イベント又はオフチェーン・イベントに分類され得る。オンチェーン・イベントとは、ブロックチェーンから取得可能な情報に基づいて発生又は非発生となり得るイベントを指すことができる。例えば、ブロックチェーンから取得できる情報には、１つ又は複数のトランザクションの発生に関する情報（例えば、特定の関係者から別の関係者へのデジタル資産の転送、特定数の転送、転送される特定の金額等）、トランザクションが発生したときのタイムスタンプ等のトランザクションに含まれる情報を含めることができ、又はブロックの高さ等のブロックヘッダーの情報を含めることができる。一般的に言えば、オンチェーン・イベントに関するコンセンサスは、コングレスのメンバーによって迅速且つ効率的に達することができる。オンチェーン・イベントの場合に、ＴＥＥは、ブロックチェーン上の確認済みブロックにおいて必要なイベントを確認した場合に、内部に保持されているキーシェアを使用して復号化キーの作成に寄与する。
【０１８１】
オフチェーン・イベントとは、ブロックチェーンの外部の情報に基づいて発生又は非発生となり得るイベントを指し得る。オフチェーン・イベントには、コングレスのメンバーが決定を下すことができる情報が含まれ得る。例えば、オフチェーン・イベントは、人が死亡したという判定を下す場合がある。イベントが発生したとの判定に応じて、復号化キーが生成される（又は、暗号化メッセージの復号化が発生する）。一般的に言えば、ＴＥＥは、オフチェーン・イベントが発生したかどうかを評価しない。代わりに、コングレスのノードが、イベントが発生したかどうかを評価し、イベントの発生又は非発生に対する証明書を発行し、且つノードのみがアクセスできる秘密キーを使用してその証明書に署名することにより、イベントの発生又は非発生を検証したことを証明することができる。例えば、メンバーの保証金が転送されたアカウントに対応する公開キーを使用して、証明書にデジタル署名し、暗号によって検証できる。しきい値の証明書の確認に関してコンセンサスに達し、上述したようにトランザクションが構築され、署名され得る。
【０１８２】
一実施形態では、イベントロック暗号化は、例えば、上述した様々な実施形態に関連して、メインチェーン及びブロックチェーンを少なくとも部分的に使用して実施され得る。サイドチェーンを使用して１つ又は複数の暗号操作（例えば、復号化キーの導出）を行うように構成された実施形態では、復号化キーの作成をトリガーするオンチェーン・イベントは、メインブロックチェーン又はサイドチェーンに関するイベントであり得る。例えば、しきい値時間で復号化キーを使用可能にするタイムロック暗号化の場合に、しきい値時間の経過は、メインブロックチェーン又はサイドチェーンにマイニングされたブロックで検出されたタイムスタンプに基づいて検出され得る。さらに、サイドチェーンの場合に、オフチェーン・イベントの発生に関する証明書をメインチェーン又はサイドチェーンのいずれかにマイニングできる。場合によっては、証明書がメインチェーン又はサイドチェーンに送信されるかどうかは、メインチェーン又はサイドチェーンが、より高速でより定期的なブロック生成をしているという判断に基づき得る。より高速でより定期的なブロックを生成する利点は、ブロックの確認にかかる時間が短縮されることである。さらに、ゴーストチェーンを使用して復号化キーを作成する様々な実施形態では、証明書がメインチェーンに送信され、ゴーストチェーンは、十分な証明書が確認されたことに応じてインスタンス化され得ることに留意されたい。
【０１８３】
ここで図１４を参照すると、図１４００は、本開示の様々な手法を実行するために利用され得るブロックチェーン１４０２を示している。いくつかの実施形態では、ブロックチェーン９０２は、ブロックベースのプルーフオブワーク分散型台帳である。
【０１８４】
いくつかの実施形態では、メッセージ１４０４は、データ、情報等を含むことができ、これらは、デジタル形式であり、且つ送信者がイベントロック暗号化方式の下で暗号化し、イベントの発生時にメッセージが復号化可能及び／又は復号化されるようにする。メッセージ１４０４は、コングレス公開キー１４０６を利用するアイデンティティベースの暗号化方式に従って暗号公開キー１４０８に暗号化され得る。暗号公開キー１４０８は、イベントロック・メッセージを生成するエンティティにアクセス可能な対応する暗号秘密キー１４２２を有し得る。コングレス公開キー１４０６は、図１４に示されるコングレス１４１０に関連する非対称公開キーであってもよい。図１４に示されるコングレス１４１０は、本開示の他の箇所で説明したコングレスに一致し得る。このコングレスは、オンチェーン・イベント及びオフチェーン・イベントの発生を検証するために利用できる。メッセージ１４０８は、コングレス公開キー１４０６を利用するアイデンティティベースの暗号化方式に従って暗号公開キー１４０８に暗号化され、それにより暗号化メッセージ１４１４を生成することができる。
【０１８５】
トランザクション１４１６は、ブロックチェーン１４０２にブロードキャストされ、このトランザクションは、暗号化メッセージ１４１４、送信者公開キー１４０８、及びイベント１４１２を含み得る。トランザクションは、メタデータとして、特定の目的に役立つトランザクションとして認識可能にする識別子を含むフラグ付きトランザクションであり得る。イベント１４１２は、満たされると、暗号化メッセージ１４１４を復号化可能にすべきことを示すイベント又は条件であり得る。イベント１４１２は、オンチェーン・イベント又はオフチェーン・イベント、或いはそれらの任意の組合せであり得る。イベントは、本開示の他の箇所で説明したオンチェーン・イベント及びオフチェーン・イベントに一致し得る。イベント１４１２は、ＴＲＵＥ（真）又はＦＡＬＳＥ（偽）ステートメントに評価され得る述語としての表現等、様々な形式でエンコードしてもよい。例えば、イベント１４１２は、指定された時間の経過であり得、その後、暗号化メッセージ１４１４は受信者１４２０によって復号化可能でなければならない。イベント１４１２は、メッセージを暗号化するエンティティによってデジタル署名され得る。デジタル署名は、暗号化メッセージ１４１４の生成に使用される送信者公開キー１４０８に対応する、非対称秘密キーである送信者秘密キー１４２２を使用して生成され得る。送信者公開キー１４０８は、トランザクション１４１６に含めてもよく、イベント１４１２で生成されたデジタル署名が本物であることを暗号によって検証するために利用され得る。いくつかの実施形態では、トランザクション１４１６は手数料も含む。手数料は、コングレスの公開グループアドレスに関連するアドレスへのデジタル資産の転送１４１０のためであり得る。手数料は、暗号化メッセージのイベントロック復号化の実行に協力し参加するコングレスのメンバー間で分配され得る。イベントロック・メッセージを生成するための方法及びプロセスは、図１５に関連してより詳細に説明する。
【０１８６】
コングレスのメンバー１４１０が、イベントが満たされたことを検出すると、ゴーストチェーンを展開して復号化キーを作成できる。ゴーストチェーンは、図９〜図１３に関連して議論したもの等、本開示の他の箇所で説明したものに一致し得る。ゴーストチェーンは、イベントロックされた暗号化メッセージを復号化すべきであることを示すイベントが発生したことをノード（例えば、コングレスのメンバー）が判定した後にインスタンス化できる。ゴーストチェーン９０４は、ゴーストチェーンの以前のインスタンス化による最終ブロックであるジェネシス・ブロックでインスタンス化され得る。マイナーによって多くのブロックがゴーストチェーンに追加され、復号化キーの作成が容易になる。
【０１８７】
復号化キーが作成されると、トランザクションが、構築され、ゴーストチェーンで署名される。トランザクションは、メインブロックチェーン９０２に資金を分配する効果を有するトランザクションであり得る。例えば、ゴーストチェーンのマイニングに参加するノードは、イベントが発生したと判定されると、１つ又は複数の操作（例えば、復号化キー１４１８の作成及び／又は分配）を行うために支払いを受ける。場合によっては、復号化キー１４１８は、１人又は複数の特定の関係者に利用可能にされ得る。例えば、暗号化メッセージを目的の受信者のみが復号化できるようにする場合を考える。コングレス１４１０のメンバーに属するＴＥＥは、イベントの発生を検出すると、復号化キーのそれぞれのシェアを生成し、それらのシェアを目的の受信者に関連する公開キーで暗号化し、それらの暗号化されたシェアをゴーストチェーンに含めることができる。従って、目的の受信者は、対応する秘密キーを利用して、復号化キーへのアクセスを得ることができる。受信者１４２０は、復号化キー１４１８を受信するエンティティに代わって、エンティティ又はコンピューティング・エンティティを参照することができる。復号化キー１４１８を利用して暗号操作を行い、受信者１４２０が、ブロックチェーン１４０２を介して受信者１４２０に利用可能になる暗号化メッセージ１４１４を復号化できる。場合によっては、受信者は、ユーザグループやさらに一般社会等の複数のエンティティを参照することができる。例えば、復号化キーはメインチェーンに公開され、だれでも復号化キーを取得し、暗号化メッセージを復号化できる。復号化キーを取得し、且つ復号化キーを使用して暗号化メッセージの復号化を行うための方法及びプロセスは、図１６に関連してより詳細に説明する。
【０１８８】
ここで図１５を参照すると、イベントの発生に基づいて復号化可能になり得るイベントロック・メッセージを作成する例示的な方法１５００が示されている。方法１５００は、ブロックチェーン・ネットワーク１００が動作するブロックチェーン・プロトコルのインスタンスを実行するコンピュータ装置等、任意の適切なシステムによって実行され得る。この方法は、ノード１０４によって実行され得る。この方法を使用して、例えば、メッセージが暗号化され、指定された時間に達するか又は経過すると、暗号化メッセージが復号化可能になる／又は復号化されるタイムロック暗号化を行う手法を実施することができる。
【０１８９】
システムは、暗号公開キー及び対応する暗号秘密キーを取得することができる（１５０２）。システムは、Boneh-Franklinのアイデンティティベースの暗号化方式等のアイデンティティベースの暗号化方式に従って、メッセージを暗号公開キーに暗号化することができる（１５０４）。暗号化は、「Weilペアリングによるアイデンティティベースの暗号化」においてBoneh及びFranklinによって説明された手法に従って実行され得る。暗号化は、以下に説明する方法等の楕円曲線暗号を使用して実行され得る。メッセージを暗号化すると、暗号化メッセージ又は暗号文が生成され得る。
【０１９０】
システムは、復号化の１つ又は複数の条件を指定するイベントに関してデジタル署名を生成することもできる（１５０６）。条件は、例えば、（タイムロック暗号化において）復号化をいつ行うべきかの時間を示し得る。場合によっては、ＴＥＥが出力する前に復号化キーへの寄与を暗号化する必要があるかどうか、及びその場合に暗号化に使用すべきキーのセットを条件で指定することもできる。復号化キーへの寄与を含むトランザクションは、アイデンティティベースの暗号化方式に従って、メッセージを暗号化するために利用される暗号公開キーに対応する暗号秘密キーを使用してデジタル署名してもよい。デジタル署名の真正性は、暗号公開キーを使用して暗号によって検証でき、暗号公開キーは、トランザクションの一部としてプルーフオブワーク・ネットワークに送信され得る。いくつかの実施形態では、デジタル署名は、ノンス（nonce）等の追加データを介して生成してもよい。
【０１９１】
いくつかの実施形態では、システムは、暗号化メッセージ、メッセージを暗号化した公開キー、暗号化メッセージを復号化すべき条件を示すイベント、少なくともイベントに関する対応するデジタル署名、及び手数料を含む１つ又は複数のトランザクションをプルーフオブワーク・ブロックチェーン・ネットワークに送信する（１５０６）。イベントは、イベントが発生したかどうかに関してコングレス１１０がコンセンサスに達することができるように、オンチェーン・イベント又はオフチェーン・イベントであり得る。オフチェーン・イベントの場合に、イベントの発生に対するしきい値数の証明書が確認されたというコンセンサスに応じて、復号化が発生し得る。（例えば、撤回が可能なシステムにおいて）一定の期間に亘って、しきい値を維持することを要求する等、復号化を行うための追加条件があり得る。条件は要求者によって指定され、上述した１つ又は複数のトランザクションにおいてエンコードされ得る。例えば、タイムロック暗号化の場合に、イベントは（恐らくランダムな）時間の経過であり得、これは、オンチェーン情報を使用して判定及び検証可能である。手数料は、コングレス１１０の公開グループアドレスに関連するアドレスへのデジタル資産の転送のためであり得る。手数料は、暗号化メッセージのイベントロック復号化の実行に協力し参加するコングレスのメンバー間で分配され得る。場合によっては、１つ又は複数のトランザクションは、復号化に加えて又は復号化の代わりに、１つ又は複数の操作（演算）を行う必要があることを示す場合がある。
【０１９２】
いくつかの実施形態では、方法１５００は、「Weilペアリングによるアイデンティティベースの暗号化」においてBoneh及びFranklinによって説明されているようなアイデンティティベースのしきい値スキームに従って実施され、方法１５００に関連して説明した手法及び本開示の他の箇所で説明した手法を使用して向上した効率性及び信頼性を提供し得る。いくつかの実施形態では、方法１５００は、双線形マッピングｅ：Ｇ１×Ｇ１→Ｇ２及びＧ１のジェネレータＰを含むＧ１及びＧ２が存在すると仮定し得る。一実施形態では、Ｇ１及びＧ２は両方とも同じ素数位数ｑの有限巡回群であり、離散対数問題はＧ１及びＧ２上で困難であると想定される。さらに、コングレス公開キーＰｐｕｂ及び対応する秘密キー
【数４】
2020528689.tif 000006
（つまり、ｓは、Ｐｐｕｂ＝ｓ×Ｐとなるように、セット｛１，２，…,ｑ｝からランダムに引き出される）を想定する。イベントロック暗号化のパフォーマンスを（例えば、ユーザに代わって）要求するシステムは、システムがアクセスできる対応する秘密キーを有する公開キーＡを指定できる。従って、メッセージｍを公開キーＡに暗号化する暗号化関数は次のようになり得る。
【数５】
2020528689.tif 000007
従って、暗号文ｃ＝（ｕ，ｖ）を生成できる。
【０１９３】
ここで図１６を参照すると、この図は、イベントロック復号化の例示的な方法１６００を示している。図１６の方法１６００は、コングレスのノード等の１つ又は複数のコンピュータシステムが協力して実行することができる。方法１６００は、図１５に関連して説明したトランザクションが、送信され、ブロックチェーン・ネットワークで確認された後のある時点で実行することができる。１つ又は複数のトランザクションには、暗号化メッセージ、目的の受信者に関連する公開キー等の暗号キー等が含まれ得る。例えば、第１のトランザクションには、暗号化メッセージ、暗号キー、暗号化メッセージをいつ復号化可能にすべきかを示すイベント又は条件が含まれ、第２のトランザクションには、第１のトランザクションで指定されたイベント又は条件の発生時に、復号化キーの生成に関連して分配され得るコングレスへの手数料が含まれ得る。
【０１９４】
コングレスのメンバー、又はより一般的にはブロックチェーン・ネットワークのノード等のシステムは、上述したトランザクションに関連するイベントの発生を検出することができる（１６０２）。イベントは、オンチェーン・イベント又はオフチェーン・イベントであってもよい。オンチェーン・イベントの場合に、ＴＥＥは、ブロックチェーンにおいて要求されたイベントを確認した場合に、内部に保持されているキーシェアを利用して、復号化キーの作成に寄与する。場合によっては、確認済みトランザクションでオンチェーン・イベントを監視する必要がある。オフチェーン・イベントの場合に、オフチェーン・イベントが実際に発生したことを示す信頼できる指標であると考えられるコンセンサスがオンチェーン・イベントで得られる場合がある。例えば、対応するオンチェーン・イベントは、特定のフラグ付きトランザクションをブロックチェーンに送信することによって、オフチェーン・イベントが発生したと信じているしきい値のコングレス・メンバーが通知を受けたことであり得る。場合によっては、コングレス・メンバーが、オフチェーン・イベントが発生していないと後で判定した場合に、これらの通知（信号）が撤回される場合がある（例えば、ノードが、後で及び／又は追加情報に基づいて、オフチェーン・イベントが実際には発生していないと判定し得る）。そのようなシステムでは、コンセンサスに達するには、フラグ付きトランザクションが一定期間撤回されないままであることがさらに必要であり得る。
【０１９５】
オフチェーン・イベントが発生したかどうかを判定するための代替方法として、ノードは、イベントが発生したという指標を送信し、デジタル資産の預託金を含めることができる。預託金は、コングレスが、イベントが発生したと判断した場合に（イベントロック・メッセージを復号化するための報酬として預託金された手数料の少なくとも一部の支払いとと同様に）に返却され、コングレスが、イベントが発生しなかったと判定する場合に没収され得る。場合によっては、ノードによって提供される解に異議を申立てることができ、オフチェーン・イベントが発生したかどうかの解決は、イベントが発生した又は発生していないこと受け入れるかどうかに関して、コングレスのメンバーに投票させることによって決定できる。
【０１９６】
図１５に関連して説明したようなトランザクションには、暗号化メッセージ、メッセージがアイデンティティベースの暗号化方式に従って暗号化される公開キーＡ、及びデジタル署名されたイベントが含まれ得る。イベントに対するデジタル署名の有効性は、公開キーＡを使用して検証され得る（１６０４）。場合によっては、ゴーストチェーンによる復号化キーの作成は、デジタル署名が有効であることを条件とする場合がある。タイムロック暗号化方式では、イベントは、暗号化メッセージをいつ復号化可能にすべきかを示すタイムスタンプであり得る。タイムスタンプに対するデジタル署名の真性を検証することにより、公開キーＡに対応する秘密署名キーＳｋＡにアクセスできないエンティティが、復号化キーの作成を早期にトリガーできないようにする。トランザクションに含まれる公開キーＡで暗号によって検証可能なデジタル署名を生成することにより、例えば、このトランザクションを、復号化時間より前で、公開キーＡに暗号化される任意の暗号文を含む別のトランザクションで「フロントランニング（front running：先立って実行する）」することにより、敵は、復号化キーを早期にリリースするようコングレスを誘導することができなくなる。トランザクションに有効な署名を含めることを要求することにより、トランザクションが公開キーＡに対応する秘密署名キーＳｋＡを使用して生成された有効なデジタル署名を含まない限り、コングレスが進行することがないので、「フロントランニング」攻撃は不可能になる。
【０１９７】
ゴーストチェーンを展開することができ（１６０６）、コングレスのメンバーがグループの他のノードと協力して、ゴーストチェーンのジェネシス・ブロックを作成又は取得することができる。ジェネシス・ブロックは、以前のゴーストチェーン展開による最終ブロック（例えば、ゴーストチェーンが実行された最後のインスタンスによる末端ブロックであり、以前の実行は、例えば過去の異議申立て又は以前のイベントロック復号化に応じて行われ得る）であり得る。このブロックには、ジェネシス支払に関する情報が含まれる場合がある。ジェネシス支払は、ゴーストチェーンの以前の展開に基づいて、未だ行われていないデジタル資産の転送である。ゴーストチェーンは、図１３に関連する等、他の箇所で説明した手法を使用して展開され得る。
【０１９８】
少なくともしきい値の秘密キーシェアを保持するグループ間でコンセンサスが得られると、コングレスのノードは、暗号化メッセージを復号化するために使用され得る復号化キーを作成することができる（１６０８）。復号化キーは、ゴーストチェーンブロックに必要な量を含めることで作成できる。例えば、これは、その数量をトランザクションを介してゴーストチェーンに送信するか、上述したようにその数量をゴーストチェーンに直接マイニングすることで実現できる。例えば、楕円曲線上のペアに基づく方式によれば、復号化キーｄＡ＝ｓＱＡであり、ここで、ＱＡはメッセージの暗号化に使用される暗号キーから導出可能であり、復号化キーは、しきい値のシークレットシェア（secret sharing）方式に従って、少なくともしきい値数の秘密キーシェア所有者（つまり、コングレスのメンバー）協力によって導出可能である。
【０１９９】
いくつかの実施形態では、平文形式で復号化キーをメインブロックチェーンに公開することにより、復号化キーを公開することができる。場合によっては、所与の秘密キーのセットを保持しているグループのみが復号化キーにアクセスできるようにし得る。例えば、いくつかのシステムでは、イベントロック・メッセージは、公開キーのセットＳに対応する秘密キーのセットの所有者によって復号化可能にすることができる。一例では、復号化キーへの各寄与は、ＴＥＥによって出力される前に公開キーのセットＳのそれぞれを使用して暗号化され、これらの暗号はブロックチェーンに送信される。公開キーのセットＳに対応する秘密キーのセットの所有者が暗号文をどの様に復号化可能にするかの第２の例として、イベントロック・メッセージを含むトランザクションが確認された後に、署名キーＳｋＡが、公開キーのセットＳの各公開キーを使用して暗号化され、公開キーのセットＳに対応する秘密キーの個々の所有者に分配できる（例えば、これらの暗号化は、別のトランザクションに含めてブロックチェーンにマイニングできる）。さらに、イベントロック・メッセージを含むトランザクションは、ＴＥＥによって出力されてブロックチェーンに送信される前に、公開キーＡ（つまり、署名キーＳｋＡに対応する公開キー）を使用して復号化キーｄＡへの寄与を暗号化すべきことを規定する場合がある。これが完了すると、署名キーＳｋＡの暗号化の受信者は復号化キーを作成できる。
【０２００】
ゴーストチェーンは終了する（１６０８）。つまり、タスク（例えば、復号化キーの作成）が完了すると、ゴーストチェーンは終了する。ゴーストチェーンが終了すると、復号化キーがプルーフオブワーク・ブロックチェーン・ネットワークに記録され得る。ゴーストチェーンは、図１３に関連する等、他の箇所で説明した手法を使用して終了させることができる。
【０２０１】
図１５に関連して説明した前の例の説明を続ける。暗号化メッセージに対応する暗号文ｃ＝（ｕ，ｖ）を復号化する復号化関数は、上述している。秘密キーは、ｄＡ＝ｓＱＡとして導出することができ、ＱＡは上記のＱＡ＝Ｈ１（Ａ）として規定される。従って、暗号文ｃを復号化する復号化関数は次のようになり得る。
【数６】
2020528689.tif 000008
【０２０２】
「Weilペアリングによるアイデンティティベースの暗号化」においてBoneh及びFranklinが述べたように、上記は、特に効率的なしきい値復号化方式につながる。暗号文ｃ＝（ｕ，ｖ）の復号化は、ｅ（ｓｉＱＡ，ｕ）をブロードキャストすることにより、しきい値の参加者によって実現でき、各参加者はシステム全体の秘密キーにシェアｓｉを保持する。次に、マッピングｅの基本的特性から次のようになる。
【数７】
2020528689.tif 000009
ここで、Ｌｉは適切なラグランジュ係数である。ｅ（ｄＡ，ｕ）は、上記のＤｅｃ（ｕ，ｖ，ｄＡ）演算の２行目に挿入できるようになる。
【０２０３】
上述した実施形態は、本発明を限定するのではなく例示するものであり、当業者は、添付の特許請求の範囲によって規定されるような本発明の範囲から逸脱することなく、多くの代替実施形態を設計できることに留意されたい。特許請求の範囲において、括弧内に置かれた参照符号は、特許請求の範囲を限定するものとして解釈してはならない。「備える、有する、含む（comprising, comprises）」等の語は、特許請求の範囲又は明細書全体に列挙されているもの以外の要素又はステップの存在を排除するものではない。本明細書において、「備える、有する、含む（comprises, comprising）」は、「含む、有する（includes,
including）」又は「から構成される（consists of, consisting of）」を意味する。要素の単数形の参照は、そのような要素の複数形の参照を除外するものではなく、その逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアによって、及び適切にプログラムされたコンピュータによって実施され得る。いくつかの手段を列挙する装置クレームでは、これらの手段のいくつかは、ハードウェアの同一のアイテムによって具現化され得る。特定の手段が互いに異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有利に使用できないことを示すものではない。
【図１】
2020528689.tif 000010
【図２】
2020528689.tif 000011
【図３】
2020528689.tif 000012
【図４】
2020528689.tif 000013
【図５】
2020528689.tif 000014
【図６】
2020528689.tif 000015
【図７】
2020528689.tif 000016
【図８】
2020528689.tif 000017
【図９】
2020528689.tif 000018
【図１０】
2020528689.tif 000019
【図１１】
2020528689.tif 000020
【図１２】
2020528689.tif 000021
【図１３】
2020528689.tif 000022
【図１４】
2020528689.tif 000023
【図１５】
2020528689.tif 000024
【図１６】
2020528689.tif 000025
【国際調査報告】
2020528689.tif 000026
2020528689.tif 000027