JP2023094491A - Server, token distribution system, and computer implementation method - Google Patents

Server, token distribution system, and computer implementation method Download PDF

Info

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
Application number
JP2021210014A
Other languages
Japanese (ja)
Inventor
幸雄 春名
Yukio Haruna
仁 竹内
Hitoshi Takeuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ai Shoji Co Ltd
Bacoor Dapps
Bacoor Dapps Co Ltd
Original Assignee
Ai Shoji Co Ltd
Bacoor Dapps
Bacoor Dapps Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ai Shoji Co Ltd, Bacoor Dapps, Bacoor Dapps Co Ltd filed Critical Ai Shoji Co Ltd
Priority to JP2021210014A priority Critical patent/JP2023094491A/en
Publication of JP2023094491A publication Critical patent/JP2023094491A/en
Pending legal-status Critical Current

Links

Images

Abstract

To allow a user who desires to receive a token to receive the token in a blockchain with less burden even if the user does not have a blockchain address.SOLUTION: A server is configured to execute processing including: receiving a token request for transmission of a token in a blockchain, from a client terminal of a user; allocating, when receiving the token request, a receiving blockchain address for receiving a token to be transmitted in accordance with the token request, to the user; and operating the blockchain so that the token is transmitted to the receiving blockchain address allocated to the user, in accordance with the received token request.SELECTED DRAWING: Figure 5

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.

特開2021-089640号公報Japanese Patent Application Laid-Open No. 2021-089640

ブロックチェーンにおいて送信されたトークンをユーザが受信するには、そのユーザは、ブロックチェーンアドレスを有している必要がある。ユーザがブロックチェーンアドレスを有していない場合、そのユーザへのトークン送信はできない。 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は、システムの構成図である。FIG. 1 is a configuration diagram of the system. 図2は、サーバの構成図である。FIG. 2 is a configuration diagram of the server. 図3は、ブロックチェーンのスマートコントラクト及びブロックチェーンアドレスを示す図である。FIG. 3 is a diagram showing a blockchain smart contract and a blockchain address. 図4は、トークンの配布手順を示す図である。FIG. 4 is a diagram showing a token distribution procedure. 図5は、トークン配布処理のフローチャートである。FIG. 5 is a flowchart of token distribution processing. 図6は、ブロックチェーンアドレスの割り当てを示す概要図である。FIG. 6 is a schematic diagram showing allocation of blockchain addresses. 図7は、第1送信処理のフローチャートである。FIG. 7 is a flowchart of the first transmission process. 図8は、第1送信処理の概要図である。FIG. 8 is a schematic diagram of the first transmission process. 図9は、第2送信処理のフローチャートである。FIG. 9 is a flowchart of the second transmission process.

<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 system 10 according to an embodiment. This system 10 is a system using a block chain 20 . The system 10 according to embodiments may constitute a token distribution system. The token distribution system distributes tokens on the blockchain to users.

実施形態に係るシステム10は、ネットワーク15に接続されたサーバ51を備え得る。ネットワーク15は、例えば、インターネットである。サーバ51は、ネットワーク15を介してブロックチェーン20にアクセスし得る。サーバ51は、1つのコンピュータによって構成されていてもよいし、複数のコンピュータによって構成されていてもよい。サーバ51は、システム10の管理者によって管理され得る。管理者は、例えば、トークン配布のための管理者である。管理者は、後述のスマートコントラクト22の管理者でもあり得る。 System 10 according to embodiments may comprise a server 51 connected to network 15 . Network 15 is, for example, the Internet. Server 51 may access blockchain 20 via network 15 . The server 51 may be configured by one computer, or may be configured by a plurality of computers. Server 51 may be managed by an administrator of system 10 . An administrator is, for example, an administrator for token distribution. The administrator may also be the administrator of the smart contract 22 described below.

図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 server 51 can be configured by a computer having a processor 51A and a storage device 51B. The storage device 51B is connected to the processor 51A. The storage device 51B includes, for example, a primary storage device and a secondary storage device. A primary storage device is, for example, a RAM. The secondary storage device is, for example, a hard disk drive (HDD) or solid state drive (SSD). The storage device 51B comprises a computer program 51C executed by the processor 51A. The processor 51A reads and executes a computer program 51C stored in the storage device 51B. The computer program 51C has program code indicating instructions for causing the computer to execute the token distribution process 51K. Token distribution processing 51K will be described later.

記憶装置51Bは、様々なデータ又は情報を保存し得る。例えば、記憶装置51Bは、判定条件51Dを有し得る。また、記憶装置51Bは、コードリスト51Eを有し得る。また、記憶装置51Bは、ブロックチェーンアドレスリスト51Fを有し得る。また、記憶装置51Bは、NFTリスト51Gを有し得る。また、記憶装置51Bは、NFTタイプリスト51Hを有し得る。これらのデータ又は情報については後述される。 Storage device 51B may store various data or information. For example, storage device 51B may have determination condition 51D. The storage device 51B may also have a code list 51E. The storage device 51B may also have a blockchain address list 51F. Also, the storage device 51B may have an NFT list 51G. Also, the storage device 51B may have an NFT type list 51H. These data or information will be described later.

サーバ51は、クライアント端末31とともにクライアント・サーバシステムを構成する。サーバ51は、クライアント端末31からのリクエストに応じて処理を実行する。サーバ51によって実行される処理は、例えば、トークン配布処理51Kである。サーバ51は、トークン配布のため、クライアント端末31からトークンリクエストを受信する。以下では、トークンリクエストを受信するサーバ51は、トークンリクエスト受付サーバ51とも呼ばれる。サーバ51によって実行される処理は、ユーザにブロックチェーンアドレスを割り当てるアドレス設定処理(図5のステップS55参照)を含み得る。実施形態において、アドレス設定処理は、トークン配布処理51Kの一部を構成し得る。 The server 51 constitutes a client/server system together with the client terminal 31 . The server 51 executes processing according to requests from the client terminal 31 . The processing executed by the server 51 is, for example, token distribution processing 51K. The server 51 receives a token request from the client terminal 31 for token distribution. The server 51 that receives the token request is hereinafter also referred to as the token request reception server 51 . The processing performed by the server 51 may include an address setting process (see step S55 of FIG. 5) that assigns a blockchain address to the user. In embodiments, the address setting process may form part of the token distribution process 51K.

クライアント端末31は、トークンを受け取るユーザの端末である。クライアント端末31は、例えば、スマートフォン、タブレット、又はパーソナルコンピュータである。トークンの受け取りを希望するユーザは、クライアント端末31を操作し、クライアント端末31から、サーバ51へ、トークンリクエストを送信する。有効なトークンリクエストを送信したユーザは、トークンを受け取ることができる。 The client terminal 31 is the terminal of the user who receives the token. The client terminal 31 is, for example, a smart phone, tablet, or personal computer. A user who wishes to receive a token operates the client terminal 31 and transmits a token request from the client terminal 31 to the server 51 . A user who submits a valid token request can receive a token.

実施形態においては、ユーザが、ブロックチェーンにおけるトークンを入手するため、管理者等によって、コードがユーザへ配布される。ユーザに配布されるコードを、以下では、トークンコード又は第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 system 10 . The multiple token codes distributed to users are preferably different and unique codes. The code is, for example, a multi-digit code made up of numbers, letters, or symbols. A tokencode may, for example, be represented in a machine-readable format. The machine-readable form is, for example, the form of a two-dimensional code 60 or the form of a bar code. The token code is printed on a tangible medium 101 such as paper, for example. The token code may be distributed while being stored in a device capable of data transmission to the client terminal 31 . A device that can transmit data is, for example, an IC tag (wireless tag) that can communicate with the client terminal 31 . A tangible medium 101 or device having a token code is distributed to users for a fee or free of charge. The token code may be distributed to the client terminal 31 as digital data.

実施形態においては、一例として、トークンコード(例えば、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 tangible medium 101 in the form of a two-dimensional code 60 representing the uniform resource identifier 120 (URI) containing the tokencode. URI 120 comprises a scheme and an authority. A URI here is, as an example, a uniform resource locator (URL). A scheme is, for example, https:. The authority is described after the scheme and indicates the location of the resource. Note that the URI 120 does not have to include the scheme. Note that the tangible medium 101 of FIG. 1 has a code display portion 101B representing the talk code (qC2oFsNKrHimID6u) in a human-readable format.

実施形態において、オーソリティは、例えば、図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 URI 120 shown in FIG. The URI body 123A includes, for example, the host. Host indicates the name (domain name) of the server 51 . The token code 123C can be, for example, a path written after the URI body 123A. Note that the URI body 123A may also include a path. In the authority shown in FIG. 1, the URI body 123A is "aaa...com" as an example, and the token code 123C is "qC2oFsNKrHimID6u" as an example. If the client terminal 31 already knows the URI body 123A, the two-dimensional code 60 may not include the URI body 123A and may include only the token code and other necessary data.

クライアント端末31は、例えば、クライアント端末31が備えるカメラ(図示省略)によって、二次元コード60を読み取ることで、URI120を取得する。すなわち、クライアント端末31は、二次元コード60を読み取ることで、トークンコード123Cを取得する。なお、クライアント端末31によるトークンコードの取得は、人が読み取り可能に有形媒体101に付されたトークンコード123Cを、ユーザが、手動操作でクライアント端末31へ入力することによって行われてもよい。クライアント端末31は、ネットワーク15又はその他の通信手段を介して、他の装置から、デジタルデータとしてトークンコード123Cを取得してもよい。 The client terminal 31 acquires the URI 120 by reading the two-dimensional code 60 with a camera (not shown) included in the client terminal 31, for example. That is, the client terminal 31 acquires the token code 123C by reading the two-dimensional code 60. FIG. Acquisition of the token code by the client terminal 31 may be performed by the user manually inputting the token code 123C attached to the tangible medium 101 to the client terminal 31 in a human-readable manner. The client terminal 31 may acquire the token code 123C as digital data from another device via the network 15 or other communication means.

トークン配布に利用されるブロックチェーン20は、複数のコンピュータが相互に接続されたP2P(ピアーツーピア;Peer to Peer)のコンピュータネットワークシステムによって構成されている。 The blockchain 20 used for token distribution is configured by a P2P (Peer to Peer) computer network system in which a plurality of computers are interconnected.

ブロックチェーン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 blockchain 20, transactions are possible between blockchain addresses. In FIG. 3, a first blockchain address 25A, a second blockchain address 25B, and a third blockchain address 25C are illustrated. As an example, the first blockchain address 25A is represented by 0x11111, the second blockchain address 25B is represented by 0x33333, and the third blockchain address 25C is represented by 0x55555. Blockchain addresses 25A, 25B, 25C indicate user accounts in blockchain 20, for example. Blockchain addresses 25A, 25B, 25C and transactions of transactions on the blockchain 20 are recorded in the blockchain 20 distributed ledger.

ブロックチェーン20おいては、例えば、トークンの取引が可能である。ブロックチェーン20において取引可能なトークンとしては、ファンジブルトークン(代替性トークン;Fungible Token:FT)と、ノンファンジブルトークン(非代替性トークン;Non-Fungible Token:NFT)と、がある。ファンジブルトークンは、例えば、イーサリアム(Ethereum)におけるイーサ(Ether)などの暗号通貨である。ファンジブルトークンは、企業又は個人によってブロックチェーンにおいて発行される独自ファンジブルトークンであってもよい。 For example, token transactions are possible on the blockchain 20 . Tokens that can be traded in the blockchain 20 include fungible tokens (Fungible Tokens: FT) and non-fungible tokens (Non-Fungible Tokens: NFTs). A fungible token is a cryptocurrency such as, for example, Ether in Ethereum. A fungible token may be a proprietary fungible token issued on the blockchain by a company or individual.

ノンファンジブルトークン(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 blockchain 20 to allow it to be distinguished from other NFTs. This identifier is hereinafter referred to as the NFT identifier.

実施形態に係るシステム10は、NFTを配布してもよいし、FTを配布してもよいし、NFT及びFTの両方を配布してもよい。 The system 10 according to the embodiment may distribute NFTs, FTs, or both NFTs and FTs.

ブロックチェーン20において、ユーザ所有するNFT又はFTは、ユーザが有するブロックチェーンアドレス25A,25B,25Cに対応付けて記録される。 In the blockchain 20, NFTs or FTs owned by users are recorded in association with blockchain addresses 25A, 25B, and 25C owned by users.

ブロックチェーン20は、スマートコントラクト22を備える。スマートコントラクト22は、実施形態に係るシステム10を構成し得る。スマートコントラクト22は、ブロックチェーンにおいて実行可能に実装されたソフトウェア(コンピュータプログラム)によって構成されている。スマートコントラクト22は、自動取引等の所定のプロトコルを自動的に実行する。 Blockchain 20 comprises a smart contract 22 . Smart contract 22 may constitute system 10 according to an embodiment. The smart contract 22 is composed of software (computer program) that is executable on the blockchain. Smart contracts 22 automatically execute predetermined protocols such as automated trading.

スマートコントラクト22は、トークン配布のため、サーバ51と協働し得る。以下では、一例として、トークンの配布のために、ユーザから送信されたトークンリクエストを受信したサーバ51が、スマートコントラクト22を呼び出し、呼び出されたスマートコントラクト22が、トークンをユーザへ送信する。 Smart contract 22 may cooperate with server 51 for token distribution. In the following, as an example, for token distribution, the server 51 that received the token request sent from the user calls the smart contract 22, and the called smart contract 22 sends the token to the user.

前述のブロックチェーンアドレスは、スマートコントラクト22のコントラクトアドレスを示すこともある。コントラクトアドレスは、スマートコントラクト22が格納されているブロックチェーンアドレスである。 The aforementioned blockchain address may also refer to the contract address of smart contract 22 . The contract address is the blockchain address where the smart contract 22 is stored.

ブロックチェーン20においては、スマートコントラクト22もNFT又はFTを所有できる。ブロックチェーン20において、ユーザへの配布のためにスマートコントラクト22が所有するNFT又はFTは、スマートコントラクト22のコントラクトアドレスに対応付けて記録される。 In blockchain 20, smart contracts 22 can also own NFTs or FTs. In the blockchain 20, the NFT or FT owned by the smart contract 22 for distribution to the user is recorded in association with the contract address of the smart contract 22.

スマートコントラクト22によって実行される処理は、例えば、トークンの操作である。トークンの操作は、例えば、トークンの所有者変更である。トークンの所有者変更の操作は、トークンの送信とも呼ばれる。すなわち、トークンの所有者を第1ブロックチェーンアドレス25Aから第2ブロックチェーンアドレス25Bに変更することは、第1ブロックチェーンアドレス25Aから第2ブロックチェーンアドレス25Bへトークンを送信することもでもある。 The processing performed by the smart contract 22 is, for example, manipulation of tokens. A token operation is, for example, a token owner change. The operation of changing ownership of a token is also called sending the token. That is, changing the owner of the token from the first blockchain address 25A to the second blockchain address 25B also means sending the token from the first blockchain address 25A to the second blockchain address 25B.

トークンの送信は、例えば、スマートコントラクト22のコントラクトアドレスから、他のブロックチェーンアドレス25A,25B,25Cへトークンを送信することであり得る。つまり、ユーザへのトークンの配布元は、スマートコントラクト22であり得る。なお、ユーザへのトークンの配布元は、システム10の管理者のブロックチェーンアドレスであってもよい。 Sending a token can be, for example, sending a token from the contract address of the smart contract 22 to other blockchain addresses 25A, 25B, 25C. That is, the smart contract 22 may be the source of token distribution to the user. Note that the token distribution source for the user may be the blockchain address of the administrator of the system 10 .

スマートコントラクト22は、例えば、スマートコントラクト22外からの呼び出し操作によって呼び出されることで、スマートコントラクト22における処理23,24が実行される。スマートコントラクト22は、例えば、システム10の管理者のブロックチェーンアドレス又はユーザのブロックチェーンアドレス25A,25B,25Cから呼び出される。スマートコントラクト22によって実行される処理23,24は、図3に示す第1送信処理23又は第2送信処理24を含み得る。なお、第1送信処理23及び第2送信処理24は、少なくともいずれか一方が実行されば足りる。 The smart contract 22 is called, for example, by a calling operation from outside the smart contract 22, and processes 23 and 24 in the smart contract 22 are executed. The smart contract 22 is invoked from, for example, the administrator's blockchain address or the users' blockchain addresses 25A, 25B, 25C of the system 10 . The processes 23, 24 performed by the smart contract 22 may include the first transmission process 23 or the second transmission process 24 shown in FIG. It is sufficient if at least one of the first transmission process 23 and the second transmission process 24 is executed.

図4は、クライアント端末31におけるトークン取得のための大まかな手順の一例を示している。まず、企業のトークン配布キャンペーン等のため、トークンコードが多数のユーザへ配布される。トークンコードの配布方法の例は、前述のとおりであり、特に限定されない。各ユーザが取得するトークンコードは、それぞれ異なるユニークコードあり得る。 FIG. 4 shows an example of a rough procedure for token acquisition in the client terminal 31. As shown in FIG. First, a token code is distributed to a large number of users for a company's token distribution campaign or the like. Examples of token code distribution methods are as described above, and are not particularly limited. The token code acquired by each user can be a different unique code.

ユーザのクライアント端末31は、配布されたトークンコードを取得する(ステップS41)。トークンコードは、例えば、トークンコードを含むURI120の形式で取得される。URI120は、トークン配布システム10へのアクセスに用いられる。クライアント端末31は、例えば、クライアント端末にインストールされたウェブブラウザアプリケーションプログラム又はシステム10へのアクセスのための専用アプリケーションプログラムを利用して、URI120へアクセスする。アクセスは、例えば、システム10のサーバ51によって受け付けられる。このアクセスによって、システム10は、ユーザが取得したトークンコードを受信し得る。 The user's client terminal 31 acquires the distributed token code (step S41). The tokencode is obtained, for example, in the form of a URI 120 containing the tokencode. URI 120 is used to access token distribution system 10 . The client terminal 31 accesses the URI 120 using, for example, a web browser application program installed in the client terminal or a dedicated application program for accessing the system 10 . Access is received, for example, by server 51 of system 10 . With this access, system 10 may receive the tokencode obtained by the user.

アクセスを受け付けたシステム10は、クライアント端末31のディスプレイに表示される第1画面表示31Aを、クライアント端末31に提供する(ステップS42)。第1画面表示31Aは、例えば、サーバ51によって提供され得る。第1画面表示31Aは、例えば、ユーザが取得したトークンコードの表示301を有し得る。第1画面表示31Aは、トークンを取得するかどうかのユーザの意思確認のための操作部302を有し得る。操作部302は、例えば、グラフィカルユーザインターフェースとしてのボタン又はアイコンである。意思確認は、ユーザにブロックチェーンアドレスを割り当てることの意思確認でもあり得る。 The system 10 that has received the access provides the client terminal 31 with the first screen display 31A displayed on the display of the client terminal 31 (step S42). The first screen display 31A may be provided by the server 51, for example. The first screen display 31A may, for example, have a display 301 of the tokencode obtained by the user. The first screen display 31A can have an operation unit 302 for confirming the user's intention whether to acquire a token. The operation unit 302 is, for example, buttons or icons as a graphical user interface. Confirmation of intention can also be confirmation of intention to assign a blockchain address to the user.

トークンコードを利用したトークンの受け取りを希望するユーザによって、操作部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 operation unit 302, the client terminal 31 transmits a first token request R1 to the token distribution system 10 (step S43). The aforementioned token code is associated with the first token request R1. The tokencode associated with the first token request R1 may be transmitted together with the first token request R1, or may be transmitted before or after the first token request R1. The first token request R1 is received by the server 51, for example.

トークン配布システム10は、第1トークンリクエストR1を送信したユーザのブロックチェーンアドレスへ、NFT等のトークンを送信する。システム10は、ユーザが受信したトークンをクライアント端末31のディスプレイに表示させる第2画面表示31Bを、クライアント端末31に提供する(ステップS44)。第2画面表示31Bは、例えば、サーバ51によって提供される。ユーザは、第2画面表示31Bを参照することで、取得したトークンを閲覧することができる。ユーザは、取得したトークンを、他者へ譲渡、販売することができる。取得したトークンは、他のトークンとの交換に利用されてもよい。 The token distribution system 10 transmits a token such as NFT to the blockchain address of the user who transmitted the first token request R1. The system 10 provides the client terminal 31 with the second screen display 31B for displaying the token received by the user on the display of the client terminal 31 (step S44). The second screen display 31B is provided by the server 51, for example. The user can view the acquired token by referring to the second screen display 31B. Users can transfer or sell acquired tokens to others. Acquired tokens may be used in exchange for other tokens.

第2画面表示31Bは、例えば、ユーザが有するNFTの一覧の表示、及びユーザが有するFTの数量の表示の少なくともいずれか一方又は両方を有し得る。図4の第2画面表示31Bは、ユーザが有するNFT一覧を示している。図4では、一例として、ブロックチェーンにおけるNFT識別子としてNft_id01を有し、シリアル番号012345を有するNFT501が示されている。 The second screen display 31B can have, for example, at least one or both of a display of a list of NFTs owned by the user and a display of the quantity of FTs owned by the user. A second screen display 31B in FIG. 4 shows a list of NFTs owned by the user. In FIG. 4, as an example, an NFT 501 having Nft_id01 as the NFT identifier in the blockchain and serial number 012345 is shown.

図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 token distribution process 51K executed by the server 51 of the system 10. As shown in FIG. First, the server 51 receives the first token request R1 from the client terminal 31 via the network 15 (step S51). The server 51 uses the received token code associated with the first token request R1 to determine the validity of the first token request R1 (step S52). A code list 51E (see FIG. 2), for example, can be used to determine validity. The code list 51E shows, for example, all distributed tokencodes. If the token code associated with the first token request R1 is included in the code list 51E, the first token request is determined to be valid, and if not included in the code list 51E, the first token request is determined to be invalid. If the first token request R1 is determined to be invalid, the token distribution process 51K ends without distributing the token to the user.

有効性の判定には、コードリスト51Eに加えて又は替えて、判定条件51Dが用いられてもよい。判定条件51Dを満たした場合、第1トークンリクエストR1は有効であると判定され、判定条件51Dを満たさない場合、無効であると判定される。判定条件51Dは、例えば、「トークンリストに含まれるトークンコードが未使用である」ことである。この場合、一つのトークンコードの利用は1回に制限される。他の判定条件51Dは、例えば、「同一ユーザによるトークンリクエストが同日に無い」ことである。この場合、一つのトークンコードを繰り返し使用できるが、同一ユーザによる使用は、1日1回に制限される。 In addition to or instead of the code list 51E, the determination condition 51D may be used for determination of validity. The first token request R1 is determined to be valid if the determination condition 51D is satisfied, and is determined to be invalid if the determination condition 51D is not satisfied. The determination condition 51D is, for example, "the token code included in the token list is unused". In this case, use of one token code is limited to one time. Another judgment condition 51D is, for example, "there is no token request by the same user on the same day". In this case, one token code can be used repeatedly, but usage by the same user is limited to once a day.

ステップ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 server 51 executes step S54 for token transmission to the user. If there is no allocated blockchain address, the server 51 performs address setting (step S55) for allocating a blockchain address to the user, and then executes step S54.

ステップS54において、サーバ51は、ユーザアカウントに割り当てられたブロックチェーンアドレスへ、トークンが配布されるように、ブロックチェーン20を操作する。ここでのブロックチェーン20の操作の一例は、トークンを送信するスマートコントラクト22の呼び出しである。なお、ブロックチェーン20の操作は、スマートコントラクト22を利用することなく、システム10の管理者のブロックチェーンアドレスからトークンが送信されるブロックチェーン20を操作することであってもよい。 At step S54, server 51 operates blockchain 20 such that tokens are distributed to the blockchain address assigned to the user account. An example of a blockchain 20 operation here is the invocation of a smart contract 22 to send a token. It should be noted that the operation of the blockchain 20 may be the operation of the blockchain 20 to which the token is sent from the blockchain address of the administrator of the system 10 without using the smart contract 22 .

さて、ステップS55が実行されるのは、例えば、ユーザが、初めてシステム10のサーバ51にアクセスした場合、又は、ユーザは、システム10のサーバ51にアクセスしたことはあるが、トークンの取得などブロックチェーン20に関連したサービスの提供を受けたことがない場合である。 Now, step S55 is executed, for example, when the user accesses the server 51 of the system 10 for the first time, or when the user has accessed the server 51 of the system 10 but is blocked from acquiring a token. This is the case when the service related to the chain 20 has never been provided.

ステップS55において、サーバ51は、ユーザがサーバ51にログインするためのユーザアカウント500を生成する(ステップS55A)。ユーザアカウント500は、サーバ51が提供するオンラインサービスのためのアカウントである。サーバ51が提供するオンラインサービスは、例えば、トークンの送受信・トークンの閲覧などブロックチェーンに関連したサービスを含むことができる。サーバ51が提供するオンラインサービスは、ブロックチェーンに直接関連しないサービスを含んでもよい。ブロックチェーンに直接関連しないサービスは、例えば、ソーシャルネットワークサービス(SNS)、オンラインショッピングサービス、オンラインゲームサービス、音楽、動画又は電子出版物のオンライン提供サービス、オンライン教育サービス、及びメタバース(Metaverse)サービスのいずれかである。トークン配布を契機として、これらのサービスのユーザアカウント500がユーザのために生成されることで、これらのサービスのユーザ数を増加させることができる。 At step S55, the server 51 generates a user account 500 for the user to log into the server 51 (step S55A). A user account 500 is an account for online services provided by the server 51 . Online services provided by the server 51 can include, for example, blockchain-related services such as sending and receiving tokens and viewing tokens. Online services provided by server 51 may include services not directly related to blockchain. Services not directly related to blockchain are, for example, social network services (SNS), online shopping services, online game services, online provision of music, videos or electronic publications, online education services, and Metaverse services. or User accounts 500 for these services are created for users in the wake of token distribution, thereby increasing the number of users of these services.

ユーザアカウント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 server 51 or by the user. As the ID and password of the user account 500, a blockchain address and private key, which will be described later, may be used. In this case, the blockchain address and private key are also used as the ID and password of the user account 500, which enhances user convenience.

サーバ51は、ユーザアカウント500に、ユーザのためのブロックチェーンアドレスを割り当てる(ステップS55B)。ユーザアカウント500に割り当てられるブロックチェーンアドレスは、第1トークンリクエストR1に応じて、トークン配布処理51Kによってユーザへ送信されるトークンを受信するための受信用ブロックチェーンアドレスである。受信用ブロックチェーンアドレスは、ユーザに割り当てられると、前述の割当済ブロックチェーンアドレスとして扱われる。なお、ユーザに割り当てられた受信用ブロックチェーンアドレスは、トークンの送信等の他の用途に用いられてもよい。 The server 51 assigns the user account 500 a blockchain address for the user (step S55B). The blockchain address assigned to the user account 500 is the receiving blockchain address for receiving tokens sent to the user by the token distribution process 51K in response to the first token request R1. When a receiving blockchain address is assigned to a user, it is treated as the assigned blockchain address described above. Note that the receiving blockchain address assigned to the user may be used for other purposes such as token transmission.

実施形態においては、サーバ51によってユーザにブロックチェーンアドレスが割り当てられるため、ユーザは、ブロックチェーンアドレスの取得の手間から解放される。また、ユーザは、ブロックチェーンアドレスの取得を特に意識することなく、ブロックチェーンアドレスの割り当てを受けることも可能である。 In the embodiment, since the server 51 assigns the blockchain address to the user, the user is freed from the trouble of acquiring the blockchain address. In addition, the user can be assigned a blockchain address without being particularly conscious of obtaining a blockchain address.

なお、第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 server 51, but the user account 500 has not yet been assigned a blockchain address. For example, the user already uses the above-mentioned "service not directly related to blockchain" (such as the above-mentioned social network service (SNS)) and already has a user account 500 for that service. If the service involves token distribution, the user may send a first token request to the server 51 while logged into the user account 500 . In this case, the generation of the user account 500 (step S55A) can be omitted in the address setting (step S55).

以上のように、本実施形態において、第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 server 51 assign a blockchain address to user account 500 or "assignment approval" approving server 51 to assign a blockchain address. can be taken as When the server 51 receives a user instruction R1 for allocating a blockchain address, it allocates a blockchain address to the user's existing user account 500 on the server 51 . Thereby, the user can change the existing user account 500 that cannot use the blockchain 20 to a user account 500 that can use the blockchain 20 . Note that the user instruction R1 for allocating a blockchain address does not have to be associated with a token code.

既存ユーザアカウント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 blockchain 20, the user can use blockchain-related services such as trading and viewing tokens on the blockchain 20 while logged in to the user account 500. can be used. For example, the user is logged into an online service such as a social network service (SNS), an online shopping service, an online game service, an online provision service of music, videos or electronic publications, an online education service, or a Metaverse service. , it is possible to use blockchain-related services such as trading and viewing of tokens in the blockchain 20.

実施形態においては、受信用ブロックチェーンアドレスは、一例として、予め発行された複数の割当候補ブロックチェーンアドレスから、サーバ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 server 51 from a plurality of pre-issued allocation candidate blockchain addresses, as an example. A plurality of pre-issued allocation candidate blockchain addresses are stored, for example, in the blockchain address list 51F (see FIG. 2). Allocation candidate block chain addresses stored in the block chain address list 51F are addresses that have been issued in the block chain 20 by the administrator or the like of the system 10, but have not been allocated to users. The block chain address list 51F shown in FIG. 2 stores, as an example, the first to third block chain addresses 25A, 25B, and 25C shown in FIG. The server 51 can appropriately select one allocation block chain address from the block chain address list 51F and allocate the selected allocation block chain address to the user as a reception block chain address.

ブロックチェーンアドレスの発行は、ブロックチェーン20に記録される必要があり、ブロックチェーン20への記録には時間を要することがある。このため、ブロックチェーンアドレスの発行には時間を要することがある。しかし、複数のブロックチェーンアドレスを、割当用として予め発行しておくことで、割り当てが必要となったときに、迅速にブロックチェーンアドレスを割り当てることができる。特に、ブロックチェーンアドレス予め発行しておくことで、多数の割り当てを短時間で行わなければならない場合にも容易に対処でき有利である。 Issuance of a blockchain address needs to be recorded in the blockchain 20, and recording in the blockchain 20 may take time. For this reason, it may take time to issue a blockchain address. However, by issuing a plurality of blockchain addresses for allocation in advance, it is possible to quickly allocate blockchain addresses when allocation becomes necessary. In particular, by issuing blockchain addresses in advance, it is advantageous to be able to easily deal with cases where many assignments must be made in a short period of time.

なお、サーバ51は、割り当ての必要が生じてから、ブロックチェーンアドレス(プライベートキー)の発行のための処理を実行してもよい。例えば、ステップS53において、割当済ブロックチェーンアドレスが無いと判定されてから、ユーザに割り当てるための割当用ブロックチェーンアドレスを発行してもよい。この場合、予めブロックチェーンアドレス(プライベートキー)を発行しておく必要がなく、簡便である。 Note that the server 51 may execute processing for issuing a blockchain address (private key) after the need for allocation arises. For example, after it is determined that there is no allocated blockchain address in step S53, an allocation blockchain address to be allocated to the user may be issued. In this case, there is no need to issue a blockchain address (private key) in advance, which is convenient.

図2に示すブロックチェーンアドレスリスト51Fには、割当候補ブロックチェーンアドレスに対応するプライベートキーも格納されている。ブロックチェーン20において、プライベートキーは、取引に必要である。前述のように、ブロックチェーンアドレス及びプライベートを、サーバ51におけるユーザアカウント500のためのID及びパスワードとして用いてもよい。 Private keys corresponding to allocation candidate block chain addresses are also stored in the block chain address list 51F shown in FIG. In blockchain 20, private keys are required for transactions. As previously mentioned, the blockchain address and private may be used as the ID and password for the user account 500 on server 51 .

割当候補ブロックチェーンアドレスに対応するプライベートキーは、割当候補ブロックチェーンアドレスがユーザに割り当てられた際に、そのユーザに送信されて、ユーザにおいて保存されるのが好ましい。この場合、ユーザは、プライベートキーを用いて、ブロックチェーン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 blockchain 20 using the private key.

また、割当候補ブロックチェーンアドレスに対応するプライベートキーは、割当候補ブロックチェーンアドレスがユーザに割り当てられた後においても、引き続きサーバ51に保存されてもよい。この場合、サーバ51は、ユーザのために、プライベートキーを安全に保管し、ユーザの必要に応じて、プライベートキーをユーザに使用させることができる。 Also, the private key corresponding to the allocation candidate blockchain address may continue to be stored in the server 51 even after the allocation candidate blockchain address is allocated to the user. In this case, the server 51 can securely store the private key for the user and allow the user to use the private key according to the user's needs.

図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 first blockchain address 25A to a user account 500. As shown in FIG. In the state of step S61 shown in FIG. 6, the first block chain address 25A (0x11111) is issued in advance in the block chain 20, and the server 51 has the first block chain address 25A as an allocation candidate block chain address. ing. Server 51 also has a private key corresponding to the first blockchain address. In the state of step S61 shown in FIG. 6, the server 51 receives the first token request R1. Note that step S61 in FIG. 6 corresponds to step S51 in FIG.

サーバ51は、第1トークンリクエストR1を受信すると、ユーザアカウント500を生成し、そのユーザアカウント500に第1ブロックチェーンアドレス25Aを割り当てる(ステップS62)。なお、図6のステップS62は、図5のステップS55に対応する。 When the server 51 receives the first token request R1, it creates a user account 500 and assigns the first blockchain address 25A to the user account 500 (step S62). Note that step S62 in FIG. 6 corresponds to step S55 in FIG.

サーバ51は、ユーザアカウント500を生成すると、既に受信している第1トークンリクエストR1を、ユーザアカウント500からのリクエストとして扱う。つまり、サーバ51は、ユーザアカウント500が存在しない状態で受信した第1トークンリクエストR1を、事後的に生成したユーザアカウント500において受信したリクエストとして扱う。 After generating the user account 500 , the server 51 treats the already received first token request R<b>1 as a request from the user account 500 . That is, the server 51 treats the first token request R1 received when the user account 500 does not exist as a request received in the user account 500 generated after the fact.

ユーザアカウント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 first blockchain address 25A, the first token request R1 is associated via the user account 500 with the first blockchain address 25A. That is, the server 51 recognizes from the user account 500 having the first token request R1 that the destination of the token corresponding to the first token request R1 is the first blockchain address 25A assigned to the user account 500. can do.

以上のように、図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 block chain address 25A assigned to the user in step S55 is set as the destination address of the token transmitted in response to the first token request R1. be done. That is, the server 51 operates the blockchain 20 so that the token is transmitted with the blockchain address 25A assigned to the user as the token transmission destination. For example, the server 51 designates the blockchain address 25A assigned to the user as the token transmission destination and calls the smart contract 22 . Since the smart contract 22 is configured to send the token to the specified destination when invoked, the token corresponding to the first token request R1 is sent to the specified destination, the blockchain address 25A (0x11111). is sent.

以上のように、ユーザに割り当てられたブロックチェーンアドレス25Aへトークンが送信されると、ユーザは、そのトークンを所有していることになる。ユーザが所有するトークンは、サーバ51のユーザアカウント500において参照又は取引可能となる。 As described above, when a token is sent to the blockchain address 25A assigned to the user, the user owns the token. Tokens owned by the user can be referenced or traded in the user account 500 of the server 51 .

図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 smart contract 22. As shown in FIG. In the first transmission process 23, the NFTs 501, 502, 503 issued in advance before receiving the first token request R1 are transmitted according to the first token request R1. The smart contract 22 shown in FIG. 3 has a plurality of NFTs 501, 502, 503 issued in advance. Smart contract 22 is configured to transmit one or more NFTs selected from multiple NFTs 501, 502, 503 to a specified destination.

図7に示す第1送信処理23では、スマートコントラクト22は、サーバ51から呼び出されると、所有するNFTの中から、指定された送信先へ送信するNFTを決定する(ステップS71)。スマートコントラクト22は、決定したNFTを指定された送信先へ送信する(ステップS72)。 In the first transmission process 23 shown in FIG. 7, the smart contract 22, when called by the server 51, determines the NFT to be transmitted to the specified destination from among the owned NFTs (step S71). The smart contract 22 transmits the determined NFT to the designated destination (step S72).

ステップ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 smart contract 22, may be made based on a predetermined rule, or may be made based on the second code transmitted from the server 51. may be determined. The server 51 can send the second code to the smart contract 22 as needed (step S70). The second code indicates information for smart contract 22 to identify the NFT to be transmitted. For example, the second code may be the NFT identifier of the NFT to be transmitted (eg, Nft_id01), other data (identifier) that smart contract 22 may identify the NFT identifier of the NFT to be transmitted, or the type of NFT to be transmitted. data indicating

図8は、スマートコントラクト22が第2コードを受信する例を示している。第2コードは、サーバ51が、例えば、スマートコントラクト22を呼び出す際に、サーバ51からスマートコントラクト22へ送信される(ステップS81)。サーバ51は、第2コードの送信に先立って、スマートコントラクト22へ送信すべき第2コードを決定する。例えば、サーバ51は、第1トークンリクエストR1を受信すると、第2コードを決定する。 FIG. 8 shows an example of smart contract 22 receiving a second code. The second code is transmitted from the server 51 to the smart contract 22 when the server 51 calls the smart contract 22, for example (step S81). Prior to sending the second code, server 51 determines the second code to send to smart contract 22 . For example, the server 51 determines the second code upon receiving the first token request R1.

第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 server 51 has a table in which the first code and the second code are associated, and by referring to the table, the server The second code can be obtained from the first code received by 51 . Also, the second code may be the same as the first code.

第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, server 51 can independently determine the second 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 server 51 refers to the NFT list 51G (see FIG. 2) having the NFT identifier of the NFT that the smart contract 22 has, and can determine the NFT identifier that will be the second code. . The server 51 appropriately selects an untransmitted NFT from among the NFT identifiers included in the NFT list. One or more NFT identifiers may be selected. The NFT identifier here may be the NFT identifier (for example, Nft_id01) in the blockchain 20, or another identifier for the smart contract 22 to identify the NFT identifier (for example, Nft_id01) in the blockchain 20. There may be.

第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 server 51 can refer to the NFT type list 51H (see FIG. 2) showing a list of NFT types to determine the NFT type that will be the second code. can. The server 51 can determine the type of NFT randomly or according to predetermined rules. The server 51 may determine the NFT type to be the second code based on the first code.

ここで、「タイプ」とは、トークンの種類をいう。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 smart contract 22 . For example, when the smart contract 22 receives the second code indicating the NFT type, the smart contract 22 can determine the NFT having the NFT type indicated by the second code as the NFT to be transmitted.

図2に示すNFTタイプリスト51Hでは、一例として、「TypeA」、「TypeB」、「TypeC」の3つが格納されている。例えば、TypeAは、あるスポーツ選手P1の画像を持つNFTのタイプである。TypeBは、他のスポーツ選手P2の画像を持つNFTのタイプである。TypeCは、さらに他のスポーツ選手P3の画像を持つNFTのタイプである。なお、同一の画像を持つなどの同一タイプのNFTは、そのNFTに付されたシリアル番号(図4参照)によって、区別され得る。 In the NFT type list 51H shown in FIG. 2, as an example, three types of "Type A", "Type B", and "Type C" are stored. For example, TypeA is a type of NFT with an image of a certain athlete P1. TypeB is a type of NFT with an image of another athlete P2. Type C is a type of NFT with an image of yet another athlete P3. Note that NFTs of the same type, such as having the same image, can be distinguished by the serial number (see FIG. 4) attached to the NFT.

第2コードを受信したスマートコントラクト22は、第2コードに基づいて決定されたNFTを、指定された送信先である第1ブロックチェーンアドレス25Aへ送信する(ステップS82)。なお、スマートコントラクト22への第2コードの送信は、スマートコントラクト22へ、トークン送信を要求するトークンリクエストともいえる。したがって、第2コードの送信は、第2トークンリクエストの送信ともいえる。 The smart contract 22 that has received the second code transmits the NFT determined based on the second code to the designated first blockchain address 25A (step S82). The transmission of the second code to the smart contract 22 can be said to be a token request requesting the smart contract 22 to transmit the token. Therefore, the transmission of the second code can also be said to be the transmission of the second token request.

第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, smart contract 22 can uniquely determine the NFT to send based on the NFT identifier. When the second code is the NFT type, the smart contract 22 can determine one or more NFTs appropriately selected from among a plurality of NFTs having the NFT type indicated by the second code as NFTs to be transmitted. can. Note that if the token to be sent is FT, the smart contract 22 may determine the quantity of FT to be sent according to the second code.

図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 first transmission process 23, an NFT issued in advance is transmitted, but in the second transmission process 24, the NFT is generated after the need for transmission arises, and the generated NFT is transmitted. In the first transmission process 23, it is necessary for the system 10 to have a large number of NFTs in stock in advance in preparation for transmission. Inventory management becomes complicated when holding NFTs as inventory. For example, if there are few NFTs in stock, there is a risk of stockout. Conversely, if an attempt is made to avoid running out of stock, the administrator of the system 10 must generate a huge number of NFTs in advance and store them in the smart contract 22 or the like. If the system were to have a large inventory of NFTs, the administrator of system 10 would be burdened with pre-generating a large number of NFTs. On the other hand, in the second transmission process 24, since the NFT is generated after receiving the token request, the NFT may not be held before the token request is received. That is, system 10 need not keep an inventory of NFTs to transmit.

システム10が、複数のタイプのNFTを配布・提供するよう構成されている場合、NFTのタイプ毎に多数のNFTを予め準備する必要が生じる。しかし、第2送信処理24では、第2コードによって、生成すべきNFTのタイプが識別されるため、適切なタイプのNFTを生成して、送信することができる。したがって、NFTのタイプ毎に多数のNFTを予め準備する必要がない。 If the system 10 is configured to distribute/provide multiple types of NFTs, it will be necessary to prepare multiple NFTs in advance for each NFT type. However, in the second transmission process 24, the second code identifies the type of NFT to be generated so that the appropriate type of NFT can be generated and transmitted. Therefore, there is no need to prepare a large number of NFTs in advance for each type of NFT.

図9に示す第2送信処理24では、スマートコントラクト22は、NFTのタイプを示す第2コードを受信すると、第2コードが示すタイプのNFTを生成し(ステップS91)、生成したNFTを指定された送信先へ送信する(ステップS92)。なお、NFTの生成は、外部の装置(例えば、サーバ51又は他のサーバ)によって行われてもよい。スマートコントラクト22は、外部の装置にNFTの生成を委ね、外部の装置によって生成されたNFTを送信してもよい。 In the second transmission process 24 shown in FIG. 9, when the smart contract 22 receives the second code indicating the type of NFT, it generates an NFT of the type indicated by the second code (step S91), and the generated NFT is specified. is sent to the specified destination (step S92). Note that NFT generation may be performed by an external device (eg, server 51 or another server). The smart contract 22 may delegate NFT generation to an external device and transmit the NFT generated by the external device.

サーバ51は、スマートコントラクト22へ第2コードを送信するため、送信すべき第2コードを決定する(ステップS92)。サーバ51は、NFTのタイプの一覧を示すNFTタイプリスト51H(図2参照)を参照し、第2コードとなる1又は複数のNFTタイプを決定することができる。サーバ51は、NFTタイプリスト51Hの中から、NFTタイプをランダム又は所定の規則に従って決定できる。サーバ51は、第1コードに基づいて、第2コードとなるNFTタイプを決定してもよい。 The server 51 determines the second code to be transmitted in order to transmit the second code to the smart contract 22 (step S92). The server 51 can refer to an NFT type list 51H (see FIG. 2) showing a list of NFT types to determine one or more NFT types to be the second code. The server 51 can randomly or according to a predetermined rule determine the NFT type from the NFT type list 51H. The server 51 may determine the NFT type to be the second code based on the first code.

スマートコントラクト22は、第2コードを受信すると、受信した第2コードに基づいて、生成すべきNFTタイプを識別する。NFTの生成のため、タイプ毎に、NFT化されるデータが予め用意されている。NFT化されるデータは、例えば、画像データである。NFTの生成は、第2コードに基づいて識別されたタイプに対応するデータを、NFT化することによって行われる。同じタイプ又は同じデータを有するNFTを区別するため、NFTには、シリアル番号(図4参照)が付与され得る。 Upon receiving the second code, smart contract 22 identifies the NFT type to generate based on the received second code. For generation of NFT, data to be converted into NFT is prepared in advance for each type. Data to be NFTized is, for example, image data. NFT generation is performed by NFTizing data corresponding to the type identified based on the second code. To distinguish between NFTs of the same type or having the same data, the NFTs may be given serial numbers (see FIG. 4).

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: second transmission process 25A: first block chain address 25B: second block chain address 25C: third block chain address 31 : Client terminal 31A : First screen display 31B : Second screen display 51 : Token request reception server 51A : Processor 51B : Storage device 51C : Computer program 51D : Judgment condition 51E : Code list 51F : Blockchain address list 51G : NFT list 51H: NFT type list 51K: token distribution processing 60: two-dimensional code 101: tangible medium 101B: code display unit 120: uniform resource identifier 120: URI
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コードを用いて判定することを更に備え、
前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定された場合に実行される、
請求項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コードを用いて判定し、
前記トークンリクエストの送信元である前記ユーザに割り当てられた割当済ブロックチェーンアドレスの有無を判定する、
ことを更に備え、
前記受信用ブロックチェーンアドレスを前記ユーザに割り当てることは、前記トークンリクエストが有効であると判定され、かつ、前記ユーザに割り当てられた前記割当済ブロックチェーンアドレスが無いと判定された場合に実行される、
請求項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.
JP2021210014A 2021-12-23 2021-12-23 Server, token distribution system, and computer implementation method Pending JP2023094491A (en)

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)

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