(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】譲渡不可能なトークン
(51)【国際特許分類】
G06F 21/33 20130101AFI20241029BHJP
G06F 21/64 20130101ALI20241029BHJP
【FI】
G06F21/33
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024548516
(86)(22)【出願日】2022-10-19
(85)【翻訳文提出日】2024-06-12
(86)【国際出願番号】 US2022047116
(87)【国際公開番号】W WO2023069505
(87)【国際公開日】2023-04-27
(32)【優先日】2021-10-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】524152919
【氏名又は名称】アヴァ・ラボラトリーズ・インコーポレイテッド
【氏名又は名称原語表記】AVA LABS, INC.
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100129425
【氏名又は名称】小川 護晃
(74)【代理人】
【識別番号】100168642
【氏名又は名称】関谷 充司
(74)【代理人】
【識別番号】100217076
【氏名又は名称】宅間 邦俊
(72)【発明者】
【氏名】セクニチ,ケヴィン
(72)【発明者】
【氏名】シラー,エミン・ギュン
(72)【発明者】
【氏名】オグラディ,パトリック・ロバート
(57)【要約】
対象技術の様々な態様は、デジタル資格情報を提供するためのシステム、方法、及び機械可読媒体に関する。様々な態様は、ブロックチェーン上で取引を実行するための要求を受信することを含み得る。態様はまた、要求を発信した当事者を識別することを含み得る。態様はまた、ブロックチェーン上に記憶された譲渡不可能な資格情報の発行者を選択することを含み得る。態様はまた、当事者からの譲渡不可能な資格情報の受信を要求することを含み得る。態様は、譲渡不可能な資格情報の鍵ペアを含むデジタル署名されたステートメントに基づいて、資格情報チェックを実施することを含み得る。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ブロックチェーンにおける取引の実行のための要求を受信することと、
前記要求を発信した当事者を識別することと、
前記ブロックチェーン上に記憶された譲渡不可能な資格情報の発行者を選択することと、
前記譲渡不可能な資格情報の所有権に関連するデジタル署名されたステートメントに基づいて、資格情報チェックを実施することと、を含む、コンピュータ実装方法。
【請求項2】
前記当事者を識別することは、前記当事者が前記譲渡不可能な資格情報を所持し、前記譲渡不可能な資格情報が非一意の資格情報のカテゴリの下で分類されると決定することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
譲渡不可能な資格情報の発行者を選択することが、前記ブロックチェーン上のパブリックアドレスに付与された移動不可能な資格情報として前記譲渡不可能な資格情報を記憶することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記当事者からの前記譲渡不可能な資格情報の受信を要求することが、譲渡不可能な資格情報に対応する秘密鍵を所持する前記当事者を示す属性値ペアを受信することを含み、前記デジタル署名されたステートメントが、前記属性値ペアを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
資格情報チェックを実施することが、前記当事者からゼロ知識証明を受信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記譲渡不可能な資格情報の前記発行者によって、前記譲渡不可能な資格情報の有効期限を決定することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記譲渡不可能な資格情報の前記発行者によって、前記譲渡不可能な資格情報の鍵セットの取り消しを実施することを決定することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記当事者が前記譲渡不可能な資格情報を所持するという定足数証明(quorum attestation)を、暗号署名を介してキャプチャすることと、
前記当事者のために、前記定足数証明に基づいて、前記譲渡不可能な資格情報の所有権の証明を生成することと、を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記譲渡不可能な資格情報のパラメータを決定することであって、前記ブロックチェーン上の前記譲渡不可能な資格情報の暗号化が、前記当事者に対応する鍵によって解読可能である、決定することと、
前記譲渡不可能な資格情報の特性を示す画像表現を受信することと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
システムであって、
1つ以上のプロセッサと、
メモリであって、前記1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、
ブロックチェーンにおける取引の実行のための要求を受信することと、
前記要求を発信した当事者を識別することと、
前記ブロックチェーン上に記憶された譲渡不可能な資格情報の発行者を選択することと、
前記譲渡不可能な資格情報のパラメータを決定することであって、前記ブロックチェーン上の前記譲渡不可能な資格情報の暗号化が、前記当事者に対応する鍵によって解読可能である、決定することと、
前記当事者からの前記譲渡不可能な資格情報の受信を要求することと、
前記譲渡不可能な資格情報の所有権に関連するデジタル署名されたステートメントに基づいて、資格情報チェックを実施することと、を実施させる、そこに記憶された命令を含む、メモリと、を備える、システム。
【請求項11】
前記1つ以上のプロセッサに、前記要求を発信した前記当事者を識別させる前記命令は、前記当事者が前記譲渡不可能な資格情報を所持しており、前記譲渡不可能な資格情報が非一意の資格情報のカテゴリの下で分類されると決定することを前記1つ以上のプロセッサに実施させる、請求項10に記載のシステム。
【請求項12】
前記1つ以上のプロセッサに、譲渡不可能な資格情報の発行者を選択することを実施させる前記命令が、前記1つ以上のプロセッサに、前記ブロックチェーン上のパブリックアドレスに付与された移動不可能な資格情報として前記譲渡不可能な資格情報を記憶することを実施させる、請求項10に記載のシステム。
【請求項13】
前記1つ以上のプロセッサに、前記要求を発信した前記当事者からの前記譲渡不可能な資格情報の受信を要求することを実施させる前記命令が、前記1つ以上のプロセッサに、前記譲渡不可能な資格情報に対応する秘密鍵を所持する前記当事者を示す属性値ペアを受信することを実施させ、前記デジタル署名されたステートメントが、前記属性値ペアを含む、請求項10に記載のシステム。
【請求項14】
前記1つ以上のプロセッサに、資格情報チェックの実施を実施させる前記命令が、前記1つ以上のプロセッサに、前記当事者からゼロ知識証明を受信することを実施させる、請求項10に記載のシステム。
【請求項15】
前記1つ以上のプロセッサに、前記パラメータを決定することを実施させる前記命令は、許可される前記譲渡不可能な資格情報の限られた量の移動を決定することを含む、請求項10に記載のシステム。
【請求項16】
命令前記1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、前記譲渡不可能な資格情報の前記発行者によって、前記譲渡不可能な資格情報の有効期限を決定することを実施させる、命令の記憶されたシーケンスを更に含む、請求項10に記載のシステム。
【請求項17】
前記1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、前記譲渡不可能な資格情報の前記発行者によって、前記譲渡不可能な資格情報の鍵セットの取り消しを実施することを決定することを実施させる、命令の記憶されたシーケンスを更に含む、請求項10に記載のシステム。
【請求項18】
前記1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、
前記当事者が前記譲渡不可能な資格情報を所持するという定足数証明を、暗号署名を介してキャプチャすることと、
前記当事者のために、前記定足数証明に基づいて、前記譲渡不可能な資格情報の所有権の証明を生成することと、を実施させる、命令の記憶されたシーケンスを更に含む、請求項10に記載のシステム。
【請求項19】
前記1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、
前記譲渡不可能な資格情報のパラメータを決定することであって、前記ブロックチェーン上の前記譲渡不可能な資格情報の暗号化が、前記当事者に対応する鍵によって解読可能である、決定することと、
前記譲渡不可能な資格情報の特性を示す画像表現を受信することと、を実施させる、命令の記憶されたシーケンスを更に含む、請求項10に記載のシステム。
【請求項20】
非一時的コンピュータ可読記憶媒体であって、1つ以上のプロセッサによって実行される時に、前記1つ以上のプロセッサに、
ブロックチェーン上で取引を実行するための要求を受信することと、
前記要求を発信した当事者を識別することと、
前記ブロックチェーン上に記憶された譲渡不可能な資格情報の発行者を選択することと、
前記譲渡不可能な資格情報の譲渡可能なパラメータを決定することと、
前記当事者からの前記譲渡不可能な資格情報の受信を要求することと、
前記譲渡不可能な資格情報の特性を示す画像表現を受信することと、
前記譲渡不可能な資格情報の所有権に関連するデジタル署名されたステートメントに基づいて、資格情報チェックを実施することと、を含む動作を実施させる、そこに記憶された命令を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、2021年10月19日に出願された米国仮特許出願第63/257,475号「NON-TRANSFERABLE TOKEN」に関連し、米国特許法第1.119条(e)に基づく優先権を主張するものであり、その内容は、参照により、それらの全体が、全ての目的のために本明細書に組み込まれる。
【0002】
本開示は、概して、ブロックチェーンを介して実装される資産及び取引に関し、より具体的には、移動不可能なデジタル資格情報に基づいた資格情報の確認を必要とするブロックチェーン取引所(例えば、暗号通貨取引所)に関する。
【背景技術】
【0003】
ブロックチェーン取引は、ブロックチェーンに対してネイティブ様式で実施される身元確認を必要とする。つまり、ブロックチェーンは外部のサードパーティのアプリケーションプログラミングインターフェース(API)呼び出しを必要とする身元確認に対処することができないので、特定のブロックチェーン取引はインタラクティブな身元確認を使用すべきではない。したがって、ブロックチェーン上の確認資格情報は、インタラクティブな身元確認を回避することができる。具体的には、ブロックチェーン上に記憶された譲渡不可能なトークンを、非インタラクティブな身元確認に使用することができる。
【図面の簡単な説明】
【0004】
更なる理解を提供するために含まれ、本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、開示された実施形態を例解し、明細書と共に、開示された実施形態の原理を説明するのに役立つ。
【0005】
【
図1】本開示の態様を実装することができるデバイス動作環境のブロック図である。
【
図2】本開示のある特定の態様による、譲渡不可能なセキュリティ資格情報を生成するための例示的なブロックチェーンベースのプラットフォームの例示的なコンピューティングネットワークのブロック図である。
【
図3】対象技術の態様が実装され得る例示的なコンピュータシステム(例えば、クライアント及びサーバの両方を表す)を例解するブロック図である。
【
図4A】本明細書に開示される、譲渡不可能なトークンを確認するための例示的なフロー図を例解する。
【
図4B】本明細書に開示される、譲渡不可能なトークンを確認するための例示的なフロー図を例解する。
【
図4C】本明細書に開示される、譲渡不可能なトークンを確認するための例示的なフロー図を例解する。
【
図5】本開示のある特定の態様による、コンピューティングプラットフォームを介して譲渡不可能なブロックチェーンセキュリティ資格情報を生成するための例示的なフロー図である。
【
図6】本開示の態様が実装され得る例示的なコンピュータシステムを例解するブロック図である。
【0006】
1つ以上の実装形態では、各図に描画されたコンポーネントの全てが必要とされるとは限らず、1つ以上の実装形態は、図に示されていない追加のコンポーネントを含み得る。本開示の範囲から逸脱することなく、コンポーネントの配置及びタイプが変更され得る。追加のコンポーネント、異なるコンポーネント、又はより少ないコンポーネントが、対象の開示の範囲内で利用され得る。図では、特に明記しない限り、同じ又は同様の参照番号を有する要素は、同じ又は同様の属性に関連付けられている。
【発明を実施するための形態】
【0007】
以下の詳細な説明では、本開示を完全に理解するために、多くの特定の詳細が記載される。しかしながら、当業者には、本開示の実施形態は、これらの具体的な詳細のいくつかを伴わずに実施され得ることが明らかであろう。他の例では、本開示を不明瞭にしないように、周知の構造及び技法が詳細に示されていない。
【0008】
以下に記載された詳細な説明は、対象技術の様々な構成を説明しており、対象技術が実施され得る唯一の構成を表すことを意図するものではない。詳細な説明は、対象技術を完全に理解する目的のための具体的な詳細を含む。したがって、寸法は、非限定的な例としてある特定の態様に関して提供され得る。しかしながら、本開示の技術は、これらの具体的な詳細を伴わずに実践され得ることが当業者には明らかであろう。いくつかの例では、対象技術の概念を不明瞭にすることを避けるために、周知の構造及びコンポーネントがブロック図の形態で示されている。
【0009】
本開示は、対象技術の例を含み、含まれる条項の範囲を限定しないことを理解されたい。次に、特定の例であるが、非限定的な例に従って、対象技術の様々な態様が開示される。本開示に記載される様々な実施形態は、異なる方式及び変形形態において、所望の用途又は実装形態に従って実施され得る。
【0010】
以下の詳細な説明では、本開示を完全に理解するために、多くの特定の詳細が記載される。しかしながら、当業者には、本開示の実施形態が、具体的な詳細のいくつかを伴わずに実践され得ることが明らかであろう。他の例では、本開示を不明瞭にしないように、周知の構造及び技法が詳細に示されていない。
【0011】
ブロックチェーン取引は、集中型取引所又は分散型取引所を介して実施され得る。一般的な金融取引における顧客(KYC)確認チェックの適用と同様に、取引の身元を確認することが有益である場合がある。ブロックチェーン資産は、金融取引のためのプログラム(例えば、スマートコントラクト)、又は他の機能のためのブロックチェーン上のコードを使用する他のプログラムを含むことができる。譲渡不可能なトークン(NTT)は、取引の当事者のグローバル確認のためのメカニズムを有利に提供し得る。NTTは、ブロックチェーン上のアドレスに関連付けられた資産である。いくつかの実施形態では、NTTは、任意選択で、追加の資格情報、並びに暗号化又は符号化されたデータペイロードを含み得る。更に、NTTは、(例えば、スマートコントラクト又は任意の他の資産取引において)非インタラクティブな身元証明を用いて、当事者の身元を確認し得る。特定のブロックチェーン実装形態は、身元のインタラクティブな証明を実施するために必要な要求情報の外部サードパーティアプリケーションプログラミングインターフェース(API)呼び出しを実行することができない場合があるため、非インタラクティブであることが有利であり得る。NTTは、要求しているブロックチェーンアドレスに割り当てられたNTTに基づいて、適切に身元を確認する際に実行を許可するためのブロックチェーン取引(例えば、スワップ関数)の要求された実行又は関数呼び出しの前の身元確認に使用され得る。一例として、NTT確認は、集中型取引所によって、又はNTT確認の前提条件を有する拡張関数呼び出しを介して実施され得る。特に、NTTとインタラクトするブロックチェーン取引は、NTTの発行者に関連付けられた署名を検査することができる。
【0012】
NTTは、オープンソース様式で運営される(例えば、プラットフォームの任意の参加者が、任意のアプリケーションを開発することができる)ブロックチェーンプラットフォームの当事者の身元を確認するための有利な手段であり得る。NTTは、ブロックチェーンプラットフォームに関連する認定投資家の地位を評価するためにも使用され得る。ブロックチェーン取引は、例えば、適切な当事者に資金を解放すること、車両を登録すること、通知を送信すること、イベントのチケットを発行すること、契約従業員に特定の建物又は建物内のエリアへのアクセスを許可すること、サードパーティの身元を確認することなどを含み得る。対応するパブリックブロックチェーンは、取引が完了すると更新され、変更することはできない。したがって、NTTを介するなどして、セキュリティメカニズム及び確認が実装されることは有益であり得る。パブリックブロックチェーンに保管された資産(スマートコントラクト、暗号通貨など)は、ブロックチェーン資産とインタラクトすることができる当事者を限定すべきである。しかしながら、パブリックブロックチェーン上で実行される取引は、ユーザアカウントがブロックチェーン上で定義された機能とインタラクトすることを防止するか、又はブロックチェーン上で定義された機能を実行させることを防止することが難しい場合がある。したがって、ブロックチェーン取引は、ブロックチェーンにネイティブである方式で実装される身元証明を必要とする場合がある。いくつかの実施形態では、ブロックチェーンプラットフォームは、決定論的実行をサポートする。したがって、全てのノードは、同じ結果で同じコードを実行することができ得る。外部呼び出しは、ブロックチェーンシステムによって決定論的であることを確認することができないため、通常、ブロックチェーンでは許可されていない。したがって、ブロックチェーンプラットフォームは外部API呼び出しを行わない場合がある。いくつかの実施形態では、ブロックチェーンは、本明細書に開示されるように、特定の妥当性チェックを含む外部API呼び出しを可能にし得る。
【0013】
本開示のNTTは、ブロックチェーンが実施することができない外部API呼び出しを必要とすることなく、身元の証明として機能することができる。本明細書に開示される有効性チェックは、署名チェック、データペイロードのチェック、及び/又はNTTの所持のゼロ知識証明を含み得る。具体的には、特定のユーザアカウント又はブロックチェーンアドレスが特定の資産とインタラクトすることを許可する前に、NTT又はNTTに関連付けられた署名確認が必要になる場合がある。署名確認は、公開-秘密鍵暗号化(例えば、セキュリティ)確認又はゼロ知識証明に基づくことができる。一例として、NTT保有者は、NTT発行者からのデジタル署名されたステートメント(例えば、属性値のペア)又はNTT資格情報に基づく証明を使用して、機密性の高い個人情報を開示することなく資格情報チェックを完了することができる。本明細書で考察されるように、NTTの発行者は、身元が確認されている対応するユーザによって制御される特定のパブリックブロックチェーンアドレスにNTTを発行する前に、ユーザ身元及び他の関連情報の堅牢なセキュリティ確認を実行し得る。
【0014】
図1は、本開示の態様を実装することができるデバイス動作環境のブロック図である。
図1に例解されるデバイスでは、サーバ130とクライアント110との間に明確な区別はない。例えば、サーバ130は、1つのブロックチェーンを実装するコードを実行し、クライアントデバイス110のいずれか1つ(例えば、携帯電話、ラップトップ、パームデバイス、又はデスクトップ)は、そのコードを実行して、少なくとも一時的に、ブロックチェーンをホストするサーバとしての資格を得ることができる。
図1は、いくつかの実施形態による、フィルタリングされたビジュアルメディアコンテンツアイテムを出力するためのブロックチェーン資格情報プラットフォームを提供するための例示的なネットワークアーキテクチャ100を例解する。
図1のネットワークアーキテクチャは、1つ以上のクライアントデバイス110と、ネットワーク150を介して通信可能に結合されている1つ以上のサーバ130と、を含む。ネットワーク150は、(例えば、光ファイバ又は銅線、電話線などを介する)有線ネットワーク又は無線ネットワーク(例えば、セルラネットワーク、無線周波数(RF)ネットワーク、Wi-Fi、Bluetoothなど)を含み得る。クライアントデバイス110は、モバイルデバイス、ラップトップ、デスクトップ、タブレット(例えば、パーム又はパッド)デバイス、テレビ、ディスプレイデバイスなどのいずれか1つであり得る。クライアントデバイス110は、本明細書に記載のメカニズムなどを介して、非インタラクティブな身元確認を伴うブロックチェーンプラットフォームを介して取引を実施するように、ユーザによって制御され得る。複数のクライアントデバイス110は、無線接続、有線接続、アドホック接続、モバイル接続、衛星接続などのオンライン接続又はオフライン接続を介して、サーバ130によってホストされるブロックチェーンプラットフォームにアクセスし得る。サーバ130はまた、少なくとも一時的に、スマートフォンなどのライトデバイス又はモバイルデバイス上で実行され得る。サーバ130の各々は、1つ以上のデスクトップコンピュータ又はラック上に取り付けられたパネルなどを含むクラウドコンピューティングサーバの一部などのコンピューティングデバイスであり得る。パネルは、処理ボード、及びまた、スイッチボード、ルータ、及び他のネットワークデバイスを含み得る。
【0015】
図2は、本開示のある特定の態様による、ブロックチェーンベースの身元確認を実施するための例示的なコンテンツプラットフォームの例示的なコンピューティングネットワーク200のブロック図である。身元確認は、1つの集合的オペレーティングシステム上で効果的に運用されるブロックチェーン取引にとって有利であり得る、非インタラクティブな非譲渡可能トークンに基づき得る。すなわち、ブロックチェーン取引は、外部API又はリモートAPIとインタラクトするように構成されておらず、それにより、身元確認のためにクエリによって外部API呼び出しを行うことはできない。
図2は、いくつかの実施形態による、
図1のネットワークアーキテクチャで使用するための、例示的なコンピューティングネットワーク200の(1つ以上のクライアントデバイスのうちの)クライアントデバイス110及び(1つ以上のサーバのうちの)サーバ130を例解する。身元確認は、クライアントデバイス110のユーザが実際に、ユーザが象徴している人物であること、及び/又はユーザが限定されたユーザ(例えば、限定された管轄区域の市民など)ではないことを確認するために使用され得る。したがって、ブロックチェーンが、クライアントデバイス110に対応するアドレスによって所有される(例えば、イエローカード、レッドカードなどを保持するクライアントデバイス110のユーザとして視覚化することができる)非インタラクティブなタイプの身元タグに基づいて身元を確認することは有益であり得る。言い換えれば、身元タグは、ブロックチェーン上のパブリックアドレスに割り当てられ又は付与される譲渡不可能なトークン(NTT)として表すことができる。身元タグは、ブロックチェーン上のパブリックアドレスに対する所有権の証明として示され得る。
【0016】
1つ以上のクライアントデバイス110及び1つ以上のサーバ130の各々は、対応する通信モジュール210a~210bを介して、ネットワーク150内で互いに、かつ他のデバイスにアクセスし得る。通信モジュール210a~210bは各々、RFアンテナ、アナログ回路、デジタル/アナログ変換回路、デジタル信号処理回路などの無線ハードウェア及びソフトウェアを含み得る。それぞれ、
図1~
図2に描画されたクライアントデバイス110及びサーバ130は各々、プロセッサ205a~205b及びメモリ220a~220bを含むことができる。クライアントデバイス110のプロセッサ205aは、クライアントデバイス110上でレンダリングされたアプリケーション及びその機能を実行するなど、クライアントデバイス110を動作させるために使用され得る。サーバ130のプロセッサ205bは、ブロックチェーンベースの身元確認を実施するために使用され得る。いくつかの実施形態では、NTT発行は、サードパーティによって実施され、サーバ130は、NTT発行取引を処理し、記録する。サーバ130は、ブロックチェーン上でデジタル資格情報を生成するための証明された認定局として機能することができる資格情報発行者に対応することができる。一例として、サーバ130は、1つ以上のクライアントからブロックチェーン資産アドレス(例えば、暗号通貨アカウントアドレス、スマートコントラクトアドレスなど)を受信することに基づいて、ブロックチェーン上に新しいカード(例えば、NTT、デジタル資格情報)をミントし得る。このようにして、作成されたNTTは、対応するクライアント及び/又はユーザを介して入力されるブロックチェーンアドレス上に所有されるNTTレコードとして記録されたトークンである。すなわち、NTT又は資格情報は、ブロックチェーンアドレスに関連付けられるか、ブロックチェーンアドレスによって留保されるか、又はブロックチェーンアドレス上に所有され得る。対応するクライアントデバイス110のブロックチェーンアドレスは、資産に符号化された他のブロックチェーントークン(例えば、ライセンス、投票、暗号通貨)を記憶することができる。
【0017】
一般に、クライアントデバイス110及びサーバ130は、少なくとも命令を記憶するメモリ220a~220bと、本明細書に開示される方法で説明される1つ以上のステップを少なくとも部分的に実施するために命令を実行するように構成されたプロセッサ205a~205bと、を含むコンピューティングデバイスを備える。例えば、クライアントデバイス110のメモリ220aは、サーバ130によってホストされるブロックチェーンプラットフォームに対応するブラウザ、アプリケーション、又はデバイスコンポーネントにアクセスするために使用され得る。サーバ130の設定は、入力デバイス230bなどを介して、ユーザ/オペレータ入力を介して定義することができる。クライアントデバイス110は、クライアントデバイス110上にレンダリングされるグラフィカルユーザインターフェース(GUI)画面などを介して、ブロックチェーン取引を実施することなどのために、ブロックチェーンプラットフォームのユーザによって使用され得る。例えば、クライアントデバイス110は、(例えば、ユーザによって知覚可能なユーザ入力及び出力のために)ユーザによってアクセス可能な少なくとも1つの入力デバイス230a及び出力デバイス232に結合され得る。入力デバイス230aは、マウス、キーボード、ポインタ、スタイラス、タッチスクリーンディスプレイ、マイク、音声認識ソフトウェア、グラフィカルユーザインターフェース(GUI)などを含むことができる。出力デバイス232は、ディスプレイ(例えば、入力デバイスと同じタッチスクリーンディスプレイ)、スピーカ、アラームなどを含むことができる。
【0018】
有利には、ブロックチェーンベースの身元確認は、クライアントデバイス110のユーザが個人的な詳細(例えば、個人名、物理的な地理的住所など)を提供することを必要としない場合がある。NTTは、ブロックチェーン上のパブリックアドレスの所有者が移動又は転送することができないデジタル資産であるため、NTTが別のサードパーティからのクライアントデバイス110のユーザによって受信されていることがあり得ないことを知っている取引所などのエンティティによって身元確認を実施することができる。身元確認は、確認されたユーザ/クライアントデバイス110が、特定のアイテムを購入すること、又は特定の暗号通貨ベースの取引を実施することなど、未確認の人々が利用できない特定のアクションを実施することを可能にするために使用され得る。追加的に又は代替的に、NTTは、NTTが特定の目的(例えば、NTTがNTTの所有者から継承される場合の確認された遷移など)のために厳密に限定された様式で譲渡可能であるように、限定された移転機能によって埋め込まれたデジタル資格情報として実装され得る。NTTは、非代替性トークン(NFT)と同様に機能することができる。特に、NTTは、より小さいユニットに細分化することができない一意のトークンであり得る。すなわち、1つのNTTを1つのトークンよりも小さいトークンに分割することはできず、同じNTTの別のインスタンスが存在することができないように一意である。
【0019】
NTTは、トークンを記憶するクライアントデバイス110のデータベース222内にあり得る。入力デバイス230aは、トークン交換、スワップなどを含む取引を実施するために、クライアント上に記憶されたトークンにアクセスするために使用され得る。データファイル224は、資格情報発行者によって使用されて、ブロックチェーンベースの身元確認を実施し得る。メモリ220aに記憶されたデータファイル224は、クライアントデバイス110の関連付けられたユーザに固有のアプリケーション設定、ファイル、及びデータを含むことができる。資格情報識別子は、NTTデジタル資格情報を発行し、かつ/又は身元確認のために特定のブロックチェーンアドレス及び/若しくはクライアントデバイス110について資格情報チェックを実施するための情報を記憶するデータベース226、228を含むメモリ220bを含むことができるサーバ130に対応することができる。ブロックチェーン資産又は取引との要求されたインタラクション中、ブロックチェーン資産に対応するアドレス上に記憶されたNTTは、スワップ、関数呼び出し(例えば、ブロックチェーン関数)、又はブロックチェーンとの他の所望のインタラクションを可能にするために、正確さについてチェックされ得る。スワップは、ソーストークンを宛先トークンとスワップすることを指すことができる。したがって、資格情報チェックは、インタラクティビティを必要としない(例えば、サードパーティのAPI呼び出しは必要ない)。NTTの所有者とのインタラクションは、NTTが最初に発行され、ブロックチェーン上の所有者のアドレス上に記憶された時にのみ必要になり得る。
【0020】
NTTを発行するサーバ130は、KYC、集中型取引所、分散型取引所などを実施する機関など、任意の好適な証明された資格情報発行認定局であり得る。特定のブロックチェーン資産の開発者は、資格情報発行者の任意の好適なグループからNTTを選択することができるので、別の当事者が特定のブロックチェーン資産とのインタラクションを要求すると、この当事者は資格情報チェックの対象となり得る。すなわち、他の当事者は、特定のブロックチェーン資産とのインタラクトすることを許可される前に、正しいNTTを所持していることを証明する必要がある。資格情報チェックは、(例えば、暗号化のための公開-秘密鍵などの鍵ペアに対応する)属性値ペアを含むデジタル署名されたステートメントをチェックして、他の当事者によって生成されたブロックチェーンアドレス上に記憶されたNTTを確認することを含み得る。このようにして、資格情報発行機関のパブリックアドレスに対応する署名は、NTTが正しい資格情報発行認定局によって発行されているかどうかを確認することができるように、特定のブロックチェーン資産に符号化され得る。
【0021】
特に、NTTとインタラクトするブロックチェーン資産は、NTTの発行者に関連付けられた署名をチェックして、NTTが(例えば、証明書認証局/NTT発行者の公開-秘密鍵の公開鍵及び/又は署名チェックと共用されないNTT発行者によって保持される公開-秘密鍵に基づいて)許可及び確認されることを確認することができる。言い換えれば、NTT発行者によって保持される秘密鍵なしに、当事者がデジタル署名を複製することはできないので、NTTのデジタル署名は、妥当性及び真正性についてチェックされ得る。NTTは非インタラクティブであるので、ブロックチェーン取引所は、有利には、他の当事者の個人情報を必要とせずにNTTを確認することに基づいて、暗号通貨又は他のトークンを入金することなどのアクション(例えば、ブロックチェーン取引)を許可することができる。取引所は、特定のブロックチェーン資産の拡張関数呼び出しなどのルールを実装することができるため、関数呼び出しの送信者が、確認されたNTTを記憶するアドレスからの送信者でない限り、操作を実施することはできない。
【0022】
ブロックチェーン上の所与のアドレスへのNTTの発行は、NTT申請者の厳格なセキュリティチェックの実施を必要とする場合がある。例えば、資格情報認証局は、認定された正式な名前、社会保障番号、納税者識別番号、パスポート情報、認定された投資家の地位などの詳細についてチェックすることができる。更に、資格情報認証局は、NTTを取り消すか、又はNTTが期限切れになる時点で期限切れ又はタイムアウトパラメータを設定する権限を有することができる。いくつかの実施形態では、NTTは、ウェブサイト上でアクションを実行する誰か、ゲーム内で特定のレベルに達した誰かなどに発行される資格情報であり得る。
【0023】
上記の説明は、クライアントデバイス110のプロセッサ205aによって実施されている特定の機能、及びサーバ130のプロセッサ205bによって実施されている他の特定の機能について説明しているが、本明細書に記載されている機能の全ては、いくつかの他の代替的な役割分担において、クライアントデバイス110及び/又はサーバ130によって実施され得る。すなわち、プロセッサ205a、205bは、上述した機能よりも多いか又はより少ない機能(例えば、機械学習アルゴリズム及び/又は画像処理の部分)を実施することができる。いくつかの実施形態では、クライアントデバイス110のいくつか又は一部は、サーバ130と同じ場所に位置することができる。すなわち、サーバ130が、クライアントデバイス110から遠隔に位置し得るか、又は、クライアントデバイス110とサーバ130の両方が、同じより大きいコンピューティングシステム、ネットワーク、又はアーキテクチャの一部であり得る。
【0024】
本明細書に記載される技術は、物理的なコンピューティングデバイスによって実施される方法として実装され得るか、コンピューティングデバイスによって実行される時に方法を実施させる命令を記憶する1つ以上の非一時的なコンピュータ可読記憶媒体として実装され得るか、又は方法を実施させるハードウェア及びソフトウェアの組み合わせで特別に構成された物理的なコンピューティングデバイスとして実装され得る。
【0025】
図3は、対象技術の態様が実装され得る例示的なコンピュータシステム300(例えば、クライアント及びサーバの両方を表す)を例解するブロック図である。システム300は、本開示のある特定の態様に従って、デジタル資格情報を提供するように構成され得る。いくつかの実装形態では、システム300は1つ以上のコンピューティングプラットフォーム302を含み得る。コンピューティングプラットフォーム302は、ブロックチェーンプラットフォームのサーバコンポーネントに対応することができ、このサーバコンポーネントは、
図3のサーバコンピューティングデバイス130と類似し得るか又は同じであり得、
図1のクライアントコンピューティングデバイス110を含む。コンピューティングプラットフォーム302は、パブリックブロックチェーンシステム(例えば、コンピュータシステム300)上のアプリケーションの使用をより良く保護するために、ブロックチェーン取引及び/又はデジタル資格情報(例えば、NTT)を記憶し、決定し、送信し、受信し、かつ/又は分析するように構成され得る。特に、(例えば、取引所又は貸付市場としての)コンピューティングプラットフォーム302は、ブロックチェーン取引を含むアプリケーションは、当事者又は開発者がアプリケーションとインタラクトするものを、例えば、提供された保護及び規制のNTT身元確認に基づいて、限定することができるように、保護及び規制を提供することができる。
【0026】
コンピューティングプラットフォーム302は、クライアント/サーバアーキテクチャ、ピアツーピアアーキテクチャ、及び/又は他のアーキテクチャに従って、1つ以上のリモートプラットフォーム304と通信するように構成され得る。リモートプラットフォーム304は、コンピューティングプラットフォーム302を介して、及び/又はクライアント/サーバアーキテクチャ、ピアツーピアアーキテクチャ、及び/又は他のアーキテクチャに従って、他のリモートプラットフォームと通信するように構成され得る。パブリックブロックチェーン上の取引は、それ自体のオペレーティングシステム内のネイティブアプリケーションに限定され得るので、コンピューティングプラットフォーム302は、身元の証明のための非インタラクティブな資格情報でこの限定に対処し得る。すなわち、NTTなどの資格情報は、移動不可能なデジタル資産又は移動が限定されたデジタル資産としてシステム300のブロックチェーンに記憶され得る。このようにして、リモートプラットフォーム304は、対応するに基づいてデジタル識別情報を提供すると、コンピューティングプラットフォーム302及びその取引とインタラクトすることができる。一例として、リモートプラットフォーム304は、ブロックチェーン資産とインタラクトすることを許可される前に、デジタル署名されたステートメント、ゼロ知識証明、NTTに基づくデジタル識別カードなどを、身元確認として提供することができる。コンピューティングプラットフォーム302、外部リソース324、及びリモートプラットフォーム304は、ネットワーク150を介して通信してもよく、かつ/又は相互にアクセス可能であってもよい。
【0027】
コンピューティングプラットフォーム302は、機械可読命令306によって構成され得る。機械可読命令306は、1つ以上の命令モジュールを実装するために、コンピューティングプラットフォームによって実行され得る。命令モジュールは、コンピュータプログラムモジュールを含み得る。実装されている命令モジュールは、オペレーティングシステムモジュール308、身元確認モジュール310、NTT発行モジュール312、発行者署名モジュール314、NTTパラメータモジュール316、及び/又は他の命令モジュールのうちの1つ以上を含み得る。
【0028】
オペレーティングシステムモジュール308は、例えば、パブリックブロックチェーンを実装する公開オペレーティングシステム又は共有オペレーティングシステムを実行することができる。オペレーティングシステムモジュール308は、様々なユーザがアプリケーションをインストールすることができる公開オペレーティングシステムをホストし得る。このようなインストールされたアプリケーションは、通信することができ、スワップ、借入、貸出などの暗号通貨取引を実施することなど、協調的な様式で動作することができる。個別に開発されたアプリケーションは、オペレーティングシステムモジュール308の1つの公開オペレーティングシステムに含められ得る。ブロックチェーンは、NTT又は他のデジタル資格情報の記憶のためのパブリックアドレスを提供し得る。特定のパブリックアドレスの所有者は、限定された移転機能が利用可能でない限り、対応するパブリックアドレス上に記憶されたNTTを移動又は転送することはできない。例えば、限定された移転機能は、NTTが限定された回数などの特定の量のインスタンスを転送することを可能にし得る。限定された移転機能の値は、デフォルトでNTTが移動不可能であるように、デフォルトとしてゼロに設定され得る。しかしながら、一例として、NTTの発行者は、限定された量の譲渡を承認するために、値をゼロよりも大きい値に設定することができる。そのような譲渡は、NTT発行者によって監視され、譲渡を実施する前に、NTTの譲渡人及び譲受人が認証され、身元が確認されることを確実にすることができる。したがって、ユーザは、関数呼び出しを行うか、又は他の開発者からの上の何らかの他のブロックチェーン機能とインタラクトする前に、認証され、料金を支払い得る。
【0029】
身元確認モジュール310は、署名チェックを実施し得る。身元確認モジュール310は、パブリックブロックチェーン上の資産とインタラクトすることを望む当事者から発行及び承認されたNTTを受信することに基づいて、署名チェックを実施し得る。一例として、資格情報チェックの対象となるNTTとインタラクトするブロックチェーン資産は、NTTが有効なデジタル署名されたステートメント(例えば、データ及び署名を含む)又は署名を生成することができることを確認することができる。例えば、NTTは、NTT発行者の署名を示すか、又はNTT発行者の署名に関連付けられた資格情報「カード」であり得る。署名チェックは、ブロックチェーン資産が、提出されたNTTに署名する公開-秘密鍵をチェックすることを含み得る。NTTの公開-秘密鍵が、NTT発行者が機密扱いにし、署名を生成するために使用する秘密鍵と一致する場合、ブロックチェーン資産は、署名チェックを介してNTTが正当であることを確認することができる。NTT資格情報は、NTT発行者又はユーザに関連する属性値ペア(例えば、名前=Diego、姓=Maradona、位置=CA、国=US)を含むことができる。悪意のある参加者が、NTTを不適切に複製するが、NTT発行者の安全に保持された機密秘密鍵署名を複製することができないシナリオでは、署名チェックはより安全であり得る。したがって、署名チェックは、悪意のある参加者が秘密鍵を有さないので、悪意のある参加者が自分自身でNTTを不適切に発行するのを阻止することができる。
【0030】
身元確認モジュール310はまた、一意の識別コード及びメタデータについてNFTを分析するのと同様に、NTTを介して身元を確認することができる。一例として、身元確認のためにリモートプラットフォーム304によって提供される所与のNTTは、デジタル識別カードとして機能することができるピクチャを表示させることができる。ピクチャは、例えば、NTT保有者の市民権、承認された金融取引など、NTT資格情報の機能及び性質を示すことができる。身元確認モジュール310によって実施されるNTTベースの確認は、有利には、対象のブロックチェーン資産又は取引は、ブロックチェーン資産がそのような外部API呼び出しを行う能力を有さないために、アイデンティティプロバイダーに対してクエリによって外部API呼び出しを行う必要がないように、非インタラクティブであり得る。いくつかの実施形態では、本明細書に開示されるNTTは、ユーザインターフェースを目的とする関連画像を有する。例えば、米国市民、米国に居住する人々又は企業などを参照又は識別するNTTには、米国旗が使用され得る。このようにして、コンピューティングプラットフォーム302は、NTT資格情報の機能及び性質など、NTTの特徴を示す画像表現を受信し得る。NTTは、機密性の高い個人情報を明らかにすることなく、NTT保有者の身元を確認するために、ブロックチェーン上に存在する契約として機能し得る。NTTは、NTT保有者のブロックチェーンアドレス上に保持することができるので、ブロックチェーン上の資産は、ブロックチェーンを伴う暗号通貨金融取引を承認する前に、(例えば、識別タグと同様な)NTTのデジタル識別情報が、KYCタイプ識別情報/資格情報チェックの一部として正確であるかを確認することができる。
【0031】
資格情報チェックの方法に関係なく、身元確認モジュール310は、提出された対象NTTをチェックする時に個人情報のプライバシーを維持することができる。例えば、身元確認モジュール310は、機密性の高い個人情報を明らかにすることなく、ゼロ知識証明を使用して、対象NTTの保有者を安全に確認し得る。対象NTTを保持するブロックチェーンのユーザは、保持者の資格情報チェックを実施するためにバイナリ値を生成するクライアントプログラムを使用することができる。例えば、資格情報チェックは、対象NTT保有者が、保有者の実際の生年月日等の機密性の高い個人情報を明らかにすることなく、18歳を超えることを確認することができる。NTT保有者又は所有者はまた、ブロックチェーン又はブロックチェーンベースの確認情報とは異なる所有権の証明などの異なるタイプの身元確認情報を生成し得る。一例として、所有権の証明が生成される前に、臨界数の暗号署名がしきい値として使用され得る。一例として、NTTホルダが資格情報を本当に所持している(例えば、NTTを有するアドレスを制御するか、又はNTTを記憶する)と決定するために、複数のNTT証明書認定局からの定足数証明(quorum attestation)が使用され得る。定足数証明は、特定の瞬間に(例えば、チェックが実施されている時に)資格情報ステータスをチェックするように構成されたチェーンオラクルに基づき得る。チェーンオラクルは、ブロックチェーン資産を外部システムに接続して、外部システムの定足数証明に基づいて取引(例えば、スマートコントラクト)を実行することを可能にし得る。例えば、複数の証明書認定局又はNTT発行者(例えば、N要素認証において)は、NTT所有者が対象NTTに関連付けられた真正な暗号情報/識別子を正しく提供したことを確認することができる。
【0032】
このようにして、身元確認モジュール310は、ブロックチェーン上に記憶されたプログラムの実行のための要求を発信した要求側が、正当なNTT保有者であることに基づいて、要求側の身元を確認されたことを確認し得る。本明細書で考察されるように、属性/値ペアは、要求側にNTTを発行したNTT発行者を一意に識別する公開-秘密鍵を所持するNTT保有者を示し、要求側を認証するために使用され得る。ペアの公開-秘密鍵は公開され、一方、秘密鍵は、デジタル署名されたステートメントに暗号的に署名するために使用され得る。NTT発行者が本当にステートメントを作成したか否かを決定するために、身元確認モジュール310によって公開-秘密鍵を用いて特殊関数が呼び出され得る。例えば、この関数は、ステートメントが真の場合はバイナリの「1」を返し、ステートメントが偽の場合はバイナリの「0」を返す。一例として、要求側によって要求されているブロックチェーン資産は、要求側が、ブロックチェーン資産上に符号化された正しい公開/秘密鍵ペアから得られるブロックチェーン上のNTTを有することが確認されるように、NTT発行者のアドレスを有し得る。身元確認モジュール310はまた、有効期限を設定し、かつ/又はNTT発行者及び要求側によって合意された設定に基づいて、発行されたNTTを取り消すように構成することができる。本明細書で考察されるように、身元確認モジュール310は、有益には、要求側による外部アクションを必要とせず、認証のために要求側の機密性の高い個人情報を受信することもない。したがって、要求側は、非インタラクティブで安全なリンクプロトコルを使用することなどによって、重要な機密情報を開示することなく認証され得る。
【0033】
NTT発行モジュール312は、移動不可能なデジタル資産又はNTTなどの譲渡不可能なデジタル資格情報を発行するために使用され得る。NTT発行モジュール312は、オペレーティングシステムモジュール308内のコードによって実装されるブロックチェーン上のパブリックアドレスにNTTを付与することができる。パブリックアドレスの所有者は、NTTの移動又は譲渡を制限され得るが、限定された数の監視付き譲渡が、ゼロより大きい値に設定された限定された移転機能に基づいて行われ得る。NTT発行モジュール312は、複数の異なるNTT資格情報発行者を含むことができる。複数のブロックチェーンユーザが、複数の異なるNTT資格情報発行者からNTTを受け入れ得る。すなわち、NTT資格情報を望むユーザは、どのNTT発行者を信頼するかを選択し得る。つまり、ユーザは、グローバルに課されたNTT発行者を有するのではなく、自分が使用するNTT発行者をローカルに選択し得る。仮想通貨交換プラットフォームなどのブロックチェーンベースの取引所は、特定のNTT発行者を指定し、身元確認モジュール310を使用して、指定されたNTT発行者に対応する資格情報/識別情報チェックを実施し得る。このようにして、暗号通貨交換プラットフォームは、認証されたNTTの適切な所有者に基づいて、誰が暗号通貨スワップ機能とインタラクションできるかを制限するなど、プラットフォーム上のブロックチェーン資産とインタラクトしている人を規制又は制限することができる。暗号通貨交換は、集中型又は分散型であり得る。各NTTプロバイダは、証明書認証局の市場の一部であることができる。このシステムでは、交換されるプラットフォームは、信頼されるデジタル資格情報発行者として、身元確認についてのNTTプロバイダの専門知識を使用することができる。
【0034】
発行者署名モジュール314は、NTTの発行者の署名を生成することができる。署名は、公開/秘密鍵暗号化システムなどに基づいて、NTT発行者によってのみ複製され得る。ブロックチェーンは、NTTについての資産タイプ及び発行者で符号化される。NTTは、資産識別子によって識別され得る。したがって、本明細書で開示されるNTTは、選択された発行者のみが所与のブロックチェーン資産を発行することができることを確実にする。特に、対応するブロックチェーン資産が、符号化されたNTT発行者のパブリックアドレスを有すると適切に決定するために、公開-秘密鍵アドレスペアが正しいことが確認され得、これによって、対応するNTTが正しい発行者によって発行されたことが確証される。NTT発行者は、NFTフォーマットでNTTを発行するか、又は代替可能なトークン(例えば、譲渡不可能な非一意のチケット)としてNTTを発行することができる。例えば、NTT発行者は、NTTのクラス又はカテゴリを発行することができる。NTTの各クラス又はカテゴリは、年齢確認、市民権確認、財務確認などの特定のタイプの確認に使用され得る。したがって、NTTの特定のクラスは、特定のタイプの取引呼び出し、暗号通貨機能などについて、特定のタイプの身元確認又は資格情報チェックに対応し得る。NTTの各クラス又はカテゴリは、複数の非一意のインスタンスを含み得る。すなわち、所与のクラス又はカテゴリ内のインスタンスは区別することができない。複数のインスタンスのいずれかの所有者は、関連する資格情報クラス又はカテゴリ内のNTT資格情報所有者として確認され得る。
【0035】
NTTパラメータモジュール316は、限定された量の確認されたNTT譲渡などのNTT特性の値を決定又は設定することができる。一例として、NTT特性は、限定された移転機能などを介する特定の数の承認された譲渡であり得、ゼロの数は、関連するNTTを完全に譲渡不可能にするが、ゼロより大きい数は、限定された量の監視付き譲渡が許可されることを可能にする。一例として、NTT特性は、期限切れ特性又は取り消し特性であり得る。NTTパラメータモジュール316は、対象NTTが期限切れになる時の時間値を設定し得る。言い換えれば、NTT発行者は、特定の時間又は期間としてNTTを自動的に無効にすることができる。NTTパラメータモジュール316はまた、NTT保有者とNTT発行者との間の合意条件などに基づいて、詐欺又は他の悪意のある行為の場合などの特定の状況において、NTT発行者が対象NTTを取り消すことを承認されるかどうかを設定することができる。追加的又は代替的に、NTT発行者又は証明された機関/資格情報機関は、NTT発行者によって承認されたキーのセットをいつでも、又はいかなる状況下でも取り消すことを選択するための取り消し能力を有することができる。NTTパラメータモジュール316はまた、NTTがNTT所有者によって解読可能であるなど、暗号化パラメータを決定し得る。例えば、NTT発行者は、NTTがNTT所有者によってのみ知られている鍵(例えば、個人鍵)によってのみ解読可能であるパブリックブロックチェーン上で暗号化された形式でNTT資格情報を発行し得る。
【0036】
いくつかの実装形態では、コンピューティングプラットフォーム302、リモートプラットフォーム304、及び/又は外部リソース324は、1つ以上の電子通信リンクを介して動作可能にリンクされてもよい。例えば、そのような電子通信リンクは、少なくとも部分的に、インターネット及び/又は他のネットワークなどのネットワーク150を介して確立され得る。このことは、限定することを意図するものではなく、本開示の範囲は、コンピューティングプラットフォーム302、リモートプラットフォーム304、及び/又は外部リソース324が、いくつかの他の通信媒体を介して動作可能にリンクされ得る実装形態を含むことが理解されよう。
【0037】
所与のリモートプラットフォーム304は、各々がコンピュータプログラムモジュールを実行するように構成された1つ以上のプロセッサを含み得るクライアントコンピューティングデバイスを含み得る。コンピュータプログラムモジュールは、所与のリモートプラットフォーム304に関連付けられた専門家又はユーザがシステム300及び/若しくは外部リソース324とインターフェースすることを可能にし、かつ/又は本明細書に起因する他の機能をリモートプラットフォーム304に提供するように構成され得る。非限定的な例として、所与のリモートプラットフォーム304及び/又は所与のコンピューティングプラットフォーム302は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピューティングプラットフォーム、ネットブック、スマートフォン、ゲームコンソール、及び/又は他のコンピューティングプラットフォームのうちの1つ以上を含み得る。外部リソース324は、システム300の外部の情報源、システム300に参加する外部エンティティ、及び/又は他のリソースを含み得る。例えば、外部リソース324は、外部で設計されたブロックチェーン要素及び/又はサードパーティによって設計されたアプリケーションを含み得る。いくつかの実装形態では、本明細書で外部リソース324に起因する機能のうちのいくつか又は全ては、システム300に含まれるリソースによって提供され得る。
【0038】
コンピューティングプラットフォーム302は、電子ストレージ326、プロセッサ110などのプロセッサ、及び/又は他のコンポーネントを含み得る。コンピューティングプラットフォーム302は、ネットワーク及び/又は他のコンピューティングプラットフォームとの情報の交換を可能にする通信回線、又はポートを含み得る。
図3におけるコンピューティングプラットフォーム302の例解は、限定することを意図していない。コンピューティングプラットフォーム302は、本明細書に起因する機能をコンピューティングプラットフォーム302に提供するために一緒に動作する複数のハードウェア、ソフトウェア、及び/又はファームウェアコンポーネントを含み得る。例えば、コンピューティングプラットフォーム302は、コンピューティングプラットフォーム302として一緒に動作するコンピューティングプラットフォームのクラウドによって実装され得る。
【0039】
電子ストレージ326は、情報を電子的に記憶する非一時的記憶媒体を備え得る。電子ストレージ326の電子記憶媒体は、例えば、ポート(例えば、USBポート、ファイアワイヤポートなど)又はドライブ(例えば、ディスクドライブなど)を介して、コンピューティングプラットフォーム302及び/又はコンピューティングプラットフォーム302に取り外し可能に接続可能である取り外し可能なストレージと一体的に(すなわち、実質的に取り外し不可能)提供されるシステムストレージの一方又は両方を含み得る。電子ストレージ326は、光学的に読み取り可能な記憶媒体(例えば、光ディスクなど)、磁気的に読み取り可能な記憶媒体(例えば、磁気テープ、磁気ハードドライブ、フロッピードライブなど)、電荷ベースの記憶媒体(例えば、EEPROM、RAMなど)、ソリッドステート記憶媒体(例えば、フラッシュドライブなど)、及び/又は他の電子的に読み取り可能な記憶媒体のうちの1つ以上を含み得る。電子ストレージ326は、1つ以上の仮想ストレージリソース(例えば、クラウドストレージ、仮想プライベートネットワーク、及び/又は他の仮想ストレージリソース)を含み得る。電子ストレージ326は、ソフトウェアアルゴリズム、プロセッサ110によって決定された情報、コンピューティングプラットフォーム302から受信された情報、リモートプラットフォーム304から受信された情報、及び/又はコンピューティングプラットフォーム302が本明細書に説明されるように機能することを可能にする他の情報を記憶し得る。
【0040】
プロセッサ110は、コンピューティングプラットフォーム302において情報処理能力を提供するように構成され得る。したがって、プロセッサ110は、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されたデジタル回路、情報を処理するように設計されたアナログ回路、状態機械、及び/又は情報を電子的に処理するための他のメカニズムのうちの1つ以上を含み得る。プロセッサ110は、単一のエンティティとして
図1に示されているが、これは例解を目的とするものに過ぎない。いくつかの実装形態では、プロセッサ110は、複数の処理ユニットを含み得る。これらの処理ユニットは、物理的に同じデバイス内に位置してもよく、又はプロセッサ110は、協調して動作する複数のデバイスの処理機能を表してもよい。プロセッサ110は、モジュール308、310、312、314、316、及び/又は他のモジュールを実行するように構成され得る。プロセッサ110は、ソフトウェア、ハードウェア、ファームウェア、ソフトウェア、ハードウェア、及び/若しくはファームウェアの何らかの組み合わせ、並びに/又はプロセッサ110上に処理能力を構成するための他のメカニズムによって、モジュール308、310、312、314、316、及び/若しくは他のモジュールを実行するように構成され得る。本明細書で使用される場合、「モジュール」という用語は、モジュールに起因する機能を実施する任意のコンポーネント又はコンポーネントのセットを指し得る。これは、プロセッサ可読命令、プロセッサ可読命令、回路、ハードウェア、記憶媒体、又は任意の他のコンポーネントを実行する間の1つ以上の物理プロセッサを含み得る。
【0041】
モジュール308、310、312、314、及び/又は316は、単一の処理ユニット内に実装されているものとして
図3に例解されているが、プロセッサ110が複数の処理ユニットを含む実装形態において、モジュール308、310、312、314、及び/又は316のうちの1つ以上が、他のモジュールから遠隔的に実装され得ることを理解されたい。本明細書に記載される異なるモジュール308、310、312、314、及び/又は316によって提供される機能の説明は、例解を目的とするものであり、限定することを意図するものではなく、モジュール308、310、312、314、及び/又は316のいずれも、説明されるよりも多いか又は少ない機能を提供し得る。例えば、モジュール308、310、312、314、及び/又は316のうちの1つ以上は除去され得、その機能の一部又は全ては、モジュール308、310、312、314、及び/又は316のうちの他のモジュールによって提供され得る。別の例として、プロセッサ110は、モジュール308、310、312、314、及び/又は316のうちの1つに起因する以下の機能の一部又は全てを実施し得る1つ以上の追加モジュールを実行するように構成され得る。
【0042】
本明細書に記載される技術は、物理的なコンピューティングデバイスによって実施される方法として実装され得るか、コンピューティングデバイスによって実施される時に方法を実施させる命令を記憶する1つ以上の非一時的なコンピュータ可読記憶媒体として実装され得るか、又は方法を実施させるハードウェア及びソフトウェアの組み合わせで特別に構成された物理的なコンピューティングデバイスとして実装され得る。
【0043】
図4A~
図4Cは、本明細書に開示されるように、譲渡不可能なトークンを確認するための例示的なフロー
図400A、400B、及び400C(以下、総称して「フロー
図400」と称される)を例解する。いくつかの実施形態では、フロー
図400のステップのうちの1つ以上は、本明細書で開示されるように、ブロックチェーンネットワークをホストするサーバ又はクライアントデバイスのうちの1つのメモリからの命令を実行するプロセッサによって実施され得る。更に、いくつかの実施形態では、フロー
図400のステップのうちの1つ以上は、異なる順序で実施され得るか、同時に実施され得るか、準同時に実施され得るか、又は時間的に重複して実施され得る。
【0044】
フロー
図400は、ユーザからのブロックチェーン内の取引402に対する要求から始まる。確認ブロック450A、450B及び450C(以下、総称して「確認ブロック450」と呼ぶ)の後、ブロックチェーンは、ステップ410において、取引要求が有効であるかどうかを決定し、確認ブロック450をパスする。回答が「はい」である場合、ステップ412は、取引を受け入れることを含む。回答が「いいえ」である場合、ステップ414は、取引を拒否することを含む。
【0045】
署名された問題フロー400Aでは、確認ブロック450Aは、公開鍵421(Kp)を使用してNTT所有者のパブリックアドレスを確認するためのステップ404Aを含む。ステップ406Aは、ブロックチェーンによって、NTT所有者への問題を発行することを含む。NTT所有者は、秘密鍵423(kp)を用いて問題に署名する。ステップ408Aは、ステップ410に進む前に、確認のための署名を受信することを含む。
【0046】
取引フロー400B(例えば、スマートコントラクト)では、ブロックチェーンは、パブリックアドレスを既に確認しており(ステップ404A)、NTT保有者が秘密鍵423(kp)を所持しているか否かを知っている。次いで、フローは、ステップ410に進む。
【0047】
ゼロ知識フロー400Cにおいて、確認ブロック450Cについて、ブロックチェーンは、ステップ4004Cにおいて問題を発行する。ユーザは、ステップ406Cでゼロ知識応答を提供し、次いで、フローは、ステップ410に進む。ゼロ知識応答は、公開-秘密鍵ペア421/423を明らかにしない問題に対する応答であるが、それでもブロックチェーンが確認できる問題に対する回答を提供する。
【0048】
図5は、本開示のある特定の態様による、コンピューティングプラットフォームを介して譲渡不可能なブロックチェーンセキュリティ資格情報を生成するための例示的なフロー図(例えば、プロセス500)を例解する。説明のために、例示的なプロセス500は、上記の図のうちの1つ以上を参照して本明細書で説明される。更に、説明のために、例示的なプロセス500のブロックは、連続的に発生するか、又は線形に発生するものとして本明細書で説明される。しかしながら、例示的なプロセス500の複数のインスタンスは、並列に発生するか、時間的に重複して発生するか、ほぼ同時に発生するか、又はプロセス500に例解された順序とは異なる順序で発生し得る。加えて、例示的なプロセス500のブロックは、示されている順序で実施される必要はなく、かつ/又は例示的なプロセス500のブロックのうちの1つ以上が実施されなくてもよい。
【0049】
ステップ502において、ブロックチェーン上に記憶されたプログラムの実行のための要求が受信され得る。ステップ504において、要求を発信した当事者が識別され得る。一態様によれば、当事者を識別することは、当事者が譲渡不可能な資格情報を所持し、譲渡不可能な資格情報が非一意の資格情報のカテゴリの下で分類されると決定することを含む。ステップ506において、ブロックチェーン上に記憶された譲渡不可能な資格情報の発行者が選択され得る。一態様によれば、譲渡不可能な資格情報の発行者を選択することは、ブロックチェーン上のパブリックアドレスに付与された移動不可能な資格情報として譲渡不可能な資格情報を記憶することを含む。ステップ508において、当事者からの譲渡不可能な資格情報の受信が要求されてよい。一態様によれば、当事者からの譲渡不可能な資格情報の受信を要求することは、譲渡不可能な資格情報に対応する秘密鍵を所持する当事者を示す属性値ペアを受信することを含む。ステップ510において、資格情報チェックは、譲渡不可能な資格情報の所有権に関連するデジタル署名されたステートメントに基づいて実施されてもよい。例えば、デジタル署名されたステートメントは、属性値ペアを含む。一態様によれば、資格情報チェックを実施することは、ゼロ知識証明を当事者から受信することを含む。
【0050】
一態様によれば、プロセス500は、譲渡不可能な資格情報の発行者によって、譲渡不可能な資格情報についての有効期限を決定することを更に含み得る。一態様によれば、プロセス500は、譲渡不可能な資格情報の発行者によって、譲渡不可能な資格情報の鍵セットの取り消しを実施することを決定することを更に含み得る。一態様によれば、プロセス500は、暗号署名を介して、当事者が譲渡不可能な資格情報を所持しているという定足数証明をキャプチャすることを更に含み得る。プロセス500は、当事者のために、定足数証明に基づいて、譲渡不可能な資格情報の所有権の証明を生成することを含み得る。一態様によれば、プロセス500は、譲渡不可能な資格情報のパラメータを決定することを更に含み得、ブロックチェーン上の譲渡不可能な資格情報の暗号化は、当事者に対応するキーによって解読可能である。プロセス500は、譲渡不可能な資格情報の特性を示す画像表現を受信することを含み得る。
【0051】
図6は、対象技術の態様が実装され得る例示的なコンピュータシステム600を例解するブロック図である。ある特定の態様では、コンピュータシステム600は、専用サーバ内にあるか、別のエンティティにおいて一体化されるか、又は複数のエンティティにわたって分散された、ハードウェア又はソフトウェア及びハードウェアの組み合わせを使用して実装され得る。
【0052】
コンピュータシステム600(例えば、サーバ及び/又はクライアント)は、情報を通信するためのバス608又は他の通信メカニズムと、情報を処理するためのバス608と結合されたプロセッサ602と、を含む。例として、コンピュータシステム600は、1つ以上のプロセッサ602と共に実装され得る。1つ以上のプロセッサ602の各々は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、状態機械、ゲート付きロジック、離散ハードウェアコンポーネント、又は情報の計算若しくは他の操作を実施することができる任意の他の好適なエンティティであり得る。
【0053】
コンピュータシステム600は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能PROM(EPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、DVD、又はプロセッサ602によって実行される情報及び命令を記憶するためにバス608に結合された任意の他の好適な記憶デバイスなどの、付属のメモリ604に記憶された、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。プロセッサ602及びメモリ604は、特殊目的論理回路によって補助されるか、又は特殊目的論理回路に組み込まれてもよい。
【0054】
命令は、メモリ604に記憶され、1つ以上のコンピュータプログラム製品、すなわち、コンピュータシステム600によって実行されるようにコンピュータ可読媒体上に符号化されるか、又はコンピュータシステム600の動作を制御するためにコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールにおいて、データ指向言語(例えば、SQL、dBase)、システム言語(例えば、C、Objective-C、C++、アセンブリ)、アーキテクチャ言語(例えば、Java、NET)、及びアプリケーション言語(例えば、PHP、Ruby、Perl、Python)などのコンピュータ言語を含むが、これらに限定されない、当業者に周知の任意の方法に従って、実装され得る。命令はまた、配列言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンドラインインタフェース言語、コンパイルされた言語、並行言語、カーリーブラケット言語、データフロー言語、データ構造化言語、宣言言語、難解言語、拡張言語、第4世代言語、機能言語、インタラクティブモード言語、解釈言語、反復言語、リストベース言語、小言語、論理ベース言語、機械言語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続き言語、反射言語、ルールベース言語、スクリプト言語、スタックベース言語、同期言語、構文処理言語、視覚言語、ワース言語、及びxmlベース言語などのコンピュータ言語で実装されてもよい。メモリ604はまた、プロセッサ602によって実行される命令の実行中に一時変数又は他の中間情報を記憶するために使用され得る。
【0055】
本明細書で考察されるコンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するものではない。プログラムは、他のプログラム若しくはデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部に記憶され得るか、問題のプログラム専用の単一のファイルに記憶され得るか、又は複数の協調的ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのサイトに位置するか、又は複数のサイトにわたって分散され、通信ネットワークによって相互接続される1つのコンピュータ又は複数のコンピュータ上で実行されるように展開され得る。本明細書に記載されるプロセス及び論理フローは、入力データを操作し、出力を生成することによって機能を実施するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施され得る。
【0056】
コンピュータシステム600は、情報及び命令を記憶するためにバス608に結合された磁気ディスク又は光ディスクなどのデータ記憶デバイス606を更に含む。コンピュータシステム600は、入力/出力モジュール610を介して様々なデバイスに結合され得る。入力/出力モジュール610は、任意の入力/出力モジュールであり得る。例示的な入力/出力モジュール610は、USBポートなどのデータポートを含む。入力/出力モジュール610は、通信モジュール612に接続するように構成される。例示的な通信モジュール612は、イーサネットカード及びモデムなどのネットワーキングインターフェースカードを含む。ある特定の態様では、入力/出力モジュール610は、入力デバイス614及び/又は出力デバイス616などの複数のデバイスに接続するように構成される。例示的な入力デバイス614は、キーボード及びポインティングデバイス、例えば、マウス又はトラックボールを含み、これらによって、ユーザは、コンピュータシステム600に入力を提供することができる。他の種類の入力デバイスは、触覚入力デバイス、視覚入力デバイス、音声入力デバイス、又はブレインコンピュータインタフェースデバイスなどのユーザとのインタラクションを提供するためにも使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであり得、ユーザからの入力は、音響、音声、触覚、又は脳波入力を含む任意の形態で受信され得る。例示的な出力デバイス616は、ユーザに情報を表示するためのLCD(液晶ディスプレイ)モニタなどのディスプレイデバイスを含む。
【0057】
本開示の一態様によれば、上述のシステムは、プロセッサ602がメモリ604に含まれる1つ以上の命令の1つ以上のシーケンスを実行することに応答して、コンピュータシステム600を使用して実装され得る。そのような命令は、データ記憶デバイス606などの別の機械可読媒体からメモリ604に読み込まれ得る。メインメモリ604に含まれる命令シーケンスを実行すると、プロセッサ602は、本明細書に記載されるプロセスステップを実施する。マルチプロセッシング構成の1つ以上のプロセッサはまた、メモリ604に含まれる命令のシーケンスを実行するために用いられ得る。代替的な態様では、ハード配線回路は、本開示の様々な態様を実装するために、ソフトウェア命令の代わりに使用され得るか、又はソフトウェア命令と組み合わせて使用され得る。したがって、本開示の態様は、ハードウェア回路及びソフトウェアの特定の組み合わせに限定されない。
【0058】
本明細書に記載される主題の様々な態様は、例えば、データサーバなどのバックエンドコンポーネントを含むか、例えば、アプリケーションサーバなどのミドルウェアコンポーネントを含むか、あるいはフロントエンドコンポーネント、例えば、グラフィカルユーザインターフェース又はWebブラウザを有するクライアントコンピュータを含む、コンピューティングシステムに実装され得、ユーザは、グラフィカルユーザインターフェース又はWebブラウザを通じて、本明細書に記載される主題の実装形態とインタラクトするか、又は1つ以上のそのようなバックエンド、ミドルウェア、若しくはフロントエンドコンポーネントの任意の組み合わせとインタラクトすることができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続され得る。通信ネットワークは、例えば、LAN、WAN、インターネットなどのうちのいずれか1つ以上を含むことができる。更に、通信ネットワークは、例えば、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリー又は階層ネットワークなどを含む、以下のネットワークトポロジのうちのいずれか1つ以上を含むことができるが、これらに限定されない。通信モジュールは、例えば、モデム又はイーサネットカードであり得る。
【0059】
コンピュータシステム600は、クライアントと、サーバと、を含むことができる。クライアント及びサーバは、概して、互いに遠隔にあり、典型的には、通信ネットワークを通じてインタラクトする。クライアント及びサーバの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。コンピュータシステム600は、例えば、限定されないが、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータであり得る。コンピュータシステム600はまた、例えば、限定されないが、携帯電話、PDA、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機、ビデオゲームコンソール、及び/又はテレビセットトップボックスなどの別のデバイスに埋め込まれ得る。
【0060】
「機械可読記憶媒体」又は「コンピュータ可読媒体」という用語は、本明細書で使用される場合、実行のためにプロセッサ602に命令を提供することに関与する任意の媒体又は媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体を含む、多くの形態をとり得るが、これらに限定されない。不揮発性媒体は、例えば、データ記憶デバイス606などの光ディスク又は磁気ディスクを含む。揮発性媒体は、メモリ604などの動的メモリを含む。伝送媒体は、バス608を構成するワイヤを含む、同軸ケーブル、銅線、及び光ファイバを含む。機械可読媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、DVD、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH EPROM、任意の他のメモリチップ若しくはカートリッジ、又はコンピュータが読み取ることができる任意の他の媒体を含む。機械可読記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号に影響を与える物質の組成物、又はこれらのうちの1つ以上の組み合わせであることができる。
【0061】
本明細書に記載される技術は、物理的なコンピューティングデバイスによって実施される方法として実装され得るか、コンピューティングデバイスによって実行される時に方法を実施させる命令を記憶する1つ以上の非一時的なコンピュータ可読記憶媒体として実装され得るか、又は方法を実施させるハードウェア及びソフトウェアの組み合わせで特別に構成される物理的なコンピューティングデバイスとして実装され得る。
【0062】
項目のうちのいずれかを分離するために「及び」又は「又は」という用語を伴う、一連の項目に先行する「のうちの少なくとも1つ」という語句は、本明細書で使用される時に、リストの各メンバー(すなわち、各項目)ではなく、全体としてのリストを修飾する。「のうちの少なくとも1つ」という語句は、少なくとも1つの項目の選択を必要とせず、むしろ、この語句は、項目のうちの任意の1つの項目の少なくとも1つ、及び/又は項目の任意の組み合わせのうちの少なくとも1つの項目、及び/又は項目の各々の少なくとも1つを含む意味を許容する。例として、「A、B、若しくはCのうちの少なくとも1つ」又は「A、B、若しくはCのうちの少なくとも1つ」という語句は各々、Aのみ、Bのみ、若しくはCのみ、A、B、及びCの任意の組み合わせ、並びに/又はA、B、及びCの各々の少なくとも1つを指す。
【0063】
「含む(include)」、「有する(have)」などの用語が説明又は特許請求の範囲で使用されている限り、そのような用語は、「備える(comprise)」という用語が請求項において移行語として用いられ時に「備える(comprise)」と解釈されるのと同様の様式で包含的であることが意図される。「例示的」という単語は、本明細書では「例、事例、又は実例としての役割を果たす」ことを意味するために使用される。本明細書において「例示的」として記載されるいずれの実施形態も、他の実施形態よりも好ましいか、又は有利であると必ずしも解釈されるべきではない。
【0064】
単数形での要素への言及は、具体的に明記されていない限り、「1つ及び1つのみ」を意味することを意図するのではなく、むしろ「1つ以上」を意味することを意図する。当業者に既知であるか、又は後に知られる、本開示の全体にわたって記載される様々な構成の要素に対する全ての構造的及び機能的等価物は、参照により本明細書に明示的に組み込まれ、対象技術によって包含されることが意図される。更に、本明細書に開示されているものにおいて、そのような開示が上記の説明に明示的に記載されているかどうかにかかわらず、公衆専用であることが意図されているものはない。
【0065】
本明細書には多くの詳細が含まれているが、これらは請求され得る範囲に対する制限として解釈されるべきではなく、むしろ主題の特定の実装形態の記述として解釈されるべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴は、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において記載される様々な特徴は、複数の実施形態において別々に実装され得るか、又は任意の好適な部分組み合わせで実装され得る。更に、特徴は、特定の組み合わせにおいて作用するものとして上記で説明され、最初はそのように請求されるが、場合によっては、請求された組み合わせからの1つ以上の特徴が、組み合わせから削除され得、請求された組み合わせが、部分組み合わせ又は部分組み合わせの変形形態の対象にされ得る。
【0066】
本明細書の主題は、特定の態様の観点から説明されているが、他の態様が、実装され得、以下の特許請求の範囲の範囲内である。例えば、動作は、図面では特定の順序で描画されているが、これは、そのような動作が示された特定の順序又は順番に実施される必要があるか、又は望ましい結果を達成するために、全ての例解された動作が実施される必要があると理解されるべきではない。特許請求の範囲に記載された行為は、異なる順序で実施され得、依然として所望の結果を達成し得る。一例として、添付図面に描画されたプロセスは、所望の結果を達成するために、示された特定の順序又は順番を必ずしも必要としない。特定の状況では、マルチタスク及び並列処理が有利であり得る。更に、上記に記載された態様における様々なシステムコンポーネントの分離は、全ての態様においてそのような分離が必要であると理解されるべきではなく、記載されたプログラムコンポーネント及びシステムは、概して、単一ソフトウェア製品において一体化され得るか、又は複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。他の変形形態が、以下の特許請求の範囲内である。
【国際調査報告】