Information processing system, information processing method, and program

The system addresses the limitation of smart contracts by generating normalized timestamps and key information to manage token records, enabling accurate token balance calculation and compliance with expiration dates.

JP2025158890APending Publication Date: 2025-10-17FOLIO CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024137729
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing blockchain-based smart contract systems face limitations in processing large numbers of tokens with expiration dates, leading to failures when the number of records exceeds the transaction limit, preventing accurate calculation of the total number of valid tokens within a validity period.

Method used

An information processing system that generates normalized timestamps and key information based on these timestamps to manage arrays of token records, allowing efficient calculation of token balances within the validity period by reducing the number of records needed.

Benefits of technology

Enables accurate and efficient calculation of the total number of tokens within the validity period, preventing payment failures and ensuring compliance with regulatory requirements for token expiration dates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025158890000001_ABST
    Figure 2025158890000001_ABST
Patent Text Reader

Abstract

To properly calculate the total quantity of valid tokens in a processing system for smart contract, or the like, on a block chain.SOLUTION: An information processing system for managing tokens on a block chain includes: generation means which generates a normalized timestamp which is obtained by normalizing issuance time of tokens issued in a predetermined period to a specific time in the predetermined period, and generates key information based on the normalized timestamp; and management means which manages an array composed of records including the key information and the quantity of tokens issued.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing system, an information processing method, and a program. [Background technology]

[0002] Crypto assets realized through processing systems on the blockchain, such as smart contracts Since each has its own attribute information and its own logic that controls its own behavior, These cryptocurrencies are sometimes called money, and are traded on the blockchain. Managed as Kun (specifically, Fungible Token (FT)) will be done.

[0003] Payment methods that are not legal tender, such as in-service currencies that are valid only within a specific service Assume that a token is used as a step. For example, Ethereum By using tokens that comply with the ERC20 standard as the in-service currency, robustness is ensured. Not only can it ensure security and non-tampering, but it also uses smart contracts to automatically make payments. This makes it possible to

[0004] If a token has an expiration date, only tokens within the validity period from the time of issuance are considered valid tokens. However, traditional standards such as ERC20 do not have the concept of a token validity period. There is no. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Special Publication No. 2023-535605 Summary of the Invention [Problem to be solved by the invention]

[0006] For example, the Cabinet Office Ordinance on Prepaid Payment Instruments states that deposits and registrations are not required if: The conditions are "expiration date is within 6 months and the total balance is 10 million yen" and It is thought that this can be managed using a processing system such as a smart contract on the blockchain. .

[0007] When calculating the total number of tokens within the validity period as the balance, the existing information system Generally, 1) a record of the amount and time of issuance is saved for each token issuance, 2) Search for the relevant record by "Current time - Issue time < Expiration date", and 3) The amount issued during the period is added up to determine the balance.

[0008] However, this kind of processing is not possible with smart contracts on the blockchain. If you try to do this in a system, it is impossible because there is a limit to the amount of processing that can be done in a single transaction. For example, in the case of Ethereum, the upper limit of the number of records that can be added together is 1. Therefore, if the number of records within the validity period exceeds this limit, the process will fail. There is a challenge.

[0009] Therefore, the present invention is a method for determining the validity period in a processing system such as a smart contract on a blockchain. An information processing system and an information processing method that can appropriately calculate the total number of tokens in Provide programs. [Means for solving the problem]

[0010] The information processing system according to the first aspect is for managing tokens on a blockchain. An information processing system, comprising: a step of: determining an issuance time of a token issued within a predetermined period; A normalized timestamp is generated at a specific time within the period, and the normalized timestamp is A generating means for generating key information based on the stamp, and a generating means for generating the key information and the issued token. and a management means for managing an array of records including the number of items.

[0011] The information processing method according to the second aspect is an information processing method for managing tokens on a blockchain. An information processing method executed in an information processing system, comprising: issuing a token within a predetermined period; A normalized time stamp is generated by normalizing the time to a specific time within the predetermined period. a generation step of generating key information based on the normalized timestamp; and a management step of managing an array of records including the number of tokens issued. , has.

[0012] The program according to the third aspect is a program for managing tokens on a blockchain. a computer that records the issuing time of a token issued within a predetermined period in the A normalized time stamp is generated at a specific time within a fixed period, and the normalized time stamp is generating key information based on the time stamp; and and a management step of managing an array of records including the number of tokens. . [Effects of the Invention]

[0013] According to the present invention, within the validity period in a processing system such as a smart contract on a blockchain, Information processing system, information processing method, and program that can properly calculate the total number of tokens We can provide a program. [Brief explanation of the drawings]

[0014] [Figure 1] 1 is a diagram illustrating a configuration of an information processing system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of each computer according to the embodiment. [Figure 3] FIG. 1 is a diagram illustrating a functional block configuration of a smart contract (X) according to an embodiment. [Figure 4] FIG. 1 is a diagram illustrating the operation of a smart contract (X) according to an embodiment. [Figure 5] FIG. 1 is a diagram illustrating the operation of a smart contract (X) according to an embodiment. [Figure 6] FIG. 1 is a diagram illustrating the operation of a smart contract (X) according to an embodiment. [Figure 7] FIG. 10 is a diagram illustrating an initial setting operation in the information processing system according to the embodiment. [Figure 8] FIG. 10 is a sequence diagram showing the operation of a user purchasing a token (X) with an expiry date when a listed currency token (A) is used. [Figure 9] FIG. 10 is a sequence diagram showing the operation of a user purchasing a token (X) with an expiry date when an unlisted currency token (A) is used. [Figure 10] FIG. 10 is a sequence diagram showing the operation of checking the balance and total balance of each user of the token (X) with an expiry date. [Figure 11] FIG. 10 is a sequence diagram showing operations related to purchasing a product using a token (X) with an expiry date. DETAILED DESCRIPTION OF THE INVENTION

[0015] The embodiments will be described with reference to the drawings. The same or similar symbols are used for the parts.

[0016] (1) System configuration FIG. 1 is a diagram showing the configuration of an information processing system 1 according to this embodiment. The information processing system 1 is a system for managing tokens on the blockchain. do.

[0017] The information processing system 1 includes a terminal device 100, a store device 200, and a token management server 3. 00 and a blockchain network 400. 00, the token management server 300, and the blockchain network 400 are They are connected to the network 5 and can communicate with each other via the network 5. The network 5 includes the Internet. The network 5 is a LAN (Local Area Network). network and / or WAN (Wide Area Network). stomach.

[0018] The information processing system 1 issues tokens that comply with ERC20 as in-service currency. In addition, we will realize settlement using such tokens as a means of payment. By using it as an internal currency, not only can robustness and tamper resistance be ensured, but also smart cards can be used. It will be possible to make payments automatically using the interaction.

[0019] In this embodiment, tokens conforming to ERC20 are used as payment means. The provision is based on the "Act on Settlement of Funds (Settlement of Funds Act)" and the "Enforcement Order of the Act on Settlement of Funds (Settlement of Funds Act)" According to the Fund Settlement Act, (1) financial transactions such as amounts (2) The commercial value is recorded, (3) it is issued in exchange for the amount and quantity. (4) The issuance of certificates, numbers, symbols, and other codes, etc., used for payment of payment, etc. Payment instruments that meet these four requirements are called "prepaid payment instruments" and are , many obligations are imposed on the issuer (Article 3, Paragraph 1, Item 1 of the Payment Services Act). However, this alone cannot promote the provision of services, so if certain requirements are met, There is an exemption from the obligation to the extent that the following applies (Article 4 of the Payment Services Act). One of them is that it can only be used within a certain period of time specified by government ordinance from the date of issue. Article 4, Paragraph 1, Item 2 of the Settlement Act), the Enforcement Order of the Settlement Act provides that this certain period (hereinafter referred to as The effective period of the payment method is set at six months (Article 4, Paragraph 2 of the Enforcement Order of the Payment Services Act). ).

[0020] In view of this, in this embodiment, ERC20-compliant tokens are issued with an expiration date (validity For example, the expiration date of a token is determined by the The expiration date is 6 months (180 days) from the date of issuance of the token. In the following, such a token is referred to as a "trade token with an expiry date." In the information processing system 1, the tokens within the validity period from the time of issuance are only as a valid token.

[0021] A specific example of an expiry token (X) is a token in a specific online game. In-game currency that can be used in EC (Electronic Commerce) sites A service that can be used to purchase various products (clothing, books, electronics, non-fungible tokens, etc.) It is a prepaid point system that can be used to purchase various products in real stores. Examples include:

[0022] Here, an overview of the processing performed by the information processing system 1 will be described.

[0023] The blockchain realized by the blockchain network 400 has a validity period. Smart contract for managing limited token (X) (hereinafter referred to as "Smart Contract ( A smart contract (X) 410 is recorded (deployed) in advance. 10 issues a token (X) with an expiration date in response to a request from the terminal device 100. The user of the terminal device 100 then transfers the funds to an externally owned account. The user will be in possession of an expiry-limited token (X).

[0024] The smart contract (X) 410 issues a token (X) with an expiration date. The same amount of currency tokens (hereinafter referred to as "currency tokens (A)") as the issued expiry tokens (X) will be used. ") and hold it. Currency token (A) is a token with an expiration date ( Unlike tokens that are only valid within a specific service, such as X), tokens are more general-purpose. Such a currency token (A) is a base token and has no expiration date. The type of currency token (A) is not particularly limited, and it can be Bitcoin or Ethereum. The currency token may be a listed currency token such as the above, or may be an unlisted currency token. When using a listed currency token (A), the smart contract (X) 410 The valid token issued by the user to the smart contract (X) 410 is sent from the user's externally owned account. All you have to do is transfer the same amount of currency token (A) as the time-limited token (X). When using the currency token (A), the smart contract (X) 410 has an expiration date. When issuing a token (X), a currency token of the same amount as the token (X) to be issued is issued. Just issue Kun (A) to yourself.

[0025] At a store (online or real), use an expiry token (X) A user who wishes to make a payment must take an expiry token (X) equal to the amount of the payment outside the store. Requests smart contract (X) 410 to transfer the funds to a partially owned account Upon receiving this request, the smart contract (X) 410 issues a valid token for the amount of the payment. The time-limited token (X) is burned and the currency token (A) is automatically generated in the amount equal to the payment amount. This allows the user to transfer the account to an externally owned account of the store. Even though you pay with tokens (X), the store receives currency tokens (A). This allows for purchases to be made using an expiry token (X).

[0026] However, the process described above does not guarantee that the validity period of the token will be exceeded. Therefore, in this embodiment, the smart computer As Tract (X) 410, ERC is used to determine whether or not payment is possible, taking into account the validity period. It uses 20 customized default smart contracts, specifically: The smart contract (X) 410 determines the purchase amount (number of issues) of the expiry token (X). The amount of the purchase and the date and time of purchase (issue date and time) are stored for each user, and when making a payment, the amount of the purchase and the date and time of purchase are recorded. Calculate the total amount of tokens (X) with expiry dates within the specified validity period. If the amount is less than the payment amount, the payment will not be permitted. In System 1, payments are made using expired tokens (X) that have expired. It becomes possible to prevent this.

[0027] The terminal device 100 purchases a token (X) with an expiration date, and It is a terminal used by users who make payments via Kun (X), and can be a smartphone, tablet, or other device. It is composed of any computer such as a tablet terminal or a personal computer. The device 100 is used to verify information recorded in the blockchain network 400. It can also be used in other ways.

[0028] The in-store device 200 is a computer used by a seller who sells products to users. In one example, the in-store device 200 is a server computer that provides online games. In another example, the store device 200 is a server computer that provides an EC site and sells various products to users. In yet another example, the in-store device 200 is a terminal-type device installed in a real store. A computer (including a POS terminal) that processes payments for product purchases by users.

[0029] The token management server 300 is connected to the terminal device 100 and the smart contract (X) 410. A computer that acts as an intermediary between the user and the purchase of an expiry-limited token (X). The token management server 300 is a platform for exchanges and non-fungible tokens of the currency token (A). In this embodiment, the server may be a server that configures the marketplace of Some or all of the processes described as being performed by the token management server 300 may be performed by the smart card. Alternatively, the contract (X) 410 may perform this.

[0030] The blockchain network 400 is a network of multiple computers connected by peer-to-peer. Blockchain is a public network of computers with no specific administrator. blockchains, private chains managed by a single organization, and There are three types of consortium chains managed by blockchain networks. The network 400 can be any of these. A typical example is a blockchain network. Ethereum Network or Polygon, which is classified as a public chain, is a blockchain that can be used to exchange cryptocurrencies. The LINE blockchain is classified as a network or private chain. could be.

[0031] Users of the blockchain network 400 can access the blockchain through externally owned accounts, known as Use the blockchain network 400 through your Blockchain account. The blockchain network 400 also includes a smart contract (X) 410. It is configured to be able to record various smart contracts (programs) including externally owned accounts. The account is managed by the "wallet address" and the smart contract is managed by the "account contract". Externally owned accounts and smart contracts are identified by a "cash transaction address" (Cash Transaction Address). Both are the holders of various tokens, including expiry tokens (X) and currency tokens (A). It can become a subject.

[0032] Blockchain network 400 is a blockchain technology that allows various transactions to be (specifically, a ledger) can be minted. A ledger maintained by each computer connected by peers, also known as a distributed ledger. These types of transactions can involve accounts, smart contracts, or tokens. Issuance transactions to issue new tokens, transfer transactions to transfer ownership of tokens This includes transfer transactions.

[0033] The process of minting transactions onto a ledger in a blockchain network 400. The process involves several computers (hereinafter referred to as Specifically, the blockchain Each block that makes up the ledger contains a block header and the specific details of the transaction. The block header contains data indicating the transaction. The Merkle root is the data that is compressed and the hash of the previous block is used. The blockchain network includes a token value and a nonce value, which is an arbitrary string. In 2000, to connect a new block to the blockchain, the If the flash value meets a certain condition (for example, the value must start with "000"), Therefore, the rules stipulate that the block in the blockchain must be A miner who wants to record a lock must have a block whose block header hash value is higher than the The task of finding a nonce value (mining) in a brute force manner so that the above conditions are met As a result of this work, the miner who succeeded in discovering the nonce value the fastest will be the Blockchain transactions are created by linking blocks to the blockchain. The minting process is complete.

[0034] Blockchain network 400 is the Ethereum network or PolygonNet If the transaction is minted, the person minting the transaction on the blockchain must A fee called "gas" must be paid in cryptocurrency. Gas is the cost of connecting blocks. It is paid as a reward to miners who succeed in the project.

[0035] Externally owned accounts, smart contracts, and transactions on the blockchain In reality, the blockchain network 400 is composed of multiple computers. In the following description, smart contracts (smart contracts) are stored in one or more The process described as the process (including the storing process) performed by the tract (X) 410 However, the actual processing is carried out by the blockchain network 400. This is one of the computers that

[0036] (2) Hardware configuration of each device FIG. 2 shows the terminal device 100, the store device 200, and the token management server 30 according to this embodiment. 0, and the hardware of each computer that constitutes the blockchain network 400 FIG. 1 is a diagram illustrating an example of a configuration.

[0037] A terminal device 100, a store device 200, a token management server 300, and a blockchain Each computer constituting the computer network 400 has the configuration shown in the figure. The store device 200 and the token management server 30 may be configured by a computer 10. The computer 10 that constitutes the 0 is a computer that is formed by combining multiple computers. The device may be a computer.

[0038] The computer 10 includes a processing unit 11, a storage unit 12, a communication unit 13, an input unit 14, and an output unit 15. The processing unit 11, the storage unit 12, the communication unit 13, the input unit 14, and the output unit 15 are included. 5 are electrically connected to each other via a bus (not shown).

[0039] The processing unit 11 includes a CPU (Central Processing Unit), It controls each part of the computer 10 and executes various programs stored in the memory unit 12. It is a device that reads and executes the above.

[0040] The storage unit 12 is a DRAM (Dynamic Random Access Memory y) and auxiliary storage devices such as hard disks, and The operating system and various programs that run various applications and a device that stores data used by these programs. The processes shown in the various sequence diagrams are performed by the terminal device 100, the store device 200, and the token management server. 300, and each computer that constitutes the blockchain network 400 The processing unit 11 executes the program stored in each memory unit 12. This is achieved by:

[0041] The communication unit 13 is a device for communicating with an external device, and performs communication according to instructions from the processing unit 11. The terminal device 100, the store device 200, and the token management server 300 , and each computer that constitutes the blockchain network 400 The communication unit 13 is used to communicate with other devices including the network 5 shown in FIG. .

[0042] The input unit 14 is a device that receives input from the outside and supplies it to the processing unit 11. For example, The output unit 15 includes a keyboard, a mouse, and a touch panel. It is a device that outputs processing results to the outside, and is configured with, for example, a display and a speaker. do.

[0043] (3) Functional block configuration of smart contract (X) FIG. 3 shows the functional block configuration of the smart contract (X) 410 according to this embodiment. This is a diagram.

[0044] The smart contract (X) 410 includes a generation unit 411, a management unit 412, and an array 413. , a calculation unit 414, and a reception unit 415. The array 413 includes an array (a) 413a, The sequence (a) 413a and the sequence (b) 413b are particularly distinguished. When not using a data structure, it is simply referred to as an array 413. For example, each record in the array 413 is a data structure. A key consisting of key information for identifying the key and a value that forms a pair with the key information. It has a data structure of type -value. Such an array is called a "mapping." In this embodiment, the value is the number of tokens (X) issued with an expiry date. (Hereinafter, this will also be referred to simply as "quantity"). These arrays 413 are actually smart The source code of the X-Contract (X) 410 is written in the source code.

[0045] Array (a) 413a stores the purchase amount (issue quantity) and purchase date of the token (X) with an expiration date. The calculation unit 414 stores the time (issue date and time) for each user. , an expiry token whose elapsed time since purchase date (issue date) is within a specified validity period Calculate the total amount of (X) (i.e., the total number of tokens). If there are fewer tokens, the payment will not be permitted, and the expiration date of the token (X) will be used. This can prevent payments from being made in this way.

[0046] Here, when calculating the total number of tokens within the validity period as the balance, 1) Record the quantity and time of issuance of each token with an expiry date (X) Save it, 2) search for the relevant record by "Current time - Issue time < Expiration date", and 3) The amount of the issued items in the records is added up to the balance. When trying to perform such processing using a processing system such as a smart contract, This is sometimes impossible due to the limited amount of processing power available on the network. For example, in the case of Ethereum, The maximum number of records that can be added together is limited to about 10,000. If the number exceeds this limit, the process will fail.

[0047] Therefore, in this embodiment, the generation unit 411 generates tokens with expiration dates issued within a predetermined period. The normalized timestamp obtained by normalizing the issue time of the application (X) to a specific time within the specified period is The management unit 412 generates key information based on the normalized timestamp. is the key information generated by the generation unit 411 and the number of issued tokens with expiry dates (X). The array 413 is managed by the controller 411 and is made up of records including the amount of data.

[0048] In this embodiment, it is assumed that the expiration date (validity period) is 180 days, and the predetermined period is In this case, the generation unit 411 generates tokens with expiration dates issued within a certain day. The issuance time of (X) is set to a specific time within the day (for example, 0:00:00 or 23:59:5). 9 seconds), which allows for frequent timestamps within a day. Even if you issue a token with an expiration date (X), the issued token with an expiration date (X) The normalized timestamps of the two images will be the same. This allows records to be integrated, and the number of records in the array 413 can be reduced. This prevents the process from failing even if the number of records that can be added is limited. .

[0049] If the validity period is long, such as 3 or 10 years, the predetermined period may be set to, for example, 1 It can be set to a week or a month (30 days). These generally have monthly or yearly expiration dates, so this is not considered to be a problem in practice. do.

[0050] The key information generated by the generation unit 411 based on the normalized timestamp is It may be a timestamp itself, or a combination of a normalized timestamp and additional information. Alternatively, the normalized timestamp may be converted by a predetermined operation (for example, a hash operation). Alternatively, the normalized time stamp and additional information may be converted by a predetermined calculation. In this embodiment, the key information may be a normalized time stamp and additional information. In this embodiment, the additional information is converted by a predetermined calculation. However, in cases where categorization is required, an address on the network may be added. A value indicating a category may be used as additional information.

[0051] When issuing a new token (X) with an expiration date, the generating unit 411 generates the new token with an expiration date. The management unit 412 generates key information for the token (X). A record that matches the key information is identified from the array 413, and the token in the identified record is The new number of tokens with expiry dates (X) is added to the number of tokens (issued). Therefore, even if a new token with an expiry date (X) is issued, the new token with an expiry date Add a new record to array 413 that indicates only the issued quantity and issue date of token (X). This eliminates the need for the number of records in the array 413, thereby preventing an increase in the number of records. Even if the number of records that can be processed is limited, the process can be prevented from failing.

[0052] In this embodiment, when issuing a token (X) with an expiry date, the generation unit 411 The normalized timestamp generated for the expiry token (X) and the The key information is generated by a predetermined calculation using the address of the recipient of the token (X). The management unit 412 stores an array (a)4 for calculating the token balance for each recipient address. Manage 13a. The recipient address is, for example, the address of the recipient who sends the expiry token (X). The address of the externally owned account of the purchasing user. By generating key information from the recipient's address, the total number of tokens within the validity period (i.e., token balance) can be easily calculated for each user based on key information. .

[0053] In this embodiment, the predetermined operation for generating the key information is a hash operation. By using the arithmetic operation, it is possible to generate key information of a fixed data length. For example, In the smart contract execution environment (EVM), data of 32 bytes length (bytes 32) is designed to be most efficient, so that hashing operations like this However, the predetermined operation is not limited to a hash operation, and may be, for example, a regular It may also be an operation of concatenating (combining) the converted timestamp and the address.

[0054] When issuing a token with an expiry date (X), the generating unit 411 generates the token with an expiry date (X). From the normalized timestamp generated for (X) and a predetermined dummy address, The management unit 412 may generate key information by a predetermined calculation. (X) may manage an array (b) 413b for calculating the token balance for the entire This allows the processing and data structure for the array (a) 413a and the array (b) 413b to be While unifying the above, the balance of all the expiry tokens (X) within the validity period is stored in array (b) 41. 3b can be easily calculated.

[0055] The generation unit 411 generates a token with an expiration date ( X) indicates the time difference of the country where the service is provided (hereinafter referred to as the "service providing country"). A time offset is added and normalized to the publication time with the time offset added. For example, if the service provider country is Japan, the time offset is "+9 hours." In blockchain networks, timestamps are usually expressed in UNIX time. The UNIX time is expressed as UTC time. If the time of issuance is expressed as UTC time, it will be the time of issuance. However, within the validity period The current time referenced when calculating token balance is the time in the country where the service is provided. Therefore, prior to normalization, the UTC time of publication is converted to the time in the country where the service is provided. A time offset is added to the

[0056] The calculation unit 414 calculates the expiration date within the validity period using the array 413 managed by the management unit 412. The total number of tokens (X) with the tokens attached is calculated as the token balance. 14 is based on the current time and calculates the normal time for each predetermined period in the past equivalent to the validity period. The normalized timestamp generated for each predetermined period is The calculation unit 414 calculates a group of normalized timestamp sequences by dividing each of the generated normalized timestamp sequences by the normalized timestamp sequence. Generate key information for the normalized timestamp, and search for each record that matches the generated key information. is identified from the array 413, and the quantity in each identified record is summed up to obtain the token. Calculate the balance.

[0057] For example, if the predetermined cycle is one day and the validity period is 180 days, the calculation unit 414 calculates A normalized timestamp array consisting of normalized timestamps from the past 180 days (i.e., Then, the calculation unit 414 generates the normalized timestamps (180 normalized timestamps). For each normalized timestamp that makes up the stamp array, key information (i.e., 180 The calculation unit 414 generates the 180 pieces of key information as keys. Search for records from column 413, add up the quantities in each searched record, and calculate the token balance. get.

[0058] Here, when calculating the token balance for a certain user, the calculation unit 414 The address of the user's externally owned account (hereinafter referred to as "Address U") and 180 180 pieces of key information are generated from the normalized timestamp by a predetermined calculation. The calculation unit 414 uses the generated 180 pieces of key information as keys to extract the records from the array (a) 413a. The user's token balance is obtained by searching for the record and adding up the quantity in each record. do.

[0059] On the other hand, when calculating the token balance for all expiry tokens (X), The calculation unit 414 uses a predetermined dummy address and 180 normalized timestamps. Then, the calculation unit 414 generates 180 pieces of key information by a predetermined calculation. The record is searched for in array (b) 413b using 180 pieces of key information as a key. Add up the quantities in each record to get the total token balance for the expiry tokens (X).

[0060] When issuing a token (X) with an expiry date, the accepting unit 415 accepts the purchase amount and the first You may accept a purchase request for an expiry token (X) that specifies the address of The request includes an expiry token (X In response to receiving the request, the management unit 412 issues a Block the issuance or transfer of the purchase amount of tokens with an expiry date (X) to the first address. The amount corresponding to the purchase amount and the issue date and time are recorded in the blockchain (ledger). The information may be used to update array (a) 413a for the first address.

[0061] When making a payment using a token with an expiry date (X) (for example, when purchasing a product), The transfer unit 415 specifies the payment amount, and also specifies the first address as the transfer source and the second address as the transfer destination. Receive a transfer request for an expiry token (X) that specifies the second address. In response to receiving the transfer request, the calculation unit 414 may For the first address, the time elapsed since the issue date and time is selected from the array (a) 413a as the validity period. The management unit 412 may calculate the total amount of tokens within the period as the token balance. If the token balance calculated in accordance with 14 is less than the payment amount, a notice will be sent indicating that the token cannot be transferred. You may do so.

[0062] On the other hand, if the token balance calculated by the calculation unit 414 is equal to or greater than the payment amount, the management unit 4 12 transfers the currency token (A) equivalent to the payment amount to the second address on the blockchain. The transaction amount may be recorded in the ledger and the record for the settlement amount may be deleted from array 413.

[0063] The blockchain (unit) of the transfer of the currency token (A) for the payment amount to the second address The record in the ledger is made by the smart contract (X) 410 as the owner on the blockchain ( The transfer of the currency token (A) recorded in the ledger to the second address is made via a blockchain. This may be done by recording it in a ledger.

[0064] If the token balance calculated by the calculation unit 414 is equal to or greater than the payment amount, the management unit 412 , the first address is the owner and the payment amount recorded in the blockchain (ledger) You may burn the expiry token (X).

[0065] (4) Example of smart contract (X) operation 4 to 6 are diagrams illustrating the operation of the smart contract (X) 410 according to this embodiment. This is a diagram for

[0066] As shown in FIG. 4, the generation unit 411 generates a token with an expiry date (X ) is normalized to a specific time (specific date and time) within the specified period. The generation unit 411 generates a time stamp based on the issuance time (date and time) expressed in UTC time. A time offset indicating the time difference between the country where the expiry token (X) is provided is added to the The time offset may be added to the issue time (date and time) and normalized.

[0067] In the example in Figure 4, the timestamp shown in (A) is the time when the expiry token (X) was issued. This is a timestamp that indicates the time (date and time). When this timestamp is converted to a date and time, it becomes (B ) and (D) is the normalized date and time (normalized date and time). Normalization is performed on a daily basis, and each expiry token (X) issued within a day The issue time is normalized to 23:59:59. (C) shows the time of the normalized date and time. timestamp (normalized timestamp).

[0068] As shown in FIG. 5, when issuing a new token (X) with an expiry date, the generation unit 411: The normalized timestamp generated for the expiry token (X) and the expiry date The address of the recipient of the limited token (X) (specifically, the address of an externally owned account) In the example shown in (A), key information is generated by a hash calculation. For the recipient's address and canonical timestamp, a hash is generated as shown in (B). A calculation (hashing) is performed to generate the key information shown in (C).

[0069] Then, the management unit 412 arranges records that match the key information generated by the generation unit 411. (a) Identifying from 413a, the token quantity (issued) which is the value in the identified record Enter the new number of tokens (X) with expiry date (in the example shown, "100") in the row number. On the other hand, if a record that matches the key information generated by the generation unit 411 is added to the array (a) 41 If it does not exist in 3a, the management unit 412 creates a record consisting of key information and a value shown in (C). Add the code to array(a) 413a.

[0070] As shown in FIG. 6, when issuing a new token with an expiry date (X), the generation unit 411: The normalized timestamp generated for the expiry token (X) and the The key information may be generated by a hash calculation using the dummy address. Now, for the dummy address and normalized timestamp shown in (A), we will use the following: A hash calculation (hashing) is performed as shown above to generate the key information shown in (C).

[0071] Then, the management unit 412 arranges records that match the key information generated by the generation unit 411. (b) Identifying from 413b, the token quantity (issued) which is the value in the identified record Enter the new number of tokens (X) with expiry date (in the example shown, "100") in the row number. On the other hand, if a record that matches the key information generated by the generation unit 411 is added to the array (b) 41 If it does not exist in 3b, the management unit 412 creates a record consisting of key information and a value shown in (C). Add the code to array (b) 413b.

[0072] (5) System operation The operation of the information processing system 1 according to this embodiment will be described.

[0073] (5.1) Initial Settings FIG. 7 is a diagram showing an initial setting operation in the information processing system 1 according to this embodiment.

[0074] In step S101, an issuer (e.g., The token management server (300) executes the smart contract (X) 410 on the blockchain. A deploy request to deploy to network 400 is sent to the blockchain network. The deployment request is sent to the network 400. The deployment request includes various setting values, such as currency tokens ( A) Address, predetermined period (e.g., 1 day), and validity period (e.g., 180 days) and the time offset (9 hours in the case of Japan).

[0075] In step S102, the blockchain network 400 Save the setting value in 1 and deploy the smart contract (X) 410. This will Smart contract (X) 410 will be available.

[0076] (5.2) Expiry Token (X) Purchase Operation Purchasing operation of a token (X) with an expiration date in the information processing system 1 according to this embodiment (Issuing operation) will be explained.

[0077] (5.2.1) When using a listed currency token (A) Figure 8 shows the expiration date set by the user when using a listed currency token (A). FIG. 10 is a sequence diagram showing the operation related to the purchase of a token (X) with a bonus.

[0078] In this case, the user must first purchase the token with an expiration date ( You must purchase and possess a currency token (A) equivalent to the purchase amount of X (step Specifically, the user's externally owned account is the owner of the currency token ( A) must be recorded in the ledger of the blockchain network 400.

[0079] The user specifies the purchase amount and sends the valid token to the token management server 300 from the terminal device 100. When a request is made to purchase a time-limited token (X) (step S202), the token manager The server 300 sends the terminal device 100 a smart card of the currency token (A) equivalent to the purchase amount. The transfer to the customer contract (X) 410 is requested (step S203).

[0080] The terminal device 100 that has received the request in step S203 The currency token (A) equivalent to the purchase amount is transferred to the smart contract (X) 410 via The process for transferring is executed (step S204). The currency token (A) is transferred from the user's externally owned account to the smart contract (X) 410. The transfer transaction to transfer the token to the blockchain network 400 ledger is Here, the transfer transaction to the blockchain network 400 is recorded. Although an example in which the token management server 300 records transactions has been described, It may also be performed by another server that mediates Kun's transactions.

[0081] Next, the token management server 300 checks the blockchain (ledger) (step S 205), to the smart contract (X) 410 of the currency token (A) equivalent to the purchase amount. If the transfer is not completed, the token management server The server 300 returns an error (purchase not possible) to the terminal device 100. In this case, The issuance (issuance) of the expiry token (X) will not be executed.

[0082] On the other hand, if the token management server 300 determines that the transaction is completed, the token management server 300 executes the transaction specified in step S202. The smart contract (X) issues a token (X) with an expiry date equivalent to the purchase amount. The smart controller 10 receives this request (step S206). The token (X) 410 will exchange the expiry token (X) equivalent to the purchase amount with the smart contract. Specifically, a token equivalent to the purchase amount is issued to the customer (X) 410 (step S207). The token (X) is issued to the smart contract (X) 410. The process of recording the issuance transaction on the blockchain (ledger) is carried out.

[0083] Then, the smart contract (X) 410 issues the expiry token (X) to the externally owned account of the user who requested the purchase of the expiry token (X). Specifically, the smart contract (X) 410 indicates the transfer of issued expiry-limited tokens (X) from the user to the user's externally owned account. The process involves recording the transfer transaction on the blockchain (ledger).

[0084] After step S208 is completed, the smart contract (X) 410 creates the array (a) 4 13a and array (b) 413b are respectively converted into a newly issued token with an expiry date (X ) is updated to add information such as the purchase amount and purchase date (step S209). The record including the time is reflected in both array (a) 413a and array (b) 413b.

[0085] After this, the user can, if necessary, transfer the purchased expiry token (X) to their external It is confirmed that the Ethereum token has been added to the account (step S210). Access your wallet using a blockchain explorer such as Scan. or by checking the token management server 300 in your own wallet. By doing so, the user can confirm that the purchase You can confirm that the requested expiry token (X) has been successfully acquired. This will be the case.

[0086] (5.2.2) When using unlisted currency token (A) Figure 9 shows the use of unlisted currency tokens (A) and the expiry date set by users. FIG. 10 is a sequence diagram showing the operation related to the purchase of a token (X).

[0087] In this case, the terminal device 100 sends a valid request specifying the purchase amount to the token management server 300. A request to purchase a token (X) with an expiration date is sent (step S301). The token management server 300 that received the request performs a predetermined payment process with the terminal device 100. (Step S302). This settlement process is carried out using legal tender or listed virtual currency. This is done using

[0088] The token management server 300 that executed the payment process determines whether the payment has been completed. As a result, the token management server 300 determines that the transaction has not been completed, and then sends a An error (purchase not possible) is returned. In this case, the user of the expiry token (X) The issuance (issuance) of the tokens will not be executed.

[0089] On the other hand, if the token management server 300 determines that the transaction is completed, the token management server 300 executes the transaction specified in step S301. The Smart Token will issue a token with an expiry date (X) and a currency token (A) equivalent to the purchase amount. The smart contract (X) 410 receives this instruction (step S303). The purchase contract (X) 410 issues a token (X) with an expiration date equivalent to the purchase amount and a currency. Token (A) is issued to smart contract (X) 410 (step S30 4) Specifically, a smart contract is executed for a token (X) with an expiration date equivalent to the purchase amount. An issuance transaction indicating the issuance of tokens (X) 410 and a currency token equivalent to the purchase amount. An issue transaction indicating Kun's (A) issuance to smart contract (X) 410. The process involves recording the transaction in the blockchain (ledger).

[0090] The subsequent processing is the same as steps S208 to S210 shown in FIG. 8 (step S 305~S307). As a result, the user's externally owned account will receive an expiry token. (X) is added, and the same amount of currency token (A) is transferred to smart contract (X). 410, and the array (a) 413a and the array (b) 413b contain the purchase amount and the purchase date and time. will be reflected.

[0091] (5.3) Checking the balance of each user and the total balance of the expiry token (X) Figure 10 shows the operation of checking the balance of each user and the total balance of the expiry token (X). This figure shows a sequence diagram of a token with an expiration date issued by the process of FIG. 8 or FIG. 9. Regarding Kun (X), the balance and total number of tokens with expiry dates (X) for each user within the validity period 10 shows a process for a user (or administrator) of the information processing system 1 to check the balance.

[0092] First, let's check the balance of each user's expiry token (X). To explain, a user (or administrator) receives a smart contract from the token management server 300. Specify your wallet address U (first address) to the project (X) 410 and leave the A confirmation of the high level is requested (step S401).

[0093] The smart contract (X) 410 that received this request sends the requested data to the specified wallet. The array (a) 413a is referenced by the address U, and the time elapsed since the purchase date and time is set as a predetermined validity period. Then, calculate the total purchase amount included in the extracted records. By issuing this, the remaining tokens within the validity period corresponding to the specified wallet address U will be Calculate the height.

[0094] Specifically, the smart contract (X) 410 determines the validity period based on the current time. For each predetermined period in the past, the normalized timestamp (normalized timestamp The smart contract (X) 410 generates an array (step S402). For each normalized timestamp obtained, the normalized timestamp and the specified wallet Key information is generated from the address U (step S403), and the generated key information is Each record is obtained from array (a) 412a, and the quantities in each obtained record are summed (total ) to calculate the token balance (step S404).

[0095] Then, the smart contract (X) 410 transfers the calculated balance to the user (or administrator). This allows the user (or administrator) to receive the specified wallet address U. You can find the balance of the corresponding expiry token (X) that is still within its validity period. Therefore, it is possible to know the valid balance of each user's expiry token (X).

[0096] Next, we will explain the process of checking the total balance of expiry tokens (X). A party (for example, the token management server 300) receives a smart card from the token management server 300. A request to confirm the total balance is made to the Intact (X) 410 (step S401). The smart contract (X) 410 that receives this request refers to the array (b) 413b. Then, the record is extracted if the time elapsed since the purchase date and time is within a predetermined validity period. The total balance during the validity period is calculated by adding up the purchase amounts included in the extracted records. Calculate.

[0097] Specifically, the smart contract (X) 410 determines the validity period based on the current time. For each predetermined period in the past, the normalized timestamp (normalized timestamp The smart contract (X) 410 generates an array (step S402). For each normalized timestamp, the normalized timestamp and a predetermined dummy Generate key information from the address (step S403), and search for each address that matches the generated key information. Get the records from array (b) 412b and add up (sum up) the quantities in each record. The token balance is calculated by this (step S404).

[0098] The smart contract (X) 410 that performed the calculation in step S41 The administrator (for example, the token management server 300) receives the token. You can find out the total balance of expiry tokens (X) within the validity period.

[0099] As described above, according to the smart contract (X) 410 of this embodiment, information processing The user or administrator of the management system 1 is the user of the expiry-limited token (X) within the validity period. It is possible to know the balance for each transaction and the total balance. The Lact(X) 410 calculates the total balance using the array (b) 413b, but the array (a The total balance may be calculated by adding up the balances of the following: The source code of the smart contract (X) 410 does not include the array (b) 413b. The information of the newly issued token (X) with expiration date is stored only in the array (a) 413a. Just add:

[0100] (5.4) Purchasing goods with an expiry token (X) Figure 11 shows the sequence of operations related to purchasing a product using a token with an expiry date (X). This is a diagram.

[0101] In this operation, a user who is about to purchase a product online or in a brick-and-mortar store uses a terminal device. By operating the terminal device 100, the smart contract (X) 410 Transfer of expiry tokens (X) worth n to the store's externally owned account The transfer request is sent (step S501) as a trigger to start the transfer process. Quest will include information identifying the externally owned account of the user as the transfer source (specifically, , the wallet address of the user's externally owned account (first address U)) and the transfer destination Information identifying the store's externally owned account as a The client's wallet address (second address) is included.

[0102] Upon receiving the transfer request in step S501, the smart contract (X) 410: Using the current time as a reference, normalized time is calculated for each predetermined period in the past equivalent to the validity period. A stamp (normalized timestamp array) is generated (step S502). The tract (X) 410 is a normalized timestamp for each generated normalized timestamp in descending order. Generate key information from the timestamp and the specified first address U (step S50 3) Records that match the generated key information are sequentially retrieved from array (a) 412a. The quantity in each record is sequentially subtracted from the payment amount n (step S504).

[0103] Here, the smart contract determines that the token balance within the validity period is less than the payment amount n. The transaction (X) 410 reverts the transaction due to an exception (step S505 ), an error (transfer not possible) is returned to the terminal device 100 (step S506). In this case, the transfer of the expiry token (X) will not be executed and the user will not be able to purchase the product. becomes.

[0104] On the other hand, if the token balance during the validity period is determined to be equal to or greater than the payment amount n, The transaction (X) 410 deletes records for the payment amount n from the array 413 in order of the oldest purchase date and time. In this case, the records are sorted in order of oldest purchase date and time (step S507). As a result of erasing, the number of tokens remaining in the record to be erased next will be If the settlement amount is less than the amount of X (i.e., if there is a fraction), the smart contract (X ) 410 reduces the token quantity recorded in that record by the remaining payment amount. Perform processing.

[0105] The smart contract (X) 410 stores the expired records in an array 413. Specifically, the time elapsed since the purchase date and time may be a predetermined valid period. Records that exceed this interval are extracted and deleted from the array 413.

[0106] Next, the smart contract (X) 410 issues a transfer request in step S501. An expiry token (X) owned by the externally owned account of the user who sent the Among them, the tokens with expiry date (X) equivalent to the payment amount n will be burned, and the tokens equivalent to the payment amount n will be Currency token (A) is transferred from smart contract (X) 410 to the store's externally owned account. Specifically, the smart contract (X) 41 0 is a token with an expiry date (X) equivalent to the payment amount n from the user's external account. The transfer transaction to the incineration account is recorded on the blockchain (ledger). As a result of this recording, the burned token (X) cannot be used for payment. The smart contract (X) 410 is A transfer transaction indicating the transfer of currency tokens (A) worth n to the store's externally owned account. This allows users to record their transactions in the blockchain (ledger). The currency token (A) of the same value as the paid expiry token (X) is stored in the store's external account. The data will be transferred to the account (step S509).

[0107] Next, the in-store device 200 transfers the currency token (A) for the payment amount n to the externally owned account for the store. You may also confirm that the blockchain has been added to the blockchain exploding account. The in-store device 200 can check the transaction result by using the server or the token management server 300. Confirm that currency tokens (A) worth n transaction amounts have been added to the store's externally owned account. After that, the terminal device 100 is handed over the product. If the device is installed in a retail store, the product will be handed over to the user. obtain.

[0108] In this way, according to the information processing system 1 of this embodiment, the user's externally owned account Purchase amount and purchase date of expiry token (X) for each account (wallet address) is stored in the array (a) 413a, the smart contract (X) 410 When making a payment using a limited token (X), the validity period from the time of receipt (the time of issuance) is taken into consideration. Taking into account the amount of time the user has left, the balance of the tokens (X) can be calculated. Payments are made using tokens (X) with an expiration date that has passed the expiration date from the time of issuance (the time of issue). This will make it possible to invalidate such transactions as part of the blockchain mechanism.

[0109] In addition, when issuing (issuing) a token with an expiration date (X) to a user, Since the currency token (A) is owned by the smart contract (X) 410, the user When a user makes a payment using an expiry token (X), the expiry token paid by the user is Instead of paying the token (X), you can pay the store with the same amount of currency token (A). becomes.

[0110] (6) Other embodiments In the above embodiment, the expiry token (X) is transferred to the smart contract (X) 41. 0, and then transfer the expiry token (X) to the user's externally owned account. However, the transfer was made directly to the outside of the user without going through the smart contract (X) 410. A token with an expiry date (X) may be issued to a co-owner account.

[0111] In the above embodiment, when a transfer request occurs, the expired record is An example of a process for deleting a code from the array 413 has been described, but this deletion may be performed at other times ( For example, at regular intervals, the token management server 300 issues a token with an expiration date (X ) is issued, the user (or administrator) issues an expiry token (X) It may also be conducted at the time of checking the balance of the account.

[0112] The operation flows and operation examples in the above-described embodiments do not necessarily follow the order described in the flow charts. For example, steps in an operation may not be executed in a chronological order as shown in a flow diagram. The operations may be performed in a different order than described, or may be performed in parallel. Some of the steps in the process may be removed and additional steps may be added to the process. .

[0113] A program for causing a computer to execute the operations according to the above-described embodiments may be provided. The program may be recorded on a computer-readable medium. The removable media allows you to install the program on your computer. Here, the computer-readable medium on which the program is recorded is a non-transitory storage medium. The non-transitory storage medium is not particularly limited, but may be, for example, a C The storage medium may be a D-ROM, a DVD-ROM, or the like.

[0114] As used in this disclosure, the terms "based on" and "depending on" are used unless otherwise specified. does not mean "based only on" or "in accordance with" unless the term "based on" is used in a "Based solely on" and "based at least in part on" are both used interchangeably. Similarly, the phrase "in response to" should be interpreted as "only in response to" and "at least partially in response to." " " Also, "include" and "comprise" ) and variations thereof do not mean to include only the listed items, but This means that the item may contain only the items listed, or may contain additional items in addition to the items listed. Additionally, the term "or" as used in this disclosure does not mean exclusive or. In this disclosure, for example, words such as a, an, and the in English are used interchangeably. If articles are added by translation, these articles should be used in a way that is not obvious from the context. Unless otherwise indicated, the plural is included.

[0115] The embodiment has been described in detail above with reference to the drawings, but the specific configuration has not been described above. The invention is not limited to the above, and various design changes can be made within the scope that does not deviate from the gist of the invention. It is possible. [Explanation of symbols]

[0116] 1: Information processing system 5: Network 10: Computer 11: Processing section 12: Storage section 13: Communications Department 14: Input section 15: Output section 100: Terminal device 200: Store equipment 300: Token management server 400: Blockchain Network 410: Smart Contracts 411 :Generation part 412: Management Department 413: Array 414: Calculation section 415: Reception

Claims

1. An information processing system for managing tokens on a blockchain, The issuance time of a token issued within a predetermined period is normalized to a specific time within the predetermined period. A normalized timestamp is generated, and key information based on the normalized timestamp is generating means for generating; Manage an array of records including the key information and the number of issued tokens. and a management means. Information processing system.

2. The generating means generates the key information for the new token when the new token is issued. Generate The management means stores the record that matches the key information generated by the generation means in the Identify it from the array, and add the quantity of the new token to the quantity in the identified record. do The information processing system according to claim 1 .

3. The generating means generates the normalized time stamp for the token when the token is issued. The key is calculated by a predetermined calculation from the timestamp and the address of the recipient of the token. Generate information, The management means is configured to calculate the token balance for each address of the recipient. Managing Arrays The information processing system according to claim 1 .

4. The generating means generates the normalized time stamp for the token when the token is issued. The key information is calculated from the timestamp and a predetermined dummy address by a predetermined calculation. Generate, The management means manages the array for calculating the token balance for all tokens. do The information processing system according to claim 1 .

5. The generating means generates a token using the token for the issuance time expressed in UTC time. A time offset indicating the time difference between the countries where the service is provided is assigned, and the time offset is assigned to the country where the service is provided. The normalization is performed on the given occurrence time. The information processing system according to claim 1 .

6. The token is a token with a set validity period, The array managed by the management means is used to calculate the total number of tokens within the validity period. The token balance calculation unit further includes a calculation unit for calculating the total token balance. The information processing system according to any one of claims 1 to 5.

7. The calculation means calculates the number of past predetermined periods equivalent to the valid period based on the current time. The normalized timestamp is generated for each period, and each normalized timestamp is generated. Generate key information for each group, and identify each record that matches the generated key information from the array. and calculate the token balance by adding up the quantities in each identified record. The information processing system according to claim 6.

8. The token with an expiration date is a token with an expiration date used as a prepaid payment means. and receiving a purchase request for the expiry token specifying a purchase amount and a first address; further comprising a receiving means for receiving the In response to receiving the purchase request, the management means The issuance or transfer of the expiry token to the first address is recorded on the blockchain. and the key information corresponding to the purchase amount and the issue date and time. Update the array for the first address using The information processing system according to claim 6.

9. The receiving means specifies a payment amount, and the first address is used as a transfer source. a transfer request for the expiry-limited token, each of which specifies a second address as a transfer destination; Accept the request, The calculation means, in response to receiving the transfer request, selects the previous The total amount of tokens whose validity period has elapsed since the issuance date and time is the token balance. and calculate it. The management means determines that the token balance is not transferable if the calculated token balance is less than the payment amount. Notify information indicating The information processing system according to claim 8 .

10. When the calculated token balance is equal to or greater than the payment amount, the management means and recording the transfer of the amount of currency tokens to the second address on the blockchain. At the same time, the records for the payment amount are deleted from the array. The information processing system according to claim 9 .

11. Transfer of the currency tokens equivalent to the payment amount to the second address to the blockchain The record of the smart contract recorded on the blockchain is the owner of the smart contract. The transfer of the currency token recorded on the blockchain to the second address is This is done by recording it in the lockchain. The information processing system according to claim 10.

12. When the calculated token balance is equal to or greater than the payment amount, the management means The address of the user is recorded on the blockchain as the owner of the payment amount. Burning time-limited tokens The information processing system according to claim 10.

13. Information processing executed by an information processing system for managing tokens on a blockchain 1. A method comprising: The issuance time of a token issued within a predetermined period is normalized to a specific time within the predetermined period. A normalized timestamp is generated, and key information based on the normalized timestamp is a generating step of generating Manage an array of records including the key information and the number of issued tokens. a management step; Information processing methods.

14. A program for managing tokens on a blockchain, which is installed on a computer 、 The issuance time of a token issued within a predetermined period is normalized to a specific time within the predetermined period. A normalized timestamp is generated, and key information based on the normalized timestamp is a generating step of generating Manage an array of records including the key information and the number of issued tokens. Management steps and program.

Citation Information

Patent Citations

  • An electronic wallet that allows for expiration of cryptocurrencies

    JP2023535605A