JP2022539458A - エンティティに参加するためにネットワーク識別子を使用してブロックチェーンに関連するトランザクションを実現するためのコンピュータ実施システム及び方法 - Google Patents
エンティティに参加するためにネットワーク識別子を使用してブロックチェーンに関連するトランザクションを実現するためのコンピュータ実施システム及び方法 Download PDFInfo
- Publication number
- JP2022539458A JP2022539458A JP2021577874A JP2021577874A JP2022539458A JP 2022539458 A JP2022539458 A JP 2022539458A JP 2021577874 A JP2021577874 A JP 2021577874A JP 2021577874 A JP2021577874 A JP 2021577874A JP 2022539458 A JP2022539458 A JP 2022539458A
- Authority
- JP
- Japan
- Prior art keywords
- recipient
- transaction
- public key
- key
- address
- 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
Images
Classifications
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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]
-
- 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/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/321—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 a third party or a trusted authority
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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
-
- 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
- G06Q2220/10—Usage protection of distributed data files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本開示は、エンティティについてのIPアドレスに直接基づいてインターネット上でデジタル資産を含むIPトランザクションを実現するための方法及びデバイスを提案する。本開示の態様及び実施形態は、受信者の公開鍵が支払い先アドレスの生成において決して使用されないことを確保することによって、安全なIPアドレストランザクションを可能にし、それによって、メッセージリプレイ及びMITM攻撃を攻撃者によって実施することを極めて困難にする。さらに、当該態様及び実施形態は、デジタル資産の支払い先アドレスが、新規又は単一使用の秘密鍵と、受信者についての公開鍵に基づいて計算又は提供され且つ所与のトランザクションに固有である公開鍵とに基づくことを確保する。
Description
本開示は、一般的に、通信ネットワーク上のデジタル資産に関するトランザクションを実行又は実現するための方法、デバイス及びシステムに関する。当該開示は、インターネットを介してエンティティのIPアドレスへの分散台帳に関連するデジタル資産トランザクションを実現するための技術に特に適しているが、これに限定されない。
この文献では、全ての形式の電子的なコンピュータに基づく分散台帳を含む「ブロックチェーン(blockchain)」という用語を使用する。これらは、コンセンサスに基づくブロックチェーン及びトランザクションチェーン技術、プライベート型(permissioned)及びパブリック型(un-permissioned)台帳、共有台帳、公開及び非公開台帳、並びにこれらの変形を含む。ブロックチェーン技術の最も広く知られているアプリケーションはビットコイン台帳であるが、他のブロックチェーンの実装も提案されて開発されている。ここでは、便宜上及び説明上の目的でビットコインが参照されることがあるが、本開示は、ビットコインブロックチェーンでの使用に限定されず、如何なる種類のデジタル資産又はデジタル資産の表現に関連する代替のブロックチェーンの実装及びプロトコルも、本開示の範囲内に入る点に留意すべきである。「ユーザ」、「送信者」、「受信者」という用語は、ここではコンピュータ又はプロセッサに基づくリソースを示すことがある。「ビットコイン」という用語は、ここではビットコインプロトコルから派生するか或いはビットコインプロトコルに基づくいずれかのバージョン又はバリエーションを含むために使用される。「デジタル資産」という用語は、暗号通貨、財産の少なくとも一部を表すトークン、スマート契約、ライセンス、すなわち、ソフトウェアライセンス、又はメディアコンテンツのDRM契約等のような、いずれかの移転可能な資産を示すことがある。デジタル資産という用語は、1つのエンティティから他のエンティティへのトランザクションにおける支払いとして移転又は提供され得る価値に関連し得るコモディティを表すために、この文献を通じて使用されることが理解される。
ブロックチェーンは、ピアツーピアの電子台帳であり、これは、結果としてトランザクションで構成される、ブロックで構成されるコンピュータに基づく非集中的な分散型システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者の間のデジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは、前のブロックのハッシュを含み、それにより、ブロックチェーンの開始以降にブロックチェーンに書き込まれた全てのトランザクションの永続的で修正不可能なレコードを作成するように、ブロックが一緒につながれる。トランザクションは、トランザクションのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さいプログラムを含み、これは、トランザクションのアウトプットがどのように誰によってアクセスできるかを指定する。ビットコインプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を使用して記述される。
トランザクションがブロックチェーンに書き込まれるために、これは「承認され(validated)」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを確保するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、ロック及びロック解除スクリプトを実行することにより、未使用トランザクション(unspent transaction, UTXO)に対してこの承認作業を実行する。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるために、これは、i)トランザクションを受信した最初のノードにより承認されなければならず、トランザクションが承認された場合、ノードはそれをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新たなブロックに追加されなければならず、且つ、iii)マイニングされなければならず、すなわち、過去のトランザクションの公開台帳に追加されなければならない。
UTXOとしてブロックチェーンに記憶されると、ユーザは、関連するリソースの制御を、他のトランザクションのインプットに関連する他のアドレスに移転できる。この移転は通常では、デジタルウォレットを使用して行われる。このデジタルウォレットは、デスクトップ、ラップトップ又はモバイル端末のような計算デバイス上のデバイス、物理媒体、プログラム、アプリケーション(app)でもよく、或いは、インターネットのようなネットワーク上のドメインに関連する遠隔でホストされるサービスでもよい。デジタルウォレットは、公開鍵及び秘密鍵を記憶し、ユーザに関連するリソース、トークン及び資産等の所有権を追跡するため、デジタル資産を受け取るため或いは消費するため、暗号通貨若しくはライセンスのようなデジタル資産に関係し得るトークン、又は財産若しくは他の種類のリソースを移転するために使用できる。
公衆のオープンな無線ネットワークであるインターネット上で行われる多くの形式のメッセージング、すなわち、通信又はデータ交換は、インターネットサービスプロバイダ(Internet Service Provider, ISP)によって計算リソース(ここではノード又はエンティティとも呼ばれる)に割り当てられた固有のパブリックアドレスであるインターネットプロトコル(Internet Protocol, IP)アドレスを使用する。いくつかのデータの転送を含むIP通信では、送信者は受信者のIPアドレスに連絡し、場合によっては、IPアドレスが意図した通信のタイプをサポートしているか否かを最初に確認する。そうである場合、受信者に関連するサーバ又はホストは、公開鍵を送信又は生成し、送信者に送信し、その結果、送信者は、この公開鍵に対して或いはこの公開鍵に基づいて、通信又はデータを送信し得る。しかし、現在では、IPアドレスはデジタル資産を含む転送又はメッセージには使用されていない。このような転送又はメッセージは、以下ではIPトランザクションと呼ばれる。これは、理論的には、デジタル決済又は資産を送信/受信するためにIPアドレスを使用することは機能する可能性があるが、IPアドレスに対する通信は、中間者(man-in-the-middle, MITM)攻撃に対して脆弱であるため、それほど採用されていないからである。このような攻撃では、悪意のあるMITMがメッセージ又は通信を傍受し、上記のプロセスの間にデジタル資産を意図した受信者の代わりに自分自身に送信させる可能性があり、それによって送信者に自分自身の公開鍵を代わりに提供しつつ意図した受信者として不正に装う。
現在、例えば、2人のユーザの間で、すなわち、Alice及びBobから、インターネットのようなオープンで公衆のネットワーク上でデジタル資産トランザクション、例えば、トークン、ビットコインBSV又はイーサリアム等の支払いを実現するために、デジタルウォレットエコシステムが使用されている。Aliceは、自分の(秘密及び公開)暗号鍵に関連するデジタルウォレットを持つ必要があり、Bobのデジタルウォレットアドレスを知っているか或いは提供されている必要がある。ウォレットアドレスは、通常ではアドレス生成プログラムによって自動的に生成され、トランザクションに使用されるネットワークによって認識される特定のフォーマットの数字列である。例えば、これらは、BSVに基づく暗号通貨ネットワークについてはビットコインアドレスと呼ばれることがあり、通常ではエンティティに関連する非対称秘密/鍵ペアの公開鍵又は公開鍵のハッシュである。次いで、ウォレットアドレスは、ネットワークのユーザの間で共有され、その結果、他のユーザは、デジタル資産の支払いをどこに送信するかを知る。したがって、Aliceは、Bobに暗号通貨を送信するために、このタイプのアドレスを知っているか或いは提供される必要がある。さらに、1つよりも多くのタイプのアドレスが異なるタイプのトランザクションについてウォレットによって使用されることがあり、これらのアドレスはブロックチェーン上に書き込まれる1つのトランザクションを実現するために一度だけ使用されることがある。したがって、各ウォレットがウォレットに固有の1つ以上の公開アドレスを有する可能性があるデジタル資産の支払いについて、デジタル支払い先アドレスを確立するためにデジタルウォレットを使用することは、現在では、信頼性が高く安全であると考えられており、したがって、デジタル資産トランザクションのために受け入れられている基準である。
インターネット上で通信する際のエンティティ又はエンドポイント(計算リソース)が既に固有のIPアドレスで発行されていることを考え、本開示の態様及び実施形態は、支払い先がIPアドレスであるか或いはIPアドレスに基づくこれらのエンティティの間でデジタル資産を含むトランザクションのセキュリティ、ロバスト性及び信頼性を改善するための技術を提案する。これは、デジタル資産が受信者のIPアドレスに直接安全に送信されることを可能にし、それによって、送信者から受信者への安全で直接的なIPトランザクションを実現する。この技術は、ビットコインアドレスのような支払いアドレスを生成するために現在デジタル資産トランザクションで採用されているデジタルウォレットに基づくエコシステムの代替として、或いは、いくつかの場合にはデジタルウォレットに基づくエコシステムと共に使用されるものとして提案される。
本開示は、エンティティについてのIPアドレスに直接基づいてインターネット上でデジタル資産を含むIPトランザクションを実現するための方法及びデバイスを提案する。いくつかの態様では、IPv4標準を利用する支払いのためのIPトランザクションが検討され、これは、IPv4アドレスから安全な支払いアドレスを生成するためにDNSSEC及びTLS証明書フレームワークに基づいてもよい。IPv6アドレスを使用するトランザクションのために、IPv6アドレスを安全にすることと、デジタル資産の支払いを受け取ることとの二重の目的を有することができる暗号的に生成されたアドレスも検討される。
本開示の態様及び実施形態は、受信者の公開鍵が支払い先アドレスの生成において決して使用されないことを確保することによって、安全なIPアドレストランザクションを可能にし、それによって、メッセージリプレイ及びMITM攻撃を攻撃者によって実施することを極めて困難にする。さらに、当該態様及び実施形態は、デジタル資産の支払い先アドレスが、新規又は単一使用の秘密鍵と、受信者についての公開鍵に基づいて計算又は提供され且つ所与のトランザクションに固有である公開鍵とに基づくことを確保する。
この明細書を通じて、「含む(comprise)」という用語、又は「含む(includes)」、「含む(comprises)」若しくは「含む(comprising)」のような変形は、言及される要素、整数若しくはステップ、又は要素、整数若しくはステップのグループの包含を意味するが、いずれか他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループの除外を意味しないものと理解される。
次に、本開示の態様及び実施形態について、単なる例として、添付の図面を参照して説明する。
本開示の第1の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、送信者エンティティの1つ以上のプロセッサによって実施される。
インターネット上で他の計算リソースと通信可能に結合された計算リソースについての暗号化生成アドレス(cryptographically generated address, CGA)を生成するための既存のメカニズムを示す。
インターネット上で他の計算リソースと通信可能に結合された計算リソースについての暗号化生成アドレス(cryptographically generated address, CGA)を生成するための既存のメカニズムを示す。
インターネット上で他の計算リソースと通信可能に結合された計算リソースについての高度暗号化生成アドレス(advanced cryptographically generated address, CGA++)を生成するための既存のメカニズムを示す。
本開示の第2の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、送信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第1の態様及び/又は第2の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、受信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第3の態様に従ってトランザクションのセキュリティを改善する方法を示すフロー図であり、当該方法は、送信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第3の態様に従ってトランザクションのセキュリティを改善する方法を示すフロー図であり、当該方法は、受信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第4の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、送信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第4の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、受信者エンティティの1つ以上のプロセッサによって実施される。
本開示の第5の態様に従ってトランザクションを実施する方法を示すフロー図であり、当該方法は、送信者エンティティの1つ以上のプロセッサによって実施される。
本開示の様々な態様及び実施形態が実装できる計算環境を示す概略図である。
本開示の第1の態様によれば、分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法が提供される。いくつかの実施形態では、分散台帳はブロックチェーンである。少なくとも1つのトランザクションは、送信者からのものであり、受信者向けを意図しており、それによって、送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、それによって、複数の決済エンティティの中のそれぞれの決済エンティティは、当該決済エンティティに固有のネットワーク識別子に関連する計算リソースである。
第1の態様の方法は、送信者が関連する1つ以上のプロセッサによって実施された場合、受信者についての公開鍵P1を取得し、次いで、取得された公開鍵P1が受信者のネットワーク識別子に関連することを検証することを含む。検証が成功したことに応じて、当該方法は、所与のトランザクションに関する更なる公開鍵P2を計算することを更に含み、更なる公開鍵P2は、取得された公開鍵P1に基づいており、所与のトランザクションはデジタル資産に関連する。次いで、当該方法は、更なる公開鍵P2に基づいて受信者についての支払い先アドレスを計算し、支払い先に基づいて所与のトランザクションのためのアウトプットスクリプトを生成し、次いで、アウトプットスクリプトに基づいて未使用トランザクションアウトプット(unspent transaction output, UTXO)を分散台帳に提供することを含む。
したがって、第1の態様による方法は、受信者の公開鍵P1を、それが実際にネットワーク識別子に関連することを検証することによって認証することを提案し、他の鍵、すなわち、更なる公開鍵P2が、認証された公開鍵P1に基づいて計算されることを更に提案する。次に、トランザクションのための支払い先アドレスを計算するために使用されるのは、新たに計算された更なる公開鍵P2である。有利なことに、これは、中間者(man in the middle, MITM)攻撃又は悪意のある者によるメッセージリプレイ攻撃に対して弾力的にすることによって、ネットワークアドレスについてのトランザクション、すなわちデジタル資産に関連するトランザクションのセキュリティを改善する。このような攻撃では、悪意のあるMITMがメッセージを傍受し、代わりに自分自身にデジタル資産を送信させ、送信者に自分の宛先アドレス又は鍵を提供しつつ、意図した受信者として不正に装う可能性がある。メッセージリプレイ攻撃もこれと同様であり、悪意のある者が、メッセージが悪意のある者ではなく真の送信者から送信されているように宛先又は受信者を混乱させるために、メッセージを傍受して同じメッセージを1回以上再生することを試み、それによってメッセージへの応答を促す。これは、元々メッセージを送信した、真の決済エンティティ、すなわち、送信者ではなく、悪意のあるエンティティに向かったり或いは悪意のあるエンティティへの望ましくないアクセスを提供したりする可能性がある。
公開鍵P1を認証して、それが実際に受信者についての鍵であることを確立し、次いで、認証された鍵P1に基づいて異なる鍵P2を使用して、トランザクションのための支払い先アドレスを計算することによって、受信者の傍受及びなりすましに関する攻撃を実施することが非常に困難になる。これは、インターネット上のトランザクションが、IPアドレスのために32ビットのみが割り当てられるインターネットプロトコル(Internet Protocol, IP)プロトコル標準のネットワークプロトコルの第4バージョン、すなわち、IPv4によって実現される場合に特に有利である。これはノードに割り当てられる可能なIPv4アドレスを約43億の固有のアドレスに制限する。ほとんどのインターネットトラフィックはIPv4プロトコルに基づいている。したがって、IPv4を使用する通信は、認証局(Certificate Authority, CA)及び公開鍵インフラストラクチャ(Public Key Infrastructure, PKI)の使用に基づくドメイン名システムセキュリティ拡張(Domain Name System Security Extension, DNSSEC)、及び/又はトランスポートレイヤセキュリティ(Transport Layer Security, TLS)プロトコルのような、使用可能ないくつかのセキュリティプロトコルを有しているが、これらはデジタル資産に関するメッセージには十分でない可能性がある。したがって、第1の態様は、有利なことにIPv4トランザクションのセキュリティを増強し、それによってデジタル資産を含む安全なIPトランザクションを可能にする。
第1の態様の更なる利点は、デジタル資産を送信及び/又は受信するためにインターネット通信のためのIPv4標準を使用して既に動作している送信者又は受信者のいずれによっても、余分な機能が実装される必要がないことである。したがって、送信者は、デジタル資産の支払いを受信者に送信するために、受信者と相互作用する必要はなく、或いは、受信者からの応答を待機する必要もなく、すなわち、デジタル資産を受信者に安全な方式で移転する。したがって、第1の態様は、インターネット上でのデジタル資産のIPトランザクションを実現するための非同期的又は不連続的又は非相互作用的な技術を可能にし、これは、受信者が送信者と同時にオンラインになることを必要とせず、デジタル資産の支払いを処理するために受信者からの応答又は相互作用を必要としない。
上記の1つ以上のエンティティ又は決済エンティティは、モバイルデバイス若しくはラップトップ等のような計算リソース若しくはユーザ端末、又はプロセッサに関連するアプリケーションである。いくつかの実施形態では、ネットワーク識別子は、ネットワークのドメイン名、例えばwww.nchain.comでもよく、或いはこれを含んでもよ。いくつかの実施形態では、ドメイン名は、送信者に知られているか、或いは、送信者に知られている受信者のネットワークアドレスから取得されてもよい。いくつかの実施形態では、ネットワーク識別子は、受信者のための責任のあるホスト、サーバ又は1つ以上のプロセッサの位置又はエンドポイント又はネットワークアドレスを含んでもよい。いくつかの実施形態では、ネットワーク識別子は、エンドポイント識別子又はユニバーサルリソース識別子(universal resource identifier, URI)でもよい。いくつかの実施形態では、第1の態様における受信者のようなエンティティについての公開鍵は、安定した楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)公開鍵である。ECDSA公開鍵は、secp256k1曲線上の有効な点であり、圧縮されて16進符号化される。
いくつかの実施形態では、アウトプットスクリプトは、受信者のネットワーク識別子への参照を含む。有利なことに、これは、所与の受信者についての或いは所与の受信者に関するアウトプットスクリプト又はUTXOが、受信者についてのデジタル資産に関するトランザクションのために分散台帳を監視又は照会する、受信者に関連する1つ以上のサーバ又は計算リソースによって容易に及び/又は簡単に識別されることを可能にする。
いくつかの実施形態では、取得された公開鍵P1は、秘密鍵V1を含む暗号鍵ペアの一部である。いくつかの実施形態では、ネットワーク識別子に関連する1つ以上のレコード又はファイル又はデータは、秘密鍵V1で暗号化される。有利なことに、これは、暗号鍵ペアの鍵のうち一方を使用してデータの暗号化及び/又は解読を可能にし、反対の動作は他方によって実現される。いくつかの実施形態では、ネットワーク識別子がドメイン名である場合、暗号鍵ペアは、DNSSECに使用されるもののようなゾーン鍵に関係してもよく、公開鍵P1は、ドメイン名に関する全てのレコードを安全にするためのゾーン署名鍵ZSKでもよく、秘密鍵V1は、ZSKを安全にするための鍵署名鍵KSKでもよい。
いくつかの実施形態では、取得された公開鍵P1(暗号鍵又は公開識別子又はテンプレート)は、取得された公開鍵P1を受信者のネットワーク識別子に関連付けるために、認証局(certification authority, CA)のような信頼機関によってデジタル署名され、取得された公開鍵P1を検証するステップは、信頼機関に関連する他の公開鍵P3に基づいて実行される。有利なことに、公開鍵に関連する受信者を検証するためにCAのような信頼された第三者機関を使用することは、送信者から受信者へのトランザクションのセキュリティを更に増強する。したがって、本開示の第1の態様は、DNSSECのような既存のIPv4セキュリティ拡張又はプロトコルで動作可能である。
P1は、受信者についての公開鍵と呼ばれるが、本出願のいくつかの実施形態は、これが受信者についての公開暗号鍵であることに限定されないことが理解される。例えば、P1は、受信者についての周期的なトランザクションであれ、ランダムなトランザクションであれ、受信者のために生成及び/又は記憶され得るトランザクションテンプレートでもよい。このテンプレートは、受信者が、受信者エンティティに関連するネットワークアドレスへのデジタル資産の支払いをどのように受け取ることを選択するかを指定してもよい。例えば、受信者は、公開鍵P1が公開されるのと同様に、利用可能にされるカスタムのロッキングスクリプト(locking script)を生成してもよい。有利なことに、公開テンプレートを使用することは、複雑なスクリプト、すなわち、例えば、鍵パズル(key puzzle)にとって特に有用である。したがって、送信者が受信者に関連する公開テンプレートを取得した場合、テンプレートを完成させるために、デジタル資産に関する1つ以上のインプット又はメッセージが提供できる。次いで、場合によってはいくつかの実施形態では、完成したテンプレートは、送信者に関連する暗号鍵によって署名され、受信者に返信されてもよい。したがって、ここでの説明及び以降の説明は、第1の態様及び他の全ての態様について公開鍵P1を参照するが、本開示は、受信者の支払い先アドレスを計算する目的で(暗号化/解読のために)暗号鍵を使用することに限定されないことが理解されるべきである。開示の範囲はまた、受信者についてのトランザクションのための公開テンプレートが使用される実施形態を含んでもよく、これは、受信者についてのネットワークアドレス、むしろそのネットワークアドレスについての公開暗号鍵に直接関連するカスタム又はロッキングスクリプトを含んでもよい。
いくつかの実施形態では、受信者はまた、デジタル資産トランザクション以外のアプリケーション又は通信において使用するための公開暗号鍵を有してもよく、受信者についてのデジタル資産トランザクションに関する実施形態及びアプリケーションのために公開テンプレートを使用してもよい。したがって、ここでの「公開鍵P1」という用語は、いくつかの例において、暗号公開鍵、トランザクションテンプレート又はこれらの双方をカバーすると理解されてもよい。以下では、参照を容易にするために、全ての態様及び実施形態においてP1が公開鍵P1として参照されて記載されるが、これは、暗号鍵に限定されない。
いくつかの実施形態では、ネットワーク識別子がドメイン名ではなく、受信者に関連するIPアドレス(例えば、IPv4アドレス)のようなネットワークアドレスである場合、公開鍵P1は、ネットワークアドレスに関連する鍵交換情報に基づいて取得されてもよい。いくつかの実施形態では、取得された公開鍵P1を検証するステップは、ネットワークアドレスについて信頼機関(CA)によって発行された証明書に基づいて実行される。有利なことに、上記の実施形態と同様に、第1の態様は、TLSのような既存のIPv4セキュリティプロトコルで動作可能である。
いくつかの実施形態では、当該方法は、複数のネットワーク識別子に関するデータベースにアクセスすることを含む。例えば、このデータベースはディレクトリでもよい。このディレクトリは、オープンでもよく、すなわち、アクセス可能でもよく、及び/又はドメイン名システム(Domain name system, DNS)のような分散システムでもよく、グローバルディレクトリと呼ばれてもよい。当該方法は、受信者のネットワーク識別子に関連するレコードを識別することを更に含んでもよい。いくつかの実施形態では、レコードは、ディレクトリ内のテキスト又はサービスレコードでもよく、セキュリティインジケータ又はフラグは、ネットワーク識別子が、DNSSEC、TLS、又は受信者を認証するために使用され得るいずれかの同様のプロトコルのようなセキュリティプロトコルを使用しているか否かを確認するために使用される。ここでの実施形態は、TLS及びDNSSECのようなセキュリティ拡張及びプロトコルの使用について説明するが、安全な鍵管理及び交換プロトコル又はPKIの変形に関する他の技術も想定されることが理解される。
第1の態様は、非同期的な技術に関し、上記のように、処理されるべきトランザクションに相互作用が必要とされない。したがって、暗号鍵ではなく公開トランザクションテンプレートが使用される第1の態様に関する実施形態では、このような公開テンプレートは、受信者についてのネットワーク識別子に関連するDNSのようなディレクトリ内のエントリに基づいて、送信者に利用可能になってもよく、送信者によって取得されてもよく、或いは送信者に知られてもよい。例えば、公開暗号鍵の代わりに、送信者によりアクセスできる、受信者についての支払い先を取得するために使用される公開テンプレートの詳細を有するテキストレコード又はサービスレコード(service record, SRV)が存在してもよく、それによってデジタル資産トランザクションのための非同期通信フローを実現する。
第2の態様によれば、本開示は、分散台帳に関連する少なくとも1つのトランザクションを実現するためのコンピュータ実施方法を提供する。送信者に関連する1つ以上のプロセッサによって実施された場合、当該方法は、受信者についてのネットワークアドレスを決定するステップを含み、当該ネットワークアドレスは、受信者についての公開鍵P1に関連する。第2の態様では、責任のあるホストのドメイン名のようなネットワーク識別子ではなく、受信者のネットワーク若しくはIPアドレス、又は受信者のための責任のあるホスト若しくはサーバが決定又は取得される。いくつかの実施形態では、第2の態様におけるネットワークアドレスは、暗号化生成アドレス(cryptographically generated address, CGA)であり、これは、受信者に関連する公開鍵P1と、対応する秘密鍵V1とを含む暗号鍵ペアから導出されてもよい。
次いで、送信者によって実施される第2の態様の方法は、ネットワークアドレスが受信者のために生成され、受信者に固有であることを検証することを含む。検証が成功したことに応じて、第2の態様の方法は、第1の態様と同様に、次いで、公開鍵P1又は受信者に基づいて、所与のトランザクションに関連する更なる公開鍵P2を計算することを含み、所与のトランザクションは、デジタル資産に関連する。当該方法は、更なる公開鍵P2に基づいて受信者についての支払い先アドレスを計算し、支払い先に基づいて所与のトランザクションのためのアウトプットスクリプトを生成し、アウトプットスクリプトに基づいて未使用トランザクションアウトプット(unspent transaction output, UTXO)を分散台帳に提供することを含む。
本出願の第2の態様は、送信者によって実施された場合、第1の態様に関して上記に説明した利点と同じ利点を全て有する。すなわち、デジタル資産の移転のための安全なIPトランザクションを実現し、それによって、受信者のネットワークアドレスの公開鍵又は公開テンプレートに基づく更なる公開鍵P2が受信者の支払い先アドレスを計算するために使用されるものである場合、MITM又はメッセージリプレイ攻撃を緩和し、送信者及び受信者のために非相互作用的又は非同期的な実装を可能にする。さらに、第2の態様の実施形態は、CGAのようなネットワーク又はIPアドレスに基づくので、このような態様及び関係する実施形態は、インターネット上のトランザクションにとって特に有利であり、(第1の態様について上記に説明した32ビットのIPv4アドレスに基づくトランザクションではなく)128ビットがIPアドレスに割り当てられるインターネットプロトコル(Internet Protocol, IP)標準ネットワークプロトコルの第6バージョン、すなわち、IPv6によって実現される。IPv6は、32ビットのIPv4プロトコルアドレスのいくつかの制限を克服するために、より大きい128ビットのアドレスで導入されている。しかし、広範囲のインターネットの使用は主にIPv4標準に大きく基づいているので、IPv6が暗号化生成アドレス(Cryptographically Generated Address, CGA)の使用のような安全なIPトランザクションを可能にするためにより多くの選択肢を提供するにもかかわらず、IPv6の使用への広範囲のアップグレードはまだ行われていない。CGAは、計算リソース又はノードのIPv6アドレスに公開鍵を結び付けるための方法として倍増された自己証明アドレスであり、PKI(IPv4で必要とされる)を使用する信頼されたCAに基づいてネットワークアドレスが検証される必要がない。したがって、有利なことに、第2の態様は、ネットワークアドレスに基づいてデジタル資産を送信及び/又は受信することを実現するために、CGAに関連し且つIPv6標準を使用して既に動作している送信者又は受信者のいずれによっても余分な機能が実装される必要がない。
第1の態様と同様に、第2の態様に関するいくつかの実施形態では、受信者に関連する公開トランザクションテンプレートはまた、支払い先アドレスを生成するために使用されてもよい。このような実施形態では、このような公開テンプレートは、受信者についてのネットワーク識別子に関連するDNSのようなディレクトリ内のエントリに基づいて、送信者によって利用可能になってもよく、送信者によって取得されてもよく、或いは送信者に知られてもよく、それによって、デジタル資産トランザクションのための非同期通信フローを実現する。
第1の態様に関する実施形態と同様に、第2の態様のいくつかの実施形態におけるアウトプットスクリプトは、受信者のネットワーク識別子への参照を含み、その結果、分散台帳に提供された場合、受信者に意図されたデジタル資産とのトランザクションが容易に識別され、これは有利である。
いくつかの実施形態では、ネットワークアドレスを検証するステップは、受信者との安全な通信チャネルを確立するために信頼機関(CA)によって提供されるデジタル署名に基づく。これは、ネットワークアドレスがCGAではなく、受信者のために生成された異なるタイプのIPアドレスに関する状況において有用である。有利なことに、これは、公開鍵P1が実際に受信者に結び付けられていることを検証するために、受信者のアドレスがCGAでない場合、PKIに基づくセキュリティプロトコルが第2の態様においても使用されることを可能にする。
いくつかの実施形態では、受信者のネットワークアドレスが実際にCGAである場合、ネットワークアドレスを検証するステップは、受信者についてのCGAを生成するために使用されるハッシュ関数に含まれる秘密鍵V1のデジタル署名に基づいて実行される。したがって、有利なことに、第2の態様は、CGAを生成するために使用される暗号秘密鍵V1(公開鍵P1に関する)に基づいて、CGAを認証することを可能にし、それによって、CGAの公開鍵P1を受信者に結び付ける。
上記のように、送信者によって実施される第1の態様及び第2の態様は、非相互作用的又は非同期的な方式で受信者についてのIPアドレス又はIPアドレスに関連するネットワーク識別子を使用してIPトランザクションを可能にし、その結果、送信者が受信者と直接相互作用することなくデジタル資産の支払いを送信してもよい。送信者によって実施される場合に、第1の態様及び第2の態様の双方に共通であるか或いは等しく適用されるいくつかの実施形態については、以下に説明する。
いくつかの実施形態では、受信者についての更なる公開鍵P2を計算することは、結果を取得するために、所与のトランザクションに関連するデータ項目Mにセキュアハッシュ関数を適用するステップを含み、データ項目Mは、受信者に提供されるデジタル資産に関する。次いで、当該方法は、受信者についての公開鍵P1を結果に関連付ける。いくつかの実施形態では、データ項目Mのセキュアハッシュは、ブロックチェーンに基づく技術及び個人デバイスのセキュリティのために2つのノードの間の安全な通信を可能にするために、選択、ランダム生成又は割り当てが可能な共通のジェネレータG又は共通の秘密によって乗算される。このような技術は、2018年10月24日に公開されたGB2561728において議論されている。したがって、secp256K1に基づく共通楕円曲線暗号(Elliptic Curve Cryptography, ECC)システムを使用する実施形態についての本開示の第1の態様及び第2の態様において、更なる公開鍵P2を決定するステップは、決定性の鍵及び共通のジェネレータGの楕円曲線点乗算への取得された公開鍵P1の楕円曲線点の加算に基づいてもよい。このような実施形態では、決定性の鍵は、移転されるデジタル資産に関するメッセージ又はインジケータでもよいデータ項目Mのセキュアハッシュである。
有利なことに、所与のトランザクションについてデジタル資産に関するデータ項目に基づいて各トランザクションのための新たな公開鍵P2を計算することは、受信者の取得された公開鍵P1又は既知の公開鍵P1が、デジタル資産の支払い又は受信者へのトランザクションを送信するために決して直接使用されないことを確保する。言い換えると、UTXOが分散台帳に書き込まれると、公開鍵は、トランザクションを使用するため、或いはトランザクションを使用するための鍵を計算するために使用される鍵ではない。これは、IPv4が使用されようとIPv6が使用されようと、IPトランザクションをより安全にする。さらに、ジェネレータGのような共通の秘密が使用される場合、送信者から受信者への全てのIPトランザクションについてなりすまし攻撃に対するセキュリティが更に増強される。これは、悪意のある者が、受信者についての取得された公開鍵P1に基づく新たに生成された公開鍵P2に基づいてトランザクションを傍受できるようになることが非常に困難になるためである。
いくつかの実施形態では、受信者についての支払い先アドレスを計算するステップは、更なる公開鍵P2のダブルハッシュ関数を適用することに基づいて、支払い公開鍵ハッシュP2PKH値を計算することを含む。有利なことに、支払い先アドレスは、新たに計算された公開鍵に基づいており、すなわち、データ項目Mに基づいた一回限りの鍵であり、悪意のある者によって取得することがより困難であるので、受信者へのIPトランザクションがより安全になる。
いくつかの実施形態では、送信者によって実施された場合、第1の態様及び第2の態様においてUTXOを分散台帳に提供するステップは、所与のトランザクションについての受信者のネットワーク識別子又はネットワークアドレス、すなわちIPアドレスを含むロッキングスクリプトを有する更なる使用不可能な(non-spendable)アウトプットを提供することを含む。いくつかの実施形態では、使用不可能なアウトプットは、デジタル資産に関するデータ項目Mを更に含む。いくつかの実施形態では、使用不可能なアウトプットは、トランザクションについての実行可能又は使用可能なUTXOを識別するためのリンク又はトランザクション識別子を含む。
有利なことに、例えば、有効なトランザクションを示すために使用されるOP_RETURNスクリプトのような、受信者のネットワーク識別子又はアドレスと共に使用不可能なアウトプットを含むことは、デジタル資産を含む操作可能又は使用可能なUTXOが、受信者に関連する1つ以上のプロセッサによって分散台帳内で容易に且つ簡単に識別されることを可能にする。更なる利点は、送信者がデジタル資産の支払いのために受信者と相互作用する必要がなく、或いはシグナリングする必要がないので、ネットワーク識別子によって受信者を識別する使用不可能なアウトプットの提供は、非同期的又は非相互作用的な手法を可能にすることである。受信者は、意図する使用不可能なOP_RETURNトランザクションを識別するために、単にブロックチェーン又は分散台帳に照会することができる。受信者についてのUTXOが識別されると、これらは、デジタル資産の支払いを処理するために使用可能なアウトプットスクリプトを実行することによって処理できる。
いくつかの実施形態では、送信者によって実施された場合、第1の態様及び第2の態様に関して、当該方法は、セッション鍵Kを計算するステップを更に含み、セッション鍵は、所与のトランザクションのための更なる公開鍵P2と、更なる公開鍵に関連する秘密鍵V2と、受信者に関連する公開鍵P1とに基づく。いったん計算されると、セッション鍵Kは、所与のトランザクションのデータ項目M、すなわちデジタル資産に関するデータ項目Mを暗号化するために使用される。次いで、アウトプットスクリプトは、暗号化されたデータ項目Mに基づいて生成される。いくつかの実施形態では、データ項目Mは、移転されるべきデジタル資産でもよく、或いは、受信者に移転されるべきデジタル資産への識別子、又はそれを含むメッセージでもよい。
有利なことに、この実施形態は、受信者についての1つ以上のUTXOにおいて分散台帳に提供されているデータのプライバシーを増強することによって、送信者から受信者へのIPトランザクションのセキュリティを増強する。ブロックチェーンで提供される場合、分散台帳を監視しているいずれかの関係のないオブザーバは、UTXOを閲覧できてもよい。例えば、OP-RETURNのような使用不可能なアウトプットは、受信者が行うのとほぼ同様の方式で、受信者についてのデジタル資産とのトランザクション又はUTXOの詳細を取得するために、誰でも閲覧できる。したがって、本実施形態は、デジタル資産Mに関するトランザクションについてのUTXOの少なくとも一部、すなわちデータ項目Mを暗号化し、それによってプライバシーを増強し、オブザーバがデジタル資産Mに関する部分を解読することができないので、当該部分を、意図した受信者以外の分散台帳のオブザーバに読み取れないようにすることを提案する。これは、暗号化が、受信者に関する特別に計算された鍵に基づいて実行されるからである。
第3の態様では、分散台帳において提供されるトランザクションのプライバシーを増強する方法が提供される。第3の態様は、送信者によって実施された場合、送信者がこのために受信者と更なる情報を交換する必要なく、メッセージを受信者に送信できる非同期的又は非相互作用的なトランザクションに関するという点で、第1の態様及び第2の態様に関する。第3の態様は、当該方法が、デジタル資産を含む(受信者のIPアドレスに送信される)トランザクションを、それぞれのアウトプットをそれぞれ有する少なくとも2つの別々のトランザクション、すなわち、UTXOに分割することを含む点で、第1の態様及び第2の態様とは異なる。送信者によって実施された場合、第3の態様による方法は、受信者についての公開鍵P1を取得するステップと、第1のトランザクションTX1に関する第1の公開鍵P21、すなわち、取得された公開鍵P1に基づく第1の公開鍵P21を計算するステップとを含む。第1のトランザクションTX1は、デジタル資産に関連する。当該方法は、第1の公開鍵P21に基づいて受信者についての第1の支払い先アドレスを計算することを含む。さらに、当該方法はまた、第1のセッション鍵K1を計算することを含み、第1のセッション鍵K1は、第1のトランザクションTX1についての第1の公開鍵P21と、第1の公開鍵P21に関連する第1の秘密鍵V21と、受信者に関連する公開鍵P1とに基づく。次いで、第1のトランザクションTX1に関連するデータ項目Mは、第1のセッション鍵K1で暗号化され、データ項目Mは、デジタル資産に関する。次いで、当該方法は、暗号化されたデータ項目Mと、第1の支払い先アドレスとに基づいて、第1のトランザクションTX1についての第1のアウトプットスクリプトを生成し、この第1のアウトプットスクリプトに基づいて、未使用トランザクションアウトプット(unspent transaction output, UTXO)を分散台帳に提供することを含む。上記に加えて、当該方法はまた、第2のトランザクションTX2に関する第2の公開鍵P22を計算することを含み、P22は、取得された公開鍵P1に基づく。第2のトランザクションTX2は、第1のトランザクションTX1のUTXOに関連するか或いはUTXOを識別する。いくつかの例示的な実施形態では、この第2のトランザクションTX2は、トランザクション識別子、受信者についてのネットワーク識別子、及び/又は第1のトランザクションTX1に関するデータ項目Mのうち1つ以上を提供する。上記のプロセスと同様に、当該方法は、第2の公開鍵P22に基づいて受信者についての第2の支払い先アドレスを計算し、また、第2のセッション鍵K2を計算することを含む。第2のセッション鍵K2は、第2のトランザクションのための第2の公開鍵P22と、第2の公開鍵P22に関連する第2の秘密鍵V22と、受信者に関連する公開鍵P1とに基づく。したがって、有利なことに、受信者P1の公開鍵は、その公開鍵P1が決して直接使用されないので、セキュリティ及びIPトランザクションのプライバシーを確保するために順に使用される全ての更なる鍵の計算において使用される。当該方法は、第2のセッション鍵K2で第1のトランザクションTX1に関連するデータ項目Mを暗号化し、暗号化されたデータ項目Mと、第2の支払い先とに基づいて第2のアウトプットスクリプトを生成し、第2のアウトプットスクリプトを分散台帳に提供することを更に含み、第2のアウトプットスクリプトは、第2のトランザクションTX2についての使用不可能なアウトプットである。
有利なことに、第3の態様の上記の方法は、デジタル資産のトランザクションを2つの別個のトランザクションに分割し、特別に計算されたセッション鍵でそれぞれ暗号化することによって、送信者及び受信者からのIPトランザクションのセキュリティ及びプライバシーを更に増強する。各トランザクションは、それぞれの固有のトランザクションID、アウトプットスクリプト、支払い先等を有する。新たに計算された一回限りの鍵である別個の異なる公開鍵は、トランザクション毎にそれぞれのセッション鍵及びそれぞれの支払い先アドレスを計算するために使用されるので、悪意のある者が受信者のトランザクションを調査するために分散台帳を監視している場合であっても、もはやトランザクションからのデジタル資産に関するデータ項目M又はメッセージにアクセスできなくなる。したがって、悪意のある者は、他のトランザクションを示すために、いずれかのトランザクションからのデータ項目Mにアクセスできない。たとえ何らかの方法で1つのトランザクションが何らかの方法で解読されたとしても、デジタル資産に関する分割されたペアの他のトランザクションは、異なる公開鍵が使用されているので解読できず、その結果、暗号化のための異なるセッション鍵が暗号化に使用される。
第1の態様及び/又は第2の態様による方法は、1つ以上のプロセッサ若しくはサーバ、又は受信者に関連する責任のあるホストによって実施された場合、受信者に関連する公開鍵P1を提供するステップを含み、公開鍵は、信頼機関によって発行された証明書に更に関連する。いくつかの実施形態では、これは、公開鍵インフラストラクチャに使用される認証局と同様のものでもよく、或いは、所与のエンティティにリンクするか或いは結び付けることによって1つ以上の鍵を検証できる鍵管理システムに関連する信頼された第三者でもよい。次いで、受信者によって実施される方法は、受信者に関連する1つ以上の未使用トランザクションアウトプット(unspent transaction output, UTXO)について分散台帳を照会又は監視するステップを更に含む。受信者に関連するUTXOを検出し、検出されたUTXOが所与のトランザクションに関することに応じて、当該方法は、所与のトランザクションのための秘密鍵V2を計算することを含み、秘密鍵V2は、所与のトランザクションのための公開鍵P2に関連する。次いで、デジタル資産が処理されるか、或いは、デジタル資産の移転が、受信者によって、所与のトランザクションを完了するために、検出されたUTXO内の1つ以上のアウトプットスクリプトを実行することによって処理される。いくつかの実施形態では、トランザクションの完了は、トランザクションが使用されることを示し、使用は、UTXOに関するアウトプットスクリプトを実行することによって実行される。使用又は処理されると、完了したトランザクションはその時点で分散台帳に記憶又はポスト又は書き込みされる。
有利なことに、送信者について上記に説明したように、第1の態様及び第2の態様の方法は、IPv4標準が使用されるかIPv6標準が使用されるかにかかわらず、送信者と受信者との間の安全なIPトランザクションを実現する。受信者によって実施される方法は、非同期的又は非相互作用的な方式で、ネットワークアドレスに対してデジタル資産トランザクションを識別して処理することを可能にする。したがって、有利なことに、送信者及び受信者は、トランザクションを処理するために、オンラインである必要はなく、或いは、互いに通信可能に結合される必要はない。分散台帳に提供されると、受信者は、いつでも上記の方法に基づいて、意図したトランザクションを照会して処理できる。
いくつかの実施形態では、分散台帳を照会又は監視するステップは、ネットワーク識別子及び/又は受信者の支払い先アドレスに関連する1つ以上のUTXOを照会又は監視することを含む。有利なことに、この実施形態は、分散台帳に書き込まれる複数の全ての他のトランザクションの中で、所与の受信者に意図されたトランザクションが容易に識別されることを可能にする。
いくつかの実施形態では、検出されたUTXOのための秘密鍵を計算するステップは、受信者に関連する秘密鍵V1を取得又は使用することを含み、この秘密鍵は、受信者の公開鍵P1に関連する暗号鍵ペアの一部である。当該方法が受信者によって実施されると、秘密鍵V1は、公開鍵P1と組み合わせて暗号化及び/又は解読のために利用可能になる。次いで、当該方法は、受信者の秘密鍵V1と、所与のトランザクションに関連するデータ項目Mのハッシュとに基づいて、所与のトランザクションのための秘密鍵V2を計算することを含み、データ項目Mは、デジタル資産に関する。
受信者によって実施されるいくつかの実施形態では、分散台帳を照会又は監視するステップは、受信者に関連する1つ以上の使用不可能なアウトプットについて分散台帳を監視することを含み、1つ以上の使用不可能なアウトプットは、検出されたUTXOに関係する。有利なことに、上記のように、OP-RETURNアウトプットのような使用不可能なアウトプットの存在は、受信者についての使用可能なアウトプットと共に1つ以上のUTXOの識別を実現する。
いくつかの実施形態では、1つ以上のUTXOは、第1の態様及び第2の態様について上記に説明したように、非相互作用的又は非同期的な方式で送信者によって実施される方法に従って、送信者によって分散台帳に提供される。
いくつかの実施形態では、第1の態様及び第2の態様について受信者によって実施される方法は、セッション鍵Kを計算するステップを含み、セッション鍵は、所与のトランザクションに関連する公開鍵及び秘密鍵(例えば、これらは、トランザクションのための更なる計算された公開鍵P2、及び上記の関連する秘密鍵V2である)と、受信者に関連する公開鍵P1とに基づく。1つ以上のアウトプットスクリプトを実行するステップは、セッション鍵K1を使用して1つ以上のアウトプットスクリプト内の所与のトランザクションに関連するデータ項目Mを解読することを含み、データ項目Mは、デジタル資産に関する。
有利なことに、上記の実施形態は、受信者のために送信者によって分散台帳に提供されるトランザクションに含まれるデータのプライバシーを増強する機能をする。有利なことに、これは、送信者によって送信されたときに、同じ或いは対応するセッション鍵を使用して暗号化されたデータの一部を解読するために、特別に計算されたセッション鍵を使用することによって、デジタル資産を含むIPトランザクションのセキュリティを更に増強する。
デジタルアウトプットについての所与のトランザクションが2つのトランザクションに分割される場合、送信者と受信者との間の1つ以上のIPトランザクションについて増強したプライバシーを可能にするために、上記に説明した第3の態様に関して、受信者によって実施される第3の態様の方法は、受信者に関連する公開鍵P1を提供するステップを含み、公開鍵P1は、信頼機関によって発行された証明書に更に関連する。当該方法は、受信者に関連する1つ以上の未使用トランザクションアウトプットUTXOについて分散台帳を照会又は監視することを含む。受信者に関連する少なくとも1つのUTXOを検出し、検出されたUTXOが所与のトランザクションに関係する少なくとも1つのUTXOの中の1つであることに応じて、当該方法は、所与のトランザクションのための秘密鍵V2を計算することを更に含み、秘密鍵V2は、所与のトランザクションのための公開鍵P2に関連する。いくつかの実施形態では、公開鍵P2は、上記のように、第3の態様について送信者によって実施される方法によって提供されるものである。この場合、当該方法は、少なくとも1つのセッション鍵K1、K2を計算することを含み、セッション鍵は、所与のトランザクションに関連する公開鍵及び秘密鍵P2、V2と、受信者に関連する公開鍵P1とに基づく。いくつかの実施形態では、セッション鍵は、所与のトランザクション毎に送信者によって計算される鍵と同一であるか或いは対応する。次いで、当該方法は、セッション鍵K1、K2を使用して、検出されたUTXO内の所与のトランザクションに関連するデータ項目Mを解読することを含み、データ項目Mは、デジタル資産を含むか或いはデジタル資産に関する。当該方法は、所与のトランザクションを完了するために、解読されたデータ項目Mに基づいて検出されたUTXO内の1つ以上のアウトプットスクリプトを実行し、完了したトランザクションを分散台帳に記憶することを含む。
いくつかの実施形態では、少なくとも1つのUTXOを検出するステップは、受信者に関連する2つのUTXOを検出することを含み、各UTXOは、それぞれのトランザクションに関し、各UTXOは暗号化されたデータ項目Mに関連する。UTXOのうちの1つは、使用不可能なアウトプットであり、その結果、使用不可能なアウトプットは、分散台帳上のデジタル資産の移転のために使用可能なアウトプットに関連する他のUTXOを識別するために使用される。
受信者によって実施される上記の方法は、送信者によって実施される第3の態様の方法と同様に、同様の相補的な利点を有し、すなわち、送信者から受信者へのデジタル資産(複数のデジタル資産でもよい)の移転の代わりに複数のトランザクションを使用することによって、セキュリティを増強すると共にプライバシーを増強して非同期的な方式での(ネットワークアドレス又は識別子への)IPトランザクションを実現及び可能にする。異なる公開鍵が計算され、それに基づいてトランザクション毎に支払い先アドレス及びセッション鍵が計算されるので、また、双方のトランザクションがデジタル資産のために解読されて処理される必要があるので、悪意のある者が双方のトランザクションを傍受して、デジタル資産へのアクセスを不正に取得することが、ますます困難になる。
いくつかの実施形態では、第1の態様、第2の態様及び/又は第3の態様に関して、受信者によって実施される方法は、複数のネットワーク識別子に関するデータベース内に受信者についてのレコードを作成し、受信者のネットワーク識別子に関連するセキュリティインジケータで、レコード内のエントリを更新するか或いは含めることを更に含む。セキュリティインジケータは、ネットワーク識別子の真正性を検証するために提供される。いくつかの実施形態では、データベースは、上記のDNSのようなグローバルディレクトリのようなディレクトリでもよい。レコードはテキスト又はサービスレコードでもよく、セキュリティインジケータは、ドメイン名のような受信者のネットワーク識別子が、IPv4又はIPv6のうち少なくとも1つで動作可能な1つ以上のセキュリティプロトコルを実装するか否かを確認するエントリ又はフラグでもよい。
本開示の第4の態様は、送信者に関連する1つ以上のプロセッサによって実施された場合、受信者についてのネットワークアドレスを取得するステップを含む方法に関し、当該ネットワークアドレスは、受信者についての公開鍵及びデジタル署名と組み合わせて生成される。いくつかの実施形態では、このネットワークアドレスは、上記の暗号化生成アドレス(cryptographically generated address, CGA)又は高度暗号化生成アドレス(advanced cryptographically generated address, CGA++)でもよい。しかし、本開示は、CGAの存在に限定されない。受信者のアイデンティティを検証するために使用される暗号鍵ペアに関連する如何なるネットワークアドレスも使用できる。CGA又はCGA++がネットワークアドレスとして使用されるいくつかの実施形態では、当該方法は、インターネット上で通信するためのIPv6標準インターネットプロトコルを使用して動作可能である。いくつかの実施形態では、インターネットプロトコルセキュリティ(Internet Protocol Security, IPSEC)プロトコルがIPv6においてデフォルト/必須であるので、IPv6アドレスの使用がこの態様について検討される。これはIPv4アドレスには当てはまらないので、IPv4アドレスは暗号的に生成されない。IPSECは、パケットを認証して暗号化するためのインターネットスイートプロトコルである。IPSECは、公衆インターネットの間でプライベートネットワークを拡張するために仮想プライベートネットワーク(virtual private network, VPN)において使用される。IPSECはIPv4アドレス及びIPv6アドレスの双方で動作し、IPv4では任意選択であるが、IPv6では必須である。第4の態様の方法は、ネットワークアドレスがデジタル資産を受け付けることができると決定し、上記の決定が成功したことに応じて、送信者と受信者との間に安全な通信チャネルを確立することを更に含む。いくつかの実施形態では、安全なチャネルは、ネットワークを生成するために使用される暗号鍵ペアに基づいてデジタル署名によって既に提供されている認証に基づいて提供される。次いで、当該方法は、受信者のネットワークアドレスから支払い先アドレスを要求し、支払い先を取得したことに応じて、デジタル資産に関するトランザクションのためのアウトプットスクリプトを生成することを含む。次いで、アウトプットスクリプトは支払い先アドレスに送信される。いくつかの実施形態では、受信者から提供される支払い先は、一回限り又は一回使用の支払い先アドレスである。
有利なことに、本開示の第4の態様は、デジタル資産を含むIPトランザクションのセキュリティを増強し、トランザクションは同期的又は相互作用的であり、すなわち、受信者についてのネットワークアドレス、すなわちIPアドレスへのデジタル資産の移転を実現するために、いずれかの当事者によって必要とされるデータを渡すために、送信者及び受信者の双方がオンラインであり互いに通信する。この方法は、或る当事者によって応答が要求された場合に、他の当事者又はエンティティがトランザクションにその応答を使用し得るように実施するのに適している。有利なことに、第4の態様は、受信者が暗号的に生成されるか或いは他の方法で受信者に関連するように予めリンク又は検証されるネットワークアドレスを有することを提案し、その結果、ネットワークアドレスに関連する公開鍵P1が実際に受信者についての公開鍵P1であることが信頼できるようにする。これは、支払い先アドレスに関する更なるメッセージのために、安全な通信チャネルが確立されることを可能にする。有利なことに、送信者及び受信者はオンラインであるので、また、単一使用の支払い先アドレスが安全なチャネル、すなわち認証/検証されたチャネルを介して送信されることを考慮すると、デジタル資産を含むIPトランザクションのセキュリティが更に増強される。
いくつかの実施形態では、一回限りの支払い先アドレスは、デジタル資産についての一回限りの公開鍵のハッシュ、すなわち、受信者に関する支払い公開鍵ハッシュ(pay to public key hash, P2PKH)アドレスである。いくつかの実施形態では、更なるセキュリティのために、支払い先アドレスは、第1の態様又は第2の態様において上記に説明したように、送信者及び受信者に知られている共通の秘密又はジェネレータ値に基づいてもよい。上記の態様と同様に、ここで言及する公開鍵は、ECDSA標準に関する鍵である。
第4の態様は、受信者に関連する1つ以上のプロセッサによって実施された場合、送信者からの問い合わせに応じて、当該方法は、デジタル資産を受け付けるための受信者のネットワークアドレスを提供するステップを含み、ネットワークアドレスは、受信者についての公開鍵P1及びデジタル署名と組み合わせて生成される。当該方法は、送信者と受信者との間に安全な通信チャネルを確立することを含む。これは、上記のように、送信者と通信して確立される。当該方法は、受信者についての一回限りの支払い先アドレスを生成し、支払い先アドレスを送信者に送信し、送信者からデジタル資産に関するトランザクションのためのアウトプットスクリプトを取得し、デジタル資産に関する支払いを処理することを含む。処理されると、完了したトランザクションは分散台帳の処理された支払いに基づくものとなる。
第4の態様(送信者及び受信者の実施)は、上記のように、トランザクションが処理されるために送信者及び受信者が互いに通信する同期技術に関する。第1の態様及び第2の態様と同様に、第4の態様に関するいくつかの実施形態では、支払い先の生成のために、公開暗号鍵の代わりに、公開トランザクションテンプレートが受信者のために使用できる。いくつかの実施形態では、このような公開テンプレートは、P2PKHの代わりに、送信者による支払い先に対する要求に応じて受信者によって生成又は提供されるカスタムのロッキングスクリプトでもよい。送信者は、宛先要求に応じてトランザクションのために生成されるカスタムを取得するので、これは、デジタル資産トランザクションのための同期的又は相互作用的な通信フローを実現する。
第4の態様の利点は、送信者及び受信者がデジタル資産を処理するために通信する(オンラインで相互作用する)実装について、既に上記に説明している。
第4の態様に関するいくつかの実施形態では、安全な通信チャネルは、受信者に送信される全ての通信及び/又は受信者から受信される全ての通信を暗号化するためにセッション鍵を導出することによって確立される。このような導出は、送信者及び/又は受信者において行われてもよい。有利なことに、これは、安全な通信チャネルを介して渡されるIPトランザクションに対する更なるセキュリティ及びプライバシーを提供する。
本開示の第5の態様では、CGA又はCGA++アドレスのようなネットワークアドレス又はエンドポイントではなく、受信者識別子へのデジタル資産の移転又は支払いのための方法が提供される。いくつかの実施形態では、受信者識別子は、ドメイン名のようなネットワーク識別子でもよい。他の実施形態では、受信者識別子は、受信者のためにサービスを提供する責任のあるホスト又はサーバの識別子でもよい。例えば、これは受信者に関連するDNSサービスレコードにおいて示されてもよい。したがって、受信者を識別するか或いは受信者に関連するいずれかのエンティティ又はホストが、受信者識別子でもよい。参照を容易にするために、受信者識別子は以下ではドメイン名であると考えられるが、これに限定されない。いくつかの実施形態では、当該方法はIPv6標準で動作可能である。第5の態様の方法は、送信者に関連する1つ以上のプロセッサによって実施された場合、受信者についてのネットワークアドレスを解決するために、受信者のネットワーク識別子に基づいてデータベースを照会するステップを含み、ネットワークアドレスは、受信者についての公開鍵に関連し、データベースは、通信ネットワークに関連する。いくつかの実施形態では、解決されるネットワークアドレスは、IPv6 CGA又はCGA++アドレスである。いくつかの実施形態では、ネットワークアドレスは、受信者についてのドメイン名であり、その結果、ドメイン名に関連するレコードを求めてDNSのようなディレクトリを検査することによって、ネットワークアドレスが解決できる。当該方法は、受信者のネットワーク識別子が、受信者についての解決されたネットワークアドレスに関連するネットワーク識別子に対応することを検証することを含む。いくつかの実施形態では、これは、DNSSECのようなセキュリティプロトコルが受信者のために使用されていること、又は公開鍵を受信者に結び付けるためのメカニズムの指示をディレクトリ内のエントリについて検査することを含んでもよい。検証が成功したことに応じて、CGA又はCGA++が特定されて検証されると、第2の態様~第4の態様による方法が所与のトランザクションについて実行できる。
有利なことに、第5の態様は、IPアドレスではなく、受信者のドメイン名のようなネットワーク識別子に基づいてデジタル資産を含む安全なトランザクションを可能にする。したがって、受信者がIPv6標準に基づいて動作するCGA又はCGA++のような安全なネットワークアドレスに関連する限り、受信者についてのドメイン名に基づいて、デジタル支払いが安全に行われることができる。アドレスが解決されて検証されると、相互作用的又は非相互作用的なIPトランザクションが、第2の態様~第4の態様に基づいて追求でき、それによって、デジタル資産のドメイン名に基づく移転のために更なるセキュリティ及びプライバシーという同じ利点を提供する。
第5の態様に関するいくつかの実施形態では、ネットワーク識別子は、ネットワークアドレスに関連する拡張フィールドにおいて提供される。いくつかの実施形態では、識別子がドメイン名であり、ネットワークアドレスがCGA又はCGA++アドレスである場合、受信者のドメイン名は、更なるセキュリティ手段としての検証のステップのために、拡張フィールドパラメータ、すなわち、extFields CGAパラメータに存在するドメイン名と一致する。
いくつかの実施形態では、本開示は、送信者又は受信者のいずれかとして動作できる計算デバイスに関し、計算デバイスは、プロセッサと、プロセッサによる実行の結果としてシステムに上記の態様のいずれかの方法を実行させる実行可能命令を含むメモリとを含む。
いくつかの実施形態では、本開示は、送信者及び受信者を含むシステムに関し、それぞれは、少なくとも1つの送信者エンティティと少なくとも1つの受信者エンティティとの間の通信を実現するために通信ネットワークを介して互いに通信可能に結合された計算デバイスのようなエンティティである。
いくつかの実施形態では、コンピュータシステムのプロセッサによって実行された結果として、コンピュータシステムに上記の態様及び/又は実施形態の方法を実行させる実行可能命令を記憶したコンピュータ読み取り可能記憶媒体が提供される。
[第1の態様-IPv4を使用した非同期的IPトランザクションの送信]
IPv4についてのインターネットプロトコルセキュリティ及び拡張が利用可能であるが、デジタル資産の移転にとってこれらは限界があり不十分である。ドメイン名システムセキュリティ拡張(Domain Name System Security Extension, DNSSEC)及びトランスポートレイヤセキュリティ(Transport Layer Security, TLS)は、2つの通信エンティティの間の認証を提供してMITM攻撃から保護するために、CA及びPKIに大きく依存している。しかし、上記のように、IPv4の32ビットアドレスは可能なアドレスの空間という点で制限を受け、これは、アドレスの再使用及び再マッピングを必要とし、したがってセキュリティが低減する。したがって、分散台帳に関するデジタル資産の移転は、現在ではIPv4アドレスを使用したIPトランザクションとしては実施されていない。例えば、これはビットコイントランザクションにも当てはまり、ビットコイントランザクションでは、理論的にはIPトランザクションが提案されていたが、インターネット上で通信するエンティティについての支払い先アドレスとして使用されるIPv4アドレスのセキュリティ及びスケーラビリティに関して、少なくとも上記の制限を考慮して、このような機能は追求されていない。
IPv4についてのインターネットプロトコルセキュリティ及び拡張が利用可能であるが、デジタル資産の移転にとってこれらは限界があり不十分である。ドメイン名システムセキュリティ拡張(Domain Name System Security Extension, DNSSEC)及びトランスポートレイヤセキュリティ(Transport Layer Security, TLS)は、2つの通信エンティティの間の認証を提供してMITM攻撃から保護するために、CA及びPKIに大きく依存している。しかし、上記のように、IPv4の32ビットアドレスは可能なアドレスの空間という点で制限を受け、これは、アドレスの再使用及び再マッピングを必要とし、したがってセキュリティが低減する。したがって、分散台帳に関するデジタル資産の移転は、現在ではIPv4アドレスを使用したIPトランザクションとしては実施されていない。例えば、これはビットコイントランザクションにも当てはまり、ビットコイントランザクションでは、理論的にはIPトランザクションが提案されていたが、インターネット上で通信するエンティティについての支払い先アドレスとして使用されるIPv4アドレスのセキュリティ及びスケーラビリティに関して、少なくとも上記の制限を考慮して、このような機能は追求されていない。
図1は、本開示の第1の態様に関するものであり、送信者によって実装される1つ以上のプロセッサによって実施された場合、送信者は、公開鍵及びビットコインアドレスのような支払い先アドレスの操作のために支払いサーバ又はウォレットエコシステムを使用することなく、サーバ若しくはノードのネットワーク(IP)アドレス、又はIPアドレスに関するドメイン名によって表され得る受信者に対して支払いを直接送信する。
図1は、トランザクションが非同期的に扱われるか或いは処理される第1の態様を表しており、送信者は、デジタル資産の移転を処理するために受信者と相互作用しない。以降では、支払いへの言及は、限定されることなくトークン又は暗号通貨のようなデジタル資産のトランザクション又は移転を意味すると理解される。上記のように、送信者は、エンティティ、すなわち、1つ以上のプロセッサに関連するノード又は計算リソースでもよい。送信者は、クライアントエンティティ又はサーバエンティティとして実装されてもよい。
図1は、インターネットプロトコル通信のためのIPv4標準を使用して、インターネット上で送信者から受信者に移転されるデジタル資産を含む1つ以上のIPトランザクションを実施することに関するフローチャートである。言い換えると、図1に関して提案される方法は、32ビットのIPv4アドレスを使用する受信者エンティティへの支払い、すなわちデジタル資産の移転を実施するための新たなプロトコルを提案する。図1に示す実施形態では、公開鍵インフラストラクチャ(Public Key Infrastructure, PKI)を使用する認証局(Certificate Authority, CA)を通じて、受信者のIPv4アドレスは何らかの形式の証明書又は認証を保持すると考えられる。典型的には、IPv4では、この認証は2つの主な方法、すなわち、DNSSEC及びSSL/TLSを通じて行われ、第1の態様に従って送信者(エンティティ)によって実施される図1の提案される方法は、IPv4で構築されたこのような既存のセキュリティ拡張と組み合わせて動作し、それによってIPv4アドレスを使用する全てのノードについて当該方法のスケーラビリティを確保する。
ステップ102は、受信者についての公開鍵P1の取得に関する。図1の実施形態は、公開鍵に基づく実施形態を説明しているが、本開示は、上記のようにこれに限定されない。支払い先が生成できる公開テンプレートの使用も可能である。受信者への支払いを行うことを希望する送信者は、受信者のIPアドレス又はドメイン名のいずれかでもよい受信者についてのネットワーク識別子を知っていてもよく或いは提供されてもよい。ドメイン名が知られている実施形態では、このステップは、受信者の公開鍵P1として機能する受信者のドメインのゾーン鍵を得るために、送信者がDNSKEYレコードを求めてDNSクエリを作成することによって実施されてもよい。公開鍵は、受信者のドメインについての暗号鍵ペアの一部であり、秘密鍵V1も含む。V1は、通常では、ドメインに関連する秘密署名鍵であり、共有されない。IPアドレスが代わりに知られている実施形態では、ドメインについて公開鍵P1が取得できる前に、ポインタ(pointer, PTR)レコードを照会することによって、IPアドレスに関連するドメイン名を識別するために、逆DNS(reverse DNS, rDNS)検索クエリが送信者によって発行されてもよい。
本実施形態では、取得される公開鍵P1は、安定した楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)公開鍵であると理解される。ECDSA公開鍵は、secp256k1曲線上の有効な点であり、圧縮されて16進符号化される。いくつかの実施形態では、これは、文字列長が66バイトの長さ(33バイトバイナリ)でもよく、各バイトが2つの16進文字として符号化されることを意味する。
ステップ104において、次いで、公開鍵P1が受信者にとって有効な鍵であるか否か、すなわち、それが実際に受信者のネットワーク識別子に関連するか否かが検証される。いくつかの実施形態では、検証は、IPv4に関連する既存のセキュリティ拡張に基づき、すなわち、ネットワーク識別子及び関連する鍵は、DNSSEC又はTLSを使用することによって認証でき、その結果、公開鍵P1が受信者に結び付けられることができる。ネットワーク識別子がドメイン名であるいくつかの実施形態では、DNSSECのようなセキュリティ拡張が受信者のドメインに使用されているか否かを確認するために、公開鍵P1が実際に受信者に属していることを検証するためにドメインがDNSSECを使用していることを示すか或いはシグナリングするためのテキストレコードDNS TXTが提供されてもよい。DNSSECに基づく認証が使用される場合、公開ゾーン署名鍵及び鍵署名鍵が受信者を認証するために使用されてもよく、これはCAに基づいてもよい。プロトコルは、第1の態様の一部に利用される既知の概念に関連するので、ここでは詳細に説明しない。
ネットワーク識別子がドメイン名の代わりにIPアドレスである実施形態では、この検証ステップは、SSL/TLSに基づく認証を使用して実行されてもよい。TLSプロトコル及びその前身のセキュアソケットレイヤ(Secure Sockets Layer, SSL)は、暗号化されたインターネット通信を実現する暗号プロトコルであり、このような認証のための鍵交換メカニズムのためにハンドシェイクプロトコルが実装される。
ステップ104において公開鍵が検証できない場合、或いは、例えばDNSSEC又はTLSのようなIPv4のためのセキュリティ拡張が受信者によって使用されていない場合、ステップ106において、デジタル資産の支払いのためのトランザクションは中止される。
ステップ104において検証が成功したことに応じて、ステップ108は、トランザクションに関する更なる公開鍵P2を計算することに関する。いくつかの実施形態では、更なる公開鍵P2は、受信者の公開鍵P1と、受信者に対して行われるべきデジタル資産の支払いとに基づいて計算される。言い換えると、更なる公開鍵は、送信者によって行われる所与のトランザクションに固有の一回限りの鍵である。上記のように、これは、悪意のある者又はなりすまし者によるMITM及びメッセージリプレイのような攻撃に対するセキュリティを更に増強するので、有利である。
例えば、いくつかの実施形態では、このステップにおける更なる公開鍵P2は、以下の式に基づいて計算できる。
P2=P1+SHA256(M)×G
ここで、メッセージMは、デジタル資産の支払いに関するデータ項目でもよく、或いはトークン等の値を表してもよい。データ項目は、トランザクションの一部でもよく、或いは、トランザクションの識別子の一部でもよい。データ項目Mの位置は、データ項目Mによって表される送信者からの特定のトランザクションについて移転されるデジタル資産の間に関連がある限り、特定のフィールドに限定されない。
P2=P1+SHA256(M)×G
ここで、メッセージMは、デジタル資産の支払いに関するデータ項目でもよく、或いはトークン等の値を表してもよい。データ項目は、トランザクションの一部でもよく、或いは、トランザクションの識別子の一部でもよい。データ項目Mの位置は、データ項目Mによって表される送信者からの特定のトランザクションについて移転されるデジタル資産の間に関連がある限り、特定のフィールドに限定されない。
上記の式及び実施形態では、セキュアハッシュアルゴリズム(Secure Hash Algorithm, SHA)が、データ項目Mのハッシュを計算するための例として示されている。実施形態はSHAに限定されず、多数の他の暗号ハッシュ関数又は部分ハッシュの連結も使用できる。暗号ハッシュは、テキスト又はデータ項目のための署名のようなものである。SHA-256は、SHA-1の後続のハッシュ関数の1つであり、利用可能な最も強力なハッシュ関数の1つである。SHA-256アルゴリズムは、ほとんど固有で固定サイズの256ビット(32バイト)ハッシュを生成する。この例におけるハッシュは一方向関数である。このことは、パスワード検証、チャレンジハッシュ認証、不正使用防止、デジタル署名等に適するようにさせる。本実施形態では、デジタル資産を表すデータ項目Mのハッシュを計算することは、IPアドレスに対して直接行われるトランザクションのセキュリティをかなり改善する。さらに、更なる公開鍵P2の計算はまた、この実施形態における安全で非同期的な処理を実現する。
上述の式及び実施形態において、Gは、ECC標準に基づいて2つのノードの間の安全な通信を可能にするために、暗号化のために使用され得る共通の秘密を示す。ECCのための標準は、Standards for Efficient Cryptography Group(www.sceg.org)によって記述されるもののような既知の標準を含んでもよい。楕円曲線暗号も、US5,600,725、US5,761,305、US5889,865、US5,896,455、US5,933,504、US6,122,736、US6,141,420、US6,618,483、US6,704,870、US6,785,813、US6,078,667、US6,792,530に記載されている。送信者は、インターネットのような通信ネットワーク上で、共通のジェネレータ(G)を有する共通のECCシステムを使用することを示す通知を受信者に送信してもよく、或いは、送信者及び受信者は、以前に共通のECCシステムに設定しており、共通のジェネレータ(G)を使用していてもよい。一例では、共通のECCシステムは、ビットコインによって使用されるECCシステムであるsecp256K1に基づいてもよい。共通のジェネレータGは選択されてもよく、ランダムに生成されてもよく、或いは割り当てられてもよい。上記に示す式では、ジェネレータGによるデータ項目Mのセキュアハッシュの楕円曲線点乗算が検討される。
ステップ110において、ステップ108で計算された更なる公開鍵P2に基づいて支払い先アドレスが計算される。いくつかの実施形態では、支払い先は、更なる公開鍵P2の二重ハッシュ関数を適用することによって取得された支払い公開鍵ハッシュ(Pay to Public Key Hash, P2PKH)値である。例えば、公開鍵P2のHASH160が取得でき、次いで、これは支払いを送信するためのP2PKH値を取得するために、ベース58符号化を受ける。
例えば、027c1404c3ecb034053e6dd90bc68f7933284559c7d0763367584195a8796d9b0eの公開鍵が与えられた場合、そのためのP2PKHアウトプットスクリプトは、76a9140806efc8bedc8afb37bf484f352e6f79bff1458c88acとして16進符号化されてもよい。
上記のように、一回限りの更なる公開鍵P2に基づくP2PKH値は、セキュリティをかなり増強するので、ステップ102からの取得された受信者公開鍵P1が直接使用されることはないため、受信者についての一回限りのトランザクション固有の公開鍵に基づいてMITM攻撃は実施するのが非常に困難になる。
公開テンプレートが受信者のために使用される実施形態では、P2PKHの代わりに、カスタムのロッキングスクリプトが、代わりに受信者についてのテンプレートに基づいて使用されてもよい。
ステップ112において、ステップ110における支払い先に基づいて、所与のトランザクションのためのアウトプットスクリプトが生成される。アウトプットスクリプトは、受信者に移転されるべきデジタル資産を含む。いくつかの実施形態では、アウトプットスクリプトは、受信者のネットワーク識別子又はそれに対する参照を含んでもよい。
様々なタイプのアウトプットスクリプトが生成されてもよいが、説明を容易にするために、以下の例では支払い公開鍵ハッシュ(Pay to Public Key Hash, P2PKH)アウトプットスクリプトの生成について説明する。
これは以下のように分解できる。
76; OP_DUP
a9; OP_HASH160
14; Push the next 20 bytes on to the stack
08 06 ef c8; ripemd160 (sha256 (compressed_public_key))
be dc 8a fb
37 bf 48 4f
35 2e 6f 79
bf f1 45 8c
88 ; OP_EQUALVERIFY
ac ; OP_CHECKSIG
いくつかの実施形態では、データ項目M及びネットワーク識別子を参照して、更なる使用不可能なアウトプットも生成される。上記のように、この使用不可能なアウトプットは、送信者及び受信者が互いに通信する必要がない非同期的な方式で処理されるトランザクションを実現する。例えば、これは以下の形式のOP_RETURNアウトプットとすることができる。
OP_RETURN <IP_TX prefix> <network_identifier> M
ここで、トランザクションプレフィックス又はID及び/又はネットワーク識別子は、受信者に関するトランザクション又はトランザクションのタイプを求めて分散台帳を照会する際に使用できる。Mは、デジタル資産に関する上記のデータ項目を表す。
76; OP_DUP
a9; OP_HASH160
14; Push the next 20 bytes on to the stack
08 06 ef c8; ripemd160 (sha256 (compressed_public_key))
be dc 8a fb
37 bf 48 4f
35 2e 6f 79
bf f1 45 8c
88 ; OP_EQUALVERIFY
ac ; OP_CHECKSIG
いくつかの実施形態では、データ項目M及びネットワーク識別子を参照して、更なる使用不可能なアウトプットも生成される。上記のように、この使用不可能なアウトプットは、送信者及び受信者が互いに通信する必要がない非同期的な方式で処理されるトランザクションを実現する。例えば、これは以下の形式のOP_RETURNアウトプットとすることができる。
OP_RETURN <IP_TX prefix> <network_identifier> M
ここで、トランザクションプレフィックス又はID及び/又はネットワーク識別子は、受信者に関するトランザクション又はトランザクションのタイプを求めて分散台帳を照会する際に使用できる。Mは、デジタル資産に関する上記のデータ項目を表す。
ステップ114において、ステップ112におけるデジタル資産トランザクションのためのアウトプットスクリプトに関連する未使用トランザクションアウトプット(Unspent transaction output, UTXO)が、分散台帳、即ちブロックチェーンに提供又はポストされる。
例えば、分散台帳に提供される送信者から受信者への所与のトランザクション(TxID)のアウトプットは、以下のように見える。
[第2の態様-IPv6を使用した非同期的IPトランザクションの送信]
IPv6はIPv4での多数の制限、特に、このプロトコルが大きく依存する公開鍵インフラストラクチャ(Public Key Infrastructure PKI)技術における制限に対処することを試みる。例えば、暗号化生成アドレス(Cryptographically Generated Address, CGA)は、IPv6アドレスに関連する公開鍵を認証するために使用できる。CGAは自己証明アドレスであり、CA又はPKIを必要とせずに公開鍵をIPv6アドレスに結び付けるために使用される。これは、公開秘密暗号鍵ペアから暗号化で導出されたIPv6アドレスである。このように、アドレスは暗号的に公開秘密鍵ペアにリンクされ、その結果、CGAの正しい生成(自己証明)を検証することは、このようなリンクが有効であるという或る程度のセキュリティまで保証できる。
IPv6はIPv4での多数の制限、特に、このプロトコルが大きく依存する公開鍵インフラストラクチャ(Public Key Infrastructure PKI)技術における制限に対処することを試みる。例えば、暗号化生成アドレス(Cryptographically Generated Address, CGA)は、IPv6アドレスに関連する公開鍵を認証するために使用できる。CGAは自己証明アドレスであり、CA又はPKIを必要とせずに公開鍵をIPv6アドレスに結び付けるために使用される。これは、公開秘密暗号鍵ペアから暗号化で導出されたIPv6アドレスである。このように、アドレスは暗号的に公開秘密鍵ペアにリンクされ、その結果、CGAの正しい生成(自己証明)を検証することは、このようなリンクが有効であるという或る程度のセキュリティまで保証できる。
CGAを生成する際に関与する基本原理が図2aに示されている。IPv6アドレスの最上位64ビットはサブネットのために確保され、サブネットプレフィックスと呼ばれる。最下位64ビットはアドレス所有者の公開鍵の暗号ハッシュから生成され、インタフェース識別子と呼ばれる。この基本的なCGA方式は、攻撃者が攻撃することを非常に困難にするように、2つの異なるハッシュの使用と「プルーフ・オブ・ワーク(proof of work)」方法(マイニングと同様)とを通じて、そのセキュリティを強化している。これは、第1のハッシュが基づくSecパラメータに依存する。このセキュリティパラメータの値が高ければ高いほど、第1のハッシュの難しさがより必要とされ(マイニングの難しさと同様)、アドレス生成及び検証をより複雑にする。CGAアドレス生成のこの拡張版は図2bに見られる。
しかし、CGAは、非同期的又は非相互作用的な通信方法が考慮される場合、セキュリティに関するいくつかの制限を受け、デジタル資産が関与する場合、IPアドレスに基づくトランザクションには適さなくなるか或いは有用ではなくなる。これらの制限の中には、CGAを生成するために使用される公開鍵へのアクセスを有する悪意のある者によるガーベッジ攻撃、メッセージリプレイ攻撃又はタイムメモリ・トレードオフ攻撃がある。これは、IPv6アドレスがデジタル資産トランザクションを送信するために使用される場合、重大な結果を有する可能性がある。
これらの制限に対処するために、CGAに基づく新しいプロトコル、すなわち、CGA++で示される高度CGAが2009年に提案されている。CGAとの違いは、主として、CGA++においてIPv6アドレスを生成するために使用されるハッシュ関数への秘密鍵による署名の導入である。言い換えると、認証が、外部プロセスではなく、アドレス生成及び検証に組み込まれる。CGA++は図3にグラフィックで示されている。
図4は、本開示の第2の態様に関するものであり、送信者によって実装される1つ以上のプロセッサによって実施された場合、送信者は、公開鍵及び支払いアドレスの操作のために支払いサーバ又はウォレットエコシステムを使用することなく、ネットワーク識別子、すなわちドメイン名又はIPアドレスによって表され得る受信者に対して支払いを直接送信する。図4は、トランザクションが非同期的に扱われるか或いは処理される第2の態様を表しており、送信者は、デジタル資産の移転を処理するために受信者と相互作用しない。
図4は、インターネットプロトコル通信のためのIPv6標準を使用して、インターネット上で送信者から受信者に移転されるデジタル資産を含む1つ以上のIPトランザクションを実施することに関するフローチャートである。言い換えると、図4に関して提案される方法は、IPv6アドレスを使用する受信者エンティティへの支払い、すなわちデジタル資産の移転を実施するための新たなプロトコルを提案する。上記のように、IPv6アドレスはCGA又はCGA++アドレスとすることができる。
ステップ402は、受信者についてのネットワークアドレスの取得に関する。受信者エンティティへの支払いを行うことを希望する送信者は、受信者のIPアドレス、すなわちCGA又はCGA++を知っていてもよく或いは提供されてもよい。これらのアドレスが既に公開秘密鍵ペアと関連付けられている場合、受信者についての公開鍵P1は、アドレスに基づいて取得される。
本実施形態では、取得される公開鍵P1は、安定した楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)公開鍵であると理解される。図4における実施形態は、公開鍵に基づく実施形態を説明するが、本開示は、上記のようにこれに限定されない。デジタル資産トランザクションのための受信者についての公開テンプレートの使用も可能であり、これに基づいて支払い先が生成できる。この実施形態におけるこの公開鍵P1は、暗号鍵に限定されないことが理解される。しかし、参照を容易にするために、図4は、公開鍵P1を使用する実施形態を参照する。
ステップ404において、次いで、ネットワークアドレスが受信者について有効に生成されたか否か、すなわち、実際に受信者に関連する公開鍵に基づいて生成されたか否かが検証される。CGA検証は、検証のための既知のプロセスに基づいて実行できる。上記のように、これは、外部CAに基づいてもよく、或いは、CGA++の場合には、アドレス生成とリンクされる内部認証プロセスでもよい。
ステップ404において受信者についてのネットワークアドレスが検証できない場合、ステップ406においてデジタル資産の支払いのためのトランザクションは中止される。
ステップ404において検証が成功したことに応じて、ステップ408は、トランザクションに関する更なる公開鍵P2を計算することに関する。いくつかの実施形態では、更なる公開鍵P2は、受信者の公開鍵P1と、受信者に対して行われるべきデジタル資産の支払いとに基づいて計算される。例えば、非同期的なIPv4トランザクションに関する図1におけるステップ108と同様に、IPv6の第2の態様に関するいくつかの実施形態では、このステップにおける更なる公開鍵P2は、以下の式に基づいて計算できる。
P2=P1+SHA256(M)×G
ここで、Mは移転されるデジタル資産に関するデータ項目であり、Gはトランザクションのジェネレータの共通の秘密である。
P2=P1+SHA256(M)×G
ここで、Mは移転されるデジタル資産に関するデータ項目であり、Gはトランザクションのジェネレータの共通の秘密である。
ステップ410において、ステップ408で計算された更なる公開鍵P2に基づいて支払い先アドレスが計算される。いくつかの実施形態では、図1のステップ110と同様に、支払い先は、更なる公開鍵P2の二重ハッシュ関数を適用することによって取得された支払い公開鍵ハッシュ(Pay to Public Key Hash, P2PKH)値である。
ステップ412において、ステップ410における支払い先アドレスに基づいて、所与のトランザクションのためのアウトプットスクリプトが生成される。アウトプットスクリプトは、受信者に移転されるデジタル資産への参照、すなわち、更なる公開鍵P2を生成するためにも使用されるデータ項目Mを含む。いくつかの実施形態では、アウトプットスクリプトは、受信者のネットワーク識別子又はその参照を含んでもよく、これはIPv6アドレス、すなわちCGA又はCGA++でもよい。
例えば、このアウトプットスクリプトは以下のように表されてもよい。
OP_DUP OP_HASH160 <H (P2)> OP_EQUAL OP_CHECKSIG
いくつかの実施形態では、データ項目及びネットワーク識別子を参照して、更なる使用不可能なアウトプットも生成される。例えば、これは、図1のステップ112に関して上記に説明したように、OP_RETURNアウトプットの形式とすることができる。
OP_RETURN <IP_Tx prefix> <IPv6_CGA(++)> <M>
ここで、トランザクションプレフィックス又はID及び/又はネットワーク識別子は、受信者に関するトランザクション又はトランザクションのタイプを求めて分散台帳を照会する際に使用できる。Mはデジタル資産に関するデータ項目を表す。
OP_DUP OP_HASH160 <H (P2)> OP_EQUAL OP_CHECKSIG
いくつかの実施形態では、データ項目及びネットワーク識別子を参照して、更なる使用不可能なアウトプットも生成される。例えば、これは、図1のステップ112に関して上記に説明したように、OP_RETURNアウトプットの形式とすることができる。
OP_RETURN <IP_Tx prefix> <IPv6_CGA(++)> <M>
ここで、トランザクションプレフィックス又はID及び/又はネットワーク識別子は、受信者に関するトランザクション又はトランザクションのタイプを求めて分散台帳を照会する際に使用できる。Mはデジタル資産に関するデータ項目を表す。
ステップ414において、ステップ412におけるデジタル資産トランザクションのためのアウトプットスクリプトに関連する未使用トランザクションアウトプット(Unspent transaction output, UTXO)が、分散台帳、即ちブロックチェーンに提供又はポストされる。
例えば、送信者から受信者への所与のトランザクション(TxID)のアウトプットは、以下のように見える。
[第1の態様及び第2の態様-IPv4又はIPv6を使用した非同期的IPトランザクションの受信]
図5は、本開示の第1の態様及び第2の態様に関するものであり、受信者によって実装される1つ以上のプロセッサによって実施された場合、ドメイン名又はIPアドレスによって表される受信者エンティティは、公開鍵及び支払いアドレスの操作のために支払いサーバ又はウォレットエコシステムを使用することなく、分散台帳を使用して支払いが送信されている。図5は、トランザクションが非同期的に扱われるか或いは処理される第1の態様及び第2の態様を表しており、送信者及び受信者は、デジタル資産の移転を処理するために相互作用しない。いくつかの実施形態では、図1又は図4に関して説明した方法に基づいて、デジタル資産に関連するトランザクションが分散台帳に提供される。
図5は、本開示の第1の態様及び第2の態様に関するものであり、受信者によって実装される1つ以上のプロセッサによって実施された場合、ドメイン名又はIPアドレスによって表される受信者エンティティは、公開鍵及び支払いアドレスの操作のために支払いサーバ又はウォレットエコシステムを使用することなく、分散台帳を使用して支払いが送信されている。図5は、トランザクションが非同期的に扱われるか或いは処理される第1の態様及び第2の態様を表しており、送信者及び受信者は、デジタル資産の移転を処理するために相互作用しない。いくつかの実施形態では、図1又は図4に関して説明した方法に基づいて、デジタル資産に関連するトランザクションが分散台帳に提供される。
図5は、インターネットプロトコル通信のためのIPv4又はIPv6標準を使用して、インターネット上で送信者から受信者に移転されるデジタル資産を含む1つ以上のIPトランザクションを実施することに関するフローチャートである。言い換えると、図5に関して提案される方法は、IPv4アドレス又はIPv6アドレスを使用する受信者エンティティによる支払い、すなわちデジタル資産の受信を実施するための新たなプロトコルを提案する。
ステップ502は、受信者に関連する公開鍵P1を提供又は取得することに関する。公開鍵P1は、その正当性を確認して受信者のIPアドレスにリンクさせるために、信頼機関によって発行された証明書に更に関連付けられる。IPv4アドレスが使用されている実施形態では、これは公開鍵を認証するためのPKI及びCAに基づいてもよい。IPv6アドレスが使用される場合、公開鍵P1の認証は、内部で(CGA生成によって)実行でき、或いは信頼機関又は署名局に基づいて外部で実行できる。いくつかの実施形態では、このようなステップは、受信者に関係するため、公開鍵へのアクセスと等価でもよい。本実施形態では、取得される公開鍵P1は、安定した楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)公開鍵であると理解される。
上記のように、デジタル資産トランザクションのための受信者についての公開テンプレートの使用もまた、本開示によって想定され、それに基づいて、支払い先が生成できる。このような実施形態では、公開テンプレートは、受信者によって生成されてもよく、カスタムロッキングスクリプトを含んでもよい。しかし、参照を容易にするために、図5は、公開鍵P1に基づく実施形態を参照する。
ステップ504は、受信者に関連する1つ以上の未使用トランザクションアウトプット(unspent transaction output, UTXO)について分散台帳を照会又は監視することに関する。図1及び図4に関して上記に説明したように、いくつかの実施形態では、これは、受信者についてのOP_RETURNのような更なる使用不可能なアウトプットを監視することによって、受信者に関連する1つ以上のサーバ又は計算リソースによって実行できる。他の実施形態では、受信者はまた、トランザクション識別子又はネットワーク識別子等に基づいて、分散台帳を照会してもよい。ここで、本実施形態は、受信者についてのトランザクションを識別するための特定のフィールド又はアウトプットに限定されない。
ステップ506において、受信者は、ステップ504の結果に基づいて、受信者によって処理されるべきデジタル資産を有するトランザクション又はUTXOを検出する。ステップ504においてUTXOが検出されない場合、これは、まだその受信者を対象とするトランザクションが存在しないことを意味してもよく、照会及び監視するステップが、ステップ508において繰り返される。受信者は、トランザクションについて周期的又はランダムに分散台帳を照会することにより、送信者との相互作用を必要とすることなく、非同期的にトランザクションの処理を可能にする。いくつかの実施形態では、検出は、使用不可能なトランザクションの検出に基づいてもよく、次に、これは、デジタル資産を使用するためのトランザクションを識別する。
ステップ510において、受信者に関連付するUTXOを検出し、検出されたUTXOが所与のトランザクションにおいてデジタル資産を表すデータ項目Mに関連することに応じて、秘密鍵V2が計算される。この秘密鍵V2は、図1のステップ108又は図4のステップ408のいずれかにおいて送信者によって計算される更なる公開鍵P2に関連付けられ、その特定のトランザクションのための暗号鍵ペアP2、V2を形成する。いくつかの実施形態では、検出されたトランザクションのための秘密鍵V2は、受信者自身の秘密鍵V1、すなわち、ステップ501における公開鍵P1及び秘密鍵V1に基づく。これは、鍵P2に基づく支払い先アドレス、すなわちP2PKH、又は実際に公開テンプレートが使用される実施形態に基づいて生成されたカスタムスクリプトが、トランザクションに基づく一回限りの計算された秘密鍵V2と、受信者自身の秘密鍵V1とによってのみ解読又は処理できるので、有利である。V1は、IPv4アドレスが使用されるかIPv6アドレスが使用されるかに依存して、CGAを生成するために使用される秘密鍵又はPKI構成で使用される秘密鍵のいずれかとすることができる。
いくつかの実施形態では、秘密鍵V2は、以下の式によって計算される。
V2=V1+SHA256(M)
したがって、所与のトランザクションのための秘密鍵V2を計算することは、受信者の秘密鍵V1と、所与のトランザクションに関連するデータ項目Mのハッシュとに基づき、データ項目Mは、デジタル資産に関する。
V2=V1+SHA256(M)
したがって、所与のトランザクションのための秘密鍵V2を計算することは、受信者の秘密鍵V1と、所与のトランザクションに関連するデータ項目Mのハッシュとに基づき、データ項目Mは、デジタル資産に関する。
ステップ512において、図1のステップ112及び114又は図4のステップ412又は414において説明したように、所与のトランザクションを完了するために検出されたUTXO内の1つ以上のアウトプットスクリプトを実行することによって、トランザクションが処理され、すなわち、デジタル資産の支払いが処理される。例えば、図4に示すように、IPv6トランザクションについてOP_RETURN <IP_Tx prefix> <IPv6_CGA(++)> <M>が検出された場合、受信者についてのデジタル資産の移転を完了するために、関係するUTXO OP_DUP OP_HASH160 <H (P2)> OP_EQUAL OP_CHECKSIGのスクリプトが実行される。
ステップ514において、次いで、データ項目Mによって表されるデジタル資産についての完了したトランザクションが、分散台帳に記憶又はポストされる。
したがって、図1、図4及び図5において提案される方法に基づいて、受信者についての支払い又はトランザクションは、安全且つ非同期的に処理でき、MITM又はメッセージリプレイのようななりすまし攻撃に対して弾力的である。非同期的な動作は、受信者がトランザクションを検査することによって、例えば、TX_IDプレフィックス又はネットワーク識別子でOP_RETURNフィールドを検査することによって実施できる。
[第3の態様-非同期的トランザクションのためのプライバシー]
第1の実施形態及び第2の実施形態において説明したような非同期的IPトランザクションによって、無関係のオブザーバは、理論的には、OP_RETURNアウトプットメッセージ、すなわちUTXOについて分散台帳を検査又は監視し、それをデジタル資産の支払いを処理するために受信者に送信される実際のトランザクション又はUTXOにリンクさせることが可能になり得る。これらのアウトプットは、受信者がOP-RETURNの使用不可能なトランザクションにアクセスし得るのと同様の方法で、オブザーバがデータ項目Mにアクセスできる可能性があるので、分散台帳においてプライベートではない。したがって、第3の態様は、悪意のある者による詮索を回避するために、トランザクションを不明瞭にする方法を提案する。第3の態様では、デジタル資産を有する受信者についてのトランザクション、すなわち、データ項目Mによって表されるトランザクションは、2つの異なるトランザクションに分割され、別々に不明瞭にされる。第3の態様は、受信者についてのIPv4及びIPv6の双方のIPアドレスに関する。
第1の実施形態及び第2の実施形態において説明したような非同期的IPトランザクションによって、無関係のオブザーバは、理論的には、OP_RETURNアウトプットメッセージ、すなわちUTXOについて分散台帳を検査又は監視し、それをデジタル資産の支払いを処理するために受信者に送信される実際のトランザクション又はUTXOにリンクさせることが可能になり得る。これらのアウトプットは、受信者がOP-RETURNの使用不可能なトランザクションにアクセスし得るのと同様の方法で、オブザーバがデータ項目Mにアクセスできる可能性があるので、分散台帳においてプライベートではない。したがって、第3の態様は、悪意のある者による詮索を回避するために、トランザクションを不明瞭にする方法を提案する。第3の態様では、デジタル資産を有する受信者についてのトランザクション、すなわち、データ項目Mによって表されるトランザクションは、2つの異なるトランザクションに分割され、別々に不明瞭にされる。第3の態様は、受信者についてのIPv4及びIPv6の双方のIPアドレスに関する。
図6aは、送信者によって実施される方法に関するものであり、デジタル資産に関する非同期的IPトランザクションのためのプライバシーを増強する方法について説明する。
ステップ602aにおいて、第1の態様及び第2の態様について既に説明したように、受信者についての公開鍵P1が取得される。
ステップ604aにおいて、受信者の公開鍵P1に基づいて、第1のトランザクションTX1に関する第1の公開鍵P21が計算される。この第1のトランザクションは、データ項目Mによって表されるデジタル資産に関連してもよい。第1の公開鍵P21は、図1のステップ108又は図4のステップ408のいずれかで説明したように計算されてもよい。
ステップ606aにおいて、第1の公開鍵P21に基づく受信者についての第1の支払い先アドレスは、第1のトランザクションTX1について計算される。この計算は、図1のステップ110又は図4のステップ410に関して説明した計算と同様でもよく、受信者のネットワークアドレスに基づいて、支払い先アドレスとしてP2PKH値を識別する。
ステップ608aにおいて、TX1のための第1のセッション鍵K1が計算され、第1のセッション鍵は、第1のトランザクションのための第1の公開鍵P21と、第1の公開鍵P21に関連する第1の秘密鍵V21と、受信者に関連する公開鍵P1とに基づく。有利なことに、このセッション鍵K1は、安全な方式でTX1に関するデータを不明瞭にするために使用できる。その理由は、一回限りの計算された公開鍵に関係しており、受信者の元の公開鍵P1又は取得された公開鍵P1を直接使用しないためであり、悪意のある者による傍受をより困難にする。
したがって、K1は以下の式によって計算されてもよい。
K1=V21×P1
ステップ610aにおいて、第1のトランザクションTX1に関連するデータ項目Mは、第1のセッション鍵K1で暗号化され、ステップ612aにおいて、暗号化されたデータ項目Mと、ステップ606aからの第1の支払い先アドレスとに基づいて、第1のトランザクションTX1のための第1のアウトプットスクリプトが生成される。
K1=V21×P1
ステップ610aにおいて、第1のトランザクションTX1に関連するデータ項目Mは、第1のセッション鍵K1で暗号化され、ステップ612aにおいて、暗号化されたデータ項目Mと、ステップ606aからの第1の支払い先アドレスとに基づいて、第1のトランザクションTX1のための第1のアウトプットスクリプトが生成される。
ステップ614aにおいて、ステップ612aにおけるアウトプットスクリプトに基づくUTXOが、分散台帳に提供される。例えば、第1のトランザクションTX1について、UTXO(アウトプット)は以下のように与えられてもよく、ここで、ネットワーク識別子は、IPv6が使用される場合には<IPv6_CGA(++)>とすることができ、或いは、IPv4が使用される場合には<Domain_Name>とすることができる。
ステップ618aにおいて、第2の公開鍵P22に基づく受信者についての第2の支払い先アドレスが、第2のトランザクションTX2について計算される。この計算は、図1のステップ110又は図4のステップ410に関して説明した計算と同様でもよく、TX2についての支払い先アドレスとしてP2PKH値を識別する。
ステップ620aにおいて、TX2のための第2のセッション鍵K2が計算され、第2のセッション鍵は、第2のトランザクションのための第2の公開鍵P22と、第2の公開鍵P22に関連する第2の秘密鍵V22と、受信者に関連する公開鍵P1とに基づく。有利なことに、このセッション鍵K2は、安全な方式でTX2に関するデータを安全に不明瞭にするために使用できる。その理由は、一回限りの計算された公開鍵に関係しており、受信者の元の鍵P1を直接使用しないためであり、悪意のある者による傍受をより困難にする。したがって、K2は以下によって計算されてもよい。
K2=V22×P1
ここで、K2=K1である。
K2=V22×P1
ここで、K2=K1である。
ステップ622aにおいて、第1のトランザクションTX1に関連するデータ項目Mは、第2のセッション鍵K2で暗号化される。したがって、第2のトランザクションは第1のトランザクションに関係する。
ステップ624aにおいて、暗号化されたデータ項目Mと、ステップ618aからの第2の支払い先アドレスとに基づいて、第2のトランザクションTX2のための第2のアウトプットスクリプトが生成される。第2のトランザクションのアウトプットスクリプトは、使用不可能なアウトプット、すなわち、第1のトランザクションTX1を識別するOP_RETURNである。
ステップ626aにおいて、ステップ624aにおけるアウトプットスクリプトに基づく使用不可能なアウトプットが、分散台帳に提供される。使用不可能なアウトプットは以下に示される。
上記のように、第3の態様は、デジタル資産に基づくIPトランザクションのためのUTXOを2つの別々のトランザクションに分割することによって、プライバシーの増強を可能にし、各トランザクションは、送信者によって計算でき且つそれぞれのトランザクションに関する一回限りの生成された公開/秘密鍵ペアに基づくセッション鍵によって不明瞭にされる。
図6bも第3の態様に関するものであるが、受信者に関連する1つ以上のプロセッサによって実施される。
ステップ602bは、受信者に関連する公開鍵P1を提供することに関し、公開鍵は、信頼機関によって発行された証明書に更に関連する。
ステップ604bは、受信者に関連する1つ以上の未使用トランザクションアウトプット(unspent transaction output, UTXO)について分散台帳を照会又は監視することに関する。これは図5のステップ504と同様である。
図5のステップ506と同様に、ステップ606bは、受信者についての少なくとも1つのUTXOが分散台帳に存在するか否かを検出することに関する。受信者についてのUTXOは、図6aの方法に基づいて提供される(ステップ614a及び626aを参照する)。
ステップ608bにおいて、受信者に関連する少なくとも1つのUTXOを検出し、少なくとも1つのUTXOの中の検出されたUTXOが所与のトランザクションに関することに応じて、UTXOに関連するトランザクション毎に、秘密鍵V2(上記のようにV21又はV22でもよい)が計算される。これは、図6aに記載のように、TX1及びTX2のそれぞれのために計算されている秘密鍵に関係してもよい。簡単にするために、1つの秘密鍵V2のみが図6aにおいて説明される。いくつかの実施形態では、秘密鍵V2は、所与のトランザクションのための公開鍵P2に関連する。いくつかの実施形態では、この鍵は、図5のステップ510において説明したのと同様の方式で計算されてもよい。
ステップ610bにおいて、セッション鍵K1、K2は、各トランザクションTX1又はTX2について計算され、セッション鍵は、各トランザクションに関連する公開鍵及び秘密鍵P2、V2と、受信者に関連する公開鍵P1とに基づく。この計算は、図6aに関して説明しセッション鍵K1及びK2の計算と同様である。
ステップ612bにおいて、デジタル資産に関し且つ検出されたUTXO内の所与のトランザクションに関連するデータ項目M(使用可能なUTXO又は使用不可能なOP_RETURN)が、セッション鍵K1、K2を使用して解読される。したがって、意図した受信者のみが、セッション鍵を計算し、トランザクション内のデータ項目Mを解読できる。例えば、データ項目MをTX1についてのUTXO内のデータ項目にリンクさせる使用不可能なTX2 OP_RETURNは、Mを識別するために解読される必要があり、次にこれはTX1のためのUTXOを識別するためにのみ使用できる。したがって、他の無関係なオブザーバは、データ項目Mを解読できない可能性があるので、2つのトランザクションを相互にリンクさせることができない。
解読されると、ステップ614bにおいて、検出されたUTXO内の1つ以上のアウトプットスクリプトが、解読されたデータ項目Mに基づいて実行され、それぞれのトランザクションを完了し、ステップ616bにおいて、完了したトランザクションが、分散台帳に記憶される。
[第4の態様-IPv6アドレスを使用した同期的又はオンラインIPトランザクション]
IPv6の暗号化生成アドレス(Cryptographically Generated Address, CGA)の使用によって、既に説明したように、CGAが生成されて運用される方法の特徴として認証を行うことができる。第4の態様は、このような「内蔵型」認証が、送信者と受信者との間の安全な通信チャネルにおいて機密性を提供するようなデジタル資産のIPトランザクションを実現するように拡張できることを提案する。
IPv6の暗号化生成アドレス(Cryptographically Generated Address, CGA)の使用によって、既に説明したように、CGAが生成されて運用される方法の特徴として認証を行うことができる。第4の態様は、このような「内蔵型」認証が、送信者と受信者との間の安全な通信チャネルにおいて機密性を提供するようなデジタル資産のIPトランザクションを実現するように拡張できることを提案する。
図7aは、送信者に関連する1つ以上のプロセッサによって実施された場合の第4の態様による方法を議論する。
ステップ702aは、受信者についてのネットワークアドレスを取得することに関し、当該ネットワークアドレスは、受信者についての公開鍵及びデジタル署名と組み合わせて生成される。いくつかの実施形態では、このステップはステップ402aと同様である。この実施形態では、ネットワーク識別子はCGA又はCGA++であり、公開鍵P1はCGAの暗号鍵ペアの一部である。V1はペアの秘密鍵でもよい。
ステップ704aにおいて、ネットワークアドレスがデジタル資産を受け付けることができるか否かが決定される。いくつかの実施形態では、これは、受信者がそのCGAに基づいてデジタル資産を受け付けることができることを示す受信者アドレスを求めて、DNSのようなディレクトリレコード内のフラグ又は識別子の存在を検出することに関係してもよい。このような表示が存在しない場合、或いは、受信者アドレスがデジタル資産を受け付けないという表示が存在する場合、当該プロセスはステップ706aにおいて中止される。
ステップ708aにおいて、ステップ704aにおける決定が成功したことに応じて、送信者と受信者との間に安全な通信チャネルが確立される。いくつかの実施形態では、これはIPSECによって実現される。IPSECは3つの主なプロトコル、すなわち、セキュリティアソシエーション(Security Associations, SA)、認証ヘッダ(Authentication Headers, AH)及びカプセル化セキュリティペイロード(Encapsulating Security Payloads, ESP)を含む。SAプロトコルは、AH及び/又はESPプロトコルに必要なアルゴリズム及びデータ交換のバンドルを提供するために使用される。AHは、送信されるデータの認証及び完全性を保証するために使用され、ESPは、データの機密性を提供することに加えて、AHが提供する全てのものを含む。安全な通信チャネルには、AH又はESPのいずれかが使用されてもよい。ステップ708aにおいて、AH又はESPのいずれかが使用されてもよい。いくつかの実施形態では、これは、CGAに関する鍵P1、V1に基づいてもよく、これは、いくつかの実施形態では、セッション鍵Kを導出するために使用されてもよい。いくつかの実施形態では、この導出は、例えばDiffie-Hellman又はRSAを通じて行われてもよい。
ステップ710aは、送信者が確立された安全なチャネルを介して受信者から一回限りの支払い先アドレスを明示的に要求することに関する。これは受信者によって提供されたP2PKHアドレスの要求でもよく、これはIPアドレスに基づく。したがって、当該方法は、このような相互作用がセッション鍵Kを使用して保護される安全な通信チャネルを介するので、安全な方式の相互作用である。図7aにおける実施形態は、公開鍵に基づくP2PKH支払い先に基づく実施形態を説明するが、本開示は、これに限定されない。支払い先が生成できる基礎となる受信者についてのデジタル資産トランザクションのために生成された公開テンプレートの使用も可能である。この実施形態におけるこの公開鍵P1は、暗号鍵に限定されないことが理解される。参照を容易にするために、図7aは、公開鍵を使用する実施形態を参照する。
ステップ712aにおいて、図4のステップ412と同様に、支払い先の取得に応じて、デジタル資産に関するトランザクションのためのアウトプットスクリプトが生成される。
ステップ714aにおいて、次いで、生成されたアウトプットスクリプトが、ステップ710aにおいて安全なチャネルを介して送信者に提供された支払い先に直接送信される。
図7bはまた、本開示の第4の態様を議論しているが、受信者に関連する1つ以上のプロセッサによる実施に関するものである。
ステップ702bにおいて、送信者からの問い合わせに応じて、デジタル資産を受け付けるための受信者のネットワークアドレスが提供され、ネットワークアドレスは、受信者についての公開鍵P1及びデジタル署名と組み合わせて生成されるGCAである。V1はP1に関する秘密鍵を表してもよい。
ステップ704bにおいて、送信者と受信者との間の安全な通信チャネルが確立される。これは、ステップ708aと同様でもよく、すなわち、セッション鍵Kに基づいてもよい。
ステップ706bは、受信者についての一回限りの支払い先アドレスを生成することに関する。いくつかの実施形態では、これは、受信者についての公開鍵P1とは異なる一回限りの公開鍵に基づいて生成されてもよい。支払い先アドレスはP2PKHアドレスでもよい。ステップ708bにおいて、このアドレスは、安全な通信チャネル上で送信者に送信される。図7bの実施形態は、一回限りの公開鍵に基づくP2PKH支払い先について説明するが、本開示はこれに限定されない。受信者についてのデジタル資産トランザクションのために生成された公開テンプレートの使用も可能であり、それに基づいて支払い先が生成できる。しかし、参照を容易にするために、図7bは、公開鍵P1を使用する実施形態を参照する。
ステップ710bは、送信者からデジタル資産に関するトランザクションのためのアウトプットスクリプトを取得することに関し、アウトプットスクリプトは、直接、支払い先アドレスにおいて受信されるか或いは支払い先アドレスに関連付けられる。
ステップ712bは、ステップ710bにおいて受信したアウトプットスクリプトを実行することによって、デジタル資産に関する支払いを処理することに関し、ステップ714bにおいて、処理された支払いに基づく完了したトランザクションが、分散台帳に作成される。
[第5の態様-IPv6アドレスについてのドメイン名に基づくIPトランザクション]
第5の態様は、IPv6アドレス(CGA又はCGA++)に関連するドメイン名又はネットワーク識別子に対してデジタル資産の支払いを直接送信するための技術を検討する。第5の態様は、ドメイン名に対応するIPv6アドレスを解決することを提案する。有利なことに、第5の態様は、IPアドレスではなく、ドメイン名又は受信者への直接的なデジタル資産の支払いを可能にする。
第5の態様は、IPv6アドレス(CGA又はCGA++)に関連するドメイン名又はネットワーク識別子に対してデジタル資産の支払いを直接送信するための技術を検討する。第5の態様は、ドメイン名に対応するIPv6アドレスを解決することを提案する。有利なことに、第5の態様は、IPアドレスではなく、ドメイン名又は受信者への直接的なデジタル資産の支払いを可能にする。
図8は、送信者に関連する1つ以上のプロセッサによるその実施に関する第5の態様を議論する。
ステップ802は、受信者についてのネットワークアドレスを解決するために、受信者のドメイン名のようなネットワーク識別子に基づいて、DNSのようなディレクトリを照会することに関する。いくつかの実施形態では、ネットワークアドレスは、受信者についての公開鍵P1に関連するCGA又はCGA++アドレスである。
ステップ804は、受信者のネットワーク識別子が、受信者についての解決されたネットワークアドレスに関連するネットワーク識別子に対応することを検証することに関する。いくつかの実施形態では、これは、ドメイン名にリンクされた受信者の認証に関する。いくつかの実施形態では、これは、ステップ802におけるドメイン名が、ステップ802において解決されたCGAに関連する拡張フィールドに存在するドメイン名と同じであるか否かを検査することによって検証されてもよい。
ステップ806において、ステップ804における検証が成功したことに応じて、ステップ404以降の図4の第2の態様の方法が、非同期的な実装について実行されるか、或いは、ステップ704a以降の図7aに関する第4の態様の方法が、相互作用の実装について実行される。
次に図9を参照すると、本開示の少なくとも1つの実施形態を実施するために使用され得る計算デバイス2600の簡略化したブロック図が例として提供される。様々な実施形態では、計算デバイス2600は、上記に示して説明した実施システムのいずれかを実装するために使用されてもよい。例えば、計算デバイス2600は、1つ以上のプロセッサによって実装されてもよい送信者又は受信者エンティティのようなエンティティ又はノードとして使用するために、或いは、送信者又は受信者エンティティのためのサーバの提供の役目をするホストを実装するように構成されてもよい。図9に示すように、計算デバイス2600は、1つ以上のレベルのキャッシュメモリを有する1つ以上のプロセッサと、メインメモリ2608及び永続ストレージ2610を含む記憶サブシステム2606と通信するように構成できるメモリコントローラ(併せて2602とラベル付けされる)とを含んでもよい。メインメモリ2608は、図示のように、ダイナミックランダムアクセスメモリ(DRAM)2618及び読み取り専用メモリ(ROM)2620を含んでもよい。記憶サブシステム2606及びキャッシュメモリ2602は、本開示に記載のトランザクション及びブロックに関連する詳細のような情報の記憶のために使用されてもよい。プロセッサ2602は、本開示に記載のいずれかの実施形態のステップ又は機能を提供するために利用されてもよい。
プロセッサ2602はまた、1つ以上のユーザインタフェース入力デバイス2612、1つ以上のユーザインタフェース出力デバイス2614及びネットワークインタフェースサブシステム2616と通信できる。
バスサブシステム2604は、計算デバイス2600の様々な構成要素及びサブシステムが、意図したように相互に通信することを可能にする機構を提供してもよい。バスサブシステム2604は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用してもよい。
ネットワークインタフェースサブシステム2616は、他の計算デバイス及びネットワークへのインタフェースを提供してもよい。ネットワークインタフェースサブシステム2616は、他のシステムからデータを受信し、計算デバイス2600から他のシステムにデータを送信するためのインタフェースとして機能してもよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、データセンタのような遠隔地にいる間に、データをデバイスに送信し、デバイスからデータを受信することができるように、デバイスをネットワークに接続することを可能にしてもよい。
ユーザインタフェース入力デバイス2612は、キーボードのような1つ以上のユーザ入力デバイスと、統合マウス、トラックボール、タッチパッド又はグラフィックスタブレットのようなポインティングデバイスと、スキャナと、バーコードスキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム、マイクロフォンのようなオーディオ入力デバイスと、他のタイプの入力デバイスとを含んでもよい。一般的に、「入力デバイス」という用語の使用は、情報を計算デバイス2600に入力するための全ての可能な種類のデバイス及び機構を含むことを意図する。
1つ以上のユーザインタフェース出力デバイス2614は、表示サブシステム、プリンタ、又はオーディオ出力デバイス等のような非視覚的ディスプレイを含んでもよい。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイのようなフラットパネルデバイス、又は投影若しくは他の表示デバイスでもよい。一般的に、「出力デバイス」という用語の使用は、計算デバイス2600から情報を出力するための全ての可能な種類のデバイス及び機構を含むことを意図する。1つ以上のユーザインタフェース出力デバイス2614は、例えば、ユーザ相互作用が適切になり得るときに、ここに記載のプロセス及びその変形を実行するアプリケーションとのユーザ相互作用を実現するように、ユーザインタフェースを提示するために使用されてもよい。
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供し得る基本的なプログラミング及びデータ構成を記憶するためのコンピュータ読み取り可能記憶媒体を提供してもよい。アプリケーション(プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されたとき、本開示の1つ以上の実施形態の機能を提供してもよく、記憶サブシステム2606に記憶されてもよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてもよい。記憶サブシステム2606は、本開示に従って使用されるデータを記憶するためのリポジトリを更に提供してもよい。例えば、メインメモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性ストレージを提供できる。永続ストレージ2610は、プログラム及びデータのための永続的な(不揮発性)ストレージを提供でき、フラッシュメモリと、1つ以上のソリッドステートドライブと、1つ以上の磁気ハードディスクドライブと、関連する取り外し可能媒体を有する1つ以上のフロッピーディスクドライブと、関連する取り外し可能媒体を有する1つ以上の光ドライブ(例えば、CD-ROM又はDVD又はブルーレイ)ドライブと、他の同様の記憶媒体とを含んでもよい。このようなプログラム及びデータは、本開示に記載の1つ以上の実施形態のステップを実行するためのプログラムと、本開示に記載のトランザクション及びブロックに関連するデータとを含むことができる。
計算デバイス2600は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、又は以下に記載のいずれかの他のデバイスを含む、様々な種類のものでもよい。さらに、計算デバイス2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、ライトニングコネクタ等)を通じて計算デバイス2600に接続され得る他のデバイスを含んでもよい。計算デバイス2600に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含んでもよい。したがって、このデバイスは、光信号を電気信号に変換するように構成されてもよく、電気信号は、処理のために当該デバイスを計算デバイス2600に接続するポートを通じて送信されてもよい。コンピュータ及びネットワークの絶えず変化する性質のため、図9に示す計算デバイス2600の説明は、デバイスの好ましい実施形態を説明する目的のための特定の例としてのみ意図されている。図9に示すシステムよりも多くの構成要素又は少ない構成要素を有する多くの他の構成が可能である。
[例示的な実施形態の列挙]
本開示は、上記の態様に関する以下の項目に基づいてここで議論されている。以下の項目は、特許請求の範囲に記載の態様及び実施形態をより良く説明、記載及び理解するための例示的な実施形態としてここに提供される。
本開示は、上記の態様に関する以下の項目に基づいてここで議論されている。以下の項目は、特許請求の範囲に記載の態様及び実施形態をより良く説明、記載及び理解するための例示的な実施形態としてここに提供される。
1.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵P1が前記受信者の前記ネットワーク識別子に関連することを検証するステップと、
前記検証が成功したことに応じて、前記取得された公開鍵に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションはデジタル資産に関連する、ステップと、
前記更なる公開鍵(P2)に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵P1が前記受信者の前記ネットワーク識別子に関連することを検証するステップと、
前記検証が成功したことに応じて、前記取得された公開鍵に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションはデジタル資産に関連する、ステップと、
前記更なる公開鍵(P2)に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。
2.前記アウトプットスクリプトは、前記受信者の前記ネットワーク識別子への参照を含む、項目1に記載の方法。
3.前記ネットワーク識別子は、前記受信者のドメイン名であり、前記ドメイン名は、前記送信者に知られているか、或いは、前記送信者に知られている前記受信者のネットワークアドレスから取得される、項目1又は2に記載の方法。
4.前記取得された公開鍵P1は、秘密鍵V1を含む暗号鍵ペアの一部であり、その結果、ネットワーク識別子に関連する1つ以上のレコードは、前記秘密鍵V1で暗号化される、項目1乃至3のうちいずれか1項に記載の方法。
5.前記取得された公開鍵P1は、前記取得された公開鍵P1を前記受信者の前記ネットワーク識別子に関連付けるために、信頼機関(CA)によってデジタル署名され、前記取得された公開鍵P1を検証するステップは、前記信頼機関に関連する他の公開鍵に基づいて実行される、項目1乃至4のうちいずれか1項に記載の方法。
6.前記ネットワーク識別子は、前記受信者に関連するネットワークアドレスであり、前記取得された公開鍵P1は、前記ネットワークアドレスに関連する鍵交換情報に基づく、項目1に記載の方法。
7.前記取得された公開鍵P1を検証するステップは、前記ネットワークアドレスについて信頼機関(CA)によって発行された証明書に基づいて実行される、項目6に記載の方法。
8.複数のネットワーク識別子に関するデータベースにアクセスするステップと、
前記受信者の前記ネットワーク識別子に関連するレコードを識別するステップと、
前記レコード内に存在するセキュリティインジケータに基づいて前記ネットワーク識別子の真正性を検証するステップと
を更に含む、項目1乃至7のうちいずれか1項に記載の方法。
前記受信者の前記ネットワーク識別子に関連するレコードを識別するステップと、
前記レコード内に存在するセキュリティインジケータに基づいて前記ネットワーク識別子の真正性を検証するステップと
を更に含む、項目1乃至7のうちいずれか1項に記載の方法。
9.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを決定するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵P1に関連する、ステップと、
前記ネットワークアドレスが前記受信者のために生成され、前記受信者に固有であることを検証するステップと、
前記検証が成功したことに応じて、前記公開鍵P1又は前記受信者に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションは、デジタル資産に関連する、ステップと、
前記更なる公開鍵P2に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。
前記受信者についてのネットワークアドレスを決定するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵P1に関連する、ステップと、
前記ネットワークアドレスが前記受信者のために生成され、前記受信者に固有であることを検証するステップと、
前記検証が成功したことに応じて、前記公開鍵P1又は前記受信者に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションは、デジタル資産に関連する、ステップと、
前記更なる公開鍵P2に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。
10.前記アウトプットスクリプトは、前記受信者のネットワーク識別子への参照を含む、項目9に記載の方法。
11.前記受信者についての前記ネットワークアドレスは、前記公開鍵P1を含む暗号鍵ペアから導出された暗号化生成アドレス(CGA)であり、対応する秘密鍵V1は、前記受信者に関連する、項目9又は10に記載の方法。
12.前記ネットワークアドレスを検証するステップは、前記受信者との安全な通信チャネルを確立するために信頼機関(CA)によって提供されるデジタル署名に基づく、項目9又は10に記載の方法。
13.前記ネットワークアドレスを検証するステップは、前記受信者についてのCGAを生成するために使用されるハッシュ関数に含まれる秘密鍵V2のデジタル署名に基づく、項目9乃至11のうちいずれか1項に記載の方法。
14.更なる公開鍵P2を計算するステップは、
結果を取得するために、前記所与のトランザクションに関連するデータ項目Mにセキュアハッシュ関数を適用するステップであり、前記データ項目Mは、前記受信者に提供される前記デジタル資産に関する、ステップと、
前記受信者についての前記公開鍵P1を前記結果に関連付けるステップと
を含む、項目1乃至13のうちいずれか1項に記載の方法。
結果を取得するために、前記所与のトランザクションに関連するデータ項目Mにセキュアハッシュ関数を適用するステップであり、前記データ項目Mは、前記受信者に提供される前記デジタル資産に関する、ステップと、
前記受信者についての前記公開鍵P1を前記結果に関連付けるステップと
を含む、項目1乃至13のうちいずれか1項に記載の方法。
15.前記支払い先アドレスを計算するステップは、
前記更なる公開鍵P2のダブルハッシュ関数を適用することに基づいて、支払い公開鍵ハッシュ(P2PKH)値を計算するステップを含むか、或いは、
支払い先を計算するステップは、
デジタル資産トランザクションのための前記受信者についての公開テンプレートに関連するカスタムスクリプトに基づく、項目1乃至14のうちいずれか1項に記載の方法。
前記更なる公開鍵P2のダブルハッシュ関数を適用することに基づいて、支払い公開鍵ハッシュ(P2PKH)値を計算するステップを含むか、或いは、
支払い先を計算するステップは、
デジタル資産トランザクションのための前記受信者についての公開テンプレートに関連するカスタムスクリプトに基づく、項目1乃至14のうちいずれか1項に記載の方法。
16.前記UTXOを前記分散台帳に提供するステップは、
前記所与のトランザクションについての前記受信者のネットワーク識別子又はネットワークアドレスを含むロッキングスクリプトを有する更なる使用不可能なアウトプットを提供するステップを含む、項目1乃至15のうちいずれか1項に記載の方法。
前記所与のトランザクションについての前記受信者のネットワーク識別子又はネットワークアドレスを含むロッキングスクリプトを有する更なる使用不可能なアウトプットを提供するステップを含む、項目1乃至15のうちいずれか1項に記載の方法。
17.セッション鍵K1を計算するステップであり、前記セッション鍵は、前記所与のトランザクションのための前記更なる公開鍵P2と、前記更なる公開鍵に関連する秘密鍵V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記セッション鍵K1で前記所与のトランザクションのデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと
を含み、
前記アウトプットスクリプトは、前記暗号化されたデータ項目Mに基づいて生成される、項目1乃至16のうちいずれか1項に記載の方法。
前記セッション鍵K1で前記所与のトランザクションのデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと
を含み、
前記アウトプットスクリプトは、前記暗号化されたデータ項目Mに基づいて生成される、項目1乃至16のうちいずれか1項に記載の方法。
18.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵に基づいて、第1のトランザクションTX1に関する第1の公開鍵P21を計算するステップであり、前記第1のトランザクションTX1は、デジタル資産に関連する、ステップと、
前記第1の公開鍵P21に基づいて前記受信者についての第1の支払い先アドレスを計算するステップと、
第1のセッション鍵K1を計算するステップであり、前記第1のセッション鍵は、前記第1のトランザクションについての前記第1の公開鍵P21と、前記第1の公開鍵P21に関連する第1の秘密鍵V21と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第1のセッション鍵K1で前記第1のトランザクションTX1に関連するデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと、
前記暗号化されたデータ項目Mと、前記第1の支払い先アドレスとに基づいて、前記第1のトランザクションTX2についての第1のアウトプットスクリプトを生成するステップと、
前記第1のアウトプットスクリプトに基づいて、未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと、
前記取得された公開鍵P1に基づいて、第2のトランザクションTX2に関する第2の公開鍵P22を計算するステップであり、前記第2のトランザクションは、前記第1のトランザクションの前記UTXOに関連する、ステップと、
前記第2の公開鍵P22に基づいて前記受信者についての第2の支払い先アドレスを計算するステップと、
第2のセッション鍵K2を計算するステップであり、前記第2のセッション鍵K2は、前記第2のトランザクションのための前記第2の公開鍵P22と、前記第2の公開鍵P22に関連する第2の秘密鍵V22と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第2のセッション鍵K2で前記第1のトランザクションTX1に関連する前記データ項目Mを暗号化するステップと、
前記暗号化されたデータ項目Mと、前記第2の支払い先とに基づいて第2のアウトプットスクリプトを生成するステップと、
前記第2のアウトプットスクリプトを前記分散台帳に提供するステップであり、前記第2のアウトプットは、使用不可能なアウトプットである、ステップと
を含む方法。
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵に基づいて、第1のトランザクションTX1に関する第1の公開鍵P21を計算するステップであり、前記第1のトランザクションTX1は、デジタル資産に関連する、ステップと、
前記第1の公開鍵P21に基づいて前記受信者についての第1の支払い先アドレスを計算するステップと、
第1のセッション鍵K1を計算するステップであり、前記第1のセッション鍵は、前記第1のトランザクションについての前記第1の公開鍵P21と、前記第1の公開鍵P21に関連する第1の秘密鍵V21と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第1のセッション鍵K1で前記第1のトランザクションTX1に関連するデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと、
前記暗号化されたデータ項目Mと、前記第1の支払い先アドレスとに基づいて、前記第1のトランザクションTX2についての第1のアウトプットスクリプトを生成するステップと、
前記第1のアウトプットスクリプトに基づいて、未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと、
前記取得された公開鍵P1に基づいて、第2のトランザクションTX2に関する第2の公開鍵P22を計算するステップであり、前記第2のトランザクションは、前記第1のトランザクションの前記UTXOに関連する、ステップと、
前記第2の公開鍵P22に基づいて前記受信者についての第2の支払い先アドレスを計算するステップと、
第2のセッション鍵K2を計算するステップであり、前記第2のセッション鍵K2は、前記第2のトランザクションのための前記第2の公開鍵P22と、前記第2の公開鍵P22に関連する第2の秘密鍵V22と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第2のセッション鍵K2で前記第1のトランザクションTX1に関連する前記データ項目Mを暗号化するステップと、
前記暗号化されたデータ項目Mと、前記第2の支払い先とに基づいて第2のアウトプットスクリプトを生成するステップと、
前記第2のアウトプットスクリプトを前記分散台帳に提供するステップであり、前記第2のアウトプットは、使用不可能なアウトプットである、ステップと
を含む方法。
19.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連するUTXOを検出し、前記検出されたUTXOが所与のトランザクションに関することに応じて、前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
前記所与のトランザクションを完了するために、前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行することによって、デジタル資産を処理するか、或いは、前記デジタル資産の移転を処理するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連するUTXOを検出し、前記検出されたUTXOが所与のトランザクションに関することに応じて、前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
前記所与のトランザクションを完了するために、前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行することによって、デジタル資産を処理するか、或いは、前記デジタル資産の移転を処理するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。
20.前記分散台帳を照会又は監視するステップは、前記ネットワーク識別子及び/又は前記受信者の支払い先アドレスに関連する1つ以上のUTXOを照会又は監視するステップを含む、項目19に記載の方法。
21.前記検出されたUTXOのための前記秘密鍵を計算するステップは、
前記受信者に関連する秘密鍵V1を取得するステップであり、前記秘密鍵は、前記受信者の前記公開鍵P1に関連する暗号鍵ペアの一部である、ステップと、
前記受信者の前記秘密鍵V1と、前記所与のトランザクションに関連するデータ項目Mのハッシュとに基づいて、前記所与のトランザクションのための前記秘密鍵V2を計算するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと
を含む、項目19又は20に記載の方法。
前記受信者に関連する秘密鍵V1を取得するステップであり、前記秘密鍵は、前記受信者の前記公開鍵P1に関連する暗号鍵ペアの一部である、ステップと、
前記受信者の前記秘密鍵V1と、前記所与のトランザクションに関連するデータ項目Mのハッシュとに基づいて、前記所与のトランザクションのための前記秘密鍵V2を計算するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと
を含む、項目19又は20に記載の方法。
22.前記分散台帳を照会又は監視するステップは、前記受信者に関連する1つ以上の使用不可能なアウトプットについて前記分散台帳を監視するステップを含み、前記更なるアウトプットは、前記検出されたUTXOに関係する、項目19乃至21のうちいずれか1項に記載の方法。
23.前記1つ以上のUTXOは、項目1乃至17のうちいずれか1項に記載の方法に従って、前記送信者によって前記分散台帳に提供される、項目19乃至22のうちいずれか1項に記載の方法。
24.セッション鍵K1を計算するステップであり、前記セッション鍵は、前記所与のトランザクションに関連する前記公開鍵及び秘密鍵P2、V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップを含み、
1つ以上のアウトプットスクリプトを実行するステップは、前記セッション鍵K1を使用して前記1つ以上のアウトプットスクリプト内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップを含む、項目19乃至23のうちいずれか1項に記載の方法。
1つ以上のアウトプットスクリプトを実行するステップは、前記セッション鍵K1を使用して前記1つ以上のアウトプットスクリプト内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップを含む、項目19乃至23のうちいずれか1項に記載の方法。
25.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵P1は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連する少なくとも1つのUTXOを検出し、前記少なくとも1つのUTXOの中の検出されたUTXOが所与のトランザクションに関係することに応じて、
前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
セッション鍵K1、K2を計算するステップであり、前記セッション鍵は、前記所与のトランザクションに関連する前記公開鍵及び秘密鍵P2、V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記セッション鍵K1、K2を使用して、前記検出されたUTXO内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと、
前記所与のトランザクションを完了するために、前記解読されたデータ項目Mに基づいて前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵P1は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連する少なくとも1つのUTXOを検出し、前記少なくとも1つのUTXOの中の検出されたUTXOが所与のトランザクションに関係することに応じて、
前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
セッション鍵K1、K2を計算するステップであり、前記セッション鍵は、前記所与のトランザクションに関連する前記公開鍵及び秘密鍵P2、V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記セッション鍵K1、K2を使用して、前記検出されたUTXO内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと、
前記所与のトランザクションを完了するために、前記解読されたデータ項目Mに基づいて前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。
26.少なくとも1つのUTXOを検出するステップは、前記受信者に関連する2つのUTXOを検出するステップを含み、各UTXOは、それぞれのトランザクションに関し、各UTXOは暗号化されたデータ項目Mに関連し、前記UTXOのうちの1つは、使用不可能なアウトプットであり、その結果、前記使用不可能なアウトプットは、前記デジタル資産の移転のために使用可能なアウトプットに関連する他のUTXOを識別するために使用される、項目25に記載の方法。
27.複数のネットワーク識別子に関するディレクトリ内に前記受信者についてのレコードを作成するステップと、
前記受信者の前記ネットワーク識別子に関連するセキュリティインジケータで、前記レコード内のエントリを更新するか或いは含めるステップであり、前記セキュリティインジケータは、前記ネットワーク識別子の真正性を検証するために提供される、ステップと
を含む、項目19乃至26のうちいずれか1項に記載の方法。
前記受信者の前記ネットワーク識別子に関連するセキュリティインジケータで、前記レコード内のエントリを更新するか或いは含めるステップであり、前記セキュリティインジケータは、前記ネットワーク識別子の真正性を検証するために提供される、ステップと
を含む、項目19乃至26のうちいずれか1項に記載の方法。
28.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを取得するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記ネットワークアドレスがデジタル資産を受け付けることができると決定するステップと、
前記決定が成功したことに応じて、前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者から支払い先アドレス又は公開テンプレートを要求するステップと、
前記支払い先を取得したことに応じて、デジタル資産に関するトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトを前記支払い先に送信するステップと
を含む方法。
前記受信者についてのネットワークアドレスを取得するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記ネットワークアドレスがデジタル資産を受け付けることができると決定するステップと、
前記決定が成功したことに応じて、前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者から支払い先アドレス又は公開テンプレートを要求するステップと、
前記支払い先を取得したことに応じて、デジタル資産に関するトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトを前記支払い先に送信するステップと
を含む方法。
29.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記送信者からの問い合わせに応じて、デジタル資産を受け付けるための前記受信者のネットワークアドレスを提供するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者についての支払い先アドレス又は公開鍵を生成するステップと、
前記支払い先アドレスを前記送信者に送信するステップと、
前記送信者からデジタル資産に関するトランザクションのためのアウトプットスクリプトを取得するステップと、
前記デジタル資産に関する支払いを処理するステップと、
前記分散台帳についての前記処理された支払いに基づいて、完了したトランザクションを作成するステップと
を含む方法。
前記送信者からの問い合わせに応じて、デジタル資産を受け付けるための前記受信者のネットワークアドレスを提供するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者についての支払い先アドレス又は公開鍵を生成するステップと、
前記支払い先アドレスを前記送信者に送信するステップと、
前記送信者からデジタル資産に関するトランザクションのためのアウトプットスクリプトを取得するステップと、
前記デジタル資産に関する支払いを処理するステップと、
前記分散台帳についての前記処理された支払いに基づいて、完了したトランザクションを作成するステップと
を含む方法。
30.前記ネットワークアドレスは、暗号化生成アドレスであり、前記安全な通信チャネルは、前記受信者に送信される全ての通信及び/又は前記受信者から受信される全ての通信を暗号化するためにセッション鍵を導出することによって確立される、項目28又は29に記載の方法。
31.前記支払い先アドレスは、前記デジタル資産についての一回限りの公開鍵のハッシュ(P2PKH)である、項目28乃至30のうちいずれか1項に記載の方法。
32.公開テンプレートは、前記受信者に関連する支払い先アドレスを取得するために前記受信者について生成されたカスタムスクリプトを含む、項目28乃至30のうちいずれか1項に記載の方法。
33.分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを解決するために、前記受信者の前記ネットワーク識別子に基づいてディレクトリを照会するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵に関連し、前記ディレクトリは、前記通信ネットワークに関連する、ステップと、
前記受信者の前記ネットワーク識別子が、前記受信者についての前記解決されたネットワークアドレスに関連するネットワーク識別子に対応することを検証するステップと、
前記検証が成功したことに応じて、所与のトランザクションについて項目7乃至17又は項目28のうちいずれか1項に記載の方法のステップを実行するステップと
を含む方法。
前記受信者についてのネットワークアドレスを解決するために、前記受信者の前記ネットワーク識別子に基づいてディレクトリを照会するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵に関連し、前記ディレクトリは、前記通信ネットワークに関連する、ステップと、
前記受信者の前記ネットワーク識別子が、前記受信者についての前記解決されたネットワークアドレスに関連するネットワーク識別子に対応することを検証するステップと、
前記検証が成功したことに応じて、所与のトランザクションについて項目7乃至17又は項目28のうちいずれか1項に記載の方法のステップを実行するステップと
を含む方法。
34.前記ネットワークアドレスは、暗号化生成アドレスであり、前記ネットワーク識別子は、前記受信者についてのドメイン名である、項目33に記載の方法。
35.前記ネットワーク識別子は、前記ネットワークアドレスに関連する拡張フィールドにおいて提供される、項目33又は34に記載の方法。
36.プロセッサと、メモリとを含む計算デバイスであって、
前記メモリは、前記プロセッサによる実行の結果として、システムに項目1乃至18、28、33乃至35のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。
前記メモリは、前記プロセッサによる実行の結果として、システムに項目1乃至18、28、33乃至35のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。
37.プロセッサと、メモリとを含む計算デバイスであって、
前記メモリは、前記プロセッサによる実行の結果として、システムに項目19乃至27又は29乃至32のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。
前記メモリは、前記プロセッサによる実行の結果として、システムに項目19乃至27又は29乃至32のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。
38.それぞれが項目36に記載の計算デバイスである1つ以上の送信者エンティティと、
それぞれが項目37に記載の計算デバイスである1つ以上の受信者エンティティと、
前記少なくとも1つの送信者エンティティと前記少なくとも1つの受信者エンティティとの間の通信を実現するための通信ネットワークと
を含むシステム。
それぞれが項目37に記載の計算デバイスである1つ以上の受信者エンティティと、
前記少なくとも1つの送信者エンティティと前記少なくとも1つの受信者エンティティとの間の通信を実現するための通信ネットワークと
を含むシステム。
39.コンピュータシステムのプロセッサによる実行の結果として、前記コンピュータシステムに項目1乃至35のうちいずれか1項に記載の方法を実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体。
上記の実施形態は、本開示を限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲により定義される本開示の範囲から逸脱することなく、多くの代替実施形態を設計できる点に留意すべきである。特許請求の範囲において、括弧内に付したいずれかの参照符号は、特許請求の範囲を限定するものと解釈されないものとする。「含む(comprising)」及び「含む(comprises)」等の用語は、全体としていずれかの請求項又は明細書に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「含む(comprises)」とは、「含む(includes)又はからなる(consists of)」を意味し、「含む(comprising)」とは、「含む(comprising)又はからなる(consisting of)」を意味する。要素の単数形の参照は、このような要素の複数形の参照を除外するものではなく、逆も同様である。本開示は、いくつかの別個の要素を含むハードウェアにより、且つ、適切にプログラムされたコンピュータにより実装されてもよい。いくつかの手段を列挙するデバイスの請求項において、これらの手段のいくつかは、1つの同じハードウェアアイテムにより具体化されてもよい。特定の手段が相互に異なる従属項に記載されているという単なる事実は、これらの手段の組み合わせが有利に利用できないことを示すものではない。
[上記の態様及び実施形態に基づく例示的なユースケース及びシナリオ]
[ウェブサーバアクセス]
上記で説明した機能は、今日のウェブサーバを使用して簡単に活用できる。ウェブサーバは、アクセスのためにクライアントに料金を請求するためにIPトランザクション機能を容易に統合できる。例えば、ウェブサーバは、ウェブサイト又はウェブサーバへの特定のアクセス又は機能を要求しているクライアントに応答するために、特定の支払いを要求してもよい。この支払いはまた、少額決済が行われることを可能にするために、決済チャネルに向けられてもよい。
[ウェブサーバアクセス]
上記で説明した機能は、今日のウェブサーバを使用して簡単に活用できる。ウェブサーバは、アクセスのためにクライアントに料金を請求するためにIPトランザクション機能を容易に統合できる。例えば、ウェブサーバは、ウェブサイト又はウェブサーバへの特定のアクセス又は機能を要求しているクライアントに応答するために、特定の支払いを要求してもよい。この支払いはまた、少額決済が行われることを可能にするために、決済チャネルに向けられてもよい。
[ローカルリンクの支払い]
IPトランザクションが有用である状況は、比較的近くの誰か又は何かに支払いを行うとき、すなわち、同じローカルネットワークリンク上で支払いをするときである。同じサブネット上でIPアドレスを見つけるために、送信者はサブネット上でping要求をブロードキャストし、アクティブなIPアドレスから応答を得ることができる。また、IPv6では、セキュア近隣探索(Secure Neighbour Discovery, SEND)プロトコルがローカルリンク上の他のネットワークノードを探索するために使用されてもよい。次いで、送信者は、IPv6に関する上記の態様のいずれかを使用して、受信者に対してデジタル資産IPトランザクションを行うことができる。これが使用できる一例は、ユーザがデジタル資産を自分に物理的に近い誰かに移転したい場合である。
IPトランザクションが有用である状況は、比較的近くの誰か又は何かに支払いを行うとき、すなわち、同じローカルネットワークリンク上で支払いをするときである。同じサブネット上でIPアドレスを見つけるために、送信者はサブネット上でping要求をブロードキャストし、アクティブなIPアドレスから応答を得ることができる。また、IPv6では、セキュア近隣探索(Secure Neighbour Discovery, SEND)プロトコルがローカルリンク上の他のネットワークノードを探索するために使用されてもよい。次いで、送信者は、IPv6に関する上記の態様のいずれかを使用して、受信者に対してデジタル資産IPトランザクションを行うことができる。これが使用できる一例は、ユーザがデジタル資産を自分に物理的に近い誰かに移転したい場合である。
[IPメッセージング]
上記のデータ項目Mは、電子メールのようないずれかのタイプのメッセージングに使用されてもよい。この手順は、第2の態様に関する上記の議論に関係しており、OP_RETURNアウトプットにおいて、データ項目Mが受信者の公開鍵を使用したMの暗号化によって置き換えられるという唯一の違いがある。これは、単にIPトランザクションに制約される必要はなく、送信者が受信者に属する公開鍵を有しており、プライベートな非相互作用的なメッセージを送信することを望むいずれかの状況に拡張できる。
上記のデータ項目Mは、電子メールのようないずれかのタイプのメッセージングに使用されてもよい。この手順は、第2の態様に関する上記の議論に関係しており、OP_RETURNアウトプットにおいて、データ項目Mが受信者の公開鍵を使用したMの暗号化によって置き換えられるという唯一の違いがある。これは、単にIPトランザクションに制約される必要はなく、送信者が受信者に属する公開鍵を有しており、プライベートな非相互作用的なメッセージを送信することを望むいずれかの状況に拡張できる。
メッセージは、例えば、第2の態様又は第3の態様に関して説明したのと同じ方法を使用して暗号化できる。メッセージはまた、非対称暗号化及び対称暗号化のハイブリッドを使用するPGP/GPG(Pretty Good Privacy/Gnu Privacy Guard)を使用して暗号化できる。何人かの電子メールユーザは、電子メールを暗号化して署名するために、既にPGP/GPGを使用しているので、これは関連し得る。
Claims (39)
- 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵P1が前記受信者の前記ネットワーク識別子に関連することを検証するステップと、
前記検証が成功したことに応じて、前記取得された公開鍵に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションはデジタル資産に関連する、ステップと、
前記更なる公開鍵(P2)に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。 - 前記アウトプットスクリプトは、前記受信者の前記ネットワーク識別子への参照を含む、請求項1に記載の方法。
- 前記ネットワーク識別子は、前記受信者のドメイン名であり、前記ドメイン名は、前記送信者に知られているか、或いは、前記送信者に知られている前記受信者のネットワークアドレスから取得される、請求項1又は2に記載の方法。
- 前記取得された公開鍵P1は、秘密鍵V1を含む暗号鍵ペアの一部であり、その結果、ネットワーク識別子に関連する1つ以上のレコードは、前記秘密鍵V1で暗号化される、請求項1乃至3のうちいずれか1項に記載の方法。
- 前記取得された公開鍵P1は、前記取得された公開鍵P1を前記受信者の前記ネットワーク識別子に関連付けるために、信頼機関(CA)によってデジタル署名され、前記取得された公開鍵P1を検証するステップは、前記信頼機関に関連する他の公開鍵に基づいて実行される、請求項1乃至4のうちいずれか1項に記載の方法。
- 前記ネットワーク識別子は、前記受信者に関連するネットワークアドレスであり、前記取得された公開鍵P1は、前記ネットワークアドレスに関連する鍵交換情報に基づく、請求項1に記載の方法。
- 前記取得された公開鍵P1を検証するステップは、前記ネットワークアドレスについて信頼機関(CA)によって発行された証明書に基づいて実行される、請求項6に記載の方法。
- 複数のネットワーク識別子に関するデータベースにアクセスするステップと、
前記受信者の前記ネットワーク識別子に関連するレコードを識別するステップと、
前記レコード内に存在するセキュリティインジケータに基づいて前記ネットワーク識別子の真正性を検証するステップと
を更に含む、請求項1乃至7のうちいずれか1項に記載の方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを決定するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵P1に関連する、ステップと、
前記ネットワークアドレスが前記受信者のために生成され、前記受信者に固有であることを検証するステップと、
前記検証が成功したことに応じて、前記公開鍵P1又は前記受信者に基づいて、所与のトランザクションに関する更なる公開鍵P2を計算するステップであり、前記所与のトランザクションは、デジタル資産に関連する、ステップと、
前記更なる公開鍵P2に基づいて前記受信者についての支払い先アドレスを計算するステップと、
前記支払い先に基づいて前記所与のトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトに基づいて未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと
を含む方法。 - 前記アウトプットスクリプトは、前記受信者のネットワーク識別子への参照を含む、請求項9に記載の方法。
- 前記受信者についての前記ネットワークアドレスは、前記公開鍵P1を含む暗号鍵ペアから導出された暗号化生成アドレス(CGA)であり、対応する秘密鍵V1は、前記受信者に関連する、請求項9又は10に記載の方法。
- 前記ネットワークアドレスを検証するステップは、前記受信者との安全な通信チャネルを確立するために信頼機関(CA)によって提供されるデジタル署名に基づく、請求項9又は10に記載の方法。
- 前記ネットワークアドレスを検証するステップは、前記受信者についてのCGAを生成するために使用されるハッシュ関数に含まれる秘密鍵V2のデジタル署名に基づく、請求項9乃至11のうちいずれか1項に記載の方法。
- 更なる公開鍵P2を計算するステップは、
結果を取得するために、前記所与のトランザクションに関連するデータ項目Mにセキュアハッシュ関数を適用するステップであり、前記データ項目Mは、前記受信者に提供される前記デジタル資産に関する、ステップと、
前記受信者についての前記公開鍵P1を前記結果に関連付けるステップと
を含む、請求項1乃至13のうちいずれか1項に記載の方法。 - 前記支払い先アドレスを計算するステップは、
前記更なる公開鍵P2のダブルハッシュ関数を適用することに基づいて、支払い公開鍵ハッシュ(P2PKH)値を計算するステップを含むか、或いは、
支払い先を計算するステップは、
デジタル資産トランザクションのための前記受信者についての公開テンプレートに関連するカスタムスクリプトに基づく、請求項1乃至14のうちいずれか1項に記載の方法。 - 前記UTXOを前記分散台帳に提供するステップは、
前記所与のトランザクションについての前記受信者のネットワーク識別子又はネットワークアドレスを含むロッキングスクリプトを有する更なる使用不可能なアウトプットを提供するステップを含む、請求項1乃至15のうちいずれか1項に記載の方法。 - セッション鍵K1を計算するステップであり、前記セッション鍵は、前記所与のトランザクションのための前記更なる公開鍵P2と、前記更なる公開鍵に関連する秘密鍵V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記セッション鍵K1で前記所与のトランザクションのデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと
を含み、
前記アウトプットスクリプトは、前記暗号化されたデータ項目Mに基づいて生成される、請求項1乃至16のうちいずれか1項に記載の方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についての公開鍵P1を取得するステップと、
前記取得された公開鍵に基づいて、第1のトランザクションTX1に関する第1の公開鍵P21を計算するステップであり、前記第1のトランザクションTX1は、デジタル資産に関連する、ステップと、
前記第1の公開鍵P21に基づいて前記受信者についての第1の支払い先アドレスを計算するステップと、
第1のセッション鍵K1を計算するステップであり、前記第1のセッション鍵は、前記第1のトランザクションについての前記第1の公開鍵P21と、前記第1の公開鍵P21に関連する第1の秘密鍵V21と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第1のセッション鍵K1で前記第1のトランザクションTX1に関連するデータ項目Mを暗号化するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップと、
前記暗号化されたデータ項目Mと、前記第1の支払い先アドレスとに基づいて、前記第1のトランザクションTX2についての第1のアウトプットスクリプトを生成するステップと、
前記第1のアウトプットスクリプトに基づいて、未使用トランザクションアウトプット(UTXO)を前記分散台帳に提供するステップと、
前記取得された公開鍵P1に基づいて、第2のトランザクションTX2に関する第2の公開鍵P22を計算するステップであり、前記第2のトランザクションは、前記第1のトランザクションの前記UTXOに関連する、ステップと、
前記第2の公開鍵P22に基づいて前記受信者についての第2の支払い先アドレスを計算するステップと、
第2のセッション鍵K2を計算するステップであり、前記第2のセッション鍵K2は、前記第2のトランザクションのための前記第2の公開鍵P22と、前記第2の公開鍵P22に関連する第2の秘密鍵V22と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記第2のセッション鍵K2で前記第1のトランザクションTX1に関連する前記データ項目Mを暗号化するステップと、
前記暗号化されたデータ項目Mと、前記第2の支払い先とに基づいて第2のアウトプットスクリプトを生成するステップと、
前記第2のアウトプットスクリプトを前記分散台帳に提供するステップであり、前記第2のアウトプットは、使用不可能なアウトプットである、ステップと
を含む方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連するUTXOを検出し、前記検出されたUTXOが所与のトランザクションに関することに応じて、前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
前記所与のトランザクションを完了するために、前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行することによって、デジタル資産を処理するか、或いは、前記デジタル資産の移転を処理するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。 - 前記分散台帳を照会又は監視するステップは、前記ネットワーク識別子及び/又は前記受信者の支払い先アドレスに関連する1つ以上のUTXOを照会又は監視するステップを含む、請求項19に記載の方法。
- 前記検出されたUTXOのための前記秘密鍵を計算するステップは、
前記受信者に関連する秘密鍵V1を取得するステップであり、前記秘密鍵は、前記受信者の前記公開鍵P1に関連する暗号鍵ペアの一部である、ステップと、
前記受信者の前記秘密鍵V1と、前記所与のトランザクションに関連するデータ項目Mのハッシュとに基づいて、前記所与のトランザクションのための前記秘密鍵V2を計算するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと
を含む、請求項19又は20に記載の方法。 - 前記分散台帳を照会又は監視するステップは、前記受信者に関連する1つ以上の使用不可能なアウトプットについて前記分散台帳を監視するステップを含み、前記更なるアウトプットは、前記検出されたUTXOに関係する、請求項19乃至21のうちいずれか1項に記載の方法。
- 前記1つ以上のUTXOは、請求項1乃至17のうちいずれか1項に記載の方法に従って、前記送信者によって前記分散台帳に提供される、請求項19乃至22のうちいずれか1項に記載の方法。
- セッション鍵K1を計算するステップであり、前記セッション鍵は、前記所与のトランザクションに関連する前記公開鍵及び秘密鍵P2、V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップを含み、
1つ以上のアウトプットスクリプトを実行するステップは、前記セッション鍵K1を使用して前記1つ以上のアウトプットスクリプト内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、前記デジタル資産に関する、ステップを含む、請求項19乃至23のうちいずれか1項に記載の方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者に関連する公開鍵P1を提供するステップであり、前記公開鍵P1は、信頼機関によって発行された証明書に更に関連する、ステップと、
前記受信者に関連する1つ以上の未使用トランザクションアウトプット(UTXO)について前記分散台帳を照会又は監視するステップと、
前記受信者に関連する少なくとも1つのUTXOを検出し、前記少なくとも1つのUTXOの中の検出されたUTXOが所与のトランザクションに関係することに応じて、
前記所与のトランザクションのための秘密鍵V2を計算するステップであり、前記秘密鍵V2は、前記所与のトランザクションのための公開鍵P2に関連する、ステップと、
セッション鍵K1、K2を計算するステップであり、前記セッション鍵は、前記所与のトランザクションに関連する前記公開鍵及び秘密鍵P2、V2と、前記受信者に関連する前記公開鍵P1とに基づく、ステップと、
前記セッション鍵K1、K2を使用して、前記検出されたUTXO内の前記所与のトランザクションに関連するデータ項目Mを解読するステップであり、前記データ項目Mは、デジタル資産に関する、ステップと、
前記所与のトランザクションを完了するために、前記解読されたデータ項目Mに基づいて前記検出されたUTXO内の1つ以上のアウトプットスクリプトを実行するステップと、
前記完了したトランザクションを前記分散台帳に記憶するステップと
を含む方法。 - 少なくとも1つのUTXOを検出するステップは、前記受信者に関連する2つのUTXOを検出するステップを含み、各UTXOは、それぞれのトランザクションに関し、各UTXOは暗号化されたデータ項目Mに関連し、前記UTXOのうちの1つは、使用不可能なアウトプットであり、その結果、前記使用不可能なアウトプットは、前記デジタル資産の移転のために使用可能なアウトプットに関連する他のUTXOを識別するために使用される、請求項25に記載の方法。
- 複数のネットワーク識別子に関するディレクトリ内に前記受信者についてのレコードを作成するステップと、
前記受信者の前記ネットワーク識別子に関連するセキュリティインジケータで、前記レコード内のエントリを更新するか或いは含めるステップであり、前記セキュリティインジケータは、前記ネットワーク識別子の真正性を検証するために提供される、ステップと
を含む、請求項19乃至26のうちいずれか1項に記載の方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを取得するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記ネットワークアドレスがデジタル資産を受け付けることができると決定するステップと、
前記決定が成功したことに応じて、前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者から支払い先アドレス又は公開テンプレートを要求するステップと、
前記支払い先を取得したことに応じて、デジタル資産に関するトランザクションのためのアウトプットスクリプトを生成するステップと、
前記アウトプットスクリプトを前記支払い先に送信するステップと
を含む方法。 - 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、計算リソースである、方法であって、
前記送信者からの問い合わせに応じて、デジタル資産を受け付けるための前記受信者のネットワークアドレスを提供するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵及びデジタル署名と組み合わせて生成される、ステップと、
前記送信者と前記受信者との間に安全な通信チャネルを確立するステップと、
前記受信者についての支払い先アドレス又は公開鍵を生成するステップと、
前記支払い先アドレスを前記送信者に送信するステップと、
前記送信者からデジタル資産に関するトランザクションのためのアウトプットスクリプトを取得するステップと、
前記デジタル資産に関する支払いを処理するステップと、
前記分散台帳についての前記処理された支払いに基づいて、完了したトランザクションを作成するステップと
を含む方法。 - 前記ネットワークアドレスは、暗号化生成アドレスであり、前記安全な通信チャネルは、前記受信者に送信される全ての通信及び/又は前記受信者から受信される全ての通信を暗号化するためにセッション鍵を導出することによって確立される、請求項28又は29に記載の方法。
- 前記支払い先アドレスは、前記デジタル資産についての一回限りの公開鍵のハッシュ(P2PKH)である、請求項28乃至30のうちいずれか1項に記載の方法。
- 公開テンプレートは、前記受信者に関連する支払い先アドレスを取得するために前記受信者について生成されたカスタムスクリプトを含む、請求項28乃至30のうちいずれか1項に記載の方法。
- 分散台帳に関連する少なくとも1つのトランザクションを実施するためのコンピュータ実施方法であり、前記少なくとも1つのトランザクションは、送信者から受信者向けのものであり、前記送信者及び受信者は、通信ネットワークを介して通信可能に結合された複数の決済エンティティの中のそれぞれの決済エンティティにそれぞれ関連し、前記複数の決済エンティティの中のそれぞれの決済エンティティは、前記決済エンティティに固有のネットワーク識別子に関連する計算リソースである、方法であって、
前記受信者についてのネットワークアドレスを解決するために、前記受信者の前記ネットワーク識別子に基づいてディレクトリを照会するステップであり、前記ネットワークアドレスは、前記受信者についての公開鍵に関連し、前記ディレクトリは、前記通信ネットワークに関連する、ステップと、
前記受信者の前記ネットワーク識別子が、前記受信者についての前記解決されたネットワークアドレスに関連するネットワーク識別子に対応することを検証するステップと、
前記検証が成功したことに応じて、所与のトランザクションについて請求項7乃至17又は請求項28のうちいずれか1項に記載の方法のステップを実行するステップと
を含む方法。 - 前記ネットワークアドレスは、暗号化生成アドレスであり、前記ネットワーク識別子は、前記受信者についてのドメイン名である、請求項33に記載の方法。
- 前記ネットワーク識別子は、前記ネットワークアドレスに関連する拡張フィールドにおいて提供される、請求項33又は34に記載の方法。
- プロセッサと、メモリとを含む計算デバイスであって、
前記メモリは、前記プロセッサによる実行の結果として、システムに請求項1乃至18、28、33乃至35のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。 - プロセッサと、メモリとを含む計算デバイスであって、
前記メモリは、前記プロセッサによる実行の結果として、システムに請求項19乃至27又は29乃至32のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含む、計算デバイス。 - それぞれが請求項36に記載の計算デバイスである1つ以上の送信者エンティティと、
それぞれが請求項37に記載の計算デバイスである1つ以上の受信者エンティティと、
前記少なくとも1つの送信者エンティティと前記少なくとも1つの受信者エンティティとの間の通信を実現するための通信ネットワークと
を含むシステム。 - コンピュータシステムのプロセッサによる実行の結果として、前記コンピュータシステムに請求項1乃至35のうちいずれか1項に記載の方法を実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1909960.5 | 2019-07-11 | ||
GBGB1909960.5A GB201909960D0 (en) | 2019-07-11 | 2019-07-11 | Computer-implemented system and method |
PCT/IB2020/056293 WO2021005474A1 (en) | 2019-07-11 | 2020-07-03 | Computer-implemented system and method for facilitating transactions associated with a blockchain using a network identifier for participating entities |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022539458A true JP2022539458A (ja) | 2022-09-09 |
Family
ID=67700221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021577874A Pending JP2022539458A (ja) | 2019-07-11 | 2020-07-03 | エンティティに参加するためにネットワーク識別子を使用してブロックチェーンに関連するトランザクションを実現するためのコンピュータ実施システム及び方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220261798A1 (ja) |
EP (1) | EP3997852A1 (ja) |
JP (1) | JP2022539458A (ja) |
KR (1) | KR20220030298A (ja) |
CN (1) | CN114127768A (ja) |
GB (1) | GB201909960D0 (ja) |
TW (1) | TW202118271A (ja) |
WO (1) | WO2021005474A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021231450A1 (en) * | 2020-05-11 | 2021-11-18 | Jpmorgan Chase Bank, N.A. | Integrated supplier networks |
CN111756619B (zh) * | 2020-06-24 | 2022-12-27 | 上海风汇网络科技有限公司 | 一种基于电子邮件的价值传输方法及价值传输集群系统 |
CN112862994A (zh) * | 2021-02-07 | 2021-05-28 | 中国第一汽车股份有限公司 | 一种etc防拆认证方法、etc、车载设备终端及系统 |
WO2024115335A1 (en) * | 2022-11-28 | 2024-06-06 | Nchain Licensing Ag | Blockchain-based network address |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69327238T2 (de) | 1993-08-17 | 2000-09-07 | Entrust Technologies Switzerla | Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft |
AU3073595A (en) | 1994-07-29 | 1996-03-04 | Certicom Corp. | Elliptic curve encryption systems |
US6785813B1 (en) | 1997-11-07 | 2004-08-31 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
WO1996033565A1 (en) | 1995-04-21 | 1996-10-24 | Certicom Corp. | Method for signature and session key generation |
US5761305A (en) | 1995-04-21 | 1998-06-02 | Certicom Corporation | Key agreement and transport protocol with implicit signatures |
CA2176972C (en) | 1995-05-17 | 2008-11-25 | Scott A. Vanstone | Key agreement and transport protocol with implicit signatures |
GB9510035D0 (en) | 1995-05-18 | 1995-08-02 | Cryptech Systems Inc | Strengthened public key protocols |
US5999626A (en) | 1996-04-16 | 1999-12-07 | Certicom Corp. | Digital signatures on a smartcard |
US6078667A (en) | 1996-10-10 | 2000-06-20 | Certicom Corp. | Generating unique and unpredictable values |
CA2235359C (en) | 1998-03-23 | 2012-04-10 | Certicom Corp. | Implicit certificate scheme with ca chaining |
US10841082B2 (en) * | 2015-11-24 | 2020-11-17 | Adi BEN-ARI | System and method for blockchain smart contract data privacy |
CN115549887A (zh) | 2016-02-23 | 2022-12-30 | 恩链控股有限公司 | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 |
US10320843B1 (en) * | 2017-12-08 | 2019-06-11 | Symbiont.Io, Inc. | Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system |
-
2019
- 2019-07-11 GB GBGB1909960.5A patent/GB201909960D0/en not_active Ceased
-
2020
- 2020-07-03 WO PCT/IB2020/056293 patent/WO2021005474A1/en unknown
- 2020-07-03 EP EP20739467.7A patent/EP3997852A1/en active Pending
- 2020-07-03 KR KR1020227004607A patent/KR20220030298A/ko unknown
- 2020-07-03 US US17/626,107 patent/US20220261798A1/en active Pending
- 2020-07-03 CN CN202080050583.2A patent/CN114127768A/zh active Pending
- 2020-07-03 JP JP2021577874A patent/JP2022539458A/ja active Pending
- 2020-07-09 TW TW109123206A patent/TW202118271A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
GB201909960D0 (en) | 2019-08-28 |
WO2021005474A1 (en) | 2021-01-14 |
CN114127768A (zh) | 2022-03-01 |
EP3997852A1 (en) | 2022-05-18 |
KR20220030298A (ko) | 2022-03-10 |
TW202118271A (zh) | 2021-05-01 |
US20220261798A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110537346B (zh) | 安全去中心化域名系统 | |
JP6528008B2 (ja) | 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ | |
EP2491672B1 (en) | Low-latency peer session establishment | |
JP6215934B2 (ja) | ログイン検証の方法、クライアント、サーバ、およびシステム | |
US20220103369A1 (en) | Security system and related methods | |
KR101149958B1 (ko) | 이메일을 사용하는 공개 정보의 인증된 교환 | |
CN114679293A (zh) | 基于零信任安全的访问控制方法、设备及存储介质 | |
US20220261798A1 (en) | Computer-Implemented System and Method for Facilitating Transactions Associated with a Blockchain Using a Network Identifier for Participating Entities | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
JP2008250931A (ja) | 分散情報復元システム、情報利用装置、および、検証装置 | |
CN114127764A (zh) | 与分布式账本关联的目的地寻址 | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
Fongen et al. | The integration of trusted platform modules into a tactical identity management system | |
Altun et al. | Blockchain based confidential communication and authorization model for IoT devices | |
JP6830635B1 (ja) | データ管理方法 | |
US11520937B2 (en) | NVMe over fabrics authentication system | |
Wu et al. | DAKEs: Decentralized Authenticated Key Exchange Protocols via Blockchain for Smart City | |
Zhu et al. | Research on data security access model of cloud computing platform | |
Anand et al. | Distributed utility based User Authentication protocol for multi-server environment with key agreement utility | |
CN117716666A (zh) | 用于向用户提供自主身份云服务的方法、云服务方法、云服务器、自主身份方法 | |
Jacob et al. | Security Enhancement of Single Sign on Mechanism for Distributed Computer Networks | |
Lina et al. | The security email based on smart card | |
JP2021040278A (ja) | 鍵管理システム、署名装置、鍵管理方法及びプログラム | |
Chetioui et al. | Cryptographic Encapsulation in the New ENC-DNSSEC Protocol | |
Mhatre | A Novel Authentication Technique in Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230606 |