JP7208930B2 - 制御された暗号化秘密鍵の開放 - Google Patents

制御された暗号化秘密鍵の開放 Download PDF

Info

Publication number
JP7208930B2
JP7208930B2 JP2019569999A JP2019569999A JP7208930B2 JP 7208930 B2 JP7208930 B2 JP 7208930B2 JP 2019569999 A JP2019569999 A JP 2019569999A JP 2019569999 A JP2019569999 A JP 2019569999A JP 7208930 B2 JP7208930 B2 JP 7208930B2
Authority
JP
Japan
Prior art keywords
group
nodes
key
secret
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019569999A
Other languages
English (en)
Other versions
JP2020526069A (ja
Inventor
フレッチャー,ジョン
トレヴェサン,トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
nChain Holdings Ltd
Original Assignee
nChain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by nChain Holdings Ltd filed Critical nChain Holdings Ltd
Publication of JP2020526069A publication Critical patent/JP2020526069A/ja
Priority to JP2023000763A priority Critical patent/JP2023036959A/ja
Application granted granted Critical
Publication of JP7208930B2 publication Critical patent/JP7208930B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

本発明は、一般に、データセキュリティ及び暗号技術に関し、より具体的には、データ又はトークンをロックするために使用される公開鍵に関連付けられる秘密鍵の制御された開放のための方法及びシステムに関する。本発明は、限定されるものではないが、イベントの発生後にのみ、データが(アクセス及び/又は転送のために)アンロックされることを可能にするようデータをセキュアにすることに特に適している。
本明細書において、「ブロックチェーン」という用語は、電子的なコンピュータベースの分散型台帳のすべての形式を包含するように使用される。これらは、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳及びそれらの変形を含むがこれらに限定されない。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され、開発されている。便宜上及び説明を目的として、本明細書ではビットコインに言及することがあるが、本発明はビットコインのブロックチェーンとともに使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータベースの非集中型の分散システムとして実装されるコンセンサス(合意)ベースの電子台帳であり、ブロックはトランザクション及び他の情報により構成される。ビットコインの場合、各トランザクションは、参加者間でデジタル資産の制御の転送をエンコードするデータ構造であり、少なくとも1つの入力と少なくとも1つの出力を含む。各ブロックは前のブロックのハッシュを含み、ブロックはともにチェーンになって、その発端からブロックチェーンに書き込まれているすべてのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、その入力及び出力に埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションの出力がどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトはスタックベースのスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。いくつかのネットワークノードはマイナー(minor)として機能し、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。例えばノードにインストールされたソフトウェアクライアントは、未使用トランザクション(UTXO)を参照するトランザクションに対して、この検証作業を実行する。検証は、そのロック及びアンロック・スクリプトを実行することによって行われてよい。ロック及びアンロック・スクリプトの実行が真(TRUE)と評価した場合、特定の他の条件が満たされると、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれてよい。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)該トランザクションを受信したノードにより検証され、トランザクションが検証された場合は、そのノードが該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーによって構築された新しいブロックに追加され、iii)マイニングされる、すなわち、過去のトランザクションの公開台帳に追加されなければならない。トランザクションを実質的に不可逆にする十分な数のブロックがブロックチェーンに追加されたときに、トランザクションは確認されるとみなされる。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインに基づく暗号通貨セキュリティシステムとブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンを、暗号通貨建ての支払いだけに限定されない自動タスク及びプロセスのために使用することができれば、非常に有利であろう。このようなソリューションは、それらの用途においてより多様でありながら、ブロックチェーンの利点(例えば永久的、イベントの耐タンパレコード、分散プロセス等)を利用することができるであろう。
したがって、ブロックチェーン技術を通して付加的なプロセス及び機能を提供するための改良された技術が必要とされている。
本発明は、添付の特許請求の範囲において定義される。
したがって、本発明によれば、添付の特許請求の範囲で定義される方法が提供される。
以下により詳細に説明されるように、リクエスタノードは、複数の他のノードがグループを形成することを要求するモニタリング要求を発行してよい。モニタリング要求は、ノードがグループを形成してイベントをモニタリングするための要求であってよい。グループのノードは、互いに協力して、ディーラー・フリー秘密共有プロトコル(dealer-free secret sharing protocol)を2回実行して、2つの共有秘密(shared secrets)、すなわち暗号化秘密鍵と、グループ・ステーク秘密鍵(group-stake private key)を生成するように構成されてよい。それらのノードは、これらの秘密鍵に関連する秘密鍵共有を保持してよく、秘密鍵共有は、関連する秘密鍵共有の少なくとも閾値から完全な秘密鍵を再構成することができる閾値スキームに従って取得され得る。グループのノードは、互いに協力して、暗号化公開鍵を生成して、リクエスタノード等の他のノードに提供してもよい。次いで、グループのノードは、イベントをモニタリングし、イベントが検出されると、暗号化秘密鍵に関連付けられる秘密鍵共有を開放する。イベントは、予め決定されたイベントであっても、指定されたイベントであってもよい。
有利には、暗号化公開鍵を有するノードは、データ又はトークンに「イベントロック」を追加して、イベントが発生するまで、そのようなデータ又はトークンに対するアクセス又は制御を制限してもよい。したがって、本明細書で説明される技術を使用して、ネットワークリソース又は他のデジタル資産/リソースのようなデータ又はトークンをセキュアにし、イベントが発生したときにのみそのようなデータ又はトークンがアンロックされ得るようにすることができる。一例として、暗号化秘密鍵は、イベントが検出されたときに関連する秘密鍵共有の閾値が開放された後にのみ取得され得るので、暗号化公開鍵で暗号化されたデータは、イベントが発生した後にのみ復号され得る。そのようなセキュリティ技術は、例えばエステート・プランニングにおいて(遺言者が死亡した後にのみ遺言の内容を決定することができるようにする)、商業的セキュリティのために又は機密情報に対する禁制(embargoes)及び「デッドマン・スイッチ」を公表するためにのみ使用することができる。そのようなデータセキュリティ技術は、本明細書で記載されているもの以外に他の適用にも有用であり得ることが理解されるであろう。
したがって、本発明によれば、コンピュータ実施方法が提供され得る。コンピュータ実施方法において:ノードのグループに関連付けられる暗号化公開鍵を記憶するステップであって、グループ内の各ノードは、秘密鍵共有に関連付けられ、該秘密鍵共有は、暗号化公開鍵に関連付けられる暗号化秘密鍵が秘密鍵共有の少なくとも閾値から決定されることを可能にするように、グループの閾値秘密鍵再構成スキーム(threshold private key reconstruction scheme)に関連付けられる、ステップと;グループの複数のノードによって提供される複数のインジケータを反復的に取得するステップであって、インジケータの各々は、暗号化秘密鍵共有又はダミー信号のうちの一方を表す、ステップと;i)インジケータのサブセットを選択することと、ii)可能性のある共有秘密を計算することと、iii)各可能性のある共有秘密を暗号化公開鍵に対して評価して、可能性のある共有秘密が暗号化秘密鍵であるかどうかを判断することと、を反復することによって、暗号化秘密鍵を識別するステップとを含む。
いくつかの実装では、コンピュータ実施方法は、可能性のある共有秘密が暗号化秘密鍵であると判断されたとき、暗号化公開鍵で以前に暗号化されたデータを復号するステップを含んでもよい。
いくつかの実装では、コンピュータ実施方法は、可能性のある共有秘密が暗号化秘密鍵であると判断されたとき、暗号化秘密鍵に基づいて署名を生成するステップと、署名をトランザクションのアンロック・スクリプトに追加して、暗号化公開鍵で以前に妨害(encumbered)されたトークンをアンロックするステップとを含んでもよい。
いくつかの実装では、コンピュータ実施方法は、定義された機会ウィンドウ(window of opportunity)内で暗号化秘密鍵共有を表すインジケータを提供したグループのノードを識別するステップと、1つ以上のデジタル資産を、識別されたノードのうちの1つ以上に転送するために、トランザクションについての有効な署名を協調的に生成するステップとを含んでよい。1つ以上のデジタル資産を、識別されたノードのうちの1つ以上に転送するために、トランザクションについての有効な署名を協調的に生成するステップは、イベントに関連付けられるモニタリング要求を発行したリクエスタによって提供された1つ以上のトークンを配布するために、有効な署名を協調的に生成するステップを含んでよい。
いくつかの実装形態では、コンピュータ実施方法は、暗号化秘密鍵共有のうちの1つを生成するステップと、グループの複数のノードにインジケータを反復的に提供するステップと、を更に備え、インジケータは、所定のイベントが発生していないときにはダミー信号と、所定のイベントを検出したことに応答して暗号化秘密鍵共有を含む。いくつかの実装形態では、ダミー信号は、秘密鍵共有と同じ長さであってよい。いくつかの実装形態では、コンピュータ実施方法は、ダミー信号をランダムに生成することを含んでよい。
いくつかの実装では、コンピュータ実施方法は、グループ・ステーク秘密鍵共有を生成し、グループの他のノードと協力してグループ・ステーク公開鍵を生成するステップであって、グループ・ステーク秘密鍵共有は、複数のグループ・ステーク秘密鍵共有の少なくとも閾値を制御するグループのノードのサブセットが、グループの代わりに有効な署名を生成することを可能にする、ステップと、グループ・ステーク公開鍵を使用してトークンを妨害するステップとを含んでよい。いくつかの実装では、グループの複数のノードに提供されるインジケータは、グループ・ステーク秘密鍵で生成される署名を含む。
いくつかの実装では、コンピュータ実施方法は、モニタリング要求を検出するステップと、モニタリング要求を検出したことに応答して、グループに加入する要求を送信し、グループ内の他のノードとのセキュアな通信チャネルを確立するステップとを含んでよい。
いくつかの実装では、グループ・ステーク秘密鍵共有は、閾値署名スキームの閾値を用いてディーラー・フリー秘密共有プロトコルを実行することによって生成される。閾値はモニタリング要求で定義されてよい。
いくつかの実装では、コンピュータ実施方法は、グループのノードのうちの1つのノードが、複数のインジケータ内の関連する秘密鍵共有を提供することによって、プロトコルに違反したと判断するステップと、グループのノードのうちの1つのノードがプロトコルに違反したと判断したことに応答して、グループの他のノードと協力して、グループのノードのうちの1つのノードのステークを没収するステップとを含んでよい。
本発明によれば、電子デバイスが提供されてもよい。電子デバイスは、インタフェースデバイスと、インタフェースデバイスに結合されるプロセッサと、プロセッサに結合されるメモリとを含むことができる。メモリは、実行されると、本明細書で説明される方法を実行するようにプロセッサを構成するコンピュータ実行可能命令をその上に記憶することができる。
本発明によれば、コンピュータ読取可能記憶媒体を提供することができる。コンピュータ読取可能記憶媒体は、実行されると、本明細書で説明される方法を実行するようにプロセッサを構成するコンピュータ実行可能命令を含んでもよい。
本発明のこれら及び他の態様は、本明細書で説明される実施形態から明らかであり、それに関連して解明されるであろう。次に、本発明の一実施形態を、単なる例示として、添付の図面を参照して説明する。
例示的なブロックチェーン・ネットワークのブロック図である。 ブロックチェーン・ネットワーク内のノードとして機能し得る例示的な電子デバイスのブロック図である。 イベントロック暗号化を要求し使用するための例示的な方法のフローチャートである。 イベントロック暗号化スキームにおけるグループ内のノードとして参加するための例示的な方法のフローチャートである。 暗号化秘密鍵を識別する例示的な方法のフローチャートである。 暗号化秘密鍵を識別する方法における真の信号の分布の例を示す図である。
ブロックチェーン・ネットワーク
まず、ブロックチェーンに関連付けられる例示のブロックチェーン・ネットワーク100をブロック図の形で図示する図1を参照する。ブロックチェーン・ネットワークは、公開ブロックチェーン・ネットワークであってよい。公開ブロックチェーン・ネットワークは、招待なしに又は他のメンバーからの合意なしに、誰でも参加することができるピアツーピアのオープンメンバーシップネットワークである。ブロックチェーン・ネットワーク100が動作するブロックチェーン・プロトコルのインスタンスを実行する分散型電子デバイスは、ブロックチェーン・ネットワーク100に参加することができる。そのような分散型電子デバイスをノード102と称することができる。ブロックチェーン・プロトコルは、例えばビットコイン・プロトコルであってもよい。
ブロックチェーン・プロトコルを実行し、ブロックチェーン・ネットワーク100のノード102を形成する電子デバイスは、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォンのようなモバイルデバイス、スマートウォッチのようなウェアラブルコンピュータ又は他の電子デバイスといったコンピュータを含む、様々なタイプのものであってよい。
ブロックチェーン・ネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合される。このような通信は、ブロックチェーン・ネットワークに関連付けられるプロトコルに従う。例えばブロックチェーンがビットコイン・ブロックチェーンである場合、ビットコイン・プロトコルが使用されてよい。
ノード102は、ブロックチェーン上のすべてのトランザクションのグローバル台帳を維持する。したがって、グローバル台帳は分散型台帳である。各ノード102は、グローバル台帳の完全なコピー又は部分的なコピーを記憶することができる。プルーフ・オブ・ワークによって保護されるブロックチェーンの場合、グローバル台帳に影響するノード102によるトランザクションは、グローバル台帳の有効性が維持されるように、他のノード102によって検証される。ブロックチェーンがプルーフ・オブ・ワークベースのブロックチェーンであるとき、ブロックはまた、ブロックとともに提示されるプルーフ・オブ・ワークをチェックすることによって検証される。
ノード102の少なくとも一部は、ブロックチェーン・ネットワーク100のマイナー104として動作する。図1のブロックチェーン・ネットワーク100は、ブロックチェーン上のトランザクションを容易にするために、マイナー104が高価な計算を実行するプルーフ・オブ・ワークブロックチェーンであってよい。例えばプルーフ・オブ・ワーク・ブロックチェーンは、マイナーが暗号問題を解決することを必要とすることがある。ビットコインでは、マイナー104は、ブロックヘッダが、SHA-256を用いて、現在の難しさによって定義される値よりも小さい数字にハッシュするようなナンス(nonce)を見つける。プルーフ・オブ・ワーク・アルゴリズムに必要なハッシュパワーは、トランザクションが、その上にある特定の数のブロックがマイニングされた後、実際に不可逆であると考えられることを意味する。暗号問題を解決するマイナー104は、ブロックチェーンのための新たなブロックを作成し、その新たなブロックを他のノード102にブロードキャストする。他のノード102は、マイナー104が実際に暗号問題を解決し、したがって、ブロックがブロックチェーンに追加されるべきであることを受け入れる前に、十分なプルーフ・オブ・ワークを実証したことを検証する。ブロックは、ノード102のコンセンサスによってブロックチェーン(すなわち、分散型グローバル台帳)に追加される。
プルーフ・オブ・ワークに代わるものとして、ブロックチェーン・ネットワーク100は、代わりに、プルーフ・オブ・ステーク・ブロックチェーン・ネットワークであってもよい。プルーフ・オブ・ステーク・ブロックチェーン・ネットワークは、コンセンサスを達成するための代替メカニズムを提供する。プルーフ・オブ・ステーク・ブロックチェーン・ネットワークでは、ブロックチェーンは、プルーフ・オブ・ワークではなくプルーフ・オブ・ステークによって保護される。プルーフ・オブ・ステークの下では、マイナーはデジタル資産の保証金を預け、ブロックをマイニングするノードとして選ばれる確率は、保証金として提供されたデジタル資産の量に比例する。プルーフ・オブ・ステーク・ブロックチェーンシステムは、プルーフ・オブ・ワーク・ブロックチェーン上でのマイニングに必要な計算費用とエネルギーを回避するために使用することができる。さらに、プルーフ・オブ・ステーク・ブロックチェーンは、プルーフ・オブ・ワーク・ブロックチェーンよりも、より高頻度かつより規則的なブロックの作成を可能にすることができる。
マイナー104によって作成されたブロックは、ノード102によってブロックチェーンにブロードキャストされていたトランザクションを含む。例えばブロックは、ノード102のうちの1つに関連付けられるアドレスから、ノード102のうちの別のノードに関連付けられるアドレスへのトランザクションを含んでもよい。このようにして、ブロックは、あるアドレスから別のアドレスへのトランザクションのレコードとして機能する。トランザクションをブロックに含めることを要求した当事者は、彼らの公開鍵に対応する秘密鍵を使用して要求に署名することによって、彼らが、転送を開始する(例えばビットコインの場合は、ビットコインを使う)権限を与えられていることを証明する。要求が有効に署名されている場合にのみ、転送をブロックに追加することができる。
ビットコインの場合、公開鍵とアドレスの間に1対1の対応がある。すなわち、各公開鍵は、単一のアドレスに関連付けられる。したがって、本明細書において、公開鍵との間でデジタル資産を転送すること(例えば公開鍵に支払うことと、その公開鍵に関連付けられるアドレスとの間でデジタル資産を転送することへの言及は共通の操作を指す。
ブロックチェーン・ネットワーク内のノード102のいくつかは、マイナーとして動作しないことがあり、代わりに、検証ノードとして参加することがある。トランザクションの検証には、署名のチェック、有効なUTXOへの参照の確認等が含まれ得る。
図1の例は、6つのノード102を含み、そのうちの2つはマイナー104として参加している。実際には、ノード102又はマイナー104の数は異なってよい。多くのブロックチェーン・ネットワークでは、ノード102及びマイナー104の数は、図1に図示される数よりもはるかに大きい可能性がある。
以下に説明されるように、種々のノード102が協力してノードのグループ110を形成することができる。図示される例では、3つのノード102がグループ110に参加しているように示されている。しかしながら、グループ110のメンバーの実際の数は、はるかに多い可能性がある。
グループ110は、グループ110に関連付けられるプールに対する十分なステーク(掛け金)の提示により、任意のノード102が参加可能することができる、オープンメンバーシップ・グループであってよい。例えばノードは、グループ110に関連付けられるアカウントへの(例えばグループ公開アドレス又はグループ・ステーク公開鍵への)ネットワークリソース又はデジタル資産のようなトークンの転送を介して、グループに参加することができる。グループに参加するノード102は、マイニングノードと非マイニングノードの両方を含むブロックチェーン・ネットワーク内の任意のノードであってよい。
グループ110は、イベントの発生に応答して、暗号化公開鍵に対応する暗号化秘密鍵を協力して開放するために使用されてもよい。イベントは、例えばネットワークベースのイベント(例えばブロックチェーン・ネットワーク、インターネット又は他のネットワークで観察可能なイベント)であってよい。イベントは、実世界のイベント(すなわち、ネットワークの外部で最初に発生したイベントが、例えばネットワーク上で検出可能であるように報告されている可能性がある)であってもよい。
Aノードとして動作する電子デバイス
図2は、ピアツーピア・ブロックチェーン・ネットワーク100(図1)のノード102(図1)として機能し得る例示的な電子デバイス200のコンポーネントを示すブロック図である。例示的な電子デバイス200は、処理デバイスと呼ばれることもある。電子デバイスは、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォンのようなモバイルデバイス、スマートウォッチのようなウェアラブルコンピュータ又は他のタイプの形態を含む様々な形態をとることができる。
電子デバイス200は、プロセッサ210、メモリ220及びインタフェースデバイス230を含む。これらのコンポーネントは、互いに直接的又は間接的に結合されてよく、互いに通信することができる。例えばプロセッサ210、メモリ220及びインタフェースデバイス230は、バス240を介して互いに通信することができる。メモリ220は、本明細書で説明される機能を実行するための機械読取可能な命令及びデータを含むコンピュータソフトウェアプログラムを記憶する。例えばメモリは、プロセッサ210によって実行されると、電子デバイスに本明細書で説明される方法を実行させるプロセッサ実行可能命令を含んでもよい。プロセッサ実行可能命令は、プロセッサ210によって実行されると、電子デバイスにブロックチェーン・ネットワーク100(図1)に関連付けられるプロトコルを実装させる命令を含んでもよい。例えば命令は、ビットコイン・プロトコルを実装するための命令を含んでもよい。プロセッサ210は、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)又は別のタイプのプロセッサであってもよい。
メモリ220は、ブロックチェーン・ネットワーク100(図1)のグローバル台帳又はその一部を記憶することができる。すなわち、メモリ220は、ブロックチェーンのすべてのブロック又はブロックの一部、例えば最新のブロック又はいくつかのブロック内の情報の一部を記憶することができる。
メモリ220は、図2では単一のブロックで示されているが、実際には、電子デバイス200は、複数のメモリコンポーネントを含んでもよい。メモリコンポーネントは、例えばRAM、HDD、SSD、フラッシュドライブ等を含む種々のタイプのものであってもよい。異なるタイプのメモリは、異なる目的に適合し得る。さらに、メモリ220は、プロセッサ210とは別に示されているが、プロセッサ210が、埋め込みメモリを含んでもよい。
電子デバイス200は、ブロックチェーン・ネットワーク100(図1)内のノード102(図1)として機能する。いくつかのノードは、グループ110(図1)に加わるか、他の方法で参加することができる。グループ110は、トークン・ベアラのグループが、ブロックチェーン・ネットワーク100(図1)によってサポートされるトークン又は他のデジタル資産をプールするときに形成される。グループは、例えばモニタリング要求を満たすために協力して機能することができる。より具体的には、グループは、モニタリング要求に関連付けられるイベントが発生したと判断されたときに、暗号化秘密鍵を効果的に開放するように構成されてよい。暗号化公開鍵は、イベントが発生する前に、データを暗号化するため又は1つ以上のトークンを妨害するために使用される可能性がある。したがって、イベントが発生する前はデータ又はトークンのアンロックを防止するが、イベントが発生した後はデータ又はトークンのアンロックを許可するように暗号化ロックがデータ又はトークンに配置されるよう、イベントロックを提供することができる。
いくつかのノードは、グループ110のメンバーとしてブロックチェーン・ネットワークに参加することができる。他のノードはグループメンバーとして参加しないことがある。そのようなノードは、代わりに、1つ以上のマイナー又は検証者として機能し得るか、あるいはブロックチェーン・ネットワークに関連付けられる他の機能を提供し得る。
以下により詳細に説明されるように、グループ110に加わっているノードは、モニタリングノードとして機能してよく、イベントの発生をモニタリングしてよい。イベントが発生したとノードが判断すると、該ノードは、暗号化公開鍵共有に関連する暗号化秘密鍵共有を開放する。グループ110内のノードの各々は、別個の暗号化秘密鍵共有に関連付けられ、そのような鍵共有の閾値数は、暗号化公開鍵に対応する暗号化秘密鍵を再構成するために使用されてよい。したがって、十分な数のノードがそのそれぞれの暗号化秘密鍵共有を開放したとき、暗号化秘密鍵を取得することができる。
各モニタリングノードの独立性を維持するために、モニタリングノードは、ある間隔で、インジケータを他のモニタリングノード(すなわち、グループの他のノード)に反復的に提供してよく、インジケータは、暗号化秘密鍵共有又はダミー信号のうちの一方を表してよい。より詳細には、ノードは、該ノードが、イベントが発生したと判断するまで、各信号間隔でダミー信号を含んでよい。イベントが発生したと判断されたとき、ノードは、暗号化秘密鍵共有を表すインジケータを他のノードに提供することができる。ダミー信号は、他のノードが、単一のインジケータから、単独ではそのインジケータがダミー信号を表すのか暗号化秘密鍵共有を表すのかを判断することができないように、暗号化秘密鍵共有とフォーマットが類似するよう(例えば秘密鍵共有と同じ長さであるよう)構成されてよい。しかしながら、モニタリングノードは、暗号化公開鍵に対応する暗号化秘密鍵をインジケータから決定することができるかどうかを継続的に特定しようと試みる。例えばモニタリングノードは、インジケータのサブセットを繰り返し選択することができ、そのインジケータのサブセットから可能性のある共有秘密を計算することができる。次に、モニタリングノードは、暗号化公開鍵に対して可能性のある共有秘密鍵を評価して、該可能性のある共有秘密鍵が実際には暗号化秘密鍵であるかどうかを判断することができる。すなわち、モニタリングノードによって提供されたインジケータに基づいて探索を実行して、暗号化秘密鍵を識別することができる。暗号化秘密鍵共有の閾値数が提供されているとき、暗号化秘密鍵共有の生成に使用される閾値スキームにより、暗号化秘密鍵を再構成することが可能である。
イベントロック暗号化の要求
次に、図3を参照すると、イベントロック暗号化を要求して使用するための方法300が図示されている。方法300は、リクエスタノード(「リクエスタ」)によって実行されてよく、リクエスタノードは、ブロックチェーン・ネットワークのノード102であってよい。このようなノード102は、メモリ220(図2)に記憶される、方法300を実装するコンピュータ実行可能命令を含んでもよい。このような命令は、プロセッサ210(図2)によって実行されると、(図2を参照して説明したタイプの電子デバイス200のような)ノード102に方法300を実行させる。
動作302において、ノード102は、モニタリング要求を発行する。モニタリング要求は、ブロックチェーン・ネットワークの他のノード102にイベントロック暗号化を提供するよう求める要求である。すなわち、モニタリング要求は、イベントが発生した後にのみ、秘密鍵(暗号化秘密鍵と呼ばれることもある)を開放するように他のノード102に求める要求である。以下により詳細に説明されるように、その秘密鍵に対応する公開鍵(暗号化公開鍵と呼ばれることもある)は、イベントが発生する前にグループによって開放されて、そのイベントの前にその公開鍵がデータを暗号化又はトークンを妨害するために使用されることを可能にする。したがって、モニタリング要求は、デジタル資産又はネットワークリソースの保護を促進するための要求である。
モニタリング要求は、ブロックチェーンから離れて(すなわち、「オフチェーン」)発行されてもよい。例えばモニタリング要求は、インターネットを介してアクセス可能なウェブサーバ上で、あるいはプライベートネットワークのような他のネットワークを介してアクセス可能な他のネットワークサーバ上で発行されてもよい。例として、モニタリング要求は、インターネットを介してアクセス可能なオープンフォーラムに格納されてよい。
モニタリング要求は、該要求に関連付けられる1つ以上のパラメータを含んでもよい。一例として、モニタリング要求は、要求に関連付けられるイベントであって、モニタリング要求を満たすグループのノードがそれについてモニタリングすることになるイベントを詳述してよい。イベントは、例えばネットワークベースのイベント(例えばブロックチェーン・ネットワーク、インターネット又は他のネットワークで観察可能なイベント)であってもよい。イベントは、実世界のイベントであってもよい(すなわち、ネットワークの外部で最初に発生したイベントが、例えばネットワーク上で検出可能であるように報告されている可能性がある)。一例として、このイベントは、モニタリング要求で識別された人が死亡(pass away)したときに発生すると言うことができる。イベントは、任意のタイプのイベントとすることができ、イベントの発生のモニタリング及び/又は検出を可能にするよう何らかの方法で指定され又は事前に決定される。このようなイベントは、例えばオンラインニュースソース、ソーシャルメディア又は死亡記事(obituaries)又は他のタイプのデータソースを自動的にモニタリングするように構成されたノードによって検出され得る。イベントは、ソースからの入力信号によって検出されてもよい。他のタイプのイベントも指定されてよい。
モニタリング要求はまた、イベント記述のハッシュを含むか又は関連付けられてよい。ハッシュは、例えばイベント記述のSHA-256ハッシュであってよい。更なる例として、モニタリング要求は、モニタリング要求を満たすグループに提供されるトークンの量を指定することができる。トークンは、該トークンによって表されるデジタル資産のようなネットワークリソースを制御することができる。トークンが、ブロックチェーン・ネットワークのようなネットワークのあるノードから別のノードに転送されるとき、ネットワークリソースの制御は、受信ノードに転送される。したがって、モニタリング要求は、モニタリング要求の完了のために要求者によって提供されるネットワークリソース(例えばデジタル資産)の量を指定することができる。
以下でより詳細に説明されるように、ノードは、1つ以上のトークンをグループに転送することによって、モニタリング要求の遂行に関与するグループのメンバーになることができる。トークンは、グループプロトコルへの不適合に対するペナルティとして、グループの他のノードの閾値によって没収される可能性のある「ステーク(掛け金)」として機能する。モニタリング要求は、グループに参加するために必要とされる「ステーク」の量を指定することができる。すなわち、モニタリング要求は、グループに加わって実質的に「モニタリングノード」になるために必要とされる、ステークを指定することができる。「モニタリングノード」は、モニタリング要求によって定義されたイベントをモニタリングすることによって、モニタリング要求を満たすことを引き受けるノードである。
モニタリング要求は、グループのサイズも定義してよい。すなわち、モニタリング要求は、グループに含まれるべきノードの数を指定してよい。また、モニタリング要求は、暗号化秘密鍵の開放及び/又はグループのノード間のシグナリングの間隔に関連付けられる閾値を定義してもよい。例えば間隔は、グループのノード間に形成されるイベントチェーン上のブロック生成に関連付けられる間隔であってもよい。また、モニタリング要求は、イベントが発生したことを示す信号を提示する機会ウィンドウの閾値を定義してもよい。以下でより詳細に説明されるように、機会ウィンドウの閾値は、あるインジケータで提示された暗号化秘密鍵共有が、適切又は正確に提出されたとみなされる時間ウィンドウを制御することができる。この機会の前後で共有される暗号化秘密鍵共有は、ノードによって無視される可能性がある。例えば機会ウィンドウの前後に暗号化秘密鍵共有を提示したノードは、要求の完了と引き換えにリクエスタによって提供されるネットワークリソースの共有に適格でない可能性がある。さらに、探索スペースのサイズを小さくするために、機会ウィンドウの前後に提示される暗号化秘密鍵共有は、暗号化秘密鍵の探索中に除外される可能性がある。
したがって、モニタリング要求は:1)イベント記述;2)イベント記述のハッシュ;3)参加に必要なステークの量;4)グループのサイズ;5)閾値スキームに関連付けられる閾値;6)シグナリング間隔;7)機会ウィンドウの閾値;又は8)要求の完了のために提供されるネットワークリソースの量、のうちのいずれか1つ又は組合せを含む、種々のデータを含み得る。
動作304において、リクエスタは、複数のノードによるグループ形成を調整することができる。より詳細には、リクエスタは、動作302においてモニタリング要求を発行したことに応答して、ブロックチェーン・ネットワーク内の複数のノードから参加要求を受け取ることができる。参加要求は、モニタリング要求を完了するよう引き受けるグループに追加される要求である。各参加要求は、参加要求に関連付けられるノードがグループに参加するために「ステーク」として提供することを意図しているトークンや他のデジタル資産等のネットワークリソースを参照することができる。例えば参加要求は、それらのステークを含むUTXOのトランザクション識別子を指定してよい。
有効な参加要求が十分な数のノードから受信されると(例えば参加要求の数がモニタリング要求で指定されたグループのサイズに等しい場合、参加要求の数は十分であると判断されてよく、参加要求は、十分なトークンを「ステーク」として参照する場合に有効であると判断されてよい)、参加要求を提示したノードは、互いの間にセキュアな通信チャネルを確立し、ディーラー・フリー秘密共有プロトコルを2回まとめて実行して、2つの共有秘密鍵、すなわち暗号化秘密鍵とグループ・ステーク秘密鍵を生成する。各ノードは、2つの秘密鍵共有、すなわち暗号化秘密鍵共有とグループ・ステーク秘密鍵共有を保持する。これらの秘密鍵共有は両方とも、グループ110に関連付けられる秘密鍵の共有を表すという点でグループ秘密鍵共有である。しかしながら、暗号化秘密鍵及びグループ・ステーク秘密鍵は、異なる目的のために使用されてもよい。後述するように、グループ・ステーク秘密鍵は、グループのトークン又は他のデジタル資産を妨害するグループ・ステーク公開鍵に関連付けられる。そのようなトークンは、グループに参加するためにグループの各メンバーが寄与する「ステーク」を含んでよい。暗号化秘密鍵は、暗号化公開鍵と関連付けられ、暗号化公開鍵は、データを暗号化するかイベントロックでトークンを妨害するために使用されてよい。より具体的には、グループのノードは、イベントが発生した後に暗号化秘密鍵を開放するように協力するので、暗号化公開鍵を使用して、イベント発生後まで、データを暗号化するかトークン又は他のデジタル資産を妨害して、そのようなデータ/トークンに対する制御を制限することができる。
暗号化秘密鍵共有、暗号化公開鍵、グループ・ステーク秘密鍵共有及びグループ・ステーク公開鍵を取得するため技術を、以下で図4に関連して説明する。
動作304の間、リクエスタは、暗号化公開鍵及びグループ・ステーク公開鍵をグループのうちの1つ以上のノードから(すなわち、ノードのうち、有効な参加要求を提示し、暗号化公開鍵及びグループ・ステーク公開鍵の生成に関与した1つ以上のノードから)受け取る。次に、リクエスタは、各参加要求で参照されたトークン又は他のデジタル資産(すなわち、「ステーク」)と、要求の完了のためにリクエスタによって提供されたトークン又は他のデジタル資産も入力として含むトランザクションを作成する。トランザクションは、これらのトークンをアンロックするためにグループ・ステーク公開鍵に有効な署名が必要とされるように、グループ・ステーク公開鍵でこれらのトークン又は他のデジタル資産を妨害する。リクエスタは、トランザクションに署名して、要求の完了のためにリクエスタによって提供されるトークン又は他のデジタル資産に対する過去の妨害(past encumbrance)を除去してよく、各ノードがそれぞれのノードの「ステーク」に対して以前に配置された過去の妨害を除去するために署名を追加することができるように、トランザクションをグループのノードに提供してよい。
任意に、リクエスタは、トランザクション内のメタデータとして暗号化公開鍵を含んでよく、それにより、トランザクションがブロックチェーン・ネットワークのブロックチェーンに追加されるとき、暗号化公開鍵は、ブロックチェーン・ネットワークの他のノードに可視であり、そのようなノードにより、データ又はトークンにイベントロックを配置するために使用されてよい。また、リクエスタは任意に、イベント記述のハッシュ(又は別の識別子)をメタデータとしてトランザクションに追加して、該トランザクションをモニタリング要求に関連付けてもよい。
トランザクションは、グループの各ノードによって(すなわち、有効な参加要求を提示し、暗号化公開鍵及びグループ・ステーク公開鍵の生成に関与したノードのうちの1つ以上の各々によって)署名され、ノードにうちの1つによってブロックチェーン・ネットワークにブロードキャストされ、それによりブロックチェーンに追加され得る(ただし、十分なマイニング料(mining fees)が含まれ、トランザクションが他の方法で検証することを条件とする)。
動作306において、リクエスタ(又は暗号化公開鍵を取得する他のノード)は、暗号化公開鍵を使用して、データを暗号化するか、トークン又は他のデジタル資産を妨害する。トークン又は他のデジタル資産は、例えばトークン又は他のデジタル資産を入力として含むトランザクションのロッキング・スクリプトに暗号化公開鍵を配置することによって妨害され得る。ロッキング・スクリプトは、署名が暗号化公開鍵に対して有効であるときにのみロックが除去され得るように、トークン又はその他のデジタル資産をロックする。例えば暗号化秘密鍵を使用して(例えば暗号化秘密鍵を用いた署名の生成により)ロックを除去することができる。
モニタリング要求に関連付けられるイベントは、動作306の後のある時点で発生してよく、リクエスタは、次いで動作308において、グループの1つ以上のノードから暗号化秘密鍵を取得することができる。暗号化秘密鍵は、例えばブロックチェーン・ネットワークを通して取得されてよい。例えばグループが、以下に説明されるような技術を用いて暗号化秘密鍵を再構成した後、暗号化秘密鍵は、ブロックチェーン・ネットワークにブロードキャストされ、ブロックチェーンに追加されるトランザクションに追加され得る。リクエスタ(又は暗号化秘密鍵を要求する他のノード)は、ブロックチェーンをモニタリングし、ブロックチェーンから暗号化秘密鍵を取得することができる。
次に、動作310において、リクエスタ(又は別の当事者)は暗号化秘密鍵を使用して、動作306において暗号化されたデータを復号し、あるいはトークン又は他のデジタル資産上に置かれた妨害を取り除くことができる。すなわち、動作310において、リクエスタは、暗号化秘密鍵を使用して、動作306において暗号化公開鍵でロックされたデータ又はトークンをアンロックすることができる。
グループのノードとして参加
次に、図4を参照すると、イベントロック暗号化スキームにおけるグループ内のノードとして参加するための方法400が示されている。方法400は、ブロックチェーン・ネットワークのノード102によって実行されてよい。方法400によると、ノードは、グループ110内の他のノードと協働する。したがって、ノードは、グループノード又はメンバーと呼ばれ得る。このようなノード102は、メモリ220(図2)に記憶された、方法400を実装するコンピュータ実行可能命令を含んでもよい。このような命令は、プロセッサ210(図2)によって実行されると、(図2を参照して説明したタイプの電子デバイス200のような)ノード102に方法400を実行させる。
動作402において、ノード102は、リクエスタによって発行された可能性のあるモニタリング要求を検出する。モニタリング要求は、図3の方法300の動作302を参照して上述したタイプのものであってよく、ネットワーク上で検出され得る。
動作404において、モニタリング要求を検出したことに応答して、ノード102は、モニタリング要求を発行したリクエスタに参加要求を提供する。すなわち、ノード102は、モニタリング要求を満たすことをタスクとするグループに参加するための要求を送信する。参加要求は、図3の方法300の動作304に関連して上述したようなものであってよい。例えば参加要求は、方法300を実行するノードがグループに参加するために「ステーク」として提供しようとするトークンのような、ネットワークリソースを参照してよい。例えば参加要求は、それらのステークを含むUTXOのトランザクション識別子を指定することができる。
動作406において、ノード102は、参加要求をやはり提示した他のノードと協力して、秘密鍵共有及び対応する公開鍵を取得する。より詳細には、ノード102は、参加要求を提示した他のノードと協力する。グループメンバーであるこれらのノードは、(例えば標準的な公開鍵暗号システム又はDiffie-Hellman鍵交換を使用して)互いにセキュアな通信チャネルを確立する。次いで、ノードは、閾値Ctを用いてディーラー・フリー秘密共有プロトコルを2回まとめて実行して、2つの共有秘密、すなわち暗号化秘密鍵とグループ・ステーク秘密鍵を生成する。閾値Ctは、秘密鍵を再構成し、かつ秘密鍵のそれぞれ1つに対応する公開鍵に対して有効な署名を生成するために必要とされる、鍵共有の数である。閾値Ctは、リクエスタによってモニタリング要求で定義されてよい。
したがって、動作406において、秘密鍵を再構成するために、m-of-n鍵の閾値(ここで、mは閾値、Ct)共有が必要とされるように、複数の参加者間で単一の秘密鍵の配布を可能にする暗号化方法(秘密鍵再構成スキームと呼ばれることがある)が採用されてよい。mより少ない数の鍵共有は秘密鍵を生成することはできず、秘密鍵に対応する公開鍵に対して有効な署名を生成することができない。
動作406で使用される1つの暗号化方法は、シャミア秘密分散法(SSSS:Shamir’s Secret Sharing Scheme)である。シャミア秘密分散法は、t次多項式をt+1ポイントの任意のセットに適合させることができるという概念に基づく。t次多項式f(x)は、定数項(a=f(0))として共有秘密鍵を用いて形成され、残りの係数はランダムに選ばれる。曲線上のnポイントが各ノードに与えられる。(参加者と呼ばれることもある)ノードのうちのm=t+1又はそれ以上がそれらのポイントを結合する場合、次数tの多項式をこれらのポイントに適合させるのに十分な情報が存在し、aは、秘密情報として明らかにされる。このスキームは、任意の閾値を用いて任意の多数の当事者間での単一の秘密鍵の共有を可能にする。
標準SSSSは、信頼できるディーラーが多項式を作成し、秘密共有(これは単一の障害点(single point of failure)であり、したがって信頼できないものではない)を配布させるという要求を除去するために拡張され得る。このディーラー・フリーSSSSでは、各参加者Pが自身のランダムt次多項式f(x)を生成し、次いでf(j)を各々他の参加者Pにセキュアに送信する。次に、各Piは受け取ったポイントをすべて合計し(f(i)+f(i)+・・・+f(i))、共有多項式f(x)におけるポイントPであるそれらの秘密共有を取得するs=f(i)。
秘密共有が作成された後、(参加者が知らない)共有秘密鍵に対応する公開鍵が、次のように計算される(楕円曲線生成器Gを使用):
参加者P(ここで、i=1,...,t+1)は、b×Gとして公開鍵共有を計算し、ここで、bはラグランジアン補間係数(Lagrangian interpolation coefficient)であり、以下のように決定され得る:
Figure 0007208930000001
これらの公開鍵共有(これは、グループ・ステーク秘密鍵に関連付けられる公開鍵共有のためのグループ・ステーク公開鍵共有と呼ばれ得るか、暗号化公開鍵に関連付けられる公開鍵共有のための暗号化公開鍵共有と呼ばれ得る)は、次に、グループの他のノードにブロードキャストされ、共有公開鍵は、t+1共有の合計として計算される:
Figure 0007208930000002
各ノードは、公開鍵共有から共有公開鍵を独立に決定することができる。
上述の暗号化方法は2回実行されてよい。すなわち、1度目は、暗号化秘密鍵共有及び関連する暗号化公開鍵を取得するために実行され、グループ・ステーク秘密鍵共有及び関連するグループ・ステーク公開鍵を取得するために再び実行されてよい。
したがって、動作406において、方法400を実行しているノードは、他のノードと協力して、暗号化公開鍵及び関連する暗号化秘密鍵共有を取得及び格納し、また、グループ・ステーク公開鍵及び関連するグループ・ステーク秘密鍵共有を取得及び格納する。グループ・ステーク秘密鍵共有は、グループ・ステーク秘密鍵共有の少なくとも閾値を制御しているグループのノードのサブセットが、そのグループの代わりに有効な署名を生成することを可能にし、一方、暗号化秘密鍵共有は、暗号化秘密鍵共有の少なくとも閾値を制御しているグループのノードのサブセットが、そのようなノードがイベントを検出したときに暗号化秘密鍵を開放することを可能にする。
この方法400を実行しているノードは、暗号化秘密鍵共有とグループ・ステーク秘密鍵共有を生成し、グループの各ノードは、それぞれのグループ・ステーク秘密鍵共有と暗号化秘密鍵共有との両方に関連付けられる。対応する公開鍵(すなわち、グループ・ステーク公開鍵と暗号化公開鍵)は、ディーラー・フリー秘密共有プロトコルを実行したノードのグループに関連付けられる。秘密鍵共有は、グループの秘密鍵再構成スキームに関連付けられ、秘密鍵を、秘密鍵共有の少なくとも閾値Ctから決定することを可能にする。例えばグループ・ステーク秘密鍵共有は、モニタリング要求で定義され得る閾値(楕円曲線デジタル署名アルゴリズム(ECDSA:Elliptic Curve Digital Signature Algorithm)閾値署名スキーム等の閾値署名スキーム)を用いてディーラー・フリー秘密共有プロトコルを実行することによって生成されてよく、暗号化秘密鍵も同様に暗号化秘密鍵共有に基づいて生成されてよい。
動作406の間、ノードは、グループの他のノードの各々についてのグループ・ステーク公開鍵共有を記憶することができる。これらの公開鍵共有は、以下で説明されるように、イベントチェーン上のブロック署名とコミット署名の署名を検証するためにノードによって使用され得る。
動作408において、暗号化公開鍵及びグループ・ステーク公開鍵(両方とも、グループのノードによって独立に検証されている)がリクエスタに提供される。図3の方法300の動作304に関連して上述したように、リクエスタは、次に、署名のためにトランザクションをグループのノードに提供する。トランザクションは、入力として、各参加要求で参照されるトークン又は他のデジタル資産(すなわち、「ステーク」)と、要求の完了のためにリクエスタによって提供されるトークン又は他のデジタル資産も含む。このトランザクションは、これらのトークン又はその他のデジタル資産を、グループ・ステーク公開鍵で妨害する。リクエスタは、トランザクションに署名して、要求の完了のためにリクエスタによって提供されるトークン又は他のデジタル資産に対する過去の妨害を除去してよく、また、各ノードがそれぞれのノードの「ステーク」に対して以前に置かれた過去の妨害を除去するために署名を追加することができるように、トランザクションをグループのノードに提供してよい。
動作410において、ノードは、トランザクションを受け取り、動作404で提示された参加要求で参照される「ステーク」における過去の妨害を除去する署名を追加することができる。このような署名を追加することによって、ノードは、グループ・ステーク公開鍵を用いてステークとして提供されるトークン又は他のデジタル資産を効果的に妨害する。
グループ内のすべてのノードがそれぞれの署名を追加して、それらの「ステーク」に対する過去の妨害を除去した後、トランザクションはブロックチェーン・ネットワークにブロードキャストされる。
次いで、動作412において、ノードは、グループの他のノードと協力して暗号化秘密鍵を識別し、グループのノードが暗号化秘密鍵を成功裏に識別したとき、それらのノードのうちの少なくとも1つのノードがトランザクションを準備し、それらのノードは協力してトランザクションの署名を生成し(動作414において)、これは、モニタリングプロトコルに従って動作したノードに「ステーク」を返し、要求の完了のためにリクエスタによって提供されたトークン又は他のデジタル資産を、要求の完了を支援した1つ以上のノードに配布する。署名は、それぞれのグループ・ステーク秘密鍵共有を使用して生成され、有効な署名を生成するためにグループ・ステーク秘密鍵共有の少なくとも閾値を使用しなければならない。
動作414において、暗号化秘密鍵がリクエスタに提供される。例えば暗号化秘密鍵をメタデータとしてトランザクションに含めることができる。
次に、暗号化秘密鍵を協調的に識別するための技術が、図5を参照して説明される。図5は、暗号化秘密鍵を識別する方法500を示している。これらの技術は、図4の方法400の動作412において、グループのあるノードによって、グループの他のノードと協力して実行される。例えば図4の方法400を実行するノードが、図5の方法500も実行してよい。
動作502において、イベントチェーンがインスタンス化され得る。イベントチェーンは、一時的なブロックチェーンの一種である。より具体的には、イベントチェーンは、グループ・ステーク公開鍵によって妨害されたステークを有するノードのグループによってマイニングされる、プルーフ・オブ・ステーク・ブロックチェーンである。プルーフ・オブ・ステーク・コンセンサスアルゴリズムが使用されてよく、例えばMicali,Silvioの「Algorand: the efficiency and democratic ledger.」arXiv preprint arXiv:1607.01341(2016)に記載されているタイプのものであってもよい。イベントチェーンは、規則的なブロック生成時間、タイムスタンプされたブロック及び低いフォーキング確率(forking probability)を有し得る。ブロックチェーン上のブロックをマイニングするためのブロック報酬は、イベントチェーンのマイナーに提供されてよく、要求の完了のためにリクエスタによって提供されたトークン又は他のデジタル資産の一部として受け取られてよい。
イベントチェーンは、グループのノードによって、(例えばモニタリング要求で)リクエスタによって指定された間隔でブロックが生成されるように構成されてもよい。この間隔は、リクエスタがイベント後の秘密鍵開放のために望むレイテンシよりも小さくなるように選択されてよい。しかしながら、より小さな間隔は、より大きな間隔よりも多くのリソースを消費する可能性がある。
イベントチェーンは、ジェネシスブロック(genesis block)と呼ばれる最初のブロックでインスタンス化されてよい。ジェネシスブロックは空であり、インスタンス化時間tでタイムスタンプされる。
方法500を実行するノードは、例えば1)イベントのモニタリング及びシグナリングと、2)暗号化秘密鍵の探索を含む、複数の機能を実行することができる。
動作504において、ノードは、モニタリング要求に関連付けられるイベントをモニタリングし、モニタリングに基づいて他のノードにシグナリングする。一例として、ノードは、イベントについて、Webサーバのようなネットワークサーバをモニタリングすることができる。例えばノードは、イベントについて、ニュースウェブサイト、ソーシャルメディアウェブサイト、ブログ又はマイクロブログプラットフォーム等をモニタリングしてよい。ノードは、グループの複数のノードにインジケータを反復的に提供する。すなわち、ノードは、グループの他のノードに繰り返しシグナリングし、このシグナリングはモニタリングの結果に基づいている。より具体的には、ノードは、グループの他のノードにインジケータを反復的に提供する。このインジケータは、コミットメントとも呼ばれることがある。所定のイベント(すなわち、モニタリング要求で指定されたイベント)が発生していないとき、インジケータは、暗号化秘密鍵共有と同じ長さのダミー信号を含む。ダミー信号は、ノードによってランダムに生成されてよく、ダミー信号は、各反復において異なってよい。しかしながら、所定のイベントの検出に応答して、ノードは、該ノードが保持する暗号化秘密鍵共有を含むインジケータを提供する(このタイプのインジケータは、「真の信号」と呼ばれることがある)。「真の信号」は、ノードによって一度だけ提供されるので、他のノードは、単に所与のノードからのインジケータの反復をモニタリングすることによって、イベントが決定されたと推論することができない。
また、インジケータは、ノードのグループ・ステーク公開鍵共有も含んでもよく、方法500を実行するノードによって保持されるグループ・ステーク公開鍵共有に基づいて署名されてもよい。したがって、インジケータがグループの複数のノードに提供されるとき、それは、グループ・ステーク秘密鍵で生成された署名を含む。
ノードは、動作504において、イベントチェーン上のブロック内にインジケータを提供することによって、モニタリングに基づいて他のノードにシグナリングする。各ブロックはタイムスタンプされる。また、グループの他のノードは、(方法500の動作504に類似する)それら自身のモニタリング及びシグナリング動作を独立に実行するようにも構成され、イベントの発生を検出すると、「真の信号」を提供することができる。したがって、動作506において、ノードは、グループの複数の他のノードによって提供される複数のインジケータを取得することができる。インジケータの各々は、暗号化秘密鍵共有又はダミー信号のうちの1つを表す。インジケータは、ノードによって反復的に取得されてもよく(例えばイベントチェーンの各ブロックから取得される)、インジケータは、一旦取得されると、暗号化秘密鍵を識別しようと試みるために、分析されてもよい。より詳細には、(動作508において)現在のブロック及び/又は1つ以上の最近のブロックからインジケータのサブセットを反復的に選択し、(動作510において)インジケータのサブセットから可能性のある共有秘密を計算し、そして(動作512において)各可能性のある共有秘密を暗号化公開鍵に対して評価して、その可能性のある共有秘密が暗号化秘密鍵であるかどうかを判断することによって、暗号化秘密鍵を識別することができる。図5には図示されていないが、暗号化の可能性のある共有秘密が暗号化秘密鍵でない場合、インジケータの異なるサブセットに対して探索が実行されてもよい(例えば探索空間内のすべての可能性のあるインジケータのサブセットが評価されてよく、新たなブロックがイベントチェーンに追加されると探索空間を更新してよい)。したがって、ノードは、イベントチェーン上のブロックに提供されているインジケータに基づいて、探索を効果的に実行することができる。インジケータで提供される真の信号(すなわち、暗号化秘密鍵共有)の数が、閾値秘密鍵再構成スキームの閾値Cよりも大きいとき、暗号化秘密鍵を得ることができる。
暗号化秘密鍵は、探索アルゴリズム及びSSSSを実行することによって再構成されてもよい(すなわち、暗号化秘密鍵共有の閾値から得られる)。動作508において、共有秘密は、定義された機会ウィンドウ内の以前のブロック数について、ノードのインジケータ(すなわち、各ノードによって提供されるダミー信号又は真の信号)の可能性のある閾値の組合せごとに(SSSSを用いて)計算される。機会ウィンドウは、リクエスタによって提示されるモニタリング要求で定義されてよい。各潜在的な共有秘密鍵について、対応する公開鍵は、楕円曲線暗号法を使用して計算されてもよい。次に、計算された公開鍵を既知の暗号化公開鍵と比較してよい。計算された公開鍵が暗号化公開鍵と一致する場合は、探索は中止してよく、暗号化秘密鍵をリクエスタに報告することができる。しかしながら、暗号化秘密鍵が見つかるまで、ノードは、新たなブロックが作成されると、新たなブロックのインジケータに基づいて探索を続けることができる。
また、方法500を実行しているノード(又は別のノード)は、可能性のある共有秘密が暗号化キーであると判断されたときに、任意で、暗号化公開キーで以前に暗号化されたデータを復号することもできる。また、方法500を実行するノード(又は別のノード)は、任意に、暗号化秘密鍵に基づいて署名を生成し、その署名をトランザクションのアンロック・スクリプトに追加して、暗号化公開鍵で以前に妨害されていたトークンをアンロックすることもできる。したがって、暗号化秘密鍵が識別された後、それは多くの目的のために使用され得る。
図4の動作412の説明で上述したように、暗号化秘密鍵が識別されると、イベントチェーンは終了してよく、グループ・ステーク公開鍵によって以前に妨害されたトークンが再配布されてよい。グループの複数のノードのうちの少なくとも1つがトランザクションを準備し、その複数のノードが協働してトランザクションの署名を生成する(動作414において)。例えばトランザクションは、要求の完了のためにリクエスタによって提供されたトークン又は他のデジタル資産を、要求の完了を支援した1つ以上のノードに配布してよい。例えばノードは、(モニタリング要求で定義された機会ウィンドウの閾値に基づいて定義され得る)定義された機会ウィンドウで暗号化秘密鍵共有を表すインジケータを提供したグループのノードを識別することができる。次いで、グループ・ステーク秘密鍵共有の少なくとも閾値を制御する複数のノードは、識別されたノードの1つ以上に1つ以上のデジタル資産を転送するトランザクションのために、有効な署名を協調的に生成することができる。例えば要求の完了のためにリクエスタによって提供されるトークン又は他のデジタル資産は、機会ウィンドウ内で真の信号を提供したノードに均等に配布され得る。また、別の配布方法が用いられてもよい。例えば配布は、機会のウィンドウ内で最初にシグナリングしたノードに有利になるように重み付けされてもよい。これは、モニタリング要求でリクエスタによって定義された線形関数又は指数関数を用いて行われることができる。
次に、図6を参照すると、「真の信号」の例示的な分布600が示されている。この分布は、閾値によって定義されたサイズを有する機会ウィンドウ602を示す。閾値は、リクエスタによってモニタリング要求で定義されてよい。機会ウィンドウ602内で真の信号を提供したノードは、リクエスタによって提供されたトークン又は他のデジタル資産の共有を受け取ることができるが、機会ウィンドウの外で真の信号を提供したノード又は真の信号を提供しなかったこれらのノード(又は複数の真の信号を提供したノード)は、そのようなトークンを共有しない。
ノードがモニタリング要求に従って適切に構成されることを確実にするために、グループのノードは、モニタリング要求の完了に使用されるべきプロトコルに違反したノードをモニタリングするように構成されてよい。例えばノードは、グループのノードのうちの1つが、複数のインジケータ内で関連する秘密鍵共有を提供することによって、プロトコルに違反したと判断することがある。前述したように、プロトコルは、各インジケータが1回のみ提供されることを要求することができる。したがって、ノードは、グループのノードのうちの1つがそのプロトコルに違反したと判断したことに応答して、グループの他のノードと協力して、プロトコルに違反したノードのディポジット(すなわち、「ステーク」)を没収するように構成されてよい。
上述の実施例は、ビットコインで利用可能なオペレーションコードを参照しているが、本明細書で説明される方法は、他のタイプのブロックチェーン・ネットワークで使用されてもよい。
さらに、本明細書で説明されるように、定義された期間への言及は、伝統的な時間の尺度(例えば秒、分、時間、日等)又は非伝統的な時間の尺度(例えばブロック等)に基づいて定義される期間を指すことができる。例えばブロックは、合理的に一貫した周波数を有するいくつかのブロックチェーン・ネットワーク上で生成され得るので、トリガイベントの後にブロックチェーンに追加されたブロックの数が、時間の尺度を提供してもよい。したがって、定義された期間が経過したかどうかをノードが評価する任意の動作は、ブロックチェーンに追加されているブロックの数を評価することを含んでもよい。
上述の方法は、一般に、ノードで実行されるものとして説明されているが、方法の特徴は、他のノードとの協調に依存して、他の場所で実行されることができる。
上述の実施形態は、本発明を限定するものではなく例示であり、当業者は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、多くの代替実施形態を設計することができることに留意されたい。請求項においては、括弧内に付されるすべての参照符号は、請求項を限定するものと解釈されるべきではない。「備える(comprising、comprises)」等の語は、いずれかの請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「備える(comprises)」は、「含む(includes)又はからなる(consists of)」を意味し、「備える(comprising)」は、「含む(including)又はからなる(consisting of)」を意味する。要素の単数形参照は、そのような要素の複数形参照を除外するものではなく、その逆もまた同様である。本発明は、いくつかの別個の要素を含むハードウェアによって及び適切にプログラムされたコンピュータによって実装され得る。いくつかの手段を列挙するデバイスクレームにおいては、これらの手段のいくつかが、1つの同じのハードウェアのアイテムによって具体化されてもよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有利に使用することができないことを示すものではない。

Claims (14)

  1. プロセッサによって実行される方法において:
    ノードのグループに関連付けられる暗号化公開鍵を記憶するステップであって、前記グループ内の各ノードは、秘密鍵共有に関連付けられ、該秘密鍵共有は、前記暗号化公開鍵に関連付けられる暗号化秘密鍵が前記秘密鍵共有の少なくとも閾値から決定されることを可能にするように、前記グループの閾値秘密鍵再構成スキームに関連付けられる、ステップと;
    前記グループの複数のノードによって提供される複数のインジケータを反復的に取得するステップであって、各ノードは、前記複数のインジケータの少なくとも1つを生成するように構成され、前記インジケータの各々は、暗号化秘密鍵共有又はダミー信号のうちの一方を表し、所定のイベントが発生していないとき、インジケータはダミー信号であり、前記所定のイベントを検出したことに応答して、インジケータは暗号化秘密鍵共有である、ステップと;
    前記インジケータのサブセットを選択することと、
    前記インジケータのサブセットに基づいて、可能性のある共有秘密を計算することと、
    各可能性のある共有秘密を前記暗号化公開鍵に対して評価して、前記可能性のある共有秘密が暗号化秘密鍵であるかどうかを判断することと、
    を反復することによって、前記暗号化秘密鍵を識別するステップと;
    を含む、方法。
  2. 前記可能性のある共有秘密が前記暗号化秘密鍵であると判断されたとき、前記暗号化公開鍵で以前に暗号化されたデータを復号するステップ、
    を更に含む、請求項1に記載の方法。
  3. 前記可能性のある共有秘密が前記暗号化秘密鍵であると判断されたとき、
    前記暗号化秘密鍵に基づいて署名を生成するステップと、
    前記署名をトランザクションのアンロック・スクリプトに追加して、前記暗号化公開鍵で以前に妨害されたトークンをアンロックするステップと、
    を更に含む、請求項1又は2に記載の方法。
  4. 定義された機会ウィンドウで暗号化秘密鍵共有を表すインジケータを提供した、前記グループのノードを識別するステップを更に含み
    1つ以上のデジタル資産を前記識別されたノードのうちの1つ以上に転送するために、前記グループの前記識別されたノードによって、トランザクションについての有効な署名協調的に生成される
    請求項1乃至3のいずれかに記載の方法。
  5. 前記所定のイベントに関連付けられるモニタリング要求を発行したリクエスタによって提供された1つ以上のトークンを配布するために、前記有効な署名協調的に生成される
    請求項4に記載の方法。
  6. 前記ダミー信号は、前記秘密鍵共有と同じ長さである、
    請求項に記載の方法。
  7. 前記ダミー信号をランダムに生成するステップを更に含む、
    請求項に記載の方法。
  8. グループ・ステーク秘密鍵共有を生成し、前記グループの他のノードと協力してグループ・ステーク公開鍵を生成するステップであって、前記グループ・ステーク秘密鍵共有は、複数のグループ・ステーク秘密鍵共有の少なくとも閾値を制御する前記グループのノードのサブセットが、前記グループの代わりに有効な署名を生成することを可能にする、ステップと、
    前記グループ・ステーク公開鍵を使用してトークンを妨害するステップと、
    を更に含む、請求項乃至のいずれか一項に記載の方法。
  9. 前記グループの前記複数のノードに提供されるインジケータは、前記グループ・ステーク秘密鍵で生成される署名を含む、
    請求項に記載の方法。
  10. モニタリング要求を検出するステップと、
    前記モニタリング要求を検出したことに応答して、前記グループに加入する要求を送信し、前記グループ内の他のノードとのセキュアな通信チャネルを確立するステップと、
    を更に含む、請求項又はに記載の方法。
  11. 前記グループ・ステーク秘密鍵共有は、閾値署名スキームの閾値を用いてディーラー・フリー秘密共有プロトコルを実行することによって生成され、前記閾値はモニタリング要求で定義される、
    請求項乃至10のいずれか一項に記載の方法。
  12. 前記グループの前記ノードのうちの1つのノードが、前記複数のインジケータ内の関連する秘密鍵共有を提供することによって、プロトコルに違反したと判断するステップと、
    前記グループの前記ノードのうちの1つのノードが前記プロトコルに違反したと判断したことに応答して、前記グループの他のノードと協力して、前記グループの前記ノードのうちの前記1つのノードのステークを没収するステップと、
    を更に含む、請求項1乃至11のいずれかに記載の方法。
  13. 実行されると、請求項1乃至12のいずれか一項に記載の方法を実行するようにプロセッサを構成する、コンピュータ実行可能命令を備える、コンピュータ読み取り可能記憶媒体。
  14. インタフェースデバイスと;
    前記インタフェースデバイスに結合されるプロセッサと;
    前記プロセッサに結合されるメモリであって、実行されると、請求項1乃至12のいずれか一項に記載の方法を実行するようにプロセッサを構成する、コンピュータ実行可能命令をその上に記憶している、メモリと;
    を備える、電子デバイス。
JP2019569999A 2017-06-26 2018-06-22 制御された暗号化秘密鍵の開放 Active JP7208930B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023000763A JP2023036959A (ja) 2017-06-26 2023-01-06 制御された暗号化秘密鍵の開放

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1710176.7 2017-06-26
GBGB1710176.7A GB201710176D0 (en) 2017-06-26 2017-06-26 Computer-implemented system and method
PCT/IB2018/054625 WO2019003071A1 (en) 2017-06-26 2018-06-22 CRYPTOGRAPHIC PRIVATE KEY RELEASE

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023000763A Division JP2023036959A (ja) 2017-06-26 2023-01-06 制御された暗号化秘密鍵の開放

Publications (2)

Publication Number Publication Date
JP2020526069A JP2020526069A (ja) 2020-08-27
JP7208930B2 true JP7208930B2 (ja) 2023-01-19

Family

ID=59523471

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019569999A Active JP7208930B2 (ja) 2017-06-26 2018-06-22 制御された暗号化秘密鍵の開放
JP2023000763A Pending JP2023036959A (ja) 2017-06-26 2023-01-06 制御された暗号化秘密鍵の開放

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023000763A Pending JP2023036959A (ja) 2017-06-26 2023-01-06 制御された暗号化秘密鍵の開放

Country Status (6)

Country Link
US (3) US11329807B2 (ja)
EP (3) EP3934159B1 (ja)
JP (2) JP7208930B2 (ja)
CN (2) CN117544296A (ja)
GB (1) GB201710176D0 (ja)
WO (1) WO2019003071A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201710176D0 (en) * 2017-06-26 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
WO2019005104A1 (en) * 2017-06-30 2019-01-03 Intel Corporation METHODS, SYSTEMS AND APPARATUS FOR TRACKING A PROCEEDANCE OF GOODS
CN107590738A (zh) 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
US11379832B2 (en) * 2018-12-07 2022-07-05 0Chain, LLC Systems and methods of blockchain for transaction rewards on token locking
CN111368309B (zh) * 2018-12-26 2024-03-29 阿里巴巴集团控股有限公司 信息处理方法、系统及设备
GB201901391D0 (en) * 2019-02-01 2019-03-20 Nchain Holdings Ltd Computer-implemented system and method
US11258593B1 (en) * 2019-03-13 2022-02-22 Google Llc Scalable security for cryptographic ledgers via dynamic and unpredictable changes to quorum memberships
US11050822B2 (en) * 2019-06-05 2021-06-29 International Business Machines Corporation Secure data dissemination
CN110569666B (zh) * 2019-09-03 2023-09-08 深圳前海微众银行股份有限公司 一种基于区块链的数据统计的方法及装置
CN111049644B (zh) * 2019-10-22 2021-03-23 贵州财经大学 一种基于混淆激励机制的理性公平秘密信息共享方法
KR102094705B1 (ko) * 2020-01-17 2020-03-30 주식회사 에프엔에스벨류 블록 체인을 기반으로 한 다중 노드 인증 방법 및 이를 위한 장치
CN111130808B (zh) * 2020-03-26 2021-02-02 杭州智块网络科技有限公司 一种用于区块链的跨链资产映射方法及系统
US11424907B2 (en) * 2020-06-24 2022-08-23 Intel Corporation Countermeasures for side-channel attacks on protected sign and key exchange operations
CN111800261A (zh) * 2020-06-29 2020-10-20 格尔软件股份有限公司 一种多节点的密钥管理方法及装置
CN117134910B (zh) * 2023-10-24 2024-03-15 深圳市纽创信安科技开发有限公司 一种密钥共享方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099682A1 (ja) 2007-02-16 2008-08-21 Panasonic Corporation 分散情報配布装置、保持装置、認証局装置及びシステム
US20100215172A1 (en) 2009-02-26 2010-08-26 Red Hat, Inc. Sharing a secret with modular inverses
CN106504094A (zh) 2016-11-25 2017-03-15 中国银行股份有限公司 基于区块链技术的分布式总账系统的交易撮合方法及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089519A1 (en) 2006-10-12 2008-04-17 Nokia Corporation Secure key exchange algorithm for wireless protocols
JP4917453B2 (ja) * 2007-02-22 2012-04-18 Kddi株式会社 閾値秘密分散装置、閾値秘密分散方法、秘密情報復元方法およびプログラム
JP5284119B2 (ja) * 2009-01-16 2013-09-11 株式会社東芝 サーバ、情報処理方法及びプログラム
CN102238146B (zh) 2010-04-27 2014-10-08 中国移动通信集团公司 认证方法、装置、认证中心及系统
CN102340483B (zh) * 2010-07-15 2015-05-06 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
US8775800B2 (en) 2010-11-02 2014-07-08 Sap Ag Event-driven provision of protected files
US8756410B2 (en) 2010-12-08 2014-06-17 Microsoft Corporation Polynomial evaluation delegation
US9065637B2 (en) * 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
EP2865129B1 (en) * 2012-05-15 2018-08-01 McAfee, LLC Event-triggered release through third party of pre-encrypted digital data from data owner to data assignee
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
US9411982B1 (en) 2013-08-07 2016-08-09 Amazon Technologies, Inc. Enabling transfer of digital assets
GB2517913A (en) * 2013-08-30 2015-03-11 Ibm Remote data storage
GB2513260B (en) 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
US20160086175A1 (en) * 2014-09-22 2016-03-24 Qualcomm Incorporated Peer-to-peer transaction system
WO2016049406A1 (en) 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures
WO2016115633A1 (en) * 2015-01-21 2016-07-28 FusionPipe Software Solutions Inc. Enhanced security authentication methods, systems and media
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
WO2017090041A1 (en) 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy
US9954684B2 (en) * 2016-02-29 2018-04-24 PreVeil LLC Secure sharing
US11057198B2 (en) 2016-03-04 2021-07-06 Assured Enterprises, Inc. Utilization of a proxy technique in escrow encryption key usage
US10476672B2 (en) 2016-03-14 2019-11-12 Callware Technologies, Inc Fragmented encryption of a secret
US9967088B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
GB2538022B (en) 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
CN110383760A (zh) * 2017-01-03 2019-10-25 斯塔万格大学 用户控制的、分散式、分布式且安全的内容分发
EP3622660B1 (en) * 2017-05-12 2023-08-30 Massachusetts Institute of Technology Systems and methods for crowdsourcing, analyzing, and/or matching personal data
GB201710176D0 (en) * 2017-06-26 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
US10911431B2 (en) * 2018-05-21 2021-02-02 Wickr Inc. Local encryption for single sign-on

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099682A1 (ja) 2007-02-16 2008-08-21 Panasonic Corporation 分散情報配布装置、保持装置、認証局装置及びシステム
US20100215172A1 (en) 2009-02-26 2010-08-26 Red Hat, Inc. Sharing a secret with modular inverses
CN106504094A (zh) 2016-11-25 2017-03-15 中国银行股份有限公司 基于区块链技术的分布式总账系统的交易撮合方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小林 桂 ほか,MANETにおける秘密分散法を用いた秘匿通信手法の提案,電気学会研究会資料,日本,一般社団法人電気学会,2015年06月11日,CMN-15-011,p.25-29

Also Published As

Publication number Publication date
US20240113868A1 (en) 2024-04-04
EP3934159B1 (en) 2023-10-11
CN110800250A (zh) 2020-02-14
US11329807B2 (en) 2022-05-10
US20220337399A1 (en) 2022-10-20
WO2019003071A1 (en) 2019-01-03
EP3646525A1 (en) 2020-05-06
JP2023036959A (ja) 2023-03-14
US20200162243A1 (en) 2020-05-21
EP4221074A1 (en) 2023-08-02
CN117544296A (zh) 2024-02-09
GB201710176D0 (en) 2017-08-09
JP2020526069A (ja) 2020-08-27
EP3646525B1 (en) 2021-07-28
CN110800250B (zh) 2023-09-08
EP3934159A1 (en) 2022-01-05
US11870894B2 (en) 2024-01-09

Similar Documents

Publication Publication Date Title
JP7208930B2 (ja) 制御された暗号化秘密鍵の開放
US11799637B2 (en) Methods and systems for blockchain-implemented event-lock encryption
US20230131970A1 (en) Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
EP3613189B1 (en) Secure blockchain-based consensus
CN110546664A (zh) 区块链之间的安全转移
CN117640099A (zh) 用于避免或减少区块链网络上的加密滞留资源的系统和方法
JP2002529778A (ja) 共有無作為性の分散暗号化への組み込み

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230106

R150 Certificate of patent or registration of utility model

Ref document number: 7208930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150