JP2024509827A - 一時的な鍵ペアを使用して、ブロックチェーン資産のアトミック交換をするための方法及びシステム - Google Patents
一時的な鍵ペアを使用して、ブロックチェーン資産のアトミック交換をするための方法及びシステム Download PDFInfo
- Publication number
- JP2024509827A JP2024509827A JP2023553328A JP2023553328A JP2024509827A JP 2024509827 A JP2024509827 A JP 2024509827A JP 2023553328 A JP2023553328 A JP 2023553328A JP 2023553328 A JP2023553328 A JP 2023553328A JP 2024509827 A JP2024509827 A JP 2024509827A
- Authority
- JP
- Japan
- Prior art keywords
- blockchain
- digital signature
- computing device
- swap
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012790 confirmation Methods 0.000 claims description 37
- 238000004891 communication Methods 0.000 description 27
- 238000012795 verification Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/381—Currency conversion
-
- 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- 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
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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/3825—Use of electronic 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/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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするための方法は、第1のコンピューティング装置によって、提案メッセージを生成することと、第1のコンピューティング装置によって、提案メッセージについて第1のデジタル署名を生成することと、第1のコンピューティング装置によって、スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、第1のデジタル署名を暗号化することと、第1のコンピューティング装置によって、生成された提案メッセージに、暗号化された第1のデジタル署名を付加することと、第1のコンピューティング装置によって、第2のコンピューティング装置に、暗号化された第1のデジタル署名が付加された、生成された提案メッセージを送信することと、を含む。
Description
本出願は2021年3月4日に出願された米国特許出願公開第17/192,194号の利益を主張する。その全内容は、あらゆる目的のために参照により本明細書に組み込まれる。
本開示は、一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をすることに関する。具体的には、本開示は、ブロックチェーンの種類に基づく修正又は特定の実装をすることなく、2つのブロックチェーン上で資産のアトミック交換を可能にするための鍵ペア及びデジタル署名の使用に関する。
ブロックチェーンは、暗号通貨を用いて支払トランザクションを行う際に使用するための記憶機構として最初に作成された。ブロックチェーンを使用することは、分散化、分散コンピューティング、トランザクションに関する透明性、さらにトランザクションに関与する個人又はエンティティに関する匿名性を提供すること、などの多くの利点を提供する。ブロックチェーンのより一般的な態様の1つは、それが不変の記録であることである。チェーンの一部であるすべてのトランザクションは、その内に格納され、特にチェーンが長くなり、ブロックチェーンネットワークがより多くのノードを追加するにつれて、計算要件及び帯域幅制限のために変更されることができない。
ブロックチェーンが普及するにつれて、この技術は、様々な異なるアプリケーションと、複数の種類のデジタル通貨及び資産とに使用され始めた。新しいブロックチェーンの作成は、非常に短い期間で単一のコンピューティング装置を使用して行われることができ、その結果、自身の種類の実装と関連付けられたデジタル通貨とを有する何千もの異なるブロックチェーンがもたらされた。ある事例では、1つ以上の当事者が、1つのブロックチェーン通貨から別のブロックチェーン通貨へ通貨交換を実行するなど、2つの異なるブロックチェーンにわたって広がったデジタル通貨又は他の資産を使用してトランザクション又は他の交換を実行することに関心がある場合がある。
しかしながら、現在の技術では、両方のブロックチェーンにわたって単一のトランザクションを実行する能力はない。したがって、そのような交換を行うために、トランザクションは、各ブロックチェーン上で実行されなければならず、これは両当事者が、各チェーン上でトランザクションに参加することを要求する。各当事者がブロックチェーンの1つにおける送信者である場合、彼らは、相手方当事者が自身のそれぞれの移転を実行するであろうという保証なしに、通貨又はデジタル資産を相手方当事者に移転しなければならない。詐欺の可能性を軽減するために、当事者は、しばしばエスクローサービスを利用するであろう。各当事者は、エスクローサービスにそれぞれのデジタル通貨又は資産を移転するであろう。エスクローサービスは、適切な当事者に資産をさらに移転する、又は必要に応じて最初のトランザクションを取り消すであろう。しかしながら、この解決策は、追加のトランザクション、ならびに第三者の参加を必要とする。これは、しばしば、かなりの費用がかかり、追加の時間及び処理を必要とすることがある。
ある場合では、あるブロックチェーンは、他のブロックチェーンとの資産交換のためのプロトコル及び他の構成の開発を開始した。しかしながら、ブロックチェーンの実装、トランザクションがどのようにフォーマットされるか、及び他の変形例、における違いのために、そのようなプロトコル及び他の構成は、それらが適用される特定のブロックチェーンのために特別に設計され、調整されなければならない。したがって、ブロックチェーンの各々は、それらが資産交換に適格である他のブロックチェーンの各々について、ブロックチェーンネットワーク内のすべてのノードに提供される追加の構成データを有さなければならない。数千のブロックチェーンが存在し、その各々について特別に設計されなければならない構成では、これは困難であり、ほぼ不可能なタスクである。
したがって、ブロックチェーンの実装に関して依存しない(agnostic)で、任意の2つのブロックチェーンにわたって資産交換が行われることを可能にする解決策が必要とされる。
本開示は、一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするためのシステム及び方法の説明を提供する。2つの当事者が資産のアトミック交換を行うことに合意するとき、彼らは、各々のブロックチェーン上で、それぞれのトランザクションのためのトランザクション値を生成することができる。これらのトランザクションは、対応するブロックチェーンネットワークのネットワーク識別子と組み合わされる。次に、このデータの組は、送信者などの2つの当事者のうちの1つによってデジタルに署名される。次に、このデジタル署名は、その当事者の秘密鍵と、スワップのために特に生成された新しい暗号鍵ペアの公開鍵とを用いて暗号化される。暗号化されたデジタル署名は、スワップ公開鍵とともにデータに付加され、受信者などの相手方当事者に提供される。次に、受信者は、データに関して自身のデジタル署名を生成し、自身の秘密鍵及びスワップ公開鍵を用いて署名を暗号化する。次に、この完成したパッケージは、2つのブロックチェーンのうちの少なくとも1つに、そこに追加されるために提出される。次に、当事者の各々は、署名を有するメッセージを閲覧して、両当事者が、トランザクションに関して合意したことを保証することができる。トランザクションが実行され、一旦完了すると、確認メッセージは、新しい暗号鍵ペアの秘密鍵と共にブロックチェーンに掲示される(post)。これは、任意のエンティティが、デジタル署名を復号することによって、合意されたトランザクションの検証を実行することを可能にすることができる。これは、次に、それぞれのエンティティの公開鍵を使用して検証されることができる。その結果が、両当事者によって合意された資産のアトミック交換となる。これは、いかなる修正をすることもなく、任意の2つのブロックチェーン上で実行されることができる。これは、参加者によって利用可能にされた公開鍵のみを使用して、任意の第三者によって監査されることもできる。
一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするための方法は、第1のコンピューティング装置によって、提案メッセージを生成することであって、提案メッセージは、少なくとも、第1のトランザクション値と、第1のブロックチェーンに対応する第1のネットワーク識別子と、第2のトランザクション値と、第2のブロックチェーンに対応する第2のネットワーク識別子と、スワップ暗号鍵ペアのスワップ公開鍵と、を含む、ことと、第1のコンピューティング装置によって、提案メッセージについて第1のデジタル署名を生成することと、第1のコンピューティング装置によって、スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、第1のデジタル署名を暗号化することと、第1のコンピューティング装置によって、生成された提案メッセージに、暗号化された第1のデジタル署名を付加することと、第1のコンピューティング装置によって、第2のコンピューティング装置に、暗号化された第1のデジタル署名が付加された、生成された提案メッセージを送信することと、を含む。
一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするためのシステムは、第1のコンピューティング装置と、第2のコンピューティング装置と、第1のブロックチェーンと、第2のブロックチェーンと、を含み、第1のコンピューティング装置は、提案メッセージを生成することであって、提案メッセージは、少なくとも、第1のトランザクション値と、第1のブロックチェーンに対応する第1のネットワーク識別子と、第2のトランザクション値と、第2のブロックチェーンに対応する第2のネットワーク識別子と、スワップ暗号鍵ペアのスワップ公開鍵と、を含む、ことと、提案メッセージについて第1のデジタル署名を生成することと、スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、第1のデジタル署名を暗号化することと、生成された提案メッセージに、暗号化された第1のデジタル署名を付加することと、第2のコンピューティング装置に、暗号化された第1のデジタル署名が付加された、生成された提案メッセージを送信することと、を実行する。
本開示の範囲は、添付の図面と併せて読まれるとき、例示的な実施形態の以下の詳細な説明から最もよく理解される。図面に含まれるのは、以下の図である。
本開示のさらなる適用分野は、以下に提供される詳細な説明から明らかになるであろう。例示的な実施形態の詳細な説明は、例示の目的のみを意図するものであり、したがって、必ずしも本開示の範囲を限定することを意図するものではないことを理解されたい。
用語集
ブロックチェーン-ブロックチェーンに基づく通貨のすべてのトランザクションの公開台帳。1つ以上のコンピューティング装置は、ブロックチェーンネットワークを含むことができる。ブロックチェーンネットワークは、ブロックチェーン内のブロックの一部として、トランザクションを処理及び記録するように構成されることができる。ブロックが完成されると、ブロックは、ブロックチェーンに追加され、トランザクション記録がそれによって更新される。多くの事例では、ブロックチェーンは、時系列順のトランザクションの台帳とすることができる、又は、ブロックチェーンネットワークによる使用に適し得る任意の他の順序で提示されることができる。ある構成では、ブロックチェーン内に記録されたトランザクションは、宛先アドレスと通貨額とを含むことができ、例えば、ブロックチェーンは、どのくらいの通貨が特定のアドレスに帰属可能であるかを記録する。ある事例では、あるトランザクションは金融であり、他のトランザクションは金融ではない、又はトランザクションは、ソースアドレス、タイムスタンプなどの追加の若しくは異なる情報を含むことができる。ある実施形態では、ブロックチェーンは、さらに又は代替的に、その操作者によってさえ、改竄及び修正に対して強化されたデータ記録の連続的に成長する一覧を維持する分散データベース内に配置される、又は配置される必要があるトランザクションの形態として、ほぼ任意の種類のデータを含むことができる。ブロックチェーンは、プルーフオブワーク(proof of work)及び/又はそれに関連付けられた任意の他の適切な検証技術を通じて、ブロックチェーンネットワークによって確認及び検証されることができる。ある場合では、所与のトランザクションに関するデータは、トランザクションデータに付加されたトランザクションの直接的に一部ではない追加のデータをさらに含むことができる。ある事例では、ブロックチェーン内にそのようなデータを含めることは、トランザクションを構成することができる。そのような事例では、ブロックチェーンは、特定のデジタル通貨、仮想通貨、不換(フィアット)通貨、又は他の種類の通貨に直接関連付けられないことがある。
ブロックチェーン-ブロックチェーンに基づく通貨のすべてのトランザクションの公開台帳。1つ以上のコンピューティング装置は、ブロックチェーンネットワークを含むことができる。ブロックチェーンネットワークは、ブロックチェーン内のブロックの一部として、トランザクションを処理及び記録するように構成されることができる。ブロックが完成されると、ブロックは、ブロックチェーンに追加され、トランザクション記録がそれによって更新される。多くの事例では、ブロックチェーンは、時系列順のトランザクションの台帳とすることができる、又は、ブロックチェーンネットワークによる使用に適し得る任意の他の順序で提示されることができる。ある構成では、ブロックチェーン内に記録されたトランザクションは、宛先アドレスと通貨額とを含むことができ、例えば、ブロックチェーンは、どのくらいの通貨が特定のアドレスに帰属可能であるかを記録する。ある事例では、あるトランザクションは金融であり、他のトランザクションは金融ではない、又はトランザクションは、ソースアドレス、タイムスタンプなどの追加の若しくは異なる情報を含むことができる。ある実施形態では、ブロックチェーンは、さらに又は代替的に、その操作者によってさえ、改竄及び修正に対して強化されたデータ記録の連続的に成長する一覧を維持する分散データベース内に配置される、又は配置される必要があるトランザクションの形態として、ほぼ任意の種類のデータを含むことができる。ブロックチェーンは、プルーフオブワーク(proof of work)及び/又はそれに関連付けられた任意の他の適切な検証技術を通じて、ブロックチェーンネットワークによって確認及び検証されることができる。ある場合では、所与のトランザクションに関するデータは、トランザクションデータに付加されたトランザクションの直接的に一部ではない追加のデータをさらに含むことができる。ある事例では、ブロックチェーン内にそのようなデータを含めることは、トランザクションを構成することができる。そのような事例では、ブロックチェーンは、特定のデジタル通貨、仮想通貨、不換(フィアット)通貨、又は他の種類の通貨に直接関連付けられないことがある。
デジタル資産のアトミック交換のためのシステム
図1は、一時的な鍵ペアを使用して、複数のブロックチェーン上のデジタル資産のアトミック交換をするためのシステム100を示す。これは、ブロックチェーンのフォーマット及び実装に依存せずに資産を交換することを可能にする。
図1は、一時的な鍵ペアを使用して、複数のブロックチェーン上のデジタル資産のアトミック交換をするためのシステム100を示す。これは、ブロックチェーンのフォーマット及び実装に依存せずに資産を交換することを可能にする。
システム100では、送信側装置102と受信側装置104とが、2つの異なるブロックチェーン上で保持されるデジタル資産の交換を行うことに関心があり得る。本明細書で論じられるように、2つのブロックチェーンは、任意の実装、フォーマットなどのものであり得る。以下で論じられる方法は、1人の所有者又は制御エンティティから別の所有者又は制御エンティティに資産が移転され得るデジタル資産をブロックチェーンが格納する限り、関与するブロックチェーンの種類又は実装にかかわらず適用可能とすることができる。送信側装置102と受信側装置104とは、図2及び図5において以下でより詳細に論じられるような、任意の種類のコンピューティング装置とすることができる。例えば、携帯電話、スマートフォン、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートテレビ、ノートブックコンピュータなどである。ブロックチェーンの各々は、図1に示されるように、第1のブロックチェーンネットワーク106及び第2のブロックチェーンネットワーク110などのブロックチェーンネットワークによって管理及び維持されることができる。
各ブロックチェーンネットワーク106及び110は、それぞれ、複数のブロックチェーンノード108及び112から構成されることができる。各ブロックチェーンノード108及び112は、図5に示され、以下でより詳細に論じられるようなコンピューティングシステムとすることができる。このコンピューティングシステムは、ブロックチェーンの処理及び管理に関連した機能を実行するように構成される。この機能は、ブロックチェーンデータ値の生成、提案されたブロックチェーントランザクションの検証、デジタル署名の検証、新しいブロックの生成、新しいブロックの検証、及びブロックチェーンの複製の維持を含む。
ブロックチェーンは、少なくとも複数のブロックから構成される分散台帳とすることができる。各ブロックは、少なくとも、ブロックヘッダと1つ以上のデータ値とを含むことができる。各ブロックヘッダは、少なくとも、タイムスタンプとブロック参照値とデータ参照値とを含むことができる。タイムスタンプは、ブロックヘッダが生成された時間とすることができ、任意の適切な方法(例えば、UNIXタイムスタンプ、日時型(DateTime)など)を使用して表されることができる。ブロック参照値は、ブロックチェーン内のより前のブロックを(例えば、タイムスタンプに基づいて)参照する値とすることができる。ある実施形態では、ブロックヘッダ内のブロック参照値は、それぞれのブロックの前にごく最近追加されたブロックのブロックヘッダへの参照とすることができる。例示的な実施形態では、ブロック参照値は、ごく最近追加されたブロックのブロックヘッダのハッシュ化を介して生成されたハッシュ値とすることができる。データ参照値は同様に、ブロックヘッダを含むブロック内に格納された1つの以上のデータ値への参照とすることができる。例示的な実施形態では、データ参照値は、1つ以上のデータ値のハッシュ化を介して生成されたハッシュ値とすることができる。例えば、ブロック参照値は、1つ以上のデータ値を使用して生成されたマークルツリーのルートとすることができる。
各ブロックヘッダにおけるブロック参照値及びデータ参照値の使用は、ブロックチェーンが不変であることをもたらし得る。何らかのデータ値の修正を試みると、そのブロックの新しいデータ参照値の生成が必要になることになる。これは、後続のブロックのブロック参照値が新たに生成されることが必要になることになる。さらに、後続のブロック毎に新しいブロック参照値の生成を必要とする。これは、変更を永続的にするために、新しいブロックを生成して新しいブロックをブロックチェーンに追加する前に、ブロックチェーンネットワーク内のすべての単一のブロックチェーンノードにおいて実行され、更新されなければならないことになる。計算上及び通信上の制限は、不可能ではないにしても、そのような修正を非常に困難にし、したがって、ブロックチェーンを不変にすることができる。
ある実施形態では、ブロックチェーンは、2つの異なるブロックチェーンウォレット間で行われるブロックチェーントランザクションに関する情報を格納するために使用されることができる。ブロックチェーンウォレットは、暗号鍵ペアの秘密鍵を含むことができる。これは、ブロックチェーントランザクションの支払人による承認として機能するデジタル署名を生成するために使用される。デジタル署名は、暗号鍵ペアの公開鍵を使用してブロックチェーンネットワークによって検証されることができる。ある場合では、用語「ブロックチェーンウォレット」は、特に秘密鍵を指すことができる。他の場合では、用語「ブロックチェーンウォレット」は、ブロックチェーントランザクションにおいて使用するための秘密鍵を格納するコンピューティング装置(例えば、送信側装置102及び受信側装置104)を指すことができる。例えば、各コンピューティング装置は、それぞれの暗号鍵ペアについてそれら自身の秘密鍵を各々有することができ、各々、ブロックチェーンネットワークに関連付けられたブロックチェーンとのトランザクションにおいて使用するためのブロックチェーンウォレットとすることができる。コンピューティング装置は、ブロックチェーンウォレットを格納して利用するのに適した任意の種類の装置とすることができる。これは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、スマートウォッチ、スマートテレビ、装着型コンピューティング装置、埋め込み型コンピューティング装置などである。
ブロックチェーン内に格納された各ブロックチェーンデータ値は、適用可能な場合、ブロックチェーントランザクション又はデータの他の記憶に対応することができる。ブロックチェーントランザクションは、少なくとも、送信者の秘密鍵を使用して生成される通貨の送信者(例えば、送信側装置102)のデジタル署名と、受信者の公開鍵を使用して生成される通貨の受信者(例えば、受信側装置104)のブロックチェーンアドレスと、移転されるブロックチェーン通貨額又は格納された他のデータと、から構成されることができる。また、あるブロックチェーントランザクションでは、トランザクションは、ブロックチェーン通貨が現在格納される(例えば、デジタル署名がそのような通貨へのアクセスを証明する)送信者の1つ以上のブロックチェーンアドレスと、送信者によって保持される任意の変更のために送信者の公開鍵を使用して生成されたアドレスとを含むことができる。将来のトランザクションにおいて使用され得る、暗号通貨が送信されたアドレスは「出力」アドレスと呼ばれ、これは、各アドレスが前のブロックチェーントランザクションの出力を捕捉するために以前に使用されたものであり、「未使用トランザクション」とも呼ばれ、これはその通貨が依然として未使用である以前のトランザクションにおいてアドレスに送信された通貨があるためである。また、ある場合では、ブロックチェーントランザクションは、トランザクションを検証する際のエンティティによる使用のために、送信者の公開鍵を含むことができる。ブロックチェーントランザクションの従来の処理のために、そのようなデータは、送信者又は受信者のいずれかによって、ブロックチェーンネットワーク106又は110内のブロックチェーンノード108又は112に提供されることができる。ノードは、送信者のウォレットの暗号鍵ペア内の公開鍵を使用してデジタル署名を検証することができる。また、ノードは、(例えば、未使用トランザクションがまだ使用されておらず、送信者のウォレットに関連付けられたアドレスに送信された)送信者の資金へのアクセス、トランザクションの「確認」として知られる処理、を検証し、次に、ブロックチェーントランザクションを新しいブロック内に含むことができる。新しいブロックは、従来のブロックチェーン実装では、ブロックチェーンに追加され、ブロックチェーンネットワーク106又は110内のブロックチェーンノード108又は112のすべてにそれぞれ分散される前に、ブロックチェーンネットワーク106又は110内の他のノードによって検証されることができる。ブロックチェーンデータ値がブロックチェーントランザクションに関連されないが、代わりに他の種類のデータの記憶に関連される場合、ブロックチェーンデータ値は、依然として、デジタル署名の検証を含む、又は、デジタル署名の検証を伴うことができる。
システム100では、送信側装置102及び受信側装置104(例えば、又はその制御若しくはその所有するエンティティ)は、第1のブロックチェーンネットワーク106の第1のブロックチェーンと第2のブロックチェーンネットワーク110の第2のブロックチェーンとに格納された資産を交換することに関心があるとすることができる。例えば、送信側装置102は、第1のブロックチェーン上で第1のデジタル通貨額を有することができ、彼らは、(例えば、それに関連付けられたブロックチェーンウォレットを介して)受信側装置104が有する、第2のブロックチェーン上の第2のデジタル通貨と交換することに関心がある。従来のシステムでは、各ブロックチェーンネットワーク106及び110は、そのような交換を可能にして、資産が両方のブロックチェーン上で移転されることを確実にするために、それぞれのブロックチェーンを構成しなければならないことになる。
システム100では、両方の当事者、送信側装置102及び受信側装置104によって、提案メッセージが生成され、署名されることができる。これは、両方の当事者によって合意されたとき、第1のブロックチェーンと第2のブロックチェーンとの両方で行われるトランザクションの確認として働く。提案メッセージは、送信側装置102又は受信側装置104によって生成されることができ、両方のトランザクションについて、トランザクション値と、ネットワーク識別子とを含む。トランザクション値は、ブロックチェーンノード108又は112に送信されて、(例えば、一方のブロックチェーン上で送信側装置102から受信側装置104へ、及び他方のブロックチェーン上で受信側装置104から送信側装置102へ)それぞれのブロックチェーン上で資産の移転をするためのトランザクションを達成することになるであろうデータとすることができる。ネットワーク識別子は、ブロックチェーンを識別するために使用され得るそれぞれのブロックチェーンネットワーク106又は110に関連付けられた一意の値とすることができる。
また、提案メッセージは、アトミック交換のために生成された暗号鍵ペアの公開鍵(本明細書では「スワップ」鍵ペアと呼ばれる)を含むことができる。この公開鍵は、本明細書では「スワップ公開鍵」と呼ばれることができる。スワップ鍵ペアは、送信側装置102又は受信側装置104によって生成されることができ、スワップ公開鍵と対応するスワップ秘密鍵とを含むことができる。ある場合では、提案メッセージを生成する装置は、スワップ鍵ペアを生成することができる。他の場合では、他の装置は、スワップ鍵ペアを生成することができ、両方の鍵を他の装置に電子的に送信することができる。
したがって、提案メッセージは、両方の所望のブロックチェーントランザクションについて、スワップ公開鍵と、トランザクション値と、ネットワーク識別子とを含むことができる。提案メッセージを生成する装置は、提案メッセージに、デジタルに署名することができる。ある実施形態では、装置は、所定の順序で、トランザクション値とネットワーク識別子とを使用して、マークルツリーを生成することができ、マークルツリーのルートにデジタルに署名することができる。次に、装置は、スワップ公開鍵と自身の秘密鍵(例えば、第1のブロックチェーンと第2のブロックチェーンとの両方に使用されるブロックチェーンウォレット、又は第1のブロックチェーン若しくは第2のブロックチェーンのいずれかに使用されるブロックチェーンウォレット、とすることができるブロックチェーンウォレットとして使用される暗号鍵ペアの秘密鍵)との組合せを使用して、デジタル署名を暗号化することができる。ある場合では、装置が2つ以上の暗号鍵ペアを有する場合、使用される秘密鍵は、装置が送信者であるブロックチェーントランザクションの秘密鍵など、1つ以上の確立された規則に従って予め決定されることができる。暗号化されたデジタル署名は、所定の場所で提案メッセージに付加、先頭に追加(prepend)、又は追加されることができる。
次に、提案メッセージは、送信側装置102から受信側装置104へなど、生成する装置によって次の装置に送信されることができる。受信側装置104は、トランザクション値とネットワーク識別子とを検証して、トランザクションが正しく、合意されたものであったことを保証し、これは、例えば、移転される資産が適切な額であることを保証することができる。受信側装置104(例えば、又は適用可能な場合、送信側装置102)がトランザクション値とネットワーク識別子とで満たされる場合、受信側装置104は、提案メッセージについて自身のデジタル署名を生成することができる。デジタル署名は、提案メッセージについて生成された第1のデジタル署名において送信側装置102によって使用されたのと同じデータ(例えば、トランザクション値とネットワーク識別子とを使用して生成されたマークルツリーのルート)を使用して生成されることができる。次に、受信側装置104は、(例えば、受信された提案メッセージから検索された)スワップ公開鍵と、(例えば、上述したように、任意の適用可能な規則に従って決定された)自身の秘密鍵とを使用して、デジタル署名を暗号化することができる。受信側装置104の暗号化されたデジタル署名は、送信側装置の暗号化されたデジタル署名の後の提案メッセージの最後に付加されるなど、所定の方法で提案メッセージに追加されることができる。
次に、両方の暗号化されたデジタル署名を有する提案メッセージは、第1のブロックチェーンネットワーク106及び第2のブロックチェーンネットワーク110内のブロックチェーンノード108及び112それぞれに提出されることができる。ブロックチェーンノード108及び112の各々は、生成され、確認され、それぞれのブロックチェーンに追加される新しいブロックに提案メッセージを含むことができる。ある実施形態では、別々の提案メッセージが、ブロックチェーンの各々について生成されることができる。他のブロックチェーンのトランザクション値は、そのトランザクション値のハッシュによって置き換えられることができる。そのような例では、各提案メッセージについて生成されるデジタル署名は、それぞれの提案メッセージ内の変更されたトランザクション値の結果として異なり得る。提案メッセージの各々におけるトランザクション値の1つをハッシュ値で置き換えることは、提案メッセージについて著しいファイルサイズの低減をもたらすことができる。これは、ブロックチェーンの各々についての性能を向上させることができる。
提案メッセージが両方のブロックチェーンに追加された後、送信側装置102及び受信側装置104の各々は、ブロックチェーンの各々に追加された提案メッセージを閲覧して、例えば、他のエンティティが両方のトランザクションに合意し、デジタル署名を追加したことを保証することができる。提案メッセージがブロックチェーンに追加されると、アトミック交換は、確認されることができる。これは、スワップが実行され、示されるように資産の所有権が移転されることをもたらすであろう。スワップを確認するために、装置のうちの1つ(例えば、送信側装置102又は受信側装置104)は、スワップ確認メッセージを生成することができる。スワップ確認メッセージは、少なくとも、提案メッセージに対するハッシュ参照と、スワップ鍵ペアのスワップ秘密鍵とを含むことができる。提案メッセージのハッシュ参照は、ブロックチェーンに追加された最終的な提案メッセージに適切なハッシュアルゴリズムを適用することを介して生成された提案メッセージのハッシュ値とすることができる。各ブロックチェーンが異なる提案メッセージを受信する場合では、適切な提案メッセージに対するハッシュ参照を使用して、各ブロックチェーンについて別々のスワップ確認メッセージが生成されることができる。
次に、完了したスワップ確認メッセージは、適切なブロックチェーンネットワーク106又は110内のブロックチェーンノード108又は112に送信されることができる。ブロックチェーンノード108又は112は、次に、従来の方法及びシステムを使用して生成され、確認される新しいブロック内にスワップ確認メッセージを含むことができる。結果として、提案メッセージ及びスワップ確認メッセージを用いて、提案メッセージ内に含まれるトランザクション値が、有効なトランザクションとして受け取られ(honor)、したがって、デジタル資産が両方のブロックチェーンにおいて交換されることになるであろう。
スワップ確認メッセージ内のスワップ秘密鍵の公開により、任意の関心のあるエンティティ、又は検証システム114などのシステムは、スワップを検証することが可能であり得る。スワップの検証は、提案メッセージ内に含まれた、両方の暗号化されたデジタル署名を検証することを含むことができる。各デジタル署名は、それぞれの装置(例えば、適用可能な場合、送信側装置102又は受信側装置104)のスワップ公開鍵と秘密鍵とを使用して暗号化されるので、復号は、スワップ秘密鍵とそれぞれの装置の公開鍵とを使用して実行されることができる。これは、ブロックチェーン自身において利用可能であり得る、又は装置によって利用可能にされ得る。例えば、検証システム114は、スワップの検証のために送信側装置102及び受信側装置104に連絡することができる。送信側装置102及び受信側装置104は、それぞれの公開鍵を提供することができる。検証システム114は、スワップ確認メッセージからのスワップ秘密鍵と各装置からの公開鍵とを使用して、それぞれのデジタル署名を復号し、次にそのデジタル署名を検証することができる。このようにして、検証システム114は、(例えば、署名を復号するために使用される公開鍵が資産の移転において使用されるのと同じウォレットからのものであるので)スワップを検証して、関与するエンティティによって提案が適切に署名されたことを保証することができる。上述のような鍵を使用する暗号化及び復号は、楕円曲線ディフィー・ヘルマン(ECDH)プロトコル又は他の楕円曲線暗号化技術などを介して、共有された秘密を使用して実行されることができる。例えば、RSA暗号システムが、代替的に使用されることができる。スワップ公開鍵は暗号化のために使用され、スワップ秘密鍵は復号のために使用される。
ある実施形態では、資産の移転は、3つ以上のエンティティ及び/又は3つ以上のブロックチェーンを含むことができる。そのような事例では、提案メッセージは、追加の資産移転のために、追加のトランザクション値とネットワーク識別子とを含むことができる。提案メッセージとスワップ確認メッセージとは、必要に応じて、任意の追加のブロックチェーンネットワークについて、任意の追加のブロックチェーンノードに送信されることができる。本明細書で論じられる方法及びシステムは、関与する移転、エンティティ、又はブロックチェーンの数にかかわらず、並びに各ブロックチェーンのフォーマット及び実装に関して依存せず、同じ方法論を使用して、資産のアトミック交換を行うことを可能にする。
したがって、本明細書で論じられる方法及びシステムは、複数のブロックチェーンにおけるデジタル資産のアトミック交換における著しい改善を提供する。本明細書で論じられる方法はブロックチェーンに依存しないので、本方法は、修正することなく、デジタル資産を伴う、現在存在している何千ものブロックチェーンのいずれにも適用されることができ、開発されていて現在存在していない任意の新しいブロックチェーンに依然として適用可能である。追加的に、本明細書で論じられる方法は、関与する任意の数のエンティティ又は資産移転について適用可能であり、唯一の違いは確認メッセージのサイズである(例えば、上述したように、個々のブロックチェーンに適用可能ではない任意のトランザクション値についてのハッシュの使用は、ファイルサイズへの最小限の追加を用いて、追加のトランザクションを容易にし得る)。したがって、本明細書で論じられる方法及びシステムは、複数のブロックチェーンにわたるデジタル資産のアトミック交換を可能にするための既存の方法よりも著しい改善を提供する。
コンピューティング装置
図2は、コンピューティング装置200の一実施形態を示す。これは、例えば、システム100内の送信側装置102又は受信側装置104として使用されることができる。図2に示されるコンピューティング装置200の実施形態は、例示としてのみ提供され、本明細書で論じられるような機能を実行するのに適したコンピューティング装置200のすべての可能な構成を網羅し得るものではないことが、当業者には明らかであろう。例えば、図5に示され、以下でより詳細に論じられるコンピュータシステム500は、コンピューティング装置200の適切な構成とすることができる。
図2は、コンピューティング装置200の一実施形態を示す。これは、例えば、システム100内の送信側装置102又は受信側装置104として使用されることができる。図2に示されるコンピューティング装置200の実施形態は、例示としてのみ提供され、本明細書で論じられるような機能を実行するのに適したコンピューティング装置200のすべての可能な構成を網羅し得るものではないことが、当業者には明らかであろう。例えば、図5に示され、以下でより詳細に論じられるコンピュータシステム500は、コンピューティング装置200の適切な構成とすることができる。
コンピューティング装置200は、受信装置202を含むことができる。受信装置202は、1つ以上のネットワークプロトコルを介して1つ以上のネットワークにわたるデータを受信するように構成されることができる。ある事例では、受信装置202は、1つ以上の通信方法を介して、送信側装置102と、受信側装置104と、ブロックチェーンノード108及び112と、検証システム114と、他のシステム及びエンティティとからデータを受信するように構成されることができる。この通信方法は、例えば、無線周波数、構内通信網、無線エリアネットワーク、セルラー通信ネットワーク、Bluetooth、インターネットなどである。ある実施形態では、受信装置202は、複数の装置から構成されることができる。これは、例えば、異なるネットワークを介してデータを受信するための異なる受信装置であり、構内通信網を介してデータを受信するための第1の受信装置及びインターネットを介してデータを受信するための第2の受信装置などである。受信装置202は、電子的に送信されたデータ信号を受信することができる。データは、データ信号に重ねられる、又は符号化されることができ、受信装置202によるデータ信号の受信を介して、復号される、構文解析される、読み込まれる、又は取得されることができる。ある事例では、受信装置202は、受信されたデータ信号を構文解析して、重ねられたデータを取得するために構文解析モジュールを含むことができる。例えば、受信装置202は、パーサプログラムを含むことができる。パーサプログラムは、受信して、受信されたデータ信号を、本明細書で説明される方法及びシステムを実行するために処理装置によって実行される機能のための使用可能な入力に変換するように構成される。
受信装置202は、送信側装置102又は受信側装置104によって電子的に送信されるデータ信号を受信するように構成されることができる。このデータ信号は、公開鍵、スワップ鍵ペア、トランザクション値、ネットワーク識別子、提案メッセージ、又は本明細書で論じられる方法を実行する際に使用するための他のデータ、に重ねられる、又は符号化されることができる。また、受信装置202は、検証システム114によって電子的に送信されるデータ信号を受信するように構成されることができ、このデータ信号は、スワップを検証する際に使用するための公開鍵要求に重ねられる、又は符号化されることができる。受信装置202は、ブロックチェーンノード108及び112によって電子的に送信されるデータ信号を受信するようにさらに構成されることができる。このデータ信号は、例えば、提案メッセージが、関連付けられたブロックチェーンにいつ首尾よく追加されたかを識別するなどのために、ブロックチェーンデータに重ねられる、又は符号化されることができる。
また、コンピューティング装置200は通信モジュール204を含むことができる。通信モジュール204は、本明細書で論じられる機能を実行する際に使用するために、モジュールと、エンジンと、データベースと、記憶部と、コンピューティング装置200の他の構成要素との間でデータを送信するように構成されることができる。通信モジュール204は、1つ以上の通信種別から構成されることができ、コンピューティング装置内の通信のための様々な通信方法を利用することができる。例えば、通信モジュール204は、バス、コンタクトピンコネクタ、電線などから構成されることができる。また、ある実施形態では、通信モジュール204は、コンピューティング装置200の内部構成要素と、外部接続データベース、表示装置、入力装置などのコンピューティング装置200の外部構成要素との間で通信するように構成されることができる。また、コンピューティング装置200は、処理装置を含むことができる。処理装置は、当業者には明らかであるように、本明細書で論じられるコンピューティング装置200の機能を実行するように構成されることができる。ある実施形態では、処理装置は、クエリモジュール214、生成モジュール216、検証モジュール218など、処理装置の1つ以上の機能を実行するように特別に構成された複数のエンジン及び/又はモジュールを含む、及び/又はそれらから構成されることができる。本明細書で使用される場合、用語「モジュール」は、入力を受信し、入力を使用して1つ以上の処理を実行し、出力を提供するように特にプログラムされたソフトウェア又はハードウェアとすることができる。様々なモジュールによって実行される入力、出力、及び処理は、本開示に基づいて当業者には明らかであろう。
また、コンピューティング装置200は、ブロックチェーンデータ206を含むことができる。ブロックチェーンデータ206は、コンピューティング装置200の記憶部212内に格納されることができる、又はコンピューティング装置200内の別個の領域に格納されることができる、又はそれによってアクセス可能とすることができる。ブロックチェーンデータ206は、ブロックチェーンを含むことができる。ブロックチェーンは、複数のブロックから構成されることができ、ブロックチェーンネットワーク106、110に関連付けられることができる。ブロックチェーンデータ206は、さらに又は代替として、コンピューティング装置200によって使用され得る1つ以上のブロックチェーンウォレットに関連付けられた任意のデータを含むことができる。これは、例えば、暗号鍵ペア、未使用トランザクション出力、デジタル資産額、ブロックチェーンネットワーク106及び110のネットワーク識別子、スワップ鍵ペア、署名生成アルゴリズム、暗号化アルゴリズムなど、である。
また、コンピューティング装置200は記憶部212を含むことができる。記憶部212は、例えば公開鍵及び秘密鍵、対称鍵など、本明細書で論じられる機能を実行する際にコンピューティング装置200によって使用されるためのデータを格納するように構成されることができる。記憶部212は、適切なデータフォーマット方法及びスキーマを使用してデータを格納するように構成されることができ、読取り専用メモリ、ランダムアクセスメモリなどの任意の適切な種類のメモリとすることができる。例えば、記憶部212は、暗号鍵及びアルゴリズムと、通信プロトコル及び規格と、データフォーマット規格及びプロトコルと、処理装置のモジュール及びアプリケーションプログラムのためのプログラムコードと、当業者には明らかであるような、本明細書で開示される機能の実行の際にコンピューティング装置200によって使用されるのに適し得る他のデータと、を含むことができる。ある実施形態では、記憶部212は、関係データベースから構成されることができる、又はそれを含むことができる。関係データベースは、格納された構造化データ集合の記憶、識別、修正、更新、アクセスなどのために構造化クエリ言語を利用する。例えば、記憶部212は、暗号鍵、ソルト、ナンス、ブロックチェーンノード108及び112とブロックチェーンネットワーク106及び110とのための通信情報、アドレス生成及び検証アルゴリズム、デジタル署名生成及び検証アルゴリズム、参照値を生成するためのハッシュアルゴリズムなどを格納するように構成されることができる。
コンピューティング装置200は、クエリモジュール214を含むことができる。クエリモジュール214は、情報を識別するために、データベース上でクエリを実行するように構成されることができる。クエリモジュール214は、1つ以上のデータ値又はクエリ文字列を受信することができ、コンピューティング装置200の記憶部212などの、示されたデータベース上で、それに基づくクエリ文字列を実行して、格納された情報を識別することができる。次に、クエリモジュール214は、必要に応じて、識別された情報を、コンピューティング装置200の適切なエンジン又はモジュールに出力することができる。クエリモジュール214は例えば、ブロックチェーンデータ206上でクエリを実行して、提案メッセージを介して生成されたデジタル署名を暗号化するために使用される公開鍵を識別することができる。
また、コンピューティング装置200は、生成モジュール216を含むことができる。生成モジュール216は、本明細書で論じられる機能を実行する際にコンピューティング装置200によって使用されるためのデータを生成するように構成されることができる。生成モジュール216は、入力として命令を受信することができ、命令に基づいてデータを生成することができ、生成されたデータをコンピューティング装置200の1つ以上のモジュールに出力することができる。例えば、生成モジュール216は、提案メッセージ、スワップ確認メッセージ、デジタル署名、データ信号、鍵ペアなどを生成するように構成されることができる。
コンピューティング装置200はまた、暗号化モジュール210を含むことができる。暗号化モジュール210は、鍵及び暗号化アルゴリズムを使用して、データを暗号化する、又は暗号化されたデータを復号するように構成されることができる。これらは、例えば、コンピューティング装置200のブロックチェーンデータ206若しくは記憶部212に記憶されることができる、又はその受信装置202によって受信されることができる。暗号化モジュール210は、入力としてデータ及び命令を受信することができ、命令に応じてデータを暗号化又は復号して、結果として得られた暗号化又は復号されたデータをコンピューティング装置200の別のモジュール又はエンジンに出力することができる。暗号化モジュール210は例えば、スワップ公開鍵と他の秘密鍵とを使用してデジタル署名を暗号化すること、スワップ秘密鍵と他の公開鍵とを使用してデジタル署名を復号すること、などを行うように構成されることができる。
コンピューティング装置200はまた、検証モジュール218を含むことができる。検証モジュール218は、本明細書で論じられる機能の一部として、コンピューティング装置200の検証を実行するように構成されることができる。検証モジュール218は、入力として命令を受信することができ(これは、検証を実行する際に使用されるデータも含み得る)、要求に応じて検証を実行することができ、検証の結果をコンピューティング装置200の別のモジュール又はエンジンに出力することができる。検証モジュール218は例えば、適切な署名生成アルゴリズム及び鍵を使用してデジタル署名を検証する、トランザクション値と本明細書で論じられる他のデータとを検証する、ように構成されることができる。
また、コンピューティング装置200は送信装置220を含むことができる。送信装置220は、1つ以上のネットワークプロトコルを介して1つ以上のネットワークにわたるデータを送信するように構成されることができる。ある事例では、送信装置220は、1つ以上の通信方法を介して、送信側装置102と、受信側装置104と、ブロックチェーンノード108及び112と、検証システム114と、他のエンティティとにデータを送信するように構成されることができる。この1つ以上の通信方法は、構内通信網、無線エリアネットワーク、セルラー通信、Bluetooth、無線周波数、インターネットなどである。ある実施形態では、送信装置220は、複数の装置から構成されることができる。これは、例えば、異なるネットワークを介してデータを送信するための異なる送信装置であり、構内通信網を介してデータを送信するための第1の送信装置及びインターネットを介してデータを送信するための第2の送信装置などである。送信装置220は、受信するコンピューティング装置によって構文解析され得る、データが重ねられたデータ信号を電子的に送信することができる。ある事例では、送信装置220は、データを、送信に適したデータ信号に重ねる、符号化する、又はフォーマットするための1つ以上のモジュールを含むことができる。
送信装置220は、データ信号を、送信側装置102又は受信側装置104に電子的に送信するように構成されることができる。このデータ信号は、公開鍵、スワップ鍵ペア、トランザクション値、ネットワーク識別子、提案メッセージ、又は本明細書で論じられる方法を実行する際に使用するための他のデータと重ねられる、又は符号化されることができる。また、送信装置220は、データ信号を検証システム114に電子的に送信するように構成されることができる。このデータ信号は、スワップを検証する際に使用するために、公開鍵と重ねられる、又は符号化されることができる。送信装置220は、ブロックチェーンノード108及び112にデータ信号を電子的に送信するようにさらに構成されることができる。このデータ信号は、提案メッセージと、スワップ確認メッセージと、本明細書で論じられるように使用される任意の他のデータとに重ねられる、又は符号化されることができる。
デジタル資産のアトミック交換のための処理
図3Aから図3Cは、本明細書ではスワップ鍵ペアと呼ばれる一時的な鍵ペアの使用によって、2つの異なるブロックチェーン上でデジタル資産のアトミック交換をするための処理を示す。
図3Aから図3Cは、本明細書ではスワップ鍵ペアと呼ばれる一時的な鍵ペアの使用によって、2つの異なるブロックチェーン上でデジタル資産のアトミック交換をするための処理を示す。
ステップ302において、送信側装置102と受信側装置104とは、データ交換を実行して、ブロックチェーントランザクションの組(pair)に合意し、装置に関連付けられた当事者間のデジタル資産の交換を容易にすることができる。データの交換は、公開鍵と、未使用トランザクション出力と、デジタル署名と、資産額と、ブロックチェーントランザクションがブロックチェーンネットワーク106及び110の各々で処理されるために必要な他のデータと、の交換を含むことができる。ステップ302の終わりには、送信側装置102は、各ブロックチェーン上で行われるブロックチェーントランザクションを介して送信側装置102と受信側装置104との間で資産を交換するために、2つのブロックチェーンネットワーク106及び110の各々についてトランザクション値を生成することが可能な十分なデータを有することができる。
ステップ304において、送信側装置102の生成モジュール216は、デジタル資産の交換を達成するために、第1及び第2のブロックチェーントランザクションについてトランザクション値を生成することができる。ステップ306において、送信側装置102の生成モジュール216は、適切な鍵生成アルゴリズムを使用してスワップ暗号鍵ペアを生成することができる。ステップ308において、送信側装置102の生成モジュール216は、アトミック交換について提案メッセージを生成することができる。提案メッセージは、少なくとも、スワップ鍵ペアのスワップ公開鍵、並びに両方のブロックチェーントランザクションについて、トランザクション値とネットワーク識別子とを含むことができる。ネットワーク識別子は、関連付けられたブロックチェーンネットワーク106又は110について一意の識別子である。ステップ310において、送信側装置102の生成モジュール216は、2つのトランザクション値とネットワーク識別子とを使用して生成されたマークルツリーのルートにわたってデジタル署名を生成することによって、提案データに署名することができる。ステップ312において、送信側装置102の暗号化モジュール210は、スワップ公開鍵と送信側装置102の秘密鍵とを使用することによって、ECDHを使用してデジタル署名を暗号化することができる。この秘密鍵は、例えば、資産移転が実行されているブロックチェーンのうちの1つの送信側装置102のブロックチェーンウォレットとして機能する暗号鍵ペアの秘密鍵である。ステップ314において、送信側装置102は、暗号化されたデジタル署名を提案メッセージに付加することができる。
ステップ316において、送信側装置102の送信装置220は、適切な通信方法及びシステムを使用して、受信側装置104に、暗号化されたデジタル署名が含まれる提案メッセージを電子的に送信することができる。ステップ318において、受信側装置104の受信装置202は、提案メッセージを受信することができる。ステップ320において、受信側装置104の検証モジュール218は、提案メッセージ内の2つのトランザクション値とネットワーク識別子とを検証して、デジタル資産の交換について両当事者が合意したものに関して正しいなど、2つのブロックチェーントランザクションが適切であることを保証することができる。ステップ322において、受信側装置104の生成モジュール216は、トランザクション値とネットワーク識別子とを使用して生成されたマークルツリーのルートに署名することによって、提案メッセージについて自身のデジタル署名を生成することができる。ステップ324において、受信側装置104の暗号化モジュール210は、受信された提案メッセージにおいて識別されたスワップ公開鍵と、受信側装置104の秘密鍵とを使用して、生成されたデジタル署名を暗号化することができる。この秘密鍵は、例えば、資産移転が実行されているブロックチェーンのうちの1つの受信側装置104のブロックチェーンウォレットとして機能する暗号鍵ペアの秘密鍵である。ステップ326において、この追加の暗号化されたデジタル署名は、第1の暗号化されたデジタル署名の後などに、提案メッセージに付加されることができる。
ステップ328において、受信側装置104の送信装置220は、両方の暗号化されたデジタル署名を有する提案メッセージをブロックチェーンノード112に電子的に送信することができる(例えば、受信側装置104は、資産交換に関与するすべてのブロックチェーンネットワークのブロックチェーンノードに提案メッセージを送信することができるが、便宜上、ブロックチェーンネットワークのうちのただ1つのブロックチェーンノードによって実行されるアクションが図3Aから図3Cに示され、本明細書で論じられる)。ステップ330において、ブロックチェーンノード112は、適切な通信ネットワーク及び方法を使用して、受信側装置104から提案メッセージを受信することができる。
ステップ332において、ブロックチェーンノード112は、従来の方法及びシステムを使用して、ブロックチェーンについて新しいブロックを生成することができる。提案メッセージは、格納されるトランザクションデータ値として、新しいブロック内に含まれる。ステップ334において、新しいブロックは、従来の方法及びシステムを使用して、例えば、新しいブロックが、ブロックチェーンネットワーク110内の他のブロックチェーンノードに分散され、ブロックチェーンノードの大部分によって確認され、それによってブロックチェーンに次のブロックとして追加されるとみなされることによって、ブロックチェーンに掲示されることができる。ステップ336において、送信側装置102の受信装置202は、ブロックチェーンノード112又は他の適切な方法から直接など、ブロックチェーン上の新しいブロックを受信することができる。
ステップ338において、送信側装置102の検証モジュール218は、提案メッセージを検証して、トランザクション値のいずれも変更されておらず、第2の暗号化されたデジタル署名がそれに付加されたなど、提案メッセージが正確であることを保証することができる。ステップ340において、送信側装置102の生成モジュール216は、デジタル資産の交換について、確認メッセージを生成することができる。確認メッセージは、スワップ秘密鍵、並びに提案メッセージの参照値を含むことができる。ある実施形態では、参照値は、新しいブロック内の、ブロックチェーンに追加された提案メッセージへのハッシュアルゴリズムの適用を介して生成されたハッシュ値とすることができる。ステップ342において、送信側装置102の送信装置220は、適切な通信ネットワーク及び方法を使用して、確認メッセージをブロックチェーンノード112に電子的に送信することができる。
ステップ344において、ブロックチェーンノード112は、確認メッセージを受信することができる。ステップ346では、新しいブロックが、ブロックチェーンノード112によって、そのブロックチェーンについて生成されることができる。新しいブロックは確認メッセージを含む。ブロックは、確認のためにブロックチェーンネットワーク110内の他のブロックチェーンノードに分散されることができる。ステップ348において、確認メッセージを有する新しいブロックはブロックチェーンに追加されることができる。確認メッセージを追加することにより、両方のブロックチェーン上のブロックチェーントランザクションは、それによって、処理されたと考えられることができる。次に、送信側装置102と受信側装置104との各々は、ブロックチェーン上の他の装置からデジタル資産を受信することになるであろう。
複数のブロックチェーン上で資産をアトミック交換するための例示的な方法
図4は、一時的な鍵ペアの使用を介して、複数のブロックチェーンにわたるデジタル資産のアトミック交換をするための方法400を示す。これは、ブロックチェーンのフォーマット及び実装と、関与するブロックチェーン及び資産移転の数とに関して依存しない。
図4は、一時的な鍵ペアの使用を介して、複数のブロックチェーンにわたるデジタル資産のアトミック交換をするための方法400を示す。これは、ブロックチェーンのフォーマット及び実装と、関与するブロックチェーン及び資産移転の数とに関して依存しない。
ステップ402において、第1のコンピューティング装置(例えば、送信側装置102)の(例えば、生成モジュール216によって)提案メッセージが生成されることができる。提案メッセージは、少なくとも、第1のトランザクション値と、第1のブロックチェーンに対応する第1のネットワーク識別子と、第2のトランザクション値と、第2のブロックチェーンに対応する第2のネットワーク識別子と、スワップ暗号鍵ペアのスワップ公開鍵とを含む。ステップ404において、第1のデジタル署名が、第1のコンピューティング装置によって、提案メッセージについて生成されることができる。ステップ406において、スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、第1のコンピューティング装置の(例えば、暗号化モジュール210によって)第1のデジタル署名は、暗号化されることができる。
ステップ408において、暗号化された第1のデジタル署名は、第1のコンピューティング装置によって、生成された提案メッセージに付加されることができる。ステップ410において、第1のコンピューティング装置の(例えば、送信装置220によって)暗号化された第1のデジタル署名が付加された、生成された提案メッセージは、第2のコンピューティング装置(例えば、受信側装置104)に電子的に送信されることができる。
一実施形態では、方法400は、第2のコンピューティング装置によって、提案メッセージについて第2のデジタル署名を生成することと、第2のコンピューティング装置によって、スワップ公開鍵と第2の暗号鍵ペアの第2の秘密鍵とを使用して、第2のデジタル署名を暗号化することと、第2のコンピューティング装置によって、暗号化された第2のデジタル署名を、暗号化された第1のデジタル署名が付加された、生成された提案メッセージに付加することと、第2のコンピューティング装置によって、暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された、生成された提案メッセージを送信することと、をさらに含むことができる。さらなる実施形態では、生成された提案メッセージは、第2のコンピューティング装置によって、第2のブロックチェーンに関連付けられたブロックチェーンネットワーク(例えば、ブロックチェーンネットワーク110)内の複数のブロックチェーンノード(例えば、ブロックチェーンノード112)のうちの少なくとも1つに送信されることができる。さらに別の実施形態では、方法400は、第1のコンピューティング装置によって、確認メッセージを生成することであって、確認メッセージは、少なくとも、(i)暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された、生成された提案メッセージを使用して生成されたハッシュ値と、(ii)スワップ暗号鍵ペアのスワップ秘密鍵と、を含む、ことと、第1のコンピューティング装置によって、生成された確認メッセージを、第2のブロックチェーンに関連付けられたブロックチェーンネットワーク内の複数のブロックチェーンノード内のブロックチェーンノードに送信することと、をさらに含むことができる。さらに別の実施形態では、方法400は、第3のコンピューティング装置(例えば、検証システム114)によって、第2のブロックチェーンから、生成された確認メッセージと、暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された、生成された提案メッセージと、を検索することと、第3のコンピューティング装置によって、検索された確認メッセージ内のスワップ秘密鍵と第1の暗号鍵ペアの第1の公開鍵とを使用して、第1のデジタル署名を復号することと、第3のコンピューティング装置によって、復号された第1のデジタル署名を検証することと、をさらに含むことができる。
ある実施形態では、方法400は、提案メッセージを生成する前に、第1のコンピューティング装置によって、スワップ暗号鍵ペアを生成すること、をさらに含むことができる。一実施形態では、第1のデジタル署名は、提案メッセージ内の第1のトランザクション値と、第1のネットワーク識別子と、第2のトランザクション値と、第2のネットワーク識別子とに署名することによって、生成されることができる。ある実施形態では、第1のトランザクション値は、第1のブロックチェーンを使用する第1のブロックチェーントランザクションについてのトランザクションデータを使用して生成されたハッシュ値を含むことができ、第2のトランザクション値は、第2のブロックチェーンを使用する第2のブロックチェーントランザクションについてのトランザクションデータを含むことができる。
コンピュータシステムアーキテクチャ
図5は、本開示の実施形態又はその一部がコンピュータ可読コードとして実装され得るコンピュータシステム500を示す。例えば、図1の送信側装置102及び受信側装置104と図2のコンピューティング装置200とは、ハードウェア、命令を格納した非一時的コンピュータ可読媒体、又はそれらの組み合わせを使用して、コンピュータシステム500において実装されることができ、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されることができる。ハードウェアは、図3A~図3C及び図4の方法を実施するために使用されるモジュールと構成要素とを具体化することができる。
図5は、本開示の実施形態又はその一部がコンピュータ可読コードとして実装され得るコンピュータシステム500を示す。例えば、図1の送信側装置102及び受信側装置104と図2のコンピューティング装置200とは、ハードウェア、命令を格納した非一時的コンピュータ可読媒体、又はそれらの組み合わせを使用して、コンピュータシステム500において実装されることができ、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されることができる。ハードウェアは、図3A~図3C及び図4の方法を実施するために使用されるモジュールと構成要素とを具体化することができる。
プログラマブルロジックが使用される場合、そのようなロジックは、実行可能ソフトウェアコードによって構成された市販の処理プラットフォーム上で実行して、特定の目的のコンピュータ又は特別の目的の装置(例えば、プログラマブルロジックアレイ、特定用途向け集積回路など)になることができる。当業者は、開示された主題の実施形態が様々なコンピュータシステム構成を用いて実施され得ることを理解することができる。この様々なコンピュータシステム構成は、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能を用いてリンク又はクラスタ化されたコンピュータ、ならびに仮想的に任意の装置に埋め込まれ得るパーペイシブ又は小型コンピュータを含む。例えば、少なくとも1つのプロセッサ装置と記憶部とが、上述の実施形態を実装するために使用されることができる。
本明細書で論じられるプロセッサユニット又は装置は、単一のプロセッサ、複数のプロセッサ、又はそれらの組み合わせとすることができる。プロセッサ装置は、1つ以上のプロセッサ「コア」を有することができる。本明細書で論じられるような用語「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」、及び「コンピュータ使用可能媒体」は、概して、取り外し可能記憶ユニット518、取り外し可能記憶ユニット522、及びハードディスクドライブ512にインストールされたハードディスクなどの有形媒体を指すために使用される。
本開示の様々な実施形態は、この例示的なコンピュータシステム500に関して説明される。この説明を読んだ後、他のコンピュータシステム及び/又はコンピュータアーキテクチャを使用して、どのように本開示を実施するかが当業者には明らかになるであろう。動作は連続的な処理として説明されることができるが、動作の一部は、実際には、並列に、同時に、及び/又は分散環境において、単一又はマルチプロセッサ機械によるアクセスのためにローカルに又は遠隔に格納されたプログラムコードを用いて、実行されることができる。追加として、ある実施形態では、動作の順序が、開示される主題の趣旨から逸脱することなく、再構成されることができる。
プロセッサ装置504は、本明細書で論じられる機能を実行するように特に構成された専用又は汎用プロセッサ装置とすることができる。プロセッサ装置504は、通信インフラストラクチャ506に接続されることができる。これは、例えば、バス、メッセージキュー、ネットワーク、マルチコアメッセージパッシング方式などである。ネットワークは、本明細書で開示されるような機能を実行するのに適した任意のネットワークとすることができ、構内通信網(LAN)、広域通信網(WAN)、無線ネットワーク(例えば、WiFi)、移動体通信網、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数(RF)、又はそれらの任意の組合せを含むことができる。他の適切なネットワークの種類及び構成は、当業者には明らかであろう。また、コンピュータシステム500は、主記憶部508(例えば、ランダムアクセスメモリ、読み取り専用メモリなど)を含むことができ、補助記憶部510も含むことができる。補助記憶部510は、ハードディスクドライブ512と取り外し可能記憶ドライブ514とを含むことができる。これは、例えば、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリなどである。
取り外し可能記憶ドライブ514は、周知の方法で、取り外し可能記憶ユニット518から読み取り、及び/又はそれに書き込むことができる。取り外し可能記憶ユニット518は、取り外し可能記憶ドライブ514によって読み書きされ得る取り外し可能記憶媒体を含むことができる。例えば、取り外し可能記憶ドライブ514がフロッピーディスクドライブ又はユニバーサルシリアルバスポートである場合、取り外し可能記憶ユニット518は、それぞれ、フロッピーディスク又はポータブルフラッシュドライブとすることができる。一実施形態では、取り外し可能記憶ユニット518は、非一時的コンピュータ可読記録媒体とすることができる。
ある実施形態では、補助記憶部510は、コンピュータプログラム又は他の命令をコンピュータシステム500内に読み込むことを可能にするための代替手段、例えば、取り外し可能記憶ユニット522及びインタフェース520を含むことができる。そのような手段の例は、プログラムカートリッジ及びカートリッジインタフェース(例えば、ビデオゲームシステムに見られるようなもの)と、取り外し可能メモリチップ(例えば、EEPROM、PROMなど)及び関連付けられたソケットと、当業者には明らかであるような他の取り外し可能記憶ユニット522及びインタフェース520とを含むことができる。
コンピュータシステム500(例えば、主記憶部508及び/又は補助記憶部510)内に格納されたデータは、任意の種類の適切なコンピュータ可読媒体上に格納されることができる。これは、例えば、光学記憶装置(例えば、コンパクトディスク、デジタル多用途ディスク、ブルーレイディスクなど)又は磁気テープ記憶装置(例えば、ハードディスクドライブ)である。データは、任意の種類の適切なデータベース構成において構成されることができる。これは、例えば、関係データベース、構造化クエリ言語(SQL)データベース、分散データベース、オブジェクトデータベースなどである。適切な構成及び記憶装置の種類は、当業者には明らかであろう。
また、コンピュータシステム500は、通信インタフェース524を含むことができる。通信インタフェース524は、ソフトウェア及びデータを、コンピュータシステム500と外部装置との間で転送することを可能にするように構成されることができる。例示的な通信インタフェース524は、モデム、ネットワークインタフェース(例えば、イーサネットカード)、通信ポート、PCMCIAスロット及びカードなどを含むことができる。通信インタフェース524を介して転送されたソフトウェア及びデータは、信号の形態とすることができ、これは、電子信号、電磁信号、光信号、又は当業者には明らかであるような他の信号とすることができる。信号は、通信経路526を介して伝わることができる。これは、信号を搬送するように構成されることができ、電線、ケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波数リンクなどを使用して実装されることができる。
コンピュータシステム500は、表示インタフェース502をさらに含むことができる。表示インタフェース502は、データを、コンピュータシステム500と外部表示装置530との間で転送することを可能にするように構成されることができる。例示的な表示インタフェース502は、高解像度マルチメディアインタフェース(HDMI)、デジタルビジュアルインタフェース(DVI)、ビデオグラフィックスアレイ(VGA)などを含むことができる。表示装置530は、コンピュータシステム500の表示インタフェース502を介して送信されるデータを表示するための任意の適切な種類の表示装置とすることができる。この表示装置は、陰極線管(CRT)表示装置、液晶表示装置(LCD)、発光ダイオード(LED)表示装置、静電タッチ表示装置、薄膜トランジスタ(TFT)表示装置などを含む。
コンピュータプログラム媒体及びコンピュータ使用可能媒体は、主記憶部508及び補助記憶部510などの記憶部を指すことができ、これは、メモリ半導体(例えば、DRAMなど)とすることができる。これらのコンピュータプログラム製品は、コンピュータシステム500にソフトウェアを提供するための手段とすることができる。コンピュータプログラム(例えば、コンピュータ制御ロジック)は、主記憶部508及び/又は補助記憶部510内に格納されることができる。また、コンピュータプログラムは、通信インタフェース524を介して受信されることができる。そのようなコンピュータプログラムは、実行されると、コンピュータシステム500が本明細書で論じられるような本方法を実施することを可能にすることができる。特に、コンピュータプログラムは、実行されると、プロセッサ装置504が、本明細書で論じられるような、図3Aから図3C及び図4によって示された方法を実施することを可能にすることができる。したがって、そのようなコンピュータプログラムは、コンピュータシステム500の制御装置を表すことができる。本開示がソフトウェアを使用して実装される場合、ソフトウェアは、コンピュータプログラム製品内に格納され、取り外し可能記憶ドライブ514、インタフェース520、及びハードディスクドライブ512、又は通信インタフェース524を使用してコンピュータシステム500内に読み込まれることができる。
プロセッサ装置504は、コンピュータシステム500の機能を実行するように構成された1つ以上のモジュール又はエンジンを含むことができる。モジュール又はエンジンの各々は、ハードウェアを使用して実装されることができ、ある事例では、主記憶部508又は補助記憶部510内に格納されたプログラムコード及び/又はプログラムに対応するようなソフトウェアも利用することができる。そのような事例では、プログラムコードは、コンピュータシステム500のハードウェアによる実行の前に、プロセッサ装置504によって、(例えば、コンパイルするモジュール又はエンジンによって)コンパイルされることができる。例えば、プログラムコードは、プロセッサ装置504及び/又はコンピュータシステム500の任意の追加のハードウェア構成要素による実行のために、アセンブリ言語又は機械コードなどの低水準言語に翻訳されるプログラミング言語で書かれたソースコードとすることができる。コンパイルする処理は、字句解析と、前処理と、構文解析と、意味解析と、構文指向翻訳と、コード生成と、コード最適化と、コンピュータシステム500を制御して本明細書で開示される機能を実行するのに適した低水準言語へのプログラムコードの翻訳に適し得る任意の他の技術との使用を含むことができる。そのような処理の結果、コンピュータシステム500は、上述の機能を実行するように一意にプログラムされた、特別に構成されたコンピュータシステム500となることが当業者には明らかであろう。
本開示と一致する技術は、とりわけ、一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするためのシステム及び方法を提供する。開示されたシステム及び方法の様々な例示的な実施形態が上述されたが、それらは、限定ではなく、例示のみを目的として提示されたことを理解されたい。それは、網羅的ではなく、開示された厳密な形態に本開示を限定しない。上記の教示に照らして、修正及び変形が可能であり、又は、修正及び変形は、広さ若しくは範囲から逸脱することなく、本開示の実施から得られることができる。
Claims (16)
- 一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするための方法であって、
第1のコンピューティング装置によって、提案メッセージを生成することであって、前記提案メッセージは、少なくとも、第1のトランザクション値と、第1のブロックチェーンに対応する第1のネットワーク識別子と、第2のトランザクション値と、第2のブロックチェーンに対応する第2のネットワーク識別子と、スワップ暗号鍵ペアのスワップ公開鍵と、を含む、ことと、
前記第1のコンピューティング装置によって、前記提案メッセージについて第1のデジタル署名を生成することと、
前記第1のコンピューティング装置によって、前記スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、前記第1のデジタル署名を暗号化することと、
前記第1のコンピューティング装置によって、前記生成された提案メッセージに、前記暗号化された第1のデジタル署名を付加することと、
前記第1のコンピューティング装置によって、第2のコンピューティング装置に、暗号化された第1のデジタル署名が付加された前記生成された提案メッセージを送信することと、
を含む、方法。 - 請求項1に記載の方法において、
前記第2のコンピューティング装置によって、前記提案メッセージについて第2のデジタル署名を生成することと、
前記第2のコンピューティング装置によって、前記スワップ公開鍵と第2の暗号鍵ペアの第2の秘密鍵とを使用して、前記第2のデジタル署名を暗号化することと、
前記第2のコンピューティング装置によって、前記暗号化された第2のデジタル署名を、暗号化された第1のデジタル署名が付加された前記生成された提案メッセージに付加することと、
前記第2のコンピューティング装置によって、暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージを送信することと、
をさらに含む、方法。 - 請求項2に記載の方法において、前記生成された提案メッセージは、前記第2のコンピューティング装置によって、前記第2のブロックチェーンに関連付けられたブロックチェーンネットワーク内の複数のブロックチェーンノードのうちの少なくとも1つに送信される、方法。
- 請求項3に記載の方法において、
前記第1のコンピューティング装置によって、確認メッセージを生成することであって、前記確認メッセージは、少なくとも、(i)暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージを使用して生成されたハッシュ値と、(ii)前記スワップ暗号鍵ペアのスワップ秘密鍵と、を含む、ことと、
前記第1のコンピューティング装置によって、前記生成された確認メッセージを、前記第2のブロックチェーンに関連付けられた前記ブロックチェーンネットワーク内の前記複数のブロックチェーンノード内のブロックチェーンノードに送信することと、
をさらに含む、方法。 - 請求項4に記載の方法において、
第3のコンピューティング装置によって、前記第2のブロックチェーンから、前記生成された確認メッセージと、暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージと、を検索することと、
前記第3のコンピューティング装置によって、前記検索された確認メッセージ内の前記スワップ秘密鍵と前記第1の暗号鍵ペアの第1の公開鍵とを使用して、前記第1のデジタル署名を復号することと、
前記第3のコンピューティング装置によって、前記復号された第1のデジタル署名を検証することと、
をさらに含む、方法。 - 請求項1に記載の方法において、
前記提案メッセージを生成する前に、前記第1のコンピューティング装置によって、前記スワップ暗号鍵ペアを生成すること、
をさらに含む、方法。 - 請求項1に記載の方法において、前記第1のデジタル署名は、前記提案メッセージ内の前記第1のトランザクション値と、前記第1のネットワーク識別子と、前記第2のトランザクション値と、前記第2のネットワーク識別子とに署名することによって、生成される、方法。
- 請求項1に記載の方法において、前記第1のトランザクション値は、前記第1のブロックチェーンを使用する第1のブロックチェーントランザクションについてのトランザクションデータを使用して生成されたハッシュ値を含み、前記第2のトランザクション値は、前記第2のブロックチェーンを使用する第2のブロックチェーントランザクションについてのトランザクションデータを含む、方法。
- 一時的な鍵ペアを使用して、複数のブロックチェーン上で資産のアトミック交換をするためのシステムであって、
第1のコンピューティング装置と、
第2のコンピューティング装置と、
第1のブロックチェーンと、
第2のブロックチェーンと、を含み、前記第1のコンピューティング装置は、
提案メッセージを生成することであって、前記提案メッセージは、少なくとも、第1のトランザクション値と、前記第1のブロックチェーンに対応する第1のネットワーク識別子と、第2のトランザクション値と、前記第2のブロックチェーンに対応する第2のネットワーク識別子と、スワップ暗号鍵ペアのスワップ公開鍵と、を含む、ことと、
前記提案メッセージについて第1のデジタル署名を生成することと、
前記スワップ公開鍵と第1の暗号鍵ペアの第1の秘密鍵とを使用して、前記第1のデジタル署名を暗号化することと、
前記生成された提案メッセージに、前記暗号化された第1のデジタル署名を付加することと、
第2のコンピューティング装置に、暗号化された第1のデジタル署名が付加された前記生成された提案メッセージを送信することと、
を実行する、システム。 - 請求項9に記載のシステムにおいて、前記第2のコンピューティング装置は、
前記提案メッセージについて第2のデジタル署名を生成することと、
前記スワップ公開鍵と第2の暗号鍵ペアの第2の秘密鍵とを使用して、前記第2のデジタル署名を暗号化することと、
前記暗号化された第2のデジタル署名を、暗号化された第1のデジタル署名が付加された前記生成された提案メッセージに付加することと、
暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージを送信することと、
を実行する、システム。 - 請求項10に記載のシステムにおいて、
前記第2のブロックチェーンに関連付けられたブロックチェーンネットワークと、
前記ブロックチェーンネットワーク内の複数のブロックチェーンノードと、
をさらに含み、前記生成された提案メッセージは、前記第2のコンピューティング装置によって、前記複数のブロックチェーンノードのうちの少なくとも1つに送信される、システム。 - 請求項11に記載のシステムにおいて、前記第1のコンピューティング装置は、
確認メッセージを生成することであって、前記確認メッセージは、少なくとも、(i)暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージを使用して生成されたハッシュ値と、(ii)前記スワップ暗号鍵ペアのスワップ秘密鍵と、を含む、ことと、
前記生成された確認メッセージを、前記第2のブロックチェーンに関連付けられた前記ブロックチェーンネットワーク内の前記複数のブロックチェーンノード内のブロックチェーンノードに送信することと、
をさらに実行する、システム。 - 請求項12に記載のシステムにおいて、第3のコンピューティング装置をさらに含み、前記第3のコンピューティング装置は、
前記第2のブロックチェーンから、前記生成された確認メッセージと、暗号化された第1のデジタル署名が付加された及び暗号化された第2のデジタル署名が付加された前記生成された提案メッセージと、を検索することと、
前記検索された確認メッセージ内の前記スワップ秘密鍵と前記第1の暗号鍵ペアの第1の公開鍵とを使用して、前記第1のデジタル署名を復号することと、
前記復号された第1のデジタル署名を検証することと、
を実行する、システム。 - 請求項9に記載のシステムにおいて、前記第1のコンピューティング装置は、前記提案メッセージを生成する前に、前記スワップ暗号鍵ペアをさらに生成する、システム。
- 請求項9に記載のシステムにおいて、前記第1のデジタル署名は、前記提案メッセージ内の前記第1のトランザクション値と、前記第1のネットワーク識別子と、前記第2のトランザクション値と、前記第2のネットワーク識別子とに署名することによって生成される、システム。
- 請求項9に記載のシステムにおいて、前記第1のトランザクション値は、前記第1のブロックチェーンを使用する第1のブロックチェーントランザクションについてのトランザクションデータを使用して生成されたハッシュ値を含み、前記第2のトランザクション値は、前記第2のブロックチェーンを使用する第2のブロックチェーントランザクションについてのトランザクションデータを含む、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/192,194 US11689355B2 (en) | 2021-03-04 | 2021-03-04 | Method and system for the atomic exchange of blockchain assets using transient key pairs |
US17/192,194 | 2021-03-04 | ||
PCT/US2022/015774 WO2022186960A1 (en) | 2021-03-04 | 2022-02-09 | Method and system for the atomic exchange of blockchain assets using transient key pairs |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024509827A true JP2024509827A (ja) | 2024-03-05 |
Family
ID=83116452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023553328A Pending JP2024509827A (ja) | 2021-03-04 | 2022-02-09 | 一時的な鍵ペアを使用して、ブロックチェーン資産のアトミック交換をするための方法及びシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US11689355B2 (ja) |
EP (1) | EP4302255A1 (ja) |
JP (1) | JP2024509827A (ja) |
KR (1) | KR20230153439A (ja) |
CN (1) | CN117121037A (ja) |
WO (1) | WO2022186960A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020172797A1 (zh) * | 2019-02-26 | 2020-09-03 | 南京摩铂汇信息技术有限公司 | 数字签名终端和安全通信方法 |
CN118056381A (zh) * | 2021-10-01 | 2024-05-17 | 万事达卡国际公司 | 用于资产的原子交换的基于区块链的交易的方法和系统 |
US11991294B2 (en) * | 2021-11-12 | 2024-05-21 | Gridplus, Inc. | Peer-to-peer secure conditional transfer of cryptographic data |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055707B2 (en) * | 2014-06-24 | 2021-07-06 | Visa International Service Association | Cryptocurrency infrastructure system |
US11310060B1 (en) * | 2018-02-15 | 2022-04-19 | Blockstream Corporation | Atomic cross-chain swaps using equivalent secret values |
JP7372938B2 (ja) * | 2018-05-14 | 2023-11-01 | エヌチェーン ライセンシング アーゲー | ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法 |
US11138598B2 (en) * | 2018-12-17 | 2021-10-05 | Mastercard International Incorporated | Method and system for consent to time-bound queries in a blockchain |
WO2019170167A2 (en) * | 2019-05-31 | 2019-09-12 | Alibaba Group Holding Limited | System and method for providing privacy and security protection in blockchain-based private transactions |
CN111316303B (zh) * | 2019-07-02 | 2023-11-10 | 创新先进技术有限公司 | 用于基于区块链的交叉实体认证的系统和方法 |
-
2021
- 2021-03-04 US US17/192,194 patent/US11689355B2/en active Active
-
2022
- 2022-02-09 EP EP22763738.6A patent/EP4302255A1/en active Pending
- 2022-02-09 KR KR1020237033542A patent/KR20230153439A/ko unknown
- 2022-02-09 CN CN202280025280.4A patent/CN117121037A/zh active Pending
- 2022-02-09 WO PCT/US2022/015774 patent/WO2022186960A1/en active Application Filing
- 2022-02-09 JP JP2023553328A patent/JP2024509827A/ja active Pending
-
2023
- 2023-05-15 US US18/197,202 patent/US20230283453A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4302255A1 (en) | 2024-01-10 |
WO2022186960A1 (en) | 2022-09-09 |
US20230283453A1 (en) | 2023-09-07 |
US11689355B2 (en) | 2023-06-27 |
KR20230153439A (ko) | 2023-11-06 |
US20220286275A1 (en) | 2022-09-08 |
CN117121037A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7213310B2 (ja) | マシン可読コードを介したオフラインデータ転送のための方法及びシステム | |
US10691835B1 (en) | Verifying integrity of data stored in a consortium blockchain using a public sidechain | |
US11373179B2 (en) | Method and system for secure and verifiable offline blockchain transactions | |
JP2024509827A (ja) | 一時的な鍵ペアを使用して、ブロックチェーン資産のアトミック交換をするための方法及びシステム | |
KR20240022462A (ko) | 해시락을 사용하는 중개식 교차 원장 스테이블 코인 아토믹 스왑을 위한 방법 및 시스템 | |
JP2024012459A (ja) | ハッシュチェインを使用してスカラーデジタル資産を表すための方法及びシステム | |
CN117957528A (zh) | 用于许可的区块链中智能合约的并行处理的方法和系统 | |
JP7279262B2 (ja) | 複数のブロックチェーンにわたる一貫した台帳の分散のための方法およびシステム | |
US20230196346A1 (en) | Method and system of providing for offline transactions in digital currencies | |
US11900367B2 (en) | Method and system for enabling traceable privacy-maintaining multi-hop offline transactions in digital currencies | |
US20230068301A1 (en) | Method and system for privately managed digital assets on an enterprise blockchain | |
US20230188355A1 (en) | Method and system of all-or-nothing transform (aont) for increasing blockchain integrity | |
KR20240068692A (ko) | 허가형 블록체인에서 스마트 계약의 병렬 프로세싱을 위한 방법 및 시스템 | |
KR20240005957A (ko) | 양자 내성 해싱 스킴을 위한 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231011 |