以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態によるカード所有権管理システム1の構成を示す図である。同図に示すように、カード所有権管理システム1は、オペレーター端末3と、複数のユーザー端末4a,4bと、NFT(Non-Fungible Token:非代替性トークン)管理サーバー5と、アプリサーバー6と、ブロックチェーンネットワーク7とがネットワーク2を介して相互に接続された構成を有している。
オペレーター端末3は、カード所有権管理システム1の運営者の担当者が操作するための端末である。また、ユーザー端末4a,4bは、カード所有権管理システム1のユーザーが操作するための端末である。なお、図1にはユーザー端末4a,4bの2つだけを示しているが、実際のカード所有権管理システム1には、より多くのユーザー端末が含まれ得る。以下では、ユーザー端末4a,4bを特に区別する必要がない場合、まとめて「ユーザー端末4」と表記する場合がある。NFT管理サーバー5及びアプリサーバー6は、カード所有権管理システム1の運営を行うために、カード所有権管理システム1の運営者によって設置及び管理されるWEBサーバーである。
図2は、オペレーター端末3、ユーザー端末4、NFT管理サーバー5、及びアプリサーバー6のハードウェア構成の一例を示す図である。オペレーター端末3、ユーザー端末4、NFT管理サーバー5、及びアプリサーバー6はそれぞれ、図示した構成を有するコンピュータ100によって構成され得る。典型的な例では、オペレーター端末3及びユーザー端末4を構成するコンピュータ100は、パーソナルコンピュータ、タブレット端末、スマートフォンなどの個人用コンピュータである。また、NFT管理サーバー5及びアプリサーバー6を構成するコンピュータ100は、複数のコンピュータの結合によって構成されるコンピュータであり得る。
図2に示すように、コンピュータ100は、CPU(Central Processing Unit)101、記憶装置102、入力装置103、出力装置104、及び通信装置105を有して構成される。
CPU101は、コンピュータ100の各部を制御するとともに、記憶装置102に記憶される各種のプログラムを読み出して実行する装置である。後掲する図3~図14を参照して説明する各処理は、オペレーター端末3、ユーザー端末4、NFT管理サーバー5、及びアプリサーバー6のCPU101が記憶装置102に記憶されるプログラムを実行することによって実現される。
記憶装置102は、DRAM(Dynamic Random Access Memory)などの主記憶装置と、ハードディスクなどの補助記憶装置とを含み、コンピュータ100のオペレーティングシステムや各種のアプリケーションを実行するための各種のプログラム、及び、これらのプログラムによって利用されるデータを記憶する役割を果たす。
入力装置103は、ユーザーの入力操作を受け付けてCPU101に供給する装置であり、例えばキーボード、マウス、タッチパネルを含んで構成される。出力装置104は、CPU101の処理結果をユーザーに対して出力する装置であり、例えばディスプレイ、スピーカーを含んで構成される。通信装置105は、外部の装置と通信するための装置であり、CPU101の指示にしたがってデータの送受信を行う。オペレーター端末3、ユーザー端末4、NFT管理サーバー5、及びアプリサーバー6はそれぞれ、この通信装置105を用いて、図1に示したブロックチェーンネットワーク7を含む他の装置、システム、ネットワークなどとの間で通信を行う。
図1に戻る。ブロックチェーンネットワーク7は、ピアツーピアによって接続された複数のコンピュータのネットワークであり、スマート・コントラクトのトランザクションをブロックチェーンに記録するように構成される。一般に、ブロックチェーンには、特定の管理者がいないパブリックチェーン、単一の組織により管理されているプライベートチェーン、複数の組織により管理されているコンソーシアムチェーンの3種類があるが、ブロックチェーンネットワーク7はこれらのいずれであってもよい。典型的な例では、ブロックチェーンネットワーク7は、パブリックチェーンに分類されるイーサリアムネットワーク、及び、プライベートチェーンに分類されるLINEブロックチェーンのいずれかである。以下では、ブロックチェーンネットワーク7はイーサリアムネットワークであるとして説明を続ける。
トランザクションのブロックチェーンへの記録は、ブロックチェーンネットワーク7に接続されたいくつかのコンピュータ(以下、「マイナー」と称する)によって実行される。具体的に説明すると、ブロックチェーンを構成する各ブロックは、ブロックヘッダと、トランザクションの具体的な内容を示すデータ(取引データ)とを含んで構成される。このうちブロックヘッダには、取引データのサイズを圧縮してなるデータであるマークルルートと、1つ前のブロックのハッシュ値と、任意の文字列であるナンス値とが含まれる。ブロックチェーンネットワーク7においては、新たなブロックをブロックチェーンに接続するには、そのブロックのハッシュ値が所定の条件(例えば、「000」で始まる値である、という条件)を満たしていなければならないというルールが定められている。そこで、ブロックチェーンにあるブロックを記録しようとするマイナーは、そのブロックのブロックヘッダのハッシュ値が上記所定の条件を満たすこととなるよう、総当たり的にナンス値を見つける作業(マイニング)を行う。この作業の結果として、最も早くナンス値の発見に成功したマイナーがそのブロックをブロックチェーンに連結することによって、トランザクションのブロックチェーンへの記録が完了する。
ブロックチェーンネットワーク7がイーサリアムネットワークである場合、トランザクションをブロックチェーンに記録しようとする者は、「ガス」と呼ばれる手数料を仮想通貨によって支払う必要がある。ガスは、ブロックの連結に成功したマイナーに対し、報酬として支払われる。
図3は、NFT管理サーバー5及びアプリサーバー6の機能ブロックを示す略ブロック図である。同図には、オペレーター端末3、ユーザー端末4、ブロックチェーンネットワーク7も示し、さらに、ブロックチェーンネットワーク7内に設けられる運営ウォレットDW及びユーザーウォレットUWa,UWbも示している。
運営ウォレットDW及びユーザーウォレットUWa,UWbはそれぞれ、トレーディングカードとして機能する非代替性トークン(以下、「カードトークン」という)を管理するための仮想的な記憶装置である。非代替性トークンは一般に、ブロックチェーン上におけるデータの単位であり、非代替性トークンを購入した者の所有権の証明を提供する機能を有している。本実施の形態においては、この非代替性トークンをトレーディングカードとして用いるので、上述したデジタルトレカとは異なり、デジタルカード化したトレーディングカードの所有権をユーザーに与えることが可能となっている。
運営ウォレットDWは、カード所有権管理システム1の運営者が保有しているカードトークンを管理する役割を担い、ユーザーウォレットUWa,UWbはそれぞれ、ユーザー端末4a,4bのユーザーが保有しているカードトークンを管理する役割を担う。以下では、ユーザーウォレットUWa,UWbを特に区別する必要がない場合、まとめて「ユーザーウォレットUW」と表記する場合がある。
図3に示すように、NFT管理サーバー5は機能的に、NFT発行システムT1、メタ情報管理システムM1、イベント監視システムE1、及び流動ログ分析システムOC1を有して構成される。また、アプリサーバー6は機能的に、マーケットシステムA1及びトークン管理データベースD1を有して構成される。
NFT発行システムT1は、カードトークンの新規発行を行う機能部である。NFT発行システムT1によって発行されるカードトークンはトレーディングカードを示す非代替性トークンであり、テーマ、種類、カードタイプ、発行日、運営者を示す情報(名称等)、トレーディングカード画像のURL(Uniform Resource Locator)、レアリティ(トレーディングカードのランクを示す情報)などの情報を含んで構成される。
カードトークンに含まれる上記情報のうち「テーマ」は、「Jリーグチップス」「ポケットモンスター」など、トレーディングカードのテーマを特定する情報である。また、「種類」は、「テーマ」を細分化した内容(絵柄、キャラクターなど)を特定する情報である。
「カードタイプ」は、そのカードトークンが、ユーザーに対して販売するためのカードトークン(以下「販売用カードトークン」という)、及び、ユーザーの保有している他のカードトークンと交換するためのカードトークン(以下「交換用カードトークン」という)のいずれであるかを示す情報である。交換用カードトークンには、交換のために必要な1以上のカードトークンを示す情報も含まれる。
「トレーディングカード画像」は、「種類」を表す画像データであり、カードトークンの「種類」をユーザーが識別できるようにする役割を果たす。トレーディングカード画像のURLは、図1に示したネットワーク2を介してトレーディングカード画像にアクセスするためのアドレスである。一例では、トレーディングカード画像はトークン管理データベースD1内に格納されており、この場合のアドレスはトークン管理データベースD1内の位置を示す情報となる。
NFT発行システムT1によるカードトークンの発行は、オペレーター端末3からの発行指示に基づいて実行される。発行指示には、発行すべきカードトークンのテーマ、種類、及びカードタイプを特定する情報、発行単位枚数、発行予定枚数(最大発行枚数)、トレーディングカード画像のURL、及びレアリティが含まれる。発行すべきカードトークンのカードタイプが交換用カードトークンである場合には、交換のために必要な1以上のカードトークンを示す情報も発行指示の中に含まれ得る。
カードトークンの発行にかかる処理について具体的に説明すると、NFT発行システムT1はまず、受信した発行指示により特定される種類のカードトークンを、受信した発行指示に含まれる発行単位枚数により示される枚数だけ発行することを決定する。そして、発行する1以上のカードトークンの新規生成を示すスマート・コントラクトのトランザクション(以下「NFT生成トランザクション」)を生成してブロックチェーンネットワーク7に記録するとともに、発行した1以上のカードトークンを運営ウォレットDWに追加する処理を行う。以上の処理の詳細については、後ほど図8を参照しながら、再度より詳しく説明する。
運営ウォレットDWには、図3に示すように、複数の販売用カードトークンを記憶する販売リストSC1と、複数の交換用カードトークンを記憶する交換リストSC2と、増刷するトークンを一時的に記憶する増刷リストSC3とが含まれる。NFT発行システムT1は、新規に発行した販売用カードトークンを販売リストSC1に、新規に発行した交換用カードトークンを交換リストSC2に、それぞれ追加するよう構成される。
また、NFT発行システムT1は、カードトークンの発行済枚数が発行指示内に含まれる発行予定枚数に達するまでの間、後述する流動ログ分析システムOC1からの通知に応じて、カードトークンを増刷する処理も行う。この場合、NFT発行システムT1は、増刷したカードトークンを増刷リストSC3に追加するよう構成される。増刷リストSC3に追加したカードトークンは、販売リストSC1、交換リストSC2、又はユーザーウォレットUWに移動することにより、販売、交換、ユーザー間取引の対象となる。カードトークンの増刷にかかる処理の詳細については、後ほど図13及び図14を参照しながら説明する。
メタ情報管理システムM1は、カードトークンのメタ情報を管理するとともに、NFT発行システムT1から供給される発行指示に応じて、メタ情報をNFT発行システムT1に通知する機能部である。NFT発行システムT1は、こうして通知されるメタ情報にも基づいて、カードトークンの発行又は増刷を行う。メタ情報管理システムM1によって管理されるメタ情報の具体的な内容は、上述した発行指示又はその他の通知により、オペレーター端末3からメタ情報管理システムM1に設定される。
発行指示によりメタ情報管理システムM1に設定されるメタ情報には、種類ごとの発行単位枚数、発行予定枚数、トレーディングカード画像のURL、レアリティ、交換のために必要な1以上のカードトークンを示す情報が含まれる。メタ情報管理システムM1は、これらの情報を種類ごとに記憶しておき、NFT発行システムT1がカードトークンの増刷を行う際に、メタ情報の一部としてNFT発行システムT1に供給する。
一方、その他の通知によりメタ情報管理システムM1に設定されるメタ情報には、運営者を示す情報が含まれる。メタ情報管理システムM1は、NFT発行システムT1がカードトークンの新規発行又は増刷を行う際に、この情報をメタ情報の一部としてNFT発行システムT1に供給する。
イベント監視システムE1は、ブロックチェーンネットワーク7を監視することにより、ブロックチェーンネットワーク7におけるイベントの発生を検出する機能部である。具体的には、運営ウォレットDW及びユーザーウォレットUWのそれぞれにより管理されているカードトークンを定期的に確認することにより、カードトークンの発行やウォレット間での移動などカードトークンに関するイベントの発生を検出する。イベント監視システムE1は、イベントを検出した場合、検出したイベントの内容を示すイベント情報をブロックチェーンネットワーク7から取得する。そして、取得したイベント情報の履歴データ(以下「流動ログ」という)を流動ログ分析システムOC1に供給する一方、取得したイベント情報により示されるカードトークンの異動を示すデータ(以下「NFTデータ」という)をトークン管理データベースD1に供給する。
流動ログ分析システムOC1は、イベント監視システムE1から供給された流動ログに基づき、発行数、移動数、取引価格などの取引に関するデータをカードトークンの種類ごとに集計し、集計の結果に基づき、種類ごとのカードトークンの流動性を算出する機能部である。流動ログ分析システムOC1は、ある種類について算出したカードトークンの流動性が予め記憶している所定の閾値を下回った場合(すなわち、流動性が悪くなった場合)に、その旨をNFT発行システムT1に通知する処理も行う。この通知を受け取ったNFT発行システムT1は、対応するカードトークンの発行済枚数が発行予定枚数に達しているか否かを判定し、達していなければ、対応するカードトークンの増刷を行う。
より具体的な例で言えば、カードトークンの流動性は、ユーザー間の取引価格である。この場合、流動ログ分析システムOC1は、ある種類のカードトークンについてユーザー間の取引価格が所定の閾値を上回った場合に、その種類の流動性が悪くなったと判定し、その旨をNFT発行システムT1に通知する。こうすることで、取引価格が高騰しているカードトークンを増刷し、取引価格を抑えることが可能になる。
トークン管理データベースD1は、イベント監視システムE1から供給されるNFTデータに基づいて、カードトークンを管理するデータベースである。具体的には、運営ウォレットDW及びユーザーウォレットUWを複製して記憶するとともに、各カードトークンの発行済枚数を記憶するよう構成される。上述したように、トークン管理データベースD1にはトレーディングカード画像も格納され得る。
また、トークン管理データベースD1は、カードトークンの販売の単位となるトークンセットの情報と、予め定められたカードトークンの種類の組み合わせであるコンボの情報とを記憶する役割も担う。トークンセットの情報には、それぞれトークンセットを構成する1以上のカードトークンの複数の組み合わせと、各トークンセットの価格とが含まれる。コンボの情報には、それぞれコンボを構成するカードトークンの複数の組み合わせが含まれる。トークンセットの情報及びコンボの情報は、オペレーター端末3からトークン管理データベースD1に設定される。
マーケットシステムA1は、トークン管理データベースD1に記憶されているウォレットにアクセスするためのインターフェイスをユーザー端末4に対して提供する機能部である。このインターフェイスには、販売用カードトークンをユーザーが購入するための第1のインターフェイスと、交換用カードトークンとユーザーウォレットUW内に記憶されているカードトークンとを交換するための第2のインターフェイスと、ユーザーウォレットUW内に記憶されているカードトークンをユーザー間で取引するための第3のインターフェイスとが含まれる。後述する図4には第1のインターフェイスの一例を、図5には第2のインターフェイスの一例を、図6及び図7には第3のインターフェイスの一例をそれぞれ示している。
また、マーケットシステムA1は、各インターフェイスのバックエンドとしての機能も有しており、カードトークンの購入処理、カードトークンの交換処理、カードトークンをユーザー間で取引するための処理を実行するよう構成される。このうちカードトークンの購入処理の詳細については図9及び図10を、カードトークンの交換処理の詳細については図9及び図11を、カードトークンをユーザー間で取引するための処理の詳細については図12を、それぞれ後ほど参照しながら説明する。カードトークンをユーザー間で取引するための処理を実行するため、マーケットシステムA1は、ユーザーが他のユーザーに売却するために市場に出したカードトークンの情報を格納する出品リストを記憶する役割も担う。
図4~図7は、スマートフォンであるユーザー端末4に表示される画面の例を示す図である。各図に示す画面はいずれも、ユーザー端末4で実行されているアプリがマーケットシステムA1と協働して生成する画面となっている。以下、これらの図を参照しながら、カード所有権管理システム1が行う処理の概要を説明する。
図4(a)~図4(c)には、上述した第1のインターフェイスを構成する画面を示している。図4(a)は、カード所有権管理システム1のトップ画面であり、ユーザー情報10の表示と、戻るボタン11と、アニメ画像12の表示と、操作ボタン13~17とを有して構成される。
ユーザー情報10は当該アプリにログインしているユーザーの情報であり、図示するように、ユーザーのアイコン(又は写真)と、ユーザーの名称とを含んで構成される。表示はされないが、ユーザー情報10には、この他にユーザーの支払い方法に関する情報(例えば、仮想通貨ウォレット又はクレジットカード情報)も含まれる。図示していないが、ログインしていない状態ではユーザー情報10の代わりにログインボタンが表示され、ユーザーがこのログインボタンを押してログインを行うと、ユーザー情報10が表示される。ユーザー情報10の具体的な内容は、ユーザーによって予めアプリ内に登録される。
戻るボタン11は、前画面に遷移するためのボタンである。ユーザー情報10及び戻るボタン11はグローバルナビゲーションを構成しており、後述する各画面にも同様に表示される。
アニメ画像12は、上述したカードトークンの「テーマ」を示す動画又は静止画である。ここで、同一のアプリ内で取り扱われるカードトークンの「テーマ」は一定とすることが好ましい。こうすることでユーザーは、アニメ画像12から、現在起動中のアプリにより取り扱われるトレーディングカードのテーマを知ることができる。
操作ボタン13は、ユーザーの押下操作に応じてトークンセットの購入画面(図4(b)を参照)に遷移するためのボタンである。操作ボタン13の押下操作は、具体的にはタップ又はクリックによって実現される。この点は、以下で説明する他のボタンについても同様である。なお、図4(a)においては、操作ボタン13の表面に「パック1リリース!販売中」と記載されているが、これはユーザーに購入を促すための広告文である。
操作ボタン14は、ユーザーの押下操作に応じて、ユーザーが既に所持しているカードトークンの一覧画面(図6(a)を参照)に遷移するためのボタンである。操作ボタン15は、ユーザーの押下操作に応じて、交換リストSC2に記憶されているカードトークンと、ユーザーが既に所持しているカードトークンとを交換するための交換所画面(図5(a)を参照)に遷移するためのボタンである。操作ボタン16は、ユーザーの押下操作に応じて、発行済みトークンをあたかも図鑑のような態様で説明する図鑑画面(図示せず)に遷移するためのボタンである。操作ボタン17は、ユーザーの押下操作に応じて、他のユーザーが出品しているカードトークンの一覧画面(図7(a)を参照)に遷移するためのボタンである。
図4(b)は、図4(a)の操作ボタン13をユーザーが押下することによって表示されるカードトークンの購入画面であり、複数のトークンセット20の表示と、価格21の表示と、トークンセット20ごとに設けられる複数の購入ボタン22と、コンボバッジ23とを有して構成される。
トークンセット20は、トークン管理データベースD1に記憶されるトークンセットである。図4(b)には、5つの販売用カードトークンにより1つのトークンセット20を構成する例を示している。また、価格21は、トークン管理データベースD1に記憶されるトークンセット20の価格である。これらの情報を購入画面上に表示するために、マーケットシステムA1は、トークン管理データベースD1からトークンセット20の情報を取得する。そして、取得した情報により示されるトークンセット20を構成する各販売用カードトークンの中に含まれるURLを参照することによって各販売用カードトークンのトレーディングカード画像を取得し、取得した各トレーディングカード画像を、トークンセット20ごとに並べて購入画面内に表示する。また、取得したトークンセット20の情報の中からトークンセット20の価格を取り出し、価格21として表示する。なお、図4(b)には、表示中の複数のトークンセット20の価格がいずれも1,000円である場合を示している。
ここで、図4(b)に例示するように、各トレーディングカード画像には、販売リストSC1内に記憶されている同じ種類のカードトークンの数を示す「残り○枚」という表示を付加することとしてもよい。こうすることで、カードトークンの早期購入をユーザーに対して促すことが可能になる。
購入ボタン22は、ユーザーの押下操作に応じて、対応するトークンセット20の購入画面(図4(c)を参照)に遷移するためのボタンである。コンボバッジ23は、トレーディングカード画像に重ねて表示される小サイズの画像であり、対応するカードトークンを購入すると上述したコンボが成立することを示している。マーケットシステムA1は、このコンボバッジ23を表示するために、トークン管理データベースD1にアクセスしてコンボの情報を取得し、さらに、ログイン中ユーザーのユーザーウォレットUWにアクセスすることにより、あと1枚購入すればコンボ成立となるカードトークンの組み合わせを検出する。そして、その組み合わせにかかるコンボを成立させるために必要なカードトークンのトレーディングカード画像に、コンボバッジ23を付加する。
図4(c)は、図4(b)の購入ボタン22をユーザーが押下することによって表示されるトークンセット20の購入画面であり、購入ボタン24及びキャンセルボタン25を有して構成される。このうち購入ボタン24は、ユーザーの押下操作に応じて、トークンセット20の購入処理を実行するためのボタンである。ユーザーが購入ボタン24を押下すると、マーケットシステムA1は、購入されたトークンセット20を構成する複数のカードトークンを販売リストSC1からユーザーウォレットUWに移動する。そして、この移動が成功した場合に図示した購入完了ウインドウ26を表示し、トークンセット20の購入が成立したことをユーザーに通知する。購入完了ウインドウ26の中には、購入したトークンセット20を構成する各カードトークンのトレーディングカード画像が配置される。ユーザーがキャンセルボタン25を押下した場合には、マーケットシステムA1は上記の移動処理を実行することなく、図4(b)に示した購入画面に戻る。
図5(a)~図5(c)には、上述した第2のインターフェイスを構成する画面を示している。図5(a)は、図4(a)の操作ボタン15をユーザーが押下することによって表示される交換所画面であり、複数の交換用カードトークン30の表示と、それぞれの交換のために必要な1以上のカードトークン31の表示と、交換用カードトークン30ごとに設けられる複数の交換ボタン32とを有して構成される。
交換所画面を表示するにあたり、マーケットシステムA1は、トークン管理データベースD1内の交換リストSC2から交換用カードトークン30の情報を取得する。そして、取得した情報により示される交換用カードトークン30の中に含まれるURLを参照することによってトレーディングカード画像を取得し、取得したトレーディング画像を交換所画面内に表示する。図5(a)に示すように、交換用カードトークン30のタイトル及び説明文をさらに表示することとしてもよい。この場合、これらの情報は交換用カードトークン30の中に予め配置される。
また、マーケットシステムA1は、交換リストSC2から取得した交換用カードトークン30の中から交換のために必要な1以上のカードトークン31の情報を取り出し、取り出した情報により示される1以上のカードトークン31それぞれの中に含まれるURLを参照することによって、1以上のトレーディングカード画像を取得する。そして、取得した1以上のトレーディングカード画像を、交換所画面内の、対応する交換用カードトークン30のトレーディングカード画像と隣接する位置に並べて表示する。
マーケットシステムA1はさらに、交換のために必要な1以上のカードトークン31のそれぞれがログイン中ユーザーのユーザーウォレットUWの中に含まれるか否かを判定し、含まれる数を表示するとともに、すべて含まれる場合には「交換可能」の文字をさらに表示する。また、ログイン中ユーザーのユーザーウォレットUWの中に含まれないカードトークン31に対応するトレーディングカード画像には網掛けを行い、そのカードトークン31をユーザーが有していないことにより交換ができないことをユーザーに通知する。
交換ボタン32は、ユーザーの押下操作に応じて、対応する交換用カードトークン30と実際に交換するためのカードトークンをユーザーに選択させるための交換カード選択画面に遷移するためのボタンである。対応する交換用カードトークン30と交換するためにある種類のカードトークンを差し出す必要がある場合において、ユーザーがその種類のカードトークンを複数枚所持していたとすると、マーケットシステムA1が交換処理を実行する前に、所持している複数枚のカードトークンの中の1枚をユーザーに選択させる必要がある。交換カード選択画面は、そのような選択を実現するために設けられる。
図5(b)は、図5(a)の交換ボタン32をユーザーが押下することによって表示される交換カード選択画面であり、1以上のカードトークン31の表示と、カードトークン31ごとに設けられる1以上の選択ボタン33と、交換ボタン34とを有して構成される。交換カード選択画面においては、カードトークン31ごとに、トレーディング画像と、タイトルと、ユーザーの所有枚数とが表示される。
選択ボタン33は、ユーザーの押下操作に応じて、ユーザーが所持している1以上のカードトークンのうち、対応するカードトークン31と同じ種類のカードトークンの中から1つを選択可能に構成された選択ウィンドウ(図示せず)を表示するためのボタンである。この選択ウインドウにおいてユーザーがカードトークンを選択すると、選択ウインドウが消えて図5(b)の交換カード選択画面に戻る。この場合の交換カード選択画面には、選択ウインドウにおいて選択されたカードトークンを特定する情報(図示せず)が表示され得る。
交換ボタン34は、ユーザーの押下操作に応じて、交換用カードトークン30への交換処理を実行するためのボタンである。ユーザーが交換ボタン34を押下すると、マーケットシステムA1は、まずユーザーがすべてのカードトークン31について上記選択を実行したか否かを判定する。未選択のカードトークン31が残っている場合には、その旨を表示して交換カード選択画面に戻る。一方、ユーザーがすべてのカードトークン31について選択を実行した場合には、ユーザーが選択したすべてのカードトークンをユーザーウォレットUWから運営ウォレットDWに移動するとともに、対応する交換用カードトークン30を交換リストSC2からユーザーウォレットUWに移動する。運営ウォレットDWに移動したカードトークン31は、それが販売用カードトークンである場合には販売リストSC1に、それが交換用カードトークンである場合には交換リストSC2にそれぞれ追加される。そしてマーケットシステムA1は、これらの移動が成功した場合に図5(c)に示す交換完了ウインドウ35を表示し、交換用カードトークン30への交換が成立したことをユーザーに通知する。交換完了ウインドウ35の中には、対応する交換用カードトークン30のトレーディングカード画像が配置される。
図6(a)、図6(b)、及び図7(a)~図7(c)には、上述した第3のインターフェイスを構成する画面を示している。図6(a)は、図4(a)の操作ボタン14をユーザーが押下することによって表示される所持カード画面であり、ログインしているユーザーのユーザーウォレットUWに記憶されているすべてのカードトークン40のトレーディングカード画像が一覧で表示される。各トレーディングカード画像はカード詳細画面へのリンクとなっており、ユーザーがいずれかのトレーディングカード画像を押下すると、マーケットシステムA1は、対応するカードトークン40の詳細画面をユーザー端末4に表示する。
図6(b)は、図6(a)のトレーディングカード画像をユーザーが押下することによって表示されるカード詳細画面であり、対応するカードトークンに関する各種情報の表示とともに、出品ボタン41を有して構成される。各種情報の中には、図6(b)に示すように、そのカードトークンの発行枚数(発行済枚数)及び発行予定枚数と、ユーザー間におけるそのカードトークンの取引価格を示す情報とが含まれる。このうち取引価格を示す情報は、流動ログ分析システムOC1が流動ログに基づいて取得する情報であり、図6(b)に示すように、最新の取引価格と、これまでで最安の取引価格(安値)と、取引価格の変動を示すチャートとを含んで構成される。
出品ボタン41は、他のユーザーへの売却を目的として当該カードトークンを市場に出品するためのボタンである。ユーザーが出品ボタン41を押下すると、マーケットシステムA1は、出品価格を指定するための入力ウィンドウ(図示せず)を表示する。この入力ウィンドウにおいてユーザーが出品価格を入力すると、マーケットシステムA1は、保持している出品リストに対し、対応するカードトークン及びその出品価格を追加する。これにより、後述する出品カードリスト画面に、対応するカードトークン及びその出品価格が表示されるようになる。
図7(a)は、図4(a)の操作ボタン17をユーザーが押下することによって表示される出品カードリスト画面であり、出品リスト内に含まれるカードトークンのリストと、リスト内のカードトークンごとに設けられる複数の購入ボタン50とを有して構成される。ユーザーが購入ボタン50を押下すると、マーケットシステムA1は、図7(b)に示す購入確認ウインドウ51を表示する。購入確認ウインドウ51は、対応するカードトークンの購入意思を確認するためのウインドウであり、対応するカードトークン及びその出品価格を示す情報の表示とともに、はいボタン52及びいいえボタン53を有している。
購入確認ウインドウ51においてユーザーがいいえボタン53を押下した場合、マーケットシステムA1は購入確認ウインドウ51を消去し、図7(a)の出品カードリスト画面に戻る。一方、購入確認ウインドウ51においてユーザーがはいボタン52を押下した場合、マーケットシステムA1は、出品者のユーザーウォレットUWから購入者のユーザーウォレットUWに、対応するカードトークンを移動する。そしてこの移動が成功した場合に、図7(c)に示す購入完了ウインドウ54を表示し、購入が成立したことをユーザーに通知する。
購入完了ウインドウ54は、図7(c)に示すように、購入したカードトークンのトレーディングカード画像とともに、2つの操作ボタン55,56を有して構成される。操作ボタン55は、ユーザーの押下操作に応じて、図7(a)に示した出品カードリスト画面に遷移するためのボタンである。ユーザーが操作ボタン55を押下すると、マーケットシステムA1は、図7(a)に示す出品カードリスト画面を改めて表示する。このとき表示される出品カードリスト画面からは、今回購入したカードトークンが消えている。操作ボタン56は、ユーザーの押下操作に応じて、図6(a)に示した所持カード画面に遷移するためのボタンである。ユーザーが操作ボタン56を押下すると、マーケットシステムA1は、図6(a)に示す所持カード画面を改めて表示する。このとき表示される所持カード画面には、今回購入したカードトークンが追加されている。
以上、ユーザー端末4に表示される画面の例を参照しながら、カード所有権管理システム1が行う処理の概要を説明した。次に、図8~図14を参照しながら、カード所有権管理システム1が行う処理について、さらに詳細に説明する。
図8は、新規カードトークンの発行処理を示すシーケンス図である。新規のカードトークンを発行する場合、まず初めにオペレータ端末3からNFT発行システムT1に対して、上述した発行指示が供給される(ステップS1)。NFT発行システムT1は、供給された発行指示をメタ情報管理システムM1に転送し、メタ情報管理システムM1は、転送された発行指示に含まれる情報に基づいて上述したメタ情報を生成し(ステップS2)、NFT発行システムT1に供給する(ステップS3)。
メタ情報の供給を受けたNFT発行システムT1は、新規カードトークンの生成を示すスマート・コントラクトのトランザクション(NFT生成トランザクション)を生成し、ブロックチェーンネットワーク7に送信する(ステップS4)。NFT生成トランザクションを受信したブロックチェーンネットワーク7は、まずNFT発行システムT1に対してトランザクションハッシュをリターンする(ステップS5)。続いて、ブロックチェーンネットワーク7において上述したマイニングが行われ、NFT生成トランザクションがブロックチェーンに記録される(ステップS5)。記録が完了すると、ブロックチェーンネットワーク7は、運営ウォレットDW上にカードトークンを生成する(ステップS7)。こうして生成されたカードトークンは、販売用カードトークンであれば販売リストSC1に、交換用カードトークンであれば交換リストSC2にそれぞれ追加され(ステップS8)、これにより新規カードトークンの発行処理が完了する。
イベント監視システムE1は、上述したようにブロックチェーンネットワーク7におけるイベントの発生を監視しており(ステップS10)、イベント発生の有無を定期的に判定している(ステップS12)。図8の例では、ステップS8において運営ウォレットDWにカードトークンが追加されているので、イベント監視システムE1は、監視の結果として、ブロックチェーンネットワーク7から運営ウォレットDWにカードトークンが追加されたことを示すイベント情報を取得し(ステップS11)、ステップS12において「あり」と判定することになる。ステップS12の判定結果が「あり」になると、イベント監視システムE1は、取得したイベント情報を含む流動ログを流動ログ分析システムOC1に書き込むとともに(ステップS13)、取得したイベント情報により示されるカードトークンの異動を示すNFTデータをトークン管理データベースD1に書き込む(ステップS14)。
次に、カードトークンの購入及び交換にかかる処理を説明する。初めに、図9は、カードトークンの購入及び交換の大まかな流れを説明する図である。同図において、「A」と記した長方形は販売用カードトークンを示し、「B」と記した長方形は交換用カードトークンを示している。また、同図に示す矢印A1~A5は、処理の順序を示している。
初期状態では、図9に示すように、販売リストSC1に複数の販売用カードトークンが、交換リストSC2に複数の交換用カードトークンがそれぞれ格納されている。初めにユーザーが、ユーザー端末4を用いて販売用カードトークンの購入を行う。このとき、ユーザーから運営者に対し、販売用カードトークンの代金が支払われる(矢印A1)。矢印A1の処理において代金として実際に支払われるものは、典型的には、ブロックチェーンネットワーク7にて管理される仮想通貨(イーサリアムネットワークであればイーサリアム、LINEブロックチェーンであればLINK、など)であるが、その他の仮想通貨であってもよいし、円やドルなどの法定通貨であってもよい。支払いが完了すると、運営者は、購入された販売用カードトークンを販売リストSC1からユーザーウォレットUWに移動させる(矢印A2)。これによりユーザーは、購入した販売用カードトークンの所有権を獲得する。なお、図9では、矢印A2の処理において5枚の販売用カードトークンが販売リストSC1からユーザーウォレットUWに移動しているが、これは上述したトークンセットに対応している。
次に、交換用カードトークンが欲しいと思ったユーザーは、その交換用カードトークンと交換するために必要な1以上のカードトークン(販売用カードトークン及び交換用カードトークンの一方又はこれらの組み合わせ)を運営者に送付する(矢印A3)。こうしてユーザーから1以上のトークンを受け取った運営者は、受け取った1以上のトークンに対応する交換用カードトークンを交換リストSC2からユーザーウォレットUWに移動させるとともに(矢印A4)、受け取った1以上のトークンのうち販売用カードトークンを販売リストSC1に格納し(矢印A5)、交換用カードトークンを交換リストSC2に格納する。以上の処理により交換が完了し、ユーザーは、交換用カードトークンの所有権を獲得する。また、運営者は、受け取ったカードトークンを再度販売又はユーザーのカードトークンと交換することにより、利益を得ることが可能になる。
図10は、カードトークンの購入処理を示すシーケンス図である。同図には、ユーザー端末4aのユーザーが購入する場合を示しているが、他のユーザーが購入する場合についても同様である。まずユーザー端末4aにおいて、ユーザーにより、販売用カードトークンであるカードトークンAの購入を指示するための操作が実行される。この操作は、具体的には、図4(c)に示した購入ボタン22の押下である。ユーザー端末4aは、この操作を受け、マーケットシステムA1に対してカードトークンAの購入指示を送信する(ステップS20)。この購入指示には、購入するカードトークンAを特定する情報と、代金の支払い方法に関する情報(例えば、仮想通貨ウォレット又はクレジットカード情報)とが含まれる。
購入指示を受信したマーケットシステムA1は、指示された購入が成立するか否かを判定する(ステップS21)。この判定には、ユーザーの支払い方法により必要な金額を支払えるか否かの判定が含まれる。必要な金額はトークンセットを購入するために必要な金額であり、ブロックチェーンネットワーク7がトランザクションの記録のために上述したガスのような手数料を要求しないものであれば、トークンセットの価格に等しい。一方、ブロックチェーンネットワーク7がトランザクションの記録のために上述したガスのような手数料を要求しないものであれば、上記必要な金額は、トークンセットの価格に手数料を加算してなる金額となる。支払えるか否かの判定は、例えばユーザーが仮想通貨で支払おうとする場合であれば、ユーザーの仮想通貨ウォレット内の残高が足りているか否かの判定であり、ユーザーがクレジットカード決済で支払おうとする場合であれば、オンライン決済が成立するか否かの判定となる。マーケットシステムA1は、ユーザーの支払い方法により必要な金額を支払えると判定した場合に、指示された購入が成立すると判定する。
購入が成立すると判定したマーケットシステムA1は、カードトークンAの購入を示すスマート・コントラクトのトランザクション(NFT購入トランザクション)を生成し、ブロックチェーンネットワーク7に送信する(ステップS22)。NFT購入トランザクションを受信したブロックチェーンネットワーク7は、まずマーケットシステムA1に対してトランザクションハッシュをリターンする(ステップS23)。続いて、ブロックチェーンネットワーク7において上述したマイニングが行われ、NFT購入トランザクションがブロックチェーンに記録される(ステップS24)。記録が完了すると、ブロックチェーンネットワーク7は、運営ウォレットDW及びユーザーウォレットUWaにおいて、カードトークンAの所有権移行を行う(ステップS25)。これにより、運営ウォレットDWの販売リストSC1からユーザーウォレットUWaにカードトークンAが移動し(ステップS26)、購入処理が完了する。その後、図8を参照して説明したステップS10~S14の処理が実行されると、カードトークンAが購入されたことを示す流動ログが流動ログ分析システムOC1に、カードトークンAの異動を示すNFTデータがトークン管理データベースD1にそれぞれ書き込まれる。
図11は、カードトークンの交換処理を示すシーケンス図である。同図には、ユーザー端末4aのユーザーがカードトークンを交換する場合を示しているが、他のユーザーがカードトークンを交換する場合についても同様である。まずユーザー端末4aにおいて、ユーザーにより、カードトークンA1,A2,A3,BのカードトークンCへの交換を指示するための操作が実行される。この操作は、具体的には、図5(b)に示した交換ボタン34の押下である。また、図11に記載しているように、カードトークンA1,A2,A3は販売用カードトークンであり、カードトークンB,Cは交換用カードトークンである。ユーザー端末4aは、この操作を受け、マーケットシステムA1に対して交換指示を送信する(ステップS30)。この交換指示には、ユーザーが差し出すカードトークンA1,A2,A3,Bを特定する情報と、ユーザーが求めるカードトークンCを特定する情報とが含まれる。トランザクションの記録のためにブロックチェーンネットワーク7が手数料を要求する場合の交換指示には、手数料の支払い方法に関する情報(例えば、仮想通貨ウォレット又はクレジットカード情報)も含まれる。
交換指示を受信したマーケットシステムA1は、指示された交換が成立するか否かを判定する(ステップS31)。この判定には、カードトークンCとの交換のために必要な1以上のカードトークンとカードトークンA1,A2,A3,Bとが一致するか否かの判定が含まれる。マーケットシステムA1は、カードトークンCとの交換のために必要な1以上のカードトークンとカードトークンA1,A2,A3,Bとが一致すると判定した場合に、指示された交換が成立すると判定する。また、ブロックチェーンネットワーク7がトランザクションの記録のために上述したガスのような手数料を要求するものである場合には、この判定に、ユーザーの支払い方法により必要な金額を支払えるか否かの判定も含まれる。マーケットシステムA1は、ユーザーの支払い方法により必要な金額を支払えると判定した場合に、指示された交換が成立すると判定する。
交換が成立すると判定したマーケットシステムA1は、カードトークンA1,A2,A3,BとカードトークンCとの交換を示すスマート・コントラクトのトランザクション(NFT交換トランザクション)を生成し、ブロックチェーンネットワーク7に送信する(ステップS32)。NFT交換トランザクションを受信したブロックチェーンネットワーク7は、まずマーケットシステムA1に対してトランザクションハッシュをリターンする(ステップS33)。続いて、ブロックチェーンネットワーク7において上述したマイニングが行われ、NFT交換トランザクションがブロックチェーンに記録される(ステップS34)。記録が完了すると、ブロックチェーンネットワーク7は、運営ウォレットDW及びユーザーウォレットUWaにおいて、カードトークンA1,A2,A3,B,Cの所有権移行を行う(ステップS35)。これにより、ユーザーウォレットUWaから運営ウォレットDWの販売リストSC1にカードトークンA1,A2,A3が、ユーザーウォレットUWaから運営ウォレットDWの交換リストSC2にカードトークンBが、運営ウォレットDWの交換リストSC2からユーザーウォレットUWaにカードトークンCがそれぞれ移動し(ステップS36~S38)、交換処理が完了する。その後、図8を参照して説明したステップS10~S14の処理が実行されると、カードトークンA1,A2,A3,BとカードトークンCとが交換されたことを示す流動ログが流動ログ分析システムOC1に、カードトークンA1,A2,A3,B,Cの異動を示すNFTデータがトークン管理データベースD1にそれぞれ書き込まれる。
次に、図12は、カードトークンのユーザー間取引を示すシーケンス図である。同図には、ユーザー端末4bのユーザーがカードトークンDを出品し、ユーザー端末4aのユーザーがそれを購入する場合を示しているが、他のユーザー間でカードトークンの取引が行われる場合についても同様である。なお、出品されるカードトークンDは、販売用カードトークン、交換用カードトークンのいずれであってもよい。まず初めに、ユーザー端末4bにおいてユーザーにより、カードトークンDの出品を指示するための操作が実行される。この操作は、具体的には、図6(b)に示した出品ボタン41の押下である。ユーザー端末4bは、この操作を受け、マーケットシステムA1に対してカードトークンDの出品指示を送信する(ステップS40)。この出品指示には、出品するカードトークンDを特定する情報と、出品価格を示す情報とが含まれる。
出品指示を受信したマーケットシステムA1は、カードトークンDの出品処理を行う(ステップS41)。出品処理は、具体的には、カードトークンDの情報を上述した出品リストに追加する処理である。出品処理が完了すると、各ユーザーは、図7(a)に示した出品カードリスト画面にてカードトークンDの情報を確認できるようになる。ユーザー端末4aのユーザーが出品カードリスト画面を閲覧し(ステップS42)、カードトークンDの購入を指示するための操作を行うと、ユーザー端末4aは、マーケットシステムA1に対してカードトークンDの購入指示を送信する(ステップS43)。この購入指示には、購入するカードトークンDを特定する情報と、代金の支払い方法に関する情報とが含まれる。
購入指示を受信したマーケットシステムA1は、指示された購入が成立するか否かを判定する(ステップS44)。この判定の詳細は、トークンセットの価格に代えてカードトークンDの出品価格が判定の対象となる点を除き、図10に示したステップS21の判定と同様である。
ステップS44において購入が成立すると判定したマーケットシステムA1は、カードトークンDの購入(ユーザー間取引)を示すスマート・コントラクトのトランザクション(NFT購入トランザクション)を生成し、ブロックチェーンネットワーク7に送信する(ステップS45)。NFT購入トランザクションを受信したブロックチェーンネットワーク7は、まずマーケットシステムA1に対してトランザクションハッシュをリターンする(ステップS46)。続いて、ブロックチェーンネットワーク7において上述したマイニングが行われ、NFT購入トランザクションがブロックチェーンに記録される(ステップS47)。記録が完了すると、ブロックチェーンネットワーク7は、ユーザーウォレットUWa,UWbにおいて、カードトークンDの所有権移行を行う(ステップS48)。これにより、ユーザーウォレットUWbからユーザーウォレットUWaにカードトークンDが移動し(ステップS49)、購入処理が完了する。その後、図8を参照して説明したステップS10~S14の処理が実行されると、カードトークンDがユーザー間で取引されたことを示す流動ログが流動ログ分析システムOC1に、カードトークンDの異動を示すNFTデータがトークン管理データベースD1にそれぞれ書き込まれる。
図13及び図14は、カードトークンの増刷処理を示すシーケンス図である。流動ログ分析システムOC1は、図12等のステップS13で書き込まれた流動ログを定期的に集計し(ステップS50)、その都度、増刷条件が満たされたか否かを判定する(ステップS51)。具体的には、上述したように、各カードトークンの流動性が予め記憶している所定の閾値を下回ったか否かを判定する。あるカードトークンについて増刷条件が満たされたと判定した流動ログ分析システムOC1は、そのカードトークンの流動性についての通知をNFT発行システムT1に送信する(ステップS52)。
この通知を受けたNFT発行システムT1は、増刷条件を満たしたカードトークンの発行済枚数がそのカードトークンの発行予定枚数に達しているか否かを判定する(ステップS53)。ここで達していると判定したNFT発行システムT1は、カードトークンの増刷を行わないことを決定し、処理を終了する。一方、達していないと判定したNFT発行システムT1は、上述した発行単位枚数に基づいて増刷枚数を決定するとともに、増刷したカードトークンの所有者(カードトークンの配布先。販売リストSC1、交換リストSC2、ユーザーウォレットUWを含む。)を決定する(ステップS54)。なお、増刷したカードトークンの所有者は、既に同じカードトークンを所有しているカードトークンの所有者であることとすることが好ましい。また、各所有者への配布枚数は、同じカードトークンの所有枚数に比例して決定することが好ましい。
ステップS54を実行したNFT発行システムT1は次に、新規カードトークンの発行指示をメタ情報管理システムM1に送信する(ステップS55)。この後、カード所有権管理システム1の各部によって図8に示したステップS2~S7と同じ処理が実行され(ステップS56~S61)、運営ウォレットDW上にカードトークンを生成する(ステップS61)。こうして生成されたカードトークンは、一時的に増刷リストSC3に追加される(ステップS62)。
その後、図14に示すように、NFT発行システムT1は、適宜のタイミングで増刷リストSC3に記憶されているトークンの転送を示すスマート・コントラクトのトランザクション(NFT転送トランザクション)を生成し、ブロックチェーンネットワーク7に送信する(ステップS63)。NFT転送トランザクショを受信したブロックチェーンネットワーク7は、まずNFT発行システムT1に対してトランザクションハッシュをリターンする(ステップS64)。続いて、ブロックチェーンネットワーク7において上述したマイニングが行われ、NFT転送トランザクションがブロックチェーンに記録される(ステップS65)。記録が完了すると、ブロックチェーンネットワーク7は、運営ウォレットDW及びユーザーウォレットUWa,UWbにおいて、転送の対象となったカードトークンの所有権移行を行う(ステップ66)。これにより、運営ウォレットDWの増刷リストSC3に記憶されているカードトークンが、図13のステップS54で決定したカードトークンの所有者のウォレットに移動する(ステップ67)。こうして増刷されたカードトークンは、販売、交換、ユーザー間取引の対象として市場に流通することになる。
以上説明したように、本実施の形態によるカード所有権管理システム1によれば、ユーザーに所有権を与えることのできる非代替性トークンをトレーディングカードとして用い、交換も非代替性トークンにより行うので、郵送の必要なくトレーディングカードの交換を行うことが可能になる。また、非代替性トークンであるトレーディングカードは劣化しないので、交換により回収した販売用の非代替性トークン又は交換用の非代替性トークンを再販売ないし再配布することも可能になる。したがって、交換用のトレーティングカードを発行することが可能になる。
また、本実施の形態によるカード所有権管理システム1によれば、ユーザーによるカードトークンの購入、ユーザー間でのカードトークンの取引、取引状況に応じたカードトークンの増刷も行うことが可能になる。
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。