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

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

▶ Xクリエーション株式会社の特許一覧 ▶ bacoor dApps株式会社の特許一覧 ▶ 株式会社AI商事の特許一覧

<>
  • 特開-コンピュータ実装方法及びシステム 図1
  • 特開-コンピュータ実装方法及びシステム 図2
  • 特開-コンピュータ実装方法及びシステム 図3
  • 特開-コンピュータ実装方法及びシステム 図4
  • 特開-コンピュータ実装方法及びシステム 図5
  • 特開-コンピュータ実装方法及びシステム 図6
  • 特開-コンピュータ実装方法及びシステム 図7
  • 特開-コンピュータ実装方法及びシステム 図8
  • 特開-コンピュータ実装方法及びシステム 図9
  • 特開-コンピュータ実装方法及びシステム 図10
  • 特開-コンピュータ実装方法及びシステム 図11
  • 特開-コンピュータ実装方法及びシステム 図12
  • 特開-コンピュータ実装方法及びシステム 図13
  • 特開-コンピュータ実装方法及びシステム 図14
  • 特開-コンピュータ実装方法及びシステム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080384
(43)【公開日】2024-06-13
(54)【発明の名称】コンピュータ実装方法及びシステム
(51)【国際特許分類】
   G06Q 20/38 20120101AFI20240606BHJP
【FI】
G06Q20/38
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022193530
(22)【出願日】2022-12-02
(71)【出願人】
【識別番号】520295029
【氏名又は名称】Xクリエーション株式会社
(71)【出願人】
【識別番号】518003096
【氏名又は名称】Bacoor dApps株式会社
(71)【出願人】
【識別番号】320003367
【氏名又は名称】株式会社AI商事
(74)【代理人】
【識別番号】100111567
【弁理士】
【氏名又は名称】坂本 寛
(72)【発明者】
【氏名】河上 昌浩
(72)【発明者】
【氏名】春名 幸雄
(72)【発明者】
【氏名】竹内 仁
【テーマコード(参考)】
5L020
5L055
【Fターム(参考)】
5L020AA71
5L055AA71
(57)【要約】
【課題】交換方式の利点を維持しつつも、ユーザが既に持っているノンファンジブルトークンの送信を回避する。
【解決手段】開示の方法は、ユーザのアカウントに関連付けてブロックチェーンに記録されている第1ノンファンジブルトークンを前記ユーザが手放すことなく、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンを前記ユーザが入手するためのコンピュータ実装方法であって、前記第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントを、前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザのアカウントに関連付けてブロックチェーンに記録されている第1ノンファンジブルトークンを前記ユーザが手放すことなく、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンを前記ユーザが入手するためのコンピュータ実装方法であって、
前記第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、
前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントを、前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録する
ことを備えるコンピュータ実装方法。
【請求項2】
前記条件は、2以上の所定の前記第1ノンファンジブルトークンが、ブロックチェーンにおける単一の前記アカウントに関連付けて記録されていること、を含む
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記条件は、前記第1ノンファンジブルトークンに関連付けられたパラメータが、予め設定されたパラメータ要件を満たすこと、を含む
請求項1に記載のコンピュータ実装方法。
【請求項4】
前記条件は、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントにおいてなされた所定の操作を検知したこと、更に含む
請求項2又は請求項3に記載のコンピュータ実装方法。
【請求項5】
前記条件は、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントにおいてなされた所定の操作を検知したこと、を含む
請求項1に記載のコンピュータ実装方法。
【請求項6】
前記条件は、前記第1ノンファンジブルトークンに関連付けられたグラフィカルユーザインターフェースに対してなされた操作を検知したこと、を含む
請求項1に記載のコンピュータ実装方法。
【請求項7】
前記条件は、前記第1ノンファンジブルトークンを前記アカウントにおいて表示させるためのアプリケーションが備えるグラフィカルユーザインターフェースに対してなされた操作を検知したこと、を含む
請求項1に記載のコンピュータ実装方法。
【請求項8】
前記条件は、前記第1ノンファンジブルトークンを示す識別子を受信したこと、を含む
請求項1に記載のコンピュータ実装方法。
【請求項9】
前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンを、前記アカウントにおいて非表示にする、ことを更に備える
請求項1に記載のコンピュータ実装方法。
【請求項10】
前記条件が満たされたと判定した場合、前記アカウントにおける前記第1ノンファンジブルトークンの表示の少なくとも一部を、前記条件が満たされる前とは異ならせる、ことを更に備える
請求項1に記載のコンピュータ実装方法。
【請求項11】
前記条件が満たされたと判定した場合、前記第2ノンファンジブルトークンを生成することを更に備え、
前記アカウントは、生成された前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録される
請求項1に記載のコンピュータ実装方法。
【請求項12】
第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、
前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されているアカウントを、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンに関連付けてブロックチェーンに記録する
ことを備える処理を実行するよう構成されたシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ実装方法及びシステムに関する。
【背景技術】
【0002】
デジタルデータを唯一無二にするための技術として、ブロックチェーンにおけるノンファンジブルトークン(非代替性トークン;Non-Fungible Token:NFT)が知られている。
【0003】
ユーザがノンファンジブルトークンを入手する方法としては、例えば、ユーザがデジタルデータを準備し、ユーザ自ら、そのデジタルデータを用いてノンファンジブルトークンを生成するという方法がある。
【0004】
他の方法としては、ノンファンジブルトークンのオンラインマーケットで販売されているノンファンジブルトークンをユーザが購入するという方法もある。
【0005】
さらに他の方法として、特許文献1は、ユーザが、第1ノンファンジブルトークンを送信すると、第2ノンファンジブルトークンが得られることを開示している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2021-149904号公報
【発明の概要】
【0007】
以下では、特許文献1のように、第1ノンファンジブルトークンの送信を条件として、第2ノンファンジブルトークンが得られる方式を、交換方式という。交換方式の場合、新たなノンファンジブルトークン(第2ノンファンジブルトークン)を入手できるユーザを、既にノンファンジブルトークン(第1ノンファンジブルトークン)を持っていたユーザに限定できるという利点がある。
【0008】
しかし、交換方式は、処理が煩雑になることがあるという問題がある。すなわち、新たな第2ノンファンジブルトークンを得る条件として、第1ノンファンジブルトークンの送信が必要であると、その送信のトランザクションが、ブロックチェーンに記録される必要があり、その記録のための処理が必要となる。
【0009】
また、ブロックチェーンへの記録には一般にガス代と呼ばれる手数料がブロックチェーンに支払われる必要がある。このため、交換方式のように、第1ノンファンジブルトークンの送信が必要であると、コスト高になるおそれもある。
【0010】
したがって、上述のような交換方式の利点を維持しつつも、ユーザが既に持っているノンファンジブルトークンの送信を回避するための新たな技術が望まれる。
【0011】
本開示のある側面は、コンピュータ実装方法である。開示の方法は、ユーザのアカウントに関連付けてブロックチェーンに記録されている第1ノンファンジブルトークンを前記ユーザが手放すことなく、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンを前記ユーザが入手するためのコンピュータ実装方法であって、前記第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントを、前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することを備える。
【0012】
本開示の他の側面は、システムである。開示のシステムは、第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されているアカウントを、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することを備える処理を実行するよう構成されている。
【0013】
更なる詳細は、後述の実施形態として説明される。
【図面の簡単な説明】
【0014】
図1図1は、実施形態に係る方法を示すフローチャートである。
図2図2は、システムの説明図である。
図3図3は、システムのハードウェア構成図である。
図4図4は、第1シナリオの説明図である。
図5図5は、第1シナリオの第1例の説明図である。
図6図6は、第1シナリオの第2例の説明図である。
図7図7は、第1シナリオの第3例の説明図である。
図8図8は、第2シナリオの説明図である。
図9図9は、第2シナリオの第1例の説明図である。
図10図10は、第2シナリオの第2例の説明図である。
図11図11は、第3シナリオの説明図である。
図12図12は、第3シナリオの第1例の説明図である。
図13図13は、第3シナリオの第2例の説明図である。
図14図14は、実施形態に係る方法の変形例を示すフローチャートである。
図15図15は、第1ノンファンジブルトークンの表示例を示す説明図である。
【発明を実施するための形態】
【0015】
<1.コンピュータ実装方法及びシステムの概要>
【0016】
(1)実施形態に係る方法は、ユーザのアカウントに関連付けてブロックチェーンに記録されている第1ノンファンジブルトークンを前記ユーザが手放すことなく、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンを前記ユーザが入手するためのコンピュータ実装方法であり得る。
【0017】
実施形態に係るコンピュータ実装方法は、前記第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントを、前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することを備え得る。この場合、第2ノンファンジブルトークンを入手できるユーザを、第1ノンファンジブルトークンを持っているユーザに限定できる。しかも、前記条件が満たされると、ユーザは、第2ノンファンジブルトークンを入手できる。
【0018】
なお、前記アカウントを前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することは、前記アカウントを、前記第2ノンファンジブルトークンの所有者としてブロックチェーンに記録することを含み得る。また、前記アカウントを前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することは、前記アカウントを、前記第2ノンファンジブルトークンの所有者以外の前記第2ノンファンジブルトークンに関連するユーザとしてブロックチェーンに記録することを含み得る。
【0019】
(2)前記条件は、2以上の所定の前記第1ノンファンジブルトークンが、ブロックチェーンにおける単一のアカウントに関連付けて記録されていること、を含み得る。
【0020】
(3)前記条件は、前記第1ノンファンジブルトークンに関連付けられたパラメータが、予め設定されたパラメータ要件を満たすこと、を含み得る。
【0021】
(4)前記(2)又は(3)において、前記条件は、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントにおいてなされた所定の操作を検知したこと、更に含み得る。
【0022】
(5)前記(1)において、前記条件は、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されている前記アカウントにおいてなされた所定の操作を検知したこと、を含み得る。
【0023】
(6)前記(1)から(5)のいずれか1項において、前記条件は、前記第1ノンファンジブルトークンに関連付けられたグラフィカルユーザインターフェースに対してなされた操作を検知したこと、を含み得る。
【0024】
(7)前記(1)から(6)のいずれか1項において、前記条件は、前記第1ノンファンジブルトークンを前記アカウントにおいて表示させるためのアプリケーションが備えるグラフィカルユーザインターフェースに対してなされた操作を検知したこと、を含み得る。
【0025】
(8)前記(1)から(7)のいずれか1項において、前記条件は、前記第1ノンファンジブルトークンを示す識別子を受信したこと、を含み得る。識別子を受信することは、前記アカウントから前記識別子を受信することであってもよいし、前記アカウント以外から受信することであってもよい。
【0026】
(9)前記(1)から(8)のいずれか1項の前記方法は、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンを、前記アカウントにおいて非表示にする、ことを更に備え得る。
【0027】
(10)前記(1)から(8)のいずれか1項の前記方法は、前記条件が満たされたと判定した場合、前記アカウントにおける前記第1ノンファンジブルトークンの表示の少なくとも一部を、前記条件が満たされる前とは異ならせる、ことを更に備え得る。
【0028】
(11)前記(1)から(10)のいずれか1項に記載の前記方法は、前記条件が満たされたと判定した場合、前記第2ノンファンジブルトークンを生成することを更に備え得る。前記アカウントは、生成された前記第2ノンファンジブルトークンに関連付けてブロックチェーンに記録されるのが好ましい。
【0029】
(12)実施形態に係るシステムは、第1ノンファンジブルトークンに関連付けて予め設定された条件が満たされたかどうかを判定し、前記条件が満たされたと判定した場合、前記第1ノンファンジブルトークンに関連付けてブロックチェーンに記録されているアカウントを、前記第1ノンファンジブルトークンとは異なる第2ノンファンジブルトークンに関連付けてブロックチェーンに記録することを備える処理を実行するよう構成され得る。
【0030】
<2.コンピュータ実装方法及びシステムの例>
【0031】
図1は、実施形態に係るコンピュータ実装方法の手順を示している。この方法は、1又は複数のコンピュータによって構成されるコンピュータシステムによって実行され得る。この方法は、ユーザが、既に持っているノンファンジブルトークン(NFT)を手放すことなく、新たなNFTを入手するために実行され得る。以下では、ユーザが既に持っているNFTを「第1NFT」といい、ユーザが新たに入手するNFTを「第2NFT」という。第1NFT及び第2NFTは、それぞれ、1つでもよいし、複数でもよい。
【0032】
ステップS11において、コンピュータシステムは、第1NFTに関連付けて設定された条件を満たすかどうかを判定する。条件は、1つ又は複数であり得る。条件が複数である場合、コンピュータシステムは、複数の条件がすべて満たされたかどうかを判定する。条件は、コンピュータシステムに予め設定されている。実施形態に係るコンピュータシステムは、条件が満たされたと判定した場合、ステップS12において、第1NFTを所有するユーザのアカウント(ブロックチェーンアカウント)を、第2NFTに関連付けてブロックチェーンに記録する。すなわち、コンピュータシステムは、第1NFTをユーザから入手することなく、新たな第2NFTをユーザに入手させる。なお、ステップS11において、条件が満たされたと判定されない間は、ユーザは第2NFTを入手できない。
【0033】
このように、実施形態のコンピュータシステムは、条件が満たされた場合、その時点で、当該条件に関連付けられた第1NFTに関連付けられたユーザ(第1NFTを入手している者)に、第2NFTを入手させる。したがって、第2NFTを入手できるユーザを、現に、第1NFTを入手しているユーザに限定できるという利点がある。
【0034】
そして、実施形態に係る方法によれば、ユーザは、第1NFTを手放すことなく、第2NFTを入手できる。すなわち、実施形態に係る方法によれば、ユーザが第2NFTを入手しても、そのユーザのアカウントに関連付けられた第1NFTは、そのユーザのアカウントとの関連付けが失われることない。つまり、ユーザは、第1NFTを入手した状態のまま、第2NFTを入手できる。
【0035】
ここで、「NFTを手放す」とは、ブロックチェーンの記録上において、当該NFTとの関連付けがなくなることである。「当該NFTとの関連付けがなくなる」とは、例えば、ブロックチェーンの記録上、当該NFTについての現時点の権限者とは認識できない状態になることである。権限者とは、例えば、NFTの所有者である。すなわち、「NFTを手放す」とは、例えば、当該NFTを他のユーザのアカウントに送信することで、当該NFTを所有しない状態になることである。
【0036】
また、「NFTを入手する」とは、ブロックチェーンの記録上において、当該NFTとの関連付けがあることである。「当該NFTとの関連付けがある」とは、例えば、ブロックチェーンの記録上、当該NFTについての現時点の権限者と認識できる状態になることである。権限者とは、例えば、NFTの所有者である。すなわち、「NFTを入手する」とは、例えば、当該NFTを他のアカウントから受信することで、当該NFTを所有した状態になることである。
【0037】
ここで、第2NFT420は、条件が満たされたときに、ユーザに与えられる。なお、「NFTを与える」とは、コンピュータシステムがユーザにNFTを入手させることである。第2NFT420は、条件が満たされたときにユーザに与えられるように予め生成されていてもよい。この場合、第1NFTに関連付けられた条件が満たされたときにユーザに与えられる第2NFTは、コンピュータシステムにおいて予め設定され得る。コンピュータシステムは、予め生成されている複数の第2NFTの中から、ユーザに与えられるNFTをランダム又は所定の規則にしたがって選択し、選択されたNFTをユーザに与えてもよい。
【0038】
また、図14のステップS12に示すように、第2NFT420は、条件が満たされてから生成されてもよい。図14は、図1に示す方法の変形例を示す。ステップS11において条件が満たされてから第2NFT420が生成される場合、コンピュータシステムは、在庫となる第2NFTを予め大量に保有しておく必要がなく有利である。条件が満たされてから第2NFT420が生成される場合、コンピュータシステムには、第1NFTに関連付けられた条件が満たされたときに生成される第2NFTの生成用データが予め設定され得る。生成用データは、例えば、第2NFTを構成する画像データなどのコンテンツデータである。コンピュータシステムは、コンテンツデータをトークン化することで、第2NFTを生成し得る。
【0039】
コンピュータシステムは、予め用意された複数の生成用データの中から、第2NFTの生成に用いられる生成用データを、ランダム又は所定の規則にしたがって選択し、選択された生成用データを用いて第2NFTを生成してもよい。
【0040】
以上のように、第2NFT又はその生成用データは、コンピュータシステムにおいて、第1NFT又は条件に関連付けて設定され得る。また、第2NFT又はその生成用データは、条件が満たされてから、コンピュータシステムが適宜選択し得る。
【0041】
図2は、実施形態に係る方法が実行され得るコンピュータシステム10の一例を示している。以下では、「コンピュータシステム10」を、「システム10」という。実施形態に係るシステム10は、ブロックチェーン20を利用して、実施形態に係る方法を実行する。
【0042】
ブロックチェーン20は、複数のコンピュータが相互に接続されたP2P(Peer to Peer)のコンピュータネットワークによって構成されている。
【0043】
ブロックチェーン20は、ユーザU1のアカウント25Aを示すアドレス(ブロックチェーンアドレス)を有する。アカウント25Aを示すブロックチェーンアドレスは、例えば、ウォレットアドレスである。アカウント25Aを示すブロックチェーンアドレスは、例えば、外部所有アカウント(Externally Owned Account:EOA)である。例えば、あるユーザU1が、ブロックチェーン20にアカウント25Aを有している場合、そのアカウントは、所定のブロックチェーンアドレス(ウォレットアドレス)を有する。図2においては、一例として、ユーザU1のブロックチェーンアドレスは、「0x11aa」である。
【0044】
ブロックチェーン20は、スマートコントラクト21を備え得る。スマートコントラクト21は、ブロックチェーンにおいて実行可能に実装されたソフトウェア(コンピュータプログラム)である。スマートコントラクト21が行う処理は、ブロックチェーンを構成する1又は複数のコンピュータによって実行され得る。
【0045】
スマートコントラクト21は、所定の処理を自動的に実行する。また、スマートコントラクト21は、呼び出されると、所定の処理を自動的に実行し得る。スマートコントラクト21が実行する処理は、例えば、NFTの生成・送信など、NFTに関する操作(NFT操作)を含み得る。スマートコントラクト21は、例えば、NFTをアカウント25Aへ送信し得る。また、スマートコントラクト21は、NFTを生成し、生成されたNFTをアカウント25Aへ送信し得る。また、スマートコントラクト21は、生成されたNFTがアカウント25Aにおいて所有されるようにNFTを生成し得る。スマートコントラクト21により実行されたNFT操作は、ブロックチェーン20に記録され得る。
【0046】
スマートコントラクト21は、ブロックチェーンアドレスであるコントラクトアドレスを有する。図2においては、一例として、スマートコントラクト21のアドレスは、「0x9999」である。
【0047】
ブロックチェーン20には、トークンが記録され得る。ブロックチェーン20に記録されるトークンとしては、例えば、ファンジブルトークン(代替性トークン;Fungible Token:FT)と、ノンファンジブルトークン(非代替性トークン;Non-Fungible Token:NFT)と、がある。
【0048】
ノンファンジブルトークン(NFT)は、ファンジブルトークン(FT)とは異なり、代替性を有さないトークンである。非代替性の確保のため、NFTは、ブロックチェーン20において、他のNFTとの区別を可能にするための固有のトークン識別子(TokenID)を有する。このトークン識別子は、NFT識別子(NFT_ID)とも呼ばれる。トークン識別子は、例えば、NFTの格納のためのブロックチェーンアドレス(コントラクトアドレス)において記録される。
【0049】
ブロックチェーン20において、NFTは、所有者のアカウント(ブロックチェーンアドレス)に対応付けて記録される。図2では、ユーザU1のアカウント25Aであるアドレス:0x1111が、TokenID:#0001であるNFT411の所有者として、ブロックチェーン20に記録されている。すなわち、図2では、アカウント25Aが、TokenID:#0001であるNFT411を所有している。
【0050】
なお、図2では、第2NFT420も示されている。図2において、第2NFT420のTokenIDは、#0510である。第2NFT420は、ユーザU1に入手される前は、例えば、スマートコントラクト21によって所有されている。
【0051】
実施形態に係るシステム10は、サーバコンピュータ50を備える。以下では、「サーバコンピュータ50」を、「サーバ50」という。サーバ50は、複数のコンピュータによって構成されてもよい。サーバ50は、管理者によって管理され得る。サーバ50は、例えば、Web3サーバである。
【0052】
ユーザU1の端末31は、コンピュータシステム10にアクセスし得る。端末31は、ユーザU1のブロックチェーンアドレスによって、コンピュータシステム10にログインする。例えば、ユーザU1の端末31は、アドレス:0x11aaによって、サーバ50にログインし得る。
【0053】
図3は、端末31及びサーバ50の構成を示している。端末31は、例えば、スマートフォン又はタブレットなどのモバイルデバイスである。端末31は、インターネットなどのネットワーク15に接続可能である。ユーザ端末31は、プロセッサ31A及び記憶装置31Bを備えるコンピュータによって構成され得る。記憶装置31Bは、プロセッサ31Aに接続されている。記憶装置31Bは、例えば、一次記憶装置及び二次記憶装置を備える。一次記憶装置は、例えば、RAMである。二次記憶装置は、例えば、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)である。記憶装置31Bは、プロセッサ31Aによって実行されるコンピュータプログラム31C(アプリケーション31C)を備える。プロセッサ31Aは、記憶装置31Bに格納されたコンピュータプログラム31Cを読み出して実行する。コンピュータプログラム31Cは、実施形態に係る端末31が有する機能を、コンピュータに実現させるため、コンピュータに対する命令を示すプログラムコードを有する。
【0054】
コンピュータプログラム31Cによって実現される端末31の機能は、例えば、端末31のディスプレイ(図示省略)に、ユーザU1が所有するNFTを表示させることを含む。また、当該機能は、サーバ50へのログイン機能も含む。
【0055】
図3に示すようにサーバ50は、プロセッサ51A及び記憶装置51Bを備えるコンピュータによって構成され得る。記憶装置51Bは、プロセッサ51Aに接続されている。記憶装置51Bは、例えば、一次記憶装置及び二次記憶装置を備える。一次記憶装置は、例えば、RAMである。二次記憶装置は、例えば、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)である。記憶装置51Bは、プロセッサ51Aによって実行されるコンピュータプログラム51Cを備える。プロセッサ51Aは、記憶装置51Bに格納されたコンピュータプログラム51Cを読み出して実行する。コンピュータプログラム51Cは、コンピュータに、実施形態に係る方法(図1参照)を実行させるための命令を示すプログラムコードを有する。
【0056】
記憶装置51Bは、条件データ50Aを備え得る。条件データ50Aは、図1のステップS11における判定に用いられる条件を示す。すなわち、条件データ50Aは、第1NFTに関連付けて設定された条件を示す。なお、図1に示すように、スマートコントラクト21が、ステップS11における判定に用いられる条件データ21Aを備えていてもよい。つまり、条件データは、サーバ50及びスマートコントラクト21のいずれか一方に設定されていてもよいし、両方に設定されていてもよい。
【0057】
条件データ50Aは、例えば、第1NFTのTokenIDに対応付けて設定された条件を含み得る。条件は、1個1個のTokenIDに対応付けて設定されていてもよいし、複数のTokenIDにまとめて対応付けて設定されていてもよい。
【0058】
記憶装置51Bは、図14のステップS12において、第2NFT420の生成に用いられる生成用データを有するデータベース52を備え得る。生成用データは、例えば、画像データなどを含むコンテンツデータである。
【0059】
実施形態に係るサーバ50は、図1に示す方法を実行し得る。また、サーバ50は、スマートコントラクト21を呼び出して、図1に示す方法を実行させてもよい。
【0060】
以下、図1に示す方法に基づくいくつかのシナリオを説明する。以下に説明するシナリオにおいては、図1に示すステップS11,S12には対応しない追加のステップを含むことがあるが、当該追加のステップも、実施形態に係る方法を構成し得る。当該追加のステップは、図2及び図3に示すシステム10によって実行され得る。また、当該追加のステップは、図2及び図3に示すサーバ50によって実行され得る。
【0061】
図4は、第1シナリオを示す。第1シナリオでは、条件データ50Aが示す条件が満たされる前において、ユーザU1のアカウント25Aは、一つの第1NFT411を所有している。この状態で、第1NFT411に関連付けて設定された第1条件が満たされたとする。システム10は、第1条件が満たされたと判定すると(ステップS41)、第2NFTを、第2NFT420をアカウント25Aに取得させる(ステップS43)。したがって、第1条件が満たされたと判定された後においては、アカウント25Aは、第1NFT411に加えて、第2NFT420を有している。
【0062】
システム10は、第2NFT420を入手すべきアカウント25Aを、ブロックチェーン20を参照することで把握することができる。すなわち、第1NFT411に対応する第1条件が満たされた場合、システム10は、その第1条件に対応する第1NFT411を有している者(第1NFT411に関連付けられたアカウント)を、ブロックチェーン20を参照することで把握することができる。ここで「NFTを有している者」又は「NFTを有しているアカウント」とは、第1NFTを所有していることがブロックチェーン20に記録されている「所有者」又は「所有者のアカウント」のほか、第1NFTを使用する権限(役割)を有していることがブロックチェーン20に記録されている「使用者」又は「使用者のアカウント」を含むものとする。「使用者」は、例えば、例えば、イーサリアムのEIP4907規格の「user」である。EIP4907規格の「user」は、NFTを所有してはいないが、NFTを使用する権限(役割)を有する者としてブロックチェーンに記録される。EIP4907は、イーサリアムのトークン規格であるERC721を拡張したものである。
【0063】
例えば、システム10が、第1NFT411に関連付けられた第1条件が満たされたと判定した場合(ステップS41)、システム10は、その時点でのブロックチェーン20の記録において、第1NFT411を有しているアカウント25Aに、第2NFT420を与える(ステップS43)。つまり、アカウント25Aが、第2NFT420に関連付けて記録される。なお、第2NFT420は、例えば、第1NFT411又は第1条件に関連付けられたNFTである。
【0064】
ステップS45において、システム10は、第1条件に関連付けられた第1NFT411を、アカウント25Aにおいて非表示にし得る。例えば、アカウント25Aを有するユーザU1の端末31のディスプレイにおいて、第1NFT411を非表示にし得る。第1NFT411を非表示にすることで、ユーザU1は、第1条件を満たした第1NFT411を手放して、新たな第2NFT420を入手したような感覚を得ることができる。
【0065】
端末31において、NFT411,420の表示は、端末31のアプリケーション31Cによって行われ得る。アプリケーション31Cは、サーバ50へのログイン機能を有し、サーバ50へログインしているユーザU1のアカウント25Aが有するNFTを、端末31のディスプレイに表示させ得る。サーバ50は、アカウント25Aが有するNFTののうち、関連付けられた条件を満たした第1NFT411が、ログインしているユーザの端末31において非表示になるようにアプリケーション31Cを制御し得る。
【0066】
なお、ステップS45は、ステップS43とほぼ同時に行われてもよいし、ステップS43の前に行われてもよい。
【0067】
図5は、第1シナリオの第1例を示している。図5に示す第1条件は、図5に示す第1条件に対応するNFTを交換する操作がされたことである。図5には、第1条件に対応する第1NFTを示すデータとして、第1NFTに含まれる画像データと、NFT_Nameと、TokenIDとが含まれる。NFT_Nameは、NFTの名称である。図5では、NFT_Nameは「nftX」である。図5では、TokenIDとして、#0001から#0100が設定されている。つまり、図5に示す第1条件では、「nftX」という名称の#0001から#0100までの100個の第1NFTのいずれかが、その第1NFTを有するアカウントのユーザ端末31において操作されることが、第1NFTに関連付けられた第1条件として設定されている。なお、操作は、例えば、端末31のアプリケーション31Cが端末31のディスプレイに表示するグラフィカルユーザインターフェースB1への操作である。また、第1条件を満たしたときにユーザに与えられる第2NFT420として、図5に示す画像データを有する第2NFT420が、第1条件に対応付けて設定されている。
【0068】
図5のステップS51において、端末31のディスプレイには、ユーザU1のアカウント25Aが有するNFT411,411Aの一覧が表示されている。サーバ50は、端末31のアプリケーション31Cを介して、サーバ50へログインしているユーザU1のアカウント25Aが有するNFTを、端末31のディスプレイに表示させる。ユーザU1は、これらNFT411、411Aのうち、少なくともNFT411は、第2NFT420の入手に使用される第1NFTである。
【0069】
ステップS51において、ユーザU1は、第2NFT420の入手に使用される第1NFT411を選択する。選択は、例えば、ディスプレイ上の第1NFT111をタップすることである。
【0070】
第1NFT411が選択されると、サーバ50は、アプリケーション31Cに、その第1NFT411の交換操作(第2NFT420の取得操作)を受け付けるグラフィカルユーザインターフェースB1としてのボタン(「交換」ボタン)を表示させる。ステップS52に示すように、アプリケーション31Cの表示画面において表示されたグラフィカルユーザインターフェースB1が操作されると、その操作がされたことを示す信号が、端末31からサーバ50へ送信される。この信号は、交換操作の対象となった第1NFT411を示すデータ(例えば、第1NFT411のTokenID:#0001)とともに送信され得る。なお、この信号とともに、操作をしたユーザのアカウントが送信されてもよいが、ユーザはサーバ50にログインしているので、送信されなくてもよい。
【0071】
サーバ50は、端末31のアプリケーション31CにおいてグラフィカルユーザインターフェースB1の操作がされたことを示す信号を、アカウント25Aを有するユーザの端末31から受信することで、その操作が、アカウント25Aにおいて、なされたことを検知する。サーバ50は、その操作がされたことを検知すると、図5に示す第1条件が満たされたと判定する(図4のステップS41)。なお、交換操作の対象となった第1NFT411のTokenIDは、#0001であるため、第1条件に設定されたTokenIDに含まれる。
【0072】
サーバ50は、操作がされたことを示す信号の送信元へ第1条件に対応付けられた第2NFT420を送信するなどして、当該送信元に第2NFT420を取得させる(図4のステップS43)。なお、サーバ50は、ブロックチェーン20を参照して、送信元のアカウント25Aが、操作された第1NFT411を有するアカウントであることを確認してから、第2NFT420を、そのアカウント25Aに取得させてもよい。また、サーバ50は、交換操作の対象となった第1NFT411を非表示にする(図4のステップS45)。
【0073】
図5のステップS53は、アカウント25Aが第2NFT420を取得するとともに、第1NFT411が非表示とされた状態での端末31のディスプレイの表示を示している。このように、交換操作の対象となった第1NFT411が非表示になっているため、ユーザU1は、第1NFT411を手放して、第2NFT420を入手したように感じることができる。なお、ステップS53において、操作されなかったNFT411Aの表示は維持される。
【0074】
図6は、第1シナリオの第2例を示している。図6に示す第1条件は、図6に示す第1条件に対応するNFTが有するグラフィカルユーザインターフェース415(GUI)が操作されたことである。グラフィカルユーザインターフェース415は、例えば、NFTの交換を受け付けるボタン(「交換」ボタン)である。第1NFTがグラフィカルユーザインターフェース415を有することで、端末31又はサーバ50が、図5のグラフィカルユーザインターフェースB1を表示させる機能を有する必要がなくなる。
【0075】
図6には、第1条件に対応する第1NFTを示すデータとして、第1NFTに含まれる画像データと、NFT_Nameと、TokenIDとが含まれる。NFT_Name及びTokenIDは、図5と同様である。また、図5と同様に、第1条件を満たしたときにユーザに与えられる第2NFT420として図6に示す画像データを有する第2NFT420が設定されている。
【0076】
図6のステップS61において、端末31のディスプレイには、ユーザU1のアカウント25Aが有するNFT411が表示されている。サーバ50は、端末31のアプリケーション31Cを介して、サーバ50へログインしているユーザU1のアカウント25Aが有する第1NFT411を、端末31のディスプレイに表示させる。
【0077】
ディスプレイに表示された第1NFT411は、ユーザ操作を受付可能なグラフィカルユーザインターフェース415を備える。ユーザU1は、このグラフィカルユーザインターフェース415をタップするなどして操作する。
【0078】
グラフィカルユーザインターフェース415が操作されると、その操作がされたことを示す信号が、端末31からサーバ50へ送信される。この信号は、交換操作の対象となった第1NFT411を示すデータ(例えば、第1NFT411のTokenID:#0001)とともに送信される。なお、この信号とともに、操作をしたユーザのアカウントが送信されてもよいが、ユーザはサーバ50にログインしているので、送信されなくてもよい。
【0079】
そして、サーバ50は、その信号を受信することで、第1NFT411が有するグラフィカルユーザインターフェース415の操作がされたことを検知し、図6に示す第1条件が満たされたと判定する(図4のステップS41)。
【0080】
その後は、図5と同様に、サーバ50は、操作がされたことを示す信号の送信元に、第2NFT420を取得させる(図4のステップS43)。また、サーバ50は、交換操作された第1NFT411を非表示にする(図4のステップS45)。
【0081】
図6のステップS62は、アカウント25Aが第2NFT420を取得するとともに、第1NFT411が非表示とされた状態での端末31のディスプレイの表示を示している。このように、交換操作の対象となった第1NFT411が非表示になっているため、ユーザU1は、第1NFT411を手放して、第2NFT420を入手したように感じることができる。
【0082】
以上の第1シナリオの第1例及び第2例において、第1NFT411は、第2NFT420の入手に使用される引換券的な役割を有し得る。第1NFT411を何らかの方法で入手したユーザは、第2NFT420を入手したい任意のタイミングで操作をすることで、第2NFT420を入手することができる。なお、第1例及び第2例並びにその他の例において、第1NFT411の非表示が不要であれば、非表示にせず、表示してもよい。例えば、複数回の交換操作を許容する場合、第1NFT411の交換操作がされても、第1NFT411を表示し続けてもよい。
【0083】
図7は、第1シナリオの第3例を示している。図7に示す第1条件は、図7に示す第1条件に対応するNFTの識別子をシステム10が受信したことである。識別子は、例えば、サーバ50によって受信される。識別子は、例えば、TokenID又はNFTを識別し得るその他のデータである。図7では、第1条件に対応する第1NFTを示すデータとして、第1NFTに含まれる画像データと、NFT_Nameと、TokenIDとが含まれる。NFT_Name及びTokenIDは、図5及び図6と同様である。第1NFTに含まれる画像データは、その第1NFTの識別子を示す2次元コードを含む。2次元コードは、機械読み取り可能なその他の形式のコードであってもよい。
【0084】
また、第1条件を満たしたときにユーザに与えられる第2NFT420として、図7に示す第2NFT420が設定されている。
【0085】
ここでの第1NFTは、一例として、デジタルチケットをトークン化したものであり、第2NFTは、一例として、デジタルスタブをトークン化したものである。
【0086】
デジタルチケットは、電子的に発行されたチケットであり、電子的にチケットを構成するためのチケットデータを備える。デジタルチケットは、例えば、イベントへの入場チケット、施設への入場チケット、乗物のチケット、その他のサービスの享受のためのチケット、商品との引き換えチケット、商品券、及び割引クーポンのいずれかが電子化されたものである。イベントは、例えば、コンサート、映画、劇、展示会、博覧会、スポーツイベント、及びフェスティバルのいずれかである。施設は、例えば、遊園地、動物園、植物園、美術館、博物館、映画館、店舗、及び観光施設のいずれかである。乗物は、例えば、飛行機、船、列車、バス、及びタクシーのいずれかである。
【0087】
デジタルチケットは、チケットとして必要とされるデータを有する。チケットとして必要とされるデータは、例えば、開催場所、イベント名、開催日時、及び座席に関するデータである。
【0088】
デジタルスタブは、紙のチケットが使用された後に残るスタブ(半券)を電子化したものである。デジタルスタブは、デジタルチケットに1対1に対応付けられていて保存されていてもよいし、複数のデジタルチケットに対応付けられて保存されていても良い。
【0089】
例えば、デジタルスタブが、デジタルチケットが備えるデータのうち、座席に関するデータのように個々のデジタルチケットに特有のデータと同じデータを備える場合には、デジタルスタブはデジタルチケットと1対1に対応付けられたものとなる。また、デジタルスタブが、デジタルチケットが備えるデータのうち、イベント名に開催するデータのように複数のデジタルチケットが共通して備え得るデータだけを備える場合には、1つのデジタルスタブが、複数のデジタルチケットに対応付けられ得る。
【0090】
デジタルスタブは、スタブ(半券)として必要とされるデータを有している。イベントの入場のためのデジタルチケットに対応したデジタルスタブの場合、スタブとして必要とされるデータは、例えば、開催場所、イベント名、開催日時、及び座席に関するデータである。デジタルスタブは、対応するデジタルチケットが有するデータの全部を有している必要はなく、少なくとも一部(例えば、開催場所、イベント名、開催日時、及び座席に関するデータ)を有していれば足りる。デジタルスタブは、デジタルチケットに含まれないデジタルスタブ特有のデータを有しているのが好ましい。デジタルスタブ特有のデータは、スタブであることを示すデータ、デジタルチケットが済用済みであることを示すデータ、及び/又はその他のデジタルデータである。
【0091】
さて、図7のステップS71において、端末31のディスプレイには、デジタルチケットをトークン化した第1NFT411が表示されている。表示された第1NFT411は、第1NFT411の識別子を示す2次元コード413を含んでいる。
【0092】
表示された2次元コード413は、2次元コードの読取装置70によって読み取られる。読取装置70は、例えば、デジタルチケットが使用される会場・施設・又は乗物において使用される。例えば、イベントのデジタルチケットの場合、ユーザがそのイベントに参加する際に、そのイベントの会場に設置された読取装置70によって、第1NFT411の2次元コード413が読み取られる。読取装置70の読取によって第1NFT411の識別子が得られる。読取装置70によって得られた第1NFT411の識別子は、ネットワーク15を介して、システム10へ送信される。例えば、識別子は、サーバ50へ送信される。サーバ50は、第1NFT411の識別子を受信することで、図7に示す第1条件が満たされたと判定する(図4のステップS41)。
【0093】
サーバ50は、識別子によって示される第1NFT411を有しているアカウント25Aに、デジタルスタブ等のデジタルデータを有する第2NFT420を取得させる(図4のステップS43)。また、サーバ50は、識別子によって示される第1NFTを非表示にする(ステップS45)。
【0094】
図7のステップS72は、アカウント25Aが第2NFT420を取得するとともに、第1NFT411が非表示とされた状態での端末31のディスプレイの表示を示している。このように、使用済みである第1NFT411が非表示になっているため、ユーザU1は、デジタルチケットである第1NFT411を手放して、デジタルスタブである第2NFT420を入手したように感じることができる。また、第1NFT411が非表示になるため、使用済みデジタルチケットの使用を実質的に禁止できる。
【0095】
なお、デジタルチケットを複数回使用できるようにする場合、デジタルチケットが使用されても、第1NFTを非表示にしなくてもよい。この場合、非表示は、例えば、デジタルチケットとしての有効性がなくなったときにすればよい。有効性がなくなるとは、例えば、デジタルチケットの有効期限が経過したこと、又は、デジタルチケットの有効回数を超えたことである。
【0096】
図8は、第2シナリオを示す。第2シナリオでは、第1NFTに関連付けられた条件は、第1条件及び第2条件を含む。システム10は、第1条件及び第2条件の両方が満たされたときに、第2NFT420をユーザに入手させる。なお、第2シナリオにおいて特に説明しない点については、第1シナリオ及びその例の説明が援用される。
【0097】
図8では、ユーザU1のアカウント25Aは、2つ(又はそれ以上)の所定の第1NFT411,412を有している。システム10は、一例として、この状態をもって、第1条件が満たされたと判定する(ステップS81)。すなわち、システム10は、ブロックチェーン20を参照し、2つの所定の第1NFT411,412が、ブロックチェーン20における単一のアカウント25Aに関連付けて記録されていることを検知した場合、第1条件が満たされたと判定する。システム10は、例えば、サーバ50にログインしているユーザのアカウント25Aに基づいて、ブロックチェーン20を参照し、そのアカウント25Aに関連付けて記録されているNFT411,412を把握する。
【0098】
また、システム10は、一例として、第1条件を満たしている状態で、第2条件が満たされると、ユーザに第2NFT420を入手させる。第2条件は、例えば、第2NFT420の取得操作を検知したことである(ステップS82)。すなわち、システム10は、複数の所定の第1NFT411,412が、単一のアカウント25Aに揃っているときに、アカウント25Aにおいて、第2NFT420の取得操作がなされると、第1条件及び第2条件が満たされたと判定する。
【0099】
システム10は、第1条件及び第2条件が満たされたと判定した場合(ステップS81,S82)、システム10は、その時点でのブロックチェーン20の記録において、第1NFT411を有しているアカウント25Aに、第2NFT420を与える(ステップS83)。つまり、アカウント25Aが、第2NFT420に関連付けて記録される。
【0100】
また、ステップS85において、システム10は、第2NFT420を入手したアカウント25Aにある第1NFT411,412を、アカウント25Aにおいて非表示にし得る。例えば、アカウント25Aを有するユーザU1の端末31のディスプレイにおいて、第1NFT411,412を非表示にし得る。第1NFT411,412を非表示にすることで、ユーザU1は、条件が満たされたことで、第1NFT411、2を手放して、第2NFT420を入手したような感覚を得ることができる。
【0101】
なお、ステップS85は、ステップS83とほぼ同時に行われてもよいし、ステップS83の前に行われてもよい。
【0102】
図9は、第2シナリオの第1例を示している。図9に示す第1条件は、図9に示す第1条件に対応するNFTが単一のアカウントにおいて2個(又はそれ以上)揃っていることである。図9において、第1NFTを示すデータは、図5に示すものと同じである。また、第1条件及び第2条件を満たしたときにユーザに与えられる第2NFT420として、図5と同様に、第2NFT420が設定されている。
【0103】
図9のステップS91において、端末31のディスプレイには、ユーザU1のアカウント25Aが有するNFT411,412の一覧が表示されている。システム10は、このステップS91の状態において、第1条件が満たされていると判定する(図8のステップS81)。例えば、サーバ50は、ブロックチェーン20を参照して、サーバ50にログインしているユーザのアカウント25Aに関連付けられている第1NFT411,412のTokenIDを取得する。ここでは、図8に示すように、アカウント25Aには、TokenIDが#0001である第1NFT411と、TokenIDが#0012である第1NFT412の2つが関連付けられている。これら2つのNFT411,412のTokenIDは、図9に示す第1条件に対応するNFTのTokenIDに含まれている。したがって、サーバ50は、アカウント25Aにおいて、第1条件が満たされたと判定する。
【0104】
2個の第1NFT411,412によって第1条件が満たされたことをサーバ50が判定した場合、サーバ50は、端末31のアプリケーション31Cを介して、第2NFT420の取得操作を受け付けるグラフィカルユーザインターフェースB1としてのボタン(「交換」ボタン)を表示する。ステップS92に示すように、アプリケーション31Cの表示画面において表示されたグラフィカルユーザインターフェースB1が操作されると、その操作がされたことを示す信号が、端末31からサーバ50へ送信される。
【0105】
サーバ50は、端末31のアプリケーション31CにおいてグラフィカルユーザインターフェースB1の操作がされたことを示す信号を、端末31から受信することで、その操作がされたことを検知する。サーバ50は、その操作がされたことを検知すると、第2条件が満たされたと判定する(図8のステップS82)。
【0106】
すると、サーバ50は、現に、第1NFT411,412を有するアカウント25Aに第2NFT420を与える(図8のステップS83)。また、サーバ50は、第1NFT411,412を非表示にする。なお、第2条件を省略して、第1条件が満たされると、第2NFT420がアカウント25Aに与えられてもよい。この場合、第1条件を満たしたユーザは、交換操作をすることなく、第2NFT420を得ることができる。
【0107】
図9のステップS92は、アカウント25Aが第2NFT420を取得するとともに、2個の第1NFT411,412が非表示とされた状態での端末31のディスプレイの表示を示している。このように、第1NFT411,412が非表示になっているため、ユーザU1は、第1NFT411,412を手放して、第2NFT420を入手したように感じることができる。例えば、第1NFT411,412がブロックチェーンゲームの第1ゲームアイテム(ゲームキャラクタ)であり、第2NFT420が、第1ゲームアイテムの進化版アイテムである場合、ユーザU1は、複数の第1NFT411,412を揃えることで、進化版アイテムを入手することができる。
【0108】
図10は、第2シナリオの第2例を示している。図10に示す第1条件は、図10にしめす第1条件に対応する第1タイプのNFT及び第2タイプのNFTの両方が、単一のアカウントにおいて揃ったことである。すなわち、図10に第1条件は、所定の複数のタイプのNFTが単一のアカウントにおいて揃ったことである。
【0109】
図10における第1タイプのNFTはNFT_Nameが「nftX」であり、TokenIDは#0001から#0100である。第2タイプのNFTはNFT_Nameが「nftY」であり、TokenIDは#8001から8100である。
【0110】
サーバ50は、これらの異なる2つのタイプのNFTが、ユーザU1のアカウント25Aにおいて揃った場合、アカウント25Aに第2NFT420を取得させる。図10にしめす第2例において、その他の点は、図9に示す第1例と同様であるため、説明を省略する。
【0111】
図11は、第3シナリオを示す。第3シナリオでは、第2シナリオと同様に、第1NFTに関連付けられた条件は、第1条件及び第2条件を含む。システム10は、第1条件及び第2条件の両方が満たされた場合(ステップS111,S112)に、第2NFT420をユーザに入手させる(ステップS113)。また、第1NFT411が非表示とされる(ステップS115)。第3シナリオでは、第1シナリオと同様に、条件が満たされる前のアカウント25Aは、1個の第1NFT411を有し、条件が満たされた後のアカウント25Aは、第1NFT411と第2NFT420とを有する。なお、第3シナリオにおいて特に説明しない点については、第1シナリオ及び第2シナリオ並びにそれらの例の説明が援用される。
【0112】
図12は、第3シナリオの第1例を示している。図12に示す条件は、第1条件及び第2条件を含む。図12に示す第2条件は、図6に示す第1条件に相当する。つまり、図12に示す第2条件は、NFTが有するグラフィカルユーザインターフェース415が操作されたことである。
【0113】
図12に示す第1条件は、第1NFT411に関連付けられた何らかのパラメータが、予め設定されたパラメータ要件を満たすことである。ここでのパラメータは、一例として、日時である。また、パラメータ要件は、例えば、期限である。図12では、「2023年7月1日」という期限がパラメータ要件として設定されている。システム10は、例えば、システムクロックを有し、日時を把握している。システム10は、日時を、第1NFTに関連付けられたパラメータとして監視し、予め設定された期限を経過したら、パラメータ要件を満たしたと判定する。すなわち、パラメータ要件としての期限が経過すると、第1条件が満たされたと判定される(図11のステップS111)。
【0114】
なお、第1条件が関連付けられた第1NFTは、例えば、図12の第2条件に示されるNFT(TokenIDが#0001から#0100までのNFT)である。
【0115】
図12のステップS121は、パラメータ要件としての期限(2023年7月1日)より前におけるユーザU1の端末31での表示態様を示している。一例として、図12の第1NFTは、期限経過前(第1条件が満たされる前)においては、グラフィカルユーザインターフェース415が非表示であり、グラフィカルユーザインターフェース415に対する操作が不可とされている。なお、グラフィカルユーザインターフェース415は、期限経過前(第1条件が満たされる前)においても表示されつつも、操作を受け付けないように構成されていてもよい。
【0116】
期限が経過すると、図12のステップS122に示されるように、端末31のディスプレイには、ユーザU1のアカウント25Aが有するNFT411が表示される。サーバ50は、第1NFT411に関連付けられた期限が経過すると、端末31のアプリケーション31Cを介して、第1NFT411の画像中に、グラフィカルユーザインターフェース415を表示させる。したがって、ユーザU1は、グラフィカルユーザインターフェース415を操作可能になる。
【0117】
ユーザU1がグラフィカルユーザインターフェース415を操作すると、その操作がされたことを示す信号が、端末31からサーバ50へ送信される。この信号は、交換操作の対象となった第1NFT411を示すデータ(例えば、第1NFT411のTokenID:#0001)とともに送信される。
【0118】
そして、サーバ50は、その信号を受信することで、第1NFT411が有するグラフィカルユーザインターフェース415の操作がされたことを検知し、図12に示す第2条件が満たされたと判定する(図11のステップS112)。
【0119】
その後は、図6と同様に、サーバ50は、操作がされたことを示す信号の送信元に、第2NFT420を取得させる(図11のステップS113)。また、サーバ50は、交換操作された第1NFT411を非表示にする(図11のステップS115)。
【0120】
図12のステップS123は、アカウント25Aが第2NFT420を取得するとともに、第1NFT411が非表示とされた状態での端末31のディスプレイの表示を示している。このように、交換操作の対象となった第1NFT411が非表示になっているため、ユーザU1は、第1NFT411を手放して、第2NFT420を入手したように感じることができる。
【0121】
図12に示す例において、第1NFT411は、第2NFT420の入手に使用される引換券的な役割を有し得る。第1NFT411を何らかの方法で入手したユーザは、期限経過後の任意のタイミングで操作をすることで、第2NFT420を入手することができる。なお、第2条件は省略されてもよい。すなわち、期限が経過すると(第1条件が満たされると)、グラフィカルユーザインターフェース415を操作することなく、ユーザU1に第2NFT420を入手させてもよい。
【0122】
パラメータ要件及びそのパラメータ要件を満たすべきパラメータは、日時(期限)に限られるものではなく、その他のパラメータであってもよい。その他のパラメータは、例えば、ブロックチェーンゲームなどのオンラインゲームにおける、ポイント又はレベルであってもよい。そのゲームにおいて、ユーザU1が有するポイント又はレベルが、パラメータ要件としての所定のポイント数又はレベルに達した場合、そのユーザU1は、第2NFT420を入手することができる。
【0123】
また、その他のパラメータは、ユーザU1の端末31において取得される、ユーザU1に関するデータであってもよい。ユーザU1に関するデータは、例えば、ヘルスケアデータ又はバイタルデータである。ヘルスケアデータ又はバイタルデータは、例えば、歩数、歩行距離(走行距離を含む)、血圧、心拍数、消費エネルギー、睡眠時間、及び運動時間から選択される1又は複数のデータである。いずれかのデータが、パラメータ要件を満たした場合、ユーザは、第2NFT420を取得し得る。例えば、ユーザの歩数が、パラメータ要件として設定された歩数を超えた場合、ユーザは、第2NFT420を取得し得る。
【0124】
その他のパラメータは、ユーザU1の位置情報であってもよい。位置情報は、例えば、GNSSなどの衛星測位システムにおける位置情報である。位置情報は、例えば、端末31によって取得される。例えば、ユーザU1が、パラメータ要件として設定された所定の位置に存在することが、位置情報によって検出された場合、ユーザは、第2NFT420を取得し得る。
【0125】
図13は、第3シナリオの第2例を示している。図13に示す条件は、第1条件及び第2条件を含む。図13に示す第2条件は、図5示す第1条件に相当する。すなわち、図13に示す第2条件は、アプリケーション31Cにおいて、第2条件に関連付けられた第1NFTを取得する操作がされたことである。なお、第2条件に関連付けられた第1NFTは、例えば、図13の第1条件に示されるNFT(TokenIDが#0001から#0100までのNFT)である。
【0126】
図13に示す第1条件は、システム10(サーバ50)が、第1NFT411を有するアカウント25Aから、所定の登録データを受信したことである。登録データは、システム(サーバ50)に予め登録されたデータである。登録データは、例えば、端末31が、外部から取得する(ステップS131)。端末31は、取得した登録データをシステム10へ送信する。システム10は、第1NFT411に関連付けて予め登録されたデータと同じデータを、第1NFT411を有するアカウント25Aから受信した場合、第1条件が満たされたと判定する(図11のステップS111)。
【0127】
端末31が外部から登録データを取得することは、例えば、端末31が、登録データを示す2次元コードを読み取る、又は、登録データを外部通信装置から無線通信を介して受信することである。外部通信装置は、例えば、近距離無線通信(NFC)のための装置であり得る。外部通信装置は、例えば、無線通信可能な集積回路(IC)である。無線通信可能な集積回路は、例えば、ICタグである。ICタグは、例えば、NFCタグである。登録データは、例えば、無線通信可能な集積回路を個別に特定する固有識別子(UID)であり得る。
【0128】
2次元コード又は外部通信装置は、ユーザU1に配布されるか、ユーザU1が訪れる場所に設置される。ユーザU1は、端末31によって2次元コードを読み取る、又は、端末31を外部通信装置に近づけて登録データを取得する。2次元コードの読取機能及び/又は外部通信装置との通信機能は、端末31のアプリケーション31Cが備えているのが好ましい。
【0129】
ユーザU1の端末31がアカウント25Aによってサーバ50にログインしている状態で、サーバ50が端末31から登録データを受信すると、サーバ50は、アプリケーション31Cに、第2NFT420の取得操作を受け付けるグラフィカルユーザインターフェースB1としてのボタン(「取得」ボタン)を表示させる。
【0130】
ステップS132に示すように、アプリケーション31Cの表示画面において表示されたグラフィカルユーザインターフェースB1が操作されると、その操作がされたことを示す信号が、端末31からサーバ50へ送信される。この信号は、ユーザU1のアカウント25Aが有する第1NFT411を示すデータ(例えば、第1NFT411のTokenID:#0001)とともに送信され得る。なお、この信号とともに、操作をしたユーザのアカウントが送信されてもよいが、ユーザはサーバ50にログインしているので、送信されなくてもよい。
【0131】
サーバ50は、端末31のアプリケーション31CにおいてグラフィカルユーザインターフェースB1の操作がされたことを示す信号を、端末31から受信することで、その操作がされたことを検知する。サーバ50は、その操作がされたことを検知すると、図13に示す第2条件が満たされたと判定する(図11のステップS112)。
【0132】
サーバ50は、登録データを読み取ったユーザU1のアカウント25A(第1NFT411を有するアカウント)に、第1条件及び第2条件に対応付けられた第2NFT420を取得させる(図1のステップS113)。なお、サーバ50は、ブロックチェーン20を参照して、登録データを読み取ったユーザU1のアカウント25Aが、第1NFT411を有することを確認してから、第2NFT420を、そのアカウント25Aに取得させてもよい。また、サーバ50は、第2NFT420の取得に使用された第1NFT411を非表示にする(図11のステップS115)。
【0133】
図13のステップS133は、アカウント25Aが第2NFT420を取得するとともに、第1NFT411が非表示とされた状態での端末31のディスプレイの表示を示している。このように、第2NFT420の取得に使用された第1NFT411が非表示になっているため、ユーザU1は、第1NFT411を手放して、第2NFT420を入手したように感じることができる。
【0134】
図13に示す例においては、第1NFT411は、第2NFT420の入手に使用される引換券的な役割を有し得る。しかも、図13に示す例においては、ユーザは、第2NFT420を入手するために、第1NFT411を有しているだけでなく、登録データを取得することが必要とされる。したがって、図13に示す例では、第2NFT420を入手できるユーザを、第1NFT411を有しており、かつ、登録データを取得したユーザに限定することができる。例えば、2次元コード又は外部通信装置を入手したユーザだけ、又は、2次元コード又は外部通信装置が設置された場所を訪問したユーザだけに、第2NFT420を入手させることができる。しかも、第2条件は省略されてもよい。すなわち、登録データが取得されると(第1条件が満たされると)、グラフィカルユーザインターフェース415を操作することなく、ユーザU1に第2NFT420を入手させてもよい。
【0135】
図15は、第2NFT420の取得に使用された後の第1NFT411の表示態様の例(変形例)を示す。図15では、ステップS151において、第1NFT411が第2NFT420の取得操作に使用される。条件が満たされて、第2NFT420が取得された後のステップS152において、第1NFT411は、非表示とされずに、表示が維持される。ただし、ステップS151においては、第1NFT411には、グラフィカルユーザインターフェースである交換ボタン415が表示されていたのに対して、ステップS152では、「交換済み」411Aが表示される。「交換済み」411Aは、第1NFT411が第2NFT420の取得に既に使用されたことを示す。「交換済み」411Aに対する操作は行えない。このように、図15に示す例では、システム10が、アカウント25Aが有する第1NFT411に関連付けられた条件を満たしたと判定した場合、システム10は、アカウント25Aにおける第1NFT411の表示の少なくとも一部を、アプリケーション31Cを介して、前記条件が満たされる前とは異ならせる。これにより、ユーザは、第1NFT411が使用済みであることを把握できる。
【0136】
第1NFT411に関連付けられる条件は、これまでの説明に例示されたものに限られず、その他の条件であってもよい。その他の条件は、例えば、第1NFT411のアカウント25Aから、システム10へ、ファンジブルトークン又はその他のデジタルアセット(NFTを除く)が送信されたことであってもよい。
【0137】
その他の条件は、第1NFT411を有するユーザU1が現実世界又はメタバースなどの仮想空間において行う行為をシステム10が検知したことであってもよい。この場合、第1NFT411を有するユーザが所定の行為を行うと、第2NFT420を入手できる。現実世界でユーザU1が行う行為は、例えば、所定の店舗を訪れた、所定の店舗で商品又はサービスを購入した、イベント会場に入場した、施設又は所定の場所を訪問した、及びゴールのある競技においてゴールした、ことのいずれかである。ゴールのある競技とは、例えば、マラソン又はトライアスロンである。仮想空間でユーザが行う行為は、例えば、前述の現実世界でユーザU1が行う行為に相当する行為を、仮想空間で行うことである。また、仮想空間でユーザが行う行為は、例えば、ゲームのクリアなどであってもよい。
【0138】
また、その他の条件は、ユーザが能動的に行う行為をシステム10が検出することである必要はなく、現実世界又は仮想空間において、ユーザに関連して生じた事態をシステム10が検出することでであってもよい。ユーザに関連して生じた事態は、例えば、ユーザが抽選に当選したことである。
【0139】
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。
【符号の説明】
【0140】
10 :システム
15 :ネットワーク
20 :ブロックチェーン
21 :スマートコントラクト
21A :条件データ
25A :アカウント
31 :端末
31A :プロセッサ
31B :記憶装置
31C :アプリケーション(コンピュータプログラム)
50 :サーバ
50A :条件データ
51A :プロセッサ
51B :記憶装置
51C :コンピュータプログラム
52 :データベース
70 :読取装置
411 :第1ノンファンジブルトークン(第1NFT)
412 :第1ノンファンジブルトークン(第1NFT)
413 :2次元コード
415 :グラフィカルユーザインターフェース(交換ボタン)
420 :第2ノンファンジブルトークン
B1 :グラフィカルユーザインターフェース
U1 :ユーザ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15