JP2023094491A - Server, token distribution system, and computer implementation method - Google Patents
Server, token distribution system, and computer implementation method Download PDFInfo
- Publication number
- JP2023094491A JP2023094491A JP2021210014A JP2021210014A JP2023094491A JP 2023094491 A JP2023094491 A JP 2023094491A JP 2021210014 A JP2021210014 A JP 2021210014A JP 2021210014 A JP2021210014 A JP 2021210014A JP 2023094491 A JP2023094491 A JP 2023094491A
- Authority
- JP
- Japan
- Prior art keywords
- token
- user
- receiving
- blockchain
- blockchain address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本開示は、サーバ、トークン配布システム、及びコンピュータ実装方法に関する。 The present disclosure relates to servers, token distribution systems, and computer-implemented methods.
特許文献1は、ブロックチェーンにおけるノンファンジブルトークンを、ユーザへ送信することを開示している。 Patent Literature 1 discloses transmitting a non-fungible token in a blockchain to a user.
ブロックチェーンにおいて送信されたトークンをユーザが受信するには、そのユーザは、ブロックチェーンアドレスを有している必要がある。ユーザがブロックチェーンアドレスを有していない場合、そのユーザへのトークン送信はできない。 In order for a user to receive tokens sent on the blockchain, the user must have a blockchain address. If a user does not have a blockchain address, tokens cannot be sent to that user.
企業又は団体等が、キャンペーン等のために、ノンファンジブルトークン等のブロックチェーンにおけるトークンを、企業の顧客等のユーザへ広く配布したい場合がある。しかし、そのユーザが、ブロックチェーンアドレスを有していなければ、ユーザは、トークンを受け取ることができない。 A company, an organization, or the like may want to widely distribute tokens in the blockchain, such as non-fungible tokens, to users such as customers of the company for a campaign or the like. However, if the user does not have a blockchain address, the user cannot receive the token.
トークンを受け取るために、ブロックチェーンアドレスを取得する手続負担をユーザに課すと、トークンを広く配布することが困難になる。このため、例えば、トークンを広く配布することがキャンペーンの目的である場合、そのキャンペーンの目的が達成できなくなる。 Imposing the burden on users to obtain a blockchain address in order to receive tokens makes it difficult to distribute tokens widely. Therefore, for example, if the purpose of the campaign is to distribute tokens widely, the purpose of the campaign cannot be achieved.
したがって、トークンの受け取りを希望するユーザが、ブロックチェーンアドレスを有していない場合であっても、少ない負担で、ユーザが、ブロックチェーンにおけるトークンを受け取れるようにすることが望まれる。 Therefore, even if a user who wishes to receive a token does not have a blockchain address, it is desirable to enable the user to receive the token in the blockchain with less burden.
本開示のある側面は、サーバである。開示のサーバは、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンが送信されるように、前記ブロックチェーンを操作する、ことを備える処理を実行するよう構成されている。 One aspect of the present disclosure is a server. The disclosed server receives a token request requesting token transmission in the blockchain from the user's client terminal, and upon receiving the token request, a reception block for receiving the token transmitted in response to the token request. assigning a chain address to the user; and manipulating the blockchain such that, in response to the received token request, the token is sent to the receiving blockchain address assigned to the user. is configured to run
本開示の他の側面は、トークン配布システムである。開示のトークン配布システムは、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、ことを備える処理を実行するよう構成されている。 Another aspect of this disclosure is a token distribution system. The disclosed token distribution system receives a token request requesting token transmission in a blockchain from a user's client terminal, and upon receiving the token request, a reception for receiving the token transmitted in response to the token request. assigning a receiving blockchain address to the user, and transmitting the token to the receiving blockchain address assigned to the user in response to the received token request. .
本開示の他の側面は、コンピュータ実装方法である。開示の方法は、トークン配布のため、コンピュータが実行するコンピュータ実装方法であって、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、ことを備える。 Another aspect of the disclosure is a computer-implemented method. The disclosed method is a computer-executed computer-implemented method for token distribution, wherein a token request requesting token transmission on a blockchain is received from a user's client terminal, and upon receiving the token request, the token Assigning a receiving blockchain address to the user for receiving a token transmitted in response to a request, and transmitting the token to the receiving blockchain address assigned to the user in response to the received token request. prepare to do
更なる詳細は、後述の実施形態として説明される。 Further details are described as embodiments below.
<1.サーバ、トークン配布システム、及びコンピュータ実装方法の概要> <1. Overview of Server, Token Distribution System, and Computer Implementation Method>
(1)実施形態に係るサーバは、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンが送信されるように、前記ブロックチェーンを操作する、ことを備える処理を実行するよう構成されている。サーバは、トークンリクエストを受信すると、ユーザにブロックチェーンアドレスを割り当てるため、ユーザは、ブロックチェーンアドレスを有していない場合であっても、トークンを受け取ることができる。したがって、ユーザの負担が少ない。 (1) A server according to an embodiment receives a token request requesting token transmission in a blockchain from a user's client terminal, and upon receiving the token request, receives a token transmitted in response to the token request. assigning a receiving blockchain address to the user, and operating the blockchain such that, in response to the received token request, the token is sent to the receiving blockchain address assigned to the user , is configured to perform a process comprising: When the server receives a token request, it assigns the user a blockchain address so that the user can receive the token even if he or she does not have a blockchain address. Therefore, the burden on the user is small.
(2)前記処理は、前記トークンリクエストの送信元である前記ユーザに割り当てられた割当済ブロックチェーンアドレスの有無を判定することを更に備えるのが好ましい。前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記ユーザに割り当てられた前記割当済ブロックチェーンアドレスが無いと判定された場合に実行されるのが好ましい。この場合、トークンリクエストの送信元であるユーザに割り当てられた割当済ブロックチェーンアドレスが無い場合に、ブロックチェーンアドレスが割り当てられる。したがって、ユーザに割り当てられた割当済ブロックチェーンアドレスが有る場合には、ブロックチェーンアドレスの割り当てを省略できる。 (2) Preferably, the processing further comprises determining whether there is an assigned blockchain address assigned to the user from which the token request was sent. Preferably, the assigning of the receiving blockchain address to the user is performed when it is determined that there is no assigned blockchain address assigned to the user. In this case, if there is no assigned blockchain address assigned to the user from which the token request was sent, a blockchain address is assigned. Therefore, if there is an assigned blockchain address assigned to the user, assignment of the blockchain address can be omitted.
(3)前記トークンリクエストは、第1コードを含むのが好ましい。前記処理は、前記トークンリクエストの有効性を、前記第1コードを用いて判定することを更に備えるのが好ましい。前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定された場合に実行されるのが好ましい。この場合、トークンリクエストが有効である場合に、ブロックチェーンアドレスの割り当てが行われ、トークンリクエストが有効でない場合には、ブロックチェーンアドレスの割り当てを省略できる。 (3) Preferably, the token request includes a first code. Preferably, said processing further comprises determining validity of said token request using said first code. Preferably, assigning said receiving blockchain address to said user is performed when said token request is determined to be valid. In this case, if the token request is valid, the blockchain address is assigned, and if the token request is not valid, the blockchain address assignment can be omitted.
(4)前記トークンリクエストは、第1コードを含むのが好ましい。前記処理は、前記トークンリクエストの有効性を、前記第1コードを用いて判定し、前記トークンリクエストの送信元である前記ユーザに割り当てられた割当済ブロックチェーンアドレスの有無を判定する、ことを更に備えるのが好ましい。前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定され、かつ、前記ユーザに割り当てられた前記割当済ブロックチェーンアドレスが無いと判定された場合に実行されるのが好ましい。この場合、トークンリクエストが有効、かつ、割当済ブロックチェーンアドレスが無い場合に、ブロックチェーンアドレスの割り当てが行われ、そうでない場合には、ブロックチェーンアドレスの割り当てを省略できる。 (4) Preferably, the token request includes a first code. Further, the process determines validity of the token request using the first code and determines whether there is an assigned blockchain address assigned to the user from which the token request originated. It is preferable to have Assigning the receiving blockchain address to the user is performed when it is determined that the token request is valid and that there is no assigned blockchain address assigned to the user. is preferred. In this case, if the token request is valid and there is no assigned blockchain address, then the assignment of the blockchain address is performed; otherwise, the assignment of the blockchain address can be omitted.
(5)前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記受信用ブロックチェーンアドレスを、前記サーバにおける前記ユーザのアカウントに割り当てることを含むのが好ましい。この場合、サーバにおけるユーザのアカウントにブロックチェーンアドレスが割り当てられる。 (5) Preferably, assigning the receiving blockchain address to the user includes assigning the receiving blockchain address to the user's account at the server. In this case, a blockchain address is assigned to the user's account on the server.
(6)前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記サーバにおける前記ユーザのアカウントを生成し、前記受信用ブロックチェーンアドレスを、生成された前記アカウントに割り当てる、ことを含むのが好ましい。この場合、ユーザアカウントの生成も行われるため、ユーザは、サーバにおけるユーザアカウントを有していなくても、ブロックチェーンアドレスの割り当てを受けることができる。 (6) Preferably, assigning the receiving blockchain address to the user includes creating an account for the user on the server and assigning the receiving blockchain address to the created account. . In this case, a user account is also created, so the user can be assigned a blockchain address without having a user account on the server.
(7)前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、予め発行された複数の割当候補ブロックチェーンアドレスから、前記ユーザに割り当てられる割当用ブロックチェーンアドレスを選択し、前記割当用ブロックチェーンアドレスを、前記受信用ブロックチェーンアドレスとして、前記ユーザに割り当てる、ことを含むのが好ましい。この場合、ブロックチェーンアドレスの割り当てを迅速に行うことができる。 (7) Allocating the receiving blockchain address to the user includes selecting an allocation blockchain address to be allocated to the user from a plurality of allocation candidate blockchain addresses issued in advance, to the user as the receiving blockchain address. In this case, blockchain address allocation can be done quickly.
(8)前記ブロックチェーンを操作することは、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンが送信されるように、前記トークンを送信するよう構成されたスマートコントラクトを呼び出すことを含むのが好ましい。この場合、スマートコントラクトによってトークンが送信される。 (8) manipulating the blockchain includes invoking a smart contract configured to transmit the token such that the token is transmitted to the receiving blockchain address assigned to the user; is preferred. In this case, the token is sent by the smart contract.
(9)前記ブロックチェーンを操作することは、第2コードを生成し、前記第2コードを前記スマートコントラクトへ送信する、ことを更に含み、前記第2コードは、前記スマートコントラクトが、送信すべきトークンを識別するため、送信すべきトークンのタイプを識別するため、又は送信のために生成すべきトークンのタイプを識別するため、に用いられるのが好ましい。 (9) operating the blockchain further includes generating a second code and transmitting the second code to the smart contract, the second code being transmitted by the smart contract; It is preferably used to identify the token, to identify the type of token to be transmitted, or to identify the type of token to be generated for transmission.
(10)実施形態に係るトークン配布システムは、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、ことを備える処理を実行するよう構成されている。 (10) The token distribution system according to the embodiment receives a token request requesting token transmission in the blockchain from the user's client terminal, and upon receiving the token request, transmits the token transmitted in response to the token request. assigning a receiving blockchain address for receiving to the user; and transmitting the token to the receiving blockchain address assigned to the user in response to the received token request. is configured as follows.
(11)トークン配布システムが実行する前記処理は、前記トークンリクエストを受信した後に、前記受信用ブロックチェーンアドレスへ送信するための前記トークンを生成することを更に備えるのが好ましい。 (11) Preferably, said processing performed by the token distribution system further comprises, after receiving said token request, generating said token for transmission to said receiving blockchain address.
(12)トークン配布システムが実行する前記処理は、前記トークンリクエストを受信した後に、生成される前記トークンのタイプを決定することを更に備えるのが好ましい。 (12) Preferably, said processing performed by the token distribution system further comprises determining the type of said token to be generated after receiving said token request.
(13)前記タイプは、ランダムに決定されるのが好ましい。この場合、ユーザは、ランダムに決定されるタイプのNFTを受け取ることができる。 (13) Preferably, the type is randomly determined. In this case, the user can receive a randomly determined type of NFT.
(14)実施形態に係る方法は、トークン配布のため、コンピュータが実行するコンピュータ実装方法であって、ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、ことを備える。 (14) A method according to an embodiment is a computer-executed computer-implemented method for token distribution, in which a token request requesting token transmission in a blockchain is received from a user's client terminal, and the token request is Upon receipt, assigning the user a receiving blockchain address for receiving a token transmitted in response to the token request, and assigning the receiving blockchain address assigned to the user in response to the received token request. sending said token to.
(15)コンピュータ実装方法は、前記トークンリクエストを受信した後に、前記受信用ブロックチェーンアドレスへ送信するための前記トークンを生成することを更に備えるのが好ましい。 (15) Preferably, the computer-implemented method further comprises, after receiving said token request, generating said token for transmission to said receiving blockchain address.
<2.サーバ、トークン配布システム、及びコンピュータ実装方法の例> <2. Examples of servers, token distribution systems, and computer-implemented methods>
以下、図面を参照しつつ、本発明の実施形態の一例をより詳細に説明する。 Hereinafter, an example of an embodiment of the present invention will be described in more detail with reference to the drawings.
図1は、実施形態に係るシステム10の一例を示している。このシステム10は、ブロックチェーン20を利用したシステムである。実施形態に係るシステム10は、トークン配布システムを構成し得る。トークン配布システムは、ユーザに対して、ブロックチェーンにおけるトークンを配布する。
FIG. 1 shows an example of a
実施形態に係るシステム10は、ネットワーク15に接続されたサーバ51を備え得る。ネットワーク15は、例えば、インターネットである。サーバ51は、ネットワーク15を介してブロックチェーン20にアクセスし得る。サーバ51は、1つのコンピュータによって構成されていてもよいし、複数のコンピュータによって構成されていてもよい。サーバ51は、システム10の管理者によって管理され得る。管理者は、例えば、トークン配布のための管理者である。管理者は、後述のスマートコントラクト22の管理者でもあり得る。
図2に示すように、サーバ51は、プロセッサ51A及び記憶装置51Bを備えるコンピュータによって構成され得る。記憶装置51Bは、プロセッサ51Aに接続されている。記憶装置51Bは、例えば、一次記憶装置及び二次記憶装置を備える。一次記憶装置は、例えば、RAMである。二次記憶装置は、例えば、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)である。記憶装置51Bは、プロセッサ51Aによって実行されるコンピュータプログラム51Cを備える。プロセッサ51Aは、記憶装置51Bに格納されたコンピュータプログラム51Cを読み出して実行する。コンピュータプログラム51Cは、トークン配布処理51Kをコンピュータに実行させる命令を示すプログラムコードを有する。トークン配布処理51Kについては後述される。
As shown in FIG. 2, the
記憶装置51Bは、様々なデータ又は情報を保存し得る。例えば、記憶装置51Bは、判定条件51Dを有し得る。また、記憶装置51Bは、コードリスト51Eを有し得る。また、記憶装置51Bは、ブロックチェーンアドレスリスト51Fを有し得る。また、記憶装置51Bは、NFTリスト51Gを有し得る。また、記憶装置51Bは、NFTタイプリスト51Hを有し得る。これらのデータ又は情報については後述される。
サーバ51は、クライアント端末31とともにクライアント・サーバシステムを構成する。サーバ51は、クライアント端末31からのリクエストに応じて処理を実行する。サーバ51によって実行される処理は、例えば、トークン配布処理51Kである。サーバ51は、トークン配布のため、クライアント端末31からトークンリクエストを受信する。以下では、トークンリクエストを受信するサーバ51は、トークンリクエスト受付サーバ51とも呼ばれる。サーバ51によって実行される処理は、ユーザにブロックチェーンアドレスを割り当てるアドレス設定処理(図5のステップS55参照)を含み得る。実施形態において、アドレス設定処理は、トークン配布処理51Kの一部を構成し得る。
The
クライアント端末31は、トークンを受け取るユーザの端末である。クライアント端末31は、例えば、スマートフォン、タブレット、又はパーソナルコンピュータである。トークンの受け取りを希望するユーザは、クライアント端末31を操作し、クライアント端末31から、サーバ51へ、トークンリクエストを送信する。有効なトークンリクエストを送信したユーザは、トークンを受け取ることができる。
The
実施形態においては、ユーザが、ブロックチェーンにおけるトークンを入手するため、管理者等によって、コードがユーザへ配布される。ユーザに配布されるコードを、以下では、トークンコード又は第1コードという。トークンコードは、システム10によるトークン配布に利用される。ユーザに配布される複数のトークンコードは、それぞれが異なるユニークなコードであるのが好ましい。コードは、例えば、数字、文字、又は記号からなる複数桁のコードである。トークンコードは、例えば、機械読み取り可能な形式で表され得る。機械読み取り可能な形式は、例えば、二次元コード60の形式又はバーコードの形式である。トークンコードは、例えば、紙などの有形媒体101に印刷によって付される。トークンコードは、クライアント端末31へデータ送信可能な装置へ格納された状態で配布されてもよい。データ送信可能な装置は、例えば、クライアント端末31と通信可能なICタグ(無線タグ)である。トークンコードを有する有形媒体101又は装置は、有償又は無償でユーザへ配布される。トークンコードは、クライアント端末31へデジタルデータとして配布されてもよい。
In embodiments, codes are distributed to users, such as by administrators, for users to obtain tokens on the blockchain. Codes distributed to users are hereinafter referred to as token codes or first codes. The tokencode is used for token distribution by
実施形態においては、一例として、トークンコード(例えば、qC2oFsNKrHimID6u)は、トークンコードを含むユニフォームリソースアイデンティファイア120(URI)を表す二次元コード60の形式で、有形媒体101に印刷によって付される。URI120は、スキームと、オーソリティと、を備える。ここでのURIは、一例として、ユニフォームリソースロケータ(URL)である。スキームは、例えば、https:である。オーソリティは、スキームに後続して記述され、資源の場所などを示す。なお、URI120は、スキームを含んでいなくてもよい。なお、図1の有形媒体101は、人が読み取れる形式でトークコード(qC2oFsNKrHimID6u)を表したコード表示部101Bを備えている。
In one embodiment, the tokencode (eg, qC2oFsNKrHimID6u) is printed onto the
実施形態において、オーソリティは、例えば、図1に示すURI120のように、URI本体123Aと、トークンコード123Cと、を備え得る。URI本体123Aは、例えば、ホストを含む。ホストは、サーバ51の名前(ドメイン名)を示す。トークンコード123Cは、例えば、URI本体123Aに後続して記述されたパス(path)であり得る。なお、URI本体123Aもパスを含んでもよい。図1に示すオーソリティおいて、URI本体123Aは、一例として、「aaa....com」であり、トークンコード123Cは、一例として「qC2oFsNKrHimID6u」である。なお、クライアント端末31が、URI本体123Aを予め把握している場合には、二次元コード60は、URI本体123Aを含まず、トークンコード及びその他必要なデータだけを含んでもよい。
In embodiments, an authority may comprise a URI body 123A and a token code 123C, such as
クライアント端末31は、例えば、クライアント端末31が備えるカメラ(図示省略)によって、二次元コード60を読み取ることで、URI120を取得する。すなわち、クライアント端末31は、二次元コード60を読み取ることで、トークンコード123Cを取得する。なお、クライアント端末31によるトークンコードの取得は、人が読み取り可能に有形媒体101に付されたトークンコード123Cを、ユーザが、手動操作でクライアント端末31へ入力することによって行われてもよい。クライアント端末31は、ネットワーク15又はその他の通信手段を介して、他の装置から、デジタルデータとしてトークンコード123Cを取得してもよい。
The
トークン配布に利用されるブロックチェーン20は、複数のコンピュータが相互に接続されたP2P(ピアーツーピア;Peer to Peer)のコンピュータネットワークシステムによって構成されている。
The
ブロックチェーン20においては、ブロックチェーンアドレス間で取引が可能である。図3では、第1ブロックチェーンアドレス25A、第2ブロックチェーンアドレス25B、及び第3ブロックチェーンアドレス25Cが例示されている。一例として、第1ブロックチェーンアドレス25Aは、0x11111で表され、第2ブロックチェーンアドレス25Bは、0x33333で表され、第3ブロックチェーンアドレス25Cは、0x55555で表される。ブロックチェーンアドレス25A,25B,25Cは、例えば、ブロックチェーン20におけるユーザアカウントを示す。ブロックチェーンアドレス25A,25B,25C及びブロックチェーン20における取引のトランザクションは、ブロックチェーン20の分散台帳に記録される。
In
ブロックチェーン20おいては、例えば、トークンの取引が可能である。ブロックチェーン20において取引可能なトークンとしては、ファンジブルトークン(代替性トークン;Fungible Token:FT)と、ノンファンジブルトークン(非代替性トークン;Non-Fungible Token:NFT)と、がある。ファンジブルトークンは、例えば、イーサリアム(Ethereum)におけるイーサ(Ether)などの暗号通貨である。ファンジブルトークンは、企業又は個人によってブロックチェーンにおいて発行される独自ファンジブルトークンであってもよい。
For example, token transactions are possible on the
ノンファンジブルトークン(NFT)は、ファンジブルトークン(FT)とは異なり、代替性を有さないトークンである。非代替性の確保のため、NFTは、ブロックチェーン20において、他のNFTとの区別を可能にするための固有の識別子を有する。以下では、この識別子をNFT識別子という。
A non-fungible token (NFT) is a token that does not have fungibility, unlike a fungible token (FT). To ensure non-fungibility, an NFT has a unique identifier in the
実施形態に係るシステム10は、NFTを配布してもよいし、FTを配布してもよいし、NFT及びFTの両方を配布してもよい。
The
ブロックチェーン20において、ユーザ所有するNFT又はFTは、ユーザが有するブロックチェーンアドレス25A,25B,25Cに対応付けて記録される。
In the
ブロックチェーン20は、スマートコントラクト22を備える。スマートコントラクト22は、実施形態に係るシステム10を構成し得る。スマートコントラクト22は、ブロックチェーンにおいて実行可能に実装されたソフトウェア(コンピュータプログラム)によって構成されている。スマートコントラクト22は、自動取引等の所定のプロトコルを自動的に実行する。
スマートコントラクト22は、トークン配布のため、サーバ51と協働し得る。以下では、一例として、トークンの配布のために、ユーザから送信されたトークンリクエストを受信したサーバ51が、スマートコントラクト22を呼び出し、呼び出されたスマートコントラクト22が、トークンをユーザへ送信する。
前述のブロックチェーンアドレスは、スマートコントラクト22のコントラクトアドレスを示すこともある。コントラクトアドレスは、スマートコントラクト22が格納されているブロックチェーンアドレスである。
The aforementioned blockchain address may also refer to the contract address of
ブロックチェーン20においては、スマートコントラクト22もNFT又はFTを所有できる。ブロックチェーン20において、ユーザへの配布のためにスマートコントラクト22が所有するNFT又はFTは、スマートコントラクト22のコントラクトアドレスに対応付けて記録される。
In
スマートコントラクト22によって実行される処理は、例えば、トークンの操作である。トークンの操作は、例えば、トークンの所有者変更である。トークンの所有者変更の操作は、トークンの送信とも呼ばれる。すなわち、トークンの所有者を第1ブロックチェーンアドレス25Aから第2ブロックチェーンアドレス25Bに変更することは、第1ブロックチェーンアドレス25Aから第2ブロックチェーンアドレス25Bへトークンを送信することもでもある。
The processing performed by the
トークンの送信は、例えば、スマートコントラクト22のコントラクトアドレスから、他のブロックチェーンアドレス25A,25B,25Cへトークンを送信することであり得る。つまり、ユーザへのトークンの配布元は、スマートコントラクト22であり得る。なお、ユーザへのトークンの配布元は、システム10の管理者のブロックチェーンアドレスであってもよい。
Sending a token can be, for example, sending a token from the contract address of the
スマートコントラクト22は、例えば、スマートコントラクト22外からの呼び出し操作によって呼び出されることで、スマートコントラクト22における処理23,24が実行される。スマートコントラクト22は、例えば、システム10の管理者のブロックチェーンアドレス又はユーザのブロックチェーンアドレス25A,25B,25Cから呼び出される。スマートコントラクト22によって実行される処理23,24は、図3に示す第1送信処理23又は第2送信処理24を含み得る。なお、第1送信処理23及び第2送信処理24は、少なくともいずれか一方が実行されば足りる。
The
図4は、クライアント端末31におけるトークン取得のための大まかな手順の一例を示している。まず、企業のトークン配布キャンペーン等のため、トークンコードが多数のユーザへ配布される。トークンコードの配布方法の例は、前述のとおりであり、特に限定されない。各ユーザが取得するトークンコードは、それぞれ異なるユニークコードあり得る。
FIG. 4 shows an example of a rough procedure for token acquisition in the
ユーザのクライアント端末31は、配布されたトークンコードを取得する(ステップS41)。トークンコードは、例えば、トークンコードを含むURI120の形式で取得される。URI120は、トークン配布システム10へのアクセスに用いられる。クライアント端末31は、例えば、クライアント端末にインストールされたウェブブラウザアプリケーションプログラム又はシステム10へのアクセスのための専用アプリケーションプログラムを利用して、URI120へアクセスする。アクセスは、例えば、システム10のサーバ51によって受け付けられる。このアクセスによって、システム10は、ユーザが取得したトークンコードを受信し得る。
The user's
アクセスを受け付けたシステム10は、クライアント端末31のディスプレイに表示される第1画面表示31Aを、クライアント端末31に提供する(ステップS42)。第1画面表示31Aは、例えば、サーバ51によって提供され得る。第1画面表示31Aは、例えば、ユーザが取得したトークンコードの表示301を有し得る。第1画面表示31Aは、トークンを取得するかどうかのユーザの意思確認のための操作部302を有し得る。操作部302は、例えば、グラフィカルユーザインターフェースとしてのボタン又はアイコンである。意思確認は、ユーザにブロックチェーンアドレスを割り当てることの意思確認でもあり得る。
The
トークンコードを利用したトークンの受け取りを希望するユーザによって、操作部302が操作されると、クライアント端末31から、トークン配布システム10へ、第1トークンリクエストR1が送信される(ステップS43)。第1トークンリクエストR1には、前述のトークンコードが対応付けられている。第1トークンリクエストR1に対応付けられたトークンコードは、第1トークンリクエストR1とともに送信されてもよいし、第1トークンリクエストR1よりも前又は後に送信されてもよい。第1トークンリクエストR1は、例えば、サーバ51によって受信される。
When a user who wishes to receive a token using a token code operates the
トークン配布システム10は、第1トークンリクエストR1を送信したユーザのブロックチェーンアドレスへ、NFT等のトークンを送信する。システム10は、ユーザが受信したトークンをクライアント端末31のディスプレイに表示させる第2画面表示31Bを、クライアント端末31に提供する(ステップS44)。第2画面表示31Bは、例えば、サーバ51によって提供される。ユーザは、第2画面表示31Bを参照することで、取得したトークンを閲覧することができる。ユーザは、取得したトークンを、他者へ譲渡、販売することができる。取得したトークンは、他のトークンとの交換に利用されてもよい。
The
第2画面表示31Bは、例えば、ユーザが有するNFTの一覧の表示、及びユーザが有するFTの数量の表示の少なくともいずれか一方又は両方を有し得る。図4の第2画面表示31Bは、ユーザが有するNFT一覧を示している。図4では、一例として、ブロックチェーンにおけるNFT識別子としてNft_id01を有し、シリアル番号012345を有するNFT501が示されている。
The
図5は、システム10のサーバ51が実行するトークン配布処理51Kの手順を示している。まず、サーバ51は、クライアント端末31から、ネットワーク15を介して、第1トークンリクエストR1を受信する(ステップS51)。サーバ51は、受信した第1トークンリクエストR1に対応付けられたトークンコードを用いて、第1トークンリクエストR1の有効性を判定する(ステップS52)。有効性の判定には、例えば、コードリスト51E(図2参照)が用いられ得る。コードリスト51Eは、例えば、配布された全てのトークンコードを示す。第1トークンリクエストR1に対応付けられたトークンコードが、コードリスト51Eに含まれていれば、第1トークンリクエストは有効であると判定され、コードリスト51Eに含まれていなければ、第1トークンリクエストは無効であると判定される。第1トークンリクエストR1が無効であると判定された場合、ユーザへトークンが配布されることなく、トークン配布処理51Kは終了する。
FIG. 5 shows the
有効性の判定には、コードリスト51Eに加えて又は替えて、判定条件51Dが用いられてもよい。判定条件51Dを満たした場合、第1トークンリクエストR1は有効であると判定され、判定条件51Dを満たさない場合、無効であると判定される。判定条件51Dは、例えば、「トークンリストに含まれるトークンコードが未使用である」ことである。この場合、一つのトークンコードの利用は1回に制限される。他の判定条件51Dは、例えば、「同一ユーザによるトークンリクエストが同日に無い」ことである。この場合、一つのトークンコードを繰り返し使用できるが、同一ユーザによる使用は、1日1回に制限される。
In addition to or instead of the
ステップS52において、第1トークンリクエストR1が有効であると判定された場合、第1トークンリクエストR1の送信元であるユーザに割り当てられたブロックチェーンアドレス(割当済ブロックチェーンアドレス)の有無が判定される(ステップS53)。第1トークンリクエストR1の送信元ユーザに割り当てられた割当済ブロックチェーンアドレスが既に有る場合には、サーバ51は、ユーザへのトークン送信のため、ステップS54を実行する。割当済ブロックチェーンアドレスが無い場合、サーバ51は、ユーザへのブロックチェーンアドレスの割り当てのためのアドレス設定(ステップS55)を行ってから、ステップS54を実行する。
If it is determined in step S52 that the first token request R1 is valid, it is determined whether or not there is a blockchain address (assigned blockchain address) assigned to the user who sent the first token request R1. (Step S53). If there is already an assigned blockchain address assigned to the source user of the first token request R1, the
ステップS54において、サーバ51は、ユーザアカウントに割り当てられたブロックチェーンアドレスへ、トークンが配布されるように、ブロックチェーン20を操作する。ここでのブロックチェーン20の操作の一例は、トークンを送信するスマートコントラクト22の呼び出しである。なお、ブロックチェーン20の操作は、スマートコントラクト22を利用することなく、システム10の管理者のブロックチェーンアドレスからトークンが送信されるブロックチェーン20を操作することであってもよい。
At step S54,
さて、ステップS55が実行されるのは、例えば、ユーザが、初めてシステム10のサーバ51にアクセスした場合、又は、ユーザは、システム10のサーバ51にアクセスしたことはあるが、トークンの取得などブロックチェーン20に関連したサービスの提供を受けたことがない場合である。
Now, step S55 is executed, for example, when the user accesses the
ステップS55において、サーバ51は、ユーザがサーバ51にログインするためのユーザアカウント500を生成する(ステップS55A)。ユーザアカウント500は、サーバ51が提供するオンラインサービスのためのアカウントである。サーバ51が提供するオンラインサービスは、例えば、トークンの送受信・トークンの閲覧などブロックチェーンに関連したサービスを含むことができる。サーバ51が提供するオンラインサービスは、ブロックチェーンに直接関連しないサービスを含んでもよい。ブロックチェーンに直接関連しないサービスは、例えば、ソーシャルネットワークサービス(SNS)、オンラインショッピングサービス、オンラインゲームサービス、音楽、動画又は電子出版物のオンライン提供サービス、オンライン教育サービス、及びメタバース(Metaverse)サービスのいずれかである。トークン配布を契機として、これらのサービスのユーザアカウント500がユーザのために生成されることで、これらのサービスのユーザ数を増加させることができる。
At step S55, the
ユーザアカウント500の生成のため、必要に応じて、ユーザのID及びパスワードが設定される。ユーザのID及びパスワードは、サーバ51が決定してもよいし、ユーザが決定してもよい。ユーザアカウント500のID及びパスワードとしては、後述のブロックチェーンアドレス及びプライベートキーが用いられてもよい。この場合、ブロックチェーンアドレス及びプライベートキーが、ユーザアカウント500のID及びパスワードに兼用されるため、ユーザの利便性が高まる。
A user ID and password are set as necessary to generate the user account 500 . The user ID and password may be determined by the
サーバ51は、ユーザアカウント500に、ユーザのためのブロックチェーンアドレスを割り当てる(ステップS55B)。ユーザアカウント500に割り当てられるブロックチェーンアドレスは、第1トークンリクエストR1に応じて、トークン配布処理51Kによってユーザへ送信されるトークンを受信するための受信用ブロックチェーンアドレスである。受信用ブロックチェーンアドレスは、ユーザに割り当てられると、前述の割当済ブロックチェーンアドレスとして扱われる。なお、ユーザに割り当てられた受信用ブロックチェーンアドレスは、トークンの送信等の他の用途に用いられてもよい。
The
実施形態においては、サーバ51によってユーザにブロックチェーンアドレスが割り当てられるため、ユーザは、ブロックチェーンアドレスの取得の手間から解放される。また、ユーザは、ブロックチェーンアドレスの取得を特に意識することなく、ブロックチェーンアドレスの割り当てを受けることも可能である。
In the embodiment, since the
なお、第1トークンリクエストR1を送信したユーザが、サーバ51におけるユーザアカウント500を既に有しているが、そのユーザアカウント500にブロックチェーンアドレスが未割当の場合もあり得る。例えば、ユーザが、前述の「ブロックチェーンに直接関連しないサービス」(前述のソーシャルネットワークサービス(SNS)など)を既に利用しており、そのサービスのユーザアカウント500を既に有している場合である。そのサービスにおいて、トークン配布が行われる場合、そのユーザは、ユーザアカウント500にログインした状態で、サーバ51へ第1トークンリクエストを送信してもよい。この場合、アドレス設定(ステップS55)において、ユーザアカウント500の生成(ステップS55A)は、省略され得る。
It is possible that the user who sent the first token request R1 already has a user account 500 in the
以上のように、本実施形態において、第1トークンリクエストR1は、ブロックチェーンアドレスの割り当てを伴うこともある。したがって、第1トークンリクエストR1は、サーバ51がユーザアカウント500にブロックチェーンアドレスを割り当てることを要求する「割当リクエスト」又はサーバ51がブロックチェーンアドレスを割り当てることを承認する「割当承認」などのユーザ指示として捉えることができる。サーバ51は、ブロックチェーンアドレスを割り当てるためのユーザ指示R1を受け付けると、サーバ51におけるユーザの既存ユーザアカウント500にブロックチェーンアドレスを割り当てる。これにより、ユーザは、ブロックチェーン20を利用できない既存ユーザアカウント500を、ブロックチェーン20を利用できるユーザアカウント500に変更することができる。なお、ブロックチェーンアドレスを割り当てるためのユーザ指示R1は、トークンコードが対応付けられていなくてもよい。
As described above, in this embodiment, the first token request R1 may be accompanied by allocation of a blockchain address. Therefore, the first token request R1 is a user instruction such as "assignment request" requesting that
既存ユーザアカウント500を、ブロックチェーン20をも利用できるユーザアカウント500に更新した場合、ユーザは、そのユーザアカウント500にログインした状態で、ブロックチェーン20におけるトークンの取引・閲覧等のブロックチェーン関連サービスを利用することができる。例えば、ユーザは、ソーシャルネットワークサービス(SNS)、オンラインショッピングサービス、オンラインゲームサービス、音楽、動画又は電子出版物のオンライン提供サービス、オンライン教育サービス、又はメタバース(Metaverse)サービスなどのオンラインサービスにログインした状態で、ブロックチェーン20におけるトークンの取引・閲覧等のブロックチェーン関連サービスを利用することができる。
When the existing user account 500 is updated to a user account 500 that can also use the
実施形態においては、受信用ブロックチェーンアドレスは、一例として、予め発行された複数の割当候補ブロックチェーンアドレスから、サーバ51によって選択される。予め発行された複数の割当候補ブロックチェーンアドレスは、例えば、ブロックチェーンアドレスリスト51F(図2参照)に格納されている。ブロックチェーンアドレスリスト51Fに格納された割当候補ブロックチェーンアドレスは、システム10の管理者等によって、ブロックチェーン20において発行済みであるが、ユーザに未割当のアドレスである。図2に示すブロックチェーンアドレスリスト51Fには、一例として、図3に示す第1~第3ブロックチェーンアドレス25A,25B,25Cが格納されている。サーバ51は、ブロックチェーンアドレスリスト51Fから、適宜、一つの割当用ブロックチェーンアドレスを選択し、選択された割当用ブロックチェーンアドレスを、受信用ブロックチェーンアドレスとして、ユーザに割り当てることができる。
In the embodiment, the receiving blockchain address is selected by the
ブロックチェーンアドレスの発行は、ブロックチェーン20に記録される必要があり、ブロックチェーン20への記録には時間を要することがある。このため、ブロックチェーンアドレスの発行には時間を要することがある。しかし、複数のブロックチェーンアドレスを、割当用として予め発行しておくことで、割り当てが必要となったときに、迅速にブロックチェーンアドレスを割り当てることができる。特に、ブロックチェーンアドレス予め発行しておくことで、多数の割り当てを短時間で行わなければならない場合にも容易に対処でき有利である。
Issuance of a blockchain address needs to be recorded in the
なお、サーバ51は、割り当ての必要が生じてから、ブロックチェーンアドレス(プライベートキー)の発行のための処理を実行してもよい。例えば、ステップS53において、割当済ブロックチェーンアドレスが無いと判定されてから、ユーザに割り当てるための割当用ブロックチェーンアドレスを発行してもよい。この場合、予めブロックチェーンアドレス(プライベートキー)を発行しておく必要がなく、簡便である。
Note that the
図2に示すブロックチェーンアドレスリスト51Fには、割当候補ブロックチェーンアドレスに対応するプライベートキーも格納されている。ブロックチェーン20において、プライベートキーは、取引に必要である。前述のように、ブロックチェーンアドレス及びプライベートを、サーバ51におけるユーザアカウント500のためのID及びパスワードとして用いてもよい。
Private keys corresponding to allocation candidate block chain addresses are also stored in the block
割当候補ブロックチェーンアドレスに対応するプライベートキーは、割当候補ブロックチェーンアドレスがユーザに割り当てられた際に、そのユーザに送信されて、ユーザにおいて保存されるのが好ましい。この場合、ユーザは、プライベートキーを用いて、ブロックチェーン20においてトークンの取引をすることができる。
The private key corresponding to the allocation candidate blockchain address is preferably transmitted to and stored at the user when the allocation candidate blockchain address is assigned to the user. In this case, the user can trade tokens on the
また、割当候補ブロックチェーンアドレスに対応するプライベートキーは、割当候補ブロックチェーンアドレスがユーザに割り当てられた後においても、引き続きサーバ51に保存されてもよい。この場合、サーバ51は、ユーザのために、プライベートキーを安全に保管し、ユーザの必要に応じて、プライベートキーをユーザに使用させることができる。
Also, the private key corresponding to the allocation candidate blockchain address may continue to be stored in the
図6は、ユーザアカウント500へ第1ブロックチェーンアドレス25Aを割り当てる例を示している。図6に示すステップS61の状態において、ブロックチェーン20では、第1ブロックチェーンアドレス25A(0x11111)が予め発行されており、サーバ51は、第1ブロックチェーンアドレス25Aを割当候補ブロックチェーンアドレスとして有している。また、サーバ51は、第1ブロックチェーンアドレスに対応するプライベートキーも有している。図6に示すステップS61の状態において、サーバ51は、第1トークンリクエストR1を受信する。なお、図6のステップS61は、図5のステップS51に対応する。
FIG. 6 shows an example of assigning a
サーバ51は、第1トークンリクエストR1を受信すると、ユーザアカウント500を生成し、そのユーザアカウント500に第1ブロックチェーンアドレス25Aを割り当てる(ステップS62)。なお、図6のステップS62は、図5のステップS55に対応する。
When the
サーバ51は、ユーザアカウント500を生成すると、既に受信している第1トークンリクエストR1を、ユーザアカウント500からのリクエストとして扱う。つまり、サーバ51は、ユーザアカウント500が存在しない状態で受信した第1トークンリクエストR1を、事後的に生成したユーザアカウント500において受信したリクエストとして扱う。
After generating the user account 500 , the
ユーザアカウント500には第1ブロックチェーンアドレス25Aが割り当てられているため、第1トークンリクエストR1は、ユーザアカウント500を介して、第1ブロックチェーンアドレス25Aに関連付けられる。つまり、サーバ51は、第1トークンリクエストR1を有するユーザアカウント500によって、第1トークンリクエストR1に応じたトークンの送信先が、ユーザアカウント500に割り当てられた第1ブロックチェーンアドレス25Aであることを認識することができる。
Since the user account 500 is assigned the
以上のように、図5のステップS55Bが実行された場合、ステップS55においてユーザに割り当てられた受信用ブロックチェーンアドレス25Aが、第1トークンリクエストR1に応じて送信されるトークンの送信先アドレスとして設定される。すなわち、サーバ51は、ユーザに割り当てられたブロックチェーンアドレス25Aをトークン送信先として、トークンが送信されるようにブロックチェーン20を操作する。例えば、サーバ51は、ユーザに割り当てられたブロックチェーンアドレス25Aをトークン送信先として指定して、スマートコントラクト22を呼び出す。スマートコントラクト22は、呼び出されるとトークンを指定された送信先へ送信するよう構成されているため、指定された送信先であるブロックチェーンアドレス25A(0x11111)へ、第1トークンリクエストR1に応じたトークンが送信される。
As described above, when step S55B in FIG. 5 is executed, the receiving
以上のように、ユーザに割り当てられたブロックチェーンアドレス25Aへトークンが送信されると、ユーザは、そのトークンを所有していることになる。ユーザが所有するトークンは、サーバ51のユーザアカウント500において参照又は取引可能となる。
As described above, when a token is sent to the
図7は、スマートコントラクト22が実行するトークン送信のための第1送信処理23(図3参照)の例を示している。第1送信処理23では、第1トークンリクエストR1を受信する前において予め発行されているNFT501,502,503が、第1トークンリクエストR1に応じて送信される。図3に示すスマートコントラクト22は、予め発行された複数のNFT501,502,503を有している。スマートコントラクト22は、複数のNFT501,502,503から選択された1又は複数のNFTを、指定された送信先へ送信するよう構成されている。
FIG. 7 shows an example of the first transmission process 23 (see FIG. 3) for token transmission executed by the
図7に示す第1送信処理23では、スマートコントラクト22は、サーバ51から呼び出されると、所有するNFTの中から、指定された送信先へ送信するNFTを決定する(ステップS71)。スマートコントラクト22は、決定したNFTを指定された送信先へ送信する(ステップS72)。
In the
ステップS71の決定は、スマートコントラクト22が所有するNFTの中からランダムに行われてもよいし、所定の規則に基づいて行われてもよいし、サーバ51から送信された第2コードに基づいて決定されてもよい。サーバ51は、必要に応じて、スマートコントラクト22へ第2コードを送信することができる(ステップS70)。第2コードは、スマートコントラクト22が、送信すべきNFTを識別するための情報を示す。例えば、第2コードは、送信すべきNFTのNFT識別子(例えば、Nft_id01)、スマートコントラクト22が送信すべきNFTのNFT識別子を識別し得るその他のデータ(識別子)、又は、送信すべきNFTのタイプを示すデータ、である。
The determination in step S71 may be made randomly from among the NFTs owned by the
図8は、スマートコントラクト22が第2コードを受信する例を示している。第2コードは、サーバ51が、例えば、スマートコントラクト22を呼び出す際に、サーバ51からスマートコントラクト22へ送信される(ステップS81)。サーバ51は、第2コードの送信に先立って、スマートコントラクト22へ送信すべき第2コードを決定する。例えば、サーバ51は、第1トークンリクエストR1を受信すると、第2コードを決定する。
FIG. 8 shows an example of
第2コードは、トークンコード(第1コード)に基づいて決定されてもよいし、トークンコード(第1コード)とは無関係に決定されてもよい。第2コードが第1コードに基づいて決定される場合、ユーザに送信されるトークンは、ユーザに配布された第1コードによって決定されることになる。第2コードを第1コードに基づいて決定するには、例えば、サーバ51が、第1コードと第2コードとが対応付けられたテーブルを有しておき、そのテーブルを参照することで、サーバ51が受信した第1コードから第2コードを求めればよい。また、第2コードは、第1コードと同じでもよい。
The second code may be determined based on the token code (first code), or may be determined independently of the token code (first code). If the second code is determined based on the first code, the token sent to the user will be determined by the first code distributed to the user. To determine the second code based on the first code, for example, the
第2コードが第1コードとは無関係に決定される場合、第1コードは専ら第1トークンリクエストR1の有効性に用いられる。第1コードに基づいて第1トークンリクエストR1が有効であると判定された場合、サーバ51が、独自に第2コードを決定することができる。
If the second code is determined independently of the first code, the first code is used exclusively for the validity of the first token request R1. If the first token request R1 is determined to be valid based on the first code,
第2コードがNFT識別子である場合、サーバ51は、スマートコントラクト22が有するNFTのNFT識別子を有するNFTリスト51G(図2参照)を参照し、第2コードとなるNFT識別子を決定することができる。サーバ51は、NFTリストに含まれるNFT識別子のうち、NFTが未送信であるものを適宜選択する。選択されるNFT識別子は、1つでもよいし、複数でもよい。ここでのNFT識別子は、ブロックチェーン20におけるNFT識別子(例えば、Nft_id01)であってもよいし、スマートコントラクト22が、ブロックチェーン20におけるNFT識別子(例えば、Nft_id01)を識別するためのその他の識別子であってもよい。
When the second code is the NFT identifier, the
第2コードがNFTのタイプを示すデータである場合、サーバ51は、NFTのタイプの一覧を示すNFTタイプリスト51H(図2参照)を参照し、第2コードとなるNFTタイプを決定することができる。サーバ51は、NFTのタイプをランダム又は所定の規則に従って決定できる。サーバ51は、第1コードに基づいて、第2コードとなるNFTタイプを決定してもよい。
If the second code is data indicating the type of NFT, the
ここで、「タイプ」とは、トークンの種類をいう。FTのタイプは、FTの名称によって区別され得る。NFTのタイプは、2以上のNFTが共通して有する性質によって区別され得る。例えば、2以上のNFTが同じ画像を共通して有している場合、それらのNFTは同じタイプになり得る。「タイプ」は、スマートコントラクト22によって識別され得るものであれば、特に限定されない。スマートコントラクト22は、例えば、NFTタイプを示す第2コードを受信すると、第2コードが示すNFTタイプを有するNFTを、送信すべきNFTとして決定することができる。
Here, "type" refers to the kind of token. FT types can be distinguished by FT designations. NFT types can be distinguished by properties that two or more NFTs have in common. For example, two or more NFTs can be of the same type if they have the same image in common. A “type” is not particularly limited as long as it can be identified by the
図2に示すNFTタイプリスト51Hでは、一例として、「TypeA」、「TypeB」、「TypeC」の3つが格納されている。例えば、TypeAは、あるスポーツ選手P1の画像を持つNFTのタイプである。TypeBは、他のスポーツ選手P2の画像を持つNFTのタイプである。TypeCは、さらに他のスポーツ選手P3の画像を持つNFTのタイプである。なお、同一の画像を持つなどの同一タイプのNFTは、そのNFTに付されたシリアル番号(図4参照)によって、区別され得る。
In the
第2コードを受信したスマートコントラクト22は、第2コードに基づいて決定されたNFTを、指定された送信先である第1ブロックチェーンアドレス25Aへ送信する(ステップS82)。なお、スマートコントラクト22への第2コードの送信は、スマートコントラクト22へ、トークン送信を要求するトークンリクエストともいえる。したがって、第2コードの送信は、第2トークンリクエストの送信ともいえる。
The
第2コードがNFT識別子である場合、スマートコントラクト22は、送信すべきNFTをNFT識別子に基づいて一意に決定できる。第2コードがNFTタイプである場合、スマートコントラクト22は、第2コードが示すNFTタイプを有する複数のNFTの中から、適宜選択した1又は複数のNFTを、送信すべきNFTとして決定することができる。なお、送信すべきトークンが、FTである場合、スマートコントラクト22は、第2コードに応じて、送信すべきFTの数量を決定してもよい。
If the second code is an NFT identifier,
図9は、トークン送信のための第2送信処理24(図3参照)を示している。第1送信処理23では、予め発行されたNFTが送信されるが、第2送信処理24では、送信の必要が生じてからNFTが生成させ、生成されたNFTが送信される。第1送信処理23では、送信に備えて、多数のNFTを在庫として、システム10が予め保有している必要がある。在庫としてのNFTを保有する場合、在庫管理が煩雑となる。例えば、在庫となるNFTが少ないと在庫切れのおそれがある。逆に、在庫切れを回避しようとすると、システム10の管理者は、予め膨大な数のNFTを予め生成しておいて、スマートコントラクト22等に格納しておく必要がある。システムに在庫となるNFTを多く保有させる場合、システム10の管理者は、膨大な数のNFTを予め生成する作業負担を負うことになる。これに対して、第2送信処理24では、トークンリクエストを受けてからNFTが生成されるため、トークンリクエストを受信する前の時点においては、NFTを非保有でよい。すなわち、システム10は、送信すべきNFTの在庫を保有する必要がない。
FIG. 9 shows the second transmission process 24 (see FIG. 3) for token transmission. In the
システム10が、複数のタイプのNFTを配布・提供するよう構成されている場合、NFTのタイプ毎に多数のNFTを予め準備する必要が生じる。しかし、第2送信処理24では、第2コードによって、生成すべきNFTのタイプが識別されるため、適切なタイプのNFTを生成して、送信することができる。したがって、NFTのタイプ毎に多数のNFTを予め準備する必要がない。
If the
図9に示す第2送信処理24では、スマートコントラクト22は、NFTのタイプを示す第2コードを受信すると、第2コードが示すタイプのNFTを生成し(ステップS91)、生成したNFTを指定された送信先へ送信する(ステップS92)。なお、NFTの生成は、外部の装置(例えば、サーバ51又は他のサーバ)によって行われてもよい。スマートコントラクト22は、外部の装置にNFTの生成を委ね、外部の装置によって生成されたNFTを送信してもよい。
In the
サーバ51は、スマートコントラクト22へ第2コードを送信するため、送信すべき第2コードを決定する(ステップS92)。サーバ51は、NFTのタイプの一覧を示すNFTタイプリスト51H(図2参照)を参照し、第2コードとなる1又は複数のNFTタイプを決定することができる。サーバ51は、NFTタイプリスト51Hの中から、NFTタイプをランダム又は所定の規則に従って決定できる。サーバ51は、第1コードに基づいて、第2コードとなるNFTタイプを決定してもよい。
The
スマートコントラクト22は、第2コードを受信すると、受信した第2コードに基づいて、生成すべきNFTタイプを識別する。NFTの生成のため、タイプ毎に、NFT化されるデータが予め用意されている。NFT化されるデータは、例えば、画像データである。NFTの生成は、第2コードに基づいて識別されたタイプに対応するデータを、NFT化することによって行われる。同じタイプ又は同じデータを有するNFTを区別するため、NFTには、シリアル番号(図4参照)が付与され得る。
Upon receiving the second code,
NFT化のために、一つのタイプに対応するデータは、1つでもよいが、複数であるのが好ましい。例えば、ある一人のスポーツ選手P1が一つのタイプである場合、そのスポーツ選手の複数の異なる画像データが用意されているのが好ましい。この場合、受信した第2コードに基づいて、生成すべきNFTタイプがスポーツ選手P1であると識別されると、更に、そのスポーツ選手P1の複数の異なる画像データの中から、NFT化される画像データが決定される。NFT化される画像データの決定は、ランダムに行われてもよいし、所定のルールに基づいて行われてもよい。また、第2コードは、生成すべきNFTタイプ及びNFT化される画像データの両方を示してもよく、この場合、NFT化される画像データは、第2コードに基づいて決定される。 For NFTization, the number of data corresponding to one type may be one, but preferably plural. For example, if one athlete P1 is of one type, it is preferable to prepare a plurality of different image data of the athlete. In this case, when the NFT type to be generated is identified as the athlete P1 based on the received second code, an image to be NFT-ized from among a plurality of different image data of the athlete P1. data is determined. The image data to be NFTized may be determined randomly or based on a predetermined rule. Also, the second code may indicate both the NFT type to be generated and the image data to be NFTized, in which case the image data to be NFTized is determined based on the second code.
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。 The present invention is not limited to the above embodiments, and various modifications are possible.
<3.付記>
本開示は、以下の事項も含む。
<3. Note>
This disclosure also includes:
[項1]
トークンリクエストを、ユーザのクライアント端末から受信し、
前記トークンリクエストを受信すると、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、
ことを備える処理を実行するよう構成されている、トークン配布システム又はその方法。
[Section 1]
Receive a token request from the user's client terminal,
upon receiving the token request, sending the token to the receiving blockchain address assigned to the user;
A token distribution system or method configured to perform a process comprising:
前記の項1によれば、トーク配布システムは、送信すべきノンファンジブルトークンを予め在庫として保有する必要がない。 According to item 1 above, the talk distribution system does not need to stock non-fungible tokens to be transmitted in advance.
[項2]
トークンリクエストを、ユーザのクライアント端末から受信し、
前記トークンリクエストの有効性を判定し、前記トークンリクエストが有効であると判定されると、ノンファンジブルトークンを生成し、
生成した前記ノンファンジブルトークンを、前記ユーザのブロックチェーンアドレスへ送信する
ことを備える処理を実行するよう構成されている、トークン配布システム又はその方法。
[Section 2]
Receive a token request from the user's client terminal,
determining the validity of the token request and generating a non-fungible token if the token request is determined to be valid;
A token distribution system or method configured to perform a process comprising sending said generated non-fungible token to said user's blockchain address.
前記の項2によれば、有効なトークンリクエストを受信すると、ノンファンジブルトークンが生成され、送信される。 According to Section 2 above, upon receipt of a valid token request, a non-fungible token is generated and transmitted.
[項3]
コードを、ユーザのクライアント端末から受信し、
前記コードの有効性を判定し、前記コードが有効であると判定されると、ノンファンジブルトークンを生成し、
生成した前記ノンファンジブルトークンを、前記ユーザのブロックチェーンアドレスへ送信する
ことを備える処理を実行するよう構成されている、トークン配布システム又はその方法。
[Section 3]
receive the code from the user's client terminal;
determining validity of the code and generating a non-fungible token if the code is determined to be valid;
A token distribution system or method configured to perform a process comprising sending said generated non-fungible token to said user's blockchain address.
前記の項3によれば、有効なコードを受信すると、ノンファンジブルトークンが生成され、送信される。 According to Section 3 above, upon receipt of a valid code, a non-fungible token is generated and transmitted.
[項4]
既存ユーザアカウントに対して、ブロックチェーンアドレスを割り当てるためのユーザ操作を、ユーザのクライアント端末から受け付け、
前記ユーザ操作を受け付けると、ブロックチェーンアドレスを、前記既存ユーザアカウントに割り当てる
ことを備える処理を実行するよう構成されているトークン配布システム又はその方法。
[Section 4]
Receiving a user operation from the user's client terminal to assign a blockchain address to an existing user account,
A token distribution system or method configured to, upon receiving said user operation, perform a process comprising: assigning a blockchain address to said existing user account.
前記の項4によれば、既存ユーザアカウントにブロックチェーンアドレスを割り当てることができる。 According to item 4 above, a blockchain address can be assigned to an existing user account.
10 :トークン配布システム
15 :ネットワーク
20 :ブロックチェーン
22 :スマートコントラクト
23 :第1送信処理
24 :第2送信処理
25A :第1ブロックチェーンアドレス
25B :第2ブロックチェーンアドレス
25C :第3ブロックチェーンアドレス
31 :クライアント端末
31A :第1画面表示
31B :第2画面表示
51 :トークンリクエスト受付サーバ
51A :プロセッサ
51B :記憶装置
51C :コンピュータプログラム
51D :判定条件
51E :コードリスト
51F :ブロックチェーンアドレスリスト
51G :NFTリスト
51H :NFTタイプリスト
51K :トークン配布処理
60 :二次元コード
101 :有形媒体
101B :コード表示部
120 :ユニフォームリソースアイデンティファイア
120 :URI
123A :URI本体
123C :トークンコード
301 :表示
302 :操作部
500 :ユーザアカウント
501 :NFT
502 :NFT
503 :NFT
R1 :第1トークンリクエスト
10: token distribution system 15: network 20: block chain 22: smart contract 23: first transmission process 24:
123A: URI body 123C: token code 301: display 302: operation unit 500: user account 501: NFT
502: NFTs
503: NFTs
R1: 1st token request
Claims (15)
前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、
受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンが送信されるように、前記ブロックチェーンを操作する、
ことを備える処理を実行するよう構成されている、サーバ。 Receive a token request from the user's client terminal requesting token transmission in the blockchain,
upon receiving the token request, assigning the user a receiving blockchain address for receiving the token transmitted in response to the token request;
operating the blockchain such that, in response to the received token request, the token is sent to the receiving blockchain address assigned to the user;
A server configured to perform a process comprising:
前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記ユーザに割り当てられた前記割当済ブロックチェーンアドレスが無いと判定された場合に実行される、
請求項1に記載のサーバ。 The process further comprises determining whether there is an assigned blockchain address assigned to the user from which the token request originated;
assigning the receiving blockchain address to the user is performed when it is determined that there is no assigned blockchain address assigned to the user;
A server according to claim 1 .
前記処理は、前記トークンリクエストの有効性を、前記第1コードを用いて判定することを更に備え、
前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定された場合に実行される、
請求項1に記載のサーバ。 the token request includes a first code;
the processing further comprises determining validity of the token request using the first code;
assigning the receiving blockchain address to the user is performed if the token request is determined to be valid;
A server according to claim 1 .
前記処理は、
前記トークンリクエストの有効性を、前記第1コードを用いて判定し、
前記トークンリクエストの送信元である前記ユーザに割り当てられた割当済ブロックチェーンアドレスの有無を判定する、
ことを更に備え、
前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定され、かつ、前記ユーザに割り当てられた前記割当済ブロックチェーンアドレスが無いと判定された場合に実行される、
請求項1に記載のサーバ。 the token request includes a first code;
The processing is
determining validity of the token request using the first code;
determining whether there is an assigned blockchain address assigned to the user from which the token request was sent;
furthermore,
Assigning the receiving blockchain address to the user is performed when it is determined that the token request is valid and that there is no assigned blockchain address assigned to the user. ,
A server according to claim 1 .
請求項1から請求項4のいずれか1項に記載のサーバ。 assigning the receiving blockchain address to the user includes assigning the receiving blockchain address to the user's account at the server;
A server according to any one of claims 1 to 4.
前記サーバにおける前記ユーザのアカウントを生成し、
前記受信用ブロックチェーンアドレスを、生成された前記アカウントに割り当てる、
ことを含む、
請求項1から請求項4のいずれか1項に記載のサーバ。 Assigning the receiving blockchain address to the user includes:
create an account for the user on the server;
assigning the receiving blockchain address to the generated account;
including
A server according to any one of claims 1 to 4.
予め発行された複数の割当候補ブロックチェーンアドレスから、前記ユーザに割り当てられる割当用ブロックチェーンアドレスを選択し、
前記割当用ブロックチェーンアドレスを、前記受信用ブロックチェーンアドレスとして、前記ユーザに割り当てる、
ことを含む、
請求項1から請求項6のいずれか1項に記載のサーバ。 Assigning the receiving blockchain address to the user includes:
selecting an allocation block chain address to be allocated to the user from a plurality of allocation candidate block chain addresses issued in advance;
assigning the allocation blockchain address to the user as the reception blockchain address;
including
A server according to any one of claims 1 to 6.
請求項1から請求項7のいずれか1項に記載のサーバ。 operating the blockchain includes invoking a smart contract configured to transmit the token such that the token is transmitted to the receiving blockchain address assigned to the user;
A server according to any one of claims 1 to 7.
第2コードを生成し、
前記第2コードを前記スマートコントラクトへ送信する、
ことを更に含み、
前記第2コードは、前記スマートコントラクトが、
送信すべきトークンを識別するため、
送信すべきトークンのタイプを識別するため、又は
送信のために生成すべきトークンのタイプを識別するため、に用いられる、
請求項8に記載のサーバ。 Operating the blockchain includes:
generate a second code,
sending the second code to the smart contract;
further comprising
The second code is such that the smart contract:
To identify the token to send,
used to identify the type of token to be transmitted or to identify the type of token to be generated for transmission;
A server according to claim 8 .
前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、
受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、
ことを備える処理を実行するよう構成されている、トークン配布システム。 Receive a token request from the user's client terminal requesting token transmission in the blockchain,
upon receiving the token request, assigning the user a receiving blockchain address for receiving the token transmitted in response to the token request;
Sending the token to the receiving blockchain address assigned to the user in response to the received token request;
A token distribution system configured to perform a process comprising:
請求項10に記載のトークン配布システム。 The process further comprises generating the token for transmission to the receiving blockchain address after receiving the token request.
11. Token distribution system according to claim 10.
請求項11に記載のトークン配布システム。 The process further comprises determining the type of the token to be generated after receiving the token request.
12. Token distribution system according to claim 11.
請求項12に記載のトークン配布システム。 13. The token distribution system of Claim 12, wherein the type is randomly determined.
ブロックチェーンにおけるトークン送信を要求するトークンリクエストを、ユーザのクライアント端末から受信し、
前記トークンリクエストを受信すると、前記トークンリクエストに応じて送信されるトークンを受信するための受信用ブロックチェーンアドレスを前記ユーザに割り当て、
受信した前記トークンリクエストに応じて、前記ユーザに割り当てられた前記受信用ブロックチェーンアドレスへ前記トークンを送信する、
ことを備える、コンピュータ実装方法。 1. A computer-implemented computer-implemented method for token distribution, comprising:
Receive a token request from the user's client terminal requesting token transmission in the blockchain,
upon receiving the token request, assigning the user a receiving blockchain address for receiving the token transmitted in response to the token request;
Sending the token to the receiving blockchain address assigned to the user in response to the received token request;
A computer-implemented method comprising:
請求項14に記載のコンピュータ実装方法。 further comprising generating the token for transmission to the receiving blockchain address after receiving the token request;
15. The computer-implemented method of claim 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021210014A JP2023094491A (en) | 2021-12-23 | 2021-12-23 | Server, token distribution system, and computer implementation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021210014A JP2023094491A (en) | 2021-12-23 | 2021-12-23 | Server, token distribution system, and computer implementation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023094491A true JP2023094491A (en) | 2023-07-05 |
Family
ID=87001330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021210014A Pending JP2023094491A (en) | 2021-12-23 | 2021-12-23 | Server, token distribution system, and computer implementation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023094491A (en) |
-
2021
- 2021-12-23 JP JP2021210014A patent/JP2023094491A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021089640A (en) | Method for managing object and management server | |
JP2013029994A (en) | Server apparatus, information processing method, and program | |
US7984168B2 (en) | Method and system for operation of a computer network intended for the publication of content | |
JP7171504B2 (en) | Personal information management server, personal information management method and personal information management system | |
JP5961228B2 (en) | Authority management apparatus, authority management service providing system, authority management method, and authority management service providing method | |
JP7041992B1 (en) | Data processing equipment, data processing methods and programs | |
US20220172196A1 (en) | Electronic money exchanging apparatus, electronic money exchanging method, and electronic money exchanging system | |
JP2019160062A (en) | Business support method for store and server | |
JP5081698B2 (en) | Authentication server, change method, and program | |
JP2010244272A (en) | Method, system and program for managing individual attribute information | |
JP2023094491A (en) | Server, token distribution system, and computer implementation method | |
WO2023007867A1 (en) | Ticket management system, program, and method | |
JP2011159026A (en) | Exchange transaction processing system and exchange transaction processing method | |
JP7327781B2 (en) | Matching support device, matching support method, computer program and recording medium | |
JP7334061B2 (en) | Document creation system, document creation method and server device | |
JP7381137B1 (en) | Program, method, and information processing device | |
JP7108253B1 (en) | Information processing program and information processing device | |
JP7419215B2 (en) | Electronic money exchange device, electronic money exchange method and electronic money exchange system | |
JP7405340B1 (en) | token control system | |
JP7383844B1 (en) | Usage authentication system, usage authentication program, and usage authentication method | |
JP7466026B2 (en) | Information processing device, information processing method, and program | |
JP7340117B1 (en) | Information processing device, information processing method and program | |
JP2012137995A (en) | Resource providing system, access control program and access control method | |
JP7032626B1 (en) | Book data storage device | |
JP5779882B2 (en) | Device management system, device, device management method and program |