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

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

▶ 株式会社スマートアプリの特許一覧

特開2023-50788NFT管理プログラムおよびNFT管理システム
<>
  • 特開-NFT管理プログラムおよびNFT管理システム 図1
  • 特開-NFT管理プログラムおよびNFT管理システム 図2
  • 特開-NFT管理プログラムおよびNFT管理システム 図3
  • 特開-NFT管理プログラムおよびNFT管理システム 図4
  • 特開-NFT管理プログラムおよびNFT管理システム 図5
  • 特開-NFT管理プログラムおよびNFT管理システム 図6
  • 特開-NFT管理プログラムおよびNFT管理システム 図7
  • 特開-NFT管理プログラムおよびNFT管理システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023050788
(43)【公開日】2023-04-11
(54)【発明の名称】NFT管理プログラムおよびNFT管理システム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20230404BHJP
   G06Q 50/10 20120101ALI20230404BHJP
   G06F 21/62 20130101ALI20230404BHJP
【FI】
G06F21/10
G06Q50/10
G06F21/62
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021161073
(22)【出願日】2021-09-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】515253821
【氏名又は名称】SBINFT株式会社
(74)【代理人】
【識別番号】100114258
【弁理士】
【氏名又は名称】福地 武雄
(74)【代理人】
【識別番号】100125391
【弁理士】
【氏名又は名称】白川 洋一
(72)【発明者】
【氏名】佐々木 凱生
(72)【発明者】
【氏名】高 長徳
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC12
(57)【要約】
【課題】NFTのデータとコンテンツとを紐づけて保存することで、NFTをストレージボックス化する。
【解決手段】ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、ブロックチェーンに記録されているNFTからメタデータのJSON(JavaScript Object Notation)ファイル名を取得する処理と、前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更する処理と、前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新する処理と、をコンピュータに実行させる。
【選択図】図6
【特許請求の範囲】
【請求項1】
ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、
ブロックチェーンに記録されているNFTからメタデータのJSON(JavaScript Object Notation)ファイル名を取得する処理と、
前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更する処理と、
前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新する処理と、をコンピュータに実行させることを特徴とするNFT管理プログラム。
【請求項2】
ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、
ブロックチェーンに記録されているNFTのメタデータおよび前記NFTに対応するコンテンツを前記ブロックチェーン外の領域に保存する処理と、
前記NFTのACL(Access Control List)を取得する処理と、
前記ACLのいずれかのトークンURI(Uniform Resource Identifier)を変更して、前記ACL用いて書き換え権限を確認する処理と、をコンピュータに実行させることを特徴とするNFT管理プログラム。
【請求項3】
コントラクトの実行者とMintable Ownerとを照合し、両者が一致した場合に前記ACLの更新を許可する処理をさらに含むことを特徴とする請求項2記載のNFT管理プログラム。
【請求項4】
ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理システムであって、
データサーバにおいて、ブロックチェーンに記録されているNFTからメタデータのJSONファイル名を取得し、前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更すると共に、前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新することを特徴とするNFT管理システム。
【請求項5】
ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理システムであって、
データサーバにおいて、ブロックチェーンに記録されているNFTのメタデータおよび前記NFTに対応するコンテンツを前記ブロックチェーン外の領域に保存し、
前記NFTのACL(Access Control List)を取得し、前記ACLのいずれかのトークンURI(Uniform Resource Identifier)を変更して、前記ACLを更新することを特徴とするNFT管理システム。
【請求項6】
コントラクトの実行者とMintable Ownerとを照合し、両者が一致した場合に前記ACLの更新を許可することを特徴とする請求項5記載のNFT管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムおよびNFT管理システムに関する。
【背景技術】
【0002】
従来、デジタルアートの領域では、創作者であることの証明や創作物が転売されたときに創作者に適正なロイヤリティを配分することが難しかったが、NFT(Non-Fangible Token)の登場により、創作者に適正なロイヤリティを配分することが可能となり、創作物の二次流通市場において、適正なコンテンツの取引が可能となった。このNFTとは、Ethereum(登録商標)の規格であるERC721に基づいて発行される唯一無二の価値を持ったトークンのことである。すなわち、代替不可能な固有のデータを持つことができるトークンであり、ブロックチェーン上に保存される。
【0003】
特許文献1には、流動性が担保され、自由化された流通価格を有し、購入者および売却者のプライバシー保護の観点に立つライセンス管理を行うためのトークン管理システムが開示されている。このトークン管理システムでは、アドミニストレータ端末、ライセンサー端末、ライセンシー端末からなり、これらのコンピュータ装置は、分散型台帳を構成する。アドミニストレータ端末は、分散型台帳において、プロダクト識別子と対応付けられた非代替トークンを生成する生成手段と、分散型台帳において、非代替トークンと、第1の公開鍵およびライセンシング処理するための第2の公開鍵とを、対応付ける管理手段と、分散型台帳において、第1の秘密鍵に基づき、非代替トークンと対応付けられる第1の公開鍵を変更するトランザクション処理を行う移転手段を有している。
【0004】
また、特許文献2には、コレクション性を備える新規なデジタルマネーに関する技術が開示されている。特許文献2では、消費者と、商品またはサービスを取り扱う提供者との間で当該商品の対価として取引可能な電子通貨であって、この電子通貨は、最小分割数によってのみ分割可能な複数の券種を有し、券種のそれぞれに電子通貨と対応したデジタルコンテンツが関連付けられている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6640320号明細書
【特許文献2】特開2020-140400号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したNFTは、いわゆる「一点もののアートやコンテンツ」に専用の仕組みであるという認識が広がっている。しかし、NFTは、あくまでもブロックチェーンネットワーク上のデータであって、紐づけのデータ制御をして、プログラマブルにデータを変更することができるものである。そして、NFTをストレージボックス化して、データの保存・管理のために利用する技術は、提案されていなかった。
【0007】
本発明は、このような事情に鑑みてなされたものであり、ブロックチェーン上に保存され、固有の価値として発行されるトークンであるNFTについて、NFTのデータとコンテンツとを紐づけて保存することで、NFTをストレージボックス化することができるNFT管理システムおよびNFT管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のNFT管理プログラムは、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、ブロックチェーンに記録されているNFTからメタデータのJSON(JavaScript Object Notation)ファイル名を取得する処理と、前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更する処理と、前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新する処理と、をコンピュータに実行させることを特徴とする。
【0009】
この構成により、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)することが可能となる。また、ブロックチェーンにおけるNFTのURIは変更されることなく、維持される。これにより、NFTをストレージボックスとして利用することが可能となる。
【0010】
(2)また、本発明のNFT管理プログラムは、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、ブロックチェーンに記録されているNFTのメタデータおよび前記NFTに対応するコンテンツを前記ブロックチェーン外の領域に保存する処理と、前記NFTのACL(Access Control List)を取得する処理と、前記ACLのいずれかのトークンURI(Uniform Resource Identifier)を変更して、前記ACL用いて書き換え権限を確認する処理と、をコンピュータに実行させることを特徴とする。
【0011】
この構成により、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)をすることが可能となる。本発明では、IPFS(Inter Planetary File System)およびS3(Amazon S3)の双方に適用可能である。これにより、NFTをストレージボックスとして利用することが可能となる。
【0012】
(3)また、本発明のNFT管理プログラムは、上記(2)のNFT管理プログラムにおいて、コントラクトの実行者とMintable Ownerとを照合し、両者が一致した場合に前記ACLの更新を許可する処理をさらに含むことを特徴とする。
【0013】
この構成により、ACL違反の操作を排除することが可能となる。
【0014】
(4)また、本発明のNFT管理システムは、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理システムであって、データサーバにおいて、ブロックチェーンに記録されているNFTからメタデータのJSONファイル名を取得し、前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更すると共に、前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新することを特徴とする。
【0015】
この構成により、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)することが可能となる。また、ブロックチェーンにおけるNFTのURIは変更されることなく、維持される。これにより、NFTをストレージボックスとして利用することが可能となる。
【0016】
(5)また、本発明のNFT管理システムは、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理システムであって、データサーバにおいて、ブロックチェーンに記録されているNFTのメタデータおよび前記NFTに対応するコンテンツを前記ブロックチェーン外の領域に保存し、前記NFTのACL(Access Control List)を取得し、前記ACLのいずれかのトークンURI(Uniform Resource Identifier)を変更して、前記ACLを更新することを特徴とする。
【0017】
この構成により、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)をすることが可能となる。本発明では、IPFS(Inter Planetary File System)およびS3(Amazon S3)の双方に適用可能である。これにより、NFTをストレージボックスとして利用することが可能となる。
【0018】
(6)また、本発明のNFT管理システムは、上記(5)のNFT管理システムにおいて、コントラクトの実行者とMintable Ownerとを照合し、両者が一致した場合に前記ACLの更新を許可することを特徴とする。
【0019】
この構成により、ACL違反の操作を排除することが可能となる。
【発明の効果】
【0020】
本発明によれば、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)することが可能となる。また、ブロックチェーンにおけるNFTのURIは変更されることなく、維持される。これにより、NFTをストレージボックスとして利用することが可能となる。
【図面の簡単な説明】
【0021】
図1】本発明の実施形態に係るNFT管理システムの概略構成を示す図である。
図2】NFTデータがNFTコントラクトアドレスに含まれる様子を示す図である。
図3】データサーバがNFTを発行する様子を示す図である。
図4】データサーバがNFTを発行する動作を示すシーケンスチャートである。
図5】実施例1におけるNFT発行の流れを示す概念図である。
図6】「AWS S3ストレージ」を用い、ブロックチェーン外において、NFTデータをプログラマブルに変更する方法を示す図である。
図7】実施例2におけるNFT発行の流れを示す概念図である。
図8】「ACLを持たせたStorage Stateの制限」を用い、ブロックチェーン外において、NFTデータをプログラマブルに変更する方法を示す図である。
【発明を実施するための形態】
【0022】
本発明者らは、ブロックチェーン上に保存されるNFTに着目し、JSONファイルのKeyおよびValueを変更してNFTのメタデータのJSONファイルを更新することによって、NFTコントラクトアドレス内のデータを変更(修正・追加・削除)することができることを見出し、本発明に至った。
【0023】
すなわち、本発明のNFT管理プログラムは、ブロックチェーンに記録されるNFT(Non-Fungible Token)を管理するNFT管理プログラムであって、ブロックチェーンに記録されているNFTからメタデータのJSON(JavaScript Object Notation)ファイル名を取得する処理と、前記ブロックチェーン外の領域において、前記NFTに対応するコンテンツを変更する処理と、前記JSONファイルのKeyおよびValueを変更して前記NFTのメタデータのJSONファイルを更新する処理と、をコンピュータに実行させることを特徴とする。
【0024】
これにより、本発明者らは、NFTをストレージボックスとして利用することを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【0025】
図1は、本発明の実施形態に係るNFT管理システムの概略構成を示す図である。ブロックチェーン100は、分散型ネットワークを構成する複数のコンピュータで構成され、暗号技術を適用し、データを同期して記録する。NFT102は、「Non-Fangible Token」であり、Ethereum(登録商標)の規格であるERC721に基づいて発行される唯一無二の価値を持ったトークンである。図1に示すように、NFT102は、ブロックチェーン上に保存される。
【0026】
インターネット200には、アプリケーションサーバ202およびデータサーバ206が接続されている。アプリケーションサーバ202は、NFTに記録するデータ(NFT記録データ)に対して制御を行なう制御部204を備えている。データサーバ206は、NFTの実データを記録するデータ記録部208およびデータ記録部208に対して逝去を行なう制御部210を備えている。データサーバ206は、クライアント装置からNFTデータを登録する旨のリクエストを受けると、データ記録部208にNFTの実データを記録する。
【0027】
以上の説明では、便宜上、アプリケーションサーバ202とデータサーバ206を分離しているが、本発明は、これに限定されるわけではなく、アプリケーションサーバ202およびデータサーバ206が一体となっている態様を採っても良い。このため、以下の説明では、単に「サーバ」という場合は、アプリケーションサーバ202およびデータサーバ206の両方を意味するものとする。
【0028】
クライアントA300およびクライアントB400は、インターネットに200を介して、ブロックチェーン100に接続可能であり、NFT記録データを取得することが可能である。
【0029】
図2は、NFTデータがNFTコントラクトアドレスに含まれる様子を示す図である。図2に示すように、NFTデータは、NFTコントラクトアドレスという箱の中に存在すると認識することができる。すなわち、NFTのトークンIDは、NFTごとに異なっており、図2では、例えば、「TokenID:1」、「TokenID:2」、「TokenID:3」、「TokenID:4」と定められている。一方、コンテンツのURLの保存領域は、ブロックチェーンの「Storage State」となる。図2では、例えば、「Key1」のValueが「tokenURI_A」、「Key2」のValueが「tokenURI_B」、「Key3」のValueが「tokenURI_C」、「Key4」のValueが「tokenURI_D」となっている。これにより、NFTをストレージボックスとして利用することが可能となる。
【実施例0030】
実施例1では、「AWS S3ストレージ」を用い、ブロックチェーン外において、NFTデータをプログラマブルに変更する方法について説明する。図3は、データサーバ206がNFTを発行する様子を示す図であり、図4は、データサーバ206がNFTを発行する動作を示すシーケンスチャートである。また、図5は、実施例1におけるNFT発行の流れを示す概念図である。クライアントX500が、本実施形態に係るNFT管理システムにログインし(ステップS101)、NFTデータを提供すると(ステップS102)、データサーバ206は、NFTをメタデータのJSONオブジェクトを保存し、「NFT記録データ210(URI(Uniform Resource Identifier))」を生成する(ステップS103)。データサーバ206は、NFTをmint(鋳造)し、URIをStorage Stateに書き込む。そして、データサーバ206は、「NFT記録データ210(例えば、URL)」を、クライアントX500のアドレスに発行する(ステップS104)。図3では、NFT記録データ210として、「Name」、「Description」、「URL」を含む「NFT JSON210」を例示しているが、これは一例であって、本発明は、これに限定されるわけではない。
【0031】
クライアントX500は、データサーバ206から取得した「NFT記録データ(例えば、URL)」をブロックチェーン100に提供し、NFT発行リクエストを行なう(ステップS105)。ブロックチェーン100は、リクエストのあった「NFT記録データ」を、NFT102として書き込み、クライアントX500に対して、NFT発行済み情報を提供する(ステップS106)。
【0032】
図6は、「AWS S3ストレージ」を用い、ブロックチェーン外において、NFTデータをプログラマブルに変更する方法を示す図である。クライアントX500が、(1)プログラマブルにコンテンツ変更を行なうNFTを選択すると、(2)NFTのメタデータのjsonファイル名をNFTから取得すると共に、JSONに変更させる、または追加するデータをKey:Valueの構成でファイルの中身を変更する。次に、(3)S3に編集したファイルを上書きする。この結果、(4)編集したコンテンツの表示が変更され、または表示できるコンテンツが追加される。(5)その後、NFTデータの変更をするたびに、上記(1)から(4)の動作を繰り返す。これにより、「データ成長型のプログラマブルなNFT」が実現し、NFTをストレージボックスとして利用することが可能となる。
【実施例0033】
実施例2では、「ブロックチェーンのStorage Stateの書き換え」によって、NFTデータをプログラマブルに変更する方法について説明する。なお、実施例1と同様の点については、説明を省略する。図7は、実施例2におけるNFT発行の流れを示す概念図である。クライアントX500が、本実施形態に係るNFT管理システムにログインし(ステップS101)、NFTデータを提供すると(ステップS102)、データサーバ206は、NFTをメタデータのJSONオブジェクトを保存し、「NFT記録データ210(URI(Uniform Resource Identifier))」を生成する(ステップS103)。データサーバ206は、NFTをmint(鋳造)し、URIをStorage Stateに書き込む。ここで、ACLを別のマッピング配列で作成し、tokenURIの編集を制御する。例えば、図7に示すように、「Key1」のValueが「tokenURI_A」である場合、「ACL A(token mintable Owner)」とし、「Key2」のValueが「tokenURI_B」である場合、「ACL B(時間制御型パブリックACL)」とする。そして、データサーバ206は、「NFT記録データ210(例えば、URL)」を、クライアントX500のアドレスに発行する(ステップS104)。
【0034】
クライアントX500は、データサーバ206から取得した「NFT記録データ(例えば、URL)」をブロックチェーン100に提供し、NFT発行リクエストを行なう(ステップS105)。ブロックチェーン100は、リクエストのあった「NFT記録データ」を、NFT102として書き込み、クライアントX500に対して、NFT発行済み情報を提供する(ステップS106)。
【0035】
図8は、「ACLを持たせたStorage Stateの制限」を用い、ブロックチェーン外において、NFTデータをプログラマブルに変更する方法を示す図である。クライアントX500が、(1)コンテンツとメタデータのファイルをストレージ媒体に保存し、(2)プログラマブルにコンテンツ変更(編集)を行なうNFTを選択する。ここでは、パラメータとして、TokenIDを使用するものとする。次に、(3)「tokenID」をKeyとするmintable Ownerに基づいて、NFTのACLアドレスを取得する。ここで、取得したmintable Ownerとcontract実行者との一致を確認する。次に、(4)「tokenID」をKeyとするtokenURI」を取得する。最後に、(5)「tokenID」をKeyとするtokenURIを取得し、Storage StateのUpdateのため、スマートコントラクトを実行する。実施例2によれば、ACL違反の場合は、State情報の変更をしない。これにより、ACLの制御権の基づくNFTデータの変更が可能となり、「データ成長型のプログラマブルなNFT」が実現し、NFTをストレージボックスとして利用することが可能となる。
【0036】
[変形例]
本実施形態では、ブロックチェーンの情報編集が発生するが、スマートコントラクトの設計次第で、種々のプログラマブルNFTの実現が可能となる。例えば、「タレントのファンクラブのコンテンツデータの提供」において、月替りのメッセージおよびNFTイメージを提供することが可能となる。ここで、大型コンテンツに同一のメタデータのURIが対応するため、ERC1155を推奨することにしても良い。また、「ERC721要件ウォレット搭載型フォトフレームへの応用」において、例えば、0歳の時から結婚するまでの子供の成長を残すメモリートークンとしてプログラマブルにNFTにデータを詰め込むアルバムおよび成長させたトークンのプレゼントに使用することが可能となる。さらに、「保険証券・不動産証券への応用」において、個人の保険での払込履歴を、ブロックチェーンのトークン決済履歴で管理し、閲覧制限をかけたデータで保険証券としての保険額追加のデータ管理を一つのNFTで証券管理を行なうことが可能となる。
【0037】
以上、本発明の実施形態について説明したが、本発明は、上述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。本実施形態に係るアクセス制限システムは、コンピュータプログラムを実行することによって実現される。コンピュータプログラムによって実現される場合には、このコンピュータプログラムが、コンピュータにインストールされ、実行される。また、このプログラムは、DVD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとして、ユーザのコンピュータに提供されても良い。
【符号の説明】
【0038】
100…ブロックチェーン
102…NFT記録データ
200…インターネット
202…アプリケーションサーバ
204…制御部
206…データサーバ
208…データ記録部
210…制御部
210…NFT JSON
300…クライアントA
400…クライアントB
500…クライアントX
図1
図2
図3
図4
図5
図6
図7
図8