Information processing method, information processing device, and program
By evaluating signature security through mining indicators and adjusting rewards, the method and device facilitate a timely transition to more secure signature methods in distributed ledger systems, ensuring the integrity of transaction data and smart contracts.
Patent Information
- Application Number
- PCT/JP2025/013458
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-05
- Filing Date
- 2025-04-02
- Publication Date
- 2025-10-09
AI Technical Summary
The security of signature methods in distributed ledger systems is compromised by advancements in computer computing power, necessitating a transition to more secure signature methods, but determining the appropriate timing and selecting important transaction data for migration poses challenges.
An information processing method and device that evaluate the security of signature algorithms using mining-related indicators, adjust mining rewards, and determine whether to execute smart contracts based on these indicators to encourage a transition to more secure signature methods.
This approach prevents the storage and execution of transaction data with less secure signatures, encouraging a timely transition to more secure signature schemes by adjusting mining rewards and reducing the priority of less secure signatures in the distributed ledger.
Smart Images

Figure JP2025013458_09102025_PF_FP_ABST
Abstract
Description
Information processing method, information processing device, and program
[0001] The present disclosure relates to an information processing method, an information processing device, and a program.
[0002] Transaction data recorded using a distributed ledger system such as a blockchain includes not only the transaction itself but also a digital signature (also simply referred to as a signature) assigned by the generator of the transaction data (see, for example, Patent Document 1).
[0003] Patent No. 7550941
[0004] The security of signature methods (also called signature algorithms) for generating signatures is subject to deterioration due to improvements in computer computing power, etc., so in the future it is desirable to transition to more secure signature methods, such as by changing the key length or by transitioning to next-generation algorithms.
[0005] Therefore, the present disclosure provides an information processing method, an information processing device, and a program that can support the transition to a highly secure signature method.
[0006] An information processing method according to one aspect of the present disclosure is an information processing method executed by one of multiple nodes constituting a distributed ledger system, which acquires transaction data including instruction information for executing a first smart contract stored in a distributed ledger and an electronic signature, determines whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on mining indicators of one or more of the multiple nodes, and if it is determined not to execute the first smart contract, does not execute the first smart contract by not storing the transaction data in the distributed ledger.
[0007] An information processing device according to one aspect of the present disclosure is an information processing device that is one of multiple nodes constituting a distributed ledger system, and includes: an acquisition unit that acquires transaction data including instruction information for executing a first smart contract stored in a distributed ledger and an electronic signature; and an execution unit that determines whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on mining indicators of one or more nodes among the multiple nodes; and if it is determined not to execute the first smart contract, the smart contract is not executed by not storing the transaction data in the distributed ledger.
[0008] A program according to one aspect of the present disclosure is a program for causing a computer to execute the above-described information processing method.
[0009] According to one aspect of the present disclosure, it is possible to realize an information processing method or the like that can support a transition to a highly secure signature method.
[0010] FIG. 1 is a diagram illustrating the configuration of an information processing system according to an embodiment. FIG. 2 is a block diagram illustrating the functional configuration of a ledger server according to an embodiment. FIG. 3 is a sequence diagram illustrating the operation of an information processing system according to an embodiment. FIG. 4 is a table illustrating the relationship between the hash rate and smart contracts for which mining rewards are to be reduced according to an embodiment. FIG. 5 is an explanatory diagram illustrating the data structure of a blockchain, which is an example of a distributed ledger. FIG. 6 is an explanatory diagram illustrating the data structure of transaction data. FIG. 7 is an explanatory diagram illustrating transaction data related to the execution of a smart contract. FIG. 8 is a flowchart illustrating processing related to the execution of a smart contract. FIG. 9 is an explanatory diagram illustrating the structures of NFTs and metadata.
[0011] (Background to the Invention of the Present Disclosure) Before describing the present disclosure, the background to the invention of the present disclosure will be described.
[0012] As described in the above "Problem to be Solved by the Invention," the security of signature schemes is compromised by improvements in computer computing power, and therefore, it is desirable to take measures to improve the security of signature schemes in the future, such as changing the key length or migrating to a next-generation algorithm. Improvements in computer computing power are achieved through advances in computers. Examples of advances in computers include improvements in the performance of conventional computers (e.g., so-called classical computers) and the development of next-generation computers such as quantum computers. Examples of next-generation algorithms include, but are not limited to, PQC (Post-Quantum Cryptography). The key length of a signature algorithm and the signature algorithm are examples of a signature scheme. Changing the key length of a signature algorithm (e.g., making it longer) and migrating the signature algorithm to a next-generation algorithm are examples of migrating a signature scheme. Transitioning the signature algorithm to a next-generation algorithm may be, for example, transitioning from a signature algorithm that is not quantum-resistant to a signature algorithm that is quantum-resistant.
[0013] On the other hand, changing the key length or migrating to a next-generation algorithm requires more resources for, for example, signature generation and verification, so it is desirable to migrate at an appropriate time. In other words, in order to prepare for a possible compromise that could cause doubts about the security of the signature method used in blockchains, etc. (i.e., the security of the signature method is low), it is desirable to appropriately determine the timing of the migration (e.g., the start of the migration). However, determining the right time to migrate is difficult even for experts.
[0014] Therefore, the inventors of the present application have conducted extensive research into information processing methods and the like that can assist in the transition to a more secure signature method at a more appropriate time, and have devised the information processing methods and the like shown below.
[0015] Furthermore, because the migration cost of migrating signature methods is high, it is conceivable to migrate signature methods only for important transaction data (also called Tx) in the early stages of the migration, but there are also issues regarding how to select important transaction data.
[0016] Therefore, the inventors of the present application are also conducting extensive research into information processing methods and the like that can assist in selecting transaction data to be migrated.
[0017] An information processing method according to a first aspect of the present disclosure is an information processing method executed by one of multiple nodes constituting a distributed ledger system, which acquires transaction data including instruction information for executing a first smart contract stored in a distributed ledger and an electronic signature, determines whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on mining-related indicators of one or more of the multiple nodes, and if it is determined not to execute the first smart contract, does not store the transaction data in the distributed ledger, thereby not executing the first smart contract.
[0018] This prevents transaction data containing digital signatures generated using a less secure signature scheme from being stored in the distributed ledger, i.e., prevents command information included in the transaction data from being stored in the distributed ledger, thereby preventing smart contracts from being executed. In other words, to ensure the execution of smart contracts, the generator of the transaction data can be encouraged to switch to a more secure signature scheme. This makes it possible to realize an information processing method that can support the switch to a more secure signature scheme.
[0019] Furthermore, for example, the information processing method according to the second aspect may be the information processing method according to the first aspect, which calculates a mining reward to be obtained by storing the transaction data in the distributed ledger based on the indicator, and if the calculated mining reward is lower than a predetermined value, determines not to execute the first smart contract by not storing the transaction data in the distributed ledger.
[0020] This will help transition the signature scheme at the appropriate time based on mining rewards.
[0021] Also, for example, an information processing method according to a third aspect is an information processing method according to the second aspect, wherein the determination is performed using a table in which the indicator is associated with information indicating the first smart contract, and the table includes information indicating that the mining reward is reduced the fewer the number of times the first smart contract is executed, and the mining reward for the transaction data may be calculated based on the information indicating that the mining reward is reduced.
[0022] This makes it possible to use the table to support effective migration of signature methods for signatures that would have a large impact if decrypted.
[0023] Also, for example, an information processing method according to a fourth aspect may be the information processing method according to the third aspect, in which the table is stored in a distributed ledger.
[0024] This makes it possible to determine whether or not to switch signature schemes using a correct table that has not been tampered with, thereby obtaining a more accurate determination result.
[0025] Furthermore, for example, an information processing method according to a fifth aspect is an information processing method according to any one of the second to fourth aspects, in which the index is information indicating the mining speed including the hash rate, and the higher the hash rate, the more the mining reward may be reduced.
[0026] This makes it possible to support the transition of signature methods at an appropriate time according to information indicating the mining speed or difficulty of mining.
[0027] Furthermore, for example, an information processing method according to a sixth aspect is an information processing method according to any one of the second to fourth aspects, wherein the index is information indicating the mining difficulty set in the electronic signature, and if the mining difficulty when mining the transaction data exceeds the mining difficulty set in the electronic signature, the mining reward may be reduced.
[0028] This makes it possible to support the transition of signature methods at a time appropriate to the hash rate.
[0029] Furthermore, for example, the information processing method according to the seventh aspect may be an information processing method according to any one of the first to sixth aspects, and if it is determined that the execution will not be carried out, may notify the creator of the transaction data that it has not been stored in a block.
[0030] This will encourage the creator of the transaction data to switch signature methods.
[0031] Furthermore, for example, the information processing method according to the eighth aspect may be an information processing method according to any one of the first to sixth aspects, and if it is determined that the transaction will not be executed, it may notify that the signature method used to generate the signature included in the transaction data will be switched to a more secure signature method.
[0032] This effectively encourages the creator of transaction data to migrate to a next-generation signature method.
[0033] Furthermore, for example, an information processing method according to a ninth aspect may be the information processing method according to the eighth aspect, wherein the transition to the highly secure signature scheme includes at least one of increasing the key length of a signature algorithm that generates a signature, and changing from a signature algorithm that is not quantum-resistant to a signature algorithm that is quantum-resistant.
[0034] This effectively encourages a transition to a more secure signature method by at least one of increasing the key length of the signature algorithm and transitioning to a signature algorithm compatible with quantum-computer-resistant cryptography.
[0035] Furthermore, for example, an information processing device according to a tenth aspect is an information processing device that is one of a plurality of nodes constituting a distributed ledger system, and includes an acquisition unit that acquires transaction data including instruction information for executing a first smart contract stored in a distributed ledger and an electronic signature, and an execution unit that determines whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on indicators related to mining of one or more of the plurality of nodes, and if it is determined not to execute the first smart contract, the smart contract is not executed by not storing the transaction data in the distributed ledger.
[0036] This provides the same effect as the above-described information processing method.
[0037] A program according to an eleventh aspect is a program for causing a computer to execute the information processing method according to any one of the first to ninth aspects.
[0038] This provides the same effect as the above-described information processing method.
[0039] These general or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a non-transitory recording medium such as a computer-readable CD-ROM, or as any combination of the system, method, integrated circuit, computer program, or recording medium. The program may be pre-stored in the recording medium, or may be supplied to the recording medium via a wide area communication network including the Internet.
[0040] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0041] The embodiments described below are all comprehensive or specific examples. The numerical values, components, component placement and connection configurations, steps, and step order 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 not described in independent claims are described as optional components.
[0042] Furthermore, each figure is a schematic diagram and is not necessarily an exact illustration. Therefore, for example, the scales of the figures do not necessarily match. Furthermore, in each figure, substantially the same components are given the same reference numerals, and redundant explanations are omitted or simplified.
[0043] Furthermore, in this specification, numerical values and numerical ranges are not expressions that express only the strict meaning, but are expressions that mean that they also include a substantially equivalent range, for example, a difference of about several percent (or about 10%).
[0044] (Embodiment) Hereinafter, an information processing method and the like according to the present embodiment will be described with reference to FIGS.
[0045] [1. Configuration of Information Processing System] First, the configuration of an information processing system according to this embodiment will be described with reference to Fig. 1 and Fig. 2. Fig. 1 is a diagram showing the configuration of an information processing system 10 according to this embodiment. Note that Fig. 1 shows an exemplary functional configuration of the information processing system 10, and the functional configuration of the information processing system 10 is not limited to that shown in Fig. 1.
[0046] As shown in Figure 1, the information processing system 10 includes ledger servers 100a, 100b, and 100c. These are communicatively connected via a communication network (not shown). The ledger servers 100a, 100b, and 100c form a ledger system (distributed ledger system). In other words, each of the ledger servers 100a, 100b, and 100c is one of multiple participating nodes (nodes) that make up the ledger system.
[0047] A ledger system is a system that stores information using a distributed ledger. A variety of data can be stored in the distributed ledger of the ledger system. The data stored in the distributed ledger of the ledger system may be, for example, the generation history of NFTs (Non-Fungible Tokens) associated with objects in real space, and the history of changes to the NFTs. The information included in the NFTs is not particularly limited, and may include information regarding transactions of goods, etc.
[0048] The ledger system can execute processes using smart contracts (SCs) using a distributed ledger, and can generate NFTs and perform processes related to updating NFTs using smart contract processes.
[0049] The ledger server 100a is a computer server that holds and manages a distributed ledger. The ledger server 100a holds the distributed ledger and updates it while synchronizing with other ledger servers (specifically, ledger servers 100b and 100c).
[0050] The ledger servers 100b and 100c are similar to the ledger server 100a, but operate independently of the ledger server 100a.
[0051] Hereinafter, the ledger servers 100a, 100b, and 100c will also be referred to as ledger servers 100a, etc. (ledger servers 100a to 100c). Furthermore, the storage devices 101a, 101b, and 101c will also be referred to as storage devices 101a, etc. (storage devices 101a to 101c).
[0052] The ledger server 100a etc. is connected to the storage device 101a etc. The ledger server 100a etc. may be connected to the storage device 101a etc. via a communication network, or may include the storage device 101a etc. internally. The storage device 101a etc. has a distributed ledger in which transaction data and blocks of the blockchain are electronically recorded.
[0053] The ledger system manages a distributed ledger using a blockchain. The number of ledger servers that make up the ledger system is not limited to three, and may be three or more.
[0054] In this embodiment, the ledger server 100a is a server (also called a miner terminal) managed by a miner who executes the mining process of the blockchain, and the ledger server 100b is a server (also called a user terminal) managed by a user who transmits transaction data to the miner terminal. Note that the user terminal may be a server (not shown) that does not hold a distributed ledger, and this server may be connected to the ledger server 100b that holds a distributed ledger via a communication network.
[0055] The information processing system 10 executes processing to support the implementation of measures to improve the security of the signature algorithm of the signature included in the transaction data at a more appropriate time. Specifically, the information processing system 10 evaluates the security of the signature algorithm by using a mining-related index determined by the computational capabilities of the participating nodes of the distributed ledger, and sets mining rewards for miner terminals according to the index.
[0056] More specifically, if a signature assigned to transaction data containing command information for executing a specific smart contract is a low-security signature (also known as a conventional signature) that is set according to a mining index, the information processing system 10 may set a lower mining reward than if the signature is a highly secure signature. For example, consider a case where the mining index indicates the difficulty of mining. The mining difficulty may be the mining difficulty set in the signature included in the transaction data. If the mining difficulty at the time of mining exceeds the mining difficulty set in the conventional signature, the mining reward for transaction data containing command information for executing a smart contract and the conventional signature may be set to a lower amount. If the mining reward is preset to a predetermined amount, the predetermined amount may be reduced or set to zero. If the mining reward for transaction data is lower than a predetermined value, the miner terminal may lower the priority of storing transaction data in a block. This can encourage the miner terminal not to store transaction data containing a conventional signature in a block (i.e., not storing the transaction data in the distributed ledger, thereby not executing the smart contract). This allows the generator of transaction data to be prompted to switch to a more secure signature method for generating signatures included in transaction data. The information processing system 10 determines the timing of the signature method transition based on mining-related indicators.
[0057] Note that smart contracts stored in a distributed ledger are executed when transaction data containing command information for executing the smart contract is stored in the distributed ledger. On the other hand, if transaction data containing a conventional signature is not stored in a distributed ledger, the command information for executing the smart contract included in the transaction is also not stored in the distributed ledger, and the smart contract is not executed. This reduces the number of times the smart contract is used.
[0058] A conventional signature refers to a signature generated using a conventional key length (the key length used when generating transaction data) or a conventional signature algorithm (the signature algorithm used when generating transaction data). In other words, a conventional signature is a signature generated using a signature method before the signature method was changed. Key lengths include, but are not limited to, 128 bits, 256 bits, 512 bits, 1024 bits, 2048 bits, 3072 bits, and 4096 bits. Conventional signature algorithms include, but are not limited to, RSA and DSA (Digital Signature Algorithm).
[0059] Examples of mining indicators include hash rate (i.e., mining speed), which will be described later, and mining difficulty. Mining difficulty indicates that the lower the hash value of a block in the blockchain, the more difficult it is to mine. Below, we will explain an example in which the mining indicator is hash rate.
[0060] This reduces the priority of miner terminals for including transaction data containing signatures generated using the compromised signature scheme in blocks, thereby encouraging transaction data generators to switch to signature schemes with improved security. The term "hash rate" refers to the computing power per unit time used by a miner terminal when mining, or the mining speed (the speed at which hash values required for blockchain technology are calculated). The term "hash rate" used here refers to the overall hash rate of all miners that make up the blockchain. For example, the hash rate of all miners may be calculated by adding up the hash rates of each miner terminal.
[0061] The components of the ledger server 100a and the like will be described below with reference to Fig. 2. Fig. 2 is a block diagram showing the functional configuration of the ledger server 100a according to this embodiment. Since the configurations of the ledger servers 100b and 100c are similar to that of the ledger server 100a, the ledger server 100a will be used as an example for the description. Note that Fig. 2 shows an exemplary functional configuration of the ledger server 100a, and the functional configuration of the ledger server 100a is not limited to that shown in Fig. 2.
[0062] 2, the ledger server 100a includes a communication unit 111, a ledger management unit 112, an execution unit 113, a storage unit 114, and a transaction data generation unit 115. At least some of the functional units included in the ledger server 100a are realized by a processor (e.g., a CPU) included in the ledger server 100a executing a program using a memory.
[0063] The communication unit 111 is a communication interface communicatively connected to a communication network. The communication unit 111 may be a communication interface for a wired communication standard (e.g., Ethernet (registered trademark) or the like), or may be a communication interface for a wireless communication standard (e.g., Wi-Fi (registered trademark) or the like, or a mobile communication system (3G, 4G, 5G, or the like)). The communication unit 111 is used when a functional unit included in the ledger server 100a communicates with another device. For example, the communication unit 111 is used when a functional unit included in the ledger server 100a communicates with either the ledger server 100b or 100c. The communication unit 111 may be configured to include, for example, a communication circuit (or a communication module).
[0064] The ledger management unit 112 processes the distributed ledger 114a and transaction data. Specifically, when the ledger management unit 112 receives transaction data, it verifies the digital signature (also called an electronic signature) included in the received transaction data, and controls the storage of successfully verified transaction data in the distributed ledger 114a held by the storage unit 114. When storing transaction data in the distributed ledger 114a, the ledger management unit 112 generates a block including the transaction data to be stored, and can control the storage of the generated block in the distributed ledger 114a when agreement is reached with the ledger management units of the other ledger servers, ledger servers 100b and 100c.
[0065] The ledger management unit 112 acquires transaction data containing instruction information for executing a smart contract and an electronic signature (also referred to as a signature). When mining the acquired transaction data, the ledger management unit 112 determines whether the signature scheme used to generate the signature included in the transaction data is a target for transition to a more secure signature scheme (i.e., whether the signature scheme is a less secure signature scheme). Specifically, the ledger management unit 112 determines the mining reward for the transaction data based on the signature scheme used to generate the signature included in the transaction data and a table recorded on the distributed ledger 114a (e.g., the table shown in FIG. 4, described later). As will be described in detail later, the table sets the mining reward so that the higher the hash rate, the lower the mining reward. The ledger management unit 112 determines whether to store the transaction data in a block based on the mining reward. Here, a high hash rate indicates a low level of security for the signature scheme (in other words, a high possibility that the signature scheme has been compromised). Therefore, a signature scheme with a high hash rate is determined to be a target for transition to a more secure signature scheme. In other words, if it is determined that the signature method should be migrated to a more secure signature method, the mining reward will be set low. When the mining reward is set low, the priority of the miner terminal to store the transaction data in a block will be lowered.
[0066] Processing related to mining rewards may be performed using smart contracts or without using smart contracts.
[0067] The execution unit 113 executes information processing. The execution unit 113 can execute information processing by, for example, executing a smart contract using the distributed ledger 114a. As an example of information processing, the execution unit 113 executes information processing related to NFTs, such as processing to generate NFTs, and processing related to the payment of mining rewards. Note that when a smart contract is not used, the execution unit 113 executes information processing according to normal program code.
[0068] The storage unit 114 is a storage device that stores information. The storage unit 114 stores the distributed ledger 114a. The storage unit 114 is realized by a non-volatile storage device (SSD or HDD) or the like.
[0069] The distributed ledger 114a stores data having a structure in which blocks, each containing one or more transaction data, are linked in a chain. The one or more transaction data stored in the distributed ledger 114a include transaction data containing the contract code of a smart contract, transaction data containing instruction information for executing the smart contract, or transaction data containing other information. The other information may include information about the hash rate (the hash rate of all miners) (e.g., the hash rate and a history of changes in the hash rate). The other information may also include information about the table shown in FIG. 4 (described below) (e.g., a URL indicating the table). In this embodiment, the distributed ledger 114a is a blockchain.
[0070] The transaction data generation unit 115 generates transaction data to be stored in the blockchain. For example, the transaction data generation unit 115 generates transaction data including a blockchain address held by a user, a data body to be managed in the blockchain, and a signature. The transaction data generation unit 115 may also generate transaction data including the contract code of a smart contract and command information for executing the smart contract. Storing transaction data including the contract code of a smart contract in the distributed ledger allows the smart contract to be deployed. Storing transaction data including command information for executing the smart contract in the distributed ledger allows the smart contract stored in the distributed ledger to be executed.
[0071] 2. Operation of Information Processing System Next, the operation of the information processing system 10 configured as described above will be described with reference to FIGS. 3 and 4. FIG. 3 is a sequence diagram showing the operation (information processing method) of the information processing system 10 according to this embodiment. FIG. 3 shows processing of usage transaction data (usage Tx) including command information for executing a smart contract and an electronic signature. The usage Tx may include information on a usage fee to be paid to the smart contract in order to execute the smart contract.
[0072] As shown in Figure 3, the ledger server 100b sends the usage Tx to the storage device 101a (S10). The usage Tx includes a conventional signature using a conventional signature method, command information for executing the smart contract, and an identifier for the smart contract. The usage Tx is stored (added) to the storage device 101a. The usage Tx can also be said to be stored in a Tx pool, which stores transaction data before it is stored in a block. The Tx pool is a temporary list that stores transaction data and is maintained by each node in the ledger system. The Tx pool can also be said to exist so that miners can select Txs to mine.
[0073] In addition, the usage Tx is not limited to being transmitted from the nodes that make up the ledger system, but may also be transmitted from an information processing device that is communicatively connected to the nodes of the ledger system.
[0074] Next, the communication unit 111 of the ledger server 100a acquires one or more transaction data from the storage device 101a (S20). Assume that the acquired one or more transaction data includes a usage Tx. The communication unit 111 functions as an acquisition unit.
[0075] Next, the ledger management unit 112 of the ledger server 100a acquires a table stored in the distributed ledger 114a (for example, the table shown in FIG. 4, which will be described later) (S30). The ledger management unit 112 references the acquired table and determines whether to execute a smart contract by storing the acquired transaction data in a distributed ledger (which may be a blockchain). Note that this determination can also be interpreted as determining whether the signature method used to generate the signature included in the transaction data is a low-security signature method, or whether the signature method should be migrated to a high-security signature method.
[0076] The table acquired by the ledger management unit 112 will now be described with reference to FIG. 4. FIG. 4 is a table showing the relationship between hash rates and smart contracts (also referred to as migration target SCs) for which mining rewards are to be reduced according to this embodiment. The table may also show the relationship between hash rates and multiple smart contracts stored in a distributed ledger. The table shown in FIG. 4 associates hash rates with the usage ranking of migration target SCs. The execution of a smart contract is expressed as "use." The usage ranking may be a ranking of the number of uses (also referred to as the number of executions), or it may indicate the top percentage of usages among all smart contracts. The lowest usage ranking can be said to be ranked in the top 100%. The table may also associate hash rates, usage rankings, and smart contract identifiers. The table shown in FIG. 4 can also be considered a rule indicating whether to set the mining reward for transaction data containing command information for executing a smart contract to zero. The table shown in FIG. 4 may also show the relationship between hash rates and mining rewards. At the time of executing the process shown in FIG. 3, it takes 2 128 The following description will be given on the assumption that calculations are required.
[0077] As shown in FIG. 4, the table associates each hash rate with the usage count ranking of each migration target SC.
[0078] The hash rate (hash / s) is the hash rate of all miners, and may be a value corresponding to the amount of calculation required for all miners to generate one block. In the example of FIG. 4, the hash rate is 2 24 , 2 48 , 2 72 , 2 96 , 2 128 The number of hash rates may be six or more or four or less.
[0079] The top X% (X is any value between 0 and 100) shown in the item of SC to be migrated indicates the percentage of SCs to be migrated out of all SCs stored in the distributed ledger. For example, if the hash rate of all SCs is 2 48 The migration target SC, which is a smart contract corresponding to the above, occupies the top 25% (i.e., has a high usage count ranking). In the example of Figure 4, the lower the usage count ranking of the SC, the more the mining reward paid to the miner is reduced. In this embodiment, the mining reward for the migration target SC with the lowest usage count ranking is zero. Note that as the hash rate increases, the security of conventional signatures decreases, so more smart contracts need to be migrated to next-generation signatures. For this reason, the table shown in Figure 4 is designed to encourage migration to next-generation signatures as the hash rate increases.
[0080] For example, if the hash rate is 2 24 In the case of a smart contract that corresponds to the top 0% of hash / s, i.e., the number of times it is used, it would take a long time to decipher the signature even if all miners were involved in fraud, so it is considered that there is little risk in continuing to use the signature, and therefore the signature method that generated the signature is determined not to be a target for transition to a more secure signature method.
[0081] On the other hand, the hash rate is 2 128For a smart contract with the highest hash / s (i.e., the highest usage count), if all miners are involved in fraud, the signature could be decrypted in the time it takes to generate one block. Therefore, the continued use of the signature is considered to be highly risky, and if a process (mining) is performed to store transaction data containing the signature in a block, only a reduced mining reward will be obtained. If transaction data containing the signature is not stored in the blockchain, the smart contract will not be executed, and the smart contract's usage count ranking will be lowered. This can encourage transaction data generators to switch to a more secure signature method to ensure the reliable execution of smart contracts.
[0082] Also, the table shows that the hash rate is 2 24 As hash / s increases, the ratio of SCs to be migrated increases. The table includes information indicating that the mining rewards of smart contracts with low usage counts are preferentially reduced.
[0083] In this way, if the signature method for transaction data is a conventional signature and the smart contract is subject to migration from the current hash rate, the mining reward will be low or zero.
[0084] If mining rewards become low or zero, miners will have less motivation to store the transaction data in a block, and so will not store the transaction data in a block. This makes it harder for transaction data with traditional signatures to be stored in the distributed ledger, encouraging users of traditional signatures to use signature methods with improved security.
[0085] 4 may be created by the participating nodes of the BC. For example, all participating nodes of the BC have the authority to create tables, and when a table created by one participating node is approved by each participating node, the table may be stored in the BC. Also, for example, a specific node among the participating nodes of the BC may have the authority to create tables, and the table created by that specific node may be stored in the BC.
[0086] The computing power of each miner terminal is publicly available and can be identified by its mining speed, which indicates the speed at which blocks are generated. The speed at which blocks are generated by the miner terminals may be obtained from all miner terminals constituting the blockchain, and the hash rate of all miners may be calculated using the obtained mining speeds of all miner terminals to generate the table shown in FIG. 4. One of the miner terminals constituting the blockchain may generate the table. The table may also be generated automatically by executing a smart contract. It is not limited to a smart contract; a node other than the miner terminal may generate the table, and the generated table may be approved by the ledger server.
[0087] The hash rate may change due to changes in the performance of the information processing devices used by miners, an increase or decrease in the number of miners participating in the ledger system, etc. For example, the hash rate may improve if an information processing device with higher processing power is used, or if an increase in the number of miners participating in the ledger system occurs. Therefore, the device that creates the table may periodically obtain the mining speed from each miner terminal and calculate the hash rate of all miners, thereby updating the table at a predetermined frequency.
[0088] Furthermore, a minor terminal or a node different from the minor terminal may count the number of times a smart contract is executed by storing transaction data in the distributed ledger. The minor terminal or node may update the table at a predetermined frequency based on the count. Specifically, when a change occurs in the number of times a smart contract is executed, the minor terminal or node calculates the ranking of the smart contract in terms of the number of times the smart contract is executed. Then, when the minor terminal or node determines that the ranking of the smart contract has changed, it updates the table by changing the ranking of the smart contract in the table.
[0089] In step S10, before transmitting the usage Tx, the ledger server 100b checks the table shown in FIG. 4 to determine whether the usage Tx to be transmitted will be stored in the distributed ledger and the SC will be executed. If it is determined that the usage Tx will not be executed, the usage Tx may include a signature generated using a signature algorithm with a longer key length than the current one or a next-generation signature algorithm such as PQC. This determination may also determine whether the signature method used to generate the signature included in the transaction data is a low-security signature method or whether the signature method should be migrated to a high-security signature method. The determination of whether the signature method used to generate the signature included in the transaction data is a low-security signature method may be made by determining that the signature method is low in security if the key length of the signature method is shorter than a predetermined key length, or by determining that the signature method is a method other than a next-generation signature method such as PQC. The ledger server 100b can obtain the top percentage of usage counts of the SC to be used by analyzing all past transaction data stored in the distributed ledger.
[0090] In addition, in the process in which a minor terminal lowers the priority of including transaction data including a signature generated using a less secure signature method in a block, the process of lowering the priority may be a process of delaying the timing of storing the transaction data in the block, or a process of not storing the transaction data in the block. Delaying the timing may mean storing transaction data including a signature not generated using a less secure signature method in the block in order from among the multiple transaction data stored in the Tx pool, and then storing transaction data including a signature generated using a less secure signature method in the block.
[0091] Referring back to FIG. 3, the ledger management unit 112 next determines whether to include the usage Tx containing the conventional signature in a block based on the hash rate of the minor terminal 100a at the time of executing the process of FIG. 4 and the acquired table (S40). Here, it is assumed that the usage Tx further includes the identifier of the smart contract to be executed. Specifically, the ledger management unit 112 identifies the smart contract identifier that matches the smart contract identifier included in the usage Tx from the table of FIG. 4. Next, the ledger management unit 112 again refers to the table of FIG. 4 to identify the hash rate or usage count ranking corresponding to the identified smart contract identifier. Then, the ledger management unit 112 determines the amount of mining reward corresponding to the hash rate or usage count ranking. If the determined amount of mining reward is lower than a predetermined value, the ledger management unit 112 determines not to store the usage Tx in a block (No in S40). For example, if the usage count ranking of the SC executed by storing the used Tx in a block is low or the hash rate is high, the ledger management unit 112 determines that the mining reward will be reduced to zero and determines not to include the used Tx in the block (No in S40). This is an example of determining not to execute a smart contract by not storing transaction data in the distributed ledger.
[0092] In this case, the ledger management unit 112 of the ledger server 100a creates a block that does not include any spent Tx (S50). In this way, transaction data with low or zero mining rewards (here, spent Tx) is not mined, and therefore such transaction data is not stored in a block.
[0093] Next, the execution unit 113 notifies the ledger server 100b (i.e., the user) of information that the used Tx has not been stored in the block (S60). The notification content may be information indicating that it has been determined that the used Tx should not be stored in the block, information indicating that the signature method needs to be changed, or information indicating a signature method that is recommended to be used.
[0094] This effectively prompts users to sign using a private key with a longer key length or a next-generation algorithm in order to use the SC to be migrated.
[0095] In addition, if the SC used by the usage Tx is not the SC to be migrated, that is, if a mining reward can be obtained (for example, if the reward is not reduced), the execution unit 113 determines to include the usage Tx in a block (Yes in S40).
[0096] In this case, the ledger management unit 112 creates a block including the used Tx (S70).
[0097] Steps S50 and S70 are an example of generating a block according to the determination result.
[0098] Next, the ledger management unit 112 sends the created block to the distributed ledger 114a (S80), thereby storing the block in the distributed ledger 114a.
[0099] Here, the data structure of a distributed ledger, the execution of smart contracts, and the data structure of NFTs will be described with reference to Figures 5 to 9.
[0100] FIG. 5 is an explanatory diagram showing the data structure of a blockchain, which is an example of a distributed ledger.
[0101] A blockchain is a chain of blocks, which are units of record. Each block contains multiple transaction data and the hash value of the previous block.
[0102] FIG. 5 shows blocks B1, B2, and B3 included in the blockchain.
[0103] For example, block B2 contains the hash value of the previous block B1, which is calculated by performing a hash algorithm on the contents of block B1.
[0104] Furthermore, block B3 includes, as the hash value of block B2, a hash value calculated from multiple transaction data included in block B2 and the hash value of block B1.
[0105] In this way, a blockchain is structured so that blocks containing the contents of the previous block as a hash value are connected in a chain, which effectively prevents tampering with the recorded transaction data.
[0106] If past transaction data is changed (in other words, tampered with), the hash value of the block containing that transaction data will be different from the value before the change. In that case, to make the block containing the changed transaction data appear correct, all blocks after that block in the distributed ledger stored on multiple servers would have to be recreated, which is extremely difficult in reality. This feature makes it virtually impossible to tamper with transaction data contained in the blockchain.
[0107] When a node stores transaction data in a blockchain, it generates a block containing the transaction data to be stored and attempts to reach consensus on the generated block by executing processing based on a consensus algorithm with other nodes. Then, when consensus is reached, the node controls the storage of the block in the blockchain. This allows multiple nodes operating in an autonomous and decentralized manner to connect legitimate blocks to the blockchain. As a consensus algorithm, PBFT (Practical Byzantine Fault Tolerance), PoW (Proof of Work), PoS (Proof of Stake), or the like may be used. When Hyperledger Fabric is used as an example of a distributed ledger technology, a consensus algorithm does not need to be executed.
[0108] FIG. 6 is an explanatory diagram showing the data structure of the transaction data.
[0109] 6 includes a transaction body BP1 and a digital signature BP2 (also simply referred to as a signature). The transaction body BP1 is the data body included in the transaction data. The digital signature BP2 is generated by encrypting the hash value of the transaction body BP1 with the signature key (in other words, the private key) of the creator of the transaction data.
[0110] A node that receives transaction data can verify that the transaction body BP1 is legitimate (in other words, that it has not been tampered with) using the digital signature BP2 included in the transaction data. This makes it virtually impossible to tamper with the data included in the transaction body BP1. Furthermore, by storing successfully verified transaction data in the blockchain, the legitimacy of the transaction data stored in the blockchain can be maintained.
[0111] As described above, transaction data included in the blockchain is stored in a chain using the hash values of the transaction data and the hash values of the blocks. This allows the transaction data included in the blockchain to be stored and maintained substantially without being tampered with. This is an advantage over a database or a distributed database that simply stores a collection of data.
[0112] Fig. 7 is an explanatory diagram showing transaction data related to the execution of a smart contract. Fig. 8 is a flow diagram showing processing (information processing information) related to the execution of a smart contract.
[0113] A series of processes related to the execution of a smart contract using a distributed ledger will be described with reference to Figures 7 and 8.
[0114] 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.
[0115] 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.
[0116] 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.
[0117] Through the above series of processes, when the 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.
[0118] FIG. 9 is an explanatory diagram showing the structure of an NFT and metadata. An NFT is a token stored in a distributed ledger and is a unique token (in other words, a non-fungible token). NFTs are standardized, for example, as ERC (Ethereum Request for Comments) 721, but are not limited to this. NFTs may conform to a different standard or may be non-standard (for example, proprietary to an organization). While ERC 721 is a standard for unique tokens, the NFTs described herein do not necessarily have to be unique tokens.
[0119] 9 shows transaction data B21 stored in the distributed ledger. The transaction data B21 stores an NFT. The NFT includes a token ID (i.e., identification information that can uniquely identify the NFT) and a metadata Uniform Resource Identifier (URI).
[0120] The NFT has metadata. The metadata may be located in a location accessible via a network (e.g., storage device B22). A metadata URI indicating the location of the metadata may be calculated using the NFT's token ID and a predetermined base URI.
[0121] The information managed as an NFT may be included in the transaction data B21 or in the metadata. Including the information managed as an NFT in the metadata has the advantage of reducing the amount of information included in the transaction data B21 (in other words, the information included in the blockchain). In this case, it can be said that the metadata contains the actual information managed as an NFT. When an image is managed as an NFT, a URL indicating the image data of the image may be managed as an NFT.
[0122] (Other Embodiments) While the information processing method according to one or more aspects has been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as it does not deviate from the spirit of the present disclosure, various modifications conceivable by a person skilled in the art to the present embodiments and embodiments constructed by combining components of different embodiments may also be included in the present disclosure.
[0123] For example, although the above embodiment uses a blockchain, it is not necessary to use a blockchain. Also, instead of a blockchain, a distributed ledger technology such as a hash graph may be used.
[0124] Furthermore, the table shown in Figure 4 in the above embodiment may include identification information for smart contracts that fall in the top ○%. This allows user terminals to easily determine whether the smart contract they are trying to use is a smart contract to be migrated by referring to the smart contract identification information. In this case, the miner terminal may verify whether the smart contract to be migrated included in the table is correct based on transaction data stored in the distributed ledger.
[0125] In addition, the hash rate at which the complete transition occurs in the table shown in FIG. 4 of the above embodiment (in the example of FIG. 4, 128 ) can be set in the following three patterns. As the hash rate for full transition, a hash rate equivalent to the amount of calculation required for a conventional signature attack may be used, or the hash rate at the time of approval of a certain block (e.g., block 100) may be used, or a hash rate equivalent to the amount of calculation required to calculate a next-generation signature in the same amount of time as the calculation time required for a conventional signature at the time of approval of a certain block (e.g., block 100) may be used. Furthermore, after the hash rate for full transition is determined, the hash rate step size (2 in the example of FIG. 4) can be set by dividing the hash rate by a predetermined number (4 in the example of FIG. 4). 24 ) may be set.
[0126] Furthermore, the table shown in FIG. 4 in the above embodiment may be a table showing the relationship between the hash rate and the total amount of usage fees indicating the amount of money required to use (execute) the smart contract. For example, when the hash rate is 2 72 In this case, the smart contract whose total usage amount is in the top 50% may be associated as the SC to be migrated.
[0127] Furthermore, each device in the above embodiments is specifically a computer system comprising a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, etc. A computer program is recorded in the RAM or hard disk unit. Each device achieves its function when the microprocessor operates in accordance with the computer program. Here, a computer program is composed of a combination of multiple instruction codes that indicate instructions to a computer to achieve a predetermined function.
[0128] In addition, some or all of the constituent elements of each device in the above embodiments may be configured from a single LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and is specifically a computer system configured to include a microprocessor, ROM, RAM, etc. A computer program is stored in the RAM. The system LSI achieves its functions when the microprocessor operates in accordance with the computer program. Furthermore, each component of each device may be individually integrated into a single chip, or some or all of the components may be integrated into a single chip. Here, the term system LSI is used, but it may also be called an IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
[0129] The present disclosure may also be embodied as the methods described above. Furthermore, the present disclosure may also be embodied as a computer program that implements these methods on a computer, or as a digital signal comprising the computer program. For example, one aspect of the present disclosure may be a computer program that causes a computer to execute each of the characteristic steps included in the information processing method shown in FIG. 3 or FIG. 8.
[0130] The present disclosure may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (registered trademark) Disc), semiconductor memory, or the like. It may also be a digital signal recorded on such a recording medium. The present disclosure may also be a computer program or a digital signal transmitted via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.
[0131] The present disclosure may also be a computer system having a microprocessor and a memory, the memory storing the computer program, and the microprocessor operating in accordance with the computer program.
[0132] Furthermore, the program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like, so that the program or digital signal may be implemented by another independent computer system.
[0133] In the above embodiments, 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.
[0134] The order in which the steps in the flowchart are executed is merely an example for specifically explaining the present disclosure, and other orders may be used. Some of the steps may be executed simultaneously (in parallel) with other steps, or some of the steps may not be executed.
[0135] The division of functional blocks in the block diagram is an example, and multiple functional blocks may be realized as a single functional block, one functional block may be divided into multiple blocks, or some functions may be moved to another functional block.Furthermore, the functions of multiple functional blocks having similar functions may be processed in parallel or in time-sharing by a single piece of hardware or software.
[0136] Furthermore, each of the ledger servers according to the above embodiments may be realized as a single device or may be realized by multiple devices. When the ledger server is realized by multiple devices, the components of the ledger server may be distributed in any manner among the multiple devices. When the ledger server is realized by multiple devices, the communication method between the multiple devices is not particularly limited and may be wireless communication or wired communication. Furthermore, wireless communication and wired communication may be combined between the devices.
[0137] The present disclosure is useful for information processing devices and the like that manage distributed ledgers.
[0138] 10 Information processing system 100a, 100b, 100c Ledger server 101a, 101b, 101c Storage device 111 Communication unit 112 Ledger management unit 113 Execution unit 114 Storage unit 114a, B10 Distributed ledger 115 Transaction data generation unit B1, B2, B3 Block B11, B15, B21 Transaction data B12 Contract code B16 Instruction B22 Storage device BP1 Transaction body BP2 Digital signature
Claims
1. An information processing method executed by one of multiple nodes constituting a distributed ledger system, comprising: acquiring transaction data including command information for executing a first smart contract stored in a distributed ledger and an electronic signature; determining whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on mining indicators of one or more of the multiple nodes; and, if it is determined not to execute the first smart contract, not storing the transaction data in the distributed ledger, thereby not executing the first smart contract.
2. The information processing method of claim 1, further comprising: calculating a mining reward to be obtained by storing the transaction data in the distributed ledger based on the indicator; and if the calculated mining reward is lower than a predetermined value, determining not to execute the first smart contract by not storing the transaction data in the distributed ledger.
3. The information processing method of claim 2, wherein the determination is performed using a table in which the indicator is associated with information indicating the first smart contract, the table includes information indicating that the mining reward is reduced the fewer the number of times the first smart contract is executed, and the mining reward for the transaction data is calculated based on the information indicating that the mining reward is reduced.
4. The information processing method according to claim 3, wherein the table is stored in a distributed ledger.
5. The information processing method according to any one of claims 2 to 4, wherein the index is information indicating the mining speed including the hash rate, and the higher the hash rate, the more the mining reward is reduced.
6. An information processing method according to any one of claims 2 to 4, wherein the index is information indicating the mining difficulty set in the electronic signature, and if the mining difficulty when mining the transaction data exceeds the mining difficulty set in the electronic signature, the mining reward is reduced.
7. The information processing method according to any one of claims 1 to 4, further comprising the step of notifying the creator of the transaction data that it has not been stored in a block if it is determined that the transaction will not be executed.
8. The information processing method according to any one of claims 1 to 4, wherein, if it is determined that the transaction should not be executed, a notification is sent to transition the signature method used to generate the signature included in the transaction data to a more secure signature method.
9. The information processing method according to claim 8, wherein the transition to the highly secure signature scheme includes at least one of increasing the key length of a signature algorithm used to generate a signature, and changing from a signature algorithm that is not quantum-resistant to a signature algorithm that is quantum-resistant.
10. An information processing device that is one of multiple nodes that make up a distributed ledger system, comprising: an acquisition unit that acquires transaction data including command information for executing a first smart contract stored in a distributed ledger and an electronic signature; and an execution unit that determines whether to execute the first smart contract by storing the transaction data including the electronic signature in the distributed ledger based on indicators related to mining of one or more nodes among the multiple nodes; and if it is determined not to execute the first smart contract, the information processing device does not execute the first smart contract by not storing the transaction data in the distributed ledger.
11. A program for causing a computer to execute the information processing method according to any one of claims 1 to 3.
Citation Information
Patent Citations
Control method, analysis device, and program
WO2021166782A1
Determination method, information processing device, determination system, and determination program
WO2023281690A1