Method and computer for allowing users to acquire non-fungible tokens of a blockchain
Patent Information
- Application Number
- JP2024022441
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-12-05
- Filing Date
- 2024-02-16
- Publication Date
- 2025-05-22
AI Technical Summary
Existing technologies do not effectively manage the association and transaction of non-fungible tokens (NFTs) with tangible objects, lacking a systematic method to link ownership changes and transactions between the two.
A method involving smart contracts on a blockchain, where an identifier in a code attached to an object associates it with an NFT, enabling operations such as ownership changes, token storage, and payment of crypto assets, facilitated by a management server that calls and executes these contracts.
This approach ensures transparent and efficient management of NFT ownership and transactions, linking real-world object transactions with blockchain transactions, allowing seamless transfer and profit distribution, even for users without crypto assets.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a method for managing an object, a smart contract, and a management device. [Background technology]
[0002] Patent Document 1 discloses calling up a ticket ownership registration site using a URL included in a two-dimensional code.
[0003] Patent Document 2 discloses a two-dimensional code including information on a contract and a contract address. Patent Document 2 discloses that a terminal device 220 accesses a smart contract using a contract address included in the two-dimensional code. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2019-185510 A [Patent Document 2] JP 2018-36893 A [Patent Document 3] JP 2005-100235 A [Patent Document 4] JP 2019-160316 A Summary of the Invention
[0005] The present inventor came up with the idea of associating and managing a non-fungible token (Non-Fungible Token: NFT) with an object other than the non-fungible token. Neither Patent Document 1 nor Patent Document 2 discloses such an idea. The present disclosure provides a new technical method for associating and managing a non-fungible token with an object other than the non-fungible token.
[0006] One aspect of the present disclosure is a method of managing an object, comprising: a smart contract implemented in a blockchain that is identified by an identifier included in code attached to the object, performing an operation on a non-fungible token.
[0007] Another aspect of the present disclosure is a smart contract configured to obtain an identifier included in a code attached to the object and perform an operation on a non-fungible token identified by the identifier.
[0008] Another aspect of the present disclosure is a management device for an object, the management device being configured to execute a process including acquiring an identifier included in a code assigned to the object, and invoking a smart contract implemented in a blockchain via a network to execute an operation on a non-fungible token identified by the identifier.
[0009] Further details will be described in the following embodiments. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is an explanatory diagram of card buying and selling management by a management server. [Diagram 2] FIG. 2 is a front view of the card. [Diagram 3] FIG. 3 is a flow chart showing the ownership registration procedure. [Figure 4] FIG. 4 is a flow chart showing the procedure for the secondary sale of ownership rights. [Diagram 5] FIG. 5 is a flow chart showing the ownership purchase procedure. [Figure 6] FIG. 6 is a flowchart showing the procedure for referring to the owner history. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] <1. Overview of the method for managing objects, smart contracts, and management devices>
[0012] (1) According to an embodiment, a method for managing an object comprises a smart contract implemented in a blockchain performing an operation on a non-fungible token. The non-fungible token is identified by an identifier included in a code assigned to the object. The object is not particularly limited as long as it is different from the non-fungible token. The object is, for example, a tangible object or an intangible object such as digital data.
[0013] A blockchain is a peer-to-peer computer network, such as Ethereum, which serves as a platform for building decentralized applications and smart contracts.
[0014] The cryptocurrency used in Ethereum is called Ether. Ether has the properties of a currency, such as being able to be used to pay for things and being mutually exchangeable with fiat currencies. Because Ether is fungible like fiat currencies, it is also called a fungible token.
[0015] In addition to fungible tokens, tokens that can be traded on a blockchain include the aforementioned non-fungible tokens (NFTs). Unlike fungible tokens, NFTs are tokens that are not fungible. NFTs may have a different value from other tokens. NFTs are issued as digital assets traded in computer games, for example. NFTs may have unique value that distinguishes them from other NFTs. For this reason, NFTs have a unique identifier (NFT-ID) that enables them to be distinguished from other NFTs. Note that fungible tokens such as Ether have the same value as other fungible tokens and do not need to be distinguished, so they do not have an identifier such as an NFT-ID.
[0016] NFTs, like fungible tokens, can be traded on the blockchain. The transaction history of NFTs is recorded on the blockchain. The owners of NFTs and their ownership history are also recorded on the blockchain.
[0017] An NFT is, for example, a token issued according to the Ethereum Request for Comments (ERC) 721 standard. An NFT that complies with the ERC 721 standard is called an NFT-721 token.
[0018] Smart contracts are implemented on the blockchain and automatically execute protocols such as contracts. The execution history of smart contracts is recorded on the blockchain, which is composed of a P2P network. Therefore, the use of smart contracts can ensure the transparency of contracts.
[0019] The management of an object is, for example, the management of the change of ownership of a non-fungible token accompanying the buying and selling (trading) of the object. The management of an object is not limited to the management of the change of ownership, but includes various management that can be realized by the operation of a non-fungible token by a smart contract.
[0020] In managing objects, the primary object of a transaction (object of the transaction) may be the object or a non-fungible token. For example, the primary object of a transaction may be the object, and the secondary object of the transaction may be a non-fungible token. In this case, the non-fungible token is manipulated to ensure the transaction of the object.
[0021] Conversely, in managing objects, the primary object of a transaction may be a non-fungible token, and the secondary object of the transaction may be the object itself. In this case, the object is traded to facilitate the trading of the non-fungible token. The non-fungible token is then manipulated in conjunction with the trading of the object.
[0022] In an embodiment, the non-fungible token operated by the smart contract is identified by an identifier included in the code assigned to the object. The code assigned to the object includes an identifier, thereby realizing association between the object and the non-fungible token. The identifier is used, for example, to call the smart contract. More specifically, the identifier is provided to the smart contract when the smart contract is called. The code is preferably in a machine-readable format, for example, a one-dimensional code or a two-dimensional code. The code may be composed of symbols or figures that are also readable by humans. The code may include other data other than the identifier. The other data is, for example, a domain for accessing a management server described below.
[0023] Applying a code to an object means, for example, physically attaching the code to the object. Physical attachment can be, for example, printing, pasting, or engraving. Applying a code to an object does not require the code to be physically integrated with the object, so long as it is objectively clear that the code has been applied to the object. For example, the code may be displayed in a digital image of the object.
[0024] (2) The operation on the non-fungible token may include an operation for changing the owner of the non-fungible token, in which case, when the owner of the object is changed, the smart contract can change the owner of the non-fungible token associated with the object.
[0025] (3) The operation on the non-fungible token may include the smart contract receiving the non-fungible token from an owner of the non-fungible token, in which case the owner of the non-fungible token may deposit the non-fungible token into the smart contract.
[0026] (4) The operation on the non-fungible token may further include the smart contract storing a password set for the non-fungible token held by the smart contract, in which case a password is set for the non-fungible token held by the smart contract.
[0027] (5) The operation on the non-fungible token may further include the smart contract making the user who input the password the new owner of the non-fungible token held by the smart contract. In this case, the user who input the password can become the new owner of the non-fungible token.
[0028] (6) When the operation on the non-fungible token is executed, the smart contract may further execute an operation to pay a crypto asset in the blockchain to a right holder associated with the non-fungible token. In this case, the right holder may receive a benefit. The right holder may be, for example, a copyright holder for an object or a non-fungible token, and the benefit may be, for example, a copyright fee.
[0029] (7) The method of the embodiment may further include a management device obtaining the identifier included in the code assigned to the object, and invoking the smart contract via a network to perform an operation on the non-fungible token identified by the identifier.
[0030] (8) A smart contract according to an embodiment is implemented on a blockchain and is configured to obtain an identifier included in a code assigned to the object and to perform an operation on a non-fungible token identified by the identifier.
[0031] (9) The operation on the non-fungible token may include an operation for changing the owner of the non-fungible token.
[0032] (10) The operation on the non-fungible token may include taking the non-fungible token from the owner of the non-fungible token.
[0033] (11) The operation on the non-fungible token may further include storing a password set for the non-fungible token held by the smart contract.
[0034] (12) The operation on the non-fungible token may further include the smart contract making the user who entered the password the new owner of the non-fungible token held by the smart contract.
[0035] (13) The smart contract may be configured to, when the operation on the non-fungible token is executed, perform an operation to pay crypto assets in the blockchain to a rights holder associated with the non-fungible token.
[0036] (14) An object management device according to an embodiment is configured to perform processing including obtaining an identifier contained in a code assigned to the object and invoking the smart contract implemented in a blockchain via a network to perform an operation on a non-fungible token identified by the identifier.
[0037] <2. Examples of methods for managing objects, smart contracts, and management devices>
[0038] FIG. 1 shows an overview of the processing of the management server 10 associated with the buying and selling of an object 40. The management server 10 is provided on the Internet. The management server 10 is configured by a computer having a memory and a processor connected to the memory. The management server 10 has an interface for network access. The memory stores a computer program for operating the computer as the management server 10 of the embodiment. The processor executes the computer program stored in the memory. The management server 10 can control the display on the user's terminals 31 and 32 and accept user operations on the terminals 31 and 32. The terminals 31 and 32 can access the management server 10 and a smart contract described later via the network.
[0039] In the embodiment, the management server 10 is a management device used to manage objects. If each of the terminals 31 and 32 has the function of the management server 10 (such as a function to call a smart contract, which will be described later), each of the terminals 31 and 32 can also function as a management device. If the terminals 31 and 32 also have the function of the management server 10, the management server 10 may be omitted.
[0040] In the embodiment, the object 40 is, as an example, a trading card (hereinafter, referred to as "card 40"), which is a tangible object. The card 40 is a physical object and can be easily traded. For example, the card 40 is traded in an online market 50. The online market 50 is, for example, a flea market for person-to-person (CtoC) transactions. The online market 50 can be used by an online market application installed in the user terminals 31 and 32. In the online market 50, the card 40, which is a product put up for sale by a user who is a seller, can be purchased by other users who are buyers.
[0041] Payment for a purchase can be made in fiat currency, for example, using a credit card. When a sale of the card 40 is completed in the online market 50, the card 40 is sent from the user who is the seller to the user who is the buyer. Since the card 40 is a tangible object, the delivery of the card 40 to the buyer is made as a transfer of possession of the card 40 in the real world. The object 40 does not need to be tradable in the blockchain, so even those who are not familiar with blockchains can easily make a transaction.
[0042] As shown in Fig. 2, a code 41 is attached to a card 40 of the embodiment. Here, the code 41 is, as an example, a two-dimensional code 41. In the embodiment, the two-dimensional code 41 is configured to represent a URL for network access to the management server 10. The two-dimensional code 41 is scanned by a two-dimensional code scanner function possessed by the user's terminals 31 and 32. The terminals 31 and 32 are, for example, smartphones equipped with cameras. The two-dimensional code scanner function is possessed by an application installed in the terminals 31 and 32.
[0043] In the embodiment, a non-fungible token 70 (NFT 70) is used to manage a card 40, which is an object. When multiple objects 40 are managed, different NFTs 70 are associated with each of the multiple objects 40. The NFT 70 has a unique identifier (NFT_ID). The NFT 70 is, for example, an NFT-721 token. In the following description, the NFT 70 is described as being an NFT-721 token.
[0044] NFTs can be traded on the Ethereum network, just like Ether, the cryptocurrency traded on the Ethereum network. Ethereum is a blockchain network on a Peer to Peer (P2P) network.
[0045] Operations on NFTs 70, such as trading NFTs 70, are executed by a smart contract 20 built on a blockchain, such as the Ethereum network. The smart contract 20 is a computer program written on a blockchain. The smart contract 20 is configured by implementing a computer program in a computer network that constitutes the blockchain. The computer program is executed in the computer network that constitutes the blockchain, thereby performing the operation of the smart contract. The smart contract 20 has an address (contract address) in the blockchain. The smart contract 20 is stored in the contract address. In this embodiment, the smart contract 20 is called and executed by the management server 10 via a network such as the Internet. The performance history of the smart contract is recorded in a blockchain, such as Ethereum. The smart contract 20 may be called by terminals 31 and 32.
[0046] In the embodiment, the card 40 is associated with the NFT 70. In order to associate the card 40 with the NFT 70 one-to-one, the data (URL) represented by the two-dimensional code 41 attached to the card 40 includes the identifier (NFT_ID) of the NFT 70. The identifier (NFT_ID) of the NFT 70 is included in the URL represented by the two-dimensional code 41 attached to the card 40 associated with the NFT 70. In other words, the URL attached to the card 40 includes the domain of the management server 10 and the identifier (NFT_ID) of the NFT 70. In other words, the URL includes data used by the management server 10 to call the smart contract 20 for operating the NFT 70. Note that when the management server 10 is omitted, the domain of the management server 10 may be omitted from the data represented by the two-dimensional code 41. Also, even if the management server 10 is used, if the terminal 31, 32 that reads the two-dimensional code 41 knows the domain of the management server 10 in advance, the domain of the management server 10 may be omitted from the data represented by the two-dimensional code 41.
[0047] In an embodiment, the URL may include the NFT_ID, as well as the address of the NFT 70 on Ethereum, the ID of the NFT, and the private key of the Ethereum address from which the fee for invoking the smart contract 20 (Gas in Ethereum) is paid.
[0048] When the management server 10 accepts network access using the URL assigned to the card 40, the management server 10 can identify the NFT 70 corresponding to the card 40 that caused the network access from the identifier (NFT_ID) of the NFT 70 included in the URL. The URL has data necessary to call the smart contract 20 for operating the NFT 70. The management server 10 is also configured to call the smart contract 20 that operates the NFT 70 associated with the card 40, using the data included in the URL. In this way, in the embodiment, the card 40 and the NFT 70 are associated with each other via the URL assigned to the card 40. Note that the URL does not need to include the NTF_ID itself, and may include other data that allows the management server 10 or the like to identify the NFT_ID associated with the card 40.
[0049] The owner of the NFT 70 changes on Ethereum in accordance with a change in the owner (occupant) of the card 40 due to buying and selling of the card 40, etc. The management server 10 executes the processing required to change the owner of the NFT 70 on Ethereum in accordance with a change in the owner of the card 40. Note that, conversely to the above, the card 40 may be bought and sold in order to change (buy and sell) the owner of the NFT 70.
[0050] In the embodiment, since the card 40 and the NFT 70 are associated with each other, the owner of the NFT 70, which is a digital asset, is the owner of the card 40, which is a tangible object. Since the owner and owner history of the NFT 70 are recorded on the blockchain, the owner and owner history of the card 40, which is a tangible object, are essentially recorded on the blockchain. Moreover, since the card 40 and the NFT 70 are associated with each other in the embodiment, it is possible to link transactions of the card 40 in the real world with transactions of the NFT 70 on the blockchain.
[0051] The procedure for changing the owner of an NFT 70 in conjunction with a change in the owner of a card 40 is outlined below. Here, user A is the current owner of the card 40 and the NFT 70 associated with that card 40. First, prior to the sale of the card 40, user A accesses the management server 10 via terminal 31 and performs an operation to relinquish ownership of the NFT 70. The relinquishment of ownership of the NFT 70 is performed by user A depositing the NFT 70 in the smart contract 20 (step S1 in FIG. 1).
[0052] When an operation to deposit the NFT 70 in the smart contract 20 is performed, the NFT 70 is sent from user A's address (user A's Ethereum address) to the contract address of the smart contract 20. The smart contract 20 receives the NFT 70 abandoned by user A. As a result, the smart contract 20 is in a state of depositing the NFT 70. Note that an application having a function to access the management server 10 and a function to hold and trade tokens on Ethereum such as NFT 70 is installed in advance on user A's terminal 31.
[0053] After relinquishing ownership of NFT 70, i.e., after depositing ownership of NFT 70 in smart contract 20, user A puts card 40 up for sale on online market 50 (step S2 in FIG. 1). User B purchases the put-up card 40 (step S3 in FIG. 1). User B pays user A for card 40 in legal tender. Thus, in the embodiment, management is performed using a blockchain such as Ethereum, but because the buyer's payment is made in legal tender, the buyer can make a purchase even if he or she does not have cryptocurrency.
[0054] Although the method of buying and selling the card 40 is not particularly limited, when buying and selling is performed through the online market 50, it is sufficient for the buyer, user B, to have an application for using the online market 50. At the time of purchasing the card 40, user B does not need to have an application having a function of accessing the management server 10 and a function of trading tokens on Ethereum such as NFT 70. In other words, user B does not need to be an Ethereum user at the time of purchasing the card 40. Therefore, the candidates for users who will become buyers are many users in the online market 50, making it easy to sell the card 40.
[0055] The card 40 sold by user A is sent to the buyer, user B, using a delivery service or the like (step S4 in FIG. 1). In this way, user B acquires the actual card 40.
[0056] User B, who has obtained card 40, uses terminal 32 to scan the two-dimensional code 41 attached to card 40 and accesses management server 10 via terminal 32 (step S5 in FIG. 1). User B performs an operation to acquire ownership of NFT 70 via terminal 32. As a result, NFT 70 deposited by user A is sent from smart contract 20 to user B's address (user B's Ethereum address) (step S6 in FIG. 1). User B can refer to the sent NFT 70 on terminal 32.
[0057] In an embodiment, when ownership transfer of an NFT 70 occurs between users, the smart contract 20 executes a transaction to pay cryptocurrency (Ether) to a preset right holder for the NFT 70 (step S7 in FIG. 1). The preset right holder is, for example, the copyright holder (author) 60 of the card 40. The trigger for executing the payment transaction is any event related to a change in ownership of the NFT 70, and may be, for example, step S1 or step S6 in FIG. 1. The Ether paid to the right holder is transferred to the smart contract 20 from, for example, the terminal 31, 32 of user A, the seller, or user B, the buyer.
[0058] The details of the owner change procedure, including the procedure shown in FIG. 1, will be described below.
[0059] FIG. 3 shows the ownership registration procedure when user A purchases card 40 (ie, the primary sale of card 40 by a distributor of card 40).
[0060] At the time of sale of the card 40, the smart contract 20 owns the NFT 70 associated with the card 40 (step S101). That is, the smart contract 20 holds the NFT 70. Note that, although a fee (Gas) in Ethereum is incurred for calling the smart contract 20 and sending the NFT 70, the fee is set to be paid by the seller. That is, the card 40 is sold with Ether equivalent to the fee (Gas). Therefore, user A does not need to pay the fee (Gas) when registering ownership. As a result, even if user A does not have Ether at the time of registering ownership, the registration process is not hindered. Ether (cryptocurrency) equivalent to the fee (Gas) is stored in an Ethereum address associated with the NFT 70. The fee (Gas) required for operating the NFT 70 is paid from Ether accumulated in the Ethereum address corresponding to the NFT 70.
[0061] User A purchases card 40 from a seller by paying with legal tender and obtains the physical card 40 (step S102). User A uses terminal 31 to scan two-dimensional code 41 attached to card 40 (step S103). By scanning two-dimensional code 41, terminal 31 reads the URL attached to card 40.
[0062] The terminal 31 that reads the URL executes network access according to that URL (step S104). This allows the terminal 31 to access the management server 10. The management server 10 that accepts the network access from the terminal 31 determines the NFT 70 to be operated on by the NFT_ID included in the URL used for the access (step S105). In other words, by accepting the network access, the management server 10 obtains the NFT_ID included in the URL, and identifies the NFT 70 to be operated on by the obtained NFT_ID.
[0063] The management server 10 accesses the Ethereum network and refers to the owner of the NFT 70 determined to be the operation target. If the owner of the NFT 70 determined to be the operation target is the smart contract 20, that is, if the smart contract 20 is holding the NFT 70, the management server 10 prompts user A, who has accessed the management server 10 (step S104), to register the ownership of the NFT 70. When user A performs an operation on the terminal 31 to select registration of the ownership of the NFT 70 (step S106), a registration request is sent from the terminal 31 to the management server 10.
[0064] The management server 10, which has received the registration request, calls the smart contract 20 to execute an operation to change the owner of the NFT 70 to be operated on from the smart contract 20 to user A (step S107). When calling the smart contract 20, the management server 10 provides the smart contract 20 with an NFT_ID (identifier of the NFT 70). As a result, the smart contract 20 acquires the NFT_ID (identifier of the NFT 70). The smart contract 20 acquires the NFT_ID from the sender of the NFT_ID (such as the management server 10) via the network. The smart contract 20 identifies the NFT 70 to be operated on by the NFT_ID.
[0065] The called smart contract 20 changes the owner of the NFT 70 that is the target of the operation from the smart contract 20 to user A. That is, the smart contract 20 sends the NFT 70 that it holds to the address of the new owner, user A (user A's Ethereum address) (step S108). As a result, user A now owns the NFT 70 associated with the card 40. The fact that the owner of the NFT 70 has been changed to user A is recorded on the Ethereum network.
[0066] Through the above procedure, user A, who has purchased card 40 with fiat currency, can own NFT 70, which is an asset on Ethereum. When user A has ownership of NFT 70, he or she can use the NFT 70 and the network service or digital content associated with the NFT 70. The network service associated with the NFT 70 is, for example, a game. The content associated with the NFT 70 is, for example, an e-book, music, or video. These network services or digital content are associated with the card 40 via the NFT 70. Therefore, when the ownership of the card 40 is transferred, the right to use these network services or digital content can also be transferred.
[0067] FIG. 4 shows the procedure for user A to resell (secondary sell) card 40.
[0068] At the time when user A wishes to resell card 40, user A owns card 40 and NFT 70 associated with card 40 (step S201). User A uses terminal 31 to scan two-dimensional code 41 attached to card 40 (step S202). By scanning two-dimensional code 41, terminal 31 reads the URL attached to card 40.
[0069] The terminal 31 that reads the URL accesses the management server 10 according to the URL (step S203). The management server 10 determines the NFT 70 to be operated on based on the NFT_ID included in the URL used for the access (step S204).
[0070] The management server 10 accesses the Ethereum network and refers to the owner of the NFT 70 determined to be the operation target. If the owner (user A) of the NFT 70 determined to be the operation target is the same as the person accessing the management server 10 (user A), the management server 10 displays a screen on the terminal 31 of the accessing user A for selecting whether or not to relinquish ownership of the NFT 70.
[0071] If an application for referring to and trading NFTs 70 (e.g., a wallet application) is installed on user A's terminal 31, user A can refer to the NFTs 70 he or she owns in the application installed on terminal 31 without scanning card 40. Furthermore, the application on terminal 31 can display a screen for selecting whether or not to relinquish ownership of the NFTs 70. In this way, if an application for referring to and trading NFTs 70 is installed on user A's terminal 31, steps S201 to S203 in FIG. 4 can be omitted.
[0072] When user A performs an operation on terminal 31 to select to relinquish ownership of the NFT 70 (step S205), a relinquishment request is transmitted from terminal 31 to management server 10.
[0073] The management server 10, which has received the abandonment request, requests the user A to input a password (step S206). The password is set for the NFT 70. The password is required to be input by the new owner of the card 40 when the new owner registers the ownership of the NFT 70, and is determined by the user A. When the user A completes input of the password (step S207), the management server 10 calls the smart contract 20 to execute an operation to change the owner of the NFT 70 to be operated from the user A to the smart contract 20 (abandoning the NFT 70) (step S208). At the time of this call, the password and the NFT 70 are transmitted from the user A to the smart contract 20. As a result, the NFT 70 is deposited in the smart contract 20 (see step S1 in FIG. 1). Note that the NFT_ID may also be transmitted to the smart contract 20 when the smart contract 20 is called.
[0074] Additionally, along with the NFT 70, etc., user A sends a fee (Gas) for invoking the smart contract 20 and sending the NFT 70 to the smart contract 20. The smart contract 20 stores the received fee (Gas) in an Ethereum address associated with the NFT 70. Therefore, the new owner of the NFT 70 does not need to pay the fee (Gas). The fee (Gas) may be sent directly from user A to the Ethereum address associated with the NFT 70.
[0075] The called smart contract 20 changes the owner of the NFT 70 from user A to the smart contract 20 and saves the received password (step S209). That is, the smart contract 20 stores the password set for the deposited NFT 70. The stored password is used to authenticate the new owner of the deposited NFT 70.
[0076] When the above process is completed, user A sells card 40 to user B (step S210, see steps S2 and S3 in FIG. 1). The password set in the NFT 70 is transmitted from user A to user B. User B uses the transmitted password to authenticate himself / herself as the new owner of the NFT 70.
[0077] User A can change and view the password while the NFT 70 is being held by smart contract 20 (before ownership of the NFT 70 is transferred to user B). In addition, while the NFT 70 is being held by smart contract 20, user A can retrieve the NFT 70 being held by smart contract 20, provided that the correct password is entered.
[0078] FIG. 5 shows the procedure for registering (transferring) ownership when user B purchases card 40.
[0079] At the time that user B purchases card 40, smart contract 20 has an NFT 70 associated with card 40 and a password for that NFT 70 (step S301).
[0080] User B purchases card 40 at online market 50 by paying with legal tender and obtains the physical card 40 (step S302). User B uses terminal 32 to scan two-dimensional code 41 attached to card 40 (step S303). By scanning two-dimensional code 41, terminal 32 reads the URL attached to card 40.
[0081] The terminal 32 that reads the URL executes network access according to that URL (step S304). This allows the terminal 32 to access the management server 10. The management server 10 that accepts the network access from the terminal 32 determines the NFT 70 to be operated on by the NFT_ID included in the URL used for the access (step S305). In other words, by accepting the network access, the management server 10 obtains the NFT_ID included in the URL, and identifies the NFT 70 to be operated on by the obtained NFT_ID.
[0082] The management server 10 accesses the Ethereum network and refers to the owner of the NFT 70 determined to be the operation target. If the owner of the NFT 70 determined to be the operation target is the smart contract 20, that is, if the smart contract 20 is holding the NFT 70, the management server 10 requests user B, who has accessed the management server 10 (step S304), to enter a password (step S306).
[0083] When user A enters the password transmitted by user A on terminal 32 (step S307), password authentication is performed. If password authentication is successful, the management server 10 calls the smart contract 20 to execute an operation to change the owner of the NFT 70 to be operated on from the smart contract 20 to user B (step S309). When calling the smart contract 20, the management server 10 provides the smart contract 20 with an NFT_ID (identifier of the NFT 70). As a result, the smart contract 20 obtains the NFT_ID (identifier of the NFT 70). The smart contract 20 identifies the NFT 70 to be operated on by the NFT_ID.
[0084] Note that password authentication may be performed by the smart contract 20. That is, after step S305, the management server 10 calls the smart contract 20 (for password authentication). When calling, the management server 10 provides the smart contract 20 with the NFT_ID (identifier of the NFT 70) of the NFT 70 to be operated. As a result, the smart contract 20 obtains the NFT_ID (identifier of the NFT 70). The smart contract 20 identifies the NFT 70 to be operated by the NFT_ID.
[0085] If a password is set for the NFT 70 to be operated, the smart contract 20 executes password authentication processing. In the password authentication processing, the smart contract 20 acquires a password from user B. The password may be acquired directly from user B, or may be acquired from user B via the management server 10. If the password authentication is successful, that is, if user B enters the correct password, the smart contract 20 continues to execute an operation to change the owner of the NFT 70 to be operated.
[0086] If the password authentication is successful, the smart contract 20 changes the owner of the NFT 70 from the smart contract 20 to user B. That is, the smart contract 20 sends the NFT 70 it holds to the address of user B, the new owner (user B's Ethereum address) (step S310). As a result, user B, who entered the password, now owns the NFT 70 associated with the card 40.
[0087] The fact that the owner of NFT70 has been changed to User B is recorded on the Ethereum network. The password is also reset. The reset is performed by smart contract 20.
[0088] In addition, the fees (Gas) for invoking the smart contract 20 and sending the NFT 70 are covered by the Ether paid in advance by User A.
[0089] Through the above procedure, user B can own the NFT 70 (step S311). User B can also use the network services or content associated with the NFT 70. Note that user A, who has lost ownership of the NFT 70, will no longer be able to use the network services or content associated with the NFT 70.
[0090] Furthermore, when the NFT 70 is transferred to user B, the smart contract 20 transmits a predetermined amount of Ether to the copyright holder (author) 60 (step S312). The Ether transmitted to the author 60 has been paid in advance by user A. In this way, the copyright holder 60, who is a third party, can obtain a profit from the transaction between user A and user B.
[0091] The procedure shown in Fig. 5 may be used for registering ownership (Fig. 3) when user A purchases card 40. When the procedure shown in Fig. 5 is used for registering ownership when user A purchases card 40, a password is set by an administrator of management server 10 or a dealer before the sale of card 40 and is communicated to user A. The password may be assigned to card 40 by printing or the like.
[0092] 6 shows a procedure for referring to the ownership history. Here, a case where a user who is not the owner of the card 40 (a non-owner user) is able to scan the two-dimensional code will be described.
[0093] Here, it is assumed that the card 40 and the NFT 70 are owned by another user (step S401). In addition, the ownership history of the NFT 70 is recorded on the Ethereum network.
[0094] The non-owner user uses a terminal to scan the two-dimensional code 41 attached to the card 40 (step S402). By scanning the two-dimensional code 41, the terminal reads the URL attached to the card 40. The terminal that reads the URL executes network access according to that URL (step S403). This allows the terminal to access the management server 10. Upon receiving network access from the terminal, the management server 10 determines the target NFT 70 based on the NFT_ID included in the URL used for the access (step S404). In other words, by accepting the network access, the management server 10 obtains the NFT_ID included in the URL, and identifies the NFT 70 to be operated based on the obtained NFT_ID.
[0095] The management server 10 accesses the Ethereum network and refers to the owner of the NFT 70 determined as the target. If the owner of the NFT 70 determined as the operation target is another user, the management server 10 obtains the owner history of the target NFT 70 from the Ethereum network and displays it on the terminal of the non-owner user (step S405). Note that the owner history is also displayed on the terminal 32 of user B, whose password authentication was not successful in step S308 of FIG. 5.
[0096] The management server 10 may obtain the owner history from the smart contract 20. In this case, the management server 10 calls the smart contract 20 to obtain the owner history of the NFT 70. When calling the smart contract 20, the management server 10 provides the smart contract 20 with an NFT_ID (the identifier of the NFT 70). As a result, the smart contract 20 obtains the NFT_ID (the identifier of the NFT 70). The smart contract 20 identifies the NFT 70 for which the owner history is required by the NFT_ID.
[0097] The present invention is not limited to the above-described embodiment, and various modifications are possible.
[0098] <3. Notes>
[0099] The present disclosure includes the following aspects.
[0100] (1) A method according to an embodiment is a method for manipulating a non-fungible token (NFT) for management of an object. The non-fungible token is issued by a blockchain capable of executing a smart contract. The non-fungible token is associated with the object.
[0101] According to an embodiment, the method includes preparing the object with data attached thereto, the data being used to invoke the smart contract.
[0102] The data used to call the smart contract may include, for example, data for identifying a non-fungible token (NFT) operated by the smart contract. The data for identifying the NFT may be, for example, at least one of an address of the NFT on the blockchain and an ID of the NFT. The data used to call the smart contract may be other data provided to the smart contract when calling the smart contract. The data provided to the smart contract may include, for example, a private key of an Ethereum address from which a fee (e.g., Gas in Ethereum) for calling the smart contract is paid.
[0103] A method according to an embodiment includes the management server accepting network access using the data assigned to the object.
[0104] According to an embodiment, the method includes the management server receiving the network access invoking the smart contract with the data to perform an operation on the non-fungible token, the smart contract performing the operation on the non-fungible token.
[0105] By performing the above steps, a smart contract that operates a non-fungible token (NFT) can be executed based on the data assigned to the object, thereby enabling the NFT to be used to manage the object.
[0106] (2) The data is preferably included in a Uniform Resource Locator (URL) assigned to the object. The Uniform Resource Locator may include a domain for network access to the management server. In this case, the URL assigned to the object is used for network access to the management server, and the data included in the URL is used to call the smart contract. The network access may be Internet access.
[0107] (3) The uniform resource locator (URL) assigned to the object is preferably represented by a two-dimensional code, which can be scanned by a two-dimensional code scanner and is advantageous for mechanical URL reading.
[0108] (4) It is preferable that the object is a tangible object.
[0109] (5) When the management server receives the network access from a terminal of a first user who is the owner of the non-fungible token, the operation of the non-fungible token by the smart contract preferably includes transmitting the non-fungible token from the first user to the smart contract. In this case, the first user can deposit the non-fungible token in the smart contract (see step S1 in FIG. 1).
[0110] (6) When the smart contract holds the non-fungible token, if the management server receives the network access from a terminal of a second user who is not the owner of the non-fungible token, the operation of the non-fungible token by the smart contract preferably includes transmitting the non-fungible token from the smart contract to the second user. In this case, the second user can obtain the non-fungible token from the smart contract (see step S6 in FIG. 1).
[0111] (7) When the smart contract holds the non-fungible token, if the management server receives the network access from a terminal of a second user who is not the owner of the non-fungible token, it is preferable that the management server further includes a step of requesting input of a password into the terminal of the second user. In this case, a password is required to obtain the non-fungible token, and it is possible to prevent a user who does not know the password from obtaining the non-fungible token.
[0112] (8) It is preferable that the smart contract is configured to execute an operation to pay a crypto asset in the blockchain to a right holder associated with the non-fungible token when an operation is executed on the non-fungible token. In this case, the right holder can obtain a benefit when an operation is executed on the non-fungible token.
[0113] (9) When the management server receives the network access from a terminal of a second user who is not the owner of the non-fungible token, it is preferable that the management server further includes a function of displaying the owner history data of the non-fungible token on the terminal of the second user. In this case, the owner history of the non-fungible token, i.e., the owner history of the object, can be grasped. The value of the object or the non-fungible token may vary depending on who the past owners were. If the owner history can be referenced, past owners can be easily identified.
[0114] (10) An administration server according to an embodiment is an administration server for an object associated with a non-fungible token issued by a blockchain capable of executing a smart contract. The administration server includes a processor configured to receive network access using data assigned to the object and used to call a smart contract, and upon receiving the access, to execute a process including calling the smart contract using the data to execute an operation on the non-fungible token. A computer program for the process is stored in a computer-readable, non-transitory storage medium. [Explanation of symbols]
[0115] 10: Management server (management device) 20: Smart Contracts 31: Terminal 32: Terminal 40: Card (object) 41: 2D code 50: Online Market 60: Copyright holder (author) 70: Non-fungible tokens A: User B: User
Claims
1. A method for allowing a user to obtain a blockchain non-fungible token, the non-fungible token being determined by an identifier contained in data attached to a tangible object, comprising: a computer receives a network access using the data from a terminal of a user who reads the data of the tangible object; The computer causes the user to obtain a non-fungible token determined by the identifier included in the data used to access the network. How to prepare for this.
2. A method for allowing a user to obtain a blockchain non-fungible token, the non-fungible token being determined by an identifier contained in data attached to a tangible object, comprising: preparing a tangible object to which data including an identifier for determining a non-fungible token to be acquired by a user is assigned; a computer receives a network access using the data from a terminal of a user who reads the data of the tangible object; The computer causes the user to obtain a non-fungible token determined by the identifier included in the data used to access the network. How to prepare for this.
3. A computer for allowing a user to obtain a non-fungible token of a blockchain, the non-fungible token being determined by an identifier included in data attached to a tangible object, comprising: receiving a network access using the data from a terminal of a user who reads the data of the tangible object; When the network access is accepted, the user is allowed to obtain a non-fungible token determined by the identifier included in the data used for the network access. A computer that performs operations including: