Control method, system, and program

The control method and system for managing blockchains address the issue of incomplete data deletion by using smart contracts and rules to halt blockchain functions and transfer data, ensuring complete removal and efficient storage.

WO2025028378A1PCT designated stage expired Publication Date: 2025-02-06PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/026558
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-03
Filing Date
2024-07-25
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

Existing distributed ledger management technologies may fail to completely delete data from the network, leading to data remnants.

Method used

A control method and system that manage blockchains, utilizing smart contracts and predetermined rules to determine when to stop the function of blockchains based on data size, processing load, or organizational participation, ensuring complete deletion by transferring specific data to alternative blockchains or databases.

Benefits of technology

Effectively removes data from the network by halting blockchain functions and transferring data to reliable destinations, ensuring data integrity and storage efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026558_06022025_PF_FP_ABST
    Figure JP2024026558_06022025_PF_FP_ABST
Patent Text Reader

Abstract

This control method is to be performed by a control device that manages one or more blockchains, the control method including: determining, on the basis of a first rule, whether to delete one or more first blockchains including first data from among the one or more blockchains (S111); and when a determination is made to delete the one or more first blockchains, stopping, at a predetermined timing, the functions of the one or more first blockchains including the first data, from among the one or more blockchains managed by the control device (S119).
Need to check novelty before this filing date? Find Prior Art

Description

Control method, system, and program

[0001] The present disclosure relates to a control method, a system, and a program.

[0002] Patent Literature 1 discloses a management device that operates a distributed ledger while taking into consideration the lifecycle of the distributed ledger. Specifically, the management device deletes a distributed ledger whose lifecycle has ended for all registered data.

[0003] International Publication No. 2021 / 176598

[0004] However, with the technology of Patent Document 1, there is a possibility that part of the distributed ledger may remain, so there is a possibility that the data that you want to delete may not be deleted from the network.

[0005] The present disclosure provides a control method and the like that allows data that is desired to be deleted to be deleted from a network.

[0006] A control method according to one aspect of the present disclosure is a control method by a control device that manages one or more blockchains, which determines whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it determines to delete the one or more first blockchains, stops the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device at a predetermined timing.

[0007] Furthermore, a system according to one aspect of the present disclosure is a system including a control device that manages one or more blockchains, the system including a processor and a memory, and the processor uses the memory to determine whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it is determined that the one or more first blockchains should be deleted, at a predetermined timing, stops the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device.

[0008] These comprehensive or specific aspects may be realized as a system, a device, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, a device, an integrated circuit, a computer program, and a recording medium.

[0009] According to the control method and the like disclosed herein, data that is to be deleted can be deleted without remaining on the blockchain.

[0010] FIG. 1 is a diagram illustrating an overview of a system according to an embodiment. FIG. 2 is a conceptual diagram of the data structure of a blockchain managed in a permissioned blockchain system according to an embodiment. FIG. 3 is a diagram illustrating an example of the configuration of a terminal according to an embodiment. FIG. 4 is a diagram illustrating an example of the configuration of a management server according to an embodiment. FIG. 5 is a sequence diagram illustrating a first part of an example of the operation of the system according to an embodiment. FIG. 6 is a sequence diagram illustrating a second part of an example of the operation of the system according to an embodiment. FIG. 7 is a sequence diagram illustrating a third part of an example of the operation of the system according to an embodiment. FIG. 8 is a diagram illustrating an example of a smart contract according to an embodiment. FIG. 9 is an explanatory diagram illustrating the data structure of a blockchain. FIG. 10 is an explanatory diagram illustrating the data structure of transaction data. FIG. 11 is an explanatory diagram illustrating transaction data related to the execution of a smart contract. FIG. 12 is an explanatory diagram illustrating processing related to the execution of a smart contract.

[0011] A control method according to a first aspect of the present disclosure is a control method by a control device that manages one or more blockchains, which determines whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it determines to delete the one or more first blockchains, stops the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device at a predetermined timing.

[0012] According to this, when it is determined that one or more first blockchains should be deleted, the control device stops the functions of all blockchains under its management, so that the data to be deleted can essentially be deleted from the network.

[0013] A control method according to a second aspect of the present disclosure is a control method according to the first aspect, further comprising generating first transaction data including a first smart contract for the determination, storing the first transaction data in the one or more blockchains, and the determination being executed by the first smart contract.

[0014] According to this, the first smart contract determines whether or not to delete one or more first blockchains, and a determination based on the first rule can be automatically made. Furthermore, since the contract code of the first smart contract is stored in one or more blockchains and is made public, the logic for deleting one or more first blockchains can be verified. Therefore, the fairness of the determination can be guaranteed.

[0015] A control method according to a third aspect of the present disclosure is a control method according to the first or second aspect, wherein the first rule is a rule that deletes the one or more first blockchains when a first condition is satisfied, and the first condition is that a parameter related to a data size or processing load of the one or more first blockchains exceeds a first threshold.

[0016] Therefore, it is possible to delete a blockchain whose parameters related to data size or processing load exceed a first threshold.

[0017] A control method according to a fourth aspect of the present disclosure is the control method according to the second aspect, wherein the determination is executed when a second condition is satisfied, and the second condition is that a parameter related to a data size or processing load of the one or more first blockchains exceeds a second threshold.

[0018] Therefore, when a parameter related to data size or processing load exceeds a second threshold, it is possible to determine whether or not to delete one or more first blockchains.

[0019] A control method according to a fifth aspect of the present disclosure is the control method according to the first aspect, wherein the predetermined timing is a timing when a third condition is satisfied, and the third condition is that a parameter related to the data size or processing load of the one or more first blockchains exceeds a third threshold.

[0020] Therefore, when the parameter related to the data size or processing load exceeds the third threshold, the functions of all blockchains managed by the control device can be stopped.

[0021] A control method according to a sixth aspect of the present disclosure is a control method according to any one of the first to fifth aspects, further comprising determining specific data from the one or more blockchains based on a second rule, and transferring the specific data to a specific device before the specified timing, wherein the second rule is a rule that determines data having a specific attribute as the specific data.

[0022] According to this, among the data that becomes unavailable on the blockchain when the functions of one or more blockchains are stopped, specific data that you want to keep is transferred to a specified device, so that even if the functions of one or more blockchains are stopped, you can still use the specific data.

[0023] A control method according to a seventh aspect of the present disclosure is the control method according to the sixth aspect, wherein the specified device controls another blockchain different from the one or more blockchains, and the transferred specific data is stored in the other blockchain.

[0024] According to this, among the data that becomes unavailable on a blockchain when the functions of one or more blockchains are stopped, specific data that you want to keep is stored in another blockchain, so even if the functions of one or more blockchains are stopped, you can still use the specific data by accessing the other blockchains.

[0025] A control method according to an eighth aspect of the present disclosure is the control method according to the seventh aspect, wherein the number of nodes controlling the other blockchain is equal to or greater than a fourth threshold, or the block height of the other blockchain is equal to or greater than a fifth threshold.

[0026] This allows a more reliable blockchain to be selected as the transfer destination.

[0027] A control method according to a ninth aspect of the present disclosure is a control method according to the sixth aspect, wherein the specified device stores a database, and the transferred specific data is stored in the database.

[0028] According to this, specific data that you want to keep among the data that will become unavailable on the blockchain when the functions of one or more blockchains are stopped is stored in a database, so even if the functions of one or more blockchains are stopped, you can still use the specific data by accessing the database.

[0029] A control method according to a tenth aspect of the present disclosure is the control method according to the sixth aspect, wherein the one or more blockchains are consortium-type blockchains in which multiple organizations participate, the one or more first blockchains are blockchains that have been decided to be deleted because a first organization among the multiple organizations is withdrawing from the one or more blockchains, and when the number of multiple remaining organizations among the multiple organizations excluding the first organization is equal to or greater than a sixth threshold, a device that manages a blockchain different from the one or more blockchains is determined as the specified device, and when the number of the multiple remaining organizations is less than the sixth threshold, a device that stores a database is determined as the specified device.

[0030] Therefore, if the number of organizations is equal to or greater than the sixth threshold, the specific data is stored in another blockchain, allowing the specific data to continue to be managed by the consortium blockchain. Also, if the number of organizations is less than the sixth threshold, the specific data is stored in the database, allowing the specific data to be managed by the database.

[0031] A control method according to an eleventh aspect of the present disclosure is a control method according to any one of the sixth to tenth aspects, further comprising generating second transaction data including a second smart contract for determining the specific data, storing the second transaction data in the one or more blockchains, and the determination of the specific data being executed by the second smart contract.

[0032] Therefore, the specific data can be determined automatically by the second smart contract. In addition, the contract code of the second smart contract is stored in one or more blockchains and is made public, so that the logic of the specific data determination can be verified.

[0033] A control method according to a twelfth aspect of the present disclosure is a control method according to any one of the sixth to eleventh aspects, further comprising generating third transaction data including a third smart contract for determining the specified device, storing the third transaction data in the one or more blockchains, and executing the third smart contract to determine the specified device.

[0034] Therefore, the determination of the predetermined device can be automatically performed by the third smart contract. In addition, since the contract code of the third smart contract is stored in one or more blockchains and is made public, the logic of the determination of the predetermined device can be verified.

[0035] A control method according to a thirteenth aspect of the present disclosure is a control method according to any one of the first to twelfth aspects, further comprising, after the stopping, recording information indicating that the function of the one or more blockchains has been stopped, and storing the information in a recording blockchain different from the one or more blockchains.

[0036] If the functions of one or more blockchains are stopped, the functions of one or more blockchains cannot be used. Therefore, by storing information indicating that the functions of one or more blockchains have been stopped in a recording blockchain, it is possible to refer to the fact that the functions of one or more blockchains have been stopped.

[0037] A system according to a fourteenth aspect of the present disclosure is a system including a control device that manages one or more blockchains, the system including a processor and a memory, wherein the processor uses the memory to determine whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it determines to delete the one or more first blockchains, at a predetermined timing, stops the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device.

[0038] According to this, when it is determined that one or more first blockchains should be deleted, the control device provided in the system stops the functions of all managed blockchains, so that the data to be deleted can essentially be deleted from the network.

[0039] A program according to a fifteenth aspect of the present disclosure is a program for causing a computer to execute the control method according to any one of the first to thirteenth aspects.

[0040] These comprehensive or specific aspects may be realized as a system, a device, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, a device, an integrated circuit, a computer program, and a recording medium.

[0041] Hereinafter, embodiments will be described with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. In other words, the numerical values, shapes, materials, components, component arrangements and connection forms, steps, and step orders shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components that are not recited in the independent claims that represent the highest concepts are not necessarily required to achieve the objectives of the present disclosure, but are described as components that constitute more preferred embodiments.

[0042] (Embodiment) In this embodiment, a control method for deleting a consortium-type blockchain in which multiple organizations (multiple administrators) participate, when a first organization withdraws from the blockchain, will be described.

[0043] [Configuration] FIG. 1 is a block diagram showing an example of the configuration of a system according to an embodiment.

[0044] As shown in Figure 1, system 1 includes terminals 100a to 100c, a permissioned blockchain system 200, a deletion management blockchain system 300, and a verification terminal 350. The permissioned blockchain system 200 includes management servers 200a to 200c. The management servers 200a to 200c are multiple nodes that make up the permissioned blockchain system 200. The permissioned blockchain system 200 is a consortium-type blockchain in which companies A, B, and C participate. Companies A, B, and C are examples of multiple organizations (multiple administrators).

[0045] The deletion management blockchain system 300 is composed of multiple nodes. The multiple nodes that make up the deletion management blockchain system 300 may or may not include the management servers 200a to 200c. Furthermore, the multiple nodes that make up the deletion management blockchain system 300 may include some of the management servers 200a to 200c.

[0046] The terminals 100a to 100c, the permissioned blockchain system 200, the deletion management blockchain system 300, and the verification terminal 350 may all be connected to one another via a network 400, or all may be directly connected to enable communication, or some may be connected via the network 400 and other parts may be directly connected to enable communication. The network 400 may be, for example, the Internet or a mobile phone carrier network, but may be composed of any communication line or network.

[0047] The terminal 100a is a terminal managed by Company A. Specifically, the terminal 100a is a terminal operated by User A who belongs to Company A. The terminal 100a may present the processing result to User A.

[0048] The terminal 100b is a terminal managed by Company B. Specifically, the terminal 100b is a terminal operated by User B who belongs to Company B. The terminal 100b may present the processing result to User B.

[0049] The terminal 100c is a terminal managed by Company C. Specifically, the terminal 100c is a terminal operated by a user C who belongs to Company C. The terminal 100c may present the processing result to the user C.

[0050] The management server 200a may be managed by Company A. The functions of the terminal 100a and the management server 200a may be realized by a single device. In other words, the management server 200a may have the functions of the terminal 100a.

[0051] The management server 200b may be managed by Company B. The functions of the terminal 100b and the management server 200b may be realized by a single device. In other words, the management server 200b may have the functions of the terminal 100b.

[0052] The management server 200c may be managed by Company C. The functions of the terminal 100c and the management server 200c may be realized by a single device. In other words, the management server 200c may have the functions of the terminal 100c.

[0053] FIG. 2 is a conceptual diagram of the data structure of a blockchain managed by a permissioned blockchain system according to an embodiment.

[0054] The permissioned blockchain system 200 manages blockchains 500 and 510. That is, the management servers 200a to 200c manage the blockchains 500 and 510. The blockchain 500 includes a block 501 containing data from company A, a block 502 containing data from company B, and a block 503 containing data from company C. The blockchain 510 also includes a block 511 containing data from company A, a block 512 containing data from company B, and a block 513 containing data from company C. The blockchains 500 and 510 are accessed by each of the terminals 100a to 100c, allowing stored data to be read and used, or new data to be stored and used.

[0055] Note that the data stored in the blockchain 500 may be different from the data stored in the blockchain 510. In other words, the blockchain 500 and the blockchain 510 may be managed independently of each other.

[0056] In such blockchains 500, 510, even if Company C attempts to delete all blocks containing Company C's data from the blockchains 500, 510 by deleting all blocks containing Company C's data from the management server 200c managed by Company C, the blockchains 500, 510 are maintained on the management servers 200a, 200b managed by Company A and Company B. For this reason, Company C's data remains undeleted.

[0057] To solve this problem, for example, it is conceivable to transfer the data of Company A and Company B to another device, and then stop the function of all blockchains 500, 510 managed by management servers 200a to 200c, thereby making the blockchains 500, 510 unavailable and deleting Company C's data from the network. In other words, it is conceivable to make the blockchains 500, 510 inaccessible, thereby essentially deleting them from the network.

[0058] FIG. 3 is a diagram illustrating an example of a configuration of a terminal according to an embodiment.

[0059] Each of the terminals 100 a to 100 c includes a communication unit 101 , an input receiving unit 102 , a display unit 103 , a control unit 104 , and a storage unit 105 .

[0060] The communication unit 101 may transmit information to another terminal among the terminals 100a to 100c or the management servers 200a to 200c via the network, or may receive information from another terminal or the management servers 200a to 200c. The other terminal is a terminal among the terminals 100a to 100c that is different from the terminal that has the communication unit 101.

[0061] In this way, the communication unit 101 communicates with other terminals or the management servers 200a to 200c via the network. Note that this communication may be performed using TLS (Transport Layer Security), and the encryption key for TLS communication may be held in the communication unit 101.

[0062] The input receiving unit 102 receives inputs from a user operation. The input receiving unit 102 displays the received inputs on the display unit 103, transmits the inputs to the control unit 104, or transmits the inputs to the communication unit 101.

[0063] The display unit 103 displays a UI for receiving input from the input receiving unit 102. The display unit 103 also displays, on the UI, the input received by the input receiving unit 102. The display unit 103 may also display information notified from the management servers 200a to 200c.

[0064] The control unit 104 generates transaction data based on the information input received by the input receiving unit 102, and transmits the generated transaction data via the communication unit 101 to the management servers 200a to 200c.

[0065] The storage unit 105 stores information received by the communication unit 101, input accepted by the input accepting unit 102, transaction data generated by the control unit 104, etc. The storage unit 105 may store data other than the above-mentioned information.

[0066] The database 106 stores various information. The database 106 is managed by a corresponding administrator (Company A, Company B, or Company C). The database 106 may be designated as a transfer destination for data that should be retained and not deleted when the blockchain function is stopped. The database 106 is realized by a storage.

[0067] The terminals 100a to 100c can be realized by a processor executing a predetermined program using a memory.

[0068] FIG. 4 is a diagram illustrating an example of a configuration of a management server according to an embodiment.

[0069] 4, each of the management servers 200a to 200c includes a communication unit 201, a control unit 202, a recording unit 203, a transaction data verification unit 204, a distributed ledger 205, and a smart contract execution unit 206. The management servers 200a to 200c are examples of control devices that manage one or more blockchains.

[0070] The communication unit 201 transmits information to the terminals 100a to 100c or other management servers among the management servers 200a to 200c via the network, and receives information from the terminals 100a to 100c or other management servers. The other management servers are management servers among the management servers 200a to 200c that are different from the management server that includes the communication unit 201. The communication unit 201 also transmits and receives transaction data to and from the other management servers 200a to 200c.

[0071] In this way, the communication unit 201 communicates with the terminals 100a to 100c or other management servers via the network. This communication may be performed using TLS (Transport Layer Security), and the encryption key for TLS communication may be held in the communication unit 201.

[0072] The control unit 202 executes a consensus algorithm on the transaction data received by the communication unit 201. As a result, the control unit 202 stores the transaction data in the distributed ledger 205. The control unit 202 stores information included in the transaction data in the blockchain, for example, by linking a block including the transaction data to the blockchain of the distributed ledger 205.

[0073] When the communication unit 201 receives transaction data, the transaction data verification unit 204 verifies the validity of the transaction data. For example, the transaction data verification unit 204 verifies whether the transaction data received by the communication unit 201 is accompanied by a digital signature generated using a correct method. If the validity is verified, the communication unit 201 transmits a copy of the transaction data to the other management servers 200a-200c, thereby recording the verified authenticated transaction data in the recording units 203 of the other management servers 200a-200c. This allows only transaction data whose validity has been verified to be transmitted to the other servers, thereby minimizing increases in computer power consumption. Note that this verification may be skipped.

[0074] Furthermore, the transaction data verification unit 204 executes a consensus algorithm together with the other management servers 200a to 200c to reach an agreement on the validity of the transaction data.

[0075] The consensus algorithm used here may be Practical Byzantine Fault Tolerance (PBFT), or another known consensus algorithm. Examples of known consensus algorithms include Proof of Work (PoW) and Proof of Stake (PoS). When PBFT is used as the consensus algorithm, the transaction data verification unit 204 receives reports from each of the management servers 200a to 200c indicating whether the transaction data verification was successful or not, and determines whether the number of such reports exceeds a predetermined number. When the number of such reports exceeds the predetermined number, the transaction data verification unit 204 determines that the validity of the transaction data has been verified by the consensus algorithm.

[0076] If the transaction data verification unit 204 confirms the legitimacy of the transaction data, it records the transaction data in the recording unit 203. If the legitimacy of the transaction data cannot be verified, the transaction data verification unit 204 discards the transaction data. This prevents transaction data whose legitimacy cannot be verified from being recorded in the recording unit 203, thereby reducing the required amount of computer resources. The transaction data verification unit 204 may generate a block including transaction data whose legitimacy has been confirmed, and store the generated block in the distributed ledger 205.

[0077] In this embodiment, the transaction data verification unit 204 verifies the validity of the transaction data received by the communication unit 201 .

[0078] The recording unit 203 records the transaction data by storing the transaction data whose validity has been verified by the transaction data verification unit 204 in the distributed ledger 205. This makes it possible to prevent tampering with the transaction data.

[0079] The recording unit 203 may be configured inside the distributed ledger 205.

[0080] The distributed ledger 205 stores transaction data. The distributed ledger 205 sequentially acquires and stores transaction data, and therefore stores one or more pieces of transaction data. The distributed ledger 205 is realized by a storage.

[0081] The smart contract execution unit 206 operates the smart contract by executing the contract code included in the transaction data stored in the blockchain of the distributed ledger 205.

[0082] In this way, the smart contract execution unit 206 can manage various processes using the distributed ledger 205 by running smart contracts. Note that smart contracts are generated by applications on the management servers 200a-200c or the terminals 100a-100c based on user operations, for example, and blocks containing these smart contracts are stored in the blockchain in advance. In other words, the blockchain stores the contract code of the smart contract.

[0083] The contract code of the smart contract may be separated and stored separately in the blockchain, or may be stored as a single integrated contract code in the blockchain.

[0084] [Operation] Next, the operation of the system 1 configured as above will be described.

[0085] FIG. 5 is a sequence diagram showing a first part of an example of the operation of the system according to the embodiment.

[0086] The management servers 200a to 200c generate a smart contract based on the deletion rules of the permissioned blockchain (S101). Step S101 does not have to be performed by all of the management servers 200a to 200c, but may be performed by at least one of the management servers 200a to 200c.

[0087] The smart contract includes a first smart contract for determining whether to delete the blockchain 500 from among the multiple blockchains 500, 510. This determination is made based on a first rule. The first rule is a rule that deletes the first blockchain that satisfies a first condition when the first condition is met. The first condition is that a parameter related to the data size or processing load of the first blockchain exceeds a first threshold. The parameter related to data size is, for example, the data size of the entire first blockchain (data stored in the distributed ledger 205) or the block height of the first blockchain (the total number of blocks that make up the blockchain). The parameter related to processing load is, for example, the processing volume related to block generation in the blockchain and the CO2 emissions in the process of managing the blockchain.

[0088] The management server 200a generates transaction data including the generated smart contract (S102). Step S102 may be performed by either the management server 200b or 200c, or by any of the management servers 200a to 200c. The management server 200a transfers the transaction data generated in step S102 to the other management servers 200b and 200c, which then execute a consensus algorithm and record a block including the transaction data in the blockchain (S103). As a result, the transaction data including the smart contract is stored in the distributed ledger 205.

[0089] Steps S101 to S103 are processes for generating a smart contract and storing it in the blockchain. After that, the management servers 200a to 200c operate the blockchain under normal circumstances.

[0090] For example, the management server 200a generates transaction data including data to be recorded in the blockchain (S104), and transfers the generated transaction data to the management servers 200b and 200c.

[0091] As a result, the management servers 200a to 200c execute the consensus algorithm and record the block including the transaction data generated in step S104 in the blockchain (S105).

[0092] Next, the management servers 200a to 200c calculate the block height of the blockchain (S106). For example, the management servers 200a to 200c may calculate the block height by counting the total number of blocks that make up the blockchain, or may calculate the block height by adding 1 to the block height recorded in memory every time a block is added to the blockchain.

[0093] The management servers 200a to 200c determine whether it is time to make a deletion determination (S107). The timing of the deletion determination refers to the timing to make a determination to delete the managed blockchain. The management servers 200a to 200c may determine that it is time to make a deletion determination, for example, when the calculated block height exceeds a first value (e.g., 100). In this case, if the block height does not exceed the first value, the management servers 200a to 200c determine that it is not time to make a deletion determination, and therefore continue normal blockchain operation. Figure 5 illustrates an example where it is determined that it is not time to make a deletion determination.

[0094] Steps S106 and S107 may be executed by a smart contract. That is, this smart contract is executed every time transaction data is received during normal blockchain operation. This smart contract may be included in the smart contract generated in step S101.

[0095] 6 is a sequence diagram showing a second part of an example of the operation of the system according to the embodiment, which represents processing following the first part.

[0096] Since it is determined that it is not time to make a deletion decision (No in step S107), normal blockchain operation continues. Therefore, steps S108 to S110 are executed for different transaction data. Steps S108 to S110 are the same processing as steps S105 to S107, except for the transaction data being targeted. Therefore, detailed explanation will be omitted.

[0097] In step S110, it is assumed that the block height has exceeded the first value. Since it has been determined that it is time to make a deletion determination (Yes in step S110), the management servers 200a to 200c determine whether or not to continue using the blockchain (S111).

[0098] The management servers 200a to 200c decide by voting whether to continue using the blockchain (S112). In the example of Fig. 6, the management server 200a managed by company A and the management server 200b managed by company B have voted to indicate their intention to continue using the blockchain, while the management server 200c managed by company C has voted to indicate their intention not to continue using the blockchain (i.e., to withdraw from the blockchain).

[0099] Next, the management servers 200a-200c use a smart contract to determine whether to transfer specific data from the data of companies A and B that have expressed their intention to continue using the service to a database managed by company A or company B, or to another blockchain (S113). The database to be transferred may be, for example, a database managed by company A or company B that has expressed its intention to continue, or a database managed by another company or organization. For example, if the number of remaining organizations, excluding company C that has decided to withdraw from the multiple organizations (company A, company B, and company C), is equal to or greater than a sixth threshold, the management servers 200a-200c determine a device that manages a blockchain other than the one managed by the management servers 200a-200c as the designated transfer destination. In this case, the management servers 200a-200c determine the other blockchain as the transfer destination. On the other hand, if the number of remaining organizations is less than the sixth threshold, the management servers 200a-200c determine a device storing the database as the designated transfer destination. In this case, management servers 200a to 200c determine the transfer destination to be a device (for example, terminal 100a or terminal 100b) that has a database managed by company A or company B, which has expressed its intention to continue. In this example, the sixth threshold is 3. Note that the sixth threshold may be an integer other than 3 as long as it is an integer equal to or greater than 2.

[0100] Next, of the management servers 200a to 200c, the management servers 200a and 200b corresponding to companies A and B, which have indicated their intention to continue, prepare to transfer specific data, while the management server 200c corresponding to company C, which has not indicated its intention to continue, skips preparing to transfer specific data (S114).

[0101] Next, the management servers 200a and 200b corresponding to companies A and B, which have expressed their intention to continue, refer to the distributed ledger 205 provided on the management server and determine the specific data to be transferred (S115).

[0102] The specific data to be transferred may be determined based on a second rule. The second rule determines data having a specific attribute from among the data contained in all of the blockchains managed by the management servers 200a to 200c as the specific data to be transferred. The specific data may be data having, as an attribute, the identification information of company A or company B, which has expressed its intention to continue using the blockchain, or may be data having another specific attribute as an attribute. The identification information may be included in the data as the destination or as the sender. The specific attribute may be determined in advance by company A, company B, and company C. The specific attribute may be associated with the data contained in all of the blockchains.

[0103] The other specific attribute may be identification information of a device excluding devices with discontinued model numbers. In other words, the specific data may be a log associated with identification information of a device excluding devices with discontinued model numbers. The other specific attribute may also be a wallet address. In other words, the specific data may be data associated with a specific wallet address. The specific attribute may also be information indicating a specific organization, information indicating a specific user, or information indicating a specific device.

[0104] The determination of the specific data may be performed by a smart contract, and the smart contract for determining the specific data may be included in the smart contract generated in step S101.

[0105] Next, the management servers 200a and 200b determine the transfer destination as a predetermined device (S116). If the management servers 200a and 200b have determined the transfer destination to be another blockchain based on the results of step S113, they determine multiple management servers managing the other blockchain as the predetermined device. If the management servers 200a and 200b have determined the transfer destination to be a database based on the results of step S113, they determine either the terminal 100a of Company A or the terminal 100b of Company B as the predetermined device based on a predetermined rule. The predetermined rule defines the priority order of Company A, Company B, and Company C. The management servers 200a and 200b determine the terminal corresponding to the organization with the highest priority based on the predetermined rule as the predetermined device. Note that the predetermined rule may also determine the priority order based on the company's management indicators. The company's management indicators are indicators based on business ratings, ISO (International Organization for Standardization) compliance, privacy mark compliance, etc. The predetermined rule may also determine the priority order based on database or blockchain metrics, such as quality (OSS maintenance, licenses, security checks, blockchain decentralization), price (database storage costs, blockchain network maintenance costs), or performance (I / O speed).

[0106] The determination of the predetermined device may be performed by a smart contract. The smart contract for determining the predetermined device may be included in the smart contract generated in step S101. The example of Fig. 6 shows that the terminal 100a is determined as the predetermined device.

[0107] Having determined that the terminal 100a is the predetermined device, the management servers 200a and 200b transfer specific data to the terminal 100a (S117).

[0108] The specified device may be the management servers 200a and 200b. In this case, the management servers 200a and 200b may generate a new blockchain different from the blockchains 500 and 510 and store specific data in the new blockchain. In this case, the management servers 200a and 200b may generate the new blockchain together with other management servers.

[0109] The predetermined device may also be determined in advance, that is, step S113 may not be executed, and the predetermined device may be determined based on a predetermined rule.

[0110] The terminal 100a to which the specific data has been transferred stores the transferred specific data (S108).

[0111] 7 is a sequence diagram showing a third part of an example of the operation of the system according to the embodiment, which represents processing following the second part.

[0112] Once the transfer of the specific data is complete, the management servers 200a to 200c delete the distributed ledger 205 (S119). Specifically, the management servers 200a to 200c stop the functions of all blockchains managed by the management servers 200a to 200c. Stopping the functions of all blockchains involves, for example, stopping synchronization between the management servers 200a to 200c, stopping updates to the local distributed ledger 205, stopping communications related to the blockchain, and stopping processes related to the blockchain. Furthermore, stopping the functions of all blockchains may involve deleting the data that constitutes the local distributed ledger 205, or may involve physically deleting the distributed ledger 205.

[0113] When the shutdown of all blockchain functions is completed (S120), the management servers 200a to 200c generate recorded transaction data including the information indicating that the shutdown of all blockchain functions has been completed (S121).

[0114] The management servers 200a to 200c transfer the generated record transaction data to the deletion management blockchain system 300 (S122).

[0115] When the deletion management blockchain system 300 receives the record transaction data, it executes a consensus algorithm among the multiple nodes that make up the deletion management blockchain system 300 and records a block containing the record transaction data (S123).

[0116] The verification terminal 350 transmits a request to view the deletion records, which are data in the blockchains managed by the deletion management blockchain system 300 (S124). In response to the request, the deletion management blockchain system 300 transmits the deletion records to the verification terminal 350 (S125). This allows the verification terminal 350 to verify that all of the blockchains managed by the management servers 200a to 200c have been deleted by referring to the deletion records (S126).

[0117] FIG. 8 is a diagram illustrating an example of a smart contract according to an embodiment.

[0118] As shown in FIG. 8, the smart contract may include the timing of deletion determination, a priority order for determining the transfer destination, conditions for extracting transfer data (specific data), a sixth threshold for determining whether the transfer destination is another blockchain or a database, and the like.

[0119] [Effects, etc.] The control method according to this embodiment is a control method by a management server 200a (control device) that manages one or more blockchains, and determines whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule. If it is determined that one or more first blockchains should be deleted, at a predetermined timing, the function of one or more first blockchains that include the first data from among the one or more blockchains managed by the management server 200a is stopped.

[0120] According to this, when it is determined that one or more first blockchains should be deleted, the management server 200a stops the functions of all blockchains under its management, so that the data to be deleted can essentially be deleted from the network.

[0121] Furthermore, the management server 200a deletes the distributed ledger 205 that includes unnecessary data, thereby reducing the storage capacity required to hold unnecessary data.

[0122] The control method according to the present embodiment further includes generating first transaction data including a first smart contract for the determination, and storing the first transaction data in one or more blockchains. The determination is performed by the first smart contract.

[0123] According to this, the first smart contract determines whether or not to delete one or more first blockchains, and a determination based on the first rule can be automatically made. Furthermore, since the contract code of the first smart contract is stored in one or more blockchains and is made public, the logic for deleting one or more first blockchains can be verified. Therefore, the fairness of the determination can be guaranteed.

[0124] In the control method according to the present embodiment, the first rule is a rule that deletes one or more first blockchains when a first condition is satisfied, where the first condition is that a parameter related to the data size or processing load of the one or more first blockchains exceeds a first threshold.

[0125] Therefore, it is possible to delete a blockchain whose parameters related to data size or processing load exceed a first threshold.

[0126] In the control method according to the present embodiment, the determination is made when a second condition is satisfied, which is that a parameter related to the data size or processing load of one or more first blockchains exceeds a second threshold.

[0127] Therefore, when a parameter related to data size or processing load exceeds a second threshold, it is possible to determine whether or not to delete one or more first blockchains.

[0128] In the control method according to the present embodiment, the predetermined timing is a timing when a third condition is satisfied, which is that a parameter related to the data size or processing load of one or more first blockchains exceeds a third threshold.

[0129] Therefore, when the parameter related to the data size or processing load exceeds the third threshold, the functions of all blockchains managed by the control device can be stopped.

[0130] Furthermore, the control method according to the present embodiment further determines specific data from one or more blockchains based on a second rule, and transfers the specific data to a specific device before a predetermined timing. The second rule is a rule for determining data having a specific attribute as the specific data.

[0131] According to this, among the data that becomes unavailable on the blockchain when the functions of one or more blockchains are stopped, specific data that you want to keep is transferred to a specified device, so that even if the functions of one or more blockchains are stopped, you can still use the specific data.

[0132] In the control method according to the present embodiment, the predetermined device determined as the transfer destination controls another blockchain different from the one or more blockchains. The transferred specific data is stored in the other blockchain.

[0133] According to this, among the data that becomes unavailable on a blockchain when the functions of one or more blockchains are stopped, specific data that you want to keep is stored in another blockchain, so even if the functions of one or more blockchains are stopped, you can still use the specific data by accessing the other blockchains.

[0134] Furthermore, in the control method according to this embodiment, the number of nodes controlling the other blockchain is equal to or greater than a fourth threshold, or the block height of the other blockchain is equal to or greater than a fifth threshold.

[0135] This allows a more reliable blockchain to be selected as the transfer destination.

[0136] In the control method according to the present embodiment, the predetermined device stores a database, and the transferred specific data is stored in the database.

[0137] According to this, specific data that you want to keep among the data that will become unavailable on the blockchain when the functions of one or more blockchains are stopped is stored in a database, so even if the functions of one or more blockchains are stopped, you can still use the specific data by accessing the database.

[0138] Furthermore, in the control method according to this embodiment, the one or more blockchains are consortium-type blockchains in which multiple organizations participate. The one or more first blockchains are blockchains that have been determined to be deleted because a first organization among the multiple organizations has withdrawn from the one or more blockchains. If the number of remaining organizations among the multiple organizations excluding the first organization is equal to or greater than a sixth threshold, a device that manages a blockchain different from the one or more blockchains is determined as the predetermined device. If the number of remaining organizations is less than the sixth threshold, a device that stores a database is determined as the predetermined device.

[0139] Therefore, if the number of organizations is equal to or greater than the sixth threshold, the specific data is stored in another blockchain, allowing the specific data to continue to be managed by the consortium blockchain. Also, if the number of organizations is less than the sixth threshold, the specific data is stored in the database, allowing the specific data to be managed by the database.

[0140] The control method according to the present embodiment further includes generating second transaction data including a second smart contract for determining the specific data, and storing the second transaction data in one or more blockchains. The determination of the specific data is executed by the second smart contract.

[0141] Therefore, the specific data can be determined automatically by the second smart contract. In addition, the contract code of the second smart contract is stored in one or more blockchains and is made public, so that the logic of the specific data determination can be verified.

[0142] Furthermore, the control method according to the present embodiment further generates third transaction data including a third smart contract for determining the predetermined device, and stores the third transaction data in one or more blockchains. The predetermined device is determined by executing the third smart contract.

[0143] Therefore, the determination of the predetermined device can be automatically performed by the third smart contract. In addition, since the contract code of the third smart contract is stored in one or more blockchains and is made public, the logic of the determination of the predetermined device can be verified.

[0144] In addition, the control method according to this embodiment further records information indicating that the function of one or more blockchains has been stopped after the stoppage, and stores the information in a recording blockchain that is different from the one or more blockchains.

[0145] If the functions of one or more blockchains are stopped, the functions of one or more blockchains cannot be used. Therefore, by storing information indicating that the functions of one or more blockchains have been stopped in a recording blockchain, it is possible to refer to the fact that the functions of one or more blockchains have been stopped.

[0146] (Variations) (1) The control method according to the above embodiment is intended for a consortium-type blockchain, but it may be applied to a public blockchain or a private blockchain, without being limited to a consortium-type blockchain.

[0147] (2) In the system 1 according to the above embodiment, multiple blockchains 500 and 510 are managed, but the number of blockchains to be managed may be three or more, or may be one. In other words, the system 1 only needs to manage one or more blockchains.

[0148] (3) In the control method according to the above embodiment, the timing of the deletion determination is determined based on the block height, but this is not limited to this. The timing of the deletion determination may be determined based on a parameter related to the data size or a parameter related to the processing load. The timing of the deletion determination may be determined based on whether or not a second condition is satisfied. The second condition is that a parameter related to the data size or processing load of one or more first blockchains exceeds a second threshold.

[0149] (4) A scoring rule with weighted points may be used in the vote for continued use of the control method according to the above embodiment. For example, the voting points may be changed for each organization. The weighted points may be hard coded.

[0150] (5) In the voting for continued use of the control method according to the above embodiment, it has been explained that each organization has voting rights, but this is not limited to this, and the nodes that make up the blockchain may have voting rights.

[0151] (Supplementary Note) The following provides a supplementary explanation of the distributed ledger in the above embodiment or modification. Here, a blockchain will be described as an example of a distributed ledger, but the same applies to other distributed ledgers.

[0152] FIG. 9 is an explanatory diagram showing the data structure of a blockchain.

[0153] A blockchain is a chain of blocks, which are the units of record. Each block contains multiple transaction data and the hash value of the immediately preceding block. Specifically, block B2 contains the hash value of the previous block B1. A hash value calculated from the multiple transaction data contained in block B2 and the hash value of block B1 is then included in block B3 as the hash value of block B2. In this way, by connecting blocks in a chain while including the contents of the previous block as a hash value, tampering with the recorded transaction data is effectively prevented.

[0154] If past transaction data were to be changed, the hash value of the block would be different from before the change, and in order to make the altered block appear correct, all subsequent blocks would have to be recreated, which is extremely difficult in reality. This property is used to ensure that blockchains are tamper-resistant.

[0155] FIG. 10 is an explanatory diagram showing the data structure of the transaction data.

[0156] The transaction data shown in Figure 10 includes a transaction body P1 and a digital signature P2. The transaction body P1 is the data body included in the transaction data. The digital signature P2 is a digital signature generated for the hash value of the transaction body P1 using the signature key of the creator of the transaction data. More specifically, it is generated by encrypting the hash value with the private key of the creator of the transaction data. Examples of digital signature methods include ECDSA (Elliptic Curve Digital Signature Algorithm), CRYSTALS-Dilithium, Falcon, and SPHINCS+.

[0157] The transaction data has digital signature P2, making it virtually impossible to tamper with. If the transaction data were to be tampered with, verification using digital signature P2 would fail, revealing that the transaction data had been tampered with. This prevents tampering with the transaction body P1.

[0158] 11 and 12 are explanatory diagrams showing transaction data related to the execution of a smart contract, and processes related to the execution of a smart contract, respectively.

[0159] A series of processes related to the execution of a smart contract using a distributed ledger will be described with reference to Figures 11 and 12.

[0160] In step SB1, the node stores transaction data B11, including contract code B12 that describes the processing of the smart contract, in the distributed ledger B10. For example, the node acquires transaction data B11 by receiving the transaction data B11 from an information processing device via communication or by the node itself generating the transaction data B11, and stores the acquired transaction data B11 in the distributed ledger B10. Step SB1 is performed before executing the smart contract.

[0161] In step SB2, the node stores transaction data B15, including instructions B16 for executing the smart contract, in the distributed ledger B10. For example, the node receives transaction data B15 from an information processing device via communication and stores the received transaction data B15 in the distributed ledger B10.

[0162] In step SB3, in response to the transaction data B15 including the instruction B16 being stored in the distributed ledger B10 in step SB2, the node reads the contract code B12 from the distributed ledger B10 and executes processing based on the contract code B12. The results of the processing may be included in the transaction data and stored in the distributed ledger B10.

[0163] Through the above series of processes, when the distributed ledger system receives transaction data B15 including instructions B16 for executing a smart contract, it automatically (i.e., without manual intervention) executes the processing in accordance with the instructions B16, enabling highly efficient (i.e., high speed or short processing time). Achieving highly efficient processing has the effect of reducing power consumption. Furthermore, since no manual intervention is required, it is possible to prevent human tampering with information, fraud, or human error. Furthermore, since the results of the processing thus executed are stored in the blockchain, it is virtually impossible to tamper with the results of the processing.

[0164] In the above-described embodiments and modifications, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the software that realizes the control device of the above-described embodiments and modifications is the following program.

[0165] In other words, this program is a program for causing a computer to execute a control method by a control device that manages one or more blockchains, which determines whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it is determined that the one or more first blockchains should be deleted, stops the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device at a predetermined timing.

[0166] Although the control device according to one or more aspects has been described based on the embodiments, the present invention is not limited to these embodiments. As long as it does not deviate from the spirit of the present invention, various modifications conceivable by a person skilled in the art to the present embodiments, or configurations constructed by combining components of different embodiments, may also be included within the scope of one or more aspects.

[0167] The present disclosure is useful as a control method that allows data to be deleted without leaving it on the blockchain.

[0168] 1 System 100a to 100c Terminal 101 Communication unit 102 Input reception unit 103 Display unit 104 Control unit 105 Memory unit 106 Database 200 Permissioned blockchain system 200a to 200c Management server 201 Communication unit 202 Control unit 203 Recording unit 204 Transaction data verification unit 205 Distributed ledger 206 Smart contract execution unit 300 Blockchain system for deletion management 350 Verification terminal 400 Network 500, 510 Blockchain 501 to 503, 511 to 513 Block

Claims

1. A control method by a control device that manages one or more blockchains, comprising: determining whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule; and, if it is determined that the one or more first blockchains should be deleted, stopping, at a predetermined timing, the function of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device.

2. The control method of claim 1, further comprising: generating first transaction data including a first smart contract for the determination; storing the first transaction data in the one or more blockchains; and the determination being executed by the first smart contract.

3. The control method described in claim 1, wherein the first rule is a rule for deleting the one or more first blockchains when a first condition is satisfied, and the first condition is that a parameter related to a data size or processing load of the one or more first blockchains exceeds a first threshold.

4. The control method described in claim 2, wherein the determination is executed when a second condition is satisfied, and the second condition is that a parameter related to the data size or processing load of the one or more first blockchains exceeds a second threshold value.

5. The control method described in claim 1, wherein the specified timing is a timing when a third condition is satisfied, and the third condition is that a parameter related to the data size or processing load of the one or more first blockchains exceeds a third threshold.

6. A control method as claimed in any one of claims 1 to 5, further comprising: determining specific data among the one or more blockchains based on a second rule; and transferring the specific data to a specified device prior to the specified timing; and the second rule being a rule that determines data having a specific attribute as the specific data.

7. The control method according to claim 6, wherein the specified device controls another blockchain different from the one or more blockchains, and the transferred specific data is stored in the other blockchain.

8. The control method according to claim 7, wherein the number of nodes controlling the other blockchain is equal to or greater than a fourth threshold, or the block height of the other blockchain is equal to or greater than a fifth threshold.

9. The control method according to claim 6, wherein the predetermined device stores a database, and the transferred specific data is stored in the database.

10. The control method described in claim 6, wherein the one or more blockchains are consortium-type blockchains in which multiple organizations participate, the one or more first blockchains are blockchains that have been determined to be deleted because a first organization among the multiple organizations is withdrawing from the one or more blockchains, and when the number of multiple remaining organizations among the multiple organizations excluding the first organization is equal to or greater than a sixth threshold, a device that manages a blockchain different from the one or more blockchains is determined as the specified device, and when the number of the multiple remaining organizations is less than the sixth threshold, a device that stores a database is determined as the specified device.

11. The control method of claim 6, further comprising: generating second transaction data including a second smart contract for determining the specific data; storing the second transaction data in the one or more blockchains; and the determination of the specific data is executed by the second smart contract.

12. The control method of claim 6, further comprising: generating third transaction data including a third smart contract for determining the specified device; storing the third transaction data in the one or more blockchains; and determining the specified device by executing the third smart contract.

13. A control method as claimed in any one of claims 1 to 5, further comprising, after said stopping, recording information indicating that the function of said one or more blockchains has been stopped, and storing said information in a recording blockchain different from said one or more blockchains.

14. A system comprising a control device that manages one or more blockchains, the system comprising a processor and a memory, wherein the processor uses the memory to determine whether or not to delete one or more first blockchains that include first data from among the one or more blockchains based on a first rule, and if it is determined that the one or more first blockchains should be deleted, the system stops functioning of the one or more first blockchains that include the first data from among the one or more blockchains managed by the control device at a predetermined timing.

15. A program for causing a computer to execute the control method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Control method, server, and program

    WO2023013481A1