IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社フォリオの特許一覧

特許7590047情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト
<>
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図1
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図2
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図3
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図4
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図5
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図6
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図7
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図8
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図9
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図10
  • 特許-情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】情報処理方法、プログラム、情報処理システム、及び、スマートコントラクト
(51)【国際特許分類】
   G06F 21/10 20130101AFI20241119BHJP
   G06F 21/64 20130101ALI20241119BHJP
【FI】
G06F21/10
G06F21/64
【請求項の数】 11
(21)【出願番号】P 2024107586
(22)【出願日】2024-07-03
【審査請求日】2024-07-03
【早期審査対象出願】
(73)【特許権者】
【識別番号】523469814
【氏名又は名称】株式会社フォリオ
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】西窪 洋平
【審査官】岸野 徹
(56)【参考文献】
【文献】国際公開第2023/204214(WO,A1)
【文献】特開2024-037151(JP,A)
【文献】国際公開第2023/082008(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
スマートコントラクトがNFTを発行する発行ステップと、
前記スマートコントラクトが、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記スマートコントラクトが記録されているブロックチェーンネットワークに記録する記録ステップと、
を有し、
前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している、
情報処理方法。
【請求項2】
スマートコントラクトがNFTを発行する発行ステップと、
前記スマートコントラクトが、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記スマートコントラクトが記録されているブロックチェーンネットワークに記録する記録ステップと、
前記スマートコントラクトが、前記NFTにより参照される前記参照先情報を切り替える切替ステップと、
を有し、
前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している、
情報処理方法。
【請求項3】
前記切替ステップは、前記スマートコントラクト内に記憶された所定の切替条件に基づいて、前記スマートコントラクトが、前記NFTにより参照される前記参照先情報を切り替えるステップである、
請求項2に記載の情報処理方法。
【請求項4】
前記発行ステップより前に、前記スマートコントラクトを、前記ブロックチェーンネットワークに配備する配備ステップを、さらに有する、
請求項1または2に記載の情報処理方法。
【請求項5】
前記所定の切替条件は、予め定められた時間の経過である、
請求項3に記載の情報処理方法。
【請求項6】
前記所定の切替条件は、オラクルである、
請求項3に記載の情報処理方法。
【請求項7】
前記記録ステップは、前記スマートコントラクトが、前記複数のメタデータそれぞれに対し、前記メタデータを分割して前記ブロックチェーンネットワークに記録するステップである、
請求項1に記載の情報処理方法。
【請求項8】
前記発行ステップは、NFTを管理するスマートコントラクトであるNFTコントラクトが前記NFTを発行するステップであり、
前記記録ステップは、NFTが参照するメタデータを管理するスマートコントラクトであるメタデータコントラクトが、前記発行されたNFTが参照する複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録するステップである、
請求項1に記載の情報処理方法。
【請求項9】
ブロックチェーンネットワークに記録されたプログラムであって、
NFTを発行する発行ステップと、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、
をコンピュータに実行させ、
前記複数のメタデータの各参照先情報を保持している、
プログラム。
【請求項10】
NFTを発行する発行部と、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とをスマートコントラクトによりブロックチェーンネットワークに記録する記録部と、
を備え、
前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している
情報処理システム。
【請求項11】
ブロックチェーンネットワークに記録されたスマートコントラクトであって、
NFTを発行する発行ステップと、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、
をコンピュータに実行させ、
前記複数のメタデータの各参照先情報を保持している、
スマートコントラクト。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理方法、プログラム、情報処理システム、及び、スマートコントラクトに関するものである。
【背景技術】
【0002】
従来、デジタルコンテンツをNFT(Non-Fungible Token:非代替性トークン)と紐づけて管理する技術が知られている。デジタルコンテンツとは、ネットワーク上に電磁的に記録された画像、音楽、動画、ファイル等である。例えばNFTで管理されるアート画像はNFTアートと呼ばれている。以下、NFTで管理されるコンテンツをNFTコンテンツという。また、こうしたデジタルコンテンツの著作権をブロックチェーンのスマートコントラクトを用いて管理する技術が知られている。
【0003】
例えば、特許文献1には、ブロックチェーンを用いて、コンテンツデータに対する権利を流通するコンテンツ契約システムであって、権利者端末、譲受人端末およびブロックチェーン制御端末は、権利を流通するためのスマートコントラクトプログラムが設定されたトランザクションを含み、権利者端末、譲受人端末およびブロックチェーン制御端末間で同期するブロックチェーンを記憶し、ブロックチェーン制御端末は、コンテンツデータの照合情報および流通対象の権利の種別を含み、所有者情報として権利者のアドレスが設定され、トークン識別子によって識別されるトークンデータを生成し、トークン識別子に対応するトークンデータをブロックチェーンに登録するトークン発行部を備える、コンテンツ契約システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-068388号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
NFTコンテンツの実体としての電磁的記録については、ブロックチェーン上のスマートコントラクトと通常ブロックチェーン上に保存されないメタデータ(画像等のコンテンツ情報や属性等のテキスト情報)からなる。
【0006】
メタデータをNFTにより管理する場合、メタデータの保存方式としては以下の2つが主流となっている。
(a)スマートコントラクトが保存されるブロックチェーンとは別の比較的大サイズのデータ保存を目的としたブロックチェーンもしくはIPFS(Inter Planetary File System)等のブロックチェーン類似の処理系において保存および公開する。
(b)クラウドサービスのストレージ等、既存のWeb2.0処理系において保存および公開する。
【0007】
ここで、NFTコンテンツについて「一度保存すれば恒久利用可能」と謳われる。確かにブロックチェーン上に保存されるスマートコントラクトとその記憶領域についてはそのような性格がある。
【0008】
図11は、従来のNFTとメタデータの関係を示す図である。具体的には上記(b)の場合のNFTとメタデータの関係を示している。図11に示すように、ブロックチェーン内にはNFTを管理するスマートコントラクトであるNFTコントラクトと図示しないNFTのみ記録されている。
【0009】
このように上記(b)の方式で保存されるメタデータおよびメタデータの処理系については、改ざんのリスクがあるという点で恒久でなかったり、オンチェーンで恒久的に使用できるスマートコントラクトとは別の仕組みとなり、オフチェーンで異なる処理系を併用すること必要があることからオフチェーン上のデータの変更に別途手間とコストが発生する。すなわち、メタデータが「一度保存すれば恒久利用可能」ではないという課題がある。
【0010】
また、著作権や肖像権を伴うメタデータは同権利の利用期間完了に伴い、削除等の対応が必要となる。しかし、上記(a)の方式では、そもそも削除や編集が不可能であり、上記(b)の方式では、スマートコントラクトの処理系とメタデータの処理系、双方に対しての二重の操作が必要となる。
【0011】
一方で、NFTのメタデータをブロックチェーンに記録することは可能でありフルオンチェーンNFTと呼ばれる。この場合、上記(a)の方式と同様、メタデータの削除や編集が不可能であり、権利の管理が難しいという課題がある。
【0012】
そこで、本開示は、NFTで管理されるメタデータの恒久的な利用を可能にしつつ、メタデータの権利の管理を容易に行うことができる情報処理方法、プログラム、情報処理システム、及び、スマートコントラクトを提供することを目的としている。
【課題を解決するための手段】
【0013】
本開示に係る情報処理方法は、スマートコントラクトがNFTを発行する発行ステップと、前記スマートコントラクトが、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記スマートコントラクトが記録されているブロックチェーンネットワークに記録する記録ステップと、を有し、前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している。
【0014】
本開示に係るプログラムは、ブロックチェーンネットワークに記録されたプログラムであって、NFTを発行する発行ステップと、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、をコンピュータに実行させ、前記複数のメタデータの各参照先情報を保持している。
【0015】
本開示に係る情報処理システムは、NFTを発行する発行部と、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とをスマートコントラクトによりブロックチェーンネットワークに記録する記録部と、を備え、前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している。
【0016】
本開示に係るスマートコントラクトは、ブロックチェーンネットワークに記録されたスマートコントラクトであって、NFTを発行する発行ステップと、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、をコンピュータに実行させ、前記複数のメタデータの各参照先情報を保持している。
【発明の効果】
【0017】
本開示によれば、NFTで管理されるコンテンツの恒久的な利用を可能にしつつ、コンテンツの権利の管理を容易に行うことができる情報処理方法、プログラム、情報処理システム、及び、スマートコントラクトを提供できる。
【図面の簡単な説明】
【0018】
図1】本開示の実施形態に係る情報処理システムの構成を示す図である。
図2】本開示の実施形態に係るNFT管理サーバの機能構成を示すブロック図である。
図3】本開示の実施形態に係るユーザ端末の機能構成を示すブロック図である。
図4】本開示の実施形態に係るNFTコントラクトの機能構成を示すブロック図である。
図5】本開示の実施形態に係るメタデータコントラクトの機能構成を示すブロック図である。
図6】本開示の実施形態に係る情報処理システムにおける配備処理の動作を示すシーケンス図である。
図7】本開示の実施形態に係る情報処理システムにおける発行処理の動作を示すシーケンス図である。
図8】本開示の実施形態に係る情報処理システムにおける利用管理処理の動作を示すシーケンス図である。
図9】コンピュータ900の基本的なハードウェア構成を示すブロック図である。
図10】本開示の実施形態に係る情報処理システムにおけるNFTとメタデータの関係を示す図である。
図11】従来のNFTとメタデータの関係を示す図である。
【発明を実施するための形態】
【0019】
図面を参照しながら、本開示の実施形態について説明する。図面の記載において、同一又は類似の部分には同一または類似の符号を付している。
【0020】
<情報処理システム1の構成>
図1は、本実施形態に係る情報処理システム1の構成を示す図である。情報処理システム1は、NFTのメタデータをオンチェーンで管理し利用するためのNFT管理サービスを提供するためのシステムである。
なお、本実施形態において、NFTのメタデータの利用とは、例えば、NFTに紐づくメタデータをNFT自体を識別する情報として参照・閲覧することである。
【0021】
情報処理システム1は、NFT管理サーバ100(情報処理装置)と、ユーザ端末200と、ブロックチェーンネットワーク300(以下単にブロックチェーン300という)と、を備える。ブロックチェーン300は、スマートコントラクトであるNFTコントラクト310およびメタデータコントラクト320を有する。NFT管理サーバ100、ユーザ端末200、およびブロックチェーン300は、ネットワーク5に接続されており、ネットワーク5を介して相互に通信可能である。ネットワーク5は、インターネットを含む。ネットワーク5は、LAN(Local Area Network)および/またはWAN(Wide Area Network)を含んでもよい。
【0022】
NFT管理サーバ100、ユーザ端末200、ブロックチェーン300、はそれぞれ1または複数のコンピュータで構成される。コンピュータの基本構成については後述する。
【0023】
利用者は、予め、利用者が使用するユーザ端末200において、NFT管理サービスを利用可能な状態にしておく。以下の説明では、利用者はユーザ端末200にNFT管理サービスが提供するNFT管理アプリ(ウェブブラウザの拡張機能でもよい)をインストールしているものとして説明する。
【0024】
図2は、本実施形態に係るNFT管理サーバ100の機能構成を示すブロック図である。NFT管理サーバ100は、利用者に対しNFT管理サービスを提供するサーバ装置である。
NFT管理サーバ100は、ユーザ端末200とスマートコントラクト310、320との間に立ち、所定のデジタルコンテンツのNFT発行および閲覧等の利用を仲介するサーバである。NFT管理サーバ100は、例えば、ブロックチェーン300上で動作する分散型アプリケーション(以下、DApps:Decentralized Application)のフロントエンドおよびバックエンドの機能を提供するサーバ装置である。なお、NFT管理サーバ100は、非代替性トークンのマーケットプレイスを構成するサーバであってよい。
NFT管理サーバ100は、通信部110と、記憶部120と、処理部130と、を備える。
【0025】
記憶部120は、アプリケーションプログラム121と、データベース122と、スマートコントラクトのコントラクトアドレス123と、を備える。
【0026】
アプリケーションプログラム121は、処理部130により実行され、主に、処理部130の各機能ユニットを実現するためのプログラムである。
【0027】
データベース122は、NFT管理サービスを利用する利用者(利用者ID等)に関する情報や、NFT管理サービスが管理するNFTおよびメタデータに関する情報を記憶している。
【0028】
スマートコントラクトアドレス123は、後述する配備処理、発行処理、利用管理処理において使用するスマートコントラクトのコントラクトアドレスを記憶している。具体的には、NFTコントラクト310のコントラクトアドレス(310)とメタデータコントラクト320のコントラクトアドレス(320)とを記憶している。
【0029】
処理部130は、機能ユニットとして、ユーザ管理部131と、配備部132と、発行部133と、利用管理部134と、を備える。処理部130は、記憶部120に記憶されたアプリケーションプログラム121を実行することにより、各機能ユニットが実現される。また、処理部130は、情報処理システム1が実行する配備処理、発行処理、利用管理処理、の一部を実行する。配備処理、発行処理、利用管理処理、の詳細は後述する。
【0030】
ユーザ管理部131は、NFT管理サービスの利用者を管理するユーザ管理処理を実行する。
具体的に、ユーザ管理部131は、新規の利用者に対してサービス利用登録処理を行い、ユーザIDを発行する。また、ユーザ管理部131は、利用登録済みの利用者からのNFT管理サービスへのユーザIDを用いたログイン認証を行う。
【0031】
配備部132は、ブロックチェーン300にスマートコントラクトを配備する配備処理を実行する。
具体的には、配備部132は、利用者にNFT管理サービスを提供するにあたり、事前に、NFTを管理するスマートコントラクトであるNFTコントラクト310と、NFTが参照するNFTメタデータを管理するスマートコントラクトであるメタデータコントラクト320と、をブロックチェーン300に配備する。
【0032】
発行部133は、スマートコントラクトを用いてNFTを発行し、当該NFTのメタデータをブロックチェーン300に記録する発行処理を実行する。
具体的には、発行部133は、利用者の要求に基づいて、NFTコントラクト310を用いてNFTをブロックチェーン300に記録し、メタデータコントラクト320を用いてNFTメタデータをブロックチェーン300に記録する。本実施形態ではスマートコントラクトを実装できるイーサリアム(Ethereum)の規格であるERC721もしくは同規格に準ずる規格に準拠してNFTを発行する。
なお、発行部133は、NFT管理アプリに接続された暗号資産ウォレット(以下、単にウォレットという)の秘密鍵による署名を用いてブロックチェーン300に記録する。
【0033】
利用管理部134は、ユーザの要求に基づいて、NFTのメタデータをユーザに利用させる利用管理処理を実行する。
【0034】
処理部130は、そのほかに、ユーザのウォレットとNFT管理アプリとの接続を管理する処理等を実行する。
【0035】
図3は、本実施形態に係るユーザ端末200の機能ブロック構成を示す図である。
【0036】
ユーザ端末200は、NFT管理サービスを利用する利用者によって使用される端末であり、スマートフォン、タブレット端末、パーソナルコンピュータ等任意のコンピュータによって構成される。ユーザ端末200は、通信部210、入力部220、出力部230、記憶部240、制御部250、を備え、通信バス260を介して相互に接続している。
【0037】
入力部220は、ユーザからの操作入力を受け付ける入力装置を備える。出力部230は、少なくともディスプレイを出力装置として備える。
【0038】
記憶部240は、図示しないアプリケーションプログラム241と、ユーザID242と、を有する。
【0039】
アプリケーションプログラム241は、記憶部240に予め記憶されていてもよいし、通信部210を介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としてもよい。アプリケーションプログラム241は、ウェブブラウザの拡張機能やモバイルアプリ等、各種のアプリケーション形態を含む。アプリケーションプログラム241は、NFT管理サービスを利用するためのNFT管理アプリを含む。
【0040】
ユーザID242は、利用者を一意に識別するユーザ識別子である。ユーザID242は、NFT管理サービスにログインするときに用いる、いわゆる利用者識別子(ユーザID)およびパスワード等の、認証に必要な情報である。
【0041】
制御部250は、記憶部240のアプリケーションプログラム241を実行することにより各種機能を実行する。
【0042】
ここで図1に戻る。本実施形態のブロックチェーン300は、ピアツーピアによって接続された複数のコンピュータのネットワークである。ブロックチェーン300には、特定の管理者がいないパブリックチェーン、単一の組織により管理されているプライベートチェーン、複数の組織により管理されているコンソーシアムチェーンの3種類がある。本実施形態のブロックチェーン300は主にパブリックチェーンを対象としているが、ブロックチェーン300はプライベートチェーンまたはコンソーシアムチェーンのいずれかであってもよい。典型的な例では、ブロックチェーン300は、パブリックチェーンに分類されるビットコインネットワーク、イーサリアムネットワーク、ポリゴンネットワーク等、或いは、プライベートチェーンに分類されるハイパーレジャー・ファブリック、クォーラム、LINEブロックチェーン等であり得る。
【0043】
ブロックチェーン300の利用者は、外部所有アカウント(EOA:End of Account)と呼ばれるブロックチェーン300上のアカウントを介して、ブロックチェーン300を利用する。また、ブロックチェーン300は、各種のスマートコントラクト(プログラム)を記録可能に構成される。外部所有アカウントは利用者が所有するウォレットの「ウォレットアドレス」により、スマートコントラクトは「コントラクトアドレス」によりそれぞれ識別される。
【0044】
ブロックチェーン300は、各種のトランザクションをブロックチェーン(具体的には、台帳)に記録可能に構成される。このような台帳は、ピアツーピアによって接続された各コンピュータが保持する台帳であって、分散型台帳とも称される。この各種のトランザクションには、アカウント、スマートコントラクト、またはトークンを新たに発行するための発行トランザクション、トークンの所有権を移転するための移転トランザクション等が含まれる。
【0045】
図4は、本実施形態に係るNFTコントラクト310の機能ブロック構成を示す図である。
【0046】
NFTコントラクト310は、入出力部311と、発行部312と、参照部313と、管理部314と、NFT情報315と、スマートコントラクトアドレス316と、を備える。NFTコントラクト310は、情報処理システム1が実行する配備処理、発行処理、利用管理処理、の一部を実行する。
【0047】
入出力部311は、外部所有アカウントからNFTの発行または利用に関する発行要求または利用要求を受け付け、要求に応じた処理を実行した結果を外部所有アカウントに返す。例えば、入出力部311は、ウォレット接続済みのNFT管理アプリを介して、利用者が指定する所定のメタデータXに対して新規のNFT(X)の発行要求を利用者の外部所有アカウントから受け付ける。また、例えば、入出力部311は、ウォレット接続済みのNFT管理アプリを介して、利用者が所有するNFT(Y)に紐づくメタデータYの利用要求(例えば閲覧要求)を利用者の外部所有アカウントから受け付ける。これら場合、外部所有アカウントは、接続されているウォレットのウォレットアドレスである。
【0048】
発行部312は、メタデータXの新規のNFTの発行要求に応じて、新規のNFT(X)を発行し、外部所有アカウントに所有権を設定する。
【0049】
発行部312は、新規のNFT(X)を一意に識別するトークンID(X)を生成する。
例えば、ERC721標準のスマートコントラクトでは、_tokenIdCounter関数により、新しいトークンIDを生成することができる。
【0050】
ここで、NFTのトークンIDとは、各NFTを一意に識別するための識別子である。通常、各NFTには一意のトークンIDが割り当てられ、これはスマートコントラクト内で生成される。トークンIDは、そのNFTが他のNFTと区別されるためのものであり、所有権やトランザクションの追跡に使用される。トークンIDの生成方法は、シーケンシャルIDやカスタムロジックなど、スマートコントラクトの設計に応じて選定される。あるスマートコントラクト内で発行された最初のNFTのトークンIDは1、次のトークンIDは2、といった具合に連番で割り当てられることが一般的である。
【0051】
発行部312は、まず、NFTコントラクト310のコントラクトアドレス(310)を所有者とし、トークンID(X)に対応するトークンURI(X)を設定して、新規のNFT(X)をブロックチェーン300に記録する。
具体的には、発行部312は、生成したトークンID(X)とNFTコントラクト310のコントラクトアドレス(310)とを用いて新規のNFT(X)をブロックチェーン300に記録する。すなわちブロックチェーン300に記録されたNFT(X)は、NFTコントラクト310のコントラクトアドレス(310)と、NFT(X)のトークンID(X)と、の組み合わせにより特定される(以下、当該組み合わせを説明の便宜上NFTアドレスと称する)。
【0052】
また、発行部312は、NFT(X)のトークンIDに対応するトークンURIを設定する。例えば、ERC721標準のスマートコントラクトでは、新しいNFTの発行後、_setTokenURI関数を呼び出して、トークンIDに対応するトークンURIを設定することができる。なお、URI(Uniform Resource Identifier)は、人間や企業などを含むさまざまなリソース(インターネット上に限定しない)を特定するための表記形式である。
【0053】
トークンURIは、NFTに関連するメタデータへの参照先である。このURIは、トークンの詳細情報、例えば画像、名前、説明、属性などのメタデータが保存されている場所を指す。トークンURIは、通常、IPFS(Inter Planetary File System)やウェブサーバ上にホストされているJSON(JavaScript Object Notation)ファイルのURLである。例えば、https://example.com/nft/metadata/1.jsonというトークンURIがあれば、そのURIを通じてトークンのメタデータにアクセスできる。トークンIDとトークンURIは密接に関連しており、トークンIDによって対応するトークンURIが管理される。本実施形態のトークンURIは、ブロックチェーン300上にホストされているJSONファイルのURLである。
【0054】
発行部312は、また、NFT(X)の所有者を利用者の外部所有アカウントに移転する。これにより、NFT(X)がNFT(X)の発行要求を行った利用者の所有となる。
【0055】
発行部312は、また、新規のNFT(X)の発行時に、関連するメタデータをブロックチェーンに記録するメタデータ処理をメタデータコントラクト320に要求する。
具体的には、発行部312は、NFT(X)のトークンURI(X)、メタデータX、切替条件、をメタデータコントラクト320に入力する。
【0056】
参照部313は、既存のNFT(Y)の利用時に、関連するメタデータの利用をメタデータコントラクト320に要求する。説明の便宜上、既存のNFTをNFT(Y)としているが、NFT(Y)は、新規に発行したNFT(X)であっても構わない。
具体的には、参照部313は、NFT(Y)のトークンURIをメタデータコントラクト320に入力する。
【0057】
管理部314は、既存のNFT(Y)の利用時に、利用者が所有するNFT(Y)に関連するメタデータYについて、利用者の利用を管理する。
具体的には、管理部314は、入出力部311が外部所有アカウントから受け付けたNFT(Y)のコントラクトアドレス(Y)に基づいて、NFT(Y)のトークンID(Y)を特定し、トークンID(Y)に対応するトークンURI(Y)を特定する。管理部314は、メタデータコントラクト320にトークンURI(Y)を入力して、メタデータコントラクト320からメタデータYのJSONファイルを受け取る。
【0058】
NFT情報315は、トークンIDと当該トークンIDと対応して生成されたトークンURIの組み合わせを含む。新たなNFTの発行ごとに当該組み合わせが追加で記憶される。NFT情報は、実体としては、NFTコントラクト310のソースコード内に記述される。
【0059】
スマートコントラクトアドレス316は、NFTコントラクト310自身のコントラクトアドレス(310)、および、メタデータ処理を要求するメタデータコントラクト320のコントラクトアドレス(320)を記憶している。これらコントラクトアドレスは、実体としては、NFTコントラクト310のソースコード内に記述される。
【0060】
図5は、本実施形態に係るメタデータコントラクト320の機能ブロック構成を示す図である。
【0061】
メタデータコントラクト320は、入出力部321と、分割部322と、記録部323と、利用管理部324と、アドレス配列325と、スマートコントラクトアドレス326と、判定条件327と、を備える。
【0062】
入出力部321は、NFTコントラクト310からメタデータ処理要求を受け付け、要求に応じた処理を実行した結果をNFTコントラクト310に返す。
具体的に、入出力部321は、新規のNFT(X)の発行時に、NFTコントラクト310から、メタデータXに関して、新規のNFT(X)のトークンURI(X)、メタデータ(X)、および、切替条件、を入力として取得する。単一のNFT(X)に対して、後述するキー(識別用データ)で区別される同一でない複数のメタデータ(X1、X2、…)を入力とすることもできる。そして、入出力部321は、新規NFT(X)のメタデータXの記録完了をNFTコントラクト310に返す。
また、入出力部321は、既存のNFT(Y)の利用時に、NFTコントラクト310から、既存のNFT(Y)のトークンURI(Y)を入力として取得する。そして、入出力部321は、メタデータYのJSONファイルをNFTコントラクト310に返す。
【0063】
分割部322は、新規のNFT(X)の発行時に、入出力部321を介して取得したメタデータXをn個(nは1以上の整数)の部分データPDに分割する。以下、n個の部分データPDを、個別に区別する場合は、部分データPD1、部分データPD2、部分データPD3…部分データPDnと呼び、まとめて部分データ配列PD(1、2、…、n)と呼ぶ。nは、例えば、予め部分データのサイズを指定することにより決められてもよく、メタデータの種類に応じて決められてもよい。
【0064】
また、分割部322は、新規のNFT(X)の発行時に、n個の部分データPDにそれぞれ対応するn個のデータアドレスAPDを生成する。n個のデータアドレスAPDをまとめて、データアドレス配列APD(1、2、…、n)と呼ぶ。以下n個のデータアドレスAPDを、個別に区別する場合は、データアドレスAPD1、データアドレスAPD2、…、データアドレスAPDnと呼ぶ。
【0065】
さらに、分割部322は、新規のNFT(X)の発行時に、データアドレス配列APD(1、2、…、n)をアドレス配列325に格納する。具体的には、分割部322は、NFT(X)のNFTアドレス(X)と、トークンID(X)と、配列識別子と、からハッシュ値Hを生成し、同ハッシュ値Hをキーとして、データアドレス配列APD(1、2、…、n)をアドレス配列325に格納する。なお、配列識別子は、入力されたメタデータの数に応じて、整数の連番で自動付与される(0を含んでもよい)。これにより、同一のNFTアドレスとトークンIDの組み合わせに対して、複数のアドレス配列を割り当てることが可能になる。
【0066】
記録部323は、新規のNFT(X)の発行時に、分割部322が分割した各部分データPDを、対応するデータアドレスAPDを用いてブロックチェーン300に記録する。複数のメタデータ(X1、X2、…)がある場合は、メタデータごとに記録する。
【0067】
利用管理部324は、既存のNFT(Y)の利用時に、NFT(Y)に紐づくメタデータYの参照先を、判定条件327に記憶されている所定の切替条件に応じて切り替える。切替条件とは、例えば、予め定められた時間の経過、天気、相場(金、石油)などのオラクル(外部情報)の参照により複数の選択肢から1つを決定する条件式である。
【0068】
アドレス配列325内の各レコードは、データを識別するためのキー情報と、当該キー情報と対をなすバリューとによって構成されるキーバリュー型のデータ構造を有する。このような配列は、「mapping」と称されることがある。本実施形態では、キー情報は分割部322が生成するハッシュ値Hであり、対となるバリューは、データアドレス配列APDである。これら配列は、実体としては、メタデータコントラクト320のソースコード内に記述される。
【0069】
スマートコントラクトアドレス326は、メタデータコントラクト320自身のコントラクトアドレス(320)、および、メタデータ処理を要求したNFTコントラクト310のコントラクトアドレス(310)を記憶している。これらコントラクトアドレスは、実体としては、メタデータコントラクト320のソースコード内に記述される。
【0070】
判定条件327は、NFTに関する判定条件を記憶している。本実施形態では、判定条件として、複数のメタデータを切り替えるための切替条件を記憶する。判定条件は、実体としては、メタデータコントラクト320のソースコード内に記述される。
【0071】
<情報処理システム1の動作(情報処理方法)>
以下、情報処理システム1の各処理について説明する。
<配備処理>
図6は、本実施形態に係る情報処理システム1における配備処理(配備ステップ)の動作を示す図である。
【0072】
ステップS101において、NFTを発行する発行体(例えば、NFT管理サーバ100)は、NFTコントラクト310およびメタデータコントラクト320をブロックチェーン300にデプロイ(配備)するためのデプロイリクエストをブロックチェーン300に対して行う。
【0073】
ステップS102において、ブロックチェーン300は、ステップS101の設定値を保存し、NFTコントラクト310およびメタデータコントラクト320をデプロイする。これにより、NFTコントラクト310およびメタデータコントラクト320を利用可能になる。
【0074】
ステップS103において、ブロックチェーン300は、発行体アカウントにデプロイが完了したことを示すデプロイ完了確認を返す。
【0075】
<発行処理>
図7は、本実施形態に係る情報処理システム1における発行処理の動作を示す図である。本実施形態の発行処理では、利用者Sは、所定の切替条件に応じて利用できる2つのメタデータが切り替わる新規のNFTをNFTコントラクト310およびメタデータコントラクト320を用いて発行する。利用者Sは2つのメタデータを指定してNFTの発行を要求するものとして以下説明する。
【0076】
ステップS201において、利用者Sは、NFT管理アプリで複数のメタデータと、これら複数のメタデータを切り替える所定の切替条件と、を指定し、当該複数のメタデータに対して1つのNFTの発行要求を行う。
具体的には、ユーザ端末200のNFT管理アプリから、NFTコントラクト310に対し、第1のメタデータ(X1)および第2のメタデータ(X2)と、これら2つのメタデータを切り替える所定の切替条件(X)と、を指定し、当該2つのメタデータに対して1つのNFT(X)の発行を要求する。このNFT発行要求は、NFT管理アプリに接続している利用者Sのウォレットの外部所有アカウントEOAも含む。NFTコントラクト310は、第1のメタデータ(X1)と、第2のメタデータ(X2)と、外部所有アカウント(EOA)と、切替条件(X)と、を入力として取得する。
【0077】
ステップS202において、NFTコントラクト310は、NFTコントラクト310を所有者に設定したNFT(X)の発行をブロックチェーン300に記録を要求する(発行ステップ)。
具体的には、NFTコントラクト310は、NFT(X)のトークンID(X)を生成し、当該トークンID(X)に対応するトークンURIを設定し、NFTコントラクト310のコントラクトアドレス(310)とトークンID(X)とから、NFTアドレス(310X)を生成し、NFTアドレス(310X)で一意に識別可能なNFT(X)の新規発行を記録することをブロックチェーン300に要求する。
【0078】
ステップS203において、ブロックチェーン300は、NFT(X)の発行を記録し、記録が完了すると、NFTコントラクト310に発行記録完了の確認を通知する。
【0079】
ステップS204において、NFTコントラクト310は、NFT(X)の所有権を利用者の外部所有アカウントEOAに移転する旨の記録をブロックチェーン300に要求する。
【0080】
ステップS205において、ブロックチェーン300は、NFT(X)の所有権の移転を記録し、記録が完了すると、NFTコントラクト310に移転記録完了の確認を通知する。これにより、NFTアドレス(310X)で識別されるNFT(X)が利用者Sの外部所有アカウントEOAに移転されたことがブロックチェーン300にトラッキング可能に記録される。
【0081】
ステップS206において、NFTコントラクト310は、メタデータコントラクト320に対し、第1のメタデータ(X1)および第2のメタデータ(X2)をフルオンチェーンで記録する処理を要求する(記録ステップ)。NFTコントラクト310は、メタデータコントラクト320に、NFT(X)のトークンURI(X)と、第1のメタデータ(X1)と、第2のメタデータ(X2)と、切替条件(X)と、を入力する。
【0082】
ステップS207において、メタデータコントラクト320は、ステップS206で入力された複数のメタデータXをそれぞれ分割してn個の部分データPDとし、部分データPDの群である部分データ配列PD(1、2、…、n)を生成する(記録ステップ)。
本ステップは、メタデータごとに実行される。
具体的には、第1のメタデータ(X1)のJSONをデータURIスキーム形式に変換したデータを分割して部分データ配列PDX1(1、2、…、n)を生成し、第2のメタデータ(X2)のJSONをデータURIスキーム形式に変換したデータを分割して部分データ配列PDX2(1、2、…、n)を生成する。
【0083】
ステップS208において、メタデータコントラクト320は、ステップS207で生成した部分データ配列PDX(1、2、…、n)の各要素に対応するデータアドレスAPDを取得し、データアドレス配列APDX(1、2、…、n)を生成する。そして、メタデータコントラクト320は、NFTアドレス(X)、トークンID(X)、配列識別子からハッシュ値Hを生成し、当該ハッシュ値Hとデータアドレス配列APDX(1、2、…、n)をアドレス配列325に格納する(記録ステップ)。
本ステップは、メタデータごとに実行される。
具体的には、メタデータコントラクト320は、第1のメタデータ(X1)の部分データ配列PDX1(1、2、…、n)の各要素についてデータアドレス配列APDX1(1、2、…、n)を生成し、NFTアドレス(X)、トークンID(X)、配列識別子(例えば1)としてハッシュ値H1を生成し、当該ハッシュ値H1およびデータアドレス配列APDX1(1、2、…、n)の組をアドレス配列325に格納する。同様に、第2のメタデータ(X2)の部分データ配列PDX2(1、2、…、n)の各要素についてデータアドレス配列APDX2(1、2、…、n)を生成し、NFTアドレス(X)、トークンID(X)、配列識別子(例えば2)としてハッシュ値H2を生成し、当該ハッシュ値H2およびデータアドレス配列APDX(1、2、…、n)の組をアドレス配列325に格納する。
【0084】
ステップS209において、メタデータコントラクト320は、ステップS206で取得した切替条件(X)の該当するメタデータに、ステップS208でハッシュ値Hの生成に使用した配列識別子を紐づけて、判定条件327に記憶する(記録ステップ)。
具体的には、切替条件(X)に含まれる第1のメタデータ(X1)を配列識別子の数値1と、切替条件(X)に含まれる第2のメタデータ(X2)を配列識別子の数値2と、それぞれ置き換えた切替条件(XH)として、判定条件327に記憶する。例えば、切替条件(X)が「20XX年12月31日までは、メタデータ(X1)のアドレス配列を使用し、それ以降はメタデータ(X2)のアドレス配列を使用する」という条件の場合、「20XX年12月31日までは、配列識別子が1のアドレス配列を使用し、それ以降は配列識別子が2のアドレス配列を使用する」となる。
【0085】
ステップS210において、メタデータコントラクト320は、部分データ配列PDX(1、2、…、n)とそのデータアドレス配列APDX(1、2、…、n)との組の記録をブロックチェーン300に要求する(記録ステップ)。
具体的には、第1のメタデータ(X1)の部分データ配列PDX1(1、2、…、n)とそのデータアドレス配列APDX1(1、2、…、n)との組、第2のメタデータ(X2)の部分データ配列PDX2(1、2、…、n)とデータアドレス配列APDX2(1、2、…、n)との組、のそれぞれの記録をブロックチェーン300に要求する。
【0086】
ステップS211では、ブロックチェーン300は、部分データ配列PD(X1、X2、…、Xn)とそのデータアドレス配列APD(X1、X2、…、Xn)との組を記録し、記録が完了した旨のメタデータ記録完了確認をメタデータコントラクト320に通知する。
具体的には、第1のメタデータ(X1)の部分データ配列PDX1(1、2、…、n)とそのデータアドレス配列APDX1(1、2、…、n)との組、第2のメタデータ(X2)の部分データ配列PDX2(1、2、…、n)とデータアドレス配列APDX2(1、2、…、n)との組、をそれぞれ記録し、これらの記録が完了した旨のメタデータ記録完了確認をメタデータコントラクト320に通知する。
【0087】
ステップS212において、メタデータコントラクト320は、メタデータの処理が完了した旨の処理完了確認をNFTコントラクト310に通知する。NFTコントラクト310は、処理完了確認を受信する。
【0088】
ステップS213において、NFTコントラクト310は、NFT(X)の発行が完了した旨の発行完了確認をユーザ端末200のNFT管理アプリに通知する。NFT管理アプリはNFT(X)の発行完了確認を受信する。
【0089】
<利用管理処理>
図8は、本実施形態に係る情報処理システム1における利用管理処理の動作を示す図である。本実施形態の利用管理処理では、利用者Tが所有するNFT(Y)のメタデータの利用を要求する場合を想定して以下説明する。なお、利用者TはNFT(Y)を発行した利用者Sと同じでもよい。
【0090】
ステップS301において、利用者Tはユーザ端末200のNFT管理アプリにおいて利用者が所有する既存のNFT(Y)のメタデータの利用を要求する。
ユーザ端末200は、NFT(Y)のNFTアドレス(Y)をNFTコントラクト310に入力する。NFTコントラクト310はNFTアドレス(Y)を取得する。
【0091】
ステップS302において、NFTコントラクト310は、メタデータコントラクト320にNFT(Y)のメタデータの利用を要求する。
具体的には、NFTコントラクト310の管理部314は、ステップS301で取得したNFTアドレス(Y)からNFT(Y)のトークンID(Y)を特定し、トークンID(Y)に対応するトークンURI(Y)を取得する。ERC721標準では、tokenURI関数によりトークンIDに対応するトークンURIを取得できる。そして、NFTコントラクト310は、メタデータコントラクト320に対して、参照元のアドレスを用いて、トークンURI(Y)の参照を要求する。参照元のアドレスは、NFTコントラクト310のコントラクトアドレス(310)である。メタデータコントラクト320は、トークンID(Y)およびコントラクトアドレス(310)を取得する。
【0092】
ステップS303において、メタデータコントラクト320は、NFT(Y)の切替条件を参照して配列識別子を決定する(切替ステップ)。
【0093】
ステップS304において、メタデータコントラクト320は、ステップS303で決定した配列識別子を用いて、NFT(Y)のデータアドレス配列APD(Y)を特定する(切替ステップ)。
具体的には、メタデータコントラクト320の利用管理部324は、ステップS302で取得したトークンID(Y)と、コントラクトアドレス(310)と、ステップS303で決定した配列識別子と、からハッシュ値Hを生成し、アドレス配列325を参照して、キーがハッシュ値Hのバリューをデータアドレス配列APD(1、2、…、n)として特定する。
【0094】
ステップS305において、メタデータコントラクト320は、ステップS304で特定したデータアドレス配列APD(1、2、…、n)を用いて、ブロックチェーン300上の部分データ配列PDを取得する(切替ステップ)。
【0095】
ステップS306において、メタデータコントラクト320は、ステップS305で取得した部分データからメタデータを復元する(切替ステップ)。
具体的には、メタデータコントラクト320は、ステップS305で取得した部分データ配列PD(1、2、…、n)を結合し、データURIスキーム形式のトークンURIを生成する。
【0096】
ステップS307において、メタデータコントラクト320は、ステップS306で復元したメタデータをNFTコントラクト310を介してユーザ端末200に提供する(切替ステップ)。
具体的には、メタデータコントラクト320は、ステップS306で生成したトークンURIを、NFTコントラクト310のメタデータ利用要求の出力として返す。NFTコントラクト310は、トークンURIをNFT管理サーバ100を介してユーザ端末200に送信する。ユーザ端末200は、トークンURIに含まれるメタデータを参照する。
【0097】
図9は、本開示の実施形態に係る情報処理システム1におけるNFTとメタデータの関係を示す図である。図9に示すように、NFTおよびそのメタデータはブロックチェーン300内に記録されており、これらの処理はブロックチェーン300内のスマートコントラクトで完結する。これにより、改ざんのリスクを回避しつつ、処理のコストを抑えることができる。
【0098】
<コンピュータの基本構成>
図10はコンピュータ900の基本的なハードウェア構成を示すブロック図である。コンピュータ900は、処理部901と、記憶部902と、通信部903と、入力部904と、出力部905とを有する。処理部901、記憶部902、通信部903、入力部904、および出力部905は、通信バス910を介して相互に電気的に接続される。
【0099】
処理部901は、CPU(Central Processing Unit)を含み、コンピュータ900の各部を制御するとともに、記憶部902に記憶される各種のプログラムを読み出して実行する装置である。
【0100】
記憶部902は、DRAM(Dynamic Random Access Memory)等の主記憶装置と、ハードディスク等の補助記憶装置とを含み、コンピュータ900のオペレーティングシステムや各種のアプリケーションを実行するための各種のプログラム、および、これらのプログラムによって利用されるデータを記憶する装置である。上述した各種フローチャートに示す処理は、NFT管理サーバ100、ユーザ端末200、および、ブロックチェーン300を構成する各コンピュータそれぞれの処理部901が、それぞれの記憶部902の中に記憶されているプログラムを実行することによって実現される。
【0101】
通信部903は、外部の装置と通信するための装置であり、処理部901の指示に従ってデータの送受信を行う。NFT管理サーバ100、ユーザ端末200、および、ブロックチェーン300を構成する各コンピュータはそれぞれ、この通信部903を用いて、図1に示したネットワーク5を含む他の装置との間で通信を行う。
【0102】
入力部904は、外部からの入力を受け付けて処理部901に供給する装置であり、例えばキーボード、マウス、タッチパネル、カメラを含んで構成される。出力部905は、処理部901の処理結果を外部に出力する装置であり、例えばディスプレイ、スピーカーを含んで構成される。
<プログラム>
ここで、各実施形態に係るNFT管理サーバ100を構成する各機能を実現するためのプログラムの詳細について説明する。
【0103】
NFT管理サーバ100は、コンピュータ900に実装される。そして、NFT管理サーバ100の各構成要素の動作は、プログラムの形式で記憶部902の補助記憶装置に記憶される。処理部901は、プログラムを記憶部902の補助記憶装置から読みだして記憶部902の主記憶装置に展開し、当該プログラムに従って上記処理を実行する。また、処理部901は、プログラムに従って、上記した記憶部120に対応する記憶領域を記憶部902の主記憶装置に確保する。
【0104】
当該プログラムは、具体的には、コンピュータ900において、プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、当該プログラムは、プロセッサに、NFTを発行する発行ステップと、発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とをスマートコントラクト310、320が記録されているブロックチェーンネットワーク300に記録する記録ステップと、を実行させ、前記複数のメタデータの各参照先情報を保持していることを特徴とするプログラムである。
【0105】
なお、記憶部902の補助記憶装置は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入力部904を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワーク5を介してコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを記憶部902の主記憶装置に展開し、上記処理を実行してもよい。
【0106】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を記憶部902の補助記憶装置に既に記憶される他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0107】
以上で説明したように、本開示に係る情報処理システム1によれば、NFTのメタデータがブロックチェーン300に記録されることで、当該メタデータを恒久的に利用できる。すなわち、オンチェーンデータのみの参照で完結し、オフチェーンの処理系が不要となることによりコストや手間を軽減できる。また、永続的に低コスト(無料)で参照可能である。
【0108】
また情報処理システム1によれば、データアドレス配列を特定するためのNFTの参照用のハッシュ値Hを変更することでNFTが参照するメタデータを変更できる。さらに、情報処理システム1によれば、参照用のハッシュ値Hとデータアドレス配列との組が複数あることで、メタデータの参照先を排他的に切り替えることが可能となる。メタデータの参照先を切り替えるための切替条件は、ブロックチェーン300上のメタデータコントラクト320内に実装されており、予め切替条件として時刻や参照データを設定しておくことで、情報処理システム1において自動で切替条件を判定し参照するメタデータを変更することができる。例えば、メタデータの著作権や肖像権等の権利状態に応じて、オンチェーンのデータの参照を自動で差し替えることができる。
【0109】
すなわち、本開示による情報処理システム1によれば、NFTで管理されるコンテンツの恒久的な利用を可能にしつつ、コンテンツの権利の管理を容易に行うことができる。
【0110】
<変形例>
以上、本開示の各実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0111】
例えば、上述した各実施形態においては、NFTコントラクト310とメタデータコントラクト320は2つのスマートコントラクトに分かれているが、これらを1つのスマートコントラクトとして実装してもよい。
【0112】
上述した実施形態では、切替に用いるメタデータは2つであったが、メタデータコントラクト320は、ステップS206で入力されたメタデータが3以上ある場合は、メタデータごとに、ステップS207からステップS210を繰り返す。
【0113】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
(付記1)
スマートコントラクトがNFTを発行する発行ステップと、
前記スマートコントラクトが、前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記スマートコントラクトが記録されているブロックチェーンネットワークに記録する記録ステップと、
を有し、
前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している、
情報処理方法。
これにより、メタデータを恒久利用できる。
(付記2)
前記スマートコントラクトが、前記NFTにより参照される前記参照先情報を切り替える切替ステップと、をさらに有する、
付記1に記載の情報処理方法。
これにより、メタデータの利用に関する条件に応じたメタデータを参照させることができる。
(付記3)
前記切替ステップは、前記スマートコントラクト内に記憶された所定の切替条件に基づいて、前記スマートコントラクトが、前記NFTにより参照される前記参照先情報を切り替えるステップである、
付記2に記載の情報処理方法。
これにより、様々な切替条件を設定してメタデータの利用に関する条件に応じたメタデータを参照させることができる。
(付記4)
前記スマートコントラクトを、前記ブロックチェーンネットワークに配備する配備ステップと、をさらに有する、
付記1から3のいずれかに記載の情報処理方法。
これにより、NFTおよびメタデータの処理をオンチェーン上で恒久的に利用できる。
(付記5)
前記所定の切替条件は、予め定められた時間の経過である、
付記3に記載の情報処理方法。
これにより、メタデータの利用に関する条件として時間の経過に応じて自動で参照するメタデータを切替ることができる。
(付記6)
前記所定の切替条件は、オラクルである、
付記3に記載の情報処理方法。
これにより、外部情報(オラクル)を用いて多様な切替条件を設定できる。
(付記7)
前記記録ステップは、前記スマートコントラクトが、前記複数のメタデータそれぞれに対し、前記メタデータを分割して前記ブロックチェーンネットワークに記録するステップである、
付記1から6に記載の情報処理方法。
これにより、メタデータのストレージコストを削減できる。
(付記8)
前記発行ステップは、NFTを管理するスマートコントラクトであるNFTコントラクトが前記NFTを発行するステップであり、
前記記録ステップは、NFTが参照するメタデータを管理するスマートコントラクトであるメタデータコントラクトが、前記発行されたNFTが参照する複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録するステップである、
付記1から7のいずれかに記載の情報処理方法。
(付記9)
ブロックチェーンネットワークに記録されたプログラムであって、
NFTを発行する発行ステップと、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、
をコンピュータに実行させ、
前記複数のメタデータの各参照先情報を保持している、
プログラム。
(付記10)
NFTを発行する発行部と、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とをスマートコントラクトによりブロックチェーンネットワークに記録する記録部と、
を備え、
前記スマートコントラクトは、前記複数のメタデータの各参照先情報を保持している
情報処理システム。
(付記11)
ブロックチェーンネットワークに記録されたスマートコントラクトであって、
NFTを発行する発行ステップと、
前記発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とを前記ブロックチェーンネットワークに記録する記録ステップと、
をコンピュータに実行させ、
前記複数のメタデータの各参照先情報を保持している、
スマートコントラクト。
【符号の説明】
【0114】
1 :情報処理システム
5 :ネットワーク
100 :NFT管理サーバ
131 :ユーザ管理部
132 :配備部
133 :発行部
134 :利用管理部
200 :ユーザ端末
300 :ブロックチェーンネットワーク
310 :NFTコントラクト(スマートコントラクト)
311 :入出力部
312 :発行部
313 :参照部
314 :管理部
315 :NFT情報
316 :スマートコントラクトアドレス
320 :メタデータコントラクト(スマートコントラクト)
321 :入出力部
322 :分割部
323 :記録部
324 :利用管理部
325 :アドレス配列
326 :スマートコントラクトアドレス
327 :判定条件
【要約】
【課題】 NFTで管理されるコンテンツの恒久的な利用を可能にしつつ、コンテンツの権利の管理を容易に行うことができる情報処理方法、プログラム、情報処理システム、及び、スマートコントラクトを提供する。
【解決手段】 情報処理方法は、スマートコントラクト310、320がNFTを発行する発行ステップと、スマートコントラクト310、320が、発行されたNFTにより排他的に参照可能な複数のメタデータとそれらの参照先情報とをスマートコントラクト310が記録されているブロックチェーンネットワーク300に記録する記録ステップと、を有し、スマートコントラクト310は、複数のメタデータの各参照先情報を保持している。
【選択図】 図7
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11