Computer-implemented method, method for using portable storage medium, portable storage medium, and computer system
Patent Information
- Application Number
- PCT/JP2024/031193
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-06
- Filing Date
- 2024-08-30
- Publication Date
- 2025-03-06
Smart Images

Figure JP2024031193_06032025_PF_FP_ABST
Abstract
Description
Computer-implemented method, method of using portable storage medium, portable storage medium, and computer system
[0001] This disclosure relates to a computer-implemented method, a method for using a portable storage medium, a portable storage medium, and a computer system. This application claims priority to Japanese Patent Application No. 2023-141845 filed on August 31, 2023, and Japanese Patent Application No. 2024-16499 filed on February 6, 2024, and incorporates the entire contents of said Japanese applications by reference.
[0002] Patent Documents 1 and 2 disclose methods in which a smart contract implemented in a blockchain executes operations on a non-fungible token. Patent Document 3 discloses a method in which a non-fungible token production system receives a unique identifier transmitted from a reader that reads a unique identifier possessed by an object, and generates a non-fungible token by the production system that has received the unique identifier.
[0003] Japanese Patent No. 6710401 Japanese Patent Application Laid-Open No. 2023-073391 Japanese Patent No. 7246600
[0004] Obtaining tokens in a blockchain can be difficult for users unfamiliar with blockchains, so it is desirable to make token acquisition easier.
[0005] One aspect of the present disclosure is a computer-implemented method that includes obtaining data used to determine an address in a blockchain from a portable storage medium having the data; and transmitting the token to the address determined based on the obtained data.
[0006] Another aspect of the present disclosure is a method of using a portable storage medium having data used to determine a blockchain address, the method comprising: reading the data with a reader; and causing a computer that obtains the data via the reader to transmit the token to the address determined based on the data.
[0007] Another aspect of the present disclosure is a portable storage medium having data used to determine a blockchain address.
[0008] Another aspect of the present disclosure is a computer system configured to perform a process comprising: obtaining data used to determine a blockchain address from a portable storage medium having the data; and transmitting the token to the address determined based on the obtained data.
[0009] Further details will be described in the following embodiments.
[0010] FIG. 1 is a configuration diagram of a system according to an embodiment. FIG. 2 is a flowchart showing the procedure for acquiring and displaying a non-fungible token. FIG. 3 is a configuration diagram showing an example of a system according to an embodiment. FIG. 4 is an explanatory diagram of a blockchain. FIG. 5 is an explanatory diagram showing the procedure for acquiring an NFT. FIG. 6 is a configuration diagram of a storage medium. FIG. 7 is a configuration diagram of a server. FIG. 8 is an explanatory diagram of a wallet design. FIG. 9 is an explanatory diagram showing the procedure for displaying an NFT. FIG. 10 is a diagram showing an example of acquiring and displaying an NFT. FIG. 11 is an explanatory diagram showing the procedure for operating an NFT. FIG. 12 is an explanatory diagram showing the procedure for acquiring an NFT. FIG. 13 is a flowchart showing a method for manufacturing a storage medium. FIG. 14 is a flowchart showing a method for activating registered media (a method for manufacturing a medium). FIG. 15 is a flowchart showing an activation method (a method for manufacturing a medium) corresponding to a different wallet. FIG. 16 is a diagram showing an identifier table before and after activation. FIG. 17 is an explanatory diagram of payment using a storage medium. FIG. 18 is a diagram showing a display screen of a payment terminal. FIG. 19 is an explanatory diagram of payment using a storage medium.
[0011] 1. Overview of the computer-implemented method, the method of using a portable storage medium, the portable storage medium, and the computer system
[0012] (1) A method according to an embodiment may be a computer-implemented method executed by a computer. The computer-implemented method may include: obtaining data used to determine a blockchain address for transmitting a token in a blockchain from a portable storage medium having the data; transmitting the token to the address determined based on the obtained data; and obtaining the data from the portable storage medium for displaying the token; and providing, on a display device, a display of the token at the address determined based on the obtained data.
[0013] (2) Acquiring the data for transmitting the token may be performed via a first reader used for transmitting the token.
[0014] (3) The acquisition of the data for the representation of the token may be performed via a second reader used for the representation of the token, the second reader being different from the first reader.
[0015] (4) The portable storage medium may include an integrated circuit.
[0016] (5) The computer-implemented method may further include acquiring a unique identifier of the portable storage medium from the portable storage medium for transmitting the token, and determining whether the acquired unique identifier is a registered unique identifier. Sending the token to the address determined based on the acquired data may be performed if it is determined that the acquired unique identifier is the registered unique identifier.
[0017] (6) The computer-implemented method may further include acquiring a unique identifier of the portable storage medium from the portable storage medium for displaying the token, and determining whether the acquired unique identifier is a registered unique identifier that has been previously registered. Providing a display device with a display of the token at the address determined based on the acquired data may be executed when it is determined that the acquired unique identifier is the registered unique identifier.
[0018] (7) Providing a display device with a representation of the token at the address determined based on the acquired data may be performed when network access is received using a uniform resource identifier acquired from the portable storage medium.
[0019] (8) The computer-implemented method may further include obtaining a private key corresponding to the address from the portable storage medium and using the private key to operate the token at the address.
[0020] (9) The computer-implemented method may further include obtaining a unique identifier of the portable storage medium from the portable storage medium for displaying the token, and determining a design of the display of the token to be provided on the display device based on the obtained unique identifier.
[0021] (10) A method according to an embodiment may be a method of using a portable storage medium having data used to determine an address in a blockchain. The method may include: reading the data with a first reader to obtain a token in the blockchain; transmitting the token to the address determined based on the data by a computer that obtained the data via the first reader; reading the data with a second reader different from the first reader to view the token transmitted to the address; and providing a display device with a display of the token at the address determined based on the data by the computer that obtained the data via the second reader.
[0022] (11) A storage medium according to an embodiment may be a portable storage medium. The portable storage medium may have, as data readable by an external reader, a blockchain address and a uniform resource identifier for displaying a token at the blockchain address. The blockchain address may be used as a destination address for the token by a computer that has acquired the token for sending the token. The uniform resource identifier may be used by a device that has acquired the token for network access to display the token at the blockchain address.
[0023] (12) According to an embodiment, the method may be a computer-implemented method executed by a computer. The computer-implemented method according to an embodiment may include obtaining data used to determine a blockchain address from a portable storage medium having the data; and transmitting the token to the address determined based on the obtained data.
[0024] (13) A computer system according to an embodiment may be a computer system configured to execute a process comprising: acquiring data used to determine a blockchain address from a portable storage medium having the data for transmitting a token in a blockchain; transmitting the token to the address determined based on the acquired data; and acquiring the data from the portable storage medium for displaying the token; providing a display device with a display of the token at the address determined based on the acquired data.
[0025] (14) A computer system according to an embodiment may be a computer system configured to execute a process that includes acquiring data used to determine a blockchain address from a portable storage medium having the data, and sending the token to the address determined based on the acquired data.
[0026] 2. Examples of computer-implemented methods, methods of using portable storage media, portable storage media, and computer systems
[0027] 1 shows a computer system 10 according to an embodiment. The computer system 10 may be used as a token management system, for example. The computer system 10 may be configured by one or more computers.
[0028] The computer system 10 enables a user U1 having a storage medium 40 to handle tokens such as non-fungible tokens in a blockchain. The storage medium 40 stores data (hereinafter sometimes referred to as "address information") used to identify addresses (accounts) in the blockchain.
[0029] The address information may be, for example, the blockchain address itself, or the private key corresponding to the blockchain address.
[0030] The address information may be other data that allows the computer system 10 to determine the blockchain address. For example, if the computer system 10 has a table that indicates the correspondence between blockchain addresses and other data, the address information may be the other data. The computer system 10 can refer to the table and determine the blockchain address from the other data.
[0031] The computer system 10 acquires address information from a storage medium 40 owned by the user U1, and provides a blockchain usage environment for the user to acquire and use tokens at a blockchain address determined from the address information.
[0032] When such a blockchain usage environment is provided, even a user U1 who is not very familiar with blockchain can easily use blockchain. For example, user U1 purchases an item 800 from a seller of the item 800 that includes a storage medium 40 that has address information. In a blockchain, a blockchain address is set in advance, and address information corresponding to that blockchain address is stored in the storage medium 40. In other words, the sale of the storage medium 40 or the item 800 that includes the storage medium 40 can also be seen as the sale of a blockchain address (or a private key corresponding to the blockchain address).
[0033] User U1 can provide the address information stored in the storage medium 40 to the computer system 10, and use the blockchain address determined from the address information as the blockchain address of user U1.
[0034] Blockchain tokens are stored and managed in a user's blockchain address (wallet address). For this reason, it is generally difficult for people without a blockchain address to use blockchain. Also, obtaining and setting a blockchain address can be cumbersome and difficult for users who are not familiar with blockchain addresses.
[0035] On the other hand, if a blockchain address (wallet address) can be used using the storage medium 40, user U1 can use the blockchain by acquiring the storage medium 40, for example by purchasing the storage medium 40 with the address information set in it. Therefore, even users who are not very familiar with blockchain can easily use the blockchain.
[0036] Furthermore, sellers of storage media 40 or goods 800 including storage media 40 can make a profit by selling storage media 40 or goods 800. Acquiring storage medium 40 or goods 800 allows for the acquisition of the right to use a blockchain address, thereby increasing the added value of storage medium 40 or goods 800. Furthermore, as described below, if acquiring storage medium 40 or goods 800 allows for the acquisition of a token such as a non-fungible token, the added value becomes even greater. In this case, for example, storage medium 40 or goods 800 can be sold at a relatively high price as storage medium 40 or goods 800 with the right to acquire a token such as a non-fungible token.
[0037] 1, a computer system 10 may function as a token providing system 11 and as a token display system 12. The token providing system 11 provides tokens to a user U1 who owns a storage medium 40 by sending the tokens to a blockchain address indicated by the address information of the storage medium 40. The token display system 12 displays the tokens at the blockchain address indicated by the address information of the storage medium 40 on the terminal 31 of the user U1. In other words, the token display system 12 provides a function as a blockchain wallet for displaying tokens.
[0038] 2 shows the steps of token provision and token display. First, user U1 provides address information of the storage medium 40 to the token provision system 11 (step S11). After acquiring the address information, the system 11 transmits a token, such as a non-fungible token, to a blockchain address determined based on the acquired address information (step S12). In this way, when the system 11 acquires address information for transmitting a token, it transmits the token to the blockchain address determined by the address information. Since the blockchain address indicated by the address information of the storage medium 40 is available to user U1, the token transmitted to that blockchain address is deemed to have been acquired by user U1.
[0039] Furthermore, the user U1 provides the address information of the storage medium 40 to the token display system 12 (steps S13 and S14). For example, the user U1 provides the address information of the storage medium 40 to the device 31 for token display (step S13). The device 31 for token display is, for example, a computer such as a smartphone or tablet owned by the user U1. The device 31 accesses the token display system 12 and transmits the address information to the system 12.
[0040] Once the system 12 has acquired the address information, it provides the device 31 with display data of the tokens (e.g., the tokens sent in step S12) at the blockchain address determined based on the address information (step S15). The display data may include, for example, at least one of the quantity of fungible tokens and data, such as image data, associated with the non-fungible tokens.
[0041] The device 31 receives the display data (step S16). The display data is used for display on the device 31 (or on its display device) (step S17). As a result, the token is displayed on the display device of the device 31. In this way, when the system 12 acquires address information for displaying the token, it provides the device (display device) with a display of the token at the blockchain address determined by the address information. Therefore, the user U1 can view the token at the blockchain address indicated by the address information of the storage medium 40.
[0042] As described above, by using the system 10 shown in FIG. 1, user U1 can obtain tokens and view the obtained tokens using the acquired storage medium 40, even if he or she does not have a blockchain address.
[0043] 3 shows an example of the configuration of the system 10. The system 10 uses a blockchain 20. The blockchain 20 is configured as a P2P (Peer to Peer) computer network system in which a plurality of computers are interconnected.
[0044] In the blockchain 20, transactions can be made between blockchain addresses. Transactions are recorded in the distributed ledger of the blockchain 20. The blockchain addresses 25A and 25B shown in FIG. 4 are, for example, wallet addresses.
[0045] In Figure 4, as an example, the blockchain address 25A is "0x1111" and the blockchain address 25B is "0x2222". Figure 4 also shows the blockchain address 25C of the server 51 (the administrator of the system 10), which will be described later. The blockchain address 25C of the server 51 is "0x1234".
[0046] In the blockchain 20, for example, tokens can be traded. Examples of tokens that can be traded in the blockchain 20 include fungible tokens (FTs) and non-fungible tokens (NFTs). A fungible token is, for example, a cryptocurrency (native token) such as Ether in Ethereum. A fungible token may be a unique fungible token issued in a blockchain by a specific issuer such as a company or an individual.
[0047] Unlike fungible tokens (FTs), non-fungible tokens (NFTs) are tokens that are not fungible.
[0048] Tokens owned by a particular blockchain address are recorded in the blockchain 20 in association with that blockchain address.
[0049] The blockchain 20 may include a smart contract 22. The system 10 may include a smart contract 22 implemented on the blockchain 20. The smart contract 22 is configured by software (computer program) that is executable on the blockchain. The smart contract 22 automatically executes a predetermined protocol, such as automated trading. As shown in FIG. 5 , the smart contract 22 of the embodiment may execute a process for transmitting an NFT (S507) and / or a process for generating an NFT (S506).
[0050] The smart contract 22 executes predetermined processing (S506, S507) by being called by, for example, a call operation from outside the smart contract 22. The smart contract 22 is called, for example, from a server.
[0051] The process executed by the smart contract 22 is, for example, the generation of an NFT (S506) or the manipulation of a token (S507). The manipulation of a token (S507) is, for example, the change of the owner of the token. The operation of changing the owner of a token is also called the transmission of a token. In other words, changing the owner of a token from a first blockchain address to a second blockchain address is also the transmission of the token from the first blockchain address to the second blockchain address.
[0052] The token transmission may be, for example, a transmission of tokens from (the blockchain address of) smart contract 22 to another blockchain address (e.g., address 25A or address 25B). The token transmission may also be a transmission from address 25A to address 25B.
[0053] The operation of the token is not limited to changing the owner of the token (transmission), but may be any process related to the token.
[0054] In the embodiment, for example, the storage medium 40 may be used for transmitting an NFT. For example, the storage medium 40 is a portable storage medium. A user can carry the portable storage medium and use the portable storage medium in various places.
[0055] The portable storage medium 40 shown in FIG. 6 is provided in an item 800. The portable storage medium 40 is embedded in the item 800, for example. The item 800 is, for example, a wristband. The item 800 may be, for example, a card or any other type of item, and the type is not important. The item 800 is preferably one that can be carried by a user, such as a wristband or a card.
[0056] The storage medium 40 includes, for example, an integrated circuit (IC). The integrated circuit 40 may be, for example, an integrated circuit module (IC module) that includes a memory for storing data and is configured to be able to communicate data with the outside. The integrated circuit module 40 may be called an integrated circuit tag (IC tag) or an integrated circuit card (IC card) depending on its form.
[0057] The integrated circuit 40 capable of communicating with the outside may be of a contact type or a contactless type. The integrated circuit 40 may be of an active type that incorporates a battery, or of a passive type that does not incorporate a battery.
[0058] The integrated circuit 40 includes a memory 44 for storing data such as a unique identifier. The memory 44 includes a first memory 44A that stores the unique identifier. The first memory 44A is, for example, a read-only memory (ROM). The unique identifier 46 of the integrated circuit 40 is preferably stored in the read-only memory.
[0059] The unique identifier 46 of the integrated circuit 40 is preferably a non-rewritable unique identifier assigned to the integrated circuit 40 by the manufacturer of the integrated circuit 40. The unique identifier 46 (UID) of the integrated circuit 40 is used to identify the integrated circuit 40 and distinguish it from other integrated circuits. The unique identifier 46 (UID) assigned to the integrated circuit 40 by the manufacturer is written to the memory 44, for example, when the integrated circuit 40 is manufactured.
[0060] The memory 44 may include a second memory 44B. The second memory 44B may be capable of writing data. A uniform resource identifier 47 (URI 47) is written to the second memory 44B shown in FIG. 6 . The URI 47 is written as a first record, for example. The URI here is, for example, a URL. The URI 47 is used by the device 31 that reads the URI for network access via a network 15 such as the Internet. For example, the URI 47 may include a domain of the server 51 (token display system 12) for accessing the server 51 and a blockchain address. The blockchain address included in the URI 47 is the same as the blockchain address 48 described below. In addition to being used for network access, the URI 47 also serves as address information used to determine the blockchain address because it contains a blockchain address.
[0061] A blockchain address 48 is written in the second memory 44B. The blockchain address 48 also serves as address information. As an example, the blockchain address 48 is written as a second record. If multiple storage media 40 exist, a different blockchain address 48 is written in each of the multiple storage media 40.
[0062] The blockchain address 48 is, for example, “0x1111.” In this case, the URI 47 may be configured to include the domain name and the blockchain address 48, such as “https: / / (domain name of the server 51) / my_page / 0x1111.”
[0063] The URI 47 as address information is used when information for network access is required in addition to the address information. For example, when a server 51 is accessed by a browser of the device 31 that has read data from the storage medium 40 and address information is used in the accessed server 51, it is preferable to use the URI 47 that includes the domain name and address information of the accessed server.
[0064] Furthermore, the blockchain address 48 as address information is used when information for network access is not required or when the blockchain address 48 is already known to the device 55 that reads the blockchain address 48. For example, if the domain name of the server 51 (such as the token provision system 11) is preset in the device 51 that reads data from the storage medium 40, the device 51 that reads the data from the storage medium 40 can access the server 51 of the preset domain name and provide the blockchain address to the server 51.
[0065] A private key 49 is written to the second memory 44B. The private key 49 may be encrypted and stored. The private key 49 corresponds to a blockchain address 48. Because the corresponding blockchain address can be calculated from the private key 49, the private key 49 may also serve as address information. However, here, as an example, the private key 49 is used for electronic signatures for token operations and is not used to determine blockchain addresses. A token operation using the private key 49 is, for example, the transmission of a token at the blockchain address 48. The private key 49 is used for electronic signatures for token operation transactions such as token transmission.
[0066] The contactless IC module described above is also called a radio frequency identification (RFID) device. The storage medium 40 shown in FIG. 6 is a radio frequency identification (RFID) device. The radio frequency identification (RFID) device transmits data 46, 47, 48, and 49 recorded in a memory 44 to an external wireless communication device via wireless communication. The external wireless communication device receives the data transmitted from the radio frequency identification (RFID) device. When the radio frequency identification (RFID) device has the form of a tag, it is also called a radio frequency identification (RFID) tag.
[0067] The radio frequency identification (RFID) device may be a near field communication (NFC) device. The near field communication is preferably communication according to the NFC standard. NFC is, for example, wireless communication using a frequency band of 13.56 MHz. The communication distance of the near field communication is preferably 10 cm or less. When the near field communication (NFC) device has the form of a tag, it may also be called a near field communication (NFC) tag.
[0068] The storage medium 40 is not limited to one including an integrated circuit, but may be any other storage medium. The storage medium may be a machine-readable code such as a barcode or a two-dimensional code.
[0069] In the following description, the storage medium 40 is assumed to be an NFC tag as an example, but the storage medium 40 is not intended to be limited to an NFC tag.
[0070] The devices 31 and 35 used to read the NFC tag 40 are equipped with short-range wireless communication modules 31D and 55D (readers 31D and 55D). The devices 31 and 55 can perform short-range wireless communication with the NFC tag 40. The same is true for the devices 32 and 56.
[0071] 6, the NFC tag 40 includes an antenna 41, a radio circuit 42 connected to the antenna 41, a controller 43 connected to the radio circuit 42, and a memory 44 connected to the controller 43. The above-mentioned data 46, 47, 48, and 49 are written in the memory 44.
[0072] In this embodiment, data 46, 47, 48, and 49 are transmitted from the NFC tag 40 to the reading devices 31, 32, 55, and 56 (readers 31D and 55D). The transmitted data may be a part of the data 46, 47, 48, and 49, and it is sufficient that only the necessary data is transmitted.
[0073] For example, data is transmitted when user U1 holds NFC tag 40 (item 800 equipped with an NFC tag) over devices 31, 32, 55, and 56, and data stored in NFC tag 40 is transmitted by short-range wireless communication to devices 31, 32, 55, and 56. Data received by devices 31, 32, and 33 is transmitted to server 51 via network 15 such as the Internet as necessary.
[0074] The system 10 may include a server 51 connected to the network 15. The server 51 may be composed of multiple computers. The server 51 may be managed by an administrator of the system 10. The administrator may also be the administrator (creator) of the smart contract 22. Note that the smart contract 22 may have some or all of the functions of the server 51. Furthermore, the server 51 may have some or all of the functions of the smart contract 22.
[0075] As shown in Figure 7, the server 51 may be configured by a computer including a processor 51A and a storage device 51B. The storage device 51B is connected to the processor 51A. The storage device 51B includes, for example, a primary storage device and a secondary storage device. The primary storage device is, for example, RAM. The secondary storage device is, for example, a hard disk drive (HDD) or a solid state drive (SSD). The storage device 51B includes a computer program 51C executed by the processor 51A. The processor 51A reads and executes the computer program 51C stored in the storage device 51B. The computer program 51C has program code representing instructions that cause the computer to execute various processes 51F, 51G, and 51H.
[0076] The processes 51F, 51G, and 51H executed by the server 51 may include a token provision process 51F. The token provision process 51F is a process of transmitting a token such as a non-fungible token to a blockchain address determined by address information held by the storage medium 40. The transmitted token may be a fungible token.
[0077] The processes 51F, 51G, and 51H executed by the server 51 may include a token display process 51G. The token display process 51G is a process for displaying tokens at a blockchain address determined by address information held by the storage medium 40. The displayed tokens may be either non-fungible tokens or fungible tokens, or both.
[0078] The processes 51F, 51G, and 51H executed by the server 51 may include a token manipulation process 51H. The token manipulation process 51H is a process for manipulating a token at a blockchain address determined by address information held by the storage medium 40. The process for manipulating a token is, for example, a token transmission process.
[0079] The storage device 51B may include a unique identifier table 51D. A plurality of unique identifiers 46 may be registered in the unique identifier table 51D. The unique identifier 46 of the NFC tag 40 used in the system 10 according to the embodiment is registered in the unique identifier table 51D. In other words, an NFC tag 40 (storage medium) whose unique identifier 46 is registered in the unique identifier table 51D can be used in the system 10, and other NFC tags (storage media) can be made unusable in the system 10 even if they have address information. Note that an NFC tag (storage medium) whose unique identifier is not registered in the unique identifier table 51D may also be usable in the system 10.
[0080] In FIG. 7, as an example, five different unique identifiers, "00:00:00:00:00:0a," "00:00:00:00:00:0b," "00:00:00:00:00:0c," "00:00:00:00:00:0d," and "00:00:00:00:00:0e," are registered in the unique identifier table 51D.
[0081] As an example, table 51D may have blockchain addresses associated with unique identifiers. In FIG. 7, "00:00:00:00:00:0a" is associated with "0x1111." This indicates that "0x1111" is written as address information (blockchain address 48) in the NFC tag 40 of "00:00:00:00:00:0a." Similarly, "0x2222" is associated with "00:00:00:00:00:0b." "0x3333" is associated with "00:00:00:00:00:0c." "0x4444" is associated with "00:00:00:00:00:0d." "0x5555" is associated with "00:00:00:00:00:0e."
[0082] By associating a unique identifier with a blockchain address, it becomes possible to determine the blockchain address from the unique identifier. In other words, the unique identifier can also be used as address information used to determine the blockchain address.
[0083] Furthermore, because table 51D has a correspondence relationship between the unique identifier and the blockchain address (address information), system 10 (server 51) can determine whether the combination of the unique identifier and the blockchain address (address information; data 47, 48, 49) acquired from the NFC tag 40 is correct (a legitimate combination). For example, even if data 47, 48, 49 of an NFC tag 40 officially sold exclusively for system 10 is copied to an inexpensive, general-purpose NFC tag, table 51D does not contain a combination of the unique identifier of the general-purpose NFC tag and the copied data 47, 48, 49. Therefore, the use of the copied data 47, 48, 49 can be excluded or restricted. Note that it may be desirable to copy and back up important data such as the private key 49. Therefore, if there is no problem with the use of the copied data 47, 48, 49, there is no need to exclude or restrict the use of the copied data. An example of a case where there is no problem is when the copied data is used to display a token.
[0084] The table 51D may have category data associated with the unique identifier. The category data may be used to identify various categories, such as the category of the NFC tag 40 (storage medium) having the unique identifier or the category of the token obtained using the NFC tag 40. The category of the NFC tag 40 may be used by the system 10 to distinguish, for example, between an NFC 40 used in a certain event E1 and an NFC 40 used in another event E2 based on the unique identifier. The category of the token obtained using the NFC tag 40 may be used by the system 10 to determine, for example, the type of non-fungible token obtained using the NFC tag 40 based on the unique identifier.
[0085] In FIG. 7, "00:00:00:00:00:0a" and "00:00:00:00:00:0b" are associated with category "C1." "00:00:00:00:00:0c" is associated with category "C2." "00:00:00:00:00:0d" and "00:00:00:00:00:0e" are associated with category "C3." Note that in table 51D, category data may be considered to be associated with blockchain addresses. In this case, system 10 can identify categories based on blockchain addresses.
[0086] The table 51D may have a wallet design identifier associated with the unique identifier. The wallet design identifier may be used by the system 10 to identify the screen design (wallet design) when displaying a token using the NFC tag 40.
[0087] 7, "00:00:00:00:00:0a", "00:00:00:00:00:0b", and "00:00:00:00:00:0c" are associated with identifier "D1". "00:00:00:00:00:0d" and "00:00:00:00:00:0e" are associated with identifier "D2". In this case, token display using an NFC tag 40 having any of "00:00:00:00:00:00:0a", "00:00:00:00:00:0b", and "00:00:00:00:00:0c" is performed on a user interface screen with a design indicated by identifier "D1", as shown in FIG. Furthermore, the token display using the NFC tag 40 having either "00:00:00:00:00:0d" or "00:00:00:00:00:0e" is performed by a user interface screen with a design indicated by the identifier "D2", as shown in FIG. 8.
[0088] In this case, even if the token display system 12 itself is common, the wallet design can be changed based on the unique identifier of the NFC tag 40 used, making it appear as a separate wallet (dedicated wallet). Therefore, it is possible to provide customized wallets using a common token display system 12.
[0089] Note that multiple blockchain addresses may be associated with the unique identifier of one NFC tag 40. In this case, multiple blockchain addresses can be used by one NFC tag 40 (storage medium). Also, multiple unique identifiers may be associated with one blockchain address. In this case, a common blockchain address can be used by multiple NFC tags 40 (storage media).
[0090] Table 51D may be recorded in a computer outside the blockchain 20 other than the server 51, or may be recorded in the blockchain 20.
[0091] 7, a private key 51J may be stored in the storage device 51B of the server 51. The private key 51J corresponds to the blockchain address 25C of the server 51. The private key 51J is used for generating and transmitting non-fungible tokens from the server 51.
[0092] The system 10 may include the aforementioned smart contract 22. As shown in Figure 4, the server 51 may invoke the smart contract from the server's address 25C in the blockchain 20 (S505). The invoked smart contract transmits the non-fungible token (S507, S517).
[0093] User U1 may use user terminals 31 and 32 shown in FIG. 3 . The terminals 31 and 32 are, for example, mobile devices such as smartphones or tablets owned by the users. The terminals 31 and 32 are capable of NFC communication. User U1 can read data 46, 47, 48, and 49 from the NFC tag 40 using the terminal 31 of user U1 and display the token on the terminal 31. The configuration of the terminal 31 will be described below, but the terminal 32 may also have a similar configuration. The terminals 31 and 32 may constitute the system 10 as needed.
[0094] The terminal 31 of the user can access the server 51 via the network 15. The terminal 31 can also access the blockchain 20 via the network 15. The terminal 31 can also access the blockchain 20 via the server 51.
[0095] The terminal 31 may be configured by a computer including a processor 31A and a storage device 31B. The storage device 31B is connected to the processor 31A. The storage device 31B includes, for example, a primary storage device and a secondary storage device. The primary storage device is, for example, a RAM. The secondary storage device is, for example, a hard disk drive (HDD) or a solid state drive (SSD). The terminal 31 includes an NFC module 31D (reader). The reader receives data from the NFC tag 40 via near field wireless communication. The terminal includes a display device 31E. The display device 31E is, for example, a liquid crystal display.
[0096] The processor 31A reads and executes a computer program 31C stored in the storage device 31B. The storage device 31B includes the computer program 31C executed by the processor 31A. The computer program 31C has program code indicating instructions to be executed by a computer functioning as the terminal 31. In the following, the computer program 31C is assumed to be a browser application for browsing websites, as an example. The browser application is preferably a WebNFC-compatible browser capable of reading data via NFC. By using a WebNFC-compatible browser, tokens (crypto assets) in a blockchain can be displayed even if a wallet application for displaying them is not installed on the terminal 31. Therefore, even users who have never used blockchain can display tokens using the NFC tag 40. Note that tokens may be displayed using a dedicated wallet application.
[0097] The system 10 may include token provision terminals 55 and 56 shown in FIG. 3 . The token provision terminals 55 and 56 are capable of NFC communication. The terminals 55 and 56 are installed at predetermined locations by companies or organizations that wish to distribute tokens to users. A user U1 having an NFC tag 40 brings the NFC tag 40 close to the terminals 55 and 56, causing the terminals 55 and 56 to acquire data 46, 47, 48, and 49 from the NFC tag 40. Once the data from the NFC tag 40 is acquired by the terminals 55 and 56, a non-fungible token is transmitted to a blockchain address determined by the data (blockchain address 48). Thus, the user U1 having the NFC tag 40 can acquire a non-fungible token. Note that the following describes the configuration of the terminal 55, but the terminal 56 may have a similar configuration.
[0098] The terminal 55 may be configured by a computer including a processor 55A and a storage device 55B. The storage device 55B is connected to the processor 55A. The storage device 55B includes, for example, a primary storage device and a secondary storage device. The primary storage device is, for example, a RAM. The secondary storage device is, for example, a hard disk drive (HDD) or a solid state drive (SSD). The terminal 55 includes an NFC module 55D (reader). The reader receives data from the NFC tag 40 via near field wireless communication.
[0099] The processor 55A reads and executes a computer program 55C stored in the storage device 55B. The storage device 55B includes the computer program 55C that is executed by the processor 55A. The computer program 55C has program code that indicates instructions to be executed by the computer that functions as the terminal 55.
[0100] Type data 55F is set in storage device 55B. Type data 55F can be transmitted from terminal 55 to server 51 together with address information acquired from NFC tag 40 in order to transmit a non-fungible token. Type data 55F can be used, for example, by system 10 (server 51) to identify the type of NFT to be transmitted. Type data 55F may indicate the type of terminal 55 or the provider of the NFT.
[0101] 5, the smart contract 22 may execute an NFT generation process S506. The generation process S506 is executed, for example, by the smart contract 22 being called by the server 51 to generate the NFT 400. Note that the process for calling the smart contract 22 may be executed by the server 51, by the terminal 31, or by the terminal 31 via the server 51. The server 51 is configured to call the smart contract 22, for example, upon acquiring address information from the terminal 31.
[0102] In the generation process S506, the NFT is generated by recording the NFT data that constitutes the NFT in the blockchain 20. The generation of the NFT may be performed by the server 51 instead of the smart contract 22.
[0103] The data for the NFT includes a token identifier for the NFT. The data for the NFT may include image data associated with the NFT or a link that serves as an identifier for the image data.
[0104] Some or all of the NFT data, such as image data, may be stored in a computer outside the blockchain 20. The NFT data recorded in the blockchain 20 may include a link indicating the data stored in a computer outside the blockchain 20. The link is configured, for example, by a uniform resource identifier (URI).
[0105] As shown in FIG. 3 , the database 52 may be configured, for example, by an IPFS (InterPlanetary File System). The IPFS is an example of a P2P (Peer to Peer) distributed file system. In the IPFS, stored data (content) is specified by a URI using a hash value calculated from the data. This URI is also called a content identifier. A link indicating content stored on a computer outside the blockchain 20 may be a URI that specifies the content in the IPFS.
[0106] 5, the smart contract 22 may execute an NFT transmission process S507. For example, when the smart contract 22 generates an NFT, the smart contract 22 executes the transmission process S507. Note that, in the NFT transmission process S507, if a pre-generated NFT is to be transmitted, the NFT generation process (S506) may be omitted. That is, when the smart contract 22 is invoked, it may transmit a pre-generated NFT.
[0107] 5, an example of the procedure for user U1 to obtain an NFT using NFC tag 40 will be described. Here, the unique identifier (UID) of NFC tag 40 is assumed to be "00:00:00:00:00:0a," and the blockchain address 48 is assumed to be "0x1111." Furthermore, the type data 55F of terminal 55 is assumed to be "AAA," and the type data of terminal 56 is assumed to be "BBB."
[0108] First, the user U1 brings the item 800 with the NFC tag 40 that he or she has acquired close to the terminal 55. As a result, data including the unique identifier (UID) and the blockchain address 48 (0x1111) recorded on the NFC tag 40 is read by the reader 55D of the terminal 55 (step S501). That is, the terminal 55 acquires the data including the unique identifier (UID) and the blockchain address (0x1111) (step S501). The terminal 55 transmits the acquired data to the server 51 (step S502). If necessary, the terminal 55 transmits the acquired data (UID and blockchain address) together with the type data 55F of the terminal 55, "AAA," to the server 51 (step S502).
[0109] When the server 51 receives the data transmitted from the terminal 55, it performs UID determination (step S503). In the UID determination, it is determined whether the unique identifier (UID) transmitted from the terminal 55 is a registered unique identifier registered in table 51D (see FIG. 7). If it is determined that the unique identifier transmitted from the terminal 55 is a registered unique identifier, (NFT generation and) NFT transmission are performed. If it is determined that the unique identifier transmitted from the terminal 55 is not a registered unique identifier, (NFT generation and) NFT transmission are not performed. Note that the UID determination may be omitted if not necessary.
[0110] The UID determination may also include determining whether the combination of the unique identifier (UID) and blockchain address 48 transmitted from the terminal 55 is registered in table 51D. In this case, if the combination is registered in table 51D, (NFT generation and) NFT transmission is performed, and if not, it is not performed.
[0111] When generating an NFT, the server 51 determines image data corresponding to the type data 55F (step S504). The image data to be determined may be one that is prepared in advance according to the type data 55F, or may be determined based on a predetermined rule or randomly from multiple image data corresponding to the type data 55F. The server 51 acquires a link indicating the determined image data.
[0112] Furthermore, the server 51 may use category data in addition to or instead of using the type data 55F to determine image data associated with an NFT. For example, in the table 51D of FIG. 7, the unique identifier "00:00:00:00:00:0a" or the address "0x1111" is set to category "C1," so image data corresponding to category "C1" may be determined. The image data to be determined may be one image data prepared in advance for each category, or may be determined based on a predetermined rule or randomly from multiple image data corresponding to the category. When data associated with an NFT is determined based on both the type data 55F and the category data, the types of data associated with the NFT can be varied.
[0113] If the UID determination determines that NFT generation and transmission will be performed, the server 51 calls the smart contract 22 (step S505). The server 51 transmits the address information (blockchain address: 0x1111) acquired from the terminal 55 to the smart contract 22 as the destination address of the NFT. The server 51 also transmits a link to image data associated with the NFT to the smart contract 22. The smart contract 22 may acquire the link from the image database 52 based on the type data 55F and / or category data.
[0114] When the smart contract 22 is invoked, it generates an NFT (step S506) and sends the generated NFT to the acquired destination address (0x1111) (step S507). This allows the user U1 who has the NFC tag 40 to acquire the NFT.
[0115] Furthermore, user U1 has the NFC tag 40 read by another terminal 56 (step S511). In this case, NFT generation and NFT transmission can be performed in the same manner, but because the type data 55F of the other terminal 56 is "BBB," a different type of NFT than that transmitted when the NFC tag 40 was read by terminal 55 can be transmitted to the blockchain address (0x1111).
[0116] An example of a procedure in which user U1 displays an NFT using the NFC tag 40 will be described below with reference to Figure 9. Here, the unique identifier (UID) of the NFC tag 40 is assumed to be "00:00:00:00:00:0a," and the blockchain address 48 is assumed to be "0x1111." It is assumed that the procedure shown in Figure 9 is performed after the procedure shown in Figure 5 is executed.
[0117] After bringing the NFC tag 40 close to the terminal 55 or 56 to acquire an NFT, the user U1 brings the NFC tag 40 close to the terminal 31 of the user U1 to confirm the acquired NFT. As a result, data including the unique identifier (UID) and URI (including 0x1111) recorded on the NFC tag 40 is read by the reader 31D of the terminal 31 (step S901). That is, the terminal 31 acquires the data including the unique identifier (UID) and URI. After acquiring the URI (or the identifier of the application to be launched), the terminal 31 launches a browser application (or a token viewing wallet application) as needed, and the browser application accesses the server 51 using the URI (step S902). Because this URI includes the blockchain address (0x1111), the server 51 can acquire the blockchain address (0x1111) by accepting network access. The terminal 31 may also transmit the unique identifier to the server 51.
[0118] When the server 51 receives the unique identifier transmitted from the terminal 31, it performs UID determination (step S903). In the UID determination, it is determined whether the unique identifier (UID) transmitted from the terminal 31 is a registered unique identifier registered in table 51D (see FIG. 7). If it is determined that the unique identifier transmitted from the terminal 55 is a registered unique identifier, NFT display is executed; otherwise, NFT display is not executed. Note that the UID determination (S903) may be omitted if not necessary. Furthermore, the UID determination may be performed by confirming the combination of the unique identifier (UID) and the blockchain address, as described above.
[0119] The server 51 also references table 51D based on the unique identifier transmitted from the terminal 31 and determines the display design (step S904). In table 51D of Fig. 7, the unique identifier "00:00:00:00:00:0a" is associated with the identifier "D1". Therefore, if the unique identifier transmitted from the terminal 31 is "00:00:00:00:00:0a", the display design is determined to be design D1 shown in Fig. 8 (the design with the wallet name "HARD WALLET").
[0120] To confirm the token to be displayed, the server 51 refers to the blockchain 20 based on the blockchain address (0x1111) included in the URI sent from the terminal 31 (step S905). This allows the server 51 to grasp the non-fungible token and fungible token at the blockchain address (0x1111).
[0121] The server 51 generates display data for displaying the token at the address (0x1111) in the display design determined in step S904, and provides the data to the terminal 31 (step S906). As a result, the token is displayed on the terminal 31.
[0122] FIG. 10 shows an example of NFT acquisition and display using an NFC tag 40. FIG. 10 illustrates an example of NFT acquisition and display using an NFC tag 40. This example illustrates an example of an NFT distribution system used to distribute unique NFTs at multiple locations (e.g., multiple pavilions) at an event venue, such as a World's Fair. The NFTs are distributed as souvenirs or special gifts for visiting each pavilion. A user wishing to acquire an NFT purchases an item 800 (e.g., a wristband) with an NFC tag 40 at the event venue and wears it on their wrist. Upon visiting a pavilion, the user wearing the wristband 800 holds the wristband 800 over the token provision terminals 55, 56, and 57 installed at that pavilion. This allows the user to acquire an NFT from each pavilion. The user can display the acquired NFT on the terminal 31 by bringing the wristband 800 close to the user's terminal 31. According to the example of Figure 10, in addition to the enjoyment of touring the pavilions, the user can also enjoy the enjoyment of obtaining NFTs that can only be obtained by visiting each pavilion.
[0123] 11 shows an example of a method for transmitting the acquired NFT to another person. Here, the blockchain address of the NFC tag 40 is also assumed to be "0x1111".
[0124] User U1 brings the NFC tag 40 close to user U1's terminal 31. As a result, data including the private key 49 and URI 47 recorded in the NFC tag 40 is acquired by the terminal 31 (step S111). Upon acquiring the URI, the terminal 31 launches a browser application, which accesses the server 51 using the URI (step S112). As a result, the token at the blockchain address (0x1111) is displayed in the browser application. User U1 performs an operation on the terminal 31 to send the token to another party. Upon receiving the operation performed on the terminal 31, the server 51 executes a process to send the token to another party (step S113). An electronic signature for the token transmission transaction is performed using the private key 49 acquired from the NFC tag 40.
[0125] 12 shows an example of acquiring an NFT using an NFC tag 40. User U1 brings the NFC tag 40 close to user U1's terminal 31. As a result, data including the URI 47 recorded in the NFC tag 40 is acquired by the terminal 31 (step S121). Upon acquiring the URI, the terminal 31 launches a browser application, and the browser application accesses the server 51 using the URI (step S122).
[0126] The server 51 provides the terminal 31 with a display 31G (e.g., a button for operating to acquire an NFT) that prompts the user to acquire an NFT (step S123). If the user U1 wishes to acquire an NFT, the user taps the button 31G. Upon receiving the operation on the button 31G, the server 51 causes the token to be sent to the blockchain address (0x1111) by, for example, calling a smart contract. This allows the user to acquire the NFT.
[0127] The present invention is not limited to the above-described embodiment, and various modifications are possible.
[0128] <3. Appendix 1>
[0129] A storage medium according to an embodiment may include data used to determine a blockchain address.
[0130] The data (address information) used to determine a blockchain address is, for example, the blockchain address 48 shown in FIG. 6 (see paragraphs
[0029] ,
[0061] , and
[0062] ). The address information may also be other data that allows a computer to determine a blockchain address (see paragraph
[0030] ). A computer that acquires address information stored in a storage medium can refer to the blockchain 20 based on the address information to confirm or determine the token (non-fungible token or fungible token) at the address corresponding to the address information (see paragraph
[0120] ). Note that a "token at an address" refers to a token whose association with that address is recorded in the blockchain. A "token at an address" is, for example, a token whose owner is recorded as that address.
[0131] A storage medium according to an embodiment may include a private key corresponding to a blockchain address. The private key corresponding to the address may be, for example, private key 49 shown in FIG. 6 (see paragraph
[0065] ). The private key may be used to digitally sign a transaction of a token operation involving an address corresponding to the private key, such as a transaction of sending a token from the address (blockchain account) corresponding to the private key (see paragraph
[0065] ). Note that receiving or referencing a token at a certain address does not require a digital signature using the private key corresponding to the address.
[0132] A private key stored in a storage medium may be subject to read restriction by encryption or the like. By storing the private key in a read-restricted state in the storage medium, the storage medium has a private key, but use of the private key is restricted. The read restriction may include a read restriction on the user who owns the storage medium. The read restriction on the user may be realized, for example, by not disclosing to the user information for removing the read restriction. If the user does not know the information for removing the read restriction, the user's use of the private key is restricted.
[0133] The information for removing the read restriction is, for example, a decryption key (encryption key) for decrypting the encrypted private key if the read restriction is imposed by encrypting the private key, or the password if the read restriction is imposed by restricting access to the private key using a password or the like. The read restriction can be imposed, for example, by the manufacturer of the storage medium (the person who wrote the data).
[0134] As an example, a storage medium according to an embodiment may include a private key corresponding to a blockchain address, but restricts the use of the private key for token manipulation using the private key by restricting read access to the private key. A token manipulation using the private key may involve, for example, transmitting a token such as an NFT. The storage medium according to an embodiment is a hardware wallet because it stores a private key, but may be configured as a hardware wallet that does not allow token transmission by restricting read access to the private key. A hardware wallet that does not allow token transmission may be used to store tokens such as NFTs or display stored tokens. The inability to transmit tokens integrates the hardware wallet with the stored token. In other words, a hardware wallet that does not allow token transmission can be considered a hardware token that has been hardware-implemented (hardware tokenized) from digital data. In this case, ownership of a token such as an NFT can be transferred by transferring the hardware storage medium. A hardware-implemented token cannot be transferred (i.e., cannot be transferred on the blockchain) except by transferring the hardware storage medium, and therefore can be treated as a non-transferable token.
[0135] As another example, the storage medium in the embodiment may be a storage medium that includes data used to determine a blockchain address and a private key corresponding to the address, and has read restrictions on the private key, thereby restricting use of the private key for operating a token using the private key, but does not have read restrictions on the data used to determine the address, allowing the data used to determine the address to be used to receive a blockchain token at the address or to refer to a token at the address, etc.
[0136] In an embodiment, a method of using the storage medium may include restricting operations on the token using the private key by restricting the read access to the private key. The method may further include receiving the blockchain token at the address or referencing the token at the address using the data used to determine the address.
[0137] As an example, a manufacturing method of a storage medium in an embodiment may be a manufacturing method of a storage medium that includes data used to determine a blockchain address and a private key corresponding to the address, and may include imposing read restrictions on the private key.
[0138] 13 shows an example of a method for manufacturing a storage medium 40 with data written therein (a method for activating the storage medium 40 as a hardware wallet). The storage medium 40 here is, for example, an integrated circuit module (IC module) configured to be able to communicate data with the outside. A unique identifier 46 is written in the integrated circuit module in advance.
[0139] To activate the storage medium 40 as a hardware wallet, the reading device 31 reads the unique identifier of the integrated circuit module (step S131). The read unique identifier is transmitted to the system 10 (step S132). The system 10 then generates a private key for the storage medium 40 (step S133). The system 10 generates a blockchain address corresponding to the private key from the private key (step S134). The system 10 associates the received unique identifier with the blockchain address and stores them (step S135). This storage is performed, for example, in the unique identifier table 51D shown in FIG. 6 . By storing the unique identifier and blockchain address in the system 10, the storage medium 40 having the unique identifier becomes available as a hardware wallet in the system 10.
[0140] When restricting operations (e.g., token transmission) of the token using the storage medium 40, which is a hard wallet, the system 10 imposes a read restriction on the private key generated in step S133 (step S136). The read restriction is, for example, a read restriction by encrypting the private key. The encryption key for encryption is, for example, randomly generated and used to encrypt the private key. The encryption key for encrypting the private key is, for example, randomly generated for each private key in the system 10. The private key may be encrypted using a different encryption key for each private key. The encryption key may be stored in the system 10 to decrypt the encrypted private key as needed, but is preferably discarded and not stored. Discarding the encryption key ensures that the private key cannot be used. The encryption key for decrypting the private key may be communicated to the person who obtained the storage medium 40 (e.g., user U1) so that the person who obtained the storage medium 40 can decrypt the private key as needed, but is preferably kept secret even from the person who obtained the storage medium 40. For example, the system 10 can completely disable the private key by discarding the encryption key after encryption without storing it and not disclosing it to anyone who obtains the storage medium 40.
[0141] Note that the read restriction of the private key may not be imposed if not necessary, and may be imposed by an appropriate password when the system 10 writes the private key (in plain text) to the storage medium 40 in step S137 described below.
[0142] The system 10 transmits the read-restricted private key 49, the blockchain address 48, and the URI 47 to the terminal 31, and writes these data 47, 48, and 49 (see FIG. 6) to the memory 44 of the storage medium 40 via the terminal 31 (steps S137 and S138). Through the above process, the storage medium 40 is activated as a hardware wallet.
[0143] As described above, the manufacturing method according to the embodiment is a method for manufacturing a storage medium having data used to identify a blockchain address, and may include storing in the storage medium a private key corresponding to the address, the private key having read restrictions and data for lifting the read restrictions.
[0144] The storage medium 40 manufactured in this manner may be a storage medium that has a private key corresponding to a blockchain address, but has read restrictions on the private key, thereby restricting the use of the private key for operating tokens using the private key.
[0145] <4. Appendix 2>
[0146] Figure 14 shows another example of a method for manufacturing a storage medium 40 with data written therein (a method for activating the storage medium 40 as a hardware wallet). Figure 14 shows a variation of Figure 13, in which only storage media 40 that have been pre-registered in the system 10 can be activated.
[0147] The activatable storage medium 40 may be registered, for example, in a storage device 51B (see FIG. 7) of the server 51 of the system 10. An identifier (UID) of the activatable storage medium 40 may be registered in the system 10. The identifier of the activatable storage medium 40 may be stored, for example, in an identifier table 51D (see FIG. 7) of the storage device 51B of the server 51.
[0148] 14, in step S140, the system 10 registers identifiers of activatable storage media 40 in an identifier table 51D. As an example, three identifiers (unique identifiers), "00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c," are pre-registered in the identifier table 51D of FIG. 14. At the time of step S140, these three identifiers are not associated with any blockchain addresses.
[0149] In the identifier table 51D of "Before activation of 00:00:00:00:00:0a" in FIG. 14, "Null" is set in the corresponding address field to indicate that no blockchain address is associated with each of the three identifiers. In the identifier table 51D of FIG. 14, a storage medium 40 having an identifier for which no corresponding address is set ("Null" is set) indicates that it has not yet been activated. On the other hand, a storage medium 40 having an identifier for which a corresponding address is set indicates that it has been activated.
[0150] 14, in order to activate an unactivated storage medium 40, the reading device 33 reads the identifier of (the integrated circuit of) the storage medium 40 (step S141). The read identifier is transmitted to the system 10 (step S142).
[0151] Upon receiving the identifier, the system 10 determines whether the received identifier is registered in the identifier table 51 (step S142A). If the received identifier is registered in the identifier table 51 and a blockchain address is not associated with the identifier, the system 10 executes the processes from step S143 onward to execute activation. For example, in the identifier table 51D for "Before Activation of 00:00:00:00:00:0a" in FIG. 14, the identifier 00:00:00:00:00:0a is associated with Null, and no blockchain address is associated with it. Therefore, if the received identifier is 00:00:00:00:00:0a, the system 10 determines that activation is possible and executes the processes from step S143 onward.
[0152] On the other hand, if the received identifier is not registered in the identifier table 51, the system 10 determines that activation is not possible and does not execute the processing from step S143 onwards. Also, even if the received identifier is registered in the identifier table 51, if a blockchain address has already been associated with that identifier, the system 10 determines that activation has already been performed and does not execute the processing from step S143 onwards.
[0153] When the system 10 executes activation, it executes steps S143 and S144. Steps S143 and S144 are similar to steps S133 and S134 in Fig. 13. That is, in step S143, a private key for the storage medium 40 is generated. In addition, in step S144, a blockchain address corresponding to the private key is generated.
[0154] The system 10 stores the generated blockchain address in the identifier table 51D in association with the same identifier as the received identifier (step S145). For example, if the generated blockchain address is 0x1111, 0x1111 is associated with the identifier: 00:00:00:00:00:0a, as shown in the identifier table 51D of "After activation of 00:00:00:00:00:0a" in FIG. 14.
[0155] The system 10 transmits the private key 49, the blockchain address 48, and the URI 47 to the terminal 33, and writes these data 47, 48, and 49 (see FIG. 6) to the memory 44 of the storage medium 40 via the terminal 33 (steps S147 and S148). Through the above processing, only the storage medium 40 pre-registered in the system 10 is activated as a hard wallet. Note that although the process of restricting private key reading (step S136) in FIG. 13 is omitted in FIG. 14, the process of restricting private key reading may also be performed in FIG. 14.
[0156] FIG. 15 shows another example of a method for manufacturing a storage medium 40 with data written thereto (a method for activating the storage medium 40 as a hardware wallet). FIG. 15 shows a variation of FIG. 14. FIG. 15 shows a method for activating a storage medium 40 corresponding to a different wallet. In the method shown in FIG. 15, only storage media 40 pre-registered in the system 10 can be activated. In the method shown in FIG. 15, each group of pre-registered storage media 40 can be activated so that a different wallet is used via the storage medium 40.
[0157] Here, a link for accessing the wallet application from the storage medium 40 is activated differently for each group of storage media 40. The link for accessing the wallet application is, for example, a URI (e.g., a wallet URL) written to the first record in memory 44B shown in FIG.
[0158] The different wallets have different wallet designs, for example, as shown in FIG. 8 (the wallet functions may be the same or different). For example, suppose that a storage medium 40 of one group is sold or given away for free by company X1, and a storage medium 40 of another group is sold or given away for free by another company X2. In this case, each of companies X1 and X2 may want to customize the design of the wallet accessed from the storage medium 40 distributed by that company, for example by including the company's name. Furthermore, company X1 may prefer to provide users with a multi-function wallet for users familiar with blockchain, while company X2 may prefer to provide users with a wallet with fewer functions for users unfamiliar with blockchain.
[0159] Therefore, it is preferable that the wallet accessed using the storage medium 40 (or the link (URL) stored therein) can be different depending on the person selling or transferring the storage medium 40. However, if the only method available for activating the storage medium 40 is to write a predetermined link (URL) to the storage medium 40, it is not possible to vary the wallet. Furthermore, if multiple activation systems are constructed according to the number of different links (URLs), the number of activation systems increases, making the process complicated. In contrast, the method shown in FIG. 15 allows activation corresponding to different wallets using one common system 10.
[0160] The identifiers of the multiple activatable storage media 40 may be stored, for example, in an identifier table 51D (see FIG. 7) in the storage device 51B of the server 51. As shown in FIG. 15, in step S150, the system 10 registers the identifiers of the multiple activatable storage media 40 in the identifier table 51D. FIG. 16A shows an example of the identifier table 51D registered in step S150 (the identifier table 51D before activation).
[0161] 16(A), as an example, five identifiers (unique identifiers) are pre-registered: "00:00:00:00:00:0a," "00:00:00:00:00:0b," "00:00:00:00:00:0c," "00:00:00:00:00:0d," and "00:00:00:00:00:0e." As of step S150, these five identifiers are not associated with any blockchain addresses.
[0162] Of these five, the storage media 40 corresponding to "00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c" are distributed to users by company X1, and the storage media 40 corresponding to the two, "00:00:00:00:00:00:0d" and "00:00:00:00:00:0e," are distributed to users by company X2. In other words, the three, "00:00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c," constitute a group of one or more storage media 40 distributed by company X1 (company X1 group). Furthermore, the two "00:00:00:00:00:0d" and "00:00:00:00:00:0e" form a group (company X2 group) of one or more storage media 40 distributed by company X2.
[0163] Also, here, the wallet with wallet design D1 in FIG. 8 is for a storage medium 40 distributed by company X1, and the wallet with wallet design D2 in FIG. 8 is for a storage medium 40 distributed by company X2.
[0164] 16(A), wallet identifiers are associated with unique identifiers as group identifiers that distinguish between groups (company X1 group, company X2 group) of storage media 40. For example, identifier D1 is associated with three identifiers, "00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c." Furthermore, identifier D2 is associated with two identifiers, "00:00:00:00:00:0d" and "00:00:00:00:00:0e."
[0165] Identifier D1 indicates that the distributor of storage medium 40 having each of the identifiers "00:00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c" is company X1, or indicates that the wallet that becomes available when storage medium 40 having each of the identifiers "00:00:00:00:00:00:0a," "00:00:00:00:00:0b," and "00:00:00:00:00:0c" is activated is a wallet of wallet design D1 (HARDWALLET; see FIG. 8). Identifier D1 may also be a link identifier (URL identifier). The link identifier (URL identifier) indicates a link (URL) for accessing a wallet (HARDWALLET; see Figure 8) that becomes available when the storage medium 40 having each of the identifiers "00:00:00:00:00:0a", "00:00:00:00:00:0b", and "00:00:00:00:00:0c" is activated.
[0166] Similarly, identifier D2 indicates that the distributor of storage medium 40 having the identifiers "00:00:00:00:00:0d" and "00:00:00:00:00:0e" is company X2, or indicates that the wallet that becomes available when storage medium 40 having the identifiers "00:00:00:00:00:0d" and "00:00:00:00:00:0e" is activated is a wallet of wallet design D2 (SUPERWALLET; see FIG. 8). Identifier D2 may also be a link identifier (URL identifier). The link identifier (URL identifier) indicates a link (URL) for accessing a wallet (SUPERWALLET; see Figure 8) that becomes available when the storage medium 40 having the respective identifiers "00:00:00:00:00:0d" and "00:00:00:00:00:0e" is activated.
[0167] In this way, identifiers D1 and D2 are data for identifying the differences between groups of storage medium 40 (unique identifiers) and generating a link 47 (see Figure 6; URI 47) to the wallet written to storage medium 40 according to the group.
[0168] 15, in order to activate an unactivated storage medium 40, the reading device 33 reads the identifier of (the integrated circuit of) the storage medium 40 (step S151). The read identifier is transmitted to the system 10 (step S152).
[0169] The system 10 that has received the identifier determines whether the received identifier is registered in the identifier table 51 (step S145A). If the received identifier is registered in the identifier table 51 and the identifier is not associated with a blockchain address, the system 10 executes the processes from step S153 onward to execute activation.
[0170] When the system 10 executes activation, it executes steps S153 and S154. Steps S153 and S154 are similar to steps S133 and S134 in Fig. 13. That is, in step S153, a private key for the storage medium 40 is generated. In addition, in step S154, a blockchain address corresponding to the private key is generated.
[0171] The system 10 stores the generated blockchain address in the identifier table 51D in association with the same identifier as the received identifier (step S155). For example, if the received identifier is 00:00:00:00:00:0a and the generated blockchain address is 0x1111, 0x1111 is associated with the identifier: 00:00:00:00:00:0a, as shown in the identifier table 51D of FIG. 16(B). Also, if the received identifier is 00:00:00:00:00:0e and the generated blockchain address is 0x5555, 0x5555 is associated with the identifier: 00:00:00:00:00:0e, as shown in the identifier table 51D of FIG. 16(B).
[0172] In step S156, the system 10 generates a link 47 (URI 47) to the wallet. Based on the received identifier (UID), the system 10 references the identifier table 51D and identifies the group to which the received identifier (UID) belongs. For example, if the received identifier (UID) is 00:00:00:00:00:0a, the system 10 identifies group D1 (or wallet design D1 according to the distributor). If the received identifier (UID) is 00:00:00:00:00:0e, the system 10 identifies group D2 (or wallet design D2 according to the distributor).
[0173] For example, when the system 10 identifies D1 from the received identifier 00:00:00:00:00:0a, it also uses the address 0x1111 corresponding to that identifier to generate a URL 47 of "https: / / (domain name of server 51) / HARDWALLET / 0x1111." This URL 47 is a link for accessing the wallet of wallet design D1 shown in FIG.
[0174] Furthermore, when the system 10 identifies D2 from the received identifier 00:00:00:00:00:0e, it also uses the address 0x5555 corresponding to that identifier to generate a URL 47 of "https: / / (domain name of server 51) / SUPERWALLET / 0x5555." This URL 47 is a link for accessing the wallet of wallet design D2 shown in FIG. 8.
[0175] The system 10 transmits the private key 49, the block chain address 48, and the URL 47 to the terminal 33, and writes these pieces of data 47, 48, and 49 (see FIG. 6) to the memory 44 of the storage medium 40 via the terminal 33 (steps S157 and S158). Through the above processing, a URL corresponding to the group of the storage medium 40 is written to the storage medium 40. Note that although the processing of restricting reading of the private key (step S136) in FIG. 13 is omitted in FIG. 15, the processing of restricting reading of the private key may also be performed in FIG. 15.
[0176] 17 and 18 show an example of a payment (settlement) method using a storage medium 40. Here, the storage medium 40 is provided in a card, as an example. A card provided with the storage medium 40 can be used like a card with a payment function (settlement function), such as a credit card or debit card. Here, the storage medium 40 is used for payment with crypto assets (tokens such as fungible tokens (FTs); coins). By using a card (item) provided with the storage medium 40 of the embodiment, payment and settlement of crypto assets can be made with the same usability as card settlement with a credit card or debit card.
[0177] The storage medium 40 may be a computer such as a mobile phone, a smartphone, a tablet, or a wearable terminal, and in this case, the integrated circuit included in the storage medium 40 may be an integrated circuit included in a computer such as a mobile phone, a smartphone, a tablet, or a wearable terminal. The computer such as a mobile phone, a smartphone, a tablet, or a wearable terminal may transmit some or all of the data 46, 47, 48, and 49 via near field communication (NFC).
[0178] The data 47, 48, 49 stored in the first storage medium 40 provided on the card may be copied and saved in a computer which is a second storage medium, and the computer which is the second storage medium may be used as a portable storage medium containing the data 47, 48, 49.
[0179] Here, it is assumed that the fungible token (FT) used for payment has been sent in advance to the blockchain address 48 (e.g., 0x1111) of the storage medium 40. For example, a user who owns the storage medium 40 can send the FT in advance from another of his or her own blockchain addresses to the blockchain address (0x1111) of the storage medium 40. The user can use the storage medium 40 to display and confirm the sent FT on the terminal 31. The user can also use the storage medium 40 to use the sent FT for payment at a store or the like. The paid FT is sent from the blockchain address (0x1111) of the storage medium 40 to the blockchain address (0x8aa7) of the store or the like, which is the recipient (destination). As a result, the store or the like can receive the FT and receive payment.
[0180] When a user who is a payer uses the storage medium 40 to make a payment at a store or the like, the user (payer) brings the storage medium 40 (e.g., an NFC card) close to a terminal 35 at the store or the like, as shown in Fig. 17. As a result, data including the blockchain address 48, private key 49, etc. recorded on the storage medium 40 is acquired by the terminal 35 (step S171).
[0181] Prior to step S171, payment information including the payment amount (quantity (and type) of tokens (NF) to be paid) is input into the terminal 35 by an operation of a store clerk or the like (step S170). After checking the payment information displayed on the terminal 35, the payer brings the storage medium 40 close to the terminal 35 to make the payment (step S171).
[0182] The terminal 35 is configured with a blockchain address that receives the tokens to be paid, or data for identifying the blockchain address (e.g., a recipient identifier).
[0183] The terminal 35 sets the blockchain address 48 (0x1111) acquired from the storage medium 40 as the sending address (source address) and the blockchain address (0x8aa7) set in the terminal 35 as the receiving address (destination address), and transmits these addresses together with payment information to the server 51 (system 10) (step S172). Note that if a recipient identifier or the like is set in the terminal 35 instead of a blockchain address that serves as the receiving address, the server 51 that receives the recipient identifier or the like acquires the blockchain address that serves as the receiving address from the recipient identifier or the like.
[0184] The server 51 also receives the private key 49 that the terminal 35 reads from the storage medium 40 .
[0185] Upon acquiring the sending address, receiving address, and payment information, the server 51 executes a process of transmitting a token corresponding to the payment information from the sending address (0x1111) to the receiving address (0x8aa7) (S173). The digital signature for the token transmission transaction is performed using the private key 49 acquired from the storage medium 40. If the private key 49 is read-restricted (see
[0132] to
[0144] ), the server 51 executes a process of removing the read restriction and executes the digital signature process for the user (payer). The read restriction on the private key stored in the storage medium 40 can be removed by an authorized person (for example, the owner (user) of the storage medium 40 or a system administrator).
[0186] Generally, when transmitting a blockchain token, the sender needs to operate a terminal (smartphone, personal computer, etc.) to execute processing for transmitting the token. However, by using the storage medium 40 of the embodiment, a simple operation of bringing the storage medium 40 close to a terminal 35 of a store or the like (similar to an operation for making a payment by touching a credit card, etc.) can be used to transmit the blockchain token (crypto asset) and make a payment by token. Furthermore, the store or the like can receive the blockchain token (crypto asset) by an operation similar to that for making a payment by touching a credit card, etc.
[0187] 18A to 18D show examples of screens displayed on the terminal 35 of the store or the like that receives the payment.
[0188] The screens of Fig. 18(A) and (B) are used for the operation of step S170 of Fig. 17. Fig. 18(A) is a screen for setting the payment currency and coins (the type of blockchain and the type of token used for payment). The store clerk can perform an operation on the screen of Fig. 18(A) to select the type of currency and coin desired by the payer. Fig. 18(B) is a screen for inputting the payment amount. The store clerk can perform an operation on the screen of Fig. 18(B) to input the payment amount (the number of tokens to be paid). Payment information is input by operating the screens of Fig. 18(A) and (B).
[0189] The screen in Fig. 18(C) is used in step S171 in Fig. 17. The screen in Fig. 18(C) prompts the payer to bring the storage medium 40 (card) close to the terminal 35 in order to scan the payer's storage medium 40.
[0190] The screen in FIG. 18(D) is a screen displayed when the token transmission is being executed in step S173 in FIG.
[0191] Fig. 19 shows another example of a payment method using a storage medium 40. In the example shown in Fig. 19, a terminal 35 of a store or the like is used as in the example shown in Fig. 17, but a terminal 31 of the user who is the payer is used.
[0192] In the example of Fig. 19, the user terminal 31 is made to function in the same way as the store terminal 35. However, unlike the store terminal 35, the user terminal 31 does not have data set therein for identifying the receiving blockchain address of the token (the blockchain of the store, etc.). Therefore, as shown in step S190 of Fig. 19, a two-dimensional code such as a QR code (registered trademark) installed in the store is read to obtain the blockchain address (receiving address; 0x8aa7) for receiving the token to be paid, or data for identifying the receiving address (for example, a receiver identifier).
[0193] The two-dimensional code placed in the store or the like may include a link that allows the user or store clerk to access a screen (see FIG. 18) for setting payment information. In this case, when the terminal 31 reads the two-dimensional code, the screen in FIG. 18 is displayed on the terminal 31.
[0194] When the user or store clerk inputs payment information into terminal 31 and then brings storage medium 40 close to terminal 31, terminal 31 obtains private key 49, transmission address 48 (0x1111), etc. from storage medium 40. If data 48, 49 on storage medium 40 have been copied and saved in terminal 31 in advance, the user need only select data 48, 49 saved in terminal 31 for payment, without using storage medium 40.
[0195] Upon acquiring the sending address, receiving address, and payment information, the server 51 executes a process of transmitting a token corresponding to the payment information from the sending address (0x1111) to the receiving address (0x8aa7) (S193). The digital signature for the token transmission transaction is performed using the private key 49 acquired from the storage medium 40. In the example of Fig. 19, points that are not particularly described are the same as those in the example of Fig. 17.
[0196] <5. Appendix 3>
[0197] (15) A method of using a storage medium, the storage medium having data used to determine a blockchain address, may include acquiring the data from the storage medium, referencing the blockchain based on the address determined based on the acquired data, and verifying a token at the address. Furthermore, upon verifying the token, the system may execute a predetermined process. The predetermined process may be, for example, an entrance process. In this case, a token such as an NFT may be used as an entrance ticket.
[0198] (16) A method of using a storage medium, wherein the storage medium has data used to determine a blockchain address, the method may include reading the data stored in the storage medium and having a computer verify the tokens stored in the address based on the read data.
[0199] (17) A computer-implemented method executed by a computer may include, upon retrieving data used to determine an address in a blockchain from a portable storage medium having the data, providing on a display device a representation of the token at the address determined based on the retrieved data.
[0200] <6. Appendix 4>
[0201] (18) A method for manufacturing a storage medium having a blockchain address and a private key corresponding to the blockchain address, or a method for activating a storage medium, the method comprising: determining whether an identifier acquired from the storage medium is a registered identifier that has been registered in advance; and, if the identifier acquired from the storage medium is the registered identifier, writing the blockchain address and the private key to the storage medium. A system according to an embodiment may be a system that executes the manufacturing method or the activation method.
[0202] (19) A method for transmitting a blockchain token or a payment method (settlement method) using the token, comprising: reading a blockchain address and a private key from a storage medium having the blockchain address and the private key corresponding to the blockchain address by a terminal (e.g., a store terminal) associated with data for identifying a receiving address of the token (e.g., the receiving address itself or data associated with the receiving address), and transmitting the token from the blockchain address (transmission address) read by the terminal to the receiving address. A system according to an embodiment may be a system for executing the method.
[0203] 10: Computer system 11: Token provision system 12: Token display system 15: Network 20: Blockchain 22: Smart contract 25A: Blockchain address 25B: Blockchain address 25C: Blockchain address 31: User terminal 31A: Processor 31B: Storage device 31C: Computer program 31D: Reader 31E: Display device 31G: Display 32: User terminal 33: Device 35: Device 40: Portable storage medium 41: Antenna 42: Wireless circuit 43: Controller 44: Memory 44A: First memory 44B: Second memory 46: Unique identifier 47: Uniform resource identifier 48: Blockchain address 49: Private key 51: Server 51A: Processor 51B: Storage device 51C: Computer program 51D: Unique identifier table 51F: Token provision processing 51G: Token display processing 51H: Token operation processing 51J: Private key 52: Image database 55: Token provision terminal 55A: Processor 55B: Storage device 55C: Computer program 55D: Reader 55F: Type data 56: Token provision terminal 57: Token provision terminal 800: Item E1: Event E2: Event
Claims
1. A computer-implemented method executed by a computer, comprising: obtaining data from a portable storage medium having data used to determine an address in a blockchain for transmitting a token in a blockchain, sending the token to the address determined based on the obtained data; and obtaining data from the portable storage medium for displaying the token, providing on a display device a display of the token at the address determined based on the obtained data.
2. The computer-implemented method of claim 1, wherein obtaining the data for transmission of the token is performed via a reader used for transmission of the token.
3. The computer-implemented method of claim 1, wherein obtaining the data for displaying the token is performed via a reader used for displaying the token.
4. The computer-implemented method of claim 1, wherein the portable storage medium comprises an integrated circuit.
5. The computer-implemented method of claim 1, further comprising: acquiring a unique identifier of the portable storage medium from the portable storage medium in order to transmit the token; and determining whether the acquired unique identifier is a registered unique identifier that has been previously registered; and transmitting the token to the address determined based on the acquired data if it is determined that the acquired unique identifier is the registered unique identifier.
6. The computer-implemented method of claim 1, further comprising: acquiring a unique identifier of the portable storage medium from the portable storage medium in order to display the token; and determining whether the acquired unique identifier is a registered unique identifier that has been previously registered; and providing a display device with a display of the token located at the address determined based on the acquired data is executed if it is determined that the acquired unique identifier is the registered unique identifier.
7. The computer-implemented method of claim 1, wherein providing a display device with a representation of the token at the address determined based on the retrieved data is performed upon receiving network access using a uniform resource identifier retrieved from the portable storage medium.
8. The computer-implemented method of claim 1, further comprising: obtaining a private key corresponding to the address from the portable storage medium; and manipulating the token at the address using the private key.
9. The computer-implemented method of claim 1, further comprising: obtaining a unique identifier of the portable storage medium from the portable storage medium for displaying the token; and determining a design of the display of the token provided on the display device based on the obtained unique identifier.
10. A method of using a portable storage medium having data used to determine an address in a blockchain, comprising: reading the data with a first reader to obtain a token in the blockchain; causing a computer that has obtained the data via the first reader to send the token to the address determined based on the data; reading the data with a second reader different from the first reader to view the token sent to the address; and causing a display device to provide a display of the token at the address determined based on the data by the computer that has obtained the data via the second reader.
11. A portable storage medium having, as data readable by an external reader, a blockchain address and a uniform resource identifier for displaying a token at the blockchain address, wherein the blockchain address is used as a destination address of the token by a computer obtained for sending the token, and the uniform resource identifier is used by a device obtained for displaying the token for network access to display the token at the blockchain address.
12. A computer-implemented method executed by a computer, comprising: obtaining data used to determine an address in a blockchain from a portable storage medium having the data; and sending a token to the address determined based on the obtained data.
13. A computer system configured to perform a process comprising: obtaining data from a portable storage medium having data used to determine an address in a blockchain for transmitting a token in a blockchain; transmitting the token to the address determined based on the obtained data; and obtaining data from the portable storage medium for displaying the token; and providing, on a display device, a display of the token at the address determined based on the obtained data.
14. A computer system configured to perform a process comprising: obtaining data from a portable storage medium having data used to determine an address in a blockchain; and sending a token to the address determined based on the obtained data.
Citation Information
Patent Citations
Working method of virtual currency portable operation terminal based on block chain
CN110956455A