Information processing device, information processing method, and information processing program
A dual-blockchain system enhances verification speed and integrity by writing and verifying data in pairs across two blockchains, addressing the inefficiencies of single-blockchain systems in detecting tampering.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FUJIFILM CORP
- Filing Date
- 2025-12-19
- Publication Date
- 2026-07-02
AI Technical Summary
Existing blockchain verification systems face challenges in balancing verification speed with data integrity, particularly in scenarios where frequent verification is required to detect tampering, which can lead to delays or missed detections.
Implementing a dual-blockchain system where data is written and verified in pairs across two blockchains, allowing for simultaneous verification of primary and secondary data sets to enhance speed without compromising integrity.
This approach significantly increases the speed of evidence verification while maintaining data integrity by leveraging redundant data verification across two blockchains, effectively detecting tampering without significant delays.
Smart Images

Figure JP2025044669_02072026_PF_FP_ABST
Abstract
Description
Information Processing Apparatus, Information Processing Method, and Information Processing Program
[0001] The disclosed technology relates to an information processing apparatus, an information processing method, and an information processing program.
[0002] In WO2021 / 064852, regarding a first blockchain that stores a plurality of transactions in which first information and second information are associated, a plurality of second information in the plurality of transactions is registered in a database in group units based on the first information, and a hash value obtained by hashing the plurality of second information in group units is registered in a second blockchain. A mode of comparing the hash value of one or more second information obtained from the database with the hash value corresponding to the second information obtained from the second blockchain to perform forgery verification of the one or more second information obtained from the database is described.
[0003] In Japanese Patent Application Laid-Open No. 2021-92851, in order to detect forgeries in both the central server of the first blockchain and the central server of the second blockchain, the second verification information obtained from the central server of the first blockchain is compared with the first verification information obtained from each of the plurality of participant servers of the second blockchain, and the second verification information obtained from the central server of the second blockchain is compared with the first verification information obtained from each of the plurality of participant servers of the first blockchain. A mode is described.
[0004] In Japanese Patent Application Laid-Open No. 2021-96650, data is recorded in a blockchain, and based on sensor data indicating a plurality of measurement values by a sensor and trace data generated based on at least some of the plurality of measurement values, a first verification process for verifying whether the measurement values by the sensor have been forged is performed. When it is determined in the first verification process that the measurement values by the sensor have not been forged, a second verification process for verifying whether the reported measurement values according to the sampling rate are transmitted from the trace recording device is executed based on the sampling rate, the reported measurement values from the plurality of measurement values, and the sensor data. A mode is described.
[0005] In blockchain, the speed of verification can sometimes be a problem. For example, assuming that verification takes 0.2 seconds per data point, verifying 300 data points would take one minute. On the other hand, reducing the frequency of verification can lead to delays in detecting tampering or make it difficult to identify tampered data.
[0006] In one aspect, the objective is to provide an information processing device, an information processing method, and an information processing program that can increase the speed of evidence verification without losing data integrity.
[0007] A first aspect of this disclosure is an information processing device including a processor, wherein the processor reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which a second data, which is a copy of the first data, is recorded in a single block for each single second data, and performs evidence verification of the second data.
[0008] A second aspect of this disclosure is an information processing method, wherein a computer reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which the second data, which is a copy of the first data, is recorded in a single block for each single second data, and performs evidence verification of the second data.
[0009] A third aspect of this disclosure is an information processing program that causes a computer to read at least two or more first data from a single block of a first blockchain, perform evidence verification to detect tampering with the first data, and, if tampering is detected, read the second data from a second blockchain in which the second data, which is a copy of the first data, is recorded in a single block for each single second data, and perform evidence verification of the second data.
[0010] In one respect, it can increase the speed of audit trail verification without sacrificing data integrity.
[0011] This is an explanatory diagram showing an example configuration of the information processing system of this embodiment. This is a schematic block diagram of an example of a computer that functions as a server and a user terminal in this embodiment. This is a block diagram showing the configuration of the server in this embodiment. This is a flowchart showing the first write process in the server. This is a flowchart showing the second write process in the server. This is a flowchart showing the read process in the server.
[0012] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. In each drawing, identical or equivalent components and parts are given the same reference numerals. Furthermore, the dimensional ratios in the drawings are exaggerated for illustrative purposes and may differ from actual ratios.
[0013] <System Configuration> Figure 1 is an explanatory diagram showing an example configuration of the information processing system 2. In this embodiment, the information processing system 2 that performs data processing using multiple blockchains will be described. The information processing system 2 includes a server 10 and a user terminal 20. The server 10 and the user terminal 20 are connected via a network N. The server 10 is an example of an information processing device.
[0014] The data to be used can be any type of data, including health checkup data, medical data, and inventory management data.
[0015] Server 10 is, for example, a server computer capable of various information processing and information transmission / reception. Note that the device corresponding to Server 10 is not limited to a server computer; for example, it may be a personal computer or the like. In this embodiment, Server 10 functions as an information processing device that records on a blockchain and reads from the blockchain.
[0016] The user terminal 20 is a general-purpose computer such as a personal computer. In this embodiment, the user terminal 20 functions as a device that requests the server 10 to write data to the blockchain and to read data from the blockchain.
[0017] In this embodiment, the server 10 records to and reads from the blockchain, but the local user terminal 20 may also record to and read from the blockchain. In other words, the distinction between the two is for convenience, and a single computer may perform the entire process.
[0018] <Server Configuration According to This Embodiment> Figure 2 is a block diagram showing the hardware configuration of the server 10 according to this embodiment.
[0019] As shown in Figure 2, the server 10 includes a CPU (Central Processing Unit) 11, ROM (Read Only Memory) 12, RAM (Random Access Memory) 13, storage 14, input unit 15, display unit 16, and communication interface (I / F) 17. Each component is connected to the others via a bus 19 so that they can communicate with each other.
[0020] The CPU 11 is a central processing unit that executes various programs and controls various parts. Specifically, the CPU 11 reads a program from the ROM 12 or storage 14 and executes the program using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various calculations according to the program stored in the ROM 12 or storage 14. In this embodiment, the ROM 12 or storage 14 stores an information processing program for data processing. The information processing program may be a single program or a group of programs composed of multiple programs or modules.
[0021] ROM 12 stores various programs and data. RAM 13 temporarily stores programs or data as a working area. Storage 14 consists of an HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores various programs, including the operating system, and various data.
[0022] The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used for various types of input.
[0023] The display unit 16 is, for example, a liquid crystal display and displays various information. The display unit 16 may also function as an input unit 15 by employing a touch panel system.
[0024] The communication interface 17 is an interface for communicating with other devices, and standards such as Ethernet®, FDDI, and Wi-Fi® can be used.
[0025] Next, the functional configuration of server 10 will be described. Figure 3 is a block diagram showing an example of the functional configuration of server 10.
[0026] Functionally, as shown in Figure 3, the server 10 is configured to include a first recording unit 21, a second recording unit 23, a first reading unit 25, a first verification unit 27, a second reading unit 29, a second verification unit 31, and a storage database (DB) 33.
[0027] When the first recording unit 21 receives a data writing request from the user terminal 20, it writes at least two or more data items together into a single block 51A of the blockchain 50A. At least two or more data items are an example of the first data.
[0028] The second recording unit 23 writes data that is a copy of the data written by the first recording unit 21 to a single block 51B of the blockchain 50B, for each individual data. The copied data is an example of the second data.
[0029] Each of the blockchains 50A and 50B is constructed by a blockchain network consisting of multiple computer terminals, and links blocks 51A and 51B, which contain data and an ID to identify the data, in chronological order. The first recording unit 21 and the second recording unit 23 prevent data tampering by writing the data to blocks 51A and 51B on the blockchains 50A and 50B each time they receive a write request.
[0030] Blockchain 50A is an example of the first blockchain, and Blockchain 50B is an example of the second blockchain. Furthermore, Blockchains 50A and 50B may be the same blockchain.
[0031] When the first reading unit 25 receives a data reading request, it reads at least two or more data items, including the requested data, from a single block 51A of the blockchain 50A.
[0032] At this time, when the first reading unit 25 receives a request to read a data group consisting of multiple data, it reads at least two or more data from a single block 51A of the blockchain 50A. At least two or more data include data included in the data group.
[0033] The first verification unit 27 performs evidence verification to detect tampering with the data read by the first reading unit 25.
[0034] If the first verification unit 27 detects tampering, the second reading unit 29 reads data from a single block 51B of the blockchain 50B that is a copy of the data read by the first reading unit 25.
[0035] The second verification unit 31 performs evidence verification to detect tampering with the data read by the second reading unit 29.
[0036] <Configuration of the user terminal according to this embodiment> Figure 2 above is a block diagram showing the hardware configuration of the user terminal 20 according to this embodiment.
[0037] As shown in FIG. 2 above, the user terminal 20 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17, similar to the server 10. Each component is connected so as to be able to communicate with each other via a bus 19.
[0038] A program for requesting data writing and data reading to the server 10 is stored in the ROM 12 or the storage 14. This program may be a single program or a group of programs composed of a plurality of programs or modules.
[0039] The input unit 15 receives data to be written to the blockchains 50A and 50B. For example, the input unit 15 receives medical examination data. Also, the input unit 15 receives a read request for reading data from the blockchains 50A and 50B.
[0040] When the CPU 11 receives data to be written to the blockchains 50A and 50B, it requests data writing to the server 10.
[0041] When the CPU 11 receives a read request for reading data from the blockchains 50A and 50B, it requests data reading to the server 10.
[0042] <Operation of Server 10 According to the Present Embodiment> Next, the operation of the server 10 according to the present embodiment will be described.
[0043] First, when the server 10 receives a data writing request to the blockchains 50A and 50B from the user terminal 20, the CPU 11 reads an information processing program from the ROM 12 or the storage 14 and expands and executes it in the RAM 13. Thereby, the first writing process shown in FIG. 4 and the second writing process shown in FIG. 5 are performed.
[0044] In the first writing process, first, in step S100, the second recording unit 23 calculates a hash value for each single piece of data to be written.
[0045] In step S102, the second recording unit 23 uses the calculated hash value to write the evidence of the data to be written into a single block 51B of the blockchain 50B for each single piece of data, and ends the first writing process.
[0046] In the second writing process, first, in step S110, the first recording unit 21 stores the data to be written in the storage database 33 as unwritten data.
[0047] In step S112, the first recording unit 21 determines whether the number of unwritten data is equal to or greater than a threshold value. If the number N of unwritten data is less than the threshold value, the second writing process ends. On the other hand, if the number N of unwritten data is equal to or greater than the threshold value, the process proceeds to step S114.
[0048] In step S114, the first recording unit 21 calculates the hash value by aggregating the N pieces of unwritten data.
[0049] In step S116, the first recording unit 21 uses the calculated hash value to write the evidence of the aggregated N pieces of unwritten data into a single block 51A of the blockchain 50A.
[0050] In step S118, the first recording unit 21 stores the N pieces of written data in the storage database 33 as written data, and ends the second writing process.
[0051] Note that N, which is the unit when writing evidence in the second writing process, may be determined by the user, may be determined by the data provider, or may be determined by a third party. Also, in the second writing process, if the number of unwritten data is less than N and a certain period of time has elapsed, the data that does not reach N may be aggregated and written into the blockchain.
[0052] Next, when the server 10 receives a data read request from the user terminal 20, the server 10 performs the read process shown in Figure 6 by having the CPU 11 read an information processing program from the ROM 12 or storage 14, expand it into the RAM 13, and execute it.
[0053] In the read process, first, in step S120, when the first read unit 25 receives a data read request, it reads at least two or more data, including the data in question, from a single block 51A of the blockchain 50A.
[0054] In step S122, the first verification unit 27 performs evidence verification to detect tampering with the data read by the first reading unit 25.
[0055] In step S124, the second reading unit 29 determines whether or not tampering has been detected by the first verification unit 27. If tampering is detected by the first verification unit 27, the process proceeds to step S126. On the other hand, if tampering is not detected by the first verification unit 27, the reading process is terminated.
[0056] In step S126, the second reading unit 29 reads data from a single block 51B of the blockchain 50B that is a copy of the data read by the first reading unit 25.
[0057] In step S128, the second verification unit 31 performs evidence verification to detect tampering with the data read by the second reading unit 29, and then terminates the reading process.
[0058] In the above reading process, when the first reading unit 25 receives a request to read a data group consisting of multiple data, in step S120, when reading from a single block 51A of the blockchain 50A, it repeatedly performs the following: That is, the first reading unit 25 repeatedly reads from a single block 51A of the blockchain 50A a group of at least two or more data, including the data included in the data group, until all the data included in the data group has been read. Furthermore, each time the process in step S120 is performed, the processes from step S122 onward are also repeated.
[0059] Furthermore, for data that is not written to a single block 51A of blockchain 50A, steps S120 to S124 above may be omitted, and the data may be read from a single block 51B of blockchain 50B in single data units, and evidence verification may be performed.
[0060] Based on the above, the information processing system 2 according to this embodiment reads at least two or more first data from a single block of blockchain 50A and performs evidence verification to detect tampering with the first data. If tampering is detected, the information processing system 2 reads the second data, which is a copy of the first data, from blockchain 50B where each single second data is recorded in a single block, and performs evidence verification of the second data. In this way, the execution speed of evidence verification can be increased without losing data integrity.
[0061] Furthermore, considering health checkup data, if users intend to utilize this data for data utilization, the sheer volume of data in health checkups can make verification of each individual data point a challenge in terms of execution speed. Also, with health checkup data, a slight delay in detecting tampering is not a fatal problem. Therefore, in this embodiment, two methods are used to write the evidence to the blockchain. In the first method, an evidence is written for each individual data point. On the other hand, in the second method, an evidence is written for every N data points.
[0062] <Modifications> It should be noted that the present invention is not limited to the embodiments described above, and various modifications and applications are possible without departing from the spirit of the invention.
[0063] For example, in the above embodiment, we have described two methods for writing evidence to the blockchain: a method of writing evidence for each individual data item and a method of writing evidence for every N data items. However, the invention is not limited to these methods. For example, the method of writing evidence for each individual data item and the method of writing evidence for every N data items, and N 2There are three ways to write evidence to the blockchain: writing evidence for each individual data item, and so on. In this case, evidence verification should be performed sequentially, starting with the largest unit. Specifically, N 2 After verifying the written evidence for each individual data item, the written evidence for each N data item should be verified, and then the written evidence for each individual data item should be verified. This makes blockchain-based evidence verification possible, balancing integrity with the speed of evidence verification.
[0064] Furthermore, the first and second write operations described above may be executed on a smart contract.
[0065] Furthermore, the various processes that the CPU reads and executes in each of the above embodiments may be executed by various processors other than the CPU. Examples of such processors include dedicated electrical circuits, which are processors with circuit configurations specifically designed to execute particular processes, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices) whose circuit configuration can be changed after manufacturing, and ASICs (Application Specific Integrated Circuits). The first write process, the second write process, and the read process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA). More specifically, the hardware structure of these various processors is an electrical circuit that combines circuit elements such as semiconductor elements.
[0066] Furthermore, although the above embodiments describe a configuration in which the information processing program is pre-stored (installed) in the storage 14, the invention is not limited to this. The program may be provided in a form stored on a non-transitor storage medium such as a CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), or USB (Universal Serial Bus) memory. Alternatively, the program may be provided in a form downloaded from an external device via a network.
[0067] The program of this application can be provided as a program product. A program product includes all forms of products for providing a program. For example, a program product includes a program provided via a network such as the Internet, and non-temporary computer-readable recording media such as CD-ROMs and DVDs on which the program is stored.
[0068] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims, not in the sense described above, and all modifications within the sense and scope equivalent to the claims are intended.
[0069] The following additional information is disclosed regarding the embodiments described above.
[0070] (Note 1) An information processing device including a processor, wherein the processor reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which a copy of the first data is recorded in a single block for each single second data, and performs evidence verification of the second data.
[0071] (Note 2) The information processing apparatus according to Note 1, wherein the processor further writes the at least two first data sets together into a single block of the first blockchain, and writes the second data sets, which are copies of the first data sets, into a single block of the second blockchain for each single second data set.
[0072] (Note 3) The information processing apparatus according to Note 1 or 2, wherein the processor further receives a request to read a data group consisting of multiple data, and when reading from a single block of the first blockchain, reads at least two or more first data, including the data included in the data group, from a single block of the first blockchain.
[0073] (Note 4) An information processing method in which a computer reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which the second data, which is a copy of the first data, is recorded in a single block for each single second data, and performs evidence verification of the second data.
[0074] (Note 5) An information processing program that causes a computer to read at least two or more first data from a single block of the first blockchain, perform evidence verification to detect tampering with the first data, and, if tampering is detected, read the second data from the second blockchain, where each single second data is recorded in a single block, and perform evidence verification of the second data.
[0075] The disclosure of Japanese Patent Application 2024-232515 is incorporated herein by reference in its entirety.
[0076] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually described as being incorporated by reference.
Claims
1. An information processing device including a processor, wherein the processor reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which a copy of the first data is recorded in a single block for each single second data, and performs evidence verification of the second data.
2. The information processing apparatus according to claim 1, wherein the processor further writes the at least two first data sets together into a single block of the first blockchain, and writes the second data sets, which are copies of the first data sets, into a single block of the second blockchain for each single second data set.
3. The information processing apparatus according to claim 1, wherein the processor further receives a request to read a data group consisting of multiple data, and when reading from a single block of the first blockchain, reads at least two or more first data, including the data included in the data group, from the single block of the first blockchain.
4. An information processing method in which a computer reads at least two or more first data from a single block of a first blockchain, performs evidence verification to detect tampering with the first data, and if tampering is detected, reads the second data from a second blockchain in which the second data, which is a copy of the first data, is recorded in a single block for each single second data, and performs evidence verification of the second data.
5. An information processing program that causes a computer to read at least two or more first data from a single block of a first blockchain, perform evidence verification to detect tampering with the first data, and, if tampering is detected, read the second data from a second blockchain in which a copy of the first data is recorded in a single block for each single second data, and perform evidence verification of the second data.