WO2023007633A1 - 制御方法、制御プログラム、ノード、およびシステム - Google Patents
制御方法、制御プログラム、ノード、およびシステム Download PDFInfo
- Publication number
- WO2023007633A1 WO2023007633A1 PCT/JP2021/027963 JP2021027963W WO2023007633A1 WO 2023007633 A1 WO2023007633 A1 WO 2023007633A1 JP 2021027963 W JP2021027963 W JP 2021027963W WO 2023007633 A1 WO2023007633 A1 WO 2023007633A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- logic
- cooperation
- partial
- node
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
Definitions
- the present invention relates to control methods, control programs, nodes, and systems.
- the federated system executes a series of transactions by sequentially recording transaction information on multiple blockchain networks so as to exchange multiple assets managed by different blockchain networks upon request. do.
- the contents of the transaction information may change depending on, for example, input values.
- a first transaction is generated in which a user and a counterparty deposit virtual currency, and a second transaction distributes the deposited virtual currency according to a spot rate using a public key obtained from a neutral party.
- a first secret key share corresponding to a first possible outcome of the condition set and a second secret key share corresponding to a second possible outcome of the condition set are generated using a secret sharing protocol.
- JP 2019-212241 A Japanese Patent Publication No. 2020-534734 U.S. Patent Application Publication No. 2020/0058018
- the present invention aims to appropriately record transaction information on a blockchain network.
- the node forming the block chain network encrypts the information included in at least one of the first partial logic groups forming the target logic to generate the second Acquiring a partial logic group, recording the acquired second partial logic group in a blockchain managed by the blockchain network, and assigning the second partial logic group recorded in the blockchain to the node.
- FIG. 1 is an explanatory diagram of an example of a control method according to an embodiment.
- FIG. 2 is an explanatory diagram showing an example of the BC cooperation system 200.
- FIG. 3 is an explanatory diagram showing an application example of the BC cooperation system 200.
- FIG. 4 is a block diagram showing a hardware configuration example of the cooperation node 201.
- FIG. 5 is an explanatory diagram showing an example of the contents stored in the encrypted fragment management table 500.
- FIG. FIG. 6 is an explanatory diagram showing an example of the contents stored in the correspondence information management table 600.
- FIG. 7 is a block diagram showing a hardware configuration example of the cooperation destination node 202. As shown in FIG. FIG. FIG.
- FIG. 8 is a block diagram showing a hardware configuration example of the cooperative control device 203.
- FIG. 9 is a block diagram showing a hardware configuration example of the user-side device 204.
- FIG. 10 is a block diagram showing an example of the functional configuration of the BC cooperation system 200.
- FIG. 11 is a block diagram showing a specific example of the functional configuration of the BC cooperation system 200.
- FIG. 12 is an explanatory diagram (Part 1) showing an operation example of the BC cooperation system 200.
- FIG. 13 is an explanatory diagram (part 2) showing an operation example of the BC cooperation system 200.
- FIG. FIG. 14 is an explanatory diagram (part 3) showing an operation example of the BC cooperation system 200.
- FIG. 15 is an explanatory diagram (part 4) showing an operation example of the BC cooperation system 200.
- FIG. 16 is an explanatory diagram (No. 5) showing an operation example of the BC cooperation system 200.
- FIG. 17 is an explanatory diagram (No. 6) showing an operation example of the BC cooperation system 200.
- FIG. 18 is an explanatory diagram (No. 7) showing an operation example of the BC cooperation system 200.
- FIG. 19 is a sequence diagram (Part 1) showing an example of the overall processing procedure.
- FIG. 20 is a sequence diagram (part 2) showing an example of the overall processing procedure.
- FIG. 21 is a sequence diagram (part 3) showing an example of the overall processing procedure.
- FIG. 1 is an explanatory diagram of an example of a control method according to an embodiment.
- the cooperation node 100 is a computer that forms a blockchain network.
- blockchain may be referred to as “BC (BlockChain)”.
- the BC network is a management system that manages BC.
- a BC network is formed by one or more nodes.
- the BC is managed by each node included in the BC network storing and monitoring the same BC.
- BC is a list that serves as a distributed ledger that manages transaction information by linking blocks in which transaction information is recorded. Examples of BC networks include public, consortium, and private BC networks.
- the cooperation node 100 specifically forms a cooperation BC network 101 .
- the cooperation node 100 is used when realizing a cooperation system that cooperates with a plurality of cooperation destination BC networks.
- the cooperation BC network 101 manages, for example, the cooperation BC 102 .
- the collaborating BC network manages, for example, collaborating BCs.
- a conventional collaboration system sequentially records transaction information in a plurality of linked BC networks so that multiple assets managed by different linked BC networks can be exchanged in response to a request. execute a transaction;
- the contents of the transaction information may change depending on, for example, input values.
- a future observation value may become an input value in one of the transactions.
- the future observed value related to the actual event becomes the input value in one of the transactions, and the transaction information whose content changes according to the future observed value related to the actual event is recorded in the partner BC.
- Observed values are, for example, room temperature, humidity, or power status.
- the conventional cooperative system has a problem that it is not possible to generate transaction information in advance for a transaction whose input value is an observed value until the observed value is determined. For this reason, in the conventional cooperation system, when a request is received, a signature cannot be added to the transaction information, and the transaction information cannot be recorded in the cooperation destination BC.
- a cooperation system including a cache server that does not generate transaction information until the observed value is confirmed, generates transaction information after the observed value is confirmed, and records it in the cooperation destination BC is conceivable.
- logic for generating transaction information based on observed values is stored in the cache server. At this time, it is desired to guarantee that the logic stored in the cache server is not altered, and there is a problem that the cache server becomes a trust point. As a result, the BC network's advantage of being able to guarantee the reliability of information without the presence of a central authority is lost.
- a cooperation system is conceivable in which transaction information is generated and recorded in the partner BC after the observed value is determined by a smart contract that includes logic to generate transaction information based on the observed value.
- this cooperation system there is a problem that the content of the logic included in the smart contract is leaked to a third party.
- the user may wish to keep the contents of the logic confidential.
- the user does not have to keep the results of stock trading confidential from third parties, but the logic that shows the strategy that indicates the basis of stock trading is , know-how, it may be desired to keep it confidential from a third party.
- control method that can record transaction information in a BC network so that the logic for executing a series of transactions is not leaked will be described. Also, according to the control method, it is possible to dispense with providing a trust point.
- the collaboration node 100 forms a BC network 101 for collaboration.
- the cooperation BC network 101 manages, for example, the cooperation BC 102 .
- three cooperation nodes 100 each store a cooperation BC 102 .
- target logic 103 that executes a series of transactions.
- the first partial logic group 110 is a set of first partial logics 111 .
- the first partial logic group 110 is generated by dividing the target logic 103, for example.
- the cooperation node 100 acquires the second partial logic group 120 .
- the second partial logic group 120 is a set of second partial logics 121 .
- the second logic portion 121 is, for example, the first logic portion 111 that is entirely plaintext or the first logic portion 111 that is at least partially encrypted. At least one of the second partial logics 121 of the second partial logic group 120 is preferably the first partial logic 111 at least partially encrypted.
- the plurality of second partial logics 121 are assigned to different cooperation nodes 100, for example.
- the second partial logic group 120 is generated by encrypting information contained in at least one of the first partial logic groups 111 of the first partial logic group 110 .
- the second logic part group 120 encrypts the information contained in the remaining first logic part 111 without encrypting the information contained in the part of the first logic part 111 of the first logic part 110 .
- Generated by encryption is composed of a part of the first partial logic 111 in which the entirety of the first partial logic group 110 is plaintext, and a remaining portion of the first partial logic in which part of the information is encrypted.
- 1 part logic 111 is included as a second part logic 121 .
- the second partial logic group 120 may be generated by, for example, encrypting information contained in each first partial logic 111 included in the first partial logic group 110 .
- the second partial logic group 120 includes, as the second partial logic 121, the respective first partial logics 111 of the first partial logic group 110 whose information is partially encrypted.
- the cooperation node 100 acquires, for example, the second partial logic group 120 by receiving it from another computer.
- the cooperation node 100 records the obtained second partial logic group 120 in the cooperation BC 102 managed by the cooperation BC network 101 .
- the cooperation node 100 forms a consensus among the plurality of cooperation nodes 100 regarding the acquired second logic part group 120, and records the acquired second logic part group 120 in the cooperation BC 102 stored in its own node. and shared by a plurality of cooperation nodes 100 .
- the cooperation node 100 acquires one of the second partial logics 121 assigned to itself from the second partial logic group 120 recorded in the cooperation BC 102 .
- the cooperation node 100 identifies the first partial logic 111 corresponding to the acquired second partial logic 121 in the first partial logic group 110 based on the acquired second partial logic 121 .
- the cooperation node 100 decrypts the information to obtain the first partial logic 111 corresponding to the obtained second partial logic 121. generated and identified. For example, if the acquired second partial logic 121 does not contain encrypted information, the cooperation node 100 directly converts the acquired second partial logic 121 into the first partial logic 121 corresponding to the acquired second partial logic 121 . It is identified as partial logic 111 .
- the linking node 100 When receiving an input value corresponding to the specified first partial logic 111, the linking node 100 outputs the result 130 of executing the specified first partial logic 111 based on the accepted input value. Record in the BC 102 for use. For example, the cooperation node 100 forms a consensus among the plurality of cooperation nodes 100 regarding the result 130 of executing the specified first logic part 111 . Then, the cooperation node 100 records, for example, the result 130 of executing the specified first partial logic 111 in the cooperation BC 102 stored therein, and shares it among the plurality of cooperation nodes 100 .
- the cooperation node 100 can record the result 130 of executing the first partial logic 111 in the cooperation BC 102 while reducing the risk of the target logic 103 being leaked.
- information included in at least one of the first partial logics 111 is encrypted, so that the risk of leakage of the target logic 103 can be reduced.
- a cooperation BC network 101 formed by one or more cooperation nodes 100 can be applied to a cooperation system.
- the BC network 101 for cooperation can refer to the BC 102 for cooperation, for example, and can record the result of having performed a series of transactions in BC for cooperation, and can form a cooperation system.
- the cooperation BC network 101 can guarantee that the target logic 103 will not be modified by the cooperation BC 102 without preparing a specific trust point.
- FIG. 2 is an explanatory diagram showing an example of the BC cooperation system 200.
- the BC cooperation system 200 includes a cooperation node 201 , a cooperation destination node 202 , a cooperation control device 203 and a user side device 204 .
- the cooperation nodes 201 when distinguishing between the cooperation nodes 201, they may be denoted as "cooperation nodes 201-i" by adding "-i" to the end of the reference numeral.
- i is a natural number.
- the cooperation node 201 and the cooperation control device 203 are connected via a wired or wireless network 210.
- the network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
- the cooperation destination node 202 and the cooperation control device 203 are connected via a wired or wireless network 210 .
- the cooperative control device 203 and the user side device 204 are connected via a wired or wireless network 210 .
- a cooperation node 201 is a computer that forms a cooperation BC network 210 that manages a cooperation BC 212 .
- the cooperation node 201 receives a request to execute a series of transactions from the cooperation control device 203 .
- the request includes, for example, an encrypted fragment obtained by encrypting each fragment of multiple fragments forming the target logic.
- the request may include an encrypted fragment management table 500, described later in FIG. 5, in which a plurality of encrypted fragments are recorded.
- the request includes, for example, correspondence information that associates each encrypted fragment of a plurality of encrypted fragments with the cooperation node 201 to which the encrypted fragment is assigned.
- the request may include a correspondence information management table 600 described later in FIG. 6 in which correspondence information is recorded.
- the cooperation node 201 decrypts the encrypted fragment assigned to its own node and generates the original fragment of the encrypted fragment.
- the cooperation node 201 executes the logic indicated by the generated fragment and generates transaction information indicating the result of executing the logic.
- the cooperation node 201 forms a consensus among the plurality of cooperation nodes 201 regarding the transaction information indicating the result of executing the logic, and records the transaction information indicating the result of executing the logic in the cooperation BC 212 stored in the own node. do.
- the cooperation node 201 is, for example, a server or a PC (Personal Computer).
- a cooperation destination node 202 is a computer that forms a cooperation destination BC network 221 that manages a cooperation destination BC 222 .
- a plurality of cooperation destination BC networks 221 may exist.
- the cooperation destination node 202 receives transaction information indicating the result of executing the logic from the cooperation control device 203 .
- the cooperation destination node 202 forms a consensus among a plurality of cooperation destination nodes 202 regarding the transaction information indicating the result of executing the logic, and records the transaction information indicating the result of executing the logic in the cooperation destination BC 222 stored in the own node. do.
- the cooperation destination node 202 is, for example, a server or a PC.
- the cooperation control device 203 is a computer that monitors the cooperation BC 212.
- the cooperation control device 203 receives the request from the user device 204 .
- the request includes, for example, encrypted fragments.
- the request may include an encrypted fragment management table 500, which will be described later with reference to FIG.
- the request includes, for example, correspondence information.
- the request may include a correspondence information management table 600, which will be described later with reference to FIG.
- the cooperation control device 203 transmits the received request to the cooperation node 201 .
- the cooperation control device 203 detects that the transaction information indicating the result of executing the logic indicated by the specific fragment among the plurality of fragments has been recorded in the cooperation BC 212 .
- the cooperation control device 203 reads the transaction information indicating the result of executing the logic indicated by the specific fragment from the cooperation BC 212 and transmits it to the cooperation destination node 202 .
- the cooperation control device 203 is, for example, a server or a PC.
- the user-side device 204 generates a request based on the user's operation input.
- the request includes, for example, encrypted fragments.
- the request may include an encrypted fragment management table 500, which will be described later with reference to FIG.
- the request includes, for example, correspondence information.
- the request may include a correspondence information management table 600, which will be described later with reference to FIG.
- the user-side device 204 transmits the request to the cooperative control device 203 .
- the user-side device 204 is, for example, a PC, a tablet terminal, or a smart phone.
- the cooperation control device 203 may have the function of the cooperation node 201 and operate as the cooperation node 201 .
- the cooperation control device 203 and the user side device 204 are different devices.
- the present invention is not limited to this.
- the cooperative control device 203 may have the function of the user device 204 and operate as the user device 204 . In this case, the cooperative control system does not need to include the user-side device 204 .
- FIG. 3 is an explanatory diagram showing an application example of the BC cooperation system 200.
- the BC cooperation system 200 is applied to a service that executes a series of transactions related to remittance.
- subject logic for executing a series of transactions may include logic 300, for example.
- Logic 300 determines the remittance amount x based on the stock price, power value, and number of users after three days. Therefore, the remittance amount x may not be determined at the time of the request.
- the BC collaboration system 200 can reduce the risk of leakage of target logic for this service.
- the BC cooperation system 200 can appropriately execute a series of transactions regarding this service, and can appropriately record transaction information in the cooperation destination BC 222 .
- FIG. 4 is a block diagram showing a hardware configuration example of the cooperation node 201.
- the cooperation node 201 has a CPU (Central Processing Unit) 401 , a memory 402 , a network I/F (Interface) 403 , a recording medium I/F 404 and a recording medium 405 . Also, each component is connected by a bus 400 .
- CPU Central Processing Unit
- memory 402
- network I/F Interface
- recording medium I/F 404 and a recording medium 405 .
- each component is connected by a bus 400 .
- the CPU 401 controls the entire cooperation node 201 .
- the memory 402 has, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 401 .
- the program stored in the memory 402 causes the CPU 401 to execute coded processing by being loaded into the CPU 401 .
- the memory 402 stores the BC 212 for cooperation.
- the memory 402 stores an encrypted fragment management table 500, which will be described later with reference to FIG. 5, and a corresponding information management table 600, which will be described later with reference to FIG.
- the network I/F 403 is connected to the network 210 through a communication line, and is connected to other computers via the network 210.
- a network I/F 403 serves as an internal interface with the network 210 and controls input/output of data from other computers.
- Network I/F 403 is, for example, a modem or a LAN adapter.
- the recording medium I/F 404 controls reading/writing of data from/to the recording medium 405 under the control of the CPU 401 .
- the recording medium I/F 404 is, for example, a disk drive, SSD (Solid State Drive), USB (Universal Serial Bus) port, or the like.
- a recording medium 405 is a nonvolatile memory that stores data written under the control of the recording medium I/F 404 .
- the recording medium 405 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
- the recording medium 405 may be removable from the cooperation node 201 .
- the cooperation node 201 may have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc., in addition to the components described above. Also, the cooperation node 201 may have a plurality of recording medium I/Fs 404 and recording media 405 . Also, the cooperation node 201 may not have the recording medium I/F 404 and the recording medium 405 .
- the encrypted fragment management table 500 is realized, for example, by a storage area such as the memory 402 or recording medium 405 of the cooperation node 201 shown in FIG.
- FIG. 5 is an explanatory diagram showing an example of the content stored in the encrypted fragment management table 500.
- the encrypted fragment management table 500 has fields of process ID, type, process, next process ID, and belonging fragment ID.
- the encrypted fragment management table 500 stores processing information as a record 500-a by setting information in each field for each processing. a is any integer.
- a process ID that identifies a process included in the target logic is set in the process ID field.
- the type field the type of processing is set.
- the contents of the encrypted processing are set in the processing field.
- a process ID for identifying a process to be executed next to the above process is set in the next process ID field.
- the belonging fragment ID field an belonging fragment ID for identifying an encrypted fragment containing the content of the encrypted processing is set.
- the belonging fragment ID may be, for example, identification information commonly used for the encrypted fragment and the original fragment of the encrypted fragment.
- the correspondence information management table 600 is realized, for example, by a storage area such as the memory 402 or the recording medium 405 of the cooperation node 201 shown in FIG.
- FIG. 6 is an explanatory diagram showing an example of the contents stored in the correspondence information management table 600.
- the correspondence information management table 600 has fields of fragment ID, node, and public key.
- the correspondence information management table 600 stores correspondence information as a record 600-b by setting information in each field for each fragment. b is any integer.
- a fragment ID that identifies an encrypted fragment is set in the fragment ID field.
- the node field is set with a name that identifies a node having a public key that has encrypted the encrypted fragment.
- a public key obtained by encrypting the encrypted fragment is set in the public key field.
- the fragment ID may be, for example, identification information commonly used for the encrypted fragment and the original fragment of the encrypted fragment.
- FIG. 7 is a block diagram showing a hardware configuration example of the cooperation destination node 202.
- cooperation destination node 202 has CPU 701 , memory 702 , network I/F 703 , recording medium I/F 704 , and recording medium 705 . Also, each component is connected by a bus 700 .
- the CPU 701 controls the entire cooperation destination node 202 .
- the memory 702 has, for example, ROM, RAM and flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 701 .
- a program stored in the memory 702 causes the CPU 701 to execute coded processing by being loaded into the CPU 701 .
- the memory 702 stores the cooperation destination BC 222 .
- the network I/F 703 is connected to the network 210 through a communication line, and is connected to other computers via the network 210.
- a network I/F 703 serves as an internal interface with the network 210 and controls input/output of data from other computers.
- Network I/F 703 is, for example, a modem or a LAN adapter.
- the recording medium I/F 704 controls reading/writing of data from/to the recording medium 705 under the control of the CPU 701 .
- a recording medium I/F 704 is, for example, a disk drive, an SSD, a USB port, or the like.
- a recording medium 705 is a nonvolatile memory that stores data written under control of the recording medium I/F 704 .
- the recording medium 705 is, for example, a disk, semiconductor memory, USB memory, or the like.
- the recording medium 705 may be removable from the cooperation destination node 202 .
- the cooperation destination node 202 may have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc., in addition to the components described above. Also, the cooperation destination node 202 may have a plurality of recording medium I/Fs 704 and recording media 705 . Also, the cooperation destination node 202 may not have the recording medium I/F 704 and the recording medium 705 .
- FIG. 8 is a block diagram showing a hardware configuration example of the cooperative control device 203.
- the cooperative control device 203 has a CPU 801 , a memory 802 , a network I/F 803 , a recording medium I/F 804 and a recording medium 805 . Also, each component is connected by a bus 800 .
- the CPU 801 controls the overall control of the cooperative control device 203 .
- the memory 802 has, for example, ROM, RAM and flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 801 .
- a program stored in the memory 802 causes the CPU 801 to execute coded processing by being loaded into the CPU 801 .
- the memory 802 stores the encrypted fragment management table 500 shown in FIG. 5, the correspondence information management table 600 shown in FIG. 6, and the like.
- the network I/F 803 is connected to the network 210 through a communication line, and is connected to other computers via the network 210.
- a network I/F 803 serves as an internal interface with the network 210 and controls input/output of data from other computers.
- a network I/F 803 is, for example, a modem or a LAN adapter.
- a recording medium I/F 804 controls reading/writing of data from/to the recording medium 805 under the control of the CPU 801 .
- a recording medium I/F 804 is, for example, a disk drive, an SSD, a USB port, or the like.
- a recording medium 805 is a non-volatile memory that stores data written under the control of the recording medium I/F 804 .
- the recording medium 805 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
- the recording medium 805 may be removable from the cooperative control device 203 .
- the cooperation control device 203 may have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc., in addition to the components described above. Also, the cooperation control device 203 may have a plurality of recording medium I/Fs 804 and recording media 805 . Also, the cooperative control device 203 may not have the recording medium I/F 804 and the recording medium 805 .
- FIG. 9 is a block diagram showing a hardware configuration example of the user-side device 204.
- the user side device 204 has a CPU 901 , a memory 902 , a network I/F 903 , a recording medium I/F 904 , a recording medium 905 , a display 906 and an input device 907 . Also, each component is connected by a bus 900 .
- the CPU 901 controls the entire user-side device 204 .
- the memory 902 has, for example, ROM, RAM and flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 901 .
- a program stored in the memory 902 causes the CPU 901 to execute coded processing by being loaded into the CPU 901 .
- the network I/F 903 is connected to the network 210 through a communication line, and is connected to other computers via the network 210.
- a network I/F 903 serves as an internal interface with the network 210 and controls input/output of data from other computers.
- Network I/F 903 is, for example, a modem or a LAN adapter.
- a recording medium I/F 904 controls reading/writing of data from/to the recording medium 905 under the control of the CPU 901 .
- a recording medium I/F 904 is, for example, a disk drive, an SSD, a USB port, or the like.
- a recording medium 905 is a non-volatile memory that stores data written under the control of the recording medium I/F 904 .
- the recording medium 905 is, for example, a disk, semiconductor memory, USB memory, or the like.
- the recording medium 905 may be removable from the user-side device 204 .
- a display 906 displays data such as documents, images, function information, as well as cursors, icons or toolboxes.
- the display 906 is, for example, a CRT (Cathode Ray Tube), a liquid crystal display, an organic EL (Electroluminescence) display, or the like.
- the input device 907 has keys for inputting characters, numbers, various instructions, etc., and inputs data.
- the input device 907 may be a keyboard, a mouse, or the like, or may be a touch panel type input pad or numeric keypad.
- the user-side device 204 may have, for example, a printer, a scanner, a microphone, a speaker, etc., in addition to the components described above. Also, the user-side device 204 may have a plurality of recording medium I/Fs 904 and recording media 905 . Also, the user-side device 204 may not have the recording medium I/F 904 and the recording medium 905 .
- FIG. 10 is a block diagram showing an example of the functional configuration of the BC cooperation system 200.
- the cooperation control device 203 includes a first storage section 1010 , a first acquisition section 1011 , a monitoring section 1012 and a first output section 1013 .
- the first storage unit 1010 is implemented, for example, by a storage area such as the memory 802 or recording medium 805 shown in FIG. A case where the first storage unit 1010 is included in the cooperation control device 203 will be described below, but the present invention is not limited to this.
- the first storage unit 1010 may be included in a device different from the cooperative control device 203 , and the contents stored in the first storage unit 1010 may be referenced from the cooperative control device 203 .
- the first acquisition unit 1011 to first output unit 1013 function as an example of a control unit. Specifically, for example, the first acquisition unit 1011 to the first output unit 1013 cause the CPU 801 to execute a program stored in a storage area such as the memory 802 or the recording medium 805 shown in FIG. 8, or The network I/F 803 implements that function. The processing result of each functional unit is stored in a storage area such as the memory 802 or recording medium 805 shown in FIG. 8, for example.
- the first storage unit 1010 stores various information that is referred to or updated in the processing of each functional unit.
- the first storage unit 1010 stores the second partial logic group.
- the second partial logic group is a set of second partial logics.
- the second portion of logic is the first portion of logic that remains entirely in plaintext, or the first portion of logic in which at least part of the information is encrypted.
- the second part logic is, for example, the encryption fragment mentioned above.
- Information to be encrypted is, for example, information including a variable to which an input value is set or a conditional expression to which an input value is set.
- the second partial logic group is generated by encrypting information included in at least one of the first partial logic groups.
- the second partial logic group uses the public key of the cooperation node 201 to which the first partial logic is assigned to the information contained in at least one of the first partial logics of the first partial logic group. Generated by encryption.
- the second partial logic group may include, as the second partial logic, the first partial logic in which the information is not encrypted among the first partial logic groups.
- the second partial logic group may be generated, for example, by encrypting information included in each first partial logic included in the first partial logic group.
- the second logic part group may be generated by encrypting information included in each first logic logic part with the public key of the cooperation node 201 to which the first logic logic part is assigned. good.
- the first partial logic group is a set of first partial logics.
- the first partial logic is, for example, logic forming the target logic.
- the first part logic is specifically the fragment mentioned above.
- the first partial logic group is generated by dividing the target logic based on a conditional expression included in the target logic.
- the first storage unit 1010 stores an encrypted fragment management table 500 that enables identification of a plurality of encrypted fragments.
- the second partial logic group is acquired by the first acquisition unit 1011 and stored by the first storage unit 1010, for example.
- the first storage unit 1010 stores correspondence information that associates the second partial logic corresponding to the first partial logic with the cooperation node 201 to which the second partial logic is assigned. Since the cooperation node 201 is associated with the second partial logic, it is indirectly associated with the first partial logic.
- First storage unit 1010 specifically stores correspondence information management table 600 . The correspondence information is acquired by the first acquisition unit 1011 and stored by the first storage unit 1010, for example.
- the first acquisition unit 1011 acquires various information used for processing of each functional unit.
- the first acquisition unit 1011 stores the acquired various information in the first storage unit 1010 or outputs the acquired information to each functional unit. Further, the first acquisition unit 1011 may output various information stored in the first storage unit 1010 to each functional unit.
- the first acquisition unit 1011 acquires various types of information, for example, based on a user's operation input.
- the first acquisition unit 1011 may receive various types of information from a device other than the cooperative control device 203, for example.
- the first acquisition unit 1011 acquires the second partial logic group.
- the first acquisition unit 1011 acquires, for example, the second partial logic group by receiving it from another computer.
- the other computer is, for example, the user-side device 204 .
- the first acquisition unit 1011 may acquire the second partial logic group by, for example, receiving an input of the second partial logic group based on the user's operation input.
- the first acquisition unit 1011 receives a request including the encrypted fragment management table 500 from another computer.
- the first acquisition unit 1011 acquires correspondence information.
- the first acquisition unit 1011 acquires correspondence information by receiving it from another computer, for example.
- the other computer is, for example, the user-side device 204 .
- the first acquisition unit 1011 may acquire correspondence information by, for example, accepting input of correspondence information based on user's operation input. Specifically, the first acquisition unit 1011 receives a request including the correspondence information management table 600 from another computer.
- the first acquisition unit 1011 may accept a start trigger for starting processing of any of the functional units.
- the start trigger is, for example, that there is a predetermined operation input by the user.
- the start trigger may be, for example, reception of predetermined information from another computer.
- the start trigger may be, for example, the output of predetermined information by any of the functional units.
- the first acquisition unit 1011 receives acquisition of the second partial logic group and the correspondence information as a start trigger for starting the processing of the monitoring unit 1012 and the first output unit 1013 .
- the monitoring unit 1012 monitors the BC 212 for cooperation. For example, the monitoring unit 1012 monitors the BC 212 for cooperation after transmitting the second partial logic group from the first output unit 1013 .
- the monitoring unit 1012 detects that the result of executing at least a specific first partial logic out of the first partial logic group is recorded in the cooperation BC 212 as a result of monitoring, the monitoring unit 1012 executes the specific first partial logic.
- the result obtained is acquired from the BC 212 for cooperation.
- the specific first partial logic is, for example, the first partial logic whose execution order is the last in the first partial logic group.
- the specific first partial logic may be, for example, the first partial logic including output processing.
- the specific first part logic is specifically a first part logic including output processing for transmitting transaction information to the cooperation destination BC 222 and causing the cooperation destination BC 222 to record the transaction information.
- the monitoring unit 1012 can acquire the result of executing the specific first partial logic, which corresponds to the final result of executing the target logic, when the execution of the target logic is completed.
- the monitoring unit 1012 can acquire the result of executing the specific first part logic corresponding to the transaction information to be recorded in the cooperation destination BC 222 when the transaction information to be recorded in the cooperation destination BC 222 is generated. .
- the first output unit 1013 outputs the processing result of at least one of the functional units.
- the output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I/F 803, or storage in a storage area such as the memory 802 or recording medium 805. This enables the first output unit 1013 to notify the user of the processing result of at least one of the functional units, thereby improving the convenience of the cooperative control device 203 .
- the first output unit 1013 transmits the second partial logic group to each cooperation node 201 .
- the first output unit 1013 for example, transmits a request including the second partial logic group to each of the cooperation nodes 201 .
- the first output unit 1013 can enable each of the cooperation nodes 201 to refer to the second partial logic group, and outputs the first partial logic corresponding to the second partial logic assigned to the own node. can be made executable.
- the first output unit 1013 transmits to the cooperation destination node 202 as transaction information to be recorded in the cooperation destination BC 222 the result of executing the acquired specific first part logic. Thereby, the first output unit 1013 can record the result of executing the specific first partial logic in the cooperation destination BC 222 . Therefore, the first output unit 1013 can leave a trail of execution of a series of transactions in the cooperation destination BC 222 .
- the cooperation node 201 includes a second storage unit 1020, a second acquisition unit 1021, an identification unit 1022, a management unit 1023, and a second output unit 1024. include.
- the cooperation node 201 forms, for example, a cooperation BC network 210 .
- the second storage unit 1020 is implemented, for example, by a storage area such as the memory 402 or recording medium 405 shown in FIG. Although a case where the second storage unit 1020 is included in the cooperation node 201 will be described below, the present invention is not limited to this.
- the second storage unit 1020 may be included in a device different from the cooperation node 201 , and the contents stored in the second storage unit 1020 may be referenced from the cooperation node 201 .
- the second acquisition unit 1021 to second output unit 1024 function as an example of a control unit. Specifically, for example, the second acquisition unit 1021 to the second output unit 1024 cause the CPU 401 to execute a program stored in a storage area such as the memory 402 or the recording medium 405 shown in FIG. 4, or The network I/F 403 implements that function. The processing result of each functional unit is stored in a storage area such as the memory 402 or recording medium 405 shown in FIG. 4, for example.
- the second storage unit 1020 stores various information that is referred to or updated in the processing of each functional unit.
- the second storage unit 1020 stores the BC 212 for cooperation.
- the cooperation BC 212 records the second partial logic group.
- the cooperation BC 212 specifically records an encrypted fragment management table 500 that enables identification of a plurality of encrypted fragments.
- the cooperation BC 212 stores transaction information. Transaction information indicates the result of executing the first part logic.
- the second partial logic group is acquired by the second acquisition unit 1021 and stored by the second storage unit 1020, for example.
- the transaction information is generated by the management unit 1023 and stored by the second storage unit 1020, for example.
- the second storage unit 1020 stores correspondence information that associates the second partial logic corresponding to the first partial logic with the cooperation node 201 to which the second partial logic is assigned.
- Second storage unit 1020 specifically stores correspondence information management table 600 .
- the correspondence information is acquired by the second acquisition unit 1021 and stored by the second storage unit 1020, for example.
- the correspondence information may be stored by the cooperation BC 212 stored in the second storage unit 1020 .
- the second acquisition unit 1021 acquires various information used for processing of each functional unit.
- the second acquisition unit 1021 stores the acquired various information in the second storage unit 1020 or outputs the acquired information to each functional unit. Further, the second acquisition unit 1021 may output various information stored in the second storage unit 1020 to each functional unit.
- the second acquisition unit 1021 acquires various information, for example, based on the user's operation input.
- the second acquisition unit 1021 may receive various information from a device different from the cooperation node 201, for example.
- the second acquisition unit 1021 acquires the second partial logic group.
- the second acquisition unit 1021 acquires, for example, the second partial logic group by receiving it from another computer.
- Another computer is, for example, the cooperative control device 203 .
- Second acquisition unit 1021 specifically receives a request including encrypted fragment management table 500 from another computer.
- the second acquisition unit 1021 records the acquired second partial logic group in the cooperation BC 212 . Thereby, the second acquiring unit 1021 can store the second partial logic group in a state that is difficult to falsify.
- the second acquisition unit 1021 acquires correspondence information.
- the second acquisition unit 1021 acquires correspondence information by receiving it from another computer, for example.
- Another computer is, for example, the cooperative control device 203 .
- second acquisition unit 1021 receives a request including correspondence information management table 600 from another computer.
- the second acquisition unit 1021 acquires an input value corresponding to the first partial logic.
- the input value may become observable, for example, after the second logic subgroup is recorded in the BC 212 for cooperation.
- the second acquisition unit 1021 acquires, for example, an input value corresponding to the first partial logic corresponding to any second partial logic assigned to the own node.
- the second acquisition unit 1021 executes another first partial logic that has been executed before the first partial logic corresponding to the second partial logic assigned to the own node, which is recorded in the cooperation BC 212.
- the second acquisition unit 1021 may acquire an input value from another computer or a sensor that acquires an observed value as an input value. This allows the second acquisition unit 1021 to execute the first partial logic.
- the second acquisition unit 1021 may accept a start trigger to start processing of any functional unit.
- the start trigger is, for example, that there is a predetermined operation input by the user.
- the start trigger may be, for example, reception of predetermined information from another computer.
- the start trigger may be, for example, the output of predetermined information by any of the functional units.
- the second acquisition unit 1021 receives, for example, acquisition of the second partial logic group as a start trigger for starting the processing of the identification unit 1022 .
- the second acquisition unit 1021 receives, for example, acquisition of an input value corresponding to the first logic part as a start trigger for starting the processing of the management unit 1023 .
- the specifying unit 1022 specifies the first partial logic corresponding to any of the second partial logics assigned to the own node among the second partial logic groups recorded in the cooperation BC 212 .
- the identifying unit 1022 identifies, for example, the first partial logic corresponding to the second partial logic assigned to the own node, among the first partial logic groups, based on the second partial logic assigned to the own node.
- the identifying unit 1022 refers to the correspondence information to identify the second partial logic assigned to the own node. If encrypted information is included in the identified second logic portion, the identification unit 1022 decrypts the encrypted information using the private key corresponding to the own node, thereby obtaining the identified second logic logic portion. generates a first portion of logic corresponding to If the identified second logic portion does not contain encrypted information, the identifying unit 1022 directly adopts the identified second logic logic portion as the first logic logic portion corresponding to the second logic logic portion. Thereby, the identifying unit 1022 can identify the first partial logic to be executed.
- the management unit 1023 executes the specified first logic part based on the accepted input value.
- the management unit 1023 records the result of executing the identified first partial logic in the cooperation BC 212 .
- the management unit 1023 can refer to the execution result of the identified first partial logic recorded in the cooperation BC 212 when executing another first partial logic.
- the management unit 1023 can allow the cooperation control device 203 to refer to the execution result of the identified first partial logic recorded in the cooperation BC 212 . Therefore, the management unit 1023 can cause the cooperation destination BC 222 to record the result of executing the identified first partial logic via the cooperation control device 203 .
- the management unit 1023 may encrypt the result of executing the identified first partial logic and record it in the cooperation BC 212. Specifically, the management unit 1023 acquires the public key of the other cooperation node 201 to which the second partial logic corresponding to the first partial logic to be executed next to the identified first partial logic is assigned. good too. Specifically, the management unit 1023 may encrypt the result of executing the specified first logic part with the acquired public key and record it in the cooperation BC 212 . Thereby, the management unit 1023 can easily conceal the result of executing the specified first partial logic. Therefore, the management unit 1023 can easily conceal the content of the specified first partial logic.
- the management unit 1023 may add a signature using the signature key of the cooperation node 201 to the result of executing the specified first logic part and record it in the cooperation BC 212 .
- a signature key is, for example, a private key corresponding to a public key. As a result, the management unit 1023 can improve the reliability of the result of executing the specified first logic part.
- the second output unit 1024 outputs the processing result of at least one of the functional units.
- the output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I/F 403, or storage in a storage area such as the memory 402 or recording medium 405.
- the second output unit 1024 can notify the user of the processing result of at least one of the functional units, thereby improving the convenience of the cooperation node 201 .
- the collaboration destination node 202 includes a third storage unit 1030, a third acquisition unit 1031, a recording unit 1032, and a third output unit 1033.
- the cooperation destination node 202 forms, for example, a cooperation destination BC network 221 .
- the third storage unit 1030 is realized, for example, by a storage area such as the memory 702 and recording medium 705 shown in FIG. Although the case where the third storage unit 1030 is included in the cooperation destination node 202 will be described below, the present invention is not limited to this.
- the third storage unit 1030 may be included in a device different from the cooperation destination node 202 , and the contents stored in the third storage unit 1030 may be referenced from the cooperation destination node 202 .
- the third acquisition unit 1031 to third output unit 1033 function as an example of a control unit. Specifically, for example, the third acquisition unit 1031 to the third output unit 1033 cause the CPU 701 to execute a program stored in a storage area such as the memory 702 or the recording medium 705 shown in FIG. 7, or The network I/F 703 implements that function. The processing result of each functional unit is stored in a storage area such as the memory 702 or the recording medium 705 shown in FIG. 7, for example.
- the third storage unit 1030 stores various information referred to or updated in the processing of each functional unit.
- Third storage unit 1030 stores cooperation destination BC 222 .
- the cooperation destination BC 222 records the result of executing the first part logic.
- the result of executing the first logic part is acquired by the third acquisition unit 1031 and stored by the third storage unit 1030, for example.
- the third acquisition unit 1031 acquires various types of information used for processing of each functional unit.
- the third acquisition unit 1031 stores the acquired various information in the third storage unit 1030 or outputs it to each functional unit. Further, the third acquisition unit 1031 may output various information stored in the third storage unit 1030 to each functional unit.
- the third acquisition unit 1031 acquires various types of information, for example, based on user's operation input.
- the third acquisition unit 1031 may receive various types of information from a device different from the cooperation destination node 202, for example.
- the third acquisition unit 1031 acquires the result of executing the first part logic.
- the third acquisition unit 1031 acquires, for example, the result of executing the first part logic by receiving it from the cooperation control device 203 .
- the recording unit 1032 records the result of executing the first part logic in the cooperation destination BC 222.
- the recording unit 1032 forms a consensus among the plurality of cooperation destination nodes 202 regarding the result of executing the first logic part, and records the result of executing the first logic logic part in the cooperation destination BC 222 . Thereby, the recording unit 1032 can leave a trail of execution of a series of transactions.
- a third output unit 1033 outputs the processing result of at least one of the functional units.
- the output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I/F 703, or storage in a storage area such as the memory 702 or recording medium 705.
- the third output unit 1033 can notify the user of the processing result of at least one of the functional units, thereby improving the convenience of the cooperation destination node 202 .
- FIG. 11 is a block diagram showing a specific example of the functional configuration of the BC cooperation system 200.
- the user-side device 204 includes a key requesting unit 1101, a logic creating unit 1102, a graphing unit 1103, an encryption unit 1104, and a transaction requesting unit 1105. include.
- the key request unit 1101 transmits a public key acquisition request to the cooperation control device 203.
- the public key acquisition request indicates that a public key corresponding to each cooperation node 201 forming the cooperation BC network 211 is requested.
- the key request unit 1101 receives the public key corresponding to each cooperation node 201 from the cooperation control device 203 .
- the logic creation unit 1102 creates target logic for executing a series of transactions based on the user's operation input.
- the graphing unit 1103 graphs the target logic.
- the graphing unit 1103 graphs the target logic by, for example, treating each instruction included in the target logic as a node and expressing transitions between instructions as edges.
- the graphing unit 1103 outputs the graph of the target logic so that the user can refer to it.
- the encryption unit 1104 assigns the N fragments to different cooperation nodes 201 based on the user's operation input. The encryption unit 1104 generates an encrypted fragment corresponding to each of the N fragments by encrypting each fragment with the public key corresponding to the cooperation node 201 to which the fragment is assigned.
- the encryption unit 1104 generates an encrypted fragment management table 500 that records encrypted fragments.
- the encryption unit 1104 generates a correspondence information management table 600 that records correspondence information that associates the public key of each cooperation node 201 with the encrypted fragment encrypted with the public key.
- Transaction request unit 1105 generates a transaction execution request including encrypted fragment management table 500 and correspondence information management table 600 , and transmits it to cooperation control device 203 .
- a trade execution request requests to execute a series of trades.
- the cooperation control device 203 includes a key issuing unit 1111, a transaction issuing unit 1112, a transaction initiation unit 1113, a signature issuing unit 1114, and a transaction monitoring unit 1115.
- the key issuing unit 1111 receives a public key acquisition request from the user-side device 204 .
- the key issuing unit 1111 transmits the public key corresponding to each cooperation node 201 to the user-side device 204 in response to the public key acquisition request.
- the transaction issuing unit 1112 receives the signed transaction information from the signature issuing unit 1114 .
- the transaction issuing unit 1112 transmits the signed transaction information to each cooperation destination node 202 forming the cooperation destination BC network 221 .
- the transaction initiation unit 1113 receives a transaction execution request.
- the transaction initiation unit 1113 transmits the received transaction execution request to each cooperation node 201 .
- Signature issuer 1114 receives transaction information from transaction monitor 1115 .
- the signature issuing unit 1114 adds a signature using a signature key corresponding to the cooperation control device 203 to the received transaction information.
- the signature issuing unit 1114 transmits the signed transaction information to the transaction issuing unit 1112 .
- the transaction monitoring unit 1115 monitors the cooperation BC 212 after transmitting the transaction execution request to each cooperation node 201 .
- the transaction monitoring unit 1115 When the transaction monitoring unit 1115 detects that the transaction information indicating the result of executing the specific fragment is recorded in the cooperation BC 212, the transaction monitoring unit 1115 reads the transaction information indicating the result of executing the specific fragment from the cooperation BC 212. Transaction monitoring unit 1115 transmits the read transaction information to signature issuing unit 1114 .
- the cooperation node 201 includes key information 1121, a logic calculation unit 1122, and a transaction issuing unit 1123.
- Key information 1121 includes a public key and a private key.
- Logic calculation unit 1122 receives the transaction execution request and extracts encrypted fragment management table 500 and correspondence information management table 600 . Based on the encrypted fragment management table 500 and the correspondence information management table 600, the logic calculation unit 1122 decrypts the encrypted fragment associated with the node, thereby generating the fragment assigned to the node. .
- the transaction issuing unit 1123 acquires input values related to the logic indicated by the generated fragments.
- the transaction issuing unit 1123 reads, for example, an input value related to the logic indicated by the generated fragment from the cooperation BC 212 .
- the transaction issuing unit 1123 receives, for example, an input value related to the logic indicated by the generated fragment from another computer, or a sensor that acquires an observed value as an input value.
- the transaction issuing unit 1123 executes the logic indicated by the generated fragment based on the acquired input value.
- the transaction issuing unit 1123 generates transaction information indicating the result of executing the logic indicated by the generated fragment, and transmits the transaction information to each cooperation destination node 202 .
- the cooperation destination node 202 receives the signed transaction information from the cooperation control device 203 .
- the cooperation destination node 202 records the signed transaction information in the cooperation destination BC 222 .
- 2 ⁇ N ⁇ the number of cooperation nodes 201 and two or more fragments may be assigned to the same cooperation node 201 .
- FIG. 12 to 18 are explanatory diagrams showing operation examples of the BC cooperation system 200.
- the cooperation node 201-1 stores key information 1 including public key 1 and private key 1.
- the cooperation node 201-2 stores key information 2 including a public key 2 and a private key 2.
- the cooperation node 201-3 stores key information 3 including a public key 3 and a private key 3.
- the cooperation node 201-4 stores the key information 4 including the public key 4 and the private key 4.
- FIG. 12 to 18 are explanatory diagrams showing operation examples of the BC cooperation system 200.
- FIG. 12 to 18, the cooperation node 201-1 stores key information 1 including public key 1 and private key 1.
- the cooperation node 201-2 stores key information 2 including a public key 2 and a private key 2.
- the cooperation node 201-3 stores key information 3 including a public key 3 and a private key 3.
- the cooperation node 201-4 stores the key information 4 including the public key 4 and the private key 4.
- the cooperation BC 212 stores the verification smart contract 1 corresponding to the cooperation node 201-1.
- the verification smart contract 1 executes the logic indicated by the fragment assigned to the cooperation node 201-1, and transfers the transaction information indicating the result of executing the logic indicated by the fragment assigned to the cooperation node 201-1 to the cooperation node 201-1. It has a function of recording in the BC 212 for use.
- the cooperation BC 212 stores the verification smart contract 2 corresponding to the cooperation node 201-2.
- the verification smart contract 2 executes the logic indicated by the fragment assigned to the cooperation node 201-2, and transfers the transaction information indicating the result of executing the logic indicated by the fragment assigned to the cooperation node 201-2 to the cooperation node 201-2. It has a function of recording in the BC 212 for use.
- the cooperation BC 212 stores the verification smart contract 3 corresponding to the cooperation node 201-3.
- the verification smart contract 3 executes the logic indicated by the fragment assigned to the cooperation node 201-3, and transfers the transaction information indicating the result of executing the logic indicated by the fragment assigned to the cooperation node 201-3 to the cooperation node 201-3. It has a function of recording in the BC 212 for use.
- the cooperation BC 212 stores the output verification smart contract corresponding to the cooperation node 201-4.
- the output verification smart contract executes the logic indicated by the fragment assigned to the cooperation node 201-4, and transfers the transaction information indicating the result of executing the logic indicated by the fragment assigned to the cooperation node 201-4 to the cooperation node 201-4. It has a function of recording in the BC 212 for use.
- the BC 212 for cooperation stores the logic storage smart contract.
- the logic storage smart contract has a function of recording the encrypted fragment management table 500 in the cooperation BC 212 .
- the smart contract may be referred to as "SC (Smart Contract)". Next, the description of FIG. 12 will be described.
- the user-side device 204 transmits a public key acquisition request to the cooperation control device 203 based on the user's operation input.
- the public key acquisition request indicates that a public key corresponding to each cooperation node 201 forming the cooperation BC network 211 is requested.
- the user-side device 204 receives the public key corresponding to each cooperation node 201 from the cooperation control device 203 .
- FIG. 13 the description of FIG. 13 will be described.
- the user-side device 204 generates target logic 1300 for executing a series of transactions based on the user's operation input.
- the target logic 1300 includes variables for which future observed values are set as input values, or conditional expressions for which future observed values are set as input values.
- the user-side device 204 among the target logic 1300, based on a variable for which a future observed value is set as an input value or a conditional expression for which a future observed value is set as an input value, Graph the target logic 1300 to generate a graph 1400 .
- the user-side device 204 graphs the target logic 1300 by, for example, treating each instruction included in the target logic 1300 as a node and expressing transitions between instructions as edges.
- FIG. 15 will be described.
- the user-side device 204 divides the target logic 1300 into fragment 1, fragment 2, fragment 3, and output fragment based on the user's operation input.
- the user-side device 204 allocates the fragment 1 to the cooperation node 201-1, the fragment 2 to the cooperation node 201-2, and the fragment 3 to the cooperation node 201-3 based on the user's operation input.
- the output fragment is assigned to the cooperation node 201-4.
- the user-side device 204 encrypts the information contained in the fragment 1 with the public key 1 corresponding to the cooperation node 201-1 to which the fragment 1 is assigned, and generates the encrypted fragment 1.
- the user-side device 204 encrypts the information included in the fragment 2 with the public key 2 corresponding to the cooperation node 201-2 to which the fragment 2 is assigned, and generates the encrypted fragment 2.
- the user-side device 204 encrypts the information included in the fragment 3 with the public key 3 corresponding to the cooperation node 201-3 to which the fragment 3 is assigned, and generates the encrypted fragment 3.
- FIG. The user-side device 204 encrypts the information contained in the output fragment with the public key 4 corresponding to the cooperation node 201-4 to which the output fragment is assigned to generate the encrypted output fragment.
- the user-side device 204 generates an encrypted fragment management table 500 that records encrypted fragment 1, encrypted fragment 2, encrypted fragment 3, and encrypted output fragment.
- the user-side device 204 associates the name of each cooperation node 201, the public key corresponding to the cooperation node 201, and the encrypted fragment obtained from the fragment assigned to the cooperation node 201.
- a correspondence information management table 600 in which the correspondence information is recorded is generated.
- the user-side device 204 generates a transaction execution request including the encrypted fragment management table 500 and the corresponding information management table 600 and transmits it to the cooperative control device 203 .
- the cooperative control device 203 receives a transaction execution request from the user device 204 .
- the cooperation control device 203 transmits a transaction execution request to each cooperation node 201 forming the cooperation BC network 210 .
- the cooperation control device 203 causes the transaction monitoring unit 1115 to start monitoring the cooperation BC 212 .
- the cooperation control device 203 starts monitoring that the transaction information indicating the result of executing the logic indicated by the output fragment is recorded in the cooperation BC 212 by the transaction monitoring unit 1115 .
- Each cooperation node 201 saves the encrypted fragment management table 500 and correspondence information management table 600 in the cooperation BC 212 by the logic storage SC. Next, the description of FIG. 17 will be described.
- the cooperation node 201-1 identifies the encrypted fragment 1 corresponding to its own node based on the encrypted fragment management table 500 and the correspondence information management table 600 by the verification SC1.
- the cooperation node 201-1 decrypts the encrypted fragment 1 corresponding to its own node with the secret key 1 corresponding to its own node by the verification SC1, thereby generating the fragment 1 assigned to its own node.
- the cooperation node 201-1 When the cooperation node 201-1 detects that the input value included in the logic indicated by the generated fragment 1 has been determined, it acquires the input value.
- the cooperation node 201-1 receives an input value from, for example, another computer or a sensor that acquires an observed value as an input value.
- the cooperation node 201-1 may detect that the input value is recorded in the cooperation BC 212 and read the input value from the cooperation BC 212.
- the cooperation node 201-1 executes the logic indicated by the generated fragment 1 based on the acquired input value, and records the transaction information indicating the result of executing the logic indicated by the generated fragment 1 in the cooperation BC 212. .
- the transaction information indicates, for example, whether the if (confidential) determination is Yes or No.
- the cooperation node 201-1 may acquire the public key of another cooperation node 201 to which the fragment 2 or fragment 3 to be executed next to the fragment 1 assigned to the own node is assigned.
- the cooperation node 201-1 may encrypt the transaction information indicating the result of executing the logic indicated by the generated fragment 1 with the obtained public key, and then record it in the cooperation BC 212.
- Other cooperation nodes 201 are specified based on the correspondence information management table 600, for example.
- the signature key is private key 1, for example.
- the cooperation node 201-2 identifies the encrypted fragment 2 corresponding to its own node based on the encrypted fragment management table 500 and the correspondence information management table 600 by the verification SC2.
- the cooperation node 201-2 decrypts the encrypted fragment 2 corresponding to its own node with the private key 2 corresponding to its own node by the verification SC 2, thereby generating the fragment 2 assigned to its own node.
- the cooperation node 201-2 When the cooperation node 201-2 detects that the input value included in the logic indicated by the generated fragment 2 has been determined, it acquires the input value.
- the cooperation node 201-2 receives an input value from, for example, another computer, or a sensor that acquires an observed value as an input value.
- the cooperation node 201-2 may detect that the input value is recorded in the cooperation BC 212 and read the input value from the cooperation BC 212.
- FIG. Specifically, the cooperation node 201-2 detects that transaction information indicating that if (confidential) determination Yes, which can be decrypted with the private key of its own node, is recorded in the cooperation BC 212. You may Then, the cooperation node 201-2 may read the detected transaction information as an input value.
- the cooperation node 201-2 executes the logic indicated by the generated fragment 2 based on the acquired input value, and records the transaction information indicating the result of executing the logic indicated by the generated fragment 2 in the cooperation BC 212. .
- the transaction information indicates, for example, the processing result of the command (confidentiality).
- the cooperation node 201-2 may, for example, acquire the public key of another cooperation node 201 to which an output fragment to be executed subsequent to fragment 2 assigned to its own node is assigned.
- the cooperation node 201-2 may, for example, encrypt the transaction information indicating the result of executing the logic indicated by the generated fragment 2 with the obtained public key, and then record it in the cooperation BC 212.
- Other cooperation nodes 201 are specified based on the correspondence information management table 600, for example.
- the cooperation node 201-2 encrypts the transaction information with the public key of the other cooperation node 201-4 to which the output fragment to be executed next to the fragment 2 assigned to its own node is assigned.
- the cooperation node 201-2 may add a signature using the signature key corresponding to the own node to the transaction information indicating the result of executing the logic indicated by the generated fragment 2.
- the signature key is private key 2, for example.
- the cooperation node 201-3 identifies the encrypted fragment 3 corresponding to its own node based on the encrypted fragment management table 500 and the correspondence information management table 600 by the verification SC3.
- the cooperation node 201-3 decrypts the encrypted fragment 3 corresponding to its own node with the private key 3 corresponding to its own node by the verification SC 3, thereby generating the fragment 3 assigned to its own node.
- the cooperation node 201-3 When the cooperation node 201-3 detects that the input value included in the logic indicated by the generated fragment 3 has been determined, it acquires the input value.
- the cooperation node 201-3 receives an input value from, for example, another computer or a sensor that acquires an observed value as an input value.
- the cooperation node 201-3 may detect that the input value is recorded in the cooperation BC 212 and read the input value from the cooperation BC 212.
- FIG. Specifically, the cooperation node 201-3 detects that the transaction information that can be decrypted with the private key of the node itself and indicates that if (secret) determination No is recorded in the cooperation BC 212. You may Then, the cooperation node 201-3 may read the detected transaction information as an input value.
- the cooperation node 201-3 executes the logic indicated by the generated fragment 3 based on the acquired input value, and records the transaction information indicating the result of executing the logic indicated by the generated fragment 3 in the cooperation BC 212.
- the transaction information indicates, for example, the processing result of the command (confidentiality).
- the cooperation node 201-3 may acquire the public key of another cooperation node 201 to which an output fragment to be executed subsequent to fragment 3 assigned to its own node is assigned.
- the cooperation node 201-3 may encrypt the transaction information indicating the result of executing the logic indicated by the generated fragment 3 with the obtained public key, and then record it in the cooperation BC 212.
- Other cooperation nodes 201 are specified based on the correspondence information management table 600, for example.
- the cooperation node 201-3 encrypts the transaction information with the public key of the other cooperation node 201-4 to which the output fragment to be executed next to the fragment 3 assigned to its own node is assigned.
- the cooperation node 201-3 may add a signature using the signature key corresponding to the own node to the transaction information indicating the result of executing the logic indicated by the generated fragment 3.
- the signature key is private key 3, for example.
- the cooperation node 201-4 identifies the encrypted output fragment corresponding to its own node based on the encrypted fragment management table 500 and the correspondence information management table 600 by the output verification SC.
- the cooperation node 201-4 generates an output fragment assigned to its own node by decrypting the encrypted output fragment corresponding to its own node using the output verification SC with the secret key 4 corresponding to its own node. .
- the cooperation node 201-4 When the cooperation node 201-4 detects that the input value included in the logic indicated by the generated output fragment has been determined, it acquires the input value.
- the cooperation node 201-4 detects that the input value is recorded in the cooperation BC 212, and reads the input value from the cooperation BC 212.
- the cooperation node 201-4 may detect that the transaction information indicating the processing result of the command (confidential) that can be decrypted with the private key of the own node is recorded in the cooperation BC 212. . Then, the cooperation node 201-4 may read the detected transaction information as an input value.
- the cooperation node 201-4 executes the logic indicated by the generated output fragment based on the acquired input value, and records the transaction information indicating the result of executing the logic indicated by the generated output fragment in the cooperation BC 212. .
- the transaction information indicates, for example, output (confidential) processing results.
- the cooperation node 201-4 may add a signature using the signature key corresponding to the own node to the transaction information indicating the result of executing the logic indicated by the generated output fragment.
- the signature key is private key 4, for example.
- the cooperation control device 203 detects that the transaction monitoring unit 1115 has recorded the transaction information indicating the result of executing the logic indicated by the output fragment in the cooperation BC 212 .
- the cooperation control device 203 uses the transaction monitoring unit 1115 to acquire transaction information indicating the result of executing the logic indicated by the output fragment from the cooperation BC 212 .
- the cooperative control device 203 uses the signature issuing unit 1114 to add a signature using a signature key corresponding to its own device to the acquired transaction information.
- the cooperation control device 203 transmits the signed transaction information to each cooperation destination node 202 .
- the cooperation control device 203 may transmit the hash value of the signed transaction information to each cooperation destination node 202 as new transaction information.
- Each cooperation destination node 202 receives the signed transaction information.
- Each cooperation destination node 202 records the signed transaction information in the cooperation destination BC 222 .
- the BC cooperation system 200 can prevent the target logic 1300 from being stored in a plaintext state, and can reduce the risk of the target logic 1300 being leaked.
- the BC cooperation system 200 since the BC cooperation system 200 records the target logic 1300 in the cooperation BC 212, it is possible to prevent the target logic 1300 from being tampered with. Therefore, the BC cooperation system 200 can be realized without including a trust point.
- the BC cooperation system 200 appropriately records the transaction information related to the target logic 1300 in the cooperation destination BC 222 even if the input value is undetermined at the time of the transaction execution request while reducing the risk of the target logic 1300 being leaked. can be made possible.
- FIG. 19 to 21 are sequence diagrams showing an example of the overall processing procedure.
- the user-side device 204 transmits a request requesting a public key to the cooperation control device 203 based on the user's operation input, and transmits the public key corresponding to each cooperation node 201 to the cooperation control device. It is received from the device 203 (step S1901).
- the user-side device 204 acquires target logic for executing a series of transactions based on the user's operation input (step S1902). Then, the user-side device 204 generates a graph representing the target logic and displays it on the display so that the user can refer to it (step S1903).
- the user-side device 204 divides the target logic into a plurality of fragments based on the user's operation input, and associates the plurality of fragments with different cooperation nodes 201 (step S1904). Then, the user-side device 204 encrypts each fragment with the public key corresponding to the cooperation node 201 corresponding to the fragment, acquires the encrypted fragment, and associates the fragment with the cooperation node 201 corresponding to the fragment. (Step S1905).
- the user-side device 204 sends a transaction request including the acquired plurality of encrypted fragments and correspondence information that enables identification of the cooperation node 201 corresponding to each encrypted fragment to the cooperation control device 203. It transmits (step S1906).
- the cooperation control device 203 Upon receiving the transaction request, the cooperation control device 203 transmits the received transaction request to each of the cooperation nodes 201 (step S1907). Next, the cooperation control device 203 starts monitoring the cooperation BC 212 (step S1908). Next, the description of FIG. 20 will be described.
- each of the cooperation nodes 201 extracts an encrypted fragment corresponding to its own node (step S2001).
- the cooperation node 201-1 detects that the observed value to be set as the input value has been found (step S2002). Next, the cooperation node 201-1 decrypts the extracted encrypted fragment and generates a fragment corresponding to the encrypted fragment (step S2003).
- the linking node 201-1 executes the logic indicated by the generated fragment, generates the transaction information representing the result of executing the logic indicated by the fragment, and generates the transaction information indicating the result of executing the logic indicated by the fragment, and the other linking node 201-1 corresponding to the next executed fragment. is encrypted with the public key of (step S2004). Further, the cooperation node 201-1 records the encrypted transaction information in the cooperation BC 212 and shares it with the plurality of cooperation nodes 201 (step S2005).
- the cooperation node 201-2 detects that the observed value to be set as the input value has been found (step S2006). Next, the cooperation node 201-2 decrypts the extracted encrypted fragment and generates a fragment corresponding to the encrypted fragment (step S2007).
- the linking node 201-2 executes the logic indicated by the generated fragment, generates transaction information representing the result of executing the logic indicated by the fragment, and generates the transaction information indicating the result of executing the logic indicated by the fragment, and the other linking node 201-2 corresponding to the next executed fragment. is encrypted with the public key of (step S2008). Furthermore, the cooperation node 201-2 records the encrypted transaction information in the cooperation BC 212 and shares it with the plurality of cooperation nodes 201 (step S2009).
- the cooperation node 201-3 detects that the observed value to be set as the input value has been found (step S2010). Next, the cooperation node 201-3 decrypts the extracted encrypted fragment and generates a fragment corresponding to the encrypted fragment (step S2011).
- the linking node 201-3 executes the logic indicated by the generated fragment, generates the transaction information representing the result of executing the logic indicated by the fragment, and generates the transaction information indicating the result of executing the logic indicated by the fragment. is encrypted with the public key of (step S2012). Furthermore, the cooperation node 201-3 records the encrypted transaction information in the cooperation BC 212 and shares it with the plurality of cooperation nodes 201 (step S2013). Next, the description of FIG. 21 will be described.
- the cooperation node 201-4 detects that the observed value to be set as the input value has been found (step S2101). Next, the cooperation node 201-4 decrypts the extracted encrypted fragment and generates a fragment corresponding to the encrypted fragment (step S2102).
- the linking node 201-4 executes the logic indicated by the generated fragment, generates transaction information representing the result of executing the logic indicated by the fragment, and generates the transaction information representing the result of executing the logic indicated by the fragment, and the other linking node 201-4 corresponding to the fragment to be executed next. is encrypted with the public key of (step S2103). Furthermore, the cooperation node 201-4 records the encrypted transaction information in the cooperation BC 212 and shares it with the plurality of cooperation nodes 201 (step S2104).
- the cooperation control device 203 detects that transaction information has been recorded in the cooperation BC 212 (step S2105). Next, the cooperation control device 203 acquires the transaction information recorded in the cooperation BC 212, and attaches a corresponding signature to its own device (step S2106). The cooperation control device 203 then transmits the signed transaction information to the cooperation destination node 202 (step S2107).
- Each cooperation destination node 202 records the signed transaction information in the cooperation destination BC 222 and shares it among the plurality of cooperation destination nodes 202 (step S2108). Then, the BC cooperation system 200 ends the overall processing. Thereby, the BC cooperation system 200 can execute a series of transactions while concealing the target logic.
- each cooperation node 201 executes the logic indicated by the generated fragment and generates transaction information representing the result of executing the logic indicated by the fragment, but the present invention is not limited to this.
- one of the cooperation nodes 201 does not execute the logic indicated by the generated fragment and does not generate the transaction information representing the result of executing the logic indicated by the fragment.
- the cooperation BC network 210 can be formed. According to the cooperation node 201, it is possible to obtain the second logic logic part group obtained by encrypting the information included in at least one of the logic logic logic logic parts of the first logic logic logic part forming the target logic. . According to the cooperation node 201 , the obtained second partial logic group can be recorded in the cooperation BC 212 managed by the cooperation BC network 210 . According to the cooperation node 201, based on one of the second partial logics assigned to the cooperation node 201 among the second partial logic group recorded in the cooperation BC 212, the first Partial logic can be specified.
- the cooperation node 201 when an input value corresponding to the specified first logic part is accepted, the result of executing the specified first logic part based on the accepted input value is recorded in the cooperation BC 212. can be done. As a result, the cooperation node 201 can make the result of executing the first partial logic available to other computers while keeping the target logic confidential.
- the cooperation node 201 According to the cooperation node 201, the information included in at least one of the first partial logics of the first partial logic group is encrypted with the public key of the cooperation node 201 to which the first partial logic is assigned. A second partial logic group can be obtained. As a result, the cooperation node 201 can easily conceal the target logic.
- the cooperation node 201 when an input value corresponding to the specified first partial logic is received, based on the accepted input value, the result of executing the specified first partial logic is encrypted and sent to the cooperation BC 212. can be recorded. Thereby, the cooperation node 201 can easily conceal the result of executing the first partial logic.
- the result of executing the specified first partial logic is transferred to another cooperation node to which the second partial logic corresponding to the first partial logic to be executed next to the specified first partial logic is assigned.
- the cooperation node 201 can easily conceal the result of executing the first logic part while remaining available for other cooperation nodes 201 .
- the result of executing the specified first partial logic can be signed by the signature key of the cooperation node 201 and recorded in the cooperation BC 212.
- the cooperation node 201 can improve the reliability of the result of executing the specified first logic part.
- a partial logic group can be acquired.
- the cooperation node 201 can easily conceal the target logic.
- the cooperation node 201 it is possible to acquire the first partial logic group generated by dividing the target logic based on the conditional expression included in the target logic. Thereby, the cooperation node 201 can acquire the first partial logic group obtained by appropriately dividing the target logic.
- the cooperation node 201 it is possible to accept an input value corresponding to the identified first partial logic observable after the second partial logic group is recorded in the cooperation BC 212. As a result, the cooperation node 201 can be applied to situations in which input values are determined ex post facto.
- the result of executing the identified first partial logic can be recorded in the cooperation destination BC 222 via the cooperation monitoring device that monitors the cooperation BC 212.
- the cooperation node 201 can appropriately leave a trace of execution of the target logic.
- the cooperation node 201 it is possible to obtain the second logic part group obtained by encrypting the information contained in each of the first logic parts contained in the first logic part group. As a result, the cooperation node 201 can easily conceal the target logic.
- control method described in the present embodiment can be realized by executing a prepared program on a computer such as a PC or workstation.
- the control program described in the present embodiment is recorded in a computer-readable recording medium and executed by being read from the recording medium by a computer.
- Recording media include a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical disc), DVD (Digital Versatile Disc), and the like.
- the control program described in this embodiment may be distributed via a network such as the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/027963 WO2023007633A1 (ja) | 2021-07-28 | 2021-07-28 | 制御方法、制御プログラム、ノード、およびシステム |
| JP2023537830A JPWO2023007633A1 (https=) | 2021-07-28 | 2021-07-28 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/027963 WO2023007633A1 (ja) | 2021-07-28 | 2021-07-28 | 制御方法、制御プログラム、ノード、およびシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023007633A1 true WO2023007633A1 (ja) | 2023-02-02 |
Family
ID=85087689
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/027963 Ceased WO2023007633A1 (ja) | 2021-07-28 | 2021-07-28 | 制御方法、制御プログラム、ノード、およびシステム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2023007633A1 (https=) |
| WO (1) | WO2023007633A1 (https=) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5892899A (en) * | 1996-06-13 | 1999-04-06 | Intel Corporation | Tamper resistant methods and apparatus |
| JP2002132568A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | 顧客管理システム及び顧客管理方法 |
| JP2018522291A (ja) * | 2015-07-21 | 2018-08-09 | バッフル インコーポレイテッド | 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス |
-
2021
- 2021-07-28 WO PCT/JP2021/027963 patent/WO2023007633A1/ja not_active Ceased
- 2021-07-28 JP JP2023537830A patent/JPWO2023007633A1/ja not_active Withdrawn
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5892899A (en) * | 1996-06-13 | 1999-04-06 | Intel Corporation | Tamper resistant methods and apparatus |
| JP2002132568A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | 顧客管理システム及び顧客管理方法 |
| JP2018522291A (ja) * | 2015-07-21 | 2018-08-09 | バッフル インコーポレイテッド | 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス |
Non-Patent Citations (2)
| Title |
|---|
| CHENG RAYMOND; ZHANG FAN; KOS JERNEJ; HE WARREN; HYNES NICHOLAS; JOHNSON NOAH; JUELS ARI; MILLER ANDREW; SONG DAWN: "Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts", 2019 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P), 17 June 2019 (2019-06-17), pages 185 - 200, XP033600731, DOI: 10.1109/EuroSP.2019.00023 * |
| STEVE ZDANCEWIC ; LANTIAN ZHENG ; NATHANIEL NYSTROM ; ANDREW C. MYERS: "Secure program partitioning", ACM TRANSACTIONS ON COMPUTER SYSTEMS (TOCS), vol. 20, no. 3, 1 August 2002 (2002-08-01), US , pages 283 - 328, XP058382657, ISSN: 0734-2071, DOI: 10.1145/566340.566343 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023007633A1 (https=) | 2023-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
| CN109033855B (zh) | 一种基于区块链的数据传输方法、装置及存储介质 | |
| Fabian et al. | Collaborative and secure sharing of healthcare data in multi-clouds | |
| US11132451B2 (en) | Secret data access control systems and methods | |
| JP6880255B2 (ja) | ブロックチェーン機密トランザクションの管理 | |
| CN109784931B (zh) | 一种基于区块链的数据查询平台的查询方法 | |
| US20230138102A1 (en) | Method and system for managing decentralized data using attribute-based encryption | |
| US20190386940A1 (en) | Method for providing recording and verification service for data received and transmitted by messenger service, and server using method | |
| JP2020525875A (ja) | 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理 | |
| JP7235668B2 (ja) | 登録方法、コンピュータ、及びプログラム | |
| JP2019511035A (ja) | スマートコントラクトに基づく自動給与支払方法及びシステムをもたらす、ブロックチェーン上の給与支払に関連付けられた暗号通貨の効率的な転送のための方法及びシステム | |
| CN105830133B (zh) | 文件保管系统及用户终端 | |
| US20240179007A1 (en) | Blockchain Index Tracking | |
| Han et al. | An architecture of secure health information storage system based on blockchain technology | |
| JP6909452B2 (ja) | 情報処理方法、情報処理装置、プログラムならびに情報処理システム | |
| US10826693B2 (en) | Scalable hardware encryption | |
| JP2019146088A (ja) | 計算機システム、接続装置、及びデータ処理方法 | |
| KR20220152954A (ko) | 스마트 계약을 이용한 신뢰실행환경의 데이터 처리 방법 | |
| Karmakar et al. | MediChain: Medical data fusion using blockchain integrated elastic storage | |
| KR102098803B1 (ko) | 블록체인 기술을 활용한 보안관제 시스템 및 그 방법 | |
| WO2020010432A1 (en) | Method, system, and device for selecting a winner of a raffle based on content from raffle tickets | |
| Dunnett et al. | A blockchain-based framework for scalable and trustless delegation of cyber threat intelligence | |
| de Laage et al. | Practical secure aggregation by combining cryptography and trusted execution environments | |
| WO2024197879A1 (zh) | 区块链数据处理方法、平台、系统、装置和电子设备 | |
| CN112202555B (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21951835 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023537830 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21951835 Country of ref document: EP Kind code of ref document: A1 |