Information processing device, method, and program
The information processing apparatus for blockchain systems addresses the issue of unintended transaction order by using order values to determine the latest transactions, ensuring accurate and intended updates within the blockchain.
Patent Information
- Application Number
- PCT/JP2024/036145
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-29
- Filing Date
- 2024-10-09
- Publication Date
- 2025-06-05
AI Technical Summary
In blockchain systems, the order of transaction incorporation into blockchain nodes does not always match the order of transaction requests, leading to unintended updates and uncertainty about the latest state of values.
An information processing apparatus that obtains transactions with associated order values, determines whether the transaction is newer than a previously processed transaction using the order values, and updates the blockchain accordingly, ensuring that only the latest transactions are applied.
This solution prevents unintended updates by ensuring that transactions are applied in the intended order, maintaining the integrity and accuracy of data within the blockchain.
Smart Images

Figure JP2024036145_05062025_PF_FP_ABST
Abstract
Description
Information processing device, method and program
[0001] The present disclosure relates to an information processing device, a method, and a program.
[0002] In a blockchain that manages information using multiple blocks, various functions can be realized by programs (hereinafter referred to as smart contracts) that run on the blockchain nodes that make up the blockchain. In the process in which a blockchain node executes a smart contract in response to a request to realize a transaction, the transaction is imported into each blockchain node of the blockchain, and the data stored in each block is updated according to the transaction. Various methods for controlling the execution of transactions in such blockchains have been proposed (see, for example, JP 2022-040601 A, JP 2023-501788 A, and JP 2021-136031 A).
[0003] However, in a blockchain, the order in which transactions are incorporated into a blockchain node may not necessarily match the order in which requests are made to the blockchain node. For example, suppose there are two transactions, A and B, and a blockchain user sends transaction A before transaction B. In this case, transaction B may be incorporated into the blockchain node before transaction A.
[0004] In this way, if the order in which transactions are sent differs from the order in which they are imported, the transactions may be imported into the blockchain node in an order unintended by the user. In this case, if a smart contract has the function of updating a value, it becomes impossible to determine whether the value is the latest state intended by the user or whether it is out of date as a result of the transaction order being changed.
[0005] The present disclosure has been made in consideration of the above circumstances, and aims to prevent transactions in a blockchain from being updated in an order not intended by the user.
[0006] The information processing device according to the present disclosure is an information processing device in an information processing system that uses a blockchain that manages data in blocks, and includes at least one processor. The processor: acquires a first transaction including a first key, a first value corresponding to the first key, and a first order value that represents a predetermined order associated with the first key; uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updates the information stored in the block using the first transaction.
[0007] In addition, in the information processing device according to the present disclosure, the processor may acquire, determine, and update the first transaction using a smart contract.
[0008] In addition, in the information processing device according to the present disclosure, if it is determined that the first transaction is older than the second transaction, the information stored in the block may be prohibited from being updated by the first transaction.
[0009] In addition, in the information processing device according to the present disclosure, the processor may determine whether the first transaction is newer than the second transaction by determining whether the first order value is greater than the second order value.
[0010] In the information processing device according to the present disclosure, the first order value and the second order value may include a date and a time.
[0011] The information processing method disclosed herein is an information processing method in an information processing system that uses a blockchain that manages data in blocks, in which a computer acquires a first transaction that includes a first key, a first value corresponding to the first key, and a first order value that represents a predetermined order associated with the first key, uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value, and if it is determined that the first transaction is newer than the second transaction, updates the information stored in the block using the first transaction.
[0012] The information processing program according to the present disclosure is an information processing program for an information processing system using a blockchain that manages data in blocks, and causes a computer to execute the following steps: acquiring a first transaction including a first key, a first value corresponding to the first key, and a first order value that represents a predetermined order associated with the first key; using the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updating the information stored in the block with the first transaction.
[0013] According to the present disclosure, it is possible to prevent values in a blockchain from being updated in an order not intended by the user.
[0014] FIG. 1 is a diagram showing a schematic configuration of an information processing system to which an information processing device according to an embodiment of the present disclosure is applied. FIG. 2 is a diagram showing a hardware configuration of an information processing device according to this embodiment. FIG. 3 is a block diagram showing a functional configuration of an information processing device according to this embodiment. FIG. 4 is a diagram showing data stored in blocks constituting a blockchain node.
[0015] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. FIG. 1 is a diagram illustrating a schematic configuration of an information processing system to which an information processing device according to an embodiment of the present disclosure is applied. In the information processing system 1 illustrated in FIG. 1, a network is formed using a blockchain that manages data in blocks. In each block, information is managed by a blockchain node 2. Each blockchain node 2 is managed by a constituent organization with independent authority. A smart contract 3 is applied to each blockchain node 2. The smart contract 3 is a program that is executed in response to a transaction in accordance with specified rules shared among users who are participants in the blockchain. The smart contract is an example of an information processing program according to the present disclosure.
[0016] Blockchain users can access the blockchain network from their own terminal devices 5 and use the blockchain.
[0017] The blockchain node 2 is composed of devices such as a workstation, a server computer, a personal computer, etc. The devices include the information processing device according to this embodiment.
[0018] FIG. 2 is a diagram showing the hardware configuration of devices constituting a blockchain node 2 according to this embodiment, i.e., an information processing device according to this embodiment. As shown in FIG. 2, the information processing device 10 includes a CPU (Central Processing Unit) 11, non-volatile storage 13, and memory 16 as a temporary storage area. The information processing device 10 also includes a display 14 such as a liquid crystal display, an input device 15 such as a keyboard and a mouse, and a network I / F (Interface) 17 connected to a network (not shown). The CPU 11, storage 13, display 14, input device 15, memory 16, and network I / F 17 are connected to a bus 18. The CPU 11 is an example of a processor in the present disclosure.
[0019] The storage 13 is realized by a hard disk drive (HDD), a solid state drive (SSD), a flash memory, etc. The storage 13 as a storage medium stores the information processing program 12 installed in the information processing device 10. The CPU 11 reads the information processing program 12 from the storage 13, expands it in the memory 16, and executes the expanded information processing program 12, i.e., the smart contract 3.
[0020] The information processing program 12 is stored in a state accessible from the outside in a storage device of a server computer connected to a network or in a network storage, and is downloaded and installed in response to a request into a computer constituting the information processing device 10. Alternatively, the information processing program 12 is recorded on a recording medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Read Only Memory) and distributed, and is installed into a computer constituting the information processing device 10 from the recording medium.
[0021] In this embodiment, information specified by a transaction in key-value format is stored in each block that makes up the blockchain, i.e., in the blockchain node 2. In this embodiment, transaction data consists of a key, a value, and an order value that indicates the order, and the value and order value are stored in association with the key in the blockchain node 2. In a transaction, a set of key, value, and order value is defined as a variable, and the information processing program 12 is deployed in the blockchain node 2 so that the value and order value for a certain key can be updated multiple times.
[0022] In this embodiment, the order value is an integer, and the larger the value, the more recent the transaction. The order value may be, for example, a sequential number, version information of a document or slip, or a date and time.
[0023] 3 is a block diagram showing the functional configuration of the information processing device 10. As shown in FIG. 3, the information processing device 10 includes an acquisition unit 21, a determination unit 22, and a processing unit .
[0024] The acquisition unit 21 acquires transactions sent to the blockchain from the terminal device 5 of a blockchain user.
[0025] 4 is a diagram showing data stored in a blockchain node. As shown in Fig. 4, values V11, V21, and V31 and sequence values JV11, JV21, and JV31 are stored in block 30 for three keys K1 to K3, respectively.
[0026] Here, a fee is required for a user to conduct a transaction. When multiple transactions for the same key are sent to blockchain node 2, the transaction with the higher fee is usually processed first. Here, if the fee for the transaction sent later is higher than the fee for the transaction sent earlier, the transaction sent later will be processed before the transaction sent earlier. As a result, the data of the transaction sent later is stored in blockchain node 2 first. In this case, the transaction sent earlier is processed next, but the data of the transaction sent earlier is older than the data of the transaction sent later. Therefore, when the data of the transaction sent earlier is processed, the data stored in blockchain node 2 will no longer be the latest data.
[0027] This embodiment has been made to solve such problems. To this end, the determination unit 22 determines whether the transaction (referred to as T1) acquired by the acquisition unit 21 is the most recent transaction. Specifically, the determination unit 22 acquires an order value for transaction T1. The determination unit 22 also acquires a processed transaction (referred to as T2) that has already been stored in the blockchain node 2 in association with the key included in transaction T1. In the following description, a processed transaction refers to a transaction regarding data that has been stored in the blockchain node 2 in association with the same key as the key of the acquired transaction.
[0028] The determination unit 22 determines whether the order value for transaction T1 is greater than the order value for processed transaction T2. For example, if the key of the acquired transaction T1 is K1, the determination unit 22 determines whether the order value JV14 of the acquired transaction T1 is greater than the order value JV11 of the processed transaction for key K1. The acquired transaction T1 is an example of a first transaction of the present disclosure, and the processed transaction is an example of a second transaction of the present disclosure.
[0029] If the determination by the determination unit 22 is positive, the processing unit 23 updates the data for the already stored processed transaction, i.e., the value and order value, with the data for the keys that make up the acquired transaction T1, i.e., the value and order value, thereby updating the information stored in the blockchain node 2. On the other hand, if the determination by the determination unit 22 is negative, the processing unit 23 prohibits updates by the acquired transaction, and as a result, the transaction is not updated.
[0030] Next, the processing performed in this embodiment will be described. Fig. 5 is a flowchart showing the processing performed in this embodiment. When the acquisition unit 21 acquires a transaction sent from the terminal device 5, processing of the information processing program 12, i.e., the smart contract, begins.
[0031] First, the determination unit 22 determines whether the acquired transaction is the latest transaction (step ST1). If step ST1 is positive, the data about the processed transaction stored in the blockchain node 2 is updated with the acquired transaction data (step ST2), and the processing ends. If step ST1 is negative, the processing unit 23 prohibits updating with the acquired transaction data (step ST3), and as a result, the processing ends without updating the data about the processed transaction stored in the blockchain node 2.
[0032] In this way, in this embodiment, it is determined whether the acquired transaction T1 is newer than the processed transaction T2, and if the determination is affirmative, the acquired transaction updates the data stored in the blockchain node 2. As a result, the latest data is always stored in the blockchain node 2. This makes it possible to prevent transactions from being updated in an order not intended by the user in the blockchain.
[0033] In the above embodiment, the magnitude of the order values is compared to determine whether the acquired transaction is the latest, but this is not limited to this. The result of an operation using the two order values to be compared may be used to determine whether the acquired transaction is the latest. For example, if the order value is a multiple of 10, the order value may be stored as is in the blockchain, and the latest status of the transaction may be determined based on the stored order value and the order value included in the transaction. If the order value of the transaction is not a multiple of 10, the data may not be updated by that transaction.
[0034] Furthermore, in the above embodiment, for example, the information processing device 10 may use the following various processors as the hardware structure of processing units that perform various processes, such as the acquisition unit 21, the determination unit 22, and the processing unit 23. The various processors include, as described above, a CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, as well as dedicated electrical circuits, such as programmable logic devices (PLDs) that are processors whose circuit configuration can be changed after manufacture, such as FPGAs (Field Programmable Gate Arrays), and ASICs (Application Specific Integrated Circuits), which are processors with a circuit configuration designed specifically for performing specific processes.
[0035] A single processing unit may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs or a combination of a CPU and an FPGA).Furthermore, multiple processing units may be configured with a single processor.
[0036] Examples of configuring multiple processing units with a single processor include: first, a form in which one processor is configured with a combination of one or more CPUs and software, as typified by computers such as client and server computers, and this processor functions as multiple processing units; second, a form in which a processor is used to realize the functions of an entire system including multiple processing units with a single IC (Integrated Circuit) chip, as typified by systems on chips (SoCs); in this way, various processing units are configured using one or more of the above-mentioned various processors as a hardware structure.
[0037] Furthermore, more specifically, the hardware structure of these various processors can be an electric circuit that combines circuit elements such as semiconductor elements.
[0038] The following are supplementary clauses of the present disclosure. (Supplementary clause 1) An information processing device in an information processing system using a blockchain that manages data in blocks, comprising at least one processor, wherein the processor: acquires a first transaction including a first key, a first value corresponding to the first key, and a first order value representing a predetermined order associated with the first key; uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction stored in the block that includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updates information stored in the block using the first transaction. (Supplementary clause 2) The information processing device according to Supplementary clause 1, wherein the processor acquires the first transaction, makes the determination, and updates the information stored in the block using a smart contract. (Supplementary Item 3) The information processing device according to Supplementary Item 1 or 2, wherein, if it is determined that the first transaction is older than the second transaction, the information processing device prohibits the first transaction from updating information stored in the block. (Supplementary Item 4) The information processing device according to any one of Supplementary Items 1 to 3, wherein the processor determines whether the first transaction is newer than the second transaction by determining whether the first order value is greater than the second order value. (Supplementary Item 5) The information processing device according to Supplementary Item 4, wherein the first order value and the second order value include a date and a time.(Supplementary Item 6) An information processing method in an information processing system using a blockchain that manages data in blocks, comprising: a computer acquires a first transaction including a first key, a first value corresponding to the first key, and a first order value that represents a predetermined order associated with the first key; uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updates information stored in the block using the first transaction. (Supplementary Item 7) An information processing program in an information processing system using a blockchain that manages data in blocks, the information processing program causing a computer to execute the following steps: acquiring a first transaction including a first key, a first value corresponding to the first key, and a first order value that represents a predetermined order related to the first key; using the first order value, determining whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updating information stored in the block with the first transaction.
[0039] REFERENCE SIGNS LIST 1 Information processing system 2 Node 3 Smart contract 5 Terminal device 10 Information processing device 11 CPU 12 Information processing program 13 Storage 14 Display 15 Input device 16 Memory 17 Network I / F 18 Bus 21 Acquisition unit 22 Determination unit 23 Processing unit 30 Block
Claims
1. An information processing device in an information processing system using a blockchain that manages data in blocks, comprising at least one processor, wherein the processor: acquires a first transaction including a first key, a first value corresponding to the first key, and a first order value representing a predetermined order associated with the first key; uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updates information stored in the block by the first transaction.
2. The information processing device according to claim 1, wherein the processor performs the acquisition, determination and update of the first transaction by a smart contract.
3. The information processing device according to claim 1 or 2, wherein if it is determined that the first transaction is older than the second transaction, the first transaction is prohibited from updating the information stored in the block.
4. The information processing device according to claim 1, wherein the processor determines whether the first transaction is newer than the second transaction by determining whether the first order value is greater than the second order value.
5. The information processing device according to claim 4, wherein the first order value and the second order value include a date and a time.
6. An information processing method in an information processing system using a blockchain that manages data in blocks, comprising: a computer acquires a first transaction including a first key, a first value corresponding to the first key, and a first order value representing a predetermined order associated with the first key; uses the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updates information stored in the block with the first transaction.
7. An information processing program in an information processing system using a blockchain that manages data in blocks, the information processing program causing a computer to execute the following steps: acquiring a first transaction including a first key, a first value corresponding to the first key, and a first order value representing a predetermined order associated with the first key; using the first order value to determine whether the acquired first transaction is newer than a processed second transaction that is stored in the block and includes a second value corresponding to the first key and the second order value; and if it is determined that the first transaction is newer than the second transaction, updating information stored in the block with the first transaction.
Citation Information
Patent Citations
Transaction system
JP2015191307A
Information processing device and program
JP2021077366A