JP2023126595A - ブロックチェーン上の迅速な分散型総意 - Google Patents
ブロックチェーン上の迅速な分散型総意 Download PDFInfo
- Publication number
- JP2023126595A JP2023126595A JP2023117943A JP2023117943A JP2023126595A JP 2023126595 A JP2023126595 A JP 2023126595A JP 2023117943 A JP2023117943 A JP 2023117943A JP 2023117943 A JP2023117943 A JP 2023117943A JP 2023126595 A JP2023126595 A JP 2023126595A
- Authority
- JP
- Japan
- Prior art keywords
- proposer
- node
- transaction
- computer
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 193
- 238000005304 joining Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims description 96
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 6
- 238000013515 script Methods 0.000 description 20
- 230000036961 partial effect Effects 0.000 description 15
- 238000012217 deletion Methods 0.000 description 14
- 230000037430 deletion Effects 0.000 description 14
- 238000005065 mining Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013175 transesophageal echocardiography Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101710161955 Mannitol-specific phosphotransferase enzyme IIA component Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
- H04L9/3239—Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3255—Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Abstract
【課題】 コンピュータにより実施される方法が提供される。【解決手段】 当該方法は、ノードにより、公開グループアドレスへのデジタルアセットのデポジットを通じてグループに参加して、グループメンバーになるステップであって、前記グループは、閾値署名方式に関連付けられ、デジタルアセットの前記デポジットは、proof-of-workブロックチェーンネットワーク上で生成される、ステップと、前記グループの他のノードと協力して、要求者により生成された要求に応答して、チャレンジャーによる、提案者の作業成果に対するチャレンジを検出し、前記チャレンジを解決するためにゴーストチェーンを展開し、前記ゴーストチェーンは、前記ゴーストチェーンのマイナーが前記グループのメンバーであるproof-of-stakeブロックチェーンであり、前記チャレンジが解決すると前記ゴーストチェーンを終了する、ステップと、を含む。【選択図】 図1
Description
本発明は、概して分散システムに関し、特に、分散システムにおけるブロックチェーントランザクションの信頼性を向上することへの適用を有する分散型総意のためのシステムに関する。本発明は、特に、限定ではないが、計算交換(computation exchange)における計算の信頼性を向上する使用に適する。
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、限定ではないが、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳である。また、ブロックはトランザクション及び他の情報により構成される。ビットコインの場合には、各トランザクションは、ブロックチェーンシステム内で参加者間のトークンの制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。幾つかのネットワークノードは、マイナーとしての機能を果たし、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェアクライアントは、参照するトランザクション及び未使用トランザクションアウトプット(unspent transaction outputs:UTXO)に対して、この検証作業を実行する。検証は、そのロック及びアンロックスクリプトを実行することにより実行されてよい。ロック及びアンロックスクリプトの実行が真と評価した場合、及び(充分なマイニング料金の包含のような)特定の他の条件が満たされた場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信したノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マイニングされ、つまり過去のトランザクションの公開台帳に追加されなければならない。トランザクションは、充分な数のブロックがブロックチェーンに追加されて、トランザクションが事実上不可逆にされると、確認されたと見なされる。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及びプロセスのために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散プロセス、等)を利用できる。
幾つかのこのようなソリューションでは、分散型総意が達成されてよい。例えば、多くの伝統的支払システムと異なり、ブロックチェーンは、非常に不変であり、多くの場合匿名であり得る。ブロックチェーン技術の不変且つ主として匿名である特性は、ユーザを不正行為から保護するとき、多くの技術的課題を提示する。例えば、トランザクションを含むブロック上に構築された多数のブロックは、該トランザクションを実質的に不可逆にするので、返金は多くの場合利用可能ではなく、トランザクションの完全性を維持するために新しい技術的システムが必要とされる。このような課題は、また、ブロックチェーン技術の非集中型の信頼できない特性により困難である。つまり、トランザクションの完全性を保証する中央パーティが存在せず、代わりに、トランザクションの完全性は技術的手段を通じて達成される。したがって、ブロックチェーン技術にとって、例えばデジタル総意を利用することを通じるような、トランザクションの信頼性を向上することが望ましい。
信頼性の課題は、時には計算市場(computation marketplace)と呼ばれる計算交換に存在し得る。計算市場は、費用の掛かる計算のオフチェーン実行を可能にするサービスである。このような交換は、ネットワーク内のノードが、アルゴリズムの実行を別のリモートノードにアウトソースすることを可能にする。アルゴリズムの結果は、次に、該アルゴリズムの動作をアウトソースしたノードに報告され戻される。結果を受信するノードは、結果が信頼できるか否かが分からないことがある。受信ノードが、答えが正しいか否かを決定するためには、それらは、アルゴリズムをそれら自身で実行する必要があり、これはアウトソースの目的を無に帰す。したがって、ブロックチェーン技術において、計算交換の結果の信頼性を向上することが望ましい。
したがって、上述の態様のうちの1つ以上において、ブロックチェーン技術を向上する改良された方法及び装置を提供することが望ましい。
したがって、本発明によると、添付の請求の範囲に定められるような方法が提供される。
したがって、本発明によると、コンピュータにより実施される方法が提供され得る。コンピュータにより実施される方法は、i)ノードにより、グループメンバーになるために公開グループアドレスへのトークンの転送を通じてグループに参加するステップであって、前記グループは、前記ノードが秘密鍵シェアを制御する閾値署名方式に関連付けられ、トークンの前記転送は、proof-of-workブロックチェーンネットワーク上で行われる、ステップと、ii)チャレンジャーによる作業成果のチャレンジに応答して、前記ノードにより、前記グループの他のノードと協力して、提案者の該作業成果の正しさに関する分散型総意を達成するステップであって、前記チャレンジは要求者により行われる要求に応答する、ステップと、を含み、前記分散型総意を達成するステップは、a)ゴーストチェーンを展開して、前記チャレンジを解決する前記分散型総意を達成するステップであって、前記ゴーストチェーンは、前記ゴーストチェーンのマイナーが前記グループのメンバーであるproof-of-stakeブロックチェーンである、ステップと、b)前記チャレンジの解決により、前記ゴーストチェーンを終了するステップと、を含む。
好都合なことに、この方法では、分散型総意がブロックチェーンネットワークのノード間で達成され得る。ゴーストチェーンを用いてこのような分散型総意を達成することは、proof-of-workブロックチェーンを用いて達成される総意に比べてより効率的であり得る。
ゴーストチェーンは、一時的ブロックチェーンであってよい。伝統的ブロックチェーンと対照的に、ゴーストチェーンは、実行又は1つ以上の基準、目標、又は指定目的を満たすことにより、終了し、消失し及び/又は失効するよう構成されてよい。つまり、ゴーストチェーンは、その目的が達成されると存在することを止める単一目的のブロックチェーンであってよい。ゴーストチェーンは、ゴーストチェーンがその目的、基準又は目標のために展開され又は生成されるときにのみ生成され得る起源ブロックと呼ばれてよい第1ブロックを含んでよい。
幾つかの実装では、コンピュータにより実施される方法が提供される。当該方法は、i)ノードにより、グループメンバーになるために公開グループアドレスへのデジタルアセットのデポジットを通じてグループに参加するステップであって、前記グループは、前記ノードが秘密鍵シェアを制御する閾値署名方式に関連付けられ、デジタルアセットの前記転送は、proof-of-workブロックチェーンネットワーク上で行われる、ステップと、ii)前記ノードにより、前記グループの他のノードと協力して、a)要求者により行われる要求に応答して、提案者の作業成果に対する、チャレンジャーによるチャレンジを検出し、b)前記チャレンジを解決するためにゴーストチェーンを展開し、前記ゴーストチェーンは、前記ゴーストチェーンのマイナーが前記グループのメンバーであるproof-of-stakeブロックチェーンであり、c)前記チャレンジの解決により前記ゴーストチェーンを終了する、ステップと、を含む。
コンピュータにより実施される方法は、前記グループの他のノードと協力してトランザクションを構成するステップであって、前記トランザクションは、前記グループに支払可能であり(つまり、トークンを前記グループへ転送する)、インプットとして報奨金及び提案者デポジットを有し、アウトプットとして前記報奨金、前記提案者デポジット、及びチャレンジャーデポジットを有する、ステップと、前記チャレンジャーデポジットをインプットとして追加するために、前記トランザクションを前記チャレンジャーに提供するステップと、を更に含む。報奨金、提案者デポジット、及びチャレンジャーデポジットはトークンである。報奨金及び提案者デポジットは、トランザクションの構成前にグループの排他的制御下に置かれてよい。例えば、前記報奨金及び提案者デポジットは、前記提案者による前記要求に対する解の引き渡しに続く時間期間内で前記チャレンジが検出されると、前記グループの排他的制御下に置かれてよい。
幾つかの実装では、コンピュータにより実施される方法は、前記チャレンジが成功すると、前記グループの他のノードと協力するステップであって、i)少なくとも前記チャレンジャーデポジットを前記チャレンジャーへ転送し、ii)前記提案者デポジットをマイニングされたブロックの絶対数に比例して前記ゴーストチェーンのマイナーに分配する、ステップを更に含んでよい。
幾つかの実装では、コンピュータにより実施される方法は、前記提案者の作業成果が有効であると決定された場合、i)前記報奨金及び前記提案者デポジットを前記提案者へ転送し、ii)前記チャレンジャーデポジットをマイニングされたブロックの絶対数に比例して前記ゴーストチェーンのマイナーに分配する、ステップを更に含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記転送は、前記閾値署名方式の下で必要な少なくとも閾数の秘密鍵シェアが有効署名を生成するために使用されるまで、前記秘密鍵シェアを使用する前記ノードにより、他のノードがそれぞれの秘密鍵シェアに基づき部分署名を追加したトランザクションに、部分署名を追加することにより実行されてよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記提案者及びチャレンジャーから証拠を受信し、前記チャレンジを受信した証拠に基づき解くステップを含んでよい。受信した証拠は、最終解又は中間結果のうちの一方又は両方を含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記ゴーストチェーン上の前記要求に関連付けられたタスクを実行して、正しい解を決定するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記ゴーストチェーン上の前記タスクの一部を実行して、前記提案者又は前記チャレンジャーのうちの一方が前記要求に関連付けられたタスクの中間ステップで過ちを犯したことを決定するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを終了するステップは、前記分散型総意に関連する情報(つまり、チャレンジの解)をproof-of-workブロックチェーンネットワークへ転送するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを終了するステップは、最終トランザクションの署名の間に生成されたブロックに対するマイニング料金手数料のレコードを含む最終ブロックを構成するステップを含んでよい。
したがって、本発明によると、コンピュータにより実施される方法が提供され得る。コンピュータにより実施される方法は、i)ノードにより、グループメンバーになるために公開グループアドレスへのトークンの転送を通じてグループに参加するステップであって、前記グループは、前記ノードが秘密鍵シェアを制御する閾値署名方式に関連付けられ、トークンの前記転送は、proof-of-workブロックチェーンネットワーク上で行われる、ステップと、ii)チャレンジャーによる作業成果のチャレンジに応答して、前記ノードにより、前記グループの他のノードと協力して、提案者の該作業成果の正しさに関する分散型総意を達成するステップであって、前記チャレンジは要求者により行われる要求に応答する、ステップと、を含み、前記分散型総意を達成するステップは、a)ゴーストチェーンを展開して、前記チャレンジを解決する前記分散型総意を達成するステップであって、前記ゴーストチェーンは、前記ゴーストチェーンのマイナーが前記グループのメンバーであるproof-of-stakeブロックチェーンである、ステップと、b)前記チャレンジの解決により、前記ゴーストチェーンを終了するステップと、を含む。
好都合なことに、この方法では、分散型総意がブロックチェーンネットワークのノード間で達成され得る。ゴーストチェーンを用いてこのような分散型総意を達成することは、proof-of-workブロックチェーンを用いて達成される総意に比べてより効率的であり得る。
ゴーストチェーンは、一時的ブロックチェーンであってよい。伝統的ブロックチェーンと対照的に、ゴーストチェーンは、実行又は1つ以上の基準、目標、又は指定目的を満たすことにより、終了し、消失し及び/又は失効するよう構成されてよい。つまり、ゴーストチェーンは、その目的が達成されると存在することを止める単一目的のブロックチェーンであってよい。ゴーストチェーンは、ゴーストチェーンがその目的、基準又は目標のために展開され又は生成されるときにのみ生成され得る起源ブロックと呼ばれてよい第1ブロックを含んでよい。
幾つかの実装では、コンピュータにより実施される方法が提供される。当該方法は、i)ノードにより、グループメンバーになるために公開グループアドレスへのデジタルアセットのデポジットを通じてグループに参加するステップであって、前記グループは、前記ノードが秘密鍵シェアを制御する閾値署名方式に関連付けられ、デジタルアセットの前記転送は、proof-of-workブロックチェーンネットワーク上で行われる、ステップと、ii)前記ノードにより、前記グループの他のノードと協力して、a)要求者により行われる要求に応答して、提案者の作業成果に対する、チャレンジャーによるチャレンジを検出し、b)前記チャレンジを解決するためにゴーストチェーンを展開し、前記ゴーストチェーンは、前記ゴーストチェーンのマイナーが前記グループのメンバーであるproof-of-stakeブロックチェーンであり、c)前記チャレンジの解決により前記ゴーストチェーンを終了する、ステップと、を含む。
コンピュータにより実施される方法は、前記グループの他のノードと協力してトランザクションを構成するステップであって、前記トランザクションは、前記グループに支払可能であり(つまり、トークンを前記グループへ転送する)、インプットとして報奨金及び提案者デポジットを有し、アウトプットとして前記報奨金、前記提案者デポジット、及びチャレンジャーデポジットを有する、ステップと、前記チャレンジャーデポジットをインプットとして追加するために、前記トランザクションを前記チャレンジャーに提供するステップと、を更に含む。報奨金、提案者デポジット、及びチャレンジャーデポジットはトークンである。報奨金及び提案者デポジットは、トランザクションの構成前にグループの排他的制御下に置かれてよい。例えば、前記報奨金及び提案者デポジットは、前記提案者による前記要求に対する解の引き渡しに続く時間期間内で前記チャレンジが検出されると、前記グループの排他的制御下に置かれてよい。
幾つかの実装では、コンピュータにより実施される方法は、前記チャレンジが成功すると、前記グループの他のノードと協力するステップであって、i)少なくとも前記チャレンジャーデポジットを前記チャレンジャーへ転送し、ii)前記提案者デポジットをマイニングされたブロックの絶対数に比例して前記ゴーストチェーンのマイナーに分配する、ステップを更に含んでよい。
幾つかの実装では、コンピュータにより実施される方法は、前記提案者の作業成果が有効であると決定された場合、i)前記報奨金及び前記提案者デポジットを前記提案者へ転送し、ii)前記チャレンジャーデポジットをマイニングされたブロックの絶対数に比例して前記ゴーストチェーンのマイナーに分配する、ステップを更に含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記転送は、前記閾値署名方式の下で必要な少なくとも閾数の秘密鍵シェアが有効署名を生成するために使用されるまで、前記秘密鍵シェアを使用する前記ノードにより、他のノードがそれぞれの秘密鍵シェアに基づき部分署名を追加したトランザクションに、部分署名を追加することにより実行されてよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記提案者及びチャレンジャーから証拠を受信し、前記チャレンジを受信した証拠に基づき解くステップを含んでよい。受信した証拠は、最終解又は中間結果のうちの一方又は両方を含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記ゴーストチェーン上の前記要求に関連付けられたタスクを実行して、正しい解を決定するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを展開して、前記チャレンジを解決するステップは、前記ゴーストチェーン上の前記タスクの一部を実行して、前記提案者又は前記チャレンジャーのうちの一方が前記要求に関連付けられたタスクの中間ステップで過ちを犯したことを決定するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを終了するステップは、前記分散型総意に関連する情報(つまり、チャレンジの解)をproof-of-workブロックチェーンネットワークへ転送するステップを含んでよい。
コンピュータにより実施される方法の幾つかの実装では、前記ゴーストチェーンを終了するステップは、最終トランザクションの署名の間に生成されたブロックに対するマイニング料金手数料のレコードを含む最終ブロックを構成するステップを含んでよい。
本発明によると、電子装置が提供され得る。電子装置は、インタフェース装置と、前記インタフェース装置に結合されたプロセッサと、前記プロセッサに結合されたメモリとを含む。前記メモリは、実行されると、本願明細書に記載の方法を実行するよう前記プロセッサを構成するコンピュータ実行可能を格納している。
本発明によると、コンピュータ可読記憶媒体が提供され得る。コンピュータ可読記憶媒体は、実行されると、本願明細書に記載の方法を実行するようプロセッサを構成するコンピュータ実行可能命令を含む。
本発明の上述の及び他の態様は、本願明細書に記載される実施形態から明らかであり、それらの実施形態を参照して教示される。本発明の実施形態は、単なる例として添付の図面を参照して以下に説明される。
<ブロックチェーンネットワーク>
先ず、図1を参照する。図1は、ブロック図の形式で、ブロックチェーンに関連付けられた例示的なブロックチェーンネットワーク100を示す。ブロックチェーンネットワークは、他のメンバーからの招待無しに又は承認無しに誰でも参加し得るピアツーピア開放型会員制ネットワークである、公開ブロックチェーンネットワークであってよい。ブロックチェーンプロトコルの下でブロックチェーンネットワーク100が動作し、該ブロックチェーンプロトコルのインスタンスを実行する分散型電子装置は、ブロックチェーンネットワーク100に参加してよい。このような分散型電子装置は、ノード102として参照され得る。ブロックチェーンプロトコルは、例えばビットコインプロトコルであってよい。
先ず、図1を参照する。図1は、ブロック図の形式で、ブロックチェーンに関連付けられた例示的なブロックチェーンネットワーク100を示す。ブロックチェーンネットワークは、他のメンバーからの招待無しに又は承認無しに誰でも参加し得るピアツーピア開放型会員制ネットワークである、公開ブロックチェーンネットワークであってよい。ブロックチェーンプロトコルの下でブロックチェーンネットワーク100が動作し、該ブロックチェーンプロトコルのインスタンスを実行する分散型電子装置は、ブロックチェーンネットワーク100に参加してよい。このような分散型電子装置は、ノード102として参照され得る。ブロックチェーンプロトコルは、例えばビットコインプロトコルであってよい。
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバのようなコンピュータ、スマートフォンのようなモバイル装置、スマートウォッチのようなウェアラブルコンピュータ、又は他の電子装置を含む様々な種類であってよい。
ブロックチェーンネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を用いて互いに結合される。このような通信は、ブロックチェーンに関連付けられたプロトコルに従う。例えば、ブロックチェーンがビットコインブロックチェーンである場合、ビットコインプロトコルが使用されてよい。
ノード102は、ブロックチェーン上の全てのトランザクションのグローバル台帳を維持する。したがって、グローバル台帳は分散台帳である。各ノード102は、グローバル台帳の完全コピー又は部分コピーを格納してよい。proof-of-workによりセキュアにされるブロックチェーンの場合、グローバル台帳に影響を与えるノード102によるトランザクションは、他のノード102により検証される。その結果、グローバル台帳の有効性が維持される。ブロックチェーンがproof-of-workに基づくブロックチェーンであるとき、ブロックも、ブロックと共に提出されるproof-of-workをチェックすることにより検証される。
ノード102の少なくとも幾つかは、ブロックチェーンネットワーク100のマイナー104として動作する。図1のブロックチェーンネットワーク100は、ブロックチェーン上のトランザクションを促進するために、マイナー104が費用の掛かる計算を実行するproof-of-workブロックチェーンである。例えば、proof-of-workブロックチェーンは、マイナーが暗号化問題を解くことを要求し得る。ビットコインでは、マイナー104がノンスを発見する。その結果、ブロックヘッダは、SHA-256により、現在の採掘難易度(difficultly)により定められた値より小さい数にハッシュされる。proof-of-workアルゴリズムのために必要なハッシュ能力は、特定数のブロックがその上でマイニングされた後に、トランザクションが事実上不可逆であると見なされることを意味する。暗号化問題を解くマイナー104は、ブロックチェーンの新しいブロックを生成し、新しいブロックを他のノード102にブロードキャストする。他のノード102は、ブロックがブロックチェーンに追加されるべきであると受け入れる前に、マイナー104が実際に暗号化問題を解き、したがって充分なproof-of-workを立証したことを検証する。ブロックは、ノード102の総意により、ブロックチェーンに(つまり分散グローバル台帳に)追加される。
マイナー104により生成されたブロックは、ノード102によりブロックチェーンにブロードキャストされているトランザクションを含む。例えば、ブロックは、ノード102のうちの1つに関連付けられたアドレスからノード102のうちの別のものに関連付けられたアドレスへのトランザクションを含んでよい。このように、ブロックは、あるアドレスから別のアドレスへのトランザクションのレコードとして機能する。トランザクションがブロックに含まれることを要求したパーティは、彼らが転送を開始すること(例えば、ビットコインの場合には、ビットコインを使用すること)を認可されていることを、彼らの公開鍵に対応する秘密鍵を用いて要求に署名することにより、証明する。要求が有効に署名された場合のみ、転送はブロックに追加されてよい。
ビットコインの場合、公開鍵とアドレスとの間には1対1対応がある。つまり、各公開鍵は単一のアドレスに関連付けられる。したがって、本願明細書でトークンを公開鍵へ又は公開鍵から転送する(例えば、公開鍵に支払う)、及びトークンを公開鍵に関連付けられたアドレスへ又は該アドレスから転送するという言及は、共通の動作を表す。
ノード102のうちの幾つかは、マイナーとして動作しなくてよく、代わりに検証ノードとして参加してよい。トランザクションの検証は、署名をチェックすること、有効UTXOへの参照を確認すること、等に関連してよい。
図1の例は、5個のノード102を含み、そのうちの3個はマイナー104として参加している。実際には、ノード102又はマイナー104の数は異なってよい。多くのブロックチェーンネットワークでは、ノード102及びマイナー104の数は、図1に示した数より遙かに多くてよい。
後述のように、種々のノード102が、協力して、本願明細書で議会(congress)110と呼ばれるグループを形成する。図示の例では、3個のノード102が、議会110に参加しているように示される。しかしながら、議会110のメンバーの実際の数は、遙かに多くてよい。
議会110は、充分な掛け金(stake)を議会110に関連付けられたプールに提出することで任意のノード102により参加されてよい開放型メンバーシップグループである。例えば、ノードは、1つ以上のトークン又はデジタルアセットの、議会110に関連付けられたアカウントへの転送を通じて議会に参加してよい。議会に参加するノード102は、マイニング及び非マイニングノードの両方を含むブロックチェーンネットワーク内の任意のノードであってよい。議会の少なくとも幾つかの適用では、議会メンバーとして動作するノードは、彼らが完全なブロックチェーンをダウンロードする(が、必ずしも保持しない)という意味で、ブロックチェーンを監視する。
議会110に参加し、退去し、及び加入する技術は、以下に詳細に議論される。
以下に更に詳述するように、議会(congress)のメンバーは一時的ゴーストチェーンネットワーク120を形成してよい。ゴーストチェーン第1ブロックチェーンネットワークは、ゴーストチェーンと呼ばれる分散台帳を生成し維持する。ゴーストチェーンネットワーク120は、信頼性を検証するための又は目的解へのチャレンジの発生に応答して特定目的解が正しいか否かに関する分散型総意に達するためのトランザクションの間、展開されてよい。例えば、ゴーストチェーンネットワーク120は、ブロックチェーンネットワーク100のノード102により提出された作業成果であってよい、プロセッサの生成した作業成果の完全性を検証するために展開されてよい。例えば、ゴーストチェーンネットワーク120は、ブロックチェーンネットワーク100上で生成された結果の正しさに関する分散型総意に達するために展開されてよい。結果の正しさに関する議論は、あるノードのプロセッサの生成した作業成果の信頼性が別のノードによりチャレンジされた場合に存在し得る。
ゴーストチェーンは、一時的ブロックチェーンである。伝統的なブロックチェーンと異なり、ゴーストチェーンは、その目的が達成されると終了するよう構成される。つまり、ゴーストチェーンは、その目的が達成されると存在することを止める単一目的のブロックチェーンである。ゴーストチェーンは、ゴーストチェーンがその目的のために(例えば、プロセッサの生成した作業成果の完全性を検証するために)展開されるときにのみ生成される起源ブロックと呼ばれてよい第1ブロックを含む。
ブロックチェーンネットワークに関連付けられたブロックチェーンはproof-of-workブロックチェーンであるが、ゴーストチェーンはproof-of-stakeブロックチェーンである。proof-of-stakeに基づくゴーストチェーンネットワーク120は、総意を達成するための代替メカニズムを提供する。proof-of-stakeゴーストチェーンネットワークでは、ブロックチェーンは、proof-of-workではなくproof-of-stakeによりセキュアにされる。proof-of-stakeの下では、ゴーストチェーンのマイナー125は、トークンを転送する。ここで、トークンの保持は、セキュリティのようなproof-of-workブロックチェーンのデジタル台帳により表され、ブロックをマイニングすべきノードとして選択される確率は、転送されるトークンの量に比例する。proof-of-stakeブロックチェーンシステムは、proof-of-workブロックチェーン上でマイニングするために必要な計算上の費用及びエネルギを回避するために使用できる。さらに、proof-of-stakeブロックチェーンは、proof-of-workブロックチェーンより高い頻度及びより規則的なブロック生成を可能にできる。
複数のノード102は、ゴーストチェーンネットワーク120のマイナー125として機能する。ゴーストチェーンネットワーク120のマイナー125の少なくとも何人かは、ブロックチェーンネットワーク100のマイナー104としての機能を果たさなくてよい。ゴーストチェーンネットワーク120はproof-of-stakeブロックチェーンネットワークなので、マイナー125は、マイナーとして含まれるためにトークンを転送する。特に、ゴーストチェーンのマイナー125は、ゴーストチェーンネットワーク120上でマイニングするために結合検証器セットを形成する。これらのマイナー125は、ブロックチェーンネットワーク100に関連付けられた議会110のメンバーでもある。つまり、proof-of-workブロックチェーンネットワーク100及びゴーストチェーンネットワーク120の両方の部分であるノード102は、ゴーストチェーンネットワーク120のマイナー125として、及びproof-of-workブロックチェーンネットワーク100上に設立された議会110のメンバーとして動作する。これらのマイナー125は、後述する方法に従い、議会110に加わり、議会110に参加する。議会プールへのトークンの彼らの転送は、proof-of-workブロックチェーン内で行われる。つまり、議会メンバーは、proof-of-work第1ブロックチェーンネットワーク100上の彼らの「掛け金(stake)」をプールに転送して、議会メンバーになり、結合検証器セットを形成することにより、彼らがゴーストチェーン上でマイナー125として動作できるようにする。議会110は、充分な掛け金を議会110に関連付けられたプールに提出することで任意のノードにより参加されてよい開放型メンバーシップグループである。
<ノードとして動作する電子装置>
図2は、ピアツーピアブロックチェーンネットワーク100(図1)の中のノード102(図1)として機能し得る例示的な電子装置200のコンポーネントを示すブロック図である。例示的な電子装置200は、処理装置とも呼ばれてよい。電子装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォンのようなモバイル装置、スマートウォッチのようなウェアラブルコンピュータ、又は別の種類の形式を含む様々な形式をとってよい。
図2は、ピアツーピアブロックチェーンネットワーク100(図1)の中のノード102(図1)として機能し得る例示的な電子装置200のコンポーネントを示すブロック図である。例示的な電子装置200は、処理装置とも呼ばれてよい。電子装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォンのようなモバイル装置、スマートウォッチのようなウェアラブルコンピュータ、又は別の種類の形式を含む様々な形式をとってよい。
電子装置200は、プロセッサ210、メモリ220、及びインタフェース装置230を含む。これらのコンポーネントは、互いに直接又は間接に結合されてよく、互いに通信してよい。例えば、プロセッサ210、メモリ220、及びインタフェース装置230は、バス240を介して互いに通信してよい。メモリ220は、本願明細書に記載の機能を実行するための機械可読命令及びデータを含むコンピュータソフトウェアプログラムを格納する。例えば、メモリは、プロセッサ210により実行されると、電子装置に本願明細書に記載の方法を実行させるプロセッサ実行可能命令を含んでよい。プロセッサ実行可能命令は、プロセッサ210により実行されると、電子装置に、ブロックチェーンネットワーク100(図1)に関連付けられたプロトコルを実装させる命令を含んでよい。例えば、命令は、ビットコインプロトコルを実装するための命令を含んでよい。
メモリ220は、ブロックチェーンネットワーク100(図1)のグローバル台帳又はその部分を格納してよい。つまり、メモリ220は、ブロックチェーンの全部のブロック、又は最近のブロックのようなブロックの部分、又は幾つかのブロックの中の情報の部分を格納してよい。さらに、ゴーストチェーンが展開される間、メモリ220はゴーストチェーン又はその一部を格納してよい。
メモリ220は図2では単一のブロックにより示されるが、実際には、電子装置200は複数のメモリコンポーネントを含んでよい。メモリコンポーネントは、例えばRAM、HDD、SSD、フラッシュドライブ、等を含む様々な種類であってよい。異なる種類のメモリは、異なる目的に適してよい。さらに、メモリ220はプロセッサ210と別個に示されるが、プロセッサ210は内蔵メモリを含んでよい。
図2に示すように、プロセッサ210は、信頼できる実行環境(Trusted Execution Environment:TEE)250のようなセキュア領域を含んでよい。TEE250は、電子装置200に、独立した実行、信頼できるアプリケーションの完全性及びアセット機密性のような追加セキュリティを提供する独立実行環境である。TEE250は、TEE250内部にロードされたコンピュータ命令及びデータが機密性及び完全性の観点で保護されることを保証する実行空間を提供する。TEE250は、鍵のような重要リソースの完全性及び機密性を保護するために使用されてよい。TEE250は、少なくとも部分的にハードウェアレベルで実装される。その結果、TEE250内で実行される命令及びデータは、電子装置200の残りの部分からの及び電子装置の所有者のような外部パーティからのアクセス及び操作に対して保護される。TEE250内のデータ及び計算は、TEE250を含むノード102を作動させるパーティからセキュアにされる。
TEE250は、エンクレーブ(enclave、飛び地)をインスタンス化し、次にメモリページを1つずつ追加するよう動作し得ると同時に、累積的にハッシングする。同様の動作は、リモートマシン(これは、開発者の機械又は別の機械であってよい)上で実行されてもよい。その結果、リモートマシンは、期待されるハッシュを決定し及び格納する。enclaveの内容は、したがって、任意のリモートマシンにより検証でき、enclaveが承認済みアルゴリズムを実行していることを保証する。この検証は、ハッシュを比較することにより実行されてよい。enclaveは、完全に構築されると、固定化される。TEE250内でコードを実行すること、及びシークレットをコードに送信することが可能であるが、コードは変更できない。最終ハッシュは、アテステーション(attestation)鍵により署名されてよく、データ所有者が任意のシークレットをenclaveへ送信する前に、データ所有者がそれを検証するために利用可能にされてよい。
TEE250は、議会110(図1)により使用される議会公開鍵に関連付けられた秘密鍵シェアの機密性及び完全性を保護するために使用されてよい。例えば、TEE250は、秘密鍵シェアの生成及び記憶のために使用されてよい。TEE250は、いかなるメンバーもTEE250内に保持された秘密鍵シェア又は他の秘密鍵シェアに関する情報をメンバー間通信又はenclave間通信から直接取得できないことを保証するためのものである。プロトコルは、閾値のenclaveのセキュリティ侵害(compromise)に対してもロバストである。さらに、TEE250は、リモートアテステーションを可能にし得る。リモートアテステーションは、ノード102(図1)により、TEE250が確実であり且つ議会110により実施されるプロトコルのための承認済みコンピュータ実行可能命令を実行していることを他のノード102に証明するために使用されてよい。リモートアテステーションは、TEE250により、特定のコードピースを実行すること、及びenclaveの内部で、enclaveの内部アテステーション鍵により署名されたコードのハッシュを送信することにより、提供されてよい。
TEE250は、電子装置200上で秘密鍵シェアを前に使用したことのある議会110のメンバーが議会を退去することを選択したときに、秘密鍵シェアのセキュアな削除を証明するために使用されてよい。電子装置200は、TEE250内で提供されるリモートアテステーションプロトコルを通じて、他の議会メンバーに削除のアテステーションを伝達してよい。削除のアテステーションは、メンバーが議会のメンバーになると、議会プールへの彼らの前の転送を復帰することを許可される前に、要求されてよい。つまり、転送の復帰は、メンバーのenclave内に保持された秘密鍵シェアの削除のアテステーションを条件としてよい。
TEE250は、セキュアな乱数生成器を備えてよい。このセキュアな乱数生成器は、TEEのenclaveの内部にあり、秘密鍵、ランダムチャレンジ、又は他のランダムデータを生成するために使用できる。TEE250は、また、外部メモリからデータを読み出すよう構成されてよく、外部メモリにデータを書き込むよう構成されてよい。このようなデータは、enclave内部にのみ保持されたシークレット鍵により暗号化されてよい。
TEE250は、信頼できるプラットフォームモジュール(Trusted Platform Module:TPM)又はIntel Software Guard Extensions(SGX)のような様々なプラットフォームを用いて実装されてよい。SGXは、例えば、リモートアテステーションをサポートする。リモートアテステーションは、enclaveが、署名されたステートメントを、クオート(quote)として知られるメンバーの与えられたハス(has)により特定のenclaveを実行しているプロセッサから取得することを可能にする。Intel Attestation Service(IAS)のような第三者アテステーションサービスは、これらの証明されたステートメントがSGX仕様に従う真正CPUから生じることを認定し得る。
電子装置200は、ブロックチェーンネットワーク100(図1)内のノード102(図1)として動作し、議会110(図1)に加わり又はその他の場合参加してよい。議会110は、トークン持参人のグループが、ブロックチェーンネットワーク100(図1)によりサポートされるトークン又は掛け金若しくは価値をプールするとき、形成される。
<議会及び閾値署名>
議会110は、許可又は未許可グループであってよい。つまり、議会110は、ブロックチェーンネットワーク100(図1)内の任意のノード102(図1)により(つまり、ブロックチェーン内の情報の少なくとも一部を監視し及び格納する任意のノードにより)参加されてよい。議会110に参加するために、ノード102は、1つ以上のトークンを議会110に関連付けられたプールへ(つまり、1つ以上のトークンに関連付けられた公開グループアドレスへ、ここで、1つ以上のトークンは議会の他のメンバーに関連付けられている)転送する。このプールは、議会プールと呼ばれることがある。例えば、ノード102は、このようなトークンを議会プールに関連付けられたアドレスへ(つまり、公開グループアドレスとも呼ばれることのある「議会アドレス」へ)転送することにより議会110に参加してよい。実際に、転送は、幾つかのデジタルアセットの議会プールへのデポジットとして動作する。トークンは、議会公開鍵と呼ばれる、単一の公開鍵を有するグループ閾値署名の制御下に置かれる。議会メンバーは、分配法で生成された秘密鍵シェアを保持する。保持されるシェアの数は、プールへ転送される量に比例してよい。
議会110は、許可又は未許可グループであってよい。つまり、議会110は、ブロックチェーンネットワーク100(図1)内の任意のノード102(図1)により(つまり、ブロックチェーン内の情報の少なくとも一部を監視し及び格納する任意のノードにより)参加されてよい。議会110に参加するために、ノード102は、1つ以上のトークンを議会110に関連付けられたプールへ(つまり、1つ以上のトークンに関連付けられた公開グループアドレスへ、ここで、1つ以上のトークンは議会の他のメンバーに関連付けられている)転送する。このプールは、議会プールと呼ばれることがある。例えば、ノード102は、このようなトークンを議会プールに関連付けられたアドレスへ(つまり、公開グループアドレスとも呼ばれることのある「議会アドレス」へ)転送することにより議会110に参加してよい。実際に、転送は、幾つかのデジタルアセットの議会プールへのデポジットとして動作する。トークンは、議会公開鍵と呼ばれる、単一の公開鍵を有するグループ閾値署名の制御下に置かれる。議会メンバーは、分配法で生成された秘密鍵シェアを保持する。保持されるシェアの数は、プールへ転送される量に比例してよい。
議会110により制御されるトークンは、議会アドレスへ転送された任意のトークンを含み、閾値署名方式の制御下に置かれる。閾値署名方式の下で、合計秘密鍵シェア保持が閾値を超えるメンバーのグループは、トークンを議会110の制御から離れて転送させることを可能にする有効署名を生成する必要がある。つまり、少なくとも閾数の秘密鍵シェアが、議会110により制御されるトークンの任意の外向き転送のための有効署名を生成するために使用されなければならない。
議会公開鍵は、秘密鍵シェアの見返りに議会110のメンバーにより議会プールに転送されたトークン、及び秘密鍵シェアを取得する以外の理由で預けられている、議会110のメンバー又は非メンバーにより議会プールに関連付けられたアドレスへ転送された(つまり、完全に、部分的に、又は条件付きで議会の制御下に置かれた)任意のトークンを妨げる(encumber)。非メンバー又はメンバーは、様々な理由で議会に関連付けられたアドレスにトークンを転送してよい。
同じ議会公開鍵はメンバー転送(つまり、秘密鍵シェアの見返りに議会メンバーにより提供されたトークン)及び他の目的でメンバー又は非メンバーにより提供されたトークンの両方を妨げ得るので、議会に関連付けられたアドレスへの少なくとも幾つかの転送は、トークンの種類を示すために特別に注意を与えられてよい。例えば、トークンを議会アドレスへ転送するトランザクションは、フラグ、識別子、又は生成されるトークンの特性を示す他の属性を含んでよい。例として、議会に参加する又は議会メンバーシップにおいて掛け金を高める目的のために生成されていないトークンを議会アドレスへ転送するトランザクションは、転送が別の目的で生成されていることを示すための特別な識別子を含んでよい。このような識別子は、秘密鍵生成を管理するとき、議会110に関連付けられたノード102により使用されてよい。特に、グループに参加する目的でトークンを転送するノード102は、(トークンの転送を行う結果として)議会110の秘密鍵シェアを割り当てられる。一方で、他の目的で(例えば、サイドチェーンへ転送するために)トークンを転送した他のノード102は、(議会公開鍵に対応する)議会の議会秘密鍵シェアを保持しなくてよい。
議会110は、所与のメンバーによりプールへ転送されたトークンの全部又は部分の没収(confiscation)の脅威を通じて協力動作が強制される自律グループとして動作してよい。非協力又は不正メンバーは、多数の正直メンバーによる協力プロトコルへの参加により、このようなトークンを没収させ得る。
さらに、議会メンバーが議会110を退去したいと望むとき、彼らは、彼らの転送の復帰を要求してよい(つまり、議会110がメンバーによりプールへ前に転送されたトークンを該メンバーの個人アドレスへ転送して戻すことを要求する)。実際には、このような議会メンバーは、デジタルアセットのプールへの彼ら前のデポジットの回収を要求してよい。しかしながら、資金の回収は、有効デジタル署名を生成するために必要な閾値を超える数の秘密鍵シェアが回収を認可するためにグループ(つまり、議会)のメンバーにより使用される場合にのみ、実行される。
議会110により実装される閾値署名方式は、様々な種類であってよい。閾値署名方式は、少なくとも閾数の秘密鍵シェアが有効署名を生成することに貢献している限り、n個のパーティの間で署名を共有する能力を可能にする。閾値より少ない任意のサブセットは、有効署名を生成できない。特に、パーティの各々は秘密署名鍵のシェアを制御し、閾数の鍵シェアが、部分署名の結合を通じて有効署名を生成するために使用されなければならない。閾値より少ない鍵シェアの任意のサブセットは、部分署名の結合を通じて有効署名を生成できない。
閾値署名方式は、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm:ECDSA)方式であってよい。例えば、ECDSA方式は、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)で提案された種類であってよい。この閾値署名方式は、n個の鍵シェア保持者のパーティからのt+l個の鍵シェアが秘密鍵を再構成するために必要とされる、楕円曲線暗号法に基づくアルゴリズムであるデジタル署名方式の拡張である。この方式は、秘密鍵を再構成する必要がなく、及び任意のパーティが彼らの鍵シェアを別のパーティに開示する必要がなく、有効署名を構成するために使用されてよい。
t+l個の鍵シェアは、シークレットを再構成するのに充分なので、本技術による許可可能な敵対者の最大数はtである。敵対者は、Ibrahim他のモデルでは、シークレットシェアを保持している、及びシークレットシェアへのアクセスを有するパーティを堕落させた(corrupted)エンティティである。敵対者は、様々な種類であり得る。例えば、Byzantine敵対者は、実際には不正情報を送信していながら、プロトコルに参加しているふりをし得る敵対者である。Ibrahimにより提案されたECDSA方式は、最大t<=n/4の不正敵対者に対してロバストである。このロバスト性は、t=<n/3まで上昇し得るが、より大きな複雑性というコストがかかる。
Ibrahim他のECDSA方式は、休止しているt=<n/3の休止敵対者に対してロバストである。休止敵対者は、堕落したパーティがプロトコルに参加するのを防ぐ又は参加を途中で停止することができる。
このECDSA方式は、ノード102により不正又は非協力的パーティを識別するために使用され得る様々なメカニズムを含む。例えば、検証可能シークレット共有(verifiable secret sharing:VSS)は、Shamirのシークレット共有(Shamir’s Secret Sharing:SSS)のために必要な多項式を共有するために使用され得る。SSSは、シークレットが部分に分けられ、それ自体のユニークな部分への各々の参加に提供される、シークレット共有の形式である。これらの部分は、シークレットを再構成するために必要であり得る。VSSは、矛盾したシェアが異なるノード102に提供された場合、又はシェアが全ノードにブロードキャストされる隠れシェアと異なり、シェアがノードへ秘密に送信された場合、ノード102により、不正ノード102又はメンバーを識別するために使用されてよい。矛盾したシェアは、ノード102のうちのいずれかにより識別されてよい。シークレットの共有は、ノード102がそれらのシェアを矛盾しないとして検証することを可能にする補助情報を含むことにより、検証可能にされ得る。
不正シェアの個々のノードへの送信(つまり、ブロードキャストされる隠れシェアと異なるシェア)は、シェアの意図された受信ノードにより識別できる。ノードへ秘密に送信されている不正シェアの識別は、公然検証可能なシークレット共有(Publically Verifiable Secret Sharing:PVSS)の技術を用いて公に検証可能にできる。このような技術は、PVSSが使用されず及び不正シェアが送信されるときに不正シェアの受信側がオフラインである若しくはネットワークの根本部分から切り離されている場合に起こり得る、不正送信者の識別において起こり得る遅延を回避し得る。
矛盾したシェアを異なるノードに提供するような不正行為は、悪意ある行為を阻止する議会110により解決され得る。例えば、ノード102(図1)が他のノード102により不正パーティとして識別されると、閾値(例えば、t+1)を超えるノード102のメンバー(つまり、議会メンバーに関連付けられたノード)は、不正パーティにペナルティを科すために協力してよい。例えば、ノード102は、不正パーティにより議会へ転送された(つまり預けられた)(トークン、又は他の掛け金若しくは価値のような)トークンに関連する措置を行ってよい。例えば、議会は、デジタル通貨、トークン、掛け金若しくは価値を使用不可アドレスへ転送することにより、それらを焼却(burn)してよい。或いは、議会は、不正パーティへのそれらの返却を認可することを拒否することにより、このようなトークンを没収してよい。不正を行うノードではないノード102は、不正を行うノードを排除するために協力することにより(例えば、鍵シェアを効果的に無効化することにより、例えば、ノードが議会プロトコルに参加するのを排除することにより、又は秘密鍵を再共有し及び不正を行うノードにシェアを割り当てないことにより)、不正行為を阻止してもよい。
上述のECDSA技術は、TEEの使用を通じて拡張されてよい。例えば、Ibrahim他に基づく閾値ECDSA署名技術は、ここではByzantine敵対者と呼ばれる強力な形式の敵対者を予期している。この種の敵対者は、勝手に振る舞うことがある。例えば、彼らは、署名処理に参加すること又は途中でパーティを停止することを拒否するだけでなく、誠実に参加するふりをして、不正情報を送信することもある。しかしながら、TEEを用い、及びシークレット秘密鍵シェアが格納されるTEEのenclave内で署名に使用するためのデータを生成することにより、enclaveが有意な数において危険に晒される可能性が非常に低いので、追加セキュリティが提供され得る。各TEEが1つより多くの鍵シェアに割り当てられる場合、例えば、起こり得る危険に晒されるTEEの数は、nが充分に大きいと仮定すると、敵対者に対するロバスト性の閾に近付かないことが無理なく期待され得る。これは、鍵シェアの合計数に対して少ない割合の不正敵対者に対して耐性がある場合、プロトコルがセキュアであることを可能にする。
例えば、全ノードがTEEを有する場合、enclave内に格納されたシークレットの取得は、TEEの製造者が堕落していないならば、ノードへの物理アクセスによってのみ、多大な努力及び費用によってのみ、達成され得る。このような製造者レベルの堕落は、管理可能であることが期待される。例えば、製造者が、多数の公開鍵が誠実なTEEに対応すると偽って主張しようとした場合、彼らは、秘密鍵シェアへの直接アクセスを獲得し、攻撃を始める可能性がある。しかしながら、このような攻撃は、製造者が他のノードからの支援を伴わずに有効署名を生成できるために、充分な数の鍵シェアを要求し得る。これは、非常に高価になり得る全部の掛け金の大部分を蓄積することを意味し得る。さらに、攻撃を実行することにより、保持している掛け金の価値の大部分が破壊され得る。
TEEが使用されるとき、「堕落したノード」に対するプロトコルのロバスト性を意図することが有用である。堕落したノードは、TEEの外部のハードウェアが間違いを含むが、TEEの完全性が危険に晒されないノードである。堕落したノードは、どんな情報をenclaveが受信し及び受信しないかについて制御を有してよい。特に、堕落したノードは、停止し、つまりプロトコルへの参加を控えてよい。プロトコルに提供される情報がenclave内に秘密に保持された秘密鍵により署名される必要のある場合(対応する公開鍵が、アテステーション中に認証された場合)、秘密鍵はenclave自体と同じくらい信頼できる。したがって、堕落したノードは、勝手な(認証された)情報をプロトコルに送信することができず、停止することにより、又は例えば古い情報を提供することにより誤って動作するようenclaveを欺くことを試みることにより、邪魔をしようとするだけである。次に、堕落したノードでは、成功した攻撃は、完全な署名を生成するのに充分な数の部分署名を収集することを必要とし得る。TEEにより、Ibrahim他のプロトコルは、2t個の堕落したノードに対してロバストである。署名は、n-2t>=2t+1の場合に生成できるので、サイズ2t+1<=(n+1)/2の鍵シェアの任意の正規サブセットで充分である。したがって、TEEが使用されるとき、閾値署名方式の閾値は、堕落したノードが存在する場合に有効署名を生成するために、鍵シェアの50%以上の数になるよう構成されてよい。
他の閾値署名方式が使用されてもよい。例えば、閾値署名方式は、Goldfeder他、「Securing Bitcoin Wallets Via a New DSA/ECDSA threshold signature scheme」(2015)により提案された種類のECDSA閾値方式であってよい。このプロトコルはt+l個のパーティが有効署名を生成することを可能にする。したがって、敵対者が有効署名を生成するために制御しなければならない鍵シェアの数は、敵対者が秘密鍵を再構成するために所有しなければならない鍵シェアの数に等しい。この技術は、有効署名を生成するために全員の合意が必要な場合に効率的な方式を提供できる。大部分の一般的場合には、この方式は、任意の閾値についてn人のうちのt+l人のプレイヤの任意の可能なサブセットに対してプロトコル全体を繰り返す必要があるので、議会メンバーの数と共に指数関数的に増大する空間要件を課す。したがって、n及びtの両方の大きな値について、膨大な数の鍵シェアが格納される必要がある。このような記憶要件を軽減するために、標準的なビットコインのマルチシグネチャは、閾値署名と結合され得る。特に、トークンは、マルチシグネチャを用いてロックされ得る。その結果、各秘密鍵はシェアに分割される。この技術は、空間要件の観点で、大きな会議ほどより効率的にし得る。より小さなパーティサイズのうちの膨大な数の参加者に対して、複数レベルで、反復的方法で、方式を構成することにより、スケーリング特性も向上され得る。例えば、閾値署名方式は、Cohen他、「Efficient Multiparty Protocols via Log-Depth Threshold Formulae」(2013), Advances in Cryptology-CRYPTO 2013 pp185-202の技術と結合され得る。
非ECDSA署名方式を含む他の閾値方式が使用されてよい。例えば、Schnorr方式に基づく閾値方式は、ノード102により議会110を実装するために使用されてよい。
ブロックチェーンネットワーク100(図1)内のノード102(図1)は、選択された閾値署名方式に基づき議会プロトコルを実装してよい。このようなノード102は、議会プロトコルを実装する、メモリ220(図2)に格納されたコンピュータ実行可能命令を含んでよい。このような命令は、プロセッサ210(図2)により実行されると、(図2を参照して記載した種類の電子装置200のような)ノード102に、議会プロトコルの1つ以上の方法を実行させる。このような方法は、図4~8及び10の方法300、400、500、600、700、800、1000の任意の1つ又は組み合わせを含んでよい。したがって、議会プロトコルは、図4~8及び10の方法300、400、500、600、700、800、1000の1つ以上を含んでよい。方法は、他の議会メンバーに関連付けられた他のノードと協力して、ノードにより実行されてよい。
<議会の開始>
図3を参照すると、議会110を開始する方法300が示される。方法300は、議会110を設立するために、最初に信頼できるパーティにより実行されてよい。最初に信頼できるパーティに関連付けられたノード102が、方法300を実行してよい。
図3を参照すると、議会110を開始する方法300が示される。方法300は、議会110を設立するために、最初に信頼できるパーティにより実行されてよい。最初に信頼できるパーティに関連付けられたノード102が、方法300を実行してよい。
方法300は、動作302で、議会公開鍵を提供するステップを含む。議会公開鍵は、他のノードが議会に加わりたいと望む場合に議会公開鍵に支払うことができるように、他のノード102に提供されてよい。つまり、他のノードは、議会に加わるために、トークンを議会公開鍵に関連付けられたアドレスへ転送してよい。
方法300を実行するノード102は、動作304で、1つ以上の条件が満たされるまで、公開鍵への支払を許可する。例えば、ノードは、決定した時間期間の間、又は決定したブロック数の間、公開鍵への支払を許可してよい。条件が満たされた後(例えば、この時間期間の終了又はブロック数のマイニングの後)、方法300を実行するノード102は、動作306で、議会の初期メンバーを識別する。
議会の初期メンバーを構成するパーティが識別された後、動作307で、秘密鍵は、閾値署名方式に従い秘密鍵シェアに分割される。動作308で、秘密鍵シェアは、次に、方法300を実行するノード102から識別されたパーティに分配される。秘密鍵シェアは、本願明細書に記載した種類であってよい閾値署名方式に関連付けられる。
動作308の間、議会メンバーとして識別されたノード102は、新しい秘密鍵シェア及び新しい公開鍵を生成するために協力する。最初に信頼できるパーティによりこのようなノードへ送信された元の鍵シェアは、議会プールの中の全部のトークンを、次に議会公開鍵になる新しい公開鍵へ送信するトランザクションに署名しブロードキャストするために使用されてよい。つまり、動作408の間、新しいグループ公開アドレスが確立され、議会の制御下にあるトークンはこの新しいアドレスに転送される。この新しいアドレスは、グループの新しいアドレスになり、議会公開鍵に関連付けられる。この転送が確認された後、議会は信頼できる動作ができない(trustlessly)。新しいグループ公開アドレスが形成され、議会110に加わることを望む他のノードから、又は上述のような他の目的で、該アドレスへとトークンの転送が将来受信される。議会メンバーは、今や議会に加入していると見なされ、これらのノードは、今や最初に信頼できるパーティの支援無しに動作できる。さらに、最初に信頼できるパーティは、もはや、議会の動作においていかなる役割も果たさない。
<議会が開始された後に議会に加わる>
図4を参照すると、図4は、議会に加わる方法400を示す。図4の方法400は、図3の方法300と関連して動作してよいが、図4の方法400は、図3の方法300を実行するノードが動作するのと同じブロックチェーンネットワーク100(図1)内で動作するノード102のうちの別のノードにより実行される。図4の方法400は、動作402で、議会公開鍵を取得するステップを含む。議会公開鍵は、図3の方法300を実行するノードのような、議会を開始するパーティから直接取得されてよい。或いは、議会公開鍵は、例えば、ブロックチェーンネットワーク100(図1)の外部で動作する第三者システムを含む第三者から取得されてよい。例えば、議会公開鍵は、公衆インターネットを介してアクセス可能な公衆ウェブサーバから取得されてよい。
図4を参照すると、図4は、議会に加わる方法400を示す。図4の方法400は、図3の方法300と関連して動作してよいが、図4の方法400は、図3の方法300を実行するノードが動作するのと同じブロックチェーンネットワーク100(図1)内で動作するノード102のうちの別のノードにより実行される。図4の方法400は、動作402で、議会公開鍵を取得するステップを含む。議会公開鍵は、図3の方法300を実行するノードのような、議会を開始するパーティから直接取得されてよい。或いは、議会公開鍵は、例えば、ブロックチェーンネットワーク100(図1)の外部で動作する第三者システムを含む第三者から取得されてよい。例えば、議会公開鍵は、公衆インターネットを介してアクセス可能な公衆ウェブサーバから取得されてよい。
動作404で、方法400を実行するノード102は、ノード102に関連付けられたプライベートアカウントから議会アドレス(つまり、議会公開鍵に関連付けられたアドレス)へのトークンのトランザクションをブロードキャストすることにより、議会公開鍵に支払う。特に、ノード102は、1つ以上のトークンを議会公開鍵に関連付けられた公開グループアドレスに転送するトランザクションをブロードキャストする。公開グループアドレスは議会プールのためのアドレスである。議会プールは、議会の他のメンバーに関連付けられた他のトークンを含む。したがって、動作404で、トランザクションは、マイナー104(図1)によりブロックに追加されると、トークンを、他のメンバーからのトークンを含む議会プールへ転送する。公開グループアドレスは、議会に加わりたいと望むパーティからの転送、及び議会に加わりたいと望まないパーティからの転送の両方を受信してよい。議会に加わりたいと望まないパーティは、トークンを議会プールへ転送する。その結果、トークンは、議会により利用される閾値署名方式を用いて議会による全体的、部分的、又は条件付き制御下に置かれてよい。
動作404におけるトランザクションは、トークンを転送するパーティが議会に加わりたいと望むこと及び転送がそのような目的で生成されていることを示すフラグ、識別子、又は他の属性を含んでよい。
トークンを議会プールへ転送した後に、動作406で、方法400を実行するノード102は、秘密鍵シェアを受信する。次に、動作408で、ノード102は、プロトコルの単一のインスタンスを実行することにより、秘密鍵シェアを再生成する。秘密鍵シェアの生成は、ノード102のTEE内で実行されてよい。
動作408で、ノード102は、少なくとも閾値の秘密鍵シェアが議会の代わりにトランザクションのための有効署名を生成するために使用されなければならない閾値署名方式で使用されるべき秘密鍵シェアを生成する。秘密鍵シェアの他の保持者は、それぞれのトークンの公開グループアドレスへの転送により許可又は未許可に基づき議会に加わっている議会の他のメンバーである。
秘密鍵シェアを再生成するために、動作408で、既存議会メンバーは、鍵シェアを更新するよう協力してよい。例えば、ノード102は、定数項ゼロを有するt次のランダム多項式f0
n+1(x)を生成してよい。ノード102は、次に、点f0
n+1(n+1)を計算し、これをそれらの秘密鍵シェアとして設定してよい。ノード102は、次に、この多項式f0
n+1(i)上の点を既存議会メンバーの各々に分配してよい、i=1,...,n。各既存議会メンバー(i=1,...,n)は、次に、受信した値を彼らの既存秘密鍵シェアに加算して、新しい秘密鍵シェアを得る。ノード102は、今や全ての他のメンバーと等価な秘密鍵シェアを有し、対応する公開鍵は不変のままである。上述のように、閾値署名方式は、楕円曲線デジタル署名アルゴリズム又はSchnorr方式に基づく閾値方式を含む様々な種類であってよい。
秘密鍵シェアは、TEE250(図2)内で生成されてよく、ノード102にセキュアに格納されてよい。例えば、秘密鍵シェアは、TEE250に格納されてよい。
秘密鍵シェアがそれぞれのノードにより生成された後、前の議会公開鍵の制御下にある資金(例えば、元の議会公開鍵に関連付けられた公開グループアドレスに転送された資金)は、(閾値署名方式の下で有効署名を生成するのに充分な数のグループノードの協力を通じて)新しい秘密鍵シェアに関連付けられた新しい議会公開鍵に転送されてよい。
秘密鍵シェアは、動作408で生成された後、方法400の動作410で使用されてよい。秘密鍵シェアは、メンバーによりブロードキャストされてよい公開グループアドレスからのトランザクションのために有効署名を協力して生成するために使用されてよい。つまり、秘密鍵シェアは、署名生成に貢献するために閾値署名方式で使用されてよい。閾値署名方式の下で、議会の閾数の秘密鍵シェアが、トークンを議会から離れて転送させることを可能にする有効署名を生成するために、それぞれのメンバーにより使用される必要がある。方法400を実行するノード102は、秘密鍵シェアを記憶装置から読み出し、署名生成に貢献するために秘密鍵シェアを使用してよい。充分な数の他の議会メンバーも、署名生成に貢献するために彼らのそれぞれの秘密鍵を使用する場合、署名が生成され、有効な外部へのトランザクションがブロードキャストされてよい。ブロックチェーンネットワーク100のマイナー104(図1)が、ブロックチェーンネットワーク100内のノード102の総意によりブロックチェーンに追加されるマイニングされたブロックにトランザクションを追加し、ブロックが確認されると、外部へのトランザクションが完了する。この時点で、トランザクション内で提示されるトークンは、もはや議会の制御下になくてよい。つまり、このようなトークンは、もはや議会公開鍵により妨げられなくてよい。
動作408における秘密鍵シェアの使用は、ノード102のTEE内で実行されてよい。TEEは、秘密鍵シェアを保護する。その結果、システムの他の部分又はメンバー自身も、秘密鍵シェアのような、enclaveに格納されたいかなるデータにもアクセスできない。さらに、TEEは、メンバーが彼らの転送を戻すこと及び彼らの転送の復帰を受け取りたい場合、メンバーの転送が復帰される前に秘密鍵の削除を証明しなければならないので、秘密鍵のコピーを保持できないという点で秘密鍵を保護する。
図4の方法400は、初期ステップ段階の間に又は後に実行されてよい。つまり、方法400は、初期鍵シェアが分配される前に(例えば、図3の方法300の動作308の間に)又はその後に(例えば、以下に詳述する再バランスの間に)、実行されてよい。
動作410におけるトランザクションは、トークンを議会プールに元々転送したパーティに、該トークンを転送して戻してよい。つまり、転送は、該パーティにトークンを返却してよい。転送は、デジタルアセットを他の場所へ転送してもよい。例えば、トークンは、第三者へ又は使用不可アドレスへ転送されてよい。
<トークンの没収>
図5を参照すると、トークンを没収する例示的な方法500が示される。図5の方法500は、図4の方法400を実行するのと同じノードであってよいノード102により実行されてよい。方法500は、図4の方法400の動作408の後に実行されてよい。その結果、ノード102は、図5の方法500が実行されるとき、既に秘密鍵シェアへのアクセスを有する。
図5を参照すると、トークンを没収する例示的な方法500が示される。図5の方法500は、図4の方法400を実行するのと同じノードであってよいノード102により実行されてよい。方法500は、図4の方法400の動作408の後に実行されてよい。その結果、ノード102は、図5の方法500が実行されるとき、既に秘密鍵シェアへのアクセスを有する。
動作502で、ノード102は不正パーティによる不正行為を検出する。不正パーティは、議会の別のメンバーであってよい。ノード102が、議会のメンバーが所定プロトコル又は基準に違反していると決定すると、不正行為が検出される。例えば、議会のメンバーであるノードが、誤った情報(つまり、偽の、不正な、又はその他の場合に許容不可能な情報)を議会の他のメンバーに報告すると、メンバーは不正メンバーであると見なされてよい。
動作503で、不正行為の検出に応答して、ノード102は、議会の他のノードと協力して、不正パーティであるメンバーを一時停止してよい。つまり、議会は、議会への更なる参加から不正パーティを除外してよい。
全てのノード102が所定プロトコル又は基準に従い動作することを保証するために、議会プールへのメンバーの転送は没収を受けることがある。没収は、没収されると見なされたメンバーの転送の返還を永久的に妨げることを意味する。不正行為により返還されないメンバーの転送を形成するトークンは、議会プールに残され得るが、返還されず、直ちに又は将来に別の使用不可アドレスへ転送され、又はその他の場合、没収される。没収の特性は、議会がサイドチェーンの結合した検証器セットとして機能するか否かに依存してよい。例えば、動作504で、不正パーティによる不正行為の検出に応答して、方法500を実行するノード102は、没収トランザクションに対する部分署名を提供するために、秘密鍵シェアを使用してよい。つまり、ノードは、議会の他のノードと協力して、不正パーティにより公開グループアドレスへ(つまり議会プールへ)前に転送されたトークンの少なくとも一部を没収する。つまり、グループメンバーが所定プロトコル又は基準に違反していることを観察することに応答して、秘密鍵シェアは、該グループメンバーに関連付けられた、議会プール内に保持されている1つ以上のトークンのトランザクションの認証に貢献するために利用される。
閾値署名方式が議会公開鍵と共に使用されるので、単独で動作する個々のノードは、別の議会メンバーのトークンの転送を、議会プールから離れて(例えば使用不可アドレスへ)転送できない。むしろ、閾数の秘密鍵シェアがそれらのそれぞれのメンバーによりトークンを別のアドレスへ転送するために有効署名を生成するために使用されるとき、又は、少なくとも閾数の秘密鍵シェアを有するメンバーのグループが(動作503で)メンバーを一時停止する総意に達し、これが一時停止されたメンバーからの回収要求を自動的に無視させるとき、トークンは転送によってのみ没収できる。トークンが転送により没収されると、トークンが転送され得る他のアドレスは、使用不可アドレスに関連付けられてよい。例えば、他のアドレスは、秘密鍵の存在しないアドレスであってよい。その結果、いかなるパーティも、該アドレスの公開鍵により結合されたトークンにアクセスできない。トークンが使用不可アドレスへ転送されると、それらは、もはや議会のいずれのメンバーによっても又は実際にブロックチェーンネットワーク100内のいかなるノードによっても使用できないので、焼却されたと考えられてよい。
したがって、動作504で、ノードは、使用不可アドレスへのトランザクションのための有効署名を生成するために議会の他のメンバーと協力して秘密鍵シェアを使用することにより、トークンを没収してよい。
さらに、幾つかの実装では、議会は、proof-of-stakeサイドチェーンをセキュアにする結合検証器セットとして機能してよい。このサイドチェーンは、ブロードキャストチャネルとして使用されてよい。例えば、総意は、メンバーが不正に動作していたサイドチェーン上で、議会メンバーにより達成されてよい。この総意は、不正行為の証拠を告発することを含むサイドチェーントランザクションの確認に対応し得る。総意が達成されると、不正メンバーにより行われるメンバーの転送を回収するいかなる要求も拒否され、転送は没収されたと考えられる。没収されたトークンの全部又は一部は、将来のいつかに焼却(burnt)されてよい。つまり、後のいつかに、(不正メンバーを含まない)閾値のメンバーは、協力して、没収されたトークンの使用不可アドレスへの転送を認可してよい。トークンの幾つか又は全部は、代わりに、メンバーの不正の証拠を提供したノードへの報酬として送信されてよい。
議会は、ブロックチェーンネットワーク100の任意のノード102によりトークンの転送を通じて参加され得る開放型グループであるので、グループメンバーは周期的に変化してよい。このような変化が生じると、秘密鍵シェア分配が更新されてよい。図6を参照すると、秘密鍵シェア分配を更新する例示的な方法600が示される。方法600は、ブロックチェーンネットワーク100の他のノードと協力して、ブロックチェーンネットワーク100のノード102により実行されてよい。
<新しい公開アドレスを用いて秘密鍵シェア分配を更新する>
方法600の動作602で、ノード102は、再分配要求を検出する。再分配要求は、その履行が鍵シェアの再分配を伴う要求である。例えば、ノード102は、見込み新メンバーがトークンを公開グループアドレスへ転送すること、又は既存メンバーがメンバーの転送の回収を要求したことを検出してよい。
方法600の動作602で、ノード102は、再分配要求を検出する。再分配要求は、その履行が鍵シェアの再分配を伴う要求である。例えば、ノード102は、見込み新メンバーがトークンを公開グループアドレスへ転送すること、又は既存メンバーがメンバーの転送の回収を要求したことを検出してよい。
トークンは、議会に参加すること又は議会における彼らの関与を増大することを要求するノードにより、又は議会に参加することを要求しないが代わりに(例えば、上述のようにサイドチェーンへトークンを転送するような)別の目的でトークンを議会へ転送する他のノードにより、公開グループアドレスに(つまり、議会プールへ)転送されてよい。動作602で、ノード102は、議会メンバー(つまり、議会に参加するために及び別の目的ではなくトークンを議会公開鍵へ転送したパーティ)を、公開グループアドレスへのトークンのトランザクションの少なくとも一部に含まれる1つ以上の属性を用いて、識別してよい。例えば、特定のトランザクションは、トランザクション内の属性を用いて特別トランザクションとして注意を与えられて(flag)よい。このような属性(又はその存在若しくは不存在)は、転送が行われる目的を示してよい。例えば、転送者が議会に参加することを要求していないとき、フラグがトランザクションに含まれてよい。
動作602で要求を検出することに応答して、動作604で、該要求の履行は、鍵シェアの再分配を伴う。新しい秘密鍵シェアが、ノード102により、図4の方法400の動作408で秘密鍵シェアが生成された方法と同様の方法で生成される。議会の他のメンバーノードも、それぞれの秘密鍵シェアを生成する。これらの秘密鍵シェアは、新しい議会公開鍵に対して閾値署名方式で使用されてよい。この時点で議会を去るメンバーは、動作604の間に新しい秘密鍵シェアを生成しない。彼らは、新しい議会公開鍵と共に使用するための秘密鍵シェアを割り当てられないので、彼らは、議会に参加する能力を失い、もはや議会メンバーと考えられない。
さらに、再分配要求(これは、その履行が鍵シェアの再分配を伴う要求である)を検出することに応答して、動作606で、ノード102は、他の議会メンバーと協力して、公開グループアドレス内の全部のトークンを、新しい公開鍵に関連付けられた新しい公開アドレス(これは、次に新しい議会公開鍵になる)へ転送する。
したがって、図6の方法600によると、転送の分配が変化すると、又はフープへのアセットの転送を復帰する要求がメンバーから受信されると、秘密鍵シェアが再生成されてよく、議会の制御下にあるトークンの全部が新しい公開鍵へ移動されてよい。議会のメンバーシップが更新され得る頻度は、ブロックチェーンネットワーク100のブロック時間により制限される。多くのアプリケーションは、低い頻度でのみ再バランスを要求し得る。
<既存公開グループアドレスを保持しながら、秘密鍵シェア分配を更新する>
図7を参照すると、秘密鍵シェア分配を更新する更なる例示的な方法700が示される。方法700は、ブロックチェーンネットワーク100の他のノードと協力して、ブロックチェーンネットワーク100のノード102により実行されてよい。
図7を参照すると、秘密鍵シェア分配を更新する更なる例示的な方法700が示される。方法700は、ブロックチェーンネットワーク100の他のノードと協力して、ブロックチェーンネットワーク100のノード102により実行されてよい。
図7の方法700では、議会公開鍵は、トークンの公開グループアドレスへ/からの転送が生じる度に変化しない。新しい鍵シェアを割り当てる要求が検出されると(動作702で、これは、トークンの公開グループアドレスへの転送を通じて生じてよい)、ノード102は、議会の他のメンバーと協力して、(動作704で)同じ公開鍵に対する新しい秘密鍵シェアをグループの新しいメンバーに発行する。協力するノードの数は、少なくとも、閾値署名方式の下でデジタル署名を生成するために必要なノードの閾数である。動作704で、追加鍵シェアが割り当てられてよく、一方で他の鍵シェアは同じままである。これは、変化が実際には小さいものであり得るが、(閾値署名方式の)閾値の変化を伴ってよい。代替として、動作704で、追加鍵シェアが割り当てられてよく、一方で他の鍵シェアは更新される。このような更新は、前の生成の任意の鍵シェアの削除のアテステーションを伴うことが必要である。この場合、(SSSのコンテキストでは、これは新しい多項式における、昇順の(increased order)共有を含む)同じ閾値を維持しながら、新しいシェアが割り当てられてよい。
動作702で、ノード102は、議会メンバー(つまり、議会に参加するために及び別の目的ではなくトークンを議会公開鍵へ転送したパーティ)を、公開グループアドレスへのトークンのトランザクションの少なくとも一部に含まれる1つ以上の属性を用いて、識別してよい。例えば、特定のトランザクションは、トランザクション内の属性を用いて特別トランザクションとして注意を与えられてよい。このような属性(又はその存在若しくは不存在)は、転送が行われる目的を示してよい。例えば、転送者が議会に参加することを要求していないとき、フラグがトランザクションに含まれてよい。
メンバーが方法700を使用する議会を退去するとき、彼らは彼らの秘密鍵シェアをセキュアに削除してよい。古いメンバーの秘密鍵シェアが使用できないことを保証するために、議会のメンバーは、特別なTEEを有するノード102を使用することを要求されてよい。TEEは、それらの内部で実行される命令及びデータがシステムの残りの部分からのアクセス及び操作に対して保護されることを保証する、ハードウェアレベルで実装されるアーキテクチャである。TEEは、ハードウェアメカニズムを利用して、議会の他のノードのような外部パーティに対してシステムの完全性を検証するために使用可能なリモートアテステーションチャレンジに応答してよい。
各メンバーノードは、集積回路レベルのハードウェアを危険に晒すことなくホストシステムにアクセスできないままの1つ以上のランダムシークレット値を生成するよう構成される認定TEEを使用してよい。このように生成されたシークレット値は、秘密鍵シェアの分散生成において(例えば、図4の方法400の動作410で)使用され得る。このシークレット値は、議会の設立段階で共有公開鍵を確立するためにも使用され得る。設定プロトコルに関連付けられた計算は、TEE enclave内で実行される。その結果、いかなるメンバー又は前のメンバーも、彼ら自身の又は他者の秘密鍵シェアに関するいかなる情報も、メンバー間通信から又は任意の他の方法から引き出すことができない。TEE内のenclaveは、リモートアテステーションプロトコルが実行されることを可能にする。リモートアテステーションプロトコルは、TEE enclaveが認証されること及び認可されたコンピュータ可読命令を実行していることを他のノードに証明するために使用されてよい。
グループ変化に関連する計算は、TEE enclave内で実行される。例えば、SSSの目的で新しい多項式を計算する際に使用され得る新しいセキュアランダムシークレットの生成は、TEE enclave内で実行される。
TEE enclaveは、また、特定メンバーが議会に加わると行われたプールへの前の転送が復帰できる前に、もはや使用されるべきではない前の鍵シェア及び前のシークレットがセキュアに削除されたことを保証することを目的とする。特に、プールへのこのような転送を復帰させるために、アテステーションプロトコルは、TEE enclaveが鍵シェアの削除を証明することを要求してよい。各ノード102は、このようなアテステーションを、要求された削除が他のノード上で生じたことの、リモートアテステーションプロトコルを通じた確認として解釈してよい。したがって、方法700は、議会から去ったメンバーのTEE内に前に保持された秘密鍵シェアが、該メンバーに関連付けられたノードから削除されたことを確認するステップ、を更に含んでよい。この確認は、秘密鍵シェアの削除のアテステーションを受信することにより実行されてよい。したがって、リモートアテステーションプロトコルが、議会を去ったメンバーのTEE内に前に保持された秘密鍵シェアの削除に対するアテステーションを取得するために使用されてよい。
図6の方法600及び図7の方法700は、それぞれ様々な利益を提供する。例えば、図6の方法600は、セキュアな削除に依存せず、信頼できるハードウェアに依存する必要がない。しかしながら、図6の方法600は、幾つかの状況では、このようなハードウェアが鍵シェアの不正プールを一層起こりにくくし得るので、このようなハードウェアから利益を享受し得る。
図7の方法700は、メンバーシップが変化する度に、新しい議会公開鍵の下でトークンを再ロックしなければならないことを回避する。さらに、幾つかの状況では、方法700は、図6の方法600より速くメンバーシップを更新し得る。これは、図7の方法700の下では、トークンが新しい公開鍵に移動されないので、全てのトークンを新しい公開鍵へ移動するために、トランザクションがブロックチェーンに追加される必要がないからである。つまり、メンバーシップは、図7の方法700を用いて更新されてよく、公開鍵が変化しないので、トークンの新しい公開鍵への転送を確認するために幾つかのブロックが生成されるのを待つ必要がない。
<議会からの抹消>
上述のように、グループメンバーは、時折、議会を去ることを要求することがある。グループメンバーが議会から抹消するとき、彼らが議会プールへ前に転送したトークンは彼らに返却されてよい。図8を参照すると、このような転送を返却する例示的な方法800がフローチャートの形式で示される。方法は、議会の他のノード102と協力して、ノード102により実行されてよい。
上述のように、グループメンバーは、時折、議会を去ることを要求することがある。グループメンバーが議会から抹消するとき、彼らが議会プールへ前に転送したトークンは彼らに返却されてよい。図8を参照すると、このような転送を返却する例示的な方法800がフローチャートの形式で示される。方法は、議会の他のノード102と協力して、ノード102により実行されてよい。
方法800の動作802で、ノード102は、議会メンバーである要求者から回収要求を受信する。回収要求は、抹消要求とも呼ばれてよい。回収要求は、要求者によりプールへ前に転送され現在は議会により制御されるトークンを回収するための要求である。要求は、要求者により議会メンバー全員にブロードキャストされてよい。
要求を受信することに応答して、動作804で、ノード102は決定された基準に対して要求を評価する。このような基準は所定基準であってよい。議会が、グループメンバーシップが変化する度に議会公開鍵が変更されない議会プロトコルに従い動作する場合、動作804で、ノード102は、秘密鍵シェアが要求者により削除されたことを確認してよい。このような確認は、TEEに関連付けられたリモートアテステーションプロトコルを用いて取得されてよい。
議会プロトコルが、メンバーシップが変化するとき議会公開鍵が変更されるものである場合、秘密鍵シェアはもはや有効ではないので、ノード102は、秘密鍵シェアの削除を確認しなくてよい。代わりに、新しい議会鍵が使用されてよく、議会の制御下にある他のトークンは、新しい議会鍵へ転送されてよい。
動作804で、評価は、ゴーストチェーンが現在展開されているか否かを検討してもよい。ゴーストチェーンが展開されている場合、ゴーストチェーンの動作が停止するまで、回収要求は距離される。つまり、ゴーストチェーン上でマイニングする議会メンバーは、少なくともゴーストチェーンが終了するまで、トークンの彼らの「掛け金」を回収することを妨げられる。
ノード102が評価に基づき回収要求を認可した場合、動作806で、ノードはトークンの回収を促進する。つまり、ノード102は、自身の秘密鍵シェアを使用して、デジタル署名を協力して生成し、要求者によりプールへ前に転送されたトークンを要求者へ転送して戻すためにデジタル署名を使用する。例えば、トークンは、それらが前に受信されたアドレスへ送り返されてよい。動作806は、閾値署名方式に従い実行される。その結果、回収は、少なくとも閾数の議会メンバーが回収を承認した場合にのみ有効になる。動作806は、抹消を望むメンバーがある時間期間の間、活動を一時停止された後に、実行される。この待機期間は、プールへのメンバーの前の転送の復帰のためのプロトコルが実行されている間、メンバーが不正行為に従事するのを防ぐ。
議会プロトコルは、多数の異なる目的で使用されてよい。議会は、様々な機能を実行するセキュアなメカニズムを提供する。議会は、信用できるよう動作しなくてよく、トークンに対する所有権の制御を提供する。
議会プロトコルは、例えば、ゴーストチェーンを実装するために使用されてよい。この場合、議会プロトコルは、ゴーストチェーンプロトコルと呼ばれてよい。
<ゴーストチェーン>
図9を参照すると、ブロックチェーン902及びゴーストチェーン904が示される。ブロックチェーン902は、ブロックに基づく分散proof-of-work台帳である。ゴーストチェーン904は、ブロックチェーンのノードの間で分散型総意を達成するために使用されてよい、ブロックに基づく分散proof-of-stake分散台帳である。例えば、総意は、ブロックチェーンネットワーク内のノード間の論争を解決するために総意を達成するために使用されてよい。例えば、ブロックチェーンは、あるノードが別のノードにより提出された作業成果に異議を申し立てる(チャレンジする、challenge)チャレンジを含んでよい。このようなチャレンジは、図9で「C」と示される。チャレンジは、例えば、ノード(つまり、チャレンジャー)が、要求の履行において提案された結果が無効であると示すとき、生じてよい。
図9を参照すると、ブロックチェーン902及びゴーストチェーン904が示される。ブロックチェーン902は、ブロックに基づく分散proof-of-work台帳である。ゴーストチェーン904は、ブロックチェーンのノードの間で分散型総意を達成するために使用されてよい、ブロックに基づく分散proof-of-stake分散台帳である。例えば、総意は、ブロックチェーンネットワーク内のノード間の論争を解決するために総意を達成するために使用されてよい。例えば、ブロックチェーンは、あるノードが別のノードにより提出された作業成果に異議を申し立てる(チャレンジする、challenge)チャレンジを含んでよい。このようなチャレンジは、図9で「C」と示される。チャレンジは、例えば、ノード(つまり、チャレンジャー)が、要求の履行において提案された結果が無効であると示すとき、生じてよい。
チャレンジがあるノードにより発行されると、ゴーストチェーン904が展開される。ゴーストチェーンは、チャレンジに応答して、チャレンジCが生じた後にインスタンス化される。ゴーストチェーンは、ゴーストチェーンの前のインスタンス化からの最終ブロック(終了ブロックとも呼ばれる)である起源ブロックによりインスタンス化されてよい。ゴーストチェーンが、Jで示される合意(つまり判定)に達するまで、デジタル論争を解決するために、多数のブロックがマイナーによりゴーストチェーンに追加される。
総意に達すると、トランザクション(以下では最終トランザクション又は確定(settlement)トランザクションと呼ばれる)が構成され署名されてよい(以下に詳細に記載する)。このトランザクションは、総意に従いメインブロックチェーン902上で資金を分配する、ゴーストチェーンのマイナーに報酬を出すために資金を分配する、等の効果を有するトランザクションであってよい。トランザクションは、総意の結果をメインブロックチェーン902に通信して返してもよい。特に、結果は、トランザクション内にカプセル化されてよい。
総意が達成され、最終トランザクションが構成され及び署名された後に、ゴーストチェーン904は終了し、構成されたトランザクションはメインブロックチェーン902へとマイニングされる。ゴーストチェーン904は、終了するので、末端(terminal)ブロックを有する標準的なブロックチェーンとは異なる。この末端ブロックは、ゴーストチェーン904内の最後のブロックであり、総意が決定され、総意に従いメインブロックチェーン902上で資金を分配する、ゴーストチェーンのマイナーに報酬を出すために資金を分配する、等の結果として生じたトランザクションが有効に署名されると、生じる。
<要求者-提案者-チャレンジャー、及びゴーストチェーン>
したがって、ブロックチェーンネットワーク100(図1)内のノード102(図1)は、要求者-提案者-チャレンジャープロトコル、及び/又はゴーストチェーン解決プロトコルを実装してよい。このようなノード102は、このようなプロトコルを実装する、メモリ220(図2)に格納されたコンピュータ実行可能命令を含んでよい。このような命令は、プロセッサ210(図2)により実行されると、(図2を参照して記載した種類の電子装置200のような)ノード102に、プロトコルの1つ以上の方法を実行させる。このような方法は、図10~13の方法1000、1100、1200、1300の任意の1つ又は組み合わせを含んでよい。
したがって、ブロックチェーンネットワーク100(図1)内のノード102(図1)は、要求者-提案者-チャレンジャープロトコル、及び/又はゴーストチェーン解決プロトコルを実装してよい。このようなノード102は、このようなプロトコルを実装する、メモリ220(図2)に格納されたコンピュータ実行可能命令を含んでよい。このような命令は、プロセッサ210(図2)により実行されると、(図2を参照して記載した種類の電子装置200のような)ノード102に、プロトコルの1つ以上の方法を実行させる。このような方法は、図10~13の方法1000、1100、1200、1300の任意の1つ又は組み合わせを含んでよい。
図10~13を参照すると、要求者-提案者-チャレンジャープロトコル、及び/又はゴーストチェーン解決プロトコルに含まれ得る方法が示される。要求者の方法1000は、図10に示され、計算交換においてタスクの要求者により実行されてよい。つまり、タスクの完了を要求するノード102は、図10の要求者の方法1000を実行してよい。このノードはブロックチェーンネットワーク100(図1)内のノードであり、このノードは要求者と呼ばれてよい。
提案者の方法1100は、図11に示される。提案者の方法1100は、タスクの解の提案者により実行されてよい。つまり、タスクを完了させることを請求するノード102は、図11の方法1100を実行してよい。このノードはブロックチェーンネットワーク100(図1)内のノードであり、このノードは提案者と呼ばれてよい。
チャレンジャーの方法1200は、図12に示される。チャレンジャーの方法1200は、タスクの解のチャレンジャーにより実行されてよい。つまり、提案者により提出された解にチャレンジするノード102は、図11の方法1200を実行してよい。このノードはブロックチェーンネットワーク100(図1)内のノードであり、このノードはチャレンジャーと呼ばれてよい。
ノード間の総意を達成するための調停方法1300は図13に示される。調停方法1300は、ブロックチェーンネットワークのノードにより、分散型総意を達成するためにブロックチェーンネットワークの他のノードと協力して実行される。他のノードと協力して調停方法を実行するノードは、調停者と呼ばれてよい。
図10~13の方法1000、1100、1200、1300は、協力して実行される。例えば、方法は、ゴーストチェーンが提案者の解の有効性を保証するために使用される要求者-提案者-チャレンジャープロトコルを協同で提供する。
要求者の方法1000(図10)の動作1002で、要求者と呼ばれるノードは要求を発行する。要求はタスクを完了するための要求である。例えば、タスクは作業成果についての要求であってよい。特に、プロセッサに対する作業成果についての(つまり、プロセッサに対し、計算の結果のような所定の作業成果を生成することの)要求であってよい。タスクは、費用の高い計算、金融契約のような外部ソースからのインプットを要求するタスク、又はアルゴリズム若しくは文書のような特定プロパティを有するデータを生成するタスクであってよい。要求は、タスク完了の成功と引き換えに、ブロックチェーンネットワーク100に関連付けられたトークンの形式で報奨金を提供する。要求は、ブロックチェーン外で(つまり「オフチェーンで」)発行されてよい。例えば、要求は、インターネットを介してアクセス可能なウェブサーバ上で発行されてよい。要求は、要求に対する候補解が固定時間期間(これは、「チャレンジ期間」と呼ばれてよい)の間、チャレンジされないとき、又は計算をゴーストチェーン上で再実行することにより解かれるチャレンジの場合、候補解がオンチェーン計算の結果と一致することが分かったとき、完了が成功したと定められる。
(動作1002で)要求は、計算交換の中で発行されてよい。計算交換は、要求されたタスクの集合であってよい。例えば、複数のタスクが計算交換の中で発行されてよい。タスクは、同じ要求者により又は異なる要求者により発行されてよい。計算交換は、ノードが計算又はアルゴリズムの実行を他のノードにオフロードすることを可能にする。
提案者の方法1100(図11)の動作1102で、提案者と呼ばれるノードは要求を識別する。(動作1104で)ノードは次にタスクをオフチェーンで完了することに進む。例えば、要求者により要求されたアルゴリズム、データ、又は他の結果は、プロセッサによる作業成果として取得されてよい。
提案者は、次に、方法1100(図11)の動作1106で提案を提出してよい。提案は、図10の方法1000の動作1002で要求者により発行された要求に関連付けられたタスクを完了させることの請求である。提案を提出するために、提案者は、ブロックチェーンネットワーク100についての彼らの公開鍵を要求者へ送信してよい。提案者は、タスクの解をコミット(確約、commit)してもよい。このコミットは、解のハッシュの形式であり得る(つまり、計算の出力又は別の種類の解のような、作業成果のハッシュ)。
要求者は、図10の方法1000の動作1004で提案を受信する。例えば、要求者は、提案者の公開鍵及び「コミット」(例えば、表明された作業成果のハッシュ)を受信してよい。
提案を受信することに応答して、図10の方法1000の動作1006で、要求者はトランザクションT1を構成してよい。トランザクションはインプットとして報奨金を含む。トランザクションは、報奨金及び提案者のデポジットもアウトプットとして含む(つまり、T1_out=bounty+proposer_deposit)。トランザクションT1は、提案者が彼ら自身のインプットを追加することを可能にするために署名される。例えば、トランザクションT1は、署名されてよいSIGHASH_ALL|SIGHASH_ANYONECANPAY。SIGHASH_ALLは、任意の署名スクリプトを除くトランザクション全体に署名するデフォルト署名ハッシュ型であり、署名済み部分の変更を防ぐ。SIGHASH_ANYONECANPAYは、現在のインプットのみに署名する署名ハッシュ型である。
トランザクションT1は、2つの方法でアンロックされるよう構成される。チャレンジ期間(後述する)の終了後、これは、提案者の署名(つまり、提案者が要求者に提供した公開鍵に対応する署名)及びコミットに対応する解によりアンロックされてよい。例えば、演算コードOP_CHECKSEQUENCEVERIFYは、チャレンジ期間の間、トランザクションをロックするが、該期間内にチャレンジが無かった場合に提案者によりアンロックできるようにするために使用されてよい。トランザクションは、また、いつでも、議会110(図1)のグループ署名によりアンロックされるよう構成される。つまり、トランザクションは、議会のメンバーであるノードが彼らそれぞれの秘密鍵シェアを用いて議会110の閾値署名方式に従いトランザクションを協力してアンロックするとき、チャレンジ期間の終了前又は後にアンロックできる。
トランザクションは、コミットのような嫌疑の掛かった解に関する情報も含んでよい。例えば、表明された作業成果のハッシュは、OP_PUSHDATA演算コードを用いてトランザクションに追加されてよい。特に、表明された作業成果のハッシュは、トランザクションのロックスクリプトに追加されてよい。このロックスクリプトは、ロックスクリプトに含まれる表明された作業成果のハッシュをハッシュする解を提供するアンロックスクリプトにより(チャレンジ期間の終了後に)アンロックされるよう構成される。
図10及び11に示されないが、プロセッサは、動作1006で構成されたトランザクションT1を受信してよく、提案者デポジットをインプットとしてトランザクションT1に追加してよい。プロセッサは、トランザクションを、ブロックチェーンネットワーク100(図1)の他のノードへブロードキャストする。トランザクションは、次に、公衆に見えるように、ブロックチェーン上でマイニングされる(つまりブロックに追加される)。、
トランザクションがブロックチェーン上でマイニングされると、チャレンジ期間が開始される。チャレンジ期間の間、ノード102(図1)は提案者により提出された提案に対してチャレンジし得る。チャレンジがチャレンジ期間中に発行されない場合、提案者は、報奨金及び提案者デポジットをトランザクションT1から請求してよい。提案者は、チャレンジ期間の残り時間の量を追跡するためにタイマを開始してよく、チャレンジ期間が終了すると自動的に措置を取ってよい。例えば、プロセッサは、プロセッサの作業成果のような作業成果(これは、解と呼ばれてよい)を要求者に提供してよく、トランザクションをアンロックしてよい。
提案者は、解を提案者に直接提供しなくてよい。代わりに、提案者は、メインブロックチェーンネットワーク上のトランザクションに解を埋め込むことにより、解を提供してよい。例えば、提案者は、アンロックスクリプト内に解を提供してよい。アンロックスクリプトは、報奨金及び提案者デポジットを妨げる(トランザクションT1内の)ロックスクリプトをアンロックする。上述のように、ロックスクリプトは、アンロックスクリプト内の提案された解が、要求者が提案者により前に(つまり「コミット」の中で)与えられた値のハッシュであることを調べるよう構成されてよい。アンロックスクリプトが、トランザクションT1のロックスクリプトにより前に妨げられたトークン(つまり、トランザクションT1のUTXO)を妨げるロックスクリプトをアンロックすることに成功すると、アンロックスクリプトを含むトランザクションは、新しいロックスクリプト(これは、例えば、トークンを妨げるために提案者の公開鍵を使用してよく、その結果、提案者はトークンに対する制御を完了する)によりトークン(つまり、提案者デポジット及び報奨金)を妨げることによりトランザクションを使用する。
上述のように、トランザクションT1は、報奨金及び提案者デポジットをOP_CHECKSEQUENCEVERIFYコードを用いてロックするよう構成されてよい。これは、チャレンジ期間の終了後に、要求者からの更なる認可を伴わずに、提案者が報奨金及び提案者デポジットを自動的に請求することを許可する。
提案者の解に対するチャレンジがない場合、完了トランザクションは、proof-of-workメインブロックチェーン902(図9)上で実行でき、チャレンジプロトコルの又はゴーストチェーンプロトコルの実行が必要ないことが分かる。
しかしながら、チャレンジャーは、チャレンジ期間中にチャレンジを発行することがある。例えば、方法1200の動作1202で、チャレンジャーはチャレンジを発行する。チャレンジャーは、図11の方法1100の動作1102及び1104と同様の動作を実行していてよい。つまり、チャレンジャーは、要求を識別していてよく、動作1202でチャレンジを発行する前に、オフチェーンでタスクを完了していてよい。チャレンジャーは、チャレンジャーの解が提案者の解と異なることを決定することにより、チャレンジが発行されるべきであると決定していてもよい。チャレンジャーは、例えば、彼らの解のハッシュを実行し、該ハッシュを提案者の解のハッシュと比較してよく、ハッシュが異なる場合、チャレンジャーはチャレンジを発行してよい。
図12の方法1200の動作1202で、チャレンジャーは、チャレンジ期間内にチャレンジを発行する。チャレンジャーは、ブロックチェーンネットワーク100にチャレンジする意図をブロードキャストすることによりこれを行ってよい。チャレンジが発行されると、ノードのグループは、解の有効性を決定するのを支援してよい。
例えば、図13を簡単に参照すると、図13は、調停者の方法1300のフローチャートを示す。ノードのグループは、例えばチャレンジが提起されるときのように、分散型総意に達するために使用され得る議会を形成してよい。議会は、上述のように、proof-of-workブロックチェーンネットワーク上の転送によりセキュアにされる。例えば、方法1300の動作1302で、調停者の方法1300を実行する調停者は議会に参加してよい。例えば、調停者は、図4を参照して上述した議会に加わる方法400を実行してよい。したがって、動作1302で、調停者は、議会と呼ばれてよいグループに、グループメンバーになるために議会に関連付けられた公開グループアドレスへのトークンの転送を通じて、加わる。調停者は、この転送をproof-of-workブロックチェーンネットワーク上で行う。上述のように、グループは、ノードが秘密鍵シェアを制御する閾値署名方式に従う。グループに加わることは(これは、加入とも呼ばれてよい)、例えば、ゴーストチェーンの展開中に実行されてよい。図13は動作1302(議会に加わるステップ)が動作1306(ゴーストチェーンの展開)の前に実行されるように図示するので、ゴーストチェーンの前の展開中に(つまり、動作1306における展開中ではない)議会に加わったノードにより実行される。しかしながら、動作1306、1308、及び1310は、例えば、動作1306の間に、グループに加わるノードにより実行され得る。
動作1304で、調停者は、グループの他のノードと協力して、図12のチャレンジャーの方法1200の動作1202で、チャレンジャーにより発行されたチャレンジを検出する。特に、調停者は、グループの他のノードと協力して、要求者により生成された要求に応答して、チャレンジャーにより提案者の作業成果に対するチャレンジを検出する。
トランザクションT1に起因して、上述のように、チャレンジが発行されると、グループは報奨金及び提案者デポジットの制御を想定する。つまり、トランザクションT1は、いつでも議会によりアンロック可能であると考えられる。したがって、報奨金及びデポジットは、提案者による要求に対する解の引き渡しに続くチャレンジ時間と呼ばれる時間期間内でチャレンジが検出されると、グループの制御下に置かれ制御下に維持される。したがって、チャレンジが検出されると、グループは、報奨金及び提案者デポジットの制御を有する。
グループが報奨金及び提案者デポジットの制御を有した後に、及びチャレンジャーを検出したことに応答して、調停者は、グループの他のノードと協力して、チャレンジャーによるトークンの転送を促進する。例えば、チャレンジを検出することに応答して、議会は、報奨金及び提案者デポジットに等しいインプット(例えば、T2_in=bounty+proposer deposit)及び報奨金と提案者デポジットとチャレンジャーデポジットとの和に等しいアウトプット(例えば、T2_out=bounty+proposer deposit+challenger deposit)を備えるトランザクションT2を構成してよい。したがって、明らかに、報奨金及び提案者デポジットは、(上述のように)トランザクションT2の構成前にグループの排他的制御下に置かれてよい。トランザクションT2は、いつでもグループに支払うよう構成される。つまり、トランザクションT2は、議会公開鍵に支払うよう構成される。トランザクションT2は、署名されてよいSIGHASH_ALL|SIGHASH_ANYONECANPAY。調停者は、他の調停者と一緒に、チャレンジャーデポジットをインプットとして追加するために、トランザクションT2をチャレンジャーに提供してよい。例えば、調停者は、他のノードと一緒に、トランザクションT2を他のノードに公に利用可能にしてよい。
トランザクションT2が公に利用可能にされた後、チャレンジャーは、トークンをトランザクションT2へのインプットとして転送する。つまり、チャレンジャーは、トークンの中の(図12のチャレンジャーの方法1200の動作1204における)トークンを転送し、このようなデポジットをグループの制御下に置く。特に、転送されたトークン(「チャレンジャーデポジット」)は、議会公開鍵の制御下に置かれる。報奨金、提案者デポジット、及びチャレンジャーデポジットは、したがって、全て、グループの制御下に置かれ、議会公開鍵により妨げられる。議会の説明においてより詳細に上述したように、閾値署名方式は、閾数の議会メンバーがそれぞれの秘密鍵シェアを使用して、報奨金、提案者デポジット及びチャレンジャーデポジットを含むトランザクションのための有効な署名を協力して生成することを可能にする。提案者デポジット及びチャレンジャーデポジットは等しいサイズであってよい。
チャレンジャーは、彼らのチャレンジ解をコミットしてもよい。例えば、チャレンジャーは、例えば演算コードOP_PUSHDATAを用いて、解のハッシュをトランザクションT2に追加してよい。
トランザクションT2は、メインブロックチェーンネットワークにブロードキャストされ、メインブロックチェーンネットワーク上にマイニングされ、その結果、チャレンジャーデポジットは議会公開鍵により妨げられる。報奨金、提案者デポジット及びチャレンジャーデポジットは、今やグループの排他的制御下に置かれる。
したがって、チャレンジャーは、代替解の証拠及びデポジットを調停者に提供する。トランザクションT2がメインブロックチェーンネットワークにマイニングされた後、調停者の方法1300の動作1306で、調停者は、グループの他のノードと協力して、分散型総意に達するためにゴーストチェーンを展開する。それにより、チャレンジを解決する。上述のように、ゴーストチェーンは、ゴーストチェーンのマイナーがグループのメンバーであるproof-of-stakeブロックチェーンである。つまり、議会のメンバーは、ゴーストチェーン上でマイニングすることを許可される。proof-of-workブロックチェーンネットワーク上のプールへの彼らのメンバー転送(つまりメンバーデポジット)は、彼らがゴーストチェーン上でマイニングすることを可能にするために、彼らの掛け金として機能する。任意のメンバーがマイニングするために選択される確率は、相対的な転送量(つまり、彼らのデポジットの量)に比例する。
(動作1306で)ゴーストチェーンが展開される間、ゴーストチェーンの起源ブロックは、調停者によりグループの他のノードと協力して生成され、取得されてよい。起源ブロックは、最後のゴーストチェーン展開からの最終ブロックであってよい(例えば、ゴーストチェーンが実行された最後のインスタンス及び前の実行からの末端ブロックは、過去のチャレンジに応答していてよい)。このブロックは、起源支払に関する情報を含んでよい。起源支払は、ゴーストチェーンの前の展開に基づき行われる予定のまだ生成されるべきデジタルトークンの転送である。
さらに、ゴーストチェーンが展開される間、メンバーは、加入することを許可されてよく、又はグループから抹消することを要求してよい。加入段階の間、新しいメンバーが加入してよい。その結果、彼らは、(図4を参照して上述したように)秘密鍵シェアを割り当てられる。新しいメンバーは、起源ブロック(これは、閾値の現在メンバーにより認証される)及び加入処理中に生成された任意の後続のブロックを提供される。
抹消前段階もゴーストチェーン実行に含まれてよい。この抹消前段階の間、抹消されることを要求した任意のメンバーは、特定プライベートデータの削除についてのアテステーションを送信してよい。このようなアテステーションは、プールへのメンバーの転送の復帰を要求されてよい(つまり、アテステーションは、メンバーデポジットの返却を要求されてよい)。メンバーの前の転送の復帰を不可能にする不正行為の証拠は、この段階で送信されてよい(例えば、新たに加入したメンバーは1人以上の現在メンバーにより予めコミットされたが偽であると疑われる起源ブロックを提出してよい)。抹消の技術は、図8を参照して詳述された。
ゴーストチェーンの展開は、調停者による、グループの他のノードと協力して、判決動作を含んでよい。判決動作は、提案者及びチャレンジャーから証拠を受信するステップと、証拠に基づきチャレンジを解決するステップと、を含んでよい。例えば、受信した証拠は、最終解又は中間結果のうちの一方又は両方を含んでよい。中間結果は、要求されたタスクを実行するために必要なステップ又はステップのシリーズの結果であってよい。例えば、中間ステップはタスクの部分的作業成果であってよい。最終解は、要求されたタスクを完了した最終作業成果である。証拠は、図11の提案者の方法1100の動作1108で提案者により、及び図12のチャレンジャーの方法1200の動作1206でチャレンジャーにより提出されてよい。
調停者及び議会の他のノードは、解の正しさに関して分散型総意に達してよく、それにより、要求に関連付けられたタスクを実行することにより、チャレンジを解決して、正しい解を決定する。例えば、タスク(例えば、計算又はアルゴリズム)は、オンチェーンで(つまり、ゴーストチェーン自体の上で)実行されてよい。グループは、提案者及びチャレンジャーの解のうちのどちらが正しいかを、これらの解をゴーストチェーン上で決定された自身の解と比較することにより決定してよい。この処理の間、グループメンバー(つまり、ゴーストチェーンマイナー)は、計算及び/分析を実行して、分散型総意に達する。グループメンバーは、この処理の間に、総意に達し、ブロックに署名する。
計算要件及び時間遅延を低減するために、グループは、チャレンジを解決するためにゴーストチェーンを使用しながら、二分探索手順を実行してよい。特に、提案者及びチャレンジャーは、それぞれ、彼らの計算又は分析についての1つ以上の中間結果を提供してよい。計算又は分析のインプットは提案者及びチャレンジャーの両者について同じなので(要求者により指定され得るので)、及びアウトプットは異なるので、チャレンジャー及び提案者について分岐する中間ステップの間で遷移がある。このような遷移が識別されると、グループは、ゴーストチェーンを用いて、遷移に関連付けられた単一の動作、ステップ又は手順のみを実行してよい。したがって、調停者は、他のノードと協力して、ゴーストチェーン上でタスクの一部のみを実行して、提案者又はチャレンジャーのうちの一方が要求に関連付けられたタスクの中間ステップにおいて過ちを犯したと決定してよい。この二分探索技術の下で、グループは、正しい解を識別しなくてよいが、むしろ不正な解を識別してよい。グループは正しい解を決定しないので、不正であると識別されない解は必ずしも正しくはない。
調停者は(グループの他のノードと協力して)、ゴーストチェーンが展開される間、総意に達する。実際に、総意に関する判定は、調停者及び議会の他のノードがチャレンジを解決するとき、到達される。
総意(つまり、調停のための判定)がブロックチェーン上で達せられた後、調停者は、グループの他のノードと協力して、(完全に署名されるとメインブロックチェーンネットワークへとマイニングされるべき)最終トランザクションを構成する。最終トランザクションは、解決トランザクションとも呼ばれてよく、様々なトークン転送を含んでよい。例えば、(i)報奨金+デポジット(bounty+deposit)(これは、判決の過程で成功した又は正当性を立証したと考えられるノードへ転送されてよい)、(ii)(既に実行されたゴーストチェーンマイニングについての)マイニング料金、(iii)起源支払(これは、ゴーストチェーンの前の実行に基づくことが予定されているトークン転送であり、起源ブロックから決定される)、及び/又は(iv)抹消されたメンバーの議会プールへ転送されたトークンの復帰(つまり返却)。
このトランザクションは、有用なメタデータも含んでよい。例えば、解決トランザクションは、解をブロックチェーンネットワークへ転送して戻してよい。したがって、この処理の間、グループ(つまり、グループの他のノードと協力する調停者)は、総意の結果をブロックチェーンネットワークにコミットしてよい。グループは、ブロックチェーンネットワークに、ゴーストチェーン上でオンチェーンで決定されたような中間計算状態のMerkleルートハッシュもコミットしてよい。
したがって、グループ制御下にあるトークンは、(動作1308で)調停者によりグループの他のノードと協力して分配されてよい。このようなトークンの分配は、議会について(つまり、グループについて)定められた(つまり、グループについて)閾値署名方式に従い実行される。議会の上述の議論において分かるように、閾値署名方式は、少なくとも閾数のメンバーが議会公開鍵の有効署名を生成するために必要であるように構成される。したがって、調停者は、グループの他のノードと一緒に(つまり、他の調停者と一緒に)、調停者の秘密鍵シェアを用いて最終トランザクションに部分署名を追加することにより、トークンを転送することに同意してよい。他のノードも、閾値署名方式の下で最終トランザクションの有効署名を生成するために要求される少なくとも閾数の秘密鍵シェアが使用されるまで、彼らのそれぞれの秘密鍵シェアを用いて部分署名を追加する。
最終トランザクションの中でトークンを分配する特定の方法は、総意の結果に依存する。例えば、総意が、表明された解が不正であることであるとき、調停者は、他のノードと協力して、少なくともチャレンジャーデポジットをチャレンジャーへ転送し、及び提案者デポジットをゴーストチェーンのマイナーに、マイニングされたブロックの絶対数に比例して分配する。総意が、チャレンジャーの解が正しいことであるとき、報奨金もチャレンジャーへ転送されてよい。したがって、チャレンジャーは、図12のチャレンジャーの方法1200の動作1208で、トークンを受信してよい。しかしながら、二分探索が使用され、その結果、正しい解が識別されない場合、報奨金は、要求を再発行し得る要求者に返却されてよく、チャレンジャーが彼らの回答に基づき提案を提出することを可能にする。代替として、提案者が二分探索を通じて削除されると、要求者は、チャレンジャーのコミットを提案として扱ってよく、図10の方法1000の動作1006で動作を再開してよい。つまり、要求者は、新しいトランザクションT1をチャレンジャーの提案に基づき構成してよい。このトランザクションは、正式にチャレンジャーとして考えられたノードが今や提案者であると考えられる点を除き、動作1006を参照して上述した通りであってよい。したがって、新しいトランザクションT1は、上述のようにトランザクションT2内のチャレンジャーにより提案されたようなソリューションのハッシュに対応する解を提供することにより、チャレンジ期間の終了後に、チャレンジャーによりアンロックされるよう構成されてよい。
総意が、提案者の作業成果が有効であることであるとき、調停者は、他のノードと協力して、報奨金及び提案者デポジットを提案者へ転送し、チャレンジャーデポジットをゴーストチェーンのマイナーに、マイニングされたブロックの絶対数に比例して分配する。したがって、提案者は、図11の方法1110の動作1100で、トークンを受信してよい。
総意が、提案者の解及びチャレンジャーの解が両方とも不正であることであるとき、チャレンジャーデポジットの半分及び提案者デポジットの半分は、マイナーに、マイニングされたブロックの絶対数に比例して分配されてよい。任意の残りのトークンは、それが受信されたパーティへ返却されてよい。
要求者は、図10の要求者の方法1000の動作1008で解を受信する。要求者が動作1008で解を受信する方法は、チャレンジが発行されたか否かに依存してよい。例えば、チャレンジが発行されなかった場合、図10の方法1000の動作1006を参照して上述したように、提案者は、トランザクションT1を用いてブロックチェーンに解をコミットした。しかしながら、チャレンジが発行された場合、及びゴーストチェーンが要求に対する解を決定した場合、ゴーストチェーンノードは、ゴーストチェーンの終わりに(例えば、図13の調停方法1300の動作1310で)、解を要求者へ送信してよい。ゴーストチェーンプロトコルは、したがって、ゴーストチェーンに参加するノードに、解を決定すると要求者へ解を自動的に送信させてよい。
さらに、ゴーストチェーン上で総意に達し、及びトランザクションが構成され有効に署名された後に、(図13の調停方法1300の動作1310で)ゴーストチェーンは終了する。つまり、チャレンジが解決されると、ゴーストチェーンは終了する。ゴーストチェーンが終了すると、チャレンジの解決に関連する情報は、proof-of-workブロックチェーンネットワークへ転送されて戻されてよい。
ゴーストチェーンが終了すると、更なるブロックはゴーストチェーンにマイニングされない。つまり、標準的なブロックチェーンと異なり、ゴーストチェーンは末端ブロックを有する。ゴーストチェーンは、分岐しないproof-of-stakeブロックチェーンとして実装されてよい。分岐の不存在は、ゴーストチェーンが終了するとき、明確な末端ブロックが存在することを意味する(つまり、グループの全ノードにより合意された末端ブロック)。この末端ブロックの後に、ゴーストチェーンは、自身の目的に適い、追加されない。
前述のように、調停者(つまり、議会のノード)が総意に達するとき、上述のような閾値署名方式に従い部分署名の追加を通じてトランザクションに有効署名が生成されると、ノードは、(動作1308で)メインチェーン上でブロードキャストされるトランザクションを協力して構成する。このトランザクションはそれ自体が複数パーティの計算であるので、このトランザクションに貢献するノードは、このトランザクションに参加することに対して報酬を与えられることが期待され得る。しかしながら、トランザクションは署名される前に指定されるので、署名に参加すること(これは、トランザクションにより部分署名をゴーストチェーンへ送信すること、及び実際にブロックをマイニングすることを含み得る)に対する報酬は、更なるゴーストチェーンが展開されるまで延期されてよい。このような延期は、動作1310で提供されてよい。特に、末端ブロックは、起源支払がゴーストチェーンの将来の展開の間に処理されることを可能にする情報により構成されてよい。このような情報は、最終トランザクションの署名の間に生成されたブロックのような、最終トランザクションが構成された後に生成されたブロックのために予定されているマイニング料金のレコードであってよい。つまり、起源支払は、最終トランザクションの署名に貢献したノードに報酬を与えるために定められてよい。ゴーストチェーンの末端ブロックは、次のゴーストチェーンの実行(つまり、次回、ゴーストチェーンが展開されるとき)の起源ブロックになる。したがって、レコードは、将来の起源支払のために末端ブロックの中で生成される。
直前に記載した実装によると、ゴーストチェーン実行の間のメンバー加入/抹消は、チャレンジによりトリガされてよいことに留意する。代替の実装は、規則的間隔又は他の条件下で加入/抹消を可能にしてもよい。これは、特にこの目的で、ゴーストチェーンのスケジューリングされた実行を含んでよい。これは、判決及び総意段階を有しないことを除き、上述のゴーストチェーン展開と同様であり得る。この場合、マイニング料金は、加入ことの見返りに要求される「加入料金」から、少なくとも部分的に支払われ得る。
また、上述の方法1300は、第1ゴーストチェーン実行ではないゴーストチェーン実行を記載した。つまり、方法1300は、過去の何らかの時点で展開されたゴーストチェーンの展開を記載した。その結果、末端ブロックは、ゴーストチェーンについて既に存在している起源支払を含む。方法1300は、第1ゴーストチェーンを展開可能にするよう変更されてよい。例えば、ゴーストチェーンが展開される最初に、起源ブロックが別の方法で確立されてよい。例えば、起源ブロックは、最初に信頼できるパーティにより提供されてよい。
分散型総意を達成するために(つまり、チャレンジを調停するために)proof-of-stakeに基づくブロックチェーンを使用することにより、proof-of-workブロックチェーンネットワーク上でこのような総意を達成しようとするより、速い総意が達成できる。なぜなら、proof-of-stakeはより規則的なブロック生成を可能にし、高い頻度のブロック生成を可能にするよう構成できるからである。さらに、メインブロックチェーン自体ではなく、ゴーストチェーン上でこのような分散型総意を達成するために必要な動作を実行することにより、タスクはメインブロックチェーンネットワークから押し出され、その結果、メインブロックチェーンネットワークは負荷が軽くなる。
さらに、ゴーストチェーンの遷移特性(つまり、ゴーストチェーンは本来一時的であり終了する)は、標準的にproof-of-stakeブロックチェーンネットワークに影響を与えるnothing-at-stake問題のリスクを回避し又は低減し得る。ゴーストチェーンネットワークの一時的特性は、ゴーストチェーンのマイナーによる議会プールへの転送が、ゴーストチェーンが終了するまで復帰されないことを、議会が要求することを可能にする。つまり、議会は、ゴーストチェーンが実行している間、議会メンバーがプールへの彼らの前の転送の復帰(つまり、彼らの掛け金を回収すること)を達成することを許可しないよう構成されてよい。
上述の例はビットコインで利用可能な演算コードを参照したが、本願明細書に記載の方法は、他の種類のブロックチェーンネットワークと共に使用されてもよい。
上述の方法は、概してノードにおいて実行されると記載されたが、方法の特徴は他のノードとの強力に依存し、他の場所で実行され得る。
留意すべきことに、上述の実施形態は、本発明を限定するのではなく、当業者は添付の請求項により定められる本発明の範囲から逸脱することなく多数の代替の実施形態を考案できる。請求項中、括弧内に記載された如何なる参照符号も、請求項を制限すると見なされるべきではない。用語「有する(comprising又はcomprises)」等は、全体としていかなる請求項中に及び明細書に列挙された以外の要素又はステップの存在を排除するものではない。本願明細書において、「有する(comprises)」は「含む(includes)又は構成される(consists of)」を意味し、「有する(comprising)」は「含む(including)又は構成される(including of)」を意味する。要素の単数の参照は、該要素の複数の存在を排除するものではなく、逆も同様である。本発明は、複数の別個の要素を有するハードウェアにより又は適切にプログラムされたコンピュータにより、実施され得る。複数の手段を列挙している装置の請求項では、これらの複数の手段は、1つの同一のハードウェア要素により実装することができる。特定の量が相互に異なる従属請求項に記載されるという事実は、これらの量の組合せが有利に用いることが出来ないことを示すものではない。
102 ノード
110 議会
110 議会
Claims (14)
- コンピュータにより実施される方法であって、ブロックチェーン上に要求を発行する要求者ノードにより実行され、前記方法は、
前記要求者ノードにより、グループメンバーになるために公開グループアドレスへのトークンの転送を通じてグループに参加するステップであって、前記グループは、前記ノードが秘密鍵シェアを制御する閾値署名方式に関連付けられ、トークンの前記転送は、proof-of-workブロックチェーンネットワーク上で行われる、ステップと、
前記グループに、作業成果を完了する要求を発行するステップと、
前記グループの提案者ノードから、前記作業成果の提案を受信するステップと、
前記提案を受信することに応答して、トランザクションを構成するステップと、
前記作業成果の解を得て、前記解を提案されているチャレンジがないことを決定するステップと、
前記ブロックチェーンに前記トランザクションをコミットするステップと、
を含むコンピュータにより実施される方法。 - 前記要求は計算交換であり、前記計算交換は、ノードが計算又はアルゴリズムの実行を他のノードにオフロードすることを可能にする、請求項1に記載のコンピュータにより実施される方法。
- 前記提案者ノードは、タスクをオフチェーンで完了する、請求項1に記載のコンピュータにより実施される方法。
- 前記提案者は、前記提案を提出するために、前記ブロックチェーンネットワークのための前記提案者の公開鍵を前記要求者ノードに送信する、請求項1に記載のコンピュータにより実施される方法。
- 前記提案者は、解のハッシュの形式で、タスクの解をコミットする、請求項4に記載のコンピュータにより実施される方法。
- 前記要求者は、前記提案者の公開鍵と前記解のハッシュを受信する、請求項5に記載のコンピュータにより実施される方法。
- 前記トランザクションは、インプットとして報奨金を、及びアウトプットとして提案者のデポジットを含み、前記トランザクションは、提案者が前記提案者自身のインプットを追加できるように、前記要求者により署名される、請求項1に記載のコンピュータにより実施される方法。
- 前記トランザクションは、チャレンジ期間の終了後にアンロックされるよう構成される、請求項1に記載のコンピュータにより実施される方法。
- 前記トランザクションは、グループ署名によりいつでもアンロックされるよう構成される、請求項1に記載のコンピュータにより実施される方法。
- 任意のノードが前記提案者により提出された提案にチャレンジできるチャレンジ期間を更に含む、請求項1に記載のコンピュータにより実施される方法。
- 前記チャレンジ期間の間にチャレンジが発行されない場合、前記提案者は前記トランザクションから報奨金と提案者のデポジットを請求する、請求項10に記載のコンピュータにより実施される方法。
- 前記提案者は、メインブロックチェーンネットワーク上のトランザクションに前記解を埋め込むことにより、前記要求者に前記解を提供する、請求項1に記載のコンピュータにより実施される方法。
- コンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行されると、プロセッサを、請求項1~12のいずれか一項に記載の方法を実行するよう構成する、コンピュータ可読記憶媒体。
- 電子装置であって、
インタフェース装置と、
前記インタフェース装置に結合されたプロセッサと、
前記プロセッサに結合されたメモリであって、前記メモリはコンピュータ実行可能命令を格納し、前記コンピュータ実行可能命令は、実行されると、前記プロセッサを、請求項1~12のいずれか一項に記載の方法を実行するよう構成する、メモリと、
を含む電子装置。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1705869.4 | 2017-04-11 | ||
GB1705868.6 | 2017-04-11 | ||
GB1705867.8 | 2017-04-11 | ||
GBGB1705868.6A GB201705868D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
GBGB1705867.8A GB201705867D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
GBGB1705869.4A GB201705869D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
JP2019551541A JP7012741B2 (ja) | 2017-04-11 | 2018-04-09 | ブロックチェーン上の迅速な分散型総意 |
JP2022005539A JP7319404B2 (ja) | 2017-04-11 | 2022-01-18 | ブロックチェーン上の迅速な分散型総意 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022005539A Division JP7319404B2 (ja) | 2017-04-11 | 2022-01-18 | ブロックチェーン上の迅速な分散型総意 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023126595A true JP2023126595A (ja) | 2023-09-07 |
Family
ID=62002189
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019551618A Active JP7189144B2 (ja) | 2017-04-11 | 2018-04-09 | 動的ノードグループのための秘密鍵のセキュアな再利用 |
JP2019551541A Active JP7012741B2 (ja) | 2017-04-11 | 2018-04-09 | ブロックチェーン上の迅速な分散型総意 |
JP2019551542A Pending JP2020517135A (ja) | 2017-04-11 | 2018-04-09 | ブロックチェーン間のセキュアな転送 |
JP2022005539A Active JP7319404B2 (ja) | 2017-04-11 | 2022-01-18 | ブロックチェーン上の迅速な分散型総意 |
JP2022192596A Active JP7442606B2 (ja) | 2017-04-11 | 2022-12-01 | 動的ノードグループのための秘密鍵のセキュアな再利用 |
JP2023060524A Pending JP2023082161A (ja) | 2017-04-11 | 2023-04-04 | ブロックチェーン間のセキュアな転送 |
JP2023117943A Pending JP2023126595A (ja) | 2017-04-11 | 2023-07-20 | ブロックチェーン上の迅速な分散型総意 |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019551618A Active JP7189144B2 (ja) | 2017-04-11 | 2018-04-09 | 動的ノードグループのための秘密鍵のセキュアな再利用 |
JP2019551541A Active JP7012741B2 (ja) | 2017-04-11 | 2018-04-09 | ブロックチェーン上の迅速な分散型総意 |
JP2019551542A Pending JP2020517135A (ja) | 2017-04-11 | 2018-04-09 | ブロックチェーン間のセキュアな転送 |
JP2022005539A Active JP7319404B2 (ja) | 2017-04-11 | 2022-01-18 | ブロックチェーン上の迅速な分散型総意 |
JP2022192596A Active JP7442606B2 (ja) | 2017-04-11 | 2022-12-01 | 動的ノードグループのための秘密鍵のセキュアな再利用 |
JP2023060524A Pending JP2023082161A (ja) | 2017-04-11 | 2023-04-04 | ブロックチェーン間のセキュアな転送 |
Country Status (6)
Country | Link |
---|---|
US (6) | US11538023B2 (ja) |
EP (4) | EP3610437A1 (ja) |
JP (7) | JP7189144B2 (ja) |
CN (3) | CN110546664A (ja) |
TW (2) | TWI765019B (ja) |
WO (3) | WO2018189656A1 (ja) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
CN107301536B (zh) * | 2017-06-12 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
WO2019000087A1 (en) * | 2017-06-28 | 2019-01-03 | Kitaru Innovations Inc. | METHOD OF OPERATING AND USING A CRYPTOMONIA |
KR20200099149A (ko) * | 2017-12-15 | 2020-08-21 | 엔체인 홀딩스 리미티드 | 낮은 엔트로피 패스워드로 블록체인 트랜잭션을 승인하기 위한 컴퓨터 구현 시스템 및 방법 |
WO2019143852A1 (en) | 2018-01-17 | 2019-07-25 | Medici Ventrues, Inc. | Multi-approval system using m of n keys to perform an action at a customer device |
US11640640B2 (en) | 2018-01-23 | 2023-05-02 | Click IPO Holdings, LLC | Systems and methods for allocating assets to directed and interest-based participants |
US10298585B1 (en) * | 2018-01-26 | 2019-05-21 | Accenture Global Solutions Limited | Blockchain interoperability |
US11038689B2 (en) * | 2018-03-01 | 2021-06-15 | FinancialForce.com, Inc. | Efficient block chain generation |
CN108629583A (zh) * | 2018-04-16 | 2018-10-09 | 上海分赋信息科技有限公司 | 基于分布式技术实现数字资产在映射链上的映射系统及相应方法 |
CN112166619A (zh) * | 2018-04-16 | 2021-01-01 | 斯洛克It有限公司 | 使用最小检验客户端的去信任、无状态激励远程节点网络 |
US11356262B2 (en) * | 2018-07-03 | 2022-06-07 | Royal Bank Of Canada | System and method for anonymous location verification |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
US11444779B2 (en) | 2018-08-02 | 2022-09-13 | Paypal, Inc. | Techniques for securing application programming interface requests using multi-party digital signatures |
WO2020052751A1 (en) * | 2018-09-12 | 2020-03-19 | Huawei Technologies Co., Ltd. | Device and method for attesting distributed services |
CN109391619B (zh) * | 2018-10-22 | 2021-08-03 | 上海幼鸢网络科技有限公司 | 基于权限的跨链通证交换方法及计算机可读介质 |
CN109583230A (zh) | 2018-10-31 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 基于区块链的数据存证方法及装置、电子设备 |
CN109327528B (zh) * | 2018-10-31 | 2020-10-20 | 创新先进技术有限公司 | 一种基于区块链的节点管理方法和装置 |
SG11202104293RA (en) * | 2018-11-02 | 2021-05-28 | Verona Holdings Sezc | A tokenization platform |
US11240025B2 (en) | 2018-11-09 | 2022-02-01 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
CN109543075B (zh) * | 2018-11-14 | 2020-09-22 | 全链通有限公司 | 区块生成方法和系统 |
EP3654578B1 (en) | 2018-11-16 | 2022-04-06 | SafeTech BV | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information |
CN111199489A (zh) * | 2018-11-16 | 2020-05-26 | 上海派链信息科技有限公司 | 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品 |
US20200175503A1 (en) * | 2018-11-29 | 2020-06-04 | Paypal, Inc. | Resource-based distributed public ledger system |
US20220014367A1 (en) * | 2018-12-13 | 2022-01-13 | Login Id Inc. | Decentralized computing systems and methods for performing actions using stored private data |
US11720913B2 (en) | 2018-12-18 | 2023-08-08 | Rokfin, Inc. | Cryptographic-token minting scheduler |
US11017329B2 (en) | 2018-12-18 | 2021-05-25 | Rokfin, Inc. | Dampening token allocations based on non-organic subscriber behaviors |
CA3123961A1 (en) * | 2018-12-19 | 2020-06-25 | Perk Hero Software Inc. | Method, system, and computer readable medium for transferring cryptographic tokens |
CN109413228B (zh) * | 2018-12-20 | 2021-06-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
WO2020163247A1 (en) * | 2019-02-04 | 2020-08-13 | Navier, Inc. | Interpreting packet communications |
WO2020176950A1 (en) * | 2019-03-07 | 2020-09-10 | Ziva Connect Pty Ltd | Systems, methods and devices for provision of a secret |
KR20240011890A (ko) * | 2019-03-15 | 2024-01-26 | 라인플러스 주식회사 | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 |
US11038685B1 (en) | 2019-03-22 | 2021-06-15 | Turing Technology, Inc. | Correcting blockchain transactions with cryptocurrency type mistakes |
EP3610405B1 (en) * | 2019-03-26 | 2021-07-21 | Advanced New Technologies Co., Ltd. | Program execution and data proof scheme using multiple key pair signatures |
JP6788875B2 (ja) * | 2019-04-16 | 2020-11-25 | 株式会社IndieSquare | ブロック・チェーン間でデジタル資産を転送するシステム |
WO2019120336A2 (en) * | 2019-04-19 | 2019-06-27 | Alibaba Group Holding Limited | Methods and devices for establishing communication between blockchain networks |
ES2872101T3 (es) * | 2019-04-26 | 2021-11-02 | Advanced New Technologies Co Ltd | Gestión de claves distribuidas para entornos de ejecución confiables |
CN110246038A (zh) * | 2019-04-26 | 2019-09-17 | 众安信息技术服务有限公司 | 一种区块链交易快速确认方法及系统 |
SG11202000783UA (en) * | 2019-04-29 | 2020-02-27 | Alibaba Group Holding Ltd | Methods and devices for validating transaction in blockchain system |
WO2020227920A1 (en) * | 2019-05-14 | 2020-11-19 | Daolicloud Information Technology (Beijing) Co., Ltd. | Trustlessly agreeable distributed consensus authentication for identity as a public key |
US11108545B2 (en) | 2019-05-31 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Creating a blockchain account and verifying blockchain transactions |
CN110264354B (zh) * | 2019-05-31 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 创建区块链账户及验证区块链交易的方法及装置 |
CA3141042A1 (en) | 2019-06-13 | 2020-12-17 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
US10790990B2 (en) | 2019-06-26 | 2020-09-29 | Alibaba Group Holding Limited | Ring signature-based anonymous transaction |
US11238447B2 (en) | 2019-06-26 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Blockchain transactions with ring signatures |
CN112418862A (zh) * | 2019-06-26 | 2021-02-26 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN110335042B (zh) * | 2019-06-26 | 2020-10-20 | 创新先进技术有限公司 | 基于环签名的匿名交易方法及装置 |
CN110471795B (zh) * | 2019-07-31 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 区块链状态数据恢复方法及装置、电子设备 |
US11250438B2 (en) * | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Blockchain-based reimbursement splitting |
US20220173910A1 (en) * | 2019-08-16 | 2022-06-02 | Hewlett-Packard Development Company, L.P. | Remote commands |
US11301845B2 (en) * | 2019-08-19 | 2022-04-12 | Anchor Labs, Inc. | Cryptoasset custodial system with proof-of-stake blockchain support |
US11824980B2 (en) * | 2019-08-27 | 2023-11-21 | Intel Corporation | Enhanced security for multi-link wireless operations |
US11934386B2 (en) * | 2019-09-02 | 2024-03-19 | Worldline | Migration of a data blockchain |
JP2022553946A (ja) * | 2019-11-08 | 2022-12-27 | アルゴランド,インコーポレイテッド | プライベート及びパブリックブロックチェーンを使用した取引の実施 |
CN111199504B (zh) * | 2019-12-29 | 2023-09-26 | 杭州拓深科技有限公司 | 一种基于区块链的去中心化消防维保监管方法 |
CN113111389A (zh) * | 2020-01-13 | 2021-07-13 | 梅特勒-托利多(常州)精密仪器有限公司 | 测量设备的信息管理方法及装置 |
CN111260364B (zh) * | 2020-01-22 | 2023-10-20 | 上海墨珩网络科技有限公司 | 一种基于区块链的可扩展快速支付方法及系统 |
CN111314067B (zh) * | 2020-02-05 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 区块存储方法、装置、计算机设备及存储介质 |
CN111355631B (zh) * | 2020-02-18 | 2021-07-06 | 杭州复杂美科技有限公司 | 一种区块链异常识别方法和系统、设备及存储介质 |
CN111417946B (zh) * | 2020-02-24 | 2023-08-04 | 支付宝(杭州)信息技术有限公司 | 基于区块链的共识处理 |
CN111371558B (zh) * | 2020-02-26 | 2024-01-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111464538B (zh) * | 2020-03-31 | 2022-02-01 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质、资产交易后台 |
CN111464636B (zh) * | 2020-03-31 | 2021-12-07 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质 |
CN111490878B (zh) * | 2020-04-09 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
KR20210142983A (ko) * | 2020-05-19 | 2021-11-26 | 삼성에스디에스 주식회사 | 오프-체인 데이터 공유 시스템 및 그 방법 |
GB2596072A (en) * | 2020-06-15 | 2021-12-22 | Nchain Holdings Ltd | Generating secret shares |
US11803849B1 (en) * | 2020-07-30 | 2023-10-31 | Mark Lawrence | Method and apparatus for decentralized micro businesses |
CN112118292A (zh) * | 2020-08-13 | 2020-12-22 | 北京新盛云佳科技有限公司 | 用于跨链通信的方法、装置、网络节点和存储介质 |
CN112037068B (zh) * | 2020-09-17 | 2024-04-23 | 广州运通链达金服科技有限公司 | 资源转移方法、系统、装置、计算机设备和存储介质 |
CN112270005B (zh) * | 2020-10-28 | 2022-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法和系统 |
CN112419060B (zh) * | 2020-11-20 | 2024-03-22 | 上海树图区块链研究院 | 资产托管系统、资产管理方法、节点及介质 |
CN112600671B (zh) * | 2021-03-02 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113301013B (zh) * | 2021-04-14 | 2022-12-16 | 广州广电运通金融电子股份有限公司 | 基于区块链的文化资产交易系统、方法、装置及存储介质 |
CN112799636B (zh) * | 2021-04-14 | 2021-08-27 | 北京百度网讯科技有限公司 | 随机数生成方法、装置、设备和存储介质 |
US11640639B2 (en) * | 2021-05-04 | 2023-05-02 | Click IPO Holdings, LLC | Systems and methods for allocating fractional shares of a public offering |
EP4099248A1 (en) | 2021-05-31 | 2022-12-07 | Billon Sp. z o.o. | A system and method for trading cryptocurrencies, tokenized assets and/or fiat currencies on a permission-less unified and interoperable blockchain distributed ledger system with anchor-of-trust organizations |
US11538027B1 (en) * | 2021-07-07 | 2022-12-27 | Ava Labs, Inc. | Secure and trustworthy bridge for transferring assets across different networks with an updating pool of wardens |
US20230013119A1 (en) * | 2021-07-19 | 2023-01-19 | International Business Machines Corporation | Tainted asset marker management |
CN113347009B (zh) * | 2021-08-05 | 2022-01-07 | 成都飞机工业(集团)有限责任公司 | 基于椭圆曲线密码体制的无证书门限签密方法 |
GB2609907B (en) * | 2021-08-09 | 2023-12-27 | Nchain Licensing Ag | Generating digital signatures |
US11960579B2 (en) | 2022-02-17 | 2024-04-16 | Bank Of America Corporation | Smart glass and blockchain digital signature implementation |
US11695772B1 (en) * | 2022-05-03 | 2023-07-04 | Capital One Services, Llc | System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user |
CN115086313B (zh) * | 2022-05-24 | 2023-07-14 | 复旦大学 | 一种维护区块链链下网络数据一致性的方法 |
CN114826592B (zh) * | 2022-06-22 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 基于区块链的密钥生成方法、装置、电子设备和可读介质 |
US11777751B1 (en) | 2022-09-15 | 2023-10-03 | Analog One Corporation | Methods and systems for decentralized consensus protocol in timechain networks |
GB202214597D0 (en) * | 2022-10-04 | 2022-11-16 | Cambridge Cryptographic Ltd | Innovation game 1 |
CN117648710B (zh) * | 2024-01-30 | 2024-04-05 | 北京点聚信息技术有限公司 | 一种ofd版式文档权限控制方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2665478A1 (en) * | 2006-10-06 | 2008-04-10 | Fmr Llc | Secure multi-channel authentication |
US10017067B2 (en) * | 2012-08-09 | 2018-07-10 | Technische Universitat Dortmund | Method for ensuring functional reliability in electromobility by means of digital certificates |
WO2014196966A1 (en) * | 2013-06-04 | 2014-12-11 | Intel Corporation | Technologies for hardening the security of digital information on client platforms |
US9892460B1 (en) | 2013-06-28 | 2018-02-13 | Winklevoss Ip, Llc | Systems, methods, and program products for operating exchange traded products holding digital math-based assets |
US10269009B1 (en) | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
US20150227968A1 (en) * | 2014-02-07 | 2015-08-13 | Fedex Corporate Services, Inc. | Systems and methods for creating and delivering digital advertisements in a delivery ad network |
US9672499B2 (en) | 2014-04-02 | 2017-06-06 | Modernity Financial Holdings, Ltd. | Data analytic and security mechanism for implementing a hot wallet service |
US11531495B2 (en) * | 2014-04-21 | 2022-12-20 | David Lane Smith | Distributed storage system for long term data storage |
US10396992B2 (en) | 2014-06-30 | 2019-08-27 | Vescel, Llc | Authentication of a user and/or a device through parallel synchronous update of immutable hash histories |
SG10201808109QA (en) * | 2014-07-11 | 2018-10-30 | Loyyal Corp | Distributed ledger protocol to incentivize transactional and non-transactional commerce |
US9836908B2 (en) | 2014-07-25 | 2017-12-05 | Blockchain Technologies Corporation | System and method for securely receiving and counting votes in an election |
US9749297B2 (en) | 2014-11-12 | 2017-08-29 | Yaron Gvili | Manicoding for communication verification |
US20160321751A1 (en) | 2015-04-28 | 2016-11-03 | Domus Tower, Inc. | Real-time settlement of securities trades over append-only ledgers |
TWI676943B (zh) * | 2015-05-06 | 2019-11-11 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
US10635471B2 (en) | 2015-05-15 | 2020-04-28 | Joshua Paul Davis | System and method for an autonomous entity |
US20160342977A1 (en) | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20160379212A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | System, apparatus and method for performing cryptographic operations in a trusted execution environment |
EP3324355B1 (en) | 2015-07-13 | 2020-08-26 | Nippon Telegraph and Telephone Corporation | Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program |
US10402792B2 (en) | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
CN105488675B (zh) | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN105719185B (zh) * | 2016-01-22 | 2019-02-15 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
US20170331896A1 (en) | 2016-05-13 | 2017-11-16 | De La Rue International Limited | Methods and systems for processing assets |
CN106503992A (zh) | 2016-10-18 | 2017-03-15 | 北京天德科技有限公司 | 一种将交易信息和账户信息分别存储的区块链 |
CN106534273B (zh) * | 2016-10-31 | 2022-04-15 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
US20180225661A1 (en) * | 2017-02-07 | 2018-08-09 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
US11233656B2 (en) * | 2017-02-24 | 2022-01-25 | Nec Corporation | Method for mining a block in a decentralized blockchain consensus network |
US20180276626A1 (en) * | 2017-03-21 | 2018-09-27 | Dappsters, LLC | Blockchain systems and methods |
US10805090B1 (en) | 2017-03-24 | 2020-10-13 | Blockstream Corporation | Address whitelisting using public/private keys and ring signature |
WO2018186391A1 (ja) | 2017-04-03 | 2018-10-11 | 株式会社野村総合研究所 | 検査システム、検査方法、およびコンピュータプログラム |
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
-
2018
- 2018-04-09 CN CN201880024728.4A patent/CN110546664A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052470 patent/WO2018189656A1/en unknown
- 2018-04-09 CN CN201880024732.0A patent/CN110574059A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052471 patent/WO2018189657A1/en unknown
- 2018-04-09 CN CN201880024757.0A patent/CN110494875A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052472 patent/WO2018189658A1/en unknown
- 2018-04-09 EP EP18718230.8A patent/EP3610437A1/en active Pending
- 2018-04-09 JP JP2019551618A patent/JP7189144B2/ja active Active
- 2018-04-09 EP EP18718229.0A patent/EP3610436B1/en active Active
- 2018-04-09 EP EP18718228.2A patent/EP3610435A1/en active Pending
- 2018-04-09 JP JP2019551541A patent/JP7012741B2/ja active Active
- 2018-04-09 US US16/604,966 patent/US11538023B2/en active Active
- 2018-04-09 JP JP2019551542A patent/JP2020517135A/ja active Pending
- 2018-04-09 EP EP23163313.2A patent/EP4235549A3/en active Pending
- 2018-04-09 TW TW107112040A patent/TWI765019B/zh active
- 2018-04-09 US US16/604,961 patent/US11403622B2/en active Active
- 2018-04-09 US US16/604,959 patent/US11348095B2/en active Active
- 2018-04-11 TW TW107112355A patent/TWI770160B/zh active
-
2022
- 2022-01-18 JP JP2022005539A patent/JP7319404B2/ja active Active
- 2022-05-27 US US17/827,168 patent/US20220366401A1/en active Granted
- 2022-07-29 US US17/877,119 patent/US20230016360A1/en active Pending
- 2022-12-01 JP JP2022192596A patent/JP7442606B2/ja active Active
- 2022-12-22 US US18/087,801 patent/US20230237468A1/en active Pending
-
2023
- 2023-04-04 JP JP2023060524A patent/JP2023082161A/ja active Pending
- 2023-07-20 JP JP2023117943A patent/JP2023126595A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7319404B2 (ja) | ブロックチェーン上の迅速な分散型総意 | |
JP7420890B2 (ja) | ブロックチェーンで実施されるイベントロック暗号化の方法及びシステム | |
US20230120854A1 (en) | Secure blockchain-based consensus | |
JP7194127B2 (ja) | ネットワークの障害時におけるオフ・ブロックチェーン・チャネルに関して生じるセキュリティ関連脆弱性に対処するためのシステム及び方法 | |
US20230163948A1 (en) | Blockchain for general computation | |
JP2024056954A (ja) | 動的ノードグループのための秘密鍵のセキュアな再利用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230720 |