JP2023507927A - 分散型台帳に関連付けられたトランザクションの宛先アドレス指定 - Google Patents

分散型台帳に関連付けられたトランザクションの宛先アドレス指定 Download PDF

Info

Publication number
JP2023507927A
JP2023507927A JP2022535433A JP2022535433A JP2023507927A JP 2023507927 A JP2023507927 A JP 2023507927A JP 2022535433 A JP2022535433 A JP 2022535433A JP 2022535433 A JP2022535433 A JP 2022535433A JP 2023507927 A JP2023507927 A JP 2023507927A
Authority
JP
Japan
Prior art keywords
alias
client
code
sequence
addressing service
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
Application number
JP2022535433A
Other languages
English (en)
Inventor
コフラン,スティーヴン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
nChain Holdings Ltd
Original Assignee
nChain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by nChain Holdings Ltd filed Critical nChain Holdings Ltd
Publication of JP2023507927A publication Critical patent/JP2023507927A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本開示は、分散型台帳に関連付けられたトランザクションのためのアドレス指定サービスを実装するためのコンピュータ実装方法、デバイス、およびシステムを提案し、ここで、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有である。方法は、複数のシードワードを取得またはアクセスするステップと、1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスについて、エイリアスを符号化し、符号化されたエイリアスにハッシュ関数を適用してハッシュ値を取得するステップと、ハッシュ値から第1の系列を抽出するステップと、第1の系列に基づいて複数のシードワードから少なくとも1つのシードワードを決定するステップとを含み、少なくとも1つのシードワードは所与のエイリアスのコードを表す。

Description

本開示は、概して、1つまたは複数のクライアントのためのアドレス指定サービスを実装するための方法およびシステムに関する。特に、限定されないが、本開示は、分散型台帳に関連付けられたトランザクションを容易にすることに関し、より具体的には、デジタルウォレットのうちの1つまたは複数に対する宛先アドレス指定のための方法に関する。
本明細書では、電子的なコンピュータベース分散台帳のすべての形態を含むものとして「ブロックチェーン」という用語を使用する。これらは、コンセンサスベースのブロックチェーンおよびトランザクションチェーン技術、許可されたおよび許可されていない台帳、共有台帳、パブリックおよびプライベートブロックチェーン、ならびにそれらの変形を含む。ブロックチェーン技術の最も広く知られているアプリケーションはビットコイン台帳であるが、他のブロックチェーン実装も提案および開発されている。便宜上および例示の目的で本明細書ではビットコインに言及し得るが、本開示は、ビットコインブロックチェーンとの使用に限定されず、任意の種類のデジタル資産またはデジタル資産の表現に関連付けられた代替的なブロックチェーン実装およびプロトコルは本開示の範囲内に入ることに留意されたい。「クライアント」、「エンティティ」、「ノード」、「ユーザ」、「送信者」、「受信者」、「支払人」、「受取人」という用語は、本明細書では、コンピューティングまたはプロセッサベースのリソースを指し得る。本明細書では、ビットコインプロトコルに由来する、またはそれに基づく任意のバージョンまたはバリエーションを含むものとして「ビットコイン」という用語を使用する。「デジタル資産」という用語は、暗号通貨、財産の少なくとも一部を表すトークン、スマートコントラクト、ライセンス、すなわちソフトウェアライセンス、またはメディアコンテンツのDRMコントラクトなど、任意の転送可能な資産を指し得る。デジタル資産という用語は、あるエンティティから別のエンティティへのトランザクションにおける支払いとして転送または提供され得る値に関連付けられ得る商品を表すために本明細書全体を通して使用されることが理解されよう。
ブロックチェーンは、ブロックから構成されるコンピュータベースの非集中型分散システムとして実装されるピアツーピアの電子台帳であり、ブロックはトランザクションから構成される。各トランザクションは、ブロックチェーンシステムにおける参加者間でのデジタル資産の制御の転送を符号化するデータ構造であり、少なくとも1つの入力および少なくとも1つの出力を含む。各ブロックは、前のブロックのハッシュを含み、そのブロックは一緒に連鎖されて、開始以来ブロックチェーンに書き込まれてきたすべてのトランザクションの永久的で変更不可能な記録を作成する。トランザクションは、それらの入力および出力に埋め込まれたスクリプトとして知られる小さなプログラムを含み、それは、トランザクションの出力がどのようにおよび誰によってアクセスされ得るかを指定する。ビットコインプラットフォーム上では、これらのスクリプトは、スタックベースのスクリプト言語を使用して書かれる。
トランザクションがブロックチェーンに書き込まれるためには、「妥当性確認」されなければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを確認する作業を実行し、無効なトランザクションはネットワークから拒絶される。ノードにインストールされたソフトウェアクライアントは、そのロックスクリプトおよびロック解除スクリプトを実行することによって、未使用トランザクション(UTXO)に対してこの妥当性確認作業を実行する。ロックスクリプトおよびロック解除スクリプトの実行がTRUEと評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信する第1のノードによって妥当性確認され、トランザクションが妥当性確認された場合、ノードはそれをネットワーク内の他のノードに中継すること、ii)マイナーによって構築された新しいブロックに追加されること、およびiii)マイニング、すなわち過去のトランザクションの公開元帳に追加されることが行わなければならない。
UTXOとしてブロックチェーンに格納されると、ユーザは、関連するリソースの制御を、別のトランザクションにおける入力に関連付けられた別のアドレスに転送することができる。この転送は通常、デジタルウォレットを使用して行われるが、必須ではない。このデジタルウォレットは、デスクトップ、ラップトップ、もしくはモバイル端末などのコンピューティングデバイス上のデバイス、物理媒体、プログラム、アプリケーション(アプリ)、またはインターネットなどのネットワークワーク上のドメインに関連付けられた遠隔ホストサービスであってもよい。デジタルウォレットは、公開鍵および秘密鍵を格納し、ユーザに関連付けられたリソース、トークン、および資産などの所有権の追跡、デジタル資産の受信または使用、暗号通貨、またはライセンス、または財産、または他のタイプのリソースなどのデジタル資産に関連し得るトークンの転送に使用され得る。
ブロックチェーン技術は、暗号通貨の実装の使用について最も広く知られているが、デジタルアントレプレナーは、新しいシステムを実装するために、ビットコインが基づく暗号セキュリティシステムとブロックチェーン上に格納され得るデータとの両方の使用を模索している。ブロックチェーンが、暗号通貨の領域に限定されない自動化されたタスクおよびプロセスに使用されれば、非常に有利となるであろう。そのようなソリューションは、ブロックチェーンの利点(例えば、イベントの永久的な改ざん防止記録、分散処理など)を利用することができると同時に、それらのアプリケーションにおいてより汎用性が高い。
現在の研究の1つの分野は、「スマートコントラクト」の実装のためのブロックチェーンの使用である。これらは、機械可読コントラクトまたは合意の条件の実行を自動化するように設計されたコンピュータプログラムである。自然言語で書かれる従来のコントラクトとは異なり、スマートコントラクトは、入力を処理して結果を生み出すことができ、その結果に応じてアクションを実行させることができる規則を含む機械実行可能プログラムである。ブロックチェーン関連の興味深い別の分野は、ブロックチェーンを介して現実世界のエンティティを表現し、転送するための「トークン」(または「カラードコイン」)の使用である。機密または秘密である可能性があるアイテムは、識別可能な意味または価値を有さないトークンによって表され得る。したがって、トークンは、現実世界のアイテムがブロックチェーンから参照されることを可能にする識別子として機能する。
上述の例またはシナリオは、何らかの資産、すなわちデジタル資産の転送、またはユーザもしくはエンティティ間のデジタル資産の制御に関する。現在、ユーザ間、すなわちAliceとBobとの間でのBSVまたは他の暗号通貨支払いを容易にするために、Aliceは、自身の(秘密および公開)暗号鍵に関連付けられたデジタルウォレットを有する必要があり、暗号通貨を送るためのBobの公開アドレス、すなわちBobのデジタルウォレットアドレスを知る必要がある。エンティティ、本明細書ではデジタルウォレットに関連付けられた公開アドレスは、通常、アドレス生成プログラムによって自動的に生成される。これらの公開アドレスは、暗号通貨ネットワークによって認識され、トランザクションに使用される特定のフォーマットの数字列である。例えば、これらは、BSVベースの暗号通貨ネットワークのビットコインアドレスであってもよい。これは、エンティティに関連付けられた非対称秘密/鍵ペアの公開鍵または公開鍵のハッシュと呼ばれ得る。公開アドレスは、他のユーザが暗号通貨での支払いの送り先を知ることができるように公に共有され得る。しかしながら、BSVウォレットエコシステムまたは他の暗号通貨ウォレットによって認識され使用される公開アドレスは、以下のようなフォーマットである:
17Dx2iAnGWPJCdqVvRFr45vL9YvT86TDsn
したがって、Aliceは、Bobに暗号通貨を送るために、このタイプのアドレスを知っているかまたはそれが提供される必要がある。さらに、異なるタイプのトランザクションのためにエンティティまたはウォレットによって2つ以上のタイプのアドレスが使用されてもよく、これらのアドレスは、ブロックチェーン上に書き込まれた1つのトランザクションを容易にするために1回だけ使用され得る。これらの公開アドレスは、ユーザフレンドリでも使用および記憶しやすい形式でもないことは明らかであろう。したがって、トランザクションのためのこれらの公開アドレスまたは鍵は、トランザクションごとに識別または取得または導出される必要があり、さらには、別のエンティティに暗号通貨支払いを行うことを望むエンティティによって、ある期間にわたって記憶/キャッシュされる必要があり得る。
したがって、ブロックチェーンは改ざん防止および永久的な記録などの利点を提供するので、データおよびイベントを記録するためにブロックチェーン技術を使用することは望ましいが、暗号通貨支払いまたはトランザクションのための宛先アドレスを識別または確立することは困難である。これは、デジタルウォレットシステムにおいて認識されるこれらのアドレスの動作可能なフォーマットが単純でもユーザフレンドリでもないからである。このフォーマットの1つの理由は、パブリックIPアドレスのための指定の命名プロトコルがデジタル支払いネットワーク全体にわたって適用されていることに加えて、それに合ったセキュリティとなっていることであり得る。もう1つの理由は、ビットコインブロックチェーンが、ブロックに構築されるトランザクション(Tx)にデータを格納することである。ブロックチェーンから関連データを識別し、次いでアクセスすることは、トランザクションに関与するエンティティの(秘密鍵にリンクされた)公開アドレスに基づく。
ブロックチェーントランザクションのためのアドレス指定をより簡単にするために、複雑な公開アドレスの代わりに記憶しやすくよりユーザフレンドリなエイリアスが使用されるメカニズムはすでに存在している。そのようなソリューションは、米国特許出願第16/384696号および英国特許出願第1907180.2号において提案されており、いずれもnChain Holdings Limitedの名義である。これらの文書には、エンティティの公開アドレスの代わりにエイリアスが宛先アドレス指定のために使用される、bsvalias支払いサービスと呼ばれるエイリアスベースの支払いサービスおよび関連するプロトコルが記載されている。そのようなシステムにおけるエイリアスは、通常、受信側クライアントのエンティティのドメイン名に関連付けられ、URIまたは電子メールアドレスであり得る。したがって、送信側クライアントまたはエンティティがエイリアスを認識しているか、またはエイリアスが提供される限り、これは、bsvalias支払いシステムまたはエイリアスベースのアドレス指定メカニズムにとって十分である。
そのようなエイリアスベースのアドレス指定システムは、ロバストであり、改ざん防止性があり、安全であり、正確である。しかしながら、これは、アドレス指定サービスまたは支払いサービスのいずれか、または実際に1つまたは複数のクライアントエンティティが、ユーザフレンドリで容易に記憶しやすいエイリアスを、このエイリアスを使用してトランザクションを進めることができるように、別のエンティティに提供することまたは送ることを必要とする。これは、例えば、電子メールまたはURLまたはウェブサイトからコピー/ペーストするときにエラーまたはミスタイプが発生するので、常にエラー耐性とは限らない。さらに、いくつかの状況では、エイリアスは、別のクライアントまたはコンピューティングリソースに関連付けられたユーザまたは所有者に、直にまたは電話で会話を介して提供され得る。この結果、支払いトランザクションを生成しようとするときに、上記の別のエンティティは、エイリアスを聞き間違えたり、さらにはミスタイプしたりし得る。別のエンティティがエイリアスに関連付けられた所有者またはエンティティに対してデジタル資産のトランザクションを行おうとするとき、それが成立しない恐れがあり、またはより重要なことに、これは、悪意のある当事者またはプログラムが、なりすましまたは盗聴ベースの攻撃のいずれかによって、意図された受信者のエイリアスにおけるそのようなエラーを悪用する機会を与える可能性がある。これは、そのようなトランザクションならびに関連するエンティティおよびシステムをセキュリティおよびプライバシー侵害に対して脆弱にし、デジタル資産の損失ももたらす。
したがって、2つのエンティティ間のトランザクションのための安全でロバストなシステムであって、より良好なユーザエクスペリエンスを有し、エラーを起こしにくく、全体的により安全でより良好なレベルのセキュリティを有するシステムを実装することが望まれている。より具体的には、分散型台帳(ブロックチェーン)技術を利用すること、ならびに、デジタル資産支払いまたは転送が安全で、プライベートで、正確で、エラー耐性があることを任意のクライアントまたはエンティティが保証し、それによって、ブロックチェーン上のそのような有効な支払いの信頼性できる持続的で改ざん防止性の監査可能な記録を提供することを可能にするエイリアスベースのアドレス指定メカニズムの向上したセキュリティ、透明性、および信頼性という利点を利用することが望まれている。
この度、そのような改善されたソリューションが考案された。本開示は、暗号通貨エコシステムのための改善された宛先識別および/または支払いアドレス指定のための態様および実施形態を提供することによって、エイリアスアドレス指定メカニズムに関連付けられたエラーに関する技術的懸念に対処する。
一態様では、本開示は、分散型台帳に関連付けられたトランザクションのためのアドレス指定サービスを実装するためのコンピュータ実装方法、デバイス、およびシステムを提案し、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有である。方法は、複数のシードワードを取得またはアクセスするステップを含む。1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスについて、方法は、エイリアスを符号化し、符号化されたエイリアスにハッシュ関数を適用してハッシュ値を取得することと、ハッシュ値から第1の系列を抽出することと、第1の系列に基づいて複数のシードワードから少なくとも1つのシードワードを決定することと、ここで、少なくとも1つのシードワードは所与のエイリアスのコードを表し、エイリアスとともに使用するためにコードワードをクライアントに送ることとを含む。
別の態様では、本開示は、他のエンティティがエイリアスおよびコードを使用してそれに対するデジタル資産支払いを行うことができるように、受信側クライアントがそれぞれのエイリアスをそれに関連付けられたコードとともに提供する、コンピュータ実装方法、デバイス、およびシステムに関する。
別の態様では、本開示は、送信側クライアントが、エイリアスおよび受信側クライアントにデジタル資産支払いを行うためのコードの両方を取得し、さらに、コードに基づいて、実際にエイリアスが意図された受信者に対するものであることを検証する、コンピュータ実装方法、デバイス、およびシステムに関する。
ここから、本開示の態様および実施形態を、単なる例として、添付の図面を参照して説明する。
1つまたは複数のクライアントのためのブロックチェーンに関連付けられたトランザクションを可能にするためのアドレス指定サービスを実装するための方法を示すフローチャートであり、各クライアントが特定のエイリアスを有し、方法は、アドレス指定サービスに関連付けられた1つまたは複数のプロセッサによって実装される。 受信側クライアントのエイリアスに基づくブロックチェーントランザクションに関する方法を示すフローチャートであり、ここで、方法は、受信側クライアントの関連付けられた1つまたは複数のプロセッサによって実装される。 受信側クライアントのエイリアスに基づくブロックチェーントランザクションに関する方法を示すフローチャートであり、ここで、方法は、送信側クライアントに関連付けられた1つまたは複数のプロセッサによって実装される。 本開示の様々な態様および実施形態を実装することができるコンピューティング環境を示す概略図である。
上述したbsvaliasなどの既知のエイリアスベースのアドレス指定および支払いメカニズムは、クライアントまたはエンティティが分散型台帳トランザクション(ブロックチェーントランザクション)を介して受信者に支払うことまたはデジタル資産を受信者に転送することを可能にするための容易かつユーザフレンドリなメカニズムを提供するが、それらは、特に手動またはヒューマンエラーに対して完全にフールプルーフおよびエラー耐性とは限らない。
送信者に受信者のエイリアスを提出すれば送信者が資産を支払うまたは送ることができるので、背景技術のセクションで述べたbsvaliasのような支払いサービスは、ブロックチェーントランザクションのためのトランザクション出力リゾリューションの問題を解決する。このエイリアスが、送信者のデジタルウォレット内に実装され得る送信者のアドレス帳に含まれると、例えば、bsvaliasまたは他の支払いサービスのためのJSON文書などの機械可読リソースにおいて提供される命令を使用して、エイリアスに対する支払いおよびトランザクションが行われ得る。支払いに使用することとなるエイリアスを送信者に与えるプロセスは、通常は単純であるべきであるが、それは常にエラー耐性とは限らない。電子メールからコピー/ペーストすること、またはURLを介してエイリアスを受信することは、通常、エイリアスを適用する際にエラーを起こしにくいが、送信者がアドレス帳にエイリアスを手入力する場合、または送信者がエイリアスをタイプ入力するときに行またはワードまたは文字を見落とし得る場合、誤りが生じる可能性がある。対面または電話での会話を介したエイリアスの提供のようなより手動のメカニズムは、エイリアスが、エイリアスのように聞こえる何か他のものであると聞き間違えられたり誤解されたりする可能性があるので、エラーを起こしやすい。送信者のアドレス帳に入力されたそのような不正確なエイリアスは、悪意のある当事者自身の公開アドレスまたは別の悪意のあるコンピューティングリソースの公開アドレスを、送信者には実際の意図された受信者にリンクされているように見えるがリンクされていない不正確なエイリアスにリンクすることによって実際の受信者になりすまそうとする悪意のある当事者からの攻撃およびセキュリティ違反に対して脆弱である。次いで、聞き間違いされたまたはスペルミスのエイリアスを使用して行われた任意の支払いまたはトランザクションは、実際の意図された受信者ではなく悪意のある当事者に到達するため、分散型台帳が提供するプライバシーおよびセキュリティが損なわれる。スペルミスの支払いエイリアスにおけるそのような攻撃は、悪意のある当事者がスペルミスのドメイン名に対する制御を得る攻撃と同種である。現在、ドメイン名アドレスを検証するためのメカニズムはチェックサムであり、これは、ほとんどのマシンツーマシン通信を検証および認証するために使用され得る。しかしながら、このメカニズムを、複雑な機械可読公開アドレスの代わりに、ユーザフレンドリなエイリアスへの支払いトランザクションを容易にするためのエイリアスベースのアドレス指定システムなど、人間が読み取ることができるアドレス指定のメカニズムに同様に適用することはできない。
本開示の以下の態様および実施形態は、エイリアスベースのアドレス指定メカニズムにおけるエラーに関する上述の問題に対処する。
本開示の第1の態様は、分散型台帳に関連付けられたトランザクションのためのアドレス指定サービスを実施するコンピュータ実装方法を提供し、ここで、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有である。1つまたは複数のクライアントの中の各クライアントには、それぞれのエイリアスが提供される。エイリアスは、クライアントのドメイン名またはドメインに関連付けられた電子メールアドレスなどのネットワーク識別子を含むかまたはそれに関連し得る。いくつかの実施形態では、アドレス指定サービスは、背景技術のセクションで上述したbsvalias支払いサービスなどのエイリアスベースの支払いサービスであり、クライアントの公開アドレスまたはクライアントのデジタルウォレットの代わりにエイリアスが宛先アドレス指定に使用される。この態様の方法は、アドレス指定サービスに関連付けられた1つまたは複数のプロセッサによって実装され、複数のシードワードを取得またはアクセスするステップを含む。いくつかの実施形態では、複数のシードワードは、アドレス指定サービスの機能性を実装し得るデジタルウォレットなどのコンピューティングリソースとともに使用するためのパスフレーズであり得る。例えば、これは、ほとんどの暗号通貨取り扱いデジタルウォレットが現在利用している2048個のシードワードのセットであってもよい。これらのシードワードは、以下の図1の説明における表1で提供される。
次いで、1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスについて、方法は、エイリアスを符号化するステップを含む。いくつかの実施形態では、エイリアスは、8ビットブロックを使用して文字を表すUTF-8(8ビットUnicode変換フォーマット)で符号化される。いくつかの実施形態では、符号化の結果は32バイトの数値である。次いで、方法は、符号化されたエイリアスにハッシュ関数を適用してハッシュ値を取得することを含む。いくつかの実施形態では、ハッシュ関数は、SHA1、SHA2またはSHA256などのセキュアハッシュアルゴリズムであってもよい。
次いで、方法は、ハッシュ値から第1の系列を抽出することを含む。いくつかの実施形態では、第1の系列は整数系列(series of integers)である。以下では、第1の系列を第1の整数系列と呼ぶが、本開示は、そのような実施形態に限定されると見なされるべきではない。いくつかの実施形態では、このステップは、2048個の異なる整数を11ビットで表すことができるように、32バイトの符号化されたエイリアスから11ビットの数値の系列を抽出することを含む。これは、前のステップで考慮された2048個のシードワードに対応するので有利である。次いで、第1の整数系列を使用して、表1内のシードワードから少なくとも1つのワードを選択する。いくつかの実施形態では、第1の系列は、チェックサムワードの第1のセットを抽出するために使用され、可能なワードリストと呼ばれ得る。
次に、方法は、第1の整数系列に基づいて複数のシードワードから少なくとも1つのシードワードを決定することを含み、ここで、少なくとも1つのシードワードは所与のエイリアスのコードを表す。いくつかの実施形態では、方法は、第1の系列に基づいて複数のシードワードを選択することを含む。1つまたは複数のシードワードが決定されると、所与のエイリアスに関連付けられたクライアントにコードが提供される。いくつかの実施形態では、コードは、意図された受信者に関連付けられたエイリアスを検証するために使用される。このコードは、エイリアスに関連付けられている確認ワードであってもよい。例えば、コードおよびエイリアスの両方がクライアントに提供され、次に、クライアントが、コードおよびエイリアスの両方を、それとのトランザクションを行うことを望む別のクライアントに送ることができる。いくつかの実施形態では、アドレス指定サービスは、エイリアスに関係するトランザクションを要求するクライアントに通知を提供するように構成され、この通知はコードであるか、またはコードに関連する。コードおよびエイリアスの両方が送信者または受取人に提供されるので、エイリアスが間違っているかまたは送信者側で聞き間違えられた場合でも、異なるまたは間違ったエイリアスに関連付けられた任意の確認ワードまたはコードが実際の意図された受信者のエイリアスに固有のコードと一致しなくなり、これを識別することができる。
いくつかの実施形態では、エイリアスとコードワードとの組合せは、アドレス指定サービスに関連付けられたメモリまたはデータ記憶モジュールに記憶される。このメモリは、アドレス指定サービスと統合され得るか、または遠隔でホストされ得るもしくは遠隔に位置していてもよい。いくつかの実施形態では、クライアントは、アドレス指定サービスと統合され得るか、またはアドレス指定サービスに対して遠隔の別個のコンピューティングデバイスであり得る。
いくつかの実施形態では、上記で言及したアドレス指定サービスおよび1つまたは複数のクライアントは、コンピューティングリソース、ユーザ端末、またはコンピューティングリソースに関連付けられたアプリケーションなどの1つまたは複数のエンティティに関係する。いくつかの実施形態では、アドレス指定サービスに関連付けられた各クライアントは、デジタルウォレットであり得るか、またはデジタルウォレットもしくはデジタルウォレット用のアプリケーションがインストールされているユーザ端末などのデジタルウォレットに関連付けられたエンティティであり得る。本開示の態様および実施形態はデジタルウォレットに関するが、デジタルウォレットまたはそれ用の別個のアプリケーションを有さなくても、デジタルウォレットとして、またはそれとともに、またはそれと同様に動作するための機能性を提供するように構成されたクライアントエンティティもまた、本開示の範囲内であることを理解されたい。説明を簡単にするためだけに、以下の説明は、デジタルウォレット(デジタルウォレットに関連付けられたクライアントエンティティ)に関するが、本開示は、デジタルウォレットのみを有するクライアントエンティティに決して限定されない。上記で言及した1つまたは複数のデジタルウォレットは、ネットワーク内の複数のデジタルウォレットのうちの1つであり、複数のビットコインBSV暗号通貨ウォレットのウォレットエコシステムなど、デジタルウォレットのエコシステムと呼ばれることもある。他の実施形態では、ウォレットは、ウォレットのネットワークの一部でなくてもよく、単に、ドメインに関連付けられた別個のスタンドアロンエンティティであり得る。
有利なことに、第1の態様による方法は、分散型台帳に関連するトランザクションのためのエイリアスベースのアドレス指定を、ユーザフレンドリであり、エラー耐性があり、そのようなトランザクションのセキュリティ、信頼性、および精度を改善する方法で可能にするための技法を提供する。これは、受信者の公開アドレスなどの所与の公開アドレスのエイリアスとともに、受信者のエイリアスから導出されるコードも送信者に提供されるからである。コードは、エイリアスの符号化された形式のハッシュに基づいて導出されるので、所与のクライアントのエイリアス、すなわちこの場合には受信者に固有である。取得されたハッシュ値に基づいて、定義されたまたは予め定義されたまたはよく知られたシードワードのセットからのワードが、所与のエイリアスに関連付けられたコードとして選択される。したがって、本開示ではコードおよびエイリアスの両方が使用される。これは、エイリアスが有効であり、支払いまたはトランザクションの意図された受信者に実際に関連することを有利に保証する。エイリアスに関連付けられた受信側クライアントとトランザクションを行うために、エイリアスおよびコードの両方が送信者に提供される。コードが一致しない場合、またはエイリアスに基づく検証基準がコードを生成したり示したりしない場合、エイリアスに何らかの誤りがあることが送信者によって決定され得る。これは、各エイリアスが、それ自体のハッシュ値に基づいて計算されたそれ自体の一意のコードを有するからである。エイリアスが間違っているかまたは送信者側で聞き間違えられた場合、異なるまたは誤ったエイリアスに関連付けられたいずれのワードまたはコードも、意図された受信者に固有のコードと単に一致しないので、これは容易に決定され得る。したがって、本開示は、ブロックチェーントランザクションに関連するエイリアスベースのアドレス指定メカニズムのためのエラー耐性がある改ざん防止技法を提供している。
いくつかの実施形態では、方法は、所与のクライアントに対するワードの数を表す入力を受信することと、所与のエイリアスに関連付けられたコードのシードワードの上記数または同じ数を決定することとを含む。したがって、所与のエイリアスに関連付けられたコードを構成するワードの数を指定するための入力が、アドレス指定サービスにおいてクライアントから受信される。
有利なことに、エイリアスに関連付けられたコードに対するワードの数の選択に関するこの特徴により、クライアントは、エイリアスに関連付けられたコードまたは確認ワードの強度を選択することができる。コード中にワードが多いほど、潜在的な誤り率は低くなる。例えば、コードがシードワードの予め定義されたセットからのものである場合、単一のワードに対する誤り率は2048分の1であり、ワードが2つある場合には倍になる。さらに、これは、エイリアスがタイプミスされ、タイプミスされたアドレスが実際に別の有効なエイリアスに関連しており、悪意のある当事者であるかどうかにかかわらずそのクライアントは異なるクライアントであると仮定する。上記の仮定が起こる可能性が1000分の1であると考えると、エイリアスのコード内のワードが1つだけの場合、誤り率は(2048*1000)分の1、つまり約200万分の1である。クライアントがコードに対して2つ目のワードを追加した場合、誤り率は約40億分の1に跳ね上がる。4つのワードでは、エラーはほとんど発生しない。
いくつかの実施形態では、取得されたハッシュ値にハッシュ関数を再適用してさらなるハッシュ値を取得し、さらなるハッシュ値はさらなる整数系列を提供する。関連する実施形態では、ハッシュ関数は、さらに少なくとも1回再適用され、各さらなる再適用は、それぞれ以前に取得されたさらなるハッシュ値に対するものである。
有利なことに、SHA256またはエイリアスに対して第1の態様で使用される任意の他のハッシュを再度(および潜在的により多くの回数)適用して、生成された各さらなるハッシュのハッシュ値から、第1の系列と同様に、ある範囲のワードリストまたはさらなる系列を生成または抽出することができる。したがって、それぞれのさらなるハッシュ値に基づいて、さらなる系列のうちの1つからコードを選択することができる。これは、悪意のある当事者がシードワードのセットおよび受信側クライアントのエイリアスに使用されるハッシュの詳細を取得することができたとしても、複数のハッシュがコードを生成するために使用される場合、受信側クライアントに固有のこのコードを取得または推測することは極めて困難であるので、追加のセキュリティ層を提供する。
いくつかの実施形態では、方法は、アドレス指定サービスに関連付けられた機械可読リソースを更新するステップを含み、ここで、機械可読リソースは、アドレス指定サービスに関連付けられた予測可能なまたは既知のロケーションで提供されるか、またはそこからアクセス可能であり、機械可読リソースは、所与のエイリアスに関連付けられた公開アドレスにアクセスまたは取得するための1つまたは複数の命令であって、公開アドレスは、エイリアスに関連付けられたトランザクションを容易にするために使用される、1つまたは複数の命令と、所与のクライアントに関連付けられたコードの1つまたは複数の整数系列を生成するために必要とされるハッシュの数を指定するエントリとを含む。
有利なことに、アドレス指定サービスに関連付けられた機械可読文書の提供により、エイリアスのみの知識を用いて、分散型台帳トランザクションに関するアドレス指定サービスに関連付けられたクライアントへの適切な要求を生成することができる。この利点は、アドレス指定サービスによって提供される1つまたは複数の機能またはテンプレートまたはプロトコルを指定する公にアクセス可能な機械可読リソースを提供することによって保証される。いくつかの実施形態では、機械可読リソースの既知のまたは予測可能なロケーションは、アドレス指定サービスによって使用される少なくともエンドポイント識別子またはインターネットプロトコル通信ポートに基づく。有利なことに、上記により、アドレス指定サービスの名前またはネットワーク識別子に関連付けられたドメイン名のいずれかに基づいて、機械可読リソースを容易に位置付けすることができる。
上記の実施形態で述べたように、機械語リソースはまた、整数系列を生成するために使用されるハッシュの数の指示を含むことができ、この整数系列に基づいて、1つまたは複数のシードワードがエイリアスのコードとして決定される。これは、それが所与のクライアント(またはクライアントに関連付けられたエイリアス)に使用されるハッシュの数の記録を保存するので有利であり、コードのソースが検証または再生成される必要があり得る場合に有用である。いくつかの実施形態では、機械可読リソースは、Java Script Object Notation(JSON)フォーマットを使用して生成される。JSONは、主に機械可読言語であるが人間が読み書きすることも容易である軽量のデータ交換フォーマットであるので、これは有利である。それは機械が解析および生成することが容易であり、それによって、機械可読リソースを生成するための理想的なデータ交換言語になる。
上記のようにエイリアスがドメイン名に関連付けられるいくつかの実施形態では、方法は、ディレクトリ内のドメイン名に関連付けられたエントリを提供することを含み、上記エントリは、所与のクライアントに関連付けられたコードの1つまたは複数の整数系列を生成するために必要とされるハッシュの数を指定する。これは、機械可読リソースが存在せず、代わりに、アドレス指定サービスが、所与のエイリアスのコードが決定される整数系列を取得するために使用されるハッシュの数の記録に異なるディレクトリまたはデータベースを使用する実施形態において有利である。
本明細書で言及されるディレクトリは、通常、オープンである、すなわちすべてのユーザが公にアクセス可能な非集中型ディレクトリである。例えば、Domain Name Server(DNS)などのグローバルディレクトリが使用され得、これは、インターネット上でどこからでも任意のエンティティまたはユーザがアクセス可能であるように非集中型およびオープンである。オープンでアクセス可能な非集中型ディレクトリが好ましい実装形態ではあるが、本開示はこれに限定されない。いくつかの実施形態では、参照されるディレクトリは、集中型ディレクトリであってもよい。他の実施形態では、ディレクトリは、クローズドディレクトリ、すなわち、ネットワークまたはサービスに登録されたユーザまたはエンティティがアクセス可能なディレクトリであってもよい。以下では、説明を容易にするために、本明細書では、DNSなどのグローバルディレクトリを参照する。他のタイプのディレクトリも本開示の範囲内にあることは当業者によって理解されよう。
いくつかの実施形態では、このエントリは、DNS TXTレコードフォーマットであり得、所与のエイリアスについてコードが取得されるワードの系列またはリストを生成するために必要とされるハッシュの数を正確に指定する。潜在的に、ハッシュの数について複数の選択肢も可能である。実際には、エントロピーを低減する効果を有する可能性があるので(ワードの組合せのセットが与えられると、多くのユーザがいくつかを他よりも頻繁に選択する傾向があるため)、1つのコードワードに対するハッシュの数に対して許容される選択肢の数は制限される傾向があり得るが、これはコード内の追加のワードを使用することによって軽減され得る。
いくつかの実施形態では、方法は、所与のエイリアスの複数のバリエーションを識別することを含む。識別された各バリエーションについて、方法は、上述した第1の態様においてエイリアスに対して適用されたステップと同様のステップを含み、すなわち、各バリエーションについて、方法は、バリエーションを符号化し、次いで、符号化されたバリエーションにハッシュ関数を適用して、(バリエーションに対する)バリエーションハッシュ値を取得するステップを含む。方法はまた、バリエーションハッシュ値から第2の整数系列を抽出することを含む。
方法は、第2の整数系列を、第1の態様に記載された第1の整数系列および/または所与のエイリアスに関連付けられた1つまたは複数のさらなる整数系列と比較するステップをさらに含む。次いで、衝突基準に基づいて、方法は、所与のエイリアスのコードを決定するために、第1の整数系列および/またはさらなる整数系列のうちの1つまたは複数を無視するステップを含む。したがって、所与のエイリアスについてコードワードを選択することができるワードリストとして整数系列を考慮すると、基準を満たさないものは無視される。いくつかの実施形態では、衝突基準は、レーベンシュタイン距離閾値に基づき、レーベンシュタイン距離は、比較されているそれぞれの整数系列間の距離である。
有利なことに、所与のエイリアスの既知のまたはもっともらしいバリエーションに対してブルートフォースタイプのアプローチを使用することによって、セキュリティをさらに高めることができ、エラーの可能性をさらに低減することができる。
すべてのありそうなスペルミスならびに特定のエイリアスのように聞こえるワードを計算することによって、それらのバリエーションに対するワードのリストを取得するために使用可能な第2の整数系列を決定し、実際のエイリアスに関する第1の系列またはさらなる系列と比較することができる。次いで、例えば、比較されている系列が互いから特定のレーベンシュタイン距離内にあるかどうかをチェックし、コードを決定するために利用可能な選択肢からそれらの衝突リストを排除することによって衝突を決定することができる。有利なことに、これにより、既知のまたは予想されるバリエーションでの衝突耐性特性を維持しながら、より多数の系列またはワードリストを選択に使用することができる。いくつかの実施形態では、レーベンシュタイン距離は、第1および第2またはさらなる系列におけるそれぞれの1つまたは複数のワードに対応するシードワードの中の1つまたは複数の個々のワードについてチェックされる基準であり得る。これは、同一または類似のコードワードがエイリアスおよびその1つまたは複数の既知のバリエーションまたは同じように聞こえるバリエーションによって選択されないことを有利に保証する。
本開示の第2の態様は、分散型台帳のトランザクションに関連付けられたコンピュータ実装方法に関し、ここで、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられる。この態様では、方法は、1つまたは複数のクライアントの中の受信側クライアントに関連付けられた1つまたは複数のプロセッサによって実装される。方法は、クライアントに関連付けられたエイリアスをアドレス指定サービスに提供するステップを含む。いくつかの実施形態では、クライアントがアドレス指定サービスと同じコンピューティングシステムまたはデバイス内に提供される場合、またはクライアントがアドレス指定サービスの機能も実装することができる高度なクライアントである場合、そのようなステップまたは提供することは、クライアントに対してエイリアスへのアクセスを許可または可能にすることを含む。
次いで、方法は、エイリアスに関連付けられるべきコードに対するワードの数をアドレス指定サービスに提供することを含む。第1の態様に関連して上述したように、ワードの数が多いほど、エイリアスについて一致させる必要があるワードが2つ以上存在するので、セキュリティがより一層高まる。悪意のある当事者が、複数のコードワードを誤ったエイリアスと何らかの形で一致させる可能性は低い。
次いで、方法は、アドレス指定サービスからコードを取得すること、またはクライアントとアドレス指定サービスとが同じ場所に位置する場合、このコードにアクセスすることを含む。方法は、クライアントのための分散型台帳に関連付けられたトランザクションにおいて使用するために、エイリアスおよび関連付けられたコードを送信側クライアントに送ることを含み、ここで、クライアントは、上記トランザクションの受信者である。送るステップは、送信者と受信者との間の任意の通信手段によって、例えば電子メールを介して、または直にまたは電話で行うことができる。コードおよびエイリアスの両方が提供されるため、エイリアスは、コードに基づいて、意図された受信者に関連することを確認するために検証またはチェックされ得る。
いくつかの実施形態では、クライアントエンティティはまた、より高度なクライアントの場合にアドレス指定サービスを実装する。いくつかの実施形態では、アドレス指定サービスは、クライアントと統合されたコンピューティングリソースである。代替的な実施形態では、アドレス指定サービスは、クライアントに対して遠隔または別個のエンティティであり、クライアントは、有線またはワイヤレス通信ネットワークを介してアドレス指定サービスに通信可能に結合される。
第3の態様では、本開示は、分散型台帳のトランザクションに関連付けられたコンピュータ実装方法に関し、ここで、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられる。この態様では、方法は、1つまたは複数のクライアントの中の送信側クライアントに関連付けられた1つまたは複数のプロセッサによって実装される。方法は、受信側クライアントのエイリアスを受信するステップを含み、ここで、エイリアスは、受信側クライアントの公開アドレスに関連付けられている。いくつかの実施形態では、これは、電子メールアドレスなどの受信側クライアントのドメイン名であってもよく、またはそれに関連付けられてもよい。
方法はまた、受信されたエイリアスに関連付けられたコードを受信することを含む。いくつかの実施形態では、エイリアスおよびコードは、ユーザインターフェースを介して、送信者に関連付けられたコンピューティングデバイスの所有者またはユーザによって送信側クライアントに入力(enter)または入力(input)され得る。これは、電話または電子メールなどの異なる通信手段によってエイリアスおよびコードを受信した後であってもよい。この場合、コードは、送信者に関連付けられたデジタルウォレットにコピーされ得る。
次いで、方法は、エイリアスに基づいて分散型台帳に関連付けられたトランザクションを生成することを含む。これは、トランザクションまたはデジタル資産を受信者に送るために、送信側クライアントのデジタルウォレットまたはコンピューティングデバイスにおいて自動的に実行され得る。
方法は、エイリアスに関連する通知を取得するステップを含む。これは、テキストベース、音声ベース、または画像ベースの通知、またはこれら3つの組合せであってもよい。いくつかの実施形態では、通知は、第1の態様に関連して述べたように、受信側クライアントに関連付けられたアドレス指定サービスから送られるか、またはそれに関連付けられる。受信された通知が、受信しコードと一致するという決定に基づいて、生成されたトランザクションは、エイリアスに基づいて受信側クライアントに送られる。この送信は、例えば、背景技術で説明したようなbsvaliasベースの支払いサービスのために提案されたプロトコルを使用して行われ得る。任意の他のエイリアスベースのアドレス指定サービスも使用され得る。
通知が受信したコードと一致しない場合、これは、エイリアスが正しくなく、トランザクションの意図された受信者にリンクしていないことを示すため、方法は、生成されたトランザクションを無視または削除することを含む。
本開示はまた、プロセッサと、プロセッサによる実行の結果として、コンピューティングデバイスに、本明細書で説明されるコンピュータ実装方法の任意の態様または実施形態を実行させる実行可能命令を含むメモリとを備えるコンピューティングデバイスを提供する。本開示はまた、上述した任意の態様または実施形態を実装するために一緒に動作可能な複数のそのようなコンピューティングデバイスを含むシステムを提供した。
本開示はまた、コンピューティングデバイスまたはシステムのプロセッサによって実行された結果として、コンピューティングデバイスまたはシステムに、本明細書で説明されるコンピュータ実装方法の1つの態様または実施形態を少なくとも実行させる実行可能命令を記憶した非一時的コンピュータ可読記憶媒体を提供する。
ここから、同様の参照番号が同様の特徴を指す添付の図面を参照して、いくつかの特定の実施形態を例示として説明する。
本開示の図1は、上述したように、1つまたは複数のクライアントのためのアドレス指定サービスを実装する1つまたは複数のプロセッサによって実行される方法を示す。
ステップ102は、複数のシードワードを取得またはアクセスするステップを示す。いくつかの例では、シードワードのセットは、デジタルウォレットによって現在使用または実装されている2048個のシードワードの既知のセットなど、定義されたセットからのものであり得る。シードワードは、アドレス指定サービスに対してローカルであるか、またはアドレス指定サービスに関連付けられたメモリに記憶され得る。
デジタルウォレットパスフレーズとして現在使用されている2048個のシードワードのセットを、以下の表に示す:
Figure 2023507927000002
Figure 2023507927000003
Figure 2023507927000004
Figure 2023507927000005
ステップ104は、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスを符号化するステップを示す。
いくつかの実施形態では、エイリアスは、それぞれのクライアントによってアドレス指定サービスに提供される。他の実施形態では、アドレス指定サービスは、それに関連付けられた1つまたは複数のクライアントのそれぞれに関連して、エイリアスをすでに認識しているか、またはエイリアスにアクセスし得る。いくつかの実施形態では、エイリアスを公開アドレスの代わりに使用することができるように、エイリアスとクライアントに関連付けられたそれぞれの公開アドレスとのマッピングまたは相関がアドレス指定サービスに記憶され得る。上述したように、エイリアスは、特定のクライアントまたはクライアントに関連付けられたウォレットに固有であり、ドメイン名などのネットワーク識別子、またはそのネットワークを識別する名前を含む。例えば、エイリアスは、[email protected]などの周知の電子メールフォーマットであり得、ここで、clientnameは、単に、AliceまたはBobのような、ネットワークにサインアップまたは登録する個人または会社の名前または識別子であり得る。エイリアス内のドメイン名は、組織またはドメイン所有者、例えば「nChain」を示し得る。この場合、Aliceのエイリアスは[email protected]となる。Bobが、ドメイン名「notnchain」を有し得る異なるネットワークにサインアップする場合、Bobのエイリアスは[email protected]であり得る。エイリアスベースの支払いサービスbsvaliasの場合のように、エイリアスが、人間が読み取ることができるものであり、ネットワーク識別子に関連付けられている限り、AliceNCまたはBobBSVなどの他のエイリアスフォーマットを使用することもできる。この実施形態では、[email protected]が受信側クライアントAliceのエイリアスであると仮定する。
上述したように、この実施形態では、[email protected]または[email protected]のようなエイリアスを符号化するために、UTF-8(8ビットUnicode変換フォーマット)文字符号化が使用され得る。しかしながら、他のタイプの符号化メカニズムを使用することもでき、本開示は、特定のタイプに限定されると見なされるべきではない。UTF-8は、1~4個の8ビットバイトを使用してUnicodeの1,112,064個の有効なコードポイントすべてを符号化することができる。UTF-8は、ASCIIと同程度にコンパクトであり得るが、任意のUnicode文字を含むこともできる妥協の文字符号化である。UTF-8は、文字を表すために8ビットブロックを使用する。
ステップ106において、ステップ104で取得された[email protected]の符号化されたエイリアスにハッシュ関数が適用され、ハッシュ値が取得される。ハッシュ関数は、SHA256などのセキュアハッシュアルゴリズムであり得るが、そのように限定されない。他のタイプのハッシュメカニズムを使用することもできる。いくつかの実施形態におけるこのステップの結果は、ハッシュ値を表す32バイトの数値である。上述したように、このステップにおけるハッシュ関数は、さらに1回以上再適用されてもよく、各再適用はそれぞれのさらなるハッシュ値を提供する。
ステップ108において、ステップ106において取得されたハッシュ値から第1の系列が取得される。図1の実施形態では、第1の系列は第1の整数系列である。いくつかの実施形態では、これは、1と2048との間の第1の整数系列であり得る。第1の系列は、符号化されたエイリアスに対するハッシュ関数の最初の適用から取得されたハッシュ値に基づいて取得される。ハッシュ関数が再適用される実施形態では、取得された各それぞれのさらなるハッシュ値から、さらなる整数系列が取得される。このステップで抽出された整数系列は、11ビットの数値の系列である。2048個の異なる整数を11ビットで表すことができる。これは、ステップ102で設定されたシードワード内のワードの数に対応する。
ステップ110において、所与のエイリアスのコードが、第1の整数系列(またはハッシュが再適用される場合にはさらなる整数系列)に基づいて取得される。コードは、第1の(またはさらなる)整数系列における1つまたは複数のそれぞれの整数に対応するシードワードの中の1つまたは複数のワードから構成され得る。いくつかの実施形態では、ワードの数は、クライアント、すなわちAliceによって選択されで、これは、このステップにおけるコードの計算に先立って行われ得る。Aliceが、ブロックチェーントランザクションのために自身のエイリアス[email protected]に関連付けられるべきワードの数として2を選択すると仮定する。したがって、ステップ108における第1の整数系列は、シードワードのセットから2つのワードを選択するために使用される。ワードは、アドレス指定サービスによって自動的に割り当てられ得るか、またはアドレス指定サービスによってランダムに選択され得る。いくつかの実施形態では、第1の系列はクライアントに提供され得、コードワードの選択は、Alice、すなわちブロックチェーントランザクションの受信者によって行われ得る。第1の整数のセットに基づいて選択された[email protected]のコードワードが「unique monkey」であると仮定する。
ステップ112において、クライアント、すなわちAliceのウォレットまたはコンピューティングデバイスにコード「unique monkey」が提供される。このコードは、支払いを行うことまたはAliceとのブロックチェーントランザクションを開始することを望む任意の他のエンティティまたはクライアントにエイリアスとともに送られる。
有利には、図1において説明された実施形態によれば、クライアントへのデジタル資産支払いを行うことを望むエンティティ、この場合、Aliceに関連付けられたデジタルウォレットまたは他のコンピューティングデバイスに提供されるべきである2つのアイテム、エイリアス[email protected]およびコードワード「unique monkey」が存在する。
Aliceのエイリアスを使用してAliceに支払いを送ることを望む送信者Bobが、代わりに[email protected]をタイプ入力すると仮定する。デジタルウォレットを有し、[email protected]という有効なエイリアスに関連付けられた「Alise」に関するクライアントエンティティが実際に存在する場合、図1に例示されるような本開示の第1の態様のステップを実装しなければ、Aliseが支払いの意図された受信者ではなかったとしても、BobからAliseに支払いが行われ、関連するトランザクションはブロックチェーンに提供されることになる。
しかしながら、第1の態様による本開示のステップを実装しているとき、BobがAliceに支払いを送りたい場合、Bobには、エイリアスに加えて、Aliceのコード、すなわち上記の例ではunique monkeyも提供される。このコードは、Aliceのエイリアス[email protected]に固有である。したがって、上で説明し、図3に関連してさらに下でも説明するように、正しいエイリアスがBobによってタイプ入力された場合にのみ、Bobに関連するウォレットまたは他のデバイスによって確認コード「unique money」が提供または表示され、BobがAliceの正しいエイリアスに対して実際に支払いを行っていることが確認されたことが示される。確認コードは、エイリアスがタイプ入力されるとすぐにBobに通知され得る。ここでBobが[email protected]をタイプ入力すると想定し、この有効なエイリアスについてコードが実際に「blue blossom」であると仮定すると、このコード「blue blossom」が「unique monkey」の代わりに通知されることとなる。いくつかの実施形態では、送信者に入力されたエイリアスの関連コードに関する通知を提供するのは、受信側クライアントAliceまたはAliseに関連付けられたアドレス指定サービスである。送信者Bobが、予想されるコードではなく異なるコードを見ると、自分が行おうとしている支払いが意図された受信者Aliceに行かないことを知ることとなり、その後、このトランザクションを放棄し、Aliceの正しいエイリアスを入力し、このエイリアスを通知内のコード「unique monkey」に照らして再度チェックすることによって再度試みることができる。
本開示の図2は、受信側クライアント、すなわちAliceのデバイスまたはAliceのためのコンピューティングデバイスに関連付けられたデジタルウォレットに関連付けられた1つまたは複数のプロセッサによって実行される方法を示し、ここで、受信側クライアントは、少なくとも、上述した図1に関連して説明した方法を実装するアドレス指定サービスに関連付けられた少なくとも1つのプロセッサに通信可能に結合される。以下、受信側クライアントAliceまたは単にAliceもしくはクライアントへの言及は、Aliceによって所有されるクライアントエンティティに関連付けられたデジタルウォレットまたはコンピューティングリソースなどのデバイスを指すと理解される。
ステップ202は、クライアントに関連付けられたエイリアスをアドレス指定サービスに提供することを示す。いくつかの実施形態では、受信側クライアントがアドレス指定デバイスと統合されている場合、これは、アドレス指定デバイスの機能を実行するデバイスの構成要素またはモジュールにアクセス可能にされるだけである。クライアントがアドレス指定サービスとは別個の場合、クライアントは、インターネットなどの通信ネットワーク上で、HTTPSなどの安全な通信プロトコルを使用して、それに関連付けられたエイリアスを送り得る。
上記の例に続いて、受信側クライアントAliceは、自身のエイリアス[email protected]をアドレス指定サービスに送り得る。いくつかの実施形態では、アドレス指定サービスのロケーションまたはエンドポイントURIは、アドレス指定サービスの周知のロケーションに関連付けられた機械可読リソースから取得され得る。例えば、アドレス指定サービスが背景技術で述べたようなbsvaliasである場合、機械可読リソースは、ロケーションhttps://<host-discovery-target>:<host-discovery-port>/.well-known/bsvaliasからアクセスされ得る。
ステップ202において、受信側クライアントAliceは、ステップ202においてエイリアスに関連付けられるべきコードのワードの数をアドレス指定サービスに入力または指定する。このようにして、クライアントは、第1の態様に関連して上で説明したように、エラー耐性の確実性のレベルを選択することができる。ワードの数が多いほど、エラーが生じにくくなる。コードワードが記憶しやすいことを保証するために、通常1~3または4が使用され得る。非常に敏感な事柄またはデータに関連付けられたエイリアスにはより多くのワードが使用され得る。
ステップ203において、受信側クライアントAliceはアドレス指定サービスからコードを取得する。このステップは、アドレス指定サービスが図1に関連して説明したステップを実行した後に行われる。したがって、結果として得られるコード「unique monkey」がAliceに返される。
ステップ204において、Aliceが自身への支払い手段を送信側クライアント、例えばBobに送ることを望む場合、Aliceは、自身のエイリアス[email protected]を、(例えば既知のメカニズムおよび公開鍵を使用して)コード「unique monkey」とともにBobの公開アドレスに送る。
本開示の図3は、送信側クライアント、すなわちBobのデバイス、またはBobのコンピューティングデバイスに関連付けられたデジタルウォレットに関連付けられた1つまたは複数のプロセッサによって実行される方法を示す。以下、送信側クライアントBobまたは単にBobもしくはクライアントへの言及は、Bobによって所有されるクライアントエンティティに関連付けられたデジタルウォレットまたはコンピューティングリソースなどのデバイスを指すと理解される。
ステップ302は、受信側クライアントのエイリアスを受信するステップを示し、ここで、エイリアスは、受信側クライアントの公開アドレスに関連付けられている。上述の例では、受信されたエイリアスは、受信側クライアントAliceに対するものであり、[email protected]である。このエイリアスは、エイリアスが電話またはAliceとの会話のいずれかで受信された後に送信者BobによってBobのデジタルウォレットにタイプ入力されたとき、またはエイリアスが電子メールを介して送られたとき、または電子リソースからBob用のデジタルウォレットにコピーすることによって、受信されたと見なされる。いくつかの事例では、音声認識ソフトウェアを使用して、会話において所有者Bobに伝えられたエイリアスをキャプチャすることもできる。
ステップ304において、コードもまたBobによって受信される。このコードは、ステップ302において、エイリアスとともにAliceによって提供され得る。上記の例では、コードは「unique monkey」である。コードは、エイリアスが上記ステップで受信される方法と同様の方法で、エイリアスとともに受信されてもよい。いくつかの実施形態では、コードは、Bobによって受信されると、BobのウォレットまたはBobに関連付けられた任意の他の記憶モジュールに記憶され得る。
ステップ306において、BobがAliceへの支払いを行うことを望む場合、Bobは、Aliceのエイリアスに基づいて分散型台帳に関連付けられたトランザクションを生成することによって、このプロセスを開始する。これを行うために、多くの事例では、Bobは、デジタル資産がこのエイリアスに送られるようにするために、受信したエイリアス[email protected]を自身のウォレットに入力する。
ステップ308において、エイリアスに関連する通知がBobのウォレットまたはデバイスにおいて受信される。この通知は、いくつかの実施形態では、図1に関連して説明したようなアドレス指定サービスから提供される。通知は、ステップ306においてトランザクションを生成するときにウォレットに入力されたエイリアスに関連付けられたコードワードに関連する。
ステップ310において、通知に基づいて、通知内のコードワードが、ステップ304において受信側クライアントAliceについて受信されたコードと一致するかどうかを検証することができる。いくつかの実施形態では、送信者Bobは、通知と比較するために、ステップ304で取得された受信したコードを、ユーザインターフェースを介して入力し得る。他の実施形態では、受信したコードがステップ304において電話で取得される場合、この受信したコードは、単に、ステップ308において受信された通知に照らしてチェックされる。他の実施形態では、受信したコードが、Bobに関連付けられたデジタルウォレットまたはストレージに記憶されている場合、ステップ308における通知に照らして一致を識別するためのチェックは、上記デジタルウォレットまたはストレージに関連付けられた1つまたは複数のプロセッサを使用して自動的に実行され得る。
ステップ312において、正しいエイリアス[email protected]がステップ306において入力された場合、ステップ208における通知は、コード「unique
monkey」を返す。この場合、ステップ304および308におけるコードは一致し、ステップ306におけるトランザクションは進行することが許可されるため、BobからAliceへの支払いが行われることができる。
ステップ314において、ステップ306において他のエイリアスが代わりに入力された場合、コードが返されないか、または入力されたエイリアスがいずれのエンティティにも関連しない場合、エラーメッセージが返される。入力されたエイリアスが実際に[email protected]などの支払いアドレスに対する有効なエイリアスである場合、異なるコード、すなわちblue blossomが代わりに返される。したがって、エイリアスは意図された受信者Aliceに対して正しくないと決定され、ステップ306におけるトランザクションは無視または放棄され得る。
ここで図4を参照すると、本開示の少なくとも1つの実施形態を実践するために使用され得るコンピューティングデバイス2600の例示的な簡略化されたブロック図が提供されている。様々な実施形態では、コンピューティングデバイス2600は、例示されており、上で説明したシステムのいずれかを実装するために使用され得る。例えば、コンピューティングデバイス2600は、図4のDBMSの1つまたは複数の構成要素として使用されるように構成されてもよく、またはコンピューティングデバイス2600は、所与のユーザに関連付けられたクライアントエンティティであるように構成されてもよく、ここで、クライアントエンティティは、図4のDBMSによって管理されるデータベースに対してデータベース要求を行う。したがって、コンピューティングデバイス2600は、ポータブルコンピューティングデバイス、パーソナルコンピュータ、または任意の電子コンピューティングデバイスであり得る。図4に示されるように、コンピューティングデバイス2600は、メインメモリ2608および永続ストレージ2610を含むストレージサブシステム2606と通信するように構成され得る1つまたは複数のレベルのキャッシュメモリおよびメモリコントローラ(まとめて2602とラベル付けされる)を有する1つまたは複数のプロセッサを含み得る。メインメモリ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に接続しているポートを通して送信され得る。コンピュータおよびネットワークの絶えず変化する性質により、図4に示されるコンピューティングデバイス2600の説明は、デバイスの好ましい実施形態を例示する目的のための具体例としてのみ意図される。図4に示されるシステムよりも多いまたは少ない構成要素を有する多くの他の構成が可能である。
列挙された例示的な実施形態
本開示は、特許請求される態様および実施形態をよりよく説明し、記述し、理解するための例示的な実施形態として本明細書に提供される、上記の態様に関する以下の条項に基づいて本明細書で議論される。
条項1.
分散型台帳に関連付けられたトランザクションのためのアドレス指定サービスを実施するコンピュータ実装方法であって、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有であり、各クライアントにはそれぞれのエイリアスが提供され、方法は、アドレス指定サービスに関連付けられた1つまたは複数のプロセッサによって実装され、以下を含む:
複数のシードワードを取得またはアクセスするステップ、
1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスについて、エイリアスを符号化し、符号化されたエイリアスにハッシュ関数を適用してハッシュ値を取得するステップ、
ハッシュ値から第1の系列を抽出するステップ、
第1の系列に基づいて複数のシードワードから少なくとも1つのシードワードを決定するステップ、ここで、少なくとも1つのシードワードは所与のエイリアスのコードを表す、および
所与のエイリアスに関連付けられたクライアントにコードを提供するステップ。
条項2.
第1の系列は第1の整数系列である、条項1に記載の方法。
条項3.
所与のクライアントに対するワードの数を表す入力を受信することと、所与のエイリアスに関連付けられたコードに対するシードワードの上記数を決定することとを含む、条項1または2に記載の方法。
条項4.取得されたハッシュ値にハッシュ関数を再適用してさらなるハッシュ値を取得し、さらなるハッシュ値はさらなる系列を提供する、条項1から3のいずれかに記載の方法。
条項5.
さらなる系列はさらなる整数系列である、条項4に記載の方法。
条項6.
ハッシュ関数は、さらに少なくとも1回再適用され、各さらなる再適用は、それぞれ以前に取得されたさらなるハッシュ値に対するものである、条項4または5に記載の方法。
条項7.
条項4から6のいずれかに記載の方法であって、以下をさらに含む:
アドレス指定サービスに関連付けられた機械可読リソースを更新するステップ、
ここで、機械可読リソースは、アドレス指定サービスに関連付けられた予測可能なまたは既知のロケーションで提供されるか、またはそこからアクセス可能であり、機械可読リソースは、以下を含む:
所与のエイリアスに関連付けられた公開アドレスにアクセスまたは取得するための1つまたは複数の命令であって、公開アドレスは、エイリアスに関連付けられたトランザクションを容易にするために使用される、1つまたは複数の命令、および
所与のクライアントに関連付けられたコードの1つまたは複数の系列を生成するために必要とされるハッシュの数を指定するエントリ。
条項8.
エイリアスがドメイン名に関連付けられる、条項1から7のいずれかに記載の方法。
条項9.
ディレクトリ内のドメイン名に関連付けられたエントリを提供することをさらに含み、上記エントリは、所与のクライアントに関連付けられたコードの1つまたは複数の系列を生成するために必要とされるハッシュの数を指定する、条項7に従属する場合の条項8に記載の方法。
条項10.
条項1から9のいずれかに記載の方法であって、以下をさらに含む:
所与のエイリアスの複数のバリエーションを識別すること、
識別された各バリエーションについて、バリエーションを符号化し、符号化されたバリエーションにハッシュ関数を適用してバリエーションハッシュ値を取得すること、
バリエーションハッシュ値から第2の系列を抽出すること、
第2の系列を、所与のエイリアスに関連付けられた第1の系列および/または1つもしくは複数のさらなる系列と比較すること、
衝突基準に基づいて、所与のエイリアスのコードを決定するために、第1の系列および/またはさらなる系列のうちの1つまたは複数を無視すること。
条項11.
第1の系列および/または第2の系列および/またはさらなる系列は整数系列である、条項10に記載の方法。
条項12.
衝突基準は、比較されるそれぞれの系列間のレーベンシュタイン距離である、条項10または11に記載の方法。
条項13.
分散型台帳のトランザクションに関連付けられたコンピュータ実装方法であって、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられ、方法は、1つまたは複数のクライアントの中のクライアントに関連付けられた1つまたは複数のプロセッサによって実装され、以下を含む:
クライアントに関連付けられたエイリアスをアドレス指定サービスに提供するステップ、
エイリアスに関連付けられるべきコードに対するワードの数をアドレス指定サービスに提供するステップ、
アドレス指定サービスからコードを取得するステップ、および
クライアントのための分散型台帳に関連付けられたトランザクションにおいて使用するために、エイリアスおよび関連付けられたコードを送信側クライアントに送るステップ、ここで、クライアントは、上記トランザクションの受信者である。
条項14.
アドレス指定サービスによって実装される条項1から12のいずれかに記載の方法ステップをさらに含む、条項13に記載の方法。
条項15.
アドレス指定サービスは、クライアントと統合されたコンピューティングリソースである、条項14に記載の方法。
条項16.
アドレス指定サービスは、クライアントに対して遠隔または別個のエンティティであり、クライアントは、有線またはワイヤレス通信ネットワークを介してアドレス指定サービスに通信可能に結合される、条項14に記載の方法。
条項17.
分散型台帳のトランザクションに関連付けられたコンピュータ実装方法であって、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、エイリアスはクライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられ、方法は、1つまたは複数のクライアントの中のクライアントに関連付けられた1つまたは複数のプロセッサによって実装され、以下を含む:
受信側クライアントのエイリアスを受信するステップ、ここで、エイリアスは、受信側クライアントの公開アドレスに関連付けられている、
受信されたエイリアスに関連付けられたコードを受信するステップ、
エイリアスに基づいて分散型台帳に関連付けられたトランザクションを生成するステップ、
エイリアスに関する通知を取得するステップ、および
通知が受信したコードと一致するという決定に基づいて、エイリアスに基づいて生成されたトランザクションを送るステップ、または
通知が受信したコードと一致しないという決定に基づいて、生成されたトランザクションを無視または削除するステップ。
条項18.
以下を備えるコンピューティングデバイスまたはシステム:
少なくとも1つのプロセッサ、および
少なくとも1つのプロセッサによる実行の結果として、コンピューティングデバイスまたはシステムに、アドレス指定サービスを実装する条項1から12のいずれかに記載のコンピュータ実装方法を実行させる実行可能命令を含むメモリ。
条項19.
以下を備えるコンピューティングデバイスまたはシステム:
少なくとも1つのプロセッサ、および
少なくとも1つのプロセッサによる実行の結果として、コンピューティングデバイスまたはシステムに、受信側クライアントを実装する条項13から16のいずれかに記載のコンピュータ実装方法を実行させる実行可能命令を含むメモリ。
条項20.
以下を備えるコンピューティングデバイスまたはシステム:
少なくとも1つのプロセッサ、および
少なくとも1つのプロセッサによる実行の結果として、コンピューティングデバイスまたはシステムに、送信側クライアントを実装する条項17に記載のコンピュータ実装方法を実行させる実行可能命令を含むメモリ。
条項21.
コンピューティングデバイスがデジタルウォレットである、条項18から20のいずれかに記載の方法。
条項22.
以下を備えるシステム:
条項18に記載のアドレス指定サービス、
条項19に記載の受信側クライアント、および
条項20に記載の送信側クライアント、
ここで、送信側クライアントおよび受信側クライアントは、第1の有線またはワイヤレス通信ネットワークを介して通信可能に結合され、受信側クライアントおよびアドレス指定サービスは、第2の有線またはワイヤレス通信ネットワークを介して通信可能に結合される。
条項23.
第1のネットワークおよび第2のネットワークが互いに同じであるかまたは異なる、条項22に記載のシステム。
条項24.
システムまたはコンピューティングデバイスのプロセッサによって実行された結果として、システムまたはコンピューティングデバイスに、条項1から17のいずれかに記載のコンピュータ実装方法を実行させる実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
上述の態様および実施形態は、本開示を限定するのではなく例示するものであり、当業者であれば、添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく多くの代替的な実施形態を設計することができることに留意されたい。特許請求の範囲において、括弧内に置かれた参照符号は、特許請求の範囲を限定するものとして解釈されるべきではない。「comprising」および「comprises」などの用語は、請求項または明細書全体に列挙されたもの以外の要素またはステップの存在を排除するものではない。本明細書において、「comprises(~を備える/含む)」は「includes or consists of(~を含むかまたは~から成る)」を意味し、「comprising(~を含んでいる)」は「including or consisting of(~を含んでいるかまたは~から成っている)」を意味する。要素の単数の参照は、そのような要素の複数の参照を除外するものではなく、逆もまた同様である。本開示は、いくつかの別個の要素を備えるハードウェアによって、および適切にプログラムされたコンピュータによって実装され得る。いくつかの手段を列挙する装置請求項では、これらの手段のいくつかは、ハードウェアの全く同一のアイテムによって具現化され得る。特定の手段が互いに異なる従属請求項に記載されているという事実だけでは、これらの手段の組合せが有利に使用できないことを示さない。

Claims (24)

  1. 分散型台帳に関連付けられたトランザクションのためのアドレス指定サービスを実施するコンピュータ実装方法であって、前記アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、前記エイリアスは前記クライアントに固有であり、各クライアントにはそれぞれのエイリアスが提供され、前記方法は、前記アドレス指定サービスに関連付けられた1つまたは複数のプロセッサによって実装され、
    複数のシードワードを取得またはアクセスするステップと、
    前記1つまたは複数のクライアントの中の所与のクライアントに関連付けられた所与のエイリアスについて、前記エイリアスを符号化し、前記符号化されたエイリアスにハッシュ関数を適用してハッシュ値を取得するステップと、
    前記ハッシュ値から第1の系列を抽出するステップと、
    前記第1の系列に基づいて前記複数のシードワードから少なくとも1つのシードワードを決定するステップと、ここで、前記少なくとも1つのシードワードは前記所与のエイリアスのコードを表し、
    前記所与のエイリアスに関連付けられた前記クライアントに前記コードを提供するステップと
    を含む方法。
  2. 前記第1の系列は第1の整数系列である、請求項1記載の方法。
  3. 前記所与のクライアントに対するワードの数を表す入力を受信することと、前記所与のエイリアスに関連付けられた前記コードに対するシードワードの前記数を決定することとを含む、請求項1または2に記載の方法。
  4. 前記取得されたハッシュ値に前記ハッシュ関数を再適用してさらなるハッシュ値を取得し、前記さらなるハッシュ値はさらなる系列を提供する、請求項1から3のいずれか一項に記載の方法。
  5. 前記さらなる系列はさらなる整数系列である、請求項4に記載の方法。
  6. 前記ハッシュ関数は、さらに少なくとも1回再適用され、各さらなる再適用は、それぞれ以前に取得されたさらなるハッシュ値に対するものである、請求項4または5に記載の方法。
  7. 前記アドレス指定サービスに関連付けられた機械可読リソースを更新するステップ
    をさらに含み、ここで、前記機械可読リソースは、前記アドレス指定サービスに関連付けられた予測可能なまたは既知のロケーションで提供されるか、またはそこからアクセス可能であり、前記機械可読リソースは、
    所与のエイリアスに関連付けられた公開アドレスにアクセスまたは取得するための1つまたは複数の命令であって、前記公開アドレスは、前記エイリアスに関連付けられたトランザクションを容易にするために使用される、1つまたは複数の命令と、
    所与のクライアントに関連付けられた前記コードの1つまたは複数の系列を生成するために必要とされるハッシュの数を指定するエントリと
    を含む、請求項4から6のいずれか一項に記載の方法。
  8. 前記エイリアスがドメイン名に関連付けられる、請求項1から7のいずれか一項に記載の方法。
  9. ディレクトリ内の前記ドメイン名に関連付けられたエントリを提供することをさらに含み、前記エントリは、所与のクライアントに関連付けられた前記コードの前記1つまたは複数の系列を生成するために必要とされるハッシュの数を指定する、請求項7に従属する場合の請求項8に記載の方法。
  10. 前記所与のエイリアスの複数のバリエーションを識別することと、
    識別された各バリエーションについて、前記バリエーションを符号化し、前記符号化されたバリエーションに前記ハッシュ関数を適用してバリエーションハッシュ値を取得することと、
    前記バリエーションハッシュ値から第2の系列を抽出することと、
    前記第2の系列を、前記所与のエイリアスに関連付けられた前記第1の系列および/または1つもしくは複数のさらなる系列と比較することと、
    衝突基準に基づいて、前記所与のエイリアスのコードを決定するために、第1の系列および/または前記さらなる系列のうちの1つまたは複数を無視することと
    をさらに含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記第1の系列および/または第2の系列および/またはさらなる系列は整数系列である、請求項10に記載の方法。
  12. 前記衝突基準は、比較されるそれぞれの系列間のレーベンシュタイン距離である、請求項10または11に記載の方法。
  13. 分散型台帳のトランザクションに関連付けられたコンピュータ実装方法であって、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、前記エイリアスは前記クライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられ、前記方法は、前記1つまたは複数のクライアントの中のクライアントに関連付けられた1つまたは複数のプロセッサによって実装され、
    前記クライアントに関連付けられた前記エイリアスをアドレス指定サービスに提供するステップと、
    前記エイリアスに関連付けられるべきコードに対するワードの数を前記アドレス指定サービスに提供するステップと、
    前記アドレス指定サービスから前記コードを取得するステップと、
    前記クライアントのための前記分散型台帳に関連付けられたトランザクションにおいて使用するために、前記エイリアスおよび前記関連付けられたコードを送信側クライアントに送るステップと
    を含み、ここで、前記クライアントは、前記トランザクションの受信者である、方法。
  14. 前記アドレス指定サービスによって実装される請求項1から12のいずれか一項に記載の方法ステップをさらに含む、請求項13に記載の方法。
  15. 前記アドレス指定サービスは、前記クライアントと統合されたコンピューティングリソースである、請求項14に記載の方法。
  16. 前記アドレス指定サービスは、前記クライアントに対して遠隔または別個のエンティティであり、前記クライアントは、有線またはワイヤレス通信ネットワークを介して前記アドレス指定サービスに通信可能に結合される、請求項14に記載の方法。
  17. 分散型台帳のトランザクションに関連付けられたコンピュータ実装方法であって、アドレス指定サービスに関連付けられた1つまたは複数のクライアントの中のクライアントにエイリアスが提供され、前記エイリアスは前記クライアントに固有であり、各クライアントはそれぞれのエイリアスに関連付けられ、前記方法は、前記1つまたは複数のクライアントの中のクライアントに関連付けられた1つまたは複数のプロセッサによって実装され、
    受信側クライアントのエイリアスを受信するステップと、ここで、前記エイリアスは、前記受信側クライアントの公開アドレスに関連付けられており、
    前記受信されたエイリアスに関連付けられたコードを受信するステップと、
    前記エイリアスに基づいて前記分散型台帳に関連付けられたトランザクションを生成するステップと、
    前記エイリアスに関する通知を取得するステップと、
    前記通知が前記受信したコードと一致するという決定に基づいて、前記エイリアスに基づいて前記生成されたトランザクションを送るステップ、または
    前記通知が前記受信したコードと一致しないという決定に基づいて、前記生成されたトランザクションを無視または削除するステップと
    を含む方法。
  18. コンピューティングデバイスまたはシステムであって、
    少なくとも1つのプロセッサと
    前記少なくとも1つのプロセッサによる実行の結果として、前記コンピューティングデバイスまたはシステムに、前記アドレス指定サービスを実装する請求項1から12のいずれか一項に記載のコンピュータ実装方法を実行させる実行可能命令を含むメモリと
    を備えるコンピューティングデバイスまたはシステム。
  19. コンピューティングデバイスまたはシステムであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサによる実行の結果として、前記コンピューティングデバイスまたはシステムに、前記受信側クライアントを実装する請求項13から16のいずれか一項に記載の前記コンピュータ実装方法を実行させる実行可能命令を含むメモリと
    を備えるコンピューティングデバイスまたはシステム。
  20. コンピューティングデバイスまたはシステムであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサによる実行の結果として、前記コンピューティングデバイスまたはシステムに、前記送信側クライアントを実装する請求項17に記載のコンピュータ実装方法を実行させる実行可能命令を含むメモリと
    を備えるコンピューティングデバイスまたはシステム。
  21. 前記コンピューティングデバイスがデジタルウォレットである、請求項18から20のいずれか一項に記載の方法。
  22. システムであって、
    請求項18に記載のアドレス指定サービスと、
    請求項19に記載の受信側クライアントと、
    請求項20に記載の送信側クライアントと
    を備え、
    前記送信側クライアントおよび前記受信側クライアントは、第1の有線またはワイヤレス通信ネットワークを介して通信可能に結合され、前記受信側クライアントおよび前記アドレス指定サービスは、第2の有線またはワイヤレス通信ネットワークを介して通信可能に結合される、
    システム。
  23. 前記第1のネットワークおよび前記第2のネットワークが互いに同じであるかまたは異なる、請求項22に記載のシステム。
  24. システムまたはコンピューティングデバイスのプロセッサによって実行された結果として、前記システムまたはコンピューティングデバイスに、請求項1から17のいずれか一項に記載のコンピュータ実装方法を実行させる実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
JP2022535433A 2019-12-24 2020-12-11 分散型台帳に関連付けられたトランザクションの宛先アドレス指定 Pending JP2023507927A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1919298.8 2019-12-24
GBGB1919298.8A GB201919298D0 (en) 2019-12-24 2019-12-24 Computer-implemented system and method
PCT/IB2020/061807 WO2021130586A1 (en) 2019-12-24 2020-12-11 Destination addressing for transactions associated with a distributed ledger

Publications (1)

Publication Number Publication Date
JP2023507927A true JP2023507927A (ja) 2023-02-28

Family

ID=69322949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022535433A Pending JP2023507927A (ja) 2019-12-24 2020-12-11 分散型台帳に関連付けられたトランザクションの宛先アドレス指定

Country Status (6)

Country Link
US (1) US20230036694A1 (ja)
EP (1) EP4081967A1 (ja)
JP (1) JP2023507927A (ja)
CN (1) CN114868143A (ja)
GB (1) GB201919298D0 (ja)
WO (1) WO2021130586A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11749106B2 (en) * 2018-11-19 2023-09-05 Mark Lamoncha Stop sign with traffic control features
CN111736953A (zh) * 2020-06-23 2020-10-02 深圳市云智融科技有限公司 虚拟资源投放方法、装置、计算机设备及存储介质
CN112418054A (zh) * 2020-11-18 2021-02-26 北京字跳网络技术有限公司 图像处理方法、装置、电子设备和计算机可读介质
JP2022100163A (ja) * 2020-12-23 2022-07-05 トヨタ自動車株式会社 音源推定サーバ、音源推定システム、音源推定装置、音源推定方法
CN112907600B (zh) * 2021-03-10 2024-05-24 无锡禹空间智能科技有限公司 目标检测模型的优化方法及***
KR20230049967A (ko) * 2021-10-07 2023-04-14 한국전자통신연구원 무선 분산 통신 시스템에서 신뢰 필드를 이용한 패킷의 무결성 검사 방법 및 장치
CN114326956B (zh) * 2021-12-03 2023-06-16 苏州浪潮智能科技有限公司 一种免工具拆装的风扇模组及服务器机箱
CN114707265B (zh) * 2022-03-30 2023-07-25 西南交通大学 五轴球头铣削加工表面纹理形貌的评价指标的提取方法
CN115098837B (zh) * 2022-06-21 2024-05-24 马上消费金融股份有限公司 数据处理方法及装置
CN116227452B (zh) * 2023-01-05 2024-03-22 易方达基金管理有限公司 使用组装式卡片分析模板的方法、装置、设备及存储介质
CN116071835B (zh) * 2023-04-07 2023-06-20 平安银行股份有限公司 人脸识别攻击事后筛查的方法、装置和电子设备
CN117692230A (zh) * 2023-12-18 2024-03-12 永信至诚科技集团股份有限公司 网络攻防演练的信息共享方法、***、电子设备和介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866545B2 (en) * 2015-06-02 2018-01-09 ALTR Solutions, Inc. Credential-free user login to remotely executed applications
MX2018010045A (es) * 2016-02-23 2019-01-21 Nchain Holdings Ltd Intercambio basado en cadena de bloques con tokenizacion.
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
US20200193420A1 (en) * 2018-09-04 2020-06-18 Bit Key, Inc. Data management systems and methods
US11558409B2 (en) * 2018-10-31 2023-01-17 SpyCloud, Inc. Detecting use of passwords that appear in a repository of breached credentials

Also Published As

Publication number Publication date
EP4081967A1 (en) 2022-11-02
WO2021130586A1 (en) 2021-07-01
GB201919298D0 (en) 2020-02-05
US20230036694A1 (en) 2023-02-02
CN114868143A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
JP2023507927A (ja) 分散型台帳に関連付けられたトランザクションの宛先アドレス指定
US20190140848A1 (en) Decentralized Access Control for Cloud Services
RU2367998C2 (ru) Способ и система для распознавания регистрационной информации
AU2013272076B2 (en) Method and devices for managing user accounts across multiple electronic devices
US20140041005A1 (en) Method and system of login authentication
US20220270085A1 (en) Destination addressing associated with a distributed ledger
US20240086914A1 (en) Platform for a plurality of services associated with a blockchain
WO2020212784A1 (en) Destination addressing associated with a distributed ledger
US20220198444A1 (en) Computer-implemented system and method for implementing alias-based addressing for a distributed ledger
CN115917546A (zh) 生成区块链地址
US10250579B2 (en) Secure file transfers within network-based storage
JP2022511971A (ja) ブロックチェーン上で行われる移転の実行を制御又は強制するためのコンピュータにより実現されるシステム及び方法
US11880830B2 (en) Systems and methods for generating, securing, and maintaining emoji sequence digital tokens
EP4381410A1 (en) A computer implemented method and system
CN114641967A (zh) 区块链交易的回调机制
CN113228075B (zh) 用于控制或强制执行在区块链上进行的转移的计算机实现的***和方法
Murphy A digital identity system based on a basic feature phone
US10708301B2 (en) Method of, and apparatus for, secure online electronic communication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231114