(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240515BHJP
【FI】
G06Q50/10
(21)【出願番号】P 2023561324
(86)(22)【出願日】2023-04-18
(86)【国際出願番号】 JP2023015499
(87)【国際公開番号】W WO2023204214
(87)【国際公開日】2023-10-26
【審査請求日】2023-10-05
(31)【優先権主張番号】P 2022068599
(32)【優先日】2022-04-19
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】519049606
【氏名又は名称】株式会社ペイクル
(74)【代理人】
【識別番号】100190621
【氏名又は名称】崎間 伸洋
(74)【代理人】
【識別番号】100212510
【氏名又は名称】笠原 翔
(72)【発明者】
【氏名】眞子 豊
【審査官】松田 岳士
(56)【参考文献】
【文献】特開2021-166028(JP,A)
【文献】米国特許第11075891(US,B1)
【文献】特開2021-051585(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
ブロックチェーン上のNFTをオーナが所有したまま、当該NFTに紐付けられたコンテンツを所定ツールでクライアントに利用させる制御を実行する情報処理システムであって、
第1鍵を用いて前記コンテンツを暗号化してストレージに格納すると共に、当該第1鍵を前記ブロックチェーン上の第1スマートコントラクトにより保存する制御を実行する第1制御手段と、
前記第1スマートコントラクトにより、所定の条件を満たした前記クライアントに対して、前記コンテンツの利用権を設定する制御を実行する第2制御手段と、
前記クライアントから前記コンテンツの利用が要求されると、暗号化された前記コンテンツを前記ストレージから抽出して、前記クライアントが操作する前記所定ツールに送信する制御を実行する第3制御手段と、
前記第1スマートコントラクトにより、前記クライアントが前記利用権を有していることを確認したことを条件に、前記第1鍵を、前記クライアントが操作する前記所定ツールに送信する制御を実行する第4制御手段と、
を備える情報処理システム。
【請求項2】
前記第3制御手段は、前記制御として、前記クライアントから前記コンテンツの利用が要求されると、前記第1スマートコントラクトから前記第1鍵を取得して、前記ストレージから抽出した前記コンテンツを当該第1鍵及び第2鍵を用いて再暗号化し、再暗号化された前記コンテンツ及び前記第2鍵を、前記クライアントが操作する前記所定ツールに送信する制御を実行する、
請求項1に記載の情報処理システム。
【請求項3】
前記所定ツールは、前記第1制御手段乃至前記第4制御手段の制御により提供された前記コンテンツを少なくとも前記第1鍵により復号して利用するための専用ツールである、
請求項1に記載の情報処理システム。
【請求項4】
第1クライアントが利用した前記コンテンツを第2クライアントに紹介し、当該第2クライアントが当該コンテンツを利用した場合に紹介手数料を当該第1クライアントが得るアフィリエイトプログラムを実現するために、前記第1クライアントの情報を有する第2スマートコントラクトが、前記ブロックチェーン上にさらに存在し、
前記コンテンツを前記第2クライアントに紹介するための紹介データを作成して前記第2クライアントに送信すると共に、当該第1クライアントの情報を前記第2スマートコントラクトに登録する制御を実行する第5制御手段と、
前記第2クライアントに対する前記コンテンツの利用権の設定の制御が前記第2制御手段により実行され、前記第2スマートコントラクトから前記第1クライアントの情報が前記第1スマートコントラクトに取得された場合、当該第1スマートコントラクトにより、前記第1クライアントに対して前記紹介手数料を支払う制御を実行する第6制御手段と、
をさらに備える請求項1に記載の情報処理システム。
【請求項5】
ブロックチェーン上のNFTをオーナが所有したまま、当該NFTに紐付けられたコンテンツを所定ツールでクライアントに利用させる制御を実行する情報処理システムが実行する情報処理方法であって、
第1鍵を用いて前記コンテンツを暗号化してストレージに格納すると共に、当該第1鍵を前記ブロックチェーン上の第1スマートコントラクトにより保存する制御を実行する第1制御ステップと、
前記第1スマートコントラクトにより、所定の条件を満たした前記クライアントに対して、前記コンテンツの利用権を設定する制御を実行する第2制御ステップと、
前記クライアントから前記コンテンツの利用が要求されると、暗号化された前記コンテンツを前記ストレージから抽出して、前記クライアントが操作する前記所定ツールに送信する制御を実行する第3制御ステップと、
前記第1スマートコントラクトにより、前記クライアントが前記利用権を有していることを確認したことを条件に、前記第1鍵を、前記クライアントが操作する前記所定ツールに送信する制御を実行する第4制御ステップと、
を含む情報処理方法。
【請求項6】
ブロックチェーン上のNFTをオーナが所有したまま、当該NFTに紐付けられたコンテンツを所定ツールでクライアントに利用させる制御を実行す
るコンピュータに、
第1鍵を用いて前記コンテンツを暗号化してストレージに格納すると共に、当該第1鍵を前記ブロックチェーン上の第1スマートコントラクトにより保存する制御を実行する第1制御ステップと、
前記第1スマートコントラクトにより、所定の条件を満たした前記クライアントに対して、前記コンテンツの利用権を設定する制御を実行する第2制御ステップと、
前記クライアントから前記コンテンツの利用が要求されると、暗号化された前記コンテンツを前記ストレージから抽出して、前記クライアントが操作する前記所定ツールに送信する制御を実行する第3制御ステップと、
前記第1スマートコントラクトにより、前記クライアントが前記利用権を有していることを確認したことを条件に、前記第1鍵を、前記クライアントが操作する前記所定ツールに送信する制御を実行する第4制御ステップと、
を含む制御処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来から、ブロックチェーンを用いてコンテンツの移転を管理する技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、譲渡人及び譲受人において貸し借りの取り決めにあったとしても、特許文献1を含め従来の技術のみでは、ブロックチェーン上のNFTを用いて管理された所有権が移転されるにすぎず、譲受人が所有権を有している状態となっていた。そのため、あくまで借りたに過ぎない譲受人が、勝手に作品を他の者に譲渡することができるものであった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、コンテンツに関する権利の管理の利便性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の情報処理システムは、
ブロックチェーン上のNFTをオーナが所有したまま、当該NFTに紐付けられたコンテンツを所定ツールでクライアントに利用させる制御を実行する情報処理システムであって、
第1鍵を用いて前記コンテンツを暗号化してストレージに格納すると共に、当該第1鍵を前記ブロックチェーン上の第1スマートコントラクトにより保存する制御を実行する第1制御手段と、
前記第1スマートコントラクトにより、所定の条件を満たした前記クライアントに対して、前記コンテンツの利用権を設定する制御を実行する第2制御手段と、
前記クライアントから前記コンテンツの利用が要求されると、暗号化された前記コンテンツを前記ストレージから抽出して、前記クライアントが操作する前記所定ツールに送信する制御を実行する第3制御手段と、
前記第1スマートコントラクトにより、前記クライアントが前記利用権を有していることを確認したことを条件に、前記第1鍵を、前記クライアントが操作する前記所定ツールに送信する制御を実行する第4制御手段と、
を備える。
【0007】
本発明の一態様の情報処理方法及びプログラムは、上述の本発明の一態様の情報処理システムに対応する情報処理方法及びプログラムである。
【発明の効果】
【0008】
本発明によれば、コンテンツに関する権利の管理の利便性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の情報処理システムの一実施形態が適用される本サービスの流れの概要を示すイメージ図である。
【
図2】
図1のユーザのうち、デジタルコンテンツのNFTを発行するオーナ、当該デジタルコンテンツをレンタルする第1クライアント、及び当該第1クライアントからの紹介を受けて当該デジタルコンテンツをレンタルする第2クライアントについての本サービスの流れを説明するシーケンスチャートである。
【
図3】
図2のステップS1のNFT登録の拡大図である。
【
図4】
図2のステップS2のNFTのアフィリエイトの拡大図である。
【
図5】
図2のステップS3のレンタル契約の拡大図である。
【
図6】
図2のステップS4のNEFTY TOOLでのコンテンツの利用の拡大図である。
【
図7】
図1のユーザのうち、NFTが発行済みでデジタルコンテンツを登録するオーナ、当該デジタルコンテンツをレンタルする第1クライアント、及び当該第1クライアントからの紹介を受けて当該デジタルコンテンツをレンタルする第2クライアントについての本サービスの流れを説明するシーケンスチャートである。
【
図8】
図2のステップS1のNFT登録の拡大図である。
【
図9】
図2のステップS2のNFTのアフィリエイトの拡大図である。
【
図10】
図2のステップS3のレンタル契約の拡大図である。
【
図11】
図2のステップS4のNEFTY TOOLでのコンテンツの利用の拡大図である。
【
図12】
図1の本サービスに適用される情報処理システム、即ち、本発明の情報処理システムの一実施形態の構成例を示す図である。
【
図13】
図12に示した情報処理システムのうちユーザ端末のハードウェア構成の一例を示すブロック図である。
【
図14】
図12に示した構成を有する情報処理システムの機能的構成の一例を示す機能ブロック図である。
【
図15】
図14の本サービスを提供するための情報処理システムを構成する各ブロック等のより詳細な関係性を示す図である。
【
図16】
図15の関係性のうち、ユーザとマーケットプレイスに係る関係性の拡大図である。
【
図17】
図15の関係性のうち、レンタル契約時のブロックチェーン上の処理と、メディアプレイヤを用いたコンテンツの利用に係る関係性の拡大図である。
【
図18】
図1に示すNFTの発行の流れを示すフロー図である。
【
図19】
図18に示すNFTの発行におけるマーケットプレイスへの登録の流れを示すフロー図である。
【
図20】
図1に示すNFTの発行において、予めNFTが存在する場合の流れを示すフロー図である。
【
図21】
図20に示すNFTの発行におけるマーケットプレイスへの登録の流れを示すフロー図である。
【
図22】
図1に示す各スマートコントラクトの関係性を示す図である。
【
図23】
図1に示すコンテンツを利用する際における各構成要素の関係性を示す図である。
【
図24】
図23に示すリソースパッケージャにおけるリソースリーディングのフローを示す図である。
【
図25】
図1に示すコンテンツの利用のうち、スプリットされない単一のコンテンツのダウンロードがなされる際における各構成要素の関係性を示す図である。
【
図26】
図1に示すコンテンツの利用のうち、スプリットされたコンテンツのダウンロードがなされる際における各構成要素の関係性を示す図である。
【
図27】
図1乃至
図26に示す情報処理システムにおける、暗号化及び復号の概要を示す図である。
【
図28】アフィリエイトプログラムを伴わない場合のNFTのスマートコントラクトのデータ構造の一例を示している。
【
図29】アフィリエイトプログラムを伴う場合のNFTのスマートコントラクトのデータ構造の一例を示している。
【発明を実施するための形態】
【0010】
先ず、本発明の情報処理システムの実施形態の説明の前に、当該情報処理システムの実施形態が適用されるサービス(以下、「本サービス」と呼ぶ)の概要について説明する。
【0011】
本サービスは、NFTに紐付けされたデジタルコンテンツのレンタル(デジタルコンテンツの利用許可の付与)ができるマーケットプレイスおよび同ビジネスにより提供されるサービスであって、ブロックチェーンのスマートコントラクトとNFTの技術を活用したツール(情報処理システム)を用いたサービスである。
スマートコントラクトとは、ブロックチェーン上に組み込まれた、予め設定されたルールに従って実行されるプログラムに類するものである。したがって、「スマートコントラクトは、~する」や「スマートコントラクトにより、~する」、「スマートコントラクトから、~する」等の記載は、「スマートコントラクトに設定されたルールに従って、~の処理が実行される」ということを意味している。
【0012】
ここで、従来のNFTレンタルサービスと、本サービスとの違いについて説明する。
【0013】
本サービスは、NFTを利用した特定キー(NFTを利用して作成されたキー)を用いたデジタルコンテンツの利用(表示、再生、視聴等)を許可するサービスである。
本サービスにおいては、NFTの所有者(クリエイターや購入者)は、NFTの所有権を手放すことなく、当該NFTに紐付くデジタルコンテンツの利用権のみを提供(販売等)することが可能である。
【0014】
これに対して、従来のNFTレンタルサービスは、文字通りNFTの所有者(以下、「オーナ」と呼ぶ)がNFTそのものを第三者たるNFT自体を利用したい者(以下、「クライアント」と呼ぶ)に貸し出すサービスである。
従来のNFTレンタルサービスの一般的な仕組みは、次の通りである。即ち、クライアントは、NFTを借りるために、担保金の設定と、レンタル料の支払いとをする必要がある。
【0015】
従来のNFTレンタルサービスの具体的な例として、クライアントUCは、オーナAからNFTBをレンタルしようとする場合、オーナAが定める担保金とレンタル料金をNFTレンタルサービス会社のエスクローアカウント(Smart Contract)に送る必要がある。担保金は、NFTBがクライアントUCからオーナAに返却されない場合にオーナAが受け取る保証である。
従来のNFTレンタルサービスは、GameFi(オンラインゲーム)等においてある程度有効であると判断される。GameFiでの従来のNFTレンタルとは、とあるオンラインゲームD内でユーザEが作成して育成したアイテム(デジタルコンテンツ)をNFT化して、当該ユーザEがオーナAとして当該NFTを他のユーザFにレンタルするものである。
オンラインゲームDとブロックチェーンは連動しており、当該オンラインゲームDのユーザ達は、NFTを所有していないと特定のアイテムを利用(操作や表示等)することができない。例として、ユーザEが、時間とコストをかけて特別なキャラクターとしてアイテムGを作成したものとする。つまり、ユーザEが、アイテムGのNFTの所有者たるオーナAであるものとする。この場合、アイテムGをオンラインゲームDのマーケットプレイスで見つけた他のユーザたるクライアントUCは、アイテムGを利用したいと考えても、当該アイテムGのNFTの所有権を有していないため利用できない。そこで、クライアントUCは、アイテムGのNFTをユーザEからレンタルすることで、アイテムGを利用できるようになる。
【0016】
ここで重要な点は、従来のNFTレンタルでは、NFTそのものがオーナAのウォレットアドレス(ブロックチェーンのアカウントのようなもの)からクライアントUCのウォレットアドレスに移動される点である。
この点において、非常に大きなリスクが伴うという第1問題が生じることになる。
例えば、クライアントUCが、レンタルしたNFTをオーナAに初めから返却する意思がなかった場合には次のようなリスクが生じる。
即ち、クライアントUCは、当初よりオンラインゲームDは今後も人気が高まり、当該オンラインゲームD内のアイテムGの価値も上がると考えた場合には、NFTを返却する意思を有しないことがある。つまり、クライアントUCは、オーナAに担保金を支払ってでもそのアイテムGの価値が担保金を上まると判断した場合には、アイテムGのNFTを当該オーナAに返却することを拒否する可能性がある。
また、クライアントUCが、何かしらの理由により自身のウォレットアドレスにアクセスできなくなった場合には、アイテムGのNFTを返却すること(トランザクションの実行)が不可能となる。
いずれの場合においても結果的に、オーナAは、手放す意思がなかったアイテムGのNFTを失うことになる。このように、従来のNFTレンタルでは、オーナAが自身のNFTを失うリスクが存在する。
さらには、このリスクは、上述のクライアントUCの悪意や過失のみではなく、従来のNFTレンタルサービス会社の悪意や過失にも影響されることになる。一般的に、従来のNFTレンタルは、サービス会社を仲介(担保金、利用料、NFTの送信経由)して行われる。そのため、サービス会社の運営体制が原因となり、オーナAは、アイテムGのNFTを失う可能性もある。
【0017】
そして、従来のNFTレンタルというビジネスモデルは非常に中央集権的である点で、レンタル期間中は1人しかNFT及びデジタルコンテンツを利用できない(上述の例ではクライアントUCのみしかNFT及びアイテムGを利用できない)という第2問題も生じる。
NFTは唯一無二のため、同時に複数人が利用することが不可能である。GameFiや超高額の(貴重価値の高い)デジタルアート等のデジタルコンテンツであれば、ある期間中での利用者は1人だけでも問題ない、または理想的と考えられる。しかしながら、音楽や動画(映画、短編映画等)、電子書籍のようなもの、または複数のメタバース等で同時に利用したいアイテム等のデジタルコンテンツに対しては、利用者が1人だけになるという従来のNFTレンタルは不適である。
【0018】
本サービスによれば、上述したように、NFTのオーナは、当該NFTの所有権を手放すことなく、当該NFTに紐付くデジタルコンテンツの利用権のみをクライアントに提供(販売等)することが可能である。このため、本サービスは、従来のNFTレンタルが有する第1問題及び第2問題を解決することが可能である。
即ち、本サービスでは、特定の期間中において、NFTの所有権はオーナが有したまま、1人のみならず複数人のクライアントが当該NFTに紐付くデジタルコンテンツを利用することが可能なため、従来のNFTレンタルよりも優位性が高い。また、本サービスで提供する専用ツールは、不正利用を防止するための様々な機能を有している。
【0019】
ここで、本サービス及び図面に用いられている用語の解説をする。
「NFTスマートコントラクト(NFT Smart Contract)」とは、ブロックチェーン(またはEthereum)でNFTを発行するスマートコントラクト(Smart Contract)である。ここで、Ethereumは登録商標である。また、下記においては、ブロックチェーン(またはEthereum)を、単に「ブロックチェーン」と略記する。NFTが発行される毎に、ブロックチェーンにその情報がトークン(Token)として登録されていく。
「Non-Fungible Token(またはERC-721)」とは、ブロックチェーン上で発行されたNFTである。
「Token:id#1」とは、ある人(発行者A)が発行したNFTと、そのNFTに登録される情報である。当該NFTのオーナは、発行者Aになる。
「Token:id#2」とは、発行者A又は別の人(発行者B)が発行したNFTと、そのNFTに登録される情報である。当該NFTのオーナは、発行者A又は発行者Bになる。
「Token:id#3」とは、発行者A、発行者B、又は別の人(発行者C)が発行したNFTと、そのNFTに登録される情報である。当該NFTのオーナは、発行者A、発行者B、又は発行者Cになる。
「Public」とは、すべての人が閲覧できることを意味する。
「Title」とは、NFTが発行されたデジタルコンテンツのタイトルである。
「Description」とは、NFTが発行されたコンテンツについての説明である。
「token URI」とは、トークン(Token)のURI(Uniform Resource Identifier)情報である。URIとは、対象となるファイルの名前または場所を識別する書き方のルールの総称である。
「Functions」とは、NFTスマートコントラクトの機能で、本サービスで利用される関数である。
「レンタルスマートコントラクト(Rental Smart Contract)」とは、ブロックチェーンで本サービスを実現するために作成されるレンタル契約のためスマートコントラクト(Smart Contract)である。
「Token for Payment(またはERC-20)」とは、本サービスでレンタル契約を実行する際に、そのレンタル料金を支払うためのトークン(Token)、即ち、そのレンタル料金を支払うための暗号資産(仮想通貨)である。
「Ownerable」とは、Smart Contractで権限管理をするためのInterfaceである。「Ownerable」は、一種のTemplateのようなものであって、Private KeyでSignすることで可能となるTokenの送金権限を第三者に委任し、それによって送金ができるようにすることができる。
「tokenStatus[tokenId][address]」とは、レンタル契約が成立するたびに作成・追加されるSmart Contractである。tokenStatus[#1][user1]とは、Non-Fungible Token(またはERC-721)の「Token: id#1」と連動し、[user1]は、レンタル契約を実行する人(借りる人)を意味する。
「NFT_approved」とは、NFT Token(またはERC-721)のdataURLを、レンタル契約を実行する人(借りる人)が閲覧できる権限の有無について確認する項目である。
「key_approved」とは、コンテンツデータを復号するためのPublic Key(Pk2)を、レンタル契約を実行する人(借りる人)が取得できる権限の有無について確認する項目である。
「rental_start_time」とは、レンタル契約の開始日である。
「rental_end_time」とは、レンタル契約の終了日である。
「tokenInfo[tokenId]」とは、レンタル契約の対象となるNon-Fungible Token(またはERC-721)に関係する情報である。「tokenInfo[tokenId]」は、Non-Fungible Token(またはERC-721)の「Token:id#1」と連動する。
「Protected」とは、権限がある人(レンタル契約者)のみが閲覧できるこという。
「Private」とは、Non-Fungible Token(またはERC-721)の所有者のみが閲覧できることをいう。
「Price」とは、レンタル金額である。
「is-approved」とは、該当するNon-Fungible Token(またはERC-721)が、レンタル契約が可能か否かについての情報である。
「dataURL」とは、コンテンツのURL情報である。
「Encrypt Main Key (P1)」とは、本サービスで利用するPrivate Keyの情報である。
「Encrypt Sub Key (Pk1)」とは、本サービスで利用するPublic Keyの情報である。
「approve limit」とは、同時に可能なレンタル契約数である。
【0020】
以下、
図1乃至
図11を参照して、本サービスの概要について説明する。
図1は、本発明の情報処理システムの一実施形態が適用される本サービスの流れの概要を示すイメージ図である。
【0021】
図2は、
図1のユーザのうち、デジタルコンテンツのNFTを発行するオーナ、当該デジタルコンテンツをレンタルする第1クライアント、及び当該第1クライアントからの紹介を受けて当該デジタルコンテンツをレンタルする第2クライアントについての本サービスの流れを説明するシーケンスチャートである。
図3は、
図2のステップS1のNFT登録の拡大図である。
図4は、
図2のステップS2のNFTのアフィリエイトの拡大図である。
図5は、
図2のステップS3のレンタル契約の拡大図である。
図6は、
図2のステップS4のNEFTY TOOLでのコンテンツの利用の拡大図である。
【0022】
図7は、
図1のユーザのうち、NFTが発行済みでデジタルコンテンツを登録するオーナ、当該デジタルコンテンツをレンタルする第1クライアント、及び当該第1クライアントからの紹介を受けて当該デジタルコンテンツをレンタルする第2クライアントについての本サービスの流れを説明するシーケンスチャートである。
図8は、
図2のステップS1のNFT登録の拡大図である。
図9は、
図2のステップS2のNFTのアフィリエイトの拡大図である。
図10は、
図2のステップS3のレンタル契約の拡大図である。
図11は、
図2のステップS4のNEFTY TOOLでのコンテンツの利用の拡大図である。
【0023】
先ず、
図1のユーザのうち、デジタルコンテンツのNFTを発行するオーナUO1に着目して、本サービスの流れを説明する。
その後、
図1のユーザのうち、NFTが発行済みでデジタルコンテンツを登録するオーナUO2についての本サービスの流れについて、オーナUO1についての本サービスの流れとの差異点のみ説明する。
【0024】
図1に示すように、オーナUO1は、スマートフォン等の自己の端末1-O1(以下、「ユーザ端末1-O1」と呼ぶ)を操作して、本サービスの提供を受けることができる。従って以下、「オーナUO1は、~をする」という文章は、「ユーザ端末1-O1は、~の処理を実行する」ということを意味している。
クライアントUC1は、スマートフォン等の自己の端末1-C1(以下、「ユーザ端末1-C1」と呼ぶ)を操作して、本サービスの提供を受けることができる。従って以下、「クライアントUC1は、~をする」という文章は、「ユーザ端末1-C1は、~の処理を実行する」ということを意味している。
クライアントUC2は、スマートフォン等の自己の端末1-C2(以下、「ユーザ端末1-C2」と)を操作して、本サービスの提供を受けることができる。従って以下、「クライアントUC2は、~をする」という文章は、「ユーザ端末1-C2は、~の処理を実行する」ということを意味している。
【0025】
オーナUO1は、
図1のマーケットプレイスMPを介して、
図2及び
図3のステップS1のNFTの登録をすることで、デジタルコンテンツ(以下、「コンテンツ」と適宜略記する)と紐付けされたNFTの所有権を有することになる。
ここで、コンテンツは、特定キー(後述のプライベートキーP1)により暗号化されたうえで、ストレージSTRに格納される。
【0026】
なお、マーケットプレイスMPは、サーバ等により構成されるマーケットプレイスシステム2により管理されている。ストレージSTRは、サーバ等により構成されるストレージシステム3により管理されている。従って、実際には、
図2及び
図3のステップS1は、ユーザ端末1-O1、マーケットプレイスシステム2、及びブロックチェーンBCの間の情報の送受信を伴う処理として実行される。
【0027】
このようにして暗号化されたコンテンツは、特定キーと専用ツールたるメディアプレイヤMPRを利用した場合のみ表示や再生の利用が可能となる。
これにより、オーナUO1がNFTの所有権を有したまま、即ち、オーナUO1の権利を侵害する行為を防止したうえで、コンテンツの利用者(クライアントUC1やクライアントUC2)がコンテンツを利用することが可能になる。
【0028】
即ち、
図2及び
図5のステップS3のレンタル契約をしたクライアントUC1又はクライアントUC2は、ステップS4のNEFTY TOOLでのコンテンツの利用、特にステップS41のコンテンツのダウンロードと復号を実行してはじめて、メディアプレイヤMPRによる表示や再生といったコンテンツの利用をすることができる。
ここで、メディアプレイヤMPRは、サーバ等により構成されるビューアシステム5により管理されている。従って、実際には、
図2及び
図5のステップS3及びステップS4(ステップS41含む)は、ユーザ端末1-C1若しくはユーザ端末1-C2、マーケットプレイスシステム2、ビューアシステム5、並びにブロックチェーンBCの間の情報の送受信を伴う処理として実行される。
【0029】
さらに以下、本サービスの流れについて具体的に説明する。
先ず、
図2及び
図3のステップS1のNFTの登録について説明する。
【0030】
オーナUO1は、マーケットプレイスMPに登録させるコンテンツについてのNFTを、スマートコントラクトNSCにより発行させる。
【0031】
オーナUO1は、当該コンテンツを暗号化してストレージSTRに格納する(コンテンツファイルのアップロードをする)。
ここで、詳細については
図15を参照して後述するが、ストレージSTRは、クラウド(サーバ型ストレージ)またはDSS(分散型ストレージ)により構成されている。これにより、不測のコンテンツ(データ)やシステムの破損や異常動作が発生した場合にも、当該コンテンツの喪失を防ぎ、オーナUO1(後述の例ではオーナUO2)及びクライアントUC1及びUC2の利益を守る。また、オーナUO1(後述の例ではオーナUO2)がコンテンツを分散型ストレージに保存することで、クライアントUC1及びUC2は、24時間365日いつでも当該コンテンツを検索して利用することが可能になる。
具体的には例えば、ストレージシステム3のリソースパッケージャRPは、楕円曲線暗号化アルゴリズムに基づいてコンテンツを分割し、オーナUO1だけが知るプライベートキーP1で暗号化して、ストレージSTRに保管する。
ここで、リソースパッケージャRPとは、コンテンツの送受信および暗号化を行うシステムである。
また、プライベートキーP1等の管理(コンテンツの利用時に取得要求された場合の送信等)は、レンタルスマートコントラクトにより行われる。
【0032】
オーナUO1は、本サービスによるコンテンツのレンタルを許可する場合、レンタルスマートコントラクトRSCのブロックチェーンBCへの登録(NFTの承認)をする。
【0033】
ここで、クライアントUC1は、オーナUO1とのレンタル契約が済んでいるものとする。なお、レンタル契約の詳細については、クライアントUC2の観点で
図2及び
図4のステップS3として後述する。
この場合、クライアントUC1は、オーナUO1のNFTに紐付けられたコンテンツ、即ち、上述のステップS1においてストレージSTRに暗号化されたコンテンツを、メディアプレイヤMPRを用いることで利用(表示や再生等)することができる。
このようなコンテンツの利用は、具体的には、
図2及び
図6のステップS4のNEFTY Toolの利用の流れに沿って行われる。
【0034】
先ず、クライアントUC1により操作されるメディアプレイヤMPRは、リソースパッケージャRPに対して、コンテンツ利用のリクエストをする。
リソースパッケージャRPは、レンタルスマートコントラクトRSCに対して、プライベートキーP1に対応するサブキーPk1(以下、「復号キーPk1」と適宜呼ぶ)の取得を要求する。レンタルスマートコントラクトRSCは、当該取得の要求を受けると、サブキーPk1を、リソースパッケージャRPに送信する。
リソースパッケージャRPは、ストレージSTRに対して、コンテンツのダウンロードのリクエストをする。
リソースパッケージャRPは、ワンタイムキーP2(以下、「復号キーP2」と適宜呼ぶ)及びワンタイムキーP2に対応するサブキーPk2を生成する。
【0035】
これにより、
図2及び
図6のステップS41のコンテンツのダウンロードとファイルの復号が次のようにして行われる。
即ち、ストレージSTRは、プライベートキーP1で暗号化されたコンテンツ(File Split1)をリソースパッケージャRPに送信する。
リソースパッケージャRPは、ワンタイムキーP2等でコンテンツを暗号化する。即ち、リソースパッケージャRPは、オーナUO1のプライベートキーPk1と、自身で生成したワンタイムキーP2とを結合して、再びコンテンツを暗号化する。
リソースパッケージャRPは、プライベートキーPk1とワンタイムキーP2とが結合されて再暗号化されたコンテンツ(File Split1)と、ワンタイムキーPk2とを、クライアントUC1により操作されるメディアプレイヤMPRに送信する。
クライアントUC1により操作されるメディアプレイヤMPRは、レンタルスマートコントラクトRSCに対して、プライベートキーPk1(復号キーPk1)の送信を要求する。レンタルスマートコントラクトRSCは、当該送信の要求を受けると、権限の確認として、プライベートキーPk1により暗号化されたコンテンツの貸し出しをする人物が、正しいオーナUO1であるか否かを確認する。レンタルスマートコントラクトRSCは、貸し出し人物のオーナシップを確認すると、プライベートキーPk1を、クライアントUC1により操作されるメディアプレイヤMPRに送信する。
このようにして、クライアントUC1は、コンテンツ(ファイル)に対するアクセス権限(利用権限)を有していることが確認されてはじめて、当該コンテンツを復号するためのオーナUO1のサブキーPk1(及びワンタイムキーP2)を取得することができる。
メディアプレイヤMPRは、サブキーPk1及びワンタイムキーP2を用いてコンテンツを復号して、再生等を実行する。これにより、クライアントUC1は、当該コンテンツを利用することが可能になる。
【0036】
以上のように、オーナUO1が発行したNFTに紐付けられたコンテンツは暗号化されているので、ストレージSTR(そこに格納されたコンテンツのファイル)が悪意のある攻撃を受けても、そのコンテンツのファイルを復号できるのはオーナUO1のみである。
オーナUO1は、レンタルスマートコントラクトRSCでコンテンツの利用期間等の条件を設定することが可能で、仮想通貨等でその利用権を販売することが可能となる。
また、メディアプレイヤMPRは、当該コンテンツを利用するための専用ツール(専用アプリ:画像、動画、音楽などのビューアツール)である。メディアプレイヤMPRでは、コンテンツのキャプチャーや違法なダウンロードに対する対策がされている。
また、オーナUO1は、コンテンツのオーナシップを主張するためのウォーターマークやボカシ等の対策を利用できる。
また、後述の
図15に示すように、本サービスは、NFTが発行される様々なブロックチェーン(ブロックチェーンBCやその他のブロックチェーン)のサービスを相互に運用できるブリッジ技術を適用し、異なるブロックチェーン同士でコンテンツの利用及び支払いを可能とする。
【0037】
次に、アフィリエイトプログラムについて説明する。
本サービスにおいては、クライアントUC1が利用したコンテンツを第三者(
図1乃至
図11の例ではクライアントUC2)に紹介し、紹介された第三者がそのコンテンツを利用した場合に紹介手数料をクライアントUC1が得ることができるアフィリエイトプログラムが提供される。
アフィリエイトプログラムは、SNS等で多くのフォロワーを有するインフルエンサーやKOL等に収益を得られる機会を提供する。
【0038】
クライアントUC1は、オーナUO1のNFTに紐付けられたコンテンツを利用(レンタル)し、そのコンテンツをクライアントUC2に紹介することができる。クライアントUC2が当該コンテンツを利用(レンタル)した場合に、オーナUO1からクライアントUC1に紹介手数料が支払われる。
アフィリエイトプログラムを実現するためには、アフィリエイトマネージャスマートコントラクトASCがブロックチェーンBCに作成される。アフィリエイトマネージャスマートコントラクトASCは、ユーザ毎の情報を内部に保存する。
【0039】
以下、アフィリエイトプログラムに関する、
図2及び
図4のステップS2のNFTのアフィリエイト、並びに、
図2及び
図5のステップS3のレンタル契約について説明する。
【0040】
図2及び
図4のステップS2のNFTのアフィリエイトは、次のような流れになる。
即ち、クライアントUC1は、NFT紹介データ、即ち、コンテンツを他者に紹介するためのURLを、NFTスマートコントラクトNSCに作成させる。このNFT紹介データ(URL)には、当該コンテンツの情報や、クライアントUC1の情報が含まれる。
クライアントUC1は、当該NFT紹介データ(URL)を、クライアントUC2に送信する。
クライアントUC1は、アフィリエイトデータ(紹介手数料と紹介者たるクライアントUC2のアドレス)を、アフィリエイトマネージャスマートコントラクトASCに登録する。
【0041】
図2及び
図5のステップS3のレンタル契約は、次のような流れになる。
クライアントUC1から紹介を受けたクライアントUC2は、オーナUO1のNFTに紐付けられたコンテンツについてのレンタル契約(レンタル料金の支払いの承認)を、レンタルスマートコントラクトRSCに対してする。
レンタルスマートコントラクトRSCは、オーナUO1に対してレンタル料金の支払いを実行する。
レンタルスマートコントラクトRSCは、クライアントUC2の紹介者情報の要請をアフィリエイトマネージャスマートコントラクトASCに行う。レンタルスマートコントラクトRSCは、アフィリエイトマネージャスマートコントラクトASCから送信されてくるクライアントUC2の紹介者情報を取得する。
ここで、アフィリエイト手数料(紹介手数料)は、オーナUO1がNFTを発行する際にRoyality Infoとして設定してある。そこで、レンタルスマートコントラクトRSCは、当該Royality InfoをNFTから読み込み、それに設定されたアフィリエイト手数料のクライアントUC1への支払いを実行する。
なお、アフィリエイトマネージャスマートコントラクトASCに登録するアフィリエイト・トランザクションは、オーナUO1のウォレットから生成される必要がある。アフィリエイトマネージャスマートコントラクトASCの手数料は、NFTのオーナUO1が負担する。
レンタルスマートコントラクトRSCは、クライアントUC2に対してレンタル契約の承認(NFT メタデータ URLの送信)を行う。
【0042】
このようにして、クライアントUC2に対する
図2及び
図5のステップS3のレンタル契約が終了すると、クライアントUC2は、上述の
図2及び
図6のステップS4のNEFTY Toolの利用の流れに沿うことで、レンタルしたコンテンツを利用することができるようになる。
【0043】
以上、
図1のユーザのうち、デジタルコンテンツのNFTを発行するオーナUO1に着目して、本サービスの流れを説明した。
図1のユーザのうち、NFTが発行済みでデジタルコンテンツを登録するオーナUO2についての本サービスの流れは、
図2及び
図3のステップS1のNFTの登録の代わりに
図7及び
図8のステップS11のNFTの登録が実行される他、上述したオーナUO1についての本サービスの流れと同様である。
そこで、以下、
図1のユーザのうち、NFTが発行済みでデジタルコンテンツを登録するオーナUO2についての本サービスの流れとして、
図7及び
図8のステップS11のNFTの登録についてのみ説明する。
【0044】
バックエンド4は、オーナUO2のNFT情報をブロックチェーンBCから取得する。
オーナUO2は、マーケットプレイスMPに登録するコンテンツを暗号化してストレージSTRに格納する(コンテンツファイルのアップロードをする)。
具体的には例えば、ストレージシステム3のリソースパッケージャRPは、楕円曲線暗号化アルゴリズムに基づいてコンテンツを分割し、オーナUO2だけが知るプライベートキーP1(当然ながらオーナUO1のものとは異なる)で暗号化して、ストレージSTRに保管する。
オーナUO2は、本サービスによるコンテンツのレンタルを許可する場合、レンタルスマートコントラクトRSCのブロックチェーンBCへの登録(NFTの承認)をする。
【0045】
次に、このような
図1乃至
図11の本サービスに適用される情報処理システムの構成について説明する。
図12は、
図1の本サービスに適用される情報処理システム、即ち、本発明の情報処理システムの一実施形態の構成例を示す図である。
本実施形態の情報処理システムは、例えば、
図12に示すように、n人(nは1以上の整数値)のユーザ端末1-1乃至1-nと、マーケットプレイスシステム2と、ストレージシステム3と、ストレージSTRと、バックエンド4と、ビューアシステム5と、ブロックチェーンBCとが、インターネット等のネットワークNに接続されることで構成される。
【0046】
ユーザ端末1-1乃至1-nは、n人(nは1以上の整数値)のユーザ(オーナとなる場合もあるしクライアントとなる場合もある)の夫々により操作されるスマートフォン等の情報処理端末である。ユーザ端末1-1乃至1-nの中には、上述のオーナUO1のユーザ端末1-O1、オーナUO2のユーザ端末1-O2、クライアントUC1のユーザ端末1-C1、及びクライアントUC2のユーザ端末1-C2も含まれている。なお、以下、n人のユーザを個々に区別する必要がない場合、ユーザ端末1-1乃至1-nをまとめて「ユーザ端末1」と呼ぶ。
マーケットプレイスシステム2は、マーケットプレイスMP(
図1)により管理されるサーバ等により構成される。
ストレージシステム3は、ストレージSTRに対する管理や処理を実行するサーバ等により構成され、リソースパッケージャRP(
図2等)を含む。
バックエンド4は、過去データとしてリアルタイムでブロックチェーンBCからトランザクションに関するデータを取得してデータベースに保管し、ユーザ(本例ではオーナUO1、オーナUO2、クライアントUC1、及びクライアントUC2)の要請があれば、該当資料を当該データベースから取得する機能を有するものである。なお、本図では、バックエンド4は、ハードウェア(装置やシステム)として描画されているが、ソフトウェアプログラム(の一部)としてユーザ端末1に存在する場合もある。
ビューアシステム5は、メディアプレイヤMPR(
図1等)の制御を実行する機能を有するものである。なお、本図では、ビューアシステム5は、ハードウェア(装置やシステム)として描画されているが、ソフトウェアプログラムとしてユーザ端末1に存在する場合もある。
【0047】
図13は、
図12に示した情報処理システムのうちユーザ端末のハードウェア構成の一例を示すブロック図である。
【0048】
ユーザ端末1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、入力部16と、出力部17と、記憶部18と、通信部19と、ドライブ20とを備えている。
【0049】
CPU11は、ROM12に記録されているプログラム、又は、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0050】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、入力部16、出力部17、記憶部18、通信部19及びドライブ20が接続されている。
【0051】
入力部16は、例えばキーボード等により構成され、各種情報を出力する。
出力部17は、液晶等のディスプレイやスピーカ等により構成され、各種情報を画像や音声として出力する。
記憶部18は、DRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部19は、インターネットを含むネットワークNを介して他の装置(例えば
図12のマーケットプレイスシステム2乃至ビューアシステム5及びブロックチェーンBC等)との間で通信を行う。
【0052】
ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア30が適宜装着される。ドライブ20によってリムーバブルメディア30から読み出されたプログラムは、必要に応じて記憶部18にインストールされる。
また、リムーバブルメディア30は、記憶部18に記憶されている各種データも、記憶部18と同様に記憶することができる。
【0053】
なお、図示はしないが、
図12のマーケットプレイスシステム2乃至ビューアシステム5を構成するサーバ等も、
図11に示したハードウェア構成と基本的に同様の構成を有する。従って、マーケットプレイスシステム2乃至ビューアシステム5のハードウェア構成の説明については省略する。
【0054】
このようなユーザ端末1乃至ビューアシステム5の各種ハードウェアと各種ソフトウェアとの協働により、
図1乃至
図11の本サービスを実現するための一連の処理の実行が可能になる。
以下、
図14を参照して上述した一連の処理を実行するためのユーザ端末1、及び、マーケットプレイスシステム2乃至ビューアシステム5を含む情報処理システムSYSの機能的構成の一例について説明する。
図14は、
図12に示した構成を有する情報処理システムの機能的構成の一例を示す機能ブロック図である。
【0055】
図14に示すように、情報処理システムSYSにおいては、ブロックチェーンBCと、
第1制御部51と、第2制御部52と、第3制御部53と、第4制御部54と、第5制御部55と、第6制御部56とが機能する。
情報処理システムSYSの記憶部(例えばブロックチェーンBCで利用可能な所定の分散型ストレージ)の一領域には、ストレージSTRが設けられている。
情報処理システムSYSには、メディアプレイヤMPRが備えられている。
【0056】
ここで、ブロックチェーンBCには、NFTスマートコントラクトNSCと、レンタルスマートコントラクトRSCと、アフィリエイトマネージャスマートコントラクトASCとが組み込まれている。
即ち、上述したように、スマートコントラクトとは、ブロックチェーン上に組み込まれた、予め設定されたルールに従って実行されるプログラムに類するものである。以下に説明する第1制御部51乃至第6制御部56の夫々の制御の一部又は全部は、各スマートコントラクトの一部又は全部として実行されるものであってよい。
そこで、簡単のため、
図14においては、第1制御部51乃至第6制御部56と、ブロックチェーンBCに組み込まれた各スマートコントラクトは別のブロックとして図示されている。
【0057】
情報処理システムSYSは、ブロックチェーンBC上のNFTをオーナUO1が所有したまま、当該NFTに紐付けられたコンテンツをメディアプレイヤMPRでクライアントUC1に利用させる制御を実行する。
具体的には、第1制御部51は、プライベートキーP1を用いてコンテンツを暗号化してストレージSTRに格納すると共に、当該プライベートキーP1をブロックチェーンBC上のNFTスマートコントラクトNSCにより保存する制御を実行する。これにより、NFTに紐づけられたオーナの所有するコンテンツがプライベートキーP1を用いて暗号化してストレージSTRに記録される。
【0058】
第2制御部52は、NFTスマートコントラクトNSCにより、レンタル料金の支払いの承認を所定の条件として、当該所定の条件を満たしたクライアントUC1に対して、コンテンツの利用権を設定する制御を実行する。所定の条件を満たしたクライアントUC1に対してはコンテンツの利用権が設定される。
【0059】
第3制御部53は、クライアントUC1からコンテンツの利用が要求されると、暗号化されたコンテンツをストレージSTRから抽出して、クライアントUC1が操作するメディアプレイヤMPRに送信する制御を実行する。クライアントUC1が利用権を有していることが確認されると、暗号化されたコンテンツがクライアントUC1に提供される
【0060】
第4制御部54は、NFTスマートコントラクトNSCにより、クライアントUC1が利用権を有していることを確認したことを条件に、プライベートキーP1に対応するサブキーPk1を、クライアントUC1が操作するメディアプレイヤMPRに送信する制御を実行する。
クライアントUC1が利用権を有していることが確認されると、プライベートキーP1に対応するサブキーPk1が提供される。これにより、クライアントUC1は暗号化が解除されたコンテンツの閲覧が可能になる。このとき、上述したように、コンテンツの所有権は、オーナUO1が所有したままとなっている。このように、コンテンツの所有権の譲渡なく、所定の条件を満たしたクライアントUC1はコンテンツの利用が可能となるのである。
【0061】
さらに、第3制御部53は、制御として、クライアントUC1からコンテンツの利用が要求されると、NFTスマートコントラクトNSCから第1鍵を取得して、ストレージSTRから抽出したコンテンツを当該プライベートキーP1及びワンタイムキーP2に対応するサブキーPk2を用いて再暗号化し、再暗号化されたコンテンツ及びワンタイムキーP2)を、クライアントUC1が操作するメディアプレイヤMPRに送信する制御を実行する、ことができる。
【0062】
アフィリエイトマネージャスマートコントラクトASCは、クライアントUC1が利用したコンテンツをクライアントUC2に紹介し、当該クライアントUC2が当該コンテンツを利用した場合に紹介手数料をクライアントUC1が得るアフィリエイトプログラムを実現するために、クライアントUC1の情報を有する、ブロックチェーンBC上で管理することができる。
【0063】
そして、第5制御部55は、コンテンツをクライアントUC2に紹介するための紹介データを作成してクライアントUC2に送信すると共に、当該クライアントUC1の情報をアフィリエイトマネージャスマートコントラクトASCに登録する制御を実行する。
【0064】
第6制御部56は、クライアントUC2に対するコンテンツの利用権の設定の制御が第2制御手段により実行され、アフィリエイトマネージャスマートコントラクトASCからクライアントUC1の情報がNFTスマートコントラクトNSCに取得された場合、当該NFTスマートコントラクトNSCにより、クライアントUC1に対して紹介手数料を支払う制御を実行する。
これにより、オーナはクライアントUC1の紹介によりクライアントUC2からレンタル料金を受領できる。そして、クライアントUC1は紹介手数料を受領できる。これにより、クライアントUC1(あるいは、将来のクライアントUC1)は、紹介をすることによるインセンティブがあることで、紹介を活発に行う。その結果、クライアントUC2は、新たな紹介と出会い、自身の好み等にあった新たなコンテンツと出会う機会が増えるのである。
【0065】
以上、
図14を参照して上述した一連の処理を実行するためのユーザ端末1、及び、マーケットプレイスシステム2乃至ビューアシステム5を含む情報処理システムSYSの機能的構成の一例について説明した。
以下、
図15乃至
図29を用いて、上述した一連の処理のフロー等についてより詳細な説明を行う。
【0066】
図15は、
図14の本サービスを提供するための情報処理システムを構成する各ブロック等のより詳細な関係性を示す図である。
図16は、
図15の関係性のうち、ユーザとマーケットプレイスに係る関係性の拡大図である。
図17は、
図15の関係性のうち、レンタル契約時のブロックチェーン上の処理と、メディアプレイヤを用いたコンテンツの利用に係る関係性の拡大図である。
図15乃至
図17に示すように、クライアントUC1は紹介情報を登録し、クライアントUC2はクライアントUC1からの紹介URLを介してレンタルを行うことで、これらの情報が関連付けられてブロックチェーンBC上に記録されて管理される。
そして、クライアントUC2がレンタルをすると、紹介手数料がクライアントUC1に支払われるとともに、クライアントUC2のメディアプレイヤMPRでは、コンテンツが復号されて利用可能となる。
【0067】
図18は、
図1に示すNFTの発行の流れを示すフロー図である。
図19は、
図18に示すNFTの発行におけるマーケットプレイスへの登録の流れを示すフロー図である。
【0068】
図18及び
図19においては、プライベートキーP1(メインの暗号化キーP1)が生成されると、データのスプリット(n個に分割されたデータ)が生成され、i(iは1以上n以下の整数値)番目のスプリットに対して、プライベートキーP1を用いて暗号化がなされ、暗号化されたファイルはストレージSTRにアップロードされる。これが繰り返されることにより、データのスプリットのそれぞれが暗号化されて記録される。これらのスプリットのメタデータが生成され、NFTが発行される。このとき、プライベートキーP1及びプライベートキーP1に対応するサブキーPk1はレンタルスマートコントラクトRSCに記録される。
そして、クライアントUC1が十分な残高を持っている場合、レンタル料金及び条件が設定され、レンタルスマートコントラクトRSCへ権限の登録が行われる。
【0069】
図20は、
図1に示すNFTの発行において、予めNFTが存在する場合の流れを示すフロー図である。
図21は、
図20に示すNFTの発行におけるマーケットプレイスへの登録の流れを示すフロー図である。
図20及び
図21においては、データベースから最終更新のブロックナンバーを取得し、このブロックナンバーからループを行い、データベースのブロックデータとトランザクションデータを更新し、アフィリエイトマネージャスマートコントラクトASC及びアフィリエイト手数料を設定する。
そして、クライアントUC1が十分な残高を持っている場合、メインの暗号化キーP1を生成し、
図19と基本的に同様に、データのスプリットの暗号化やストレージSTRへの格納が行われる。
【0070】
図22は、
図1に示す各スマートコントラクトの関係性を示す図である。
図22に示すように、オーナUO1はNFTスマートコントラクトNSCでNFTを発行する。次に、NFTスマートコントラクトは、ロイヤリティスマートコントラクトでNFT権限の承認を行う。次に、クライアントUC1は、資料(紹介)URLをクライアントUC2に共有する。そして、クライアントUC1は、アフィリエイトマネージャスマートコントラクトASCでアフィリエイトの資料設定を行う。クライアントUC2は、ロイヤリティスマートコントラクトでレンタル契約承認の要請を行う。すると、ロイヤリティスマートコントラクトは、オーナにレンタル料金の支払いを行う。そして、ロイヤリティスマートコントラクトは、アフィリエイトマネージャスマートコントラクトASCでアフィリエイト資料の要請を行う。アフィリエイトマネージャスマートコントラクトASCは、ロイヤリティスマートコントラクトにアフィリエイトデータの提供を行う。その結果、ロイヤリティスマートコントラクトは、クライアントUC2にレンタル契約の承認を行う。そして、ロイヤリティスマートコントラクトは、クライアントUC1に手数料の支払いを行う。
ブロックチェーンBC上のスマートコントラクトは、このように処理を実行する。
【0071】
図23は、
図1に示すコンテンツを利用する際における各構成要素の関係性を示す図である。
図24は、
図23に示すリソースパッケージャにおけるリソースリーディングのフローを示す図である。
図23に示すように、クライアントUC1がコンテンツの利用権限があるのかが確認され、利用権限がある場合には、メディアプレイヤMPRにおいてコンテンツファイルの復号がなされる。このとき、ストレージSTRに記録されたコンテンツは、リソースパッケージャRPにおいて、コンテンツの授受の支援を行う。
図24に示すように、コンテンツデータは、ストレージSTRに記録されたコンテンツを復号するための鍵を用いて復号が行われたのち、ワンタイムキーを用いて再暗号化が行われる。
【0072】
図25は、
図1に示すコンテンツの利用のうち、スプリットされない単一のコンテンツのダウンロードがなされる際における各構成要素の関係性を示す図である。
図26は、
図1に示すコンテンツの利用のうち、スプリットされたコンテンツのダウンロードがなされる際における各構成要素の関係性を示す図である。
図25及び
図26に示すように、暗号化されたコンテンツデータは、ストレージSTRからダウンロードされ、リソースパッケージャRPを介して復号及び再暗号化が行われ、メディアプレイヤMPRに提供される。
【0073】
図27は、
図1乃至
図26に示す情報処理システムにおける、暗号化及び復号の概要を示す図である。
即ち、ブロックチェーンBCのスマートコントラクトにおいて、プライベートキーP1(秘密鍵)を用いて、コンテンツの暗号化が行われてストレージSTRに格納される。サブキーPk1(公開鍵)は、パーソナライズリーダ(メディアプレイヤMPR)に提供される。そして、パーソナライズリーダ(メディアプレイヤMPR)を用いてコンテンツの利用をする場合、リソースパッケージャは、ワンタイムキーP2(秘密鍵)と、それに対応するサブキーPk2(公開鍵)を生成する。ワンタイムキーP2は、パーソナライズリーダ(メディアプレイヤMPR)に提供される。そして、リソースパッケージャRPは、ストレージSTRから取得した暗号化されたコンテンツを復号するとともに、プライベートキーP1及びサブキーPk2を用いて再暗号化して、パーソナライズリーダ(メディアプレイヤMPR)に提供する。パーソナライズリーダ(メディアプレイヤMPR)は、提供されたワンタイムキーP2及びサブキーPk1を用いて、復号することでコンテンツを利用することが出来るようになるのである。
【0074】
図28は、アフィリエイトプログラムを伴わない場合のNFTのスマートコントラクトのデータ構造の一例を示している。
図29は、アフィリエイトプログラムを伴う場合のNFTのスマートコントラクトのデータ構造の一例を示している。
【0075】
即ち、アフィリエイトプログラムを伴わない場合、
図28に示すように、ブロックチェーンBC上には、NFTスマートコントラクトNSCと、レンタルスマートコントラクトRSCが構成される。
アフィリエイトプログラムを伴う場合、
図29に示すように、ブロックチェーンBC上には、NFTスマートコントラクトNSCと、レンタルスマートコントラクトRSCとに加えてさらに、アフィリエイトマネージャスマートコントラクトASCが構成される。
以下、NFTスマートコントラクトNSC、レンタルスマートコントラクトRSC、及びアフィリエイトマネージャスマートコントラクトASCについて、その順番に詳細について説明していく。
【0076】
NFTスマートコントラクトNSCは、ユーザ(オーナ)のデジタル資産たるコンテンツ(画像、音楽、動画等)をNFTと紐付けしてレンタルすることを目的とするスマートコントラクトである。
NFTスマートコントラクトNSCは、Ethereum(登録商標)のSmart Contract Runtimeベース(以下、「EVMベース」と呼ぶ)で実行できるようにSolidity言語で作成されている。
NFTスマートコントラクトNSCは、ユーザの資産を示すNFTをトークン化できるようにしなければならず、該当トークンを転送する機能を持たなければならない。
また、NFTに紐付けられたコンテンツ(デジタル資産)のレンタルのために特定のスマートコントラクトへの権利移譲ができるように設計されなければならない。
NFTは、Ethereum(登録商標)のERC721プロトコルに基づいて作成され、メタデータ(metadata)は特定のデータサーバにてURLで保管される。
【0077】
NFTスマートコントラクトNSCの構成要素として、「token URI」、「token Approvals」、「safeTransferFrom」、「safeMint」、「Approve」、及び「Freeze」が存在する。
「token URI」とは、NFT(token)のメタデータ(metadata)のURIを保管するための配列である。
「token Approvals」とは、NFT(token)の権利移譲状態を保管するための配列である。
「safeTransferFrom」とは、NFT(token)を所有者(現オーナ)から他のユーザに転送するための関数である。
「safeMint」とは、NFT(token)をmintするための関数である。
「Approve」とは、NFT(token)に対する権利移譲を進めるための関数である。
「Freeze」とは、NFT(token)の権利移譲を取り消すための関数である。
【0078】
NFTスマートコントラクトNSCに対する更新が必要な場合、新しいスマートコントラクトをデプロイすると、トークン資料と過去の履歴(mint履歴、transfer履歴等)が全て削除される。これを防止するために、ERC1967Proxyという更新可能なスマートコントラクトを利用して過去の資料を保存しながら関数を更新したり、新しい関数を追加することができる。
また、ERC2981プロトコルを利用してNFTの1次流通および2次流通時にNFTを作成したクリエイターにロイヤリティを支払うように設計することができる。
そして、ERC2771 Context及びMinimal Forwarderを利用してGaslessトランザクション機能を実装することもできる。ここでGaslessトランザクションとは、ユーザ側でスマートコントラクト上で何らかの動作を実行する際に発生するGas代をユーザではなくスマートコントラクト管理者側で支払えるようにするためのトランザクション、即ちユーザはGas代を全く支払わないようにするためのトランザクションである。
また、ブロックチェーンBCから直接的に得にくい資料をHTTP要請時間内に得るために、MoralesやOpen zeppelin DefenderのようなブロックチェーンDappサービスを利用することもできる。
ブロックチェーンBCから得にくい資料とは、実例を挙げて説明するとユーザが所有しているNFTリスト等である。ブロックチェーンBC上には、該当NFT(トークン)の所有者がユーザだという情報は存在するが、該当ユーザがどのようなNFT(トークン)を持っているかという情報は、トークン別にトランザクション化されて存在する。つまり、あるユーザが所有しているすべてのNFTリストを得るためには、NFTスマートコントラクトNSC内で発生したすべてのトランザクションを照会しなければならない。このような動作は絶対にHTTP要請時間内に終わることはできない。これを解決するために、過去データとしてリアルタイムでブロックチェーンBCからトランザクションに関するデータを取得してデータベースに保管し、ユーザの要請があれば、該当資料を当該データベースから取得するバックエンド4(
図1及び
図11)が本サービスには設けられている。
しかし、ブロックチェーンBCの単一化サービスとDappサービスが発展するにつれ、MoralesのようなDapp提供サービスが生まれ、上記のようなバックエンド4はマウスクリック数回で簡単にインストールできる。
【0079】
以上、NFTスマートコントラクトNSCの詳細について説明した。
次に、レンタルスマートコントラクトRSCの詳細について説明する。
【0080】
レンタルスマートコントラクトRSCは、NFTに紐付けられたコンテンツの利用をするためのサービス(以下、「レンタルサービス」と呼ぶ)を構築するためのスマートコントラクトである。
レンタルスマートコントラクトRSCは、NFT発行者からトークン(オーナのNFT)の権利移譲を受けレンタルサービスを実現する。
レンタルスマートコントラクトRSCを通じて、当該トークンに紐付けられたコンテンツを利用する(借りる)クライアントは、該当する賃貸料に対する送金権限をレンタルスマートコントラクトRSCに渡す。正式な支払い関係が成立すると、レンタルスマートコントラクトRSCはその賃貸料をNFTの所有者(オーナ)に支払い、賃貸者(クライアント)にトークン(NFT)に紐付けられたコンテンツを閲覧できるキー(上述のプライベートキーPk1等)を提供する。
該当賃貸者(クライアント)はキーを利用して、メディアプレイヤMPR(
図1)を通じてNFT内部のデジタル資産たるコンテンツを閲覧することができる。
レンタルスマートコントラクトRSCは、従来の一般的なNFT販売用スマートコントラクトのようにNFT(トークン)を賃貸者(クライアント)に転送しない。代わりにNFT(トークン)はレンタルスマートコントラクトRSC内部に保存される。その理由はNFT所有者(オーナ)が賃貸者(クライアント)への賃貸を許可した後、賃貸者(クライアント)が、NFT(トークン)を紛失したり、他のユーザに販売するリスクを軽減するためである。
該当賃貸期間が終われば、レンタルスマートコントラクトRSCは、自動的に、保存していたNFTをその所有者(オーナ)に転送し、NFT(トークン)に紐付けられたコンテンツを閲覧するためのキー(上述のプライベートキーPk1等)を無効化する。
また、レンタルスマートコントラクトRSCは、メディアプレイヤMPR側でクライアントが閲覧権限を持っているかを判定するための関数を提供する。
レンタルスマートコントラクトRSCは、アフィリエイトプログラムが存在する場合、賃貸料の支払い時にNFTの所有者(オーナ)のReferral(アフィリエイトプログラム)に当該Referral金額(アフィリエイトプログラム金額たる紹介料)を支払い、その他残った金額をNFTの所有者(オーナ)に支払う。
Referral(アフィリエイトプログラム)は、Multi-Level方式ではなく、Single-Level方式で支払われる。すなわち、自分(上述の例ではクライアントUC2)を直接紹介してくれたユーザ(上述の例ではクライアントUC1)にのみに支払われる。
【0081】
レンタルスマートコントラクトRSCの構成要素は以下の通りである。
レンタルスマートコントラクトRSCには、rental Information[user address][contract address][token_id]が存在する。これは、賃貸者(クライアント)のアドレスとNFTコントラクトアドレス、トークンアドレスをKeyとしてレンタル情報を保管するための多次元配列変数である。
該当変数はRental Informationという特定の構造体の多次元配列であり、この構造体には、NFT資産(コンテンツ)を閲覧するためのkeypair(上述の例ではプライベートキーPk1とワンタイムキーPk2)である[Rental Keypair_]、レンタル費用である[Rental Price_]、レンタルが始まる日付である[Rental Start Date]、及び、レンタルが終わる日付である[Rental End Date]が含まれる。
レンタルスマートコントラクトRSCには、[start Rental]が存在する。これは、レンタルを開始するための関数である。NFT所有者(オーナ)及びレンタル管理者が呼び出すことができ、該当賃貸料とNFT(トークン)の権利がレンタルスマートコントラクトRSCに移譲されたかを検査する。移譲が確認されれば賃貸料はNFTの所有者(オーナ)とReferral(アフィリエイトプログラム)に、NFT(トークン)はレンタルスマートコントラクトRSCの内部に転送される。
レンタルスマートコントラクトRSCには、[end Rental]が存在する。これはレンタルを完了するための関数である。この関数は、[Rental End Date]が過ぎた後に呼び出すことができ、管理者によってのみ呼び出すことができる。
レンタルスマートコントラクトRSCには、[claimNFT]が存在する。これは、NFTの所有者(オーナ)が、[end Rental]が実行された後、自分のNFTを返却してもらうために呼び出す関数である。レンタル期間が満了する前に呼び出すと失敗処理される。
レンタルスマートコントラクトRSCには、[get Rental View Key]が存在する。これは、レンタル契約がなされたNFTに紐付けられたコンテンツを閲覧するためのキーを得るための関数である。レンタル期間が満了すると、自動的にNULLのキーを送ってくれる。
レンタルスマートコントラクトRSCには、[get Rental Info]が存在する。これは、当該レンタルに対する詳細情報を得るための関数である。この関数は、管理者と賃貸者(クライアント)、NFTの所有者(オーナ)によってのみ呼び出せる。
【0082】
レンタルスマートコントラクトRSCは、基本的に賃貸者(クライアント)とNFTの所有者(オーナ)の呼び出しによって管理される。ただし、レンタル完了は、特定サービス(Moralis、OpenzepplinDefenderのような)や独自開発したバックエンド4から管理者によってリアルタイムで完了時点を検査し、完了が確認された時点で呼び出されるように作成しなければならない。
【0083】
以上、NFTスマートコントラクトNSC、及びレンタルスマートコントラクトRSCの詳細について説明した。
次に、アフィリエイトマネージャスマートコントラクトASCの詳細について説明する。
【0084】
図1乃至
図11を用いて上述したように、本サービスでは、自己(オーナ)のNFT(それに紐付けられたコンテンツ)を第三者(上述の例ではクライアントUC2)に紹介してくれた紹介者(上述の例ではクライアントUC1)に対して自分が得る収益の一部を提供するアフィリエイトプログラムが実現されている。
このため、本サービスでは、アフィリエイトマネージャスマートコントラクトASCが作成される。アフィリエイトマネージャスマートコントラクトASCは、ユーザ別に応じた情報を保存する。
NFTに紐付けられたコンテンツの使用者(クライアントUC2)は、本サービスの利用時に紹介者(UC1)のReferral Codeを入力するか、紹介URL(紹介データ)から登録することができる。
この時、アフィリエイトマネージャスマートコントラクトASCは、該当Code又は紹介URLから紹介者(クライアントUC1)のアドレスを得て、使用者の紹介者情報として保管する。
アフィリエイトマネージャスマートコントラクトASCに記載された情報に基づいて、クリエイター(NFTの所有者たるオーナ)はトークン発行時にRoyalty情報を設定する。そして、レンタル時に、レンタルスマートコントラクトRSCは、該当Royalty情報をNFT(トークン)から読み込み、紹介者(クライアントUC1)にその金額(紹介手数料)を支払う。
アフィリエイトマネージャスマートコントラクトASCに登録するアフィリエイト・トランザクションは、クリエイター(NFTの所有者たるオーナ)のウォレットから作らなければならない。
【0085】
アフィリエイトマネージャスマートコントラクトASCの構成要素は以下の通りである。
アフィリエイトマネージャスマートコントラクトASCには、[affiliate Information[Creator(NFTの所有者たるオーナ)_address])が存在する。これは、クリエイター(NFTの所有者たるオーナ)のアドレスをキーとして紹介者(クライアントUC1)のアドレスとRoyalty(パーセント数)を保管する配列変数である。
アフィリエイトマネージャスマートコントラクトASCには、[get Affiliate Information(Creator(NFTの所有者)_address)]が存在する。これは、クリエイター(NFTの所有者たるオーナ)のアドレスに基づいて紹介者(クライアントUC1)のアドレスとRoyalty情報を得る関数である。
アフィリエイトマネージャスマートコントラクトASCには、[register Affiliate(
Creator(NFTの所有者たるオーナ)_address,referral_address,referral In Bips)が存在する。これは、クリエイター(NFTの所有者たるオーナ)が登録時にReferral情報を保存するための関数である。
【0086】
本サービスのNFTは、ERC2981を基盤として紹介者(クライアントUC1)にRoyalty(紹介手数料)を支払う仕組みを実現する。
ここで、重要な点は、ERC2981は、NFT(トークン)別にRoyaltyの支払い情報を保存し、指示するためのプロトコルに過ぎないという点である。ERC2981自体でRoyaltyを支払わないときに何らかの規制機能(例えば送金遮断のような機能)を遂行することはできない。いくらの金額をどこに送ればいいのかだけを保存する。したがって、これらの規制はレンタルスマートコントラクトRSC内部で設定しなければならず、該当Royalty情報設定はNFT(トークン)のMint時にアフィリエイトマネージャスマートコントラクトASCから取得して設定しなければならない。
【0087】
以上、本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0088】
例えば上述した実施形態では、鍵は、秘密鍵と公開鍵のペアで利用されるものとしたが、鍵のアルゴリズムについては特に限定されない。上述の暗号化及び復号等を用いた本サービスを提供することが出来れば任意のアルゴリズムの鍵を利用することが出来る。
【0089】
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、
図14の機能的構成は例示に過ぎず、特に限定されない。
即ち、上述した一連の処理を全体として実行できる機能が情報処理装置に備えられていれば足り、この機能を実現するためにどのような機能ブロック及びデータベースを用いるのかは特に
図14の例に限定されない。また、機能ブロック及びデータベースの存在場所も、
図14に特に限定されず、任意でよい。
また、1つの機能ブロック及びデータベースは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0090】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0091】
このようなプログラムを含む記録媒体は、ユーザ等にプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザ等に提供される記録媒体等で構成される。
【0092】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0093】
以上を換言すると、本発明が適用される情報処理システムは、次のような構成を有していれば足り、各種各様な実施の形態を取ることができる。
即ち、本発明が適用される情報処理システム(例えば
図14の情報処理システムSYS等)は、
ブロックチェーン(例えば
図1や
図14のブロックチェーンBC)上のNFTをオーナ(例えば
図1のオーナUO1)が所有したまま、当該NFTに紐付けられたコンテンツを所定ツール(例えば
図14のメディアプレイヤMPR)でクライアント(例えば
図1のクライアントUC1)に利用させる制御を実行する情報処理システムであって、
第1鍵(例えばプライベートキーP1)を用いて前記コンテンツを暗号化してストレージ(例えば
図1や
図14のストレージSTR)に格納すると共に、当該第1鍵を前記ブロックチェーン上の第1スマートコントラクト(例えばNFTスマートコントラクトNSC)により保存する制御を実行する第1制御手段(例えば
図14の第1制御部51)と、
前記第1スマートコントラクトにより、所定の条件(例えばレンタル料金の支払いの承認)を満たした前記クライアントに対して、前記コンテンツの利用権を設定する制御を実行する第2制御手段(例えば
図14の第2制御部52)と、
前記クライアントから前記コンテンツの利用が要求されると、暗号化された前記コンテンツを前記ストレージから抽出して、前記クライアントが操作する前記所定ツールに送信する制御を実行する第3制御手段(例えば
図14の第3制御部53)と、
前記第1スマートコントラクトにより、前記クライアントが前記利用権を有していることを確認したことを条件に、前記第1鍵(例えばプライベートキーP1に対応するサブキーPk1)を、前記クライアントが操作する前記所定ツールに送信する制御を実行する第4制御手段(例えば
図14の第4制御部54)と、
を備える。
【0094】
これにより、NFTに紐づけられたコンテンツが第1鍵を用いて暗号化してストレージに記録される。そして、所定の条件を満たしたクライアントに対してはコンテンツの利用権が設定される。クライアントが利用権を有していることが確認されると、暗号化されたコンテンツと第1鍵が提供されるため、クライアントは暗号化が解除されたコンテンツの閲覧が可能になる。このとき、コンテンツの所有権は、オーナが所有したままとなっている。このように、コンテンツの所有権の譲渡なく、所定の条件を満たしたクライアントはコンテンツの利用が可能となるのである。
即ち、コンテンツに関する権利の管理の利便性を向上させることできる。
【0095】
さらに、前記第3制御手段は、前記制御として、前記クライアントから前記コンテンツの利用が要求されると、前記第1スマートコントラクトから前記第1鍵を取得して、前記ストレージから抽出した前記コンテンツを当該第1鍵及び第2鍵(例えばワンタイムキーP2に対応するサブキーPk2)を用いて再暗号化し、再暗号化された前記コンテンツ及び前記第2鍵(例えばワンタイムキーP2)を、前記クライアントが操作する前記所定ツールに送信する制御を実行する、ことができる。
【0096】
さらに、前記所定ツールは、前記第1制御手段乃至前記第4制御手段の制御により提供された前記コンテンツを少なくとも前記第1鍵により復号して利用するための専用ツールである、ものとすることができる。
【0097】
さらに、第1クライアント(例えば
図1のクライアントUC1)が利用した前記コンテンツを第2クライアント(例えば
図1のクライアントUC2)に紹介し、当該第2クライアントが当該コンテンツを利用した場合に紹介手数料を当該第1クライアントが得るアフィリエイトプログラムを実現するために、前記第1クライアントの情報を有する第2スマートコントラクト(例えば
図1や
図14のアフィリエイトマネージャスマートコントラクトASC)が、前記ブロックチェーン上にさらに存在し、
前記コンテンツを前記第2クライアントに紹介するための紹介データを作成して前記第2クライアントに送信すると共に、当該第1クライアントの情報を前記第2スマートコントラクトに登録する制御を実行する第5制御手段(例えば
図14の第5制御部55)と、
前記第2クライアントに対する前記コンテンツの利用権の設定の制御が前記第2制御手段により実行され、前記第2スマートコントラクトから前記第1クライアントの情報が前記第1スマートコントラクトに取得された場合、当該第1スマートコントラクトにより、前記第1クライアントに対して前記紹介手数料を支払う制御を実行する第6制御手段(例えば
図14の第6制御部56)と、
をさらに備える、ことができきる。
【符号の説明】
【0098】
ASC・・・アフィリエイトマネージャスマートコントラクト、BC・・・ブロックチェーン、MP・・・マーケットプレイス、MPR・・・メディアプレイヤ、N・・・ネットワーク、NSC・・・NFCスマートコンタクト、RP・・・リソースパッケージャ、RSC・・・レンタルスマートコントラクト、STR・・・ストレージ、SYS・・・情報処理システム、1・・・ユーザ端末、2・・・マーケットプレイスシステム、3・・・ストレージシステム、4・・・バックエンド、5・・・ビューアシステム、11・・・CPU、12・・・ROM、13・・・RAM、14・・・バス、15・・・入出力インターフェース、16・・・入力部、17・・・出力部、18・・・記憶部、19・・・通信部、20・・・ドライブ、30・・・リムーバブルメディア、51・・・第1制御部、52・・・第2制御部、53・・・第3制御部、54・・・第4制御部、55・・・第5制御部、56・・・第6制御部