Control method, device, and program
The method of combining multiple digital signatures in blockchain systems addresses incompatibility and processing challenges by dynamically selecting signature types based on transaction data characteristics, ensuring compatibility and reducing computational load while maintaining security.
Patent Information
- Application Number
- PCT/JP2025/012466
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-02
- Filing Date
- 2025-03-27
- Publication Date
- 2025-10-09
AI Technical Summary
The transition to next-generation digital signature algorithms like PQC in blockchain systems poses challenges such as incompatibility with older nodes, increased processing time, reduced scalability, and potential security vulnerabilities.
A control method that allows multiple types of digital signatures to be used in combination, determining the appropriate signature type based on related information such as token type, computational resources, expiration date, privacy, and token amount, enabling efficient use of conventional and next-generation signatures.
This approach ensures compatibility with diverse nodes, reduces processing load, and maintains security by selectively using next-generation signatures only when necessary, thereby enhancing scalability and resilience.
Smart Images

Figure JP2025012466_09102025_PF_FP_ABST
Abstract
Description
Control method, device, and program
[0001] The present disclosure relates to a control method, an apparatus, and a program.
[0002] Patent Literature 1 discloses a technology for verifying device integrity using digital signatures in order to strengthen the security of transactions on a blockchain.
[0003] Special table 2018-516026 publication
[0004] The present disclosure provides a control method that allows multiple types of digital signatures to be used in combination as digital signatures used in blockchain technology.
[0005] A control method according to one aspect of the present disclosure is a control method executed by an apparatus, which transmits related information regarding data included in transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be assigned to the transaction data, based on the related information, receives the type of digital signature determined by the program from the information terminal, generates the transaction data including the digital signature assigned according to the type of digital signature, and transmits the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[0006] Furthermore, an apparatus according to one aspect of the present disclosure includes a processor and a memory, and the processor uses the memory to transmit related information to an information terminal storing a program that determines the type of digital signature to be assigned to transaction data based on related information regarding data included in the transaction data to be stored in a blockchain; receives the type of digital signature determined by the program from the information terminal; generates the transaction data including a digital signature assigned according to the type of digital signature; and transmits the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[0007] 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.
[0008] According to the control method and the like of the present disclosure, multiple types of digital signatures can be used in combination as digital signatures used in blockchain technology.
[0009] FIG. 1 is a block diagram showing the configuration of a system according to the first embodiment. FIG. 2 is a diagram showing an example of the configuration of an information terminal 100 according to the first embodiment. FIG. 3 is a diagram showing an example of the configuration of a node according to the first embodiment. FIG. 4 is a diagram showing an example of the configuration of an information terminal 300 according to the first embodiment. FIG. 5 is a sequence diagram showing an example of the operation of the system according to the first embodiment. FIG. 6 is a flowchart showing an example of the digital signature determination process by the information terminal 300 according to the first embodiment. FIG. 7 is a diagram showing an example of the configuration of a block generated in the system according to the first embodiment. FIG. 8 is a block diagram showing the configuration of a system according to the second embodiment. FIG. 9 is a diagram showing an example of the configuration of a node according to the second embodiment. FIG. 10 is a sequence diagram showing an example of the operation of the system according to the second embodiment. FIG. 11 is an explanatory diagram showing the data structure of a blockchain. FIG. 12 is an explanatory diagram showing the data structure of transaction data. FIG. 13 is an explanatory diagram showing transaction data related to the execution of a smart contract. FIG. 14 is an explanatory diagram showing processing related to the execution of a smart contract. FIG. 15 is an explanatory diagram showing the structures of an NFT and metadata.
[0010] (Findings that Form the Basis of the Present Disclosure) In blockchains, signature algorithms are used to prove asset possession. Advances in computers have created a need for signature algorithms to be changed to algorithms with longer key lengths or to transition to next-generation algorithms with greater processing loads. Examples of next-generation algorithms include PQC (Post-Quantum Cryptography) using quantum computers.
[0011] In response to this, it is possible to consider changing to a digital signature method using a next-generation algorithm for all transaction data, but the following issues are expected to arise.
[0012] (1) In a blockchain system, nodes that cannot comply with PQC will no longer be able to participate in the blockchain.
[0013] (2) The digital signature and verification of PQC require longer processing time than conventional digital signatures, resulting in reduced scalability.
[0014] (3) Since the security of PQC has not been fully verified, there is a possibility that vulnerabilities may be discovered after the transition to PQC.
[0015] In order to solve the above problems, the present inventors have discovered a control method that allows multiple types of digital signatures to be used in combination as digital signatures for verifying transaction data.
[0016] A control method according to a first aspect of the present disclosure is a control method executed by an apparatus, which transmits related information regarding data included in transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be assigned to the transaction data, based on the related information, receives the type of digital signature determined by the program from the information terminal, generates the transaction data including the digital signature assigned according to the type of digital signature, and transmits the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[0017] According to this, related information is sent to an information terminal, and transaction data including a digital signature assigned according to the type of digital signature determined based on the related information is sent to the blockchain system, thereby making it possible to generate transaction data including an appropriate digital signature according to the transaction data.
[0018] For example, if multiple types of digital signatures exist, including conventional digital signatures and next-generation digital signatures, a device that does not support next-generation digital signatures can use the conventional digital signatures. Furthermore, devices that support next-generation digital signatures use a digital signature type determined based on transaction data, and therefore use next-generation digital signatures as needed, potentially reducing the use of next-generation digital signatures. For example, by using conventional digital signatures for data that does not require security, the use of next-generation digital signatures can be reduced, thereby reducing the amount of calculation required. Furthermore, because the use of conventional digital signatures remains, if the next-generation digital signature is compromised, it is possible to revert to conventional digital signatures at low cost.
[0019] A control method according to a second aspect of the present disclosure is a control method according to the first aspect, wherein the program is a contract code constituting a smart contract, the smart contract is stored in the blockchain, and the information terminal is one of a plurality of information terminals constituting the blockchain system.
[0020] Therefore, by transmitting related information to the blockchain system, the device can receive the type of digital signature determined by the smart contract of the blockchain system based on the related information. Because the smart contract is stored in the blockchain system, tampering with the smart contract can be prevented. In other words, the device can receive the type of digital signature as a highly reliable determination result from the blockchain system.
[0021] A control method according to a third aspect of the present disclosure is the control method according to the first or second aspect, further comprising: the information terminal determining whether the related information is information indicating an FT (Fungible Token) or information indicating an NFT (Non-Fungible Token); if the related information is information indicating the FT, determining the type of the digital signature to be a first digital signature; if the related information is information indicating the NFT, determining the type of the digital signature to be a second digital signature that requires a greater amount of calculation to decrypt than the first digital signature; and transmitting the type of digital signature determined by the determination to the device.
[0022] According to this, the first digital signature is used for transaction data including FT, which does not need to be secured, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation.
[0023] A control method according to a fourth aspect of the present disclosure is the control method according to the first or second aspect, wherein the related information is information indicating a token, and the information terminal further determines whether the token amount of the token is less than a predetermined token amount, and if the token amount is less than the predetermined token amount, determines the type of the digital signature to be a first digital signature, and if the token amount is equal to or greater than the predetermined token amount, determines the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature, and transmits the type of digital signature determined by the determination to the device.
[0024] According to this, the first digital signature is used for transaction data that includes tokens less than a predetermined token amount, for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation.
[0025] A control method according to a fifth aspect of the present disclosure is the control method according to the first or second aspect, further comprising: the information terminal determining whether the computational resources of the device are less than a predetermined computational resource; if the computational resources are less than the predetermined computational resource, determining the type of the digital signature to be a first digital signature; if the computational resources are equal to or greater than the predetermined computational resource, determining the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature; and transmitting the type of digital signature determined by the determination to the device.
[0026] According to this, the first digital signature is used for transaction data generated by a device with computational resources less than a specified amount, which means there is little need to ensure security, so the use of the second digital signature, which requires more computation, can be reduced, thereby reducing the amount of computation required.
[0027] A control method according to a sixth aspect of the present disclosure is the control method according to the fourth aspect, further comprising: the information terminal determines whether the computational resources of the device are less than a predetermined computational resource; if the computational resources are less than the predetermined computational resource, determines the type of the digital signature to be a second digital signature; if the computational resources are equal to or greater than the predetermined computational resource, determines the type of the digital signature to be a third digital signature that requires more calculations to decrypt than the second digital signature; and transmits the type of digital signature determined by the determination to the device.
[0028] According to this, the second digital signature is used for transaction data generated by a device with computational resources less than the specified amount, which means there is little need to ensure security, so the use of the third digital signature, which requires a large amount of computation, can be reduced, thereby reducing the amount of computation.
[0029] A control method according to a seventh aspect of the present disclosure is the control method according to the first or second aspect, wherein the related information is information indicating a token, and the information terminal further determines whether the period until the expiration date of the token is less than a predetermined period, and if the period is less than the predetermined period, determines the type of the digital signature to be a first digital signature, and if the period is equal to or greater than the predetermined period, determines the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature, and transmits the type of digital signature determined by the determination to the device.
[0030] According to this, the first digital signature is used for transaction data including tokens whose expiration date is less than a predetermined period and for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation required.
[0031] A control method according to an eighth aspect of the present disclosure is the control method according to the first or second aspect, further comprising: the information terminal determines whether the related information includes privacy information; if the related information does not include privacy information, determines the type of the digital signature to be a first digital signature; if the transaction data includes privacy information, determines the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature; and transmits the type of digital signature determined by the determination to the device.
[0032] According to this, the first digital signature is used for transaction data that does not contain privacy information for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation.
[0033] A control method according to a ninth aspect of the present disclosure is the control method of the third or seventh aspect, further comprising: the information terminal determines whether the related information includes privacy information; if the related information does not include privacy information, determines the type of the digital signature to be a second digital signature; if the transaction data includes privacy information, determines the type of the digital signature to be a third digital signature that requires more calculations to decrypt than the second digital signature; and transmits the type of digital signature determined by the determination to the device.
[0034] According to this, the second digital signature is used for transaction data that does not contain privacy information for which there is little need to ensure security, so the use of the third digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation required.
[0035] A control method according to a tenth aspect of the present disclosure is a control method according to any one of the first to ninth aspects, further comprising: the blockchain system transmitting the transaction data received from the device to the information terminal; receiving from the information terminal a type of digital signature determined by the program; verifying the digital signature included in the transaction data based on the type of digital signature included in the transaction data and the type of digital signature received from the information terminal; generating a block including the transaction data based on the result of the verification; and storing the block in the blockchain.
[0036] Therefore, it is possible to verify whether a digital signature determined by a program is being used, thereby encouraging the use of a digital signature determined by a program.
[0037] An apparatus according to an eleventh aspect of the present disclosure includes a processor and a memory, wherein the processor uses the memory to transmit related information regarding data included in the transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be assigned to the transaction data, based on the related information, receives the type of digital signature determined by the program from the information terminal, generates the transaction data including the digital signature assigned according to the type of digital signature, and transmits the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[0038] According to this, related information is sent to an information terminal, and transaction data including a digital signature assigned according to the type of digital signature determined based on the related information is sent to the blockchain system, thereby making it possible to generate transaction data including an appropriate digital signature assigned according to the transaction data.
[0039] A program according to a twelfth aspect of the present disclosure is a program for causing a computer to execute a control method executed by an apparatus, the program causing a computer to execute the following steps: sending related information regarding data included in transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be assigned to the transaction data based on the related information; receiving the type of digital signature determined by the program from the information terminal; generating the transaction data including a digital signature assigned according to the type of digital signature; and sending the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[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 according to the following embodiments, components not recited in the independent claims representing the highest concepts are not necessarily required to achieve the objectives of the present disclosure, but are described as components constituting a more preferred embodiment.
[0042] (First Embodiment) In this embodiment, a control method that allows multiple types of digital signatures to be used in combination as digital signatures used in block chain technology will be described.
[0043] [System Configuration] FIG. 1 is a block diagram showing the configuration of a system according to the first embodiment.
[0044] As shown in FIG. 1 , the system 1 includes an information terminal 100 , a blockchain system 200 , and an information terminal 300 .
[0045] The information terminal 100 is a terminal (computer) owned by an issuer that issues transaction data. The information terminal 100 is an example of a device.
[0046] The blockchain system 200 includes nodes 200a to 200c that are communicatively connected to each other. The blockchain system 200 manages a blockchain that is composed of blocks containing arbitrary data. The arbitrary data may be, for example, data containing a Fungible Token (FT), data containing a Non-Fungible Token (NFT), or other data. The arbitrary data may include privacy information related to a user (e.g., personal information of the user). The FT is, for example, a virtual currency such as Bitcoin. The NFT can prove, for example, the uniqueness of digital content or the ownership of digital content.
[0047] The information terminal 300 is a computer having a program based on an algorithm that determines the type of digital signature to be included in transaction data to be stored in the blockchain system 200, based on related information about the data included in the transaction data. That is, the information terminal 300 determines the type of digital signature to be added to the transaction data to be stored in the blockchain system 200, based on the related information. Here, the transaction data may be, for example, data for transferring a token from a first account to a second account different from the first account. Transferring from the first account to the second account may indicate changing the owner of the token from a first user to a second user. When the information terminal 300 receives transaction data or related information about the data included in the transaction data, it executes the algorithm defined in the program based on the related information obtained from the received transaction data or the received related information.
[0048] The information terminal 100, the blockchain system 200, and the information terminal 300 may all be connected to each other via a network 500, or all may be directly connected to be able to communicate, or some may be connected via the network 500 and other parts may be directly connected to be able to communicate. The network 500 may be, for example, the Internet or a mobile phone carrier network, but may be composed of any communication line or network.
[0049] FIG. 2 is a diagram showing an example of the configuration of the information terminal 100 according to the first embodiment.
[0050] The information terminal 100 includes a communication unit 101 , an input receiving unit 102 , a display unit 103 , a control unit 104 , and a storage unit 105 .
[0051] The communication unit 101 may transmit information to the blockchain system 200 or the information terminal 300 via the network 500, or may receive information from the blockchain system 200 or the information terminal 300. Specifically, the communication unit 101 may transmit relevant information related to data included in the transaction data to the information terminal 300. The communication unit 101 may receive information indicating the type of digital signature from the information terminal 300. The communication unit 101 may transmit transaction data to the blockchain system 200. The communication unit 101 may receive information different from the above-mentioned information from another information terminal communicatively connected, or may transmit information to the other terminal.
[0052] In this way, the communication unit 101 communicates with the blockchain system 200 and the information terminal 300 via the network 500. This communication may be performed using TLS (Transport Layer Security), and an encryption key for TLS communication may be held in the communication unit 101. The communication unit 101 is realized by a communication IF (Interface).
[0053] The input receiving unit 102 receives inputs from an issuer. The input receiving unit 102 displays the received inputs on the display unit 103, transmits them to the control unit 104, or transmits them to the communication unit 101. The input receiving unit 102 is realized by an input IF (Interface).
[0054] The display unit 103 displays a UI (User Interface) for receiving input by the input receiving unit 102. The display unit 103 also displays the input received by the input receiving unit 102 on the UI. The display unit 103 may display information received from the blockchain system 200 or the information terminal 300. The display unit 103 is realized by a display.
[0055] The control unit 104 may generate related information regarding the data included in the transaction data based on the information input accepted by the input accepting unit 102, and transmit the generated related information to the blockchain system 200 via the communication unit 101. The control unit 104 may generate transaction data including a signature assigned according to the type of digital signature received by the communication unit 101, and transmit the generated transaction data to the blockchain system 200 via the communication unit 101. The control unit 104 is realized by a processor.
[0056] The memory unit 105 stores information received by the communication unit 101, input accepted by the input accepting unit 102, related information or transaction data generated by the control unit 104, etc. The memory unit 105 may also store data other than the above-mentioned information. The memory unit 105 is realized by a storage.
[0057] The information terminal 100 is realized by the processor executing a predetermined program using the memory.
[0058] FIG. 3 is a diagram illustrating an example of a configuration of a node according to the first embodiment.
[0059] 3, each of the nodes 200a to 200c includes a communication unit 201, a control unit 202, a recording unit 203, a transaction data verification unit 204, and a distributed ledger 205. The nodes 200a to 200c manage the blockchain.
[0060] The communication unit 201 transmits information to the information terminals 100, 300 or other nodes among the nodes 200a to 200c, and receives information from the information terminals 100, 300 or other nodes via the network 500. The other nodes are nodes among the nodes 200a to 200c that are different from the node that includes the communication unit 201. The communication unit 201 also transmits and receives transaction data to and from the other nodes 200a to 200c.
[0061] In this way, the communication unit 201 communicates with the information terminals 100 and 300 or other nodes via the network 500. This communication may be performed using TLS (Transport Layer Security), and the encryption key for TLS communication may be held by the communication unit 201.
[0062] 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.
[0063] Furthermore, if the information received by the communication unit 201 is a request to issue an NFT, the control unit 202 may issue an NFT and record the issued NFT in the distributed ledger 205. This may result in a block containing the NFT being added to the blockchain. In the case of an NFT corresponding to content, upon receiving a request to issue an NFT, the communication unit 201 generates an NFT corresponding to the content based on the address (URL1) included in the issuance request and stores the NFT in the blockchain. The NFT is recorded in the blockchain ledger by a smart contract as a set of data linking the address included in the issuance request, the NFT ID generated by the smart contract, and the initially set owner. The data recorded in the NFT may include other information. For example, the data may include the date and time the content was created, or information about other content that was used as material to create the content.
[0064] 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 multiple other nodes 200a-200c, thereby causing the verified authenticated transaction data to be recorded in the recording units 203 of the other nodes 200a-200c. This allows only transaction data whose validity has been verified to be transmitted to other servers, thereby suppressing increases in computer power consumption. Note that this verification may be skipped.
[0065] The transaction data verifier 204 also executes a consensus algorithm together with multiple other nodes 200a to 200c to reach an agreement on the validity of the transaction data.
[0066] 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 multiple nodes 200a to 200c indicating whether the verification of the transaction data was successful, 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.
[0067] 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.
[0068] In this embodiment, the transaction data verification unit 204 verifies the validity of the transaction data received by the communication unit 201 .
[0069] 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.
[0070] The recording unit 203 may be configured inside the distributed ledger 205.
[0071] 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 storage.
[0072] Note that, when the information received by the communication unit 201 is a request to issue an NFT, the control unit 202 may issue the NFT and record the issued NFT in the distributed ledger 205. As a result, a block including the NFT may be added to the blockchain.
[0073] FIG. 4 is a diagram showing an example of the configuration of the information terminal 300 according to the first embodiment.
[0074] The information terminal 300 includes a communication unit 301 , an input receiving unit 302 , a display unit 303 , a control unit 304 , and a storage unit 305 .
[0075] The communication unit 301 may transmit information to the information terminal 100 or the blockchain system 200 via the network 500, or may receive information from the information terminal 100 or the blockchain system 200. Specifically, the communication unit 301 may receive related information related to data included in the transaction data from the information terminal 100. The communication unit 301 may transmit type information indicating the type of digital signature to the information terminal 100. The communication unit 301 may receive transaction data from the blockchain system 200. The communication unit 301 may transmit type information indicating the type of digital signature to the blockchain system 200. The communication unit 301 may receive information different from the above-mentioned information from another information terminal communicatively connected, or may transmit information to the other terminal.
[0076] In this way, the communication unit 301 communicates with the information terminal 100 and the blockchain system 200 via the network 500. This communication may be performed using TLS (Transport Layer Security), and an encryption key for TLS communication may be held in the communication unit 301. The communication unit 301 is realized by a communication IF (Interface).
[0077] The input reception unit 302 receives inputs from the administrator. The input reception unit 302 displays the received inputs on the display unit 303, transmits them to the control unit 304, or transmits them to the communication unit 301. The input reception unit 302 is realized by an input IF (Interface).
[0078] The display unit 303 displays a UI (User Interface) for receiving input by the input receiving unit 302. The display unit 303 also displays the input received by the input receiving unit 302 on the UI. The display unit 303 may display information received from the information terminal 100 or the blockchain system 200. The display unit 303 is realized by a display.
[0079] The control unit 304 determines the type of digital signature to be added to the transaction data based on the received related information or the received transaction data. The control unit 304 may transmit type information indicating the determined type of digital signature to the information terminal 100 or the blockchain system 200 via the communication unit 301. The control unit 304 is realized by a processor.
[0080] The storage unit 305 stores information received by the communication unit 301, input accepted by the input accepting unit 302, type information indicating the type of digital signature generated by the control unit 304, etc. The storage unit 305 may store data other than the above-mentioned information. The storage unit 305 is realized by a storage.
[0081] The information terminal 300 is realized by a processor executing a predetermined program using a memory.
[0082] [System Operation] Next, the operation of the system 1 configured as above will be described.
[0083] 5 is a sequence diagram showing an example of the operation of the system according to embodiment 1. In the diagram, transaction data may be expressed as Tx data.
[0084] The information terminal 100 prepares to generate transaction data including data to be stored in a blockchain in response to input from an issuer (S101). Specifically, the information terminal 100 generates information regarding the data to be stored in the blockchain as related information regarding the data included in the transaction data. The data to be stored is, for example, data for transferring tokens from a first account to a second account different from the first account. The related information may be, for example, information indicating whether the tokens to be transferred are Fungible Tokens (FTs) or Non-Fungible Tokens (NFTs), the token quantity of the tokens, the token expiration date (or expiration date), or privacy information of the issuer. The related information may include all or only some (including one) of the multiple pieces of information exemplified above.
[0085] The information terminal 100 may determine whether the information terminal 100 supports a second digital signature, which requires a larger amount of calculation for decryption than the first digital signature. The information terminal 100 may store a list of signature methods supported by the information terminal 100 and refer to the list to determine whether the information terminal 100 supports the second digital signature. If the information terminal 100 supports the second digital signature, it executes the following steps S102 to S114. If the information terminal 100 does not support the second digital signature, it may generate transaction data including the first digital signature without executing the following steps S102 to S114, transmit the transaction data to the blockchain system 200, and have the blockchain system 200 store the transaction data in the blockchain. Here, for example, the first digital signature is a digital signature corresponding to a conventional signature algorithm, and the second digital signature is a digital signature corresponding to a next-generation signature algorithm.
[0086] The information terminal 100 transmits the related information to the information terminal 300 (S102). As a result, the information terminal 300 receives (obtains) the related information from the information terminal 100.
[0087] When the information terminal 300 receives the related information, it executes a program based on the related information and determines the type of digital signature to be added to the transaction data including the data related to the related information (S103). The specific processing of step S103 will be described later.
[0088] The information terminal 300 transmits type information indicating the type of the digital signature thus determined to the information terminal 100 (S104).
[0089] Upon receiving the type information, the information terminal 100 generates transaction data including related information and a digital signature that is assigned according to the type of digital signature indicated by the type information (S105). The generated transaction data is the transaction data prepared in step S101.
[0090] The information terminal 100 transmits the generated transaction data to the blockchain system 200 that manages the blockchain in order to store the data in the blockchain (S106). As a result, the blockchain system 200 receives (acquires) the transaction data from the information terminal 100.
[0091] When the blockchain system 200 receives the transaction data, it stores the received transaction data in a transaction pool (S107).
[0092] The blockchain system 200 obtains one or more transaction data for block generation from the transaction pool (S108).
[0093] The blockchain system 200 transmits one or more pieces of transaction data acquired from the transaction pool to the information terminal 300 (S109). As a result, the information terminal 300 receives (acquires) one or more pieces of transaction data from the blockchain system 200.
[0094] When the information terminal 300 receives one or more pieces of transaction data, it executes a program based on the transaction data for each piece of transaction data and determines the type of digital signature to be attached to the transaction data (S110). Note that step S110 differs from step S103 in that, whereas in step S103 a program is executed for related information, step S110 executes a program for related information included in the transaction data.
[0095] The information terminal 300 transmits type information indicating the determined type of digital signature to the blockchain system 200 (S111). As a result, the blockchain system 200 receives the type information from the information terminal 300.
[0096] The blockchain system 200 verifies the digital signature included in each of one or more transaction data based on the type of digital signature included in the transaction data and the type of digital signature received from the information terminal 300 and determined based on the transaction data (S112). Specifically, the blockchain system 200 determines whether the type of digital signature included in the transaction data matches the type of digital signature specified in the type information. If the two match, the blockchain system 200 determines that the transaction data received from the information terminal 100 contains a digital signature of a valid type, and executes the next step S113. On the other hand, if the two do not match, the blockchain system 200 determines that the transaction data received from the information terminal 100 contains a digital signature of an invalid type. In this case, the blockchain system 200 may discard the transaction data containing a digital signature of an invalid type without storing it in the blockchain, or may store it in the blockchain with information indicating that the data contains a digital signature of an invalid type.
[0097] The blockchain system 200 generates a block including transaction data that includes a digital signature in the correct format among one or more pieces of transaction data (S113).
[0098] The blockchain system 200 stores the generated block in the blockchain by linking it to the blockchain (S114).
[0099] 6 is a flowchart showing an example of a process for determining a digital signature by the information terminal 300 according to Embodiment 1. This process is a specific example of step S103 or step S110.
[0100] When the information terminal 300 receives the related information or transaction data, it executes a program based on the received related information or related information based on the received transaction data, thereby executing steps S121 to S131.
[0101] The information terminal 300 determines whether the token is FT or NFT based on the related information (S121). If the token is FT (FT in S121), the information terminal 300 proceeds to step S127, and if the token is NFT (NFT in S121), the information terminal 300 proceeds to step S122.
[0102] The information terminal 300 determines whether the time remaining until the token expires is equal to or greater than a predetermined time based on the related information (S122). The predetermined time may be, for example, 10 years, 5 years, a period between 5 and 10 years, or some other time period. If the time remaining until the token expires is equal to or greater than the predetermined time (Yes in S122), the information terminal 300 proceeds to step S123. If the time remaining until the token expires is less than the predetermined time (No in S122), the information terminal 300 proceeds to step S126.
[0103] The information terminal 300 determines whether or not the transaction data includes privacy information based on the related information (S123). If the transaction data includes privacy information (Yes in S123), the information terminal 300 proceeds to step S124, and if the transaction data does not include privacy information (No in S123), the information terminal 300 proceeds to step S125.
[0104] The information terminal 300 determines the type of digital signature to be the third digital signature (S124). The third digital signature is a signature method that includes the first digital signature of the conventional method and the second digital signature of the next-generation method. In other words, the third digital signature is a method that requires a larger amount of calculation for decryption than the first digital signature and the second digital signature.
[0105] The information terminal 300 determines the type of digital signature to be the second digital signature (S125).
[0106] The information terminal 300 determines the type of digital signature to be the first digital signature (S126).
[0107] The information terminal 300 determines whether the token amount of the tokens is equal to or greater than a predetermined token amount based on the related information (S127). The predetermined token amount may be, for example, 1 BTC or another token amount. The predetermined token amount may be set to any value greater than 0 and less than infinity. If the token amount of the tokens is equal to or greater than the predetermined token amount (Yes in S127), the information terminal 300 proceeds to step S128, and if the token amount of the tokens is less than the predetermined token amount (No in S127), the information terminal 300 proceeds to step S131.
[0108] The information terminal 300 determines whether the computational resources of the information terminal 100 are equal to or greater than a predetermined computational resource (S128). The predetermined computational resource may be set to any value greater than 0 and less than infinity. If the computational resources are equal to or greater than the predetermined computational resource (Yes in S128), the information terminal 300 proceeds to step S129, and if the computational resources are less than the predetermined computational resource (No in S128), the information terminal 300 proceeds to step S130.
[0109] The information terminal 300 determines the type of digital signature to be the third digital signature (S129). The third digital signature is a signature method that includes the first digital signature of the conventional method and the second digital signature of the next-generation method. In other words, the third digital signature is a method that requires a larger amount of calculation for decryption than the first digital signature and the second digital signature.
[0110] The information terminal 300 determines the type of digital signature to be the second digital signature (S130).
[0111] The information terminal 300 determines the type of digital signature to be the first digital signature (S131).
[0112] 6, the type of digital signature is determined based on the results of the five determinations in steps S121 to S123 and steps S127 and S128, but this is not limitative and the type of digital signature may be determined using at least one of these five determinations.
[0113] For example, in the determination of step S121, if the token is FT, the information terminal 300 may determine the type of digital signature to be the first digital signature, and if the token is NFT, the information terminal 300 may determine the type of digital signature to be the second digital signature, which requires more calculations to decrypt than the first digital signature.
[0114] Also, for example, in the determination of step S122, if the period until the token's expiration date is less than a predetermined period, the information terminal 300 may determine the type of digital signature to be the first digital signature, and if the period until the execution date is equal to or greater than the predetermined period, the information terminal 300 may determine the type of digital signature to be the second digital signature, which requires more calculations to decrypt than the first digital signature.
[0115] Also, for example, in the determination of step S123, if the transaction data does not contain privacy information, the information terminal 300 may determine the type of digital signature to be the first digital signature, and if the transaction data contains privacy information, the information terminal 300 may determine the type of digital signature to be the second digital signature, which requires more calculations to decrypt than the first digital signature.
[0116] Also, for example, in the determination of step S127, if the token amount is less than a predetermined token amount, the information terminal 300 may determine the type of digital signature to be the first digital signature, and if the token amount is equal to or greater than the predetermined token amount, the information terminal 300 may determine the type of digital signature to be the second digital signature, which requires more calculations to decrypt than the first digital signature.
[0117] Also, for example, in step S128, if the computational resources are less than a predetermined computational resource, the information terminal 300 may determine the type of digital signature to be a first digital signature, and if the computational resources are equal to or greater than the predetermined computational resource, the information terminal 300 may determine the type of digital signature to be a second digital signature, which requires more computation to decrypt than the first digital signature.
[0118] In this way, the type of digital signature is determined based on related information, so the signatures of multiple transaction data included in one block may be of different types.
[0119] FIG. 7 is a diagram showing an example of the configuration of a block generated in the system according to the first embodiment.
[0120] As shown in this figure, a block contains multiple transaction data, including transaction data A to C. Signature A included in transaction data A is a first digital signature, signature B included in transaction data B is a second digital signature of a different type from signature A, and signature C included in transaction data C is a third digital signature of a different type from signatures A and B. In this way, a block may contain multiple transaction data containing different types of digital signatures. Therefore, compared to when the digital signature types of all transaction data included in a block are determined to be next-generation digital signatures, the amount of calculation required to generate the block may be reduced. Note that a block may be generated that contains transaction data with a first digital signature and transaction data with a second digital signature, or a block that contains transaction data with a second digital signature and transaction data with a third digital signature, or a block that contains transaction data with a first digital signature and transaction data with a third digital signature, or a block that contains multiple transaction data with only the first digital signature, or a block that contains multiple transaction data with only the second digital signature, or a block that contains multiple transaction data with only the third digital signature.
[0121] [Effects, etc.] In the system 1 according to this embodiment, the information terminal 100 transmits related information to the information terminal 300, which stores a program that determines the type of digital signature to be applied to transaction data based on related information about data included in the transaction data stored in the blockchain (S102). The information terminal 100 receives the type of digital signature (type information) determined by the program from the information terminal 300 (S104). The information terminal 100 generates transaction data including a digital signature applied according to the type of digital signature (S105). The information terminal 100 transmits the transaction data to the blockchain system 200, which manages the blockchain, to store the transaction data in the blockchain (S106).
[0122] According to this, the information terminal 100 transmits related information to the information terminal 300 and transmits transaction data to the blockchain system 200, the transaction data including a digital signature that has been assigned according to the type of digital signature determined based on the related information, thereby enabling the generation of transaction data including an appropriate digital signature that has been assigned according to the transaction data.
[0123] For example, if multiple types of digital signatures exist, including conventional digital signatures and next-generation digital signatures, and the information terminal 100 does not support next-generation digital signatures, the conventional digital signatures can be used. Furthermore, an information terminal 100 that supports next-generation digital signatures uses a digital signature type (type) determined based on transaction data, and therefore uses next-generation digital signatures as needed, potentially reducing the use of next-generation digital signatures. For example, by using conventional digital signatures for data that does not require security, the use of next-generation digital signatures can be reduced, thereby reducing the amount of calculation required. Furthermore, because the use of conventional digital signatures remains, if the next-generation digital signature is compromised, it is possible to revert to conventional digital signatures at low cost.
[0124] In system 1 according to the present embodiment, information terminal 300 further determines whether the related information is information indicating an FT (Fungible Token) or information indicating an NFT (Non-Fungible Token). If the related information is information indicating an FT, information terminal 300 may determine the type of digital signature to be a first digital signature, and if the related information is information indicating an NFT, information terminal 300 may determine the type of digital signature to be a second digital signature, which requires a greater amount of calculation for decryption than the first digital signature. Information terminal 300 transmits the type of digital signature determined by the above determination to information terminal 100.
[0125] According to this, the first digital signature is used for transaction data including FT, which does not need to be secured, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation.
[0126] In system 1 according to the present embodiment, the related information is information indicating a token. Information terminal 300 further determines whether the token amount of the token indicated by the related information is less than a predetermined token amount. If the token amount is less than the predetermined token amount, information terminal 300 may determine the type of digital signature to be a first digital signature, and if the token amount is equal to or greater than the predetermined token amount, may determine the type of digital signature to be a second digital signature, which requires a greater amount of calculation for decryption than the first digital signature. Information terminal 300 transmits the type of digital signature determined by the above determination to information terminal 100.
[0127] According to this, the first digital signature is used for transaction data that includes tokens less than a predetermined token amount, for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation.
[0128] In system 1 according to the present embodiment, information terminal 300 further determines whether the computational resources of information terminal 100 are less than predetermined computational resources. If the computational resources are less than the predetermined computational resources, information terminal 300 may determine the type of digital signature to be a first digital signature, and if the computational resources are equal to or greater than the predetermined computational resources, may determine the type of digital signature to be a second digital signature, which requires a greater amount of calculation for decryption than the first digital signature. Information terminal 300 transmits the type of digital signature determined by the above determination to information terminal 100.
[0129] According to this, the first digital signature is used for transaction data generated by a device with computational resources less than a specified amount, which means there is little need to ensure security, so the use of the second digital signature, which requires more computation, can be reduced, thereby reducing the amount of computation required.
[0130] In system 1 according to the present embodiment, information terminal 300 further determines whether the computational resources of information terminal 100 are less than predetermined computational resources. If the computational resources are less than the predetermined computational resources, information terminal 300 may determine the type of digital signature to be the second digital signature, and if the computational resources are equal to or greater than the predetermined computational resources, may determine the type of digital signature to be the third digital signature, which requires a greater amount of calculation for decryption than the second digital signature. Information terminal 300 transmits the type of digital signature determined by the above determination to information terminal 100.
[0131] According to this, the second digital signature is used for transaction data generated by a device with computational resources less than the specified amount, which means there is little need to ensure security, so the use of the third digital signature, which requires a large amount of computation, can be reduced, thereby reducing the amount of computation.
[0132] In the system 1 according to the present embodiment, the related information is information indicating a token. The information terminal 300 further determines whether the period until the token expires is less than a predetermined period. If the period until the token expires is less than the predetermined period, the information terminal 300 may determine the type of digital signature to be a first digital signature, and if the period is equal to or greater than the predetermined period, the information terminal 300 may determine the type of digital signature to be a second digital signature, which requires a greater amount of calculation for decryption than the first digital signature. The information terminal 300 transmits the type of digital signature determined by the above determination to the information terminal 100.
[0133] According to this, the first digital signature is used for transaction data including tokens whose expiration date is less than a predetermined period and for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation required.
[0134] In the system 1 according to the present embodiment, the information terminal 300 further determines whether the related information includes privacy information. If the related information does not include privacy information, the information terminal 300 may determine the type of digital signature to be the first digital signature, and if the transaction data includes privacy information, the information terminal 300 may determine the type of digital signature to be the second digital signature, which requires a larger amount of calculation for decryption than the first digital signature. The information terminal 300 transmits the type of digital signature determined by the above determination to the information terminal 100.
[0135] According to this, the first digital signature is used for transaction data that does not contain privacy information for which there is little need to ensure security, so the use of the second digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation required.
[0136] In the system 1 according to the present embodiment, the information terminal 300 further determines whether the related information includes privacy information. If the related information does not include privacy information, the information terminal 300 may determine the type of digital signature to be the second digital signature, and if the transaction data includes privacy information, the information terminal 300 may determine the type of digital signature to be the third digital signature, which requires a larger amount of calculation for decryption than the second digital signature. The information terminal 300 transmits the type of digital signature determined by the above determination to the information terminal 100.
[0137] According to this, the second digital signature is used for transaction data that does not contain privacy information for which there is little need to ensure security, so the use of the third digital signature, which requires a large amount of calculation, can be reduced, thereby reducing the amount of calculation required.
[0138] In the system 1 according to this embodiment, the blockchain system 200 further transmits the transaction data received from the information terminal 100 to the information terminal 300. The blockchain system 200 receives the type of digital signature determined by the program from the information terminal 300. The blockchain system 200 verifies the digital signature included in the transaction data based on the type of digital signature included in the transaction data and the type of digital signature received from the information terminal 300. The blockchain system 200 generates a block including the transaction data based on the verification result. The blockchain system 200 stores the generated block in the blockchain.
[0139] Therefore, it is possible to verify whether a digital signature determined by a program is being used, thereby encouraging the use of a digital signature determined by a program.
[0140] Second Embodiment [System Configuration] FIG. 8 is a block diagram showing the configuration of a system according to a second embodiment.
[0141] 8, the system 1A includes an information terminal 100 and a blockchain system 200A. The system 1A according to the second embodiment differs from the system 1 according to the first embodiment in that the information terminal 300 is incorporated into the blockchain system 200A. Therefore, the differences from the system 1 according to the first embodiment will be described.
[0142] FIG. 9 is a diagram illustrating an example of a configuration of a node according to the second embodiment.
[0143] The nodes 200Aa to 200Ac differ from the nodes 200a to 200c of the first embodiment in that they further include a smart contract execution unit 206.
[0144] The smart contract execution unit 206 operates the smart contract by executing the contract code and the like included in the transaction data stored in the blockchain of the distributed ledger 205. The smart contract includes the contract code for executing the algorithm for determining the type of digital signature, which was stored in the information terminal 300 in the first embodiment. In other words, the smart contract execution unit 206 realizes the function of determining the type of digital signature of the information terminal 300 in the first embodiment.
[0145] 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 nodes 200Aa-200Ac or the information terminals 100 and 300 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.
[0146] 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.
[0147] [System Operation] Next, the operation of the system 1A configured as above will be described.
[0148] 10 is a sequence diagram showing an example of the operation of the system according to embodiment 2. In the diagram, transaction data may be expressed as Tx data.
[0149] The information terminal 100 prepares to generate transaction data including data to be stored in a blockchain in response to, for example, an input from an issuer (S101). Step S101 is the same as step S101 in the first embodiment.
[0150] The information terminal 100 transmits the related transaction data including the related information to the blockchain system 200A (S102a). As a result, the blockchain system 200A receives (acquires) the related transaction data from the information terminal 100.
[0151] When the blockchain system 200A receives the related transaction data, it executes a smart contract based on the related information included in the related transaction data and determines the type of digital signature to be added to the transaction data including data related to the related information (S103a). Note that the specific processing of step S103a is the same as step S103 in the first embodiment.
[0152] The blockchain system 200A transmits type information indicating the determined type of digital signature to the information terminal 100 (S104a). As a result, the information terminal 100 receives the type information from the blockchain system 200A.
[0153] The information terminal 100 executes steps S105 to S108 of the first embodiment.
[0154] The blockchain system 200A executes a smart contract based on each of one or more pieces of transaction data acquired from the transaction pool and determines the type of digital signature to be assigned to the transaction data (S110a). Note that step S110a differs from step S103a in that a program is executed on transaction data, whereas in step S103 a a program is executed on related information.
[0155] The blockchain system 200A executes steps S112 to S114 of the first embodiment.
[0156] [Effects, etc.] In the system 1A according to the present embodiment, the program is a contract code that constitutes a smart contract. The smart contract is stored in a blockchain. Each of the multiple nodes that constitute the blockchain system 200A has the same functions as the information terminal 300 according to the first embodiment.
[0157] Therefore, by transmitting related information to the blockchain system 200A, the information terminal 100 can receive the type of digital signature determined by the smart contract of the blockchain system 200A based on the related information. Because the smart contract is stored in the blockchain system 200A, tampering with the smart contract can be prevented. In other words, the information terminal 100 can receive the type of digital signature as a highly reliable determination result from the blockchain system 200A.
[0158] (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.
[0159] FIG. 11 is an explanatory diagram showing the data structure of a blockchain.
[0160] 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.
[0161] 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.
[0162] FIG. 12 is an explanatory diagram showing the data structure of the transaction data.
[0163] The transaction data shown in Figure 12 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+.
[0164] 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.
[0165] 13 and 14 are explanatory diagrams showing transaction data related to the execution of a smart contract, and processing related to the execution of a smart contract, respectively.
[0166] A series of processes related to the execution of a smart contract using a distributed ledger will be described with reference to Figures 13 and 14.
[0167] 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.
[0168] 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.
[0169] 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.
[0170] FIG. 15 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.
[0171] 15 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).
[0172] 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.
[0173] 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.
[0174] 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.
[0175] 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. Here, the software that realizes the devices of the above embodiments is the following program.
[0176] In other words, this program causes a computer to execute a control method that sends related information to an information terminal that stores a program that determines the type of digital signature to be assigned to transaction data based on related information about data included in the transaction data to be stored in a blockchain, receives the type of digital signature determined by the program from the information terminal, generates the transaction data including a digital signature assigned according to the type of digital signature, and sends the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
[0177] Although the devices according to one or more aspects have been described based on the embodiments, the present invention is not limited to these embodiments. As long as they do not deviate from the spirit of the present invention, various modifications conceivable by those skilled in the art to the present embodiments and configurations constructed by combining components of different embodiments may also be included within the scope of one or more aspects.
[0178] The present disclosure is useful as a control method capable of performing display control according to the legitimacy of content to be displayed.
[0179] 1, 1A System 100, 300 Information terminal 200, 200A Blockchain system 200a to 200c, 200Aa to 200Ac Node 101, 201, 301 Communication unit 102, 302 Input reception unit 103, 303 Display unit 104, 202, 304 Control unit 105, 305 Memory unit 203 Recording unit 204 Transaction data verification unit 205 Distributed ledger 206 Smart contract execution unit 500 Network
Claims
1. A control method executed by a device, comprising: transmitting related information regarding data included in transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be added to the transaction data, based on the related information; receiving the type of digital signature determined by the program from the information terminal; generating the transaction data including the digital signature added according to the type of digital signature; and transmitting the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
2. The control method described in claim 1, wherein the program is a contract code constituting a smart contract, the smart contract is stored in the blockchain, and the information terminal is one of multiple information terminals constituting the blockchain system.
3. The control method according to claim 1 or 2, further comprising: the information terminal determining whether the related information is information indicating an FT (Fungible Token) or information indicating an NFT (Non-Fungible Token); if the related information is information indicating the FT, determining the type of the digital signature to be a first digital signature; if the related information is information indicating the NFT, determining the type of the digital signature to be a second digital signature that requires a greater amount of calculation for decryption than the first digital signature; and transmitting the type of digital signature determined by the determination to the device.
4. The control method according to claim 1 or 2, wherein the related information is information indicating a token, and the information terminal further determines whether the token amount of the token is less than a predetermined token amount, and if the token amount is less than the predetermined token amount, determines the type of the digital signature to be a first digital signature, and if the token amount is equal to or greater than the predetermined token amount, determines the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature, and transmits the type of digital signature determined by the determination to the device.
5. The control method according to claim 1 or 2, further comprising: determining whether the computing resources of the device are less than a predetermined computing resource; if the computing resources are less than the predetermined computing resource, determining the type of the digital signature to be a first digital signature; if the computing resources are equal to or greater than the predetermined computing resource, determining the type of the digital signature to be a second digital signature that requires a greater amount of calculation for decryption than the first digital signature; and transmitting the type of digital signature determined by the determination to the device.
6. The control method according to claim 4, further comprising the steps of: determining whether the computing resources of the device are less than a predetermined computing resource; if the computing resources are less than the predetermined computing resource, determining the type of the digital signature to be a second digital signature; if the computing resources are equal to or greater than the predetermined computing resource, determining the type of the digital signature to be a third digital signature that requires a greater amount of calculation for decryption than the second digital signature; and transmitting the type of digital signature determined by the determination to the device.
7. A control method as described in claim 1 or 2, wherein the related information is information indicating a token, and the information terminal further determines whether the period until the expiration date of the token is less than a predetermined period, and if the period is less than the predetermined period, determines the type of the digital signature to be a first digital signature, and if the period is equal to or greater than the predetermined period, determines the type of the digital signature to be a second digital signature that requires more calculations to decrypt than the first digital signature, and transmits the type of digital signature determined by the determination to the device.
8. The control method according to claim 1 or 2, further comprising the information terminal determining whether or not the related information includes privacy information, determining the type of the digital signature to be a first digital signature if the related information does not include privacy information, and determining the type of the digital signature to be a second digital signature that requires a greater amount of calculation for decryption than the first digital signature if the transaction data includes privacy information, and transmitting the type of digital signature determined by the determination to the device.
9. The control method of claim 3, further comprising the information terminal determining whether or not the related information includes privacy information, determining the type of the digital signature to be a second digital signature if the related information does not include privacy information, and determining the type of the digital signature to be a third digital signature that requires a greater amount of calculation for decryption than the second digital signature if the transaction data includes privacy information, and transmitting the type of digital signature determined by the determination to the device.
10. The control method according to claim 1 or 2, further comprising: the blockchain system transmitting the transaction data received from the device to the information terminal; receiving from the information terminal the type of digital signature determined by the program; verifying the digital signature included in the transaction data based on the type of digital signature included in the transaction data and the type of digital signature received from the information terminal; generating a block including the transaction data based on the result of the verification; and storing the block in the blockchain.
11. A device comprising: a processor; and a memory, wherein the processor uses the memory to transmit related information regarding data included in transaction data to be stored in a blockchain to an information terminal storing a program that determines the type of digital signature to be added to the transaction data, based on the related information regarding the data included in the transaction data; receive the type of digital signature determined by the program from the information terminal; generate the transaction data including a digital signature added according to the type of digital signature; and transmit the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
12. A program for causing a computer to execute a control method executed by an apparatus, the program causing a computer to execute the following steps: sending related information to an information terminal storing a program that determines the type of digital signature to be attached to transaction data to be stored in a blockchain based on related information regarding data included in the transaction data; receiving the type of digital signature determined by the program from the information terminal; generating the transaction data including a digital signature attached according to the type of digital signature; and sending the transaction data to a blockchain system that manages the blockchain to store the transaction data in the blockchain.
Citation Information
Patent Citations
System for accelerating calculation of blockchain data
CN111768195A
Wallet system and transaction method
CN114723438A
Encryption method, information processing program, and information processing apparatus
JP2016046688A
Communication system, communication method, and program
JP2020182142A