JP7354568B2 - Detection program, detection method and detection device - Google Patents

Detection program, detection method and detection device Download PDF

Info

Publication number
JP7354568B2
JP7354568B2 JP2019061624A JP2019061624A JP7354568B2 JP 7354568 B2 JP7354568 B2 JP 7354568B2 JP 2019061624 A JP2019061624 A JP 2019061624A JP 2019061624 A JP2019061624 A JP 2019061624A JP 7354568 B2 JP7354568 B2 JP 7354568B2
Authority
JP
Japan
Prior art keywords
transaction
event
information
registered
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019061624A
Other languages
Japanese (ja)
Other versions
JP2020160983A (en
Inventor
雅史 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019061624A priority Critical patent/JP7354568B2/en
Publication of JP2020160983A publication Critical patent/JP2020160983A/en
Application granted granted Critical
Publication of JP7354568B2 publication Critical patent/JP7354568B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、検出プログラム等に関する。 The present invention relates to a detection program and the like.

従来、ブロックチェーンを利用して、各種のサービスが行われている。ブロックチェーンは、ブロックと呼ばれるデータの単位を生成し、生成した順にブロックを連結していくことによりデータを保管するデータベースである。 Conventionally, various services have been provided using blockchain. Blockchain is a database that stores data by generating units of data called blocks and connecting the blocks in the order in which they are generated.

ブロックチェーンを用いた契約に関する技術として、スマートコントラクトがある。スマートコントラクトに基づいて契約を行うと、契約を結んだユーザ同士の取引を自動化することができる。ユーザ同士の取引情報は、トランザクションとして、ブロックチェーンのブロックに登録される。このような用途にブロックチェーンを用いる場合、ブロックチェーンが改竄されていないことを保証する仕組みが求められる。 Smart contracts are a technology related to contracts using blockchain. By making a contract based on a smart contract, transactions between users who have signed a contract can be automated. Transaction information between users is registered in blocks of the blockchain as transactions. When using blockchain for such purposes, a mechanism is required to ensure that the blockchain has not been tampered with.

ブロックチェーンの改竄検知を目的として、所定のデータに対する参照要求を受け付けた場合、所定のデータに関するハッシュ値を算出し、算出したハッシュ値が、ブロックチェーンに記録されたダイジェストと一致するか否かを判定する従来技術がある。ハッシュ値と、ダイジェストとが一致している場合、ブロックチェーンが改竄されていないことを意味する。 For the purpose of blockchain tampering detection, when a reference request for predetermined data is received, a hash value for the predetermined data is calculated, and a check is made to see if the calculated hash value matches the digest recorded on the blockchain. There is a conventional technique for determining this. If the hash value and digest match, it means that the blockchain has not been tampered with.

特開2017-207979号公報Japanese Patent Application Publication No. 2017-207979 特開2017-204706号公報JP2017-204706A

しかしながら、上述した従来技術では、ブロックチェーンに含まれる関連性のあるトランザクション同士をトレースすることができないという問題がある。 However, the above-mentioned conventional technology has a problem in that related transactions included in the blockchain cannot be traced.

たとえば、従来技術では、ブロックチェーンの改竄を検知することは可能であるが、ユーザ同士のある取引に続いて、どのような取引が関連して行われたのかを検出することは難しい。なお、取引情報が生成される度に、関連する取引のトランザクションを対応付ける情報をそのまま登録していくと、ブロックチェーンのデータ量が肥大化する。 For example, with conventional technology, it is possible to detect falsification of a blockchain, but it is difficult to detect what kind of related transactions have occurred following a certain transaction between users. Note that if transaction information that associates related transactions is registered as is every time transaction information is generated, the amount of data on the blockchain will increase.

1つの側面では、本発明は、ブロックチェーンに含まれる関連性のあるトランザクション同士をトレースすることができる検出プログラム、検出方法および検出装置を提供することを目的とする。 In one aspect, the present invention aims to provide a detection program, a detection method, and a detection device that can trace related transactions included in a blockchain.

第1の案では、コンピュータが次の処理を実行する。コンピュータは、第1イベントが発生した場合、第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録する。コンピュータは、第1イベントに関する第1イベント情報と、第1トランザクションの識別情報とを対応付けて第1テーブルに登録する。コンピュータは、第1イベントより前に発生した第2イベントに関する第2イベント情報と、第1トランザクションの識別情報とを対応付けて第2テーブルに登録する。コンピュータは、第2イベント情報と、第1テーブルとを基にして、第2イベント情報に対応する第2イベントが発生した際に登録された第2トランザクションの識別情報を特定し、特定した識別情報と第2イベント情報とを第1トランザクションに登録する。コンピュータは、第3イベントのトレース要求を受け付けた場合に、ブロックチェーンに登録された複数のトランザクションと、第1テーブルと、第2テーブルとを基にして、第3イベントに関連するトランザクションを検出する。 In the first proposal, the computer performs the following processing. When the first event occurs, the computer generates a first transaction corresponding to the first event and registers it in the blockchain. The computer registers first event information regarding the first event and identification information of the first transaction in a first table in association with each other. The computer associates and registers second event information regarding a second event that occurred before the first event with identification information of the first transaction in the second table. The computer identifies identification information of a second transaction registered when a second event corresponding to the second event information occurs based on the second event information and the first table, and identifies the identified identification information. and the second event information are registered in the first transaction. When the computer receives a trace request for the third event, the computer detects a transaction related to the third event based on the plurality of transactions registered in the blockchain, the first table, and the second table. .

ブロックチェーンに含まれる関連性のあるトランザクション同士をトレースすることができる。 It is possible to trace related transactions included in the blockchain.

図1は、登録処理を説明するための図(1)である。FIG. 1 is a diagram (1) for explaining the registration process. 図2は、登録処理を説明するための図(2)である。FIG. 2 is a diagram (2) for explaining the registration process. 図3は、登録処理を説明するための図(3)である。FIG. 3 is a diagram (3) for explaining the registration process. 図4は、トランザクションを上り方向にトレースする処理を説明する図である。FIG. 4 is a diagram illustrating processing for tracing transactions in the upward direction. 図5は、トランザクションを下り方向にトレースする処理を説明するための図(1)である。FIG. 5 is a diagram (1) for explaining the process of tracing transactions in the downward direction. 図6は、トランザクションを下り方向にトレースする処理を説明するための図(2)である。FIG. 6 is a diagram (2) for explaining the process of tracing transactions in the downward direction. 図7は、本実施例に係るシステムの構成を示す図である。FIG. 7 is a diagram showing the configuration of a system according to this embodiment. 図8は、本実施例に係る検出装置の構成を示す機能ブロック図である。FIG. 8 is a functional block diagram showing the configuration of the detection device according to this embodiment. 図9は、ブロックチェーンのデータ構造の一例を示す図である。FIG. 9 is a diagram illustrating an example of a blockchain data structure. 図10は、参照先情報のデータ構造の一例を示す図である。FIG. 10 is a diagram illustrating an example of the data structure of reference destination information. 図11は、参照元情報のデータ構造の一例を示す図である。FIG. 11 is a diagram showing an example of the data structure of reference source information. 図12は、本実施例に係る登録処理を示すフローチャートである。FIG. 12 is a flowchart showing the registration process according to this embodiment. 図13は、本実施例に係る上り方向にトレースする検出処理を示すフローチャートである。FIG. 13 is a flowchart showing the detection process of tracing in the upstream direction according to this embodiment. 図14は、本実施例に係る下り方向にトレースする検出処理を示すフローチャートである。FIG. 14 is a flowchart showing the detection process of tracing in the downward direction according to this embodiment. 図15は、本実施例に係る検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。FIG. 15 is a diagram showing an example of the hardware configuration of a computer that implements the same functions as the detection device according to this embodiment.

以下に、本願の開示する検出プログラム、検出方法および検出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of a detection program, a detection method, and a detection apparatus disclosed in the present application will be described in detail below based on the drawings. Note that the present invention is not limited to this example.

本実施例に係る検出装置は、たとえば、「登録処理」と、「検出処理」とを実行する。登録処理は、ユーザが取引を行った場合に、取引の情報をトランザクションとして、ブロックチェーンに登録する処理である。検出処理は、ユーザに指定されたトランザクションに関連するトランザクションを検出してトレースする処理である。 The detection device according to the present embodiment executes, for example, "registration processing" and "detection processing". The registration process is a process in which when a user performs a transaction, transaction information is registered in the blockchain as a transaction. The detection process is a process of detecting and tracing transactions related to the transaction specified by the user.

検出装置が実行する登録処理の一例について説明する。図1~図3は、登録処理を説明するための図である。ここでは、各ユーザは、端末装置を操作して、検出装置にアクセスし、取引A、取引B、取引Cを順に行うものとする。取引は「イベント」の一例である。 An example of the registration process executed by the detection device will be described. FIGS. 1 to 3 are diagrams for explaining registration processing. Here, it is assumed that each user operates a terminal device, accesses the detection device, and performs transaction A, transaction B, and transaction C in order. A transaction is an example of an "event."

図1について説明する。ユーザ(Ken)が「取引A」を行う場合において、画面10Aが端末装置に表示される。たとえば、取引Aを、深層学習で利用する教師データを登録する取引とする。ユーザ(Ken)は、画面10Aを参照し、端末装置を操作して、ユーザID「US001」と、リソースID「data0001」を入力する。ユーザIDは、ユーザ(Ken)を一意に識別する情報である。リソースIDは、教師データを一意に識別する情報である。 FIG. 1 will be explained. When the user (Ken) performs "transaction A", a screen 10A is displayed on the terminal device. For example, assume that transaction A is a transaction for registering teacher data to be used in deep learning. The user (Ken) refers to the screen 10A, operates the terminal device, and inputs the user ID "US001" and the resource ID "data0001." The user ID is information that uniquely identifies the user (Ken). The resource ID is information that uniquely identifies teacher data.

検出装置は、ブロックチェーン140aを有しており、ブロックチェーン140aは、ワールドステート140bと分かれている。ブロックチェーン140aには、ブロック(1)が含まれる。ブロック(1)には、直前ブロック(図示略)のハッシュ値と、トランザクションTx1,Tx2が既に登録されているものとする。検出装置は、端末装置から取引Aに関する情報の入力を受け付けると、トランザクションTx3を生成する。検出装置は、ブロック(1)に登録するトランザクションが溜まった場合に、各トランザクションを、ブロック(1)に登録する。 The detection device has a blockchain 140a, and the blockchain 140a is separated from the world state 140b. Block chain 140a includes block (1). It is assumed that the hash value of the immediately preceding block (not shown) and transactions Tx1 and Tx2 have already been registered in block (1). Upon receiving input of information regarding transaction A from the terminal device, the detection device generates transaction Tx3. The detection device registers each transaction in block (1) when transactions to be registered in block (1) are accumulated.

トランザクションTx3には、領域Tx3-aと、領域Tx3-bとが含まれ、それぞれ分かれている。検出装置は、画面10Aで入力されたユーザID「US001」およびリソースID「data0001」を、領域Tx3-aに登録する。検出装置は、「取引A」が最初の取引であるため、元トランザクションID「NULL」を、領域Tx3-bに登録する。検出装置は、画面10Aで入力されたユーザID「US001」およびリソースID「data0001」を組み合わせたキー「US001+data0001」を、領域Tx3-bに登録する。なお、検出装置は、元データが「無」である場合に、元トランザクションIDを「NULL」に設定してもよい。このキー「US001+data0001」は、取引の対象と取引を行ったユーザとを識別可能な取引の情報といえる。以下に説明する、他のユーザIDと、他のリソースIDとを組み合わせたキーも、取引の対象と取引を行ったユーザとを識別可能な取引の情報である。 Transaction Tx3 includes an area Tx3-a and an area Tx3-b, which are separated from each other. The detection device registers the user ID "US001" and the resource ID "data0001" input on the screen 10A in the area Tx3-a. Since "transaction A" is the first transaction, the detection device registers the original transaction ID "NULL" in area Tx3-b. The detection device registers the key "US001+data0001", which is a combination of the user ID "US001" and the resource ID "data0001" input on the screen 10A, in the area Tx3-b. Note that the detection device may set the original transaction ID to "NULL" when the original data is "none". This key "US001+data0001" can be said to be transaction information that allows identification of the transaction target and the user who conducted the transaction. A key that is a combination of another user ID and another resource ID, which will be described below, is also transaction information that can identify the transaction target and the user who has conducted the transaction.

検出装置は、ワールドステート140bを有しており、ワールドステート140bには、参照先情報141と、参照元情報142とを有する。参照先情報141は、取引の情報と、取引の情報が記録されたトランザクションとを対応付ける情報である。たとえば、取引Aの情報は、画面10Aで入力されたユーザID「US001」およびリソースID「data0001」を組み合わせた情報「US001+data0001」となる。取引Aの情報は、トランザクションTx3としてブロックチェーン140aに登録されたため、検出装置は、参照先情報141に「US001+data0001」と「Tx3」とを対応付けたレコードを登録する。 The detection device has a world state 140b, and the world state 140b has reference destination information 141 and reference source information 142. The reference destination information 141 is information that associates transaction information with a transaction in which the transaction information is recorded. For example, the information for transaction A is "US001+data0001", which is a combination of the user ID "US001" and the resource ID "data0001" input on the screen 10A. Since the information on transaction A was registered in the blockchain 140a as transaction Tx3, the detection device registers a record in which "US001+data0001" and "Tx3" are associated with each other in reference destination information 141.

参照元情報142は、ある取引を行う場合に参照した、参照元の取引の情報と、現在の取引の情報が記録されたトランザクションとを対応付ける情報である。取引Aについては、参照元の取引の情報がないため、参照元情報142には、何も登録されない。 The reference source information 142 is information that associates the reference source transaction information referred to when performing a certain transaction with the transaction in which the current transaction information is recorded. Regarding transaction A, since there is no information on the transaction of the reference source, nothing is registered in the reference source information 142.

図2の説明に移行する。たとえば、検出装置は、ブロックチェーン140aにおいて、ブロック(1)にブロック(2)を接続し、ブロック(1)のハッシュ値を、ブロック(2)に登録する。また、トランザクションTx4がブロック(2)に登録されているものとする。ブロック(1)のハッシュ値を、ブロック(2)に登録することで、ブロック(1)のトランザクションTx1~Tx3の改竄を抑止する。 Moving on to the explanation of FIG. For example, the detection device connects block (2) to block (1) in blockchain 140a, and registers the hash value of block (1) in block (2). It is also assumed that transaction Tx4 is registered in block (2). By registering the hash value of block (1) in block (2), falsification of transactions Tx1 to Tx3 of block (1) is prevented.

ユーザ(Mike)が「取引B」を行う場合において、画面10Bが端末装置に表示される。たとえば、取引Bを、取引Aで登録された教師データを購入する取引とする。ユーザ(Mike)は、画面10Bを参照し、端末装置を操作して、ユーザID「US002」と、リソースID「data0001」を入力する。 When the user (Mike) performs "transaction B", a screen 10B is displayed on the terminal device. For example, assume that transaction B is a transaction for purchasing the teacher data registered in transaction A. The user (Mike) refers to the screen 10B, operates the terminal device, and inputs the user ID "US002" and the resource ID "data0001."

また、ユーザ(Mike)は、購入対象となる元データの情報を、画面10Bに入力する。元データの情報には、元データに対応するユーザを一意に識別する元ユーザIDと、元データを一意に識別する元リソースIDとが含まれる。ユーザ(Mike)は、取引Aで登録された教師データを購入する場合、元ユーザID「US001」および元リソースID「data0001」を、画面10Bに入力する。 Further, the user (Mike) inputs information on the original data to be purchased on the screen 10B. The information on the original data includes an original user ID that uniquely identifies a user corresponding to the original data, and an original resource ID that uniquely identifies the original data. When the user (Mike) purchases the registered teacher data in transaction A, he inputs the former user ID "US001" and the former resource ID "data0001" on the screen 10B.

検出装置は、端末装置から取引Bに関する情報の入力を受け付けると、トランザクションTx5を生成して、ブロック(2)に登録する。トランザクションTx5には、領域Tx5-aと、領域Tx5-bとが含まれる。検出装置は、画面10Bで入力されたユーザID「US002」およびリソースID「data0001」を、領域Tx5-aに登録する。また、検出装置は、画面10Bで入力された元ユーザID「US001」および元リソースID「data0001」を、領域Tx5-aに登録する。 When the detection device receives input of information regarding transaction B from the terminal device, it generates transaction Tx5 and registers it in block (2). Transaction Tx5 includes an area Tx5-a and an area Tx5-b. The detection device registers the user ID "US002" and the resource ID "data0001" input on the screen 10B in the area Tx5-a. The detection device also registers the former user ID "US001" and the former resource ID "data0001" input on the screen 10B in the area Tx5-a.

検出装置は、画面10Bの元ユーザID「US001」と、元リソースID「data0001」とを組み合わせたキー「US001+data0001」を生成し、生成したキーによって、参照先情報141を検索し、トランザクションID「Tx3」を検出する。検出装置は、検出したトランザクションID「Tx3」を、領域Tx5-bの元トランザクションIDに登録する。また、検出装置は、画面10BのユーザID「US002」およびリソースID「data0001」を組み合わせたキー「US002+data0001」を、領域Tx5-bに登録する。 The detection device generates a key "US001+data0001" that is a combination of the former user ID "US001" and the former resource ID "data0001" on the screen 10B, searches the reference information 141 using the generated key, and searches the reference destination information 141 to find the transaction ID. Detect “Tx3”. The detection device registers the detected transaction ID "Tx3" as the original transaction ID of area Tx5-b. Furthermore, the detection device registers the key "US002+data0001", which is a combination of the user ID "US002" and the resource ID "data0001" on the screen 10B, in the area Tx5-b.

検出装置は、取引Bの情報を、取引Bの情報が記録されたトランザクションと対応付けて、参照先情報141に登録する。取引Bの情報は、画面10Bで入力されたユーザID「US002」およびリソースID「data0001」を組み合わせた情報「US002+data0001」である。取引Bの情報は、トランザクションTx5としてブロックチェーン140aに登録されたため、検出装置は、参照先情報141に「US002+data0001」と「Tx5」とを対応付けたレコードを登録する。 The detection device registers the transaction B information in the reference destination information 141 in association with the transaction in which the transaction B information is recorded. The information for transaction B is "US002+data0001", which is a combination of the user ID "US002" and the resource ID "data0001" input on the screen 10B. Since the information on transaction B was registered in the blockchain 140a as transaction Tx5, the detection device registers a record in which "US002+data0001" and "Tx5" are associated with each other in reference destination information 141.

取引Bは、取引Aの情報を参照元とする取引である。取引Aの情報は「US001+data0001」であり、現在の取引Bの情報が記録されたトランザクションIDは「Tx5」である。たとえば、検出装置は、参照元の取引(取引A)の情報として、画面10Bに入力された元ユーザID、元リソースIDを利用する。検出装置は、参照元の取引Aの情報「US001+data0001」と、トランザクションID「Tx5」とを対応付けて参照元情報142に登録する。 Transaction B is a transaction that uses the information of transaction A as a reference source. The information on transaction A is "US001+data0001", and the transaction ID in which the information on current transaction B is recorded is "Tx5". For example, the detection device uses the former user ID and the former resource ID input on the screen 10B as information on the reference transaction (transaction A). The detection device registers the reference source transaction A information “US001+data0001” and the transaction ID “Tx5” in the reference source information 142 in association with each other.

なお、説明を省略するが、検出装置は、ブロックチェーン140aにトランザクションTx5を登録した後に、他の取引情報によって、トランザクションTx6、Tx7が溜まった場合に、ブロックチェーン140aにブロック(2)を登録する。 Although the description is omitted, the detection device registers block (2) in the blockchain 140a when transactions Tx6 and Tx7 are accumulated based on other transaction information after registering the transaction Tx5 in the blockchain 140a. .

図3の説明に移行する。たとえば、検出装置は、ブロックチェーン140aにおいて、ブロック(2)にブロック(3)を接続し、ブロック(2)のハッシュ値を、ブロック(3)に登録する。ブロック(2)のハッシュ値を、ブロック(3)に登録することで、ブロック(2)のトランザクションTx4~Tx7の改竄を抑止する。 Moving on to the explanation of FIG. For example, the detection device connects block (3) to block (2) in blockchain 140a, and registers the hash value of block (2) in block (3). By registering the hash value of block (2) in block (3), falsification of transactions Tx4 to Tx7 of block (2) is prevented.

ユーザ(Mike)が「取引C」を行う場合において、画面10Cが端末装置に表示される。たとえば、取引Cを、取引Bで購入した教師データを用いて、学習モデルを生成する取引とする。ユーザ(Mike)は、画面10Cを参照し、端末装置を操作して、ユーザID「US002」と、リソースID「mdl0001」を入力する。リソースID「mdl0001」は、学習モデルを一意に識別する情報である。 When the user (Mike) performs "transaction C", a screen 10C is displayed on the terminal device. For example, assume that transaction C is a transaction in which a learning model is generated using the teacher data purchased in transaction B. The user (Mike) refers to the screen 10C, operates the terminal device, and inputs the user ID "US002" and the resource ID "mdl0001." The resource ID "mdl0001" is information that uniquely identifies the learning model.

また、ユーザ(Mike)は、学習モデルの学習で利用した元データの情報を、画面10Cに入力する。ユーザ(Mike)は、取引Bで購入した教師データを利用する場合、端末装置を操作して、元ユーザID「US002」および元リソースID「data0001」を、画面10Cに入力する。 Further, the user (Mike) inputs information on the original data used in learning the learning model to the screen 10C. When using the teacher data purchased in transaction B, the user (Mike) operates the terminal device and inputs the original user ID "US002" and the original resource ID "data0001" on the screen 10C.

検出装置は、端末装置から取引Cに関する情報の入力を受け付けると、トランザクションTx9を生成して、ブロック(3)に登録する。トランザクションTx9には、領域Tx9-aと、領域Tx9-bとが含まれる。検出装置は、画面10Cで入力されたユーザID「US002」およびリソースID「mdl0001」を、領域Tx9-aに登録する。検出装置は、画面10Cで入力された元ユーザID「US001」および元リソースID「data0001」を、領域Tx9-aに登録する。 When the detection device receives input of information regarding transaction C from the terminal device, it generates transaction Tx9 and registers it in block (3). Transaction Tx9 includes an area Tx9-a and an area Tx9-b. The detection device registers the user ID "US002" and the resource ID "mdl0001" input on the screen 10C in the area Tx9-a. The detection device registers the former user ID "US001" and the former resource ID "data0001" input on the screen 10C in the area Tx9-a.

検出装置は、画面10Cの元ユーザID「US002」と、元リソースID「data0001」とを組み合わせたキー「US002+data0001」を生成し、生成したキーによって、参照先情報141を検索し、トランザクションID「Tx5」を検出する。検出装置は、検出したトランザクションID「Tx5」を、領域Tx9-bの元トランザクションIDに登録する。また、検出装置は、画面10CのユーザID「US002」およびリソースID「mdl0001」を組み合わせたキー「US002+mdl0001」を、領域Tx9-bに登録する。 The detection device generates a key "US002+data0001" that is a combination of the former user ID "US002" and the former resource ID "data0001" on the screen 10C, searches the reference information 141 using the generated key, and searches the reference destination information 141 to find the transaction ID. Detect “Tx5”. The detection device registers the detected transaction ID "Tx5" as the original transaction ID of area Tx9-b. The detection device also registers a key "US002+mdl0001", which is a combination of the user ID "US002" and the resource ID "mdl0001" on the screen 10C, in the area Tx9-b.

検出装置は、取引Cの情報を、取引Cの情報が記録されたトランザクションと対応付けて、参照先情報141に登録する。取引Cの情報は、画面10Cで入力されたユーザID「US002」およびリソースID「mdl0001」を組み合わせた情報「US002+mdl0001」である。取引Cの情報は、トランザクションTx9としてブロックチェーン140aに登録されたため、検出装置は、参照先情報141に「US002+mdl0001」と「Tx9」とを対応付けたレコードを登録する。 The detection device registers the transaction C information in the reference destination information 141 in association with the transaction in which the transaction C information is recorded. Information on transaction C is information "US002+mdl0001" which is a combination of user ID "US002" and resource ID "mdl0001" input on screen 10C. Since the information on transaction C was registered in the blockchain 140a as transaction Tx9, the detection device registers a record in which "US002+mdl0001" and "Tx9" are associated with each other in the reference destination information 141.

取引Cは、取引Bの情報を参照元とする取引である。取引Bの情報は「US002+data0001」であり、現在の取引Cの情報が記録されたトランザクションIDは「Tx9」である。たとえば、検出装置は、参照元の取引(取引B)の情報として、画面10Cに入力された元ユーザIDおよび元リソースIDを利用する。検出装置は、参照元の取引Bの情報「US001+data0001」と、トランザクションID「Tx9」とを対応付けて参照元情報142に登録する。 Transaction C is a transaction that uses the information of transaction B as a reference source. The information on transaction B is "US002+data0001", and the transaction ID in which the information on current transaction C is recorded is "Tx9". For example, the detection device uses the former user ID and the former resource ID input on the screen 10C as information on the reference transaction (transaction B). The detection device registers the reference source transaction B information “US001+data0001” and the transaction ID “Tx9” in the reference source information 142 in association with each other.

なお、説明を省略するが、検出装置は、ブロックチェーン140aにトランザクションTx9を登録した後に、他の取引情報によって、トランザクションTx10が溜まった場合に、ブロックチェーン140aにブロック(3)を登録する。また、検出装置は、ブロック(3)のハッシュ値を算出し、算出したハッシュ値を後続のブロックに登録することで、トランザクションTx8~Tx10の改竄を抑止する。 Although the description will be omitted, the detection device registers block (3) in the blockchain 140a when transactions Tx10 are accumulated based on other transaction information after registering the transaction Tx9 in the blockchain 140a. Furthermore, the detection device calculates the hash value of block (3) and registers the calculated hash value in subsequent blocks, thereby suppressing falsification of transactions Tx8 to Tx10.

次に、検出装置が実行する検出処理の一例について説明する。図4では、トランザクションを上り方向にトレースする処理を説明する図である。図5、図6は、トランザクションを下り方向にトレースする処理を説明するための図である。 Next, an example of a detection process executed by the detection device will be described. FIG. 4 is a diagram illustrating processing for tracing transactions in the upward direction. 5 and 6 are diagrams for explaining the process of tracing transactions in the downward direction.

図4について説明する。たとえば、ユーザは、端末装置を操作して、検索キーとなるユーザID「US002」およびリソースID「mdl0001」を入力し、トレース要求を行う。検出装置は、端末装置から、トレース要求を受け付けると、検索キー「US002+mdl0001」と、参照先情報141とを比較して、トランザクションID「Tx9」を検出する。 FIG. 4 will be explained. For example, a user operates a terminal device, inputs a user ID "US002" and a resource ID "mdl0001" as search keys, and makes a trace request. When the detection device receives a trace request from the terminal device, it compares the search key “US002+mdl0001” with the reference destination information 141 and detects the transaction ID “Tx9”.

検出装置は、ブロックチェーン140aに含まれるトランザクションTx9の領域Tx9-bを参照する。検出装置は、参照先情報141に記録されたキー「US002+mdl0001」と、領域Tx9-bのキーとが一致するか否かを判定する。検出装置は、参照先情報141に記録されたキー「US002+mdl0001」と、領域Tx9-bのキーとが一致しない場合には、参照先情報141が改竄していると判定し、トレース処理を終了する。 The detection device refers to area Tx9-b of transaction Tx9 included in blockchain 140a. The detection device determines whether the key "US002+mdl0001" recorded in the reference destination information 141 matches the key in the area Tx9-b. If the key “US002+mdl0001” recorded in the reference destination information 141 does not match the key in area Tx9-b, the detection device determines that the reference destination information 141 has been tampered with and performs the tracing process. finish.

検出装置は、参照先情報141に記録されたキー「US002+mdl0001」と、領域Tx9-bのキーとが一致する場合には、トレース処理を継続する。検出装置は、領域Tx9-bの元トランザクションID「Tx5」を基にして、トランザクションTx5を特定する。検出装置は、トランザクションTx5の領域Tx5-bを参照し、元トランザクションID「Tx3」を基にして、トランザクションTx3を特定する。検出装置は、トランザクションTx3の領域Tx3-bの元トランザクションIDが「NULL」であるため、トレース処理を終了する。 If the key "US002+mdl0001" recorded in the reference destination information 141 matches the key in the area Tx9-b, the detection device continues the tracing process. The detection device identifies transaction Tx5 based on the original transaction ID "Tx5" of area Tx9-b. The detection device refers to area Tx5-b of transaction Tx5 and identifies transaction Tx3 based on the original transaction ID "Tx3." The detection device ends the tracing process because the original transaction ID of area Tx3-b of transaction Tx3 is "NULL".

検出装置は、上記処理を実行することで、トランザクションTx9を起点とした上り方向のトランザクションのつながりを検出することができる。検出装置は、上り方向のトランザクションのトレース結果を、端末装置に送信する。上り方向のトランザクションのトレース結果は、トランザクションTx9、Tx5、Tx3となる。 By executing the above processing, the detection device can detect a chain of transactions in the upstream direction starting from transaction Tx9. The detection device transmits the trace result of the upstream transaction to the terminal device. The trace results of the upstream transactions are transactions Tx9, Tx5, and Tx3.

図5について説明する。たとえば、ユーザは、端末装置を操作して、検索キーとなるユーザID「US0001」およびリソースID「data0001」を入力し、トレース要求を行う。検出装置は、端末装置から、トレース要求を受け付けると、検索キー「US001+data0001」と、参照先情報141とを比較して、トランザクションID「Tx3」を特定する(ステップS10)。 FIG. 5 will be explained. For example, a user operates a terminal device, inputs a user ID "US0001" and a resource ID "data0001" as search keys, and makes a trace request. When the detection device receives the trace request from the terminal device, it compares the search key “US001+data0001” with the reference destination information 141 to identify the transaction ID “Tx3” (step S10).

一方、検出装置は、検索キー「US001+data0001」と、参照元情報142とを比較して、トランザクションID「Tx5」を特定する(ステップS11)。 On the other hand, the detection device compares the search key "US001+data0001" with the reference source information 142 and identifies the transaction ID "Tx5" (step S11).

検出装置は、ステップS11で特定したトランザクションTx5の領域Tx5-bの元トランザクションID「Tx3」と、ステップS10で特定したトランザクションIDとを比較して、一致するか否かを判定する。検出装置は、領域Tx5-bの元トランザクションIDと、ステップS10で特定したトランザクションとが一致しない場合には、参照先情報141または参照元情報142が改竄されていると判定し、トレース処理を終了する。 The detection device compares the original transaction ID "Tx3" of the area Tx5-b of the transaction Tx5 specified in step S11 with the transaction ID specified in step S10, and determines whether they match. If the original transaction ID of the area Tx5-b and the transaction identified in step S10 do not match, the detection device determines that the reference destination information 141 or the reference source information 142 has been tampered with, and ends the tracing process. do.

検出装置は、領域Tx5-bの元トランザクションID「Tx3」と、ステップS10で特定したトランザクションIDとが一致する場合には、トランザクションTx3から、トランザクションTx5への関連を特定する。 If the original transaction ID "Tx3" of area Tx5-b matches the transaction ID identified in step S10, the detection device identifies the relationship from transaction Tx3 to transaction Tx5.

続いて、図6について説明する。検出装置は、トランザクションTx3からトランザクションTx5への関連を特定すると、トランザクションTx5の領域Tx5-bを参照する(ステップS20)。検出装置は、領域Tx5-bのキー「US002+data0001」と、参照元情報142とを比較して、トランザクションID「Tx9」を特定する(ステップS21)。 Next, FIG. 6 will be explained. When the detection device identifies the relationship from transaction Tx3 to transaction Tx5, it refers to area Tx5-b of transaction Tx5 (step S20). The detection device compares the key "US002+data0001" of the area Tx5-b with the reference source information 142 and identifies the transaction ID "Tx9" (step S21).

検出装置は、ステップS21で特定したトランザクションTx9の領域Tx9-bの元トランザクションID「Tx5」と、ステップS20で参照したトランザクションのIDとを比較して、一致するか否かを判定する(ステップS22)。検出装置は、ステップS21で特定したトランザクションTx9の領域Tx9-bの元トランザクションID「Tx5」と、ステップS20で参照したトランザクションのIDとが一致しない場合には、参照元情報142が改竄されていると判定し、トレース処理を終了する。 The detection device compares the original transaction ID "Tx5" of the area Tx9-b of the transaction Tx9 identified in step S21 with the ID of the transaction referenced in step S20, and determines whether they match (step S22 ). If the source transaction ID "Tx5" of the area Tx9-b of the transaction Tx9 identified in step S21 does not match the ID of the transaction referenced in step S20, the detection device determines that the reference source information 142 has been tampered with. It is determined that this is the case, and the trace processing is terminated.

検出装置は、ステップS21で特定したトランザクションTx9の領域Tx9-bの元トランザクションID「Tx5」と、ステップS20で参照したトランザクションのIDとが一致する場合には、トランザクションTx5から、トランザクションTx9への関連を特定する。 If the original transaction ID "Tx5" of area Tx9-b of transaction Tx9 identified in step S21 matches the transaction ID referenced in step S20, the detection device detects the relationship from transaction Tx5 to transaction Tx9. Identify.

検出装置は、上記処理を実行することで、トランザクションTx3を起点とした下り方向のトランザクションのつながりを検出することができる。検出装置は、下り方向のトランザクションのトレース結果を、端末装置に送信する。下り方向のトランザクションのトレース結果は、トランザクションTx3、Tx5、Tx9となる。 By executing the above processing, the detection device can detect a chain of transactions in the downward direction starting from transaction Tx3. The detection device transmits the trace result of the downstream transaction to the terminal device. The trace results of the downward transactions are transactions Tx3, Tx5, and Tx9.

上記のように、本実施例に係る検出装置は、取引が発生する度に、取引の情報、取引時に参照した以前の取引の情報、以前の取引で生成したトランザクションの情報をブロックチェーン140a、ワールドステート140bにそれぞれ登録する。検出装置は、トレースを行う場合に、ブロックチェーン140a、ワールドステート140bに登録した情報を用いて、関連性のあるトランザクションを検出する。これによって、ブロックチェーンに含まれる関連性のあるトランザクション同士をトレースすることができる。 As described above, each time a transaction occurs, the detection device according to the present embodiment transmits information on the transaction, information on the previous transaction referred to at the time of the transaction, and information on the transaction generated in the previous transaction to the blockchain 140a, the world Each is registered in the state 140b. When performing tracing, the detection device detects related transactions using information registered in the blockchain 140a and world state 140b. This allows related transactions contained in the blockchain to be traced.

次に、図1~図6で説明した端末装置および検出装置を含むシステムの一例について説明する。図7は、本実施例に係るシステムの構成を示す図である。図7に示すように、このシステムは、端末装置20a,20b,20cと、検出装置100a,100b,100c,100dを有する。検出装置100a~100dは、それぞれ相互に接続される。端末装置20a~20cと、検出装置100a~100dは、ネットワーク50を介して接続される。以下の説明では、特に区別する場合を除いて、端末装置20a~20cをまとめて、端末装置20と表記する。検出装置100a~100dをまとめて、検出装置100と表記する。 Next, an example of a system including the terminal device and detection device described in FIGS. 1 to 6 will be described. FIG. 7 is a diagram showing the configuration of a system according to this embodiment. As shown in FIG. 7, this system includes terminal devices 20a, 20b, 20c and detection devices 100a, 100b, 100c, 100d. The detection devices 100a to 100d are connected to each other. The terminal devices 20a to 20c and the detection devices 100a to 100d are connected via a network 50. In the following description, the terminal devices 20a to 20c will be collectively referred to as the terminal device 20, unless otherwise specified. The detection devices 100a to 100d are collectively referred to as a detection device 100.

端末装置20は、各取引を行うユーザが使用する端末装置である。たとえば、端末装置20は、ユーザの操作により、取引が発生した旨の情報を受け付けると、図1~図3に示した画面10A~10C等を表示する。ユーザは、端末装置20を操作して、ユーザID、リソースID、元ユーザID、元リソースID等を入力する。端末装置20は、ユーザから入力された情報を、検出装置100に送信する。ユーザIDとリソースIDとの組、元ユーザIDと元リソースIDとの組は、それぞれイベント情報に対応する。 The terminal device 20 is a terminal device used by a user who performs each transaction. For example, when the terminal device 20 receives information indicating that a transaction has occurred through a user's operation, it displays the screens 10A to 10C shown in FIGS. 1 to 3. The user operates the terminal device 20 to input a user ID, resource ID, former user ID, former resource ID, and the like. The terminal device 20 transmits information input by the user to the detection device 100. The pair of user ID and resource ID and the pair of former user ID and former resource ID each correspond to event information.

また、ユーザは、トランザクションのトレースを行う場合には、端末装置20を操作して、トレース要求に関する各種の情報を入力する。端末装置20は、トレース要求の情報を、検出装置100に送信する。トレース要求の情報には、検索キーとなるユーザIDと、リソースIDとが含まれる。また、トレース要求の情報には、上りのトレースを行うのか、下りのトレースを行うのかを示す情報が含まれる。 Further, when tracing a transaction, the user operates the terminal device 20 and inputs various information regarding the trace request. The terminal device 20 transmits trace request information to the detection device 100. The trace request information includes a user ID that serves as a search key and a resource ID. Further, the trace request information includes information indicating whether to perform upstream tracing or downstream tracing.

検出装置100は、取引が発生する度に、取引の情報、取引時に参照した以前の取引の情報、以前の取引で生成したトランザクションの情報をブロックチェーン140a、ワールドステート140bにそれぞれ登録する。検出装置100は、トレース要求の情報を受信した場合、ブロックチェーン140a、ワールドステート140bに登録した情報を用いて、関連性のあるトランザクションを検出する。 Every time a transaction occurs, the detection device 100 registers the transaction information, the previous transaction information referred to at the time of the transaction, and the transaction information generated in the previous transaction in the blockchain 140a and the world state 140b, respectively. When the detection device 100 receives the trace request information, it detects a related transaction using the information registered in the blockchain 140a and the world state 140b.

続いて、本実施例に係る検出装置100の構成の一例について説明する。ここでは一例として、検出装置100aの構成について説明するが、検出装置100b~100dの構成は、検出装置100aと同様である。 Next, an example of the configuration of the detection device 100 according to the present embodiment will be described. Here, the configuration of the detection device 100a will be described as an example, but the configurations of the detection devices 100b to 100d are similar to the detection device 100a.

図8は、本実施例に係る検出装置の構成を示す機能ブロック図である。図8に示すように、この検出装置100aは、通信部110と、記憶部140と、制御部150とを有する。図示を省略するが、検出装置100は、各種の情報を入力する入力装置、各種の情報を表示する表示装置に接続されていてもよい。 FIG. 8 is a functional block diagram showing the configuration of the detection device according to this embodiment. As shown in FIG. 8, this detection device 100a includes a communication section 110, a storage section 140, and a control section 150. Although not shown, the detection device 100 may be connected to an input device for inputting various types of information and a display device for displaying various types of information.

通信部110は、ネットワーク50を介して、端末装置20とデータ通信を実行する処理部である。後述する制御部150は、通信部110を介して、端末装置20とデータをやり取りする。通信部110は、通信装置に対応する。 The communication unit 110 is a processing unit that performs data communication with the terminal device 20 via the network 50. A control unit 150, which will be described later, exchanges data with the terminal device 20 via the communication unit 110. Communication unit 110 corresponds to a communication device.

記憶部140は、ブロックチェーン140aと、ワールドステート140bとを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。 The storage unit 140 includes a blockchain 140a and a world state 140b. The storage unit 140 corresponds to a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as an HDD (Hard Disk Drive).

ブロックチェーン140aは、複数のブロックが連結したデータベースである。図9は、ブロックチェーンのデータ構造の一例を示す図である。図9に示すように、ブロックチェーン140aは、ブロックIDと、ブロック情報とを対応付ける。ブロックIDは、ブロックを一意に識別する情報である。ブロック情報は、ブロックIDに識別されるブロックの情報である。 The blockchain 140a is a database in which a plurality of blocks are connected. FIG. 9 is a diagram illustrating an example of a blockchain data structure. As shown in FIG. 9, the blockchain 140a associates block IDs with block information. Block ID is information that uniquely identifies a block. Block information is information about the block identified by the block ID.

ブロックチェーン140aの各ブロック情報には、ハッシュ値、トランザクションID、トランザクション情報が含まれる。ハッシュ値は、直前のブロック情報のハッシュ値である。トランザクションIDは、トランザクションを一意に識別する情報である。トランザクション情報は、トランザクションIDに識別されるトランザクションの情報である。 Each block information of the blockchain 140a includes a hash value, a transaction ID, and transaction information. The hash value is the hash value of the immediately previous block information. The transaction ID is information that uniquely identifies a transaction. The transaction information is information on the transaction identified by the transaction ID.

ブロックチェーン140aの各トランザクション情報には、ユーザID、リソースID、元トランザクションID、キーが含まれる。ユーザID、リソースIDは、取引が発生した場合に、端末装置の画面に入力される情報である。元トランザクションIDは、上り方向のトランザクションを一意に識別する情報である。キーは、ユーザIDと、リソースIDとを組み合わせた情報である。このキーは、取引の対象と取引を行ったユーザとを識別可能な取引の情報といえる。 Each transaction information of the blockchain 140a includes a user ID, resource ID, original transaction ID, and key. The user ID and resource ID are information that is input on the screen of the terminal device when a transaction occurs. The original transaction ID is information that uniquely identifies an upstream transaction. The key is information that is a combination of a user ID and a resource ID. This key can be said to be transaction information that can identify the object of the transaction and the user who conducted the transaction.

ワールドステート140bは、参照先情報141と、参照元情報142とを有する。参照先情報141は、「第1テーブル」に対応し、参照元情報142は、「第2テーブル」に対応する。図10は、参照先情報のデータ構造の一例を示す図である。図10に示すように、この参照先情報141は、参照先キーと、トランザクションIDとを対応付ける。参照先キーは、取引が発生した際に画面に入力されるユーザIDと、リソースIDとを組み合わせた情報である。トランザクションIDは、取引に対応するトランザクションを一意に識別する情報である。 The world state 140b has reference destination information 141 and reference source information 142. The reference destination information 141 corresponds to the "first table", and the reference source information 142 corresponds to the "second table". FIG. 10 is a diagram illustrating an example of the data structure of reference destination information. As shown in FIG. 10, this reference information 141 associates a reference key with a transaction ID. The reference key is information that is a combination of the user ID and resource ID that are input on the screen when a transaction occurs. The transaction ID is information that uniquely identifies the transaction corresponding to the transaction.

図11は、参照元情報のデータ構造の一例を示す図である。図11に示すように、この参照元情報142は、参照元キーと、トランザクションIDとを対応付ける。参照元キーは、ある参照元の取引を参照した取引が発生した際に画面に入力される元ユーザIDと、元リソースIDとを組み合わせた情報である。トランザクションIDは、取引に対応するトランザクションを一意に識別する情報である。 FIG. 11 is a diagram showing an example of the data structure of reference source information. As shown in FIG. 11, this reference source information 142 associates a reference source key with a transaction ID. The reference source key is information that is a combination of the original user ID and the original resource ID that are input on the screen when a transaction that refers to a transaction of a certain reference source occurs. The transaction ID is information that uniquely identifies the transaction corresponding to the transaction.

図8の説明に移行する。制御部150は、登録部150a、検出部150b、同期部150cを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。 Moving on to the description of FIG. The control unit 150 includes a registration unit 150a, a detection unit 150b, and a synchronization unit 150c. The control unit 150 can be realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Further, the control unit 150 can also be realized by hardwired logic such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

登録部150aは、図1~図3で説明した登録処理を実行する処理部である。まず、最初の取引が発生した場合の、登録部150aの処理について説明する。登録部150aは、最初の取引が発生した場合、端末装置20の画面に入力されたユーザIDと、リソースIDとを取得し、トランザクションを生成する。登録部150aは、生成したトランザクションのトランザクションIDと、トランザクション情報を、ブロックチェーン140aのブロック情報に登録する。登録部150aは、トランザクション情報として、ユーザID、リソースID、元トランザクション「NULL」、ユーザIDおよびリソースIDを組み合わせたキーを登録する。 The registration unit 150a is a processing unit that executes the registration process described in FIGS. 1 to 3. First, the processing of the registration unit 150a when the first transaction occurs will be described. When the first transaction occurs, the registration unit 150a obtains the user ID and resource ID input on the screen of the terminal device 20, and generates a transaction. The registration unit 150a registers the transaction ID and transaction information of the generated transaction in the block information of the blockchain 140a. The registration unit 150a registers a user ID, a resource ID, the original transaction "NULL", and a key that is a combination of the user ID and resource ID as transaction information.

また、登録部150aは、ユーザIDと、リソースIDとを組み合わせたキー(参照先キー)と、生成したトランザクションIDとを、参照先情報141に登録する。 Further, the registration unit 150a registers a key (reference destination key) that is a combination of the user ID and resource ID, and the generated transaction ID in the reference destination information 141.

たとえば、図1で説明したように、登録部150aは、画面10Aに入力されたユーザID「US001」と、リソースID「data0001」とを取得すると、トランザクションTx3を生成する。登録部150aは、トランザクションTx3の情報として、ユーザID「US001」と、リソースID「data0001」と、元トランザクション「NULL」、キー「US001+data0001」を登録する。このキー「US001+data0001」は、取引の対象「data0001」と取引を行ったユーザ「US001」とを識別可能な取引の情報といえる。 For example, as described with reference to FIG. 1, upon acquiring the user ID "US001" and the resource ID "data0001" input on the screen 10A, the registration unit 150a generates the transaction Tx3. The registration unit 150a registers the user ID "US001", the resource ID "data0001", the original transaction "NULL", and the key "US001+data0001" as information on the transaction Tx3. This key "US001+data0001" can be said to be transaction information that allows identification of the transaction object "data0001" and the user "US001" who conducted the transaction.

登録部150aは、参照先キー「US001+data0001」と、トランザクションID「Tx3」とを対応付けて、参照先情報141に登録する。 The registration unit 150a associates the reference destination key “US001+data0001” with the transaction ID “Tx3” and registers them in the reference destination information 141.

続いて、先の取引を参照する取引が発生した場合の、登録部150aの処理について説明する。登録部150aは、端末装置20の画面に入力されたユーザIDと、リソースIDと、元ユーザIDと、元リソースIDとを取得し、トランザクションを生成する。登録部150aは、生成したトランザクションのトランザクションIDと、トランザクション情報を、ブロックチェーン140aのブロック情報に登録する。登録部150aは、トランザクション情報として、ユーザIDと、リソースIDと、ユーザIDおよびリソースIDを組み合わせたキーとを登録する。 Next, a description will be given of the processing performed by the registration unit 150a when a transaction that refers to a previous transaction occurs. The registration unit 150a acquires the user ID, resource ID, former user ID, and former resource ID input on the screen of the terminal device 20, and generates a transaction. The registration unit 150a registers the transaction ID and transaction information of the generated transaction in the block information of the blockchain 140a. The registration unit 150a registers a user ID, a resource ID, and a key that is a combination of the user ID and the resource ID as transaction information.

登録部150aは、ユーザIDと、リソースIDとを組み合わせたキー(参照先キー)と、生成したトランザクションIDとを、参照先情報141に登録する。また、登録部150aは、元ユーザIDと、元リソースIDとを組み合わせたキー(参照元キー)と、生成したトランザクションIDとを、参照元情報142に登録する。 The registration unit 150a registers a key (reference destination key) that is a combination of a user ID and a resource ID, and the generated transaction ID in the reference destination information 141. Further, the registration unit 150a registers a key (reference source key) that is a combination of the former user ID and the original resource ID, and the generated transaction ID in the reference source information 142.

登録部150aは、元ユーザIDと、元リソースIDとを組み合わせたキーと、参照先情報141とを基にして、トランザクションIDを特定し、特定したトランザクションIDを、元トランザクションIDとして、トランザクション情報に登録する。 The registration unit 150a identifies a transaction ID based on a key that is a combination of the original user ID and the original resource ID, and the reference destination information 141, and adds the identified transaction ID to the transaction information as the original transaction ID. register.

たとえば、図2で説明したように、登録部150aは、画面10Bに入力されたユーザID「US002」と、リソースID「data0001」と、元ユーザID「US001」と、元リソースID「data0001」とを取得すると、トランザクションTx5を生成する。登録部150aは、トランザクションTx5の情報として、ユーザID「US002」と、リソースID「data0001」と、キー「US002+data0001」を登録する。 For example, as explained in FIG. 2, the registration unit 150a inputs the user ID "US002" inputted on the screen 10B, the resource ID "data0001", the former user ID "US001", and the former resource ID "data0001". When acquired, transaction Tx5 is generated. The registration unit 150a registers the user ID "US002", the resource ID "data0001", and the key "US002+data0001" as information on the transaction Tx5.

登録部150aは、ユーザID「US002」と、リソースID「data0001」とを組み合わせた参照先キー「US002+data0001」と、トランザクションID「Tx5」とを対応付けて、参照先情報141に登録する。登録部150aは、元ユーザID「US001」と、元リソースID「data0001」とを組み合わせた参照元キー「US001+data0001」と、トランザクションID「Tx5」とを対応付けて、参照元情報142に登録する。 The registration unit 150a associates a reference key "US002+data0001", which is a combination of a user ID "US002" and a resource ID "data0001", with a transaction ID "Tx5" and registers them in the reference information 141. The registration unit 150a associates the reference source key "US001+data0001" which is a combination of the former user ID "US001" and the former resource ID "data0001" with the transaction ID "Tx5" and registers it in the reference source information 142. do.

登録部150aは、元ユーザID「US001」と、元リソースID「data0001」とを組み合わせたキー「US001+data0001」と、参照先情報141とを比較して、トランザクションID「Tx3」を特定する。登録部150aは、特定したトランザクションID「Tx3」を、元トランザクションIDとして、トランザクションTx5に登録する。 The registration unit 150a compares the key "US001+data0001", which is a combination of the former user ID "US001" and the former resource ID "data0001", with the reference destination information 141, and specifies the transaction ID "Tx3". The registration unit 150a registers the specified transaction ID "Tx3" as the original transaction ID in transaction Tx5.

登録部150aは、新たな取引が発生する度に、画面に入力された情報を基にして、上記の処理を繰り返し実行する。 The registration unit 150a repeatedly executes the above process based on the information input on the screen every time a new transaction occurs.

ところで、登録部150aは、一定時間毎に、ブロック情報を生成し、ブロックチェーン140aに登録する。登録部150aは、直前のブロック情報のハッシュ値を算出し、算出したハッシュ値を、生成したブロック情報に登録する。 By the way, the registration unit 150a generates block information at regular intervals and registers it in the blockchain 140a. The registration unit 150a calculates the hash value of the immediately preceding block information, and registers the calculated hash value in the generated block information.

検出部150bは、図4~図7で説明した検出処理を実行する処理部である。まず、検出部150bが、上り方向にトランザクションをトレースする処理について説明する。検出部150bは、端末装置20から、トレース要求の情報を取得し、トレース要求の情報に含まれる検索キーと、参照先情報141とを基にして、検索キーに対応するトランザクションIDを特定する。 The detection unit 150b is a processing unit that executes the detection processing described in FIGS. 4 to 7. First, a process in which the detection unit 150b traces transactions in the upstream direction will be described. The detection unit 150b acquires the trace request information from the terminal device 20, and identifies the transaction ID corresponding to the search key based on the search key included in the trace request information and the reference information 141.

検出部150bは、特定したトランザクションIDのトランザクション(現在のトランザクション)に登録されたキーと、検索キーとが一致するか否かを判定する。検出部150bは、トランザクションに登録されたキーと、検索キーとが一致しない場合には、現在のトランザクションが改竄されていると判定し、トランザクションが改竄されている旨の情報を、端末装置20に送信する。 The detection unit 150b determines whether the search key matches the key registered in the transaction with the specified transaction ID (current transaction). If the key registered in the transaction and the search key do not match, the detection unit 150b determines that the current transaction has been tampered with, and sends information to the terminal device 20 that the transaction has been tampered with. Send.

一方、検出部150bは、現在のトランザクションに登録されたキーと、検索キーとが一致する場合、トランザクションが改竄されていないと判定する。検出部150bは、トランザクションが改竄されていない場合には、現在のトランザクションに登録された元トランザクションIDに対応するトランザクションと、現在のトランザクションとを関連付ける。また、検出部150bは、元トランザクションIDのトランザクションを特定し、更に、特定したトランザクションに登録された元トランザクションIDのトランザクションを辿る処理を繰り返し実行することで、各トランザクションを関連付ける。 On the other hand, if the key registered in the current transaction and the search key match, the detection unit 150b determines that the transaction has not been tampered with. If the transaction has not been tampered with, the detection unit 150b associates the current transaction with the transaction corresponding to the original transaction ID registered in the current transaction. Further, the detection unit 150b identifies the transaction with the original transaction ID, and further associates each transaction by repeatedly performing a process of tracing the transaction with the original transaction ID registered in the identified transaction.

たとえば、図4で説明したように、検出部150bは、検索キー「US002+mdl001」を受け付けると、検索キーと、参照先情報141とを比較して、トランザクションID「Tx9」を特定する。検出部150bは、トランザクションTx9のキー「US002+mdl001」と、検索キー「US002+mdl001」とが一致するため、トランザクションTx9が改竄されていないと判定する。検出部150bは、トランザクションTx9の元トランザクションID「Tx5」を基にして、トランザクションTx9とトランザクションTx5とを関連付ける。検出部150bは、トランザクションTxも元トランザクションID「Tx3」を基にして、トランザクションTx5と、トランザクションTx3とを関連付ける。 For example, as described in FIG. 4, upon receiving the search key "US002+mdl001", the detection unit 150b compares the search key with the reference destination information 141 to identify the transaction ID "Tx9". Since the key "US002+mdl001" of transaction Tx9 and the search key "US002+mdl001" match, the detection unit 150b determines that transaction Tx9 has not been tampered with. The detection unit 150b associates transaction Tx9 and transaction Tx5 based on the original transaction ID "Tx5" of transaction Tx9. The detection unit 150b also associates the transaction Tx5 with the transaction Tx3 based on the original transaction ID "Tx3" of the transaction Tx.

検出部150bは、上記処理を実行することで、トランザクションTx9を起点とした上り方向のトランザクションのつながりを検出することができる。検出部150bは、上り方向のトランザクションのトレース結果を、端末装置に送信する。上り方向のトランザクションのトレース結果は、トランザクションTx9、Tx5、Tx3となる。 By executing the above process, the detection unit 150b can detect a chain of transactions in the upstream direction starting from transaction Tx9. The detection unit 150b transmits the trace result of the upstream transaction to the terminal device. The trace results of the upstream transactions are transactions Tx9, Tx5, and Tx3.

次に、検出部150bが、下り方向にトランザクションをトレースする処理について説明する。検出部150bは、端末装置20から、トレース要求の情報を取得し、トレース要求の情報に含まれる検索キーと、参照先情報141とを基にして、検索キーに対応するトランザクションID(参照先ID)を特定する。 Next, a process in which the detection unit 150b traces transactions in the downstream direction will be described. The detection unit 150b acquires trace request information from the terminal device 20, and based on the search key included in the trace request information and the reference destination information 141, detects the transaction ID (reference destination ID) corresponding to the search key. ).

検出部150bは、検索キーと、参照元情報142とを基にして、検索キーに対応するトランザクションID(参照元ID)を特定し、参照元IDのトランザクション(現在のトランザクション)に登録された元トランザクションIDを特定する。検出部150bは、参照先IDと、元トランザクションIDとが一致するか否かを判定する。 The detection unit 150b identifies the transaction ID (reference source ID) corresponding to the search key based on the search key and the reference source information 142, and identifies the source registered in the transaction (current transaction) with the reference source ID. Identify the transaction ID. The detection unit 150b determines whether the reference ID and the original transaction ID match.

検出部150bは、参照先IDと、元トランザクションIDとが一致しない場合には、現在のトランザクションが改竄されていると判定し、トランザクションが改竄されている旨の情報を、端末装置20に送信する。 If the reference ID and the original transaction ID do not match, the detection unit 150b determines that the current transaction has been tampered with, and sends information to the terminal device 20 that the transaction has been tampered with. .

一方、検出部150bは、参照先IDと、元トランザクションIDとが一致する場合には、現在のトランザクションが改竄されていないと判定する。検出部150bは、参照元IDのトランザクションと、参照先IDのトランザクションとを関連付ける。 On the other hand, if the reference destination ID and the original transaction ID match, the detection unit 150b determines that the current transaction has not been tampered with. The detection unit 150b associates the transaction of the reference source ID with the transaction of the reference destination ID.

たとえば、図5で説明したように、検出部150bは、検索キー「US001+data0001」を受け付けると、検索キーと、参照先情報141とを比較して、参照先ID「Tx3」を特定する。検出部150bは、検索キーと、参照元情報142とを比較して、参照元ID「Tx5」を特定する。検出部150bは、参照元ID「Tx5」のトランザクションTx5の元トランザクションID「Tx3」が、参照先ID「Tx3」と一致するため、トランザクションTx5が改竄されていないと判定する。検出部150bは、参照元ID「Tx5」のトランザクションと、参照先ID「Tx3」のトランザクションとを関連付ける。 For example, as described in FIG. 5, upon receiving the search key "US001+data0001", the detection unit 150b compares the search key with the reference destination information 141 to identify the reference destination ID "Tx3". The detection unit 150b compares the search key with the reference source information 142 and identifies the reference source ID "Tx5." The detection unit 150b determines that the transaction Tx5 has not been tampered with since the original transaction ID "Tx3" of the transaction Tx5 with the reference source ID "Tx5" matches the reference destination ID "Tx3". The detection unit 150b associates the transaction with the reference ID "Tx5" with the transaction with the reference ID "Tx3".

続いて、検出部150bは、参照元IDのトランザクションに登録されたキーと、参照元情報142とを基にして、トランザクションID(次の参照元ID)を特定する。検出部150bは、参照元IDのトランザクションに格納されたトランザクションIDが、一つ前の参照元IDと一致するか否かを判定する。検出部150bは、参照元IDのトランザクションに格納されたトランザクションIDが、一つ前の参照元IDと一致しない場合には、参照元IDのトランザクションが改竄されていると判定し、トランザクションが改竄されている旨の情報を、端末装置20に送信する。 Subsequently, the detection unit 150b identifies the transaction ID (next reference source ID) based on the key registered in the transaction of the reference source ID and the reference source information 142. The detection unit 150b determines whether the transaction ID stored in the transaction of the reference source ID matches the previous reference source ID. If the transaction ID stored in the transaction with the reference ID does not match the previous reference ID, the detection unit 150b determines that the transaction with the reference ID has been tampered with, and determines that the transaction has not been tampered with. The terminal device 20 sends information indicating that the

一方、検出部150bは、参照元IDのトランザクションに格納されたトランザクションIDが、一つ前の参照元IDと一致する場合には、トランザクションが改竄されていないと判定する。検出部150bは、参照元IDのトランザクションと、一つ前の参照元IDのトランザクションとを関連付ける。検出部150bは、上記の処理を繰り返し実行する。 On the other hand, if the transaction ID stored in the transaction with the reference source ID matches the previous reference source ID, the detection unit 150b determines that the transaction has not been tampered with. The detection unit 150b associates the transaction of the reference source ID with the transaction of the previous reference source ID. The detection unit 150b repeatedly executes the above process.

たとえば、図6で説明したように、検出部150bは、トランザクションTx5の元トランザクションID「Tx3」と、参照元情報142とを基にして、次の参照元ID「Tx9」を特定する。検出部150bは、参照元ID「Tx9」のトランザクションTxの元トランザクションID「Tx」が、一つ前の参照元ID「Tx5」と一致しているため、トランザクションTx9が改竄されていないと判定する。検出部150bは、トランザクションTx5と、トランザクションTx9とを関連付ける。 For example, as described in FIG. 6, the detection unit 150b identifies the next reference source ID "Tx9" based on the original transaction ID "Tx3" of the transaction Tx5 and the reference source information 142. The detection unit 150b determines that the transaction Tx9 has not been tampered with since the original transaction ID "Tx" of the transaction Tx with the reference source ID "Tx9" matches the previous reference source ID "Tx5". . The detection unit 150b associates transaction Tx5 and transaction Tx9.

検出部150bは、上記処理を実行することで、トランザクションTx3を起点とした下り方向のトランザクションのつながりを検出することができる。検出部150bは、下り方向のトランザクションのトレース結果を、端末装置20に送信する。下り方向のトランザクションのトレース結果は、トランザクションTx3、Tx5、Tx9となる。 By executing the above process, the detection unit 150b can detect a chain of transactions in the downward direction starting from transaction Tx3. The detection unit 150b transmits the trace result of the downstream transaction to the terminal device 20. The trace results of the downward transactions are transactions Tx3, Tx5, and Tx9.

同期部150cは、検出装置100aに接続された検出装置100b~100dとの間で、記憶部140に登録されたブロックチェーン140a、ワールドステート140bの同期処理を実行する処理部である。同期部150cは、定期的に同期処理を実行してもよいし、ブロックチェーン140aが更新された際に、同期処理を行ってもよい。 The synchronization unit 150c is a processing unit that executes synchronization processing of the blockchain 140a and world state 140b registered in the storage unit 140 with the detection devices 100b to 100d connected to the detection device 100a. The synchronization unit 150c may perform the synchronization process periodically, or may perform the synchronization process when the blockchain 140a is updated.

次に、本実施例に係る検出装置100の処理手順の一例について説明する。図12は、本実施例に係る登録処理を示すフローチャートである。検出装置100は、トランザクションごとに図12に示す処理を行う。N個の取引を関連付ける場合、登録処理をN回実行する。図12に示すように、検出装置100の登録部150aは、次の取引が発生した場合に、端末装置20の画面に入力されたユーザIDとリソースIDとの組、元ユーザIDと元リソースIDとの組を取得する(ステップS101)。登録部150aは、トランザクションを生成し、トランザクションにキー(ユーザID+リソースID)を登録する(ステップS102)。 Next, an example of the processing procedure of the detection device 100 according to this embodiment will be described. FIG. 12 is a flowchart showing the registration process according to this embodiment. The detection device 100 performs the processing shown in FIG. 12 for each transaction. When associating N transactions, the registration process is executed N times. As shown in FIG. 12, when the next transaction occurs, the registration unit 150a of the detection device 100 records the combination of the user ID and resource ID input on the screen of the terminal device 20, the former user ID and the former resource ID. (step S101). The registration unit 150a generates a transaction and registers a key (user ID+resource ID) in the transaction (step S102).

登録部150aは、キー(ユーザID+リソースID)と参照先情報141とを基にして、元トランザクションIDを特定し、トランザクションに登録する(ステップS103)。登録部150aは、参照元情報142に、キー(元ユーザID+元リソースID)とトランザクションIDとを対応付けて登録する(ステップS104)。 The registration unit 150a identifies the original transaction ID based on the key (user ID+resource ID) and the reference information 141, and registers it in the transaction (step S103). The registration unit 150a registers the key (former user ID+former resource ID) and transaction ID in association with each other in the reference source information 142 (step S104).

図13は、本実施例に係る上り方向にトレースする検出処理を示すフローチャートである。図13に示すように、検出装置100の検出部150bは、端末装置20から、上りのトレース要求を受け付ける(ステップS201)。検出部150bは、検索キーと、参照先情報141とを基にして、トランザクションIDを特定する(ステップS202)。 FIG. 13 is a flowchart showing the detection process of tracing in the upstream direction according to this embodiment. As shown in FIG. 13, the detection unit 150b of the detection device 100 receives an uplink trace request from the terminal device 20 (step S201). The detection unit 150b identifies the transaction ID based on the search key and the reference information 141 (step S202).

検出部150bは、トランザクションIDに対応するトランザクションに登録されたキーと、検索キーとが一致するか否かを判定する(ステップS203)。検出部150bは、キーと検索キーとが一致しない場合には(ステップS204,No)、トランザクションが改竄されていると判定し(ステップS205)、ステップS211に移行する。 The detection unit 150b determines whether the key registered in the transaction corresponding to the transaction ID matches the search key (step S203). If the key and the search key do not match (step S204, No), the detection unit 150b determines that the transaction has been tampered with (step S205), and proceeds to step S211.

一方、検出部150bは、キーと検索キーとが一致する場合には(ステップS204,Yes)、ステップS206に移行する。検出部150bは、現在のトランザクションの元トランザクションIDを特定する(ステップS206)。検出部150bは、現在のトランザクションと、元トランザクションIDのトランザクションとを関連付ける(ステップS207)。 On the other hand, if the key and the search key match (step S204, Yes), the detection unit 150b moves to step S206. The detection unit 150b identifies the original transaction ID of the current transaction (step S206). The detection unit 150b associates the current transaction with the transaction of the original transaction ID (step S207).

検出部150bは、元トランザクションIDのトランザクションを現在のトランザクションに設定する(ステップS208)。検出部150bは、現在のトランザクションの元トランザクションIDが「NULL」か否かを判定する(ステップS209)。検出部150bは、元トランザクションIDが「NULL」でない場合には(ステップS210,No)、ステップS206に移行する。 The detection unit 150b sets the transaction with the original transaction ID as the current transaction (step S208). The detection unit 150b determines whether the original transaction ID of the current transaction is "NULL" (step S209). If the original transaction ID is not "NULL" (step S210, No), the detection unit 150b moves to step S206.

検出部150bは、元トランザクションIDが「NULL」である場合には(ステップS210,Yes)、検出結果を端末装置20に出力する(ステップS211)。 If the original transaction ID is "NULL" (step S210, Yes), the detection unit 150b outputs the detection result to the terminal device 20 (step S211).

図14は、本実施例に係る下り方向にトレースする検出処理を示すフローチャートである。図14に示すように、検出装置100の検出部150bは、端末装置20から、下りのトレース要求を受け付ける(ステップS301)。検出部150bは、検索キーと、参照先情報141とを基にして、トランザクションID(参照先ID)を特定する(ステップS302)。 FIG. 14 is a flowchart showing the detection process of tracing in the downward direction according to this embodiment. As shown in FIG. 14, the detection unit 150b of the detection device 100 receives a downlink trace request from the terminal device 20 (step S301). The detection unit 150b identifies the transaction ID (reference ID) based on the search key and the reference information 141 (step S302).

検出部150bは、検索キーと、参照元情報142とを基にして、トランザクションID(参照元ID)を特定する(ステップS303)。検出部150bは、参照元IDに対応するトランザクションに登録された元トランザクションIDと、参照先IDとが一致するか否かを判定する(ステップS304)。検出部150bは、元トランザクションIDと、参照先IDとが一致しない場合には(ステップS305,No)、トランザクションが改竄されていると判定する(ステップS306)。 The detection unit 150b identifies the transaction ID (reference source ID) based on the search key and the reference source information 142 (step S303). The detection unit 150b determines whether the original transaction ID registered in the transaction corresponding to the reference source ID and the reference destination ID match (step S304). If the original transaction ID and the reference ID do not match (step S305, No), the detection unit 150b determines that the transaction has been falsified (step S306).

一方、検出部150bは、元トランザクションIDと、参照先IDとが一致する場合には(ステップS305,Yes)、ステップS307に移行する。検出部150bは、参照元IDのトランザクションと、参照先IDのトランザクションとを関連付ける(ステップS307)。 On the other hand, if the original transaction ID and the reference ID match (step S305, Yes), the detection unit 150b moves to step S307. The detection unit 150b associates the transaction of the reference source ID with the transaction of the reference destination ID (step S307).

検出部150bは、参照元IDのトランザクションに登録されたキーと、参照元情報142とを基にして、トランザクションID(次の参照元ID)を特定する(ステップS308)。検出部150bは、参照元IDに対応するトランザクションの元トランザクションIDと、一つ前の参照元IDとが一致するか否かを判定する(ステップS309)。 The detection unit 150b identifies the transaction ID (next reference source ID) based on the key registered in the transaction of the reference source ID and the reference source information 142 (step S308). The detection unit 150b determines whether or not the original transaction ID of the transaction corresponding to the reference source ID matches the previous reference source ID (step S309).

検出部150bは、元トランザクションIDと、一つ前の参照元IDとが一致しない場合には(ステップS310,No)、ステップS306に移行する。検出部150bは、元トランザクションIDと、一つ前の参照元IDとが一致する場合には(ステップS310,Yes)、現在の参照元IDに対応するトランザクションと、一つ前の参照元IDに対応するトランザクションとを関連付ける(ステップS311)。 If the original transaction ID and the previous reference source ID do not match (step S310, No), the detection unit 150b moves to step S306. If the original transaction ID and the previous reference ID match (step S310, Yes), the detection unit 150b detects the transaction corresponding to the current reference ID and the previous reference ID. Corresponding transactions are associated (step S311).

検出部150bは、現在の参照元IDのトランザクションに登録されたキーが、参照元情報142に登録されているか否かを判定する(ステップS312)。検出部150bは、現在の参照元IDのトランザクションに登録されたキーが、参照元情報142に登録されている場合には(ステップS313,Yes)、ステップS308に移行する。 The detection unit 150b determines whether the key registered in the transaction of the current reference source ID is registered in the reference source information 142 (step S312). If the key registered in the transaction of the current reference source ID is registered in the reference source information 142 (step S313, Yes), the detection unit 150b moves to step S308.

一方、検出部150bは、現在の参照元IDのトランザクションに登録されたキーが、参照元情報142に登録されていない場合には(ステップS313,No)、検出結果を端末装置20に出力する(ステップS314)。 On the other hand, if the key registered in the transaction with the current reference source ID is not registered in the reference source information 142 (step S313, No), the detection unit 150b outputs the detection result to the terminal device 20 ( Step S314).

次に、本実施例に係る検出装置100の効果について説明する。検出装置100は、取引が発生する度に、発生した取引の情報、参照された以前の取引の情報、以前の取引のトランザクションIDをブロックチェーン140a、ワールドステート140bに登録する。検出装置100は、トレース要求を受け付けると、ブロックチェーン140a、ワールドステート140bを基にして、検索キーに対応するトランザクションに関連するトランザクションを検出し、トレースを行う。これによって、ブロックチェーン140aに含まれる関連性のあるトランザクション同士をトレースすることができる。 Next, the effects of the detection device 100 according to this embodiment will be explained. Every time a transaction occurs, the detection device 100 registers information on the transaction that has occurred, information on the referenced previous transaction, and transaction ID of the previous transaction in the blockchain 140a and the world state 140b. Upon receiving the trace request, the detection device 100 detects a transaction related to the transaction corresponding to the search key based on the blockchain 140a and the world state 140b, and performs tracing. This makes it possible to trace related transactions included in the blockchain 140a.

検出装置100は、トレース要求を受け付けた場合、検索キーと参照先情報141とを基にしてトランザクションIDを特定する。検出装置100は、トランザクションIDに対応するトランザクションに登録されたキーと、検索キーとが一致する場合に、トランザクションと、トランザクションに登録された元トランザクションIDのトランザクションとを関連付ける。これによって、改竄を保証したトランザクションを、上り方向にトレースした結果を検出することができる。 When the detection device 100 receives a trace request, the detection device 100 identifies the transaction ID based on the search key and the reference destination information 141. When the key registered in the transaction corresponding to the transaction ID and the search key match, the detection device 100 associates the transaction with the transaction with the original transaction ID registered in the transaction. This makes it possible to detect the results of tracing a transaction guaranteed to be tampered in the upstream direction.

検出装置100は、トレース要求を受け付けた場合、検索キーと参照元情報142とを基にして、参照元IDを特定し、参照元IDのトランザクションに登録された元トランザクションIDを特定する。検出装置100は、元トランザクションIDと、検索キーと参照先情報141とから特定される参照先IDとが一致する場合、参照元IDのトランザクションと、参照先IDのトランザクションとを関連付ける。これによって、改竄を保証したトランザクションを、下り方向にトレースした結果を検出することができる。 When the detection device 100 receives a trace request, the detection device 100 identifies the reference source ID based on the search key and the reference source information 142, and identifies the original transaction ID registered in the transaction of the reference source ID. When the source transaction ID and the reference destination ID specified from the search key and the reference destination information 141 match, the detection device 100 associates the transaction with the reference source ID and the transaction with the reference destination ID. This makes it possible to detect the results of tracing a transaction guaranteed to be tampered in the downward direction.

検出装置100は、参照元IDのトランザクションに格納されたトランザクションIDが、一つ前の参照元IDと一致する場合には、トランザクションが改竄されていないと判定する。そして、検出装置100は、参照元IDのトランザクションと、一つ前の参照元IDのトランザクションとを関連付ける。これによって、改竄を保証したトランザクションを、下り方向にトレースした結果を検出することができる。 The detection device 100 determines that the transaction has not been tampered with if the transaction ID stored in the transaction of the reference source ID matches the previous reference source ID. Then, the detection device 100 associates the transaction of the reference source ID with the transaction of the previous reference source ID. This makes it possible to detect the results of tracing a transaction guaranteed to be tampered in the downward direction.

検出装置100は、トレースするための情報として、トランザクション、参照先情報141、参照元情報142に、ユーザID、リソースID、トランザクションIDを登録するのみであるため、データサイズを小さくすることができる。また、トレースするための情報が小さいため、検出装置100が走査する情報量を削減でき、処理速度の向上、リアルタイム性の向上を図ることができる。 Since the detection device 100 only registers the user ID, resource ID, and transaction ID in the transaction, reference destination information 141, and reference source information 142 as information for tracing, the data size can be reduced. Further, since the information to be traced is small, the amount of information scanned by the detection device 100 can be reduced, and processing speed and real-time performance can be improved.

次に、本実施例に示した検出装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図15は、本実施例に係る検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 Next, an example of the hardware configuration of a computer that implements the same functions as the detection device 100 shown in this embodiment will be described. FIG. 15 is a diagram showing an example of the hardware configuration of a computer that implements the same functions as the detection device according to this embodiment.

図15に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置305とを有する。コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。 As shown in FIG. 15, the computer 300 includes a CPU 301 that executes various calculation processes, an input device 302 that accepts data input from a user, and a display 303. The computer 300 also includes a reading device 304 that reads programs and the like from a storage medium, and an interface device 305 that exchanges data with an external device or the like via a wired or wireless network. Computer 300 includes a RAM 306 that temporarily stores various information and a hard disk drive 307. Each device 301 to 307 is then connected to a bus 308.

ハードディスク装置307は、登録プログラム307a、検出プログラム307b、同期プログラム307cを有する。CPU301は、登録プログラム307a、検出プログラム307b、同期プログラム307cを読み出してRAM306に展開する。 The hard disk device 307 has a registration program 307a, a detection program 307b, and a synchronization program 307c. The CPU 301 reads the registration program 307a, the detection program 307b, and the synchronization program 307c and expands them into the RAM 306.

登録プログラム307aは、登録プロセス306aとして機能する。検出プログラム307bは、検出プロセス306bとして機能する。同期プログラム307cは、同期プロセス306cとして機能する。 Registration program 307a functions as registration process 306a. The detection program 307b functions as a detection process 306b. The synchronization program 307c functions as a synchronization process 306c.

登録プロセス306aの処理は、登録部150aの処理に対応する。検出プロセス306bの処理は、検出部150bの処理に対応する。同期プロセス306cの処理は、同期部150cの処理に対応する。 The processing of the registration process 306a corresponds to the processing of the registration unit 150a. The processing of the detection process 306b corresponds to the processing of the detection unit 150b. The processing of the synchronization process 306c corresponds to the processing of the synchronization unit 150c.

なお、各プログラム307a~307cついては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307cを読み出して実行するようにしてもよい。 Note that each of the programs 307a to 307c does not necessarily need to be stored in the hard disk drive 307 from the beginning. For example, each program is stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD disk, magneto-optical disk, or IC card that is inserted into the computer 300. Then, the computer 300 may read and execute each program 307a to 307c.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 Regarding the embodiments including each of the above examples, the following additional notes are further disclosed.

(付記1)コンピュータに、
第1イベントが発生した場合、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、
前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、
前記第1イベントより前に発生した第2イベントに関する第2イベント情報と、前記第1トランザクションの識別情報とを対応付けて第2テーブルに登録し、
前記第2イベント情報と、前記第1テーブルとを基にして、前記第2イベント情報に対応する第2イベントが発生した際に登録された第2トランザクションの識別情報を特定し、特定した識別情報と前記第2イベント情報とを前記第1トランザクションに登録し、
第3イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第3イベントに関連するトランザクションを検出する
処理を実行させることを特徴とする検出プログラム。
(Additional note 1) On the computer,
If a first event occurs, generate a first transaction corresponding to the first event and register it on the blockchain;
registering first event information regarding the first event and identification information of the first transaction in a first table;
registering second event information regarding a second event that occurred before the first event and identification information of the first transaction in a second table;
identifying identification information of a second transaction registered when a second event corresponding to the second event information occurs based on the second event information and the first table; and identifying the identified identification information. and the second event information in the first transaction,
When a trace request for a third event is received, a transaction related to the third event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table. A detection program characterized by causing a process to be executed.

(付記2)前記検出する処理は、前記第3イベントに関する第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第3イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付けることを特徴とする付記1に記載の検出プログラム。 (Additional note 2) The detecting process identifies and identifies a transaction having identification information corresponding to the third event information based on the third event information regarding the third event and the first table. Supplementary Note 1, characterized in that when the event information registered in the transaction and the third event information match, the specified transaction is associated with the transaction corresponding to the identification information registered in the specified transaction. detection program.

(付記3)前記検出する処理は、前記第3イベントに関する第3イベント情報と、前記第2テーブルとを基にして、前記第3イベント情報に対応する識別情報を有する第3トランザクションを特定し、前記第3トランザクションに登録された識別情報と、前記第1テーブルに登録された前記第3イベント情報に対応する識別情報とが一致する場合に、前記第3トランザクションと、前記第3トランザクションに登録された識別情報に対応する第4トランザクションとを関連付けることを特徴とする付記1または2に記載の検出プログラム。 (Supplementary Note 3) The detecting process identifies a third transaction having identification information corresponding to the third event information based on the third event information regarding the third event and the second table; If the identification information registered in the third transaction and the identification information corresponding to the third event information registered in the first table match, the third transaction and the identification information registered in the third transaction The detection program according to appendix 1 or 2, characterized in that the detection program associates the identification information with the fourth transaction corresponding to the identification information.

(付記4)前記検出する処理は、前記第3トランザクションに登録されたイベント情報と、前記第2テーブルとを基にして、前記第3トランザクションに登録されたイベント情報に対応する識別情報を有する第5トランザクションを特定し、前記第5トランザクションに登録された識別情報が、前記第3トランザクションを識別する識別情報である場合に、前記第3トランザクションと前記第5トランザクションとを関連付けることを特徴とする付記3に記載の検出プログラム。 (Supplementary note 4) The detecting process is based on the event information registered in the third transaction and the second table, and the detecting process is based on the event information registered in the third transaction and the second table. 5 transaction, and when identification information registered in the fifth transaction is identification information that identifies the third transaction, the third transaction and the fifth transaction are associated. The detection program described in 3.

(付記5)前記検出する処理は、前記第3トランザクション、前記第4トランザクション、前記第5トランザクションの順に、関連付けを行うことを特徴とする付記4に記載の検出プログラム。 (Supplementary note 5) The detection program according to supplementary note 4, wherein the detecting process associates the third transaction, the fourth transaction, and the fifth transaction in this order.

(付記6)コンピュータが実行する検出方法であって、
第1イベントが発生した場合、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、
前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、
前記第1イベントより前に発生した第2イベントに関する第2イベント情報と、前記第1トランザクションの識別情報とを対応付けて第2テーブルに登録し、
前記第2イベント情報と、前記第1テーブルとを基にして、前記第2イベント情報に対応する第2イベントが発生した際に登録された第2トランザクションの識別情報を特定し、特定した識別情報と前記第2イベント情報とを前記第1トランザクションに登録し、
第3イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第3イベントに関連するトランザクションを検出する
処理を実行することを特徴とする検出方法。
(Additional note 6) A detection method executed by a computer, comprising:
If a first event occurs, generate a first transaction corresponding to the first event and register it on the blockchain;
registering first event information regarding the first event and identification information of the first transaction in a first table;
registering second event information regarding a second event that occurred before the first event and identification information of the first transaction in a second table;
identifying identification information of a second transaction registered when a second event corresponding to the second event information occurs based on the second event information and the first table; and identifying the identified identification information. and the second event information in the first transaction,
When a trace request for a third event is received, a transaction related to the third event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table. A detection method characterized by performing processing.

(付記7)前記検出する処理は、前記第3イベントに関する第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第3イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付けることを特徴とする付記6に記載の検出方法。 (Additional Note 7) The detecting process includes identifying and specifying a transaction having identification information corresponding to the third event information based on the third event information regarding the third event and the first table. Supplementary Note 6, characterized in that when the event information registered in the transaction and the third event information match, the specified transaction is associated with the transaction corresponding to the identification information registered in the specified transaction. Detection method.

(付記8)前記検出する処理は、前記第3イベントに関する第3イベント情報と、前記第2テーブルとを基にして、前記第3イベント情報に対応する識別情報を有する第3トランザクションを特定し、前記第3トランザクションに登録された識別情報と、前記第1テーブルに登録された前記第3イベント情報に対応する識別情報とが一致する場合に、前記第3トランザクションと、前記第3トランザクションに登録された識別情報に対応する第4トランザクションとを関連付けることを特徴とする付記6または7に記載の検出方法。 (Additional Note 8) The detecting process specifies a third transaction having identification information corresponding to the third event information based on the third event information regarding the third event and the second table; If the identification information registered in the third transaction and the identification information corresponding to the third event information registered in the first table match, the third transaction and the identification information registered in the third transaction 8. The detection method according to appendix 6 or 7, characterized in that the fourth transaction is associated with the identified identification information.

(付記9)前記検出する処理は、前記第3トランザクションに登録されたイベント情報と、前記第2テーブルとを基にして、前記第3トランザクションに登録されたイベント情報に対応する識別情報を有する第5トランザクションを特定し、前記第5トランザクションに登録された識別情報が、前記第3トランザクションを識別する識別情報である場合に、前記第3トランザクションと前記第5トランザクションとを関連付けることを特徴とする付記8に記載の検出方法。 (Supplementary note 9) The detecting process is based on the event information registered in the third transaction and the second table, and the detecting process is performed based on the event information registered in the third transaction and the second table. 5 transaction, and when identification information registered in the fifth transaction is identification information that identifies the third transaction, the third transaction and the fifth transaction are associated. 8. Detection method according to 8.

(付記10)前記検出する処理は、前記第3トランザクション、前記第4トランザクション、前記第5トランザクションの順に、関連付けを行うことを特徴とする付記9に記載の検出方法。 (Supplementary note 10) The detection method according to supplementary note 9, wherein the detecting process associates the third transaction, the fourth transaction, and the fifth transaction in this order.

(付記11)第1イベントが発生した場合、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、前記第1イベントより前に発生した第2イベントに関する第2イベント情報と、前記第1トランザクションの識別情報とを対応付けて第2テーブルに登録し、前記第2イベント情報と、前記第1テーブルとを基にして、前記第2イベント情報に対応する第2イベントが発生した際に登録された第2トランザクションの識別情報を特定し、特定した識別情報と前記第2イベント情報とを前記第1トランザクションに登録する登録部と、
第3イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第3イベントに関連するトランザクションを検出する検出部と
を有することを特徴とする検出装置。
(Additional Note 11) When a first event occurs, a first transaction corresponding to the first event is generated and registered in the blockchain, and first event information regarding the first event and identification information of the first transaction are generated. and registering in a first table in association with, and registering in a second table in association with second event information regarding a second event that occurred before the first event and identification information of the first transaction; identifying identification information of a second transaction registered when a second event corresponding to the second event information occurs based on the second event information and the first table; and identifying the identified identification information. and a registration unit that registers the second event information in the first transaction;
When a trace request for a third event is received, a transaction related to the third event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table. A detection device comprising: a detection unit that performs

(付記12)前記検出部は、前記第3イベントに関する第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第3イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付けることを特徴とする付記11に記載の検出装置。 (Additional Note 12) The detection unit identifies a transaction having identification information corresponding to the third event information based on the third event information regarding the third event and the first table, and the identified transaction Supplementary note 11, characterized in that when the event information registered in the third event information matches the third event information, the specified transaction is associated with the transaction corresponding to the identification information registered in the specified transaction. Detection device.

(付記13)前記検出部は、前記第3イベントに関する第3イベント情報と、前記第2テーブルとを基にして、前記第3イベント情報に対応する識別情報を有する第3トランザクションを特定し、前記第3トランザクションに登録された識別情報と、前記第1テーブルに登録された前記第3イベント情報に対応する識別情報とが一致する場合に、前記第3トランザクションと、前記第3トランザクションに登録された識別情報に対応する第4トランザクションとを関連付けることを特徴とする付記11または12に記載の検出装置。 (Additional Note 13) The detection unit specifies a third transaction having identification information corresponding to the third event information based on third event information regarding the third event and the second table, and If the identification information registered in the third transaction and the identification information corresponding to the third event information registered in the first table match, the third transaction and the identification information registered in the third transaction The detection device according to appendix 11 or 12, characterized in that the detection device associates the identification information with the corresponding fourth transaction.

(付記14)前記検出部は、前記第3トランザクションに登録されたイベント情報と、前記第2テーブルとを基にして、前記第3トランザクションに登録されたイベント情報に対応する識別情報を有する第5トランザクションを特定し、前記第5トランザクションに登録された識別情報が、前記第3トランザクションを識別する識別情報である場合に、前記第3トランザクションと前記第5トランザクションとを関連付けることを特徴とする付記13に記載の検出装置。 (Additional Note 14) The detection unit is configured to detect, based on the event information registered in the third transaction and the second table, a fifth one having identification information corresponding to the event information registered in the third transaction. Supplementary note 13, characterized in that when identifying a transaction and identifying information registered in the fifth transaction is identification information identifying the third transaction, the third transaction and the fifth transaction are associated. The detection device described in .

(付記15)前記検出する処理は、前記第3トランザクション、前記第4トランザクション、前記第5トランザクションの順に、関連付けを行うことを特徴とする付記14に記載の検出装置。 (Additional Note 15) The detection device according to Additional Note 14, wherein the detecting process performs association in the order of the third transaction, the fourth transaction, and the fifth transaction.

20a,20b,20c,20d 端末装置
50 ネットワーク
100a,100b,100c,100d 検出装置
110 通信部
140 記憶部
140a ブロックチェーン
140b ワールドステート
141 参照先情報
142 参照元情報
150 制御部
150a 登録部
150b 検出部
150c 同期部
20a, 20b, 20c, 20d terminal device 50 network 100a, 100b, 100c, 100d detection device 110 communication section 140 storage section 140a blockchain 140b world state 141 reference destination information 142 reference source information 150 control section 150a registration section 150b detection section 150c Synchronization part

Claims (6)

コンピュータに、
第1イベントが発生したことに応じて、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、
前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、
前記第1イベントの発生後に第2イベントが発生したことに応じて、前記第2イベントに対応する第2トランザクションを生成してブロックチェーンに登録し、
前記第1イベントと、前記第2トランザクションの識別情報とを対応付けて第2テーブルに登録し、
前記第1イベントより前に発生した第3イベントに関する第3イベント情報と、前記第1トランザクションの識別情報とを対応付けて前記第2テーブルに登録し、
前記第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する第2イベントが発生した際に登録された第3トランザクションの識別情報を特定し、特定した識別情報と前記第3イベント情報とを前記第1トランザクションに登録し、
前記第1イベントのトレース要求を受け付けた場合に、前記第1テーブルから第1トランザクションの識別情報を特定するとともに、前記第2テーブルから前記第2トランザクションの識別情報を特定
第4イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第4イベントに関連するトランザクションを検出し、
前記第4イベントに関する第4イベント情報と、前記第1テーブルとを基にして、前記第4イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第4イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付ける、
処理を実行させることを特徴とする検出プログラム。
to the computer,
In response to the occurrence of a first event, generate a first transaction corresponding to the first event and register it on the blockchain;
registering first event information regarding the first event and identification information of the first transaction in a first table;
In response to the occurrence of a second event after the occurrence of the first event, a second transaction corresponding to the second event is generated and registered in the blockchain;
registering the first event and identification information of the second transaction in a second table in association with each other;
registering third event information regarding a third event that occurred before the first event and identification information of the first transaction in the second table;
Identifying identification information of a third transaction registered when a second event corresponding to the third event information occurs based on the third event information and the first table, and identifying the identified identification information. and the third event information in the first transaction,
When a trace request for the first event is received, identifying identification information of the first transaction from the first table and identifying information of the second transaction from the second table;
When a trace request for the fourth event is received, a transaction related to the fourth event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table. death,
Based on the fourth event information related to the fourth event and the first table, a transaction having identification information corresponding to the fourth event information is specified, and the event information registered in the specified transaction and the If the fourth event information matches, associating the identified transaction with the transaction corresponding to the identification information registered in the identified transaction;
A detection program characterized by causing processing to be executed.
前記検出する処理は、前記第4イベントに関する第4イベント情報と、前記第2テーブルとを基にして、前記第4イベント情報に対応する識別情報を有する第4トランザクションを特定し、前記第4トランザクションに登録された識別情報と、前記第1テーブルに登録された前記第4イベント情報に対応する識別情報とが一致する場合に、前記第4トランザクションと、前記第4トランザクションに登録された識別情報に対応する第5トランザクションとを関連付けることを特徴とする請求項に記載の検出プログラム。 The detecting process includes identifying a fourth transaction having identification information corresponding to the fourth event information based on the fourth event information regarding the fourth event and the second table; When the identification information registered in the fourth transaction and the identification information corresponding to the fourth event information registered in the first table match, the fourth transaction and the identification information registered in the fourth transaction 2. The detection program according to claim 1, wherein the detection program is associated with a corresponding fifth transaction. 前記検出する処理は、前記第4トランザクションに登録されたイベント情報と、前記第2テーブルとを基にして、前記第4トランザクションに登録されたイベント情報に対応する識別情報を有する第6トランザクションを特定し、前記第6トランザクションに登録された識別情報が、前記第4トランザクションを識別する識別情報である場合に、前記第4トランザクションと前記第6トランザクションとを関連付けることを特徴とする請求項に記載の検出プログラム。 The detecting process includes identifying a sixth transaction having identification information corresponding to the event information registered in the fourth transaction based on the event information registered in the fourth transaction and the second table. 3. The fourth transaction and the sixth transaction are associated with each other when the identification information registered in the sixth transaction is identification information that identifies the fourth transaction. detection program. 前記検出する処理は、前記第4トランザクション、前記第5トランザクション、前記第6トランザクションの順に、関連付けを行うことを特徴とする請求項に記載の検出プログラム。 4. The detection program according to claim 3 , wherein the detecting process associates the fourth transaction, the fifth transaction, and the sixth transaction in this order. コンピュータが実行する検出方法であって、
第1イベントが発生したことに応じて、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、
前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、
前記第1イベントの発生後に第2イベントが発生したことに応じて、前記第2イベントに対応する第2トランザクションを生成してブロックチェーンに登録し、
前記第1イベントと、前記第2トランザクションの識別情報とを対応付けて第2テーブルに登録し、
前記第1イベントより前に発生した第3イベントに関する第3イベント情報と、前記第1トランザクションの識別情報とを対応付けて前記第2テーブルに登録し、
前記第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する第2イベントが発生した際に登録された第3トランザクションの識別情報を特定し、特定した識別情報と前記第3イベント情報とを前記第1トランザクションに登録し、
前記第1イベントのトレース要求を受け付けた場合に、前記第1テーブルから第1トランザクションの識別情報を特定するとともに、前記第2テーブルから前記第2トランザクションの識別情報を特定
第4イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第4イベントに関連するトランザクションを検出し、前記第4イベントに関する第4イベント情報と、前記第1テーブルとを基にして、前記第4イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第4イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付ける、
処理を実行することを特徴とする検出方法。
A detection method performed by a computer, comprising:
In response to the occurrence of a first event, generate a first transaction corresponding to the first event and register it on the blockchain;
registering first event information regarding the first event and identification information of the first transaction in a first table;
In response to the occurrence of a second event after the occurrence of the first event, a second transaction corresponding to the second event is generated and registered in the blockchain;
registering the first event and identification information of the second transaction in a second table in association with each other;
registering third event information regarding a third event that occurred before the first event and identification information of the first transaction in the second table;
Identifying identification information of a third transaction registered when a second event corresponding to the third event information occurs based on the third event information and the first table, and identifying the identified identification information. and the third event information in the first transaction,
When a trace request for the first event is received, identifying identification information of the first transaction from the first table and identifying information of the second transaction from the second table;
When a trace request for the fourth event is received, a transaction related to the fourth event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table. Then, based on the fourth event information related to the fourth event and the first table, a transaction having identification information corresponding to the fourth event information is identified, and event information registered in the identified transaction is identified. , when the fourth event information matches, associating the identified transaction with the transaction corresponding to the identification information registered in the identified transaction;
A detection method characterized by performing processing.
第1イベントが発生したことに応じて、前記第1イベントに対応する第1トランザクションを生成してブロックチェーンに登録し、前記第1イベントに関する第1イベント情報と、前記第1トランザクションの識別情報とを対応付けて第1テーブルに登録し、前記第1イベントの発生後に第2イベントが発生したことに応じて、前記第2イベントに対応する第2トランザクションを生成してブロックチェーンに登録し、前記第1イベントと、前記第2トランザクションの識別情報とを対応付けて第2テーブルに登録し、前記第1イベントより前に発生した第3イベントに関する第3イベント情報と、前記第1トランザクションの識別情報とを対応付けて前記第2テーブルに登録し、前記第3イベント情報と、前記第1テーブルとを基にして、前記第3イベント情報に対応する第2イベントが発生した際に登録された第3トランザクションの識別情報を特定し、特定した識別情報と前記第3イベント情報とを前記第1トランザクションに登録する登録部と、
前記第1イベントのトレース要求を受け付けた場合に、前記第1テーブルから第1トランザクションの識別情報を特定するとともに、前記第2テーブルから前記第2トランザクションの識別情報を特定し、第4イベントのトレース要求を受け付けた場合に、前記ブロックチェーンに登録された複数のトランザクションと、前記第1テーブルと、前記第2テーブルとを基にして、前記第4イベントに関連するトランザクションを検出し、前記第4イベントに関する第4イベント情報と、前記第1テーブルとを基にして、前記第4イベント情報に対応する識別情報を有するトランザクションを特定し、特定したトランザクションに登録されたイベント情報と、前記第4イベント情報が一致する場合に、特定したトランザクションと、特定したトランザクションに登録された識別情報に対応するトランザクションとを関連付ける検出部と、
を有することを特徴とする検出装置。
In response to the occurrence of a first event, a first transaction corresponding to the first event is generated and registered in the blockchain, and first event information regarding the first event and identification information of the first transaction are are registered in a first table in association with each other, and in response to the occurrence of a second event after the occurrence of the first event, a second transaction corresponding to the second event is generated and registered in the blockchain; A first event and identification information of the second transaction are registered in a second table in association with each other, and third event information regarding a third event that occurred before the first event and identification information of the first transaction are registered in a second table. are registered in the second table in association with each other, and based on the third event information and the first table, the second event registered when the second event corresponding to the third event information occurs is registered. a registration unit that specifies identification information of the third transaction and registers the specified identification information and the third event information in the first transaction ;
When a trace request for the first event is received, identification information of the first transaction is specified from the first table, identification information of the second transaction is specified from the second table , and tracing of the fourth event is performed. When the request is received, a transaction related to the fourth event is detected based on the plurality of transactions registered in the blockchain, the first table, and the second table, and the transaction related to the fourth event is detected. Based on the fourth event information related to the event and the first table, a transaction having identification information corresponding to the fourth event information is specified, and the event information registered in the specified transaction and the fourth event a detection unit that associates the specified transaction with a transaction corresponding to identification information registered in the specified transaction when the information matches;
A detection device comprising:
JP2019061624A 2019-03-27 2019-03-27 Detection program, detection method and detection device Active JP7354568B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019061624A JP7354568B2 (en) 2019-03-27 2019-03-27 Detection program, detection method and detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019061624A JP7354568B2 (en) 2019-03-27 2019-03-27 Detection program, detection method and detection device

Publications (2)

Publication Number Publication Date
JP2020160983A JP2020160983A (en) 2020-10-01
JP7354568B2 true JP7354568B2 (en) 2023-10-03

Family

ID=72639529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019061624A Active JP7354568B2 (en) 2019-03-27 2019-03-27 Detection program, detection method and detection device

Country Status (1)

Country Link
JP (1) JP7354568B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
JP2018081498A (en) 2016-11-16 2018-05-24 PwCあらた有限責任監査法人 Data structure, information processor, program, information processing method, and transaction system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
JP2018081498A (en) 2016-11-16 2018-05-24 PwCあらた有限責任監査法人 Data structure, information processor, program, information processing method, and transaction system

Also Published As

Publication number Publication date
JP2020160983A (en) 2020-10-01

Similar Documents

Publication Publication Date Title
CN104246767B (en) Telemetry system for cloud synchronization system
CN110443274B (en) Abnormality detection method, abnormality detection device, computer device, and storage medium
US9842043B2 (en) System and method to implement an electronic document based automated testing of a software application
US10186133B2 (en) Method for disaster notification service not requiring collecting of location information, and disaster notification server and application system thereof
CN109241709B (en) User behavior identification method and device based on slider verification code verification
US10078502B2 (en) Verification of a model of a GUI-based application
WO2015025694A1 (en) Scoring device and method for scoring security threat
CN110516173B (en) Illegal network station identification method, illegal network station identification device, illegal network station identification equipment and illegal network station identification medium
CN103606094A (en) Mobile Internet advertisement monitoring method and system thereof
US10241621B2 (en) Determining unintended touch rejection
CN110992092A (en) Advertisement putting detection method and device, electronic equipment and storage medium
JP5264813B2 (en) Evaluation apparatus, evaluation method, and evaluation program
CN112734046A (en) Model training and data detection method, device, equipment and medium
CA3152858A1 (en) Link-based risk user identification method and device
CN104024991B (en) Different event models are supported using single input source
CN102866885A (en) Method and device for confirming clicking position in webpage
JP7354568B2 (en) Detection program, detection method and detection device
CN105550183A (en) Identifying method of identifying information in webpage and electronic device
CN110880023A (en) Method and device for detecting certificate picture
CN108133132B (en) Identity verification method and system and electronic equipment
CN110659517A (en) Data verification method and device, computer equipment and storage medium
CN105403221A (en) Method for generating navigation route and mobile terminal
CN110209572A (en) Ui testing method, ui testing system and terminal
JP2019148859A (en) Device and method supporting discovery of design pattern in model development environment using flow diagram
CN114238968A (en) Application program detection method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230719

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7354568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150