JP6943393B2 - Information processing system, information processing method, server, information processing program, and blockchain data structure - Google Patents
Information processing system, information processing method, server, information processing program, and blockchain data structure Download PDFInfo
- Publication number
- JP6943393B2 JP6943393B2 JP2019188949A JP2019188949A JP6943393B2 JP 6943393 B2 JP6943393 B2 JP 6943393B2 JP 2019188949 A JP2019188949 A JP 2019188949A JP 2019188949 A JP2019188949 A JP 2019188949A JP 6943393 B2 JP6943393 B2 JP 6943393B2
- Authority
- JP
- Japan
- Prior art keywords
- item
- accumulator
- identification information
- destination
- transaction data
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 49
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報処理システム、情報処理方法、サーバ、情報処理プログラム、及びブロックチェーンデータ構造に関する。 The present invention relates to an information processing system, an information processing method, a server, an information processing program, and a blockchain data structure.
従来、ブロックチェーン技術が知られている(例えば、非特許文献1)。ブロックチェーンの各ブロックには、例えば、ビットコインに関するトランザクションを表すトランザクションの情報が書き込まれ、そのトランザクションの情報の改竄が困難な状態となる。 Conventionally, blockchain technology is known (for example, Non-Patent Document 1). For example, transaction information representing a transaction related to Bitcoin is written in each block of the blockchain, and it becomes difficult to falsify the transaction information.
移動対象の特定のデータ又は物品等であるアイテムが、どこで発生し、どのような遷移を辿り、現在どのような場所に存在しているのか、といったアイテムの流通を表すトラッキング情報は有用である。そのため、移動対象のアイテムのトラッキング情報をブロックチェーンに記録することが考えられる。 Tracking information that represents the distribution of an item, such as where the item, such as specific data or an article to be moved, occurs, what kind of transition is followed, and where it currently exists, is useful. Therefore, it is conceivable to record the tracking information of the item to be moved on the blockchain.
しかし、トラッキング情報がブロックチェーンに記録される場合、アイテムの数が増加するほどブロックチェーン上に記録されるトラッキング情報のデータ量が増加する。このため、アイテムのトラッキング情報をブロックチェーンへ記録する場合には、移動対象のアイテムが増加すると、ブロックチェーンに記録されるデータ量が指数関数的に増加してしまう、という課題がある。 However, when the tracking information is recorded on the blockchain, the amount of data of the tracking information recorded on the blockchain increases as the number of items increases. Therefore, when recording item tracking information on the blockchain, there is a problem that the amount of data recorded on the blockchain increases exponentially as the number of items to be moved increases.
本発明は、上記の事情を鑑みてなされたもので、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することができる情報処理システム、情報処理方法、サーバ、情報処理プログラム、及びブロックチェーンデータ構造を提供することを目的とする。 The present invention has been made in view of the above circumstances, and is an information processing system and an information processing method capable of recording the tracking information of an item on a blockchain while reducing the amount of data of the tracking information of the item to be moved. , Servers, information processing programs, and blockchain data structures.
上記の目的を達成するために本発明に係る情報処理システムは、サーバと複数のブロックチェーンノードとを含む情報処理システムであって、サーバが、アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードが、ブロードキャストされたトランザクションデータをブロックチェーンへ記録し、サーバが、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、情報処理システムである。 In order to achieve the above object, the information processing system according to the present invention is an information processing system including a server and a plurality of blockchain nodes, and the server identifies the item identification information and the presence or absence of the item. The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is stored in the accumulator, which is the data structure of the above, and is broadcast to a plurality of blockchain nodes. When the server receives the request signal including the identification information of the item to be tracked by recording the transaction data in the blockchain, the sender of the item corresponding to the identification information included in the request signal is moved. The sequence of transaction data corresponding to the address to be represented and the address to represent the destination and the sequence of accumulators corresponding to the sequence of transaction data are acquired from the blockchain, and the items to be tracked in each accumulator of the acquired series of accumulators. It is an information processing system that verifies whether or not the identification information is stored and outputs the verification result.
また、本発明の情報処理方法は、サーバと複数のブロックチェーンノードとを含む情報処理システムにおいて実行される情報処理方法であって、サーバが、アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードが、ブロードキャストされたトランザクションデータをブロックチェーンへ記録し、サーバが、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、情報処理方法である。 Further, the information processing method of the present invention is an information processing method executed in an information processing system including a server and a plurality of blockchain nodes, and the server identifies the item identification information to identify the presence or absence of the item. The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is stored in the accumulator, which is the data structure of the above, and is broadcast to a plurality of blockchain nodes. When the server receives the request signal including the identification information of the item to be tracked by recording the transaction data in the blockchain, the sender of the item corresponding to the identification information included in the request signal is moved. The sequence of transaction data corresponding to the address to be represented and the address to represent the destination and the sequence of accumulators corresponding to the sequence of transaction data are acquired from the blockchain, and the items to be tracked in each accumulator of the acquired series of accumulators. This is an information processing method that verifies whether or not the identification information is stored and outputs the verification result.
また、本発明のサーバは、アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストする処理を実行するサーバである。 Further, the server of the present invention stores the item identification information in an accumulator which is a data structure for identifying the presence or absence of the item, and includes an address indicating the source of the item, an address indicating the destination of the item, and an accumulator. It is a server that executes the process of broadcasting transaction data to multiple blockchain nodes.
また、本発明のサーバは、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とを、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータが記録されたブロックチェーンから取得し、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、処理を実行するサーバである。 Further, when the server of the present invention receives the request signal including the identification information of the item to be tracked, it represents the address representing the sender and the destination that moved the item corresponding to the identification information included in the request signal. A blockchain in which transaction data including a series of transaction data corresponding to an address and a series of accumulators corresponding to a series of transaction data is recorded, including an address representing the source of the item, an address representing the destination of the item, and an accumulator. It is a server that executes processing that verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
本発明の情報処理プログラムは、アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、処理をコンピュータに実行させるための情報処理プログラムである。 The information processing program of the present invention stores item identification information in an accumulator, which is a data structure for identifying the presence or absence of an item, and includes an address representing the source of the item, an address representing the destination of the item, and an accumulator. When the transaction data is broadcast to multiple blockchain nodes and a request signal including the identification information of the item to be tracked is received, the item corresponding to the identification information included in the request signal is moved, indicating the sender. The sequence of transaction data corresponding to the address representing the address and destination and the sequence of accumulators corresponding to the sequence of transaction data are acquired from the blockchain, and the item to be tracked is identified in each accumulator of the acquired series of accumulators. It is an information processing program for making a computer execute a process that verifies whether or not information is stored and outputs the verification result.
本発明のブロックチェーンデータ構造は、アイテムの送り元を表すアドレスと、アイテムの送り先を表すアドレスと、アイテムの識別情報が格納されたデータ構造であるアキュムレータと、を含むトランザクションデータが記録されたブロックチェーンデータ構造であって、追跡対象のアイテムの識別情報がアキュムレータに格納されているか否かの検証が行われることにより、当該アイテムの追跡に用いられる、ブロックチェーンデータ構造である。 The blockchain data structure of the present invention is a block in which transaction data including an address representing an item sender, an address representing an item destination, and an accumulator, which is a data structure in which item identification information is stored, is recorded. It is a chain data structure, and is a blockchain data structure used for tracking the item by verifying whether or not the identification information of the item to be tracked is stored in the accumulator.
本発明によれば、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することができる、という効果が得られる。 According to the present invention, it is possible to obtain the effect that the tracking information of the item can be recorded in the blockchain while reducing the amount of data of the tracking information of the item to be moved.
以下、図面を参照して実施形態を詳細に説明する。 Hereinafter, embodiments will be described in detail with reference to the drawings.
<情報処理システムのシステム構成> <System configuration of information processing system>
図1は、本実施形態の情報処理システム10を示すブロック図である。図1に示されるように、本実施形態の情報処理システム10は、端末12と、サーバ14と、ブロックチェーンノード16とを含んで構成されている。情報処理システム10の各装置は、例えばインターネット等のネットワーク20によって接続されている。なお、複数のブロックチェーンノード16A,16B,16Cのうちの特定のノードを説明する場合以外は、ブロックチェーンノードを単に「ブロックチェーンノード16」と表記する。また、複数の端末12A,12B,12Cのうちの特定の端末を説明する場合以外は、端末を単に「端末12」と表記する。
FIG. 1 is a block diagram showing an
なお、図1には、3つのブロックチェーンノードが示されているが、より多くのブロックチェーンノードが含まれていても良い。また、図1には、3つの端末が示されているが、より多くの端末が含まれていても良い。 Although three blockchain nodes are shown in FIG. 1, more blockchain nodes may be included. Further, although three terminals are shown in FIG. 1, more terminals may be included.
特定のデータ又は物品等であるアイテムの流通の状態を表すトラッキング情報は、有用な情報である。例えば、アイテムのトラッキング情報をユーザが取得することにより、ユーザはアイテムがどのような経路を辿りどのような場所に到着しているのか、といったことを確認することができる。 Tracking information that represents the state of distribution of an item such as specific data or an article is useful information. For example, by acquiring the tracking information of the item, the user can confirm what kind of route the item follows and what kind of place it arrives at.
ここで、アイテムのトラッキング情報を適切に管理しつつ、かつ複数のユーザがトラッキング情報を簡易に取得することが可能なシステムを構築することを考える。 Here, it is considered to construct a system that allows a plurality of users to easily acquire the tracking information while appropriately managing the tracking information of the item.
このようなシステムを構築しようとする場合、複数のユーザがトラッキング情報を取得することができるようにするために、システム上においてトラッキング情報が共有されなければならない、という点が課題となる。更に、移動対象のアイテムの数量が増加するほどトラッキング情報のデータ量が膨大となる、という点が課題となる。 When constructing such a system, there is a problem that the tracking information must be shared on the system so that a plurality of users can acquire the tracking information. Further, the problem is that the amount of tracking information data increases as the number of items to be moved increases.
1点目の課題を解決するために、本実施形態の情報処理システム10は、アイテムのトラッキング情報をブロックチェーンへ格納する。ブロックチェーンを用いることにより、複数のユーザからのトラッキング情報へのアクセスが容易となり、かつトラッキング情報の改竄が困難な状態とすることができる。また、トラッキング情報をブロックチェーンへ記録した上で、2点目の課題を解決する方法として、以下の2つの方法が考えられる。
In order to solve the first problem, the
(1)ブロックチェーンに記録するトラッキング情報のデータ量を削減する(例えば、トラッキング情報の一部のみをブロックチェーンに記録する等)。
(2)ブロックチェーンへのトラッキング情報の記録方法を効率化することにより、トラッキング情報のデータ量を削減する。
(1) Reduce the amount of tracking information data to be recorded on the blockchain (for example, record only a part of the tracking information on the blockchain).
(2) The amount of tracking information data is reduced by streamlining the method of recording tracking information on the blockchain.
本実施形態では、上記の2つの方法のうちの(2)の方法により、トラッキング情報のデータ量を削減する。具体的には、本実施形態の情報処理システム10は、既存技術であるアキュムレータをブロックチェーンへ格納する。アキュムレータがブロックチェーンへ格納されることにより、ブロックチェーンへ記録されるデータ量が低減される。また、アキュムレータの系列は、移動対象のアイテムのトラッキング情報として利用可能である。このため、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することができる。また、アキュムレータに対して所定の処理が実行されることにより、ある要素がアキュムレータに格納されているか否かの検証が可能となる。
In the present embodiment, the amount of tracking information data is reduced by the method (2) of the above two methods. Specifically, the
なお、アキュムレータとしては、以下の参考文献1及び参考文献2に開示されているものが知られている。 As the accumulator, those disclosed in Reference 1 and Reference 2 below are known.
参考文献1:Dan Boneh, Benedikt Bunz, Ben Fisch, "Batching Techniques for Accumulators with Applications to IOPs and Stateless Blockchains", Stanford University, <https://eprint.iacr.org/2018/1188.pdf>
参考文献2:Thaddeus Dryja, "Utreexo: A dynamic hash-based accumulator optimized for the Bitcoin UTXO set”, MIT Digital Currency Initiative, <https://eprint.iacr.org/2019/611.pdf>
Reference 1: Dan Boneh, Benedikt Bunz, Ben Fisch, "Batching Techniques for Accumulators with Applications to IOPs and Stateless Blockchains", Stanford University, <https://eprint.iacr.org/2018/1188.pdf>
Reference 2: Thaddeus Dryja, "Utreexo: A dynamic hash-based accumulator optimized for the Bitcoin UTXO set", MIT Digital Currency Initiative, <https://eprint.iacr.org/2019/611.pdf>
上記参考文献1に開示されているアキュムレータは、アキュムレータのサイズが固定長で、アキュムレータに格納するアイテムの順序が関係ないRSA Accumulatorである。RSA Accumulatorは、ハッシュ関数のような一方向性を有する関数である。また、上記参考文献2に開示されているアキュムレータは、完全二分木を利用したハッシュベースのアキュムレータである。本実施形態では、アキュムレータとしてRSA Accumulatorを用いる場合を例に説明する。 The accumulator disclosed in Reference 1 is an RSA Accumulator in which the size of the accumulator is fixed and the order of the items stored in the accumulator is irrelevant. The RSA Accumulator is a one-way function like a hash function. Further, the accumulator disclosed in Reference 2 is a hash-based accumulator using a complete binary tree. In this embodiment, a case where an RSA Accumulator is used as an accumulator will be described as an example.
情報処理システム10に含まれる各装置は、CPU(Central Processing Unit)、各処理ルーチンを実現するためのプログラム等を記憶したROM(Read Only Memory)、データを一時的に記憶するRAM(Random Access Memory)、記憶手段としてのメモリ、ネットワークインタフェース等を含んだコンピュータによって実現される。
Each device included in the
端末12、サーバ14、及びブロックチェーンノード16は、例えば、図2に示すコンピュータ70で実現することができる。コンピュータ70はCPU71、一時記憶領域としてのメモリ72、及び不揮発性の記憶部73を備える。また、コンピュータ70は、入出力装置等(図示省略)が接続される入出力interface(I/F)74、及び記録媒体に対するデータの読み込み及び書き込みを制御するread/write(R/W)部75を備える。また、コンピュータ70は、インターネット等のネットワークに接続されるネットワークI/F76を備える。CPU71、メモリ72、記憶部73、入出力I/F74、R/W部75、及びネットワークI/F76は、バス77を介して互いに接続される。
The terminal 12, the
記憶部73は、Hard Disk Drive(HDD)、solid state drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部73には、コンピュータ70を機能させるためのプログラムが記憶されている。CPU71は、プログラムを記憶部73から読み出してメモリ72に展開し、プログラムが有するプロセスを順次実行する。
The
<情報処理システム10の作用>
<Action of
次に、本実施形態の情報処理システム10の作用について説明する。本実施形態では、情報処理システム10が、商品の流通を追跡する場合を例に説明する。
Next, the operation of the
例えば、情報処理システム10とは異なるシステムによって、商品に対して貼付するQRコード(登録商標)が生成される。例えば、商品の製造時にQRコード(登録商標)が商品単位で生成され、QRコード(登録商標)が商品に貼付される。なお、QRコード(登録商標)は追跡したい商品単位毎に生成される。
For example, a QR code (registered trademark) to be attached to a product is generated by a system different from the
そして、例えば、商品が出荷又は入荷されるタイミングにおいて、商品に貼付されているQRコード(登録商標)が所定の読取装置によって読み取られ、QRコード(登録商標)に対応した商品の識別情報(以下、単に「商品のID」と称する。)が得られる。この商品のIDが後述するアキュムレータに格納される。なお、IDはロット単位など任意の単位に付与されるようにしてもよい。 Then, for example, at the timing when the product is shipped or received, the QR code (registered trademark) attached to the product is read by a predetermined reading device, and the identification information of the product corresponding to the QR code (registered trademark) (hereinafter referred to as “registered trademark”). , Simply referred to as the "product ID"). The ID of this product is stored in the accumulator described later. The ID may be assigned to any unit such as a lot unit.
QRコード(登録商標)が貼付されている複数の商品が各拠点(例えば、店舗、倉庫、及び工場等)に配送される。なお、商品が流通する各拠点は、秘密鍵と公開鍵とのペアを有している。そして、例えば、商品の拠点間の移動(例えば、A工場からB倉庫への移動)がブロックチェーン上におけるトランザクションによって表現される。ブロックチェーン上のトランザクションにおける送り元と送り先とが、商品の出荷元と商品の入荷先に対応する。なお、商品が各拠点に届いた際には、商品に貼付されているQRコード(登録商標)が読み取られ、その拠点に商品が届いたことを表す情報がブロックチェーンに記録される。そして、商品がユーザに届いた際には商品に貼付されているQRコード(登録商標)を読み込むことにより、商品のトラッキング情報を確認することが可能となる。 A plurality of products to which a QR code (registered trademark) is affixed are delivered to each base (for example, a store, a warehouse, a factory, etc.). Each base where products are distributed has a pair of a private key and a public key. Then, for example, the movement of goods between bases (for example, movement from factory A to warehouse B) is represented by a transaction on the blockchain. The sender and destination in a transaction on the blockchain correspond to the sender of the product and the destination of the goods. When the product arrives at each base, the QR code (registered trademark) affixed to the product is read, and information indicating that the product has arrived at that base is recorded on the blockchain. Then, when the product arrives at the user, the tracking information of the product can be confirmed by reading the QR code (registered trademark) attached to the product.
例えば、商品が出荷又は入荷されるタイミングにおいて、情報処理システム10の端末12により商品に貼付されているQRコード(登録商標)が読み取られると、図3に示されるシーケンスが実行される。
For example, when the QR code (registered trademark) attached to the product is read by the
ステップS100において、端末12は、アキュムレータの作成依頼を表す信号とQRコード(登録商標)の読取により得られた商品の送り先とをサーバ14に対して出力する。
In step S100, the terminal 12 outputs a signal indicating a request for creating an accumulator and a destination of the product obtained by reading the QR code (registered trademark) to the
ステップS102において、サーバ14は、上記ステップS100で出力された各情報を取得する。そして、サーバ14は、商品のIDから得られる情報を格納する対象のアキュムレータを初期化する。
In step S102, the
ステップS104において、端末12は、QRコード(登録商標)の読取により得られた商品のIDをサーバ14に対して出力する。
In step S104, the terminal 12 outputs the ID of the product obtained by reading the QR code (registered trademark) to the
ステップS106において、サーバ14は、上記ステップS104で出力された商品のIDを取得する。そして、サーバ14は、上記ステップS102で初期化されたアキュムレータに、商品のIDから得られる情報を格納する。
In step S106, the
例えば、商品のID(x)から得られる情報H(x)がアキュムレータAiへ格納される場合、以下の式に従って商品のID(x)がアキュムレータAiに格納され、新たなアキュムレータAi+1が生成される。なお、以下の式におけるHはハッシュ関数を表し、iはアキュムレータを識別するためのインデックスを表す。なお、ハッシュ関数Hは、要素を素数へマッピングするための関数であり、既知のものである。 For example, if the information obtained from the ID of the product (x) H (x) is stored in the accumulator A i, stored ID of the product (x) is the accumulator A i according to the following equation, a new accumulator A i + 1 Generated. In the following equation, H represents a hash function, and i represents an index for identifying the accumulator. The hash function H is a function for mapping elements to prime numbers and is known.
Ai+1=Ai H(x) A i + 1 = A i H (x)
なお、複数の商品が存在している場合、上記ステップS104と上記ステップS106とを含むステップS107の処理は、商品の数だけ繰り返される。このため、例えば、図4(A)に示されるように、商品のIDとして(v,w,x,y,z)が存在している場合、アキュムレータA1に商品のID(v,w,x,y,z)から得られる情報が格納される。 When a plurality of products exist, the process of step S107 including the step S104 and the step S106 is repeated for the number of products. Therefore, for example, as shown in FIG. 4A, when (v, w, x, y, z) exists as the product ID, the product ID (v, w, x) exists in the accumulator A1. , Y, z) stores the information obtained.
ステップS108において、サーバ14は、上記ステップS106で生成されたアキュムレータを含むトランザクションデータを生成する。例えば、サーバ14は、図4(B)に示されるような、各商品の送り元を表すアドレス1と各商品の送り先を表すアドレス2とアキュムレータA1とを含むトランザクションデータTXを生成する。
In step S108, the
ステップS110において、サーバ14は、上記ステップS108で生成されたトランザクションデータを、ブロックチェーンノード16へブロードキャストする。
In step S110, the
ステップS112において、ブロックチェーンノード16は、上記ステップS110でブロードキャストされたトランザクションデータを取得し、トランザクションデータをブロックチェーンに記録する。これにより、商品の出荷又は入荷時において、商品のIDがアキュムレータに格納され、かつ商品の送り元と商品の送り先とアキュムレータとの情報を含むトランザクションデータがブロックチェーンに記録されたことになる。
In step S112, the
このため、本実施形態のブロックチェーンには、商品の送り元を表すアドレスと、商品の送り先を表すアドレスと、商品のIDから得られる情報が格納されたデータ構造であるアキュムレータと、を含むトランザクションデータが記録された構造となっている。後述するように、このブロックチェーンは、追跡対象の商品のIDがアキュムレータに格納されているか否かの検証が行われることにより、当該アイテムの追跡に用いられる。 Therefore, the blockchain of the present embodiment includes a transaction including an address representing the sender of the product, an address representing the destination of the product, and an accumulator which is a data structure in which information obtained from the ID of the product is stored. It has a structure in which data is recorded. As will be described later, this blockchain is used for tracking the item by verifying whether or not the ID of the item to be tracked is stored in the accumulator.
商品が入荷又は出荷されるタイミングにおいて図3のシーケンスが実行されることにより、商品の送り元と商品の送り先とアキュムレータとを含むトランザクションデータがブロックチェーンに記録される。なお、商品の入荷又は出荷がされる毎にアキュムレータが生成されるわけではなく、アキュムレータが一旦作成されると、そのアキュムレータは原則として利用され続ける。しかし、後述するように、商品が異なる場所へ搬送される場合等には、アキュムレータが再度生成される。また、ブロックチェーンに記録されたアキュムレータの系列は、商品の追跡を行う際に利用される。 By executing the sequence of FIG. 3 at the timing when the goods are received or shipped, transaction data including the goods sender, the goods destination, and the accumulator is recorded in the blockchain. It should be noted that an accumulator is not generated every time a product arrives or is shipped, and once an accumulator is created, the accumulator continues to be used in principle. However, as will be described later, when the goods are transported to different places, the accumulator is generated again. In addition, the accumulator series recorded on the blockchain is used when tracking products.
なお、図3のシーケンスは、複数の商品全てが、ある送り元からある送り先へ搬送される場合のシーケンスである。このため、以下では、複数の商品のうちの一部の商品がある送り先へ搬送され、複数の商品のうちの残りの商品が別の送り先へ搬送される場合を説明する。複数の商品のうちの一部の商品がある送り先へ搬送され、複数の商品のうちの残りの商品が別の送り先へ搬送される場合には、図5のシーケンスが実行される。 The sequence of FIG. 3 is a sequence in which all of a plurality of products are transported from a certain source to a certain destination. Therefore, in the following, a case where some of the plurality of products are transported to a certain destination and the remaining products of the plurality of products are transported to another destination will be described. When some of the products are transported to a certain destination and the remaining products of the plurality of products are transported to another destination, the sequence of FIG. 5 is executed.
図5のシーケンスにおいて、サーバ14は、複数のアイテムのうちの、第1の商品の送り先と第2の商品の送り先とが異なる場合、第1の商品のIDから得られる情報を第1のアキュムレータに格納し、第2の商品のIDから得られる情報を第2のアキュムレータへ格納する。
In the sequence of FIG. 5, when the destination of the first product and the destination of the second product of the plurality of items are different, the
具体的には、まず、ステップS200において、端末12は、アキュムレータの作成依頼を表す信号と、QRコード(登録商標)の読取により得られた各商品の異なる送り先とをサーバ14に対して出力する。
Specifically, first, in step S200, the terminal 12 outputs a signal indicating an accumulator creation request and a different destination of each product obtained by reading the QR code (registered trademark) to the
ステップS202において、サーバ14は、上記ステップS200で出力された各情報を取得する。そして、サーバ14は、商品のIDから得られる情報を格納する対象のアキュムレータを初期化する。具体的には、サーバ14は、送り先の異なるアキュムレータを初期化する。
In step S202, the
ステップS204において、端末12は、QRコード(登録商標)の読取により得られた各商品のIDをサーバ14に対して出力する。
In step S204, the terminal 12 outputs the ID of each product obtained by reading the QR code (registered trademark) to the
ステップS206において、サーバ14は、上記ステップS204で出力された商品のIDを取得する。そして、サーバ14は、上記ステップS202で送り先毎に初期化されたアキュムレータの各々に、各商品のIDから得られる情報を格納する。なお、送り先が同一の商品のIDは同一のアキュムレータに格納される。
In step S206, the
例えば、図6(A)に示されるように、商品のIDとして(v,w,x,y,z)が存在している場合を例に説明する。図6(A)に示されるように、商品のID(v)はアドレス2−1に対応する送り先へ搬送され、商品のID(w,x,y,z)はアドレス2−2に対応する送り先へ搬送される。この場合には、アドレス2−1に対応するアキュムレータA2と、アドレス2−2に対応するアキュムレータA3とが生成される。そして、アキュムレータA2には商品のID(v)から得られる情報が格納され、アキュムレータA3には商品のID(w,x,y,z)から得られる情報が格納される。 For example, as shown in FIG. 6A, a case where (v, w, x, y, z) exists as a product ID will be described as an example. As shown in FIG. 6A, the product ID (v) is transported to the destination corresponding to the address 2-1 and the product ID (w, x, y, z) corresponds to the address 2-2. It is transported to the destination. In this case, the accumulator A2 corresponding to the address 2-1 and the accumulator A3 corresponding to the address 2-2 are generated. Then, the accumulator A2 stores the information obtained from the product ID (v), and the accumulator A3 stores the information obtained from the product ID (w, x, y, z).
ステップS208において、サーバ14は、上記ステップS206で生成されたアキュムレータを含むトランザクションデータを生成する。例えば、サーバ14は、図6(B)に示されるような、商品(v,w,x,y,z)の送り元を表すアドレス1とアキュムレータA1と、商品(v)の送り先を表すアドレス2−1とアキュムレータA2と、商品(w,x,y,z)の送り先を表すアドレス2−2とアキュムレータA3と、を含むトランザクションデータTXを生成する。
In step S208, the
ステップS210において、サーバ14は、上記ステップS208で生成されたトランザクションデータを、ブロックチェーンノード16へブロードキャストする。
In step S210, the
ステップS212において、ブロックチェーンノード16は、上記ステップS210でブロードキャストされたトランザクションデータを取得し、トランザクションデータをブロックチェーンに記録する。これにより、商品の出荷又は入荷時において、商品のIDがアキュムレータに格納され、かつ商品の送り元と商品の送り先とアキュムレータとの情報を含むトランザクションデータがブロックチェーンに記録されたことになる。
In step S212, the
次に、複数の異なる送り元から同一の送り先へ商品が搬送される場合を説明する。この場合には、図7のシーケンスが実行される。 Next, a case where goods are transported from a plurality of different senders to the same destination will be described. In this case, the sequence of FIG. 7 is executed.
図7のシーケンスにおいて、サーバ14は、複数の商品のうちの、第1の商品の送り先と第2の商品の送り先とが同一である場合、第1の商品のIDと第2の商品のIDとを同一のアキュムレータへ格納する。
In the sequence of FIG. 7, when the destination of the first product and the destination of the second product among the plurality of products are the same, the
具体的には、まず、ステップS300において、端末12は、ブロックチェーンノード16から対象の商品の直近のトランザクションデータをサーバ14経由で取得する。そして、端末12は、トランザクションデータに含まれるアキュムレータを取得する。
Specifically, first, in step S300, the terminal 12 acquires the latest transaction data of the target product from the
ステップS301において、端末12は、上記ステップS300で取得されたアキュムレータと対象の商品の送り先とをサーバ14へ出力する。
In step S301, the terminal 12 outputs the accumulator acquired in step S300 and the destination of the target product to the
ステップS302において、端末12は、上記ステップS300で取得されたアキュムレータに追加する予定の商品のIDをサーバ14へ出力する。
In step S302, the terminal 12 outputs the ID of the product to be added to the accumulator acquired in step S300 to the
ステップS304において、サーバ14は、上記ステップS302で出力された商品のIDを取得する。そして、サーバ14は、端末12から出力された追加予定の商品のIDをアキュムレータに追加する。
In step S304, the
例えば、図8(A)に示されるように、商品のIDとして(v,x)が存在している場合を例に説明する。図8(A)に示されるように、商品のID(v)はアドレス3−1からアドレス4−1へ搬送され、商品のID(x)はアドレス3−2からアドレス4−1へ搬送される。この場合には、端末12は、アドレス3−1に対応するアキュムレータA2を取得し、アキュムレータA2をサーバ14へ出力する。そして、サーバ14は、アキュムレータA2に商品のID(x)から得られる情報を追加して、新たなアキュムレータA6を生成する。これにより、アキュムレータA6には商品のID(v,x)から得られる情報が格納されたことになる。
For example, as shown in FIG. 8A, a case where (v, x) exists as a product ID will be described as an example. As shown in FIG. 8 (A), the product ID (v) is transported from the address 3-1 to the address 4-1 and the product ID (x) is transported from the address 3-2 to the address 4-1. NS. In this case, the terminal 12 acquires the accumulator A2 corresponding to the address 3-1 and outputs the accumulator A2 to the
ステップS306において、サーバ14は、上記ステップS304で生成されたアキュムレータを含むトランザクションデータを生成する。例えば、サーバ14は、図8(B)に示されるような、商品のID(v)の送り元を表すアドレス3−1とアキュムレータA2と、商品のID(x)の送り元を表すアドレス3−2とアキュムレータA4と、商品(v,x)の送り先を表すアドレス4−1とアキュムレータA6と、を含むトランザクションデータTXを生成する。
In step S306, the
ステップS308において、サーバ14は、上記ステップS306で生成されたトランザクションデータを、ブロックチェーンノード16へブロードキャストする。
In step S308, the
ステップS310において、ブロックチェーンノード16は、上記ステップS308でブロードキャストされたトランザクションデータを取得し、トランザクションデータをブロックチェーンに記録する。これにより、商品の出荷又は入荷時において、商品のIDがアキュムレータに格納され、かつ商品の送り元と商品の送り先とアキュムレータとの情報を含むトランザクションデータがブロックチェーンに記録されたことになる。
In step S310, the
以上の図3、図5、及び図7の各シーケンスが実行されることにより、商品のトラッキング情報であるアキュムレータの系列がブロックチェーンに格納されたことになる。 By executing each of the above sequences of FIGS. 3, 5, and 7, the accumulator sequence which is the tracking information of the product is stored in the blockchain.
次に、ユーザが商品の追跡を行う場合を説明する。この場合には、図9に示されるシーケンスが実行される。 Next, a case where the user tracks the product will be described. In this case, the sequence shown in FIG. 9 is executed.
図9のシーケンスにおいて、サーバ14は、追跡対象の商品のIDを含む要求信号を受け付けた場合、要求信号に含まれるIDに対応する商品の移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得する。そして、サーバ14は、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象の商品のIDが格納されているか否かの検証を行い、検証結果を出力する。
In the sequence of FIG. 9, when the
具体的には、まず、ステップS400において、商品の追跡を行おうとするユーザが操作する端末12は、追跡対象の商品のIDと最終の送り先とをサーバ14へ出力する。
Specifically, first, in step S400, the terminal 12 operated by the user who intends to track the product outputs the ID of the product to be tracked and the final destination to the
ステップS402において、サーバ14は、上記ステップS400で出力された商品のIDと最終の送り先と取得する。そして、サーバ14は、商品の最終の送り先のアドレスが含まれているトランザクションデータをブロックチェーンから取得する。
In step S402, the
ステップS404において、サーバ14は、上記ステップS402で取得されたトランザクションデータに含まれているアキュムレータに、商品のIDが含まれているか否かを検証する。例えば、以下の式を演算することにより、商品のID(x)がアキュムレータAに含まれているか否かを検証することができる。
In step S404, the
以下の式は、アキュムレータA内に要素xが存在するかの包含証明をπ=A1/xとして提供される、RSAアキュムレータを使った場合の例であり、πと要素xの演算結果と、アキュムレータAの値を比較することにより、アキュムレータAにxが含まれていることを表す。 The following equation is an example when using the RSA accumulator, which provides the inclusion proof of the existence of the element x in the accumulator A as π = A 1 / x. By comparing the values of the accumulator A, it is shown that the accumulator A contains x.
πx=A π x = A
なお、サーバ14は、商品の最終の送り先のアドレスが含まれているトランザクションデータの送り元のアドレスを参照し、その送り元が送り先となっているトランザクションデータを辿る。これが繰り返されることにより、追跡対象の商品の複数のトランザクションデータがサーバ14によって取得される。このため、ステップS402とステップS404とを含むステップS405の処理は繰り返し実行される。
The
ステップS408において、サーバ14は、複数のトランザクションデータに付与されているアキュムレータに、追跡対象の商品のIDが含まれていたか否かを表す検証結果を端末12へ出力する。
In step S408, the
ステップS410において、端末12は、上記ステップS408で出力された検証結果を取得し、表示部(図示省略)へ表示する。商品の追跡を行おうとするユーザは、表示部に表示された検証結果を確認する。これにより、ユーザは、追跡対象の商品がどのような流通経路を辿ったのかを確認することができる。 In step S410, the terminal 12 acquires the verification result output in step S408 and displays it on the display unit (not shown). The user who wants to track the product confirms the verification result displayed on the display unit. As a result, the user can confirm what kind of distribution channel the tracked product has followed.
例えば、図10及び図11に示されるように、ユーザが商品(x)の流通経路を確認する場合を例に説明する。なお、図11は、図10の各フェーズにおけるトランザクションデータである。 For example, as shown in FIGS. 10 and 11, a case where the user confirms the distribution route of the product (x) will be described as an example. Note that FIG. 11 is transaction data in each phase of FIG.
図11に示されるように、最終の送り先であるアドレス5−1の送り先内で商品(x)を含むアキュムレータが探索され、図10のトランザクションTX4のアキュムレータA6が特定される。 As shown in FIG. 11, the accumulator including the product (x) is searched in the destination of the address 5-1 which is the final destination, and the accumulator A6 of the transaction TX4 of FIG. 10 is specified.
次に、アキュムレータA6に商品(x)が含まれている事が確認される。そして、トランザクションTX4の送り先(アドレス5−1:A6)に紐づく送り元(アドレス4−1:A6)が特定される。なお、送り元(アドレス4−1:A6)のうちのアキュムレータA6は、送り先(アドレス5−1:A6)のアキュムレータA6と同一であるため、商品(x)の存在確認は行われない。 Next, it is confirmed that the accumulator A6 contains the product (x). Then, the sender (address 4-1: A6) associated with the destination (address 5-1: A6) of the transaction TX4 is specified. Since the accumulator A6 of the sender (address 4-1: A6) is the same as the accumulator A6 of the destination (address 5-1: A6), the existence of the product (x) is not confirmed.
次に、トランザクションTX4の送り元(アドレス4−1:A6)に紐づくトランザクションTX3の送り先(アドレス4−1:A6)が特定される。そして、トランザクションTX3の送り先(アドレス4−1:A6)に紐づくトランザクションTX3の送り元(アドレス3−1:A2)と送り元(アドレス3−2:A4)が特定される。 Next, the destination (address 4-1: A6) of the transaction TX3 associated with the sender (address 4-1: A6) of the transaction TX4 is specified. Then, the sender (address 3-1: A2) and the sender (address 3-2: A4) of the transaction TX3 associated with the destination (address 4-1: A6) of the transaction TX3 are specified.
そして、アキュムレータA2には商品(x)が含まれていないことが確認される。この場合、それ以降のトランザクションTX3の送り元(アドレス3−1:A2)に関しては商品(x)の追跡は行われない。 Then, it is confirmed that the accumulator A2 does not contain the product (x). In this case, the product (x) is not tracked with respect to the sender (address 3-1: A2) of the transaction TX3 after that.
次に、アキュムレータA4に商品(x)が含まれていることが確認される。そして、トランザクションTX3の送り元(アドレス3−2:A4)に紐づくトランザクションTX2の送り先(アドレス3−2:A4)が特定される。 Next, it is confirmed that the accumulator A4 contains the product (x). Then, the destination (address 3-2: A4) of the transaction TX2 associated with the sender (address 3-2: A4) of the transaction TX3 is specified.
次に、トランザクションTX2の送り先(アドレス3−2:A4)に紐づくトランザクションTX2の送り元(アドレス2−2:A3)が特定される。そして、アキュムレータA3に商品(x)が含まれていることが確認される。 Next, the source (address 2-2: A3) of the transaction TX2 associated with the destination (address 3-2: A4) of the transaction TX2 is specified. Then, it is confirmed that the accumulator A3 contains the product (x).
次に、トランザクションTX2の送り元(アドレス2−2:A3)に紐づくトランザクションTX1の送り先(アドレス2−2:A3)が特定される。そして、トランザクションTX1の送り先(アドレス2−2:A3)に紐づくトランザクションTX1の送り元(アドレス1:A1)が特定される。そして、アキュムレータA1に商品のID(x)が含まれていることが確認される。 Next, the destination (address 2-2: A3) of the transaction TX1 associated with the sender (address 2-2: A3) of the transaction TX2 is specified. Then, the sender (address 1: A1) of the transaction TX1 associated with the destination (address 2-2: A3) of the transaction TX1 is specified. Then, it is confirmed that the accumulator A1 includes the product ID (x).
そして、トランザクションTX1の送り元(アドレス1:A1)に紐づく送り先が存在しない(又は商品のID(x)を含むアキュムレータ見つからない)ため、商品のID(x)の追跡が完了する。 Then, since there is no destination associated with the sender (address 1: A1) of the transaction TX1 (or the accumulator including the product ID (x) cannot be found), the tracking of the product ID (x) is completed.
以上説明したように、本実施形態に係る情報処理システムのサーバが、アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納する。そして、サーバが、アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストする。そして、複数のブロックチェーンノードが、ブロードキャストされたトランザクションデータをブロックチェーンへ記録する。そして、サーバが、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得する。そして、サーバは、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する。これにより、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することができる。 As described above, the server of the information processing system according to the present embodiment stores the item identification information in the accumulator, which is a data structure for identifying the presence or absence of the item. Then, the server broadcasts transaction data including an address representing the source of the item, an address representing the destination of the item, and an accumulator to a plurality of blockchain nodes. Then, a plurality of blockchain nodes record the broadcast transaction data in the blockchain. Then, when the server receives the request signal including the identification information of the item to be tracked, it corresponds to the address representing the sender and the address representing the destination that moved the item corresponding to the identification information included in the request signal. The series of transaction data to be processed and the series of accumulators corresponding to the series of transaction data are acquired from the blockchain. Then, the server verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result. As a result, it is possible to record the tracking information of the item on the blockchain while reducing the amount of data of the tracking information of the item to be moved.
また、本実施形態によれば、膨大な記録はアキュムレータを用いることで効率的にデータを保持することができ、複数のユーザによるトラッキング情報の共有が可能となる。また、アキュムレータとトランザクションにおける送り元及び送り先との関係を紐付けることにより、アキュムレータに記録されたアイテムの識別情報の移動を表現することができる。これにより、アキュムレータに記録されている情報のトラッキングが可能となる。 Further, according to the present embodiment, a huge amount of records can be efficiently retained by using an accumulator, and tracking information can be shared by a plurality of users. Further, by associating the relationship between the accumulator and the source and destination in the transaction, it is possible to express the movement of the identification information of the item recorded in the accumulator. This makes it possible to track the information recorded in the accumulator.
また、本実施形態によれば、アキュムレータをブロックチェーンに記録することにより、アイテムの各々の個別の情報をブロックチェーンに記録することなく、移動対象のアイテムの追跡を行うことができる。具体的には、アイテムの識別情報が格納されるアキュムレータのみがブロックチェーンに記録されることにより、ブロックチェーンに記録される情報が大幅に削減される。また、アキュムレータに対象のアイテムの識別情報が格納されているか否かの検証とブロックチェーン上のトランザクションデータとから、移動がなされた特定のアイテムがどの様な経路を辿っているかが判別可能となる。 Further, according to the present embodiment, by recording the accumulator on the blockchain, it is possible to track the item to be moved without recording the individual information of each item on the blockchain. Specifically, since only the accumulator in which the item identification information is stored is recorded in the blockchain, the information recorded in the blockchain is significantly reduced. In addition, it is possible to determine what kind of route the specific item that has been moved is following from the verification of whether or not the identification information of the target item is stored in the accumulator and the transaction data on the blockchain. ..
なお、従来のブロックチェーンにおいては、アイテムの経路はブロックチェーン上に記録される。これに対し、本実施形態では、対象となるアイテムの入荷又は出荷等の管理と連携させることにより、アイテムがどの場所に到着しているかを表すトラッキング情報を取得することができる。 In the conventional blockchain, the route of the item is recorded on the blockchain. On the other hand, in the present embodiment, tracking information indicating where the item has arrived can be acquired by coordinating with the management of the arrival or shipment of the target item.
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.
例えば、アイテムとしては現実物に限らず特定のデータも含まれる。 For example, items include not only real objects but also specific data.
また、上記実施形態では、トランザクションの形式がUTXO(Unspent Transaction Output)型である場合を例に説明したが、これに限定されるものではない。例えば、Ethereumの様なアカウント型のスマートコントラクトであっても良い。この場合には、送り元を表すアドレスから送り先を表すアドレスへのアイテムの条件付き移動を表現するためのスマートコントラクトが、ブロックチェーン上に予めデプロイされる。そして、アキュムレータを含む実際の移動を表すトランザクションデータがブロックチェーンへ記録された後、所定の条件が満たされた場合に、送り元を表すアドレスから送り先を表すアドレスへのアイテムの移動が記録される。 Further, in the above embodiment, the case where the transaction format is the UTXO (Unspent Transaction Output) type has been described as an example, but the present invention is not limited to this. For example, it may be an account-type smart contract such as Ethereum. In this case, a smart contract for representing the conditional movement of the item from the address representing the source to the address representing the destination is pre-deployed on the blockchain. Then, after transaction data representing the actual movement including the accumulator is recorded on the blockchain, the movement of the item from the address representing the source to the address representing the destination is recorded when a predetermined condition is satisfied. ..
なお、アイテムの識別情報は、どのようなユーザであっても比較的簡易に取得することができるため、アイテムの送信元のアドレスを保持しているユーザがどのような主体であるのか、その正当性を確認したい場合がある。このため、PKI(public key infrastructure)の仕組みを用いて、送信元のアドレスを保持しているユーザの身元を解析するようにしてもよい。この場合には、送信元のアドレスに対応する公開鍵と送信元のアドレスを保持しているユーザの情報とが予め紐づけられており、送信元のアドレスに対応する公開鍵の情報に基づき、そのユーザの正当性が確認される。 Since the item identification information can be obtained relatively easily by any user, it is justified what kind of subject is the user who holds the address of the item sender. You may want to check the sex. Therefore, the identity of the user holding the source address may be analyzed by using the mechanism of PKI (public key infrastructure). In this case, the public key corresponding to the source address and the information of the user holding the source address are linked in advance, and based on the information of the public key corresponding to the source address, The legitimacy of the user is confirmed.
また、上記実施形態では、QRコード(登録商標)を用いて、アイテムの識別情報を取得する場合を例に説明したが、これに限定されるものではなく、他の方法によってアイテムの識別情報を取得してもよい。また、上記の各処理が実行されるタイミングも本実施形態に限定されるものではない。 Further, in the above embodiment, the case where the item identification information is acquired by using the QR code (registered trademark) has been described as an example, but the present invention is not limited to this, and the item identification information can be obtained by another method. You may get it. Further, the timing at which each of the above processes is executed is not limited to this embodiment.
また、上記実施形態では、アキュムレータとしてRSA Accumulatorを用いる場合を例に説明したが、これに限定されるものではない。例えば、上記参考文献2に開示されているような完全二分木を利用したハッシュベースのアキュムレータ又は他のアキュムレータを用いるようにしてもよい。なお、上述したような、ハッシュベースのアキュムレータが用いられる場合には、アイテムの識別情報から得られる情報としてのハッシュ値を計算する必要があるが、他のアキュムレータを利用する場合には、これに限定されるものではない。例えば、アイテムの識別情報をそのままアキュムレータへ格納するようにしてもよい。 Further, in the above embodiment, the case where the RSA Accumulator is used as the accumulator has been described as an example, but the present invention is not limited to this. For example, a hash-based accumulator using a complete binary tree or another accumulator as disclosed in Reference 2 may be used. When a hash-based accumulator as described above is used, it is necessary to calculate the hash value as information obtained from the item identification information, but when using another accumulator, this is required. It is not limited. For example, the item identification information may be stored in the accumulator as it is.
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。 Further, although described as an embodiment in which the program is pre-installed in the specification of the present application, it is also possible to provide the program by storing it in a computer-readable recording medium.
10 情報処理システム
12,12A,12B,12C 端末
14 サーバ
16,16A,16B,16C ブロックチェーンノード
20 ネットワーク
70 コンピュータ
72 メモリ
73 記憶部
10
Claims (11)
サーバが、
アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、
アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードが、
ブロードキャストされたトランザクションデータをブロックチェーンへ記録し、
サーバが、
追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、
取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、
情報処理システム。 An information processing system that includes a server and multiple blockchain nodes.
The server
Item identification information is stored in the accumulator, which is a data structure for identifying the presence or absence of an item.
The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is broadcast to multiple blockchain nodes.
Multiple blockchain nodes
Record the broadcast transaction data on the blockchain and
The server
When a request signal containing the identification information of the item to be tracked is received, a series of transaction data corresponding to the address representing the source and the address representing the destination that moved the item corresponding to the identification information included in the request signal. And the accumulator series corresponding to the transaction data series are obtained from the blockchain.
It verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
Information processing system.
アキュムレータを含む実際の移動を表すトランザクションデータがブロックチェーンへ記録され、かつ条件が満たされた場合に、送り元を表すアドレスから送り先を表すアドレスへのアイテムの移動が表現される、
請求項1に記載の情報処理システム。 A smart contract has been deployed on the blockchain to represent the conditional movement of an item from the source address to the destination address.
When transaction data representing the actual movement including the accumulator is recorded on the blockchain and the conditions are met, the movement of the item from the address representing the source to the address representing the destination is represented.
The information processing system according to claim 1.
複数のアイテムのうちの、第1のアイテムの送り先と第2のアイテムの送り先とが異なる場合、第1のアイテムの識別情報を第1のアキュムレータに格納し、第2のアイテムの識別情報を第2のアキュムレータへ格納する、
請求項1又は請求項2に記載の情報処理システム。 The server is
When the destination of the first item and the destination of the second item of a plurality of items are different, the identification information of the first item is stored in the first accumulator, and the identification information of the second item is stored in the first accumulator. Store in 2 accumulators,
The information processing system according to claim 1 or 2.
複数のアイテムのうちの、第1のアイテムの送り先と第2のアイテムの送り先とが同一である場合、第1のアイテムの識別情報と第2のアイテムの識別情報とを同一のアキュムレータへ格納する、
請求項1〜請求項3の何れか1項に記載の情報処理システム。 The server is
When the destination of the first item and the destination of the second item of a plurality of items are the same, the identification information of the first item and the identification information of the second item are stored in the same accumulator. ,
The information processing system according to any one of claims 1 to 3.
サーバが、
アイテムの識別情報を、アイテムの有無を識別するためのデータ構造であるアキュムレータへ格納し、
アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードが、
ブロードキャストされたトランザクションデータをブロックチェーンへ記録し、
サーバが、
追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、
取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、
情報処理方法。 An information processing method executed in an information processing system including a server and a plurality of blockchain nodes.
The server
Item identification information is stored in the accumulator, which is a data structure for identifying the presence or absence of an item.
The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is broadcast to multiple blockchain nodes.
Multiple blockchain nodes
Record the broadcast transaction data on the blockchain and
The server
When a request signal containing the identification information of the item to be tracked is received, a series of transaction data corresponding to the address representing the source and the address representing the destination that moved the item corresponding to the identification information included in the request signal. And the accumulator series corresponding to the transaction data series are obtained from the blockchain.
It verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
Information processing method.
アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、
取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、
処理を実行するサーバ。 Item identification information is stored in the accumulator, which is a data structure for identifying the presence or absence of an item.
The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is broadcast to multiple blockchain nodes.
When a request signal containing the identification information of the item to be tracked is received, a series of transaction data corresponding to the address representing the source and the address representing the destination that moved the item corresponding to the identification information included in the request signal. And the accumulator series corresponding to the transaction data series are obtained from the blockchain.
It verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
The server that performs the process.
アイテムの送り元を表すアドレスと、アイテムの送り先を表すアドレスと、前記アキュムレータと、を含むトランザクションデータを生成し、
生成された前記トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
前記トランザクションデータを生成する際に、
複数のアイテムのうちの、第1のアイテムの送り先と第2のアイテムの送り先とが同一である場合、第1のアイテムの識別情報と第2のアイテムの識別情報とを同一のアキュムレータへ格納し、
複数のアイテムのうちの、第1のアイテムの送り先と第2のアイテムの送り先とが異なる場合、第1のアイテムの識別情報を第1のアキュムレータに格納し、第2のアイテムの識別情報を第2のアキュムレータへ格納する、
処理を実行するサーバ。 Item identification information is stored in the accumulator, which is a data structure for identifying the presence or absence of an item.
Generates transaction data including an address representing the source of the item, an address representing the destination of the item, and the accumulator.
The generated transaction data is broadcast to a plurality of blockchain nodes, and the generated transaction data is broadcast to a plurality of blockchain nodes.
When generating the transaction data,
When the destination of the first item and the destination of the second item of a plurality of items are the same, the identification information of the first item and the identification information of the second item are stored in the same accumulator. ,
When the destination of the first item and the destination of the second item of a plurality of items are different, the identification information of the first item is stored in the first accumulator, and the identification information of the second item is stored in the first accumulator. Store in 2 accumulators,
The server that performs the process.
取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、
処理を実行するサーバ。 When a request signal containing the identification information of the item to be tracked is received, a series of transaction data corresponding to the address representing the source and the address representing the destination that moved the item corresponding to the identification information included in the request signal. And the series of accumulators corresponding to the series of transaction data are obtained from the blockchain in which the transaction data including the address representing the sender of the item, the address representing the destination of the item, and the accumulator is recorded.
It verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
The server that performs the process.
アイテムの送り元を表すアドレスとアイテムの送り先を表すアドレスとアキュムレータとを含むトランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行った、送り元を表すアドレス及び送り先を表すアドレスに対応するトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得し、
取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する、
処理をコンピュータに実行させるための情報処理プログラム。 Item identification information is stored in the accumulator, which is a data structure for identifying the presence or absence of an item.
The transaction data including the address representing the source of the item, the address representing the destination of the item, and the accumulator is broadcast to multiple blockchain nodes.
When a request signal containing the identification information of the item to be tracked is received, a series of transaction data corresponding to the address representing the source and the address representing the destination that moved the item corresponding to the identification information included in the request signal. And the accumulator series corresponding to the transaction data series are obtained from the blockchain.
It verifies whether or not the identification information of the item to be tracked is stored in each accumulator in the acquired accumulator series, and outputs the verification result.
An information processing program that allows a computer to perform processing.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019188949A JP6943393B2 (en) | 2019-10-15 | 2019-10-15 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
| JP2021141706A JP7384441B2 (en) | 2019-10-15 | 2021-08-31 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019188949A JP6943393B2 (en) | 2019-10-15 | 2019-10-15 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021141706A Division JP7384441B2 (en) | 2019-10-15 | 2021-08-31 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021064219A JP2021064219A (en) | 2021-04-22 |
| JP6943393B2 true JP6943393B2 (en) | 2021-09-29 |
Family
ID=75486349
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019188949A Active JP6943393B2 (en) | 2019-10-15 | 2019-10-15 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
| JP2021141706A Active JP7384441B2 (en) | 2019-10-15 | 2021-08-31 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021141706A Active JP7384441B2 (en) | 2019-10-15 | 2021-08-31 | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP6943393B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022000770A (en) * | 2019-10-15 | 2022-01-04 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and block chain data structure |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113139775A (en) * | 2021-05-12 | 2021-07-20 | 北京京东乾石科技有限公司 | Cargo allocation information processing method, device, equipment and storage medium |
| JP2023152714A (en) * | 2022-03-31 | 2023-10-17 | 株式会社chaintope | Information processing system, information processing method, server, blockchain node, and program |
| JP7231291B1 (en) | 2022-03-31 | 2023-03-01 | 株式会社chaintope | Information processing system, information processing method, server, blockchain node, and program |
| CN116471296A (en) * | 2023-02-09 | 2023-07-21 | 南京信息工程大学 | A blockchain-based data management system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9436923B1 (en) * | 2015-02-26 | 2016-09-06 | Skuchain, Inc. | Tracking unitization occurring in a supply chain |
| EP3862947A1 (en) * | 2016-03-03 | 2021-08-11 | NEC Laboratories Europe GmbH | Method for managing data in a network of nodes |
| US10284654B2 (en) * | 2016-09-27 | 2019-05-07 | Intel Corporation | Trusted vehicle telematics using blockchain data analytics |
| JP6943393B2 (en) | 2019-10-15 | 2021-09-29 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and blockchain data structure |
-
2019
- 2019-10-15 JP JP2019188949A patent/JP6943393B2/en active Active
-
2021
- 2021-08-31 JP JP2021141706A patent/JP7384441B2/en active Active
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022000770A (en) * | 2019-10-15 | 2022-01-04 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and block chain data structure |
| JP7384441B2 (en) | 2019-10-15 | 2023-11-21 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and blockchain data structure |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021064219A (en) | 2021-04-22 |
| JP2022000770A (en) | 2022-01-04 |
| JP7384441B2 (en) | 2023-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6943393B2 (en) | Information processing system, information processing method, server, information processing program, and blockchain data structure | |
| KR20220023752A (en) | Methods and systems for tracking and tracing supply chains by use of barcodes and peer review | |
| CN109660356B (en) | Data uplink method, device, equipment and computer readable storage medium | |
| CN111738737A (en) | Method, device and device for generating digital property right certificate | |
| CN110197346A (en) | Logistic track and the method traced to the source, application server, block chain node and medium | |
| CN109032803B (en) | Data processing method and device and client | |
| CA2481577A1 (en) | A secure information storage system using data splitting and separate storage | |
| CN110633309A (en) | Block chain transaction processing method and device | |
| CN110910143B (en) | Identity generation method, device, related nodes and medium | |
| CN112906064A (en) | Method and device for generating description information | |
| CN108596627A (en) | A kind of big data computational methods and system calculated based on block chain and mist | |
| CN116192395B (en) | A trusted system for decentralized data storage | |
| CN109145053B (en) | Data processing method and device, client, server | |
| Li et al. | Write-only oblivious RAM-based privacy-preserved access of outsourced data | |
| JP2004021654A (en) | Data base retrieval system, data sharing system, and data retrieval method | |
| JP2011170667A (en) | File-synchronizing system, file synchronization method, and file synchronization program | |
| KR20210102470A (en) | A method and system for verifying blockchain data stored in a storage format different from that of the blockchain. | |
| KR102553877B1 (en) | A method and system for efficiently processing the high transaction throughput required by DApps in the blockchain | |
| CN108604984A (en) | For the encrypted method and system of interest in content center network | |
| KR102120330B1 (en) | Contract apparatus and method of blockchain using location information | |
| CN112035504A (en) | Block chain-based item code generation method, and item weight transfer method and device | |
| CN116506228B (en) | Computer authentication method and device, electronic equipment and storage medium | |
| CN105589910A (en) | HBase (Hadoop Database)-based mass transaction data retrieving method and system | |
| Noether | Review of cryptonote white paper | |
| CN111899104A (en) | Service execution method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200914 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201030 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201105 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210205 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210330 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210528 |
|
| 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: 20210803 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210831 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6943393 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |