Information processing device, information processing method, and information processing program
The described system allows for data migration between blockchains by recording creation time and hash values, ensuring data integrity and existence proof without altering block timestamps.
Patent Information
- Application Number
- PCT/JP2025/016631
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-27
- Filing Date
- 2025-05-02
- Publication Date
- 2025-12-04
AI Technical Summary
Existing systems face challenges in migrating data from one blockchain to another without updating the block generation time, which complicates the proof of data existence and integrity.
An information processing device and method that acquires a block from an old blockchain, records its creation time and hash value in a new blockchain, ensuring the proof of data existence and integrity by comparing timestamps and hash values.
Enables seamless migration between blockchains without altering the block creation time, maintaining the proof of data existence and integrity.
Smart Images

Figure JP2025016631_04122025_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and information processing program
[0001] The disclosed technology relates to an information processing device, an information processing method, and an information processing program.
[0002] Japanese Patent Application Laid-Open Publication No. 2020-178240 describes a data management system composed of multiple lower-level blockchains and an upper-level blockchain. It also describes an aspect in which a computing device for the lower-level blockchain accepts registration of transaction data from a client, generates first block data including a hash value of the data, and requests registration in the upper-level blockchain. It also describes an aspect in which a computing device for the upper-level blockchain creates second block data including a hash value of the first block data for which registration has been requested, and registers the second block data in the upper-level blockchain.
[0003] Japanese Patent Application Laid-Open No. 2017-157926 describes a proof-of-existence service that registers data that is the subject of a user's request for proof of existence into a blockchain. When a user registers a block related to data acquired using a target device into the blockchain of the proof-of-existence service, the block contains a statement indicating that the data already exists and a hash value.
[0004] Japanese Patent Publication No. 2020-166732 describes an information processing device that robustly certifies the time of data along with tamper-proofing, in which a processing unit of the information processing device receives a hash value of the data to be processed, obtains a timestamp based on the received hash value, and registers a timestamp token including the hash value of the data to be processed in a blockchain.
[0005] JP 2022-20604 A describes a distributed electronic contract certification platform that combines an existing electronic contract platform with a blockchain. Specifically, it describes verifying transaction data for evidence preservation transactions in the existing electronic contract platform, and if the verification passes, storing the transaction data on the blockchain. It also describes adding a timestamp to a data block generated based on this transaction data, calculating a hash value for the evidence preservation transaction, and storing the data block and the hash value on the blockchain.
[0006] JP 2022-548168 A describes an aspect in which data fields updated in a private blockchain are hashed and the hash is stored in a public blockchain.
[0007] One way to use blockchain is to provide proof of existence, which guarantees that data existed at a certain point in time and has not been tampered with since then. This can be achieved by writing the hash value of the data in a block within the blockchain.
[0008] However, in practical systems, there are various reasons for wanting to change the blockchain. For example, migrating from a private to a public blockchain platform, or migrating to a blockchain platform with lower block writing fees. In such cases, simply writing the hash value written in the old blockchain to a block in the new blockchain will make it impossible to prove the existence of a block prior to the time the new block was generated.
[0009] In one aspect, the present invention aims to provide an information processing device, an information processing method, and an information processing program that can change the blockchain being used without updating the block generation time.
[0010] A first aspect of the present disclosure is an information processing device having a processor, wherein the processor issues a request to acquire a block to a first blockchain, receives a first block from the first blockchain that includes the creation time and hash value of the first block, and records the creation time of a second block of a second blockchain and the first block in a second block.
[0011] A second aspect of the present disclosure is an information processing method executed by a computer to issue a request to acquire a block to a first blockchain, receive a first block from the first blockchain that includes a generation time and a hash value of the first block, and record the generation time of a second block of a second blockchain and the first block in a second block.
[0012] A third aspect of the present disclosure is an information processing program that causes a computer to execute a process of issuing a request to acquire a block to a first blockchain, receiving a first block from the first blockchain that includes the creation time and hash value of the first block, and recording the creation time of a second block of a second blockchain and the first block in a second block.
[0013] In one aspect, it is possible to change the blockchain used without updating the block creation time.
[0014] FIG. 1 is an explanatory diagram showing an example of the configuration of an information processing system of a first embodiment. FIG. 1 is a schematic block diagram of an example of a computer that functions as a server and a user terminal of this embodiment. FIG. 2 is a block diagram showing the configuration of a server of the first embodiment. FIG. 3 is a block diagram showing the configuration of a server of the first embodiment. FIG. 4 is a diagram for explaining an overview of the process of migrating data from an old blockchain to a new blockchain. FIG. 5 is a diagram showing the structure of a block in a blockchain. FIG. 6 is a diagram showing the structure of a block in a new blockchain. FIG. 7 is a flowchart showing data migration processing in a smart contract. FIG. 8 is an explanatory diagram showing an example of the configuration of an information processing system of a second embodiment. FIG. 9 is a diagram for explaining an overview of the process of migrating data from an old blockchain to a new blockchain. FIG. 10 is a diagram showing the structure of a block in a new blockchain. FIG. 11 is a block diagram showing the configuration of a server of the second embodiment. FIG. 12 is a flowchart showing data migration processing in a smart contract.
[0015] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that the same or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.
[0016] [First embodiment] <System configuration> Fig. 1 is an explanatory diagram showing an example configuration of an information processing system 2. In this embodiment, an information processing system 2 that performs data migration 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 communicatively connected via a network N. The server 10 is also an example of an information processing device.
[0017] The target data may be any data, such as data related to medical care or inventory management.
[0018] The server 10 is, for example, a server computer capable of various information processing and sending and receiving information. Note that the device equivalent to the server 10 is not limited to a server computer, and may be, for example, a personal computer. In this embodiment, the server 10 functions as an information processing device that performs data migration using multiple blockchains.
[0019] 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 read data from the blockchain.
[0020] In this embodiment, the server 10 performs data migration using multiple blockchains, but the local user terminal 20 may perform data migration using multiple blockchains. In other words, the distinction between the two is for convenience, and a single computer may perform a series of processes.
[0021] <Configuration of Server According to This Embodiment> FIG. 2 is a block diagram showing the hardware configuration of the server 10 according to this embodiment.
[0022] 2, the server 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.
[0023] The CPU 11 is a central processing unit that executes various programs and controls each component. That is, the CPU 11 reads programs from the ROM 12 or the storage 14 and executes the programs using the RAM 13 as a work area. The CPU 11 controls the above components and performs various arithmetic processing in accordance with the programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores an information processing program for performing data migration. The information processing program may be a single program, or may be a group of programs consisting of multiple programs or modules.
[0024] The ROM 12 stores various programs and various data. The RAM 13 temporarily stores programs or data as a working area. The storage 14 is configured with an HDD (Hard Disk Drive) or an SSD (Solid State Drive) and stores various programs including the operating system and various data.
[0025] The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to input various types of information.
[0026] The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may be a touch panel type and function as the input unit 15.
[0027] The communication interface 17 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
[0028] Next, a description will be given of the functional configuration of the server 10. Figures 3 and 4 are block diagrams showing examples of the functional configuration of the server 10.
[0029] Functionally, the server 10 includes a data recording unit 21, a migration control unit 23, and a verification unit 25, as shown in FIGS.
[0030] The data recording unit 21 accepts data to be written to the blockchain 50A from the user terminal 20 and records it in the blockchain 50A.
[0031] Each of the blockchains 50A and 50B is constructed by a blockchain network consisting of multiple computer terminals, and is a chronological link of blocks 51A and 51B, each containing data and an ID for identifying the data. The data recording unit 21 can prevent data tampering by writing the data to block 51A on the blockchain 50A every time data is written.
[0032] The migration control unit 23 performs the following processing when migrating data from the old blockchain 50A to the new blockchain 50B.
[0033] The migration control unit 23 issues a request to acquire a block to the blockchain 50A and receives, as an old block, block 51A containing the block's creation time and hash value from the blockchain 50A. The migration control unit 23 records the block 51A and the creation time of the block in the blockchain 50B in block 51B, which is a new block.
[0034] Specifically, while the old blockchain, blockchain 50A, is running, the migration control unit 23 starts an existence verification smart contract on blockchain 50B, and issues a request to acquire a block to blockchain 50A based on the existence verification smart contract (see (1) in Figure 5), receives block 51A containing the block's creation time and hash value from blockchain 50A (see (2) in Figure 5), and records the creation time and block 51A of block 51B of blockchain 50B in block 51B (see (3) in Figure 5).
[0035] The block 51A received from the blockchain 50A contains the hash value (list of hash values) of the data whose existence is to be proven and information on the time when the block was generated.
[0036] Examples of the data structure of each blockchain are shown below. However, because the explanation here focuses on the essential parts of this disclosure, the data structure differs from that of blockchains actually used, such as Ethereum.
[0037] A blockchain block contains one or more transactions and one block creation time, and data is stored in the transaction, as shown in Figure 6. In a blockchain used for data proof of existence, the transaction data contains the hash value of the data whose existence you want to prove, as shown in Figure 6.
[0038] The block written to the new blockchain will be as shown in Figure 7. The new blockchain will include the entire block from the old blockchain as transaction data. In other words, the new blockchain will include one or more transactions from the old blockchain and the time of creation of one block as transaction data, and will also include the hash value of the data whose existence you want to prove as transaction data.
[0039] In this embodiment, the case where the unit of transfer is a block has been described as an example, but the unit of transfer may be a transaction unit included in a block.
[0040] The verification unit 25 receives the time of verification and the hash value of the data to be verified, and compares the time of verification with the generation time of the old block recorded in block 51B. The verification unit 25 compares the hash value of the old block recorded in block 51B with the hash value of the data to be verified.
[0041] <Configuration of User Terminal According to This Embodiment> FIG. 2 is a block diagram showing the hardware configuration of the user terminal 20 according to this embodiment.
[0042] 2, the user terminal 20, like the server 10, 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. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.
[0043] The ROM 12 or the storage 14 stores a program for requesting data writing and data reading from the server 10. This program may be a single program, or may be a group of programs made up of multiple programs or modules.
[0044] The input unit 15 accepts data to be written to the blockchain 50A. For example, medical data or inventory data is accepted. The input unit 15 also accepts read requests to read data from the blockchains 50A and 50B.
[0045] When the CPU 11 receives data to be written to the blockchain 50A, it requests the server 10 to write the data.
[0046] When the CPU 11 receives a read request to read data from the blockchains 50A and 50B, it requests the server 10 to read the data.
[0047] <Operation of Server 10 According to This Embodiment> Next, the operation of the server 10 according to this embodiment will be described.
[0048] First, when using the blockchain 50A, when the server 10 receives a request from the user terminal 20 to write data to the blockchain 50A, the server 10 writes the data to the blockchain 50A.
[0049] Next, the server 10 receives a data migration instruction to change the blockchain being used from the blockchain 50A to the blockchain 50B. At this time, the server 10 performs data migration control by having the CPU 11 read out an information processing program from the ROM 12 or the storage 14, deploy it in the RAM 13, and execute it.
[0050] In data migration control, the server 10 activates an existence verification smart contract on the blockchain 50B and instructs data migration.
[0051] In the existence verification smart contract activated on the blockchain 50B, the data migration process shown in Figure 8 is performed.
[0052] First, in step S100, a request to obtain block information is issued to the blockchain 50A.
[0053] In step S102, a block 51A including the block generation time and hash value is received as an old block from the blockchain 50A.
[0054] In step S104, the block creation time of the block 50B and the block 51A are recorded in the new block 51B, and the data migration process is terminated.
[0055] The above data migration process is repeatedly performed for each block 51A of the blockchain 50A.
[0056] Next, when the server 10 receives a data verification instruction to verify the proof of existence of the data transferred from the blockchain 50A to the blockchain 50B, the server 10 acquires the block 51B in which the data to be verified is recorded from the blockchain 50B. The data verification instruction includes the generation time of the data to be verified and the hash value of the data to be verified.
[0057] The server 10 then receives the creation time of the data to be verified and the hash value of the data to be verified, and compares the creation time of the old block recorded in the acquired block 51B with the creation time of the data to be verified. The server 10 also compares the hash value of the old block recorded in block 51B with the hash value of the data to be verified.
[0058] Then, if the generation time of the old block recorded in the acquired block 51B is before the generation time of the data to be verified, and the hash value of the old block recorded in block 51B matches the hash value of the data to be verified, the verification is determined to be successful.
[0059] In this way, when verifying the proof of existence of data, it is checked whether the block of the old blockchain recorded in the new blockchain existed before the time the data to be verified was created. The purpose is to confirm that the block in which the data to be verified is recorded has not been tampered with since the time to be verified.
[0060] The creation time of the data to be verified is the time when the data to be verified was written to the old blockchain. If you want to verify data included in transactions up to XX / XX / XX XX o'clock, it means that time.
[0061] There are also blocks that record the hash value of the data and the time the block was created. By comparing the hash value in the block with the hash value generated from the data to be verified, it is possible to confirm that the data has not been tampered with since its creation.
[0062] As described above, the information processing system according to this embodiment issues a request to acquire a block to the old blockchain and receives the old block, which includes the block's creation time and hash value, from the old blockchain. The information processing system records the block's creation time and the old block in the new block. In this way, it is possible to change the blockchain being used without updating the block's creation time.
[0063] Second Embodiment Next, an information processing system according to a second embodiment will be described. Note that parts having the same configuration as those in the first embodiment will be assigned the same reference numerals and descriptions thereof will be omitted.
[0064] The second embodiment differs from the first embodiment in that a server certificate and the RFC6962 Certificate Transparency mechanism are used to prove the existence of the old blockchain after it has been stopped.
[0065] 9 is an explanatory diagram showing an example of the configuration of an information processing system 202 according to the second embodiment. In this embodiment, the information processing system 202 includes a server 210, a user terminal 20, an access server 250, a certificate authority 260, and a public log server 270. The server 210, the user terminal 20, the access server 250, the certificate authority 260, and the public log server 270 are communicatively connected via a network N. The server 210 is an example of an information processing device.
[0066] The access server 250 is a server for accessing data (blocks) in the old blockchain. The access server 250 has a server certificate issued by a certificate authority 260. The server certificate is, for example, an SSL / TLS server certificate.
[0067] The certificate authority 260 issues a server certificate and registers the issuance history in the public log server 270 in accordance with the RFC6962 Certificate Transparency mechanism.
[0068] The public log server 270 is a server that stores and makes public the certificate issuance history of the certificate authority 260 .
[0069] Functionally, the server 210 is configured to include a data recording unit 21, a migration control unit 223, and a verification unit 225, as shown in FIGS.
[0070] The migration control unit 223 performs the following processing when migrating data from the old blockchain 50A to the new blockchain 50B.
[0071] The migration control unit 223 issues a request to the access server 250 to acquire a block from the blockchain 50A, and receives block 51A from the blockchain 50A via the access server 250. The migration control unit 223 records the generation time of block 51B of the blockchain 50B, block 51A, and the server certificate of the access server 250 in block 51B.
[0072] Specifically, prior to migration from the old blockchain 50A to the new blockchain 50B, the access server 250 is launched. At the time of launch, a server certificate is obtained from the certificate authority 260 ((1) in FIG. 10). At that time, the certificate authority 260 registers the issuance log in the public log server 270 in accordance with the RFC6962 Certificate Transparency specifications ((2) in FIG. 10).
[0073] The migration control unit 223 then activates the existence verification smart contract on the blockchain 50B. The existence verification smart contract issues a request to the access server 250 to obtain block information ((3) in FIG. 10). The access server 250 obtains block 51A from the blockchain 50A ((4) in FIG. 10). This block 51A contains the hash value (list of hash values) of the data whose existence is to be proven and information on the time when the block was generated. The access server 250 sends this block information to the existence verification smart contract ((5) in FIG. 10).
[0074] The existence verification smart contract writes block information, a list of data hash values and the block generation time, and the server certificate of the access server 250 to the blockchain 50B ((6) in Figure 10). The block information serves as proof that certain data existed at a certain point in time. On the other hand, by comparing the server certificate written to the blockchain 50B with the certificate issuance history of the public log server 270, it is possible to prove the existence of a means of accessing the blockchain 50A itself.
[0075] The data structure of the new blockchain in this embodiment is shown in Figure 11. Transaction data of the new blockchain includes a block of the old blockchain and the server certificate of the access server 250 that acquired the block.
[0076] As a countermeasure for the case where the access server 250 cannot be trusted, multiple entities (e.g., companies) may each set up an access server 250, and the existence verification smart contract may access each access server 250, confirm that there are no discrepancies in the results, and write them into a block.
[0077] The verification unit 225 receives the time of the verification target and the hash value of the data to be verified, and obtains the server certificate of the access server 250 from the public log server 270. The verification unit 225 compares the server certificate of the access server 250 recorded in block 51B with the obtained server certificate of the access server 250. The verification unit 225 also compares the creation time of the old block recorded in block 51B with the time of the verification target. The verification unit 225 also compares the hash value of the old block recorded in block 51B with the hash value of the data to be verified.
[0078] <Operation of Server 210 According to This Embodiment> Next, the operation of the server 210 according to this embodiment will be described.
[0079] First, when using the blockchain 50A, when the server 210 receives a data write request from the user terminal 20, it writes the data to the blockchain 50A.
[0080] Next, the server 210 receives a data migration instruction to change the blockchain being used from the blockchain 50A to the blockchain 50B. At this time, the server 210 performs data migration control by having the CPU 11 read out an information processing program from the ROM 12 or the storage 14, deploy it in the RAM 13, and execute it.
[0081] In data migration control, the server 210 activates an existence verification smart contract on the blockchain 50B to instruct data migration.
[0082] In the existence verification smart contract activated on the blockchain 50B, processing similar to the data migration processing shown in Figure 8 above is performed.
[0083] In step S100, a request to acquire block information is issued to the access server 250.
[0084] In step S102, block 51A including the block generation time and hash value is received as an old block from the blockchain 50A via the access server 250.
[0085] In step S104, the creation time of the block of the blockchain 50B, the block 51A, and the server certificate of the access server 250 are recorded in the new block 51B.
[0086] Next, the server 210 receives a data verification instruction to verify the proof of existence of the data transferred from the blockchain 50A to the blockchain 50B. At this time, the server 210 performs the data verification process shown in FIG. 13 by causing the CPU 11 to read an information processing program from the ROM 12 or the storage 14, expand it into the RAM 13, and execute it.
[0087] First, in step S200, the CPU 11, functioning as the verification unit 225, acquires the block 51B in which the data to be verified is recorded from the blockchain 50B.
[0088] In step S202, the CPU 11, functioning as the verification unit 225, determines whether or not a block 51B in which the data to be verified is recorded exists. If a block 51B in which the data to be verified is recorded does not exist, the verification is determined to have failed, and the data verification process is terminated. On the other hand, if a block 51B in which the data to be verified is recorded exists, the process proceeds to step S204.
[0089] In step S204, the CPU 11, functioning as the verification unit 225, determines whether the data to be verified has been carried over from the old blockchain, blockchain 50A. If the data to be verified has been carried over from the old blockchain, blockchain 50A, the process proceeds to step S206. On the other hand, if the data to be verified has not been carried over from the old blockchain, blockchain 50A, the process proceeds to step S214.
[0090] In step S206, the CPU 11 functions as the verification unit 225 and verifies with the public log server 270 the server certificate of the access server 250 recorded in the block 51B in which the data to be verified is recorded.
[0091] In step S208, the CPU 11 functions as the verification unit 225 and determines whether the server certificate of the access server 250 recorded in the block 51B in which the data to be verified is present on the public log server 270. If the server certificate of the access server 250 recorded in the block 51B in which the data to be verified is not present on the public log server 270, the verification is determined to be unsuccessful, and the data verification process is terminated. On the other hand, if the server certificate of the access server 250 recorded in the block 51B in which the data to be verified is present on the public log server 270, the process proceeds to step S210.
[0092] In step S210, the CPU 11 functions as the verification unit 225 and checks the hash value recorded in the block 51B in which the data to be verified is recorded, and the time of generation of the old block.
[0093] In step S212, the CPU 11, as the verification unit 225, determines whether the generation time of the old block recorded in the block 51B in which the data to be verified is recorded is before the generation time of the data to be verified, and whether the hash value recorded in the block 51B matches the hash value of the data to be verified.
[0094] If the creation time of the old block recorded in block 51B in which the data to be verified is later than the creation time of the data to be verified, or if the hash value recorded in block 51B does not match the hash value of the data to be verified, the verification is determined to be unsuccessful and the data verification process is terminated.On the other hand, if the creation time of the old block recorded in block 51B in which the data to be verified is earlier than the creation time of the data to be verified and the hash value recorded in block 51B matches the hash value of the data to be verified, the verification is determined to be successful and the data verification process is terminated.
[0095] In step S214, the CPU 11 functions as the verification unit 225 and checks the hash value and block generation time recorded in the block 51B in which the data to be verified is recorded.
[0096] In step S216, the CPU 11, as the verification unit 225, determines whether the generation time of the block recorded in the block 51B in which the data to be verified is recorded is before the generation time of the data to be verified, and whether the hash value recorded in the block 51B matches the hash value of the data to be verified.
[0097] If the creation time of the block recorded in block 51B in which the data to be verified is later than the creation time of the data to be verified, or if the hash value recorded in block 51B does not match the hash value of the data to be verified, the verification is determined to be unsuccessful and the data verification process is terminated.On the other hand, if the creation time of the block recorded in block 51B in which the data to be verified is earlier than the creation time of the data to be verified and the hash value recorded in block 51B matches the hash value of the data to be verified, the verification is determined to be successful and the data verification process is terminated.
[0098] As described above, the information processing system according to the second embodiment issues a request to the access server to acquire a block from the old blockchain, and receives the old block from the old blockchain via the access server. The information processing system records the creation time of the block in the new blockchain, the old block, and the access server's server certificate in the new block. In this way, it is possible to change the blockchain being used without updating the creation time of the block.
[0099] <Modifications> The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.
[0100] For example, the various processes executed by the CPU after reading the software (program) in each of the above embodiments may be executed by various processors other than the CPU. Examples of processors in this case include dedicated electrical circuits, such as programmable logic devices (PLDs) (such as field-programmable gate arrays (FPGAs)) whose circuit configuration can be changed after manufacture, and application-specific integrated circuits (ASICs) that are processors having a circuit configuration specifically designed to execute specific processes. Furthermore, data migration control and data verification processing may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). Furthermore, the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
[0101] In addition, in each of the above embodiments, the information processing program is pre-stored (installed) in the storage 14, but this is not limiting. The program may be provided in a form stored on a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.
[0102] The program of the present application can be provided as a program product. The program product includes any product for providing the program. For example, the program product includes a program provided over a network such as the Internet, and a non-transitory computer-readable recording medium such as a CD-ROM or DVD on which the program is stored.
[0103] The embodiments disclosed herein are to be considered as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.
[0104] The following additional notes are provided regarding the above-described embodiments.
[0105] (Supplementary Note 1) An information processing device having a processor, wherein the processor issues a request to acquire a block to a first blockchain, receives a first block from the first blockchain, the first block including a creation time and a hash value of the first block, and records the creation time of a second block of a second blockchain and the first block in a second block.
[0106] (Supplementary Note 2) The information processing device according to Supplementary Note 1, wherein the processor: activates a smart contract on the second blockchain; issues a request to the first blockchain to acquire a block based on the smart contract; receives the first block from the first blockchain, the first block including the creation time and hash value of the first block; and records the creation time of the second block of the second blockchain and the first block in the second block.
[0107] (Supplementary Note 3) The information processing device according to Supplementary Note 1 or 2, wherein the processor receives the first block from the first blockchain via an access server, and records the generation time of the second block of the second blockchain, the first block, and the server certificate of the access server in the second block.
[0108] (Supplementary Note 4) The information processing device according to any one of Supplementary Notes 1 to 3, wherein the processor receives a time to be verified and a hash value of the data to be verified, compares a generation time of the first block recorded in the second block with the time to be verified, and compares a hash value of the first block recorded in the second block with a hash value of the data to be verified.
[0109] (Supplementary Note 5) The information processing device according to Supplementary Note 3, wherein the processor: receives the time to be verified and the hash value of the data to be verified; acquires the server certificate of the access server from a public log server; compares the server certificate of the access server recorded in the second block with the acquired server certificate of the access server; compares the generation time of the first block recorded in the second block with the time to be verified; and compares the hash value of the first block recorded in the second block with the hash value of the data to be verified.
[0110] (Supplementary Note 6) An information processing method executed by a computer, which includes: issuing a request to acquire a block to a first blockchain; receiving a first block from the first blockchain, the first block including a creation time and a hash value of the first block; and recording the creation time of a second block of a second blockchain and the first block in a second block.
[0111] (Supplementary Note 7) An information processing program that causes a computer to execute the following processes: issue a request to acquire a block to a first blockchain; receive a first block from the first blockchain, the first block including the creation time and hash value of the first block; and record the creation time of a second block of a second blockchain and the first block in a second block.
[0112] The disclosure of Japanese Application No. 2024-085684 is incorporated herein by reference in its entirety.
[0113] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
Claims
1. An information processing device having a processor, wherein the processor issues a request to acquire a block to a first blockchain, receives a first block from the first blockchain, the first block including the creation time and hash value of the first block, and records the creation time of a second block of a second blockchain and the first block in a second block.
2. The information processing device of claim 1, wherein the processor: activates a smart contract on the second blockchain; issues a request to the first blockchain to acquire a block based on the smart contract; receives the first block from the first blockchain, which includes the creation time and hash value of the first block; and records the creation time of the second block of the second blockchain and the first block in the second block.
3. The information processing device according to claim 1, wherein the processor receives the first block from the first blockchain via an access server, and records the generation time of the second block of the second blockchain, the first block, and the server certificate of the access server in the second block.
4. The information processing device according to claim 1, wherein the processor receives the time to be verified and the hash value of the data to be verified, compares the time to be verified with the generation time of the first block recorded in the second block, and compares the hash value of the first block recorded in the second block with the hash value of the data to be verified.
5. The information processing device of claim 3, wherein the processor: receives the time to be verified and the hash value of the data to be verified; acquires the server certificate of the access server from a public log server; compares the server certificate of the access server recorded in the second block with the acquired server certificate of the access server; compares the generation time of the first block recorded in the second block with the time to be verified; and compares the hash value of the first block recorded in the second block with the hash value of the data to be verified.
6. An information processing method executed by a computer, which includes: issuing a request to acquire a block to a first blockchain; receiving a first block from the first blockchain, the first block including the creation time and hash value of the first block; and recording the creation time of a second block of a second blockchain and the first block in a second block.
7. An information processing program that causes a computer to execute the following process: issue a request to acquire a block to a first blockchain; receive a first block from the first blockchain that includes the creation time and hash value of the first block; and record the creation time of a second block of a second blockchain and the first block in a second block.
Citation Information
Patent Citations
Testing platform for blockchain networks
JP2020502621A
Data backup method, computer program and computing device
JP2021521556A
Method and device of processing data for blockchain, and blockchain system
US20210200750A1
Transaction management device, transaction management program, and transaction management method
WO2021064852A1