Information processing method, program, information processing system, and smart contract
The smart contract system addresses the permanence and management challenges of NFT metadata by recording it on the blockchain, ensuring permanent storage and efficient right management.
Patent Information
- Application Number
- JP2024107586
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-03
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2044-07-03
AI Technical Summary
Existing methods for managing metadata associated with NFTs are not permanent and incur additional costs and efforts due to the need for off-chain storage, making it difficult to manage rights effectively and delete or edit metadata as needed.
A smart contract system that records metadata directly on the blockchain, allowing for permanent storage and easy management of metadata rights by issuing NFTs and recording metadata exclusively referenced by them, using a blockchain network.
Enables permanent use of metadata managed by NFTs while simplifying the management of rights, reducing the risk of tampering and processing costs.
Smart Images

Figure 2026007602000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing method, a program, an information processing system, and a smart contract. [Background technology]
[0002] Conventionally, technology has been known for managing digital content by linking it to NFTs (Non-Fungible Tokens). Digital content includes images, music, videos, files, etc. that are electromagnetically recorded on a network. For example, artistic images managed with NFTs are called NFT art. Hereinafter, content managed with NFTs will be referred to as NFT content. Technology has also been known for managing the copyright of such digital content using blockchain smart contracts.
[0003] For example, Patent Document 1 describes a content contract system that uses a blockchain to distribute rights to content data, in which a rights holder terminal, an assignee terminal, and a blockchain control terminal contain transactions in which a smart contract program for distributing rights is set, and a blockchain that is synchronized between the rights holder terminal, the assignee terminal, and the blockchain control terminal is stored, and the blockchain control terminal contains content data verification information and the type of rights to be distributed, and the address of the rights holder is set as owner information, and the content contract system is equipped with a token issuing unit that generates token data identified by a token identifier and registers the token data corresponding to the token identifier in the blockchain. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-068388 Summary of the Invention [Problem to be solved by the invention]
[0005] The electronic record that constitutes the substance of NFT content consists of a smart contract on the blockchain and metadata (content information such as images and text information such as attributes) that is not normally stored on the blockchain.
[0006] When managing metadata using NFTs, the following two methods are the mainstream for storing metadata: (a) Store and publish the data on a blockchain or blockchain-like processing system such as IPFS (Inter Planetary File System) that is designed for storing relatively large amounts of data, separate from the blockchain on which the smart contract is stored. (b) Store and publish in existing Web 2.0 processing systems, such as cloud service storage.
[0007] Here, NFT content is touted as being "storable once and available forever," and this is certainly the case for smart contracts and their storage space stored on the blockchain.
[0008] Figure 11 shows the relationship between conventional NFTs and metadata. Specifically, it shows the relationship between NFTs and metadata in the case of (b) above. As shown in Figure 11, only the NFT contract, which is a smart contract that manages NFTs, and the NFT (not shown) are recorded in the blockchain.
[0009] As such, the metadata and metadata processing system stored using the method (b) above is not permanent due to the risk of tampering, and is a different mechanism from smart contracts that can be used permanently on-chain, and since it is necessary to use a different processing system off-chain in combination, changing data on the off-chain incurs additional effort and cost. In other words, there is an issue that metadata cannot be "permanently available once saved."
[0010] Furthermore, metadata that includes copyrights or portrait rights will need to be deleted once the usage period for those rights has expired. However, with method (a) above, deletion or editing is not possible in the first place, and with method (b) above, double operations are required for both the smart contract processing system and the metadata processing system.
[0011] On the other hand, it is possible to record NFT metadata on the blockchain, which is called a full on-chain NFT. In this case, as with method (a) above, it is impossible to delete or edit the metadata, making it difficult to manage rights.
[0012] Therefore, the present disclosure aims to provide an information processing method, program, information processing system, and smart contract that enable the permanent use of metadata managed by NFTs while easily managing the rights to the metadata. [Means for solving the problem]
[0013] The information processing method disclosed herein includes an issuance step in which a smart contract issues an NFT, and a recording step in which the smart contract records multiple pieces of metadata that can be exclusively referenced by the issued NFT and their reference information in a blockchain network in which the smart contract is recorded, and the smart contract holds the reference information for each of the multiple pieces of metadata.
[0014] The program according to the present disclosure is a program recorded on a blockchain network that causes a computer to execute an issuance step of issuing an NFT and a recording step of recording on the blockchain network multiple pieces of metadata that can be exclusively referenced by the issued NFT and their reference information, and retains the reference information for each of the multiple pieces of metadata.
[0015] The information processing system according to the present disclosure comprises an issuing unit that issues NFTs, and a recording unit that records multiple pieces of metadata that can be exclusively referenced by the issued NFTs and their reference destination information on a blockchain network using a smart contract, and the smart contract holds the reference destination information for each of the multiple pieces of metadata.
[0016] The smart contract of the present disclosure is a smart contract recorded on a blockchain network, which causes a computer to execute an issuance step of issuing an NFT and a recording step of recording on the blockchain network multiple pieces of metadata that can be exclusively referenced by the issued NFT and their reference information, and retains the reference information for each of the multiple pieces of metadata. [Effects of the Invention]
[0017] According to the present disclosure, it is possible to provide an information processing method, program, information processing system, and smart contract that enable the permanent use of content managed by NFT while easily managing the rights to the content. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a diagram illustrating a configuration of an information processing system according to an embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram showing the functional configuration of an NFT management server according to an embodiment of the present disclosure. [Figure 3] FIG. 2 is a block diagram illustrating a functional configuration of a user terminal according to an embodiment of the present disclosure. [Figure 4] FIG. 1 is a block diagram illustrating a functional configuration of an NFT contract according to an embodiment of the present disclosure. [Figure 5] FIG. 1 is a block diagram illustrating a functional configuration of a metadata contract according to an embodiment of the present disclosure. [Figure 6] FIG. 10 is a sequence diagram illustrating an operation of a deployment process in an information processing system according to an embodiment of the present disclosure. [Figure 7] FIG. 10 is a sequence diagram showing the operation of an issuing process in the information processing system according to an embodiment of the present disclosure. [Figure 8] FIG. 10 is a sequence diagram illustrating an operation of a usage management process in an information processing system according to an embodiment of the present disclosure. [Figure 9] FIG. 9 is a block diagram showing the basic hardware configuration of a computer 900. [Figure 10] A diagram showing the relationship between NFTs and metadata in an information processing system according to an embodiment of the present disclosure. [Figure 11] A diagram showing the relationship between conventional NFTs and metadata. DETAILED DESCRIPTION OF THE INVENTION
[0019] The embodiments of the present disclosure will be described with reference to the drawings, in which the same or similar parts are designated by the same or similar reference numerals.
[0020] <Configuration of Information Processing System 1> 1 is a diagram showing the configuration of an information processing system 1 according to this embodiment. The information processing system 1 is a system for providing an NFT management service for managing and using NFT metadata on-chain. In this embodiment, using the metadata of an NFT means, for example, referring to and viewing the metadata associated with the NFT as information that identifies the NFT itself.
[0021] The information processing system 1 includes an NFT management server 100 (information processing device), a user terminal 200, and a blockchain network 300 (hereinafter simply referred to as blockchain 300). The blockchain 300 has an NFT contract 310 and a metadata contract 320, which are smart contracts. The NFT management server 100, the user terminal 200, and the blockchain 300 are connected to a network 5 and can communicate with each other via the network 5. The network 5 includes the Internet. The network 5 may include a LAN (Local Area Network) and / or a WAN (Wide Area Network).
[0022] The NFT management server 100, the user terminal 200, and the blockchain 300 each consist of one or more computers. The basic configuration of a computer will be described later.
[0023] The user first enables the NFT management service on the user terminal 200 that the user uses. In the following explanation, it is assumed that the user has installed an NFT management app (which may be a web browser extension) provided by the NFT management service on the user terminal 200.
[0024] 2 is a block diagram showing the functional configuration of the NFT management server 100 according to this embodiment. The NFT management server 100 is a server device that provides NFT management services to users. The NFT management server 100 is a server that acts as an intermediary between the user terminal 200 and the smart contracts 310 and 320, mediating the issuance and viewing of NFTs for specified digital content. The NFT management server 100 is, for example, a server device that provides front-end and back-end functions for decentralized applications (hereinafter referred to as DApps: Decentralized Applications) that run on the blockchain 300. The NFT management server 100 may also be a server that constitutes a marketplace for non-fungible tokens. The NFT management server 100 includes a communication unit 110, a memory unit 120, and a processing unit 130.
[0025] The storage unit 120 includes an application program 121, a database 122, and a contract address 123 of a smart contract.
[0026] The application program 121 is executed by the processing unit 130 and is a program that mainly implements each functional unit of the processing unit 130.
[0027] The database 122 stores information about users (user IDs, etc.) who use the NFT management service, as well as information about NFTs and metadata managed by the NFT management service.
[0028] The smart contract address 123 stores the contract address of the smart contract used in the deployment process, issuance process, and usage management process described below. Specifically, it stores the contract address (310) of the NFT contract 310 and the contract address (320) of the metadata contract 320.
[0029] The processing unit 130 includes, as functional units, a user management unit 131, a deployment unit 132, an issuance unit 133, and a usage management unit 134. The processing unit 130 realizes each functional unit by executing an application program 121 stored in the storage unit 120. The processing unit 130 also executes part of the deployment process, issuance process, and usage management process executed by the information processing system 1. The deployment process, issuance process, and usage management process will be described in detail later.
[0030] The user management unit 131 executes a user management process to manage users of the NFT management service. Specifically, the user management unit 131 performs service registration processing for new users and issues a user ID. The user management unit 131 also performs login authentication for registered users to the NFT management service using the user ID.
[0031] The deployment unit 132 executes a deployment process to deploy a smart contract on the blockchain 300. Specifically, before providing NFT management services to users, the deployment unit 132 deploys, on the blockchain 300, an NFT contract 310, which is a smart contract that manages NFTs, and a metadata contract 320, which is a smart contract that manages NFT metadata referenced by the NFT.
[0032] The issuing unit 133 issues an NFT using a smart contract and executes an issuing process to record the metadata of the NFT in the blockchain 300. Specifically, based on a user's request, the issuing unit 133 uses the NFT contract 310 to record the NFT in the blockchain 300, and uses the metadata contract 320 to record the NFT metadata in the blockchain 300. In this embodiment, the NFT is issued in accordance with ERC721, an Ethereum standard that can implement smart contracts, or a standard equivalent to this standard. The issuing unit 133 records the signature in the blockchain 300 using the private key of the crypto asset wallet (hereinafter simply referred to as the wallet) connected to the NFT management app.
[0033] The usage management unit 134 executes a usage management process that allows a user to use the metadata of an NFT based on a user request.
[0034] The processing unit 130 also performs processes such as managing the connection between the user's wallet and the NFT management app.
[0035] FIG. 3 is a diagram showing a functional block configuration of the user terminal 200 according to this embodiment.
[0036] The user terminal 200 is a terminal used by a user who uses the NFT management service, and is configured by any computer such as a smartphone, tablet terminal, personal computer, etc. The user terminal 200 includes a communication unit 210, an input unit 220, an output unit 230, a memory unit 240, and a control unit 250, which are interconnected via a communication bus 260.
[0037] The input unit 220 includes an input device that accepts operation inputs from a user. The output unit 230 includes at least a display as an output device.
[0038] The storage unit 240 includes an application program 241 and a user ID 242, both of which are not shown.
[0039] The application program 241 may be stored in advance in the storage unit 240, or may be configured to be downloaded from a web server operated by a service provider via the communication unit 210. The application program 241 includes various application formats such as web browser extensions and mobile apps. The application program 241 includes an NFT management app for using the NFT management service.
[0040] The user ID 242 is a user identifier that uniquely identifies a user. The user ID 242 is information required for authentication, such as a so-called user identifier (user ID) and password, used when logging in to the NFT management service.
[0041] The control unit 250 executes various functions by executing the application program 241 in the storage unit 240 .
[0042] Returning now to FIG. 1 , the blockchain 300 of this embodiment is a network of multiple computers connected peer-to-peer. There are three types of blockchains: public chains without a specific administrator, private chains managed by a single organization, and consortium chains managed by multiple organizations. While the blockchain 300 of this embodiment primarily targets public chains, the blockchain 300 may also be either a private chain or a consortium chain. In a typical example, the blockchain 300 may be a Bitcoin network, Ethereum network, Polygon network, or the like, which are classified as public chains, or a Hyperledger Fabric, Quorum, LINE blockchain, or the like, which are classified as private chains.
[0043] Users of the blockchain 300 use the blockchain 300 via accounts on the blockchain 300 called externally owned accounts (EOA: End of Account). The blockchain 300 is also configured to be able to record various smart contracts (programs). Externally owned accounts are identified by the "wallet address" of the wallet owned by the user, and smart contracts are identified by the "contract address."
[0044] The blockchain 300 is configured to be able to record various transactions in a blockchain (specifically, a ledger). Such a ledger is maintained by each computer connected peer-to-peer and is also called a distributed ledger. These various transactions include an issuance transaction for issuing a new account, smart contract, or token, a transfer transaction for transferring ownership of a token, etc.
[0045] FIG. 4 is a diagram showing the functional block configuration of the NFT contract 310 according to this embodiment.
[0046] The NFT contract 310 includes an input / output unit 311, an issuing unit 312, a reference unit 313, a management unit 314, NFT information 315, and a smart contract address 316. The NFT contract 310 executes some of the deployment processing, issuance processing, and usage management processing executed by the information processing system 1.
[0047] The input / output unit 311 accepts an issuance request or a usage request for issuing or using an NFT from an externally owned account, and returns the results of processing the request to the externally owned account. For example, the input / output unit 311 accepts a request to issue a new NFT (X) for specific metadata X specified by the user from the user's externally owned account via an NFT management app connected to the wallet. Also, for example, the input / output unit 311 accepts a usage request (e.g., a request to view) metadata Y associated with an NFT (Y) owned by the user from the user's externally owned account via an NFT management app connected to the wallet. In these cases, the externally owned account is the wallet address of the connected wallet.
[0048] In response to a request to issue a new NFT for metadata X, the issuing unit 312 issues a new NFT (X) and sets ownership to the external ownership account.
[0049] The issuing unit 312 generates a token ID(X) that uniquely identifies the new NFT(X). For example, in an ERC721 standard smart contract, the _tokenIdCounter function can be used to generate new token IDs.
[0050] Here, an NFT's token ID is an identifier that uniquely identifies each NFT. Typically, each NFT is assigned a unique token ID, which is generated within a smart contract. The token ID distinguishes the NFT from other NFTs and is used to track ownership and transactions. The method for generating token IDs is selected according to the design of the smart contract, such as sequential IDs or custom logic. Generally, the token ID of the first NFT issued within a smart contract is assigned as 1, the next as 2, and so on, in sequential order.
[0051] The issuing unit 312 first sets the contract address (310) of the NFT contract 310 as the owner, sets the token URI (X) corresponding to the token ID (X), and records the new NFT (X) in the blockchain 300. Specifically, the issuing unit 312 uses the generated token ID(X) and the contract address (310) of the NFT contract 310 to record a new NFT(X) in the blockchain 300. In other words, the NFT(X) recorded in the blockchain 300 is identified by the combination of the contract address (310) of the NFT contract 310 and the token ID(X) of the NFT(X) (hereinafter, for convenience of explanation, this combination will be referred to as the NFT address).
[0052] The issuing unit 312 also sets a token URI corresponding to the token ID of the NFT (X). For example, in an ERC721 standard smart contract, after issuing a new NFT, the _setTokenURI function can be called to set the token URI corresponding to the token ID. Note that a URI (Uniform Resource Identifier) is a notation format used to identify various resources (not limited to those on the Internet), including people and companies.
[0053] The token URI is a reference to metadata related to the NFT. This URI points to the location where detailed information about the token, such as metadata such as an image, name, description, and attributes, is stored. The token URI is typically the URL of a JSON (JavaScript Object Notation) file hosted on an IPFS (Inter Planetary File System) or a web server. For example, if there is a token URI such as https: / / example.com / nft / metadata / 1.json, the token metadata can be accessed through that URI. The token ID and token URI are closely related, and the corresponding token URI is managed by the token ID. In this embodiment, the token URI is the URL of a JSON file hosted on the blockchain 300.
[0054] The issuing unit 312 also transfers the ownership of the NFT(X) to the user's externally owned account. As a result, the NFT(X) becomes the property of the user who requested the issuance of the NFT(X).
[0055] The issuing unit 312 also requests the metadata contract 320 to perform metadata processing to record the associated metadata in the blockchain when issuing a new NFT (X). Specifically, the issuing unit 312 inputs the token URI(X) of the NFT(X), the metadata X, and the switching conditions into the metadata contract 320.
[0056] When using an existing NFT(Y), the reference unit 313 requests the use of related metadata from the metadata contract 320. For convenience of explanation, the existing NFT is referred to as NFT(Y), but NFT(Y) may also be a newly issued NFT(X). Specifically, the reference unit 313 inputs the token URI of the NFT(Y) into the metadata contract 320.
[0057] When using an existing NFT(Y), the management unit 314 manages the user's use of metadata Y related to the NFT(Y) owned by the user. Specifically, the management unit 314 identifies the token ID (Y) of the NFT (Y) based on the contract address (Y) of the NFT (Y) received by the input / output unit 311 from the externally owned account, and identifies the token URI (Y) corresponding to the token ID (Y). The management unit 314 inputs the token URI (Y) to the metadata contract 320 and receives a JSON file of the metadata Y from the metadata contract 320.
[0058] The NFT information 315 includes a combination of a token ID and a token URI generated corresponding to the token ID. This combination is additionally stored each time a new NFT is issued. The NFT information is actually written in the source code of the NFT contract 310.
[0059] The smart contract address 316 stores the contract address (310) of the NFT contract 310 itself and the contract address (320) of the metadata contract 320 that requests metadata processing. These contract addresses are actually written in the source code of the NFT contract 310.
[0060] FIG. 5 is a diagram showing a functional block configuration of the metadata contract 320 according to this embodiment.
[0061] The metadata contract 320 includes an input / output unit 321, a division unit 322, a recording unit 323, a usage management unit 324, an address array 325, a smart contract address 326, and a judgment condition 327.
[0062] The input / output unit 321 receives a metadata processing request from the NFT contract 310, and returns the results of the processing performed in accordance with the request to the NFT contract 310. Specifically, when a new NFT (X) is issued, the input / output unit 321 obtains as input from the NFT contract 310 the token URI (X) of the new NFT (X), the metadata (X), and the switching conditions for the metadata X. For a single NFT (X), multiple pieces of non-identical metadata (X1, X2, ...) distinguished by a key (identification data) described below can also be input. The input / output unit 321 then returns to the NFT contract 310 the completion of recording the metadata X of the new NFT (X). Furthermore, when using an existing NFT(Y), the input / output unit 321 acquires the token URI(Y) of the existing NFT(Y) as input from the NFT contract 310. Then, the input / output unit 321 returns a JSON file of the metadata Y to the NFT contract 310.
[0063] When issuing a new NFT(X), the division unit 322 divides the metadata X acquired via the input / output unit 321 into n pieces of partial data PD (n is an integer greater than or equal to 1). Hereinafter, when the n pieces of partial data PD are to be individually distinguished, they will be referred to as partial data PD1, partial data PD2, partial data PD3, ... partial data PDn, and will be collectively referred to as the partial data array PD(1, 2, ..., n). n may be determined, for example, by specifying the size of the partial data in advance, or may be determined according to the type of metadata.
[0064] Furthermore, when issuing a new NFT(X), the division unit 322 generates n data addresses APD corresponding to the n partial data PDs, respectively. The n data addresses APD are collectively referred to as a data address array APD(1, 2, ..., n). Hereinafter, when the n data addresses APD are to be individually distinguished, they will be referred to as data address APD1, data address APD2, ..., data address APDn.
[0065] Furthermore, when a new NFT (X) is issued, the division unit 322 stores the data address array APD (1, 2, ..., n) in the address array 325. Specifically, the division unit 322 generates a hash value H from the NFT address (X), token ID (X), and array identifier of the NFT (X), and stores the data address array APD (1, 2, ..., n) in the address array 325 using the hash value H as a key. Note that the array identifier is automatically assigned as a sequential integer number (which may include 0) according to the amount of input metadata. This makes it possible to assign multiple address arrays to the same combination of NFT address and token ID.
[0066] When issuing a new NFT (X), the recording unit 323 records each partial data PD divided by the division unit 322 in the blockchain 300 using the corresponding data address APD. If there are multiple pieces of metadata (X1, X2, ...), each piece of metadata is recorded separately.
[0067] When an existing NFT(Y) is used, the usage management unit 324 switches the reference destination of the metadata Y associated with the NFT(Y) according to a predetermined switching condition stored in the determination condition 327. The switching condition is a conditional expression that determines one of multiple options by referencing an oracle (external information) such as the passage of a predetermined amount of time, weather, or market prices (gold, oil), for example.
[0068] Each record in the address array 325 has a key-value data structure consisting of key information for identifying data and a value paired with the key information. Such an array is sometimes called a "mapping." In this embodiment, the key information is a hash value H generated by the division unit 322, and the paired value is a data address array APD. These arrays are actually described in the source code of the metadata contract 320.
[0069] The smart contract address 326 stores the contract address (320) of the metadata contract 320 itself and the contract address (310) of the NFT contract 310 that requested the metadata processing. These contract addresses are actually written in the source code of the metadata contract 320.
[0070] The judgment condition 327 stores a judgment condition related to an NFT. In this embodiment, a switching condition for switching between multiple metadata is stored as the judgment condition. The judgment condition is actually written in the source code of the metadata contract 320.
[0071] <Operation of Information Processing System 1 (Information Processing Method)> Each process of the information processing system 1 will be described below. <Deployment process> FIG. 6 is a diagram showing the operation of the deployment process (deployment step) in the information processing system 1 according to this embodiment.
[0072] In step S101, the issuer that issues the NFT (e.g., the NFT management server 100) makes a deployment request to the blockchain 300 to deploy the NFT contract 310 and the metadata contract 320 to the blockchain 300.
[0073] In step S102, the blockchain 300 saves the setting values of step S101 and deploys the NFT contract 310 and the metadata contract 320. This makes the NFT contract 310 and the metadata contract 320 available for use.
[0074] In step S103, the blockchain 300 returns a deployment completion confirmation to the issuer account indicating that the deployment has been completed.
[0075] <Issuance process> 7 is a diagram showing the operation of the issuance process in the information processing system 1 according to this embodiment. In the issuance process of this embodiment, user S issues a new NFT in which two pieces of metadata that can be used change depending on predetermined switching conditions, using the NFT contract 310 and the metadata contract 320. The following description will be given assuming that user S requests the issuance of an NFT by specifying two pieces of metadata.
[0076] In step S201, user S specifies multiple pieces of metadata and predetermined switching conditions for switching between these pieces of metadata in the NFT management app, and requests the issuance of one NFT for the multiple pieces of metadata. Specifically, the NFT management app on the user terminal 200 specifies first metadata (X1), second metadata (X2), and a predetermined switching condition (X) for switching between these two pieces of metadata to the NFT contract 310, and requests the issuance of one NFT (X) for the two pieces of metadata. This NFT issuance request also includes the externally owned account EOA of the wallet of user S connected to the NFT management app. The NFT contract 310 receives the first metadata (X1), second metadata (X2), externally owned account (EOA), and switching condition (X) as input.
[0077] In step S202, the NFT contract 310 requests the blockchain 300 to record the issuance of an NFT (X) with the NFT contract 310 set as the owner (issuance step). Specifically, the NFT contract 310 generates a token ID (X) for the NFT (X), sets a token URI corresponding to the token ID (X), generates an NFT address (310X) from the contract address (310) of the NFT contract 310 and the token ID (X), and requests the blockchain 300 to record the new issuance of an NFT (X) that can be uniquely identified by the NFT address (310X).
[0078] In step S203, the blockchain 300 records the issuance of the NFT (X), and when the recording is complete, it notifies the NFT contract 310 of confirmation that the issuance recording has been completed.
[0079] In step S204, the NFT contract 310 requests the blockchain 300 to record the transfer of ownership of the NFT (X) to the user's externally owned account EOA.
[0080] In step S205, the blockchain 300 records the transfer of ownership of the NFT (X), and when the recording is complete, it notifies the NFT contract 310 of confirmation of the completion of the transfer recording. As a result, it is trackably recorded in the blockchain 300 that the NFT (X) identified by the NFT address (310X) has been transferred to the externally owned account EOA of user S.
[0081] In step S206, the NFT contract 310 requests the metadata contract 320 to record the first metadata (X1) and second metadata (X2) full on-chain (recording step). The NFT contract 310 inputs the token URI (X) of the NFT (X), the first metadata (X1), the second metadata (X2), and the switching condition (X) to the metadata contract 320.
[0082] In step S207, the metadata contract 320 divides each of the multiple metadata X input in step S206 into n pieces of partial data PD, and generates a partial data array PD(1, 2, ..., n) which is a group of partial data PD (recording step). This step is performed for each piece of metadata. Specifically, the JSON of the first metadata (X1) is converted into a data URI scheme format and divided to generate a partial data array PDX1 (1, 2, ..., n), and the JSON of the second metadata (X2) is converted into a data URI scheme format and divided to generate a partial data array PDX2 (1, 2, ..., n).
[0083] In step S208, the metadata contract 320 acquires the data addresses APD corresponding to each element of the partial data array PDX(1, 2, ..., n) generated in step S207, and generates a data address array APDX(1, 2, ..., n).The metadata contract 320 then generates a hash value H from the NFT address (X), token ID (X), and array identifier, and stores the hash value H and the data address array APDX(1, 2, ..., n) in the address array 325 (recording step). This step is performed for each piece of metadata. Specifically, the metadata contract 320 generates a data address array APDX1(1, 2, ..., n) for each element of the partial data array PDX1(1, 2, ..., n) of the first metadata (X1), generates a hash value H1 as the NFT address (X), token ID (X), and array identifier (for example, 1), and stores the set of the hash value H1 and the data address array APDX1(1, 2, ..., n) in the address array 325. Similarly, it generates a data address array APDX2(1, 2, ..., n) for each element of the partial data array PDX2(1, 2, ..., n) of the second metadata (X2), generates a hash value H2 as the NFT address (X), token ID (X), and array identifier (for example, 2), and stores the set of the hash value H2 and the data address array APDX(1, 2, ..., n) in the address array 325.
[0084] In step S209, the metadata contract 320 associates the sequence identifier used to generate the hash value H in step S208 with the metadata corresponding to the switching condition (X) acquired in step S206, and stores it in the judgment condition 327 (recording step). Specifically, the first metadata (X1) included in the switching condition (X) is replaced with the sequence identifier numerical value 1, and the second metadata (X2) included in the switching condition (X) is replaced with the sequence identifier numerical value 2, and this is stored as switching condition (XH) in the judgment condition 327. For example, if the switching condition (X) is a condition that "until December 31, 20XX, the address array of the metadata (X1) is used, and thereafter the address array of the metadata (X2) is used," then the condition becomes "until December 31, 20XX, the address array with the sequence identifier 1 is used, and thereafter the address array with the sequence identifier 2 is used."
[0085] In step S210, the metadata contract 320 requests the blockchain 300 to record a pair of the partial data array PDX(1, 2, ..., n) and its data address array APDX(1, 2, ..., n) (recording step). Specifically, the blockchain 300 is requested to record the pair of the partial data array PDX1(1, 2, ..., n) of the first metadata (X1) and its data address array APDX1(1, 2, ..., n), and the pair of the partial data array PDX2(1, 2, ..., n) of the second metadata (X2) and its data address array APDX2(1, 2, ..., n).
[0086] In step S211, the blockchain 300 records a pair of the partial data array PD(X1, X2, ..., Xn) and its data address array APD(X1, X2, ..., Xn), and notifies the metadata contract 320 of a metadata recording completion confirmation that the recording is complete. Specifically, the set of the partial data array PDX1(1, 2, ..., n) of the first metadata (X1) and its data address array APDX1(1, 2, ..., n), and the set of the partial data array PDX2(1, 2, ..., n) of the second metadata (X2) and its data address array APDX2(1, 2, ..., n) are recorded, and a metadata recording completion confirmation is notified to the metadata contract 320 that the recording of these has been completed.
[0087] In step S212, the metadata contract 320 notifies the NFT contract 310 of a processing completion confirmation indicating that the metadata processing has been completed. The NFT contract 310 receives the processing completion confirmation.
[0088] In step S213, the NFT contract 310 notifies the NFT management app of the user terminal 200 of an issuance completion confirmation that the issuance of the NFT (X) has been completed. The NFT management app receives the issuance completion confirmation of the NFT (X).
[0089] <Usage management processing> 8 is a diagram showing the operation of the usage management process in the information processing system 1 according to this embodiment. The usage management process according to this embodiment will be described below assuming a case where a user T requests the use of metadata for an NFT (Y) that he owns. Note that user T may be the same user S who issued the NFT (Y).
[0090] In step S301, user T requests the use of metadata of an existing NFT (Y) owned by the user in the NFT management app of the user terminal 200. The user terminal 200 inputs the NFT address (Y) of the NFT (Y) into the NFT contract 310. The NFT contract 310 obtains the NFT address (Y).
[0091] In step S302, the NFT contract 310 requests the metadata contract 320 to use the metadata of the NFT(Y). Specifically, the management unit 314 of the NFT contract 310 identifies the token ID (Y) of the NFT (Y) from the NFT address (Y) acquired in step S301, and acquires the token URI (Y) corresponding to the token ID (Y). In the ERC721 standard, the token URI corresponding to the token ID can be acquired using the tokenURI function. The NFT contract 310 then requests the metadata contract 320 to reference the token URI (Y) using the reference source address. The reference source address is the contract address (310) of the NFT contract 310. The metadata contract 320 acquires the token ID (Y) and the contract address (310).
[0092] In step S303, the metadata contract 320 determines the sequence identifier by referring to the switching condition of the NFT(Y) (switching step).
[0093] In step S304, the metadata contract 320 uses the array identifier determined in step S303 to identify the data address array APD(Y) of the NFT(Y) (switching step). Specifically, the usage management unit 324 of the metadata contract 320 generates a hash value H from the token ID (Y) acquired in step S302, the contract address (310), and the array identifier determined in step S303, and refers to the address array 325 to identify the value whose key is the hash value H as the data address array APD (1, 2, ..., n).
[0094] In step S305, the metadata contract 320 acquires the partial data array PD on the blockchain 300 using the data address array APD(1, 2, . . . , n) identified in step S304 (switching step).
[0095] In step S306, the metadata contract 320 restores the metadata from the partial data acquired in step S305 (switching step). Specifically, the metadata contract 320 combines the partial data array PD(1, 2, . . . , n) acquired in step S305 and generates a token URI in the data URI scheme format.
[0096] In step S307, the metadata contract 320 provides the metadata restored in step S306 to the user terminal 200 via the NFT contract 310 (switching step). Specifically, the metadata contract 320 returns the token URI generated in step S306 as the output of the metadata usage request of the NFT contract 310. The NFT contract 310 transmits the token URI to the user terminal 200 via the NFT management server 100. The user terminal 200 refers to the metadata included in the token URI.
[0097] 9 is a diagram showing the relationship between NFTs and metadata in the information processing system 1 according to an embodiment of the present disclosure. As shown in FIG. 9, the NFTs and their metadata are recorded in the blockchain 300, and these processes are completed by a smart contract in the blockchain 300. This makes it possible to reduce processing costs while avoiding the risk of tampering.
[0098] <Basic computer configuration> 10 is a block diagram showing the basic hardware configuration of a computer 900. The computer 900 has a processing unit 901, a storage unit 902, a communication unit 903, an input unit 904, and an output unit 905. The processing unit 901, the storage unit 902, the communication unit 903, the input unit 904, and the output unit 905 are electrically connected to one another via a communication bus 910.
[0099] The processing unit 901 includes a CPU (Central Processing Unit) and controls each unit of the computer 900, and is a device that reads and executes various programs stored in the storage unit 902.
[0100] The storage unit 902 includes a main storage device such as a DRAM (Dynamic Random Access Memory) and an auxiliary storage device such as a hard disk, and is a device that stores various programs for executing the operating system and various applications of the computer 900, as well as data used by these programs. The processing shown in the various flowcharts described above is realized by the processing unit 901 of each of the computers that make up the NFT management server 100, the user terminal 200, and the blockchain 300 executing the programs stored in their respective storage units 902.
[0101] The communication unit 903 is a device for communicating with external devices, and transmits and receives data according to instructions from the processing unit 901. The NFT management server 100, the user terminal 200, and each computer constituting the blockchain 300 each use this communication unit 903 to communicate with other devices, including the network 5 shown in FIG.
[0102] The input unit 904 is a device that receives input from outside and supplies it to the processing unit 901, and is configured to include, for example, a keyboard, a mouse, a touch panel, and a camera. The output unit 905 is a device that outputs the processing results of the processing unit 901 to the outside, and is configured to include, for example, a display and a speaker. <Program> Here, the details of the programs for realizing the functions constituting the NFT management server 100 according to each embodiment will be described.
[0103] The NFT management server 100 is implemented in a computer 900. The operation of each component of the NFT management server 100 is stored in the form of a program in the auxiliary storage device of the storage unit 902. The processing unit 901 reads the program from the auxiliary storage device of the storage unit 902, expands it in the main storage device of the storage unit 902, and executes the above-mentioned processing in accordance with the program. The processing unit 901 also allocates a storage area corresponding to the above-mentioned storage unit 120 in the main storage device of the storage unit 902 in accordance with the program.
[0104] Specifically, the program is a program to be executed by a computer 900 having a processor and a memory unit, and the program causes the processor to execute an issuance step of issuing an NFT and a recording step of recording multiple pieces of metadata that can be exclusively referenced by the issued NFT and their reference information in the blockchain network 300 in which smart contracts 310 and 320 are recorded, and is characterized in that the program retains the reference information for each of the multiple pieces of metadata.
[0105] The auxiliary storage device of storage unit 902 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via input unit 904. Furthermore, when this program is distributed to computer 900 via network 5, computer 900 that receives the program may load the program into the main storage device of storage unit 902 and execute the above-described processing.
[0106] The program may also be a program for realizing some of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that realizes the above-described functions in combination with another program already stored in the auxiliary storage device of the storage unit 902.
[0107] As described above, according to the information processing system 1 of the present disclosure, the metadata of an NFT is recorded on the blockchain 300, allowing the metadata to be used permanently. In other words, the process is completed by referencing only on-chain data, eliminating the need for an off-chain processing system, thereby reducing costs and effort. Furthermore, the metadata can be accessed permanently at low cost (free of charge).
[0108] Furthermore, according to the information processing system 1, the metadata referenced by the NFT can be changed by changing the hash value H used to reference the NFT to identify the data address array. Furthermore, according to the information processing system 1, since there are multiple pairs of the reference hash value H and the data address array, it is possible to exclusively switch the metadata reference destination. The switching conditions for switching the metadata reference destination are implemented in the metadata contract 320 on the blockchain 300, and by setting the time and reference data as the switching conditions in advance, the information processing system 1 can automatically determine the switching conditions and change the referenced metadata. For example, it is possible to automatically replace on-chain data references depending on the rights status of the metadata, such as copyright and portrait rights.
[0109] In other words, the information processing system 1 according to the present disclosure makes it possible to easily manage the rights to content while enabling the permanent use of content managed by NFT.
[0110] <Modification> Although the embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions.
[0111] For example, in each of the above-described embodiments, the NFT contract 310 and the metadata contract 320 are separated into two smart contracts, but they may also be implemented as a single smart contract.
[0112] In the above-described embodiment, two pieces of metadata were used for switching, but if three or more pieces of metadata are input in step S206, the metadata contract 320 repeats steps S207 to S210 for each piece of metadata.
[0113] <Additional Notes> The matters described in the above embodiments will be supplemented below. (Appendix 1) an issuance step in which the smart contract issues the NFT; A recording step in which the smart contract records a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information in a blockchain network on which the smart contract is recorded; and The smart contract holds reference information for each of the plurality of metadata. Information processing methods. This allows the metadata to be used permanently. (Appendix 2) The smart contract further includes a switching step of switching the reference information referenced by the NFT, 1. The information processing method described in Appendix 1. This allows the user to refer to metadata according to conditions regarding the use of the metadata. (Appendix 3) The switching step is a step in which the smart contract switches the reference information referenced by the NFT based on predetermined switching conditions stored in the smart contract. 1. The information processing method described in Appendix 2. This allows various switching conditions to be set and allows metadata to be referenced according to conditions regarding the use of the metadata. (Appendix 4) and a deploying step of deploying the smart contract on the blockchain network. 4. An information processing method according to any one of appendices 1 to 3. This allows NFT and metadata processing to be permanently available on-chain. (Appendix 5) the predetermined switching condition is the passage of a predetermined time; 1. The information processing method described in Appendix 3. This allows the metadata to be automatically switched over as time passes as a condition for using the metadata. (Appendix 6) The predetermined switching condition is an oracle. 1. The information processing method described in Appendix 3. This allows various switching conditions to be set using external information (oracles). (Appendix 7) The recording step is a step in which the smart contract divides the metadata for each of the plurality of pieces of metadata and records the divided metadata on the blockchain network. 10. The information processing method according to claims 1 to 6. This reduces metadata storage costs. (Appendix 8) The issuing step is a step in which an NFT contract, which is a smart contract that manages an NFT, issues the NFT, The recording step is a step in which a metadata contract, which is a smart contract that manages the metadata referenced by the NFT, records the multiple metadata referenced by the issued NFT and their reference destination information on the blockchain network. 8. An information processing method according to any one of appendices 1 to 7. (Appendix 9) A program recorded on a blockchain network, An issuance step for issuing an NFT; A recording step of recording a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information on the blockchain network; on the computer, Each of the plurality of pieces of metadata is stored with reference destination information. program. (Appendix 10) An issuing department that issues NFTs, A recording unit that records multiple metadata that can be exclusively referenced by the issued NFT and their reference destination information on a blockchain network using a smart contract; Equipped with The smart contract holds reference destination information for each of the plurality of metadata. Information processing system. (Appendix 11) A smart contract recorded on a blockchain network, An issuance step for issuing an NFT; A recording step of recording a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information on the blockchain network; on the computer, Each of the plurality of pieces of metadata is stored with reference destination information. Smart contracts. [Explanation of symbols]
[0114] 1: Information processing system 5: Network 100: NFT management server 131: User Management Department 132:Deployment Department 133: Publishing Department 134: Usage Management Department 200: User terminal 300: Blockchain Network 310: NFT contract (smart contract) 311: Input / output section 312: Publishing Department 313 :Reference section 314: Management Department 315:NFT Information 316: Smart contract address 320: Metadata Contract (Smart Contract) 321: Input / output section 322 :Divided part 323: Recording Department 324: Usage Management Department 325: Address array 326: Smart contract address 327: Judgment condition
Claims
1. an issuance step in which the smart contract issues the NFT; A recording step in which the smart contract records a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information in a blockchain network in which the smart contract is recorded; and The smart contract holds reference information for each of the plurality of metadata. Information processing methods.
2. The smart contract further includes a switching step of switching the reference information referenced by the NFT, The information processing method according to claim 1 .
3. The switching step is a step in which the smart contract switches the reference information referenced by the NFT based on a predetermined switching condition stored in the smart contract. The information processing method according to claim 2 .
4. and a deploying step of deploying the smart contract on the blockchain network.
3. The information processing method according to claim 1.
5. the predetermined switching condition is the passage of a predetermined time; The information processing method according to claim 3 .
6. The predetermined switching condition is an oracle. The information processing method according to claim 3 .
7. The recording step is a step in which the smart contract divides the metadata for each of the plurality of pieces of metadata and records the divided metadata on the blockchain network. The information processing method according to claim 1 .
8. The issuing step is a step in which an NFT contract, which is a smart contract that manages an NFT, issues the NFT, The recording step is a step in which a metadata contract, which is a smart contract that manages metadata referenced by the NFT, records the multiple metadata referenced by the issued NFT and their reference destination information on the blockchain network. The information processing method according to claim 1 .
9. A program recorded on a blockchain network, An issuing step of issuing an NFT; a recording step of recording a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information on the blockchain network; on the computer, Each of the plurality of pieces of metadata is stored with reference destination information. program.
10. An issuing unit that issues NFTs; a recording unit that records a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information on a blockchain network using a smart contract; Equipped with The smart contract holds reference destination information for each of the plurality of metadata. Information processing system.
11. A smart contract recorded on a blockchain network, An issuing step of issuing an NFT; a recording step of recording a plurality of metadata that can be exclusively referenced by the issued NFT and their reference destination information on the blockchain network; on the computer, Each of the plurality of pieces of metadata is stored with reference destination information. Smart contracts.
Citation Information
Patent Citations
System and method for using digital asset
JP2024037151A
Systems and methods for providing a digital media rental platform
WO2023082008A1
Information processing system, information processing method, and program
WO2023204214A1
Content contract system, content contract method, right holder terminal, assignee terminal, control terminal, content storage server, right holder program, assignee program, control program, and content storage program
JP2020068388A