JP2020035214A - Program, information processing system, and information processing method - Google Patents

Program, information processing system, and information processing method Download PDF

Info

Publication number
JP2020035214A
JP2020035214A JP2018161757A JP2018161757A JP2020035214A JP 2020035214 A JP2020035214 A JP 2020035214A JP 2018161757 A JP2018161757 A JP 2018161757A JP 2018161757 A JP2018161757 A JP 2018161757A JP 2020035214 A JP2020035214 A JP 2020035214A
Authority
JP
Japan
Prior art keywords
transaction
key
transactions
information
block
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.)
Granted
Application number
JP2018161757A
Other languages
Japanese (ja)
Other versions
JP7187894B2 (en
Inventor
郁子 太田
Ikuko Ota
郁子 太田
航宇 李
hang-yu Li
航宇 李
裕貴 米倉
Yuki Yonekura
裕貴 米倉
雅史 小林
Masafumi Kobayashi
雅史 小林
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 JP2018161757A priority Critical patent/JP7187894B2/en
Publication of JP2020035214A publication Critical patent/JP2020035214A/en
Application granted granted Critical
Publication of JP7187894B2 publication Critical patent/JP7187894B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

To provide a program, an information processing system, and an information processing method, capable of tracing information of transactions recorded in blockchains.SOLUTION: A program causes a computer which records transactions using a blockchain in response to requests from terminals, to execute processing for: registering a key identifying one transaction amongst a series of a plurality of transactions and transaction identification information corresponding to the key, outside a block configuring the blockchain; and registering trace information expressing descriptions and sequences of the plurality of transactions or a hash value of the trace information, a key, a key expressing an immediately preceding transaction or the transaction identification information expressing the immediately preceding transaction, within the block.SELECTED DRAWING: Figure 12

Description

本発明は、プログラム,情報処理システム及び情報処理方法に関する。   The present invention relates to a program, an information processing system, and an information processing method.

ブロックチェーンでは、取引の情報が最初から最後まで連続して記録されており、記録されたデータの改ざんが発生しづらい。このようなブロックチェーンの特徴を活かして、製品品質に関する情報をトレース可能にすることが研究されている。   In the blockchain, transaction information is recorded continuously from the beginning to the end, and it is difficult for the recorded data to be falsified. It has been studied to make it possible to trace information on product quality by utilizing the characteristics of such a block chain.

ブロックチェーン上の取引をトレースすることができれば、例えば、生産者は提供した製品の品質に問題が無いことを証明でき、消費者は購入した製品の原材料・部品等が安全なものかを知ることができる。   If the transaction on the blockchain can be traced, for example, the producer can prove that there is no problem in the quality of the provided product, and the consumer can know whether the raw materials and parts of the purchased product are safe. Can be.

特開2018−55203号公報JP 2018-55203 A 特許第6247737号公報Japanese Patent No. 6247737 特開2017−224018号公報JP-A-2017-222018

オープンソースのブロックチェーンを提供するHyperledger Fabricでは、トレーサビリティ機能が提供されていない。そこで、取引をトレースするためには、チェーンコード(別言すれば、「スマートコントラクト」)によるトレーサビリティ機能の実装が必要である。   Hyperledger Fabric, which offers an open source blockchain, does not provide traceability features. Therefore, in order to trace transactions, it is necessary to implement a traceability function using a chain code (in other words, “smart contract”).

しかしながら、ブロックチェーン上の各情報を関連付けた再帰的なトレースを実現することは、容易でない。   However, it is not easy to realize a recursive trace that associates each piece of information on the blockchain.

1つの側面では、ブロックチェーンに記録された取引の情報をトレース可能にすることを目的とする。   In one aspect, it is an object of the present invention to enable information of a transaction recorded in a block chain to be traced.

プログラムは、端末からの要求に応じてブロックチェーンを用いた取引を記録するコンピュータに、一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録し、前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する、処理を実行させる。   The program stores, in a computer that records transactions using the blockchain in response to a request from the terminal, a key specifying one of a series of multiple transactions, and transaction identification information corresponding to the key, The trace information or the hash value of the trace information indicating the contents and the order of the plurality of transactions, the key, the key indicating the immediately preceding transaction, and / or the immediately preceding transaction registered outside the blocks constituting the block chain. Is registered in the block, and the process is executed.

1つの側面では、ブロックチェーンに記録された取引の情報をトレースすることができる。   In one aspect, information on transactions recorded on the blockchain can be traced.

関連例における取引情報の登録処理を説明するブロック図である。It is a block diagram explaining registration processing of transaction information in a related example. 関連例における取引情報の登録処理を説明するブロック図である。It is a block diagram explaining registration processing of transaction information in a related example. 関連例における取引情報の一例を示すテーブルである。It is a table showing an example of transaction information in a related example. 図3に示した取引情報の登録処理の詳細例を説明するブロック図である。FIG. 4 is a block diagram illustrating a detailed example of a transaction information registration process illustrated in FIG. 3. 図3に示した取引情報の登録処理の詳細例を説明するブロック図である。FIG. 4 is a block diagram illustrating a detailed example of a transaction information registration process illustrated in FIG. 3. 図3に示した取引情報の登録処理の詳細例を説明するブロック図である。FIG. 4 is a block diagram illustrating a detailed example of a transaction information registration process illustrated in FIG. 3. 実施形態の一例におけるブロックチェーンシステムを模式的に示すブロック図である。FIG. 1 is a block diagram schematically illustrating a block chain system according to an example of an embodiment. 図7に示したブロックチェーンシステムにおけるトレース処理の概要を説明するブロック図である。FIG. 8 is a block diagram illustrating an outline of a trace process in the block chain system illustrated in FIG. 7. 図8に示したピアコマンド及びClient SDKを説明する図である。FIG. 9 is a diagram illustrating a peer command and a Client SDK shown in FIG. 8. 図7及び図8に示したピアのハードウェア構成を模式的に示すブロック図である。FIG. 9 is a block diagram schematically illustrating a hardware configuration of the peer illustrated in FIGS. 7 and 8. 図10に示したピアの機能構成を模式的に示すブロック図である。FIG. 11 is a block diagram schematically illustrating a functional configuration of the peer illustrated in FIG. 10. 図7に示したブロックチェーンシステムにおける取引情報の登録処理を説明する図である。FIG. 8 is a diagram illustrating a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理を説明する図である。FIG. 8 is a diagram illustrating a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を示すテーブルである。8 is a table showing a detailed example of a transaction information registration process in the blockchain system shown in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を説明するブロック図である。FIG. 8 is a block diagram illustrating a detailed example of a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を説明するブロック図である。FIG. 8 is a block diagram illustrating a detailed example of a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を説明するブロック図である。FIG. 8 is a block diagram illustrating a detailed example of a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を説明するブロック図である。FIG. 8 is a block diagram illustrating a detailed example of a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理の詳細例を説明するブロック図である。FIG. 8 is a block diagram illustrating a detailed example of a transaction information registration process in the blockchain system illustrated in FIG. 7. 図7に示したブロックチェーンシステムにおける取引情報の登録処理を説明するフローチャートである。8 is a flowchart illustrating a registration process of transaction information in the blockchain system illustrated in FIG. 7.

以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。   Hereinafter, an embodiment will be described with reference to the drawings. However, the embodiment described below is merely an example, and there is no intention to exclude various modified examples and applications of technology not explicitly described in the embodiment. That is, the present embodiment can be implemented with various modifications without departing from the spirit thereof.

また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。   In addition, each drawing is not intended to include only the components illustrated in the drawings, but may include other functions and the like.

以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。   Hereinafter, the same reference numerals in the drawings denote the same parts, and a description thereof will be omitted.

〔A〕関連例
図1及び図2は、関連例における取引情報の登録処理を説明するブロック図である。
[A] Related Example FIGS. 1 and 2 are block diagrams illustrating a registration process of transaction information in a related example.

図1に示すように、取引#1はA社からB社への取引であり(符号A1参照)、取引#2はB社からC社への取引であり(符号A2参照)、取引#3はC社からD社への取引である(符号A3参照)。   As shown in FIG. 1, transaction # 1 is a transaction from company A to company B (see symbol A1), transaction # 2 is a transaction from company B to company C (see symbol A2), and transaction # 3. Is a transaction from the company C to the company D (see symbol A3).

ブロックチェーン62において、取引情報(「トランザクション」と称してもよい。)は、複数個がまとめられて各ブロック621に登録される。図1に示す例では、各ブロック621は、3つのトランザクションが登録されている。ブロックチェーン62では、各ブロック621が数珠繋ぎにされて(別言すれば、「一列に繋げられて」)管理される。   In the block chain 62, a plurality of pieces of transaction information (which may be referred to as “transactions”) are collected and registered in each block 621. In the example shown in FIG. 1, three transactions are registered in each block 621. In the block chain 62, the blocks 621 are managed in a daisy chain (in other words, "tied in a line").

符号A1及びA2で示したように、Tx1で示されるA社からB社へのトランザクションの後には、Tx4で示されるB社からC社へのトランザクションが発生する。また、符号A2及びA3で示したように、Tx4で示されるB社からC社へのトランザクションの後には、Tx7で示されるC社からD社へのトランザクションが発生する。   As shown by reference numerals A1 and A2, after the transaction from Company A to Company B shown by Tx1, a transaction from Company B to Company C shown by Tx4 occurs. Further, as shown by reference numerals A2 and A3, after the transaction from Company B to Company C shown by Tx4, a transaction from Company C to Company D shown by Tx7 occurs.

しかしながら、ブロックチェーン62の各ブロック621には符号A1〜A3に示したトランザクション以外の複数のトランザクションが記録されているため、隣り合うブロック621間においてもトランザクション同士の連続性が不明である(符号A4参照)。   However, since a plurality of transactions other than the transactions indicated by reference numerals A1 to A3 are recorded in each block 621 of the block chain 62, the continuity of transactions between adjacent blocks 621 is unknown (reference numeral A4). reference).

そこで、トランザクションの順序については、チェーンコード61によって、ワールドステート63と呼ばれるデータベースに格納される。図1に示す例では、ワールドステート63において、A社からB社への取引#1,B社からC社への取引#2,C社からD社への取引#3の順に、トランザクションの順序を示す情報が記録されている(符号A5参照)。   Therefore, the order of the transactions is stored in a database called a world state 63 by the chain code 61. In the example shown in FIG. 1, in the world state 63, the order of transactions is: transaction # 1 from company A to company B, transaction # 2 from company B to company C2, transaction # 3 from company C to company D Is recorded (see A5).

図2に示すように、ブロックチェーン62とワールドステート63とで、同一のトランザクションが二重に管理される。例えば、ブロックチェーン62においてはA社からB社への取引内容を示すTx1が管理されると共に、ワールドステート63においてはA社からB社への取引内容を示す取引#1が管理される(符号B1参照)。これにより、システムにおいて記録されるデータ容量が増加する。   As shown in FIG. 2, the same transaction is doubly managed by the block chain 62 and the world state 63. For example, the blockchain 62 manages Tx1 indicating the transaction content from Company A to Company B, and the world state 63 manages transaction # 1 indicating the transaction content from Company A to Company B (reference numeral). B1). This increases the amount of data recorded in the system.

また、ワールドステート63において記録されている取引内容が書き換えられるおそれがある。図2に示す例では、C社からD社への取引#3が、C社からE社への取引#4に変更(別言すれば、「改ざん」)されている(符号B2参照)。   Further, the transaction contents recorded in the world state 63 may be rewritten. In the example shown in FIG. 2, transaction # 3 from company C to company D is changed to transaction # 4 from company C to company E (in other words, "falsification") (see reference numeral B2).

図3は、関連例における取引情報の一例を示すテーブルである。   FIG. 3 is a table showing an example of transaction information in a related example.

図3に示す登録情報には、イベント,UserID,UserName,Operation,SrcResourceID,ResourceID,ResourceGroup,ResourceName,Owner,Hash,CreatedDate,RegisterdDate及びキー情報の各値が含まれる。   The registration information shown in FIG. 3 includes values of event, UserID, UserName, Operation, SrcResourceID, ResourceID, ResourceGroup, ResourceName, Owner, Hash, CreatedDate, RegisteredDate, and key information.

図3に例示するテーブルでは、取引#1〜#3にそれぞれ対応する「データ登録」,「データ購入」及び「学習済モデル作成」について、各値が登録されている。   In the table illustrated in FIG. 3, values are registered for “data registration”, “data purchase”, and “learned model creation” corresponding to transactions # 1 to # 3, respectively.

図4〜図6は、図3に示した取引情報の登録処理の詳細例を説明するブロック図である。   4 to 6 are block diagrams illustrating a detailed example of the transaction information registration process shown in FIG.

図4において、取引#1では教師データ登録のイベントが発生する(符号C1参照)。このイベントの登録情報において、ユーザIDがUS0001で特定されるKenによって実行され、教師データを示すリソースIDはdata0001である。また、登録情報には、登録されるデータの種別は教師データであり、元データは無い。更に、登録情報には、教師データのハッシュ値や作成日時が含まれてよい。   In FIG. 4, in transaction # 1, an event of teacher data registration occurs (see reference numeral C1). In the registration information of this event, the user ID is executed by Ken specified by US0001, and the resource ID indicating the teacher data is data0001. In the registration information, the type of data to be registered is teacher data, and there is no original data. Further, the registration information may include a hash value and a creation date and time of the teacher data.

図4において、ブロック#1には、直前ブロックのハッシュ値と共に、トランザクション#1〜#3が登録される。図示する例では、トランザクション#3において、取引#1が登録される(符号C2参照)。   In FIG. 4, transactions # 1 to # 3 are registered in block # 1 together with the hash value of the immediately preceding block. In the illustrated example, transaction # 1 is registered in transaction # 3 (see reference numeral C2).

トランザクション#3には、ユーザIDがUS0001で特定されるKenによって実行され、教師データを示すリソースIDがdata0001である教師データ登録のイベントが登録される(符号C3参照)。また、登録情報には、登録されるデータの種別は教師データであり、元データは無い。更に、登録情報には、教師データのハッシュ値や作成日時に加えて、ブロック#1へのトランザクション#3の登録日時が含まれてよい。   In transaction # 3, an event of teacher data registration executed by Ken whose user ID is specified by US0001 and whose resource ID indicating teacher data is data0001 is registered (see reference numeral C3). In the registration information, the type of data to be registered is teacher data, and there is no original data. Furthermore, the registration information may include the registration date and time of the transaction # 3 in the block # 1 in addition to the hash value and the creation date and time of the teacher data.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図4に示す例において、前のキーはNULLであり、キーはUS0001+data0001である(符号C4参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 4, the previous key is NULL, and the key is US0001 + data0001 (see reference numeral C4). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

ワールドステート63では、トランザクションID管理及びトレーサビリティ管理が行なわれる。   In the world state 63, transaction ID management and traceability management are performed.

トランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図4に示す例では、キーUS0001+data0001に対して、トランザクションIDとしてTx3が登録されている(符号C5参照)。   In the transaction ID management, a key is associated with a transaction ID. In the example shown in FIG. 4, Tx3 is registered as the transaction ID for the key US0001 + data0001 (see reference numeral C5).

トレーサビリティ管理では、トランザクションIDに対する子トランザクション及び親トランザクションの対応付けが行なわれる。ここで、子トランザクションは当該トランザクションIDで示される取引の直後の取引を示し、親トランザクションは当該トランザクションIDで示される取引の直前の取引を示す。図4に示す例では、トランザクションID Tx3の子トランザクション及び親トランザクションは、いずれも存在しない(符号C6参照)。   In the traceability management, a transaction ID is associated with a child transaction and a parent transaction. Here, the child transaction indicates a transaction immediately after the transaction indicated by the transaction ID, and the parent transaction indicates a transaction immediately before the transaction indicated by the transaction ID. In the example illustrated in FIG. 4, neither the child transaction nor the parent transaction with the transaction ID Tx3 exists (see reference numeral C6).

図5において、取引#2では教師データ購入のイベントが発生する(符号D1参照)。このイベントの登録情報において、ユーザIDがUS0002で特定されるMikeによって実行され、教師データを示すリソースIDはdata0001である。また、登録情報には、購入されるデータの種別は教師データであり、元データ(別言すれば、「購入対象」)はユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In FIG. 5, in transaction # 2, an event of purchasing teacher data occurs (see reference numeral D1). In the registration information of this event, the user ID is executed by Mike specified by US0002, and the resource ID indicating the teacher data is data0001. In the registration information, the type of data to be purchased is teacher data, and the original data (in other words, “purchase target”) is registered by Ken whose user ID is specified by US0001, and the resource ID is data0001. Is the teacher data specified by. Further, the registration information may include a hash value of the teacher data.

図5において、図4に示したブロック#1に加えて、ブロック#2には、直前ブロックのハッシュ値と共に、トランザクション#4〜#7が登録される。図示する例では、トランザクション#5において、取引#2が登録される(符号D2参照)。   In FIG. 5, in addition to the block # 1 shown in FIG. 4, in the block # 2, transactions # 4 to # 7 are registered together with the hash value of the immediately preceding block. In the illustrated example, the transaction # 2 is registered in the transaction # 5 (see reference numeral D2).

トランザクション#5には、ユーザIDがUS0002で特定されるMikeによって実行され、教師データを示すリソースIDがdata0001である教師データ購入のイベントが登録される(符号D3参照)。また、登録情報において購入されるデータの種別は教師データであり、元データはユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In transaction # 5, an event of teacher data purchase, which is executed by Mike whose user ID is specified by US0002 and whose resource ID indicating teacher data is data0001, is registered (see reference sign D3). The type of data purchased in the registration information is teacher data, and the original data is teacher data registered by Ken whose user ID is specified by US0001 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the teacher data.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図5に示す例において、前のキーはUS0001+data0001であり、キーはUS0002+data0001である(符号D4参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 5, the previous key is US0001 + data0001, and the key is US0002 + data0001 (see reference sign D4). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

トランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図5に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録されていると共に、キーUS0002+data0001に対してトランザクションIDとしてTx5が登録されている(符号D5参照)。   In the transaction ID management, a key is associated with a transaction ID. In the example shown in FIG. 5, Tx3 is registered as a transaction ID for the key US0001 + data0001, and Tx5 is registered as a transaction ID for the key US0002 + data0001 (see reference numeral D5).

トレーサビリティ管理では、トランザクションIDに対する子トランザクション及び親トランザクションの対応付けが行なわれる。図5に示す例では、トランザクションID Tx3の子トランザクションはTx5であり、親トランザクションは存在しない。また、トランザクションID Tx5の子トランザクションIDは存在せず、親トランザクションはTx3である(符号D6参照)。   In the traceability management, a transaction ID is associated with a child transaction and a parent transaction. In the example shown in FIG. 5, the child transaction with the transaction ID Tx3 is Tx5, and there is no parent transaction. Further, there is no child transaction ID of the transaction ID Tx5, and the parent transaction is Tx3 (refer to the symbol D6).

図6において、取引#3では学習済モデル作成のイベントが発生する(符号E1参照)。このイベントの登録情報において、ユーザIDがUS0002で特定されるMikeによって実行され、学習済モデルを示すリソースIDはmdl0001である。また、登録情報には、作成されるデータの種別は学習済モデルであり、元データはユーザIDがUS0002で特定されるMikeが購入した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、学習済モデルのハッシュ値が含まれてよい。   In FIG. 6, in transaction # 3, an event for creating a learned model occurs (see reference numeral E1). In the registration information of this event, the user ID is executed by Mike specified by US0002, and the resource ID indicating the learned model is mdl0001. In the registration information, the type of data to be created is a learned model, and the original data is teacher data purchased by Mike whose user ID is specified by US0002 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the learned model.

図6において、図5に示したブロック#1及び#2に加えて、ブロック#3には、直前ブロックのハッシュ値と共に、トランザクション#8〜#10が登録される。図示する例では、トランザクション#9において、取引#3が登録される(符号E2参照)。   In FIG. 6, in addition to the blocks # 1 and # 2 shown in FIG. 5, in the block # 3, transactions # 8 to # 10 are registered together with the hash value of the immediately preceding block. In the illustrated example, in transaction # 9, transaction # 3 is registered (see reference numeral E2).

トランザクション#9には、ユーザIDがUS0002で特定されるMikeによって実行され、学習済モデルを示すリソースIDがmdl0001である学習済モデル作成のイベントが登録される(符号E3参照)。また、登録情報において購入されるデータの種別は学習済モデルであり、元データはユーザIDがUS0002で特定されるMikeが購入した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、学習済モデルのハッシュ値が含まれてよい。   In transaction # 9, an event of a learned model creation executed by Mike whose user ID is specified by US0002 and whose resource ID indicating the learned model is mdl0001 is registered (see reference numeral E3). The type of data purchased in the registration information is a trained model, and the original data is teacher data purchased by Mike whose user ID is specified by US0002 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the learned model.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図6に示す例において、前のキーはUS0002+data0001であり、キーはUS0002+mdl0001である(符号E4参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 6, the previous key is US0002 + data0001 and the key is US0002 + mdl0001 (see reference numeral E4). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

トランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図6に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録され、キーUS0002+data0001に対してトランザクションIDとしてTx5が登録されていると共に、キーUS0002+mdl0001に対してトランザクションIDとしてTx9が登録されている(符号E5参照)。   In the transaction ID management, a key is associated with a transaction ID. In the example shown in FIG. 6, Tx3 is registered as a transaction ID for key US0001 + data0001, Tx5 is registered as a transaction ID for key US0002 + data0001, and a transaction ID is registered for key US0002 + mdl0001. Tx9 is registered (see reference sign E5).

トレーサビリティ管理では、トランザクションIDに対する子トランザクション及び親トランザクションの対応付けが行なわれる。図6に示す例では、トランザクションID Tx3の子トランザクションはTx5であり、親トランザクションは存在しない。また、トランザクションID Tx5の子トランザクションIDはTx9であり、親トランザクションはTx3である。更に、トランザクションID Tx9の子トランザクションは存在せず、親トランザクションはTx5である(符号E6参照)。   In the traceability management, a transaction ID is associated with a child transaction and a parent transaction. In the example shown in FIG. 6, the child transaction with the transaction ID Tx3 is Tx5, and there is no parent transaction. The child transaction ID of the transaction ID Tx5 is Tx9, and the parent transaction is Tx3. Further, there is no child transaction with the transaction ID Tx9, and the parent transaction is Tx5 (see symbol E6).

ここで、ワールドステート23のトレーサビリティ管理においてデータの改ざんが生じると、取引のトレースが正しくできず、データの正当性を証明できないおそれがある。   Here, if the data is falsified in the traceability management of the world state 23, the transaction cannot be traced correctly, and the validity of the data may not be proved.

〔B〕実施形態の一例
〔B−1〕システム構成例
図7は、実施形態の一例におけるブロックチェーンシステム100を模式的に示すブロック図である。
[B] Example of Embodiment [B-1] Example of System Configuration FIG. 7 is a block diagram schematically illustrating a block chain system 100 according to an example of the embodiment.

ブロックチェーンシステム100は、情報処理システムの一例であり、ブロックチェーンプラットフォーム101及びクライアントアプリケーション102を備える。ブロックチェーンプラットフォーム101とクライアントアプリケーション102とは、ネットワークを介して通信可能に接続される。   The blockchain system 100 is an example of an information processing system, and includes a blockchain platform 101 and a client application 102. The blockchain platform 101 and the client application 102 are communicably connected via a network.

クライアントアプリケーション102は、例えばウェブブラウザ5を展開する。ユーザは、ウェブブラウザ5を介して、取引内容に関する情報を入力してよい。なお、クライアントアプリケーション102は、curlコマンドを使用してサーバアプリケーション4に対して情報を入力してもよい。   The client application 102 deploys, for example, the web browser 5. The user may input information on the transaction content via the web browser 5. Note that the client application 102 may input information to the server application 4 using a curl command.

ブロックチェーンプラットフォーム101は、Hyperledger Fabric10及びサーバアプリケーション4を展開する。   The blockchain platform 101 deploys the Hyperledger Fabric 10 and the server application 4.

サーバアプリケーション4は、図8を用いて後述するクライアント40によって実行される。   The server application 4 is executed by a client 40 described later with reference to FIG.

Hyperledger Fabric10は、ピア1,オーダリングサービス2及びCertificate Authority(CA)3を展開する。   The Hyperledger Fabric 10 develops a peer 1, an ordering service 2, and a Certificate Authority (CA) 3.

オーダリングサービス2は、トランザクションの順序付けを行ない、トランザクションの一貫性を確保する。   The ordering service 2 orders the transactions and ensures the consistency of the transactions.

CA3は、メンバーシップサービスプロバイダとして、証明書の発行や管理のためのIDを発行する。   CA3, as a membership service provider, issues IDs for issuing and managing certificates.

ピア1は、情報処理装置の一例であり、トランザクションの承認及びコミットを実行する。また、ピア1は、トランザクションを検証し、後述する台帳1012を同期させる。   The peer 1 is an example of an information processing device, and executes transaction approval and commit. Further, the peer 1 verifies the transaction and synchronizes a ledger 1012 described later.

図7に示すように、ピア1は、チェーンコード21(別言すれば、「スマートコントラクト」)及び台帳1012を備える。   As shown in FIG. 7, the peer 1 includes a chain code 21 (in other words, “smart contract”) and a ledger 1012.

チェーンコード21は、ピア1にインストールされるアプリケーションであり、取引を自動化させるための機能を有する。   The chaincode 21 is an application installed on the peer 1 and has a function for automating transactions.

台帳1012は、ブロックチェーン22(「取引記録」と称してもよい。)及びワールドステート23として機能するデータベースである。ブロックチェーン22は、取引内容を記録する。ワールドステート23は、取引をトレース可能な状態で記憶する。   The ledger 1012 is a database that functions as the blockchain 22 (may be referred to as “transaction record”) and the world state 23. The block chain 22 records the details of the transaction. The world state 23 stores a transaction in a traceable state.

図8は、図7に示したブロックチェーンシステム100におけるトレース処理の概要を説明するブロック図である。   FIG. 8 is a block diagram illustrating an outline of a trace process in the block chain system 100 illustrated in FIG.

クライアント40は、ピアコマンド41を用いて、Hyperledger Fabric10のピア1に対して、関数呼び出しを実行する。ピアコマンド41については、図9の(A)を用いて後述する。また、クライアント40においては、Client Software Development Kit(Client SDK)42が用いられる。Client SDK42については、図9の(B)を用いて後述する。   The client 40 executes a function call to the peer 1 of the Hyperledger Fabric 10 using the peer command 41. The peer command 41 will be described later with reference to FIG. In the client 40, a Client Software Development Kit (Client SDK) 42 is used. The Client SDK 42 will be described later with reference to FIG.

ピア1のチェーンコード21において、トレースデータを記録する関数1111は、クライアント40からのピアコマンド41を用いた関数呼び出しにより、トレーサビリティ機能ライブラリ1113に対して登録関数呼び出しを行なう。また。トレース結果を参照する関数1112は、クライアント40からの関数呼び出しにより、トレーサビリティ機能ライブラリ1113に対して参照関数呼び出しを行なう。なお、チェーンコード21に直接に書き込まれた関数に対して、呼び出しが実行されてもよい。   In the chain code 21 of the peer 1, the function 1111 for recording the trace data calls the registration function to the traceability function library 1113 by the function call using the peer command 41 from the client 40. Also. The function 1112 that refers to the trace result makes a reference function call to the traceability function library 1113 by a function call from the client 40. Note that a call may be executed for a function directly written in the chaincode 21.

図9の(A)はピアコマンド41を説明する図であり、図9の(B)はClient SDK42を説明する図である。   FIG. 9A is a diagram for explaining the peer command 41, and FIG. 9B is a diagram for explaining the Client SDK 42.

ピアコマンド41は、管理者がピア1に対して特定なタスクを行なう際に使うツールである。ピアコマンド41は、例えば、図9(A)に示す記述により、チェーンコード21を実行する。   The peer command 41 is a tool used when an administrator performs a specific task on the peer 1. The peer command 41 executes the chaincode 21 according to the description shown in FIG. 9A, for example.

図9の(B)に示すように、Client SDK42は、クライアント40側におけるHyperleadger Fabric10に対応するアプリケーション(App)43を開発するためのプログラムやツール等の一式である。   As shown in FIG. 9B, the Client SDK 42 is a set of programs and tools for developing an application (App) 43 corresponding to the Hyperleadger Fabric 10 on the client 40 side.

図10は、図7及び図8に示したピア1のハードウェア構成を模式的に示すブロック図である。   FIG. 10 is a block diagram schematically illustrating a hardware configuration of the peer 1 illustrated in FIGS. 7 and 8.

ピア1は、Central Processing Unit(CPU)11,メモリ12,表示制御部13,記憶装置14,入力Interface(I/F)15,読み書き処理部16及び通信I/F17を備える。   The peer 1 includes a Central Processing Unit (CPU) 11, a memory 12, a display control unit 13, a storage device 14, an input interface (I / F) 15, a read / write processing unit 16, and a communication I / F 17.

メモリ12は、記憶部の一例であり、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。メモリ12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。   The memory 12 is an example of a storage unit, and is, for example, a storage device including a Read Only Memory (ROM) and a Random Access Memory (RAM). A program such as a Basic Input / Output System (BIOS) may be written in the ROM of the memory 12. The software program in the memory 12 may be read and executed by the CPU 11 as appropriate. Further, the RAM of the memory 12 may be used as a primary recording memory or a working memory.

表示制御部13は、表示装置130と接続され、表示装置130を制御する。表示装置130は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置130は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。   The display control unit 13 is connected to the display device 130 and controls the display device 130. The display device 130 is a liquid crystal display, an Organic Light-Emitting Diode (OLED) display, a Cathode Ray Tube (CRT), an electronic paper display, or the like, and displays various information for an operator or the like. The display device 130 may be combined with an input device, and may be, for example, a touch panel.

記憶装置14は、例示的に、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。   The storage device 14 is, for example, a device that stores data in a readable and writable manner. For example, a hard disk drive (HDD), a solid state drive (SSD), and a storage class memory (SCM) may be used.

入力I/F15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御する。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行なう。   The input I / F 15 is connected to input devices such as a mouse 151 and a keyboard 152, and controls input devices such as a mouse 151 and a keyboard 152. The mouse 151 and the keyboard 152 are examples of input devices, and the operator performs various input operations via these input devices.

読み書き処理部16は、記録媒体160が装着可能に構成される。読み書き処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。   The read / write processing unit 16 is configured so that the recording medium 160 can be mounted. The read / write processing unit 16 is configured to be able to read information recorded on the recording medium 160 when the recording medium 160 is mounted. In this example, the recording medium 160 has portability. For example, the recording medium 160 is a flexible disk, an optical disk, a magnetic disk, a magneto-optical disk, a semiconductor memory, or the like.

通信I/F17は、外部装置との通信を可能にするためのインタフェースである。   The communication I / F 17 is an interface for enabling communication with an external device.

CPU11は、種々の制御や演算を行なう処理装置であり、メモリ12に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。   The CPU 11 is a processing device that performs various controls and calculations, and realizes various functions by executing an Operating System (OS) and programs stored in the memory 12.

CPU11は例示的にピア1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、ピア1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。   The device by which the CPU 11 controls the entire operation of the peer 1 is not limited to the CPU 11, and may be, for example, any one of an MPU, a DSP, an ASIC, a PLD, and an FPGA. Further, the device for controlling the operation of the entire peer 1 may be a combination of two or more of CPU, MPU, DSP, ASIC, PLD, and FPGA. Note that MPU is an abbreviation for Micro Processing Unit, DSP is an abbreviation for Digital Signal Processor, and ASIC is an abbreviation for Application Specific Integrated Circuit. PLD is an abbreviation for Programmable Logic Device, and FPGA is an abbreviation for Field Programmable Gate Array.

図11は、図10に示したピア1の機能構成を模式的に示すブロック図である。   FIG. 11 is a block diagram schematically showing the functional configuration of the peer 1 shown in FIG.

ピア1は、処理部110としての機能を備える。図11に示すように、処理部110は、第1登録処理部111,第2登録処理部112及び判定部113として機能する。   The peer 1 has a function as the processing unit 110. As illustrated in FIG. 11, the processing unit 110 functions as a first registration processing unit 111, a second registration processing unit 112, and a determination unit 113.

なお、これらの第1登録処理部111,第2登録処理部112及び判定部113として機能を実現するためのプログラムは、例えば前述した記録媒体160に記録された形態で提供される。そして、コンピュータは読み書き処理部16を介してその記録媒体160からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。   A program for implementing the functions of the first registration processing unit 111, the second registration processing unit 112, and the determination unit 113 is provided, for example, in a form recorded on the recording medium 160 described above. Then, the computer reads the program from the recording medium 160 via the read / write processing unit 16, transfers the program to an internal storage device or an external storage device, and uses the program. In addition, the program may be recorded on a storage device (recording medium) such as a magnetic disk, an optical disk, and a magneto-optical disk, and provided to the computer from the storage device via a communication path.

第1登録処理部111,第2登録処理部112及び判定部113としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体160に記録されたプログラムをコンピュータが読み取って実行してもよい。なお、本実施形態において、内部記憶装置はメモリ12であり、マイクロプロセッサはCPU11である。   When implementing the functions of the first registration processing unit 111, the second registration processing unit 112, and the determination unit 113, a program stored in an internal storage device is executed by a microprocessor of a computer. At this time, the program recorded on the recording medium 160 may be read and executed by a computer. In the present embodiment, the internal storage device is the memory 12, and the microprocessor is the CPU 11.

第1登録処理部111は、取引を特定するキーに対応するトランザクションID(「取引識別情報」と称してもよい。)をワールドステート23に登録する。別言すれば、第1登録処理部111は、一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応するトランザクションIDとを、ブロックチェーン22を構成するブロック221の外に登録する。   The first registration processing unit 111 registers a transaction ID (may be referred to as “transaction identification information”) corresponding to a key specifying a transaction in the world state 23. In other words, the first registration processing unit 111 stores a key identifying one of a plurality of transactions in a series of transactions and a transaction ID corresponding to the key outside the block 221 constituting the block chain 22. Register with.

第2登録処理部112は、トレース情報及びトランザクションIDをブロックチェーン22のブロック221(図12及び図13等を用いて後述。)に登録する。別言すれば、第2登録処理部112は、複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示すトランザクションIDとを、ブロック221内に登録する。   The second registration processing unit 112 registers the trace information and the transaction ID in a block 221 of the block chain 22 (described later with reference to FIGS. 12 and 13). In other words, the second registration processing unit 112 indicates the trace information indicating the contents and order of the plurality of transactions or the hash value of the trace information, the key, the key indicating the immediately preceding transaction, and / or the last transaction. The transaction ID is registered in the block 221.

判定部113は、トランザクションを生成した際に、ワールドステート23に記憶されている最新の関連付け情報と、ブロック221に記憶されている過去のトランザクションに含まれる最新の関連付け情報とを比較して、異なる場合に改ざんが発生していると判定する。別言すれば、トレース情報を登録する際に、ブロック221外のデータ集合に記憶されている最新のトランザクションIDと、ブロック221内に記憶されている複数の取引に含まれる最新のトランザクションIDとを比較して、異なる場合にブロック221外のデータ集合が改ざんされていると判定する。   When the transaction is generated, the determination unit 113 compares the latest association information stored in the world state 23 with the latest association information included in the past transaction stored in the block 221 and determines In this case, it is determined that tampering has occurred. In other words, when registering the trace information, the latest transaction ID stored in the data set outside the block 221 and the latest transaction ID included in a plurality of transactions stored in the block 221 are registered. By comparison, if they differ, it is determined that the data set outside the block 221 has been tampered with.

図12及び図13は、図7に示したブロックチェーンシステム100における取引情報の登録処理を説明する図である。   FIG. 12 and FIG. 13 are diagrams illustrating the registration processing of the transaction information in the blockchain system 100 shown in FIG.

図12に示すように、取引#1はA社からB社への取引であり(符号F1参照)、取引#2はB社からC社への取引であり(符号F2参照)、取引#3はC社からD社への取引である(符号F3参照)。   As shown in FIG. 12, transaction # 1 is a transaction from company A to company B (see reference F1), transaction # 2 is a transaction from company B to company C (see reference F2), and transaction # 3. Is a transaction from the company C to the company D (see reference F3).

ブロックチェーン22において、取引情報(「トランザクション」と称してもよい。)は、複数個がまとめられて各ブロック221に登録される。図12に示す例では、各ブロック221は、3つのトランザクションが登録されている。ブロックチェーン22では、各ブロック221が数珠繋ぎにされて(別言すれば、「一列に繋げられて」)管理される。   In the block chain 22, a plurality of pieces of transaction information (which may be referred to as “transactions”) are collected and registered in each block 221. In the example shown in FIG. 12, three transactions are registered in each block 221. In the block chain 22, each block 221 is managed by being connected in a rosary (in other words, "connected in a row").

別言すれば、ブロックチェーン22では、複数の取引の内容及び順序を示すトレース情報と、トランザクションIDとが、ブロック221に登録される。   In other words, in the block chain 22, trace information indicating the contents and order of a plurality of transactions and a transaction ID are registered in the block 221.

符号F1及びF2で示したように、Tx1で示されるA社からB社へのトランザクションの後には、Tx4で示されるB社からC社へのトランザクションが発生する。また、符号F2及びF3で示したように、Tx4で示されるB社からC社へのトランザクションの後には、Tx7で示されるC社からD社へのトランザクションが発生する。   As shown by reference numerals F1 and F2, after the transaction from company A to company B shown by Tx1, a transaction from company B to company C shown by Tx4 occurs. Further, as shown by reference numerals F2 and F3, after the transaction from Company B to Company C shown by Tx4, a transaction from Company C to Company D shown by Tx7 occurs.

ワールドステート23では、取引を特定するキー(例えば、取引#1〜#3)と、キーに対応するトランザクションID(例えば、Tx1,Tx4及びTx7)とが、トランザクションの発生順に登録される。これにより、ブロックチェーン22とワールドステート23とが関連付けられて(符号F4参照)、ブロック221に登録されているトランザクションのデータを解析して情報を取得できる。   In the world state 23, a key for specifying a transaction (for example, transactions # 1 to # 3) and a transaction ID (for example, Tx1, Tx4, and Tx7) corresponding to the key are registered in the order of occurrence of transactions. As a result, the block chain 22 and the world state 23 are associated with each other (see reference numeral F4), and the data of the transaction registered in the block 221 can be analyzed to obtain information.

図13に示すように、取引元や取引先等を示す取引内容はブロック221から取得される(符号G1参照)。これにより、取引内容がワールドステート23に登録されず、ブロック221に限って登録されるため、データ量を削減できる。   As shown in FIG. 13, transaction contents indicating a transaction source, a business partner, and the like are acquired from the block 221 (see reference numeral G1). As a result, the transaction content is not registered in the world state 23, but is registered only in the block 221. Therefore, the data amount can be reduced.

また、取引を特定するキーを指定してトレースの起点を決定できる(符号G2参照)。これにより、任意の取引からトレースを開始できるため、ブロックチェーン22のトレース処理を高速化できる。   Further, the starting point of the trace can be determined by designating a key for specifying the transaction (see reference numeral G2). Thus, tracing can be started from an arbitrary transaction, and the tracing process of the blockchain 22 can be speeded up.

更に、ワールドステート23が改ざんされた場合においても、ワールドステート23にはトレースに必要な情報は登録されない(符号G3参照)。図13に示す例では、取引#3に対応するTx7が取引#4に対応するTx10に改ざんされているが、ワールドステート23には取引元及び取引先は登録されない。これにより、ワールドステート23の情報が改ざんされても検知可能であり、ブロックチェーンシステム100における信頼性を向上できる。   Further, even when the world state 23 has been tampered with, information necessary for tracing is not registered in the world state 23 (see reference numeral G3). In the example shown in FIG. 13, Tx7 corresponding to transaction # 3 has been altered to Tx10 corresponding to transaction # 4, but the source and supplier are not registered in world state 23. Thereby, even if the information of the world state 23 is falsified, it can be detected, and the reliability in the blockchain system 100 can be improved.

図14は、図7に示したブロックチェーンシステム100における取引情報の登録処理の詳細例を示すテーブルである。   FIG. 14 is a table showing a detailed example of a transaction information registration process in the blockchain system 100 shown in FIG.

図14に示す登録情報には、No,取引,イベント,UserID,UserName,Operation,SrcResourceID,ResourceID,ResourceGroup,ResourceName,Owner,Hash,CreatedDate,RegisterdDate及びキー情報の各値が含まれる。   The registration information shown in FIG. 14 includes values of No, transaction, event, UserID, UserName, Operation, SrcResourceID, ResourceID, ResourceGroup, ResourceName, Owner, Hash, CreatedDate, RegisteredDate, and key information.

図14に例示するテーブルでは、取引A〜Dにそれぞれ対応する「データ登録」,「データ購入」,「学習済モデル作成」及び「データ購入」について、各値が登録されている。   In the table illustrated in FIG. 14, respective values are registered for “data registration”, “data purchase”, “learned model creation”, and “data purchase” corresponding to transactions A to D, respectively.

図15〜図19は、図7に示したブロックチェーンシステム100における取引情報の登録処理の詳細例を説明するブロック図である。   15 to 19 are block diagrams illustrating a detailed example of a transaction information registration process in the block chain system 100 illustrated in FIG.

図15において、取引Aでは教師データ登録のイベントが発生する(符号H1参照)。このイベントの登録情報において、ユーザIDがUS0001で特定されるKenによって実行され、教師データを示すリソースIDはdata0001である。また、登録情報には、登録されるデータの種別は教師データであり、元データは無い。更に、登録情報には、教師データのハッシュ値や作成日時が含まれてよい。   In FIG. 15, in transaction A, an event of teacher data registration occurs (see reference numeral H1). In the registration information of this event, the user ID is executed by Ken specified by US0001, and the resource ID indicating the teacher data is data0001. In the registration information, the type of data to be registered is teacher data, and there is no original data. Further, the registration information may include a hash value and a creation date and time of the teacher data.

図16において、ブロック#1には、直前ブロックのハッシュ値と共に、トランザクション#1〜#3が登録される。図示する例では、トランザクション#3において、取引Aが登録される(符号I1参照)。   In FIG. 16, transactions # 1 to # 3 are registered in the block # 1 together with the hash value of the immediately preceding block. In the illustrated example, the transaction A is registered in the transaction # 3 (see reference numeral I1).

トランザクション#3には、ユーザIDがUS0001で特定されるKenによって実行され、教師データを示すリソースIDがdata0001である教師データ登録のイベントが登録される(符号I2参照)。また、登録情報には、登録されるデータの種別は教師データであり、元データは無い。更に、登録情報には、教師データのハッシュ値や作成日時に加えて、ブロック#1へのトランザクション#3の登録日時が含まれてよい。   In transaction # 3, an event of teacher data registration executed by Ken whose user ID is specified by US0001 and whose resource ID indicating teacher data is data0001 is registered (see reference numeral I2). In the registration information, the type of data to be registered is teacher data, and there is no original data. Furthermore, the registration information may include the registration date and time of the transaction # 3 in the block # 1 in addition to the hash value and the creation date and time of the teacher data.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図16に示す例において、前のキーはNULLであり、キーはUS0001+data0001である(符号I3参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 16, the previous key is NULL, and the key is US0001 + data0001 (see reference numeral I3). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

ワールドステート23では、トランザクションID管理が行なわれる。   In the world state 23, transaction ID management is performed.

トランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図16に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録されていると共に、最新取引としてTx3が登録されている(符号I4参照)。   In the transaction ID management, a key is associated with a transaction ID. In the example shown in FIG. 16, Tx3 is registered as the transaction ID for the key US0001 + data0001, and Tx3 is registered as the latest transaction (see reference numeral I4).

判定部113は、ワールドステート23における最新のトランザクションIDであるTx3に対応するキーUS0001+data0001と、ブロック221に登録されているキーUS0001+data0001とが一致するか比較する。これにより、ワールドステート23における改ざんがないことを保証できる。   The determination unit 113 compares whether the key US0001 + data0001 corresponding to the latest transaction ID Tx3 in the world state 23 matches the key US0001 + data0001 registered in the block 221. Thereby, it is possible to guarantee that there is no tampering in the world state 23.

図15において、取引Bでは教師データ購入のイベントが発生する(符号H2参照)。このイベントの登録情報において、ユーザIDがUS0002で特定されるMikeによって実行され、教師データを示すリソースIDはdata0001である。また、登録情報には、購入されるデータの種別は教師データであり、元データ(別言すれば、「購入対象」)はユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In FIG. 15, in transaction B, an event of purchasing teacher data occurs (see reference numeral H2). In the registration information of this event, the user ID is executed by Mike specified by US0002, and the resource ID indicating the teacher data is data0001. In the registration information, the type of data to be purchased is teacher data, and the original data (in other words, “purchase target”) is registered by Ken whose user ID is specified by US0001, and the resource ID is data0001. Is the teacher data specified by. Further, the registration information may include a hash value of the teacher data.

図17において、図16に示したブロック#1に加えて、ブロック#2には、直前ブロックのハッシュ値と共に、トランザクション#4〜#7が登録される。図示する例では、トランザクション#5において、取引Bが登録される(符号J1参照)。   In FIG. 17, in addition to the block # 1 shown in FIG. 16, in the block # 2, transactions # 4 to # 7 are registered together with the hash value of the immediately preceding block. In the illustrated example, the transaction B is registered in the transaction # 5 (see reference numeral J1).

トランザクション#5には、ユーザIDがUS0002で特定されるMikeによって実行され、教師データを示すリソースIDがdata0001である教師データ購入のイベントが登録される(符号J2参照)。また、登録情報において購入されるデータの種別は教師データであり、元データはユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In transaction # 5, an event of teacher data purchase, which is executed by Mike whose user ID is specified by US0002 and whose resource ID indicating teacher data is data0001, is registered (see reference numeral J2). The type of data purchased in the registration information is teacher data, and the original data is teacher data registered by Ken whose user ID is specified by US0001 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the teacher data.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図17に示す例において、前のキーはUS0001+data0001であり、キーはUS0002+data0001である(符号J3参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 17, the previous key is US0001 + data0001, and the key is US0002 + data0001 (see reference numeral J3). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

更に、トランザクションには、トレース情報が記録される。図17に示す例では、US0001+data0001(Tx3)の次にUS0002+data0001(Tx5)が発生したことを示すトレース情報が記録されている(符号J4参照)。記録されるトレース情報は、例えば、「キー」,「トランザクションID」又は「キー及びトランザクションID」であってよい。また、ブロック221の各トランザクションには、トレース情報ではなく、トレース情報のハッシュ値が登録されてもよい。トランザクションにトレース情報のハッシュ値が登録される場合には、トレース情報はワールドステート23に登録される。これにより、ワールドステート23に登録されたトレース情報が改ざんされた場合には、改ざんされたトレース情報とトランザクションのハッシュ値とを比較することにより、改ざんを検知できる。   Further, trace information is recorded in the transaction. In the example shown in FIG. 17, trace information indicating that US0002 + data0001 (Tx5) has occurred after US0001 + data0001 (Tx3) is recorded (see reference numeral J4). The recorded trace information may be, for example, “key”, “transaction ID”, or “key and transaction ID”. Further, instead of the trace information, a hash value of the trace information may be registered in each transaction of the block 221. When the hash value of the trace information is registered in the transaction, the trace information is registered in the world state 23. Thus, when the trace information registered in the world state 23 is falsified, the falsification can be detected by comparing the falsified trace information with the hash value of the transaction.

ワールドステート23のトランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図17に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録されていると共に、最新取引としてTx3がTx5に変更されている。また、キーUS0002+data0001に対してトランザクションIDとしてTx5が登録されていると共に、最新取引としてTx5が登録されている(符号J5参照)。   In the transaction ID management of the world state 23, a key is associated with a transaction ID. In the example shown in FIG. 17, Tx3 is registered as the transaction ID for the key US0001 + data0001, and Tx3 is changed to Tx5 as the latest transaction. In addition, Tx5 is registered as the transaction ID for the key US0002 + data0001, and Tx5 is registered as the latest transaction (see reference numeral J5).

判定部113は、ワールドステート23における最新のトランザクションIDであるTx5に対応するキーUS0002+data0001と、ブロック221に登録されているキーUS0002+data0001とが一致するか比較する。これにより、ワールドステート23における改ざんがないことを保証できる。   The determination unit 113 compares the key US0002 + data0001 corresponding to the latest transaction ID Tx5 in the world state 23 with the key US0002 + data0001 registered in the block 221 to determine whether the key US0002 + data0001 matches. Thereby, it is possible to guarantee that there is no tampering in the world state 23.

図15において、取引Cでは学習済モデル作成のイベントが発生する(符号H3参照)。このイベントの登録情報において、ユーザIDがUS0002で特定されるMikeによって実行され、学習済モデルを示すリソースIDはmdl0001である。また、登録情報には、作成されるデータの種別は学習済モデルであり、元データはユーザIDがUS0002で特定されるMikeが購入した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、学習済モデルのハッシュ値が含まれてよい。   In FIG. 15, in transaction C, an event for creating a learned model occurs (see reference numeral H3). In the registration information of this event, the user ID is executed by Mike specified by US0002, and the resource ID indicating the learned model is mdl0001. In the registration information, the type of data to be created is a learned model, and the original data is teacher data purchased by Mike whose user ID is specified by US0002 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the learned model.

図18において、図17に示したブロック#1及び#2に加えて、ブロック#3には、直前ブロックのハッシュ値と共に、トランザクション#8〜#10が登録される。図示する例では、トランザクション#9において、取引Cが登録される(符号K1参照)。   In FIG. 18, in addition to the blocks # 1 and # 2 shown in FIG. 17, in the block # 3, transactions # 8 to # 10 are registered together with the hash value of the immediately preceding block. In the illustrated example, the transaction C is registered in the transaction # 9 (see the symbol K1).

トランザクション#9には、ユーザIDがUS0002で特定されるMikeによって実行され、学習済モデルを示すリソースIDがmdl0001である学習済モデル作成のイベントが登録される(符号K2参照)。また、登録情報において購入されるデータの種別は学習済モデルであり、元データはユーザIDがUS0002で特定されるMikeが購入した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、学習済モデルのハッシュ値が含まれてよい。   In transaction # 9, an event of a learned model creation that is executed by Mike whose user ID is specified by US0002 and whose resource ID indicating the learned model is mdl0001 is registered (see reference numeral K2). The type of data purchased in the registration information is a trained model, and the original data is teacher data purchased by Mike whose user ID is specified by US0002 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the learned model.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図18に示す例において、前のキーはUS0002+data0001であり、キーはUS0002+mdl0001である(符号K3参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 18, the previous key is US0002 + data0001, and the key is US0002 + mdl0001 (see reference sign K3). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

更に、トランザクションには、トレース情報が記録される。図17に示す例では、US0001+data0001(Tx3)の次にUS0002+data0001(Tx5)が発生し、US0002+data0001(Tx5)の次にUS0002+mdl0001(Tx9)が発生したことを示すトレース情報が記録されている(符号K4参照)。記録されるトレース情報は、例えば、「キー」,「トランザクションID」又は「キー及びトランザクションID」であってよい。また、ブロック221の各トランザクションには、トレース情報ではなく、トレース情報のハッシュ値が登録されてもよい。トランザクションにトレース情報のハッシュ値が登録される場合には、トレース情報はワールドステート23に登録される。これにより、ワールドステート23に登録されたトレース情報が改ざんされた場合には、改ざんされたトレース情報とトランザクションのハッシュ値とを比較することにより、改ざんを検知できる。   Further, trace information is recorded in the transaction. In the example shown in FIG. 17, trace information indicating that US0002 + data0001 (Tx5) occurs after US0001 + data0001 (Tx3), and that US0002 + mdl0001 (Tx9) occurs after US0002 + data0001 (Tx5). Recorded (see code K4). The recorded trace information may be, for example, “key”, “transaction ID”, or “key and transaction ID”. Further, instead of the trace information, a hash value of the trace information may be registered in each transaction of the block 221. When the hash value of the trace information is registered in the transaction, the trace information is registered in the world state 23. Thus, when the trace information registered in the world state 23 is falsified, the falsification can be detected by comparing the falsified trace information with the hash value of the transaction.

ワールドステート23のトランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図6に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録されていると共に、最新取引としてTx5がTx9に変更されている。また、キーUS0002+data0001に対してトランザクションIDとしてTx5が登録されていると共に、最新取引としてTx5がTx9に変更されている。更に、キーUS0002+mdl0001に対してトランザクションIDとしてTx9が登録されていると共に、最新取引としてTx9が登録されている(符号K5参照)。   In the transaction ID management of the world state 23, a key is associated with a transaction ID. In the example shown in FIG. 6, Tx3 is registered as the transaction ID for the key US0001 + data0001, and Tx5 is changed to Tx9 as the latest transaction. Also, Tx5 is registered as a transaction ID for the key US0002 + data0001, and Tx5 is changed to Tx9 as the latest transaction. Further, Tx9 is registered as the transaction ID for the key US0002 + mdl0001, and Tx9 is registered as the latest transaction (see the symbol K5).

判定部113は、ワールドステート23における最新のトランザクションIDであるTx9に対応するキーUS0002+mdl0001と、ブロック221に登録されているキーUS0002+mdl0001とが一致するか比較する。これにより、ワールドステート23における改ざんがないことを保証できる。   The determination unit 113 compares the key US0002 + mdl0001 corresponding to Tx9, which is the latest transaction ID in the world state 23, with the key US0002 + mdl0001 registered in the block 221 to see if they match. Thereby, it is possible to guarantee that there is no tampering in the world state 23.

図15において、取引Dでは教師データ購入のイベントが発生する(符号H4参照)。このイベントの登録情報において、ユーザIDがUS0005で特定されるNancyによって実行され、教師データを示すリソースIDはdata0001である。また、登録情報には、登録されるデータの種別は教師データであり、元データ(別言すれば、「購入対象」)はユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In FIG. 15, in transaction D, an event of purchasing teacher data occurs (see reference numeral H4). In the registration information of this event, the user ID is executed by Nancy specified by US0005, and the resource ID indicating the teacher data is data0001. In the registration information, the type of data to be registered is teacher data, and the original data (in other words, “purchase target”) is registered by Ken whose user ID is specified by US0001, and the resource ID is data0001 Is the teacher data specified by. Further, the registration information may include a hash value of the teacher data.

図19において、図18に示したブロック#1〜#3に加えて、ブロック#4には、直前ブロックのハッシュ値と共に、トランザクション#11〜#13が登録される。図示する例では、トランザクション#13において、取引Dが登録される(符号L1参照)。   In FIG. 19, in addition to blocks # 1 to # 3 shown in FIG. 18, in block # 4, transactions # 11 to # 13 are registered together with the hash value of the immediately preceding block. In the illustrated example, the transaction D is registered in the transaction # 13 (see reference numeral L1).

トランザクション#13には、ユーザIDがUS0005で特定されるNancyによって実行され、教師データを示すリソースIDがdata0001である教師データ購入のイベントが登録される(符号L2参照)。また、登録情報において購入されるデータの種別は教師データであり、元データはユーザIDがUS0001で特定されるKenが登録した、リソースIDがdata0001で特定される教師データである。更に、登録情報には、教師データのハッシュ値が含まれてよい。   In transaction # 13, an event of a teacher data purchase executed by Nancy specified by the user ID of US0005 and having a resource ID of data 0001 indicating teacher data is registered (see reference numeral L2). The type of data purchased in the registration information is teacher data, and the original data is teacher data registered by Ken whose user ID is specified by US0001 and whose resource ID is specified by data0001. Further, the registration information may include a hash value of the teacher data.

また、トランザクションには、直前の取引を示す「前のキー」と当該取引を示す「キー」が登録される。図19に示す例において、前のキーはUS0001+data0001であり、キーはUS0005+data0001である(符号L3参照)。なお、「前のキー」は、例えば、「前のトランザクションID」や「前のキー及び前のトランザクションID」であってもよい。   In the transaction, a “previous key” indicating the immediately preceding transaction and a “key” indicating the transaction are registered. In the example shown in FIG. 19, the previous key is US0001 + data0001, and the key is US0005 + data0001 (see reference numeral L3). The “previous key” may be, for example, a “previous transaction ID” or a “previous key and previous transaction ID”.

更に、トランザクションには、トレース情報が記録される。図19に示す例では、US0001+data0001(Tx3)の次にUS0002+data0001(Tx5)が発生し、US0002+data0001(Tx5)の次にUS0002+mdl0001(Tx9)が発生したことを示すトレース情報が記録されている。また、図19に示す例では、US0001+data0001(Tx3)の次にUS0005+data0001(Tx13)が発生したことを示すトレース情報が記録されている(符号L4参照)。記録されるトレース情報は、例えば、「キー」,「トランザクションID」又は「キー及びトランザクションID」であってよい。また、ブロック221の各トランザクションには、トレース情報ではなく、トレース情報のハッシュ値が登録されてもよい。トランザクションにトレース情報のハッシュ値が登録される場合には、トレース情報はワールドステート23に登録される。これにより、ワールドステート23に登録されたトレース情報が改ざんされた場合には、改ざんされたトレース情報とトランザクションのハッシュ値とを比較することにより、改ざんを検知できる。   Further, trace information is recorded in the transaction. In the example shown in FIG. 19, trace information indicating that US0002 + data0001 (Tx5) occurs after US0001 + data0001 (Tx3), and that US0002 + mdl0001 (Tx9) occurs after US0002 + data0001 (Tx5). Has been recorded. In the example shown in FIG. 19, trace information indicating that US0005 + data0001 (Tx13) has occurred after US0001 + data0001 (Tx3) is recorded (see reference numeral L4). The recorded trace information may be, for example, “key”, “transaction ID”, or “key and transaction ID”. Further, instead of the trace information, a hash value of the trace information may be registered in each transaction of the block 221. When the hash value of the trace information is registered in the transaction, the trace information is registered in the world state 23. Thus, when the trace information registered in the world state 23 is falsified, the falsification can be detected by comparing the falsified trace information with the hash value of the transaction.

ワールドステート23のトランザクションID管理では、キーとトランザクションIDとの対応付けが行なわれる。図17に示す例では、キーUS0001+data0001に対してトランザクションIDとしてTx3が登録されていると共に、最新取引としてTx13が登録されている。また、キーUS0002+data0001に対してトランザクションIDとしてTx5が登録されていると共に、最新取引としてTx13が登録されている。更に、キーUS0002+mdl0001に対してトランザクションIDとしてTx9が登録されていると共に、最新取引としてTx13が登録されている。また、キーUS0005+data0001に対してトランザクションIDとしてTx13が登録されていると共に、最新取引としてTx13が登録されている(符号L5参照)。   In the transaction ID management of the world state 23, a key is associated with a transaction ID. In the example shown in FIG. 17, Tx3 is registered as the transaction ID for the key US0001 + data0001, and Tx13 is registered as the latest transaction. In addition, Tx5 is registered as the transaction ID for the key US0002 + data0001, and Tx13 is registered as the latest transaction. Further, Tx9 is registered as the transaction ID for the key US0002 + mdl0001, and Tx13 is registered as the latest transaction. In addition, Tx13 is registered as the transaction ID for the key US0005 + data0001, and Tx13 is registered as the latest transaction (see reference numeral L5).

判定部113は、ワールドステート23における最新のトランザクションIDであるTx13に対応するキーUS0005+data0001と、ブロック221に登録されているキーUS0005+data0001とが一致するか比較する。これにより、ワールドステート23における改ざんがないことを保証できる。   The determination unit 113 compares the key US0005 + data0001 corresponding to Tx13, which is the latest transaction ID in the world state 23, with the key US0005 + data0001 registered in the block 221 to see if they match. Thereby, it is possible to guarantee that there is no tampering in the world state 23.

〔B−2〕動作例
図7に示したブロックチェーンシステム100における取引情報の登録処理を、図20に示すフローチャート(ステップS1〜S9)に従って説明する。
[B-2] Operation Example The transaction information registration processing in the block chain system 100 shown in FIG. 7 will be described with reference to the flowchart (steps S1 to S9) shown in FIG.

第1登録処理部111は、ワールドステート23に対して、今回追加する取引のデータを追加する(ステップS1)。   The first registration processing unit 111 adds data of the transaction to be added this time to the world state 23 (step S1).

第2登録処理部112は、追加するトランザクションに対して、前のキーを記録する(ステップS2)。   The second registration processing unit 112 records the previous key for the transaction to be added (step S2).

第2登録処理部112は、元データがあるかを判定する(ステップS3)。   The second registration processing unit 112 determines whether there is original data (step S3).

元データがない場合には(ステップS3のNoルート参照)、第2登録処理部112は、今回追加する取引を新規のトレース情報として作成する(ステップS4)。そして、処理はステップS8へ移行する。   If there is no original data (see No route in step S3), the second registration processing unit 112 creates the transaction to be added this time as new trace information (step S4). Then, the process proceeds to step S8.

一方、元データがある場合には(ステップS3のYesルート参照)、第2登録処理部112は、ワールドステート23から元データの最新取引トランザクションIDを取得する(ステップS5)。   On the other hand, if there is the original data (see the Yes route in step S3), the second registration processing unit 112 acquires the latest transaction transaction ID of the original data from the world state 23 (step S5).

第2登録処理部112は、最新取引トランザクションIDのトランザクションから、トレース情報を取得する(ステップS6)。   The second registration processing unit 112 acquires trace information from the transaction with the latest transaction transaction ID (step S6).

第2登録処理部112は、トレース情報に今回追加する取引の関連付けを追加して、新たなトレース情報を作成する(ステップS7)。   The second registration processing unit 112 creates new trace information by adding the association of the transaction to be added this time to the trace information (step S7).

第2登録処理部112は、追加するトランザクションにトレース情報を記録する(ステップS8)。   The second registration processing unit 112 records the trace information in the transaction to be added (Step S8).

第2登録処理部112は、トレース情報の各データについて、ワールドステート23の最新取引トランザクションIDを、今回追加するトランザクションIDに更新する(ステップS9)。そして、取引情報の登録処理は終了する。   The second registration processing unit 112 updates the latest transaction transaction ID in the world state 23 with the transaction ID to be added this time for each data of the trace information (step S9). Then, the transaction information registration process ends.

〔B−3〕効果
上述した実施形態の一例におけるブロックチェーンシステム100によれば、例えば、以下の作用効果を奏することができる。
[B-3] Effects According to the block chain system 100 in an example of the above-described embodiment, for example, the following effects can be obtained.

第1登録処理部111は、一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応するトランザクションIDとを、ブロックチェーン22を構成するブロック221の外に登録する。また、第2登録処理部112は、複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示すトランザクションIDとを、ブロック221内に登録する。   The first registration processing unit 111 registers a key for specifying one of a series of transactions and a transaction ID corresponding to the key, outside the block 221 configuring the block chain 22. In addition, the second registration processing unit 112 stores trace information indicating the contents and order of a plurality of transactions or a hash value of the trace information, a key, a key indicating the immediately preceding transaction, and / or a transaction ID indicating the immediately preceding transaction. Is registered in the block 221.

これにより、任意の取引を起点としてブロックチェーン22に記録された取引の情報をトレースすることができ、トレース処理を高速化できる。すなわち、トレーサビリティ機能を有するブロックチェーンシステム100を提供することができる。   This makes it possible to trace transaction information recorded in the blockchain 22 starting from an arbitrary transaction, and to speed up the tracing process. That is, the blockchain system 100 having the traceability function can be provided.

判定部113は、トレース情報を登録する際に、ブロック221外のデータ集合に記憶されている最新のキーと、ブロック221内に記憶されている複数の取引に含まれる最新のキーとを比較して、異なる場合にブロック221外のデータ集合が改ざんされていると判定する。   When registering the trace information, the determination unit 113 compares the latest key stored in the data set outside the block 221 with the latest key included in a plurality of transactions stored in the block 221. If they are different, it is determined that the data set outside the block 221 has been tampered with.

これにより、ワールドステート23の情報が改ざんされても、改ざんの発生を検知でき、ブロックチェーンシステム100における信頼性を向上できる。   Thereby, even if the information of the world state 23 is tampered, the occurrence of tampering can be detected, and the reliability of the blockchain system 100 can be improved.

第1登録処理部111は、ブロック221外において、複数の取引の内容を登録しない。   Outside the block 221, the first registration processing unit 111 does not register the contents of a plurality of transactions.

これにより、取引の内容及び順序を示すトレース情報がブロックチェーン22のブロック221に限って登録されるため、ブロックチェーンシステム100におけるデータ量を削減できる。   As a result, the trace information indicating the contents and order of the transactions is registered only in the block 221 of the block chain 22, so that the data amount in the block chain system 100 can be reduced.

〔C〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
[C] Others The disclosed technology is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the spirit of the present embodiment. Each configuration and each process of the present embodiment can be selected as needed, or can be appropriately combined.

上述した実施形態の一例においては、ブロックチェーン基盤として「Hyperledger Fabric」を挙げたが、これに限定されるものではない。実施形態においては、種々のブロックチェーン基盤を採用できる。   In the example of the above-described embodiment, “Hyperledger Fabric” is described as the blockchain base, but the present invention is not limited to this. In the embodiment, various blockchain bases can be adopted.

〔D〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[D] Supplementary notes The following supplementary notes are further disclosed with respect to the above embodiment.

(付記1)
端末からの要求に応じてブロックチェーンを用いた取引を記録するコンピュータに、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録し、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーとを、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報と前記ブロック内に登録する、
処理を実行させる、プログラム。
(Appendix 1)
Computer that records transactions using blockchain in response to requests from terminals,
Registering a key specifying one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key outside of the blocks constituting the block chain,
The trace information indicating the contents and order of the plurality of transactions or the hash value of the trace information and the key are registered in the block with the key indicating the immediately preceding transaction and / or the transaction identification information indicating the immediately preceding transaction. ,
A program that executes a process.

(付記2)
前記トレース情報を登録する際に、前記ブロック外のデータ集合に記憶されている最新のキーと、前記ブロック内に記憶されている前記複数の取引に含まれる最新のキーとを比較して、異なる場合に前記ブロック外のデータ集合が改ざんされていると判定する、
処理を前記コンピュータに実行させる、付記1に記載のプログラム。
(Appendix 2)
When registering the trace information, comparing the latest key stored in the data set outside the block with the latest key included in the plurality of transactions stored in the block, If the data set outside the block is determined to have been tampered with,
The program according to claim 1, wherein the program causes the computer to execute a process.

(付記3)
前記ブロック外において、前記複数の取引の内容を登録しない、
処理を前記コンピュータに実行させる、付記1又は2に記載のプログラム。
(Appendix 3)
Outside the block, do not register the content of the plurality of transactions,
3. The program according to claim 1, wherein the program causes the computer to execute a process.

(付記4)
情報処理装置と端末とを備え、前記端末からの要求に応じてブロックチェーンを用いた取引を記録する情報処理システムであって、
前記情報処理装置は、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録する第1登録処理部と、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する第2登録処理部と、
を備える、情報処理システム。
(Appendix 4)
An information processing system comprising an information processing device and a terminal, wherein the information processing system records a transaction using a blockchain in response to a request from the terminal,
The information processing device,
A first registration processing unit that registers a key that specifies one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key, out of the blocks configuring the block chain;
Registering, in the block, trace information indicating the contents and order of the plurality of transactions or a hash value of the trace information, the key, a key indicating a previous transaction, and / or transaction identification information indicating a previous transaction. A second registration processing unit,
An information processing system comprising:

(付記5)
前記トレース情報を登録する際に、前記ブロック外のデータ集合に記憶されている最新のキーと、前記ブロック内に記憶されている前記複数の取引に含まれる最新のキーとを比較して、異なる場合に前記ブロック外のデータ集合が改ざんされていると判定する判定部
を更に備える、付記4に記載の情報処理システム。
(Appendix 5)
When registering the trace information, comparing the latest key stored in the data set outside the block with the latest key included in the plurality of transactions stored in the block, The information processing system according to claim 4, further comprising: a determination unit that determines that the data set outside the block has been tampered with in that case.

(付記6)
前記第1登録処理部は、前記ブロック外において、前記複数の取引の内容を登録しない、
付記4又は5に記載の情報処理システム。
(Appendix 6)
The first registration processing unit does not register the contents of the plurality of transactions outside the block.
An information processing system according to attachment 4 or 5.

(付記7)
端末からの要求に応じてブロックチェーンを用いた取引を記録する情報処理方法であって、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録し、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する、
情報処理方法。
(Appendix 7)
An information processing method for recording a transaction using a blockchain in response to a request from a terminal,
Registering a key specifying one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key outside of the blocks constituting the block chain,
Registering, in the block, trace information indicating the content and order of the plurality of transactions or a hash value of the trace information, the key, a key indicating a previous transaction, and / or transaction identification information indicating a previous transaction. Do
Information processing method.

(付記8)
前記トレース情報を登録する際に、前記ブロック外のデータ集合に記憶されている最新のキーと、前記ブロック内に記憶されている前記複数の取引に含まれる最新のキーとを比較して、異なる場合に前記ブロック外のデータ集合が改ざんされていると判定する、
付記7に記載の情報処理方法。
(Appendix 8)
When registering the trace information, comparing the latest key stored in the data set outside the block with the latest key included in the plurality of transactions stored in the block, If the data set outside the block is determined to have been tampered with,
The information processing method according to supplementary note 7.

(付記9)
前記ブロック外において、前記複数の取引の内容を登録しない、
付記7又は8に記載の情報処理方法。
(Appendix 9)
Outside the block, do not register the content of the plurality of transactions,
An information processing method according to attachment 7 or 8.

100 :ブロックチェーンシステム
10 :Hyperledger Fabric
101 :ブロックチェーンプラットフォーム
1012 :台帳
102 :クライアントアプリケーション
1111 :トレースデータを記録する関数
1112 :トレース結果を参照する関数
1113 :トレーサビリティ機能ライブラリ
1 :ピア
110 :処理部
11 :CPU
111 :第1登録処理部
112 :第2登録処理部
113 :判定部
12 :メモリ
13 :表示制御部
130 :表示装置
14 :記憶装置
15 :入力I/F
151 :マウス
152 :キーボード
16 :読み書き処理部
160 :記録媒体
17 :通信I/F
2 :オーダリングサービス
4 :サーバアプリケーション
5 :ウェブブラウザ
21,61 :チェーンコード
22,62 :ブロックチェーン
221,621:ブロック
23,63 :ワールドステート
40 :クライアント
41 :ピアコマンド
42 :Client SDK
43 :アプリケーション
100: Blockchain system 10: Hyperledger Fabric
101: blockchain platform 1012: ledger 102: client application 1111: function 1112 for recording trace data: function 1113 for referring to trace results: traceability function library 1: peer 110: processing unit 11: CPU
111: first registration processing unit 112: second registration processing unit 113: determination unit 12: memory 13: display control unit 130: display device 14: storage device 15: input I / F
151: mouse 152: keyboard 16: read / write processing unit 160: recording medium 17: communication I / F
2: Ordering service 4: Server application 5: Web browser 21, 61: Chain code 22, 62: Block chain 221, 621: Block 23, 63: World state 40: Client 41: Peer command 42: Client SDK
43: Application

Claims (5)

端末からの要求に応じてブロックチェーンを用いた取引を記録するコンピュータに、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録し、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する、
処理を実行させる、プログラム。
Computer that records transactions using blockchain in response to requests from terminals,
Registering a key specifying one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key outside of the blocks constituting the block chain,
Registering, in the block, trace information indicating the contents and order of the plurality of transactions or a hash value of the trace information, the key, a key indicating a previous transaction, and / or transaction identification information indicating a previous transaction. Do
A program that executes a process.
前記トレース情報を登録する際に、前記ブロック外のデータ集合に記憶されている最新のキーと、前記ブロック内に記憶されている前記複数の取引に含まれる最新のキーとを比較して、異なる場合に前記ブロック外のデータ集合が改ざんされていると判定する、
処理を前記コンピュータに実行させる、請求項1に記載のプログラム。
When registering the trace information, comparing the latest key stored in the data set outside the block with the latest key included in the plurality of transactions stored in the block, If the data set outside the block is determined to have been tampered with,
The program according to claim 1, wherein the program causes the computer to execute a process.
前記ブロック外において、前記複数の取引の内容を登録しない、
処理を前記コンピュータに実行させる、請求項1又は2に記載のプログラム。
Outside the block, do not register the content of the plurality of transactions,
The program according to claim 1, wherein the program causes the computer to execute a process.
情報処理装置と端末とを備え、前記端末からの要求に応じてブロックチェーンを用いた取引を記録する情報処理システムであって、
前記情報処理装置は、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録する第1登録処理部と、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する第2登録処理部と、
を備える、情報処理システム。
An information processing system comprising an information processing device and a terminal, wherein the information processing system records a transaction using a blockchain in response to a request from the terminal,
The information processing device,
A first registration processing unit that registers a key that specifies one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key, out of the blocks configuring the block chain;
Registering, in the block, trace information indicating the content and order of the plurality of transactions or a hash value of the trace information, the key, a key indicating a previous transaction, and / or transaction identification information indicating a previous transaction. A second registration processing unit,
An information processing system comprising:
端末からの要求に応じてブロックチェーンを用いた取引を記録する情報処理方法であって、
一連の複数の取引のうちの一の取引を特定するキーと、当該キーに対応する取引識別情報とを、前記ブロックチェーンを構成するブロックの外に登録し、
前記複数の取引の内容及び順序を示すトレース情報又は当該トレース情報のハッシュ値と、前記キーと、直前のトランザクションを示すキー及び/又は直前のトランザクションを示す取引識別情報とを、前記ブロック内に登録する、
情報処理方法。
An information processing method for recording a transaction using a blockchain in response to a request from a terminal,
Registering a key specifying one of a plurality of transactions in a series of transactions and transaction identification information corresponding to the key outside of the blocks constituting the block chain,
Registering, in the block, trace information indicating the contents and order of the plurality of transactions or a hash value of the trace information, the key, a key indicating a previous transaction, and / or transaction identification information indicating a previous transaction. Do
Information processing method.
JP2018161757A 2018-08-30 2018-08-30 Program, information processing system and information processing method Active JP7187894B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018161757A JP7187894B2 (en) 2018-08-30 2018-08-30 Program, information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018161757A JP7187894B2 (en) 2018-08-30 2018-08-30 Program, information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2020035214A true JP2020035214A (en) 2020-03-05
JP7187894B2 JP7187894B2 (en) 2022-12-13

Family

ID=69668254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018161757A Active JP7187894B2 (en) 2018-08-30 2018-08-30 Program, information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP7187894B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541770A (en) * 2020-11-27 2021-03-23 长威信息科技发展股份有限公司 Block chain-based emergency reserve material tracing method and system
JP6963872B1 (en) * 2020-12-01 2021-11-10 Gve株式会社 Currency management system
CN113889208A (en) * 2021-09-17 2022-01-04 郑州轻工业大学 Block chain-based method, device and equipment for sharing medical data between uplink and downlink
JP2022029453A (en) * 2020-08-04 2022-02-17 株式会社三菱Ufj銀行 node
WO2022208724A1 (en) * 2021-03-31 2022-10-06 富士通株式会社 Verification method, control method, information processing device, and verification program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017157926A (en) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 Information processing unit and program
JP2017207979A (en) * 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
JP2018132931A (en) * 2017-02-15 2018-08-23 富士通株式会社 Approval system, approval method, and approval program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017157926A (en) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 Information processing unit and program
JP2017207979A (en) * 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
JP2018132931A (en) * 2017-02-15 2018-08-23 富士通株式会社 Approval system, approval method, and approval program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
淵田康之: "ブロックチェーンと金融取引の革新", 野村資本市場クォータリー 2015年秋号, vol. 2015年秋号 第19巻 第2号, JPN6022015421, 1 November 2015 (2015-11-01), JP, pages 11 - 35, ISSN: 0004759776 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022029453A (en) * 2020-08-04 2022-02-17 株式会社三菱Ufj銀行 node
CN112541770A (en) * 2020-11-27 2021-03-23 长威信息科技发展股份有限公司 Block chain-based emergency reserve material tracing method and system
JP6963872B1 (en) * 2020-12-01 2021-11-10 Gve株式会社 Currency management system
WO2022118358A1 (en) * 2020-12-01 2022-06-09 Gve株式会社 Currency management system and electronic signature device
US11816663B2 (en) 2020-12-01 2023-11-14 Gve Ltd. Currency management system and electronic signature device
WO2022208724A1 (en) * 2021-03-31 2022-10-06 富士通株式会社 Verification method, control method, information processing device, and verification program
CN113889208A (en) * 2021-09-17 2022-01-04 郑州轻工业大学 Block chain-based method, device and equipment for sharing medical data between uplink and downlink
CN113889208B (en) * 2021-09-17 2023-12-01 郑州轻工业大学 Block chain-based on-and-off-chain medical data sharing method, device and equipment

Also Published As

Publication number Publication date
JP7187894B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
JP7187894B2 (en) Program, information processing system and information processing method
US11277261B2 (en) Blockchain-based tracking of program changes
US20200394309A1 (en) Blockchains for software component vulnerability databases
EP3871121A1 (en) Distributed ledger system that facilitates device management
US8838964B2 (en) Package audit tool
US20220237315A1 (en) Metadata storage architecture and data aggregation
CN105144088A (en) Association of metadata with source code and applications and services premised thereon
JP2017509971A (en) Specify and apply logical validation rules to data
CN105917315B (en) Method and computing system for generating content of data record
US11468229B2 (en) Describing changes in a workflow based on changes in structured documents containing workflow metadata
WO2015195590A1 (en) Tenant provisioning for testing a production multi-tenant service
US10380132B2 (en) Information landscape modeling, analysis and validation
US11210404B2 (en) Blockchain-based state verifications of software component vulnerability database for software products
US20230281109A1 (en) Debugging data privacy pipelines using sample data
WO2023167737A1 (en) Granting entitlements to log data generated by a data privacy pipeline to facilitate debugging
JPWO2011118003A1 (en) Web application construction system, web application construction method, web application construction program, and recording medium recording web application construction program
CA3208255A1 (en) Generation and execution of processing workflows for correcting data quality issues in data sets
US8296726B2 (en) Representation of software application functionality
US20190147088A1 (en) Reporting and data governance management
CN110865806A (en) Code processing method, device, server and storage medium
AU2017352442B2 (en) Defining variability schemas in an application programming interface (API)
US20230334344A1 (en) Distributed ledger based machine-learning model management
EP3779755B1 (en) A computer-implemented method for cross-chain-interoperability
WO2019233454A1 (en) Chain code upgrading method and device
US11922145B2 (en) Initiating data privacy pipelines using reusable templates

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220627

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R150 Certificate of patent or registration of utility model

Ref document number: 7187894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150