Information management system and information management method

JP2025030322AActive Publication Date: 2025-03-07PARAMIX CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023135508
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-23
Publication Date
2025-03-07
Estimated Expiration
2043-08-23

Smart Images

  • Figure 2025030322000001_ABST
    Figure 2025030322000001_ABST
Patent Text Reader

Abstract

To provide an information management system and an information management method capable of improving scalability while ensuring data security.SOLUTION: An information management system 1 includes a blockchain network 5 for maintaining a distributed ledger 23 containing a plurality of blocks 60, a distributed storage 29 provided outside the blockchain network 5, an input I / F 33 for causing the distributed storage 29 to store generated transactions 50, calculating a hash value of the transaction 50, and storing the calculated hash value in a transaction box 65 as a stored hash value 70, and an output I / F 34 for calculating the hash value for the transaction 50 stored in the distributed storage 29 and collating the calculated hash value with the stored hash value 70 stored in the transaction box 65.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information management system and an information management method. [Background technology]

[0002] In the information management systems described in Patent Documents 1 and 2, a consortium-type network is formed between multiple companies that have business relationships, and in this network, records of transactions (transaction records) between these multiple companies are shared and managed. Specifically, the information management devices between these multiple companies are connected in a blockchain network, and the transaction records between the information management devices are managed by the blockchain. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2022-182767 A [Patent Document 2] Patent Publication No. 2023-45520 Summary of the Invention [Problem to be solved by the invention]

[0004] However, the memory of a blockchain network has an upper limit on the amount of data (block size) that can be written to one transaction box. The reason is that storing a large amount of data in a blockchain network is not necessarily desirable in terms of the burden on the blockchain network and processing speed. Therefore, the information management systems described in Patent Documents 1 and 2 have a problem in that they cannot handle large amounts of transaction records in a blockchain network.

[0005] There is a demand for handling large volumes of data (transaction records), which means there is a demand for improving scalability while ensuring the security of data.

[0006] The present invention has been made under such a background, and has an object to provide an information management system and an information management method that can improve scalability while ensuring the safety of data. [Means for solving the problem]

[0007] An embodiment of the present invention provides an information management system and an information management method having the following features.

[0008] 1. A blockchain network that holds a distributed ledger including a block having a transaction box, a hash value box, and a previous hash value box, the blockchain network storing a hash value of data stored in the transaction box in the hash value box, and storing a value stored in the hash value box of a previous block in the previous hash value box; A distributed storage provided outside the blockchain network; an input unit that, in generating a transaction, stores the generated transaction in the distributed storage, calculates a hash value of the transaction, and stores the calculated hash value as a stored hash value in the transaction box of the block chain network; an output unit that, at the output of the transaction, calculates a hash value for the transaction stored in the distributed storage, compares the calculated hash value with the stored hash value stored in the transaction box, and outputs the transaction stored in the distributed storage based on the comparison result.

[0009] The distributed storage may be referred to as off-chain, and the transaction box may be referred to as on-chain.

[0010] According to this configuration, when generating a transaction, the input unit stores the generated transaction in the distributed storage. There is no upper limit on the capacity of data stored in the distributed storage. Therefore, even if a transaction is large, the transaction can be stored in the distributed storage.

[0011] In addition, when generating a transaction, the input unit stores a hash value of the generated transaction in the transaction box as a stored hash value. Then, when outputting the transaction, the output unit calculates a hash value for the transaction stored in the distributed storage. The calculated hash value is compared with the stored hash value stored in the transaction box.

[0012] Then, when the transaction is output, the hash value of the transaction stored in the distributed storage is compared with the stored hash value, making it possible to compare the transaction at the time of generation with the transaction at the time of output. This makes it possible to accurately detect any tampering with the transaction stored in the distributed storage. Therefore, it is possible to improve scalability while preventing tampering with data (transactions).

[0013] In particular, in this configuration, the stored hash value to be compared is stored in the transaction box. Therefore, it is possible to prevent the stored hash value from being tampered with, and therefore the reliability of the stored hash value can be increased. Since the stored hash value with high reliability is used for comparison, it is possible to more reliably prevent transaction tampering.

[0014] In addition, the capacity of a transaction hash value is a predetermined small number of bytes (256 bytes). The upper limit of the block size is, for example, 100 MB, which is significantly larger than this predetermined small number of bytes (256 bytes). Therefore, regardless of the upper limit of the block size, the stored hash value can be stored in the transaction box.

[0015] Furthermore, if the stored hash value were to be stored in an area separate from the transaction box, it would be necessary to provide an area for storing the stored hash value separate from the transaction box. In one embodiment of the present invention, the stored hash value is stored in the transaction box, so there is no need to provide a separate area for storing the stored hash value.

[0016] 2. Item 2. An information management system as described in item 1, wherein the output unit outputs the transaction stored in the distributed storage when the hash value calculated from the transaction stored in the distributed storage matches the stored hash value stored in the transaction box.

[0017] According to this configuration, if the hash value calculated for a transaction stored in the distributed storage matches the stored hash value stored in the transaction box, the transaction stored in the distributed storage is deemed not to have been tampered with, and the transaction is output.

[0018] On the other hand, if the hash value calculated for the transaction stored in the distributed storage does not match the stored hash value stored in the transaction box, it is determined that the transaction stored in the distributed storage has been tampered with, and the transaction may not be output. In this case, it is possible to prevent the tampered transaction from being output to the outside (external system).

[0019] 3. An information management method executed in an information management system including a blockchain network that holds a distributed ledger including a block having a transaction box, a hash value box, and a previous hash value box, the blockchain network storing a hash value of data stored in the transaction box in the hash value box and storing a value stored in the hash value box of a previous block in the previous hash value box, and a distributed storage provided outside the blockchain network, In generating a transaction, an input step of storing the generated transaction in the distributed storage, calculating a hash value of the transaction, and storing the calculated hash value as a stored hash value in the transaction box of the blockchain network; a comparison step of calculating a hash value for the transaction stored in the distributed storage in the output of the transaction, and comparing the calculated hash value with the stored hash value stored in the transaction box; and an output step of outputting the transactions stored in the distributed storage based on a result of the matching in the matching step. [Brief description of the drawings]

[0020] [Figure 1A] FIG. 1A is a diagram showing a schematic configuration of an information management system according to an embodiment of the present invention. [Figure 1B] FIG. 1B is a diagram showing a schematic configuration of the information management system. [Diagram 2] FIG. 2 is a diagram for explaining the electrical configuration of an information management device included in the information management system. [Diagram 3] FIG. 3 is a diagram for explaining the data structure handled in a blockchain network. [Figure 4]FIG. 4 is a diagram illustrating the data structure of the distributed ledger stored in the information management device. [Diagram 5] FIG. 5 is an illustrative view for explaining the flow of a transaction generation process in the information management device. [Figure 6] FIG. 6 is an illustrative view for explaining a flow of output processing of a transaction in the information management device. [Figure 7] FIG. 7 is a flowchart for explaining the flow of the output process. [Figure 8] FIG. 8 is a diagram for explaining another electrical configuration of the information management device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

[0022] 1A and 1B are diagrams showing a schematic configuration of an information management system 1 according to an embodiment of the present invention. FIG. 2 is a diagram for explaining the electrical configuration of an information management device 2 included in the information management system 1. The information management system 1 is a system for forming a consortium-type (or private-type) network N among multiple participants (e.g., companies) and sharing and managing transaction records (e.g., transaction records of transactions between companies). In FIGS. 1A and 1B, an example is given in which the multiple participants forming the network N are companies, and the multiple companies are four companies: Company A, Company B, Company C, and Company D. Transaction records are shared in the network N formed by the information management system 1.

[0023] Referring to Figures 1A and 1B, the information management system 1 includes multiple information management devices 2 that function as servers for participants (companies) and a management information management device 4 that functions as a server for managing the information management system 1.

[0024] With reference to FIG. 1A and FIG. 1B, the multiple information management devices 2 belong to different companies. Specifically, the multiple information management devices 2 include a first information management device 2A belonging to company A, a second information management device 2B belonging to company B, a third information management device 2C belonging to company C, and a fourth information management device 2D belonging to company D. The components included in the first to fourth information management devices 2A to 2D are the same as each other. In FIG. 1A, the components included in the first information management device 2A are shown in detail, and the illustration of the components included in the second to fourth information management devices 2B to 2D is simplified. A plurality of information processing devices (users) are connected to each of the information management devices 2A to 2D. Each of the information management devices 2A to 2D may be an on-premise type or a cloud type.

[0025] 1A and 1B, each information management device 2 (information management device 2A to information management device 2D) is installed with blockchain platform software. The blockchain platform software includes a smart contract for functioning as a peer node (peer node 24) that constructs a P2P (Peer to Peer) type blockchain network 5. The blockchain network 5 constructed by this smart contract is a consortium type (or private type) network in which the sharing range of transaction records (transactions 50 (see FIG. 3)) is limited to predetermined parties. The above blockchain platform may be, for example, Hyperledger Fabric (registered trademark). In Hyperledger Fabric (registered trademark), a smart contract is called a chain code.

[0026] With reference to FIG. 1A and FIG. 2, each of the information management devices 2A to 2D includes a control device 21. The control device 21 is typically a computer and includes a processor and a memory. The control device 21 is configured to execute various functions by the processor executing a program stored in the memory. The control device 21 of each of the information management devices 2 functions as a peer node (indicated as "peer" in FIG. 1A, FIG. 2, FIG. 5, and FIG. 6) by the functioning of the introduced smart contract. A blockchain network 5 in which a plurality of participants (companies) participate is formed by a plurality of peer nodes 24 communicating with each other via a network N. The control device 21 functioning as a peer node 24 verifies a given transaction record (transaction), accesses data stored in each block 60 (see FIG. 4) of a distributed ledger 23 held in the information management device 2 including the peer node 24, and writes the verified transaction to each block 60.

[0027] In addition, as a result of the introduced smart contract functioning, the control device 21 of each information management device 2 also functions as a certification authority 25. The certification authority 25 registers information on the peer nodes 24 and the like and issues certificates to participants in the blockchain network 5.

[0028] In addition, in this embodiment, the processor of the control device 21 executes a smart contract, so that the control device 21 of each information management device 2 also functions as an orderer node (shown as "orderer" in Figures 1A, 1B, 2, 5 and 6) 26.

[0029] Only the information management device 2 permitted to participate in the network N can participate in the blockchain network 5. The example of FIG. 1A and FIG. 1B shows a state in which four information management devices 2 (2A to 2D) are permitted to participate in the blockchain network 5. The example of FIG. 1A and FIG. 1B shows a case in which the number of companies permitted to participate (participating companies) is four, but this is only an example, and it goes without saying that the number of participating companies may be five or more. In this specification, companies may include not only private companies but also public companies. In addition, the blockchain network 5 may be formed not only between multiple companies but also between multiple companies including a regulatory agency (regulatory authority).

[0030] All transaction records relating to transactions between the multiple participating companies (Company A to Company D), such as transaction records of deposit processing, withdrawal processing, order processing, ordering processing, warehousing processing, shipping processing, and audit approval processing, are input / output to each information management device 2. These transaction records are stored in the individual distributed ledgers 23 described below in the blockchain network 5. In other words, they are commonly managed in the distributed ledgers 23 held in the multiple information management devices 2. The above-mentioned blockchain network 5 can be used in various fields. Specifically, this network N can be used for food trust using traceability, medical / pharmaceutical products, certification of origin, manufacturing quality / history, and trade logistics procedures.

[0031] 1A and 2, control device 21 includes a web management unit (shown as "WEB management unit" in FIGS. 1A and 2) 30, a session management unit 31, a management system I / F 32, an input I / F (input unit) 33, and an output I / F (output unit) 34. Web management unit 30, session management unit 31, management system I / F 32, input I / F 33, and output I / F 34 are included in information management unit 7.

[0032] 1A and 2, each information management device 2 further includes a storage device 22. The storage device 22 is a non-volatile memory that retains memory even when power is not supplied. The storage device 22 may be, for example, a magnetic storage device such as a hard disk drive. The storage device 22 of each information management device 2 retains a distributed ledger 23. The contents of the distributed ledger 23 retained in the storage devices 22 of the multiple information management devices 2 are retained to be identical to each other.

[0033] The storage device 22 includes a database 35. The database 35 is included in the information management unit 7.

[0034] In each information management device 2, the peer node 24, the certificate authority 25, and the orderer node 26 of the control device 21, and the distributed ledger 23 of the storage device 22 are included in the block chain unit 6. The control device 21 further includes a database management system (shown as "DBMS" in Figs. 1A and 2) 27 as the block chain unit 6. The database management system saves the latest state as a result of executing a transaction in a state DB 61 (see Fig. 4) included in the distributed ledger 23.

[0035] In each information management device 2, the block chain unit 6 and the information management unit 7 are connected via an API (Application Programming Interface) 8.

[0036] The information management device 2 includes a control device 21 and a storage device 22, as well as a communication device 36 and a distributed storage 29.

[0037] The communication device 36 is configured to be capable of communicating with an external system 100. The external system 100 may be another device connected to the information management device 2 including the communication device 36, may be an information management device 2 different from the information management device 2 including the communication device 36, or may be a management information management device 4. The communication between the communication device 36 and the external system 100 may use a wide area network (WAN) such as the Internet, a local area network (LAN), an Ethernet (registered trademark) network, or the like. The communication between the communication device 36 and the external system 100 may be wired communication or wireless communication.

[0038] The distributed storage 29 is a non-volatile memory that can retain memory even when power is not supplied. The distributed storage 29 may be, for example, a magnetic storage device such as a hard disk drive. The distributed storage 29 is provided outside the blockchain unit 6 (i.e., outside the blockchain network 5). In this embodiment, the distributed storage 29 stores transactions 50 (see FIG. 3) created in the information management device 2 including the distributed storage 29 in a separate manner.

[0039] 1B, the management information management device 4 is a server belonging to a management company that operates the network N. The management information management device 4 manages the network N. The management information management device 4 functions as an administrator of the blockchain network 5.

[0040] Referring to FIG. 1B, the management information management device 4 includes a control device 41 and a storage device 42. The control device 41 has the same configuration as the control device 21. The storage device 42 has the same configuration as the storage device 22. Therefore, in FIG. 1B, the same reference symbols as those of the control device 21 and the storage device 22 (see FIG. 1A and FIG. 2) are used for each part of the control device 41 and the storage device 42, respectively, and the description is omitted. In addition, the management information management device 4 includes a block chain unit 6 and an information management unit 7. In the management information management device 4, the block chain unit 6 and the information management unit 7 are connected via an API 8 (see FIG. 2). The management information management device 4 includes a communication device 36 (see FIG. 2). The management information management device 4 may or may not include a distributed storage 29 (see FIG. 2). The management information management device 4 may be an on-premise type or a cloud type.

[0041] In this embodiment, the processor of the control device 41 executes a smart contract, so that the control device 41 of the management information management device 4 functions as the orderer node 26. In addition, the processor of the control device 41 of the management information management device 4 executes a smart contract, so that the control device 41 of the management information management device 4 also functions as the certificate authority 25.

[0042] 1A, both the information management device 2 (i.e., the information management devices 2A to 2D) and the management information management device 4 have the orderer node 26, but it is sufficient for there to be at least one orderer node 26 in the information management system 1. For example, the orderer node 26 may be provided only in the management information management device 4, and the orderer node 26 may not be provided in the information management devices 2A to 2D.

[0043] The control device 41 functioning as the certification authority 25 approves a participation application from the peer node 24 of the information management device 2 that wishes to participate in the blockchain network 5. In addition, the control device 41 functioning as the certification authority 25 issues a certificate and a private key to the peer node 24. The certification authority 25 issues a certificate and the like to the peer node 24 after verifying the ID and the like of the peer node 24. In order for the peer node 24 to transmit a new transaction record (transaction) to the orderer node 26, the transaction record needs to be signed using the issued certificate and private key. As a result, the management information management device 4 accepts a participation application from each information management device 2 to the network N and permits each information management device 2 to participate in the network N. Then, only the information management device 2 permitted to participate in the network N by the management information management device 4 can participate in the network N.

[0044] Fig. 3 is a diagram for explaining the data structure handled in the blockchain network 5. As shown in Fig. 3, in the blockchain network 5, transaction record data is handled in units of transactions 50. The transaction 50 includes a key 51, which is identification information of the transaction 50, and transaction data 52, which is the data portion of the transaction 50 and corresponds to the key 51.

[0045] 4 is a diagram for explaining the data structure of the distributed ledger 23 held in the information management device 2. The distributed ledger 23 includes a plurality of blocks 60 in which transaction records are written, and a state DB 61 that stores the latest state after a transaction is executed. Transaction records are written in each block 60. In addition, the latest state as a result of executing a transaction is stored in the state DB 61 in association with each block 60. The control device 21 can refer to / update data in the state DB 61 via a smart contract.

[0046] The smart contracts are the same and managed by each peer node 24 in the blockchain network 5. These smart contracts are mutually consistent so that smart contracts executed on any peer node 24 will produce the same result.

[0047] In the example of FIG. 4, the block 60 registered as the nth (n: natural number) block among the multiple blocks 60 is called block 60. n Then, the block to be registered is block 60. n+1 Then, the block 60 to be registered is set as block 60 n+2 Let us assume that.

[0048] Each block 60 includes a transaction box 65, a hash value box 66, and a previous hash value box 67. The transaction box 65 is a storage unit for storing transaction records.

[0049] As will be described later, in this embodiment, transaction box 65 holds a hash value of transaction 50 as a transaction record, rather than transaction 50 itself. Specifically, the hash value held in transaction box 65 is a hash value of the entire transaction 50.

[0050] The hash value box 66 holds a hash value of data held in the transaction box 65 of the block 60 that contains the hash value box 66. The previous hash value box 67 holds a hash value of data held in the transaction box 65 of the block 60 that was registered immediately before the block 60 that contains the hash value box 66.

[0051] Specifically, Block 60 n+2 The value in the previous hash value box 67 of block 60 n+1 The value in the hash value box 66 of block 60 n+1 The value in the previous hash value box 67 of block 60 nThe value in the hash value box 66 of block 60 n The value in the previous hash value box 67 of block 60 n-1 (Not shown. Block 60 n The hash value is the value in the hash value box 66 of the block (the block registered one before the block 60). In other words, the hash value is used as a joint of multiple blocks 60. This joint allows multiple blocks 60 to be joined together as follows: ...block 60 n-1 , block 60 n , block 60 n+1 , block 60 n+2 ... are connected in that order.

[0052] In a blockchain, it is difficult to tamper with the data (transaction history) stored in the transaction box 65 of each block 60. The reason for this is as follows. If the data stored in the transaction box 65 is tampered with, the value of the hash value box 66 will change. In this case, if the value of the hash value box 66 is the same as the value of the block 60 in which the hash value box 66 is included (for example, block 60 n ) next block 60 (for example, block 60 n+1 ) and the value in the previous hash value box 67 of the block 60 (e.g., block 60 n+1 ), if an attempt is made to tamper with the next block 60 (e.g. block 60 n+1 ) hash value box 66 is the next block 60 (e.g. block 60 n+2 ) will no longer be consistent with the value in the previous hash value box 67. In other words, if an attempt is made to tamper with the blockchain, a process is required to maintain consistency for all blocks 60 in response to data tampering with some of the blocks 60. However, such a process is extremely difficult in reality. Therefore, it is possible to maintain a high level of difficulty in tampering.

[0053] The value of the previous hash value box 67 of the block 601 (not shown) that is registered first among the blocks 60 is NULL (no value).

[0054] 5 is an illustrative view for explaining the flow of the generation process of the transaction 50 in the control device 21 of the information management device 2. The flow of the generation process of the transaction 50 will be explained mainly with reference to FIG.

[0055] The input I / F 33 of the control device 21 of the information management device 2 constantly monitors whether or not there is a reception request (request (S1 in FIG. 5)) from the external system 100 at the communication device 36 (see FIG. 2) of the information management device 2. This external system 100 may be another device connected to the information management device 2 including the input I / F 33, or may be an information management device 2 different from the information management device 2 including the input I / F 33.

[0056] When a reception request is made from the external system 100 and the control device 21 of the information management device 2 transmits a signal indicating reception is possible in response to the reception request, a transaction record is transmitted from the external system 100. The transmitted transaction record is received by the input I / F 33. Having received the transaction record, the input I / F 33 creates a transaction 50 for the transaction record and calculates its hash value (stored hash value 70). The input I / F 33 then stores the created transaction 50 in the distributed storage 29 (input step, S2 in FIG. 5).

[0057] There is no upper limit on the capacity of transaction record data stored in the distributed storage 29. Therefore, even if the transaction record data is large and, as a result, the transaction 50 is large, it is possible to store the transaction 50 in the distributed storage 29.

[0058] The input I / F 33 also stores information about receipt of the transaction record (such as the storage location and receipt date / time; request information (S3 in FIG. 5)) in the database 35.

[0059] Furthermore, the input I / F 33 requests the blockchain network 5 to register the calculated hash value of the transaction 50 as a stored hash value 70 (S4 in FIG. 5). As a result, the stored hash value 70 is stored in the transaction box 65 of the distributed ledger 23 of the blockchain network 5 (input step).

[0060] Specifically, the control device 21 functioning as the peer node 24 of the information management device 2 transmits the stored hash value 70 to the orderer node 26. The orderer node 26 checks the request and registers it if there is no problem. That is, the orderer node 26 creates a block 60 with the received stored hash value 70 as a transaction, and distributes (broadcasts) the created block 60 to all peer nodes 24. As a result, a block 60 corresponding to this transaction record is created in the distributed ledger 23 held by each information management device 2, and the stored hash value 70 is stored (registered) in the transaction box 65 of the block 60.

[0061] 5, the orderer node 26 that receives the stored hash value 70 is the orderer node 26 of the information management device 2 to which the transaction record was input. However, the orderer node 26 may be the orderer node 26 of the management information management device 4, or may be the orderer node 26 of another information management device 2.

[0062] Furthermore, the capacity of the stored hash value 70, which is the hash value of the transaction 50, is a predetermined small number of bytes (256 bytes). The upper limit of the size of data (block size) held in the blockchain network 5 is 100 MB, which is significantly larger than this predetermined small number of bytes (256 bytes). Therefore, regardless of the upper limit of the block size, the stored hash value 70 can be stored in the transaction box 65 of the distributed ledger 23.

[0063] 4 and 5, transaction box 65 (e.g., block 60 of FIG. 4)n When the stored hash value 70 is stored in the transaction box 65 of the distributed ledger 23, a hash value of the stored hash value 70 is calculated in each distributed ledger 23. The hash value of the stored hash value 70 is then stored in the hash value box 66 (for example, block 60 in FIG. 4 ) corresponding to the transaction box 65. n Therefore, in the distributed ledger 23, the previous hash value box 67 of the block 60 to be registered next (for example, the previous hash value box 66 of the block 60 in FIG. 4) is stored. n+1 The value in the previous hash value box 67) becomes the hash value of the stored hash value 70. In this embodiment, the hash value of the stored hash value 70 is used as a joint between multiple blocks 60. That is, multiple blocks 60 are connected not by the hash value of the transaction 50 itself, but by the hash value of the hash value of the transaction 50 (i.e., the stored hash value 70).

[0064] When the stored hash value 70 is stored (registered) in the transaction box 65, a signal to that effect (processing result (see S6 in FIG. 5)) is sent from the orderer node 26 to the input I / F 33. When the input I / F 33 receives the signal to that effect (processing result (see S6 in FIG. 5)), that effect is stored in the database 35 (see FIG. 2, etc.) of the storage device (see FIG. 2, etc.).

[0065] Fig. 6 is a diagram for explaining the flow of output processing of a transaction 50 in the control device 21 of the information management device 2. Fig. 7 is a flow diagram for explaining the flow of output processing of a transaction 50 in the control device 21 of the information management device 2. The flow of output processing of a transaction 50 will be explained with reference to Figs. 6 and 7.

[0066] The output I / F 34 of the control device 21 of the information management device 2 constantly monitors whether or not there is a distribution request (request (S11 in FIG. 6)) from the external system 100 to the communication device 36 of the information management device 2. This external system 100 may be another device connected to the information management device 2 including the input I / F 33, or may be an information management device 2 different from the information management device 2 including the input I / F 33.

[0067] When a distribution request is received from the external system 100 (YES in S11 in FIG. 7), the output I / F 34 obtains the storage location corresponding to the distribution request from the database 35. Then, the output I / F 34 reads the transaction 50 from the distributed storage 29 (S12 in FIGS. 6 and 7). Then, the output I / F 34 calculates a hash value for the transaction 50 read from the distributed storage 29 (S14 in FIG. 7). In other words, the output I / F 34 recalculates the hash value of the transaction 50.

[0068] The output I / F 34 also reads the stored hash value 70 corresponding to the current transaction 50 from the transaction box 65 of the distributed ledger 23 stored in the information management device 2 including the output I / F 34 (FIGS. 6 and S15 in FIG. 7). The output I / F 34 then compares the hash value recalculated in S14 in FIG. 7 with the stored hash value 70 read from the transaction box 65 (comparison step, S16 in FIG. 7).

[0069] If the recalculated hash value matches the stored hash value 70 stored in the transaction box 65 (YES in S17 in FIG. 7), the output I / F 34 determines that the hash value collation was successful and that the transaction 50 stored in the distributed storage 29 has not been tampered with. At this time, distribution of the transaction 50 by the output I / F 34 is permitted. Then, the output I / F 34 transmits the transaction 50 read from the distributed storage 29 to the external system 100 that has requested the distribution (request source) (output step, S18 in FIG. 7). The process in FIG. 7 is then returned.

[0070] On the other hand, if the recalculated hash value is different from the stored hash value 70 (NO in S17 of FIG. 7), the output I / F 34 determines that the comparison has failed and that the transaction 50 stored in the distributed storage 29 has been tampered with. In this case, output of the transaction 50 is not permitted, and the output I / F 34 executes error processing such as notifying the management information management device 4 that the transaction has been tampered with (S19 of FIG. 7). After the error processing, the processing of FIG. 7 is returned.

[0071] As described above, according to this embodiment, when generating a transaction 50, the input I / F 33 stores the generated transaction 50 in the distributed storage 29. There is no upper limit on the capacity of data stored in the distributed storage 29. Therefore, even if the transaction 50 is large, the transaction 50 can be stored in the distributed storage 29.

[0072] Furthermore, in generating transaction 50, input I / F 33 stores the received hash value of transaction 50 in transaction box 65 as stored hash value 70. Then, when outputting transaction 50, output I / F 34 calculates a hash value for transaction 50 stored in distributed storage 29. The calculated hash value is compared with the stored hash value 70 stored in transaction box 65. If the hash value calculated for transaction 50 stored in distributed storage 29 matches the stored hash value 70 stored in transaction box 65, it is determined that transaction 50 stored in distributed storage 29 has not been tampered with. This makes it possible to accurately detect tampering of transaction 50 stored in distributed storage 29, if any.

[0073] As a result, scalability can be improved while preventing data (transaction 50) from being tampered with.

[0074] In particular, in this embodiment, the stored hash value 70 to be compared is stored in the transaction box 65. Therefore, multiple blocks 60 are connected by the stored hash value 70 of the transaction 50. This makes it possible to prevent the stored hash value 70 of the transaction 50 from being tampered with, and therefore to increase the reliability of the stored hash value 70. Since the highly reliable stored hash value 70 is used for comparison, it is possible to more reliably prevent tampering of the transaction 50.

[0075] Furthermore, if the stored hash value 70 were to be stored in an area separate from the transaction box 65, it would be necessary to provide an area separate from the transaction box for storing the stored hash value 70. In one embodiment of the present invention, the stored hash value 70 is stored in the transaction box 65, so there is no need to provide a separate storage for storing the stored hash value 70.

[0076] Although one embodiment of the present invention has been described above, the present invention can be embodied in other forms.

[0077] In the above explanation, the information management system 1 has been described as forming the blockchain network 5 among multiple companies, but the blockchain network 5 may be formed within a department group within a company. When the blockchain network 5 is formed within a department group within a company or within a corporate group, each participant may not hold a distributed ledger 23, but may instead share a single ledger.

[0078] In the above description, Hyperledger Fabric (registered trademark) is used as an example of a blockchain platform, but the present invention is not limited to Hyperledger Fabric (registered trademark) and may be applied to other blockchain platforms. Examples of other blockchain platforms include CORDA (registered trademark) and Ethereum (registered trademark).

[0079] 8 is a diagram for explaining another electrical configuration of the information management device 2. The information management device 2 is a computer system built in a cloud (for example, a public cloud such as AWS (Amazon Web Services)). As a specific example, this cloud is, for example, Kubernetes (registered trademark), and includes a master node 201, a first worker node 202, a second worker node 203, and a third worker node 204. The information management device 2 is managed by a tool (for example, Kubernetes (registered trademark)) that performs orchestration (automation of container management and operation).

[0080] The master node 201, the first worker node 202, the second worker node 203, and the third worker node 204 are connected to each other so as to be able to communicate with each other. Each of the nodes 201, 202, 203, and 204 is configured with one virtual server 205. Each of the virtual servers 205 uses Linux (registered trademark) as its OS.

[0081] The master node 201, the first worker node 202, the second worker node 203, and the third worker node 204 are connected to each other so as to be able to communicate with each other. Each of the nodes 201, 202, 203, and 204 is configured by one virtual server 205.

[0082] A minimum of four virtual servers 205 are required. Each virtual server 205 uses Linux (registered trademark) as its OS. Each of the nodes 201, 202, 203, and 204 may be configured by a physical server instead of the virtual server 205. If configured by a physical server, it is preferable that the nodes are distributed across multiple physical servers.

[0083] The master node 201 autonomously manages the worker nodes 202 to 204 in accordance with predetermined contents. In a Kubernetes (registered trademark) cluster, containers are managed in units of Pods.

[0084] Each of the worker nodes 202 to 204 is a node for running a Pod 206 including one or more containers. Each of the worker nodes 202 to 204 provides an execution environment for the container. Each of the worker nodes 202 to 204 executes operations such as starting the Pod 206, moving the Pod 206, deleting the Pod 206, and scaling the Pod 206 based on instructions from the master node 201.

[0085] The first worker node 202 includes a web management unit 30, a session management unit 31, and a management I / F 32. In the first worker node 202, the web management unit 30 and the management I / F 32 are provided in the same Pod 206, and the session management unit 31 is provided in a different Pod 206.

[0086] The second worker node 203 includes an input I / F 33, an output I / F 34, and a database 35. The input I / F 33, the output I / F 34, and the database 35 are provided in different Pods 206. The second worker node 203 includes a distributed storage 29. The distributed storage 29 is provided outside the Pod 206.

[0087] The third worker node 204 includes a peer node 24, an orderer node 26, and a certificate authority 25, 44. The peer node 24, the orderer node 26, and the certificate authority 25 are provided in a common pod 206.

[0088] By using Kubernetes (registered trademark), distributed system resources can be optimized. In addition, adopting the system distribution shown in Figure 8 allows for smooth recovery response (DR response).

[0089] In addition, various modifications are possible within the scope of the claims. [Explanation of symbols]

[0090] 1: Information Management System 5: Blockchain network 23: Distributed Ledgers 29: Distributed Storage 33: Input I / F (input section) 34: Output I / F (output section) 50 : Transaction 60: Block 65: Transaction Box 66: Hash value box 67: Previous hash value box 70: Memory hash value 100: External system (external)

Claims

1. A blockchain network that holds a distributed ledger including a block having a transaction box, a hash value box, and a previous hash value box, the blockchain network storing a hash value of data stored in the transaction box in the hash value box, and storing a value stored in the hash value box of a previous block in the previous hash value box; A distributed storage provided outside the blockchain network; an input unit that, in generating a transaction, stores the generated transaction in the distributed storage, calculates a hash value of the transaction, and stores the calculated hash value as a stored hash value in the transaction box of the block chain network; an output unit that, at the output of the transaction, calculates a hash value for the transaction stored in the distributed storage, compares the calculated hash value with the stored hash value stored in the transaction box, and outputs the transaction stored in the distributed storage based on the comparison result.

2. 2. The information management system of claim 1, wherein the output unit outputs the transaction stored in the distributed storage when the hash value calculated from the transaction stored in the distributed storage matches the stored hash value stored in the transaction box.

3. An information management method executed in an information management system including a blockchain network that holds a distributed ledger including a block having a transaction box, a hash value box, and a previous hash value box, the blockchain network storing a hash value of data stored in the transaction box in the hash value box and storing a value stored in the hash value box of a previous block in the previous hash value box, and a distributed storage provided outside the blockchain network, In generating a transaction, an input step of storing the generated transaction in the distributed storage, calculating a hash value of the transaction, and storing the calculated hash value as a stored hash value in the transaction box of the blockchain network; a comparison step of calculating a hash value for the transaction stored in the distributed storage in the output of the transaction, and comparing the calculated hash value with the stored hash value stored in the transaction box; and an output step of outputting the transactions stored in the distributed storage based on a result of the matching in the matching step.

Citation Information

Patent Citations

  • Internet of Things

    JP2023052135A

  • Information processing system

    WO2023074878A1

  • Information management system

    JP2022182767A

  • Server device

    JP2023045520A