Program for generating proof, method for generating proof, and information processing device
By generating zero-knowledge proof and cumulative value-related information, the value allocation opacity caused by suppliers' hidden trace information in the supply chain is solved, and the value verification on the blockchain and the transparency of environmental value allocation is achieved.
Patent Information
- Application Number
- CN202280096478.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-14
- Publication Date
- 2025-01-07
AI Technical Summary
In the supply chain, suppliers conceal the trace information of process value, resulting in opaque legitimacy of value allocation, making it difficult to effectively manage and verify the accumulation of environmental value on the blockchain.
A proof generation program is used to generate zero-knowledge proof and cumulative value-related information, and record cumulative value through blockchain to ensure that the legitimacy of the process value can be proved even when trace information is hidden.
It realizes the transparency and legitimacy verification of the value of each process in the supply chain under the state of hidden trace information, ensuring the reasonable allocation of environmental value and the transparency of the supply chain.
Smart Images

Figure CN119278450A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a certificate generation program, a certificate generation method, and an information processing device. Background Art
[0002] Conventionally, it is known that a distributed ledger technology using a blockchain and a technology for managing smart contracts in which transaction conditions are recorded in a distributed ledger are applied to traceability management in a supply chain.
[0003] Patent Document 1: Japanese Patent Application Publication No. 2019-074910
[0004] In recent years, environmental issues such as climate change, industrial water pollution, and excessive water use have been discussed, and it is necessary to promote awareness reform and action changes among participants in the supply chain to reduce environmental load. As a mechanism for this, the following mechanism is considered: a consideration corresponding to the environmental value of the product is returned from the consumer to the supply chain, and the consideration is distributed according to the value of each process in the supply chain through a smart contract managed on the blockchain.
[0005] However, in this mechanism, if a supplier included in the supply chain conceals trace information that is the basis of the value of the process, the legitimacy of the value of the process performed by the supplier becomes opaque. Summary of the invention
[0006] In one embodiment, the present invention aims to prove the legitimacy of the value of a process while hiding the trace information.
[0007] In one technical solution, a proof generation program causes a computer to perform the following processing: generating a zero-knowledge proof representing the legitimacy of a cumulative value and information related to the cumulative value for each process included in a supply chain, wherein the cumulative value is obtained by accumulating the values of each process from the most upstream process to the above process; and recording the zero-knowledge proof and information related to the cumulative value on a blockchain.
[0008] The above-mentioned processes may be functional units or procedures for realizing the above-mentioned processes, or may be computer-readable storage media storing programs for causing a computer to execute the processes.
[0009] Prove the legitimacy of the value of the process while hiding trace information. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 This is a diagram showing an example of the system configuration of a proof generation system.
[0011] Figure 2 This diagram explains the anonymization and cumulative value of trace information.
[0012] Figure 3 This is a diagram illustrating the hardware structure of a client node.
[0013] Figure 4 This is a diagram for explaining the function of each device included in the certificate generation system.
[0014] Figure 5 This is a sequence diagram that explains the operation of the proof generation system.
[0015] Figure 6 This is a diagram that specifically explains the operation of the proof generation system.
[0016] Figure 7 This is a diagram for explaining the proof generating unit. DETAILED DESCRIPTION
[0017] Hereinafter, embodiments will be described with reference to the drawings. Figure 1 This is a diagram showing an example of the system configuration of a proof generation system.
[0018] The certificate generating system 100 of the present embodiment proves the legitimacy of the value of each process even when the trace information of each process of a product in a supply chain related to a certain product is concealed.
[0019] More specifically, when distributing consideration returned for the value of a product to suppliers of each component included in the product, the certificate generating system 100 of this embodiment certifies the legitimacy of the value of the referenced component while hiding the trace information managed by each supplier.
[0020] The supply chain of this embodiment means a series of processes from ordering raw materials / components of products in the manufacturing process to manufacturing, inventory management, sales, and distribution. In addition, the value of each component of the product manufactured by the supply chain of this embodiment refers to an example of the value of the process of manufacturing components in the manufacturing process included in the supply chain.
[0021] In addition, the value of the component in this embodiment is an example of the environmental value generated in the manufacturing process of the component. The environmental value may be, for example, an index showing the degree of contribution to environmental maintenance or reduction of environmental load.
[0022] The proof generation system 100 of the present embodiment includes one or more nodes 200-1, 200-2, ..., 200-n and one or more client nodes 300-1, 300-2, ..., 300-n. In the following description, when the nodes 200-1, 200-2, ..., 200-n are not distinguished, they are referred to as nodes 200, and when the client nodes 300-1, 300-2, ..., 300-n are not distinguished, they are referred to as client nodes 300.
[0023] The node 200 and the client node 300 of this embodiment can be a general information processing device. The node 200 and the client node 300 are connected via a network and can communicate with each other. In addition, the multiple nodes 200 are distributed ledger nodes included in the blockchain system, and each is connected in a P2P (Peer to Peer) manner. The client node 300 of this embodiment can be used by suppliers included in the supply chain.
[0024] The node 200 of this embodiment has a blockchain 220 .
[0025] The blockchain 220 includes a smart contract management unit 210 , a component registration smart contract 221 , and component information 222 .
[0026] The smart contract management unit 210 manages the smart contracts stored in the blockchain 220 .
[0027] The component registration smart contract 221 of this embodiment stores component information 222 related to components manufactured by a supplier corresponding to the client node 300 in the blockchain 220 in response to a request from the client node 300 .
[0028] More specifically, the component registration smart contract 221 receives a registration request for a cumulative value certificate (zero-knowledge proof) and a cumulative value commitment that proves the legitimacy of the cumulative value of the component manufactured by the supplier corresponding to the client node 300 (the supplier's cumulative value) from the client node 300, and after verifying the cumulative value certificate, records the cumulative value certificate and the cumulative value commitment as component information 222 on the blockchain 220. Details of the cumulative value certificate and the cumulative value commitment will be described later.
[0029] In the following description, in the supply chain, a process (component) upstream of a certain process (component) is sometimes referred to as an upstream process (upstream component), and a process (component) downstream of a certain process (component) is sometimes referred to as a downstream process (downstream component).
[0030] Below, refer to Figure 2 , explaining the anonymity and cumulative value of trace information. Figure 2This diagram explains the anonymization and cumulative value of trace information.
[0031] exist Figure 2 In the example, the supplier SP1, supplier SP2, and supplier SP3 included in the supply chain for manufacturing a certain product are used for explanation.
[0032] Supplier SP1 and supplier SP2 are upstream suppliers of supplier SP3 in the supply chain. Supplier SP1 manufactures component A and supplies it to supplier SP3, and supplier SP2 manufactures component B and supplies it to supplier SP3. Supplier SP3 manufactures product C from components A and B.
[0033] Here, the consideration is returned from the consumer for the product (finished product) manufactured through the supply chain including the suppliers SP1 to SP3.
[0034] In this case, for example, the consideration allocated to the supplier SP3 is determined based on the cumulative value of the supplier SP3 and the individual value of the supplier SP3.
[0035] Therefore, in order to allocate an appropriate consideration to the supplier SP3, the cumulative value of the supplier SP3 and the single value of the supplier SP3 are required to be fair values.
[0036] The cumulative value of supplier SP3 is the value obtained by adding the unit value of the upstream components of supplier SP3 to the unit value of supplier SP3. In other words, the cumulative value of supplier SP3 is the value obtained by adding the unit value of all components located upstream of supplier SP3 to the unit value of supplier SP3.
[0037] Here, the individual value of each supplier is calculated based on the trace information managed by each supplier on its own client node 300. Therefore, each supplier makes the trace information public on the blockchain 220 to indicate the legitimacy of the individual value and cumulative value of the supplier.
[0038] In contrast, there are some providers that do not publish the trace information on the blockchain 220 but manage it only in the client node 300 as confidential information.
[0039] In this embodiment, when the supplier hides the trace information, the cumulative value certificate that proves the legitimacy of the cumulative value calculated by the supplier is recorded on the blockchain 220 together with the cumulative value commitment. Thus, since the legitimacy of the cumulative value of the supplier is proved, even when the supplier hides the trace information, the consideration can be appropriately allocated to the supplier.
[0040] exist Figure 2In the example, supplier SP1, supplier SP2, and supplier SP3 respectively anonymize the trace information.
[0041] Therefore, suppliers SP1, SP2, and SP3 need to prove the legitimacy of each accumulated value to other suppliers. In addition, in this embodiment, the supplier who conceals the trace information notifies a downstream supplier of the supplier's accumulated value. Figure 2 In this example, the vendor SP3 is used as an example.
[0042] The accumulated value 173 is notified from the client node 300 of the provider SP1 to the client node 300 of the provider SP3, and the accumulated value 68 is notified from the client node 300 of the provider SP2 to the client node 300 of the provider SP3.
[0043] In addition, the client node 300 of the provider SP3 calculates the individual value of the provider SP3 and adds it to the cumulative value 173 of the provider SP1 and the cumulative value 68 of the provider SP2 to calculate the cumulative value of the provider SP3.
[0044] Here, the supplier SP3 proves the legitimacy of the accumulated value of the supplier SP3 to other suppliers while keeping the trace information, single value, and accumulated value of the supplier SP3 hidden.
[0045] Specifically, the client node 300 managed by the provider SP3 generates a cumulative value certificate that proves the legitimacy of the cumulative value of the provider SP3 and information related to the cumulative value. The information related to the cumulative value refers to a cumulative value commitment that is generated to commit the cumulative value.
[0046] Furthermore, the client node 300 of the provider SP3 sends the cumulative value certificate and the cumulative value commitment to the node 200 according to the operation from the provider SP3.
[0047] When the node 200 receives the cumulative value certificate and the cumulative value commitment from the client node 300, the component registration smart contract 221 is activated through the smart contract management unit 210. The component registration smart contract 221 verifies the cumulative value certificate, and if the legitimacy of the cumulative value commitment is verified, the cumulative value certificate and the cumulative value commitment are recorded as component information 222 on the blockchain 220.
[0048] The cumulative value proof in this embodiment is, for example, a zero-knowledge proof. As the zero-knowledge proof, for example, a non-interactive zero-knowledge proof is used.
[0049] Zero-knowledge proof is a technology that proves that a proposition is true without notifying information other than that the proposition is true. That is, although the component registration smart contract 221 does not know the cumulative value of the supplier SP3 from the cumulative value proof and cumulative value commitment generated based on the information that only the supplier SP3 is known, it verifies that the cumulative value commitment of the supplier SP is a legitimate value.
[0050] Next, refer to Figure 3 , the hardware structure of the client node 300 of this embodiment is described. Figure 3 This is a diagram illustrating the hardware structure of a client node.
[0051] The client node 300 of the present embodiment is an information processing device including an input device 31 , an output device 32 , a drive device 33 , an auxiliary storage device 34 , a memory device 35 , a calculation processing device 36 , and an interface device 37 , which are connected to each other via a bus B1 .
[0052] The input device 31 is a device for inputting various information, and the output device 32 is a device for outputting various information. The interface device 37 includes a LAN card and the like, and is used for connecting to a network.
[0053] The certificate generation program included in the client node 300 is at least a part of various programs included in the client node 300 .
[0054] These programs are provided, for example, by distributing the storage medium 38, downloading from the network, etc. In addition, the storage medium 38 recording these programs can use various types of storage media such as storage media that optically record, electrically record, or magnetically record information such as CD-ROM, floppy disk, optical magnetic disk, etc., and semiconductor memory that electrically records information such as ROM, flash memory, etc.
[0055] When the storage medium 38 storing the certificate generating program is set in the drive device 33, the certificate generating program is installed from the storage medium 38 to the auxiliary storage device 34 via the drive device 33. The certificate generating program downloaded from the network is installed in the auxiliary storage device 34 via the interface device 37.
[0056] The auxiliary storage device 34 stores installed programs and necessary files, data, etc. The memory device 35 reads various programs from the auxiliary storage device 34 and stores them when the client node 300 is activated. The arithmetic processing device 36 implements various processes described below according to the programs stored in the memory device 35.
[0057] Next, refer to Figure 4 , the function of each device of the certificate generation system 100 of this embodiment is explained. Figure 4This is a diagram for explaining the function of each device included in the certificate generation system.
[0058] First, the functions of the client node 300 are described. The client node 300 includes a certificate generation processing unit 310 and an information storage unit 320. The certificate generation processing unit 310 is realized, for example, by the operation processing unit 36 of the client node 300 executing a certificate generation program stored in the memory device 35 or the like. The information storage unit 320 is realized, for example, by the memory device 35, the auxiliary storage device 34 or the like.
[0059] The certificate generation processing unit 310 includes a single value calculation unit 311 , a cumulative value calculation unit 312 , a random number generation unit 313 , a commitment generation unit 314 , a certificate generation unit 315 , and an output unit 316 .
[0060] The information storage unit 320 stores a single value 321 , a cumulative value 322 , a random number 323 , a cumulative value commitment 324 , a cumulative value certificate 325 , trace information 326 , virtual trace information 327 , the cumulative value 328 of an upstream supplier, and a random number 329 of an upstream supplier.
[0061] In the information storage unit 320, the cumulative value commitment 324 and the cumulative value certificate 325 are recorded on the blockchain 220 of the node 200. In other words, the cumulative value commitment 324 and the cumulative value certificate 325 are information disclosed on the certificate generation system 100.
[0062] In the information storage unit 320, the cumulative value 322 and the random number 323 are information notified only to the client node 300 managed by a supplier downstream of the supplier managing the client node 300. In the information storage unit 320, the single value 321 and the trace information 326 are information managed only by the client node 300.
[0063] Therefore, among the information stored in the information storage unit 320 , the single value 321 , the cumulative value 322 , the random number 323 , and the trace information 326 are all concealed information.
[0064] The virtual trace information 327 stored in the information storage unit 320 is information used in the process of the certificate generation processing unit 310 and is information provided in advance to each client node 300.
[0065] The upstream supplier's cumulative value 328 is an upstream supplier's cumulative value 322 notified from the client node 300 managed by a supplier upstream of the supplier managing the client node 300. The upstream supplier's random number 329 is an upstream supplier's random number 323 notified from the client node 300 managed by a supplier upstream of the supplier managing the client node 300.
[0066] The same number of the accumulated value 328 of the upstream supplier and the random number 329 of the upstream supplier as the number of suppliers upstream of the supplier managing the client node 300 is stored in the information storage unit 320. In other words, when there are a plurality of upstream components upstream of one upstream, the accumulated value 328 of the upstream supplier and the random number 329 of the upstream supplier are stored in the information storage unit 320 for each upstream component.
[0067] The upstream supplier's accumulated value 328 and the upstream supplier's random number 329 are also not disclosed on the certificate generation system 100 .
[0068] The unit value calculation unit 311 calculates the unit value 321 of the process performed in the supplier that manages the client node 300. Specifically, the unit value calculation unit 311 calculates the unit value using the trace information 326 stored in the information storage unit 320. The unit value 321 is determined in the process performed in the supplier that manages the client node 300. The calculated unit value 321 is stored in the information storage unit 320.
[0069] The trace information 326 of this embodiment is described below. The trace information 326 is a trace indicating the process performed. Specifically, the trace information 326 is, for example, the power consumption reduction amount of each manufacturing process of the component manufactured by the supplier. The power consumption reduction amount refers to the power reduction amount obtained by comparing the power consumption when the component was manufactured the previous time with the power consumption when the same component is manufactured this time.
[0070] The trace information 326 of the present embodiment, that is, the power consumption reduction amount, includes, for example, an electronic signature 326A of a meter that measures the power consumption. The trace information 326 includes the electronic signature 326A, thereby verifying that the trace information 326 is correct information.
[0071] The unit value calculation unit 311 calculates the environmental value generated in the component based on the power consumption when the component including the electronic signature 326A was manufactured last time and the power consumption when the same component including the electronic signature 326A is manufactured this time, and sets it as the unit value.
[0072] In addition, the trace information 326 is not limited to power consumption. The trace information 326 may be different for each component, for example, it may be various values measured in each process. In addition, in this embodiment, the larger the value used as the trace information 326, the higher the environmental value is.
[0073] In addition, in this embodiment, the value of the component is set as the environmental value, but it is not limited to this. For example, information indicating the performance and durability of the component may be used as the trace information 326, and the performance and durability of the component may be used as the value of the component.
[0074] The cumulative value calculation unit 312 calculates the cumulative value 322 of the supplier who manages the client node 300 by summing up the single value 321 and the cumulative value 328 of the upstream supplier stored in the information storage unit 320 . The calculated cumulative value 322 is stored in the information storage unit 320 .
[0075] The random number generation unit 313 generates a random number 323 for the cumulative value 322 for generating the cumulative value promise 324 . The random number 323 is stored in the information storage unit 320 .
[0076] The commitment generation unit 314 calculates a cumulative value commitment 324 which is a value of a commitment function with respect to the cumulative value 322. The cumulative value commitment 324 is transmitted to the node 200 together with a cumulative value certificate 325 which will be described later.
[0077] In addition, the cumulative value commitment 324 cannot be changed after it is generated once by combining the blockchain. In addition, the cumulative value commitment 324 is generated before the cumulative value certificate 325 is generated, and is used in the verification of the cumulative value certificate 325.
[0078] The certificate generation unit 315 generates a cumulative value certificate 325 that proves that the cumulative value 322 is a legitimate value. The cumulative value certificate 325 is generated using the random number 323, the trace information 326, the cumulative value 328 of the upstream supplier, and the random number 329 of the upstream supplier stored in the information storage unit 320. The details of the cumulative value certificate 325 will be described later.
[0079] The generated cumulative value certificate 225 is sent to the node 200 together with the cumulative value commitment 324 stored in the information storage unit 320 .
[0080] The certificate generation unit 315 of this embodiment is implemented by a program designed in advance so as not to depend on the number of upstream suppliers of the supplier managing the client node 300. In other words, the certificate generation unit 315 is a program designed not to depend on the number of upstream components.
[0081] Specifically, the certificate generation unit 315 is designed to be able to input a cumulative value greater than the cumulative value 328 of the upstream supplier stored in the information storage unit 320, and to use the virtual trace information 327 whose cumulative value is "0" to generate the cumulative value certificate 325. The certificate generation unit 315 will be described in detail later.
[0082] The output unit 316 outputs (transmits) the cumulative value commitment 324 and the cumulative value certificate 325 generated by the certificate generation processing unit 310 to the node 200. In addition, the output unit 316 transmits the cumulative value 322 and the random number 323 calculated by the certificate generation processing unit 310 to the client node 300 of a supplier downstream of the supplier that manages the client node 300.
[0083] Next, refer to Figure 5 , the operation of the proof generation system 100 is explained. Figure 5 This is a sequence diagram that explains the operation of the proof generation system. Figure 5 In the example, the client node 300 - 3 is a client node managed by a provider SP3 , and the client node 300 - 4 is a client node 300 managed by a provider SP downstream of the provider SP3 .
[0084] In the certificate generation system 100 of this embodiment, the client node 300-3 receives an operation from the supplier SP3, calculates the unit value 321 by referring to the information storage unit 320 through the unit value calculation unit 311 of the certificate generation processing unit 310, and stores it in the information storage unit 320 (step S1).
[0085] Next, the client node 300 - 3 uses the cumulative value calculation unit 312 to add up the cumulative value 328 and the unit value 321 of the upstream supplier stored in the information storage unit 320 , calculates the cumulative value 322 of the component manufactured by the supplier SP3 , and stores it in the information storage unit 320 (step S2 ).
[0086] Next, the client node 300-3 generates a random number 323 for the cumulative value 322 for generating the cumulative value commitment 324 through the random number generator 313, and stores it in the information storage unit 320 (step S3). Next, the client node 300-3 notifies the client node 300-4 of the cumulative value 322 and the random number 323 through the output unit 316 (step S4).
[0087] Next, the client node 300 - 3 uses the random number 323 to calculate the cumulative value commitment 324 , which is the value of the commitment function for the cumulative value 322 , and stores it in the information storage unit 320 (step S5 ).
[0088] Next, the client node 300 - 3 generates a cumulative value certificate 325 using the cumulative value 328 of the upstream supplier and the random number 329 of the upstream supplier through the certificate generation unit 315 , and stores it in the information storage unit 320 (step S6 ).
[0089] Next, the client node 300 - 3 sends the cumulative value certificate 325 and the cumulative value commitment 324 to the node 200 via the output unit 316 (step S7 ).
[0090] When the node 200 receives the cumulative value certificate 325 and the cumulative value commitment 324 from the client node 300 - 3 , the smart contract management unit 210 executes the component registration smart contract 221 (step S8 ).
[0091] When the component registration smart contract 221 obtains the cumulative value certificate 325 and the cumulative value commitment 324, it verifies the cumulative value certificate 325 (step S9). Next, the component registration smart contract 221 records the cumulative value certificate 325 and the cumulative value commitment 324 as component information 222 on the blockchain 220 (step S10).
[0092] Next, refer to Figure 6 The cumulative value certificate 325 of this embodiment is described. Figure 6 This is a diagram that specifically explains the operation of the proof generation system.
[0093] exist Figure 6 In the example, an upstream provider of the provider SP3 that manages the client node 300-3 is set to provider SP1 and provider SP2, and the provider SP1 manages the client node 300-1, and the provider SP2 manages the client node 300-2.
[0094] In other words, the client nodes 300 - 1 and 300 - 2 are managed by the providers SP1 and SP2 that perform a process one step upstream from the process performed by the provider SP3 .
[0095] In the following description, a process one upstream of a certain process may be expressed as a process performed before the certain process, and a process one downstream of a certain process may be expressed as a process performed after the certain process.
[0096] In the client node 300-1, the single value 321-1, the cumulative value 322-1, the random number 323-1, the cumulative value commitment 324-1, the cumulative value proof 325-1, the trace information 326-1, the cumulative value 328-1 of the upstream supplier, and the cumulative value 328-1 of the upstream supplier are maintained. Figure 6, the virtual trace information 327 is not shown.
[0097] Among them, the cumulative value commitment 324-1 and the cumulative value proof 325-1 are recorded on the blockchain 220 of the node 200. In addition, the cumulative value 322-1 and the random number 323-1 are notified to the client node 300-3.
[0098] In the client node 300-2, the single value 321-2 of the supplier SP2, the cumulative value 322-2, the random number 323-2, the cumulative value commitment 324-2, the cumulative value proof 325-2, the trace information 326-2, the cumulative value 328-2 of the upstream supplier, and the cumulative value 328-2 of the upstream supplier are maintained.
[0099] Among them, the cumulative value commitment 324-2 and the cumulative value proof 325-2 are recorded on the blockchain 220 of the node 200. In addition, the cumulative value 322-1 and the random number 323-1 are notified to the client node 300-3.
[0100] In the client node 300 - 3 , the accumulated value 328 - 3 of the upstream provider and the random number 329 - 3 of the upstream provider are held.
[0101] The cumulative value of the upstream supplier 328 - 3 includes the cumulative value of the upstream supplier 328 - 1 and the cumulative value of the upstream supplier 328 - 2 .
[0102] Here, when the client node 300-3 receives an operation instructing registration of the cumulative value certificate from the provider SP3, it executes Figure 5 Processing shown.
[0103] Specifically, the client node 300 - 3 calculates the single value 321 - 3 according to the trace information 326 - 3 , and calculates the cumulative value 322 - 3 according to the cumulative value 328 - 3 of the upstream supplier and the single value 321 - 3 .
[0104] In addition, the client node 300 - 3 calculates a cumulative value commitment 324 - 3 based on the cumulative value 322 - 3 and the random number 323 - 3, and generates a cumulative value certificate 325 - 3 using the cumulative value 322 - 3 and the random number 329 - 3 of the upstream supplier.
[0105] Here, the cumulative value certificate 325-3 of this embodiment is described. The cumulative value certificate 325-3 proves the following proposition.
[0106] The cumulative value commitment 324-1 and the cumulative value commitment 324-2 can be accurately generated based on the cumulative value 322-1 and the cumulative value 322-2 (the cumulative value calculated in the previous process) notified from the supplier SP1 and the supplier SP2, respectively, and the random number.
[0107] The unit value 321 - 3 is calculated based on the correct trace information 326 - 3 to which the electronic signature 326A is attached.
[0108] The cumulative value 322-3 is correctly calculated based on the cumulative value 322-1, the cumulative value 322-2, and the single value 321-3.
[0109] Based on the accumulated value 322 - 3 and the random number 323 - 3 , the accumulated value commitment 324 - 3 recorded on the blockchain 220 can be correctly generated.
[0110] That is, in this embodiment, if the cumulative value commitment 324-1 and the cumulative value commitment 324-2 are correct, the cumulative value certificate 325-3 is established. In addition, the cumulative value commitment 324-1 and the cumulative value commitment 324-2 are guaranteed to be correct by the cumulative value certificate 325-1 and the cumulative value certificate 325-2, respectively.
[0111] Thus, in this embodiment, in the generation of a cumulative value proof (zero-knowledge proof) to prove the legitimacy of the cumulative value of a certain process, a cumulative value proof (zero-knowledge proof) to prove the legitimacy of the cumulative value generated in a process performed before the certain process is used, and a cumulative value commitment verified by a smart contract is used.
[0112] In addition, in this embodiment, when the component registration smart contract 221 verifies that the cumulative value certificate 325-3 is correct, it records the cumulative value certificate 325-3 on the blockchain 220.
[0113] Therefore, according to the present embodiment, even in a state where each supplier conceals the trace information, the legitimacy of the cumulative value calculated by the supplier can be proved.
[0114] Next, refer to Figure 7 , the proof generating unit 315 of this embodiment is described. Figure 7 This is a diagram for explaining the proof generating unit.
[0115] The proof generation unit 315 of this embodiment is a functional unit implemented by a pre-designed program, and is a circuit that generates a zero-knowledge proof.
[0116] The certificate generation unit 315 of this embodiment includes, for example, input units 315a, 315b, and 315c. In addition, the certificate generation unit 315 includes a processing unit 315d.
[0117] The accumulated value 328 of the upstream supplier stored in the information storage unit 320 of the client node 300 having the certificate generation unit 315 is input to each of the input units 315 a , 315 b , and 315 c .
[0118] The processing unit 315d performs a process of generating a cumulative value certificate 325 based on the cumulative value 328 of the upstream supplier input from the input units 315a, 315b, and 315c.
[0119] In the certificate generation unit 315 of this embodiment, it is pre-designed that the number of input units is greater than the number of the cumulative value of the upstream supplier 328. In addition, for the input unit that does not input the cumulative value of the upstream supplier 328, the virtual trace information 327 is input, and the processing unit 315d processes the value of the cumulative value 328 of the upstream supplier as "0".
[0120] Specifically, for example, Figure 7 The certificate generation unit 315 shown is the certificate generation unit 315 included in the client node 300 - 3 .
[0121] One upstream process of the process performed by the provider SP3 that manages the client node 300 - 3 is a process performed by the provider SP1 and a process performed by the provider SP2 .
[0122] Therefore, the certificate generating unit 315 inputs the cumulative value 328-1 of the upstream supplier of the supplier SP1 to the input unit 315a, and the cumulative value 328-2 of the upstream supplier of the supplier SP2 to the input unit 315b. Furthermore, the certificate generating unit 315 inputs the virtual trace information 327 whose cumulative value is "0" to the input unit 315c.
[0123] Virtual trace information 327 is information provided in advance to client node 300. In this embodiment, certificate generation unit 315 is designed to have input units with a number exceeding the number of one upstream process (component), and virtual trace information 327 is input to the remaining input units.
[0124] Therefore, in this embodiment, the program for implementing the certification generating unit 315 can be provided as a common program for all suppliers included in the supply chain. In other words, in this embodiment, a common certification generating unit 315 can be provided for suppliers with different numbers of branches of upstream components, and each supplier does not need to design the certification generating unit 315 for each component.
[0125] As described above, according to this embodiment, even if access to the information storage unit 320 for managing upstream components of the supply chain is restricted due to privacy reasons, downstream component suppliers can refer to the zero-knowledge proof that is the basis for calculation and information related to the accumulated value.
[0126] Therefore, according to the present embodiment, each supplier included in the supply chain can prove the legitimacy of the accumulated value of the upstream components without having to access any information that the supplier of the upstream components wants to keep secret.
[0127] The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes may be made without departing from the scope of the claims.
[0128] Description of Reference Numerals
[0129] 100…proof generation system; 200…node; 210…smart contract management unit; 220…blockchain; 221…component registration smart contract; 222…component information; 300…client node; 310…proof generation processing unit; 311…single value calculation unit; 312…cumulative value calculation unit; 313…random number generation unit; 314…commitment generation unit; 315…proof generation unit; 320…information storage unit; 321…single value; 322…cumulative value; 323…random number; 324…cumulative value commitment; 325…cumulative value proof; 326…trace information; 327…virtual trace information; 328…cumulative value of upstream suppliers; 329…random number of upstream suppliers.
Claims
1. A proof generation program that causes a computer to execute the following processing: A zero-knowledge proof representing the legitimacy of the accumulated value and information related to the accumulated value is generated for each process included in the supply chain, wherein: The cumulative value is obtained by accumulating the values of each process from the most upstream process to the process; and The zero-knowledge proof and information related to the accumulated value are recorded on a blockchain.
2. The certification generating program according to claim 1, wherein: The information associated with the cumulative value is the cumulative value commitment for the cumulative value, The zero-knowledge proof is generated using trace information and a zero-knowledge proof indicating legitimacy of a cumulative value of a process performed before the process, wherein the trace information is a trace indicating that the process was performed.
3. The certification generating program according to claim 1 or 2, wherein: receiving input of the accumulated value of the process performed before the process and the virtual trace information pre-stored in the storage unit, The cumulative value obtained from the virtual trace information is set to zero, and the zero-knowledge proof is generated using the cumulative value obtained from the virtual trace information and the cumulative value of a process performed before the process.
4. A method for generating a proof, which is a method for generating a proof executed by a computer, The computer generates a zero-knowledge proof indicating the legitimacy of the accumulated value and information related to the accumulated value for each process included in the supply chain, wherein: The cumulative value is obtained by accumulating the values of each process from the most upstream process to the process mentioned above. The zero-knowledge proof and information related to the accumulated value are recorded on a blockchain.
5. An information processing device comprising: A generating unit generates a zero-knowledge proof indicating legitimacy of the accumulated value and information related to the accumulated value for each process included in the supply chain, wherein: The cumulative value is obtained by accumulating the values of each process from the most upstream process to the process; as well as The output unit records the zero-knowledge proof and information related to the accumulated value on a blockchain.
Citation Information
Patent Citations
Access authority management method, access authority management system, and access authority management device
JP2019074910A