(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-04
(54)【発明の名称】非代替性トークンの検証された提示
(51)【国際特許分類】
G06F 21/10 20130101AFI20250128BHJP
G06F 21/31 20130101ALI20250128BHJP
【FI】
G06F21/10
G06F21/31
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024536432
(86)(22)【出願日】2022-12-21
(85)【翻訳文提出日】2024-08-14
(86)【国際出願番号】 US2022082092
(87)【国際公開番号】W WO2023122633
(87)【国際公開日】2023-06-29
(32)【優先日】2021-12-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520107951
【氏名又は名称】アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッド
【氏名又は名称原語表記】AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
【住所又は居所原語表記】200 Vesey Street, New York, NY 10285-4900 U.S.A.
(74)【代理人】
【識別番号】100083116
【氏名又は名称】松浦 憲三
(74)【代理人】
【識別番号】100140992
【氏名又は名称】松浦 憲政
(74)【代理人】
【識別番号】100153822
【氏名又は名称】増田 重之
(72)【発明者】
【氏名】フェレンツィ, アンドラス エル.
(57)【要約】
非代替性トークン(NFTs)によって表現されるメディアの提示を検証するための様々な実施形態が記載される。プレゼンテーションデバイスは、クライアントデバイスからスマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することができる。プレゼンテーションデバイスは、次に、スマートコントラクトアドレスに配置されるスマートコントラクトの機能を実行して、NFTのためのオーナーアドレスを取得することができ、NFT識別子は、スマートコントラクトの機能への引数として提供される。続いて、プレゼンテーションデバイスは、NFTのためのオーナーアドレスを検証できる。そして、プレゼンテーションデバイスは、NFTのためのオーナーアドレスの検証に応答して、NFTによって表現されるメディアファイルを提示できる。
【特許請求の範囲】
【請求項1】
プロセッサ、メモリ、及びディスプレイを含むコンピューティングデバイスと、
前記メモリに記憶された機械可読命令であって、前記プロセッサによって実行されるとき、前記コンピューティングデバイスに少なくとも、
クライアントデバイスからスマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、
前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、前記NFTのための前記オーナーアドレスを取得するために実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能への引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現されるメディアファイルを提示することと、
をさせる、機械可読命令と
を備える、システム。
【請求項2】
前記NFTによって表現される前記メディアファイルを提示させる、前記機械可読命令が、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することとであって、前記URLは、前記メディアファイルが配置される場所を指定する、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得させることと、
を更にさせる請求項1に記載のシステム。
【請求項3】
前記コンピューティングデバイスは、アクティブであるとき、前記画像が本物であることを表現するインジケータライトを更に備え、及び、前記機械可読命令は、前記コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに少なくとも、前記NFTのための前記オーナーアドレスの検証に応答して、前記インジケータライトをアクティベートさせることと、を更にさせる請求項1又は2に記載のシステム。
【請求項4】
前記クライアントデバイスは、BLUETOOTH又は近距離無線通信(NFC)接続を介して前記コンピューティングデバイスと通信し、前記スマートコントラクトアドレス及び前記NFT識別子は、前記BLUETOOTH又は前記NFC接続を介して受信される、請求項1から3に記載のシステム。
【請求項5】
前記コンピューティングデバイスに前記NFTのための前記オーナーアドレスを検証させる、前記機械可読命令は、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記コンピューティングデバイスによってホストされるウォレットアプリケーションに、取引に署名するための要求を送信することと、
前記ウォレットアプリケーションから前記取引の前記署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、
を更にさせる、請求項1から4に記載のシステム。
【請求項6】
前記NFTがハッシュを含み、及び、前記機械可読命令は、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTに含まれる前記ハッシュが前記メディアファイルのハッシュと一致すると決定することと、を更にさせ、
前記メディアファイルは、前記NFTに含まれる前記ハッシュが前記メディアファイルの前記ハッシュと一致するという決定に応答して、前記URLによって指定された前記場所から取得される、請求項1から5に記載のシステム。
【請求項7】
前記NFTは、前記イーサリアムブロックチェーン上に記憶される、請求項1から6に記載のシステム。
【請求項8】
クライアントデバイスから、スマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、
前記NFTのための前記オーナーアドレスを取得するために、前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能の引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現される前記メディアファイルを提示することと、
を含む、方法。
【請求項9】
前記メディアファイルを提示することは、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、前記URLは、前記メディアファイルが配置される場所を指定すること、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得することと、
を更に含む、請求項8に記載の方法。
【請求項10】
前記NFTのための前記オーナーアドレスの検証に応答して、プレゼンテーションデバイスのインジケータライトをアクティベートさせることを更に含む、請求項8又は9に記載の方法。
【請求項11】
前記スマートコントラクトアドレス及び前記NFT識別子は、前記クライアントデバイスとの前記BLUETOOTH又は前記NFC接続を介して、受信される、請求項8から10に記載の方法。
【請求項12】
前記NFTのための前記オーナーアドレスを検証することは、
取引に署名するために、前記コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、
前記ウォレットアプリケーションから前記取引の前記署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を判定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、
を更に含む、請求項8から11に記載の方法。
【請求項13】
前記NFTがハッシュを含み、及び前記方法は、
前記NFTに含まれる前記ハッシュが、前記メディアファイルのハッシュと一致することを決定することと、
前記NFTに含まれる前記ハッシュが前記メディアファイルの前記ハッシュと一致することの決定に応答して、前記URLによって指定された前記場所から前記メディアファイルを取得することが、発生する、
を更に含む、請求項8から12に記載の方法。
【請求項14】
前記NFTは、前記イーサリアムブロックチェーン上に記憶される、請求項8から13に記載の方法。
【請求項15】
コンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに少なくとも、
クライアントデバイスから、スマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、
前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、前記NFTのための前記オーナーアドレスを取得するために実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能の引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現されるメディアファイルを提示することと、
をさせる機械可読命令を含む、非一時的、コンピュータ可読媒体。
【請求項16】
前記NFTによって表現される前記メディアファイルを提示させる、前記機械可読命令が、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、前記URLは前記メディアファイルが配置される場所を指定する、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得することと、
を更にさせる、請求項15に記載の非一時的、コンピュータ可読媒体。
【請求項17】
前記コンピューティングデバイスは、アクティブであるとき、前記画像が本物であることを表現するインジケータライトを更に備え、及び前記機械可読命令は、前記コンピューティングデバイスによって実行されるとき、前記NFTのための前記オーナーアドレスの検証に応答して、前記コンピューティングデバイスに少なくとも、前記インジケータライトを更にアクティベートさせる、請求項15又は16に記載の非一時的、コンピュータ可読媒体。
【請求項18】
前記クライアントデバイスは、BLUETOOTH又は近距離無線通信(NFC)接続を介して、前記コンピューティングデバイスと通信し、前記スマートコントラクトアドレス及び前記NFT識別子は、前記BLUETOOTH又は前記NFC接続を介して受信される、請求項15から17に記載の非一時的、コンピュータ可読媒体。
【請求項19】
前記コンピューティングデバイスに前記NFTのための前記オーナーアドレスを検証させる、前記機械可読命令は、実行されるとき、前記コンピューティングデバイスに少なくとも、
取引に署名するために、前記コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、
前記ウォレットアプリケーションから前記取引の署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、
を更にさせる、請求項15から18に記載の非一時的、コンピュータ可読媒体。
【請求項20】
前記NFTは、前記イーサリアムブロックチェーン上に記憶される、請求項15から19に記載の非一時的、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年12月22日に出願された「VERIFIED PRESENTATION OF NON-FUNGIBLE TOKENS」と題された同時係属中の米国特許出願第17/559,302号の優先権及び利益を主張するものであり、これは、あたかも本明細書に全体が記載されているかのように参照により組み込まれる。
【背景技術】
【0002】
デジタルメディアは、しばしばコピーされ、且つペーストされ得る。例えば、画像ファイルは、他の種類のメディア(例えば、ビデオ、オーディオなど)を表現する他のファイルと同様に、簡単にコピー又は複製され得た。したがって、作品がデジタル媒体に記録されている場合、アーティストのオリジナル作品と作品のコピーを区別することが困難になり得る。例えば、デジタル写真フレームにデジタル写真が表示されている場合、彼又は彼女はオリジナルの写真又はコピーを見ているのか伝えるのは、視聴者にとって困難である。
【発明の概要】
【課題を解決するための手段】
【0003】
非代替性トークン(NFT)によって表現されるデジタルメディアの提示を検証するための様々なアプローチが開示される。本開示の様々な実施形態において、ユーザは、デジタルメディアを表現するNFTをプレゼンテーションデバイスに提出できる。プレゼンテーションデバイスは、次にNFTを評価し、NFTに関連付けられたデジタルメディアを提示するために認証されるかどうかを決定できる。本開示の他の実施形態において、ユーザは、提示されるデジタルメディアに関連付けられたプレゼンテーションデバイス及びNFTに関する情報を、彼女又は彼女のクライアントデバイスとともに取得できる。次に、クライアントデバイスは、プレゼンテーションデバイスが、NFTに関連付けられたデジタルメディアを提示するために認証されることを確認できる。その結果、ユーザは、彼又は彼女がデジタルメディアファイルのオリジナルのコピーを使用している、又は(認証されていない可能性がある)複製を使用しているかを決定できる。
【図面の簡単な説明】
【0004】
本開示の多くの態様は、以下の図面を参照すると、より良く理解することができる。図面中の構成要素は、必ずしも縮尺通りではなく、代わりに本開示の原則を明確に説明することに重点が置かれる。また、図面において、同様の参照番号は、いくつかの図を通して対応する部分を示す。
【
図1】
図1は、本開示の様々な実施形態によるネットワーク環境の図である。
【
図2】
図2は、本開示の様々な実施形態による
図2のネットワーク環境の構成要素間の相互作用の一例を示すシーケンス図である。
【
図3】
図3は、本開示の様々な実施形態による
図2のネットワーク環境の構成要素間の相互作用の一例を示すシーケンス図である。
【発明を実施するための形態】
【0005】
以下の議論では、システム及びその構成要素の一般的な説明が提供され、続いて、その動作についての議論が提供される。以下の議論は、本開示の様々な構成要素の動作の例示的な例を提供するが、以下の例示的な例の使用は、以下の例示的な例によって開示される原則と一致する他の実装形態を排除するものではない。
【0006】
図1は、様々な実施形態によるネットワーク環境100を描く。ネットワーク環境100は、プレゼンテーションデバイス103、クライアントデバイス106、及び分散型データストア109を含むことができ、これらはネットワーク113を介して互いにデータ通信を行うことができる。
【0007】
ネットワーク113は、広域ネットワーク(WANs)、ローカルエリアネットワーク(LANs)、パーソナルエリアネットワーク(PANs)、又はそれらの組み合わせを含むことができる。これらのネットワークは、有線又は無線の構成要素、又はそれらの組み合わせを含むことができる。有線ネットワークは、イーサネットネットワーク、ケーブルネットワーク、光ファイバーネットワーク、並びにダイヤルアップ、デジタル加入者線(DSL)、及びデジタル統合サービスデジタルネットワーク(ISDN)ネットワークなどの電話ネットワークを含む。無線ネットワークは、セルラーネットワーク、衛星ネットワーク、米国電気電子学会(IEEE)802.11無線ネットワーク(すなわち、Wi-Fi(登録商標))、BLUETOOTH(登録商標)ネットワーク、マイクロ波伝送ネットワーク、及び無線放送に依存するその他のネットワークを含む。ネットワーク113は、2つ以上のネットワーク113の組み合わせを含むこともできる。ネットワーク113の例は、インターネット、イントラネット、エクストラネット、仮想プライベートネットワーク(VPNs)、及び同様のネットワークを含むことができる。
【0008】
プレゼンテーションデバイス103は、デジタルメディアを提示することができる任意のコンピューティングデバイスを表現できる。したがって、プレゼンテーションデバイス103は、プロセッサによって実行されるとき、プレゼンテーションデバイス103に様々な動作を実行させる機械可読命令を保存するメモリを含むことができる。プレゼンテーションデバイス103の例は、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は同様のデバイス)、モバイルコンピューティングデバイス(例えば、携帯情報端末、携帯電話、スマートフォン、ウェブパッド、タブレットコンピュータシステム、音楽プレーヤ、携帯型ゲーム機、電子書籍リーダ、及び同様のデバイス)、メディア再生デバイス(例えば、メディアストリーミングデバイス、ブルーレイ(登録商標)プレーヤ、デジタルビデオディスク(DVD)プレーヤ、セットトップボックス、及び同様のデバイス)、ビデオゲームコンソール、デジタル画像フレーム、スマートスピーカー、又は同様の機能を備えたその他のデバイスを含むことができる。いくつかの例では、プレゼンテーションデバイス103は、液晶ディスプレイ(LCDs)、ガスプラズマベースのフラットパネルディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電気泳動インク(「Eインク」)ディスプレイ、プロジェクタ、又は他のタイプのディスプレイデバイスなどの1つ以上のディスプレイ116を含むことができる。いくつかの例では、ディスプレイ116は、プレゼンテーションデバイス103の構成要素であり得る、又は有線若しくは無線接続を介してプレゼンテーションデバイス103に接続され得る。
【0009】
プレゼンテーションデバイス103は、ハードウェアセキュリティモジュール(HSM)119も含むことができ、これは、統合された暗号鍵を使用してハードウェアを保護し、様々な暗号演算又はプリミティブのサポートを提供する専用のマイクロコントローラである。これは、プレゼンテーションデバイス103又はプレゼンテーションデバイス103によって実行されるアプリケーションに代わって、様々な暗号機能を実行することを含み得る。これらの暗号演算を実行するために、HSM119は、HSM公開鍵123と、それぞれのHSMプライベート鍵126とを含む。HSM公開鍵123は、HSM119によって、プレゼンテーションデバイス103上で実行される任意のアプリケーションに対して自由に利用可能にされ得るが、HSMプライベート鍵126は、プレゼンテーションデバイス103又はプレゼンテーションデバイス103の他の構成要素上で実行される他のプロセスによってアクセス不可能及び読み取り不可能となるように、HSM119内に安全に保持され得る。例えば、HSM119は、HSMプライベート鍵126を使用して任意のデータ片に署名し、HSMプライベート鍵126を開示することなく、その署名を別のアプリケーションに提供することができる。別の例として、HSM119は、HSMプライベート鍵126を開示することなく、HSM公開鍵123を使用して以前に暗号化されたデータを復号化することができる。
【0010】
様々なアプリケーション又は他の機能は、プレゼンテーションデバイス103によって実行され得る。これらの構成要素は、ウォレットアプリケーション129、プレゼンテーションアプリケーション133、及び本明細書で詳細に議論されない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能性を含むことができる。
【0011】
ウォレットアプリケーション129は、プレゼンテーションデバイス103による分散型データストア109との相互作用を容易にするために実行され得る。これは、プレゼンテーションデバイス103に代わって取引を認証することを含み得る。したがって、ウォレットアプリケーション129は、ウォレット公開鍵136及びそれぞれのウォレットプライベート鍵139に関連付けることができ、これにより、ウォレットアプリケーション129は、分散型データストア109上で発生する取引を認証又は検証することができる。ウォレットアプリケーション129は、ウォレットアドレス143にも関連付けることができ、分散型データストア109によって記録された、又は関与する取引のためのプレゼンテーションデバイス103の識別子として作用する。いくつかの実装形態において、ウォレットアドレス143は、(例えば、ウォレット公開鍵136に暗号ハッシュ関数を適用することによって)ウォレット公開鍵136から導出され得る。
【0012】
プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103を使用してメディアを提示するために実行され得る。例えば、プレゼンテーションアプリケーション133は、画像又はビデオをプレゼンテーションデバイス103のディスプレイ116に表示させることができる。別の例として、プレゼンテーションアプリケーション133は、音声ファイル(例えば、音楽、スピーチなど)を、プレゼンテーションデバイス103のスピーカを通して再生させることができる。
【0013】
クライアントデバイス106は、ネットワーク113に結合され得る複数のクライアントデバイスの代表である。クライアントデバイス106は、プロセッサ、メモリ、ネットワークインターフェース、及び他の構成要素を含むことができる。クライアントデバイス106の例は、モバイルデバイス(例えば、スマートフォン、携帯電話、タブレットコンピュータなど)、パーソナルコンピュータ(例えば、デスクトップ、ラップトップなど)、及び同様のデバイスを含む。
【0014】
クライアントデバイス106は、クライアントアプリケーション146又は他のアプリケーションなどの様々なアプリケーションを実行するように構成され得る。クライアントアプリケーション146は、クライアントデバイス106において実行され、プレゼンテーションデバイス103と通信することができる。この目的のために、クライアントアプリケーション146は、ブラウザ、専用アプリケーション、又は他の実行可能を含み得る。クライアントデバイス106は、電子メールアプリケーション、ソーシャルネットワーキングアプリケーション、ワードプロセッサ、スプレッドシート、又は他のアプリケーションなど、クライアントアプリケーション146を超えてアプリケーションを実行するように構成され得る。
【0015】
また様々なデータは、分散型データストア109に記憶される。分散型データストア109は、データストレージネットワーク内のノードとして動作する複数のコンピューティングデバイスから形成されるデータストレージネットワークを表現する。いくつかの実装形態において、任意のコンピューティングデバイスは、1つ以上のクライアントデバイス106又は1つ以上のプレゼンテーションデバイス103を含む、分散型データストア109のノードとして参加できる。一般に、各ノードは、分散型データストア109に記憶されたデータのコピーを記憶できる。データが分散型データストア109に書き込まれる場合、各ノードは、分散型データストア109の他のノードと通信して、分散型データストア109への新しい記録又はデータの格納を検証及び/又は調整することができる。分散型データストア109の例示は、プルーフ・オブ・ワーク、プルーフ・オブ・ステーク、又はプルーフ・オブ・オーソリティ・プロトコルを使用して、ブロックチェーン上に記憶されたデータの新しいブロックを検証するブロックチェーンであり得る。様々な種類のデータは、分散型データストア109によって、記憶され得る。これは、1つ以上の非代替性トークン(NFT)149、非代替性トークン(NFT)スマートコントラクト153、及び/又は1つ以上のアサーション156を含むことができる。
【0016】
NFT149は、ブロックチェーン、分散型台帳、又は同様のデータストアなど、分散型データストア109に記憶された非代替性データ構造を表現することができる。NFT149が非代替性であるため、それは、代替可能性が望ましくない様々な目的に使用され得る。例えば、NFT149は、非代替性デジタル又は物理的なアイテム(例えば、ビデオ、画像、オーディオファイルなど)などの資産の所有権又は支配を表現するために使用され得る。NFT149は、非代替性トークンの様々な規格又はプロトコルに準拠するように構造化又はフォーマットされ得る。このような規格の例としては、ETHEREUM ERC-721規格、ETHEREUM ERC-1155規格、FLOWブロックチェーンNFT規格、SOLANAブロックチェーンNFT規格などを含む。NFT149が一意であり、非代替性であるため、各NFT149は、NFT識別子159も有することができ、これは、他のNFT149に関してNFT149を一意に識別する各NFT149のための一意の識別子を表現できる。NFT識別子159は、NFT149がどの規格に準拠するかに応じて、様々な方法でフォーマットされ得る。NFT149はまた、NFT149のオーナーのアドレスを識別するオーナーアドレス163、及びNFT149を用いて様々なアクション(例えば、販売、譲渡、表示など)を実行するために認証された個人又は団体のアドレスを識別する、認証されたアドレス169と関連付けることができる。NFT149はまた、メタデータ173、例えば、NFT149によって表現されるデジタルファイルの場所を指定するURL、NFT149によって表現されるデジタルファイルのハッシュなどを含むことができる。
【0017】
非代替性トークン(NFT)スマートコントラクト153は、分散型データ109に記憶又はホストされ得る。スマートコントラクトは、分散型データストア109に記憶され、かつ、分散型データストア109のノードによって実行可能である実行可能プログラムである。スマートコントラクトは、1つ以上の所定の条件が満たされたときに自動的に実行され得る。スマートコントラクトによって提供される機能は、分散型データストア109のノード又は分散型データストア109と相互作用するクライアントによって呼ばれる又は呼び出されることもできる。本開示の様々な実施形態において、NFTスマートコントラクト153は、1つ以上の事前定義されたパラメータ及び/又はNFTスマートコントラクト153に入力値として渡される1つ以上の引数に従って、1つ以上のNFT149を作成するために実行され得る。NFTスマートコントラクト153は、クエリに応答して、指定されたNFT149に関する情報(例えば、オーナーアドレス166、認証されたアドレス、及び/又はメタデータ173など)を提供するために実行されることもできる。NFTスマートコントラクト153はまた、NFT149の所有権を移転するため(例えば、オーナーアドレス166を更新することによって)、NFT149の認証されたアドレス169を更新するため、NFT149のメタデータ173を更新するため、又はNFT149上の他の動作を実行するために、実行又は呼び出され得る。
【0018】
NFTスマートコントラクト153は、スマートコントラクトアドレス176を有することもできる。スマートコントラクトアドレス176は、分散型データストア109によってホストされるスマートコントラクトを他のスマートコントラクトから一意に識別するために使用され得る。スマートコントラクトアドレス176は、NFTスマートコントラクト153を参照するために(例えば、NFTスマートコントラクト153によって提供される機能を呼び出すために)使用され得る。
【0019】
1つ以上のアサーション156は、分散型データストア109に記憶され得る。各アサーション156は、NFT149によって表現されるメディアを提示するためのHSM公開鍵123に関連付けられたプレゼンテーションデバイス103に対して、NFT149のオーナーアドレス166又は認証されたアドレス169に関連付けられた個人による認証を表現できる。したがって、個々のアサーション156は、HSM公開鍵123、オーナーアドレス166及び/又は認証されたアドレス169を含むことができる。
【0020】
次に、ネットワーク環境100の様々な構成要素の動作の一般的な説明が提供される。以下の説明は、ネットワーク環境100の様々な構成要素間の相互作用の一例が提供されるが、他の相互作用も可能である。個々の構成要素の動作及び個々の構成要素間の相互作用に関する追加の詳細は、
図2及び
図3のシーケンス図に付随する議論において提供される。
【0021】
始めに、ユーザは、彼又は彼女のプレゼンテーションデバイス103をセットアップできる。セットアッププロセスの一部として、ユーザは、プレゼンテーションデバイス103によって実行されるウォレットアプリケーション129をセットアップ又は登録して、彼又は彼女のウォレットアドレスと相互作用することができる。これにより、ウォレットアプリケーション129は、ユーザのウォレットアドレス143に関連付けられた取引に署名、認証、又は確認することができる。
【0022】
続いて、クライアントデバイス106のユーザは、彼又は彼女のクライアントデバイス106をプレゼンテーションデバイス103に接続できる。例えば、ユーザは、BLUETOOTHを介して、彼又は彼女の携帯電話をプレゼンテーションデバイス103とペアリングすることができる。一旦接続されると、クライアントデバイス106のユーザは、クライアントアプリケーション146を使用して、スマートコントラクトアドレス176及びNFT識別子159を、プレゼンテーションデバイス103上で実行するプレゼンテーションアプリケーション133に提供できる。
【0023】
プレゼンテーションデバイス103は次に、スマートコントラクトアドレス176によって識別されるNFTスマートコントラクト153にクエリを実行して、NFT識別子159によって識別されるNFT149のオーナーアドレス166、認証されたアドレス169、及び/又はメタデータ173を取得できる。NFTスマートコントラクト153は次に、応答として、オーナーアドレス166、認証されたアドレス169、及び/又はメタデータを提供できる。
【0024】
NFT149の所有権を検証するために、プレゼンテーションアプリケーション133は、取引、チャレンジ、又は他のナンス値に署名するために、ウォレットアプリケーション129に要求を送信できる。ウォレットアプリケーション129は、ウォレットプライベート鍵139を使用し、取引、チャレンジ、又は他のナンス値に署名し、取引、チャレンジ、又は他のナンス値の署名をプレゼンテーションアプリケーション133に提供できる。いくつかの例では、ウォレットアプリケーション129は、取引、チャレンジ、又は他のナンス値をプレゼンテーションアプリケーション133に返すこともできる。
【0025】
プレゼンテーションアプリケーション133は次に、ウォレット公開鍵136を署名から取り戻し、ウォレット公開鍵136からウォレットアプリケーション129のウォレットアドレス143を導出する。ウォレットアドレス143がオーナーアドレス166又はNFT149の認証されたアドレス169のいずれかと一致する場合、次にプレゼンテーションアプリケーション133は、プレゼンテーションデバイス103のオーナーがNFT149のオーナー又は認証されたユーザでもあるため、プレゼンテーションデバイス103がNFT149によって表現されるメディアを提示するために認証されると決定できる。
【0026】
例えば、NFT149がイーサリアムブロックチェーン上に記憶され、ウォレットアプリケーション129がイーサリアムウォレットである場合、プレゼンテーションアプリケーション133は、ウォレットアプリケーション129から取引の署名を受信すると、ウォレット公開鍵136を取り戻すために、イーサリアムのSOLIDITY言語によって提供されるECRECOVER機能を使用できる。プレゼンテーションアプリケーション133は次に、ウォレット公開鍵136のKeccak-256ハッシュを生成し、Keccak-256ハッシュの最後の20バイトをウォレットアドレス143として選択することによって、取り戻されたウォレット公開鍵136からウォレットアプリケーション129のウォレットアドレス143を導出できる。プレゼンテーションアプリケーション133は次に、このウォレットアドレス143を、NFT149のオーナーアドレス166又は認証されたアドレス169と比較できる。
【0027】
ウォレットアドレス143がオーナーアドレス166又は認証されたアドレス169と一致する場合、プレゼンテーションアプリケーション133は、NFT149が本物である(例えば、ユーザが所有している、又はユーザがプレゼンテーションデバイス103を使用してNFT149によって表現されるメディアを提示することを認証されている、若しくは承認されている)と決定できる。応答して、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103にNFT149によって表現されるメディアを提示させることができる。いくつかの例では、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103に、NFT149がユーザによって認証された、真正な、又は所有されているインジケーションを提供するインジケータをアクティベートさせることもできる。
【0028】
ウォレットアドレス143がオーナーアドレス166又は認証されたアドレス169と一致しない場合、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103にNFT149によって表現されるメディアを提示させるように依然として構成され得る。しかしながら、これらの状況において、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103に、NFT149がユーザによって認証された、真正な、又は所有されているインジケーションを提供するインジケータをアクティベートさせることに失敗し得る。代替的に、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103がNFT149によって表現されるメディアを提示することを無視する、又はそうでなければ失敗するように構成され得る。これらの状況において、ユーザによって認証された、真正な、又は所有されているNFT149のみが、プレゼンテーションデバイス103を使用して提示されることになる。
【0029】
単独で、プレゼンテーションデバイス103の視聴者は、プレゼンテーションデバイス103の識別子を検証することを望むこともできる。例えば、認証されていないプレゼンテーションデバイス103は、NFT149によって表現されるメディアのデジタルコピーを提示するように構成され得る。このような偽造のプレゼンテーションデバイス103は、メディアが提示のために認証されていないコピー又は複製であることを隠すために、真正性のインジケータを提供することもできる。
【0030】
したがって、ユーザは、プレゼンテーションデバイス103のHSM119に埋め込まれたHSM公開鍵123を取得できる。これは、いくつかの方法で行われ得る。例えば、ユーザは、HSM公開鍵123を符号化するクイックレスポンス(QR)コードを、クライアントデバイス106を使用してスキャンすることができる。別の例として、ユーザは、HSM公開鍵123を取得するために、BLUETOOTH、近距離無線通信(NFC)、又は同様の無線プロトコルを使用し、彼又は彼女のクライアントデバイス106をプレゼンテーションデバイス103とペアリングすることができる。
【0031】
クライアントアプリケーション146は次に、HSM公開鍵123を使用してチャレンジを暗号化し、暗号化されたチャレンジをプレゼンテーションデバイス103に送信できる。プレゼンテーションデバイス103は、暗号化されたチャレンジをHSM119に提示でき、これは、チャレンジを復号化し、HSMプライベート鍵126を使用してチャレンジの署名を作成できる。プレゼンテーションデバイス103は次に、チャレンジの署名をクライアントアプリケーション146に送り返すことができる。
【0032】
クライアントアプリケーション146は、チャレンジの署名を検証するために、HSM公開鍵123を使用できる。署名が有効である場合、クライアントアプリケーションは、分散型データストア109から、HSM公開鍵123に関連付けられた1つ以上のアサーション156を検索できる。クライアントアプリケーション146は次に、アサーション156を評価し、プレゼンテーションデバイス103が本物である、又は認証されたデバイスであるかどうかを決定できる。
【0033】
次に
図2を参照すると、ネットワーク環境100の構成要素間の相互作用の1つの例を提供するシーケンス図が示される。
図2のシーケンス図は、ネットワーク環境100内で採用又は実行され得る多くの異なる種類の機能的配置の一例を提供するだけである。代替として、
図2のシーケンス図は、ネットワーク環境100内で実装される方法の要素の一例を描いていると見なすことができる。
【0034】
ブロック203から始めて、クライアントアプリケーション146は、NFT識別子159をプレゼンテーションアプリケーション133に送信する。クライアントアプリケーション146は、NFT識別子159によって識別されるNFT149に責任を持つスマートコントラクトアドレス176を送信することもできる。
【0035】
次に、ブロック206で、プレゼンテーションアプリケーション133は、スマートコントラクトアドレス176によって識別されるNFTスマートコントラクト153に要求を送信する。要求は、NFTスマートコントラクト153によって提供される1つ以上の機能を呼び出し、NFT識別子159を引数として提供できる。例えば、プレゼンテーションアプリケーション133は、機能への引数又は入力として提供されるNFT識別子159に応答して、NFT149のオーナーアドレス166を返すNFTスマートコントラクト153によって公開される第1の機能を呼び出すことができる。同様に、プレゼンテーションアプリケーション133は、機能への引数又は入力として提供されるNFT識別子159に応答して、NFT149の認証されたアドレス169を返すNFTスマートコントラクト153によって公開される第2の機能を呼び出すことができる。更に、プレゼンテーションアプリケーション133は、機能への引数又は入力として提供されるNFT識別子159に応答して、NFT149のメタデータ173を返すNFTスマートコントラクト153によって公開される第3の機能を呼び出すことができる。いくつかの実装形態において、これらの機能のうちの1つ以上は、NFTスマートコントラクト153の単一の機能として実装され得る。プレゼンテーションアプリケーション133は次に、応答として、NFTスマートコントラクト153からオーナーアドレス166、認証されたアドレス169、及び/又はメタデータ173を受信できる。
【0036】
次に、ブロック209において、プレゼンテーションアプリケーション133は、ブロック203においてクライアントアプリケーション146によって供給されたNFT識別子159によって識別されるNFT149の所有権を検証できる。従って、プレゼンテーションアプリケーション133は、取引、チャレンジ、又は他のナンス値に署名するようにウォレットアプリケーション129に要求を送信できる。ウォレットアプリケーション129は、ウォレットプライベート鍵139を使用して、取引、チャレンジ、又は他のナンス値に署名し、取引、チャレンジ、又は他のナンス値の署名をプレゼンテーションアプリケーション133に提供できる。いくつかの例において、ウォレットアプリケーション129は、取引、チャレンジ、又は他のナンス値をプレゼンテーションアプリケーション133に返すこともできる。
【0037】
プレゼンテーションアプリケーション133は次に、署名からウォレット公開鍵136を取り戻し、ウォレット公開鍵136からウォレットアプリケーション129のウォレットアドレス143を導出することができる。ウォレットアドレス143がNFT149のオーナーアドレス166又は認証されたアドレス169のいずれかと一致する場合、プレゼンテーションアプリケーション133は、プレゼンテーションデバイス103のオーナーがNFT149のオーナー又は認証されたユーザでもあるため、プレゼンテーションデバイス103がNFT149によって表現されるメディアを提示するために認証されると決定できる。
【0038】
例えば、NFT149がイーサリアムブロックチェーン上に記憶され、ウォレットアプリケーション129がイーサリアムウォレットである場合、プレゼンテーションアプリケーション133は、ウォレットアプリケーション129から取引の署名を受信すると、ウォレット公開鍵136を取り戻すために、イーサリアムのSOLIDITY言語によって提供されるECRECOVER機能を使用できる。プレゼンテーションアプリケーション133は次に、ウォレット公開鍵136のKeccak-256ハッシュを生成し、Keccak-256ハッシュの最後の20バイトをウォレットアドレス143として選択することによって、取り戻されたウォレット公開鍵136からウォレットアプリケーション129のウォレットアドレス143を導出できる。プレゼンテーションアプリケーション133は次に、このウォレットアドレス143を、NFT149のオーナーアドレス166又は認証されたアドレス169と比較できる。
【0039】
プレゼンテーションアプリケーション133が、NFT149がプレゼンテーションデバイス103のオーナーによって所有されている、又はプレゼンテーションデバイス103による提示を認証されていると決定する場合、プレゼンテーションアプリケーション133は、ブロック213において、プレゼンテーションデバイス103に真正性のインジケータをアクティベートさせることができる。例えば、プレゼンテーションアプリケーション133は、NFT149がプレゼンテーションデバイス103のオーナーによって所有されている、又はプレゼンテーションデバイス103による提供が認証されていることを示すために、プレゼンテーションデバイス103に小さなライトを点灯させる、又はライトの色を(例えば、赤から緑に)変更させることができる。同様に、NFT149がプレゼンテーションデバイス103のオーナーによって所有されていない、又はプレゼンテーションデバイス103による提供を認証されていない場合、プレゼンテーションアプリケーション133は、小さなライトを消灯したり、ライトの色を(例えば、緑から赤へ)変更したりすることによって、プレゼンテーションデバイス103に真正性のインジケータを非アクティべートさせることができる。
【0040】
続いて、ブロック216において、プレゼンテーションアプリケーション133は、NFT149によって表現されるメディアをプレゼンテーションデバイス103を使用して提示させることができる。例えば、プレゼンテーションアプリケーション133は、NFT149のメタデータに指定されたユニフォームリソースロケータ(URL)に配置されるメディアファイルを要求することができる。一旦メディアファイルが受信されると、それは、プレゼンテーションデバイス103を用いて提示され得る。例えば、メディアファイルが画像又はビデオである場合、メディアファイルは、プレゼンテーションデバイス103のディスプレイ116に表示され得る。別の例として、メディアファイルがオーディオファイルである場合、オーディオファイルは、プレゼンテーションデバイス103に内蔵されたスピーカを使用して再生され得る。
【0041】
いくつかの実装形態において、プレゼンテーションアプリケーション133は、ブロック216において、URLに配置されるメディアファイルのハッシュを、NFT149のメタデータ173に含まれるハッシュと比較できる。ハッシュが一致する場合、これは、URLに配置されるメディアファイルが、NFT149によって表現されるメディアファイルであることを示す。この状況において、プレゼンテーションアプリケーション133は次に、メディアファイルを提示できる。しかしながら、ハッシュが一致しなかった場合、これは、URLに配置されるメディアファイルがNFT149によって表現されるメディアファイルではないことを示す。このような状況において、プレゼンテーションアプリケーション133は、メディアファイルの提示に失敗し得る。
【0042】
先に議論したように、NFT149がブロック209で検証されなかった(not validated)場合、NFT149によって表現されるメディアは、いくつかの実装形態において、依然としてブロック216で提示され得る。しかしながら、ブロック213で論じたように、真正性のインジケータは、NFT149がプレゼンテーションデバイス103のオーナーによって所有されていない、又はプレゼンテーションデバイス103を使用して認証又は表示されていないことを示すだろう。代替的に、ブロック216の機能は、所有されていない、又は提示を認証されていないNFT149に対して、スキップ又は省略され得る。
【0043】
次に
図3を参照すると、ネットワーク環境100の構成要素間の相互作用の1つの例を提供するシーケンス図が示されている。
図3のシーケンス図は、ネットワーク環境100内で採用又は実行され得る多くの異なる種類の機能的配置の一例を提供するに過ぎない。代替として、
図3のシーケンス図は、ネットワーク環境100内で実装される方法の要素の一例を描いていると見なすことができる。
【0044】
ブロック301から始まって、クライアントアプリケーション146は、NFT149によって表現されるメディアを提示しているプレゼンテーションデバイス103のHSM119からHSM公開鍵123を取得できる。これは、様々なアプローチを使用して行われ得る。例えば、クライアントアプリケーション146は、クライアントデバイス106に、マトリックスバーコード(例えば、QRコード)若しくはHSM公開鍵123の他のエンコーディングをスキャンさせる、又はクライアントデバイス106上で実行されている別のアプリケーションによってキャプチャされたスキャンを受信させることができる。別の例として、ユーザは、HSM公開鍵123を取得するために、BLUETOOTH、近距離無線通信(NFC)、又は同様の無線プロトコルを使用して、彼又は彼女のクライアントデバイス106をプレゼンテーションデバイス103とペアリングすることができる。クライアントアプリケーション146は次に、HSM公開鍵123を受信するために、プレゼンテーションデバイス103と無線で通信することができる。
【0045】
ブロック303に移ると、クライアントアプリケーション146は、プレゼンテーションアプリケーション133にチャレンジを送信できる。例えば、クライアントアプリケーション146は、トークン、ノンス値、又は他のランダムなデータ片を生成できる。クライアントアプリケーション146は次に、トークン、ノンス値、又は他のランダムなデータ片をHSM公開鍵123で暗号化し、暗号化されたトークン、ナンス値、又は他のランダムなデータ片を生成でき、クライアントアプリケーション146は、暗号化されたチャレンジとしてプレゼンテーションアプリケーション133に送信できる。
【0046】
次に、ブロック306において、プレゼンテーションアプリケーション133は、クライアントアプリケーション146によって送信された暗号化されたチャレンジを復号化させ、HSM119のHSMプライベート鍵126によって署名させることができる。例えば、プレゼンテーションアプリケーション133は、HSMプライベート鍵126を使用し、暗号化されたチャレンジを復号化し、次いで、結果として生じるトークン、ノンス値、又は他のランダムなデータ片をHSMプライベート鍵126で署名するために、HSM119によって提供される1つ以上の機能を呼び出すことができる。
【0047】
次に、ブロック309において、プレゼンテーションアプリケーション133は、ブロック306で生成された署名をクライアントアプリケーション146に返すことができる。
【0048】
したがって、ブロック311において、クライアントアプリケーション146は、プレゼンテーションアプリケーション133によって提供される署名を検証できる。例えば、クライアントアプリケーション146は、ブロック301で取得されたHSM公開鍵123を使用して、それぞれのHSMプライベート鍵126によって生成された、ブロック309で受信されたトークンの署名、ノンス値、又はランダムなデータ片を検証できる。署名が検証される場合、クライアントアプリケーション146は、HSM公開鍵123に関連付けられたプレゼンテーションデバイス103と通信していることを決定できる。
【0049】
ブロック313に移ると、クライアントアプリケーション146は、分散型データストア109からHSM公開鍵123に関連付けられた1つ以上のアサーション156を検索できる。従って、HSM公開鍵123は、プレゼンテーションデバイス103について作成された全てのアサーション156を取り出すための検索パラメータとして使用され得る。
【0050】
続いて、ブロック316において、クライアントアプリケーション146は、アサーション156を評価し、プレゼンテーションデバイス103によって表現されたメディアが有効、又は認証されたNFT149に関連付けられているかどうかを確認できる。例えば、クライアントアプリケーション146は、オーナーアドレス166又は認証されたアドレス169と、現在提示されているメディアを表現するNFT149のNFT識別子159とを取得できる。
【0051】
クライアントアプリケーション146は、いくつかのアプローチを通じて、NFT識別子159、オーナーアドレス166、及び/又は認証されたアドレス169を取得できる。一つの例において、プレゼンテーションデバイス103は、これらの値を(例えば、クライアントデバイス106によってスキャンされ得るQRコードなどのマトリックスバーコードを通して)表示でき、クライアントデバイス106によってスキャンされ、クライアントアプリケーション146に提供されることができる。別の一例として、これらの値は、プレゼンテーションアプリケーション133によって(例えば、クライアントデバイス106とプレゼンテーションデバイス103との間のBLUETOOTH又はNFC接続を介して)クライアントアプリケーション146に送信され得る。
【0052】
クライアントアプリケーション146は次に、NFT識別子159及びオーナーアドレス166又は認証されたアドレス169を、プレゼンテーションデバイス103のHSM公開鍵123に関連付けられたアサーション156にリストされているNFT識別子159及びオーナーアドレス166又は認証されたアドレス169と、比較できる。NFT識別子159及びオーナーアドレス166又は認証されたアドレス169がアサーション156にリストされた値と一致する場合、クライアントアプリケーション146は、プレゼンテーションデバイス103がNFT149によって表現されるメディアを表示することを認証されている、又は許可を有しており、プレゼンテーションが有効である又は本物であると結論付けることができる。
【0053】
上で議論した、いくつかのソフトウェア・コンポーネントは、それぞれのコンピューティングデバイスのメモリに記憶され、それぞれのコンピューティングデバイスのプロセッサによって実行可能である。この点において、用語「実行可能な」とは、最終的にプロセッサによって実行され得る形態にあるプログラム・ファイルを意味する。実行可能なプログラムの例としては、メモリのランダム・アクセス部分にロードされプロセッサによって実行され得るフォーマットで機械コードに変換可能なコンパイルされたプログラム、メモリのランダム・アクセス部分にロードされプロセッサによって実行され得るオブジェクト・コードなど適切なフォーマットとして表現され得るソース・コード、又は別の実行可能プログラムによって解釈され、プロセッサによって実行されるようにメモリのランダム・アクセス部分において命令を生成することができるソース・コードを挙げることができる。実行可能なプログラムは、メモリのあらゆる部分又はコンポーネントに記憶され得、例えばランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハード・ドライブ、ソリッドステート・ドライブ、ユニバーサル・シリアル・バス(USB)フラッシュ・ドライブ、メモリ・カード、コンパクト・ディスク(CD)若しくはデジタル・バーサタイル・ディスク(DVD)などの光学ディスク、フロッピ・ディスク、磁気テープ、又は他のメモリ・コンポーネントに記憶され得る。
【0054】
メモリは、揮発性及び非揮発性両方の、メモリ及びデータ・ストレージ・コンポーネントを含む。揮発性のコンポーネントは、電力が失われるとデータ値を保持しないコンポーネントである。非揮発性のコンポーネントは、電力が失われてもデータの値を保持するコンポーネントである。故に、メモリは、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハード・ディスク・ドライブ、ソリッドステート・ドライブ、USBフラッシュ・ドライブ、メモリ・カード・リーダを介してアクセスされるメモリ・カード、関連付けられたフロッピ・ディスク・ドライブを介してアクセスされるフロッピ・ディスク、光学ディスク・ドライブを介してアクセスされる光学ディスク、適切なテープ・ドライブを介してアクセスされる磁気テープ、又は他のメモリ・コンポーネント、又はこれらのメモリ・コンポーネントのうち任意の二つ以上の組合せを含むことができる。加えて、RAMは、静的ランダム・アクセス・メモリ(SRAM)、動的ランダム・アクセス・メモリ(DRAM)、又は磁気的なランダム・アクセス・メモリ(MRAM)及び他のそのようなデバイスを含むことが可能である。ROMは、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)、又は他の同様なメモリ・デバイスを含むことができる。
【0055】
本明細書で説明されるアプリケーション及びシステムは、上で議論したような汎用のハードウェアによって実行されるソフトウェア又はコードとして具体化されることが可能であるが、代替として、本明細書で説明されるアプリケーション及びシステムはまた、専用ハードウェア、又はソフトウェア/汎用ハードウェアと専用ハードウェアとの組合せとして具体化されることもできる。専用ハードウェアとして具体化される場合、それぞれは、いくつかの技術のうちの一つ又はそれらの組合せのいずれかを採用する回路又は状態機械として実装されることが可能である。このような技術は、限定はしないが、一つ若しくは複数のデータ信号を印加すると様々な論理機能を実装する論理ゲートを有するディスクリート論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASICs)、フィールドプログラマブル・ゲート・アレイ(FPGAs)、又は他のコンポーネントなどを含むことができる。そのような技術は、一般的には当業者に周知であるため、結果的に本明細書では詳細に説明されていない。
【0056】
シーケンス図は、本開示の様々な実施形態の部分の実装の、機能性及び動作を表している。ソフトウェアとして具体化される場合、それぞれのブロックは、指定の論理機能を実装するためのプログラム命令を含むコードの、モジュール、セグメント、又は部分を表現することが可能である。プログラム命令は、コンピュータ・システム内のプロセッサなどの適切な実行システムによって認識可能な数値命令を含むプログラミング言語又は機械コードで記述された人間可読ステートメントを含むソース・コードの形態として具体化されることが可能である。機械コードは、様々なプロセスを通じてソース・コードから変換されることが可能である。例えば、機械コードは、対応するアプリケーションの実行に先立って、コンパイラを用いてソース・コードから生成されることが可能である。別の例として、機械コードは、インタプリタによる実行と同時的にソース・コードから生成されることが可能である。他の手法もまた使用され得る。ハードウェアとして具体化される場合、それぞれのブロックは、指定される一つ又は複数の論理機能を実装するために、一つの回路又はいくつかの相互接続された回路を表現することが可能である。
【0057】
シーケンス図は具体的な実行の順序を辿っているが、実行の順は、描かれているものとは異なっていてもよいことを理解されたい。例えば、二つ以上のブロックの実行の順序は、示されている順序に対してスクランブルされてもよい。また、連続して示される二つ以上のブロックは、同時的に、又は部分的に同時に実行され得る。更には、いくつかの実施形態では、シーケンス図に示されるブロックのうちの一つ又は複数は、スキップ又は省略され得る。加えて、実用性の向上、課金、性能測定、又はトラブルシューティング支援の提供などの目的で、あらゆる数のカウンタ、状態変数、警告セマフォ、又はメッセージが、本明細書で説明される論理フローに追加される場合がある。すべてのそのような変形例は、本開示の範囲内であることを理解されたい。
【0058】
また、ソフトウェア又はコードを含む、本明細書で説明されるあらゆるロジック又はアプリケーションは、コンピュータ・システム又は他のシステム内のプロセッサなどの命令実行システムによる、又はそれと組み合わせた使用に向けて、任意の非一時的なコンピュータ可読媒体として具体化され得る。この意味で、ロジックは、コンピュータ可読媒体からフェッチされ、命令実行システムによって実行されることが可能な、命令及び宣言を含んでいるステートメントを含むことが可能である。本開示のコンテキストでは、「コンピュータ可読媒体」は、命令実行システムによる、又はそれと組み合わせた使用に向けて、本明細書で説明されるロジック又はアプリケーションを、含むこと、記憶すること、又は維持することが可能な、あらゆる媒体であることができる。その上、複数のコンピューティングデバイスにまたがって配置される分散型のコンピュータ可読媒体の集合(例えば、ストレージ・エリア・ネットワーク、又は分散型若しくはクラスタ型のファイルシステム若しくはデータベース)はまた、集合的に、単一の非一時的なコンピュータ可読媒体とも考えることができる。
【0059】
コンピュータ可読媒体は、磁気、光学、又は半導体の媒体など、多くの物理的媒体のいずれかを含むことが可能である。適切なコンピュータ可読媒体のより具体的な例としては、限定はしないが、磁気テープ、磁気フロッピ・ディスケット、磁気ハード・ドライブ、メモリ・カード、ソリッドステート・ドライブ、USBフラッシュ・ドライブ、又は光学ディスクが挙げられよう。また、コンピュータ可読媒体は、静的ランダム・アクセス・メモリ(SRAM)及び動的ランダム・アクセス・メモリ(DRAM)又は磁気的なランダム・アクセス・メモリ(MRAM)を含む、ランダム・アクセス・メモリ(RAM)であることができる。加えて、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)、又は他のタイプのメモリ・デバイスであることが可能である。
【0060】
更には、本明細書で説明される、あらゆるロジック又はアプリケーションは、多様な方法で実装され、構造化されることが可能である。例えば、説明される一つ又は複数のアプリケーションは、単一のアプリケーションの、モジュール又はコンポーネントとして実装され得る。更には、本明細書で説明される一つ又は複数のアプリケーションは、共有されたコンピューティングデバイス若しくは別個のコンピューティングデバイス、又はそれらの組合せにおいて、実行され得る。例えば、本明細書で説明される複数のアプリケーションは、同一のコンピューティングデバイスにおいて、又は同一のコンピューティング環境内の複数のコンピューティングデバイスにおいて、実行され得る。
【0061】
「X、Y、又はZのうちの少なくとも一つ」という言い回しなどの、選言的な語句は、そうではないと明言されない限り、項目、用語などがX、Y、若しくはZのいずれかであり得る、又はそのいずれかの組合せ(例えば、X;Y;Z;X、又はY;X、又はZ;Y、又はZ;X、Y、又はZ;など)であり得ることを提示するために一般的に使用されるようなコンテキストで、理解される。故に、そのような選言的な語句は、一般的に、特定の実施形態が、Xのうちの少なくとも一つ、Yのうちの少なくとも一つ、及び/又はZのうちの少なくとも一つのそれぞれが存在するよう要求していることを含意するよう意図されておらず、またそのように含意してはならない。
【0062】
本開示の上述の実施形態は、本開示の原理を明瞭に理解するために説明された実装形態の可能な例に過ぎないことが強調されるべきである。本開示の思想及び原理から実質的に逸脱することなく上述の実施形態に対して多くの変形及び変更が成され得る。すべてのそのような変形及び変更は、本明細書において本開示の範囲内に含められ、以下の特許請求の範囲によって保護されることが意図されている。
【0063】
本開示の様々な実施形態は、以下の条項に記載される。以下の条項では、本開示のいくつかの実施形態について説明するが、本開示の他の実施形態は上記にも記載されている。
【0064】
条項1
プロセッサ、メモリ、及びディスプレイを含むコンピューティングデバイスと、メモリに記憶された機械可読命令であって、プロセッサによって実行されるとき、コンピューティングデバイスに少なくとも、クライアントデバイスからスマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、NFTのためのオーナーアドレスを取得するために実行することであって、NFT識別子はスマートコントラクトの機能への引数として提供される、実行することと、NFTのためのオーナーアドレスを検証することと、NFTのためのオーナーアドレスの検証に応答して、NFTによって表現されるメディアファイルを提示することと、をさせる、機械可読命令とを備える、システム。
【0065】
条項2
NFTによって表現されるメディアファイルを提示させる、機械可読命令が、実行されるとき、コンピューティングデバイスに少なくとも、NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別し、URLは、メディアファイルが配置される場所を指定し、URLで指定された場所からメディアファイルを更に取得させる、条項1に記載のシステム。
【0066】
条項3
コンピューティングデバイスは、アクティブであるとき、画像が本物であることを表現するインジケータライトを更に備え、及び、機械可読命令は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに少なくとも、NFTのためのオーナーアドレスの検証に応答して、インジケータライトを更にアクティベートさせる、条項1又は2に記載のシステム。
【0067】
条項4
クライアントデバイスは、BLUETOOTH又は近距離無線通信(NFC)接続を介してコンピューティングデバイスと通信し、スマートコントラクトアドレス及びNFT識別子は、BLUETOOTH又はNFC接続を介して受信される、条項1から3に記載のシステム。
【0068】
条項5
コンピューティングデバイスにNFTのためのオーナーアドレスを検証させる、機械可読命令は、実行されるとき、コンピューティングデバイスに少なくとも、コンピューティングデバイスによってホストされるウォレットアプリケーションに、取引に署名するための要求を送信することと、ウォレットアプリケーションから取引の署名を受信することと、取引の署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、ウォレット公開鍵からウォレットアドレスを導出することと、ウォレットアドレスがオーナーアドレスと一致することを決定することと、を更にさせる、条項1から4に記載のシステム。
【0069】
条項6
NFTがハッシュを含み、及び、機械可読命令は、実行されるとき、コンピューティングデバイスに少なくとも、NFTに含まれるハッシュがメディアファイルのハッシュと一致すると決定することと、を更にさせ、メディアファイルは、NFTに含まれるハッシュがメディアファイルのハッシュと一致するという決定に応答して、URLによって指定された場所から取得されること、を更にさせる、条項1から5に記載のシステム。
【0070】
条項7
NFTは、イーサリアムブロックチェーン上に記憶される、条項1から6に記載のシステム。
【0071】
条項8
クライアントデバイスから、スマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、NFTのためのオーナーアドレスを取得するために、スマートコントラクトアドレスに配置されるスマートコントラクトの機能を実行し、NFT識別子がスマートコントラクトの機能の引数として提供されることと、NFTのためのオーナーアドレスを検証することと、NFTのためのオーナーアドレスの検証に応答して、NFTによって表現されるメディアファイルを提示することとを含む、方法。
【0072】
条項9
メディアファイルを提示することは、NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、URLは、メディアファイルが配置される場所を指定することと、URLで指定された場所からメディアファイルを取得することを更に含む、条項8に記載の方法。
【0073】
条項10
NFTのためのオーナーアドレスの検証に応答して、プレゼンテーションデバイスのインジケータライトをアクティベートさせることを更に含む、条項8又は9に記載の方法。
【0074】
条項11
スマートコントラクトアドレス及びNFT識別子は、クライアントデバイスとのBLUETOOTH又はNFC接続を介して、受信される、条項8から10に記載の方法。
【0075】
条項12
NFTのためのオーナーアドレスを検証することは、取引に署名するために、コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、ウォレットアプリケーションから取引の署名を受信することと、取引の署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、ウォレット公開鍵からウォレットアドレスを導出することと、ウォレットアドレスがオーナーアドレスと一致することを決定することとを更に含む、条項8から11に記載の方法。
【0076】
条項13
NFTがハッシュを含み、及び方法は、NFTに含まれるハッシュが、メディアファイルのハッシュと一致することを決定することと、NFTに含まれるハッシュがメディアファイルのハッシュと一致することの決定に応答して、URLによって指定された場所からメディアファイルを取得することが、発生することと、を更に含む、条項8から12に記載の方法。
【0077】
条項14
NFTは、イーサリアムブロックチェーン上に記憶される、条項8から13に記載の方法。
【0078】
条項15
コンピューティングデバイスのプロセッサによって実行されるとき、コンピューティングデバイスに少なくとも、クライアントデバイスから、スマートコントラクトアドレス及び非代替性トークン(NFT)識別子を受信することと、スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、NFTのためのオーナーアドレスを取得するために実行することであって、NFT識別子はスマートコントラクトの機能の引数として提供される、実行することと、NFTのためのオーナーアドレスを検証することと、NFTのためのオーナーアドレスの検証に応答して、NFTによって表現されるメディアファイルを提示することと、をさせる機械可読命令を含む、非一時的、コンピュータ可読媒体。
【0079】
条項16
NFTによって表現されるメディアファイルを提示させる、機械可読命令が、実行されるとき、コンピューティングデバイスに少なくとも、NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、URLはメディアファイルが配置される場所を指定する、識別することと、URLで指定された場所からメディアファイルを取得することとを更にさせる、条項15に記載の非一時的、コンピュータ可読媒体。
【0080】
条項17
コンピューティングデバイスは、アクティブであるとき、画像が本物であることを表現するインジケータライトを更に備え、及び、機械可読命令は、コンピューティングデバイスによって実行されるとき、NFTのためのオーナーアドレスの検証に応答して、コンピューティングデバイスに少なくとも、インジケータライトを更にアクティベートさせる、条項15又は16に記載の非一時的、コンピュータ可読媒体。
【0081】
条項18
クライアントデバイスは、BLUETOOTH又は近距離無線通信(NFC)接続を介して、コンピューティングデバイスと通信し、スマートコントラクトアドレス及びNFT識別子は、BLUETOOTH又はNFC接続を介して受信される、条項15から17に記載の非一時的、コンピュータ可読媒体。
【0082】
条項19
コンピューティングデバイスにNFTのためのオーナーアドレスを検証させる、機械可読命令は、実行されるとき、コンピューティングデバイスに少なくとも、取引に署名するために、コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、ウォレットアプリケーションから取引の署名を受信することと、取引の署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、ウォレット公開鍵からウォレットアドレスを導出することと、ウォレットアドレスがオーナーアドレスと一致することを決定することとを更にさせる、条項15から18に記載の非一時的、コンピュータ可読媒体。
【0083】
条項20
NFTは、イーサリアムブロックチェーン上に記憶される、条項15から19に記載の非一時的、コンピュータ可読媒体。
【手続補正書】
【提出日】2024-09-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサ、メモリ、及びディスプレイを含むコンピューティングデバイスと、
前記メモリに記憶された機械可読命令であって、前記プロセッサによって実行されるとき、前記コンピューティングデバイスに少なくとも、
クライアントデバイスから、非代替性トークン(NFT)のためのスマートコントラクトアドレス及びNFT識別子を受信することと、
前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、前記NFTのためのオーナーアドレスを取得するために実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能への引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することであって、前記コンピューティングデバイスに少なくとも、
前記コンピューティングデバイスによってホストされるウォレットアプリケーションに、取引に署名するための要求を送信することと、
前記ウォレットアプリケーションから前記取引の前記署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、を行わせて検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現されるメディアファイルを提示することと、
をさせる、機械可読命令と、
を備える、システム。
【請求項2】
前記NFTによって表現される前記メディアファイルを提示させる、前記機械可読命令が、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することとであって、前記URLは、前記メディアファイルが配置される場所を指定する、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得させることと、
を更にさせる請求項1に記載のシステム。
【請求項3】
前記コンピューティングデバイスは、アクティブであるとき、前記メディアファイルが本物であることを表現するインジケータライトを更に備え、及び、前記機械可読命令は、前記コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに少なくとも、前記NFTのための前記オーナーアドレスの検証に応答して、前記インジケータライトをアクティベートさせることと、を更にさせる請求項1に記載のシステム。
【請求項4】
前記クライアントデバイスは、BLUETOOTH又は近距離無線通信(NFC)接続を介して前記コンピューティングデバイスと通信し、前記スマートコントラクトアドレス及び前記NFT識別子は、前記BLUETOOTH又は前記NFC接続を介して受信される、請求項1に記載のシステム。
【請求項5】
前記NFTがハッシュを含み、及び、前記機械可読命令は、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTに含まれる前記ハッシュが前記メディアファイルのハッシュと一致すると決定することと、を更にさせ、
前記メディアファイルは、前記NFTに含まれる前記ハッシュが前記メディアファイルの前記ハッシュと一致するという決定に応答して、前記URLによって指定された前記場所から取得される、請求項2に記載のシステム。
【請求項6】
前記NFTは、前記イーサリアムブロックチェーン上に記憶される、請求項1に記載のシステム。
【請求項7】
クライアントデバイスから、非代替性トークン(NFT)のためのスマートコントラクトアドレス及びメディアファイルを表現するNFT識別子を受信することと、
前記NFTのためのオーナーアドレスを取得するために、前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能の引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現される前記メディアファイルを提示することと、
前記NFTのための前記オーナーアドレスの検証に応答して、プレゼンテーションデバイスのインジケータライトをアクティベートさせることと、
を含む、方法。
【請求項8】
前記メディアファイルを提示することは、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、前記URLは、前記メディアファイルが配置される場所を指定すること、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得することと、
を更に含む、請求項7に記載の方法。
【請求項9】
前記スマートコントラクトアドレス及び前記NFT識別子は、前記クライアントデバイスとの前記BLUETOOTH又は前記NFC接続を介して、受信される、請求項7に記載の方法。
【請求項10】
前記NFTのための前記オーナーアドレスを検証することは、
取引に署名するために、前記コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、
前記ウォレットアプリケーションから前記取引の前記署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を判定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、
を更に含む、請求項7に記載の方法。
【請求項11】
前記NFTがハッシュを含み、及び前記方法は、
前記NFTに含まれる前記ハッシュが、前記メディアファイルのハッシュと一致することを決定することと、
前記NFTに含まれる前記ハッシュが前記メディアファイルの前記ハッシュと一致することの決定に応答して、前記URLによって指定された前記場所から前記メディアファイルを取得することが、発生する、
を更に含む、請求項8に記載の方法。
【請求項12】
前記NFTは、前記イーサリアムブロックチェーン上に記憶される、請求項7に記載の方法。
【請求項13】
前記インジケータライトは、アクティブであるとき、前記メディアファイルが本物であることを表現する、請求項7に記載の方法。
【請求項14】
コンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに少なくとも、
クライアントデバイスから、非代替性トークン(NFT)のためのスマートコントラクトアドレス及びNFT識別子を受信することと、
前記スマートコントラクトアドレスに配置されるスマートコントラクトの機能を、前記NFTのためのオーナーアドレスを取得するために実行することであって、前記NFT識別子は前記スマートコントラクトの前記機能の引数として提供される、実行することと、
前記NFTのための前記オーナーアドレスを検証することとであって、前記コンピューティングデバイスに少なくとも、
取引に署名するために、前記コンピューティングデバイスによってホストされるウォレットアプリケーションに要求を送信することと、
前記ウォレットアプリケーションから前記取引の署名を受信することと、
前記取引の前記署名の少なくとも一部に基づいてウォレット公開鍵を決定することと、
前記ウォレット公開鍵からウォレットアドレスを導出することと、
前記ウォレットアドレスが前記オーナーアドレスと一致することを決定することと、を行わせて検証することと、
前記NFTのための前記オーナーアドレスの検証に応答して、前記NFTによって表現されるメディアファイルを提示することと、
をさせる機械可読命令を含む、非一時的、コンピュータ可読媒体。
【請求項15】
前記NFTは、ハッシュを含み、
前記NFTによって表現される前記メディアファイルを提示させる、前記機械可読命令が、実行されるとき、前記コンピューティングデバイスに少なくとも、
前記NFTのメタデータに含まれるユニフォームリソースロケータ(URL)を識別することであって、前記URLは前記メディアファイルが配置される場所を指定する、識別することと、
前記URLで指定された前記場所から前記メディアファイルを取得することと、
を更にさせる、請求項14に記載の非一時的、コンピュータ可読媒体。
【国際調査報告】