JP2020046855A - Information processing apparatus, information processing method and program - Google Patents

Information processing apparatus, information processing method and program Download PDF

Info

Publication number
JP2020046855A
JP2020046855A JP2018173967A JP2018173967A JP2020046855A JP 2020046855 A JP2020046855 A JP 2020046855A JP 2018173967 A JP2018173967 A JP 2018173967A JP 2018173967 A JP2018173967 A JP 2018173967A JP 2020046855 A JP2020046855 A JP 2020046855A
Authority
JP
Japan
Prior art keywords
data
transaction
hash chain
information processing
customer
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
JP2018173967A
Other languages
Japanese (ja)
Other versions
JP7253344B2 (en
Inventor
茂樹 川森
Shigeki Kawamori
茂樹 川森
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2018173967A priority Critical patent/JP7253344B2/en
Publication of JP2020046855A publication Critical patent/JP2020046855A/en
Application granted granted Critical
Publication of JP7253344B2 publication Critical patent/JP7253344B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To provide an information processing apparatus, an information processing method, and a program capable of appropriately searching for transaction data stored on a block.SOLUTION: An information processing apparatus stores transaction data on data blocks connected by a hash chain constructed in the network based on the occurrence of transaction. The hash chain is stored for each transaction target, and common data is stored as the transaction data on each data block connected by the hash chain corresponding to the occurred transaction target.SELECTED DRAWING: Figure 5

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing device, an information processing method, and a program.

近年、ビットコイン(登録商標)等の仮想通貨を用いた商取引が行われている。当該仮想通貨を用いた商取引では、中央集権的な管理を必要とせずに不正を防止するため、ブロックチェーンと呼ばれる技術が用いられている。ブロックチェーンでは、複数のトランザクションデータ、直前のハッシュ値及びその他の情報を「ブロック」として定義し、参加者全体で形成されるネットワーク内での合意形成のプロセスによって当該「ブロック」内の情報の信頼性を担保している。しかしながら、このようなブロックチェーンの技術により仮想通貨の商取引を行う場合、1秒あたりに処理可能な件数が少ないといった問題がある。   In recent years, commercial transactions using virtual currency such as Bitcoin (registered trademark) have been performed. In commercial transactions using the virtual currency, a technology called blockchain is used to prevent fraud without requiring centralized management. In the blockchain, a plurality of transaction data, the immediately preceding hash value, and other information are defined as a “block”, and the information in the “block” is trusted by a process of forming consensus in a network formed by all participants. The nature is guaranteed. However, when a virtual currency is traded by such a blockchain technology, there is a problem that the number of transactions that can be processed per second is small.

このような問題に対応するため、例えば非特許文献1には、ハッシュグラフと呼ばれる技術が開示されている。   To address such a problem, for example, Non-Patent Document 1 discloses a technique called a hash graph.

”ブロックチェーンを超える技術が存在!分散型台帳「Hashgraph」とは?”、[Online]、[平成30年9月3日検索]、インターネット<URL:https://coin-otaku.com/topic/7754>"A technology beyond blockchain exists! What is" Hashgraph ", a distributed ledger? ”, [Online], [Search on September 3, 2018], Internet <URL: https://coin-otaku.com/topic/7754>

非特許文献1に開示されているハッシュグラフの技術では、ランダムに選ばれた一部のユーザの承認によりトランザクションデータの記録を行うことから、ブロックチェーンの技術を用いた処理よりも高速な処理を実現可能となる。しかしながら、複数のトランザクションデータを時系列に格納したブロックを複数つないでいく点ではいずれの技術も共通であり、ブロック上に格納したトランザクションデータを好適に検索するという面からすると未だ十分ではなかった。   In the technology of the hash graph disclosed in Non-Patent Document 1, transaction data is recorded with the approval of some users selected at random, so that processing faster than processing using the blockchain technology is performed. It becomes feasible. However, both techniques are common in that a plurality of blocks storing a plurality of transaction data in time series are connected, and they are not yet sufficient from the viewpoint of suitably searching for the transaction data stored on the block.

本発明は、上述のような事情に鑑みてなされたものであり、ブロック上に格納されたトランザクションデータを好適に検索することができる情報処理装置、情報処理方法およびプログラムを提供することを目的としている。   The present invention has been made in view of the above circumstances, and has as its object to provide an information processing apparatus, an information processing method, and a program capable of suitably searching for transaction data stored on a block. I have.

上記目的を達成するため、本発明の第1の観点に係る情報処理装置は、
トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納手段を備え、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納手段は、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とする。
In order to achieve the above object, an information processing device according to a first aspect of the present invention includes:
Data storage means for storing data of the transaction in a data block connected by a hash chain constructed in the network based on the occurrence of the transaction,
The hash chain is stored for each transaction target of the transaction,
The data storage unit stores, in each of the data blocks connected by the hash chain corresponding to the transaction target of the generated transaction, common data as data of the transaction,
It is characterized by the following.

前記データ格納手段は、前記ハッシュチェーンとは異なる特別ハッシュチェーンで連結されるデータブロックに、発生した前記トランザクションの取引対象に関わらず、前記トランザクションのデータを、発生した順に格納する、
ようにしてもよい。
The data storage means, in a data block connected by a special hash chain different from the hash chain, regardless of the transaction target of the transaction that has occurred, stores the data of the transaction, in the order of occurrence,
You may do so.

前記データ格納手段により格納した前記トランザクションのデータを、ユーザの要求に基づいて前記ハッシュチェーンまたは前記特別ハッシュチェーンから検索する検索手段と、
前記検索手段で検索した検索結果に基づいて、前記ユーザの要求を満たす態様の図を生成する生成手段と、
前記生成手段で生成された図を表示する表示手段と、
をさらに備えるようにしてもよい。
Search means for searching the transaction data stored by the data storage means from the hash chain or the special hash chain based on a user request;
Generating means for generating a diagram of an aspect satisfying the user's request based on a search result searched by the search means;
Display means for displaying the diagram generated by the generation means;
May be further provided.

前記検索手段は、前記ユーザの要求に時間的要素が含まれる場合に、前記特別ハッシュチェーンから検索を行い、前記時間的要素が含まれない場合に、前記ハッシュチェーンから検索を行う、
ようにしてもよい。
The search means performs a search from the special hash chain when a temporal element is included in the request of the user, and performs a search from the hash chain when the temporal element is not included,
You may do so.

上記目的を達成するため、本発明の第2の観点に係る情報処理方法は、
情報処理装置における情報処理方法であって、
トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納ステップを実行し、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納ステップでは、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とする。
In order to achieve the above object, an information processing method according to a second aspect of the present invention includes:
An information processing method in an information processing device,
Performing a data storage step of storing data of the transaction in a data block connected by a hash chain constructed in the network based on the occurrence of the transaction;
The hash chain is stored for each transaction target of the transaction,
In the data storing step, in each of the data blocks connected by the hash chain corresponding to the transaction object of the generated transaction, storing common data as data of the transaction,
It is characterized by the following.

上記目的を達成するため、本発明の第3の観点に係るプログラムは、
コンピュータを、
トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納手段として機能させ、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納手段は、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とする。
In order to achieve the above object, a program according to a third aspect of the present invention includes:
Computer
Based on the occurrence of the transaction, a data block connected by a hash chain constructed in the network, function as data storage means for storing data of the transaction,
The hash chain is stored for each transaction target of the transaction,
The data storage unit stores, in each of the data blocks connected by the hash chain corresponding to the transaction target of the generated transaction, common data as data of the transaction,
It is characterized by the following.

本発明によれば、ブロック上に格納されたトランザクションデータを好適に検索することができる。   According to the present invention, transaction data stored on a block can be suitably searched.

本発明の実施形態に係る情報処理システムの一例を示すブロック図である。1 is a block diagram illustrating an example of an information processing system according to an embodiment of the present invention. 本発明の実施形態に係る情報処理装置の一例を示すブロック図である。It is a block diagram showing an example of the information processor concerning an embodiment of the present invention. 初期登録処理の一例を示すフローチャートである。9 is a flowchart illustrating an example of an initial registration process. データブロック登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of a data block registration process. ハッシュチェーンの構成例を示す図である。It is a figure showing the example of composition of a hash chain. 発生したトランザクションの一例を示す図である。FIG. 9 is a diagram illustrating an example of a generated transaction. ハッシュチェーンの登録内容の例を示す図である。It is a figure showing an example of registration contents of a hash chain. 確認処理の一例を示すフローチャートである。It is a flowchart which shows an example of a confirmation process. 売り上げ集計が指定された場合の確認処理の実行例を示す図である。It is a figure which shows the example of execution of the confirmation process when sales totalization is specified. 顧客リストが指定された場合の確認処理の実行例を示す図である。It is a figure which shows the example of execution of the confirmation process when a customer list is specified. 履歴情報の登録内容の例を示す図である。FIG. 6 is a diagram illustrating an example of registration contents of history information. クーポン配布前後の推移が指定された場合の確認処理の実行例を示す図である。It is a figure which shows the example of execution of the confirmation process when the transition before and after coupon distribution is designated.

本発明における情報処理装置100を、図1に示す情報処理システム1に適用した例を用いて説明する。情報処理システム1では、図1に示すように、情報処理装置100Aおよび100B(情報処理装置100Aおよび100Bを単に情報処理装置100ともいう)、顧客A〜Cの端末100C〜100E、店舗1および2の端末100Fおよび100Gのそれぞれがネットワーク210を介して通信可能に接続されている。顧客A〜Cの端末100C〜100E、店舗1および2の端末100Fおよび100Gは、それぞれ情報処理装置100としても機能することが可能である(端末100C〜100Gが情報処理装置100として機能することもある)が、理解を容易にするため、この実施の形態では、これらを情報処理装置100と区別して説明する。   The information processing apparatus 100 according to the present invention will be described using an example in which the information processing apparatus 100 is applied to the information processing system 1 shown in FIG. In the information processing system 1, as shown in FIG. 1, information processing apparatuses 100A and 100B (the information processing apparatuses 100A and 100B are also simply referred to as information processing apparatuses 100), terminals 100C to 100E of customers A to C, stores 1 and 2 Of terminals 100F and 100G are communicably connected via a network 210. The terminals 100C to 100E of the customers A to C and the terminals 100F and 100G of the stores 1 and 2 can also function as the information processing device 100, respectively (the terminals 100C to 100G may also function as the information processing device 100). However, for ease of understanding, in the present embodiment, these will be described separately from the information processing apparatus 100.

情報処理装置100は、携帯電話やスマートフォン、タブレットやPC(Personal Computer)等の情報端末であり、P2P(Peer to Peer)等の分散型のネットワーク210を構築している。なお、情報処理システム1は、P2P型のシステムに限られず、例えばクラウドコンピューティング型であってもよい。   The information processing apparatus 100 is an information terminal such as a mobile phone, a smartphone, a tablet, and a PC (Personal Computer), and constructs a distributed network 210 such as P2P (Peer to Peer). Note that the information processing system 1 is not limited to a P2P type system, and may be, for example, a cloud computing type.

情報処理装置100は、例えば、顧客Aが店舗1にて買い物をした、などといった、顧客と店舗との間で発生した取引のデータ(トランザクションデータ)をネットワーク210から受信したことに基づいて、新たなデータブロックを生成して当該受信データを格納し、既存のハッシュチェーンに連結する、ハッシュチェーン登録装置として機能する。なお、上述したように、端末100C〜100Gが情報処理装置100として機能することもあることから、情報処理装置100は、トランザクションデータを生成し、ネットワーク210へ配信する機能を有するトランザクション生成装置として機能することもある。ハッシュチェーン登録装置にて登録された内容は、ネットワーク210を介して、各情報処理装置100で共有される。また、通常、一定数のトランザクションデータが一つのデータブロックに格納される(一定数のトランザクションデータをひとまとめにして一つのブロックに格納する)が、この実施の形態では、理解を容易にするため、一つのトランザクションデータが一つのデータブロックに格納されるものとする。   The information processing apparatus 100 newly receives information on a transaction (transaction data) generated between the customer and the store, such as that the customer A has made a purchase at the store 1, from the network 210. It functions as a hash chain registration device that generates a simple data block, stores the received data, and connects it to an existing hash chain. As described above, since the terminals 100 </ b> C to 100 </ b> G may function as the information processing device 100, the information processing device 100 functions as a transaction generation device having a function of generating transaction data and distributing it to the network 210. Sometimes. The content registered by the hash chain registration device is shared by each information processing device 100 via the network 210. Usually, a certain number of transaction data is stored in one data block (a certain number of transaction data is collectively stored in one block). However, in this embodiment, in order to facilitate understanding, It is assumed that one transaction data is stored in one data block.

この実施の形態において、顧客と店舗との間で発生した取引により生成された(端末C〜端末Gのいずれかがトランザクション生成装置として機能して生成された)トランザクションデータは、データブロックと呼ばれる一つの単位に格納され、当該データブロックを時系列に連結したそれぞれの属性のハッシュチェーンによって管理される。例えば、顧客Aと店舗1との間で発生したトランザクションデータは、顧客Aの属性のハッシュチェーンおよび店舗1の属性のハッシュチェーンとに、それぞれ新たなデータブロックとして同内容のデータが登録されて管理される。   In this embodiment, transaction data generated by a transaction between a customer and a store (generated by any of the terminals C to G functioning as a transaction generation device) is referred to as a data block. The data blocks are stored in a single unit and managed by hash chains of respective attributes obtained by connecting the data blocks in a time series. For example, transaction data generated between the customer A and the store 1 is managed by registering the same data as a new data block in the hash chain of the attribute of the customer A and the hash chain of the attribute of the store 1 respectively. Is done.

また、この実施の形態における情報処理装置100は、各属性のハッシュチェーンに含まれるデータブロックから、ユーザの所望する登録データを分類したり集計したりするデータ統計装置としても機能する。なお、データ統計装置としての機能には、後述する履歴情報に基づいてデータを分類したり集計したりする機能も含まれる。   Further, the information processing apparatus 100 according to the present embodiment also functions as a data statistical apparatus that classifies and totals registration data desired by the user from data blocks included in the hash chains of the respective attributes. Note that the function as the data statistical device includes a function of classifying and totaling data based on history information described later.

具体的に、この実施の形態における情報処理装置100のデータ統計装置としての機能は、ユーザによる指定に基づいて、店舗毎の売り上げの集計、顧客リストの作成などを行う機能であり、ユーザにより所望されたデータを、グラフや表などの図にて表示することでユーザによる認識や分析を容易にする機能である。   Specifically, the function of the information processing apparatus 100 as a data statistical apparatus in this embodiment is a function of totaling sales for each store, creating a customer list, and the like based on designation by the user. This function is to display the data thus obtained in a diagram such as a graph or a table so that the user can easily recognize and analyze the data.

次に、図2を参照し、この実施の形態における情報処理装置100の構成について説明する。なお、図示する例では、情報処理装置100Aを例としているが、情報処理装置100Bおよび端末100C〜100Gの端末が情報処理装置100として機能する場合についても同様であるため、説明は省略する。なお、図示は省略しているが、トランザクション生成装置としての機能を有する機能部が設けられていてもよい。   Next, a configuration of the information processing apparatus 100 according to the present embodiment will be described with reference to FIG. In the illustrated example, the information processing apparatus 100A is taken as an example. However, the same applies to the case where the information processing apparatus 100B and the terminals 100C to 100G function as the information processing apparatus 100, and a description thereof will be omitted. Although not shown, a functional unit having a function as a transaction generation device may be provided.

図2に示すように、情報処理装置100A(以下、情報処理装置100)は、記憶部110と、制御部120と、入出力部130と、通信部140と、これらを相互に接続するシステムバス(図示省略)と、を備えている。   As shown in FIG. 2, the information processing apparatus 100A (hereinafter, information processing apparatus 100) includes a storage unit 110, a control unit 120, an input / output unit 130, a communication unit 140, and a system bus that interconnects these components. (Not shown).

記憶部110は、ROM(Read Only Memory)やRAM(Random Access Memory)等を備える。ROMは制御部120のCPU(Central Processing Unit)が実行するプログラム及び、プログラムを実行する上で予め必要なデータを記憶する(図示省略)。具体的に、この実施の形態では、当該情報処理装置100を、ハッシュチェーン登録装置およびデータ統計装置として機能させるためのプログラムが、予めインストールされている。RAMは、プログラム実行中に作成されたり変更されたりするデータを記憶する。記憶部110は、制御部120が実行するプログラムが用いる主要な情報として、各属性のハッシュチェーン111、履歴情報112を記憶する。   The storage unit 110 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The ROM stores a program executed by a CPU (Central Processing Unit) of the control unit 120 and data necessary for executing the program in advance (not shown). Specifically, in this embodiment, a program for causing the information processing device 100 to function as a hash chain registration device and a data statistical device is installed in advance. The RAM stores data created or changed during execution of the program. The storage unit 110 stores a hash chain 111 of each attribute and history information 112 as main information used by a program executed by the control unit 120.

各属性のハッシュチェーン111は、顧客A〜C、店舗1〜2それぞれの属性に対応するハッシュチェーンであり、それぞれのハッシュチェーンは、トランザクションデータが格納されたデータブロックが連結されたものである。各属性のハッシュチェーン111は、後述するデータブロック登録処理にて当該記憶部110に記憶され、後述する確認処理により、ハッシュチェーンが指定された場合に参照される。   The hash chain 111 of each attribute is a hash chain corresponding to the attribute of each of the customers A to C and the stores 1 and 2. Each hash chain is obtained by connecting data blocks storing transaction data. The hash chain 111 of each attribute is stored in the storage unit 110 in a data block registration process described later, and is referred to when a hash chain is designated by a confirmation process described later.

履歴情報112は、全てのトランザクションデータが時系列に格納された特別なハッシュチェーンである。履歴情報112は、後述するデータブロック登録処理にて当該記憶部110に記憶され、後述する確認処理により、ハッシュチェーンが指定されなかった場合に参照される。なお、この実施の形態における履歴情報112は、1つのトランザクションデータが1つのデータブロックに格納され連結されたハッシュチェーンであり、属性に関わらず全てのトランザクションデータが格納されたハッシュチェーン(属性のないハッシュチェーン)である。なお、複数のトランザクションデータが1つのデータブロックに格納され、ハッシュチェーンとして連結されてもよい。なお、履歴情報は、時系列に格納された一覧表にしてもよい。   The history information 112 is a special hash chain in which all transaction data is stored in chronological order. The history information 112 is stored in the storage unit 110 in a data block registration process described later, and is referred to when a hash chain is not specified by a confirmation process described later. Note that the history information 112 in this embodiment is a hash chain in which one transaction data is stored and linked in one data block, and a hash chain in which all transaction data is stored regardless of the attribute (there is no hash chain). Hash chain). Note that a plurality of transaction data may be stored in one data block and connected as a hash chain. The history information may be a list stored in chronological order.

制御部120は、CPUやASIC(Application Specific Integrated Circuit)等から構成される。制御部120は、記憶部110に記憶されたプログラムに従って動作し、当該プログラムに従った処理を実行する。制御部120は、記憶部110に記憶されたプログラムにより提供される主要な機能部として、初期登録部121と、同期処理部122と、データブロック登録部123と、データ取得部124と、グラフ生成部125と、を備える。   The control unit 120 includes a CPU, an ASIC (Application Specific Integrated Circuit), and the like. The control unit 120 operates according to the program stored in the storage unit 110, and executes processing according to the program. The control unit 120 includes an initial registration unit 121, a synchronization processing unit 122, a data block registration unit 123, a data acquisition unit 124, and a graph generation unit as main function units provided by a program stored in the storage unit 110. A part 125.

初期登録部121は、ユーザの入出力部130に対する操作や、通信部140を介して受信した要求に基づいて、新たな属性のハッシュチェーンを生成するために必要な初期情報を登録する機能を実現する機能部である。詳しくは後述するが、初期登録部121は、例えば、顧客Aの属性のハッシュチェーンを生成するために必要な初期情報として、属性情報、顧客Aのアドレス、インデックス値などを登録する機能(すなわち、後述するハッシュチェーンの土台情報を登録する機能)を有している。   The initial registration unit 121 implements a function of registering initial information necessary for generating a new attribute hash chain based on a user operation on the input / output unit 130 and a request received via the communication unit 140. It is a functional unit that performs As will be described later in detail, the initial registration unit 121 has a function of registering, for example, attribute information, an address of the customer A, an index value, and the like as initial information necessary for generating a hash chain of the attribute of the customer A (that is, (A function of registering the base information of the hash chain described later).

同期処理部122は、当該情報処理装置100に記憶された各属性のハッシュチェーンと、他の情報処理装置100に記憶された各属性のハッシュチェーンとを同期する機能を実現する機能部である。詳しくは後述するが、同期処理部122は、後述するデータブロック登録処理にてトランザクションデータを当該情報処理装置100におけるデータブロックに登録する前と後に、他の情報処理装置100と同期する機能を有している。また、同期処理部122は、後述する初期登録処理において他の情報処理装置100へ、ハッシュチェーンの土台情報を同期させる機能を有している。   The synchronization processing unit 122 is a functional unit that implements a function of synchronizing a hash chain of each attribute stored in the information processing device 100 with a hash chain of each attribute stored in another information processing device 100. Although described in detail later, the synchronization processing unit 122 has a function of synchronizing with another information processing device 100 before and after registering transaction data in a data block in the information processing device 100 in a data block registration process described later. doing. In addition, the synchronization processing unit 122 has a function of synchronizing the base information of the hash chain with another information processing device 100 in an initial registration process described later.

データブロック登録部123は、発生したトランザクションのトランザクションデータを含むデータブロックを、当該情報処理装置100の各属性のハッシュチェーン111のうち、対応する属性のハッシュチェーンに追加する機能を実現する機能部である。詳しくは後述するが、データブロック登録部123は、例えば、顧客Aと店舗1とで取引が行われた場合、顧客Aと店舗1のそれぞれのハッシュチェーンに、当該取引の内容(トランザクションデータ)を、新たなデータブロックとして登録する機能を有している。また、データブロック登録部123は、トランザクションデータを履歴情報112に登録する機能も有している。   The data block registration unit 123 is a functional unit that implements a function of adding a data block including transaction data of a generated transaction to a hash chain of a corresponding attribute among the hash chains 111 of the attributes of the information processing apparatus 100. is there. As will be described in detail later, for example, when a transaction is performed between the customer A and the store 1, the data block registration unit 123 stores the contents of the transaction (transaction data) in the respective hash chains of the customer A and the store 1. Has a function of registering as a new data block. The data block registration unit 123 also has a function of registering transaction data in the history information 112.

データ取得部124は、ユーザの指定に基づいて、登録された各属性のハッシュチェーン111に含まれるデータブロックの内容や、履歴情報112に含まれるデータを取得する機能を実現する機能部である。なお、データ取得部124には、取得したデータを再配置して出力する機能も有している。   The data acquisition unit 124 is a function unit that implements a function of acquiring the content of the data block included in the hash chain 111 of each registered attribute and the data included in the history information 112 based on the designation of the user. The data acquisition section 124 also has a function of rearranging and outputting the acquired data.

また、グラフ生成部125は、データ取得部124により取得したデータから、ユーザの指定に基づいて、グラフや表や図などを生成する機能を実現する機能部である。   The graph generation unit 125 is a functional unit that implements a function of generating a graph, a table, a diagram, and the like based on data specified by the user from data acquired by the data acquisition unit 124.

これら各機能部が協働して、当該情報処理装置100をハッシュチェーン登録装置およびデータ統計装置として機能させる。   These functional units cooperate to make the information processing device 100 function as a hash chain registration device and a data statistical device.

入出力部130は、キーボード、マウス、カメラ、マイク、液晶ディスプレイ、有機EL(Electoro−Luminescence)ディスプレイ等から構成され、データの入出力を行うための装置である。   The input / output unit 130 includes a keyboard, a mouse, a camera, a microphone, a liquid crystal display, an organic EL (Electro-Luminescence) display, and the like, and is a device for inputting and outputting data.

通信部140は、他の情報処理装置100や端末C〜端末Gとネットワーク210を介して通信を行うためのデバイスである。   The communication unit 140 is a device for communicating with the other information processing apparatuses 100 and the terminals C to G via the network 210.

以上が、情報処理装置100の構成である。続いて情報処理装置100の動作などについて、図3〜図12を参照して説明する。まず、ハッシュチェーン登録装置として機能した場合における情報処理装置100の動作について、図3〜7を参照して説明する。   The above is the configuration of the information processing apparatus 100. Next, the operation of the information processing apparatus 100 will be described with reference to FIGS. First, the operation of the information processing device 100 when functioning as a hash chain registration device will be described with reference to FIGS.

まず、ユーザの入出力部130に対する操作(入力操作)や、端末C〜端末Gから受信した要求(登録要求)に基づいて、図3に示す初期登録処理が行われる。初期登録処理は、新たな属性のハッシュチェーンを生成するために必要な初期情報を登録する処理である。この例では、理解を容易にするため、顧客Aについての初期登録を行う場合について説明する。初期登録処理を開始すると、情報処理装置100は、初期登録部121の機能により、属性データを生成する(ステップS101)。具体的に、ステップS101では、入力操作や登録要求に含まれる、属性情報である顧客Aの情報および顧客Aのアドレスを、顧客Aの属性のハッシュチェーンを生成するための情報として、記憶部110へ登録する。なお、当該情報は、各属性のハッシュチェーン111のうちの属性Aのハッシュチェーンとして登録されればよい。また、属性情報は登録せず、アドレスのみ登録するようにしてもよい。なお、この実施の形態では、顧客A〜Cのアドレスを01〜03、店舗1および2のアドレスをXXおよびYYとしている。   First, an initial registration process shown in FIG. 3 is performed based on a user operation (input operation) on the input / output unit 130 and a request (registration request) received from the terminals C to G. The initial registration process is a process of registering initial information necessary for generating a new attribute hash chain. In this example, a case will be described in which initial registration for customer A is performed for easy understanding. When the initial registration process is started, the information processing apparatus 100 generates attribute data using the function of the initial registration unit 121 (Step S101). Specifically, in step S101, the information of the customer A and the address of the customer A, which are the attribute information included in the input operation and the registration request, are stored in the storage unit 110 as information for generating a hash chain of the attribute of the customer A. Register to The information may be registered as the hash chain of the attribute A in the hash chain 111 of each attribute. Alternatively, only the address may be registered without registering the attribute information. In this embodiment, the addresses of the customers A to C are 01 to 03, and the addresses of the stores 1 and 2 are XX and YY.

次に、情報処理装置100は、初期登録部121の機能により、登録した顧客Aの属性のハッシュチェーンのインデックス値に、初期値である「0」を登録する(ステップS102)。インデックス値が「0」であることは、当該ハッシュチェーンが初期状態であること(何らデータブロックが登録されていない状態であること)を示している。すなわち、ステップS101およびステップS102の処理では、データブロックがチェーンで連結されてはいないものの、データブロックが未登録のハッシュチェーン(ハッシュチェーンの土台情報)が生成されていると言える。なお、この状態では、データブロックがチェーンで連結されていないため、データを削除でき、また、削除したことを検証することができない、といった問題がある。そこで、対改ざん性を高めるため、ランダムで選択したハッシュチェーンに対して、0コインの特別なトランザクションを発生させ、インデックス値が「0」のデータブロックをチェーンで連結する処理を行うようにしてもよい。   Next, the information processing apparatus 100 registers the initial value “0” in the index value of the hash chain of the attribute of the registered customer A by the function of the initial registration unit 121 (step S102). An index value of “0” indicates that the hash chain is in an initial state (a state in which no data block is registered). In other words, in the processes of step S101 and step S102, it can be said that a hash chain (base information of the hash chain) in which the data blocks are not connected by a chain but the data blocks are not registered is generated. In this state, since the data blocks are not connected by a chain, there is a problem that the data can be deleted and that the deletion cannot be verified. Therefore, in order to improve the tamper resistance, a special transaction of 0 coins is generated for a randomly selected hash chain, and a process of linking data blocks with an index value of “0” by a chain may be performed. Good.

ステップS102の処理を実行した後、情報処理装置100は、同期処理部122の機能により、他の情報処理装置100へ、当該内容を登録し(ステップS103)、初期登録処理を終了する。具体的に、ステップS103では、当該情報処理装置100における顧客Aの属性のハッシュチェーン(ハッシュチェーンの土台情報)の内容を、他の情報処理装置100の記憶部110における各属性のハッシュチェーン111へコピーする。これにより、全ての情報処理装置100において顧客Aの属性のハッシュチェーン(ハッシュチェーンの土台情報)が共有されることとなる。   After executing the processing in step S102, the information processing apparatus 100 registers the content in another information processing apparatus 100 by the function of the synchronization processing unit 122 (step S103), and ends the initial registration processing. Specifically, in step S103, the content of the hash chain of the attribute of the customer A (the base information of the hash chain) in the information processing apparatus 100 is transferred to the hash chain 111 of each attribute in the storage unit 110 of the other information processing apparatus 100. make a copy. As a result, all the information processing apparatuses 100 share the hash chain of the attribute of the customer A (base information of the hash chain).

次に、発生したトランザクションについて、当該トランザクションデータを対応する属性のハッシュチェーンのデータブロックへ登録するデータブロック登録処理について説明する。当該データブロック登録処理は、発生したトランザクションに対応するトランザクションデータを受信することにより実行される。トランザクションデータは、端末C〜端末Gのいずれかより受信するものであるが、入出力部130に入力されてもよい。なお、この実施の形態では、上述したように、一つのトランザクションにつき一つのデータブロックが作成され登録されることから、当該データブロック登録処理は、登録すべきトランザクションの数が複数ある場合、繰り返し実行されることとなる。   Next, a description will be given of a data block registration process for registering the generated transaction data in the data block of the hash chain of the corresponding attribute for the generated transaction. The data block registration process is executed by receiving transaction data corresponding to the generated transaction. The transaction data is received from any of the terminals C to G, but may be input to the input / output unit 130. In this embodiment, as described above, since one data block is created and registered for one transaction, the data block registration process is repeatedly executed when there are a plurality of transactions to be registered. Will be done.

図4は、データブロック登録処理の一例を示すフローチャートである。この例では、理解を容易にするため、顧客Aが店舗1にて1000コイン購入したというトランザクションが発生した場合のデータブロック登録処理(図5(A)の状態から(B)の状態へと移行する場合)について説明する。   FIG. 4 is a flowchart illustrating an example of the data block registration process. In this example, in order to facilitate understanding, a data block registration process (transition from the state of FIG. 5A to the state of FIG. Will be described).

顧客Aが店舗1にて1000コイン購入したというトランザクションが発生すると、これに対応するトランザクションデータが顧客Aの端末Cまたは店舗1の端末Fから送信される。これにより、情報処理装置100は、データブロック登録部123の機能により、データブロック登録処理を開始する。なお、端末Cと端末Fの両方から同内容のトランザクションデータを受信することをもってデータブロック登録処理を開始するようにしてもよい。異なる内容のトランザクションデータを受信した場合には、エラーを出力するようにしてもよい。   When a transaction in which the customer A has purchased 1000 coins at the store 1 occurs, corresponding transaction data is transmitted from the terminal C of the customer A or the terminal F of the store 1. Thereby, the information processing apparatus 100 starts the data block registration process by the function of the data block registration unit 123. Note that the data block registration process may be started by receiving the same transaction data from both the terminal C and the terminal F. When transaction data of different contents is received, an error may be output.

データブロック登録処理を開始すると、情報処理装置100は、まず、同期処理部122の機能により、当該情報処理装置100における対象のハッシュチェーンと、他の情報処理装置100における対象のハッシュチェーンとが、同期しているか否かを判定する(ステップS201)。具体的に、この例におけるステップS201の処理では、各属性のハッシュチェーン111のうち、顧客Aのハッシュチェーンに含まれる最新のデータブロックのインデックス値とハッシュ値、および店舗1のハッシュチェーンに含まれる最新のデータブロックのインデックス値とハッシュ値と、他の全ての情報処理装置100に記憶されたものと同一であるか否かを判定することで、同期しているか否かを判定する。   When the data block registration process is started, the information processing apparatus 100 first causes the target hash chain in the information processing apparatus 100 and the target hash chain in the other information processing apparatuses 100 to operate by the function of the synchronization processing unit 122. It is determined whether or not they are synchronized (step S201). Specifically, in the process of step S201 in this example, the index value and the hash value of the latest data block included in the hash chain of the customer A among the hash chains 111 of each attribute, and the hash value of the hash chain of the store 1 By determining whether the index value and the hash value of the latest data block are the same as those stored in all the other information processing apparatuses 100, it is determined whether or not they are synchronized.

図5(A)に示す例を用いて説明すると、当該情報処理装置100(トランザクションデータを受信した情報処理装置100のことをいう、以下同様)の各属性のハッシュチェーン111のうち、顧客Aのハッシュチェーンには、インデックス値「N−1」のデータブロックが最新のデータブロックとして登録されており、店舗1のハッシュチェーンには、インデックス値「Z−1」のデータブロックが最新のデータブロックとして登録されている。なお、図示するように、この実施の形態におけるハッシュチェーンのデータブロック(第mのデータブロック)には、登録データ(トランザクションデータ)と、現在のハッシュチェーンの末尾(1つ前)のデータブロック(第m−1のデータブロック)のハッシュ値(256ビット)が含まれる点は、従来のブロックチェーンの仕組みと同様である。また、データブロックには、例えば、当該データブロックに登録データが登録された日時を示すタイムスタンプなどの分析用付加データが含まれる(図示省略)点についても、従来のブロックチェーンの仕組みと同様である。   Explaining using the example shown in FIG. 5A, of the hash chain 111 of each attribute of the information processing apparatus 100 (the information processing apparatus 100 that has received the transaction data, the same applies hereinafter), the customer A's In the hash chain, the data block with the index value "N-1" is registered as the latest data block, and in the hash chain of the store 1, the data block with the index value "Z-1" is registered as the latest data block. It is registered. As shown in the figure, the data block (transaction data) of the hash chain in this embodiment includes the registration data (transaction data) and the data block (the previous one) of the current hash chain. The point that the hash value (256 bits) of the (m-1) -th data block is included is the same as the mechanism of the conventional block chain. Further, the data block includes additional data for analysis such as a time stamp indicating the date and time when the registered data is registered in the data block (not shown) in the same manner as the conventional block chain mechanism. is there.

ステップS201の処理では、インデックス値「N−1」と当該N−1のハッシュ値、およびインデックス値「Z−1」と当該Z−1のハッシュ値が、他の全ての情報処理装置100に記憶されているものと一致するか否かを判定することで、同期しているか否かを判定する。例えば、インデックス値「N」と当該Nのハッシュ値が記憶されている情報処理装置100が存在する場合には、当該情報処理装置100に記憶されている顧客Aの属性のハッシュチェーンの情報が古いと判定する(インデックス値「Z」および当該Zのハッシュ値の場合には店舗1の属性のハッシュチェーン)。一方、インデックス値「N−2」と当該N−2のハッシュ値が記憶されている情報処理装置100が存在する場合には、その情報処理装置100に記憶されている顧客Aの属性のハッシュチェーンの情報が古いと判定する(インデックス値「Z−2」および当該Z−2のハッシュ値の場合には店舗1の属性のハッシュチェーン)。   In the process of step S201, the index value “N-1” and the hash value of the N-1 and the index value “Z-1” and the hash value of the Z-1 are stored in all the other information processing apparatuses 100. It is determined whether or not they are synchronized by determining whether or not they match. For example, when there is the information processing apparatus 100 in which the index value “N” and the hash value of the N are stored, the information of the hash chain of the attribute of the customer A stored in the information processing apparatus 100 is old. (In the case of the index value “Z” and the hash value of the Z, the hash chain of the attribute of the store 1). On the other hand, when there is the information processing apparatus 100 in which the index value “N−2” and the hash value of the N−2 are stored, the hash chain of the attribute of the customer A stored in the information processing apparatus 100 Is determined to be old (the index value “Z-2” and, in the case of the hash value of the Z-2, the hash chain of the attribute of the store 1).

同期していない場合(ステップS201;No)、情報処理装置100は、同期処理部122の機能により、最新のハッシュチェーンの内容を、古いと判定したハッシュチェーンが登録されている情報処理装置100へコピーする同期処理を実行する(ステップS202)。なお、ステップS202の処理では、ハッシュチェーン全体をコピーしてもよいし、不足しているデータブロックのみ(インデックス値やハッシュ値も含む)コピーしてもよい。   If not synchronized (step S201; No), the information processing apparatus 100 uses the function of the synchronization processing unit 122 to transfer the contents of the latest hash chain to the information processing apparatus 100 in which the hash chain determined to be old is registered. A synchronous process for copying is executed (step S202). In the process of step S202, the entire hash chain may be copied, or only the missing data block (including the index value and the hash value) may be copied.

図4に戻り、ステップS201にて同期していると判定した場合(ステップS201;Yes)、またはステップS202の処理を実行した場合、情報処理装置100は、対象のハッシュチェーンに同一の登録データを格納したデータブロックをそれぞれ追加する(ステップS203)。なお、上述したように、新たなデータブロック(第mのデータブロック)をハッシュチェーンに追加する場合、登録データ(トランザクションデータ)と、現在のハッシュチェーンの末尾(1つ前)のデータブロック(第m−1のデータブロック)のハッシュ値(256ビット)をデータブロックに格納し、現在のハッシュチェーンの末尾(1つ前)のデータブロック(第m−1のデータブロック)に連結する点は、従来のブロックチェーンの仕組みと同様である。   Returning to FIG. 4, if it is determined in step S201 that synchronization has been achieved (step S201; Yes), or if the processing of step S202 has been performed, the information processing apparatus 100 stores the same registered data in the target hash chain. Each of the stored data blocks is added (step S203). As described above, when adding a new data block (the m-th data block) to the hash chain, the registration data (transaction data) and the data block (the first data block) at the end (one before) of the current hash chain are added. The point at which the hash value (256 bits) of the (m−1 data block) is stored in the data block and connected to the data block (m−1th data block) at the end (previous one) of the current hash chain is as follows: It is the same as the mechanism of the conventional blockchain.

具体的に、ステップS203の処理では、図5(B)に示すように、顧客Aの属性のハッシュチェーンには、インデックス値「N」のデータブロックがインデックス値「N−1」のデータブロックに連結されるとともに、店舗1の属性のハッシュチェーンには、インデックス値「Z」のデータブロックがインデックス値「Z−1」のデータブロックに連結される。連結されるそれぞれのデータブロックは、同一のトランザクションデータが含まれる。具体的に、店舗1から(From:XX)顧客1へ(To:01)1000のコインが移動した(価値:1000)ことを示す内容が登録される。図示するように、「From」と「To」により、どちらからどちらに価値であるコインが移動したかが示され、価値の大きさにより、コインの移動量が示される。なお、この実施の形態では、店舗から顧客へコインが移動した場合には、現金収入があったものとしている。また、登録されるトランザクションデータは、コインを基準としているが、現金を基準としてもよい。さらに、顧客Aの属性のハッシュチェーンにおけるインデックス値「N」のデータブロックには、N−1のハッシュ値が格納され、店舗1の属性のハッシュチェーンにおけるインデックス値「Z」のデータブロックには、Z−1のハッシュ値が格納される。このように、この実施の形態における情報処理装置100は、対応するそれぞれのハッシュチェーンに、同一のトランザクションデータを追加する。   Specifically, in the process of step S203, as shown in FIG. 5B, in the hash chain of the attribute of the customer A, the data block of the index value “N” is replaced with the data block of the index value “N−1”. At the same time, the data block of the index value “Z” is linked to the data block of the index value “Z−1” in the hash chain of the attribute of the store 1. Each connected data block includes the same transaction data. Specifically, the content indicating that (To: 01) 1000 coins have moved (value: 1000) from store 1 to (From: XX) customer 1 is registered. As shown in the figure, “From” and “To” indicate from which to which the valuable coin has moved, and the magnitude of the value indicates the amount of movement of the coin. In the present embodiment, it is assumed that cash has been earned when coins have been transferred from a store to a customer. Further, the registered transaction data is based on coins, but may be based on cash. Further, the data block of the index value “N” in the hash chain of the attribute of the customer A stores the hash value of N−1, and the data block of the index value “Z” in the hash chain of the attribute of the store 1 includes: The hash value of Z-1 is stored. As described above, the information processing apparatus 100 according to the present embodiment adds the same transaction data to each corresponding hash chain.

図4に戻り、ステップS203の処理を実行した後、情報処理装置100は、データブロック登録部123の機能により、ステップS203にて追加したトランザクションデータを履歴情報112としてのブロックに登録する(ステップS204)。なお、図示する例では、ステップS203の処理の後に当該ステップS204の処理を実行する例を示しているが、ステップS203にて履歴情報112への登録を合わせて実行してもよいし、ステップS203の前にステップS204の処理を実行してもよい。なお、上述したように、履歴情報112は、1つのトランザクションデータが1つのデータブロックに格納され連結された、属性のないハッシュチェーンであることから、1つのブロックには、現在のハッシュチェーンの末尾(1つ前)のデータブロック(第m−1のデータブロック)のハッシュ値(256ビット)や分析用付加データが含まれる点は、各属性のハッシュチェーン111と同様であるとともに、従来のブロックチェーンの仕組みと同様である。また、ステップS203の処理では、同じ内容のトランザクションデータが顧客Aの属性のハッシュチェーンと店舗1の属性のハッシュチェーンのそれぞれに追加されるが、ステップS204では、顧客Aが店舗1にて1000コイン購入したことを示すトランザクションデータが、当該履歴情報112の1データブロックに登録されるのみである。   Returning to FIG. 4, after executing the processing of step S203, the information processing apparatus 100 registers the transaction data added in step S203 in a block as the history information 112 by the function of the data block registration unit 123 (step S204). ). In the illustrated example, the process of step S204 is performed after the process of step S203. However, the registration in the history information 112 may be performed in step S203, or the process of step S203 may be performed. May be performed before step S204. Note that, as described above, the history information 112 is a hash chain having no attribute in which one transaction data is stored and linked in one data block, so that one block includes the end of the current hash chain. The point that the hash value (256 bits) of the (previous) data block (the (m-1) th data block) and the additional data for analysis are included is the same as that of the hash chain 111 of each attribute, and the conventional block. It is the same as the chain mechanism. In the process of step S203, transaction data having the same content is added to each of the hash chain of the attribute of the customer A and the hash chain of the attribute of the store 1. In step S204, the customer A The transaction data indicating that the purchase has been made is only registered in one data block of the history information 112.

ステップS204の処理を実行した後、情報処理装置100は、同期処理部122の機能により、ステップS203にてデータブロックを追加した属性のハッシュチェーンおよび履歴情報112を他の情報処理装置100へ登録することにより、当該情報処理装置100と他の情報処理装置100とを同期してから(ステップS205)、データブロック登録処理を終了する。なお、ステップS205の処理では、当該情報処理装置100における顧客Aおよび店舗1の属性のハッシュチェーンそれぞれの内容と、履歴情報112の内容を、他の情報処理装置100の記憶部110における各属性のハッシュチェーン111および履歴情報112へコピーする。なお、ステップS205の処理では、ステップS202の処理と同様に、ハッシュチェーン全体をコピーしてもよいし、不足しているデータブロックのみ(インデックス値やハッシュ値も含む)コピーしてもよい(履歴情報112についても同様)。   After executing the processing of step S204, the information processing apparatus 100 registers the hash chain and the history information 112 of the attribute to which the data block has been added in step S203 in another information processing apparatus 100 by the function of the synchronization processing unit 122. Thus, after synchronizing the information processing apparatus 100 with another information processing apparatus 100 (step S205), the data block registration processing ends. In the process of step S205, the contents of the hash chains of the attributes of the customer A and the store 1 in the information processing apparatus 100 and the contents of the history information 112 are stored in the storage unit 110 of the other information processing apparatus 100. Copy to hash chain 111 and history information 112. In the process of step S205, as in the process of step S202, the entire hash chain may be copied, or only the missing data block (including the index value and the hash value) may be copied (history). The same applies to the information 112).

このように、トランザクションが発生する度に、図4に示すデータブロック登録処理が行われ、トランザクションデータが対象のハッシュチェーンに登録されることとなる。例えば、図6に示すように10個のトランザクションが発生した場合には、図4に示すデータブロック登録処理が10回行われ、取引を行った対象者の属性のハッシュチェーンにトランザクションデータが登録されることとなる。図7は、図6に示す10個のトランザクションについて図4に示すデータブロック登録処理が10回行われた場合におけるそれぞれのハッシュチェーンの登録内容を示している(履歴情報112における登録内容については、図11参照)。なお、図7に示す例では、理解を容易にするため、各データブロックに格納されているハッシュ値や分析用付加データについては省略している。   Thus, every time a transaction occurs, the data block registration process shown in FIG. 4 is performed, and the transaction data is registered in the target hash chain. For example, when ten transactions occur as shown in FIG. 6, the data block registration process shown in FIG. 4 is performed ten times, and the transaction data is registered in the hash chain of the attribute of the person who made the transaction. The Rukoto. FIG. 7 shows the registration contents of each hash chain when the data block registration processing shown in FIG. 4 is performed ten times for the ten transactions shown in FIG. 6 (registration contents in the history information 112 are as follows). See FIG. 11). In the example shown in FIG. 7, the hash value and the additional data for analysis stored in each data block are omitted for easy understanding.

具体的に、図6の1つ目のトランザクションに対応する顧客Aが店舗1にて1000コイン購入したというトランザクションデータは、図4に示すデータブロック登録処理が行われることにより、図7に示す顧客Aの属性のハッシュチェーンにおけるデータブロック(1)および店舗1の属性のハッシュチェーンにおけるデータブロック(1)に登録される。図6の2つ目のトランザクションに対応する顧客Aが店舗1で100コイン分の買い物をしたというトランザクションデータは、図4に示すデータブロック登録処理が再度行われることにより、図7に示す顧客Aの属性のハッシュチェーンにおけるデータブロック(2)および店舗1の属性のハッシュチェーンにおけるデータブロック(2)に登録される。そして、図6の3つ目のトランザクションに対応する顧客Bが店舗2で400コイン購入したというトランザクションデータは、図4に示すデータブロック登録処理が再度行われることにより、図7に示す顧客Bの属性のハッシュチェーンにおけるデータブロック(1)および店舗2の属性のハッシュチェーンにおけるデータブロック(1)に登録される。このように、トランザクションの数に対応した回数のデータブロック登録処理が行われることにより、それぞれのトランザクションデータが対応する属性のハッシュチェーンに連結する(図6の4つ目以降のトランザクションについても同様)。また、これに合わせて、それぞれのトランザクションデータが履歴情報112にも登録される(図11参照)。   Specifically, the transaction data that the customer A corresponding to the first transaction in FIG. 6 has purchased 1000 coins in the store 1 is processed by the data block registration process shown in FIG. It is registered in the data block (1) in the hash chain of the attribute of A and the data block (1) in the hash chain of the attribute of the store 1. The transaction data that the customer A corresponding to the second transaction in FIG. 6 has made a purchase for 100 coins in the store 1 is stored in the customer A shown in FIG. 7 by performing the data block registration process shown in FIG. 4 again. And the data block (2) in the hash chain with the attribute of the store 1 and the data block (2) in the hash chain with the attribute of the store 1. Then, the transaction data that the customer B corresponding to the third transaction in FIG. 6 has purchased 400 coins in the store 2 becomes the data of the customer B shown in FIG. The data block (1) in the attribute hash chain and the data block (1) in the attribute hash chain of the store 2 are registered. As described above, by performing the data block registration processing the number of times corresponding to the number of transactions, each transaction data is connected to the hash chain of the corresponding attribute (the same applies to the fourth and subsequent transactions in FIG. 6). . At the same time, each transaction data is also registered in the history information 112 (see FIG. 11).

なお、図6に示すように、この例では、顧客Aに対してクーポンが発行された例を示しており(図6に示す6つ目のトランザクション)、このトランザクションデータについても、図4に示すデータブロック登録処理にてデータブロックに登録されることとなる。その場合には、図4のステップS203およびステップS204にて顧客Aがクーポンを取得したことを示すトランザクションデータが新たなデータブロックに登録されればよい。具体的には、ステップS203およびS204にてクーポン取得のトランザクションデータであるかを判定し、クーポン取得のトランザクションデータである場合にその旨を登録すればよい。なお、図7に示すように、当該クーポン取得のトランザクションデータには、「From」にクーポンを発行した者のアドレスが、および「To」にはクーポンを受け取った顧客のアドレスが登録され、価値内容としてクーポンである事が登録される。なお、この他にも、例えば、割引金額や当該クーポンを使用可能な商品の情報が分析用付加データとして含まれていてもよい。すなわち、クーポンであること、およびクーポンを受け取った顧客および発行した者を特定可能な内容を含むトランザクションデータであれば、その他の情報が含まれて登録されてもよい。また、価値内容として割引金額が登録され、分析用付加データとしてクーポンであることを特定する情報が登録されるなど、クーポン取得のトランザクションデータの登録形式は、必要な情報が含まれてさえいれば任意であってよい。   As shown in FIG. 6, this example shows an example in which a coupon is issued to customer A (the sixth transaction shown in FIG. 6), and this transaction data is also shown in FIG. It will be registered in the data block in the data block registration process. In that case, transaction data indicating that customer A has acquired the coupon in steps S203 and S204 in FIG. 4 may be registered in a new data block. Specifically, in steps S203 and S204, it is determined whether the transaction data is coupon acquisition transaction data. If the transaction data is coupon acquisition transaction data, that fact may be registered. As shown in FIG. 7, in the transaction data of the coupon acquisition, the address of the person who issued the coupon is registered in “From”, and the address of the customer who received the coupon is registered in “To”. Is registered as a coupon. In addition to this, for example, information on a discount amount or a product that can use the coupon may be included as additional data for analysis. That is, as long as the transaction data includes a coupon and contents that can specify the customer who has received the coupon and the person who issued the coupon, other information may be included and registered. In addition, the registration format of transaction data for coupon acquisition, such as registration of a discount amount as value content and information identifying a coupon as additional data for analysis, is only required if the necessary information is included. It may be optional.

以上がハッシュチェーン登録装置として機能した場合における情報処理装置100の動作である。続いてデータ統計装置として機能した場合における情報処理装置100の動作について、図8〜図12を参照して説明する。なお、理解を容易にするため、以下の例では、図6示す10個のトランザクションが発生し、各トランザクションに対応して10回のデータ登録処理が行われ、図7に示すように各ハッシュチェーンのデータブロックが登録されているものとして、以下説明する。   The above is the operation of the information processing device 100 when functioning as the hash chain registration device. Next, the operation of the information processing apparatus 100 when functioning as a data statistical apparatus will be described with reference to FIGS. In order to facilitate understanding, in the following example, ten transactions shown in FIG. 6 occur, and data registration processing is performed ten times in correspondence with each transaction. As shown in FIG. The following description will be made on the assumption that the data block is registered.

図8は、確認処理の一例を示すフローチャートである。当該確認処理は、ユーザの入出力部130に対する操作(入力操作)や、端末C〜端末Gから受信した要求(確認要求)に基づいて開始される。確認処理は、各属性のハッシュチェーン111や履歴情報112から所望されたデータブロックを取得し、店舗毎の売り上げの集計や顧客リストなどを統計情報としてグラフや表などの図にて表示することで、ユーザによる認識や分析を容易にするための処理である。   FIG. 8 is a flowchart illustrating an example of the confirmation process. The confirmation processing is started based on an operation (input operation) of the user on the input / output unit 130 or a request (confirmation request) received from the terminals C to G. The confirmation process obtains a desired data block from the hash chain 111 and the history information 112 of each attribute, and displays the total of sales for each store, the customer list, and the like as statistical information in the form of a graph or a table. This is a process for facilitating recognition and analysis by the user.

確認処理を開始すると、情報処理装置100は、データ取得部124の機能により、まず、ハッシュチェーンが指定されているか否かを判定する(ステップS301)。ステップS301では、入力操作や確認要求に含まれる要求種別にてハッシュチェーンが指定されているか否かを判定することで、ハッシュチェーンが指定されているか否かを判定する。要求種別は、ユーザの所望する表示内容の種類を指定するもので、例えば、指定店舗の売り上げの集計、顧客リスト、指定期間における全店舗の売り上げ比較、またはクーポン配布前後の推移などといったように予め複数設定されている。また、この実施の形態では、要求種別に応じてハッシュチェーンを指定するか否かが予め設定されている。より具体的には、時間的要素を含まない要求種別についてはハッシュチェーンを指定し、そうでない要求種別についてはハッシュチェーンを指定せず、履歴情報112を指定するよう設定されている。なお、ハッシュチェーンの指定の有無の設定はユーザによる操作により変更可能であってもよいし、入力操作時や確認要求時に選択可能であってもよい。そのため、ステップS301では、要求種別にてハッシュチェーンが指定されているか否かを判定する。なお、予めハッシュチェーンを指定する必要のある要求種別である場合には、ハッシュチェーンが指定されているか否かではなく、要求種別がいずれの要求種別であるかにより、ハッシュチェーンが指定されているか否かを判定してもよい。また、要求種別についても、ユーザによる操作にて新たに追加、変更、削除が可能となっている。   When the confirmation processing is started, the information processing apparatus 100 first determines whether or not a hash chain is designated by the function of the data acquisition unit 124 (step S301). In step S301, it is determined whether or not the hash chain is specified by the request type included in the input operation or the confirmation request, thereby determining whether or not the hash chain is specified. The request type designates the type of display content desired by the user. For example, a total of sales at the specified store, a customer list, a comparison of sales at all stores in the specified period, or a transition before and after coupon distribution, etc. There are multiple settings. In this embodiment, whether or not a hash chain is designated according to the request type is set in advance. More specifically, a hash chain is specified for a request type that does not include a temporal element, and the history information 112 is specified without specifying a hash chain for a request type that does not include a time element. The setting of the designation of the hash chain may be changeable by a user operation, or may be selectable at the time of an input operation or a confirmation request. Therefore, in step S301, it is determined whether a hash chain is specified in the request type. If the request type requires a hash chain to be specified in advance, it does not depend on whether the hash chain is specified or not, but depending on which request type is the request type. It may be determined whether or not. Also, the request type can be newly added, changed, or deleted by a user operation.

ステップS301にてハッシュチェーンが指定されていると判定した場合(ステップS301;Yes)、情報処理装置100は、データ取得部124の機能により、指定された属性のハッシュチェーンから対象のトランザクションデータ(対象データ)を取得する(ステップS302)。ステップS302では、入力操作や確認要求に含まれる要求種別にて指定された属性のハッシュチェーンから、対象のトランザクションデータ(対象データ)を取得する。具体的に、入力操作や確認要求に含まれる要求種別が売り上げの集計であり、指定されたハッシュチェーンの属性が店舗1である場合を例に説明すると、ステップS302では、店舗1の属性のハッシュチェーンに含まれるデータブロックからトランザクションデータを全て取得する。   If it is determined in step S301 that a hash chain has been designated (step S301; Yes), the information processing apparatus 100 uses the function of the data acquisition unit 124 to extract the target transaction data (target (Step S302). In step S302, the target transaction data (target data) is obtained from the hash chain of the attribute specified by the request type included in the input operation or the confirmation request. Specifically, the case where the request type included in the input operation or the confirmation request is the total of sales and the attribute of the designated hash chain is store 1 will be described as an example. Get all transaction data from the data blocks included in the chain.

一方、ステップS301にてハッシュチェーンが指定されていないと判定した場合(ステップS301;No)、情報処理装置100は、データ取得部124の機能により、履歴情報112から対象のトランザクションデータ(対象データ)を取得する(ステップS303)。ステップS303では、入力操作や確認要求に含まれる要求種別にて指定された期間のトランザクションデータを履歴情報112から取得する。具体的に、入力操作や確認要求に含まれる要求種別が、1週目(例えば1月1日〜1月7日)と2週目(例えば1月8日〜1月15日)の全店舗の売り上げ比較である場合を例に説明すると、ステップS303では、履歴情報112における各トランザクションデータのうち、1週目と2週目に対応するトランザクションデータを取得する。   On the other hand, if it is determined in step S301 that the hash chain has not been specified (step S301; No), the information processing apparatus 100 uses the function of the data acquisition unit 124 to retrieve the target transaction data (target data) from the history information 112. Is acquired (step S303). In step S303, transaction data for a period specified by the request type included in the input operation or the confirmation request is acquired from the history information 112. Specifically, the request types included in the input operation and the confirmation request are all stores in the first week (for example, January 1 to January 7) and the second week (for example, January 8 to January 15). In the step S303, the transaction data corresponding to the first week and the second week is obtained from the transaction data in the history information 112.

ステップS302またはステップS303の処理を実行した後、情報処理装置100は、データ取得部124の機能により、ステップS302またはステップS303にて取得したデータを再配置する(ステップS304)。ステップS304にて行われる再配置には、詳しくは後述するが、例えば、売り上げの合計を算出する処理やコイン収入と現金収入とを仕分けする処理(図9(A)、(B)参照)、指定した店舗のハッシュチェーンから取得したトランザクションデータを顧客毎に分類する処理(図10(A)参照)などが含まれる。   After executing the processing in step S302 or step S303, the information processing apparatus 100 rearranges the data acquired in step S302 or S303 by the function of the data acquisition unit 124 (step S304). Although details of the rearrangement performed in step S304 will be described later, for example, a process of calculating the total of sales, a process of sorting coin income and cash income (see FIGS. 9A and 9B), The process includes a process of classifying the transaction data acquired from the hash chain of the designated store for each customer (see FIG. 10A).

ステップS304の処理を実行した後、情報処理装置100は、グラフ生成部125の機能により、入力操作や確認要求に含まれる要求種別に対応する内容のグラフや表、もしくはその両方といったように図を出力し(ステップS305)、確認処理を終了する。具体的に、入力操作や確認要求に含まれる要求種別が売り上げの集計であり、指定されたハッシュチェーンの属性が店舗1である場合を例に説明すると、ステップS305では、店舗1の売り上げの棒グラフを生成して入出力部130や、端末C〜端末Gの入出力部に出力する。具体的に、ユーザの入出力部130に対する操作(入力操作)が行われ当該確認処理が行われた場合には、入出力部130へ出力し、確認要求を受信したことにより当該確認処理が行われた場合には、確認要求の送信元の入出力部へ出力する。   After executing the process of step S304, the information processing apparatus 100 uses the function of the graph generation unit 125 to generate a diagram such as a graph and / or table of contents corresponding to the request type included in the input operation and the confirmation request. Output (step S305), and the confirmation processing ends. Specifically, the case where the request type included in the input operation or the confirmation request is the total of sales and the attribute of the designated hash chain is store 1 will be described as an example. In step S305, a bar graph of the sales of store 1 Is generated and output to the input / output unit 130 and the input / output units of the terminals C to G. Specifically, when an operation (input operation) performed by the user on the input / output unit 130 is performed and the confirmation processing is performed, the confirmation processing is output to the input / output unit 130 and the confirmation processing is performed by receiving the confirmation request. If it is, the confirmation request is output to the input / output unit of the transmission source.

このような確認処理が行われることで、ユーザの所望する要求種別に対応するグラフや表などの図が表示されることとなり、当該ユーザによる認識や分析を容易にすることが可能となる。   By performing such a confirmation process, a diagram such as a graph or a table corresponding to the request type desired by the user is displayed, and recognition and analysis by the user can be facilitated.

続いて確認処理が実行された場合における具体例について説明する。図9は、要求種別として、売り上げ集計が指定された場合の例を示している。より具体的には、店舗1の属性のハッシュチェーンを指定した上で、売り上げ集計の要求種別を指定して確認処理を行った場合における実行例を示している。   Subsequently, a specific example in the case where the confirmation processing is executed will be described. FIG. 9 shows an example of a case where the sales total is specified as the request type. More specifically, an execution example is shown in the case where the hash chain of the attribute of the store 1 is specified and the confirmation processing is performed by specifying the request type of the sales totalization.

情報処理装置100は、確認処理を開始すると、当該要求種別に店舗1の属性のハッシュチェーンが指定されていることから、図8のステップS301にてYesと判定し、ステップS302の処理において、図7に示す店舗1(アドレス:XX)のハッシュチェーンに含まれるデータブロック(1)〜(3)に含まれるトランザクションデータを取得する。   When the information processing apparatus 100 starts the confirmation processing, the request type specifies the hash chain of the attribute of the store 1, and thus, the determination is Yes in step S301 in FIG. The transaction data included in the data blocks (1) to (3) included in the hash chain of the store 1 (address: XX) shown in FIG.

そして、図8のステップS304の処理にて図9(A)および(B)に示すように、取得したトランザクションデータのうち、当該店舗1が「From」となっているトランザクションデータと、「To」となっているトランザクションデータとに分類することで、コイン収入と現金収入とを仕分けするとともに、価値を集計する。   Then, as shown in FIGS. 9A and 9B in the processing of step S304 in FIG. 8, among the acquired transaction data, the transaction data in which the store 1 is “From” and the “To” By classifying the transaction data into the following transaction data, the coin income and the cash income are sorted, and the values are totaled.

その後、ステップS305の処理にて図9(C)に示すように、集計結果をコイン収入と現金収入とに分けて棒グラフとして生成し、表示する。なお、図示する例では棒グラフを生成することとしているが、棒グラフに限られず、円グラフや折れ線グラフなど、任意のグラフであってよいし、ユーザが選択できるようにしてもよい。なお、図9に示す例では、店舗1から(From:XX)顧客1へ(To:01)1000のコインが移動した(価値:1000)ことを現金収入としているが、例えば、銀行など金融機関へ支払いを行った場合(店舗1から銀行へコインを移動させた場合)については、価値が減少したものとし、支出として扱うようにしてもよい。   Thereafter, as shown in FIG. 9C, in the process of step S305, the tally result is generated and displayed as a bar graph separately for coin income and cash income. Although a bar graph is generated in the illustrated example, the bar graph is not limited to the bar graph, and may be an arbitrary graph such as a pie chart or a line graph, or may be selectable by the user. In the example shown in FIG. 9, the fact that 1000 coins have been transferred (To: 01) from the store 1 to the (From: XX) customer 1 (value: 1000) is defined as cash income. When payment is made to the bank (in the case where coins are moved from the store 1 to the bank), the value may be reduced, and may be treated as expenditure.

また、図10は、要求種別として顧客リストが指定された場合の例を示している。より具体的には、店舗1および2の属性のハッシュチェーンを指定した上で、顧客リストの要求種別を指定して確認処理を行った場合における実行例を示している。   FIG. 10 shows an example in which a customer list is specified as the request type. More specifically, an execution example is shown in the case where the hash chain of the attributes of the stores 1 and 2 is specified, and the request type of the customer list is specified and the confirmation processing is performed.

この場合、情報処理装置100は、確認処理を開始すると、当該要求種別に店舗1および2の属性のハッシュチェーンが指定されていることから、図8のステップS301にてYesと判定し、ステップS302の処理において、図7に示す店舗1(アドレス:XX)のハッシュチェーンに含まれるデータブロック(1)〜(3)を取得するとともに、図7に示す店舗2(アドレス:YY)のハッシュチェーンに含まれるデータブロック(1)〜(6)を取得する。   In this case, when starting the confirmation processing, the information processing apparatus 100 determines Yes in step S301 of FIG. 8 because the request type specifies the hash chains of the attributes of the stores 1 and 2, and determines in step S302. 7, the data blocks (1) to (3) included in the hash chain of the store 1 (address: XX) shown in FIG. 7 are acquired, and the data blocks (1) to (3) are acquired in the hash chain of the store 2 (address: YY) shown in FIG. The included data blocks (1) to (6) are obtained.

そして、図8のステップS304の処理にて図10(A)に示すように、取得した店舗1と2のトランザクションデータを、顧客毎に分類して再配置する。その後、ステップS305の処理にて、図10(B)に示すように、店舗1の顧客と店舗2の顧客が視認して容易に把握可能な態様となるよう、顧客リストの図を生成し、表示する。なお、図示する例ではベン図を生成するとしているが、例えば、店舗1のみの顧客、店舗2のみの顧客、店舗1および2の顧客、といった項目別に表を生成するようにしてもよい。   Then, in the process of step S304 in FIG. 8, as shown in FIG. 10A, the acquired transaction data of the stores 1 and 2 are classified and rearranged for each customer. Thereafter, in the process of step S305, as shown in FIG. 10B, a customer list diagram is generated so that the customer of the store 1 and the customer of the store 2 can visually recognize and easily understand the customer list. indicate. In the illustrated example, the Venn diagram is generated. However, for example, a table may be generated for each item such as a customer of the store 1 only, a customer of the store 2 only, and a customer of the stores 1 and 2.

このように、この実施の形態における情報処理装置100は、属性毎のハッシュチェーンでトランザクションデータを管理するとともに、取引を行った当事者それぞれに対応する属性のハッシュチェーンに、同一内容のトランザクションデータを登録する。したがって、売り上げの集計や顧客リストの作成など、登録されたトランザクションデータを活用する際に、指定された属性のハッシュチェーンに含まれるデータブロックを取得すればよく、必要なトランザクションデータの格納先の特定が容易であり、トランザクションデータを好適に検索することができる。   As described above, the information processing apparatus 100 according to the present embodiment manages transaction data with a hash chain for each attribute, and registers transaction data of the same content in a hash chain of an attribute corresponding to each of the parties who made a transaction. I do. Therefore, when utilizing the registered transaction data, such as totaling sales and creating a customer list, it is only necessary to obtain the data block included in the hash chain of the specified attribute, and specify the storage location of the necessary transaction data And the transaction data can be searched appropriately.

次に、確認処理が実行された場合における具体例として、履歴情報112が指定された場合、すなわち、時間的要素を含む要求種別が指定され、いずれの属性のハッシュチェーンも指定されていない場合について説明する。なお、以下の例では、図6示す10個のトランザクションが発生し、各トランザクションに対応して10回のデータ登録処理が行われ、図11に示すように各トランザクションデータが履歴情報112に登録されているものとして、以下説明する。   Next, as a specific example when the confirmation processing is executed, a case where the history information 112 is specified, that is, a case where a request type including a temporal element is specified and a hash chain of any attribute is not specified explain. In the following example, ten transactions shown in FIG. 6 occur, and data registration processing is performed ten times in correspondence with each transaction, and each transaction data is registered in the history information 112 as shown in FIG. It will be described below.

図12は、確認処理における要求種別として、クーポン配布前後の推移が指定された場合の確認処理の実行例を示している。より具体的には、クーポン配布前1週間とクーポン配布後1週間における、クーポンを受け取った顧客グループとクーポンを受け取らなかった顧客グループの売り上げの推移を指定して確認処理を行った場合における実行例を示している。   FIG. 12 illustrates an example of execution of the confirmation process when a transition before and after coupon distribution is specified as the request type in the confirmation process. More specifically, an example of execution in a case where a change in sales of a customer group that has received a coupon and a customer group that has not received a coupon has been designated for one week before distribution of a coupon and one week after distribution of a coupon, and confirmation processing has been performed. Is shown.

情報処理装置100は、確認処理を開始すると、当該要求種別にハッシュチェーンが指定されていないことから、図8のステップS301にてNoと判定し、ステップS303の処理において、クーポンが配布されたことを示すデータブロックを特定し、図11に示すように、期間Aに対応するデータブロック(データブロック(1)〜(5))に含まれるトランザクションデータと、期間Bに対応するデータブロック(データブロック(7)〜(10))に含まれるトランザクションデータを、それぞれ対象データとして履歴情報112から取得する。なお、この例では、理解を容易にするため、店舗1および2におけるコイン収入を示すトランザクションデータのみを用いた場合(トランザクション(1)、(3)および(9)以外のトランザクションデータを用いた場合)、すなわち、コイン収入に関するトランザクションデータのみ取得した場合を例に、以下説明する。   When starting the confirmation process, the information processing apparatus 100 determines No in step S301 of FIG. 8 because the hash type is not specified in the request type, and determines that the coupon has been distributed in the process of step S303. Are specified, the transaction data included in the data block (data blocks (1) to (5)) corresponding to the period A and the data block (data block The transaction data included in (7) to (10)) is obtained from the history information 112 as target data. In this example, in order to facilitate understanding, a case where only transaction data indicating coin income in stores 1 and 2 is used (a case where transaction data other than transactions (1), (3) and (9) is used) ), That is, an example in which only transaction data relating to coin income is obtained will be described below.

図8のステップS304の処理にて、取得したデータブロック(2)、(4)および(5)に含まれるトランザクションデータを、クーポンが配布された顧客(顧客A)とそうでない顧客(顧客B)に分類するとともに、取得したデータブロック(7)〜(8)および(10)に含まれるトランザクションデータについても同様に、クーポンが配布された顧客(顧客A)とそうでない顧客(顧客BおよびC)に分類する。具体的には、クーポンが配布されたことを示すデータブロックを特定した際に、いずれの顧客にクーポンが配布されたかを記憶し(複数ある場合には複数記憶し)、当該クーポンを受け取った顧客とそうでない顧客とに分類する。なお、クーポンが配布された顧客には、クーポンを配布した者との間に特別なトランザクションが発生していることから、クーポンを配布した者のハッシュチェーンを検索してクーポンを配布した者を特定し、クーポンが配布された顧客(顧客A)とそうでない顧客(顧客BおよびC)を分類してもよい。   In the processing of step S304 in FIG. 8, the transaction data included in the acquired data blocks (2), (4), and (5) is converted into a customer (customer A) to whom the coupon is distributed and a customer (customer B) to which the coupon is not distributed. Similarly, the transaction data included in the acquired data blocks (7) to (8) and (10) is similarly similarly assigned to the customer (customer A) to which the coupon is distributed and the customers (customers B and C) to which the coupon is not distributed. Classify into. Specifically, when a data block indicating that the coupon has been distributed is specified, the coupon is distributed to which customer is stored (if there is more than one, a plurality is stored), and the customer who received the coupon is stored. And customers who do not. In addition, since the customer to whom the coupon was distributed has a special transaction with the person who distributed the coupon, the hash chain of the person who distributed the coupon is searched to identify the person who distributed the coupon Then, the customers (customers A) to which the coupon is distributed and the customers (customers B and C) to which the coupon is not distributed may be classified.

ステップS304の処理にて、コイン収入を示すトランザクションについて、クーポンの配布有無の分類をした後、同じくステップS304の処理において、クーポンを受け取った(クーポンが配布された)顧客の期間Aと期間Bのそれぞれの売り上げの合計、クーポンを受け取っていない顧客の期間Aと期間Bのそれぞれの売り上げの合計値から、それぞれの平均値を算出する。具体的にこの例では、クーポンを受け取った顧客として、顧客Aの期間Aと期間Bのそれぞれの売り上げの合計値から、期間Aの売り上げ200、期間Bの売り上げ500を平均値として算出し、クーポンを受け取っていない顧客として、顧客BおよびCの期間Aと期間Bのそれぞれの売り上げの合計値(期間Aの売り上げ100、期間Bの売り上げ150)から期間Aの売り上げ50、期間Bの売り上げ75を平均値として算出する。なお、この例では、理解を容易にするため、コイン収入についてのみを用いて平均を算出する例を示しているが、現金収入について、も別途現金売り上げとして平均を算出してもよい。また、平均でなくとも、中央値であってもよいし、例えば、取引回数が多い顧客ほど重みが高くなるような所定の演算方法により、クーポンを受け取った顧客グループとそうでない顧客グループの売り上げを算出してもよい。   In the process of step S304, the transaction indicating the coin income is classified as to whether or not the coupon is distributed. Then, in the process of step S304, the period A and the period B of the customer who has received the coupon (the coupon has been distributed). The average value is calculated from the sum of the respective sales and the sum of the respective sales in the period A and the period B of the customer who has not received the coupon. Specifically, in this example, as the customer who has received the coupon, the sales 200 in period A and the sales 500 in period B are calculated as the average value from the total value of the sales in period A and period B of customer A, and the coupon is calculated. From the total value of the sales in period A and period B of customers B and C (sales 100 in period A and sales 150 in period B), the sales 50 in period A and the sales 75 in period B Calculate as the average value. In this example, for the sake of easy understanding, an example is shown in which the average is calculated using only the coin income. However, the average of the cash income may also be calculated separately as cash sales. Also, instead of the average, the median value may be used.For example, the sales of the customer group receiving the coupon and the customer group not receiving the coupon may be calculated by a predetermined calculation method such that the higher the number of transactions, the higher the weight. It may be calculated.

その後、ステップS305の処理にて、図12(A)および(B)に示すように、クーポンを受け取った顧客グループ(顧客A)の売り上げの推移と、クーポンを受け取っていない顧客グループ(顧客B、顧客Cの平均)の売り上げの推移を示す棒グラフを生成し、表示する。なお、棒グラフに限られない点は図9に示す場合と同様である。この例では、図示するように、クーポンを受け取った顧客グループについては、クーポン配布前の期間Aよりもクーポン配布後の期間Bの方が、売り上げが大幅に増加しているのに対し、クーポンを受け取っていない顧客グループについては、クーポン配布前の期間Aとクーポン配布後の期間Bとで売り上げに大きな変化がないことがわかる。これにより、ユーザは、クーポンを発行した場合における効果測定を容易に行うことができる。   Then, in the process of step S305, as shown in FIGS. 12A and 12B, the sales of the customer group (customer A) who received the coupon and the customer groups (customer B, A bar graph showing the transition of the sales of the customer C (average of the customer C) is generated and displayed. Note that the present invention is not limited to the bar graph, and is similar to the case shown in FIG. In this example, as shown in the figure, for the customer group who received the coupon, the sales increased significantly in the period B after the coupon distribution compared to the period A before the coupon distribution, while the coupon was Regarding the customer group that has not received the coupon, it can be seen that there is no significant change in sales between the period A before the coupon distribution and the period B after the coupon distribution. Thereby, the user can easily measure the effect when the coupon is issued.

このように、時間的要素を含む要求種別の場合には、履歴情報112から対象データを取得し、対象データを再配置することで、ブロック上に格納されたトランザクションデータを好適に検索することができる。また、この実施の形態によれば、時間的要素を含む否か、換言すると所定の属性のハッシュチェーンが指定されていない場合と指定されている場合とで、対象データの取得先を変更する。したがって、ユーザの所望する内容に応じて異なる種類のハッシュチェーンから対象データを検索可能であり、ブロック上に格納されたトランザクションデータを好適に検索することができる。   As described above, in the case of the request type including the temporal element, the target data is acquired from the history information 112 and the target data is rearranged, so that the transaction data stored on the block can be searched appropriately. it can. Further, according to this embodiment, the acquisition destination of the target data is changed depending on whether or not a temporal element is included, in other words, depending on whether the hash chain of the predetermined attribute is specified or not. Therefore, the target data can be searched from different types of hash chains according to the content desired by the user, and the transaction data stored on the block can be searched appropriately.

(変形例)
なお、この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、情報処理装置100では、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせても良い。
(Modification)
In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible. For example, the information processing apparatus 100 does not need to have all the technical features shown in the above-described embodiment, and is not limited to the one described in the above-described embodiment so as to solve at least one problem in the related art. It may have a configuration of a unit. Further, at least some of the following modifications may be combined.

上記実施の形態では、顧客がコインのみにより買い物を行う場合について示したが、これは一例である。例えば、顧客が店舗の商品を購入する際に、顧客のコイン残高を確認し、残高不足である場合には、コインに加えて現金を用いて商品購入を行うことがあってもよい。具体的に、図4のステップS203の処理の前に、顧客のコイン残高を確認する処理を実行してもよく、その場合には、取引を行う顧客に対応するハッシュチェーンに含まれるトランザクションデータを参照することで、当該顧客のコイン残高を確認すればよい。例えば、図6に示す7つ目のトランザクション(顧客Aが店舗2で500コイン分の買い物をした)が発生した際におけるデータブロック登録処理において、顧客Aの属性のハッシュチェーンに含まれるデータブロック(図7のデータブロック(1)〜(4))のトランザクションデータを集計することで、顧客Aの残高を確認すればよい。そして、残高が足りない場合には、不足分を現金収入として処理すればよい。この例において、顧客Aのコイン残高が300であった場合には、コイン300、現金200として500の商品を購入した旨のトランザクションデータが登録されればよい。このように、顧客の属性のハッシュチェーンに含まれる全てのトランザクションデータを集計すれば、当該顧客の残高を容易に取得することができる。よって、ブロック上に格納されたトランザクションデータを好適に検索することができる。   In the above-described embodiment, the case where the customer makes shopping only with coins has been described, but this is an example. For example, when a customer purchases merchandise at a store, the customer may check the coin balance of the customer and, if the balance is insufficient, purchase the merchandise using cash in addition to coins. Specifically, a process of confirming the coin balance of the customer may be executed before the process of step S203 in FIG. 4, and in this case, the transaction data included in the hash chain corresponding to the customer who makes the transaction is By referring to the information, the coin balance of the customer may be confirmed. For example, in a data block registration process when a seventh transaction (customer A has made a purchase of 500 coins at store 2) shown in FIG. 6, a data block (customer A's attribute included in the hash chain of the attribute) The balance of the customer A may be confirmed by totalizing the transaction data in the data blocks (1) to (4) in FIG. If the balance is insufficient, the shortage may be processed as cash income. In this example, if the coin balance of the customer A is 300, transaction data indicating that 500 products have been purchased as the coin 300 and the cash 200 may be registered. As described above, if all the transaction data included in the hash chain of the attribute of the customer is totaled, the balance of the customer can be easily obtained. Therefore, the transaction data stored on the block can be suitably searched.

また、上記実施の形態では、顧客と店舗の2者での取引について説明したが、例えば、3者間取引であってもよく、この場合には、3者それぞれの属性のハッシュチェーンに当該トランザクションデータとして共通内容のデータがそれぞれのデータブロックに登録されればよい。また、上記実施の形態におけるトランザクションデータには、購入した商品を特定するための情報が含まれていてもよい。これによれば、店舗毎の売れ筋商品の分析を行うことができる。   Further, in the above-described embodiment, the transaction between the customer and the store is described. However, for example, the transaction may be a three-party transaction. In this case, the transaction is added to the hash chain of the attribute of each of the three parties. What is necessary is that data of common contents be registered in each data block as data. Further, the transaction data in the above embodiment may include information for specifying the purchased product. According to this, it is possible to analyze the top selling products for each store.

また、上記実施の形態では、図12に示すように、クーポン配布前後の売り上げの推移によりクーポン配布の効果測定を行う例を示したが、これは一例である。例えば、当該クーポン配布後に、配布された顧客がクーポンを使用して買い物をしたことを示すトランザクションデータを登録することにより、配布したクーポンの使用割合を確認することも可能である。具体的に、顧客Aが500コインの商品を、50コイン引きのクーポンを使って購入したことを示すトランザクションデータを、図4のステップS203の処理にて、対象のハッシュチェーン、および履歴情報112に登録すればよい(履歴情報112のみであってもよい)。そして、図8のステップ303の処理において、クーポンが配布されてから、ユーザに指定された期間に当該クーポンを使用した顧客とそうでない顧客のトランザクションデータを取得すればよい。このように、クーポンの使用状況をハッシュチェーン等に登録することで、使用状況の確認を容易にすることができる。さらに、複数のクーポンを配布した場合に、クーポンを識別するクーポンIDを分析用付加データとして登録しておけば、いずれのクーポンが使用されたか、といったことを分析することも可能である。   Further, in the above-described embodiment, as shown in FIG. 12, an example is shown in which the effect of coupon distribution is measured based on a change in sales before and after coupon distribution, but this is an example. For example, after distributing the coupon, by registering transaction data indicating that the distributed customer has performed shopping using the coupon, it is also possible to confirm the usage ratio of the distributed coupon. Specifically, the transaction data indicating that the customer A has purchased the product of 500 coins using the coupon of 50 coins is stored in the target hash chain and the history information 112 in the process of step S203 in FIG. What is necessary is just to register (only the history information 112 may be sufficient). Then, in the process of step 303 in FIG. 8, after the coupon is distributed, transaction data of the customer who used the coupon and the customer who did not use the coupon may be acquired during the period designated by the user. By registering the usage status of the coupon in the hash chain or the like, it is possible to easily check the usage status. Further, when a plurality of coupons are distributed, if a coupon ID for identifying the coupon is registered as additional data for analysis, it is possible to analyze which coupon has been used.

また、上記実施の形態では、図12に示すように、クーポンを受け取った顧客グループとクーポンを受け取らなかった顧客グループの売り上げの推移を示したが、これは一例である。例えば、当該クーポンが店舗2でのみ使用可能なクーポンであった場合(分析用付加データとしてその旨が登録されている場合)、店舗1と店舗2とでそれぞれ期間Aと期間Bとの売り上げを集計することで、顧客Aが通常は店舗1で買い物をするが、クーポンが使用可能な場合には店舗2にて買い物をする、ということが容易に把握できる。   Further, in the above-described embodiment, as shown in FIG. 12, the change in the sales of the customer group that has received the coupon and the change in the sales of the customer group that has not received the coupon are shown by way of example. For example, when the coupon is a coupon that can be used only in the store 2 (when the fact is registered as additional data for analysis), the sales in the period A and the period B in the store 1 and the store 2 are respectively reduced. By summing up, it can be easily grasped that the customer A usually does shopping at the store 1 but does shop at the store 2 when a coupon is available.

このように、トランザクションデータの他、分析用付加データとしてマーケティングに必要な情報を含めて履歴情報112へ登録することで、様々な活用が可能となる。すなわち、分析用付加データを含めた検索およびトランザクションデータ検索を好適に行うことが可能となり、マーケティングにおける効果を発揮することができる。   As described above, by registering in the history information 112 the information necessary for marketing as the additional data for analysis in addition to the transaction data, various utilizations are possible. That is, a search including the additional data for analysis and a transaction data search can be suitably performed, and an effect in marketing can be exhibited.

なお、上記実施の形態における履歴情報112が属性に関わらず全てのトランザクションデータが格納されたハッシュチェーン(属性のないハッシュチェーン)であり、他の情報処理装置100と同期される例を示したが、これは一例である。履歴情報112は、ハッシュチェーンにより管理されるものに限られず、例えば、ネットワーク210を介して通信可能に接続されたサーバに、キャッシュとして格納されていてもよい。   Although the history information 112 in the above embodiment is a hash chain in which all transaction data is stored irrespective of the attribute (a hash chain without an attribute), the example is synchronized with another information processing apparatus 100. This is an example. The history information 112 is not limited to information managed by the hash chain, and may be stored as a cache in a server communicably connected via the network 210, for example.

また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。   In the case where the above-described function is realized by sharing an OS (Operating System) with an application or by cooperation between the OS and an application, only a part other than the OS may be stored in the medium.

また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。   It is also possible to superimpose a program on a carrier wave and distribute it via a communication network. For example, the program may be posted on a bulletin board (Bulletin Board System) on a communication network, and the program may be distributed via the network. Then, these programs may be activated and executed in the same manner as other application programs under the control of the operating system, so that the above-described processing can be executed.

1 情報処理システム、100A〜B 情報処理装置、100C〜100G 端末、110 記憶部、111 各属性のハッシュチェーン、112 履歴情報、113 120 制御部、121 初期登録部、122 同期処理部、123 データブロック登録部、124 データ取得部、125 グラフ生成部、130 入出力部、140 通信部、210 ネットワーク REFERENCE SIGNS LIST 1 information processing system, 100A-B information processing device, 100C-100G terminal, 110 storage unit, 111 hash chain of each attribute, 112 history information, 113 120 control unit, 121 initial registration unit, 122 synchronization processing unit, 123 data block Registration unit, 124 data acquisition unit, 125 graph generation unit, 130 input / output unit, 140 communication unit, 210 network

Claims (6)

トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納手段を備え、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納手段は、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とする情報処理装置。
Data storage means for storing data of the transaction in a data block connected by a hash chain constructed in the network based on the occurrence of the transaction,
The hash chain is stored for each transaction target of the transaction,
The data storage unit stores, in each of the data blocks connected by the hash chain corresponding to the transaction target of the generated transaction, common data as data of the transaction,
An information processing apparatus characterized by the above-mentioned.
前記データ格納手段は、前記ハッシュチェーンとは異なる特別ハッシュチェーンで連結されるデータブロックに、発生した前記トランザクションの取引対象に関わらず、前記トランザクションのデータを、発生した順に格納する、
ことを特徴とする請求項1に記載の情報処理装置。
The data storage means, in a data block connected by a special hash chain different from the hash chain, regardless of the transaction target of the transaction that has occurred, stores the data of the transaction, in the order of occurrence,
The information processing apparatus according to claim 1, wherein:
前記データ格納手段により格納した前記トランザクションのデータを、ユーザの要求に基づいて前記ハッシュチェーンまたは前記特別ハッシュチェーンから検索する検索手段と、
前記検索手段で検索した検索結果に基づいて、前記ユーザの要求を満たす態様の図を生成する生成手段と、
前記生成手段で生成された図を表示する表示手段と、
をさらに備えることを特徴とする請求項2に記載の情報処理装置。
Search means for searching the transaction data stored by the data storage means from the hash chain or the special hash chain based on a user request;
Generating means for generating a diagram of an aspect satisfying the user's request based on a search result searched by the search means;
Display means for displaying the diagram generated by the generation means;
The information processing apparatus according to claim 2, further comprising:
前記検索手段は、前記ユーザの要求に時間的要素が含まれる場合に、前記特別ハッシュチェーンから検索を行い、前記時間的要素が含まれない場合に、前記ハッシュチェーンから検索を行う、
ことを特徴とする請求項3に記載の情報処理装置。
The search means performs a search from the special hash chain when a temporal element is included in the request of the user, and performs a search from the hash chain when the temporal element is not included,
The information processing apparatus according to claim 3, wherein:
情報処理装置における情報処理方法であって、
トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納ステップを実行し、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納ステップでは、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とする情報処理方法。
An information processing method in an information processing device,
Performing a data storage step of storing data of the transaction in a data block connected by a hash chain constructed in the network based on the occurrence of the transaction;
The hash chain is stored for each transaction target of the transaction,
In the data storing step, in each of the data blocks connected by the hash chain corresponding to the transaction object of the generated transaction, storing common data as data of the transaction,
An information processing method, comprising:
コンピュータを、
トランザクションが発生したことに基づいて、ネットワーク内に構築されるハッシュチェーンで連結されるデータブロックに、前記トランザクションのデータを格納するデータ格納手段として機能させ、
前記ハッシュチェーンは、前記トランザクションの取引対象毎に記憶され、
前記データ格納手段は、発生した前記トランザクションの前記取引対象に対応する前記ハッシュチェーンで連結されるデータブロックそれぞれに、前記トランザクションのデータとして共通のデータを格納する、
ことを特徴とするプログラム。
Computer
Based on the occurrence of the transaction, a data block connected by a hash chain constructed in the network, function as data storage means for storing data of the transaction,
The hash chain is stored for each transaction target of the transaction,
The data storage unit stores, in each of the data blocks connected by the hash chain corresponding to the transaction target of the generated transaction, common data as data of the transaction,
A program characterized by that:
JP2018173967A 2018-09-18 2018-09-18 Information processing device, information processing method and program Active JP7253344B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018173967A JP7253344B2 (en) 2018-09-18 2018-09-18 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018173967A JP7253344B2 (en) 2018-09-18 2018-09-18 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2020046855A true JP2020046855A (en) 2020-03-26
JP7253344B2 JP7253344B2 (en) 2023-04-06

Family

ID=69899683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018173967A Active JP7253344B2 (en) 2018-09-18 2018-09-18 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP7253344B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7375242B1 (en) 2023-03-29 2023-11-07 PayPay株式会社 Information processing device, information processing method, and information processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007828A2 (en) * 2016-07-08 2018-01-11 Kalypton International Limited Distributed transaction processing and authentication system
US20180173747A1 (en) * 2016-12-19 2018-06-21 Swirlds, Inc. Methods and apparatus for a distributed database that enables deletion of events
JP2018116578A (en) * 2017-01-19 2018-07-26 富士通株式会社 Information processing system, verification device, information processing method, verification method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007828A2 (en) * 2016-07-08 2018-01-11 Kalypton International Limited Distributed transaction processing and authentication system
JP2019525685A (en) * 2016-07-08 2019-09-05 カリプトン インターナショナル リミテッドKalypton International Limited Distributed transaction processing and authentication system
US20180173747A1 (en) * 2016-12-19 2018-06-21 Swirlds, Inc. Methods and apparatus for a distributed database that enables deletion of events
JP2018116578A (en) * 2017-01-19 2018-07-26 富士通株式会社 Information processing system, verification device, information processing method, verification method and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7375242B1 (en) 2023-03-29 2023-11-07 PayPay株式会社 Information processing device, information processing method, and information processing program

Also Published As

Publication number Publication date
JP7253344B2 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
CN107967284B (en) Method and device for storing and inquiring order information
CN110337647A (en) Visual block chain browser
CN108876360A (en) A kind of digital fund trustship method based on block chain, apparatus and system
US20120089467A1 (en) System and method of capturing point-of-sale data and providing real-time advertising content
US11783370B2 (en) Graph-based compression of data records
US8793236B2 (en) Method and apparatus using historical influence for success attribution in network site activity
US11379523B2 (en) Method and apparatus for implementing a search index generator
JP7253344B2 (en) Information processing device, information processing method and program
WO2022269989A1 (en) Information processing device, information processing method, and program
US20200155949A1 (en) Method for performing game by using activity count
JP2021022279A (en) Information processing apparatus, information processing method, and program
JP7253410B2 (en) Information processing device, information processing method and program
JP6899647B2 (en) Data provision system, data provision method, and data provision program
CN111222906A (en) Activity data processing method, system, device, equipment and readable storage medium
JP2020107263A (en) Receipt sharing system, control method, and program
JP2015197699A (en) Affiliated store provision data output system
JP5987669B2 (en) Information processing method, information processing apparatus, and information processing program
JP2014157547A (en) Transaction system
US20240185291A1 (en) Graph-based compression of data records
JP7287926B2 (en) Decision device, decision method and decision program
CN111488357A (en) Method and device for realizing digital account of service data block chain
JP5403808B2 (en) Customer information management server and customer information management program
CN117853201A (en) Commodity feature recall method and device, equipment and medium thereof
JP2014149580A (en) Information collection device and information collection method
JP2023132703A (en) Computer system handling settlement information of credit card

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7253344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350