Block chain control system, storage medium and block chain control method

By setting processing information in multiple devices and dynamically adjusting the difficulty of block creation, the problem of block creation time changes caused by the devices participating in blockchain performing normal processing is solved, and the stability of block creation time is achieved.

CN119691056APending Publication Date: 2025-03-25FUJIFILM BUSINESS INNOVATION CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410196249.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-25
Filing Date
2024-02-22
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

In a blockchain where multiple devices collaborate on block creation processing, when devices participating in blockchain perform normal processing, the changes in block creation time will affect the stability of the blockchain.

Method used

By setting processing permission information in multiple devices, the difficulty of block creation is dynamically adjusted to ensure that blocks are added to the blockchain when the block creation processing results of the processable device meet the difficulty conditions.

Benefits of technology

The changes in block creation time are effectively suppressed, and the stability of block creation time can be maintained even when devices participating in the blockchain perform normal processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119691056A_ABST
    Figure CN119691056A_ABST
Patent Text Reader

Abstract

A blockchain control system and method, and a storage medium, the system being provided with: a plurality of devices that store a blockchain, are communicatively connected to each other, and each perform a block creation process of adding a new block to the blockchain in cooperation with another device; and a processor in which each of the devices included in the devices outputs process permissibility information indicating whether or not a block creation process can be executed in the device, the processor performing: a process of acquiring transaction information, which is information included in a block, from any one of the devices; a block creation difficulty setting unit that sets, on the basis of the processing permissibility information output by each device, block creation difficulty relating to a block containing transaction information in accordance with the number of devices that can be processed by a device that is determined to be able to perform the block creation processing at the point in time of executing the block creation processing of the block containing transaction information among the devices, on the basis of the processing permissibility information output by each device; and adding the block including the transaction information to the block chain when the result of the block creation processing of the processable device satisfies a condition determined according to the block creation difficulty.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a blockchain control system, a storage medium and a blockchain control method. Background Art

[0002] In the past, a technology called blockchain was known. Blockchain has a structure in which data units called blocks containing transaction information as information to be recorded are connected like a chain. Blockchains are stored in multiple devices (also called nodes) that are directly connected to each other for communication. With such a structure, tampering with the data of the recorded object is suppressed.

[0003] The process of adding a new block to the blockchain is called a block creation process. The block creation process is performed by each device participating in the blockchain. Generally speaking, the block creation process requires a large amount of calculations. In addition, by adjusting the amount of calculations required for the block creation process, the number of new blocks added per specified time can be adjusted.

[0004] In the past, technologies related to the improvement of block creation processing have been proposed. For example, Patent Document 1 discloses a block creation device, which includes: a first operation unit that executes various application programs such as a document creation program, a spreadsheet program, or an image processing program; and a second operation unit that performs a block creation process for adding a block to a blockchain, and the second operation unit performs the block creation process while the first operation unit executes the application program.

[0005] Furthermore, Patent Document 2 discloses the following technology: In a mining pool that performs a block creation process for adding blocks to a blockchain, each individual, group, or organization participating in the mining pool sends a report indicating the result of the block creation process to a pool master device of the mining pool.

[0006] Moreover, patent document 3 discloses a distributed management system for block creation processing for adding blocks to a blockchain, wherein the results of the block creation processing of each user terminal that is a node constituting the blockchain, i.e., the block creation rate, are managed in a management server, and a reward corresponding to the block creation rate is paid to the user.

[0007] Patent Document 1: Japanese Patent Application Publication No. 2019-106612

[0008] Patent Document 2: Japanese Patent Application No. 2022-546773

[0009] Patent Document 3: Japanese Patent Application Publication No. 2019-101797

[0010] As described above, when a block creation process requires a large amount of computation, multiple devices participating in the blockchain sometimes collaborate to perform the block creation process. By having multiple devices collaborate to perform the block creation process, even if the blockchain does not include a device with strong computational power, it is possible to suppress the time required for the block creation process, i.e., the block creation time, from being prolonged.

[0011] Here, the device participating in the blockchain sometimes performs processing other than the block creation processing (referred to as normal processing in this specification). During the period when the device participating in the blockchain performs the normal processing, the block creation processing may not be executed in the device. Therefore, when the device participating in the blockchain performs the normal processing, the computing power used for the block creation processing of the blockchain as a whole will change depending on whether the device performs the normal processing, and the block creation time may change. Summary of the invention

[0012] An object of the present invention is to suppress variations in block creation time in a blockchain in which a plurality of devices collaborate to perform block creation processing, even when the devices participating in the blockchain perform normal processing other than block creation processing.

[0013] The invention involved in Scheme 1 is a blockchain control system, characterized in that it comprises: a plurality of devices, each storing a blockchain and being communicatively connected to each other, and each device cooperating with other devices to perform a block creation process for adding a new block to the blockchain; and a processor, each device included in the plurality of devices outputs processing permission information indicating whether the block creation process can be executed in the device, and the processor performs the following processing: obtaining transaction information as information included in a block from any one of the plurality of devices; setting a block creation difficulty based on the processing permission information output by each device, the block creation difficulty being the difficulty of the block creation process related to the block containing the transaction information corresponding to the number of devices among the plurality of devices that are judged to be capable of performing the block creation process at the time of executing the block creation process of the block containing the transaction information, that is, the number of processable devices; and when the result of the block creation process of the processable device meets the condition determined according to the block creation difficulty, adding the block containing the transaction information to the blockchain.

[0014] According to the blockchain control system described in Scheme 1, the invention involved in Scheme 2 is characterized in that when the normal processing as a processing other than the block creation processing is completed, each device included in the multiple devices sends the transaction information to the multiple devices, and the processing permission information related to the device included in the multiple devices is included in the transaction information sent from the device.

[0015] According to the blockchain control system described in Scheme 2, the invention involved in Scheme 3 is characterized in that when the user continues to log in to the device after the normal processing is completed, or there are other normal processing being executed or waiting to be executed in the device, each device included in the multiple devices will send the transaction information including the processing permission information indicating that the block creation processing cannot be executed to the multiple devices.

[0016] According to the blockchain control system described in Scheme 2 or 3, the invention involved in Scheme 4 is characterized in that each device included in the multiple devices includes number information indicating the number of processable devices in the header of the block based on the processing permission information included in one or more of the transaction information included in the block, and the processor sets the difficulty of block creation based on a comparison between the number information included in the header of the previous block last appended to the blockchain and the number of processable devices calculated based on the processing permission information, and the processing permission information is included in one or more of the transaction information included in the current block to be appended to the blockchain.

[0017] According to the blockchain control system described in any one of Schemes 1 to 4, the invention involved in Scheme 5 is characterized in that each device included in the multiple devices includes block creation time information indicating the block creation time required for the block creation processing of the block in the header of the block, and the processor sets the block creation difficulty based on a comparison between the block creation time indicated by the block creation time information included in the header of the previous block last appended to the blockchain and a specified reference time.

[0018] According to the blockchain control system described in any one of Schemes 1 to 5, the invention involved in Scheme 6 is characterized in that each device included in the multiple devices is an image processing device, and the transaction information includes information representing the content of the processing performed by the image processing device.

[0019] The invention involved in scheme 7 is a storage medium, characterized in that it stores a blockchain control program that causes a computer to execute the following processing: obtaining transaction information as information included in a block from any one of a plurality of devices, the plurality of devices respectively storing blockchains and being communicatively connected to each other, and each device cooperating with other devices to perform a block creation process for adding a new block to the blockchain; setting a block creation difficulty based on processing feasibility information indicating whether the block creation process can be executed in the device itself, output from each device included in the plurality of devices, the block creation difficulty being the difficulty of the block creation process related to the block containing the transaction information corresponding to the number of devices, i.e., processable devices, among the plurality of devices that are determined to be capable of performing the block creation process at the time of executing the block creation process of the block containing the transaction information; and when the result of the block creation process by the processable device meets the condition determined according to the block creation difficulty, appending the block containing the transaction information to the blockchain.

[0020] The invention involved in Scheme 8 is a blockchain control method, characterized in that it includes the following steps: obtaining transaction information as information included in a block from any one of a plurality of devices, the plurality of devices respectively storing blockchains and being communicatively connected to each other, and each device cooperating with other devices to perform a block creation process for adding a new block to the blockchain; setting a block creation difficulty based on processing feasibility information indicating whether the block creation process can be executed in the device output from each device included in the plurality of devices, the block creation difficulty being the difficulty of the block creation process related to the block containing the transaction information corresponding to the number of devices, i.e., processable devices, among the plurality of devices that are judged to be capable of performing the block creation process at the time of executing the block creation process of the block containing the transaction information; and when the result of the block creation process of the processable device meets the condition determined according to the block creation difficulty, appending the block containing the transaction information to the blockchain.

[0021] Effects of the Invention

[0022] According to the first, seventh or eighth scheme of the present invention, in a blockchain in which a plurality of devices collaborate to perform block creation processing, even when the devices participating in the blockchain perform normal processing other than block creation processing, changes in block creation time can be suppressed.

[0023] According to the second aspect of the present invention, the processor can understand whether the block creation process can be executed in each device in the framework of the blockchain.

[0024] According to the third aspect of the present invention, in each device, it is possible to determine whether the block creation process is executable based on whether the user has logged in or whether the normal process is being executed or is scheduled to be executed.

[0025] According to the fourth aspect of the present invention, the block creation difficulty can be determined based on a comparison between the number of processable devices indicated by the number information of the previous block and the number of processable devices calculated based on the process availability information included in the current block.

[0026] According to the fifth aspect of the present invention, the block creation difficulty can also be determined based on the block creation time associated with the previous block.

[0027] According to the sixth aspect of the present invention, in a blockchain for preventing tampering of information indicating the content of processing executed by an image processing device, changes in block creation time can be suppressed. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Embodiments of the present invention will be described in detail with reference to the following drawings.

[0029] Figure 1 is a schematic diagram of the structure of the blockchain control system involved in this embodiment;

[0030] Figure 2 is a schematic diagram of the structure of an image processing device involved in this embodiment;

[0031] Figure 3 It is a conceptual diagram showing the structure of a blockchain;

[0032] Figure 4 is a conceptual diagram representing the contents of a block header;

[0033] Figure 5 It is a conceptual diagram representing the content of transaction information;

[0034] Figure 6 is a first flow chart showing the processing flow of the image processing apparatus according to the present embodiment;

[0035] Figure 7 This is a second flow chart showing the flow of processing by the image processing apparatus according to the present embodiment.

[0036] Explanation of symbols

[0037] 10-blockchain control system, 12-image processing device, 20-communication IF, 22-input IF, 24-display, 26-printer, 28-scanner, 30-memory, 32-blockchain, 40-block, 42-header, 44-transaction information, 50-processor, 52-authentication processing unit, 54-normal processing unit, 56-transaction information creation unit, 58-difficulty setting unit, 60-block creation processing unit. DETAILED DESCRIPTION

[0038] Figure 1 This is a schematic diagram of the structure of the blockchain control system 10 involved in this embodiment. The blockchain control system 10 is configured to include multiple devices that are multiple nodes of the blockchain. In this embodiment, the blockchain control system 10 is composed of multiple image processing devices 12 that are multiple nodes of the blockchain. In this specification, the image processing device 12 included in the blockchain control system 10 is simply referred to as the image processing device 12. The image processing device 12 is a device with a printing function, a copying function, a scanning function, a FAX function, etc., such as a multifunction machine. In addition, although in Figure 1 Only three image processing devices 12 constituting the blockchain control system 10 are shown, but the blockchain control system 10 may include a greater number of image processing devices 12 .

[0039] The image processing devices 12 are connected to each other via a communication line such as a LAN (Local Area Network) or a WAN (Wide Area Network) so as to be communicable by P2P (Peer to Peer). P2P is a communication method in which devices communicate directly without going through a server.

[0040] In the blockchain control system 10 involved in this embodiment, the billing data generated in each image processing device 12 is managed by using blockchain, thereby suppressing its disappearance or tampering. The billing data is data indicating the processing content of the image processing device 12. For example, the billing data generated when the image processing device 12 performs printing processing includes information such as the number of prints, the output paper size, and the distinction between color printing and black and white printing. For example, the billing data is used when determining the amount of charge to be charged to the user who uses the image processing device 12.

[0041] The details will be described later. Blockchain is a form of distributed database composed of multiple blocks connected. The distributed database here means that the blockchain of the same content is stored in each image processing device 12. Each block constituting the blockchain contains one or more transaction information that is the object of management. In this embodiment, each transaction information becomes billing data. In addition, each block contains a hash value of the block information of the previous block that was last added to the blockchain (hereinafter, for convenience, it is expressed as the hash value of the block). Block information is information including transaction information contained in the block. The hash value is a value obtained by irreversibly converting the object data (here, the block information of the previous block). Therefore, if the transaction information contained in a certain block disappears or is tampered with, the hash value contained in all subsequent blocks is different from the regular value. Through such a structure, the disappearance or tampering of transaction information (in this embodiment, billing data) is suppressed.

[0042] If blocks can be easily added to the blockchain, users can easily add illegal blocks (for example, blocks containing tampered transaction information, etc.) to the blockchain. Therefore, in the blockchain, restrictions for adding new blocks are usually set. As one of such restrictions, an algorithm called PoW (Proof of Work) is proposed. PoW is a structure that allows the processor of the node of the blockchain (in this embodiment, the image processing device 12) to repeat calculations, and when the calculation results meet the specified conditions, new blocks are allowed to be added to the blockchain. In the blockchain in this embodiment, PoW is also used as a restriction for adding new blocks.

[0043] The process for adding a new block to the blockchain is called a block creation process. In the block creation process based on PoW, the processor of the node calculates the hash value of the block by inputting the block information of the latest block added to the blockchain into the hash function, that is, the synthetic value synthesized by synthesizing one or more transaction information contained in the block, the hash value of the previous block of the block and the random value. As a hash function, for example, a function such as SHA-256 is used. In addition, if the calculated hash value is less than a specified threshold (called a difficulty target), the block creation process is successful and the new block is allowed to be added to the blockchain. A hash value less than the threshold is called a correct hash value. When the calculated hash value is above the threshold, the processor changes the random value and calculates the hash value again. In addition, due to the characteristics of the hash function, if the input data (here is the random value) is slightly different, the output hash value will change significantly. In this way, the processor repeats the calculation of the hash value while changing the random value until the hash value is less than the threshold value (in other words, until the correct hash value is obtained). Generally speaking, the amount of calculation required to obtain the correct hash value is huge.

[0044] In this specification, the difficulty of block creation processing (referred to as difficulty) is referred to as block creation difficulty. In the case of PoW, the block creation difficulty can be adjusted by the above threshold. That is, the smaller the value of the threshold, the more difficult it is for the block creation process to succeed, and the larger the value of the threshold, the easier it is for the block creation process to succeed.

[0045] As described above, a large amount of computation is required to make the block creation process successful. Therefore, a scheme is proposed in which multiple nodes collaborate to perform block creation processing. A collection of nodes that collaborate to perform block creation processing is called a mining pool. In this embodiment, a mining pool is formed by multiple image processing devices 12, and multiple image processing devices 12 (specifically, their processors) collaborate to perform block creation processing.

[0046] Figure 2 : is a schematic diagram of the structure of the image processing device 12. The image processing device 12 is a device that performs block creation processing and normal processing (processing other than block creation processing as described above). Normal processing in the image processing device 12 is, for example, printing processing, scanning processing, copying processing, FAX processing, etc. The image processing devices 12 included in the blockchain control system 10 have the same structure as each other, so one image processing device 12 is described here.

[0047] The communication IF (InterFace) 20 is constituted by, for example, a network adapter, etc. The communication IF 20 plays a role of communicating with other devices via a communication line. In particular, in this embodiment, the communication IF 20 plays a role of communicating with other image processing devices 12 by P2P.

[0048] The input IF 22 is composed of, for example, buttons or a touch panel, etc. The input IF 22 is used when the user inputs an instruction to the image processing device 12 .

[0049] The display 24 is constituted by, for example, a liquid crystal display or an organic EL (Electro Luminescence) display, etc. Various screens are displayed on the display 24 in accordance with instructions from a processor 50 described later.

[0050] The printer 26 is, for example, a laser printer or an inkjet printer, and is a mechanism that performs a printing process to form an image on a printing medium such as paper based on an input print job. When the printer 26 is a laser printer, the printer 26 is composed of, for example, a photosensitive drum, a charging roller, a transfer roller, a fixing roller, and a toner. When the printer 26 is an inkjet printer, the printer 26 is composed of a nozzle, a charging electrode plate, a deflection electrode plate, and ink.

[0051] The scanner 28 is composed of a light source and an image sensor such as a CCD (Charge-Coupled Device), etc. The scanner 28 is a mechanism that performs a scanning process of acquiring image data by optically reading a paper medium.

[0052] The memory 30 is configured to include a HDD (Hard Disk Drive), an eMMC (embedded MultiMedia Card), a ROM (Read Only Memory), or a RAM (Random Access Memory). The memory 30 stores a blockchain control program for operating various components of the image processing device 12. In addition, the blockchain control program can also be stored in a computer-readable non-temporary storage medium such as a USB (Universal Serial Bus) memory or an SD card. The image processing device 12 can read and execute the blockchain control program from such a storage medium. And, as Figure 2 As shown, a blockchain 32 is stored in the memory 30 .

[0053] Figure 3 3 is a conceptual diagram showing the structure of the blockchain 32. As described above, the blockchain 32 has a structure in which a plurality of blocks 40 are linked. Each block 40 includes a header 42 and transaction information 44.

[0054] Figure 4 4 is a conceptual diagram showing the contents of the header 42 included in each block 40. Figure 4 As shown, in this embodiment, the header 42 includes a hash value of the previous block 40, a random number, information indicating the block creation time, information indicating the difficulty of block creation, and the number of non-block creation units. The hash value of the previous block 40 is the correct hash value calculated when the previous block 40 is appended to the blockchain 32. The random number is a random number used when calculating the correct hash value of the block 40. The block creation time is the time required for the block creation process for the block 40. In other words, the block creation time is the time required from the start of the block creation process of the block 40 to the success of the block creation process (that is, until the correct hash value is calculated). The block creation difficulty is the block creation difficulty when the block 40 is appended to the blockchain 32. In this embodiment, as the block creation difficulty, the threshold value when the correct hash value is calculated is included in the header 42. The number of non-block creation units will be described later.

[0055] Figure 5 4 is a conceptual diagram showing the content of the transaction information 44 included in each block 40. Figure 5As shown, in this embodiment, the transaction information 44 includes billing data, device ID, information indicating the processing date and time, and a continue processing flag. As described above, the billing data is data indicating the processing content of the image processing device 12. The device ID is an identifier that uniquely identifies the image processing device 12 that has performed processing related to the billing data. The processing date and time is the date and time when the image processing device 12 completes the processing related to the billing data. The continue processing flag has a value of enable (ON) or disable (OFF). The continue processing flag will be described later.

[0056] Back to Figure 2 The processor 50 is composed of, for example, a CPU (Central Processing Unit). The processor 50 is communicatively connected to the communication IF 20, the input IF 22, the display 24, the printer 26, the scanner 28, and the memory 30 via a data bus. The processor 50 functions as an authentication processing unit 52, a normal processing unit 54, a transaction information creation unit 56, a difficulty setting unit 58, and a block creation processing unit 60 through the blockchain control program stored in the memory 30.

[0057] The authentication processing unit 52 , the normal processing unit 54 , and the transaction information creation unit 56 are functions mainly related to creation and transmission of the transaction information 44 included in the block 40 .

[0058] The authentication processing unit 52 authenticates the user who uses the image processing device 12. For example, the image processing device 12 has a card reader (not shown), and the authentication processing unit 52 authenticates the user based on the user ID obtained by reading the user's ID card through the card reader. In addition, the authentication processing unit 52 can also authenticate the user by asking the user to input the user ID and password. The state in which the user is authenticated is represented as the user logging in to the image processing device 12. When the use of the image processing device 12 is terminated, the user inputs a logout instruction to the image processing device 12 through the input IF 22 or the like. The authentication processing unit 52 cancels the authentication of the user based on the instruction.

[0059] The normal processing unit 54 performs control for executing normal processing based on a job as a processing command input by the user to the image processing apparatus 12. For example, when a print job is received from the user, the normal processing unit 54 causes the printer 26 to execute a print process. Also, when a scan job is received from the user, the normal processing unit 54 causes the scanner 28 to execute a scan process.

[0060] When the normal processing under the control of the normal processing unit 54 is completed, the transaction information creation unit 56 creates the transaction information 44 (see Figure 5Specifically, the transaction information creation unit 56 creates the billing data related to the normal processing based on the attribute information of the job related to the normal processing, etc. In addition, the transaction information creation unit 56 obtains its own device ID (which can be pre-stored in the memory 30) and the processing date and time when the processing of the job related to the normal processing is completed, and includes it in the transaction information 44.

[0061] Furthermore, the transaction information creation unit 56 includes a continue processing flag as processing permission information in the transaction information 44. The continue processing flag is a flag indicating whether the image processing device 12 continues the normal processing. As described above, the block creation process is performed in the mining pool composed of multiple image processing devices 12 as multiple nodes of the blockchain, but in this embodiment, it is considered that the image processing device 12 in the normal processing cannot perform the block creation process. That is, the continue processing flag can also be said to be information indicating whether the block creation process can be performed in the image processing device 12.

[0062] In the present embodiment, when at least one of the following conditions is met: the user continues to log in to the image processing device 12 after the normal processing is completed, or there is a job being executed or a job waiting to be executed in the image processing device 12, the transaction information creation unit 56 sets the continue processing flag to be enabled. When the continue processing flag is enabled, it means that the image processing device 12 cannot perform the block creation processing. On the other hand, when the two conditions are met: the user logs out after the normal processing is completed, and there is no job being executed or a job waiting to be executed in the image processing device 12, the transaction information creation unit 56 sets the continue processing flag to be disabled. When the continue processing flag is disabled, it means that the image processing device 12 can perform the block creation processing.

[0063] The transaction information creation unit 56 simultaneously sends the created transaction information 44 to other image processing devices 12 included in the blockchain control system 10 .

[0064] In this way, when normal processing is performed in each image processing device 12 included in the blockchain control system 10, transaction information 44 is simultaneously sent from the image processing device 12 that has performed the normal processing to other image processing devices 12. Each image processing device 12 accumulates and stores the transaction information 44 obtained from any one of the multiple image processing devices 12 included in the blockchain control system 10 (including the image processing device itself) in the memory 30.

[0065] The difficulty setting unit 58 and the block creation processing unit 60 are functions related to block creation processing of the block 40 including the transaction information 44 transmitted from the own device or another image processing device 12 .

[0066] Before performing block creation processing on the current block 40 , the difficulty setting unit 58 sets the block creation difficulty associated with the current block 40 , which is the block 40 that the block creation processing unit 60 is to add to the current blockchain 32 .

[0067] In the present embodiment, first, the difficulty setting unit 58 calculates the number of image processing devices 12 whose continue processing flag is enabled based on the device ID and the continue processing flag of each transaction information 44 (hereinafter, recorded as this transaction information 44) included in the current block 40, and uses it as the number of unavailable block creation devices. That is, the number of unavailable block creation devices is information indicating the number of image processing devices 12 that are determined to be unable to perform block creation processing at the time of executing the block creation processing of the current block 40. In addition, sometimes a plurality of transaction information 44 including the same device ID is included in the current transaction information 44. For example, the same image processing device 12 processes a plurality of jobs in a short period of time. In this case, the difficulty setting unit 58 refers only to the continue processing flag included in the transaction information 44 with the latest processing date and time among the plurality of transaction information 44 including the same device ID. Thus, the difficulty setting unit 58 can calculate the number of unavailable block creation devices based on the latest state of the image processing device 12 (i.e., whether the block creation processing can be performed).

[0068] In addition, the number of unavailable block creation devices included in the header 42 of the block 40 indicates the number of image processing devices 12 that cannot perform block creation processing within the range of the image processing devices 12 related to the current transaction information 44, and sometimes does not necessarily indicate the number of image processing devices 12 that cannot perform block creation processing among all image processing devices 12 included in the blockchain control system 10. However, if each image processing device 12 performs processing at a certain frequency, it is expected that the current transaction information 44 includes transaction information 44 sent from many image processing devices 12, and it is expected that the number of unavailable block creation devices calculated by the difficulty setting unit 58 is close to the number of image processing devices 12 that cannot perform block creation processing in the entire blockchain control system 10.

[0069] The number of image processing devices 12 included in the blockchain control system 10 does not change so frequently. Therefore, by subtracting the number of image processing devices 12 that cannot create blocks from the total number of image processing devices 12 included in the blockchain control system 10, the number of image processing devices 12 that can perform block creation processing can be obtained. Therefore, it can also be said that the number of image processing devices 12 that cannot create blocks is information indicating the number of image processing devices 12 that can perform block creation processing, that is, the number of block creation devices. In addition, the difficulty setting unit 58 can also calculate the number of image processing devices 12 whose continue processing flag is disabled based on the device ID and the continue processing flag of each transaction information 44 of this time instead of the number of non-block creation, and include the number of blocks that can be created as the number information in the header 42.

[0070] Each time a block 40 is added to the blockchain 32, the difficulty setting unit 58 calculates the number of blocks that cannot be created for the block 40. The details will be described later. The block creation processing unit 60 includes the number of blocks that cannot be created for the block 40 calculated by the difficulty setting unit 58 in the header 42 of the block 40 (see Figure 4 That is, the header 42 of the previous block 40 described below includes the number of unavailable block creation devices indicating the number of image processing devices 12 that were determined to be unable to execute the block creation process at the time of executing the block creation process of the previous block 40.

[0071] Next, the difficulty setting unit 58 refers to the header 42 of the previous block 40 to obtain the number of unavailable block creation units of the previous block 40. The number of unavailable block creation units for the current block 40 is compared with the number of unavailable block creation units for the previous block 40. When the number of unavailable block creation units for the current block 40 is greater than the number of unavailable block creation units for the previous block 40, the difficulty setting unit 58 sets the block creation difficulty for the current block 40 to be lower than the block creation difficulty for the previous block 40. On the other hand, when the number of unavailable block creation units for the current block 40 is less than the number of unavailable block creation units for the previous block 40, the block creation difficulty for the current block 40 is set to be higher than the block creation difficulty for the previous block 40.

[0072] In the present embodiment, the block creation difficulty is set by comparing the number of non-block creation units of the current block 40 with the number of non-block creation units of the previous block 40, but this is based on the premise that the total number of image processing devices 12 included in the blockchain control system 10 does not change significantly. To reiterate, if the total number of image processing devices 12 included in the blockchain control system 10 can be grasped, it can be said that the number of non-block creation units is information indicating the number of block creation units of image processing devices 12 that can perform block creation processing. Therefore, when the number of non-block creation units for the current block 40 is greater than the number of non-block creation units for the previous block 40, it can be said that the processing capacity of the mining pool when executing the block creation processing of the current block 40 is smaller than the processing capacity of the mining pool when executing the block creation processing of the previous block 40. Therefore, in order to suppress the change in the block creation time of the current block 40 relative to the previous block 40, the difficulty setting unit 58 makes the block creation difficulty for the current block 40 lower than the block creation difficulty for the previous block 40. On the other hand, when the number of non-block-creating machines for this block 40 is smaller than the number of non-block-creating machines for the previous block 40, it can be said that the processing capacity of the mining pool when executing the block creation process of this block 40 is smaller than the processing capacity of the mining pool when executing the block creation process of the previous block 40. Therefore, in order to suppress the change of the block creation time of this block 40 relative to the previous block 40, the difficulty setting unit 58 makes the block creation difficulty for this block 40 higher than the block creation difficulty for the previous block 40. In this way, as a concept, the difficulty setting unit 58 sets the block creation difficulty for this block 40 based on the comparison between the number of block-creating machines for this block 40 and the number of block-creating machines for the previous block 40.

[0073] When the number of blocks that can be created is included in the header 42, when the number of blocks that can be created this time is less than the number of blocks that can be created previously, the difficulty setting unit 58 sets the block creation difficulty for the block 40 this time to be lower than the block creation difficulty for the previous block 40; when the number of blocks that can be created this time is more than the number of blocks that can be created previously, the block creation difficulty for the block 40 this time is set to be higher than the block creation difficulty for the previous block 40.

[0074] In the present embodiment, the difficulty setting unit 58 sets the block creation difficulty for the current block 40 based on the comparison between the number of non-block-creating devices (or the number of block-creating devices) for the current block 40 and the number of non-block-creating devices (or the number of block-creating devices) for the previous block 40. However, the block creation difficulty for the current block 40 may be set based on the number of non-block-creating devices (or the number of block-creating devices) for the current block 40 without relying on the comparison with the previous block 40. For example, difficulty information indicating the correspondence between the number of non-block-creating devices or the number of block-creating devices and the block creation difficulty may be stored in the memory 30 in advance, and the difficulty setting unit 58 sets the block creation difficulty for the current block 40 based on the number of non-block-creating devices (or the number of block-creating devices) for the current block 40 and the difficulty information.

[0075] Furthermore, the difficulty setting unit 58 may also set the block creation difficulty for the current block 40 based on a comparison between the block creation time indicated by the block creation time information included in the header 42 of the previous block 40 that was last added to the blockchain and a predetermined reference time. Specifically, when the block creation time of the previous block 40 is longer than the reference time, the difficulty setting unit 58 sets the block creation difficulty for the current block 40 to be lower than the block creation difficulty for the previous block 40. On the other hand, when the block creation time of the previous block 40 is shorter than the reference time, the difficulty setting unit 58 sets the block creation difficulty for the current block 40 to be higher than the block creation difficulty for the previous block 40.

[0076] The block creation processing unit 60 performs block creation processing for the current block 40 including the current transaction information 44 at a predetermined timing (for example, when the number of transaction information 44 accumulated in the memory 30 that has not been subjected to block creation processing reaches a predetermined number, or at a predetermined time interval). As described above, the block creation processing unit 60 cooperates with the block creation processing unit 60 of the other image processing device 12 to perform block creation processing. In particular, when the two conditions that the user has not logged in to the device and there is no job being executed or waiting to be executed in the device are satisfied, that is, when the device can perform block creation processing, the block creation processing unit 60 performs block creation processing. On the contrary, when at least one of the conditions that the user has logged in to the device or there is a job being executed or waiting to be executed in the device is satisfied, that is, when the device cannot perform block creation processing, the block creation processing unit 60 does not perform block creation processing.

[0077] The block creation processing performed by the block creation processing unit 60 is as described above. That is, the block creation processing unit 60 calculates a hash value of the composite value of the current one or more transaction information 44, the hash value of the previous block 40, and the random number. And, when the hash value as the result of the block creation processing satisfies the condition of being less than the threshold value set by the difficulty setting unit 58 described later, the block creation processing is successful. The block creation processing unit 60 repeats the calculation of the hash value while changing the random number until a correct hash value is obtained.

[0078] When the block creation process is successful, the block creation processing unit 60 generates a header 42 (see Figure 4 ) and this transaction information 44 (reference Figure 5 ) of this block 40. And, this block 40 is added to the blockchain 32.

[0079] The overview of the blockchain control system 10 according to the present embodiment is as described above. Figure 6 and Figure 7 The flowchart shown in FIG. 1 illustrates the processing flow of the image processing device 12 .

[0080] Figure 6 4 is a flowchart showing the flow of processing for the image processing device 12 to create and transmit the transaction information 44 .

[0081] In step S10 , the normal processing unit 54 performs control for executing normal processing, which is processing related to the job, based on the job input by the user, and completes the processing.

[0082] In step S12, the transaction information creating unit 56 creates billing data related to the normal processing performed in step S10 based on the attribute information of the job completed in step S10 and the like.

[0083] In step S14, the transaction information creation unit 56 determines whether there is a normal process being executed or a normal process waiting to be executed in the image processing device 12 as the own device. If there is a normal process being executed or a normal process waiting to be executed, the process proceeds to step S16, in which the transaction information creation unit 56 sets the continuation processing flag to enabled. If there is no normal process being executed or a normal process waiting to be executed, the process proceeds to step S18.

[0084] In step S18, the transaction information creating unit 56 determines whether the user has logged in to the device. If the user has logged in, the process proceeds to step S18, and if the user has not logged in, the process proceeds to step S20.

[0085] In step S20 , the transaction information creating unit 56 sets the continuation flag to disabled.

[0086] In step S22, the transaction information creation unit 56 creates transaction information 44, which includes the billing data created in step S12, the device ID of this device, the completion date and time of the normal processing in step S10, and the continue processing flag set in step S16 or step S18.

[0087] In step S24 , the transaction information creation unit 56 simultaneously sends the transaction information 44 created in step S22 to other image processing devices 12 included in the blockchain control system 10 .

[0088] Figure 7 This is a flowchart showing the flow of the block creation difficulty setting process by the difficulty setting unit 58 and the block creation process for the current block 40 by the block creation processing unit 60 .

[0089] In step S30, the block creation processing unit 60 determines whether the device can perform block creation processing. That is, in the block creation processing unit 60, when the two conditions that the user has not logged in to the device and there is no job being executed or waiting to be executed in the device are met, it is determined that the block creation processing can be performed. When at least one of the conditions that the user has logged in to the device or there is a job being executed or waiting to be executed in the device is met, it is determined that the block creation processing cannot be performed. If the device cannot perform block creation processing, the processing ends. If the device can perform block creation processing, the process proceeds to step S32.

[0090] In step S32 , the difficulty setting unit 58 selects one of the transaction information 44 stored in the memory 30 that has not been subjected to the block creation process.

[0091] In step S34, the difficulty setting unit 58 checks the continuation flag of the transaction information 44 selected in step S32. If the continuation flag is enabled, the process proceeds to step S36. If the continuation flag is disabled, the process skips step S36 and proceeds to step S38.

[0092] In step S36 , the difficulty setting unit 58 increments the number of impossible block creation units for the current block 40 (ie, increases it by 1).

[0093] In step S38, the difficulty setting unit 58 determines whether unprocessed transaction information 44 that has not been processed for block creation remains. If unprocessed transaction information 44 remains, the process returns to step S32, and in the next step S32, the difficulty setting unit 58 selects unprocessed transaction information 44 and repeats the process of steps S34 to S36. In the process from step S32 to S38, the number of units that cannot be block-created for the current block 40 is calculated. If unprocessed transaction information 44 remains, the process proceeds to step S40.

[0094] In step S40, the difficulty setting unit 58 acquires the header 42 of the previous block 40. In particular, the difficulty setting unit 58 acquires the block creation time and the number of units for which block creation is not possible of the previous block 40.

[0095] In step S42, the difficulty setting unit 58 compares the block creation time of the previous block 40 obtained in step S40 with the prescribed reference time. When the block creation time of the previous block 40 is longer than the reference time, the process proceeds to step S44, and the difficulty setting unit 58 makes the block creation difficulty for this block 40 lower than the block creation difficulty for the previous block 40. When the block creation time of the previous block 40 is shorter than the reference time, the process proceeds to step S46, and the difficulty setting unit 58 makes the block creation difficulty for this block 40 higher than the block creation difficulty for the previous block 40. When the block creation time of the previous block 40 is the same as the reference time, the process proceeds to step S48.

[0096] In step S48, the difficulty setting unit 58 compares the number of non-block-creatable units of the current block 40 calculated in steps S32 to S38 with the number of non-block-creatable units of the previous block 40 acquired in step S40. When the number of non-block-creatable units of the current block 40 is greater than the number of non-block-creatable units of the previous block 40, the process proceeds to step S50, and the difficulty setting unit 58 makes the block creation difficulty for the current block 40 lower than the block creation difficulty for the previous block 40. When the number of non-block-creatable units of the current block 40 is less than the number of non-block-creatable units of the previous block 40, the process proceeds to step S52, and the difficulty setting unit 58 makes the block creation difficulty for the current block 40 higher than the block creation difficulty for the previous block 40. When the number of non-block-creatable units for the current block 40 is the same as the number of non-block-creatable units for the previous block 40, the process proceeds to step S54.

[0097] Through the processing from step S40 to step S52, the block creation difficulty for the current block 40 is set. In the present embodiment, a threshold value in PoW is set as the block creation difficulty.

[0098] In step S54 , the block creation processing unit 60 calculates a hash value of a composite value of the current transaction information 44 , the hash value of the previous block 40 , and the random number.

[0099] In step S56, the block creation processing unit 60 determines whether the hash value calculated in step S54 is a correct hash value, that is, whether the hash value calculated in step S54 is less than the threshold value set in steps S40 to S52. If the hash value calculated in step S54 is not a correct hash value, the process returns to step S54, and the block creation processing unit 60 changes the random number and calculates the hash value again. If the hash value calculated in step S54 is a correct hash value, the process proceeds to step S58.

[0100] In step S58 , the block creation processing unit 60 creates the current block 40 including the header 42 and the current transaction information 44 , and adds the current block 40 to the blockchain 32 .

[0101] As mentioned above, although the embodiment according to the present invention has been described, the present invention is not limited to the above-mentioned embodiment, and various modifications can be made without departing from the gist of the present invention.

[0102] For example, in the present embodiment, the device that constitutes the blockchain control system 10 and stores the blockchain 32 is the image processing device 12, and the data managed by the blockchain 32 is the billing data. However, the device that constitutes the blockchain control system 10 may be another device. Furthermore, the data managed by the blockchain 32 may be data other than the billing data.

[0103] Furthermore, in the present embodiment, each image processing device 12 includes a continuing processing flag as processing permission information indicating whether the block creation process can be executed in the device in the transaction information 44, and then simultaneously sends the transaction information 44 to other image processing devices 12. Thus, each image processing device 12 outputs processing permission information. However, each image processing device 12 may not necessarily include processing permission information in the transaction information 44, and may output processing permission information by other methods. For example, each image processing device 12 may also intermittently send processing permission information to a specified server. On this basis, the difficulty setting unit 58 may also obtain the number of image processing devices 12 that can execute the block creation process for the block 40 this time based on the processing permission information sent from each image processing device 12 stored in the server when performing the block creation process of the block 40 this time. However, by including the processing permission information in the transaction information 44, there is no need to prepare a server for storing processing permission information separately, and each image processing device 12 can obtain processing permission information within the framework of the blockchain 32.

[0104] Furthermore, in the above-mentioned embodiments, the processor refers to a processing device in a broad sense, and is configured to include at least one of a general-purpose processing device (e.g., a CPU (Central Processing Unit)) and a dedicated processing device (e.g., a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or a programmable logic device, etc.). As a processor, it can be composed of one processing device, or it can be composed of the cooperation of a plurality of processing devices existing in physically separated locations.

[0105] (Note) (1)

[0107] A blockchain control system, characterized by having:

[0108] A plurality of devices each storing a blockchain and being communicatively connected to each other, wherein each device cooperates with other devices to perform a block creation process for adding a new block to the blockchain; and

[0109] processor,

[0110] Each device included in the plurality of devices outputs processing permission information indicating whether the block creation process can be executed in the device itself,

[0111] The processor performs the following processing:

[0112] acquiring, from any one of the plurality of devices, transaction information as information included in a block;

[0113] Based on the processing permission information output by each device, setting a block creation difficulty, the block creation difficulty being the difficulty of the block creation process related to the block including the transaction information corresponding to the number of devices among the plurality of devices that are determined to be capable of performing the block creation process, i.e., processing devices, at the time of performing the block creation process of the block including the transaction information; and

[0114] When a result of the block creation processing by the processing device satisfies a condition determined according to the block creation difficulty, a block including the transaction information is added to the blockchain. (2)

[0116] The blockchain control system according to (1) is characterized in that:

[0117] When a normal process other than the block creation process is completed, each device included in the plurality of devices transmits the transaction information to the plurality of devices,

[0118] The processing permission information related to a device included in the plurality of devices is included in the transaction information transmitted from the device. (3)

[0120] The blockchain control system according to (2) is characterized in that:

[0121] When the user continues to log in to the device after the normal processing is completed, or there are other normal processing being executed or waiting to be executed in the device, each device included in the multiple devices will send the transaction information including the processing permission information indicating that the block creation processing cannot be executed to the multiple devices. (4)

[0123] The blockchain control system according to (2) or (3) is characterized in that:

[0124] Each of the plurality of devices includes, in a header of the block, device number information indicating the number of the processable devices based on the process permission information included in one or more of the transaction information included in the block,

[0125] The processor sets the difficulty of creating the block based on a comparison between the number information included in the header of the previous block last appended to the blockchain and the number of the processable devices calculated based on the processability information, and the processability information is included in one or more of the transaction information included in the current block to be appended to the blockchain. (5)

[0127] The blockchain control system according to any one of (1) to (4), characterized in that:

[0128] Each of the plurality of devices includes, in a header of a block, block creation time information indicating a block creation time required for the block creation process of the block,

[0129] The processor sets the block creation difficulty based on a comparison between a block creation time indicated by the block creation time information included in a header of a previous block that was last added to the blockchain and a predetermined reference time. (6)

[0131] The blockchain control system according to any one of (1) to (5), characterized in that:

[0132] Each of the plurality of devices is an image processing device,

[0133] The transaction information includes information indicating the content of the processing executed by the image processing device. (7)

[0135] A blockchain control program, characterized in that it causes a computer to execute the following processing:

[0136] Acquiring transaction information as information included in a block from any one of a plurality of devices, the plurality of devices respectively storing blockchains and being communicatively connected to each other, and each device cooperating with the other devices to perform a block creation process for appending a new block to the blockchain;

[0137] setting a block creation difficulty level based on processing availability information outputted from each of the plurality of devices indicating whether the block creation process can be executed in the device itself, the block creation difficulty level being the difficulty level of the block creation process related to the block including the transaction information corresponding to the number of devices among the plurality of devices that are determined to be capable of performing the block creation process, i.e., processing devices, at a time when the block creation process of the block including the transaction information is executed; and

[0138] When a result of the block creation processing by the processing device satisfies a condition determined according to the block creation difficulty, a block including the transaction information is added to the blockchain.

[0139] According to the invention involved in (1) or (7), in a blockchain in which multiple devices collaborate to perform block creation processing, even when the devices participating in the blockchain perform normal processing other than block creation processing, changes in block creation time can be suppressed.

[0140] According to the invention involved in (2), the processor is able to grasp whether the block creation process can be executed in each device in the framework of the blockchain.

[0141] According to the invention as set forth in (3), in each device, it is possible to determine whether the block creation process is executable based on whether the user has logged in or whether the normal process is being executed or is scheduled to be executed.

[0142] According to the invention as set forth in (4), the block creation difficulty level can be determined based on a comparison between the number of processable devices indicated by the device number information of the previous block and the number of processable devices calculated based on the process availability information included in the current block.

[0143] According to the invention as set forth in (5), the block creation difficulty can also be determined based on the block creation time associated with the previous block.

[0144] According to the invention as set forth in (6), in a blockchain for preventing tampering of information indicating the content of processing executed by an image processing device, it is possible to suppress changes in block creation time.

[0145] The above-mentioned embodiments of the present invention are provided for the purpose of illustration and description. In addition, the embodiments of the present invention do not fully and exhaustively include the present invention, and do not limit the present invention to the disclosed methods. Obviously, various modifications and changes are self-evident to those skilled in the art to which the present invention belongs. The present embodiment is selected and described in order to most easily understand the principles of the present invention and its application. Thus, other technicians in the art can understand the present invention through various variations optimized for specific uses assumed to be various embodiments. The scope of the present invention is defined by the above claims and their equivalents.

Claims

1. A blockchain control system, characterized in that: have: A plurality of devices each storing a blockchain and being communicatively connected to each other, and each device cooperating with other devices to perform a block creation process for adding a new block to the blockchain; and processor, Each device included in the plurality of devices outputs processing permission information indicating whether the block creation process can be executed in the device itself, The processor performs the following processing: acquiring, from any one of the plurality of devices, transaction information as information included in a block; Based on the processing permission information output by each device, setting a block creation difficulty, wherein the block creation difficulty is the difficulty of the block creation process related to the block including the transaction information corresponding to the number of devices among the plurality of devices that are determined to be capable of performing the block creation process, i.e., processing devices, at the time of performing the block creation process of the block including the transaction information; and When a result of the block creation processing by the processing device satisfies a condition determined according to the block creation difficulty, a block including the transaction information is added to the blockchain.

2. The blockchain control system according to claim 1, characterized in that: When a normal process other than the block creation process is completed, each device included in the plurality of devices transmits the transaction information to the plurality of devices, The processing permission information related to a device included in the plurality of devices is included in the transaction information transmitted from the device.

3. The blockchain control system according to claim 2, characterized in that: When the user continues to log in to the device after the normal processing is completed, or there are other normal processing being executed or waiting to be executed in the device, each device included in the multiple devices will send the transaction information including the processing permission information indicating that the block creation processing cannot be executed to the multiple devices.

4. The blockchain control system according to claim 2 or 3, characterized in that: Each of the plurality of devices includes, in a header of the block, device number information indicating the number of the processable devices based on the process permission information included in one or more of the transaction information included in the block, The processor sets the difficulty of creating the block based on a comparison between the number information included in the header of the previous block last appended to the blockchain and the number of the processable devices calculated based on the processability information, and the processability information is included in one or more of the transaction information included in the current block to be appended to the blockchain.

5. The blockchain control system according to any one of claims 1 to 4, characterized in that: Each of the plurality of devices includes, in a header of a block, block creation time information indicating a block creation time required for the block creation process of the block, The processor sets the block creation difficulty based on a comparison between a block creation time indicated by the block creation time information included in a header of a previous block that was last added to the blockchain and a predetermined reference time.

6. The blockchain control system according to any one of claims 1 to 5, characterized in that: Each of the plurality of devices is an image processing device, The transaction information includes information indicating the content of the processing executed by the image processing device.

7. A storage medium, characterized in that: A blockchain control program is stored that enables the computer to execute the following processing: Acquiring transaction information as information included in a block from any one of a plurality of devices, the plurality of devices respectively storing blockchains and being communicatively connected to each other, and each device cooperating with the other devices to perform a block creation process for appending a new block to the blockchain; Based on processing availability information outputted from each of the plurality of devices indicating whether the block creation process can be executed in the device itself, setting a block creation difficulty, the block creation difficulty being the difficulty of the block creation process related to the block including the transaction information corresponding to the number of devices among the plurality of devices that are determined to be capable of performing the block creation process, i.e., processing devices, at a time when the block creation process of the block including the transaction information is executed; and When a result of the block creation processing by the processing device satisfies a condition determined according to the block creation difficulty, a block including the transaction information is added to the blockchain.

8. A blockchain control method, characterized in that: The steps include: Acquiring transaction information as information included in a block from any one of a plurality of devices, the plurality of devices respectively storing blockchains and being communicatively connected to each other, and each device cooperating with the other devices to perform a block creation process for appending a new block to the blockchain; Based on processing availability information outputted from each of the plurality of devices indicating whether the block creation process can be executed in the device itself, setting a block creation difficulty, the block creation difficulty being the difficulty of the block creation process related to the block including the transaction information corresponding to the number of devices among the plurality of devices that are determined to be capable of performing the block creation process, i.e., processing devices, at a time when the block creation process of the block including the transaction information is executed; and When a result of the block creation processing by the processing device satisfies a condition determined according to the block creation difficulty, a block including the transaction information is added to the blockchain.

Citation Information

Patent Citations

  • Distribution management system and method for mining processing

    JP2019101797A

  • Cryptocurrency mining system

    JP2019106612A

  • Method and device for tracking and measuring proof-of-work contributions in a mining pool

    JP2022546773A