<1.ノンファンジブルトークンの生産方法及び生産システム、固有識別子の登録方法及びシステム、組み合わせ製品の生産方法、組み合わせ製品、固有識別子を有する集積回路、集積回路を有する物体、集積回路の使用方法の概要>
(1)実施形態に係る方法は、ブロックチェーンに記録されるノンファンジブルトークンの生産方法であって、物体が有する固有識別子を読み取った読取器から送信された前記固有識別子を、ノンファンジブルトークン生産システムによって受信し、前記固有識別子を受信した前記生産システムによって、ノンファンジブルトークンを生成することを備える。
(2)前記ノンファンジブルトークンを生成することは、受信した前記固有識別子を用いて、前記固有識別子に対応付けられた前記ノンファンジブルトークンを生成することを備えるのが好ましい。
(3)前記固有識別子に対応付けられた前記ノンファンジブルトークンを生成することは、対応データを、前記ブロックチェーン又は前記ブロックチェーン外のコンピュータに記録することを含むのが好ましい。前記対応データは、前記ノンファンジブルトークンを識別するために前記ブロックチェーンに記録されるトークン識別子と、前記固有識別子と、の対応を示すデータであるのが好ましい。
(4)前記ノンファンジブルトークンを生成することは、前記ノンファンジブルトークンを構成するノンファンジブルトークン用データを前記ブロックチェーンに記録することを含むのが好ましい。
(5)前記ノンファンジブルトークン用データは、前記固有識別子を含むのが好ましい。
(6) 前記ノンファンジブルトークン用データは、前記物体が取り付けられた被取付物に関するデータを含むのが好ましい。
(7)前記生産方法は、前記ノンファンジブルトークンを生成すべきか否かを、受信した前記固有識別子に基づいて、前記生産システムによって判定することを更に備えるのが好ましい。前記ノンファンジブルトークンは、生成すべきと判定された場合に生成されるのが好ましい。
(8)前記生産方法は、受信した前記固有識別子が、前記生産システムに予め登録された登録済固有識別子であるか否かを、前記生産システムによって判定することを更に備えるのが好ましい。前記ノンファンジブルトークンは、受信した前記固有識別子が、前記登録済固有識別子であると判定された場合に生成されるのが好ましい。
(9)前記物体は、集積回路を備えるのが好ましい。前記固有識別子は、前記集積回路の固有識別子であるのが好ましい。
(10)前記物体は、無線識別(Radio Frequency Identification:RFID)装置を備えるのが好ましい。前記固有識別子は、前記無線識別装置の固有識別子であるのが好ましい。
(11)前記無線識別装置は、無線識別タグであるのが好ましい。
(12)前記読取器は、前記物体と非接触の通信によって前記物体から送信された前記固有識別子を受信する通信機であるのが好ましい。
(13)前記物体は、読み取り専用メモリを備えるのが好ましい。前記固有識別子は、前記読み取り専用メモリに記憶されているのが好ましい。
(45)前記物体は、不揮発性メモリを備えるのが好ましい。前記固有識別子は、前記不揮発性メモリに記憶されているのが好ましい。
(15)実施形態に係るシステムは、ブロックチェーンに記録されるノンファンジブルトークンの生産システムであって、物体が有する固有識別子を、ネットワークを介して受信し、前記固有識別子を受信するとノンファンジブルトークンを生成する、ことを備える処理を実行するよう構成されている。
(16)前記ノンファンジブルトークンを生成することは、受信した前記固有識別子を用いて、前記固有識別子に対応付けられた前記ノンファンジブルトークンを生成することを備えるのが好ましい。
(17)前記処理は、前記ノンファンジブルトークンを生成すべきか否かを、受信した前記固有識別子に基づいて判定することを更に備えるのが好ましい。前記ノンファンジブルトークンは、生成すべきと判定された場合に生成されるのが好ましい。
(18)前記処理は、受信した前記固有識別子が、前記生産システムに予め登録された登録済み固有識別子であるか否かを、判定することを更に備えるのが好ましい。前記ノンファンジブルトークンは、受信した前記固有識別子が前記登録済固有識別子であると判定された場合に生成されるのが好ましい。
(19)実施形態に係る方法は、固有識別子の登録方法であって、物体が有する固有識別子を、ネットワークを介してシステムによって、受信し、受信した前記固有識別子を、ブロックチェーンにおけるトークンの操作に用いられる登録済固有識別子として、前記システムによって、登録することを備える。
(20)前記方法は、前記固有識別子の登録の費用の支払いのための決済処理を実行することを更に備えるのが好ましい。
(21)前記トークンの操作は、前記トークンの生成、前記トークンの送信、及び前記トークンの受信の少なくとも一つ以上を含むのが好ましい。
(22)前記トークンの操作は、前記固有識別子に対応付けられたノンファンジブルトークンの生成を含むのが好ましい。
(23)実施形態に係るシステムは、ブロックチェーンにおけるトークンの操作をするシステムであって、物体が有する固有識別子を、ネットワークを介して受信し、受信した前記固有識別子を、前記ブロックチェーンにおける前記トークンの操作に用いられる登録済固有識別子として登録することを備える処理を実行するよう構成されている。
(24)実施形態に係る方法は、物体と、ブロックチェーンに記録されたノンファンジブルトークンと、の組み合わせ製品の生産方法であって、固有識別子を有する物体を準備し、前記物体が有する前記固有識別子を読取器によって読み取り、前記読取器によって読み取った前記固有識別子を、前記読取器からノンファンジブルトークン生産システムへ送信し、前記生産システムへ送信された前記固有識別子を用いて、前記生産システムによって、前記固有識別子に対応付けられたノンファンジブルトークンを生成することで、前記物体と前記物体が有する前記固有識別子に対応付けられた前記ノンファンジブルトークンとの組み合わせ製品を得る、ことを備える。
(25)実施形態に係る組み合わせ製品は、固有識別子を有する集積回路と、前記集積回路が有する前記固有識別子に対応付けられたノンファンジブルトークンと、を備える。
(26)組み合わせ製品は、前記集積回路が取り付けられた被取付物を更に備えるのが好ましい。前記ノンファンジブルトークンは、前記被取付物に関するデータを有するのが好ましい。
(27)実施形態に係る集積回路は、固有識別子を有する集積回路であって、前記固有識別子は、ブロックチェーンにおけるトークンを操作するシステムに登録された登録済固有識別子であり、前記システムは、前記登録済固有識別子と同じ固有識別子を受信すると、ブロックチェーンにおけるトークンを操作するよう構成され、前記登録済固有識別子は、前記システムにおいて、前記トークンの操作に利用される。
(28)前記トークンの操作は、前記トークンの生成、前記トークンの送信、及び前記トークンの受信の少なくとも一つ以上を含むのが好ましい。
(29)実施形態に係る物体は、前記(27)又は(28)に記載の集積回路と、前記システムにアクセスするためのデータを示すコードと、を備える。
(30)前記システムにアクセスするための前記データは、前記システムが備えるサーバのURLであるのが好ましい。
(31)実施形態に係る方法は、固有識別子を有する集積回路の使用方法であって、前記集積回路が有する固有識別子を読取器によって読み取り、前記読取器から送信された前記固有識別子を、ブロックチェーンにおけるトークンを操作するシステムによって受信し、受信した前記固有識別子を用いて、前記システムによって、前記固有識別子に対応付けられたトークンを識別し、識別されたトークンを、前記システムによって操作することを備える。
<2.ノンファンジブルトークンの生産方法及び生産システム、固有識別子の登録方法及びシステム、組み合わせ製品の生産方法、組み合わせ製品、固有識別子を有する集積回路、集積回路を有する物体、集積回路の使用方法の例>
図1は、実施形態に係るシステム10において利用されるブロックチェーン20等を示している。ブロックチェーン20は、複数のコンピュータが相互に接続されたP2P(Peer to Peer)のコンピュータネットワークシステムによって構成されている。
ブロックチェーン20においては、ブロックチェーンアドレス間で取引が可能である。取引のトランザクションは、ブロックチェーン20の分散台帳に記録される。ブロックチェーンアドレスは、例えば、ブロックチェーン20におけるユーザアカウント25A,25Bを示す。例えば、あるユーザU1が、ブロックチェーン20にアカウント25Aを有している場合、そのアカウントは、所定のブロックチェーンアドレスを有する。図1においては、一例として、第1ユーザU1のブロックチェーンアドレスは、「0x9999」であり、第2ユーザU2のブロックチェーンアドレスは、「0x1111」である。また、図1では、後述のサーバ51のブロックチェーンアドレス25Cが示されている。サーバ51のブロックチェーンアドレス25Cは、「0x1234」である。
ブロックチェーン20おいては、例えば、トークンの取引が可能である。ブロックチェーン20において取引可能なトークンとしては、ファンジブルトークン(代替性トークン;Fungible Token:FT)と、ノンファンジブルトークン(非代替性トークン;Non-Fungible Token:NFT)と、がある。ファンジブルトークンは、例えば、イーサリアム(Ethereum)におけるイーサ(Ether)などの暗号通貨(ネイティブトークン)である。ファンジブルトークンは、企業又は個人などの特定の発行主体によってブロックチェーンにおいて発行される独自ファンジブルトークンであってもよい。
ノンファンジブルトークン(NFT)は、ファンジブルトークン(FT)とは異なり、代替性を有さないトークンである。非代替性の確保のため、NFTは、ブロックチェーン20において、他のNFTとの区別を可能にするための固有のトークン識別子を有する。このトークン識別子は、NFT識別子(NFT_ID)とも呼ばれる。トークン識別子は、例えば、NFTの格納のためのブロックチェーンアドレス(コントラクトアドレス)に記録される。
ブロックチェーン20において、ユーザU1,U2が所有するNFT又はファンジブルトークンは、ユーザアカウント25A,25Bに対応付けて記録される。
ブロックチェーン20は、スマートコントラクト22を備え得る。システム10は、ブロックチェーン20に実装されたスマートコントラクト22を備え得る。スマートコントラクト22は、ブロックチェーンにおいて実行可能に実装されたソフトウェア(コンピュータプログラム)によって構成されている。スマートコントラクト22は、自動取引等の所定のプロトコルを自動的に実行する。実施形態のスマートコントラクト22は、NFTの送信のための処理、又は、NFTの生成のための処理を実行し得る。
前述のブロックチェーンアドレスは、スマートコントラクト22のコントラクトアドレスを示すこともある。コントラクトアドレスは、スマートコントラクト22が格納されているブロックチェーンアドレスである。図1において、スマートコントラクトのコントラクトアドレスは、一例として、「0x8888」である。
ブロックチェーン20においては、スマートコントラクト22もNFT又はFTを所有できる。ブロックチェーン20において、スマートコントラクト22が所有するNFT又はFTは、スマートコントラクト22のコントラクトアドレスに対応付けて記録される。
スマートコントラクト22は、例えば、スマートコントラクト22外からの呼び出し操作によって呼び出されることで、スマートコントラクト22による処理が実行される。スマートコントラクト22は、例えば、ユーザのアカウント25A,25Bから呼び出される。
スマートコントラクト22によって実行される処理は、例えば、NFTの生成又はトークンの操作である。トークンの操作は、例えば、トークンの所有者変更である。トークンの所有者変更の操作は、トークンの送信とも呼ばれる。すなわち、トークンの所有者を第1ブロックチェーンアドレスから第2ブロックチェーンアドレスに変更することは、第1ブロックチェーンアドレスから第2ブロックチェーンアドレスへ、トークンを送信することもでもある。
トークンの送信は、例えば、スマートコントラクト22のコントラクトアドレスから、他のブロックチェーンアドレス(例えば、ユーザアカウント)へトークンを送信することであってもよい。実施形態のNFTは、一例として、スマートコントラクト22が介在した送受信だけが可能とされている。スマートコントラクト22が介在した送受信だけが可能であることは、ブロックチェーン20に記録されている。したがって、実施形態のNFTは、ユーザ間で直接送受信、すなわち、ユーザ間で直接取引することはできない。
例えば、スマートコントラクト22は、ユーザU1のブロックチェーンアドレス25AへNFTを送信することができる。スマートコントラクト22は、ブロックチェーンアドレス25Aから呼び出されると、呼び出し者とのブロックチェーンアドレス25AへNFTを送信することができる。また、ユーザU1は、ユーザU1のブロックチェーンアドレス25Aからスマートコントラクト22へNFTを送信することができる。ユーザU2も同様に、スマートコントラクト22との間で、NFTの送受信が可能である。
また、第1ユーザU1が第2ユーザU2へNFTを譲渡したい場合、まず、第1ユーザU1は、第1ユーザU1のブロックチェーンアドレス25Aからスマートコントラクト22へNFTを送信して、スマートコントラクト22にNFTを預ける。第2ユーザU2は、NFTを送信してもらうため、第2ユーザU2のブロックチェーンアドレス25Bからスマートコントラクト22を呼び出す。呼び出されたスマートコントラクト22は、スマートコントラクト22が有しているNFTを、呼び出し元のブロックチェーンアドレス25Bへ送信する。以上によって、第1ユーザU1から、第2ユーザU2へ、スマートコントラクト22を介して、NFTが送信される。
実施形態においては、一例として、このようなスマートコントラクト22を介したNFTの送受信に、後述の物体40が利用され得る。換言すると、実施形態においては、NFTの送受信をするには、そのNFTの送受信をするユーザが、物体40を所有していることが必要され得る。
なお、トークンの操作は、トークンの所有者変更(送信)に限られず、トークンに関する何らかの処理であれば足りる。
実施形態においては、ユーザ端末31,32は、物体40が有する固有識別子46の読取器として動作し得る。物体40は、その物体40を識別するための固有識別子46を有するものであれば特に限定されないが、一例として、物体40は、固有識別子を有する集積回路(integrated circuit:IC)を備える。集積回路40は、例えば、固有識別子等のデータを記憶するメモリを備え、固有識別子等のデータを外部と通信可能に構成された集積回路モジュール(ICモジュール)であってもよい。集積回路モジュール40は、その形態に応じて、集積回路タグ(ICタグ)又は集積回路カード(ICカード)と呼ばれることがある。
集積回路モジュール40は、接触式であってもよいし、非接触式であってもよい。接触集積回路モジュール(接触ICモジュール)は、リーダライタ装置などの外部通信機との接点を有し、接点が外部通信機に接触することで通信可能である。非接触集積回路モジュール40(非接触ICモジュール40)は、アンテナを有し、外部無線通信機と非接触で通信可能である。外部通信機は、例えば、集積回路モジュールからデータを読み取るリーダ、集積回路モジュールにデータを書き込むライタ、又はデータ読み取り及び書き込みが可能なリーダライタである。
集積回路モジュール40は、電池を内蔵するアクティブ集積回路モジュールであってもよいし、電池を内蔵しないパッシブ集積回路モジュールであってもよい。
物体40である集積回路40は、固有識別子などのデータを記憶するメモリ44を備える。メモリ44は、例えば、読み取り専用メモリ(Read Only Memory:ROM)である。集積回路40の固有識別子46は、読み取り専用メモリに記憶されるのが好ましい。メモリ44は、不揮発性メモリを備えるのが好ましい。不揮発性メモリ44は、読み取り専用メモリを構成し得る。集積回路40の固有識別子46は、不揮発性メモリ44に記憶されているのが好ましい。不揮発性メモリ44は、例えば、マスクROM、PROM,EPROM,EEPROM、又はFeRAM、又はフラッシュメモリである。
集積回路40の固有識別子46は、集積回路40のメーカによって集積回路40に付与された、書き換え不能な固有識別子であるのが好ましい。集積回路40の固有識別子46(Unique Identifier:UID)は、他の集積回路と区別してその集積回路40を特定するために用いられる。メーカが集積回路40に付与した固有識別子46(UID)は、例えば、集積回路40の製造時にメモリ44に書き込まれる。固有識別子46は、遅くとも、メーカが集積回路40を出荷する時までにメモリ44に書き込まれている。したがって、メーカが出荷した集積回路40の購入者は、すでに、固有識別子46が書き込まれた集積回路40を入手できる。この結果、集積回路40の購入者又はユーザは、集積回路40に固有識別子46を書き込む手間が不要である。実施形態において、集積回路40に書き込まれた固有識別子46は、ブロックチェーンにおいて取引されるトークンに関する処理に用いられ得る。
固有識別子を有する非接触ICモジュールは、無線識別(Radio Frequency identification:RFID)装置とも呼ばれる。無線識別(RFID)装置は、固有識別子等のデータを外部無線通信機へ無線通信により送信する。外部無線通信機は、無線識別装置(RFID)装置から送信された固有識別子等のデータを受信することで、固有識別子を読み取ることができる。無線識別(RFID)装置は、タグの形態を有する場合、無線識別(RFID)タグと呼ばれることもある。
無線識別(RFID)装置は、近距離無線通信(Near Field Communication)装置であってもよい。近距離無線通信は、NFC規格に従った通信であるのが好ましい。NFCは、例えば、13.56MHz帯の周波数を使った無線通信である。近距離無線通信の通信距離は、10cm以下であるのが好ましい。近距離無線通信(NFC)装置は、タグの形態を有する場合、近距離無線通信(NFC)タグと呼ばれることもある。
物体40は、固有識別子を有する集積回路を備えるものに限定されず、固有識別子を有するその他の物品であってもよい。固有識別子は、例えば、物体40としての製品に付与されたシリアル番号であってもよい。シリアル番号は、個々の製品を識別するために製品に付与される。シリアル番号は製造番号とも呼ばれる。製品は、ソフトウェアであってもよい。固有識別子は、例えば、物体40としてのチケットに付与されたチケット番号であってもよい。チケットは、例えば、乗り物への搭乗のためのチケット又は映画・コンサートなどのイベントの参加又は入場チケットである。
固有識別子は、例えば、物体40としての証明書に付与された証明書番号であってもよい。証明書は、例えば、運転免許証、学生証、社員証、又は健康保険証などである。固有識別子は、例えば、物体40としてクレジットカードに付与されたクレジットカード番号又は物体40としてのキャッシュカードに付与されたキャッシュカード番号であってもよい。
固有識別子は、バーコード又は2次元コードなどの機械読み取り可能なコードによって表されてもよいし、人間が読み取り可能な数字・文字・記号によって表されてもよい。固有識別子が機械読み取り可能なコードである場合、読取器は、コードリーダの機能を有していればよい。コードリーダは、例えば、コードスキャナまたはカメラを有して構成される。固有識別子が数字・文字・記号によって表されている場合、読取器は、カメラと文字認識器とを備えていればよい。カメラを備えるスマートフォンは、読取器として好適に用いられる。
固有識別子は、ネットワーク機器に付与された、Media Access Control address(MACアドレス)であってもよい。MACアドレスは、ネットワーク機器を識別するためにネットワーク機器に一意に割り当てられたアドレスである。ネットワーク機器を通信してMACアドレスを取得できる機器は、固有識別子の読取器として好適に用いられる。
以下では、一例として、物体40はNFCタグであるものとして説明するが、物体40をNFCタグに限定する趣旨ではない。
NFCタグ40の読取器として機能する端末31,32は、近距離無線通信モジュール31D,32D(NFCモジュール31D,32D)を備えている。端末31,32は、NFCタグ40との間で、近距離無線通信を行うことができる。
図1に示すように、NFCタグ40は、アンテナ41と、アンテナ41に接続された無線回路42と、無線回路42に接続されたコントローラ43と、コントローラ43に接続されたメモリ44と、を備える。メモリ44には、NFCタグ40の固有識別子46が書き込まれている。メモリ44には、他のデータが書き込まれていてもよい。メモリ44は、例えば、EEPROMなどの不揮発性メモリである。
実施形態においては、NFCタグ40から、読取器である端末31,32,33へ、固有識別子46などのデータが送信される。例えば、ユーザU1,U2,U3が、端末31,32,3を、NFCタグ40にかざすことで、近距離無線通信によって、固有識別子46などのデータが、端末31,32,33へ送信される。読取器である端末31,32,33が読み取った固有識別子46は、システム10へ送信される。システム10は、読取器である端末31,32,33から固有識別子46を取得する。
図2は、実施形態に係るシステム10を構成する要素の一例を示している。実施形態において、システム10は、NFTの生産システムとして動作し得る。生産システム10は、物体40が有する固有識別子を利用して、NFTを生産する。また、システム10は、生産されたNFT等の管理システムとして動作し得る。管理システム10は、物体40が有する固有識別子を利用して、生産されたNFTを管理する。管理システム10は、物体40が有する固有識別子を利用して、他のトークンを管理してもよい。また、管理システム10は、NFTの操作システム10と呼んでもよい。操作システム10は、NFTの生産又はその他のNFTの操作のための操作システムとして動作し得る。
図2に示すシステム10は、ネットワーク15に接続されたサーバ51を備え得る。サーバ51は、複数のコンピュータによって構成されてもよい。サーバ51は、システム10の管理者によって管理され得る。管理者は、近距離無線通信装。管理者は、スマートコントラクト22の管理者(作成者)でもあり得る。なお、スマートコントラクト22がサーバ51の機能の一部又は全部の機能を有していてもよい。
ユーザの端末31,32は、ネットワーク15を介して、サーバ51にアクセスし得る。一例として、読取器である端末31,32から送信された固有識別子46は、サーバ51が受信し得る。また、端末31,32は、ネットワーク15を介してブロックチェーン20にアクセスし得る。読取器である端末31,32から送信された固有識別子46は、ブロックチェーン20のスマートコントラクト22が受信してもよい。
端末31は、例えば、スマートフォン又はタブレットなどのモバイルデバイスである。以下では、端末31の構成に関して説明するが、端末32,33も同様の構成であり得る。
端末31は、インターネットなどのネットワーク15に接続可能である。ユーザ端末31は、プロセッサ31A及び記憶装置31Bを備えるコンピュータによって構成され得る。記憶装置31Bは、プロセッサ31Aに接続されている。記憶装置31Bは、例えば、一次記憶装置及び二次記憶装置を備える。一次記憶装置は、例えば、RAMである。二次記憶装置は、例えば、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)である。記憶装置31Bは、プロセッサ31Aによって実行されるコンピュータプログラム31Cを備える。プロセッサ31Aは、記憶装置31Bに格納されたコンピュータプログラム31Cを読み出して実行する。コンピュータプログラム31Cは、端末31として機能するコンピュータによって実行される命令を示すプログラムコードを有する。
また、コンピュータプログラム31Cは、NFCモジュール31Dによる近距離無線通信を介して、NFCタグ40から、データを受信するための機能を提供し得る。コンピュータプログラム31Cは、ブロックチェーン20のアカウントのためのプライベートキー31Eを、端末31の記憶装置31Bに保存する機能を提供し得る。プライベートキー31Eは、ユーザU1のアカウント25Aに対応付けられている。プライベートキー31Eは、ブロックチェーン20における取引記録のデジタル署名などに用いられる。プライベートキー31Eは、ブロックチェーン20のアカウントに対応しているため、アカウントからスマートコントラクト22を呼び出し、そのアカウントへトークンを送信してもらうためには、そのアカウントに対応したプライベートキー31Eが必要となる。なお、プライベートキーは、例えばサーバ51などの、端末31がアクセス可能である外部装置に保存されていてもよい。
また、コンピュータプログラム31Cは、例えば、ブロックチェーン20のユーザアカウントに格納されたトークンを端末31に表示させるためのウォレットアプリケーションプログラムであり得る。そのようなプログラムは、トークンの保管、トークンの送信、及びトークンの受信のためのユーザ操作のための機能を提供し得る。アプリケーションプログラム31Cは、スマートコントラクト22の呼び出しのための機能を提供し得る。すなわち、プロセッサ31Aは、コンピュータプログラム31Cを実行することで、スマートコントラクト22の呼び出し処理を実行し得る。
NFTを生産する第1ユーザU1の端末31におけるコンピュータプログラム31Cは、例えば、NFTの生産のための処理であって端末31において実行されるべき処理を、端末31に実行させるプログラムであり得る。
図3に示すようにサーバ51は、プロセッサ51A及び記憶装置51Bを備えるコンピュータによって構成され得る。記憶装置51Bは、プロセッサ51Aに接続されている。記憶装置51Bは、例えば、一次記憶装置及び二次記憶装置を備える。一次記憶装置は、例えば、RAMである。二次記憶装置は、例えば、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)である。記憶装置51Bは、プロセッサ51Aによって実行されるコンピュータプログラム51Cを備える。プロセッサ51Aは、記憶装置51Bに格納されたコンピュータプログラム51Cを読み出して実行する。コンピュータプログラム51Cは、様々な処理51F,51G,51Hをコンピュータに実行させる命令を示すプログラムコードを有する。
サーバ51が実行する処理51F,51G,51Hは、固有識別子登録処理51Fを含み得る。固有識別子登録処理51Fは、NFCタグ40(物体40)が有する固有識別子46を、固有識別子テーブル51Dに登録する処理である。固有識別子46がシステム10に登録されることで、NFTの生産及びNFTの操作の少なくとも一つ以上の処理に、固有識別子を有するNFCタグ40(物体40)が利用可能になる。
固有識別子テーブル51Dには、複数の固有識別子が登録され得る。固有識別子テーブル51Dには、例えば、NFTの生成に利用されるNFCタグ40の固有識別子46が登録され得る。また、固有識別子テーブル51Dには、生成されたNFTに対応付けたいNFCタグ40の固有識別子46が登録され得る。図3では、一例として、「00:00:00:00:00:0a」「00:00:00:00:00:0b」「00:00:00:00:00:0c」という3つの異なる固有識別子が、固有識別子テーブル51Dに登録されている。
一例ではあるが、固有識別子テーブル51Dを利用することで、NFTの生成に利用できるNFCタグ40(物体40)を、固有識別子テーブル51Dに固有識別子が予め登録されているものに限ることができる。この場合、固有識別子を有するNFCタグ40又はその他の物体であっても、固有識別子テーブル51Dに固有識別子が登録されていないものは、NFTの生成に利用できない。
実施形態の生産システム10は、一例として、登録されていない固有識別子を取得してもNFTを生成しないが、生産システム10に登録された固有識別子と同じ固有識別子を取得するとNFTを生成するよう構成されている。
すなわち、実施形態の生産方法は、物体が有する固有識別子を読み取った読取器から送信された固有識別子を、ノンファンジブルトークンの生産システムによって受信し、受信した固有識別子が生産システムに登録されている場合、生産システムによって、ノンファンジブルトークンを生成する、ことを備え得る。この生産方法によれば、生産システム10に固有識別子が登録されている物体は、NFTの生成に利用できるが、登録されていない物体は、NFTの生成に利用できない。
このように、実施形態においては、NFTの生成などのNFTの操作に利用できるNFCタグ40(物体40)を、固有識別子が登録されているものに限ることできる。この場合、固有識別子が登録されているNFCタグ40(物体40)は、固有識別子が登録されていないNFCタグ40(物体40)に比べて、NFTを生成するなどのNFTの操作に利用できるという付加価値を有するものとなる。つまり、NFCタグ40などの物体の高付加価値化が可能となる。
また、固有識別子が登録されたNFCタグ40は、NFTの生成などのNFTの操作への利用というNFCタグ40の新規な使用方法に用いることができる。NFTは、唯一性を持つため、NFTを識別するためのデータは、NFT毎に異なる。したがって、NFTを識別するためのデータが付与された物体40を大量に準備しようとすると、大量の物体40対象物に、それぞれ異なるデータを付与する手間が必要となり、その作業負荷は大きい。一方、固有識別子を有するNFCタグ40などのように、固有識別子を予め有する物体をNFTの操作などに利用することで、物体40にデータを付与する手間を省略することができる。
他の一例として、システム10は、固有識別子が未登録であるNFCタグ40の登録を受け付けることができる。登録により、そのNFCタグ40は、NFTの生成などのNFTの操作に利用可能になる。システム10は、NFCタグ40を利用したNFTの操作を可能にするために、固有識別子の登録を受け付けるサービスを提供することができる。
実施形態の生産システム10は、一例として、NFTを生産するシステム10が、物体40の固有識別子を取得すると、その固有識別子をシステム10に登録するよう構成されている。生産システム10は、その登録後に、登録された固有識別子に対応付けられたNFTを生成することができる。また、システム10は、システム10が取得した固有識別子を、生成済みのNFTに対応付けてもよい。
サーバ51が実行する処理51F,51G,51Hは、NFT登録処理51Gを含み得る。NFT登録処理51Gは、一例として、NFTの生成に関する処理である。ここでのNFT登録処理51Gは、サーバ51がブロックチェーン20に必要なデータを書き込むことで、NFTを生成することであってもよいし、スマートコントラクト22にNFTを生成させるためにスマートコントラクト22を呼び出すことであってもよい。1回のNFT登録処理で1つのNFTが生成されてもよいし、複数のNFTが生成されてもよい。
さらに、NFT登録処理51Gは、一例として、NFCタグ40の固有識別子と、NFTのトークン識別子と、の対応を示す対応データを、対応データテーブル51Eに登録することを含み得る。対応データが登録されることで、NFTを、固有識別子に対応付けることができる。すなわち、固有識別子46を有する物体40と、NFTと、を対応付けることができる。固有識別子に対応付けられるNFTは、NFT登録処理51Gにおいて生成されたものであってもよいし、NFT登録処理51Gの実行前にすでに生成されたものが用いられてもよい。
NFCタグ40とNFTとの対応関係が、対応データテーブル51Eに記録されていることで、固有識別子を有するNFCタグ40をNFTの操作に利用することが可能となる。すなわち、NFCタグ40が有する固有識別子を、操作対象であるNFTの識別子として、利用することができる。
図3では、一例として、固有識別子:00:00:00:00:00:0aにはトークン識別子:nft_id001が対応付けられ、固有識別子:00:00:00:00:00:0bにはトークン識別子:nft_id002が対応付けられ、固有識別子:00:00:00:00:00:0cにはトークン識別子:nft_id003が対応付けられている。
対応データテーブル51Eを参照することで、NFCタグ40(物体40)の固有識別子から、NFTのトークン識別子を得ることができる。また、対応データテーブル51Eを参照することで、NFTのトークン識別子からNFCタグ40(物体40)の固有識別子を得ることができる。なお、一つのNFCタグ40(物体40)の固有識別子に、複数のトークン識別子が対応付けられていてもよい。また、一つのトークン識別子に複数のNFCタグ40(物体)の固有識別子が対応付けられていてもよい。
NFCタグ40の固有識別子とNFTのトークン識別子との対応を示す対応データは、サーバ51以外のブロックチェーン20外のコンピュータに記録されていてもよいし、ブロックチェーン20に記録されていてもよい。対応データは、ブロックチェーン20に記録されたNFTを構成するデータに含まれていてもよい。
サーバ51が実行する処理51F,51G,51Hは、トークン操作処理51Hを含み得る。ここでのトークン操作処理51Hは、一例として、NFTの生成以外のトークンに関する処理である。トークンに関する処理は、例えば、ブロックチェーンに記録されたNFTの参照、NFT又はFTの送信、NFT又はFTの受信、NFTに対応付けられたブロックチェーン外データの編集、及びトークンの操作(例えば、NFT又はFTの送信又は受信)のためのスマートコントラクトの呼び出し、及び、NFTに関する権利を有する者へ支払処理、の少なくとも一つである。なお、トークン操作処理51Hでは、対応データテーブル51Eを参照することで、NFCタグ40の固有識別子から、操作対象のトークン識別子を得ることができる。トークン識別子は、操作対象となるFTの数量を示してもよい。操作対象のトークン識別子がわかっている場合は、トークン操作処理51Hの際に、対応データテーブル51Eを参照しなくてもよい。
実施形態のシステム10は、ブロックチェーン20に実装された1又は複数のスマートコントラクト22を備え得る。なお、サーバ51が、スマートコントラクト22の一部又は全部の機能を有していてもよい。
サーバ51には、サーバ51のブロックチェーンアドレス25Cのためのプライベートキー51Jが記憶されていてもよい。実施形態においては、一例として、サーバ51が、NFT400を生成したいユーザU1の代理でNFT400を生成するため、ユーザU1のブロックチェーンアドレス25Aに代えて、サーバ51のブロックチェーンアドレス25Cが用いられる。プライベートキー51Jは、サーバ51のブロックチェーンアドレス25Cに対応する。サーバ51のブロックチェーンアドレス25Cは、例えば、システム10の管理者のブロックチェーンアドレスである。プライベートキー51Jは、サーバ51において暗号化されて保存されるのが好ましい。
実施形態において、NFTは、ブロックチェーン20におけるコントラクトアドレス(例えば、図1の0x8888)に、NFT用データを書き込むことで生成され得る。NFT用データが書き込まれるコントラクトアドレスにNFT用データを書き込むことができるブロックチェーンアドレスは、一例として、サーバ51のブロックチェーンアドレス25Cに制限され得る。つまり、ブロックチェーン20において、NFTを生成する権限を有するブロックチェーンアドレスは制限されているのが好ましい。換言すると、ユーザ等のブロックチェーンアドレス25A,25Bは、スマートコントラクト22のコントラクトアドレスにNFT用データを書きこめないように、スマートコントラクト22に設定がなされているのが好ましい。
実施形態のサーバ51は、NFT400の生成に用いることができるブロックチェーンアドレス25Cに対応したプライベートキー51Jを有しているため、固有識別子を受信したときなど必要に応じて、サーバ51は、スマートコントラクト22のコントラクトアドレスにNFT用データを書き込むことで、NFTを生成できる。
なお、プライベートキー51Jは、サーバ51に登録された1又は複数の固有識別子に対応付けて記録されてもよい。例えば、1又は複数の第1固有識別子には、第1プライベートキーが対応付けて記録され、1又は複数の第2固有識別子には、第2プライベートキーが対応付けて記録されてもよい。
図4に示すように、スマートコントラクト22は、NFT400の生成処理22Aを実行し得る。生成処理22Aは、例えば、スマートコントラクト22が、NFT400の生成のために、サーバ51から呼び出されることで実行される。なお、スマートコントラクト22の呼び出しのための処理は、サーバ51によって実行されてもよいし、端末31によって実行されてもよいし、サーバ51を介して端末31によって実行されてもよい。サーバ51は、例えば、読取器としての端末31から固有識別子を取得すると、スマートコントラクト22を呼び出すよう構成されている。
生成処理22Aにおいて、スマートコントラクト22は、一例として、読取器としての端末31が読み取った固有識別子を取得し、取得した固有識別子に対応するNFT40を生成する。なお、スマートコントラクト22による固有識別子の取得は、サーバ51を介してもよいし、サーバ51を介さずに取得してもよい。
NFT400は、NFT400を構成するNFT用データ410がブロックチェーン20に記録されることで生成される。NFT用データ410は、例えば、スマートコントラクト22のコントラクトアドレス(図1又は図4の0x8888)において記録される。NFT400の生成は、スマートコントラクト22ではなく、サーバ51によって行われてもよい。すなわち、サーバ51が、スマートコントラクト22のコントラクトアドレスに、NFT用データ410を書き込むことで、NFTが生成されてもよい。NFT400の生成がサーバ51における処理によって実行される場合、生成処理22Aは省略されてもよい。
NFT用データ410は、NFT400のトークン識別子を含む。図4に示すNFT400のトークン識別子(NFT_ID)は、nft_id001である。生成されるNFT400のトークン識別子は、NFT400の生成の際に、サーバ51が決定してもよいし、スマートコントラクト22が決定してもよい。
NFT用データ410は、NFT400に対応付けられたNFCタグ40(物体40)の固有識別子を含んでもよい。図4に示す固有識別子(TAG_ID)は、00:00:00:00:00:0aである。
NFT用データ410に含まれるトークン識別子(NFT_ID)と固有識別子(TAG_ID)のペアは、トークン識別子と固有識別子との対応を示す対応データを構成し得る。例えば、サーバ51は、ブロックチェーン20に記録された対応データを参照して、固有識別子からトークン識別子を取得してもよい。
NFT用データ410は、上記以外のその他のデータを含み得る。その他のデータは、例えば、NFCタグ40に関するデータであって、固有識別子以外のデータである。ブロックチェーン20に記録されたデータは書き換え・改ざんできないため、NFCタグ40(物体40)に関するデータを、NFT化することで、NFCタグ40に関するデータの正確性の証明が容易になる。図4のように、トークン識別子と固有識別子との組み合わせがブロックチェーン20に書き換え不能に記録されていることで、固有識別子を有する物体40と、トークン識別子を有するNFT400との対応が、ブロックチェーン20によって証明される。
NFT用データ410を構成するその他のデータは、NFCタグ40が取り付けられる被取付物に関するデータであってもよい。ブロックチェーン20に記録されたデータは、書き換え・改ざんできないため、被取付物に関するデータを、NFT化することで、NFCタグ40(物体40)が取り付けられた被取付物に関するデータの正確性の証明が容易になる。図4のように、トークン識別子と、固有識別子と、被取付物に関するデータと、の組み合わせがブロックチェーン20に書き換え不能に記録されていることで、固有識別子を有する物体40が取り付けられた被取付物と、トークン識別子を有するNFT400との対応が、ブロックチェーン20によって証明される。
NFCタグ40(物体40)が取り付けられる被取付物は、例えば、様々な工業製品、その他の製品、植物、動物又はその他の物である。NFCタグ40が固有識別子を有しているため、被取付物は固有識別子を有している必要がない。固有識別子を有している物体40が、被取付物に取り付けられることで、被取付物に固有識別子を付与できる。この結果、固有識別子を有していないことがあり得る被取付物は、NFCタグ40を介して、NFT400に対応付けられる。換言すると、ユニークであるNFCタグ40を利用することで、ユニークであるNFT400を、ユニークではないことがあり得る被取付物に対応付けることができる。
NFCタグ40(物体40)は、被取付物の外部へ取り付けられてもよいし、被取付物の内部へ取り付けられてもよい。被取付物の内部へ取り付けは、例えば、被取付物の内部へのNFCタグ40(物体40)の埋設であってもよい。
被取付物に関するデータは、例えば、被取付物の名前、被取付物の属性・特徴、被取付物の画像データ、及び、被取付物に関するその他のデータの少なくとも一つ以上である。図4において、被取付物に関するデータは、被取付物の名前(NAME:name99)と、被取付物の画像データ500と、を含む。
NFT400を構成するデータ410の一部又は全部は、ブロックチェーン20外のコンピュータに保存されてもよい。ブロックチェーン20に記録するには適さないことがあり得る画像データ500は、ブロックチェーン20外のコンピュータであるデータベース52に保存され得る。画像データ500以外のデータをデータベース52に保存してもよい。データベース52は、システム10の一部を構成し得る。
ブロックチェーン20に記録されるNFT用データ410は、ブロックチェーン20外のコンピュータに保存されたデータを示すリンクを含み得る。リンクは、例えば、ユニフォームリソースアイデンティファイア(Uniform Resource Identifier:URI)によって構成される。
データベース52は、一例として、IPFS(InterPlanetary File System)によって構成され得る。IPFSは、P2P(Peer to Peer)分散ファイルシステムの一例である。IPFSにおいて、保存されたデータ(コンテンツ)は、そのデータから求められたハッシュ値を用いたURIによって指定される。このURIは、コンテンツ識別子とも呼ばれる。ブロックチェーン20外のコンピュータに保存されたコンテンツを示すリンクは、IPFSにおいてコンテンツを指定するURIであり得る。図4では、データベース52に保存された画像データ500のURIが「contents_id」として示されている。
図4に示すように、スマートコントラクト22は、NFT400の送信処理22Bを実行し得る。送信処理22Bは、例えば、スマートコントラクト22が、NFT400の送信のために、呼び出されることで実行される。NFT400の送信処理22Bは、例えば、送信されたNFT400を受信すべきアカウントからスマートコントラクト22が呼び出されることで実行される。スマートコントラクト22は、呼び出されると、NFT400を、呼び出し元のアカウントへ送信する。
なお、NFT400の送信のためのスマートコントラクト22の呼び出しは、NFT400の生成に先立って実行されてもよい。この場合、スマートコントラクト22は、NFT400が生成されるのを待って、NFT400が生成された後に、NFT400を送信することができる。また、呼び出しの際には、送信されるべきNFT400が指定されてもよい。送信されるべきNFT400の指定は、トークン識別子によって行われてもよいし、トークン識別子に対応する固有識別子によって行われてもよい。
スマートコントラクト22は、NFT送信以外のNFT400の操作処理22Cを実行してもよい。なお、一つのスマートコントラクト22が、各処理22A,22B,22Cをすべて実行する必要はなく、複数の処理に対応した複数のスマートコントラクトが用いられてもよい。
図5は、実施形態に係るNFCタグ40の活用の手順の概要を示している。図5に示す手順は、タグの前処理S50A、タグのNFT化S50B、及び、タグの使用S50Cを含む。
図5に示すタグの前処理S50Aは、固有識別子の登録を含み、例えば、NFCタグ40の販売者が関与する。ここでのNFCタグ40の販売者は、固有識別子が登録されたNFCタグ40を販売する会社又は個人である。
まず、タグ販売者は、ステップS51において、NFCタグ40を準備する。NFCタグ40を準備するため、例えば、タグ販売者は、例えば、NFCタグ40の製造メーカ又は他の販売者から、NFCタグ40を購入すればよい。タグ販売者が購入したNFCタグ40には、既に、固有識別子が書き込まれているため、タグ販売者は、固有識別子をNFCタグ40に書き込む必要はない。
ここでは、一例として、NFCタグ40は、図6に示すように結束バンド型NFCタグ40である。結束バンド型NFCタグ40は、タグ本体40Aと、タグ本体40Aに一体的に設けられた結束バンド40Bと、を備える。タグ本体40Aは、図1に示すアンテナ41と、アンテナ41に接続された無線回路42と、無線回路42に接続されたコントローラ43と、コントローラ43に接続されたメモリ44と、を備える。結束バンド40Bは、被取付物への取付に利用される。
結束バンド40Bは、NFCタグ(物体40)を被取付物へ取り付けるための取付具の一例である。取付具は、結束バンド40Bに限定されず、ストラップ等であってもよく、被取付物へ取り付けるために適した構造又は機能を有していれば足る。取付具は、例えば、被取付物へ取り付けるための粘着剤を有するものでもよい。
図5に戻り、続いて、タグ販売者は、ステップS52において、NFCタグ40の固有識別子をシステム10に登録する。固有識別子を登録するため、例えば、タグ販売者は、購入したNFCタグ40の固有識別子をサーバ51の固有識別子テーブル51Dに登録する。なお、購入したNFCタグ40の固有識別子はブロックチェーン20に記録されてもよい。タグ販売者は、購入したNFCタグ40の固有識別子を、NFCタグ40から読み取ることで取得してもよいし、NFCタグ40を販売した製造メーカ又は他の販売者から、固有識別子を示すデータの提供を受けることで取得してもよい。
ステップS52において、サーバ51は、固有識別子登録処理51Fを実行する。固有識別子登録処理51Fにおいて、サーバ51は、1又は複数の固有識別子を、ネットワーク15を介して、外部から取得し、取得した固有識別子を固有識別子テーブル51Dに登録する。固有識別子は、秘蔵化又は改変防止のため、暗号化されて登録されるのが好ましい。
タグ販売者は、ステップS53において、固有識別子が登録されたNFCタグ40を販売する。タグ販売者は、NFCタグ40のメモリ44に、必要なデータを書き込んでから、販売してもよい。メモリ44に書き込まれるデータは、例えば、システム10へのアクセスに必要なデータである。システム10へのアクセスに必要なデータは、例えば、サーバ51にアクセスするためのURLである。システム10へのアクセスに必要なデータは、アクセスのためのID及び/又はパスワードなど、アクセスの際に用いられる認証情報であってもよい。
ステップS53で販売されるNFCタグ40は、何らかの加工が施されてもよい。加工は、例えば、NFCタグ40をケーシングで覆うことである。加工は、S51からS53までの間の任意の時点で行うことができる。ケーシングには、NFT400の生成又はその他のNFTの操作に利用できるNFCタグ40であることを示すマーク又は文字、又は商標が付されていてもよい。ケーシングには、前述の、システム10へのアクセスに必要なデータが付されていてもよい。例えば、サーバ51にアクセスするためのURLを示す二次元コードが、ケーシングに付されていてもよい。そのような二次元コードは、カメラを有する端末31によって読み取られ、端末31によるサーバ51へのアクセスを容易にする。このように、実施形態に係るNFCタグ40は、固有識別子を有するNFCタグ本体と、システム10にアクセスするためのURLを示す二次元コードと、を備え得る。システム10は、NFTの生成又はNFTの管理のためのシステムであり得る。
図5に示すタグのNFT化S50Bは、NFCタグ40を利用してNFTを生産することを含み、NFT生産者が関与する。NFT生産者は、NFCタグ40を利用してNFTを生成する会社又は個人である。NFT生産者は、前述の販売者と同一であってもよい。
NFT生産者は、例えば、ステップS53において販売されたNFCタグ40を購入することで、固有識別子が登録されたNFCタグ40を入手する(ステップS54)。NFT生産者は、入手したNFCタグ40を利用してNFTを生成する(ステップS55)。なお、タグ生産者は、NFCタグ40を無償で取得してもよいし、タグ販売者が所有しているNFCタグ40を利用して、NFTを生成してもよい。
ステップS55Aにおいて、NFT生産者は、図6に示すように、読取器31によって、NFCタグ40の固有識別子を読取る。読み取られた固有識別子は、読取器31からネットワーク15を介して生産システム10へ送信される。読み取られた固有識別子は、例えば、サーバ51によって受信され得る。読取器31は、NFT生産者である第1ユーザU1のブロックチェーンアドレス25Aをサーバ51に識別させるため、第1ユーザU1のブロックチェーンアドレス25Aをシステム10へ送信してもよい。第1ユーザU1のブロックチェーンアドレス25Aは、例えば、サーバ51によって受信され得る。
生産システム10は、読取器31から固有識別子を取得するとNFT400を生産する。生産システム10は、受信した固有識別子を用いて、受信した固有識別子に対応付けられたNFT400を生産することができる。ステップS55Aにおいて、生産システム10は、固有識別子と、生成したNFT400のトークン識別子と、の対応データを登録してもよい。
生産システム10は、NFT400を、NFT生産者である第1ユーザU1のブロックチェーンアドレス25Aへ送信する(ステップS55B)。これにより、NFT生産者である第1ユーザU1は、NFT40を利用して、NFT400を入手できたことになる。NFT400は、例えば、端末31のディスプレイに表示される。
受信した固有識別子に対応付けられたNFT400が生産される場合、NFCタグ40と、そのNFCタグ40が有する固有識別子に対応付けられたNFT400と、の組み合わせ製品を得ることができる。図6では、この組み合わせ製品は、「一次組み合わせ製品510」として示されている。一次組み合わせ製品510は、NFCタグ40単独の製品に比べて、NFT400が付属しているという付加価値を有する。
NFCタグ40とNFT400とが対応していることの裏付けは、例えば、NFCタグ40の固有識別子と、NFT400のトークン識別子と、の対応を示す対応データが、システム10に記録されていることによって担保され得る。
図6では、NFCタグ40が、結束バンド40Bなどを利用して、被取付物の一例であるスニーカー530に取り付けられた二次組み合わせ製品520も示されている。NFT生産者は、NFCタグ40を被取付物530に取り付けることで、二次組み合わせ製品520を生産することができる。二次組み合わせ製品520は、被取付物530単独の製品に比べて、NFT400が付属しているという付加価値を有する。
被取付物530とNFT400とが対応していることの裏付けは、例えば、被取付物530に取り付けられたNFCタグ40の固有識別子と、NFT400のトークン識別子と、の対応を示す対応データが、システム10に記録されていることによって担保され得る。
なお、被取付物530へのNFCタグ40の取付は、NFT400の生産後に行われてもよいし、NFT400の生産前に行われてもよい。NFT生産者は、NFCタグ40が取り付けられた被取付物530を販売することができる(ステップS56)。なお、NFT生産者は、NFT400に対応付けられたNFCタグ40を、被取付物530に取り付けることなく販売してもよい。この場合、被取付物530への取付は、販売されたNFCタグ40の購入者によって行われ得る。
NFT400が、被取付物530に関するデータを有している場合、NFT400によって、被取付物530に関するデータを示すことができる。また、NFT400が、NFCタグ40の固有識別子に対応付けられている場合、NFCタグ40が取り付けられた被取付物530も、NFT400に対応付けられていることになる。この場合、NFT400は、例えば、NFCタグ40が取り付けられた被取付物530が正規品であることを証明するために用いられ得る。
NFT生産者は、NFCタグ40が取り付けられた被取付物530を他者へ販売することができる(ステップS56)。NFCタグ40は、被取付物530の購入者等によって使用され得る。
図5に示すタグの使用S50Cは、NFCタグ40を利用して、NFT400を操作することを含み、タグ利用者によって行われる。タグ利用者は、タグを読み取る行為をする会社又は個人であり、NFCタグ40の所有者であってもよいし、NFCタグ40の非所有者であってもよい。タグ利用者は、例えば、図1に示す第2ユーザU2であってもよい。NFT利用者は、NFT生産者と同一であってもよい。
ステップS57において、タグ利用者U2は、タグ利用者U2が有する端末32を読取器として用いて、NFCタグの固有識別子46を読み取る。読み取られた固有識別子は、読取器31からネットワーク15を介して管理システム10へ送信される。読み取られた固有識別子は、例えば、サーバ51へ送信され得る。管理システム10は、読取器32から固有識別子を取得すると、固有識別子に対応付けられたNFT400に関する処理を実行する。この処理によって、固有識別子に対応付けられたNFT400が操作される。管理システム10は、固有識別子とNFTのトークン識別子との対応データを用いて、固有識別子から操作対象のNFTを特定することができる。NFT400の操作は、例えば、ブロックチェーン20に記録されたNFT400を構成するデータの参照であってもよいし、NFT400の送受信であってもよい。
図5のタグのNFT化をする者は、例えば、犬・猫のなどのペットに取り付けるためのNFCタグ40を購入した、ペットの飼い主であり得る。飼い主は、NFCタグ40の固有識別子を端末32によって読み取り、その固有識別子をシステム10へ送信する。システム10へは、端末32から、ペットの名前、ペットの画像、ペットの飼い主の連絡先などのデータが、NFT用データとして送信され得る。システム10は、ペットの名前等のNFT用データを用いて、NFTを生成する。これにより、NFCタグ40が取り付けられたペットとNFTとが対応付けられる。システム10は、そのNFTを飼い主のブロックチェーンアカウントへ送信する。
例えば、ペットが迷子になった場合、そのペットを見つけた者は、ペットに取り付けられたNFCタグ40の固有識別子を読み取り、その固有識別子に対応付けられたNFTを参照することで、そのペットの飼い主の連絡先などの情報を得ることができる。
図7は、図5のステップS55Aにおいて、サーバ51が実行するNFT登録処理51Gの一例を示している。NFT登録処理51Gは、NFT生産処理51Gと呼んでもよい。ステップS71において、サーバ51は、NFTの生産者である第1ユーザU1の端末31(読取器)から、NFCタグ40の固有識別子を取得する。
ステップS71において、サーバ51は、受信した固有識別子が、固有識別子テーブル51Dに予め登録された固有識別子であるか否かを判定する。すなわち、サーバ51は、受信した固有識別子に対応付けられたNFTを生成すべきか否かを、受信した固有識別子に基づいて判定する。
受信した固有識別子が、登録されていない場合、サーバ51は、エラー判定をする(ステップS73)。エラー判定がされた場合、NFTは生成されない。受信した固有識別子が登録されている場合、サーバ51は、ステップS74のNFT生成を実行する。
ステップS74のNFT生成は、NFT用データを端末31(読取器31)から取得するステップS74Aを含み得る。ステップS74Aで取得されるNFT用データは、例えば、被取付物530に関するデータを含み得る。被取付物530がスニーカーである場合、被取付物530に関するデータは、例えば、商品名、型番、メーカ、サイズ、価格、及びスニーカーの画像データの少なくとも一つ以上である。
NFT用データが、画像データのように、ブロックチェーン20外のデータベース52(図2参照)に保存されるべきデータを含む場合、サーバ51は、そのような画像データ等を、データベース52へ保存し、保存されたデータへのリンクを取得する。リンクは、NFT用データの一部を構成する。なお受信した固有識別子もNFT用データの一部を構成し得る。
サーバ51は、自身のブロックチェーンアドレス25C(図1参照)を用いて、NFT用データを、NFTが記録されるコントラクトアドレス(例えば、図1及び図4の0x8888)に書き込む。この書き込みによって、NFTが生成される(ステップS74B)。NFTの生成が完了すると、NFTの生成が完了したことが、第1ユーザU1の端末31(読取器)へ通知され得る。
NFT登録処理51Gは、取得した固有識別子46と、固有識別子46に応じて生成されたNFTのトークン識別子と、の対応を示す対応データを、対応データテーブル51Eに登録することを含んでもよい。対応データテーブル51Eへの登録は、NFTの生成前でもよいし、生成後でもよい。
NFT登録処理51Gは、サーバ51から端末31へのトークン識別子の通知を含んでもよい。端末31へのトークン識別子の通知は、NFTの生成の完了通知とともに送信されてもよいし、NFTの生成前に送信されてもよい。
生成されたNFTは、NFT生産者である第1ユーザU1のブロックチェーンアドレス(例えば、図1の0x9999)へ送信される。一例として、第1ユーザU1の端末31は、生成されたNFTを、第1ユーザU1のブロックチェーンアドレス(例えば、図1の0x9999)へ送信してもらうため、スマートコントラクト22を呼び出す。スマートコントラクト22は、第1ユーザU1のブロックチェーンアドレスを呼び出し元として、呼び出される。第1ユーザU1のブロックチェーンアドレス呼び出し元とするスマートコントラクト22の呼び出しは、サーバ51によって実行されてもよい。スマートコントラクト22の呼び出しは、ステップS74の前に行われてもよいし、ステップS74の後に行われてもよい。
スマートコントラクト22の呼び出しがNFTの生成が完了してから行われる場合、スマートコントラクト22の呼び出しは、例えば、NFTの生成の通知を受信したとき、又は、固有識別子を送信して所定の時間が経過したときに実行され得る。端末31は、送信してもらいたいNFTのトークン識別子をスマートコントラクト22へ送信することができる。なお、スマートコントラクト22から送信すべきNFTが、第1ユーザU1のブロックチェーンアドレスによって識別される場合、端末31は、トークン識別子をスマートコントラクト22へ送信する必要はない。
スマートコントラクト22は、NFT送信のために呼び出されると、NFT送信処理22Bを実行し、呼び出し元のブロックチェーンアドレスへ、生成したNFTを送信する。以上の処理によって、NFT生産者である第1ユーザU1のブロックチェーンアドレスにおいて、生成されたNFTが所有されたことになる。したがって、NFT生産者は、NFCタグ40及びNFTの双方を所有していることになり、NFCタグ40及びNFTのセットを、一次組み合わせ製品として販売することができる。また、NFT生産者は、二次組み合わせ製品を販売することもできる。組み合わせ製品の販売時において、NFTは、組み合わせ製品の購入者のブロックチェーンアドレスへ送信され得る。
図8は、登録処理51G又はトークン操作処理51Hの開始等のために、ネットワーク15上のシステム10にアクセスする方法の例を示している。図8に示すNFCタグ40(物体40)は、固有識別子を備えているとともに、端末31によって読み取り可能なコード48を備えている。コード48は、例えば、機械読み取り可能なコードである。コード48は、一例として、二次元コードである。コード48は、システム10にアクセスするためのデータを示す。コード48は、例えば、システム10のURLを示す。コード48は、例えば、端末31が備えるカメラを用いて読み取られる。
図8に示す例では、固有識別子46の読取に先立って、コード48の読取が行われる。なお、以下では、コード48の読取を一次読取といい、固有識別子の読取を二次読取ということがある。
まず、端末31は、一次読取を行う(ステップS81A)。一次読取では、NFCタグ40に付されたコード48が端末31によって読み取られる。一次読取によって、端末31は、システム10にアクセスするためのデータ、例えばURL、を取得する。端末31は、読み取ったデータ(URL)を用いて、ネットワーク15上のシステム10へアクセスする(ステップS81B)。システム10へのアクセスは、例えば、端末31が有するブラウザ又はその他のアプリケーションプログラムを用いて、取得したURLへアクセスすることで行える。以上によって、端末31とシステム10との接続が確立する。
続いて、端末32は、二次読取を行う(ステップS82A)。二次読取は、端末31とシステム10との接続が維持されている状態で行われ得る。二次読取では、NFCタグ40の固有識別子46が端末31によって読み取られる。端末31は、読み取った固有識別子46を、アクセスしているシステム10へ送信する。
図8に示す例によると、固有識別子46が利用されるシステム10へ、固有識別子46を送信するのが容易になる。固有識別子46は、ユーザが視認可能であるとは限らない一方、コード48は、ユーザが視認可能であるため、読み取るべきものの存在をユーザに示すために有用である。
固有識別子46が利用されるシステム10へ、固有識別子46が送信されることで、システム10は、固有識別子46を利用した様々な処理を行える。
例えば、システム10は、固有識別子46を受信すると、NFTを生成することができる。また、システム10は、固有識別子46を受信すると、その固有識別子46に対応付けられたNFTを操作することができる。例えば、システム10は、固有識別子46を受信すると、その固有識別子46に対応付けられたNFTを、端末31のユーザのブロックチェーンアドレスへ送信することができる。
図9は、図5に示す活用の手順における固有識別子46の流れのシナリオの一例を示している。図9において、一例として、ユーザU1は、タグの前処理S50Aに関与する者であり、ユーザU2は、タグのNFT化S50Bに関与するものであり、ユーザU3は、タグの使用S50Cに関与するものである。図9において、端末31は、ユーザU1が所有し、端末32は、ユーザU2が所有し、端末33は、ユーザU3が所有しているものとする。
ユーザU1は、固有識別子46の登録のため、端末31を用いて、固有識別子46を読み取り(ステップS91A)、その固有識別子46をシステム10へ送信する(ステップS91B)。システム10は、固有識別子登録処理51Fを実行する。これにより、NFCタグ40の固有識別子46は、システム10に登録済みになり、NFTの生成などのNFTの操作に利用可能になる。ユーザU1は、そのNFCタグ40をユーザU2へ販売する。
ユーザU2は、NFTの取得のため、端末32を用いて、固有識別子46を読み取り(ステップS92A)、その固有識別子46をシステム10へ送信する(ステップS92B)。システム10は、NFT登録処理51Gを実行する。生成されたNFTはユーザU2のブロックチェーンアカウントへ送信される。これにより、ユーザU2は、NFTを取得できる。ユーザU2が取得したNFTは、端末32において表示される。
NFTを取得したユーザU2は、そのNFTの送信又はそのNFTの参照のため、端末32を用いて、固有識別子46を読み取り(ステップS93A)、その固有識別子46をシステム10へ送信することができる(ステップS93B)。ステップS93Bによって固有識別子46を受信したシステム10は、トークン操作処理51Hを実行する。
ユーザU2は、そのNFCタグ40をユーザU3へ販売することができる。この場合、ステップS93A,S93B、及びトークン操作処理51Hによって、固有識別子に対応付けられたNFTが、ユーザU2のブロックチェーンアカウントから、スマートコントラクト22のコントラクトアドレスへ送信され得る。これにより、スマートコントラクト22は、NFTを預かった状態になる。
NFCタグ40を購入したユーザU3は、NFTの取得のため、端末33を用いて、固有識別子46を読み取り(ステップS94A)、その固有識別子46をシステム10へ送信する(ステップS94B)。システム10は、トークン操作処理51Hを実行する。生成されたNFTがユーザU3のブロックチェーンアカウントへ送信される。これにより、NFCタグ40を購入したユーザU3は、そのNFCタグ40に対応付けられたNFTを取得できる。つまり、ユーザU3は、NFCタグ40とNFTとの組み合わせ製品を購入できる。ユーザU3が取得したNFTは、端末33において表示される。
図10は、固有識別子46の流れのシナリオの他の例を示している。図10において、一例として、ユーザU1は、タグの前処理S50A及びタグのNFT化S50Bの両方に関与する者であり、ユーザU2は、タグの使用S50Cに関与するものである。図9において、端末31は、ユーザU1が所有し、端末32は、ユーザU2が所有しているものとする。
図10の例では、NFCタグ40が取り付けられた状態の被取付物530がすでに存在しているが、NFCタグ40の固有識別子は、システム10に登録されていないものとする。図10の例では、図11に示すように、未登録のNFCタグ40を有する被取付物530に対応付けられたNFT400を生成することができる。つまり、被取付物530と、NFT400と、の組み合わせ製品を得ることができる。
NFCタグ40が取り付けられた被取付物530は、例えば、NFCタグ40を内蔵するフィギュア(figure)である。フィギュアは、figurine(フィギュリン)であってもよい。フィギュア530は、例えば、小説、漫画、アニメーション、ゲームなどに登場するキャラクター、動物、植物、乗り物、機械、道具、又は武器のフィギュアである。
被取付物530は、例えば、NFCタグ40を読み取り可能な機器(例えば、ゲーム機)によって読み取られて、被取付物530に予め対応付けられたキャラクター又はアイテムを、ゲーム空間等のバーチャル空間に登場させるために用いられるものである。そのような被取付物530は、バーチャル空間に登場させるキャラクター又はアイテムに応じた形状を有するフィギュアであってもよいし、バーチャル空間に登場させるキャラクター又はアイテムが描かれたカードであってもよい。
図10の例では、以上のように、固有識別子が未登録のNFCタグ40単体、又は、NFTの生成などのNFTの操作とは異なる他の用途のために作成された被取付物530が既に有するNFCタグ40(未登録の固有識別子を有するNFCタグ40)を、NFTの生成などのNFT操作に利用可能にする。
図10では、まず、NFCタグ40又はNFCタグ40が取り付けられた被取付物530を有するユーザU1は、固有識別子46の登録のため、端末31を用いて、固有識別子46を読み取り(ステップS101A)、その固有識別子46をシステム10へ送信する(ステップS101B)。システム10は、固有識別子登録処理51Fを実行する。これにより、NFCタグ40の固有識別子46は、システム10に登録済みになり、NFTの生成などのNFTの操作に利用可能になる。また、システム10は、NFT登録処理51Gも実行し、NFTを生成する(ステップS101C)。生成されたNFTは、ユーザU1へ送信される。なお、固有識別子46を受信したシステム10は、先に、NFT登録処理51Gを実行し、その後に、固有識別子登録処理51Fを実行してもよいし、両処理51F,51Gを並行して実行してもよい。
ユーザU1は、そのNFCタグ40又はそのNFCタグ40が取り付けられた被取付物530をユーザU2へ販売する。その販売の際、ユーザU1は、端末31を用いて、固有識別子46を読み取り(ステップS102A)、その固有識別子46をシステム10へ送信することができる(ステップS102B)。ステップS102Bによって固有識別子46を受信したシステム10は、トークン操作処理51Hを実行する。この結果、固有識別子に対応付けられたNFTが、ユーザU1のブロックチェーンアカウントから、スマートコントラクト22のコントラクトアドレスへ送信される。これにより、スマートコントラクト22は、NFTを預かった状態になる。
NFCタグ40を購入したユーザU2は、NFTの取得のため、端末32を用いて、固有識別子46を読み取り(ステップS103A)、その固有識別子46をシステム10へ送信する(ステップS103B)。システム10は、トークン操作処理51Hを実行する。生成されたNFTがユーザU2のブロックチェーンアカウントへ送信される。これにより、NFCタグ40又はそのNFCタグ40が取り付けられた被取付物530を購入したユーザU2は、そのNFCタグ40に対応付けられたNFTを取得できる。つまり、ユーザU2は、被取付物530とNFT400の組み合わせ製品550(図11参照)を購入できる。ユーザU2が取得したNFTは、端末32において表示される。
図12は、図10に示すシナリオにとって好適な固有識別子登録処理51Fの一例を示している。図12に示すシナリオでは、新たな固有識別子「00:11:22:33:44:55」が、固有識別子テーブル51Dに登録される。図12に示す固有識別子登録処理51Fが実行される前の時点において、固有識別子テーブル51Dには、固有識別子「00:11:22:33:44:55」は登録されていない。
端末31は、固有識別子「00:11:22:33:44:55」を取得し(ステップS121)、その固有識別子をシステム10へ送信する(ステップS122)。システム10のサーバ51は、その固有識別子を受信し(ステップS123)、登録する(ステップS124)。受信した固有識別子「00:11:22:33:44:55」は、固有識別子テーブル51Dに追加登録される。以上により、固有識別子「00:11:22:33:44:55」は、システム10に登録済みとなる。
続いて、システム10は、登録の費用の支払いのための決済処理をする(ステップS125)。決済処理は、ステップS124の登録に先立って行われてもよいし、NFT登録処理51Gの後に行われてもよい。決済処理が設けられていることで、固有識別子の登録を有料サービスとして提供できる。なお、無料サービスの場合、決済処理は省略してもよい。決済は、例えば、クレジットカードによる決済、電子マネーの支払、ポイントによる支払い、又はファンジブルトークンによる支払いによって行われる。決済処理の大部分は、サーバ51とは異なる決済のための他のサーバによって処理されてもよく、この場合、サーバ51は、他のサーバに決裁を委ねるための処理を決済処理として実行すればよい。
ステップS124の登録が完了すると、サーバ51は、続いてNFTの生成をするかどうかを判定する(ステップS126)。ステップS124の登録に続いて、NFTを生成するかどうかは、例えば、ユーザU1の意思に委ねることができる。例えば、サーバ51は、NFTを生成する旨のユーザ操作を受け付けた場合、NFT登録処理51Gを実行して、NFTを生成することができる。そうでない場合、サーバ51は、NFT登録処理51G実行することなく、終了する(ステップS127)。
なお、ステップS126の判定は省略して、ステップS124において固有識別子が登録されると、それに引き続いて、NFTを生成してもよい。また、NFTを生成してから、固有識別子登録をしてもよい。
また、システム10は、固有識別子を受信すると、NFT登録処理51Gを実行するよう構成されていてもよい。この場合、固有識別子の登録をすることなく、固有識別子に対応するNFTを生成し得る。つまり、図12において、ステップS124は、省略されてもよい。決済処理S125を利用することで、システム10は、受信した固有識別子に対応するNFTの生産を有料サービスとして提供し得る。
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。