(57)【要約】  要求者及びノードのグループが関与するブロックチェーン実装されたセキュリティ方法が提供され、当該方法は、要求者によって選択されたパスワードと、ノードのグループによって送信された第１の量（ノードのグループの秘密鍵シェアと、楕円曲線上の双線形写像を使用するデジタル署名スキームのジェネレータ関数とから導出される）とに基づいて、要求者の暗号鍵を生成することを含む。要求者のブロックチェーントランザクションのための暗号署名を生成することができ、この署名は、要求者の暗号鍵に対応する。この署名は、パスワードと、ノードのグループによって送信された第２の量（これもグループの秘密鍵シェアから導出される）とに基づくことができる。当該方法は更に、要求者の暗号鍵を使用して、ブロックチェーントランザクションの暗号署名を検証することを含み得る。加えて、あるいは代わりに、当該方法は、ノードのグループが関与して要求者がパスワードでトランザクションを許可することを可能にするコンセンサス機構を採用することができる。当該方法はロジック的に、初期設定フェーズ、資金提供フェーズ、及び支払承認フェーズ（これは、支出前トランザクション及び支出トランザクションを伴う）を含む一連のフェーズに分割され得る。
2021507564.tif 000002
【特許請求の範囲】
【請求項１】
要求者及びノードのグループが関与するブロックチェーン実装されたセキュリティ方法であって、
（ｉ）前記要求者によって選択されたパスワードと、（ｉｉ）前記ノードのグループによって送信された複数の第１の量とに基づいて、前記要求者の暗号鍵を生成し、前記複数の第１の量は、前記ノードのグループの秘密鍵シェアと、楕円曲線上の双線形写像を使用するデジタル署名スキームのジェネレータ関数とに基づき、
前記要求者のブロックチェーントランザクションのための暗号署名を生成し、前記暗号署名は、前記デジタル署名スキームの前記楕円曲線上の双線形写像に基づく前記要求者の前記暗号鍵に対応し、前記暗号署名は、ｉ）前記要求者によって選択された前記パスワードと、ｉｉ）前記ノードのグループによって送信された複数の第２の量とに基づき、前記複数の第２の量は、前記ノードのグループの前記秘密鍵シェアに基づき、
前記要求者の前記暗号鍵を使用して、前記ブロックチェーントランザクションの前記暗号署名を検証する、
ことを有するブロックチェーン実装されたセキュリティ方法。
【請求項２】
少なくとも１つの通信ネットワークを介して互いに動作可能に結合されたノードのグループを確立し、前記グループの各ノードがデジタル資産を前記グループに転送し、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）要求者から資金提供トランザクションを受信し、前記資金提供トランザクションは、全て又は一部が前記要求者によって選択されたパスワードを使用して転送され得るものである前記要求者の１つ以上のデジタル資産を指定し、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記資金提供トランザクションにて指定された前記要求者の前記１つ以上のデジタル資産の一部を転送する支出トランザクションを受信し、前記支出トランザクションは、前記要求者の前記暗号鍵に対応する前記暗号署名を含み、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記要求者の前記暗号鍵を使用して、前記支出トランザクションに含まれる前記暗号署名を検証する、
ことを更に有する請求項１に記載のブロックチェーン実装されたセキュリティ方法。
【請求項３】
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記要求者から初期設定トランザクションを受信し、前記初期設定トランザクションは、前記要求者に関連付けられるパスワードを設定したいという願いを指し示し、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記初期設定トランザクションに応答して第１の量を生成し、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記第１の量を含んだ第１のメッセージを前記要求者に送信する、
ことを更に有する請求項２に記載のブロックチェーン実装されたセキュリティ方法。
【請求項４】
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記要求者から支出前トランザクションを受信し、前記支出前トランザクションは、取引デポジットを転送するとともに前記支出トランザクションの少なくとも一部のハッシュを含み、前記支出トランザクションの少なくとも一部の前記ハッシュは、前記デジタル署名スキームのハッシュ関数に基づき、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記支出前トランザクションに応答して第２の量を生成し、及び／又は
（好ましくは、前記ノードのグループに属する少なくとも１つのノードによって）前記第２の量を含んだ第２のメッセージを前記要求者に送信する、
ことを更に有する請求項２に記載のブロックチェーン実装されたセキュリティ方法。
【請求項５】
前記ノードのグループへの通信のために、前記要求者から資金提供トランザクションをブロードキャストし、前記資金提供トランザクションは、全て又は一部が前記要求者によって選択されたパスワードを使用して転送され得るものである前記要求者の１つ以上のデジタル資産を指定し、
前記ノードのグループへの通信のために、前記要求者からの支出トランザクションをブロードキャストし、前記支出トランザクションは、前記資金提供トランザクションにて指定された前記要求者の前記１つ以上のデジタル資産の一部を転送するものであり、前記支出トランザクションは前記暗号署名を含む、
ことを更に有する請求項１に記載のブロックチェーン実装されたセキュリティ方法。
【請求項６】
前記ノードのグループへの通信のために、前記要求者からの初期設定トランザクションをブロードキャストし、前記初期設定トランザクションは、前記要求者に関連付けられるパスワードを設定したいという願いを指し示し、前記初期設定トランザクションに応答して前記ノードのグループによって前記複数の第１の量が生成されて送信され、及び／又は
前記要求者によって選択された前記パスワードと、前記初期設定トランザクションに応答して前記ノードのグループによって送信された前記複数の第１の量と、に少なくとも部分的に基づいて前記暗号鍵を生成する、
ことを更に有する請求項５に記載のブロックチェーン実装されたセキュリティ方法。
【請求項７】
前記ノードのグループへの通信のために、前記要求者からの支出前トランザクションをブロードキャストし、前記支出前トランザクションは、取引デポジットを転送するとともに前記支出トランザクションの少なくとも一部のハッシュを含み、前記支出トランザクションの少なくとも一部の前記ハッシュは、前記デジタル署名スキームのハッシュ関数に基づき、前記支出前トランザクションに応答して前記ノードのグループによって前記複数の第２の量が生成されて送信される、
ことを更に有する請求項５に記載のブロックチェーン実装されたセキュリティ方法。
【請求項８】
少なくとも１つの通信ネットワークを介して互いに動作可能に結合された前記ノードのグループを確立し、前記グループの各ノードがデジタル資産を前記グループに転送し、前記グループの各ノードが、対応する秘密鍵シェアを保管し、
要求者システムにより、前記グループへの通信のために、前記要求者からの初期設定トランザクションをブロードキャストし、前記初期設定トランザクションは、前記要求者に関連付けられるパスワードを設定したいという願いを指し示し、
前記グループのノードにより、前記初期設定トランザクションに応答して複数の第１の量を生成し、所与のノードによって生成される前記第１の量は、該ノードの前記秘密鍵シェアと、前記デジタル署名スキームのジェネレータ関数と、に少なくとも部分的に基づき、
前記グループのノードにより、それぞれの第１のメッセージを前記要求者に送信し、これら第１のメッセージが、前記複数の第１の量を含み、
前記要求者システムにより、前記要求者によって選択された前記パスワードと、前記複数の第１の量とに基づいて前記暗号鍵を生成し、
前記要求者システムにより、前記グループへの通信のために、前記要求者から資金提供トランザクションをブロードキャストし、前記資金提供トランザクションは、全て又は一部が前記要求者によって選択された前記パスワードを使用して転送され得るものである前記要求者の１つ以上のデジタル資産を指定し、
前記要求者システムにより、前記グループへの通信のために、前記要求者からの支出前トランザクションをブロードキャストし、前記支出前トランザクションは、取引デポジットを転送するとともに、前記デジタル署名スキームのハッシュ関数を用いて前記要求者の特定の資金の一部を転送する未署名支出トランザクションのハッシュを含み、
前記グループのノードにより、前記支出前トランザクションに応答して複数の第２の量を生成し、所与のノードによって生成される前記第２の量は、前記支出前トランザクションに含まれる前記未署名支出トランザクションの前記ハッシュと、該ノードの前記秘密鍵シェアと、に少なくとも部分的に基づき、
前記グループのノードにより、第２のメッセージを前記要求者に送信し、これら第２のメッセージが、前記複数の第２の量を含み、
前記要求者システムにより、前記要求者によって選択されたパスワードと、前記複数の第２の量とに基づいて、前記暗号署名を生成し、
前記要求者システムにより、前記グループへの通信のために、前記要求者からの支出トランザクションをブロードキャストし、前記支出トランザクションは、前記要求者の前記特定の資金の一部を転送し、前記支出トランザクションは、前記未署名支出トランザクションに基づくとともに、前記暗号署名を含み、そして、
少なくとも前記グループのノードによって、前記要求者の前記暗号鍵を使用して、前記支出トランザクションの前記暗号署名を検証する、
ことを更に有する請求項５に記載のブロックチェーン実装されたセキュリティ方法。
【請求項９】
前記初期設定トランザクションは、前記要求者によって前記グループに支払われる初期設定手数料を含み、及び／又は、
前記初期設定手数料は好ましくは、前記グループに関連付けられた公開グループアドレスに支払われ、及び／又は、
前記グループの少なくとも１つのノードが、矛盾する第１の量を前記要求者に送信した場合に、前記初期設定手数料は好ましくは、前記要求者に返還され、及び／又は
前記第１の量の矛盾は好ましくは、検証可能な秘密共有スキームを用いて決定される、
請求項３、６又は８のいずれかに記載のブロックチェーン実装されたセキュリティ方法。
【請求項１０】
前記支出前トランザクションは更に、支出手数料を規定し、及び／又は
前記取引デポジットは、前記グループに関連付けられた公開グループアドレスの下でロックされ、及び／又は
前記検証することが成功した場合に、前記グループは選択的に、前記取引デポジットから前記支出手数料を差し引いた額を前記要求者に転送し、及び／又は
前記検証することが失敗した場合に、前記グループは選択的に、前記取引デポジットを没収し、及び／又は
前記グループのノードのうちの少なくとも１つのノードが、矛盾する第２の量を前記要求者に送信した場合に、前記取引デポジットは好ましくは、前記要求者に返還され、及び／又は
前記第２の量の矛盾は好ましくは、検証可能な秘密共有スキームを用いて決定され、及び／又は
前記支出手数料は好ましくは、前記グループに関連付けられた公開グループアドレスに支払われ、及び／又は
前記グループのノードは、前記支出手数料が十分であることを検証し、前記支出手数料の十分性は好ましくは、前記支出前トランザクション及び前記支出トランザクションを処理するのに必要とされる計算リソースに基づき、及び／又は
前記支出手数料の十分性の検証に失敗した場合、前記グループのノードは選択的に、前記支出前トランザクションの更なる処理をバイパスし、及び／又は
前記支出手数料の前記署名の検証に成功した場合に、前記グループは選択的に、前記支出手数料を前記グループに分配する、
請求項４、７又は８のいずれかに記載のブロックチェーン実装されたセキュリティ方法。
【請求項１１】
前記資金提供トランザクションは、前記要求者の前記１つ以上のデジタル資産が前記暗号鍵によってロックされており、それ故に前記暗号署名によって支出され得ることを規定し、且つ
前記支出トランザクションの前記署名の前記検証は、前記グループによって実行され、及びオプションで、前記グループに属しない他のノードによって実行される、
請求項２乃至１０のいずれかに記載のブロックチェーン実装されたセキュリティ方法。
【請求項１２】
前記資金提供トランザクションは、前記要求者の前記１つ以上のデジタル資産が前記グループの公開鍵によってロックされており、それ故に前記グループの秘密鍵シェアの閾数に基づく署名によって支出され得ることを規定し、
前記支出トランザクションの前記署名の前記検証は前記グループのみによって実行され、且つ
前記支出トランザクションの前記署名の検証成功を受けて、前記グループが協働して、前記グループの秘密鍵シェアの閾数に基づいて署名を生成し、該署名を含む二次支出トランザクションを構築する、
請求項２乃至１０のいずれかに記載のブロックチェーン実装されたセキュリティ方法。
【請求項１３】
前記複数の第１の量は、前記グループのノードから前記要求者に送信されるプライベートメッセージに含められ、及び／又は前記要求者の公開鍵で暗号化され、及び／又は
前記グループのノードは各々、該ノードの秘密鍵シェアを保管するトラステッド実行環境を有し、及び／又は
前記ノードの前記トラステッド実行環境は、前記ノードの前記秘密鍵シェアと、前記デジタル署名スキームの前記ジェネレータ関数と、に少なくとも部分的に基づいて前記第１の量を生成し、及び／又は
前記複数の第２の量は、前記グループのノードから前記要求者に送信されるプライベートメッセージに含められ、及び／又は前記要求者の公開鍵で暗号化され、及び／又は
前記ノードの前記トラステッド実行環境は、前記支出前トランザクションに含まれる前記未署名支出トランザクションのハッシュと、前記ノードの前記秘密鍵シェアと、に少なくとも部分的に基づいて前記第２の量を生成し、及び／又は
前記グループのノードから前記要求者に送信される前記プライベートメッセージは、該ノードの前記トラステッド実行環境の前記公開鍵と関連付けられ、且つ該ノードの前記トラステッド実行環境の対応する前記秘密鍵で署名され、及び／又は
１つ以上のノードが、前記資金提供トランザクション及び前記支出トランザクションを、プルーフ・オブ・ワークブロックチェーンに格納するためにマイニングする、
請求項２乃至１２のいずれかに記載のブロックチェーン実装されたセキュリティ方法。
【請求項１４】
コンピュータ実行可能命令を有したコンピュータ読み取り可能記憶媒体であって、前記コンピュータ実行可能命令は、実行されるときに、請求項１乃至１３のいずれか一項に記載の方法のいずれかの部分を実行するようにプロセッサを構成する、コンピュータ読み取り可能記憶媒体。
【請求項１５】
インタフェース装置と、
前記インタフェース装置に結合されたプロセッサと、
前記プロセッサに結合されたメモリであり、当該メモリはコンピュータ実行可能命令を格納しており、前記コンピュータ実行可能命令は、実行されるときに、請求項１乃至１３のいずれか一項に記載の方法のいずれかの部分を実行するように前記プロセッサを構成する、メモリと、
を有するエレクトロニクス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、概して分散システムに関し、より具体的には、ブロックチェーン上で維持管理される暗号強制資産（例えばビットコイン（Ｂｉｔｃｏｉｎ）などの暗号通貨を含む）の安全性、信頼性、及び有用性を向上させるための方法及びシステムに関する。
【背景技術】
【０００２】
本文書おいて、我々は、用語‘ブロックチェーン’を、全ての形態の電子的な、コンピュータベースの、分散型台帳を含むように使用する。これらは、以下に限られないが、ブロックチェーン及びトランザクションチェーンの技術、許可された及び許可されていない台帳、共有台帳、並びにこれらの変形を含む。ブロックチェーン技術の最も広く知られている用途はビットコイン台帳であるが、他のブロックチェーン実装も提案及び開発されている。ここでは、便宜及び説明のために、ビットコインを参照することがあるが、留意されたいことには、本発明は、ビットコインブロックチェーンとの使用に限定されず、それに代わるブロックチェーン実装及びプロトコルも本発明の範囲内にある。用語“ビットコイン”は、ここでは、ビットコインプロトコルから派生する任意の全てのプロトコルを指すように使用される。
【０００３】
ブロックチェーンは、トランザクション及び他の情報からなる複数のブロックで構成されるコンピュータベースの非中央集権的な分散システムとして実装されるコンセンサスベースの電子台帳である。ビットコインの場合、各トランザクションは、ブロックチェーンシステムにおける参加者間でのデジタル資産の管理の移転を符号化するデータ構造であり、少なくとも１つのインプットと少なくとも１つのアウトプットとを含む。各ブロックが、そのブロックが一緒にチェーン化される先行ブロックのハッシュを含むことで、その開始以前にそのブロックチェーンに書き込まれた全てのトランザクションの恒久的で変更不可能な記録を作り出す。トランザクションは、それらのインプット及びアウトプットに埋め込まれるスクリプトとして知られた小プログラムを含み、それらが、トランザクションのアウトプットが誰によってどのようにアクセスされ得るかを指定する。ビットコインプラットフォーム上では、これらのスクリプトは、スタックベースのスクリプト言語を使用して書かれる。
【０００４】
トランザクションがブロックチェーンに書き込まれるには、そのトランザクションが“検証済み”でなければならない。幾つかのネットワークノードがマイナー（採掘者）として働いて、各トランザクションが有効であることを保証するための作業を実行し、無効なトランザクションはネットワークから拒絶される。例えば、ノードにインストールされているソフトウェアクライアントが、未使用トランザクションアウトプット（unspent  transaction  outputs；ＵＴＸＯ）を参照するトランザクションに対してこの検証作業を実行する。検証は、そのロッキング及びアンロックスプリクトを実行することによって実行され得る。ロッキング及びアンロックスプリクトの実行がＴＲＵＥに評価され、且つ特定の他の条件が満たされる場合（例えば、十分な採掘手数料を含むことなど）、トランザクションは有効であり、トランザクションがブロックチェーンに書き込まれることができる。従って、トランザクションがブロックチェーンに書き込まれるには、そのトランザクションが、ｉ）そのトランザクションを受け取るノードによって検証され（そのトランザクションが検証された場合に、そのノードがそれをネットワーク内の他のノードに中継する）、ｉｉ）マイナーによって構築された新しいブロックに追加され、そして、ｉｉｉ）マイニングされ、すなわち、過去のトランザクションの公開台帳に追加されなければならない。ブロックチェーンに十分な数のブロックが追加されてトランザクションを実質的に不可逆にしたとき、トランザクションは承認されたとみなされる。
【０００５】
例えばブロックチェーン上で維持管理されている暗号通貨を使用することなど、ブロックチェーン上で維持管理されている暗号的に保護された資産へのアクセスを制御するために、秘密鍵が一般的に使用されている。より具体的には、ユーザには典型的に、そのユーザに属する他の暗号資産に関する暗号コイン又はトークンを送信及び受信するために、公開アドレス及び秘密鍵が与えられる。秘密鍵は、そのユーザに属する暗号コイン又は他の暗号資産が消費、引き出し、又はその他で譲渡若しくは担保に供されることを可能にする秘密の番号である。ビットコインでは、秘密鍵は通常２５６ビットの番号である。公開アドレスは、ユーザの暗号資産が預け入れ及び受領されるところである。公開鍵は、数学的アルゴリズムを通じて秘密鍵から作成される。しかしながら、公開鍵から秘密鍵を生成することによってこのプロセスを逆にすることは事実上不可能である。
【０００６】
典型的に、ユーザの秘密鍵を保管するためにデジタルウォレットが使用される。ユーザに属する暗号資産を消費、引き出し、又はその他で譲渡又は担保に供するためにユーザによってトランザクションが開始されるとき、デジタルウォレットは、そのトランザクションを秘密鍵で処理することによってデジタル署名を作成する。所与のトランザクションに対して有効な署名を生成する唯一の方法は、秘密鍵を用いて、そのトランザクションに対する署名が秘密鍵に対応する公開アドレスに対して検証されるようにすることであるため、これは安全なシステムを支えるものである。署名及び公開アドレスを用いて、トランザクションが（公開アドレスに対応する秘密鍵の所有者である）ユーザから来たものであることが検証されるとともに、セキュリティにとって重要なトランザクションの要素（例えば送られる額、受領者アドレスなど）がブロードキャストされてから変更され得ないことが保証される。これらのトランザクション要素が変更されると、ユーザの署名及び公開アドレスに基づくトランザクションの検証が失敗することになる。
【０００７】
もしユーザが自身の秘密鍵を紛失すると、ユーザはもはや、その秘密鍵に関連付けられたユーザの暗号資産を消費したり、引き出したり、その他で譲渡したり担保に入れたりすることができない。従って、秘密鍵を安全な場所に保存することが必要不可欠である。デジタルウォレットがユーザの秘密鍵を保管し得る方法は幾つも存在する。
【０００８】
一例において、秘密鍵は、トランザクションがユーザの秘密鍵で署名される必要があるときに取り出されることができるように、紙様式又は電子文書にプリントされることができる。例えば、秘密鍵は場合により、トランザクションがユーザの秘密鍵で署名される必要があるときにスキャンされ得るＱＲコード（登録商標）の形態でプリントされ得る。秘密鍵はまた、コールドストレージ又はハードウェアウォレットを使用して保管されることもでき、これらは典型的に、ユーザの秘密鍵を安全に格納するとともにユーザの秘密鍵を用いてオフラインでトランザクションに署名するスマートカード又はＵＳＢデバイスを使用するものである。他の一例において、秘密鍵は、ホットウォレットを使用して保管されることができ、これは典型的に、オンラインであって何らかの方法でインターネットに接続されたシステムを使用して、秘密鍵を保管し、トランザクションに署名する。
【０００９】
秘密鍵が失われたときの暗号資産の回復は、暗号通貨における有名な未解決問題である。これを達成することができる非中央集権的な機構の欠如は、一般に、暗号通貨の広範な採用に対する最も重大な障壁の１つであると認識されている。例えば、ハードドライブのクラッシュ又は秘密鍵の喪失によって２７００を超えるビットコインが実効的に失われたと推定されたことがある。いったん秘密鍵が失われると、何十億ドルもの価値があり得るビットコインが、使用不可能なウォレットに閉じ込められる。
【００１０】
実際、秘密鍵を失うことは一見して、オンラインバンキングのパスワードの喪失に似ているように思われるかもしれない。しかしながら、少なくとも２つの重要な相違がある。第一に、銀行取引システムのトランザクションは追跡可能且つ可逆的であり、不正取引を逆にすることによって、盗まれた資金を回収できる可能性がある。これは、明らかなように、例えばビットコインなどの暗号通貨では可能でない。何故なら、トランザクションが不可逆的であるとともに、不正の発生時に仲裁を行う中央権限が存在しないはないからである。第二に、銀行取引のパスワードは、ユーザが自身の身元を銀行に提供することの見返りとして、復元又は再発行されることができる。対照的に、一部の暗号通貨ウォレットでは、例えばhttps://walletrecoveryservices.com/などのパスワード復元サービスが利用可能である。しかしながら、これらのパスワード復元サービスは、一般的に、低い成功率（典型的に３０％くらいであり、ユーザによって提供される情報に依存する）を有するとともに、そのようなパスワード復元サービスに課される料金は一般的に非常に高い（すなわち、パスワード復元が成功した場合に、料金はそのウォレットの価値の２０％に至ることがある）。
【００１１】
秘密鍵が失われたときの暗号資産の回復のための他の提案されている一ソリューションは、ブレインウォレットと呼ばれており、ユーザによって直接作り出された十分に長いパスワード又はパスフレーズをハッシュすることによって秘密鍵が生成されるものである。このソリューションは、パスワードがウォレット自体に保管される必要はなく、‘ユーザの脳’に維持され得るので、鍵の保管問題を解決しようとするものである。例えばhttps://brainwallet.io/、https://paper.dash.org/などのオンラインプラットフォームは、パスワード／パスフレーズと、何らかのソルト、すなわち、ハッシュ化一方向関数への追加入力として使われるランダムデータとを所与として、決定論的な暗号通貨秘密鍵を容易に生成することができる。なお、ブレインウォレットのパスワード／パスフレーズは安全であると同時に覚えやすいものでなければならない。この場合、セキュリティが、パスワード／パスフレーズを破るのに攻撃者が要する時間に基づく一方で、覚えやすさは、覚えておかなければならない情報の量に依存する。明らかに、これら２つの側面は負の相関を持ち、選択されたパスワードのエントロピーに依存する。
【００１２】
ブレインウォレットの１つの問題は、秘密鍵を生成するのに使用されたパスワード／パスフレーズ及びソルトを破ろうとする強いインセンティブであり、何故なら、これは、ウォレットそれ自体内にロックされた暗号資産への完全なアクセスを攻撃者に与えることになるからである。攻撃者は、多数の異なるパスワード／パスフレーズ及びソルトを試みるブルートフォース（総当たり）クラッキングアルゴリズムを使用し、生成された秘密鍵が存在し、暗号資産に関連付けられているかをチェックすることができる。現行技術では、チップは毎秒約２３６回の試行を行うことができる。また、現実世界の攻撃が示したことには、たとえ複雑なパスワードが採用され、より高速な新しいアルゴリズムであったとしても、ブレインウォレットは安全ではない。具体的には、現実世界の攻撃は、各スレッドで毎秒１６，２５０個のパスワードを見つけることができ、１８，０００を超えるブレインウォレットアドレスを破った。さらに、最近、現実世界で漏れ出た何百万ものパスワードがハッカー達に利用可能となっており、彼らはそのようなパスワードを用いてユーザの習慣を再構成し、ブレインウォレット秘密鍵を生成するために使用されるパスワード／パスフレーズ及びソルトを破るための、より高速なアルゴリズムを設計することができる。考え得る更なる弱さが、同じパスワードから派生した複数のブレインウォレットアドレスがトランザクションスクリプトの一部としてブロックチェーン上に格納されているときに発生し得る。同じシードから複数のアドレスが導き出されていると、パスワードを推測することが容易になる。キー（鍵）ストレッチ技術を用いて、ブレインウォレットアドレスを破ることを困難にすることができる。そのようなキーストレッチ技術は、単純なパスワードから秘密鍵を導出するのに、最適化困難（difficult-to-optimise）なハッシュ関数（例えばＳＨＡ２５６、ＳＨＡ１など）を複数回使用する。このような技術は、攻撃をより計算量的に高くつくものにするのに役立つが、将来に向けてセキュリティを保証するものではない。実際、高められた計算能力を持つ新しいハードウェアが作り出され、それ故に、計算上の難題を、コスト及び実現可能性の観点でいっそう手頃なものにしてしまい得る。さらに、アカウント内の蓄えの価値の何らかの認識が、ストレッチされた鍵をあまり安全でないものにする。何故なら、それを破った場合の見返りが、それを破るために必要とされる投資のいっそう大きな割合となるからである。パーソナルコンピュータが毎秒約６５００回のＳＨＡ−１ハッシュを実行できることを考えると、キーストレッチソリューションがすぐに安全でなくなることを簡単に示すことができる。キーストレッチプログラムは、６５００ラウンドのハッシュを使用して、ユーザを約１秒間だけ遅延させ得る。攻撃者の視点からは、通常のパスワードテストが典型的に１つのハッシュ演算を必要とするとき、キーストレッチを使用することは自身の作業負荷を２１６倍に増加させる（追加の１６ビットのエントロピーが通常のパスワードに付加されることに等価）。ムーアの法則によれば、スピードの観点でのコンピュータ性能が１．５年ごとに２倍になるとされており、つまり、１．５年ごとにキーストレッチのビットを１つずつ多くすることが容易に決められることになり得る。一定レベルのセキュリティを維持するために、キーストレッチラウンドを１．５年ごとに２倍にすべきであるが、これは、（ｉ）ユーザがキーストレッチを実行するためのいっそう高い計算コスト、（ｉｉ）キーストレッチアルゴリズムの設計者がこの側面を考慮に入れてシステムの寿命を決定すべきであること、を必要とすることになる。キーストレッチプロセスの計算タスクを実行するためにブロックチェーンマイナーもまた‘採掘しながら’使用されることができ、それにより、追加コストはほとんど招かず、さらにこれは、ユーザのパスワードをマイナーに見せることなく行われることができる。しかしながら、このような構成はまた、マイナーが‘無料で’ユーザのパスワードを総当たり攻撃しようと試みることを許すことにもなり、それは、キーストレッチの目的全体を無にするものである。
【００１３】
従って、強化されたセキュリティを提供することができるとともに、パスワードをリバースエンジニアリングし、パスワードによって管理された暗号資産を転送しようと試みる攻撃を阻止することができる方法で、ユーザがパスワードでトランザクションを許可することを可能にする改良された方法及び装置を提供することが望ましい。
【発明の概要】
【００１４】
従って、本発明によれば、添付の請求項に規定される方法が提供される。
【００１５】
故に、本発明によれば、ブロックチェーン実装された方法及び対応するシステムが提供され得る。本発明は、ブロックチェーン実装された（１つ以上の）セキュリティ方法及び対応する（１つ以上の）システムとして説明され得る。
【００１６】
この方法は、要求者及びノードのグループが関与することを有する方法を提供することができ、当該方法は、要求者によって選択されたパスワードと、ノードのグループによって送信された複数の第１の量とに基づいて、要求者の暗号鍵を生成することを含み得る。複数の第１の量は、ノードのグループの秘密鍵シェアと、楕円曲線上の双線形写像を使用するデジタル署名スキームのジェネレータ関数とに基づき得る。当該方法は更に、要求者のブロックチェーントランザクションのための暗号署名を生成することを含むことができ、暗号署名は、デジタル署名スキームの楕円曲線上の双線形写像に基づく要求者の暗号鍵に対応する。暗号署名は、要求者によって選択されたパスワードと、ノードのグループによって送信された複数の第２の量とに基づき得る。複数の第２の量は、ノードのグループの秘密鍵シェアに基づき得る。当該方法は更に、要求者の暗号鍵を使用して、ブロックチェーントランザクションの暗号署名を検証することを含み得る。
【００１７】
加えて、あるいは代わりに、この方法は、ノードのグループが関与して安全な方法でユーザ（要求者）がパスワードでトランザクションを許可することを可能にするコンセンサス機構を採用することができる。パスワードは、この方法のどのフェーズにおいても決して直接的に露呈されない。パスワードのエントロピーは高いものである必要はなく（故に、低くすることができ）、これは、パスワードの覚えやすさを高めることができる。何故なら、パスワードの情報の量はパスワードのエントロピーに比例するからである。
【００１８】
加えて、あるいは代わりに、この方法は、ノードのグループを使用し、各ノードが、該グループへのデジタル資産の転送を通じて該グループに加わり、該グループの各ノードが対応する秘密鍵シェアを保管する。
【００１９】
加えて、あるいは代わりに、この方法は、ノードのグループが、要求者によってブロードキャストされた資金提供トランザクションを受信する資金提供フェーズを含むことができ、資金提供トランザクションは、全て又は一部が要求者によって選択されたパスワードを使用して転送され得るものである要求者の１つ以上のデジタル資産を指定する。
【００２０】
加えて、あるいは代わりに、この方法は、ノードのグループが、資金提供トランザクションにて指定された要求者の１つ以上のデジタル資産の一部を転送する支出トランザクションを受信する支払承認フェーズを含むことができる。支出トランザクションは、要求者の暗号鍵に対応する暗号署名を含む。ノードのグループは、要求者の暗号鍵を使用して、支出トランザクションの署名を検証する。
【００２１】
加えて、あるいは代わりに、この方法は更に、ノードのグループが、要求者によってブロードキャストされた初期設定トランザクションを受信する初期設定フェーズを含むことができ、初期設定トランザクションは、要求者に関連付けられるパスワードを設定したいという願いを指し示す。ノードのグループは、初期設定トランザクションに応答してそれぞれの第１の量を生成し、それぞれの第１の量を含んだそれぞれの第１のメッセージを要求者に送信する。
【００２２】
加えて、あるいは代わりに、支払承認フェーズは、ノードのグループが、要求者によってブロードキャストされた支出前トランザクションを受信することを含むことができ、支出前トランザクションは、取引デポジットを転送するとともに支出トランザクションの少なくとも一部のハッシュを含み、支出トランザクションの少なくとも一部のハッシュは、デジタル署名スキームのハッシュ関数に基づく。ノードのグループは、支出前トランザクションに応答してそれぞれの第２の量を生成し、それぞれの第２の量を含んだそれぞれの第２のメッセージを要求者に送信する。
【００２３】
加えて、あるいは代わりに、初期設定トランザクションは、要求者によってグループに支払われる初期設定手数料を含むことができる。初期設定手数料は、グループに関連付けられた公開グループアドレスに支払われ得る。グループの少なくとも１つのノードが、矛盾する第１の量を要求者に送信した場合に、初期設定手数料は要求者に返還され得る。第１の量の矛盾は好ましくは、検証可能な秘密共有スキームを用いて決定され得る。
【００２４】
加えて、あるいは代わりに、支出前トランザクションの取引デポジットは、ノードのグループに関連付けられた公開グループアドレスの下でロックされることができる。支出前トランザクションは支出手数料を含むことができる。検証することが成功した場合に、グループは選択的に、取引デポジットから支出手数料を差し引いた額を要求者に転送し得る。検証することが失敗した場合に、グループは選択的に、取引デポジットを没収し得る。グループのノードのうちの少なくとも１つのノードが、矛盾する第２の量を要求者に送信した場合に、取引デポジットは要求者に返還され得る。第２の量の矛盾は好ましくは、検証可能な秘密共有スキームを用いて決定され得る。
【００２５】
加えて、あるいは代わりに、支出手数料は、ノードのグループに関連付けられた公開鍵に支払われることができる。グループのノードは、支出手数料が十分であることを検証することができ、支出手数料の十分性は好ましくは、第３のトランザクション及び支出トランザクションを処理するのに必要とされる計算リソースに基づく。支出手数料の十分性の検証に失敗した場合、グループのノードは選択的に、支出前トランザクションの更なる処理をバイパスし得る。ノードのグループは選択的に、支出手数料をグループに分配し得る。
【００２６】
加えて、あるいは代わりに、資金提供トランザクションは、要求者の１つ以上のデジタル資産が要求者の暗号鍵によってロックされており、それ故に、対応する暗号署名によって支出され得ることを規定することができる。この実施形態では、ノードのグループ、及びオプションで、グループに属しない他のノードが、署名された支出トランザクションの暗号署名を、要求者の暗号鍵を用いて検証することができる。
【００２７】
加えて、あるいは代わりに、資金提供トランザクションは、要求者の１つ以上のデジタル資産がグループの公開鍵によってロックされており、それ故にグループの秘密鍵シェアの閾数に基づく署名によって支出され得ることを規定することができる。この実施形態では、ノードのグループのみが、署名された支出トランザクションの署名を、要求者の暗号鍵を用いて検証することができる。署名された支出トランザクションの署名の検証成功を受けて、グループが協働して、グループの秘密鍵シェアの閾数に基づいて署名を生成し、この署名を含む二次支出トランザクションを構築し得る。
【００２８】
実施形態において、第１の量は、グループのそれぞれのノードから要求者に送信されるプライベートメッセージに含められて要求者の公開鍵で暗号化されることができる。グループのノードは、当該ノードの秘密鍵シェアを保管するトラステッド実行環境を有することができ、当該ノードのトラステッド実行環境は、当該ノードの秘密鍵シェアと、署名スキームのジェネレータ関数と、に少なくとも部分的に基づいて第１の量を生成することができる。各プライベートメッセージが、そのノードのトラステッド実行環境の公開鍵と関連付けられ、そのノードのトラステッド実行環境の対応する秘密鍵で署名され得る。
【００２９】
実施形態において、第２の量は、グループのそれぞれのノードから要求者に送信されるプライベートメッセージに含められて要求者の公開鍵で暗号化されることができる。グループのノードは、第３（支出前）トランザクションに含まれる未署名支出トランザクションのハッシュと、ノードの秘密鍵シェアと、に少なくとも部分的に基づいて第２の量を生成する当該ノードのトラステッド実行環境を有することができる。各プライベートメッセージが、ノードのトラステッド実行環境の公開鍵と関連付けられ、そのノードのトラステッド実行環境の対応する秘密鍵で署名され得る。
【００３０】
実施形態において、１つ以上のノードが、資金提供トランザクション及び署名された支出トランザクションを、プルーフ・オブ・ワーク（proof-of-work）ブロックチェーンに格納するためにマイニングし得る。
【００３１】
本発明によれば、プロセッサと、コンピュータメモリと、ネットワークインタフェース装置とを含んだエレクトロニクス装置が提供され得る。メモリは、コンピュータ実行可能命令を格納しており、該コンピュータ実行可能命令は、実行されるときに、ここに記載される方法を実行するようにプロセッサを構成する。
【００３２】
本発明によれば、コンピュータ読み取り可能記憶媒体が提供され得る。このコンピュータ読み取り可能記憶媒体は、コンピュータ実行可能命令を含み、該コンピュータ実行可能命令は、実行されるときに、ここに記載される方法を実行するようにプロセッサを構成する。
【図面の簡単な説明】
【００３３】
本発明のこれら及び他の態様が、ここに記載される実施形態を参照して解明されて明らかになる。以下、本発明の一実施形態が、単なる例として、以下を含む添付の図面を参照して説明される。
【図１Ａ】ブロックチェーンネットワークの一例のブロック図を示している。
【図１Ｂ】ビットコインブロックチェーン環境に特有のブロックチェーントランザクションの一例を示している。
【図２】ブロックチェーンネットワーク内のノードとして機能し得るエレクトロニクス装置の一例のブロック図を示している。
【図３】安全な方法でユーザがパスワードでトランザクションを許可することを可能にするために会議を伴うコンセンサス機構を採用する方法の一例のハイレベルフローチャートである。
【図４】図３の会議設立フェーズの例示的な詳細を示すフローチャートである。
【図５Ａ】図５Ａ−５Ｄは、共同で図３の初期設定フェーズの例示的な詳細を示すフローチャートである。
【図５Ｂ】図５Ａ−５Ｄは、共同で図３の初期設定フェーズの例示的な詳細を示すフローチャートである。
【図５Ｃ】図５Ａ−５Ｄは、共同で図３の初期設定フェーズの例示的な詳細を示すフローチャートである。
【図５Ｄ】図５Ａ−５Ｄは、共同で図３の初期設定フェーズの例示的な詳細を示すフローチャートである。
【図６】図３の資金提供フェーズの例示的な詳細を示すフローチャートである。
【図７Ａ】図７Ａ−７Ｄは、共同で図３の支払承認フェーズの例示的な詳細を示すフローチャートである。
【図７Ｂ】図７Ａ−７Ｄは、共同で図３の支払承認フェーズの例示的な詳細を示すフローチャートである。
【図７Ｃ】図７Ａ−７Ｄは、共同で図３の支払承認フェーズの例示的な詳細を示すフローチャートである。
【図７Ｄ】図７Ａ−７Ｄは、共同で図３の支払承認フェーズの例示的な詳細を示すフローチャートである。
【図８Ａ】図８Ａ−８Ｂは、安全な方法でユーザがパスワードでトランザクションを許可することを可能にするために会議を伴うコンセンサス機構を採用する方法の他の一例のフローチャートである。
【図８Ｂ】図８Ａ−８Ｂは、安全な方法でユーザがパスワードでトランザクションを許可することを可能にするために会議を伴うコンセンサス機構を採用する方法の他の一例のフローチャートである。
【発明を実施するための形態】
【００３４】
ブロックチェーンネットワーク
先ず、ブロックチェーンに関連するブロックチェーンネットワーク１００の一例をブロック図の形態で示すものである図１Ａを参照する。このブロックチェーンネットワークは、招待なしで又は他メンバーの同意なしで、誰でも参加し得るピアツーピアオープンメンバーシップネットワークである公開ブロックチェーンネットワークとし得る。その下でブロックチェーンネットワーク１００が動作するブロックチェーンプロトコルのインスタンスを走らせている分散エレクトロニクス装置は、ブロックチェーンネットワーク１００に参加することができる。そのような分散エレクトロニクス装置は、ノード１０２として参照され得る。ブロックチェーンプロトコルは、例えば、ビットコインプロトコルとし得る。
【００３５】
ブロックチェーンプロトコルを走らせ、ブロックチェーンネットワーク１００のノード１０２を形成するエレクトロニクス装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバなどのコンピュータ、スマートフォンなどのモバイル装置、スマートウォッチなどのウェアラブルコンピュータ、又は他のエレクトロニクス装置を含め、様々なタイプのものとし得る。
【００３６】
ブロックチェーンネットワーク１００のノード１０２は、有線及び無線通信技術を含み得る好適な通信技術を使用して互いに結合される。例えば、ブロックチェーンがビットコインブロックチェーンである場合、ビットコインプロトコルが使用され得る。
【００３７】
ノード１０２は、ブロックチェーン上の全てのトランザクションのグローバル台帳を維持している。従って、グローバル台帳は分散台帳である。各ノード１０２が、グローバル台帳の完全なコピー又は部分的なコピーを保管し得る。プルーフ・オブ・ワークによって保護されるブロックチェーンの場合、グローバル台帳に影響を与えるノード１０２によるトランザクションが他のノード１０２によって検証されることで、グローバル台帳の妥当性が維持される。ブロックチェーンがプルーフ・オブ・ワークに基づくブロックチェーンであるとき、ブロックとともに提出されるプルーフ・オブ・ワークをチェックすることによって、ブロックも検証される。
【００３８】
ノード１０２のうち少なくとも一部が、ブロックチェーンネットワーク１００のマイナー１０４として働く。図１Ａのブロックチェーンネットワーク１００は、ブロックチェーン上での取引を支援するためにマイナー１０４が高価な計算を実行するプルーフ・オブ・ワークブロックチェーンである。例えば、プルーフ・オブ・ワークブロックチェーンは、マイナーが暗号問題を解くことを必要とし得る。ビットコインでは、マイナー１０４は、ブロックヘッダが、ＳＨＡ−２５６で、現在の難しさによって定められる数よりも小さい数にハッシュするようなナンスを発見する。プルーフ・オブ・ワークアルゴリズムに必要なハッシュパワーは、トランザクションが、その上にある特定数のブロックがマイニングされた後に、実際的に不可逆的であると考えられることを意味します。暗号問題を解くマイナー１０４は、そのブロックチェーンに関する新たなブロックを作成し、その新たなブロックを他のノード１０２にブロードキャストする。他のノード１０２は、そのブロックがブロックチェーンに追加されるべきであると受け入れる前に、マイナー１０４が実際に暗号問題を解いて、それ故に十分なプルーフ・オブ・ワークを示していることを検証する。ノード１０２のコンセンサスによって、そのブロックがブロックチェーンに（すなわち、分散グローバル台帳）に追加される。
【００３９】
マイナー１０４によって作成されるブロックは、ノード１０２によってブロックチェーンにブロードキャストされたトランザクションを含む。例えば、ブロックは、ノード１０２のうちの１つに関連付けられたアドレスからノード１０２のうちの他の１つに関連付けられたアドレスへのトランザクションを含み得る。斯くして、ブロックは、１つのアドレスから他の１つのアドレスへのトランザクションの記録としての役割を果たす。トランザクションをブロックに含めることを要求した当事者は、自身の公開鍵に対応する秘密鍵を使用してリクエストに署名することによって、自身が転送を開始する（例えば、ビットコインの場合、ビットコインを支出する）権限を与えられていることを証明する。転送は、そのリクエストが正当に署名されている場合にのみ、ブロックに追加され得る。
【００４０】
ビットコインの場合、公開鍵とアドレスとの間に一対一の対応関係が存在する。すなわち、各公開鍵が、単一のアドレスに関連付けられる。従って、ここでの、ある公開鍵へ又はからデジタル資産を転送すること（例えば、その公開鍵に支払いをすること）への言及と、その公開鍵に関連付けられたアドレスへ又はからデジタル資産を転送することへと言及とは、共通の操作に言及するものである。
【００４１】
ノード１０２のうち一部は、検証ノードとして参加し得るとともに、マイナーとしても働き得る（あるいは、そうしなくてもよい）。検証ノードは、トランザクションの検証を実行し、それは、（１つ以上の）署名をチェックすること、有効なＵＴＸＯへの参照を確認すること、等々を含み得る。
【００４２】
図１Ａの例は、５つのノード１０２を含んでおり、そのうちの３つがマイナー１０４として参加している。実際には、ノード１０２又はマイナー１０４の数は異なり得る。多くのブロックチェーンネットワークにおいて、ノード１０２及びマイナー１０４の数は、図１Ａに示した数よりも遥かに多いとし得る。
【００４３】
図１Ｂは、ビットコインブロックチェーンにて保管され得るようなトランザクション１５０の一例を示している。同様の機能を持つ他のバリエーションも可能である。トランザクションのデータ要素又はフィールドは、図１Ｂに示すようなものであってよく、また、この開示に記載されるものを超える追加のフィールドを含んでもよい。図示のように、トランザクション１５０のブロックチェーンプロトコルバージョンを指し示す値を持つブロックチェーンバージョンフィールド１５２が存在する。＃ｖｉｎフィールド１５４は、そのトランザクション１５０に幾つのトランザクションインプット（以下で説明する）が存在するかを指し示す。図示していない他のフィールドが存在してもよいが、各トランザクションインプット（ここではＶｉｎ［ｙ］１６０を例として示している）に対して、先行トランザクションのトランザクションＩＤ（ＴｘＩＤ）１６１、その先行トランザクション（トランザクションインプット１６０に一致するトランザクションアウトプットを供するトランザクション）のアウトプットのうち１つに対するインデックス１６２を含む一組のフィールドが存在し、ＴｘＩＤ１６１及びインデックス１６２が一緒になって先行トランザクションのアウトプットを参照するポインタ１６３を形成する。ここで使用されるとき、進行中又は現在のトランザクションに対しての文脈で使用されるときの用語‘先行トランザクション’は、進行中又は現在のトランザクションによって参照される（及び“使用される”）トランザクションアウトプットを持った、それより前の特定のトランザクションを指す。例において、進行中又は現在のトランザクションは“使用中トランザクション”として参照されることがある。
【００４４】
一部のブロックチェーン実装では、固有のＴｘＩＤ値を割り当てる中央集権的な機構は存在せず、代わりに、例えばトランザクション自体のコンテンツのハッシュを生成することによってなどで、トランザクションに対して固有のＴｘＩＤを生成する非中央集権的な機構が存在する。正当なトランザクションは、他の正当なトランザクションのコンテンツと全く同じコンテンツの全てを持つことができないので、正当なトランザクションは各々そのＴｘＩＤに対して固有のハッシュを持つことになる（天文学的に低い確率であるハッシュ衝突を除く）。しかし実装上、ここでは、各トランザクションが固有のトランザクションＩＤを持つと仮定する。ハッシュの性質により、トランザクションのコンテンツからＴｘＩＤが生成されると、そのコンテンツのうちのいずれも変更されることができず、ＴｘＩＤがそのトランザクションに対して有効なままとなる。
【００４５】
図１Ｂに示すように、トランザクションインプットＶｉｎ［ｙ］１６０用のフィールドのセットはまた、続くアンロックスクリプトの長さを指し示すアンロックスクリプト長（Unlocking_Script_Length）フィールド１６４と、ポインタ１６３によって指されるトランザクションアウトプットの対応するロックスクリプトを“アンロック”するＶｉｎ［ｙ］１６０のアンロックスクリプト（ビットコインプロトコルでは一般的に“scriptSig”と呼ばれる）を収容するアンロックスクリプト（Unlocking_Script）フィールド１６５と、トランザクション１５０を制約するために使用されることがあるシーケンス＃フィールド１６６とを含む。
【００４６】
図１Ｂは、１つのトランザクションインプット及び１つのトランザクションアウトプットのみを明示的に示しているが、各々で２つ以上も可能である。トランザクションインプットに続いて、そのトランザクション１５０に幾つのトランザクションアウトプット（以下にて説明する）が存在するかを指し示す＃ｖｏｕｔフィールド１８０が存在する。各トランザクションアウトプット（ここでは、Ｖｏｕｔ［ｘ］１８０を例として示している）に対して、このトランザクションアウトプットＶｏｕｔ［ｘ］１８０によって提供されるトランザクション値を示すアウトプット値フィールド１８１と、続くロックスクリプトの長さを指し示すロックスクリプト長（Locking_Script_Length）フィールド１８２と、このトランザクションアウトプットＶｏｕｔ［ｘ］１８０のロックスクリプト（ビットコインプロトコルでは一般的に“scriptPubKey”と呼ばれる）を収容するロックスクリプト（Locking_Script）フィールド１８３と、を含む一組のフィールドが存在する。説明するように、このトランザクションアウトプットのトランザクション値は、ブロックチェーンノードがそのアンロックスクリプト及びそのロックスクリプトを使用して検証を実行するときにＴＲＵＥとして検証することになるアンロックスクリプトを持つトランザクションインプットを有する支出トランザクションを作成することができ誰かによって“使用される”ことができる。トランザクションアウトプットフィールドには、例えば、トランザクション１５０が指定された将来の時間よりも前に又は指定された将来のブロックよりも前にアクティブにならないように制約することができるロック時間フィールド１９０などの、他のフィールドが従い得る。支出トランザクションの各トランザクションインプットが先行トランザクションアウトプットの対応するトランザクションアウトプットを指し、且つ先行トランザクションアウトプットがトランザクション値を含む場合、トランザクションインプットは、そのトランザクション値を指し示すフィールドを含む必要がない。
【００４７】
以下に説明するように、様々なノード１０２が協働して、ここでは会議１１０と称するグループを形成し得る。図示した例では、３つのノード１０２が会議１１０に参加するように示されている。しかし、会議のメンバーの実際数は遥かに多くなり得る。
【００４８】
会議１１０は、オープンメンバーシップグループであり、その会議１１０に関連付けられたプールに対する十分な出資の提出を受けて、任意のノード１０２によって参加され得る。例えば、ノードは、会議１１０に関連付けられたアカウントへの、例えばデジタル通貨（ビットコインなど）、トークン、又は他の出資若しくは価値などの、デジタル資産の転送を介して、会議に参加し得る。会議に参加するノード１０２は、マイニングノード及び非マイニングノードの両方を含め、ブロックチェーンネットワーク内の任意のノードとし得る。会議の少なくとも一部の適用において、会議メンバーの役割を果たしているノードは、それらがブロックチェーン全体をダウンロードする（ただし、必ずしも保持するわけではない）という意味で、ブロックチェーンを監視する。会議１１０を設立して維持する技術は、２０１７年４月１１日に出願された英国特許出願第１７０５８６７．８（代理人整理番号第Ｐ５１０７２７／ＣＥＪ）、及び２０１７年４月１１日に出願された英国特許出願第１７０５８６９．４（代理人整理番号第Ｐ５１０７２８／ＣＥＪ）に記載されている。
【００４９】
会議のメンバーは、代わりのチェーンネットワーク１２０を形成することができる。代わりのチェーンネットワーク１２０は、代わりのチェーンとして参照されることになる分散台帳を作成して維持管理する。代わりのチェーンネットワーク１２０は、ブロックチェーンネットワーク１００上で生成されるアルゴリズム関連の論争を調停するために展開され得る。そのような論争は、１つのノードのプロセッサ生成された作業成果物の信頼性が他のノードによって異議申立てされた場合に存在し得る。代わりのチェーンネットワーク１２０はまた、他の目的でも展開され得る。
【００５０】
ブロックチェーンネットワーク１００に関連付けられたブロックチェーンがプルーフ・オブ・ワークブロックチェーンである一方で、この代わりのチェーンはプルーフ・オブ・ステークブロックチェーンである。プルーフ・オブ・ステークに基づくこの代わりのチェーンネットワーク１２０は、コンセンサスを達成するための代わりの機構を提供する。プルーフ・オブ・ステークのこの代わりのチェーンにおいて、ブロックチェーンは、プルーフ・オブ・ワークではなくプルーフ・オブ・ステークによって保護される。プルーフ・オブ・ステークの下で、代わりのチェーンのマイナー１２５は、デジタル資産のセキュリティデポジットを預託し、ブロックをマイニングするノードとして選択される確率は、預託として提供されるデジタル資産の量に比例する。このようなプルーフ・オブ・ステークブロックチェーンシステムを使用することで、プルーフ・オブ・ワークブロックチェーン上でマイニングするのに典型的に必要とされる計算費用及びエネルギーを回避することができる。
【００５１】
複数のノード１０２が、代わりのチェーンネットワーク１２０のマイナー１２５として機能する。代わりのチェーンネットワーク１２０のマイナー１２５のうちの少なくとも一部が、ブロックチェーンネットワーク１００のマイナー１０４として働かなくてもよい。代わりのチェーンネットワーク１２０は、プルーフ・オブ・ステークブロックチェーンネットワークであるので、マイナー１２５は、マイナーとして含められるためにデジタル資産を預託する。より具体的には、代わりのチェーンのマイナー１２５は、代わりのチェーンネットワーク１２０上でマイニングするための結合された検証者セットを形成する。これらのマイナー１２５はまた、プルーフ・オブ・ワークブロックチェーンネットワーク１００に関連する会議１１０のメンバーであることもできる。すなわち、プルーフ・オブ・ワークブロックチェーンネットワーク１００及び代わりのチェーンネットワーク１２０の両方の一部であるノード１０２は、代わりのチェーンネットワーク１２０のマイナー１２５として、且つプルーフ・オブ・ワークブロックチェーンネットワーク１００上で設立された会議１１０のメンバーとしての役割を果たす。これらのマイナー１２５は、会議１１０に加わり、後述する方法に従って会議１１０に参画する。それらのデジタル資産の会議プールへの預託は、プルーフ・オブ・ワークブロックチェーン内で行われる。すなわち、会議メンバーは、プルーフ・オブ・ワークブロックチェーンネットワーク１００上で自身の“ステーク”を預託して会議メンバーとなり、それにより、結合された検証者セットを形成することによって代わりのチェーン上でマイナー１２５としての役割を果たすことを許される。
【００５２】
実施形態において、代わりのチェーンネットワーク１２０の代わりのチェーンは、一時的なプルーフ・オブ・ステークブロックチェーンであるプルーフ・オブ・ステークゴーストチェーンとし得る。伝統的なブロックチェーンとは異なり、プルーフ・オブ・ステークゴーストチェーンは、その目的を達成すると終了するように構成される。すなわち、ゴーストチェーンは、その目的が達成されると存在しなくなる単一目的のブロックチェーンである。プルーフ・オブ・ステークゴーストチェーンは、ジェネシスブロックと呼ばれることがあるものである最初のブロックを含み、これは、プルーフ・オブ・ステークゴーストチェーンがその目的のために展開されるときに作り出されるのみである。プルーフ・オブ・ステークゴーストチェーンネットワークの詳細は、２０１７年４月１１日に出願された英国特許出願第１７０５８６９．４（代理人整理番号第Ｐ５１０７２８／ＣＥＪ）に記載されている。
【００５３】
ノードとして動作するエレクトロニクス装置
図２は、ブロックチェーンネットワーク１００（図１Ａ）内でノード１０２（図１Ａ）として機能し得るエレクトロニクス装置２００の一例のコンポーネントを例示するブロック図である。このエレクトロニクス装置２００の例を、プロセッシング装置として参照することもある。エレクトロニクス装置は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、例えばスマートフォンなどのモバイル装置、例えばスマートウォッチなどのウェアラブルコンピュータ、又は他のタイプの形態を含め、様々な形態をとり得る。
【００５４】
エレクトロニクス装置２００は、プロセッサ２１０と、メモリ２２０と、ネットワーク上でのデータ通信のためのネットワークインタフェースデバイス２３０とを含んでいる。これらのコンポーネントは、直接的又は間接的に互いに結合されて互いに通信し得る。例えば、プロセッサ２１０、メモリ２２０及びネットワークインタフェースデバイス２３０は、バス２４０を介して互いに通信し得る。メモリ２２０は、ここに記載される機能を実行するための機械読み取り可能命令及びデータを有したコンピュータソフトウェアプログラムを格納する。例えば、メモリは、プロセッサ２１０によって実行されるときにエレクトロニクス装置にここに記載の方法を実行させるプロセッサ実行可能命令を含み得る。プロセッサ実行可能命令は、プロセッサ２１０によって実行されるときに、エレクトロニクス装置に、ブロックチェーンネットワーク１００（図１Ａ）と関連付けられたプロトコルを実装させる命令を含み得る。例えば、それらの命令は、ビットコインプロトコルを実装するための命令を含み得る。
【００５５】
メモリ２２０は、ブロックチェーンネットワーク１００（図１Ａ）又はその一部のグローバル台帳を格納し得る。すなわち、メモリ２２０は、ブロックチェーンの全てのブロック、又はそれらブロックのうちの一部（例えば、直近の複数のブロック、又は一部のブロック内の情報の一部など）を格納し得る。また、代わりのチェーン（例えば、ゴーストチェーン）が展開されるとき、メモリ２２０は、代わりのチェーン（例えば、ゴーストチェーン）又はその一部を格納し得る。
【００５６】
メモリ２２０は、図２では単一のブロックで示されているが、実際には、エレクトロニクス装置２００は、複数のメモリコンポーネントを含み得る。メモリコンポーネントは、例えば、ＲＡＭ、ＨＤＤ、ＳＳＤ、フラッシュドライブなどを含む種々のタイプのものとし得る。異なる目的には異なるタイプのメモリが適することがある。また、メモリ２２０は、プロセッサ２１０とは別に示されているが、プロセッサ２１０が内蔵メモリを含んでもよい。
【００５７】
図２に例示するように、プロセッサ２１０は、トラステッド実行環境（Trusted  Execution  Environment；ＴＥＥ）２５０として参照されるセキュアな領域を含み得る。ＴＥＥ２５０は、隔離された実行環境であり、エレクトロニクス装置２００に対して、例えば隔離された実行、トラステッドアプリケーションの完全性、及び資産機密性などの、追加のセキュリティを提供する。ＴＥＥ２５０は、ＴＥＥ２５０内で実行される命令及びデータが、エレクトロニクス装置２００の残りの部分からの及び例えばエレクトロニクス装置の所有者などの外部パーティからのアクセス及び操作から保護されるように、少なくとも部分的にハードウェアレベルで実装される。ＴＥＥ２５０内のデータ及び計算は、ＴＥＥ２５０を含むノード１０２を動作させるパーティから保護される。ＴＥＥ２５０は、ＴＥＥ２５０の中にロードされたコンピュータ命令及びデータが機密性及び完全性の点で保護されることを保証する実行空間及びデータストレージを提供することができる。ＴＥＥ２５０は、プロセッサ２１０上で実行するセキュア仮想マシンとして実装されることができる。代わりの実施形態では、ＴＥＥ２５０は、プロセッサ２１０とは別個であり且つ異なる専用のセキュアプロセッサによって実装されてもよい。ＴＥＥ２５０は、例えば鍵などの重要なリソースの完全性及び機密性を保護するために使用され得る。ＴＥＥ２５０は、ＴＥＥ２５０内で実行される命令及びデータが、エレクトロニクス装置２００の残りの部分からの及び例えばエレクトロニクス装置の所有者などの外部パーティからのアクセス及び操作から保護されるように、少なくとも部分的にハードウェアレベルで実装される。ＴＥＥ２５０内のデータ及び計算は、ＴＥＥ２５０を含むノード１０２を動作させるパーティから保護されることができる。
【００５８】
ＴＥＥ２５０は、エンクレーブをインスタンス化し、そして、累積的にハッシュしながら一度に一つずつメモリのページを追加するように動作し得る。期待されるハッシュをリモートマシンが決定及び格納するように、同様の処理がリモートマシン（これは、デベロッパマシン又は他のマシンとし得る）上で実行されてもよい。従って、エンクレーブが承認されたアルゴリズムを実行していることを保証するために、エンクレーブのコンテンツをリモートマシンによって検証することができる。この検証は、ハッシュ同士を比較することによって実行され得る。エンクレーブが完全に構築されると、それがロックダウンされる。ＴＥＥ２５０内でコードを実行し、コードに秘密を送ることが可能であるが、コードを変更することはできない。最後のハッシュが、（ＴＥＥの内部にある）証明鍵によって署名され、データ所有者に利用可能にされることで、それを、データ所有者が秘密をエンクレーブに送る前に検証し得る。
【００５９】
ＴＥＥ２５０は、会議１１０（図１Ａ）によって使用される会議公開鍵に関連付けられた秘密鍵シェアの機密性及び完全性を保護するために使用され得る。例えば、ＴＥＥ２５０は、秘密鍵シェアの生成及び記憶のために使用され得る。ＴＥＥ２５０が意図することは、ＴＥＥ２５０エンクレーブ内で保持されている秘密鍵シェア、又はメンバー間通信若しくはエンクレーブ間通信からの他の秘密鍵シェアに関する情報を、いずれのメンバーも直接的に取得することができない、ことを保証することである。このプロトコルはまた、エンクレーブの閾値の侵害に対しても堅牢である。また、ＴＥＥ２５０が、真正なものであるとともに、会議１１０によって実装されるプロトコルのための承認されたコンピュータ実行可能命令を実行していること、を他のノード１０２に証明するために、ＴＥＥ２５０は、ノード１０２（図１Ａ）によって使用され得るリモート証明を可能にし得る。リモート証明は、ＴＥＥ２５０によって、特定ピースのコードを実行し、そのエンクレーブの内部で、そのエンクレーブの内部証明鍵によって署名された、そのコードのハッシュを送信することによって提供され得る。
【００６０】
ＴＥＥ２５０は、それまでエレクトロニクス装置２００上で秘密鍵シェアを用いていた会議１１０のメンバーが会議を離れることを選択したときに、秘密鍵シェアの削除を保証することを証明するために使用され得る。エレクトロニクス装置２００は、削除の照明を、ＴＥＥ２５０にて提供されるリモート証明プロトコルを介して、他の会議メンバーに信号伝達し得る。削除の証明は、メンバーが自身のメンバーデポジットを引き出すことを許可される前に必要とされ得る。すなわち、デポジットの返還は、メンバーのエンクレーブ内で保持される秘密鍵シェアの削除に対する証明を条件とし得る。
【００６１】
ＴＥＥ２５０は、ＴＥＥのエンクレーブの内部にあるセキュアな乱数発生器を備えることができ、それを用いて、秘密鍵、ランダムチャレンジ、又は他のランダムデータを生成し得る。ＴＥＥ２５０はまた、外部メモリからデータを読み出すように構成されてもよく、また、外部メモリにデータを書き込むように構成されてもよい。そのようなデータは、エンクレーブの内部のみで保持される秘密鍵で暗号化され得る。
【００６２】
ＴＥＥ２５０は、例えばトラステッドプラットフォームモジュール（ＴＰＭ）又はインテルソフトウェアガードエクステンション（ＳＧＸ）などの様々なプラットフォームを用いて実装され得る。例えば、ＳＧＸは、リモート認証をサポートします。これは、エンクレーブが、クォート（quote）として知られるメンバーの所与のハッシュを用いて特定のエンクレーブを実行しているプロセッサから署名済みステートメントを取得することを可能にするものであるリモート証明をサポートする。それらの署名済みステートメントがＳＧＸ仕様に準拠した真正なＴＥＥに由来することを、例えばインテルアテステーションサービス（ＩＡＳ）などの第三者証明サービスが、証明し得る。
【００６３】
エレクトロニクス装置２００は、ブロックチェーンネットワーク１００（図１Ａ）のノード１０２としての役割を果たすとともに、会議１１０（図１Ａ）に加わる又はその他の方法で参加することができる。会議１１０は、デジタル資産保有者のグループが、ブロックチェーンネットワーク１００（図１Ａ）によってサポートされる例えばデジタル通貨、トークン、又は他のステーク若しくは価値などのデジタル資産をプールするときに形成され、そのデジタル資産のプールは、対応する秘密鍵におけるシェアが、プールに拠出された資産の量に比例して会議メンバーによって（好ましくは、会議メンバーのＴＥＥの内部で）保持されるように、単一の公開鍵（会議公開鍵）の下でロックされる。エレクトロニクス装置２００はまた、代わりのチェーンネットワーク１２０（図１Ａ）のノード１０２としての役割を果たすこともできる。
【００６４】
会議
会議１１０は、同意式のグループであってもよいし、非同意式のグループであってもよい。すなわち、会議１１０には、ブロックチェーンネットワーク１００内の任意のノード（図１Ａ）（すなわち、ブロックチェーン内の情報の少なくとも一部を監視及び保管する任意のノード）が加わり得る。会議１１０に加わるために、ノード１０２は、会議１１０に関連付けられたデジタル資産プールに（すなわち、１つ以上のデジタル資産に関連付けられ、ひいては、会議の他のメンバーに関連付けられた公開グループアドレスに）１つ以上のデジタル資産を転送する。このデジタル資産プールは、会議プールとして参照されることもある。例えば、ノード１０２は、そのようなデジタル資産を、会議プールに関連付けられたアドレスに（すなわち、公開グループアドレスとしても参照されることもある“会議アドレス”に）転送（すなわち、預託）することによって、会議１１０に加わり得る。デジタル資産は、会議公開鍵と呼ぶ単一の公開鍵を用いるグループ閾値署名の管理下に置かれる。会議メンバーは、分配的に生成された秘密鍵シェアを保有する。特定の会議メンバーが保有するシェアの数は、その特定の会議メンバーがプールに預託した額に比例し得る。
【００６５】
会議アドレスに転送されるデジタル資産を含むものである、会議１１０によって管理されるデジタル資産は、閾値署名スキームの管理下に置かれることができる。閾値署名スキームの下では、デジタル資産が会議１１０の管理を離れて転送されることを可能にする有効な署名を生成するために、それらトータルの秘密鍵シェア持分が閾値を超えるメンバーのグループが必要とされる。すなわち、会議１１０によって管理されるデジタル資産の発信転送に対して有効な署名を生成するために、少なくとも閾数の秘密鍵シェアを使用しなければならない。
【００６６】
会議公開鍵すなわちＣＰＫは、秘密鍵シェアの見返りとして会議１１０のメンバーによって会議プールに預けられたデジタル資産、及び秘密鍵シェアを取得すること以外の理由で預けられた、会議プールに関連付けられたアドレスに会議１１０のメンバー又は非メンバーによって預けられた（すなわち、完全に、部分的に、又は条件付きで会議の管理下に置かれた）デジタル資産を背負う。非メンバー又はメンバーは、様々な理由で、会議に関連付けられたアドレスにデジタル資産を預け得る。
【００６７】
同じ会議公開鍵が、メンバーデポジット（すなわち、秘密鍵シェアの見返りとして会議メンバーによって提供されたデジタル資産）と、他の目的でメンバー又は非メンバーによって提供されたデジタル資産との両方を背負うので、会議公開鍵に対する少なくとも一部のデポジットは、デポジットの種類を指し示すように特別にフラグを立てられ得る。例えば、会議公開鍵にデジタル資産を転送するトランザクションは、行われる預託の性質を指し示すフラグ、識別子、又は他の属性を含み得る。例として、会議に加わるため又は会議メンバーのステークを拡大することを目的とするものではない、会議公開鍵にデジタル資産を転送するトランザクションは、その預託が別目的のために行われていることを指し示すための特別な識別子を含み得る。このような識別子は、秘密鍵生成を維持管理するときに、会議１１０に関連するノード１０２によって使用され得る。より具体的には、グループに加わる目的でデジタル資産を預託するノード１０２は、（デジタル資産を預託したことの結果として）会議１１０に関する秘密鍵シェアを割り当てられる一方で、他の目的でデジタル資産を預託した他のノード１０２は、会議に関する（すなわち、会議公開鍵に対応する）会議秘密鍵シェアを保持しないとし得る。
【００６８】
会議１１０は、メンバーデポジットの全て又は一部の没収という脅しを通じて協調的な行動が強制される自治グループとして活動し得る。非協調的な又は悪意あるメンバーは、そのようなデジタル資産を、多数の正直なメンバーによる協調プロトコルへの参加によって没収され得る。また、会議メンバーが会議１１０を去ることを願いするとき、メンバーデポジットを引き出し得る（すなわち、会議１１０がメンバーデポジットをその会議メンバーの個人アドレスに転送し戻すことを要求し得る）。しかしながら、資金の引き出しは、その引き出しを承認するために、グループ（すなわち、会議）のメンバーによって、有効なデジタル署名を生成するのに必要な閾値を超える秘密鍵シェア数が使用された場合にのみ実行される。
【００６９】
会議１１０によって実装される閾値署名スキームは、様々なタイプのものとし得る。例えば、閾値署名スキームは、少なくとも閾数の秘密鍵シェアが、有効な署名を生成することに寄与している限り、ｎパーティ間での署名権限の共有を可能にすることができる。閾値よりも小さい如何なるサブセットも、有効な署名を生成することができない。閾値署名スキームは楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）スキームとし得る。例えば、ＥＣＤＳＡスキームは、“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)でIbrahimらによって提案されたタイプのものとし得る。この閾値署名スキームは、秘密鍵を再構成するためにｎ個の鍵保有者のパーティからのｔ＋１個の鍵シェアが必要とされるという楕円曲線暗号ベースのアルゴリズムであるデジタル署名スキームの拡張である。このスキームを用いることで、秘密鍵を再構成する必要なく、また、いずれのパーティも自身の鍵シェアを他パーティに明らかにすることなく、有効な署名を構成し得る。なお、他の好適な署名スキームが、会議１１０によって実装されてもよい。
【００７０】
ユーザがパスワードでトランザクションを許可することを可能にするために会議が関与するコンセンサス機構を採用する方法例
次に、図３−図８Ｂを参照して、ユーザ（ここでは“要求者”と称する）が、ユーザがユーザ選択によるパスワードで１つ以上のトランザクションを許可することを可能にするために会議が関与するコンセンサス機構を採用する方法を例示する。図３に示すように、このコンセンサス機構はロジック的に、会議を設立するフェーズ３０１と、初期設定フェーズ３０３（初期設定トランザクションを伴う）と、資金提供フェーズ３０５（資金提供トランザクションを伴う）と、支払承認フェーズ３０７（支出前トランザクション及び支出トランザクションを伴う）と、を含む一連のフェーズに分割されることができる。パスワードは、この方法のどのフェーズにおいても決して直接的に露呈されない。パスワードのエントロピーは高いものである必要はなく（故に、低くすることができ）、これは、パスワードの覚えやすさを高めることができる。何故なら、パスワードの情報の量はパスワードのエントロピーに比例するからである。支払承認フェーズ３０７は場合により、資金提供トランザクション内で規定された資金を要求者がパスワードを用いて転送するために、複数回繰り返され得る。また、複数の個々のユーザがユーザ選択によるパスワードを用いて１つ以上のトランザクションを許可することを可能にするために、フェーズ３０１で会議が設立されると、初期設定フェーズ３０３、資金提供フェーズ３０５、及び支払承認フェーズ３０７の処理を複数のユーザに対して複製することができる。
【００７１】
実施形態において、このコンセンサス機構は、楕円曲線上の双線形写像（バイリニアマップ）を採用するデジタル署名スキームを利用する。このような双線形写像は、マッピングｅで２つの暗号グループの要素間のペアリングを第３グループに使用するペアリングベースの暗号の一形態である。どちらの群でも離散対数問題が困難な同一の素数位数ｑの２つの有限巡回群（Ｇ１＝＜Ｐ＞，・），（Ｇ２，・）を考える。マッピングｅ：Ｇ１×Ｇ１→Ｇ２は、次の３つの条件が満たされる場合且つその場合にのみ、双線形写像と呼ばれる：
１．双線形性：∀Ｐ，Ｑ∈Ｇ１，∀ａ，ｂ∈Ｚｑ＊，ｅ（ａＰ，ｂＱ）＝ｅ（Ｐ，Ｑ）ａｂ
２．非縮退性：Ｇ１＝＜Ｐ＞＝＞＜ｅ（Ｐ，Ｐ）＞＝Ｇ２
３．多項式時間でマッピングｅを計算可能である。
【００７２】
楕円曲線上の双線形写像を用いる決定論的署名スキームは、D．Boned，B．Lynn，H．Sachem，“Short  Signatures  from  the  Weil  Pairing”，International  Conference  on  the  Theory  and  Application  of  Cryptology  and  Information  Security，ASIACRYPT  2001，pp．514-532にて開示された。このスキームでは、適切に選択されたＧ１，Ｇ２を仮定したランダムオラクルモデルの下で安全性が証明される。より具体的には、署名者の秘密鍵をｘ  ∈Ｒ  Ｚｑ＊とし、対応する公開鍵ｙ＝ｇｘをＧ１＝＜ｇ＞の要素であるとする。Ｈ：｛０，１｝＊→Ｇ１をハッシュ関数とする。メッセージｍを署名及び検証するステップは次のとおりである：
・署名（ｍ）：メッセージｍの署名σはＨ（ｍ）ｘ  （Ｇ１内）である。
・検証（σ，ｍ）：ｅ（ｇ，σ）＝ｅ（ｙ，Ｈ（ｍ））の場合にのみ受け入れる。
【００７３】
Bone，B．Lynn，及びSachemの署名スキームは、A．Boldyreva，“Efficient  Threshold  Signature,  Multisignature  and  Blind  Signature  Schemes  Based  on  the  Gap-Diffie-Hellman-Group  Signature  Scheme”，PKC  2003，LNCS  2139，pp．31-46，Springer-Verlag，2003において、ｔ−ｏｕｔ−ｏｆ−ｎ閾値署名スキームへと一般化された。この場合、ｎ個のグループ内の任意のｔ個の署名者がメッセージｍに署名することができる。ｉ番目の署名者の秘密鍵をｘｉ  ∈Ｒ  Ｚｑ＊とし、対応する公開鍵ｙｉ＝ｇｘｉをＧ１＝＜ｇ＞の要素であるとする。ここで、マスターシークレットｘ＝Σｉ（ｘｉＬｉ）であり、ただし、Ｌｉはラグランジュ係数であり、ｉのうち利用可能なのがどのｔ値であるかに依存するものである。マスター公開鍵はｙ＝ｇｘであり、個々の公開鍵はｙｉ＝ｇｘｉである。メッセージｍを署名及び検証するステップは次のとおりである：
・署名（ｍ）：ｔ個の署名者の各々が署名のシェア：σｉ＝Ｈ（ｍ）ｘｉを作成する。なお、各σｉの正当性は、ｅ（ｇ，σｉ）＝ｅ（ｙｉ，Ｈ（ｍ））を確かめることによってチェックされ得る。署名σは、ｉのｔ値に対してσ＝ПｉσｉＬｉとして決定され得る。
・検証（ｍ，σ）：ｅ（ｇ，σ）＝ｅ（ｙ，Ｈ（ｍ））である場合にのみ受け入れる。
【００７４】
図３−図８のコンセンサス機構の実施形態によって使用されるデジタル署名スキームは、詳細に後述するように、ユーザ選択によるパスワードをデジタル署名スキームに組み込むことによって、Boldyrevaのｔ−ｏｕｔ−ｏｆ−ｎ閾値署名スキーム上に拡張する。会議を設立するフェーズ３０１は、図４の処理４０１−４０５を含む。初期設定フェーズ３０３は、図５Ａ−図５Ｄの処理５０１−５３７を含む。資金提供フェーズ３０５は、図６の処理６０１−６０５を含む。支払承認フェーズ３０７は、本開示の一実施形態では図７Ａ−図７Ｄの処理７０１−７５１を含み、あるいは場合により、本開示の他の一実施形態では図８の処理７３７’−７５１’を含む。
【００７５】
なお、要求者（又はこの例では“アリス“）に関して実行される処理は、図３−図８の左側に示し、会議のメンバーであるノード１０２によって又はそれに関して実行される処理は、図３−図８の右側に示す。要求者に関して実行される処理（又はその一部）はデジタルウォレットを伴い得る。そのようなデジタルウォレットは、典型的には特定の機能（例えば、鍵生成、鍵保管、及びトランザクション署名など）のためにスマートカード又はＵＳＢデバイスを使用するものであるハードウェアウォレットとし得る。それに代えて、デジタルウォレットは、オンラインであって何らかのやり方でインターネットに接続されたシステムを使用するものであるホットウォレットであってもよい。
【００７６】
図４は、会議１１０を設立するフェーズ３０１の詳細を例示している。
【００７７】
処理４０１にて、会議のメンバーとして参加するノード１０２が識別され、斯くして会議１１０が設立される。会議１１０を確立し、維持するための技術は、ＧＢ特許Ａｐｐｌに記載されている。会議１１０を設立して維持する技術は、２０１７年４月１１日に出願された英国特許出願第１７０５８６７．８（代理人整理番号第Ｐ５１０７２７／ＣＥＪ）、及び２０１７年４月１１日に出願された英国特許出願第１７０５８６９．４（代理人整理番号第Ｐ５１０７２８／ＣＥＪ）に記載されている。
【００７８】
処理４０３にて、会議１１０が、楕円曲線上の双線形写像を使用するデジタル署名スキームに関するパラメータ（例えば、第１のグループＧ１、第２のグループＧ２、マッピング関数ｅ、及びハッシュ関数Ｈ）を決定する。
【００７９】
処理４０５において、会議１１０のメンバーが分散プロトコルを使用し、それにより、会議の各メンバーｉのＴＥＥが会議秘密鍵ｘにおける自身の秘密鍵シェアｘｉを決定して保有する。この実施形態では、デジタル署名スキームの双線形写像の双線形条件に従って、ｘ  ∈Ｒ  Ｚｑ＊である。分散プロトコルはまた、会議秘密鍵ｘに対応する会議公開鍵（ＣＰＫ）を決定する。
【００８０】
図５Ａ−図５Ｄは、初期設定フェーズ３０３の詳細を例示している。
【００８１】
処理５０１にて、要求者（アリス）が初期設定トランザクションＴＩを生成する。要求者（アリス）は公開鍵Ｐｋを有するアカウントを持っていると仮定する。初期設定トランザクションＴＩは、要求者（アリス）に関連付けられるパスワードを設定したいという願いを会議１１０に示す又は信号伝達する。初期設定トランザクションＴＩは、公開鍵Ｐｋで要求者のアカウントから転送されてＣＰＫに支払われる初期設定手数料ＦＩを規定する。実施形態において、初期設定トランザクションＴＩは、初期設定手数料ＦＩが会議公開鍵ＣＰＫによってロックされ、それ故に、対応する会議秘密鍵ｘに基づく署名を用いて署名されたトランザクションによって支払われ得ることを規定することができる。なお、初期設定手数料ＦＩは、初期設定トランザクションＴＩを処理し、それ故に初期設定フェーズ３０３に参加したことの見返りとして会議１１０に転送されることになる。
【００８２】
実施形態において、初期設定トランザクションＴＩは、要求者のアカウントのＵＴＸＯ、及びＵＴＸＯをアンロックする関連付けられたアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を規定する１つ以上のトランザクションインプットと、初期設定手数料ＦＩを会議公開鍵ＣＰＫでロックする関連付けられたロックスクリプト（例えば、ｓｃｒｉｐｔＰｕｂＫｅｙ）で、初期設定手数料ＦＩと等しい値を規定するトランザクションアウトプットとを含むことができ、従って、会議公開鍵ＣＰＫを提供するアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）と、対応する会議秘密鍵ｘに基づく署名と、を有するトランザクションインプットを持つ支出トランザクションによって使用され得る。初期設定トランザクションＴＩは場合により、（１つ以上の）トランザクションインプットのＵＴＸＯと初期設定手数料ＦＩから暗示的な取引手数料を差し引いたものとの間の差を表すものである、要求者のアカウントに返される変更のための別のトランザクションアウトプットを含み得る。
【００８３】
処理５０３にて、要求者（アリス）が、初期設定トランザクションＴＩをブロックチェーンネットワーク１００にブロードキャストし、それにより、初期設定トランザクションＴＩを会議１１０のメンバーに通信する。そして、要求者（アリス）の処理は、処理５１７へと進む。
【００８４】
処理７０７にて、ブロックチェーンネットワーク１００のノード（会議１１０のメンバー及び場合により他の非メンバーノードを含む）が、初期設定トランザクションＴＩを検証し、ブロックチェーンネットワーク１００のマイニングノード（会議１１０のメンバーである必要はない）が、ブロックチェーンネットワーク１００のブロックチェーンに保管するために、検証された初期設定トランザクションＴＩをマイニングすることができ、それにより、会議１１０のＣＰＫへの初期設定手数料Ｆｉの転送が確認される。なお、初期設定トランザクションＴＩは、マイニングされた全てのトランザクションの必要条件を満たすことを要求され得る（例えば、１つのそのような条件は、初期設定トランザクションＴＩがマイナーに十分な取引手数料を提供することである）。
【００８５】
処理５０７にて、会議１１０の各メンバーｉが、初期設定トランザクションＴＩを受信して処理する。
【００８６】
処理５０９にて、会議１１０の各メンバーｉのＴＥＥが、要求者（アリス）に属する公開鍵Ｐｋを、ハッシュ関数Ｈを用いてハッシュすることによって、第１のグループＧ１に対するジェネレータ関数ｇを決定する。
【００８７】
処理５１１にて、会議１１０の各メンバーｉのＴＥＥが、５０９で決定されたジェネレータ関数ｇを用いて、自身の秘密鍵シェアｘｉに基づく量ｇｘｉを生成する。実施形態において、量ｇｘｉは、グループＧ１の反復適用を介して取得されることができ、その処理は、−加法的又は乗法的で−グループに依存し、加法又は累乗法に対応することになる。実施形態において、量ｇｘｉは、単純に累乗法として示すグループの反復適用を用いた、グループの反復適用Ｇ１  ∋  ｇ：＝Ｈ（Ｐｋ）から取得されることができる。
【００８８】
処理５１３にて、会議１１０の各メンバーｉのＴＥＥが、要求者（アリス）へのプライベートメッセージＭ（ｇｘｉ）を生成する。プライベートメッセージＭ（ｇｘｉ）は、要求者（アリス）に属する公開鍵Ｐｋで暗号化され得る量ｇｘｉを含む。実施形態において、プライベートメッセージＭ（ｇｘｉ）は、メンバーｉのＴＥＥに関連付けられた公開鍵と関連付けられ、メンバーｉのＴＥＥの対応する秘密鍵で署名されることができる。なお、プライベートメッセージＭ（ｇｘｉ）は、会議の秘密鍵シェアｘｉを要求者（アリス）に明らかにしないが、要求者（アリス）が量ｇｘｉの一貫性を検証することを可能にする特定のブラインドにされた量を含むことができ、これは、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)に記載された技術に基づくことができる。
【００８９】
処理５１５にて、会議１１０の各メンバーｉが、プライベートメッセージＭ（ｇｘｉ）を要求者（アリス）に送信し、会議１１０のメンバーの処理は５３１へと進む。
【００９０】
処理５１７にて、要求者（アリス）が、会議１１０のメンバーによって要求者（アリス）に送られたプライベートメッセージＭ（ｇｘｉ）を受信して処理する。メンバーｉのＴＥＥに関連付けられた対応する公開鍵を用いてプライベートメッセージＭ（ｇｘｉ）の署名を検証することによって、各プライベートメッセージＭ（ｇｘｉ）の正当性をチェックすることができる。
【００９１】
処理５１９にて、要求者（アリス）が、量ｇｘｉが一貫しているかを判定する。５１９の一貫性チェックは、幾つもある周知の検証可能な秘密共有スキームのいずれか１つを使用して実行されることができる。https://en.wikipedia.org/wiki/Verifiable_secret_sharingを参照されたい。５１９の一貫性チェックはまた、Stadler，M．の“Publicly  verifiable  secret  sharing”，In  International  Conference  on  the  Theory  and  Applications  of  Cryptographic  Techniques，May  1996，pp．190-199に記載されるような公開された検証可能な秘密共有スキームを用いて行われてもよい。これらのスキームは、（ｉ）矛盾するシェアを特定し、（ｉｉ）パーティに‘秘密に送付された’量又はシェアが、ブロードキャストされるブラインドにされた量又はシェアと異なるかをチェックするために使用されることができ、これは、Ibrahimらに記載された技術に基づくことができる。一貫性チェックを実行するために、量ｇｘｉは、要求者（アリス）に属するとともに公開鍵Ｐｋに対応する秘密鍵を用いて解読されることができる。
【００９２】
処理５２１にて、要求者（アリス）が、５１９の一貫性判定の結果を報告するトランザクションＴｃ１を生成し、トランザクションＴｃ１をブロックチェーンネットワーク１００にブロードキャストし、それにより、トランザクションＴｃ１を会議１１０のメンバーに通信する。（１つ以上の）実施形態において、トランザクションＴｃ１の結果は、矛盾する量ｇｘｉを提供したノードの参照（例えば、そのノードのＴＥＥに関する公開鍵など）を含むことができ、あるいは、量ｇｘｉの全てが一貫している場合にはヌル参照を含むことができる。
【００９３】
処理５２３にて、要求者（アリス）が、トランザクションＴｃ１を評価して、量ｇｘｉが一貫していることをそれが指し示しているかをチェックする。そうである場合、要求者（アリス）の処理は５２５乃至５２９へと続き、そうでない場合には、要求者（アリス）の処理は、別の初期設定トランザクションＴＩを生成してブロードキャストするために５０１へと戻り得る。
【００９４】
処理５２５にて、要求者（アリス）がパスワードＰｗを選択又はその他の方法で入力する。
【００９５】
処理５２７にて、要求者（アリス）が、ハッシュ関数Ｈを用いて公開鍵Ｐｋをハッシュすることによって、第１のグループＧ１に関するジェネレータ関数ｇを決定する。
【００９６】
処理５２９にて、要求者（アリス）が、ジェネレータ関数ｇを用いて、パスワードＰｗ及び量ｇｘｉに基づく公開鍵ｙを構築し、初期設定フェーズにおける要求者（アリス）の処理は終了する。実施形態において、公開鍵ｙは：
ｙ＝ｇＰｗПｉ（ｇｘｉ）Ｌｉ＝ｇＰｗ＋ｘ          （１）
として構築されることができ、ここで、Ｌｉは適切なラグランジュ係数である。
【００９７】
なお、Ｐｗが低エントロピーであるにもかかわらず、公開鍵ｙは圧倒的確率で固有である。何故なら、Ｐｋが固有であり、ひいては、ｇも同様となるからである。
【００９８】
処理５３１にて、会議１１０のメンバーが、トランザクションＴｃ１を受信して処理する。
【００９９】
処理５３３にて、会議１１０の各メンバーｉが、トランザクションＴｃ１を評価して、量ｇｘｉが一貫していることをそれが指し示しているかをチェックする。そうである場合、処理は５３５へと続き、そうでない場合には、処理は５３７へと続く。
【０１００】
処理５３５にて、会議１１０が、初期設定手数料ＦＩを会議１１０のメンバーに配分するためのステップを行い、初期設定フェーズにおける会議１１０のメンバーの処理が終了する。
【０１０１】
処理５３７にて、会議１１０が、初期設定手数料ＦＩを要求者（アリス）に返還する（要求者はこのフェーズにおいて過失がないため）とともに、（トランザクションＴｃ１の結果によって報告された）矛盾する量ｇｘｉを提供した会議１１０の悪意あるメンバーノードのセキュリティデポジットを没収するためのステップを行い得る。実施形態において、会議メンバーは、会議１１０の悪意あるメンバーノードのセキュリティデポジットを没収するために、代わりのプルーフ・オブ・ステークチェーン（例えば、ゴーストチェーン）を使用することができる。没収されたセキュリティデポジットは、場合により、会議１１０の他のメンバーに移転され、あるいは、没収されたセキュリティデポジットを使用不可能なアドレスに移転することによって焼却され得る。５３７の後、初期設定フェーズにおける会議１１０のメンバーの処理は終了することができる。
【０１０２】
図６は、資金提供フェーズ３０５の詳細を例示している。
【０１０３】
処理６０１にて、要求者（アリス）が、一部又は全てがパスワードＰｗを用いて転送され得る要求者（アリス）の資金ｆを規定する資金提供トランザクションＴＦを生成する。資金提供トランザクションＴＦはまた、ｉ）パスワードを用いて資金ｆの一部又は全てを転送する如何なる試みにも取引デポジット料ＤＴ＊ｆを提供する必要がある場合の取引デポジット率、ｉｉ）ジェネレータ関数ｇ、及びｉｉｉ）資金ｆをロックする公開鍵ｙを規定する。
【０１０４】
この実施形態において、資金ｆは、公開鍵ｙによってロック（阻害）され、それ故に、７３５にて閾数の会議メンバーから送られる量σｓ，ｉとパスワードＰｗとから生成される支出署名σｓをメタデータとして含む１つ以上の署名されたトランザクション（それらの各々を、署名された支出トランザクションＴＳとして参照する）によって支出され得る。この実施形態において、ブロックチェーンネットワーク１００へのノード（会議１１０のメンバー、及び会議１１０のメンバーではないノードを含むことができる）が協働して、署名された支出トランザクションＴＳを検証することの一部として、公開鍵ｙを用いて支出署名σｓを検証することができ（以下の処理７４３を参照）、それが実効的に、資金提供トランザクションＴＦの資金ｆ上の公開鍵ｙが関与するロック（阻害）を解除する。
【０１０５】
実施形態において、資金提供トランザクションＴＦは、要求者のアカウントのＵＴＸＯ、及びＵＴＸＯをアンロックする関連付けられたアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を規定する１つ以上のトランザクションインプットと、資金ｆを公開鍵ｙでロックする関連付けられたロックスクリプト（例えば、ｓｃｒｉｐｔＰｕｂＫｅｙ）で、資金ｆに等しい値を規定するトランザクションアウトプットとを含むことができ、従って、公開鍵ｙと、パスワードＰｗ及び会議秘密鍵ｘから導出される支出署名σｓと、を提供するアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有するトランザクションインプットを持つ支出トランザクションによって使用され得る。資金提供トランザクションＴＦはまた、場合により、取引デポジット率ＤＴ及びジェネレータ関数ｇを規定する他のトランザクションアウトプット（支出不可能）を含むことができる。資金提供トランザクションＴＦはまた、場合により、（１つ以上の）トランザクションインプットのＵＴＸＯと資金ｆから暗示的な取引手数料を差し引いたものとの間の差を表すものである、要求者のアカウントに返される変更のための別のトランザクションアウトプットを含み得る。
【０１０６】
処理６０３にて、要求者（アリス）が、資金提供トランザクションＴＦをブロックチェーンネットワーク１００にブロードキャストする。
【０１０７】
処理６０５にて、ブロックチェーンネットワーク１００のノード（会議１１０のメンバー及び場合により他の非メンバーノードを含む）が、資金提供トランザクションＴＦを検証し、ブロックチェーンネットワーク１００のマイニングノード（会議１１０のメンバーである必要はない）が、ブロックチェーンネットワーク１００のブロックチェーンに保管するために、検証された資金提供トランザクションＴＦをマイニングすることができる。なお、資金提供トランザクションＴＦは、マイニングされた全てのトランザクションの必要条件を満たすことを要求され得る（例えば、１つのそのような条件は、資金提供トランザクションＴＦがマイナーに十分な取引手数料を提供することである）。
【０１０８】
図７Ａ−図７Ｄは、支払承認フェーズ３０７の詳細を例示している。
【０１０９】
処理７０１にて、要求者（アリス）が、資金提供トランザクションＴＦによってロックされた資金ｆを参照する署名されていない支出トランザクションＴＳを生成する。未署名支出トランザクションＴＳは（以下の７３９及び７４１で署名されてブロードキャストされるときに）資金ｆの一部を受領者に移転することになる。
【０１１０】
実施形態において、未署名支出トランザクションＴＳは、要求者の資金提供トランザクションＴＦによってロックされた資金ｆを参照するトランザクションインプットと、この値を受領者の公開鍵に基づいてロックする関連付けられたロックスクリプト（例えば、ｓｃｒｉｐｔＰｕｂＫｅｙ）で資金ｆの一部に等しい値を規定する第１のトランザクションアウトプットとを含むことができ、それ故に、受領者の公開鍵と受領者の秘密鍵に基づく署名とを提供するアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有するトランザクションインプットを持つ支出トランザクションによって使用され得る。
【０１１１】
処理７０３にて、要求者（アリス）が、取引デポジット料ＤＴ＊ｆを、会議公開鍵ＣＰＫの下でそれをロックして、転送する支出前トランザクションＴＰＳを生成する。支出前トランザクションＴＰＳはまた、支出手数料Ｆｓ、対応する未署名支出トランザクションＴＳのハッシュ（すなわち、Ｈ（ＴＳ））、及び公開鍵Ｐｋ’を含む。支出手数料Ｆｓは、支出前トランザクションＴＰＳ及び支出トランザクションＴＳを処理するために、要求者（アリス）が会議１１０に進んで提供する手数料である。公開鍵Ｐｋ’は、要求者が資金を移動することを願うアカウントのアドレスである。このアドレスは、デポジットを転送するのに使用される公開鍵Ｐｋと同じであってもよいし、そうでなくてもよい。
【０１１２】
実施形態において、支出前トランザクションＴＰＳは、要求者のアカウントのＵＴＸＯ、及びＵＴＸＯをアンロックする関連付けられたアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を参照する１つ以上のトランザクションインプットと、額ＤＴ＊ｆを会議公開鍵ＣＰＫでロックする関連付けられたロックスクリプト（例えば、ｓｃｒｉｐｔＰｕｂＫｅｙ）で、額ＤＴ＊ｆと等しい値を規定するトランザクションアウトプットとを含むことができ、従って、会議公開鍵ＣＰＫと、会議秘密鍵ｘを用いて生成される署名と、を提供するアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有するトランザクションインプットを持つ支出トランザクションによって使用され得る。支出前トランザクションＴＰＳは、場合により、支出手数料Ｆｓ、対応する未署名支出トランザクションＴＳのハッシュ（すなわち、Ｈ（ＴＳ））、及び公開鍵Ｐｋ’を規定する他のトランザクション出力（支出不可能）含むことができる。支出前トランザクションＴＰＳは、場合により、（１つ以上の）トランザクションインプットのＵＴＸＯと額（ＤＴ＊ｆ）から暗示的な取引手数料を差し引いたものとの間の差を表すものである、要求者のアカウントに返される変更のための別のトランザクションアウトプットを含み得る。
【０１１３】
処理７０５にて、要求者（アリス）が、支出前トランザクションＴＰＳをブロックチェーンネットワーク１００にブロードキャストし、それにより、支出前トランザクションＴＰＳを会議１１０のメンバーに通信し、そして、要求者（アリス）の処理は、７２３へと進む。
【０１１４】
処理７０７にて、ブロックチェーンネットワーク１００のノード（会議１１０のメンバー及び場合により他の非メンバーノードを含む）が、支出前トランザクションＴＰＳを検証し、マイニングノード（会議１１０のメンバーである必要はない）が、ブロックチェーンネットワーク１００のブロックチェーンに保管するために、検証された支出前トランザクションＴＰＳをマイニングすることができ、それにより、取引デポジット料ＤＴ＊ｆの転送が確認される。なお、支出前トランザクションＴＰＳは、マイニングされた全てのトランザクションの必要条件を満たすことを要求され得る（例えば、１つのそのような条件は、支出前トランザクションＴＰＳがマイナーに十分な取引手数料を提供することである）。
【０１１５】
処理７０９にて、会議１１０のメンバーが、支出前トランザクションＴＰＳを受信して処理し、支出前トランザクションＴＰＳによって規定された支出手数料Ｆｓが十分であるかを判定する。支出手数料Ｆｓの十分性は、支出前トランザクションＴＰＳを処理するのに必要とされる計算作業（後述する処理７０９乃至７４９を含む）の量に依存し得る。
【０１１６】
処理７１１にて、会議１１０のメンバーが、支出手数料Ｆｓの十分性の判定を評価する。支出手数料Ｆｓが不足であると判定された場合、処理は７１３へと進み、それ以外の場合（支出手数料Ｆｓが十分であると判定された場合）には、処理は７１５−７１９へと続く。
【０１１７】
実施形態において、７０９における支出手数料Ｆｓの十分性の判定は、会議のメンバーによって実行される処理の計算作業を反映する特殊な作業単位を含んでもよく、これは、イーサリアムブロックチェーンネットワークにおける“ガス”に類似する。支出前トランザクションＴＰＳを処理する際に会議１１０のメンバーによって実行される特定の計算処理の各々に、その特定の計算処理を実行するのに必要な計算リソースに従って、特定の量の、この特殊な単位が割り当てられる。支出前トランザクションＴＰＳを処理する際に会議１１０のメンバーによって実行される全ての計算処理について、その特定量の特殊単位が共に合計され、特殊単位当たりの価格が乗算されることで、支出手数料Ｆｓの必要閾値が決定される。支出手数料Ｆｓがこの閾値を上回る場合、７１１にて支出手数料Ｆｓが十分であるとみなされる。支出手数料Ｆｓがこの閾値を超えない場合には、７１１にて支出手数料Ｆｓが不足しているとみなされる。
【０１１８】
処理７１３にて、会議１１０が、支出前トランザクションＴＰＳの更なる処理（処理７１５−７１９及び処理７２９−７３３）と、後続の支出トランザクションＴＳに対する処理（処理７４１−７４９）とをバイパスするためのステップを行い得る。
【０１１９】
処理７１５にて、会議１１０の各メンバーｉのＴＥＥが、自身の秘密鍵シェアｘｉと、支出前トランザクションＴＰＳに含まれる未署名の支出トランザクションＴＳのハッシュ（Ｈ（ＴＳ）と表記する）とを用いて、対応する量σｓ，ｉを生成する。（１つ以上の）実施形態において、量σｓ，ｉは、σｓ，ｉ＝Ｈ（Ｔｓ）ｘｉとして生成されることができる。なお、会議１１０の他のメンバーは、この段階では支出トランザクションＴＳを知らない。
【０１２０】
処理７１７にて、会議１１０の各メンバーｉのＴＥＥが、要求者（アリス）へのプライベートメッセージＭ（σｓ，ｉ）を生成する。プライベートメッセージＭ（σｓ，ｉ）は、要求者（アリス）の公開鍵Ｐｋで暗号化され得る７１５で生成された量σｓ，ｉを含む。実施形態において、プライベートメッセージＭ（σｓ，ｉ）は、メンバーｉのＴＥＥの公開鍵と関連付けられ、メンバーｉのＴＥＥの対応する秘密鍵で署名されることができる。なお、プライベートメッセージＭ（σｓ，ｉ）は、会議の秘密鍵シェアｘｉを要求者（アリス）に明らかにしないが、要求者（アリス）が量σｓ，ｉの一貫性を検証することを可能にする特定のブラインドにされた量を含むことができ、これは、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)に記載された技術に基づくことができる。
【０１２１】
処理７１９にて、会議１１０の各メンバーｉが、プライベートメッセージＭ（σｓ，ｉ）を要求者（アリス）に送信し、処理は７２９へと進む。
【０１２２】
処理７２１にて、要求者（アリス）が、会議１１０のメンバーによって要求者（アリス）に送られたプライベートメッセージを受信して処理する。メンバーｉのＴＥＥに関連付けられた対応する公開鍵を用いてプライベートメッセージＭ（σｓ，ｉ）の署名を検証することによって、各プライベートメッセージＭ（σｓ，ｉ）の正当性をチェックすることができる。
【０１２３】
処理７２３にて、要求者（アリス）が、受信したプライベートメッセージＭ（σｓ，ｉ）に含まれる量σｓ，ｉが一貫しているかを判定する。７２３の一貫性チェックは、５１９に関して上述した検証可能な秘密共有スキームのうちのいずれか１つを使用して実行されることができる。一貫性チェックを実行するために、量σｓ，ｉは、要求者（アリス）に属するとともに公開鍵Ｐｋに対応する秘密鍵を用いて解読されることができる。
【０１２４】
処理７２５にて、要求者（アリス）が、７２３の一貫性判定の結果を報告するトランザクションＴｃ２を生成し、トランザクションＴｃ２をブロックチェーンネットワーク１００にブロードキャストし、それにより、トランザクションＴｃ２を会議１１０のメンバーに通信する。（１つ以上の）実施形態において、トランザクションＴｃ２の結果は、矛盾する量σｓ，ｉを提供したノードの参照（例えば、そのノードのＴＥＥに関する公開鍵など）を含むことができ、あるいは、受信した量σｓ，ｉの全てが一貫している場合にはヌル参照を含むことができる。
【０１２５】
処理７２７にて、要求者（アリス）が、トランザクションＴｃ２を評価して、量σｓ，ｉが一貫していることをそれが指し示しているかをチェックする。そうである場合、要求者（アリス）の処理は７３５−７３９へと続き、そうでない場合には、要求者（アリス）の処理は、別の未署名支出トランザクションＴＳを生成するために７０１及び後続処理へと戻り得る。
【０１２６】
処理７２９にて、会議１１０のメンバーが、トランザクションＴｃ２を受信して処理し、受信した量σｓ，ｉが一貫していることをそれが指し示しているかをチェックする。
【０１２７】
処理７３１にて、会議１１０の各メンバーｉが、受信した量σｓ，ｉが一貫していることを７２９の処理が指し示したかを判定する。そうである場合、処理は７４１へと続き、そうでない場合には、処理は７３３へと続く。
【０１２８】
処理７３３にて、会議１１０が、支出前トランザクションＴＰＳによって規定され且つ会議公開鍵ＣＰＫの下でロックされた取引デポジット料ＤＴ＊ｆを、要求者によって規定された公開鍵Ｐｋ’に転送する（要求者はこのフェーズにおいて過失がないため）とともに、（トランザクションＴｃ２の結果によって報告された）矛盾する量σｓ，ｉを提供した会議１１０の悪意あるメンバーノードのセキュリティデポジットを没収し、そして、後続の支出トランザクションＴＳに対する処理をバイパスするためのステップを行い得る。実施形態において、会議メンバーは、会議１１０の悪意あるメンバーノードのセキュリティデポジットを没収するために、代わりのプルーフ・オブ・ステークチェーン（例えば、ゴーストチェーン）を使用することができる。没収されたセキュリティデポジットは、場合により、会議１１０の他のメンバーに移転され、あるいは、没収されたセキュリティデポジットを使用不可能なアドレスに移転することによって焼却され得る。７３３の後、支払承認フェーズにおける会議１１０のメンバーの処理は終了することができる。
【０１２９】
処理７３５にて、要求者（アリス）が、未署名支出トランザクションＴＳのハッシュ（すなわち、Ｈ（ＴＳ））、パスワードＰｗ、及び閾数の会議メンバーから受信した量σｓ，ｉを用いて署名用の署名σｓを生成する。閾数の会議メンバーは、初期設定フェーズにおいて、秘密鍵シェアｘｉが会議メンバーに配分されるときに決定され得る。（１つ以上の）実施形態において、署名用の署名σｓは、σｓ＝Ｈ（Ｔｓ）ＰｗПｉσｓ，ｉＬｉ＝Ｈ（Ｔｓ）Ｐｗ＋ｘとして生成されることができる。
【０１３０】
処理７３７にて、要求者（アリス）が、（７０１で最初に生成された）支出トランザクションＴＳの署名として、７３５で生成された署名σｓを含める。一例において、署名σｓは、支出トランザクションＴＳのトランザクションインプットのアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）の部分として含められることができ、ここで、トランザクションインプットは、公開鍵ｙによってロックされた資金ｆを参照するものである。
【０１３１】
処理７３９にて、要求者が、支出トランザクションＴＳ（ここでは署名用の署名σｓで署名されている）をブロックチェーンネットワーク１００にブロードキャストする。
【０１３２】
処理７４１にて、ブロックチェーンネットワークのノード（会議１１０のメンバー及び場合により他の非メンバーノードを含む）が、支出トランザクションＴＳを検証し、これは、支出トランザクションＴＳの署名σｓを対応する資金提供トランザクションＴＦの公開鍵ｙに対して検証する処理を含む。このような検証は、資金提供トランザクションＴＦに規定されたジェネレータ関数ｇ及びデジタル署名スキームのマッピング関数ｅを使用することができる。例えば、このような検証は、ｅ（ｇ，σｓ）＝ｅ（ｙ，Ｈ（ＴＳ））である場合にのみ支出トランザクションＴＳの署名σｓを受け入れ得る。実施形態において、公開鍵ｙに対して支出トランザクションＴＳの署名σｓを検証する処理は、支出トランザクションＴＳのトランザクションインプット（トランザクションインプットは、要求者の資金提供トランザクションＴＦによってロックされた資金ｆを参照している）のアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）と、参照された（公開鍵ｙを使用して資金ｆをロックする）要求者の資金提供トランザクションＴＦの対応するトランザクションアウトプットのロックスクリプト（例えば、ｓｃｒｉｐｔＰｕｂＫｅｙ）と、によって規定されることができる。
【０１３３】
処理７４３にて、ブロックチェーンネットワークのノード（会議１１０のメンバー及び場合により他の非メンバーノードを含む）が、７４１で実行された資金提供トランザクションＴＦの検証を評価する。資金提供トランザクションＴＦの検証が成功した（及びそれ故に、支出トランザクションＴＳの署名σｓが対応する資金提供トランザクションＴＦの公開鍵ｙに対して成功裏に検証された）場合、処理は７４５及び７４７へと続く。そうでない場合（恐らくは、支出トランザクションＴＳの署名σｓの、対応する資金提供トランザクションＴＦの公開鍵ｙに対する検証が失敗したために、資金提供トランザクションＴＦの検証が失敗した場合）、処理は７４９へと続く。
【０１３４】
処理７４５にて、マイニングノード（会議１１０のメンバーである必要はない）が、支出トランザクションＴＳを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングすることができ、それにより、支出トランザクションＴＳの受領者への資金の一部の移転が確認される。
【０１３５】
処理７４７にて、会議１１０のメンバーが、支出前トランザクションＴＰＳ内で参照され且つ会議公開鍵ＣＰＫによってロックされた額（ＤＴ＊ｆ−Ｆｓ）を公開鍵Ｐｋ’に転送するとともに、支出手数料Ｆｓを会議１１０のメンバーに転送するステップを行い得る。これは、会議公開鍵ＣＰＫの下でのロックを解除する会議生成による署名を含むアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有した、会議公開鍵ＣＰＫの下でロックされた支出前トランザクションＴＰＳのトランザクションアウトプットを参照する第１のトランザクションインプットと、額（ＤＴ＊ｆ−Ｆｓ）を公開鍵Ｐｋ’に転送する第１のトランザクションアウトプットとを有するトランザクションを、会議１１０が生成することを伴い得る。このトランザクションはまた、会議公開鍵ＣＰＫの下でのロックを解除する会議生成による署名を含むアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有した、会議公開鍵ＣＰＫの下でロックされた支出前トランザクションＴＰＳのトランザクションアウトプットを参照する第２のトランザクションインプットと、Ｆｓを会議のＣＰＫに転送する第２のトランザクションアウトプットとを含むことができる。ブロックチェーンネットワークのノード（会議１１０のメンバー及び場合により非メンバーノードを含む）は、このトランザクションを検証することができ、マイニングノード（会議１１０のメンバーである必要はない）は、検証されたトランザクションを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングすることができる。
【０１３６】
処理７４９にて、支出トランザクションＴＳは正当でないとみなされ、会議１１０が、支出前トランザクションＴＰＳ内で参照され且つ会議公開鍵ＣＰＫによってロックされた取引デポジット料ＤＴ＊ｆを没収し、取引デポジット料ＤＴ＊ｆを会議１１０のメンバーに配分するためのステップを行い得る。これは、取引デポジット料ＤＴ＊ｆにおける分け前を会議１１０のメンバーに転送するトランザクションを伴うことができ、各トランザクションが、そのアウトプットが取引デポジット料ＤＴ＊ｆを会議１１０のＣＰＫに転送するものである支出前トランザクションＴＰＳを参照するトランザクションインプットを含む。トランザクションインプットはまた、会議の秘密鍵ｘから導出された、会議生成による署名（秘密鍵シェアｘｉを利用する）を含むアンロックスプリクト（例えば、ｓｃｒｉｐｔＳｉｇ）を含む。このアンロックスクリプトは、先行トランザクションにおいてＣＰＫの下でロックされた取引デポジット料ＤＴ＊ｆのロックを解除する。ブロックチェーンネットワークのノード（会議のメンバー及び非メンバーノードを含み得る）は、これらのトランザクションを検証することができ、１つ以上のマイニングノード（会議のメンバーである必要はない）が、検証されたトランザクションを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングし得る。
【０１３７】
代わりの一実施形態において、資金提供トランザクションＴＦは、資金ｆが（上述の公開鍵ｙの代わりに）会議公開鍵ＣＰＫによってロックされており、それ故に、（秘密鍵シェアｘｉを利用することによって）会議秘密鍵ｘを用いてトランザクションに署名するために協働する閾数の会議メンバーによってアンロックされ得ることを規定することができる。この場合、署名された支出トランザクションＴＳは公開鍵ｙを含み、会議１１０のメンバーは、署名された支出トランザクションＴＳの署名用の署名σｓを、公開鍵ｙを用いて検証するように動作する。従って、この実施形態では、会議メンバーのみが、署名された支出トランザクションＴＳの署名σｓを公開鍵ｙに対して検証する必要がある（７４３’乃至７５１’参照）。会議１１０の閾数のメンバーが、公開鍵ｙを用いて、署名された支出トランザクションＴＳの署名用の署名σｓを成功裏に検証した場合、会議のメンバーが協働して、（秘密鍵シェアを利用することによって）会議秘密鍵ｘを用いて二次（セカンダリ）支出トランザクションを構築して署名する。二次支出トランザクションは、支出トランザクションＴＳから複製されることができるが、要求者の資金提供トランザクションＴＦによってロックされた資金ｆを参照するトランザクションインプットのためのアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有し、このようなアンロックスクリプトは、会議秘密鍵ｘから導出した会議生成による署名を含む。このアンロックスクリプトは、資金提供トランザクションＴＦにおいてＣＰＫの下でロックされた資金ｆのロックを解除する。なお、また、この実施形態では、支出前トランザクションＴＰＳによって転送される取引デポジット料ＤＴ＊ｆは、会議１１０のＣＰＫの下でロックされる。この実施形態では、支出フェーズの処理が、図８Ａ及び図８Ｂに示すように変更され得る。
【０１３８】
処理７３５’にて、要求者（アリス）が、パスワードＰｗ、及び閾数の会議メンバーから受信した量σｓ，ｉを用いて署名用の署名σｓを生成する。閾数の会議メンバーは、初期設定フェーズにおいて、秘密鍵シェアｘｉが会議メンバーに配分されるときに決定され得る。（１つ以上の）実施形態において、署名用の署名σｓは、σｓ＝Ｈ（Ｔｓ）ＰｗПｉσｓ，ｉＬｉ＝Ｈ（Ｔｓ）Ｐｗ＋ｘとして生成されることができる。
【０１３９】
処理７３７’にて、要求者（アリス）が、（７０１で最初に生成された）支出トランザクションＴＳの一部として署名σｓを含める。
【０１４０】
処理７３９’にて、要求者が、支出トランザクションＴＳ（署名用の署名σｓを含む）をブロックチェーンネットワーク１００にブロードキャストし、それにより、支出トランザクションＴＳを会議１１０のメンバーに通信する。
【０１４１】
処理７４１’にて、会議１１０のメンバーが、支出トランザクションＴＳを処理し、支出トランザクションＴＳに含まれる公開鍵ｙを用いて、支出トランザクションＴＳの署名用署名σｓを検証する。このような検証は、資金提供トランザクションＴＦに含まれるジェネレータ関数ｇ及びデジタル署名スキームのマッピング関数ｅを使用することができる。例えば、このような検証は、ｅ（ｇ，σ）＝ｅ（ｙ，Ｈ（ＴＳ））である場合にのみ支出トランザクションＴＳの署名用署名σｓを受け入れ得る。
【０１４２】
処理７４３’にて、会議１１０のメンバーのみで、７４１’で実行された公開鍵ｙを用いた支出トランザクションＴＳの署名用署名σｓの検証を評価する。支出トランザクションＴＳの署名σｓの検証が失敗した場合、処理は７４５’へと続く。そうでない場合（支出トランザクションＴＳの署名用署名σｓの検証が成功した場合）、処理は７４７’乃至７５５’へと続く。
【０１４３】
処理７４５’にて、支出トランザクションＴＳは正当でないとみなされ、会議１１０が、支出前トランザクションＴＰＳによって規定され且つ会議公開鍵ＣＰＫの下でロックされた取引デポジット料ＤＴ＊ｆを没収し、取引デポジット料ＤＴ＊ｆを会議１１０のメンバーに配分するためのステップを行い得る。これは、取引デポジット料ＤＴ＊ｆにおける分け前を会議１１０のメンバーに転送するトランザクションを伴うことができ、各トランザクションが、会議公開鍵ＣＰＫの下でロックされた支出前トランザクションＴＰＳのトランザクション出力を参照するトランザクションインプットを含む。トランザクションインプットはまた、会議秘密鍵ｘから導出された、会議生成による署名（秘密鍵シェアｘｉを利用する）を含むアンロックスプリクト（例えば、ｓｃｒｉｐｔＳｉｇ）を含む。このアンロックスクリプトは、支出前トランザクションＴＰＳにおいて会議公開鍵ＣＰＫの下でロックされた取引デポジット料ＤＴ＊ｆのロックを解除する。ブロックチェーンネットワークのノード（会議のメンバー及び非メンバーノードを含み得る）は、これらのトランザクションを検証することができ、１つ以上のマイニングノード（会議のメンバーである必要はない）が、検証されたトランザクションを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングし得る。
【０１４４】
処理７４７’にて、マイニングノード（会議１１０のメンバーである必要はない）が、支出トランザクションＴＳを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングし得る。
【０１４５】
処理７４９’にて、会議１１０のメンバー（他の非メンバーノードはなし）が協働して、（それらの秘密鍵シェアｘｉを利用する）会議秘密鍵ｘを用いて支出トランザクションＴＳの署名を生成する。
【０１４６】
処理７５１’にて、会議１１０のメンバー（他の非メンバーノードはなし）が、支出トランザクションＴＳを複製することによって、二次支出トランザクションを構築する。二次支出トランザクションには、資金提供トランザクションＴＦに規定されるＣＰＫの下での資金ｆのロックを解除するために、７４９’の会議生成による署名が含められる。
【０１４７】
処理７５３’にて、ブロックチェーンネットワークのノード（会議１１０のメンバー及び場合により非メンバーノードを含む）が、二次支出トランザクションを検証し、マイニングノード（会議１１０のメンバーである必要はない）が、検証された二次支出トランザクションを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングし得る。
【０１４８】
処理７５５’にて、会議１１０のメンバーが、支出前トランザクションＴＰＳによって規定され且つ会議公開鍵ＣＰＫの下でロックされた額（ＤＴ＊ｆ−Ｆｓ）を公開鍵Ｐｋ’に転送するとともに、支出手数料Ｆｓを会議１１０のメンバーに転送するステップを行い得る。これは、（ＣＰＫの下でのロックを解除する）７４９’の会議生成による署名を含むアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有した、会議公開鍵ＣＰＫの下でロックされた支出前トランザクションＴＰＳのトランザクションアウトプットを参照する第１のトランザクションインプットと、額（ＤＴ＊ｆ−Ｆｓ）を公開鍵Ｐｋ’に転送する第１のトランザクションアウトプットとを有するトランザクションを、会議１１０が生成することを伴い得る。このトランザクションはまた、（ＣＰＫの下でのロックを解除する）７４９’の会議生成による署名を含むアンロックスクリプト（例えば、ｓｃｒｉｐｔＳｉｇ）を有した、会議公開鍵ＣＰＫの下でロックされた支出前トランザクションＴＰＳのトランザクションアウトプットを参照する第２のトランザクションインプットと、Ｆｓを会議のＣＰＫに転送する第２のトランザクションアウトプットとを含むことができる。ブロックチェーンネットワークのノード（会議１１０のメンバー及び場合により非メンバーノードを含む）は、このトランザクションを検証することができ、マイニングノード（会議１１０のメンバーである必要はない）は、検証されたトランザクションを、ブロックチェーンネットワーク１００のブロックチェーン内での保管のためにマイニングすることができる。
【０１４９】
なお、会議１１０のメンバーではないブロックチェーンネットワーク１００のノードは、７４１’及び７４３’における公開鍵ｙを用いた支出トランザクションＴＳの支出署名σｓの検証に参加しない。これは、会議１１０のメンバーだけでなく非メンバーノードも支出トランザクションＴＳの検証に参加し得る図７Ａ−図７Ｄの実施形態の処理７４１及び７４３とは異なる。
【０１５０】
なお、図７Ａ−図７Ｄの実施形態は、大規模な会議に対して効率的であり得る、何故なら、これは、会議１１０が、（それらの秘密鍵シェアｘｉを利用する）会議秘密鍵ｘを用いて支出トランザクションＴＳのための署名を生成し、この署名を対応する資金提供トランザクションＴＦのＣＰＫに対して検証することを必要としないからである。しかしながら、図８Ａ−図８Ｂの実施形態は、‘セカンドレイヤ’プロトコルによって実装され得るという利点を有する。例えば、それは、ビットコインコンセンサスルールを修正する必要なしに、ビットコインブロックチェーンネットワーク上に実装されることができる。
【０１５１】
ここに記載される改良されたデジタル署名スキームの安全性は、パスワードＰｗ及びＤＴの長さの関数である。初期設定フェーズにおいて、ｇ：＝Ｈ（Ｐｋ）を選択することは（ただし、Ｐｋは、そこから手数料ＦＩが転送されるアカウントの公開鍵である）、ｇが要求者に固有であることを意味する。何故なら、（我々が仮定することには）要求者のみがＰｋに対応する秘密鍵（料金ＦＩの転送を承認するのに必要なものである）を持っているからである。
【０１５２】
次のような攻撃を考察されたい。攻撃者は、対応するパスワードＰｗの知識を持たずに資金ｆを使いたい。敵は、必要なデポジットＤＴ＊ｆを会議公開鍵ＣＰＫに転送するとともにそれに対して秘密鍵を保有する公開鍵Ｐｋを規定する支出前トランザクションＴｐｓをブロードキャストするだろう。支出前トランザクションＴｐｓはまたＨ（Ｔｓ）を規定し、Ｔｓは資金を自身に消費するものである。敵は会議からσｉ＝Ｈ（Ｔｓ）ｘｉを受信することになる。しかし、敵はパスワードＰｗを知らないので、Ｐｗの推測を繰り返してσを構築しなければならない。Ｐｗの推測が失敗するたびに、敵はＤＴ＊ｆを失う。ＤＴ＝１／２５とすると、パスワードＰｗが２桁の数字の‘ＰＩＮ’で構成されている場合、正しく推測するためには平均で５０回のトライアルが必要であり、それは２ｆ（アカウント内の資金の２倍）の支出を必要とする。従って、経済的な観点から、この攻撃は実行可能でない。
【０１５３】
他の実施形態において、要求者は、資金提供トランザクションによってロックされたデジタル資産を転送することについて、例えば、要求者が保有する秘密鍵ｓでの署名という‘通常の方法’によってなど、他のオプションを指定してもよい。この場合、要求者は、パスワードを使用するよりも安価であるため（会議に支払う手数料を必要としないため）、通常の方法を用いて行うことを好むかもしれない。この状況では、要求者が選択したパスワードに基づく支出前トランザクション及び支出トランザクションについてのトランザクション処理は、要求者が秘密鍵ｓを紛失した場合にのみ使用されてもよい。
【０１５４】
更なる他の実施形態において、ここに記載される１つ以上のトランザクションは、トランザクションのそれぞれの署名の検証が成功か否かにかかわらず、ブロックチェーン上での保管のためにマイニングされることができる。
【０１５５】
上述の例は、特定のプルーフ・オブ・ワークブロックチェーンネットワーク（例えば、ビットコインブロックチェーンネットワークなど）を参照しているが、ここに記載される方法はまた、他のタイプのプルーフ・オブ・ワークブロックチェーンネットワーク及び場合により他のプルーフ・オブ・ステークブロックチェーンネットワークと共に使用されてもよい。
【０１５６】
上述の方法は、概して、ノードで実行されるものとして説明されているが、方法の特徴は、他のノードとの協働を当てにしており、他の場所で実行されてもよい。
【０１５７】
なお、上述の実施形態は、本発明を限定するものではなく、例示するものであり、当業者は、添付の請求項によって規定される本発明の範囲から逸脱することなく、数多くの代わりの実施形態を設計することができる。請求項において、括弧内に置かれた如何なる符号も、請求項を限定するものと解釈されるべきでない。用語“有している”及び“有する”並びにこれらに類するものは、いずれかの請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を除外するものではない。本明細書において、“有する”は“含む又はからなる”を意味し、“有している”は“含んでいる又はからなっている”を意味する。単数形での要素の参照は、それらの要素の複数形での参照を除外するものではなく、その逆もまた然りである。本発明は、幾つかの別個の要素を有するハードウェアによって、また、適切にプログラムされたコンピュータによって実装され得る。幾つかの手段を列挙するデバイスクレームにおいて、それらの手段のうちの幾つかが、同一のハードウェアアイテムによって具現化されてもよい。特定の複数の手段が相互に異なる従属請求項に記載されているという単なる事実は、それらの手段の組み合わせが有利に使用され得ないということを指し示すものではない。
【図１Ａ】
2021507564.tif 000003
【図１Ｂ】
2021507564.tif 000004
【図２】
2021507564.tif 000005
【図３】
2021507564.tif 000006
【図４】
2021507564.tif 000007
【図５Ａ】
2021507564.tif 000008
【図５Ｂ】
2021507564.tif 000009
【図５Ｃ】
2021507564.tif 000010
【図５Ｄ】
2021507564.tif 000011
【図６】
2021507564.tif 000012
【図７Ａ】
2021507564.tif 000013
【図７Ｂ】
2021507564.tif 000014
【図７Ｃ】
2021507564.tif 000015
【図７Ｄ】
2021507564.tif 000016
【図８Ａ】
2021507564.tif 000017
【図８Ｂ】
2021507564.tif 000018
【国際調査報告】
2021507564.tif 000019
2021507564.tif 000020
2021507564.tif 000021