WO2021166528A1 - Fraud testing device and fraud detection system - Google Patents

Fraud testing device and fraud detection system Download PDF

Info

Publication number
WO2021166528A1
WO2021166528A1 PCT/JP2021/001809 JP2021001809W WO2021166528A1 WO 2021166528 A1 WO2021166528 A1 WO 2021166528A1 JP 2021001809 W JP2021001809 W JP 2021001809W WO 2021166528 A1 WO2021166528 A1 WO 2021166528A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
blockchain
transaction
confirmation
root hash
Prior art date
Application number
PCT/JP2021/001809
Other languages
French (fr)
Japanese (ja)
Inventor
彰 深田
Original Assignee
Necソリューションイノベータ株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Necソリューションイノベータ株式会社 filed Critical Necソリューションイノベータ株式会社
Priority to JP2022501708A priority Critical patent/JP7393047B2/en
Priority to US17/797,888 priority patent/US20230155847A1/en
Priority to JP2022501769A priority patent/JP7393048B2/en
Priority to PCT/JP2021/003894 priority patent/WO2021166646A1/en
Publication of WO2021166528A1 publication Critical patent/WO2021166528A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment

Definitions

  • the present invention relates to a fraud verification device, a confirmation generator, a fraud detection system, a fraud verification method, a fraud detection method, and a fraud verification program used for fraud verification and detection performed on a blockchain.
  • Blockchain is widely known as one of the distributed ledger technology (DLT: Distributed Ledger Technology).
  • DLT Distributed Ledger Technology
  • Blockchain is a technology that stores data by generating units of data called blocks and connecting each block.
  • the header of each block stores a hash value calculated from the transaction history (transaction) in the block, which enables verification of the correct combination of transaction history.
  • the hash value calculated from the previous block header is also stored, which allows the validity of the logical connection with the previous block to be verified.
  • Blockchains are roughly classified into three types depending on how to select block approvers and differences in the mechanism (that is, validators when consensus is reached).
  • the first is a form called a public blockchain.
  • public blockchain In the public blockchain, there is no centralized authority, and the risk of fraud is eliminated by preparing a consensus algorithm such as PoW (Proof of Work). Due to these characteristics, public blockchains generally have no restrictions on participation, and are therefore large-scale networks in which an unspecified number of nodes exist.
  • the second is a form called a private blockchain.
  • a private blockchain is a small network in which participation is restricted and only specific nodes can participate. Since the number of participating nodes is smaller than that of the public blockchain, the transaction (approval) time is generally short.
  • the third is a form called a consortium type blockchain.
  • the consortium blockchain has fewer nodes to participate in than the public blockchain, so the transaction time is generally shorter.
  • the consortium type blockchain is consensus-building by multiple organizations, it can be said that it is a highly reliable network compared to the private type blockchain.
  • Patent Document 1 describes a system for detecting tampering in the blockchain.
  • the existence proof of the terminal object is stored in an external system. Therefore, when the history of a certain object is recreated or the end object is replaced, the alteration can be detected by using the existence proof in the external system.
  • the private blockchain and the consortium blockchain are smaller than the public blockchain in that the nodes that make up the chain are about several tens of nodes. Therefore, if a plurality of malicious participants collude and falsify the data, there is a possibility that such fraud cannot be detected.
  • a fraud verification device that can detect fraudulent operations of data performed on the blockchain, a fraud detection system, a fraud verification method, a fraud detection method, a fraud verification program, and a confirmation generation that generates confirmation used for the detection.
  • the purpose is to provide the device.
  • the fraud verification device is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block in the range.
  • a confirmation block acquisition unit that acquires a block confirmation transaction from a second blockchain that is a blockchain in which the block confirmation transaction is registered and is different from the first blockchain, and a block included in the acquired confirmation transaction.
  • the block in the first blockchain is identified from the number
  • the second Merkle root hash is calculated from the block header in the identified block
  • the first Merkle root hash and the second Merkle root hash match. It is characterized by having an illicit operation verification unit that detects illicit operations on the specified block by comparing with each other.
  • the confirmation generator calculates a Merkle root hash from the block headers of blocks in the target range in the first blockchain, and calculates a block number indicating the blocks in the range and the calculated Merkle root hash. It is provided with a confirmation block generation unit that generates a block confirmation transaction that is a including transaction, and a registration request unit that transmits a transaction requesting registration of a block confirmation transaction to a second blockchain different from the first blockchain. It is characterized by that.
  • the fraud detection system calculates the first Merkle root hash from the block header of the block of the target range in the first block chain, and calculates the block number indicating the block in the range and the calculated first.
  • a confirmation block generator that generates a block confirmation transaction that is a transaction including a Merkle root hash, and a registration that sends a transaction that requests registration of a block confirmation transaction to a second blockchain that is different from the first blockchain.
  • the request unit, the confirmation block acquisition unit that acquires the block confirmation transaction from the second blockchain, and the block number in the acquired confirmation transaction identify the block in the first blockchain, and the block in the specified block.
  • Fraud operation verification that calculates the second Merkle root hash from the header, compares whether the first Merkle root hash and the second Merkle root hash match, and detects tampering with the identified block. It is characterized by having a part.
  • the fraud verification method is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block in the range.
  • a block confirmation transaction is acquired from a second blockchain that is a blockchain in which the block confirmation transaction is registered and is different from the first blockchain, and is first from the block number included in the acquired confirmation transaction. Identify the block in the blockchain, calculate the second Merkle root hash from the block header in the identified block, and compare whether the first Merkle root hash and the second Merkle root hash match. , It is characterized by detecting an unauthorized operation on the specified block.
  • the first Merkle root hash is calculated from the block header of the block in the target range in the first block chain, and the block number indicating the block in the range is calculated as the first.
  • a block confirmation transaction which is a transaction including a Merkle root hash, is generated, a transaction requesting registration of the block confirmation transaction is sent to a second blockchain different from the first blockchain, and the block confirmation transaction is transmitted. Obtained from the second blockchain, identify the block in the first blockchain from the block number included in the acquired confirmation transaction, calculate the second Merkle root hash from the block header in the identified block, and calculate the second Merkle root hash. It is characterized in that an illicit operation on a specified block is detected by comparing whether the first Merkle root hash and the second Merkle root hash match.
  • the fraud verification program includes, in the computer, a first Merkle root hash calculated from the block header of a block of interest in the first blockchain, and a block number indicating the block in that range.
  • the block in the first blockchain is identified from the block number included in
  • the second Merkle root hash is calculated from the block header in the identified block
  • the first Merkle root hash and the second Merkle root are. It is characterized in that an illicit operation verification process for detecting an illicit operation on a specified block is executed by comparing whether or not the hash matches.
  • FIG. 1 is an explanatory diagram showing a configuration example of a first embodiment of the fraud detection system according to the present invention.
  • the fraud detection system 100 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 20, and an intermediary client 30.
  • the client device 1, the plurality of nodes 10, and the transaction management unit 20 operate as components of the blockchain 110.
  • the blockchain 110 including the client device 1, the plurality of nodes 10, the transaction management unit 20, and the intermediary client 30 will be referred to as a first blockchain.
  • the first blockchain is assumed to be a small-scale network having several tens of nodes constituting the chain, such as a private blockchain or a consortium type blockchain.
  • Examples of such a blockchain include Hyperldger Fabric, Corda, and Quorum.
  • Hyperldger Fabric will be used as a specific example of the first blockchain, but the mode of the first blockchain is not limited to Hyperldger Fabric.
  • the intermediary client 30, which will be described later, also operates as a component of a large-scale blockchain 120 such as a public blockchain.
  • the blockchain 120 including the intermediary client 30 will be referred to as a second blockchain.
  • the second blockchain is a blockchain different from the first blockchain. Examples of such a blockchain include Ethereum, NEM, EOS, and the like.
  • Ethereum will be used as a specific example of the second blockchain, but the mode of the second blockchain is not limited to Ethereum. The details of the second blockchain will be described later.
  • the client device 1 is a device that creates a transaction request (transaction) in the blockchain 110 and transmits the created transaction request to any of a plurality of nodes 10.
  • the client device 1 is a device called a client, a node, a wallet, or the like, although various names exist depending on the participating blockchain. For example, in the case of Hyperldger Fabric, the client device 1 corresponds to the client.
  • the client device 1 may create a transaction request according to the participating blockchain.
  • the node 10 is composed of a plurality of units in the blockchain 110, receives the received transaction request, performs processing, and holds the blockchain data generated as a result of the processing.
  • node 10 corresponds to peer.
  • FIG. 1 illustrates the case where the number of nodes 10 is two, the number of nodes is not limited to two and may be three or more.
  • the node 10 includes a control unit 11 and a storage unit 12.
  • the control unit 11 verifies and executes the received transaction request. Each process executed by the control unit 11 is determined according to the blockchain 110, and the control unit 11 executes each process according to the blockchain 110 to be used and the received transaction request, and the processing result. Should be notified to the client device 1. For example, in the case of Hyperldger Fabric, the control unit 11 may execute processing for a transaction request according to a chain code (program) in which business logic is implemented.
  • a chain code program
  • the storage unit 12 holds blockchain data generally called a ledger.
  • the ledger includes World State and a plurality of blocks (block chains).
  • Each block has a block header that contains metadata about the block as well as multiple transaction requests.
  • the block header contains the hash value of the immediately preceding block, the hash value of the transaction group (Merkle root), and the nonce.
  • the block header includes a time stamp and bits.
  • the transaction management unit 20 collectively creates a block for transaction requests. Specifically, the transaction management unit 20 creates a block in which transaction requests are ordered and put together, and broadcasts the generated block to each node 10. For example, in the case of Hyperldger Fabric, the transaction management unit 20 corresponds to the orderer.
  • Each process executed by the transaction management unit 20 is also defined according to the blockchain 110, and the transaction management unit 20 may execute each process according to the blockchain 110 to be used.
  • the transaction management unit 20 of the present embodiment includes the block management unit 21.
  • the block management unit 21 calculates the Merkle root hash from the block header of the block in the target range. Specifically, the block management unit 21 aggregates the hash values of the block headers in the blocks in the target range in a Merkle tree and calculates one Merkle root hash. Further, the block management unit 21 generates a transaction (hereinafter, referred to as a block confirmation transaction) including a block number indicating a block in the aggregated range and a Merkle root hash.
  • a transaction hereinafter, referred to as a block confirmation transaction
  • the target range is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  • the first blockchain is a small network such as a private blockchain or a consortium blockchain
  • the second blockchain is a large blockchain such as a private blockchain. It is assumed that. Therefore, the target range may be the number of blocks generated in the first blockchain at intervals at which blocks are generated in the second blockchain.
  • the block generation interval is 15 seconds.
  • the target range of blocks may be 15 blocks.
  • FIG. 2 is an explanatory diagram showing an example of a process for generating a block confirmation transaction.
  • the block management unit 21 collects the hash values of the block headers calculated at the time of block generation for the number of blocks to be aggregated. In the example shown in FIG. 2, it is shown that the hash values of the block headers from the block n-1 to the block n + 2 have been collected.
  • the block management unit 21 calculates the hash value again from the hash value of the block header in the adjacent blocks. Further, the block management unit 21 repeats the process of calculating the hash value again from the calculated adjacent hash values, and repeats the process until one hash value is obtained. If adjacent hash values do not exist by the time they become one hash value, the block management unit 21 may calculate the hash value again using the same hash value. Then, the block management unit 21 uses the hash value calculated until it becomes one as the Merkle root hash.
  • the hash value (block n-1 + n) is calculated from the hash value of the block header of block n-1 and the hash value of the block header of block n, and the hash value of the block header of block n + 1 is used.
  • the hash value (blocks n-1 to n + 2) is calculated again from the hash value (block n-1 + n) and the hash value (block n + 1 + n + 2), and this hash value is the Merkle root hash. It is shown that it is used as.
  • the block number (block n-1 to n + 2) of the block from which the Merkle root hash is calculated becomes the block number of the block in the aggregated range. This block number is used in the hash value verification process described later.
  • the block management unit 21 calculates one Merkle root hash from the block header in the block of the target range, so that the hash value is changed when the transaction registered later is tampered with. Since it does not match, it becomes possible to detect tampering.
  • the block management unit 21 transmits the generated block confirmation transaction to the intermediary client 30.
  • the block management unit 21 may be provided separately from the transaction management unit 20. In that case, the block management unit 21 may receive the output from the transaction management unit 20 and execute each of the above-described processes.
  • the intermediary client 30 is a device that creates a transaction request in the blockchain 120 and transmits the created transaction request to a node (not shown) of the blockchain 120. That is, the intermediary client 30 is a device that operates as a client (node, wallet) in the blockchain 120.
  • the intermediary client 30 of the present embodiment transmits a transaction requesting registration of the block confirmation transaction to the blockchain 120 (specifically, a node of the blockchain 120). After that, the transaction request is processed according to the specifications of the blockchain 120, and the intermediary client 30 receives the processing result for the transaction request.
  • the intermediary client 30 may receive a notification that the registration has been completed as a processing result.
  • the blockchain is a blockchain that can include a block confirmation transaction in a transaction request, and it is difficult to tamper with this block confirmation transaction, such as a public blockchain
  • the mode of the second blockchain is optional. be.
  • the block management unit 21 generates the block confirmation transaction, and the intermediary client 30 transmits the generated block confirmation transaction to the second block chain. Therefore, the block management unit 21 and the intermediary client An apparatus including 30 can be referred to as a confirmation generator.
  • the transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 are computer processors (for example, CPU (Central Processing Unit), GPU (Graphics Processing Unit)) that operate according to a program (confirmation generation program).
  • the program may be stored in the storage unit 12, and the processor may read the program and operate as the transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 according to the program.
  • the function of the confirmation generator may be provided in the SaaS (Software as a Service) format.
  • the transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 may each be realized by dedicated hardware.
  • a part or all of each component of each device may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus.
  • a part or all of each component of each device may be realized by a combination of the above-mentioned circuit or the like and a program.
  • each component of the confirmation generator when a part or all of each component of the confirmation generator is realized by a plurality of information processing devices and circuits, the plurality of information processing devices and circuits may be centrally arranged or distributed. It may be arranged.
  • the information processing device, the circuit, and the like may be realized as a form in which each of the client-server system, the cloud computing system, and the like is connected via a communication network.
  • FIG. 3 is an explanatory diagram showing an operation example of the fraud detection system 100 of the present embodiment.
  • the client device 1 creates a transaction request and sends it to the node 10 (step S11).
  • the control unit 11 of the node 10 verifies and executes the received transaction request, and requests the transaction management unit 20 to block the transaction request (step S12).
  • the transaction management unit 20 blocks the transaction request (step S13).
  • the block management unit 21 generates a block confirmation transaction (step S14), and transmits the generated block confirmation transaction to the intermediary client 30 (step S15).
  • the intermediary client 30 transmits a transaction request requesting registration of the block confirmation transaction to the blockchain 120 (step S16).
  • the intermediary client 30 transmits the processing result from the blockchain 120 to the transaction management unit 20 (step S17)
  • the transaction management unit 20 transmits the blocked information to each node 10 (step S18).
  • Each node 10 connects the received block to the block chain held by itself (step S19), and transmits the processing result to the client device 1 (step S20).
  • steps S14 and S15 illustrated in FIG. 3 correspond to the processes (confirmation generation processes) performed by the above-mentioned confirmation generator.
  • the block management unit 21 calculates the Merkle root hash from the block header of the block in the target range in the first blockchain, and sets the block number indicating the block in the range. Generate a block verification transaction containing the calculated Merkle root hash. Then, the intermediary client 30 transmits a transaction requesting registration of the block confirmation transaction to the second blockchain. Therefore, even if the data is tampered with in the first blockchain, the tampering can be detected by the block confirmation transaction registered in the second blockchain.
  • the fee increases according to the number of transaction requests sent to the blockchain.
  • one Merkle root hash is generated from the hash values of the block headers of a plurality of blocks to generate a block confirmation transaction, it is possible to suppress the fee in the second block chain.
  • FIG. 4 is an explanatory diagram showing a configuration example of a second embodiment of the fraud detection system according to the present invention.
  • the fraud detection system 200 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 40, and an intermediary client 50.
  • the fraud detection system 200 of the second embodiment is provided with the transaction management unit 40 instead of the transaction management unit 20 as compared with the fraud detection system 100 of the first embodiment, and the mediation client is replaced with the mediation client 30. It differs in that it has 50. Since the other configurations of the client device 1 and the plurality of nodes 10 are the same as those of the first embodiment, the description thereof will be omitted.
  • the transaction management unit 40 creates a block by collecting transaction requests as in the first embodiment. Further, the transaction management unit 40 of the present embodiment includes the block management unit 41. Similar to the first embodiment, the block management unit 41 may be provided separately from the transaction management unit 40. The function of the block management unit 41 will be described later.
  • the intermediary client 50 acquires a block confirmation transaction from the blockchain 120 (that is, the second blockchain) based on an instruction from the transaction management unit 40 (more specifically, the block management unit 41) described later. Specifically, the intermediary client 50 identifies a block verification transaction that includes a Merkle root hash calculated based on the block header of the block from the block number of the designated block. The intermediary client 50 may acquire the block confirmation transaction based on the specifications of the second blockchain.
  • the intermediary client 50 transmits the information of the specified block confirmation transaction to the transaction management unit 40 (more specifically, the block management unit 41).
  • the intermediary client 50 may transmit the block number and the Merkle root hash of the aggregated range of the specified block confirmation transaction information to the transaction management unit 40.
  • the block management unit 41 identifies the block number of the block used for verification from the transaction request, and gives an instruction to acquire the block confirmation transaction to the intermediary client 50. Then, the block management unit 41 extracts the range of the block to be verified from the acquired block confirmation transaction information (more specifically, the block number of the block in the aggregated range), and in the first block chain. Identify the block.
  • the block management unit 41 calculates the Merkle root hash again from the block header of the block in the specified range.
  • the method of calculating the Merkle root hash is the same as the method calculated by the block management unit 21 in the first embodiment.
  • the block management unit 41 compares the newly calculated Merkle root hash with the Merkle root hash acquired from the block confirmation transaction, and detects an unauthorized operation.
  • FIG. 5 is an explanatory diagram showing an example of block verification.
  • the block numbers (blocks n-1 to n + 2) are specified as the range of the blocks to be verified.
  • the block management unit 41 identifies the blocks in the range indicated by the block number, aggregates the hash values of the block headers of the specified blocks in a Merkle tree, and generates one Merkle root hash. Then, the block management unit 41 compares the newly calculated Merkle root hash with the Merkle root hash acquired from the block confirmation transaction. If the hash values do not match, the block management unit 41 determines that an illegal operation (tampering) is performed in a transaction in any of the blocks.
  • the transaction management unit 40 determines that an illegal operation has been performed and notifies the node 10 of the error. At this time, the node 10 that has received the transaction request from the client device 1 notifies the client device 1 of the error.
  • the block management unit A device including 41 and an intermediary client 50 can be called a fraud verification device.
  • the transaction management unit 40 (more specifically, the block management unit 41) and the intermediary client 50 are realized by a computer processor that operates according to a program (fraud verification program).
  • FIG. 6 is an explanatory diagram showing an operation example of the fraud detection system 200 of the present embodiment.
  • the process of receiving the transaction request by the client device 1 and blocking it is the same as the process from step S11 to step S13 illustrated in FIG.
  • the block management unit 41 identifies the block number of the block used for verification (step S21), and gives an instruction to acquire the block confirmation transaction to the intermediary client 50 (step S22). Based on the instruction from the block management unit 41, the intermediary client 50 acquires the block confirmation transaction from the second blockchain (step S23) and returns it to the block management unit 41 (step S24).
  • the block management unit 41 specifies the range of the block to be verified from the range of the acquired block numbers (step S25). Then, the block management unit 41 calculates the Merkle root hash again from the block header of the block in the specified range (step S26), and compares it with the Merkle root hash obtained from the block confirmation transaction (step S27). ).
  • step S27 If the hash values match (Yes in step S27), the block management unit 41 determines that no unauthorized operation has been performed (step S28). On the other hand, if the hash values do not match (No in step S27), the block management unit 41 determines that an illegal operation has been performed, and the node 10 notifies the client device 1 of an error (step S29).
  • step S21 to step S29 illustrated in FIG. 6 correspond to the processes (fraud verification process) performed by the above-mentioned fraud verification device.
  • the intermediary client 50 acquires the block confirmation transaction from the second blockchain, and the block management unit 41 obtains the block in the first blockchain from the block number included in the confirmation transaction. Identify and calculate the mark root hash from the block header in the identified block. Then, the mark root hash included in the block confirmation transaction and the calculated mark root hash are compared to see if they match, and an unauthorized operation on the specified block is detected. Therefore, it is possible to detect unauthorized manipulation of data performed on the blockchain.
  • Embodiment 3 Next, a third embodiment of the present invention will be described.
  • the fraud detection system 100 generates a confirmation (block confirmation transaction) used for verification
  • the fraud detection system 200 verifies the fraudulent operation of data by using the confirmation.
  • the process of generating confirmation and the process of verifying unauthorized operation may be realized in one system.
  • FIG. 7 is an explanatory diagram showing a configuration example of a third embodiment of the fraud detection system according to the present invention.
  • the fraud detection system 300 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 60, and an intermediary client 70.
  • the transaction management unit 60 includes the block management unit 21 of the first embodiment and the block management unit 41 of the second embodiment. Further, the intermediary client 70 also has the functions of the intermediary client 30 of the first embodiment and the intermediary client 50 of the second embodiment. The block management unit 21 and the block management unit 41 may be provided separately from the transaction management unit 60, as in the first embodiment and the second embodiment.
  • FIG. 8 is an explanatory diagram showing a specific example of the process of registering confirmation.
  • the client 201 is described outside the Hyperldger Fabric network 310, but the client 201 may be included in the Hyperldger Fabric network 310.
  • Client201 creates a transaction request and sends it to the first blockchain (Hyperldger Fabric network 310) (step S201).
  • the peer 210 requests the orderer 220 for the blocking process after executing the process according to the transaction request (step S202).
  • the orderer 220 generates a block confirmation transaction together with the blocking process and transmits it to the Ethereum client 230 (step S203).
  • the Ethereum client 230 records the block confirmation transaction in the second blockchain (Ethereum network 320) (step S204), and returns the result to the orderer 220 (step S205).
  • the orderer 220 transmits the block information to each peer 210 (step S206).
  • the peer connects the block to its own blockchain and returns the result to client201 (step S207).
  • FIG. 9 is an explanatory diagram showing a specific example of verifying unauthorized operation.
  • the client 201 is described outside the Hyperldger Fabric network 310, but the client 201 may be included in the Hyperldger Fabric network 310.
  • Client201 creates a transaction request and sends it to the first blockchain (Hyperldger Fabric network 310) (step S302).
  • the peer 210 requests the orderer 240 for the blocking process after executing the process according to the transaction request (step S303).
  • the Ethereum client 250 reads the block confirmation transaction from the second blockchain (Ethereum network 320) (step S304).
  • the orderer 240 generates a hash value of the target block based on the block confirmation transaction (step S305).
  • step S306 Since the block 202 has been rewritten, the generated hash value and the value of the block confirmation transaction do not match (step S306). Therefore, the orderer 240 returns an error to the peer 210 (step S307), and the peer 210 returns an error to the client 201 (step S308).
  • the first blockchain is a consortium type blockchain
  • the second blockchain is a public type blockchain.
  • transaction A of the first blockchain contains data that can prove that a certain document has not been tampered with.
  • the intermediary client 50 acquires the block confirmation transaction that generated the hash value based on the block 10 from the public blockchain (second blockchain). do.
  • the intermediary client 50 marks from the block confirmation transaction included in the block No. 1100 of the public blockchain. Extract the ruroot hash.
  • the block management unit 41 calculates the Merkle root hash again from the block numbers of the aggregated range of blocks. If these two hash values match, it can be determined that the document has not been tampered with. As described above, since the determination process is performed on the first blockchain, the client device 1 basically does not need to be aware of the internal process.
  • FIG. 10 is a block diagram showing an outline of the fraud verification device according to the present invention.
  • the fraud verification device 80 according to the present invention (for example, the fraud verification device of the second embodiment described above) is calculated from the block headers of the blocks in the target range in the first blockchain (for example, the blockchain 110).
  • a block confirmation transaction that is a transaction including a first Merkle root hash and a block number indicating a block in the range is a blockchain in which the block confirmation transaction is registered, and the first blockchain is The block in the first blockchain is specified from the confirmation block acquisition unit 81 (for example, the intermediary client 50) acquired from a different second blockchain (for example, blockchain 120) and the block number included in the acquired confirmation transaction.
  • Calculates the second Merkle root hash from the block header in the identified block compares whether the first Merkle root hash and the second Merkle root hash match, and is invalid for the identified block. It includes an unauthorized operation verification unit 82 (for example, a block management unit 41) that detects an operation (for example, falsification of data).
  • an unauthorized operation verification unit 82 for example, a block management unit 41
  • the target range in the first blockchain may be determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  • the range targeted by the first blockchain is the range of the number of blocks in the first blockchain generated within the period in which one block is generated in the second blockchain. May be good.
  • the first blockchain may be a consortium type blockchain or a public type blockchain
  • the second blockchain may be a public type blockchain.
  • the first Merkle root hash and the second Merkle root hash are calculated by the same method.
  • FIG. 11 is a block diagram showing an outline of the confirmation generator according to the present invention.
  • the confirmation generator 90 according to the present invention (for example, the confirmation generator of the first embodiment described above) is a Merkle from the block header of the block of the target range in the first blockchain (for example, the blockchain 110).
  • a confirmation block generation unit 91 (for example, a block management unit 21) that calculates a root hash and generates a block confirmation transaction that is a transaction including a block number indicating a block in the range and a calculated Merkle root hash, and a block confirmation.
  • FIG. 12 is a block diagram showing an outline of the fraud detection system according to the present invention.
  • the fraud detection system 170 (for example, the fraud detection system 300) according to the present invention calculates the first Merkle root hash from the block header of the block of the target range in the first blockchain (for example, the blockchain 110).
  • the confirmation block generation unit 71 (for example, the block management unit 21) that generates the block confirmation transaction, which is a transaction including the block number indicating the block in the range and the calculated first Merkle root hash, and the block confirmation transaction.
  • a registration requesting unit 72 (for example, an intermediary client 30) that transmits a transaction requesting registration of the above to a second blockchain (for example, blockchain 120) different from the first blockchain, and a block confirmation transaction.
  • the block in the first blockchain is specified from the confirmation block acquisition unit 73 (for example, the intermediary client 50) acquired from the second blockchain and the block number included in the acquired confirmation transaction, and from the block header in the specified block.
  • a second Merkle root hash is calculated, the first Merkle root hash and the second Merkle root hash are compared to see if they match, and tampering with the identified block (eg, data tampering) is performed. It is provided with an unauthorized operation verification unit 74 (for example, a block management unit 41) for detecting.
  • a block confirmation transaction that is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range.
  • the confirmation block acquisition unit acquired from the second blockchain different from the first blockchain, and the block number included in the acquired confirmation transaction.
  • the block in the first blockchain is specified
  • the second Merkle root hash is calculated from the block header in the specified block
  • the first Merkle root hash and the second Merkle root hash are A fraud verification device including a fraud verification unit that detects fraudulent operations on the specified block by comparing whether they match or not.
  • Appendix 2 The target range in the first blockchain is the fraud verification described in Appendix 1 which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Device.
  • the range covered by the first blockchain is the range of the number of blocks in the first blockchain generated within the period in which one block is generated in the second blockchain.
  • the fraud verification device described in Appendix 2 is the fraud verification device described in Appendix 2.
  • the first blockchain is a consortium type blockchain or a public type blockchain
  • the second blockchain is described in any one of Appendix 1 to Appendix 3 which is a public type blockchain. Fraud verification device.
  • the target range in the first blockchain is the confirmation generation according to Appendix 6, which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Device.
  • the first Merkle root hash is calculated from the block header of the block of the target range in the first block chain, and the block number indicating the block of the range and the calculated first Merkle root are calculated.
  • the block in the first block chain is specified from the block number included in the confirmation block acquisition unit and the acquired confirmation transaction for acquiring the block confirmation transaction from the second block chain, and the specified block.
  • a second Merkle root hash is calculated from the block header in the above, and the first Merkle root hash and the second Merkle root hash are compared to see if they match, and an illegal operation on the specified block is performed.
  • a fraud detection system characterized by having a fraudulent operation verification unit that detects fraudulent operations.
  • the target range in the first blockchain is the fraud detection described in Appendix 8 which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. system.
  • a block confirmation transaction that is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range.
  • the block chain in which the block confirmation transaction is registered acquired from a second block chain different from the first block chain, and the first block from the block number included in the acquired confirmation transaction. Identify the block in the chain, calculate the second Merkle root hash from the block header in the identified block, and compare whether the first Merkle root hash and the second Merkle root hash match.
  • a fraud verification method comprising detecting a fraudulent operation on the specified block.
  • the first Merkle root hash is calculated from the block header of the block of the target range in the first block chain, and the block number indicating the block of the range and the calculated first Merkle root are calculated.
  • a block confirmation transaction which is a transaction including a hash, is generated, a transaction requesting registration of the block confirmation transaction is transmitted to a second blockchain different from the first blockchain, and the block confirmation transaction is transmitted.
  • the block in the first blockchain is specified from the block number acquired from the second blockchain and included in the acquired confirmation transaction, and the second Merkle root hash is calculated from the block header in the specified block.
  • a fraud detection method characterized in that a fraud detection method for detecting a fraudulent operation on the specified block is performed by comparing whether or not the first Merkle root hash and the second Merkle root hash match.
  • the range targeted by the first blockchain is the fraud detection according to Appendix 12, which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Method.
  • the confirmation transaction is included in the confirmation block acquisition process of acquiring the block confirmation transaction from a second blockchain which is a blockchain in which the block confirmation transaction is registered and different from the first blockchain, and the acquired confirmation transaction.
  • the block in the first block chain is specified from the block number to be obtained, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash and the second Merkle root hash are calculated.
  • a fraud verification program for executing a fraud verification process that detects a fraudulent operation on the specified block by comparing whether it matches the root hash.
  • a Merkle root hash is calculated from the block headers of blocks in the target range in the first block chain, and the block number indicating the block in the range and the calculated Merkle root hash are input to the computer.
  • a confirmation block generation process for generating a block confirmation transaction which is a including transaction, and a registration request process for transmitting a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain.
  • a confirmation generator to run.
  • Client device 10 Nodes 11 Control unit 12 Storage unit 20, 40, 60 Transaction management unit 21, 41 Block management unit 30, 50, 70 Mediation client 100, 200, 300 Fraud detection system 110 Blockchain 120 Blockchain

Abstract

A confirmation block acquisition unit 81 acquires, from a second block chain, a block confirmation transaction which is a transaction including a first Merkle root hash calculated from a block header of a block within a target range in a first block chain and a block number indicating the block within the range. A fraudulent operation testing unit 82 identifies the block in the first block chain from the block number included in the acquired confirmation transaction, calculates a second Merkle root hash from the block header of the identified block, compares the first and second Merkle root hashes with each other to determine whether there is a match, and detects a fraudulent operation with respect to the identified block.

Description

不正検証装置、および、不正検知システムFraud verification device and fraud detection system
 本発明は、ブロックチェーンにおいて行われた不正の検証および検知に用いられる不正検証装置、確証生成装置、不正検知システム、不正検証方法、不正検知方法、不正検証プログラムに関する。 The present invention relates to a fraud verification device, a confirmation generator, a fraud detection system, a fraud verification method, a fraud detection method, and a fraud verification program used for fraud verification and detection performed on a blockchain.
 近年、分散型台帳技術(DLT:Distributed Ledger Technology )の一つとして、ブロックチェーンが広く知られている。ブロックチェーンは、ブロックと呼ばれるデータの単位を生成し、各ブロックを連結することによりデータを保管する技術である。 In recent years, blockchain is widely known as one of the distributed ledger technology (DLT: Distributed Ledger Technology). Blockchain is a technology that stores data by generating units of data called blocks and connecting each block.
 各ブロックのヘッダには、ブロック内の取引履歴(トランザクション)から算出されたハッシュ値が格納されており、これにより、取引履歴の正しい組み合わせが検証できる。また、前のブロックヘッダから算出されたハッシュ値も格納されており、これにより、前のブロックとの論理的な繋がりの正当性が検証できる。 The header of each block stores a hash value calculated from the transaction history (transaction) in the block, which enables verification of the correct combination of transaction history. In addition, the hash value calculated from the previous block header is also stored, which allows the validity of the logical connection with the previous block to be verified.
 ブロックチェーンは、ブロックの承認者の選び方や仕組みの違い(すなわち、コンセンサスをとる際のバリデーター)によって、大きく3つの形態に分類される。 Blockchains are roughly classified into three types depending on how to select block approvers and differences in the mechanism (that is, validators when consensus is reached).
 一つ目は、パブリック型ブロックチェーンと呼ばれる形態である。パブリック型ブロックチェーンでは、中央集権的な機関が存在せず、PoW(Proof of Work )のようなコンセンサスアルゴリズムを用意することにより、不正が行われるリスクを排除している。このような特性から、一般にパブリック型ブロックチェーンは参加に制限がないため、不特定多数のノードが存在する大規模なネットワークである。 The first is a form called a public blockchain. In the public blockchain, there is no centralized authority, and the risk of fraud is eliminated by preparing a consensus algorithm such as PoW (Proof of Work). Due to these characteristics, public blockchains generally have no restrictions on participation, and are therefore large-scale networks in which an unspecified number of nodes exist.
 二つ目は、プライベート型ブロックチェーンと呼ばれる形態である。プライベート型ブロックチェーンは、参加に制限が設けられ、特定のノードのみ参加が可能な小規模のネットワークである。参加するノード数がパブリック型ブロックチェーンよりは少ないことから、取引(承認)にかかる時間は一般的に短い。 The second is a form called a private blockchain. A private blockchain is a small network in which participation is restricted and only specific nodes can participate. Since the number of participating nodes is smaller than that of the public blockchain, the transaction (approval) time is generally short.
 三つ目は、コンソーシアム型ブロックチェーンと呼ばれる形態である。コンソーシアム型ブロックチェーンは、プライベート型ブロックチェーンと同様、参加するノードがパブリック型ブロックチェーンよりは少ないため、取引にかかる時間が一般的に短い。さらに、コンソーシアム型ブロックチェーンは、複数の組織により合意形成が行われるため、プライベート型ブロックチェーンと比較すると、信頼性の高いネットワークと言える。 The third is a form called a consortium type blockchain. Like the private blockchain, the consortium blockchain has fewer nodes to participate in than the public blockchain, so the transaction time is generally shorter. Furthermore, since the consortium type blockchain is consensus-building by multiple organizations, it can be said that it is a highly reliable network compared to the private type blockchain.
 また、特許文献1には、ブロックチェーンにおける改ざんを検知するシステムが記載されている。特許文献1に記載されたシステムでは、末端オブジェクトの存在証明を外部システムに保存する。そのため、ある対象について履歴が作成し直されたり、末端オブジェクトが差し替えられたりといった改ざんがされた場合、外部システムにある存在証明を用いることで改ざんを検知できる。 Further, Patent Document 1 describes a system for detecting tampering in the blockchain. In the system described in Patent Document 1, the existence proof of the terminal object is stored in an external system. Therefore, when the history of a certain object is recreated or the end object is replaced, the alteration can be detected by using the existence proof in the external system.
特許6618138号公報Japanese Patent No. 6618138
 上述するように、プライベート型ブロックチェーンやコンソーシアム型ブロックチェーンは、パブリック型ブロックチェーンと比較して、チェーンを構成するノードが数十ノード程度の小規模である。そのため、悪意の参加者が複数で結託してデータを改ざんした場合、そのような不正を検知できない可能性も存在する。 As mentioned above, the private blockchain and the consortium blockchain are smaller than the public blockchain in that the nodes that make up the chain are about several tens of nodes. Therefore, if a plurality of malicious participants collude and falsify the data, there is a possibility that such fraud cannot be detected.
 特許文献1に記載されたシステムでは、そもそも、ブロックチェーンの参加者が結託し、データを改ざんすることについては考慮されておらず、このような不正を検知することはできない。 In the system described in Patent Document 1, in the first place, it is not considered that the participants of the blockchain collude and falsify the data, and such fraud cannot be detected.
 そこで、本発明では、ブロックチェーンで行われたデータの不正操作を検知できる不正検証装置、不正検知システム、不正検証方法、不正検知方法、不正検証プログラムおよびその検知に用いられる確証を生成する確証生成装置を提供することを目的とする。 Therefore, in the present invention, a fraud verification device that can detect fraudulent operations of data performed on the blockchain, a fraud detection system, a fraud verification method, a fraud detection method, a fraud verification program, and a confirmation generation that generates confirmation used for the detection. The purpose is to provide the device.
 本発明による不正検証装置は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションが登録されているブロックチェーンであって、第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得部と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証部とを備えたことを特徴とする。 The fraud verification device according to the present invention is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block in the range. A confirmation block acquisition unit that acquires a block confirmation transaction from a second blockchain that is a blockchain in which the block confirmation transaction is registered and is different from the first blockchain, and a block included in the acquired confirmation transaction. The block in the first blockchain is identified from the number, the second Merkle root hash is calculated from the block header in the identified block, and the first Merkle root hash and the second Merkle root hash match. It is characterized by having an illicit operation verification unit that detects illicit operations on the specified block by comparing with each other.
 本発明による確証生成装置は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼部とを備えたことを特徴とする。 The confirmation generator according to the present invention calculates a Merkle root hash from the block headers of blocks in the target range in the first blockchain, and calculates a block number indicating the blocks in the range and the calculated Merkle root hash. It is provided with a confirmation block generation unit that generates a block confirmation transaction that is a including transaction, and a registration request unit that transmits a transaction requesting registration of a block confirmation transaction to a second blockchain different from the first blockchain. It is characterized by that.
 本発明による不正検知システムは、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼部と、ブロック確証トランザクションを、第二のブロックチェーンから取得する確証ブロック取得部と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証部とを備えたことを特徴とする。 The fraud detection system according to the present invention calculates the first Merkle root hash from the block header of the block of the target range in the first block chain, and calculates the block number indicating the block in the range and the calculated first. A confirmation block generator that generates a block confirmation transaction that is a transaction including a Merkle root hash, and a registration that sends a transaction that requests registration of a block confirmation transaction to a second blockchain that is different from the first blockchain. The request unit, the confirmation block acquisition unit that acquires the block confirmation transaction from the second blockchain, and the block number in the acquired confirmation transaction identify the block in the first blockchain, and the block in the specified block. Fraud operation verification that calculates the second Merkle root hash from the header, compares whether the first Merkle root hash and the second Merkle root hash match, and detects tampering with the identified block. It is characterized by having a part.
 本発明による不正検証方法は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションが登録されているブロックチェーンであって、第一のブロックチェーンとは異なる第二のブロックチェーンから取得し、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知することを特徴とする。 The fraud verification method according to the present invention is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block in the range. A block confirmation transaction is acquired from a second blockchain that is a blockchain in which the block confirmation transaction is registered and is different from the first blockchain, and is first from the block number included in the acquired confirmation transaction. Identify the block in the blockchain, calculate the second Merkle root hash from the block header in the identified block, and compare whether the first Merkle root hash and the second Merkle root hash match. , It is characterized by detecting an unauthorized operation on the specified block.
 本発明による不正検知方法は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーンに送信し、ブロック確証トランザクションを、第二のブロックチェーンから取得し、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知することを特徴とする。 In the fraud detection method according to the present invention, the first Merkle root hash is calculated from the block header of the block in the target range in the first block chain, and the block number indicating the block in the range is calculated as the first. A block confirmation transaction, which is a transaction including a Merkle root hash, is generated, a transaction requesting registration of the block confirmation transaction is sent to a second blockchain different from the first blockchain, and the block confirmation transaction is transmitted. Obtained from the second blockchain, identify the block in the first blockchain from the block number included in the acquired confirmation transaction, calculate the second Merkle root hash from the block header in the identified block, and calculate the second Merkle root hash. It is characterized in that an illicit operation on a specified block is detected by comparing whether the first Merkle root hash and the second Merkle root hash match.
 本発明による不正検証プログラムは、コンピュータに、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションが登録されているブロックチェーンであって、第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得処理、および、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する不正操作検証処理を実行させることを特徴とする。 The fraud verification program according to the present invention includes, in the computer, a first Merkle root hash calculated from the block header of a block of interest in the first blockchain, and a block number indicating the block in that range. A confirmation block acquisition process for acquiring a block confirmation transaction, which is a transaction, from a second blockchain that is a blockchain in which the block confirmation transaction is registered and is different from the first blockchain, and an acquired confirmation transaction. The block in the first blockchain is identified from the block number included in, the second Merkle root hash is calculated from the block header in the identified block, and the first Merkle root hash and the second Merkle root are. It is characterized in that an illicit operation verification process for detecting an illicit operation on a specified block is executed by comparing whether or not the hash matches.
 本発明によれば、ブロックチェーンで行われたデータの不正操作を検知できる。 According to the present invention, it is possible to detect unauthorized manipulation of data performed on the blockchain.
本発明による不正検知システムの第一の実施形態の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the 1st Embodiment of the fraud detection system by this invention. ブロック確証トランザクションを生成する処理の例を示す説明図である。It is explanatory drawing which shows the example of the process which generates the block confirmation transaction. 第一の実施形態の不正検知システムの動作例を示す説明図である。It is explanatory drawing which shows the operation example of the fraud detection system of 1st Embodiment. 本発明による不正検知システムの第二の実施形態の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the 2nd Embodiment of the fraud detection system by this invention. ブロック検証の例を示す説明図である。It is explanatory drawing which shows the example of block verification. 第二の実施形態の不正検知システムの動作例を示す説明図である。It is explanatory drawing which shows the operation example of the fraud detection system of the 2nd Embodiment. 本発明による不正検知システムの第三の実施形態の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the 3rd Embodiment of the fraud detection system by this invention. 確証を登録する処理の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the process of registering confirmation. 不正操作を検証する具体例を示す説明図である。It is explanatory drawing which shows the specific example which verifies tampering. 本発明による不正検証装置の概要を示すブロック図である。It is a block diagram which shows the outline of the fraud verification apparatus by this invention. 本発明による確証生成装置の概要を示すブロック図である。It is a block diagram which shows the outline of the confirmation generator by this invention. 本発明による不正検知システムの概要を示すブロック図である。It is a block diagram which shows the outline of the fraud detection system by this invention.
 以下、本発明の実施形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施形態1.
 第一の実施形態では、不正操作の検知を行うための確証を登録する処理を説明する。図1は、本発明による不正検知システムの第一の実施形態の構成例を示す説明図である。本実施形態の不正検知システム100は、クライアントデバイス1と、複数のノード10と、トランザクション管理部20と、仲介クライアント30とを備えている。
Embodiment 1.
In the first embodiment, a process of registering a confirmation for detecting an unauthorized operation will be described. FIG. 1 is an explanatory diagram showing a configuration example of a first embodiment of the fraud detection system according to the present invention. The fraud detection system 100 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 20, and an intermediary client 30.
 クライアントデバイス1、複数のノード10、および、トランザクション管理部20は、ブロックチェーン110の構成要素として動作する。以下、クライアントデバイス1、複数のノード10、トランザクション管理部20および仲介クライアント30が含まれるブロックチェーン110を、第一のブロックチェーンと記す。 The client device 1, the plurality of nodes 10, and the transaction management unit 20 operate as components of the blockchain 110. Hereinafter, the blockchain 110 including the client device 1, the plurality of nodes 10, the transaction management unit 20, and the intermediary client 30 will be referred to as a first blockchain.
 本実施形態では、第一のブロックチェーンは、プライベート型ブロックチェーンやコンソーシアム型のブロックチェーンのような、チェーンを構成するノードが数十ノード程度の小規模なネットワークを想定する。このようなブロックチェーンとして、例えば、Hyperldger Fabric や、Corda 、Quorumなどが挙げられる。以下の説明では、第一のブロックチェーンの具体例に、Hyperldger Fabric を用いて説明するが、第一のブロックチェーンの態様は、Hyperldger Fabric に限定されない。 In the present embodiment, the first blockchain is assumed to be a small-scale network having several tens of nodes constituting the chain, such as a private blockchain or a consortium type blockchain. Examples of such a blockchain include Hyperldger Fabric, Corda, and Quorum. In the following description, Hyperldger Fabric will be used as a specific example of the first blockchain, but the mode of the first blockchain is not limited to Hyperldger Fabric.
 また、後述する仲介クライアント30は、パブリック型ブロックチェーンのような大規模なブロックチェーン120の構成要素としても動作する。以下、仲介クライアント30が含まれるブロックチェーン120のことを第二のブロックチェーンと記す。第二のブロックチェーンは、第一のブロックチェーンとは異なるブロックチェーンである。このようなブロックチェーンとして、例えば、EthereumやNEM 、EOS などが挙げられる。以下の説明では、第二のブロックチェーンの具体例に、Ethereumを用いて説明するが、第二のブロックチェーンの態様は、Ethereumに限定されない。なお、第二のブロックチェーンの詳細については後述される。 The intermediary client 30, which will be described later, also operates as a component of a large-scale blockchain 120 such as a public blockchain. Hereinafter, the blockchain 120 including the intermediary client 30 will be referred to as a second blockchain. The second blockchain is a blockchain different from the first blockchain. Examples of such a blockchain include Ethereum, NEM, EOS, and the like. In the following description, Ethereum will be used as a specific example of the second blockchain, but the mode of the second blockchain is not limited to Ethereum. The details of the second blockchain will be described later.
 クライアントデバイス1は、ブロックチェーン110において、取引要求(トランザクション)を作成し、作成した取引要求を複数のノード10のいずれかに送信する装置である。クライアントデバイス1は、参加するブロックチェーンによって様々な呼称が存在するが、クライアント、ノード、ウォレットなどと呼ばれる装置である。例えば、Hyperldger Fabric の場合、クライアントデバイス1は、clientに対応する。クライアントデバイス1は、参加するブロックチェーンに応じた取引要求を作成すればよい。 The client device 1 is a device that creates a transaction request (transaction) in the blockchain 110 and transmits the created transaction request to any of a plurality of nodes 10. The client device 1 is a device called a client, a node, a wallet, or the like, although various names exist depending on the participating blockchain. For example, in the case of Hyperldger Fabric, the client device 1 corresponds to the client. The client device 1 may create a transaction request according to the participating blockchain.
 ノード10は、ブロックチェーン110において複数台で構成され、受信した取引要求を受け付けて処理を行い、処理の結果生成されるブロックチェーンのデータを保持する。例えば、Hyperldger Fabric の場合、ノード10は、peerに対応する。なお、図1には、ノード10が2台の場合を例示しているが、ノードの数は2台に限定されず、3台以上であってもよい。 The node 10 is composed of a plurality of units in the blockchain 110, receives the received transaction request, performs processing, and holds the blockchain data generated as a result of the processing. For example, in the case of Hyperldger Fabric, node 10 corresponds to peer. Although FIG. 1 illustrates the case where the number of nodes 10 is two, the number of nodes is not limited to two and may be three or more.
 ノード10は、制御部11と、記憶部12とを含む。 The node 10 includes a control unit 11 and a storage unit 12.
 制御部11は、受信した取引要求に対する検証および実行を行う。なお、制御部11が実行する各処理は、ブロックチェーン110に応じて定められており、制御部11は、利用するブロックチェーン110および受信した取引要求に応じて、各処理を実行し、処理結果をクライアントデバイス1に通知すればよい。例えば、Hyperldger Fabric の場合、制御部11は、ビジネスロジックが実装されたチェーンコード(プログラム)にしたがって、取引要求に対する処理を実行してもよい。 The control unit 11 verifies and executes the received transaction request. Each process executed by the control unit 11 is determined according to the blockchain 110, and the control unit 11 executes each process according to the blockchain 110 to be used and the received transaction request, and the processing result. Should be notified to the client device 1. For example, in the case of Hyperldger Fabric, the control unit 11 may execute processing for a transaction request according to a chain code (program) in which business logic is implemented.
 記憶部12は、一般に台帳(Ledger)と呼ばれるブロックチェーンのデータを保持する。例えば、Hyperldger Fabric の場合、台帳には、World State と複数のブロック(ブロックチェーン)が含まれる。各ブロックは、複数の取引要求の他、ブロックに関するメタデータを含むブロックヘッダを有する。ブロックヘッダには、直前のブロックのハッシュ値、トランザクション群のハッシュ値(マークルルート)、ナンスが含まれる。また、ブロックヘッダには、これら以外にも、タイムスタンプやビッツが含まれる。 The storage unit 12 holds blockchain data generally called a ledger. For example, in the case of Hyperldger Fabric, the ledger includes World State and a plurality of blocks (block chains). Each block has a block header that contains metadata about the block as well as multiple transaction requests. The block header contains the hash value of the immediately preceding block, the hash value of the transaction group (Merkle root), and the nonce. In addition to these, the block header includes a time stamp and bits.
 トランザクション管理部20は、取引要求をまとめてブロックを作成する。具体的には、トランザクション管理部20は、取引要求に順序付けを行ってまとめたブロックを生成し、生成したブロックを各ノード10にブロードキャストする。例えば、Hyperldger Fabric の場合、トランザクション管理部20は、orderer に対応する。なお、トランザクション管理部20が実行する各処理も、ブロックチェーン110に応じて定められており、トランザクション管理部20は、利用するブロックチェーン110に応じた各処理を実行すればよい。 The transaction management unit 20 collectively creates a block for transaction requests. Specifically, the transaction management unit 20 creates a block in which transaction requests are ordered and put together, and broadcasts the generated block to each node 10. For example, in the case of Hyperldger Fabric, the transaction management unit 20 corresponds to the orderer. Each process executed by the transaction management unit 20 is also defined according to the blockchain 110, and the transaction management unit 20 may execute each process according to the blockchain 110 to be used.
 また、本実施形態のトランザクション管理部20は、ブロック管理部21を含む。ブロック管理部21は、対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出する。具体的には、ブロック管理部21は、対象とする範囲のブロックにおけるブロックヘッダのハッシュ値をマークルツリーで集約し、1つのマークルルートハッシュを算出する。さらに、ブロック管理部21は、集約した範囲のブロックを示すブロック番号と、マークルルートハッシュとを含むトランザクション(以下、ブロック確証トランザクションと記す。)を生成する。 Further, the transaction management unit 20 of the present embodiment includes the block management unit 21. The block management unit 21 calculates the Merkle root hash from the block header of the block in the target range. Specifically, the block management unit 21 aggregates the hash values of the block headers in the blocks in the target range in a Merkle tree and calculates one Merkle root hash. Further, the block management unit 21 generates a transaction (hereinafter, referred to as a block confirmation transaction) including a block number indicating a block in the aggregated range and a Merkle root hash.
 なお、対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される。本実施形態では、第一のブロックチェーンがプライベート型ブロックチェーンまたはコンソーシアム型ブロックチェーンのような小規模のネットワークであり、第二のブロックチェーンがプライベート型ブロックチェーンのような大規模なブロックチェーンであることを想定している。そこで、対象とする範囲を、第二のブロックチェーンにおいてブロックが生成される間隔で、第一のブロックチェーンにおいて生成されるブロックの数とすればよい。 The target range is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. In this embodiment, the first blockchain is a small network such as a private blockchain or a consortium blockchain, and the second blockchain is a large blockchain such as a private blockchain. It is assumed that. Therefore, the target range may be the number of blocks generated in the first blockchain at intervals at which blocks are generated in the second blockchain.
 例えば、第二のブロックチェーンがEthereumの場合、ブロックが生成される間隔は15秒である。ここで、第一のブロックチェーンにおいて1秒間隔でブロックが生成される場合、対象とする範囲のブロックを15ブロックとすればよい。 For example, if the second blockchain is Ethereum, the block generation interval is 15 seconds. Here, when blocks are generated at 1-second intervals in the first blockchain, the target range of blocks may be 15 blocks.
 図2は、ブロック確証トランザクションを生成する処理の例を示す説明図である。ブロック管理部21は、ブロック生成時に算出されたブロックヘッダのハッシュ値を、集約するブロック数分収集する。図2に示す例では、ブロックn-1からブロックn+2までのブロックヘッダのハッシュ値が収集されたことを示す。 FIG. 2 is an explanatory diagram showing an example of a process for generating a block confirmation transaction. The block management unit 21 collects the hash values of the block headers calculated at the time of block generation for the number of blocks to be aggregated. In the example shown in FIG. 2, it is shown that the hash values of the block headers from the block n-1 to the block n + 2 have been collected.
 次に、ブロック管理部21は、隣り合ったブロックにおけるブロックヘッダのハッシュ値から、再度ハッシュ値を算出する。さらに、ブロック管理部21は、算出された隣り合うハッシュ値から、再度ハッシュ値を算出する処理を繰り返し、1つのハッシュ値になるまで処理を繰り返す。なお、1つのハッシュ値になるまでに隣り合うハッシュ値が存在しなくなった場合、ブロック管理部21は、同じハッシュ値を用いて、再度ハッシュ値を算出すればよい。そして、ブロック管理部21は、1つになるまで算出されたハッシュ値をマークルルートハッシュとして用いる。 Next, the block management unit 21 calculates the hash value again from the hash value of the block header in the adjacent blocks. Further, the block management unit 21 repeats the process of calculating the hash value again from the calculated adjacent hash values, and repeats the process until one hash value is obtained. If adjacent hash values do not exist by the time they become one hash value, the block management unit 21 may calculate the hash value again using the same hash value. Then, the block management unit 21 uses the hash value calculated until it becomes one as the Merkle root hash.
 図2に示す例では、ブロックn-1のブロックヘッダのハッシュ値と、ブロックnのブロックヘッダのハッシュ値から、ハッシュ値(ブロックn-1+n)が算出され、ブロックn+1のブロックヘッダのハッシュ値と、ブロックn+2のブロックヘッダのハッシュ値から、ハッシュ値(ブロックn+1+n+2)が算出されたことを示す。さらに、図2に示す例では、ハッシュ値(ブロックn-1+n)と、ハッシュ値(ブロックn+1+n+2)から、再度ハッシュ値(ブロックn-1~n+2)が算出され、このハッシュ値がマークルルートハッシュとして用いられることを示す。 In the example shown in FIG. 2, the hash value (block n-1 + n) is calculated from the hash value of the block header of block n-1 and the hash value of the block header of block n, and the hash value of the block header of block n + 1 is used. , Indicates that the hash value (block n + 1 + n + 2) has been calculated from the hash value of the block header of block n + 2. Further, in the example shown in FIG. 2, the hash value (blocks n-1 to n + 2) is calculated again from the hash value (block n-1 + n) and the hash value (block n + 1 + n + 2), and this hash value is the Merkle root hash. It is shown that it is used as.
 また、図2に示す例では、このマークルルートハッシュを算出するもとになったブロックのブロック番号(ブロックn-1~n+2)が、集約した範囲のブロックのブロック番号になる。このブロック番号は、後述するハッシュ値の検算処理で用いられる。 Further, in the example shown in FIG. 2, the block number (block n-1 to n + 2) of the block from which the Merkle root hash is calculated becomes the block number of the block in the aggregated range. This block number is used in the hash value verification process described later.
 このように、ブロック管理部21が、対象とする範囲のブロックにおけるブロックヘッダから1つのマークルルートハッシュを算出しておくことで、後に登録されたトランザクションに改ざんが行われた場合にはハッシュ値が合わなくなるため、改ざんを検知することができるようになる。 In this way, the block management unit 21 calculates one Merkle root hash from the block header in the block of the target range, so that the hash value is changed when the transaction registered later is tampered with. Since it does not match, it becomes possible to detect tampering.
 ブロック管理部21は、生成したブロック確証トランザクションを仲介クライアント30に送信する。 The block management unit 21 transmits the generated block confirmation transaction to the intermediary client 30.
 なお、本実施形態では、ブロック管理部21がトランザクション管理部20の一部として構成されている場合について説明したが、ブロック管理部21がトランザクション管理部20とは別に設けられていてもよい。その場合、ブロック管理部21は、トランザクション管理部20からの出力を受信して、上述する各処理を実行すればよい。 Although the case where the block management unit 21 is configured as a part of the transaction management unit 20 has been described in the present embodiment, the block management unit 21 may be provided separately from the transaction management unit 20. In that case, the block management unit 21 may receive the output from the transaction management unit 20 and execute each of the above-described processes.
 仲介クライアント30は、ブロックチェーン120において、取引要求を作成し、作成した取引要求をブロックチェーン120のノード(図示せず)に送信する装置である。すなわち、仲介クライアント30は、ブロックチェーン120におけるクライアント(ノード、ウォレット)として動作する装置である。 The intermediary client 30 is a device that creates a transaction request in the blockchain 120 and transmits the created transaction request to a node (not shown) of the blockchain 120. That is, the intermediary client 30 is a device that operates as a client (node, wallet) in the blockchain 120.
 特に、本実施形態の仲介クライアント30は、ブロック確証トランザクションの登録を依頼するトランザクションをブロックチェーン120(具体的には、ブロックチェーン120のノード)に送信する。以降、ブロックチェーン120の仕様に従って取引要求に対する処理が行われ、仲介クライアント30は、取引要求に対する処理結果を受信する。 In particular, the intermediary client 30 of the present embodiment transmits a transaction requesting registration of the block confirmation transaction to the blockchain 120 (specifically, a node of the blockchain 120). After that, the transaction request is processed according to the specifications of the blockchain 120, and the intermediary client 30 receives the processing result for the transaction request.
 なお、ブロックチェーンにおいて取引履歴を含むブロックが生成されるまでには時間がかかる。例えば、Ethereumの場合、ブロックの生成までに約15秒かかる。そこで、仲介クライアント30は、登録を完了した旨の通知を処理結果として受信してもよい。 It takes time for the block including the transaction history to be generated in the blockchain. For example, in the case of Ethereum, it takes about 15 seconds to generate a block. Therefore, the intermediary client 30 may receive a notification that the registration has been completed as a processing result.
 取引要求にブロック確証トランザクションを含めることが可能なブロックチェーンであり、パブリック型ブロックチェーンのように、このブロック確証トランザクションの改ざんが困難なブロックチェーンであれば、第二のブロックチェーンの態様は任意である。このような大規模なブロックチェーン120にブロック確証トランザクションを登録することで、このトランザクション自体の改ざんを抑制できる。 If the blockchain is a blockchain that can include a block confirmation transaction in a transaction request, and it is difficult to tamper with this block confirmation transaction, such as a public blockchain, the mode of the second blockchain is optional. be. By registering a block confirmation transaction in such a large-scale blockchain 120, it is possible to suppress tampering with the transaction itself.
 このように、本実施形態では、ブロック管理部21がブロック確証トランザクションを生成し、生成されたブロック確証トランザクションを仲介クライアント30が第二のブロックチェーンに送信することから、ブロック管理部21および仲介クライアント30を含む装置を、確証生成装置ということができる。 As described above, in the present embodiment, the block management unit 21 generates the block confirmation transaction, and the intermediary client 30 transmits the generated block confirmation transaction to the second block chain. Therefore, the block management unit 21 and the intermediary client An apparatus including 30 can be referred to as a confirmation generator.
 トランザクション管理部20(より詳しくは、ブロック管理部21)と、仲介クライアント30とは、プログラム(確証生成プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。例えば、プログラムは、記憶部12に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、トランザクション管理部20(より詳しくは、ブロック管理部21)および仲介クライアント30として動作してもよい。また、確証生成装置の機能がSaaS(Software as a Service )形式で提供されてもよい。 The transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 are computer processors (for example, CPU (Central Processing Unit), GPU (Graphics Processing Unit)) that operate according to a program (confirmation generation program). ). For example, the program may be stored in the storage unit 12, and the processor may read the program and operate as the transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 according to the program. Further, the function of the confirmation generator may be provided in the SaaS (Software as a Service) format.
 また、トランザクション管理部20(より詳しくは、ブロック管理部21)と、仲介クライアント30とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。 Further, the transaction management unit 20 (more specifically, the block management unit 21) and the intermediary client 30 may each be realized by dedicated hardware. Further, a part or all of each component of each device may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component of each device may be realized by a combination of the above-mentioned circuit or the like and a program.
 また、確証生成装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。 Further, when a part or all of each component of the confirmation generator is realized by a plurality of information processing devices and circuits, the plurality of information processing devices and circuits may be centrally arranged or distributed. It may be arranged. For example, the information processing device, the circuit, and the like may be realized as a form in which each of the client-server system, the cloud computing system, and the like is connected via a communication network.
 次に、本実施形態の不正検知システムの動作を説明する。図3は、本実施形態の不正検知システム100の動作例を示す説明図である。クライアントデバイス1は、取引要求を作成してノード10に送信する(ステップS11)。ノード10の制御部11は、受信した取引要求に対する検証および実行を行い、取引要求のブロック化処理をトランザクション管理部20に依頼する(ステップS12)。トランザクション管理部20は、取引要求をブロック化する(ステップS13)。また、ブロック管理部21は、ブロック確証トランザクションを生成し(ステップS14)、生成したブロック確証トランザクションを仲介クライアント30に送信する(ステップS15)。 Next, the operation of the fraud detection system of this embodiment will be described. FIG. 3 is an explanatory diagram showing an operation example of the fraud detection system 100 of the present embodiment. The client device 1 creates a transaction request and sends it to the node 10 (step S11). The control unit 11 of the node 10 verifies and executes the received transaction request, and requests the transaction management unit 20 to block the transaction request (step S12). The transaction management unit 20 blocks the transaction request (step S13). Further, the block management unit 21 generates a block confirmation transaction (step S14), and transmits the generated block confirmation transaction to the intermediary client 30 (step S15).
 仲介クライアント30は、ブロック確証トランザクションの登録を依頼する取引要求をブロックチェーン120に送信する(ステップS16)。仲介クライアント30は、ブロックチェーン120からの処理結果をトランザクション管理部20に送信すると(ステップS17)、トランザクション管理部20は、ブロック化した情報を各ノード10に送信する(ステップS18)。各ノード10は、自身が保持するブロックチェーンに受信したブロックを接続し(ステップS19)、処理結果をクライアントデバイス1に送信する(ステップS20)。 The intermediary client 30 transmits a transaction request requesting registration of the block confirmation transaction to the blockchain 120 (step S16). When the intermediary client 30 transmits the processing result from the blockchain 120 to the transaction management unit 20 (step S17), the transaction management unit 20 transmits the blocked information to each node 10 (step S18). Each node 10 connects the received block to the block chain held by itself (step S19), and transmits the processing result to the client device 1 (step S20).
 なお、図3に例示するステップS14およびステップS15の処理が、上述する確証生成装置が行う処理(確証生成処理)に対応する。 Note that the processes of steps S14 and S15 illustrated in FIG. 3 correspond to the processes (confirmation generation processes) performed by the above-mentioned confirmation generator.
 以上のように、本実施形態では、ブロック管理部21は、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むブロック確証トランザクションを生成する。そして、仲介クライアント30が、ブロック確証トランザクションの登録を依頼するトランザクションを第二のブロックチェーンに送信する。よって、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。 As described above, in the present embodiment, the block management unit 21 calculates the Merkle root hash from the block header of the block in the target range in the first blockchain, and sets the block number indicating the block in the range. Generate a block verification transaction containing the calculated Merkle root hash. Then, the intermediary client 30 transmits a transaction requesting registration of the block confirmation transaction to the second blockchain. Therefore, even if the data is tampered with in the first blockchain, the tampering can be detected by the block confirmation transaction registered in the second blockchain.
 また、マークルルートハッシュを生成する対象のブロックの範囲を、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定することで、2つのブロックチェーンにおけるブロック生成の速度差を調整することが可能になる。 Further, by determining the range of the target block for which the Merkle root hash is generated according to the block generation timing in the first blockchain and the block generation timing in the second blockchain, two blockchains are generated. It becomes possible to adjust the speed difference of block generation in.
 また、一般に、ブロックチェーンに送信した取引要求の数に応じて手数料が増加する。本実施形態では、複数のブロックのブロックヘッダのハッシュ値から1つのマークルルートハッシュを生成してブロック確証トランザクションを生成するため、第二のブロックチェーンにおける手数料を抑えることも可能になる。 Also, in general, the fee increases according to the number of transaction requests sent to the blockchain. In the present embodiment, since one Merkle root hash is generated from the hash values of the block headers of a plurality of blocks to generate a block confirmation transaction, it is possible to suppress the fee in the second block chain.
実施形態2.
 次に、本発明の第二の実施形態を説明する。第二の実施形態では、第一の実施形態で登録された確証に基づいて不正操作を検知する処理を説明する。図4は、本発明による不正検知システムの第二の実施形態の構成例を示す説明図である。本実施形態の不正検知システム200は、クライアントデバイス1と、複数のノード10と、トランザクション管理部40と、仲介クライアント50とを備えている。
Embodiment 2.
Next, a second embodiment of the present invention will be described. In the second embodiment, the process of detecting an unauthorized operation based on the confirmation registered in the first embodiment will be described. FIG. 4 is an explanatory diagram showing a configuration example of a second embodiment of the fraud detection system according to the present invention. The fraud detection system 200 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 40, and an intermediary client 50.
 すなわち、第二の実施形態の不正検知システム200は、第一の実施形態の不正検知システム100と比較し、トランザクション管理部20の代わりにトランザクション管理部40を備え、仲介クライアント30の代わりに仲介クライアント50を備えている点において異なる。それ以外のクライアントデバイス1および複数のノード10の構成は、第一の実施形態と同様であるため、説明を省略する。 That is, the fraud detection system 200 of the second embodiment is provided with the transaction management unit 40 instead of the transaction management unit 20 as compared with the fraud detection system 100 of the first embodiment, and the mediation client is replaced with the mediation client 30. It differs in that it has 50. Since the other configurations of the client device 1 and the plurality of nodes 10 are the same as those of the first embodiment, the description thereof will be omitted.
 トランザクション管理部40は、第一の実施形態と同様、取引要求をまとめてブロックを作成する。また、本実施形態のトランザクション管理部40は、ブロック管理部41を含む。第一の実施形態と同様に、ブロック管理部41がトランザクション管理部40とは別に設けられていてもよい。なお、ブロック管理部41の機能については後述される。 The transaction management unit 40 creates a block by collecting transaction requests as in the first embodiment. Further, the transaction management unit 40 of the present embodiment includes the block management unit 41. Similar to the first embodiment, the block management unit 41 may be provided separately from the transaction management unit 40. The function of the block management unit 41 will be described later.
 仲介クライアント50は、後述するトランザクション管理部40(より詳しくは、ブロック管理部41)からの指示に基づいて、ブロックチェーン120(すなわち、第二のブロックチェーン)から、ブロック確証トランザクションを取得する。具体的には、仲介クライアント50は、指定されたブロックのブロック番号から、そのブロックのブロックヘッダに基づいて算出されたマークルルートハッシュが含まれるブロック確証トランザクションを特定する。なお、仲介クライアント50は、第二のブロックチェーンの仕様に基づいてブロック確証トランザクションを取得すればよい。 The intermediary client 50 acquires a block confirmation transaction from the blockchain 120 (that is, the second blockchain) based on an instruction from the transaction management unit 40 (more specifically, the block management unit 41) described later. Specifically, the intermediary client 50 identifies a block verification transaction that includes a Merkle root hash calculated based on the block header of the block from the block number of the designated block. The intermediary client 50 may acquire the block confirmation transaction based on the specifications of the second blockchain.
 そして、仲介クライアント50は、特定したブロック確証トランザクションの情報を、トランザクション管理部40(より詳しくは、ブロック管理部41)に送信する。仲介クライアント50は、特定したブロック確証トランザクションの情報のうち、集約した範囲のブロックのブロック番号およびマークルルートハッシュをトランザクション管理部40に送信してもよい。 Then, the intermediary client 50 transmits the information of the specified block confirmation transaction to the transaction management unit 40 (more specifically, the block management unit 41). The intermediary client 50 may transmit the block number and the Merkle root hash of the aggregated range of the specified block confirmation transaction information to the transaction management unit 40.
 ブロック管理部41は、検証に用いるブロックのブロック番号を取引要求から特定し、ブロック確証トランザクションの取得指示を仲介クライアント50に対して行う。そして、ブロック管理部41は、取得したブロック確証トランザクションの情報(より具体的には、集約した範囲のブロックのブロック番号)から、検証対象のブロックの範囲を抽出して、第一のブロックチェーンにおけるブロックを特定する。 The block management unit 41 identifies the block number of the block used for verification from the transaction request, and gives an instruction to acquire the block confirmation transaction to the intermediary client 50. Then, the block management unit 41 extracts the range of the block to be verified from the acquired block confirmation transaction information (more specifically, the block number of the block in the aggregated range), and in the first block chain. Identify the block.
 次に、ブロック管理部41は、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出する。なお、マークルルートハッシュの算出方法は、第一の実施形態でブロック管理部21が算出する方法と同様である。そして、ブロック管理部41は、新たに算出したマークルルートハッシュと、ブロック確証トランザクションから取得したマークルルートハッシュとを比較して、不正操作を検知する。 Next, the block management unit 41 calculates the Merkle root hash again from the block header of the block in the specified range. The method of calculating the Merkle root hash is the same as the method calculated by the block management unit 21 in the first embodiment. Then, the block management unit 41 compares the newly calculated Merkle root hash with the Merkle root hash acquired from the block confirmation transaction, and detects an unauthorized operation.
 図5は、ブロック検証の例を示す説明図である。図5に示す例では、検証対象のブロックの範囲として、ブロック番号(ブロックn-1~n+2)が特定されたことを示す。ブロック管理部41は、ブロック番号が示す範囲のブロックを特定し、特定したブロックのブロックヘッダのハッシュ値をマークルツリーで集約し、1つのマークルルートハッシュを生成する。そして、ブロック管理部41は、新たに算出したマークルルートハッシュと、ブロック確証トランザクションから取得したマークルルートハッシュとを比較する。ハッシュ値が一致しなかった場合、ブロック管理部41は、いずれかのブロック内のトランザクションにおいて不正操作(改ざん)が行われると判断する。 FIG. 5 is an explanatory diagram showing an example of block verification. In the example shown in FIG. 5, it is shown that the block numbers (blocks n-1 to n + 2) are specified as the range of the blocks to be verified. The block management unit 41 identifies the blocks in the range indicated by the block number, aggregates the hash values of the block headers of the specified blocks in a Merkle tree, and generates one Merkle root hash. Then, the block management unit 41 compares the newly calculated Merkle root hash with the Merkle root hash acquired from the block confirmation transaction. If the hash values do not match, the block management unit 41 determines that an illegal operation (tampering) is performed in a transaction in any of the blocks.
 トランザクション管理部40は、ハッシュ値が一致しなかった場合、不正操作が行われたと判断し、エラーをノード10に通知する。このとき、クライアントデバイス1から取引要求を受信したノード10は、そのクライアントデバイス1にエラーを通知する。 If the hash values do not match, the transaction management unit 40 determines that an illegal operation has been performed and notifies the node 10 of the error. At this time, the node 10 that has received the transaction request from the client device 1 notifies the client device 1 of the error.
 このように、本実施形態では、仲介クライアント50が第二のブロックチェーンからブロック確証トランザクションを取得し、ブロック管理部41が取得したブロック確証トランザクションに基づいて不正操作を検証することから、ブロック管理部41および仲介クライアント50を含む装置を、不正検証装置ということができる。 As described above, in the present embodiment, since the intermediary client 50 acquires the block confirmation transaction from the second blockchain and verifies the unauthorized operation based on the block confirmation transaction acquired by the block management unit 41, the block management unit A device including 41 and an intermediary client 50 can be called a fraud verification device.
 トランザクション管理部40(より詳しくは、ブロック管理部41)と、仲介クライアント50とは、プログラム(不正検証プログラム)に従って動作するコンピュータのプロセッサによって実現される。 The transaction management unit 40 (more specifically, the block management unit 41) and the intermediary client 50 are realized by a computer processor that operates according to a program (fraud verification program).
 次に、本実施形態の不正検知システムの動作を説明する。図6は、本実施形態の不正検知システム200の動作例を示す説明図である。なお、クライアントデバイス1による取引要求を受信してブロック化するまでの処理は、図3に例示するステップS11からステップS13までの処理と同様である。 Next, the operation of the fraud detection system of this embodiment will be described. FIG. 6 is an explanatory diagram showing an operation example of the fraud detection system 200 of the present embodiment. The process of receiving the transaction request by the client device 1 and blocking it is the same as the process from step S11 to step S13 illustrated in FIG.
 ブロック管理部41は、検証に用いるブロックのブロック番号を特定し(ステップS21)、ブロック確証トランザクションの取得指示を仲介クライアント50に対して行う(ステップS22)。仲介クライアント50は、ブロック管理部41からの指示に基づいて、第二のブロックチェーンから、ブロック確証トランザクションを取得し(ステップS23)、ブロック管理部41に返信する(ステップS24)。 The block management unit 41 identifies the block number of the block used for verification (step S21), and gives an instruction to acquire the block confirmation transaction to the intermediary client 50 (step S22). Based on the instruction from the block management unit 41, the intermediary client 50 acquires the block confirmation transaction from the second blockchain (step S23) and returns it to the block management unit 41 (step S24).
 ブロック管理部41は、取得したブロック番号の範囲から、検証対象のブロックの範囲を特定する(ステップS25)。そして、ブロック管理部41は、特定した範囲のブロックのブロックヘッダから、再度マークルルートハッシュを算出し(ステップS26)、ブロック確証トランザクションから取得したマークルルートハッシュと一致するか比較する(ステップS27)。 The block management unit 41 specifies the range of the block to be verified from the range of the acquired block numbers (step S25). Then, the block management unit 41 calculates the Merkle root hash again from the block header of the block in the specified range (step S26), and compares it with the Merkle root hash obtained from the block confirmation transaction (step S27). ).
 ハッシュ値が一致した場合(ステップS27におけるYes)、ブロック管理部41は、不正操作が行われていないと判断する(ステップS28)。一方、ハッシュ値が一致しなかった場合(ステップS27におけるNo)、ブロック管理部41は、不正操作が行われたと判断し、ノード10は、クライアントデバイス1にエラーを通知する(ステップS29)。 If the hash values match (Yes in step S27), the block management unit 41 determines that no unauthorized operation has been performed (step S28). On the other hand, if the hash values do not match (No in step S27), the block management unit 41 determines that an illegal operation has been performed, and the node 10 notifies the client device 1 of an error (step S29).
 なお、図6に例示するステップS21からステップS29までの処理が、上述する不正検証装置が行う処理(不正検証処理)に対応する。 Note that the processes from step S21 to step S29 illustrated in FIG. 6 correspond to the processes (fraud verification process) performed by the above-mentioned fraud verification device.
 以上のように、本実施形態では、仲介クライアント50が、ブロック確証トランザクションを第二のブロックチェーンから取得し、ブロック管理部41が、確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダからマークルートハッシュを算出する。そして、ブロック確証トランザクションに含まれるマークルートハッシュと、算出したマークルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作を検知する。よって、ブロックチェーンで行われたデータの不正操作を検知できる。 As described above, in the present embodiment, the intermediary client 50 acquires the block confirmation transaction from the second blockchain, and the block management unit 41 obtains the block in the first blockchain from the block number included in the confirmation transaction. Identify and calculate the mark root hash from the block header in the identified block. Then, the mark root hash included in the block confirmation transaction and the calculated mark root hash are compared to see if they match, and an unauthorized operation on the specified block is detected. Therefore, it is possible to detect unauthorized manipulation of data performed on the blockchain.
実施形態3.
 次に、本発明の第三の実施形態を説明する。第一の実施形態では、不正検知システム100が検証に用いる確証(ブロック確証トランザクション)を生成し、第二の実施形態では、不正検知システム200が、確証を用いてデータの不正操作を検証する方法について説明した。なお、確証を生成する処理および不正操作を検証する処理が、1つのシステムで実現されていてもよい。
Embodiment 3.
Next, a third embodiment of the present invention will be described. In the first embodiment, the fraud detection system 100 generates a confirmation (block confirmation transaction) used for verification, and in the second embodiment, the fraud detection system 200 verifies the fraudulent operation of data by using the confirmation. Was explained. It should be noted that the process of generating confirmation and the process of verifying unauthorized operation may be realized in one system.
 図7は、本発明による不正検知システムの第三の実施形態の構成例を示す説明図である。本実施形態の不正検知システム300は、クライアントデバイス1と、複数のノード10と、トランザクション管理部60と、仲介クライアント70とを備えている。 FIG. 7 is an explanatory diagram showing a configuration example of a third embodiment of the fraud detection system according to the present invention. The fraud detection system 300 of the present embodiment includes a client device 1, a plurality of nodes 10, a transaction management unit 60, and an intermediary client 70.
 トランザクション管理部60は、第一の実施形態のブロック管理部21と、第二の実施形態のブロック管理部41とを含む。また、仲介クライアント70は、第一の実施形態の仲介クライアント30および第二の実施形態の仲介クライアント50の機能を併せ持つ。なお、ブロック管理部21およびブロック管理部41は、第一の実施形態および第二の実施形態の実施形態と同様に、トランザクション管理部60とは別に設けられていてもよい。 The transaction management unit 60 includes the block management unit 21 of the first embodiment and the block management unit 41 of the second embodiment. Further, the intermediary client 70 also has the functions of the intermediary client 30 of the first embodiment and the intermediary client 50 of the second embodiment. The block management unit 21 and the block management unit 41 may be provided separately from the transaction management unit 60, as in the first embodiment and the second embodiment.
 このような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。 With such a configuration, even if data is tampered with in the first blockchain, the tampering can be detected by the block confirmation transaction registered in the second blockchain.
 次に、上記実施形態の不正検知システムの具体的な構成例を説明する。以下の説明では、第一のブロックチェーンにHyperldger Fabric が用いられ、第二のブロックチェーンにEthereumが用いられる場合を例示する。 Next, a specific configuration example of the fraud detection system of the above embodiment will be described. In the following description, a case where Hyperldger Fabric is used for the first blockchain and Ethereum is used for the second blockchain will be illustrated.
 図8は、確証を登録する処理の具体例を示す説明図である。図8に示す例では、client201がHyperldger Fabric ネットワーク310の外に記載されているが、client201がHyperldger Fabric ネットワーク310に含まれていてもよい。 FIG. 8 is an explanatory diagram showing a specific example of the process of registering confirmation. In the example shown in FIG. 8, the client 201 is described outside the Hyperldger Fabric network 310, but the client 201 may be included in the Hyperldger Fabric network 310.
 client201は、取引要求を作成して、第一のブロックチェーン(Hyperldger Fabric ネットワーク310)に送信する(ステップS201)。peer210は、取引要求に応じた処理を実行後、ブロック化処理をorderer 220に依頼する(ステップS202)。orderer 220は、ブロック化処理と共に、ブロック確証トランザクションを生成し、Ethereum client 230に送信する(ステップS203)。Ethereum client 230は、ブロック確証トランザクションを第二のブロックチェーン(Ethereumネットワーク320)に記録し(ステップS204)、結果をorderer 220に戻す(ステップS205)。orderer 220は、ブロック情報を各peer210に送信する(ステップS206)。peerは、自身のブロックチェーンにブロックを接続し、client201に結果を戻す(ステップS207)。 Client201 creates a transaction request and sends it to the first blockchain (Hyperldger Fabric network 310) (step S201). The peer 210 requests the orderer 220 for the blocking process after executing the process according to the transaction request (step S202). The orderer 220 generates a block confirmation transaction together with the blocking process and transmits it to the Ethereum client 230 (step S203). The Ethereum client 230 records the block confirmation transaction in the second blockchain (Ethereum network 320) (step S204), and returns the result to the orderer 220 (step S205). The orderer 220 transmits the block information to each peer 210 (step S206). The peer connects the block to its own blockchain and returns the result to client201 (step S207).
 図9は、不正操作を検証する具体例を示す説明図である。図9に示す例でも、client201がHyperldger Fabric ネットワーク310の外に記載されているが、client201がHyperldger Fabric ネットワーク310に含まれていてもよい。ここでは、悪意を持った利用者が結託して、ブロック202を書き換えているものとする(ステップS301)。 FIG. 9 is an explanatory diagram showing a specific example of verifying unauthorized operation. In the example shown in FIG. 9, the client 201 is described outside the Hyperldger Fabric network 310, but the client 201 may be included in the Hyperldger Fabric network 310. Here, it is assumed that a malicious user colludes and rewrites the block 202 (step S301).
 client201は、取引要求を作成して、第一のブロックチェーン(Hyperldger Fabric ネットワーク310)に送信する(ステップS302)。peer210は、取引要求に応じた処理を実行後、ブロック化処理をorderer 240に依頼する(ステップS303)。Ethereum client 250は、ブロック確証トランザクションを第二のブロックチェーン(Ethereumネットワーク320)から読み出す(ステップS304)。orderer 240は、ブロック確証トランザクションに基づいて、対象とするブロックのハッシュ値を生成する(ステップS305)。 Client201 creates a transaction request and sends it to the first blockchain (Hyperldger Fabric network 310) (step S302). The peer 210 requests the orderer 240 for the blocking process after executing the process according to the transaction request (step S303). The Ethereum client 250 reads the block confirmation transaction from the second blockchain (Ethereum network 320) (step S304). The orderer 240 generates a hash value of the target block based on the block confirmation transaction (step S305).
 ブロック202が書き換えられているため、生成したハッシュ値とブロック確証トランザクションの値とは一致しない(ステップS306)。そこで、orderer 240はpeer210にエラーを返し(ステップS307)、peer210は、client201にエラーを返す(ステップS308)。 Since the block 202 has been rewritten, the generated hash value and the value of the block confirmation transaction do not match (step S306). Therefore, the orderer 240 returns an error to the peer 210 (step S307), and the peer 210 returns an error to the client 201 (step S308).
 次に、本実施形態の不正検知システムを利用して文書の改ざんを検知する具体的処理を説明する。ここでは、第一のブロックチェーンをコンソーシアム型ブロックチェーンとし、第二のブロックチェーンをパブリック型ブロックチェーンとする。 Next, a specific process for detecting falsification of a document using the fraud detection system of the present embodiment will be described. Here, the first blockchain is a consortium type blockchain, and the second blockchain is a public type blockchain.
 例えば、ある文書が改ざんされていないことを証明できるデータが第一のブロックチェーンのトランザクションAに含まれていたとする。そのトランザクションAがブロック10番に入っているのがわかると、仲介クライアント50は、そのブロック10番に基づいてハッシュ値を生成したブロック確証トランザクションをパブリック型ブロックチェーン(第二のブロックチェーン)から取得する。 For example, suppose that transaction A of the first blockchain contains data that can prove that a certain document has not been tampered with. When it is found that the transaction A is in the block 10, the intermediary client 50 acquires the block confirmation transaction that generated the hash value based on the block 10 from the public blockchain (second blockchain). do.
 ここで、ブロック10番のデータが、パブリックブロックチェーンの1100番のブロックに含まれていることが分かると、仲介クライアント50は、パブリックブロックチェーンの1100番のブロックに含まれるブロック確証トランザクションから、マークルルートハッシュを取り出す。一方、ブロック管理部41は、集約した範囲のブロックのブロック番号から、再度マークルルートハッシュを算出する。この2つのハッシュ値が一致した場合には、文書が改ざんされていないと判断できる。なお、上述するように、判断処理が第一のブロックチェーンにて行われるため、クライアントデバイス1は、基本的には内部の処理を意識する必要がない。 Here, when it is found that the data of the block No. 10 is included in the block No. 1100 of the public blockchain, the intermediary client 50 marks from the block confirmation transaction included in the block No. 1100 of the public blockchain. Extract the ruroot hash. On the other hand, the block management unit 41 calculates the Merkle root hash again from the block numbers of the aggregated range of blocks. If these two hash values match, it can be determined that the document has not been tampered with. As described above, since the determination process is performed on the first blockchain, the client device 1 basically does not need to be aware of the internal process.
 次に、本発明の概要を説明する。図10は、本発明による不正検証装置の概要を示すブロック図である。本発明による不正検証装置80(例えば、上述する第二の実施形態の不正検証装置)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、その範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、そのブロック確証トランザクションが登録されているブロックチェーンであって、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)から取得する確証ブロック取得部81(例えば、仲介クライアント50)と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作(例えば、データの改ざん)を検知する不正操作検証部82(例えば、ブロック管理部41)とを備えている。 Next, the outline of the present invention will be described. FIG. 10 is a block diagram showing an outline of the fraud verification device according to the present invention. The fraud verification device 80 according to the present invention (for example, the fraud verification device of the second embodiment described above) is calculated from the block headers of the blocks in the target range in the first blockchain (for example, the blockchain 110). A block confirmation transaction that is a transaction including a first Merkle root hash and a block number indicating a block in the range is a blockchain in which the block confirmation transaction is registered, and the first blockchain is The block in the first blockchain is specified from the confirmation block acquisition unit 81 (for example, the intermediary client 50) acquired from a different second blockchain (for example, blockchain 120) and the block number included in the acquired confirmation transaction. , Calculates the second Merkle root hash from the block header in the identified block, compares whether the first Merkle root hash and the second Merkle root hash match, and is invalid for the identified block. It includes an unauthorized operation verification unit 82 (for example, a block management unit 41) that detects an operation (for example, falsification of data).
 そのような構成により、ブロックチェーンで行われたデータの不正操作を検知できる。 With such a configuration, it is possible to detect unauthorized manipulation of data performed on the blockchain.
 また、第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定されてもよい。 Further, the target range in the first blockchain may be determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
 具体的には、第一のブロックチェーン対象とする範囲は、第二のブロックチェーンにおいて1つのブロックが生成される期間内で生成される、第一のブロックチェーンのブロックの数の範囲であってもよい。 Specifically, the range targeted by the first blockchain is the range of the number of blocks in the first blockchain generated within the period in which one block is generated in the second blockchain. May be good.
 また、第一のブロックチェーンは、コンソーシアム型ブロックチェーンまたはパブリック型ブロックチェーンであってもよい、第二のブロックチェーンは、パブリック型ブロックチェーンであってもよい。 Further, the first blockchain may be a consortium type blockchain or a public type blockchain, and the second blockchain may be a public type blockchain.
 具体的には、第一のマークルルートハッシュと第二のマークルルートハッシュとは、同一の方法で算出される。 Specifically, the first Merkle root hash and the second Merkle root hash are calculated by the same method.
 図11は、本発明による確証生成装置の概要を示すブロック図である。本発明による確証生成装置90(例えば、上述する第一の実施形態の確証生成装置)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出したマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部91(例えば、ブロック管理部21)と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)に送信する登録依頼部92(例えば、仲介クライアント30)とを備えている。 FIG. 11 is a block diagram showing an outline of the confirmation generator according to the present invention. The confirmation generator 90 according to the present invention (for example, the confirmation generator of the first embodiment described above) is a Merkle from the block header of the block of the target range in the first blockchain (for example, the blockchain 110). A confirmation block generation unit 91 (for example, a block management unit 21) that calculates a root hash and generates a block confirmation transaction that is a transaction including a block number indicating a block in the range and a calculated Merkle root hash, and a block confirmation. It includes a registration requesting unit 92 (for example, an intermediary client 30) that transmits a transaction for requesting transaction registration to a second blockchain (for example, blockchain 120) different from the first blockchain.
 そのような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。 With such a configuration, even if data is tampered with in the first blockchain, the tampering can be detected by the block confirmation transaction registered in the second blockchain.
 図12は、本発明による不正検知システムの概要を示すブロック図である。本発明による不正検知システム170(例えば、不正検知システム300)は、第一のブロックチェーン(例えば、ブロックチェーン110)において対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、その範囲のブロックを示すブロック番号と算出した第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部71(例えば、ブロック管理部21)と、ブロック確証トランザクションの登録を依頼するトランザクションを、第一のブロックチェーンとは異なる第二のブロックチェーン(例えば、ブロックチェーン120)に送信する登録依頼部72(例えば、仲介クライアント30)と、ブロック確証トランザクションを、第二のブロックチェーンから取得する確証ブロック取得部73(例えば、仲介クライアント50)と、取得した確証トランザクションに含まれるブロック番号から第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、第一のマークルルートハッシュと第二のマークルルートハッシュとが一致するか比較して、特定されたブロックに対する不正操作(例えば、データの改ざん)を検知する不正操作検証部74(例えば、ブロック管理部41)とを備えている。 FIG. 12 is a block diagram showing an outline of the fraud detection system according to the present invention. The fraud detection system 170 (for example, the fraud detection system 300) according to the present invention calculates the first Merkle root hash from the block header of the block of the target range in the first blockchain (for example, the blockchain 110). Then, the confirmation block generation unit 71 (for example, the block management unit 21) that generates the block confirmation transaction, which is a transaction including the block number indicating the block in the range and the calculated first Merkle root hash, and the block confirmation transaction. A registration requesting unit 72 (for example, an intermediary client 30) that transmits a transaction requesting registration of the above to a second blockchain (for example, blockchain 120) different from the first blockchain, and a block confirmation transaction. The block in the first blockchain is specified from the confirmation block acquisition unit 73 (for example, the intermediary client 50) acquired from the second blockchain and the block number included in the acquired confirmation transaction, and from the block header in the specified block. A second Merkle root hash is calculated, the first Merkle root hash and the second Merkle root hash are compared to see if they match, and tampering with the identified block (eg, data tampering) is performed. It is provided with an unauthorized operation verification unit 74 (for example, a block management unit 41) for detecting.
 そのような構成により、第一のブロックチェーンでデータの不正操作が行われた場合であっても、第二のブロックチェーンに登録したブロック確証トランザクションによって、その不正操作を検知できる。 With such a configuration, even if data is tampered with in the first blockchain, the tampering can be detected by the block confirmation transaction registered in the second blockchain.
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Part or all of the above embodiments may be described as in the following appendix, but are not limited to the following.
(付記1)第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得部と、取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証部とを備えたことを特徴とする不正検証装置。 (Appendix 1) A block confirmation transaction that is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range. , From the blockchain in which the block confirmation transaction is registered, the confirmation block acquisition unit acquired from the second blockchain different from the first blockchain, and the block number included in the acquired confirmation transaction. The block in the first blockchain is specified, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash and the second Merkle root hash are A fraud verification device including a fraud verification unit that detects fraudulent operations on the specified block by comparing whether they match or not.
(付記2)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記1記載の不正検証装置。 (Appendix 2) The target range in the first blockchain is the fraud verification described in Appendix 1 which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Device.
(付記3)第一のブロックチェーン対象とする範囲は、第二のブロックチェーンにおいて1つのブロックが生成される期間内で生成される、第一のブロックチェーンのブロックの数の範囲である付記1または付記2記載の不正検証装置。 (Appendix 3) The range covered by the first blockchain is the range of the number of blocks in the first blockchain generated within the period in which one block is generated in the second blockchain. Alternatively, the fraud verification device described in Appendix 2.
(付記4)第一のブロックチェーンは、コンソーシアム型ブロックチェーンまたはパブリック型ブロックチェーンであり、第二のブロックチェーンは、パブリック型ブロックチェーンである付記1から付記3のうちのいずれか1つに記載の不正検証装置。 (Appendix 4) The first blockchain is a consortium type blockchain or a public type blockchain, and the second blockchain is described in any one of Appendix 1 to Appendix 3 which is a public type blockchain. Fraud verification device.
(付記5)第一のマークルルートハッシュと第二のマークルルートハッシュとは、同一の方法で算出される付記1から付記4のうちのいずれか1つに記載の不正検証装置。 (Supplementary note 5) The fraud verification device according to any one of Supplementary note 1 to Supplementary note 4, wherein the first Merkle root hash and the second Merkle root hash are calculated by the same method.
(付記6)第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部と、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼部とを備えたことを特徴とする確証生成装置。 (Appendix 6) In a transaction that calculates a Merkle root hash from the block header of a block in the target range in the first blockchain, and includes the block number indicating the block in the range and the calculated Merkle root hash. It is provided with a confirmation block generation unit that generates a certain block confirmation transaction and a registration request unit that transmits a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain. A confirmation generator characterized by.
(付記7)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記6記載の確証生成装置。 (Appendix 7) The target range in the first blockchain is the confirmation generation according to Appendix 6, which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Device.
(付記8)第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成部と、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼部と、前記ブロック確証トランザクションを、前記第二のブロックチェーンから取得する確証ブロック取得部と、取得した確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証部とを備えたことを特徴とする不正検知システム。 (Appendix 8) The first Merkle root hash is calculated from the block header of the block of the target range in the first block chain, and the block number indicating the block of the range and the calculated first Merkle root are calculated. A registration request for transmitting a confirmation block generator that generates a block confirmation transaction, which is a transaction including a hash, and a transaction requesting registration of the block confirmation transaction to a second block chain different from the first block chain. The block in the first block chain is specified from the block number included in the confirmation block acquisition unit and the acquired confirmation transaction for acquiring the block confirmation transaction from the second block chain, and the specified block. A second Merkle root hash is calculated from the block header in the above, and the first Merkle root hash and the second Merkle root hash are compared to see if they match, and an illegal operation on the specified block is performed. A fraud detection system characterized by having a fraudulent operation verification unit that detects fraudulent operations.
(付記9)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記8記載の不正検知システム。 (Appendix 9) The target range in the first blockchain is the fraud detection described in Appendix 8 which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. system.
(付記10)第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得し、取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知することを特徴とする不正検証方法。 (Appendix 10) A block confirmation transaction that is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range. , The block chain in which the block confirmation transaction is registered, acquired from a second block chain different from the first block chain, and the first block from the block number included in the acquired confirmation transaction. Identify the block in the chain, calculate the second Merkle root hash from the block header in the identified block, and compare whether the first Merkle root hash and the second Merkle root hash match. A fraud verification method comprising detecting a fraudulent operation on the specified block.
(付記11)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記10記載の不正検証方法。 (Appendix 11) The scope of the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Method.
(付記12)第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信し、前記ブロック確証トランザクションを、前記第二のブロックチェーンから取得し、取得した確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知することを特徴とする不正検知方法。 (Appendix 12) The first Merkle root hash is calculated from the block header of the block of the target range in the first block chain, and the block number indicating the block of the range and the calculated first Merkle root are calculated. A block confirmation transaction, which is a transaction including a hash, is generated, a transaction requesting registration of the block confirmation transaction is transmitted to a second blockchain different from the first blockchain, and the block confirmation transaction is transmitted. The block in the first blockchain is specified from the block number acquired from the second blockchain and included in the acquired confirmation transaction, and the second Merkle root hash is calculated from the block header in the specified block. A fraud detection method, characterized in that a fraud detection method for detecting a fraudulent operation on the specified block is performed by comparing whether or not the first Merkle root hash and the second Merkle root hash match.
(付記13)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記12記載の不正検知方法。 (Appendix 13) The range targeted by the first blockchain is the fraud detection according to Appendix 12, which is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. Method.
(付記14)コンピュータに、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得処理、および、取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証処理を実行させるための不正検証プログラム。 (Appendix 14) A block that is a transaction in which a computer includes a first Merkle root hash calculated from a block header of a block of the target range in the first block chain and a block number indicating the block of the range. The confirmation transaction is included in the confirmation block acquisition process of acquiring the block confirmation transaction from a second blockchain which is a blockchain in which the block confirmation transaction is registered and different from the first blockchain, and the acquired confirmation transaction. The block in the first block chain is specified from the block number to be obtained, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash and the second Merkle root hash are calculated. A fraud verification program for executing a fraud verification process that detects a fraudulent operation on the specified block by comparing whether it matches the root hash.
(付記15)第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される付記14記載の不正検証プログラム。 (Appendix 15) The scope of interest in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain. program.
(付記16)コンピュータに、第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼処理を実行させるため確証生成プログラム。 (Appendix 16) A Merkle root hash is calculated from the block headers of blocks in the target range in the first block chain, and the block number indicating the block in the range and the calculated Merkle root hash are input to the computer. A confirmation block generation process for generating a block confirmation transaction which is a including transaction, and a registration request process for transmitting a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain. A confirmation generator to run.
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the invention of the present application has been described above with reference to the embodiments and examples, the invention of the present application is not limited to the above embodiments and examples. Various changes that can be understood by those skilled in the art can be made within the scope of the present invention in terms of the structure and details of the present invention.
 この出願は、2020年2月21日に出願された日本特許出願2020-28430を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese patent application 2020-28430 filed on February 21, 2020, and incorporates all of its disclosures herein.
 1 クライアントデバイス
 10 ノード
 11 制御部
 12 記憶部
 20,40,60 トランザクション管理部
 21,41 ブロック管理部
 30,50,70 仲介クライアント
 100,200,300 不正検知システム
 110 ブロックチェーン
 120 ブロックチェーン
1 Client device 10 Nodes 11 Control unit 12 Storage unit 20, 40, 60 Transaction management unit 21, 41 Block management unit 30, 50, 70 Mediation client 100, 200, 300 Fraud detection system 110 Blockchain 120 Blockchain

Claims (16)

  1.  第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得手段と、
     取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
     ことを特徴とする不正検証装置。
    The block confirmation transaction, which is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range, is the block confirmation transaction. A blockchain in which a transaction is registered, and a confirmation block acquisition means acquired from a second blockchain different from the first blockchain.
    The block in the first blockchain is specified from the block number included in the acquired confirmation transaction, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash is calculated. A fraud verification device comprising: a fraud verification means for detecting fraudulent operations on the specified block by comparing whether and the second Merkle root hash match.
  2.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
     請求項1記載の不正検証装置。
    The fraud verification device according to claim 1, wherein the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  3.  第一のブロックチェーン対象とする範囲は、第二のブロックチェーンにおいて1つのブロックが生成される期間内で生成される、第一のブロックチェーンのブロックの数の範囲である
     請求項1または請求項2記載の不正検証装置。
    Claim 1 or claim that the range covered by the first blockchain is the range of the number of blocks of the first blockchain generated within the period in which one block is generated in the second blockchain. 2. The fraud verification device described.
  4.  第一のブロックチェーンは、コンソーシアム型ブロックチェーンまたはパブリック型ブロックチェーンであり、第二のブロックチェーンは、パブリック型ブロックチェーンである 
     請求項1から請求項3のうちのいずれか1項に記載の不正検証装置。
    The first blockchain is a consortium type blockchain or a public type blockchain, and the second blockchain is a public type blockchain.
    The fraud verification device according to any one of claims 1 to 3.
  5.  第一のマークルルートハッシュと第二のマークルルートハッシュとは、同一の方法で算出される
     請求項1から請求項4のうちのいずれか1項に記載の不正検証装置。
    The fraud verification device according to any one of claims 1 to 4, wherein the first Merkle root hash and the second Merkle root hash are calculated by the same method.
  6.  第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
     前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼手段とを備えた
     ことを特徴とする確証生成装置。
    A block confirmation transaction that calculates a Merkle root hash from the block headers of blocks in the target range in the first blockchain, and includes the block number indicating the block in the range and the calculated Merkle root hash. Confirmation block generation means to generate
    A confirmation generation device including a registration requesting means for transmitting a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain.
  7.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
     請求項6記載の確証生成装置。
    The confirmation generation device according to claim 6, wherein the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  8.  第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成手段と、
     前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼手段と、
     前記ブロック確証トランザクションを、前記第二のブロックチェーンから取得する確証ブロック取得手段と、
     取得した確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証手段とを備えた
     ことを特徴とする不正検知システム。
    The first Merkle root hash is calculated from the block header of the block of the target range in the first blockchain, and the block number indicating the block in the range and the calculated first Merkle root hash are included. Block confirmation that is a transaction Confirmation block generation means that generates a transaction, and
    A registration requesting means for transmitting a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain, and
    A confirmation block acquisition means for acquiring the block confirmation transaction from the second blockchain, and
    The block in the first blockchain is specified from the block number included in the acquired confirmation transaction, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash is used. A fraud detection system comprising: a fraudulent operation verification means for detecting a fraudulent operation on the specified block by comparing whether or not the second Merkle root hash matches.
  9.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
     請求項8記載の不正検知システム。
    The fraud detection system according to claim 8, wherein the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  10.  第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得し、
     取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
     ことを特徴とする不正検証方法。
    The block confirmation transaction, which is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range, is the block confirmation transaction. A blockchain in which a transaction is registered, which is acquired from a second blockchain different from the first blockchain.
    The block in the first blockchain is specified from the block number included in the acquired confirmation transaction, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash is calculated. A fraud verification method characterized by detecting a fraudulent operation on the specified block by comparing whether and the second Merkle root hash match.
  11.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
     請求項10記載の不正検証方法。
    The fraud verification method according to claim 10, wherein the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  12.  第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、第一のマークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記第一のマークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成し、
     前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信し、
     前記ブロック確証トランザクションを、前記第二のブロックチェーンから取得し、
     取得した確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する
     ことを特徴とする不正検知方法。
    The first Merkle root hash is calculated from the block header of the block of the target range in the first blockchain, and the block number indicating the block in the range and the calculated first Merkle root hash are included. Generate a block verification transaction that is a transaction and
    A transaction requesting registration of the block confirmation transaction is transmitted to a second blockchain different from the first blockchain, and the transaction is transmitted.
    Obtaining the block confirmation transaction from the second blockchain,
    The block in the first blockchain is specified from the block number included in the acquired confirmation transaction, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash is used. A fraud detection method characterized in that a fraudulent operation on the specified block is detected by comparing whether or not the second Merkle root hash matches.
  13.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定される
     請求項12記載の不正検知方法。
    The fraud detection method according to claim 12, wherein the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain.
  14.  コンピュータに、
     第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから算出された第一のマークルルートハッシュと、当該範囲のブロックを示すブロック番号とを含むトランザクションであるブロック確証トランザクションを、当該ブロック確証トランザクションが登録されているブロックチェーンであって、前記第一のブロックチェーンとは異なる第二のブロックチェーンから取得する確証ブロック取得処理、および、
     取得した前記確証トランザクションに含まれるブロック番号から前記第一のブロックチェーンにおけるブロックを特定し、特定されたブロックにおけるブロックヘッダから第二のマークルルートハッシュを算出し、前記第一のマークルルートハッシュと前記第二のマークルルートハッシュとが一致するか比較して、前記特定されたブロックに対する不正操作を検知する不正操作検証処理
     を実行させるための不正検証プログラムを記憶するプログラム記憶媒体。
    On the computer
    The block confirmation transaction, which is a transaction including the first Merkle root hash calculated from the block header of the block of the target range in the first blockchain and the block number indicating the block of the range, is the block confirmation transaction. A confirmation block acquisition process that is a blockchain in which a transaction is registered and is acquired from a second blockchain different from the first blockchain, and a confirmation block acquisition process.
    The block in the first blockchain is specified from the block number included in the acquired confirmation transaction, the second Merkle root hash is calculated from the block header in the specified block, and the first Merkle root hash is calculated. A program storage medium for storing a fraud verification program for executing a fraud verification process for detecting a fraudulent operation on the specified block by comparing whether and the second Merkle root hash match.
  15.  第一のブロックチェーンにおいて対象とする範囲は、第一のブロックチェーンにおけるブロックの生成タイミングと、第二のブロックチェーンにおけるブロックの生成タイミングに応じて決定されることを特徴とする不正検証プログラムを記憶する
     請求項14記載のプログラム記憶媒体。
    A fraud verification program characterized in that the target range in the first blockchain is determined according to the block generation timing in the first blockchain and the block generation timing in the second blockchain is stored. 14. The program storage medium according to claim 14.
  16.  コンピュータに、
     第一のブロックチェーンにおいて対象とする範囲のブロックのブロックヘッダから、マークルルートハッシュを算出し、当該範囲のブロックを示すブロック番号と算出した前記マークルルートハッシュとを含むトランザクションであるブロック確証トランザクションを生成する確証ブロック生成処理、および、
     前記ブロック確証トランザクションの登録を依頼するトランザクションを、前記第一のブロックチェーンとは異なる第二のブロックチェーンに送信する登録依頼処理
     を実行させるため確証生成プログラムを記憶するプログラム記憶媒体。
    On the computer
    A block confirmation transaction that calculates a Merkle root hash from the block headers of blocks in the target range in the first blockchain, and includes the block number indicating the block in the range and the calculated Merkle root hash. Confirmation block generation process to generate, and
    A program storage medium that stores a confirmation generation program in order to execute a registration request process for transmitting a transaction requesting registration of the block confirmation transaction to a second blockchain different from the first blockchain.
PCT/JP2021/001809 2020-02-21 2021-01-20 Fraud testing device and fraud detection system WO2021166528A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022501708A JP7393047B2 (en) 2020-02-21 2021-01-20 Fraud verification device and fraud detection system
US17/797,888 US20230155847A1 (en) 2020-02-21 2021-01-20 Fraud verification device and fraud detection system
JP2022501769A JP7393048B2 (en) 2020-02-21 2021-02-03 Fraud verification device, proof generation device, and fraud detection system
PCT/JP2021/003894 WO2021166646A1 (en) 2020-02-21 2021-02-03 Fraud verification device, confirmation generation device, and fraud detection system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-028430 2020-02-21
JP2020028430 2020-02-21

Publications (1)

Publication Number Publication Date
WO2021166528A1 true WO2021166528A1 (en) 2021-08-26

Family

ID=77391946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/001809 WO2021166528A1 (en) 2020-02-21 2021-01-20 Fraud testing device and fraud detection system

Country Status (1)

Country Link
WO (1) WO2021166528A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200412541A1 (en) * 2018-01-27 2020-12-31 Redrock Biometrics Inc Authentication ledger interactions for decentralized biometric authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited Achieving consensus among network nodes in a distributed system
US20190305958A1 (en) * 2018-04-03 2019-10-03 Alibaba Group Holding Limited Cross-blockchain authentication method and apparatus, and electronic device
JP6651042B1 (en) * 2019-08-28 2020-02-19 株式会社bitFlyer Blockchain Method for storing a transaction representing transfer of assets in a distributed network having a plurality of nodes, a program therefor, and a node for configuring the distributed network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190305958A1 (en) * 2018-04-03 2019-10-03 Alibaba Group Holding Limited Cross-blockchain authentication method and apparatus, and electronic device
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited Achieving consensus among network nodes in a distributed system
JP6651042B1 (en) * 2019-08-28 2020-02-19 株式会社bitFlyer Blockchain Method for storing a transaction representing transfer of assets in a distributed network having a plurality of nodes, a program therefor, and a node for configuring the distributed network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SATOSHI NAKAMOTO: "Bitcoin: A Peer-to-Peer Electronic Cash System", pages 1 - 9, XP055546007, Retrieved from the Internet <URL:https://bitcoin.org/bitcoin.pdf> [retrieved on 20190122] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200412541A1 (en) * 2018-01-27 2020-12-31 Redrock Biometrics Inc Authentication ledger interactions for decentralized biometric authentication

Similar Documents

Publication Publication Date Title
JP6648555B2 (en) Information processing device and program
CN109075964B (en) Block chaining supporting multiple one-way functions for block verification
CN109542888B (en) Data modification and synchronization method, device, equipment and storage medium of block chain
CN109889497B (en) Distrust-removing data integrity verification method
CN111460526A (en) Image data recording, acquiring and verifying method and device based on block chain
CN111444211B (en) Block chain consensus node checking method, device, equipment and storage medium
CN112257095B (en) Method for selecting alliance chain consensus node
US20190073645A1 (en) Systems and Methods of Decentralized Geospatial Data Gathering
CN111445333A (en) Block generation method and device, computer equipment and storage medium
CN111461622B (en) Block chain-based warehouse credit rating, result acquisition and verification method and device
WO2019142884A1 (en) Block verification device, block verification method and program
CN114281888A (en) Block chain consensus method, device, equipment and storage medium
WO2021166528A1 (en) Fraud testing device and fraud detection system
JP3788976B2 (en) Data registration system, data registration method and program
US11831749B1 (en) Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain
CN113129002A (en) Data processing method and equipment
JP7393047B2 (en) Fraud verification device and fraud detection system
US20220114276A1 (en) Controlling a data network with respect to a use of a distributed database
JP2004086494A (en) Information terminal equipped with time of day synchronization function, program, method and device for time of day synchronization, information terminal equipped with time of day verification requesting function, program, method and device for requesting time of day verification
US20200213095A1 (en) Method and device for the computer aided processing of a random bit pattern
KR20210140801A (en) Method and apparatus for determining uniqueness of design based on blockchains
CN111198763A (en) Resource reuse detection method, terminal and computer-readable storage medium
Majd et al. Secure and Cost Effective IoT Authentication and Data Storage Framework using Blockchain NFT
JP2007096413A (en) Packet recording support apparatus, packet recording support method, and packet recording support program
CN117473557B (en) Trusted setting method and device

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: 21756868

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022501708

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21756868

Country of ref document: EP

Kind code of ref document: A1