JP7478726B2 - CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM - Google Patents

CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM Download PDF

Info

Publication number
JP7478726B2
JP7478726B2 JP2021516282A JP2021516282A JP7478726B2 JP 7478726 B2 JP7478726 B2 JP 7478726B2 JP 2021516282 A JP2021516282 A JP 2021516282A JP 2021516282 A JP2021516282 A JP 2021516282A JP 7478726 B2 JP7478726 B2 JP 7478726B2
Authority
JP
Japan
Prior art keywords
transaction data
block
distributed ledger
time
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021516282A
Other languages
Japanese (ja)
Other versions
JPWO2020218550A1 (en
Inventor
直央 西田
勇二 海上
淳児 道山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JPWO2020218550A1 publication Critical patent/JPWO2020218550A1/ja
Application granted granted Critical
Publication of JP7478726B2 publication Critical patent/JP7478726B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、制御方法、データ生成装置、及びプログラムに関する。 The present disclosure relates to a control method, a data generation device, and a program.

ビットコインから生まれた技術としてブロックチェーン技術がある(例えば非特許文献1参照)。ブロックチェーンは、ブロックと呼ばれるデータの単位を一定時間ごとに生成し、鎖のように連結していくことによりデータを保管するデータベースである。ブロックチェーンを利用することで、誰もが参加可能なピアツーピア(Peer to Peer:P2P)ネットワークで取引履歴(トランザクションデータ)を共有し、相互に監視することで、信頼性を担保し、データの改ざんを防ぐことができる。 Blockchain technology is a technology that was born from Bitcoin (see, for example, Non-Patent Document 1). Blockchain is a database that stores data by generating units of data called blocks at regular intervals and linking them like a chain. By using blockchain, transaction history (transaction data) can be shared and mutually monitored in a peer-to-peer (P2P) network in which anyone can participate, ensuring reliability and preventing data tampering.

なお、非特許文献1に記載のビットコインのブロックチェーンでは、ブロックのサイズが1MBに制限されており、ブロック生成間隔が約10分とされている。In addition, in the Bitcoin blockchain described in Non-Patent Document 1, the block size is limited to 1 MB, and the block generation interval is approximately 10 minutes.

このため、ブロックチェーンの仕様を変更し、ブロック生成間隔を約2分にすることで、データの処理量を増加させることも行われている(例えば非特許文献2参照) For this reason, the specifications of the blockchain have been changed to increase the block generation interval to about two minutes, thereby increasing the amount of data processed (see, for example, Non-Patent Document 2).

Satoshi Nakamoto,“Bitcoin:A Peer-to-Peer Electronic Cash System”,2009Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2009 BitcoinCandy,“Bitcoin Candy Whitepaper”,(https://cdy.one/whitepaper.pdf)BitcoinCandy, “Bitcoin Candy Whitepaper”, (https://cdy.one/whitepaper.pdf)

ところで、非特許文献1及び非特許文献2に記載のブロックチェーンでは、1ブロックに複数のトランザクションデータが含めて生成される。このため、ブロック生成間隔によっては、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータが1ブロックに含まれてしまう場合がある。In the blockchains described in Non-Patent Document 1 and Non-Patent Document 2, multiple transaction data are generated in one block. Therefore, depending on the block generation interval, multiple transaction data sent by the same user or the same business at multiple points in time may be included in one block.

しかしながら、トランザクションデータに含める情報の種別によっては、1ブロックに、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータが含まれても無意味な場合がある。一例を挙げると、ブロックチェーンに記録される最新の天気情報のみを参考に価格を決める場合、最新以外の天気情報も1ブロックに含まれる場合である。つまり、ブロックに含まれる複数のトランザクションデータのうち最新情報が含まれるトランザクションデータだけを利用して、過去の情報が含まれるトランザクションデータを利用しない場合である。このような場合、ブロックチェーンのブロックには、利用しない無駄なトランザクションデータが記録されることになる。これは、限られたネットワーク帯域の無駄使いになるだけでなく、ブロック生成の電力等を含むリソースの無駄使いとなる。 However, depending on the type of information included in the transaction data, it may be meaningless for one block to contain multiple transaction data sent by the same user or the same business at multiple points in time. One example would be when determining prices based only on the latest weather information recorded in the blockchain, in which case non-latest weather information is also included in one block. In other words, only the transaction data containing the latest information among the multiple transaction data contained in a block is used, and transaction data containing older information is not used. In such cases, unused and unnecessary transaction data will be recorded in the blockchain blocks. This not only wastes limited network bandwidth, but also wastes resources including the electricity used to generate blocks.

本開示は、上述の事情を鑑みてなされたもので、ネットワーク帯域及びリソースの無駄使いを抑制することができる制御方法等を提供することを目的とする。 This disclosure has been made in consideration of the above-mentioned circumstances, and aims to provide a control method, etc. that can reduce waste of network bandwidth and resources.

上記目的を達成するために、本開示の制御方法は、機器と、それぞれ、前記機器と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバとを備えるシステムにおける前記機器によって実行される制御方法であって、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、前記第1ブロックと前記第2ブロックとが異なる場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信する。In order to achieve the above-mentioned object, the control method disclosed herein is a control method executed by an apparatus in a system including a plurality of servers, each of which is communicatively connected to the apparatus and which records selected transaction data from among the transaction data held up to a predetermined time in a block in a distributed ledger at each predetermined time, the control method generating first transaction data including the latest information acquired up to a first time and transmitting the first transaction data to a first server among the plurality of servers, and at one or more second times after the first time, checking the contents of the block recorded in the distributed ledger of the first server, thereby checking whether or not a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger when second transaction data one transaction after the first transaction data is generated at the second time, and if the first block and the second block are different, generating the second transaction data including the latest information acquired after the first time at or after the second time and transmitting the second transaction data to the first server.

なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 These comprehensive or specific aspects may be realized by a system, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized by any combination of a system, a method, an integrated circuit, a computer program, and a recording medium.

本開示の制御方法等によれば、ネットワーク帯域及びリソースの無駄使いを抑制することができる。 The control method disclosed herein can reduce waste of network bandwidth and resources.

図1は、ブロックチェーンの概念を示す説明図である。FIG. 1 is an explanatory diagram illustrating the concept of blockchain. 図2は、図1に示すブロックチェーンのデータ構造を示す説明図である。FIG. 2 is an explanatory diagram showing the data structure of the block chain shown in FIG. 1. 図3は、図1に示すブロックチェーンのブロック生成間隔で行われる処理の説明図である。FIG. 3 is an explanatory diagram of the processing performed at the block generation interval of the blockchain shown in FIG. 1. 図4は、図3に示すコンセンサスアルゴリズムを実行することで行われる処理を示すフローチャートの一例である。FIG. 4 is an example of a flowchart showing a process performed by executing the consensus algorithm shown in FIG. 図5は、実施の形態に係る制御システムの構成を模式的に示す図である。FIG. 5 is a diagram illustrating a schematic configuration of a control system according to an embodiment. 図6は、実施の形態に係る機器の構成を模式的に示すブロック図である。FIG. 6 is a block diagram showing a schematic configuration of a device according to an embodiment. 図7は、実施の形態に係る機器の機能を、ソフトウェアにより実現するコンピュータのハードウェア構成の一例を示す図である。FIG. 7 is a diagram showing an example of a hardware configuration of a computer that realizes the functions of the device according to the embodiment by software. 図8は、実施の形態に係る認証サーバ装置の機能構成を示すブロック図である。FIG. 8 is a block diagram illustrating a functional configuration of the authentication server device according to the embodiment. 図9は、実施の形態に係る機器の動作を示すフローチャートである。FIG. 9 is a flowchart showing the operation of the device according to the embodiment. 図10は、実施例1に係る制御システムの処理のシーケンス図である。FIG. 10 is a sequence diagram of the process of the control system according to the first embodiment. 図11は、実施例2に係る機器の処理を示すフローチャートである。FIG. 11 is a flowchart illustrating processing of the device according to the second embodiment. 図12は、実施の形態に係る効果について説明するためのフロー図である。FIG. 12 is a flow diagram for explaining the effects of the embodiment. 図13は、実施の形態に係る効果について説明するためのフロー図である。FIG. 13 is a flow diagram for explaining the effects of the embodiment. 図14は、図13に示すフロー図の別観点での説明図である。FIG. 14 is an explanatory diagram showing the flow chart shown in FIG. 13 from another perspective.

(本開示の基礎となった知見)
まず、ブロックチェーンについて説明する。
(Findings that form the basis of this disclosure)
First, let me explain about blockchain.

図1は、ブロックチェーンの概念を示す説明図である。 Figure 1 is an explanatory diagram showing the concept of blockchain.

ブロックチェーンは、「1個のブロック」を記録単位として、ブロックをチェーン(鎖)状に繋げていくものであり、分散台帳に記録される。図1では、ブロックB0より時間的に後に生成したブロックB1をブロックB0に接続し、ブロックB1より時間的に後に生成したブロックB2をブロックB1に接続する・・という例が示されている。つまり、図1には、ブロックB0~ブロックB3がチェーン状に繋げられているブロックチェーンの例が示されている。 A blockchain is a system in which blocks are linked together in a chain, with each block being the unit of record, and these blocks are recorded in a distributed ledger. Figure 1 shows an example in which block B1, which was generated chronologically after block B0, is connected to block B0, block B2, which was generated chronologically after block B1, is connected to block B1, and so on. In other words, Figure 1 shows an example of a blockchain in which blocks B0 to B3 are connected in a chain.

図2は、図1に示すブロックチェーンのデータ構造を示す説明図である。 Figure 2 is an explanatory diagram showing the data structure of the blockchain shown in Figure 1.

図1に示すブロックチェーンのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。 The blockchain block shown in Figure 1 contains multiple transaction data and the hash value of the immediately preceding block. Specifically, block B2 contains the hash value of the previous block B1. The hash value calculated from the multiple transaction data contained in block B2 and the hash value of block B1 is included in block B3 as the hash value of block B2.

このように、ブロックチェーン技術では、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。なぜなら、仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になる。改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難であるので、事実上改ざん不可と言えるからである。さらに、ブロックチェーンが記録される分散台帳は、物理的に異なった多数の拠点それぞれに設置されることから、ある地点の台帳に対する改ざんが発生しても他の台帳から改ざんを検知できる。このことからも、ブロックチェーンは事実上改ざん不可と言える。 In this way, blockchain technology effectively prevents tampering with connected transaction data by connecting blocks in a chain while including the contents of the previous block as a hash value. This is because if past transaction data is changed, the hash value of the block will be different from the value before the change. In order to make a tampered block appear correct, all subsequent blocks must be recreated, which is very difficult in reality, so it can be said that tampering is virtually impossible. Furthermore, since the distributed ledger in which the blockchain is recorded is installed at each of many physically different locations, even if tampering occurs with the ledger at one location, the tampering can be detected from the other ledgers. This also means that blockchain can be said to be virtually impossible to tamper with.

次に、ブロック生成間隔における処理すなわちブロックが生成されてブロックチェーンに接続される(書き込まれる)までの処理について、図を用いて説明する。なお、ブロックが生成されてブロックチェーンに書き込まれるまでの処理は、ブロックチェーンのブロックが生成されて分散台帳に記録されるまでの処理に相当する。Next, the process during a block generation interval, that is, the process from when a block is generated to when it is connected (written) to the blockchain, is explained using diagrams. Note that the process from when a block is generated to when it is written to the blockchain corresponds to the process from when a blockchain block is generated to when it is recorded in the distributed ledger.

図3は、図1に示すブロックチェーンのブロック生成間隔で行われる処理の説明図である。なお、図3では、トランザクションデータをTxデータと表記し、トランザクションプールをTxプールと表記している。図3では、ブロック生成間隔は、例えばブロックチェーンのブロックB0に、ブロックB1が接続されてから、次のブロックB2が接続されるまでの間隔である。 Figure 3 is an explanatory diagram of the processing performed at the block generation interval of the blockchain shown in Figure 1. In Figure 3, transaction data is represented as Tx data, and the transaction pool is represented as Tx pool. In Figure 3, the block generation interval is, for example, the interval from when block B1 is connected to block B0 of the blockchain until the next block B2 is connected.

トランザクションプールは、ブロックチェーンのまだ検証されていない取引(トランザクションデータ)を溜めている貯蔵庫である。図3に示すように、トランザクションプールには、1以上のユーザから取得した複数のトランザクションデータが未検証の状態で保持される。A transaction pool is a repository that stores unverified transactions (transaction data) on the blockchain. As shown in Figure 3, the transaction pool holds multiple unverified transaction data obtained from one or more users.

コンセンサスアルゴリズムは、ブロックチェーンにブロックを書き込める「代表者」を選定するためのルールであり、合意形成アルゴリズムとも称される。コンセンサスアルゴリズムの実行には時間を要するため、ブロック生成間隔とはコンセンサスアルゴリズムの実行開始から実行完了までの時間で規定される。 A consensus algorithm is a set of rules for selecting "representatives" who can write blocks to the blockchain, and is also known as a consensus algorithm. Since it takes time to execute a consensus algorithm, the block generation interval is defined as the time from the start of execution of the consensus algorithm to its completion.

コンセンサスアルゴリズムは、実行開始時までに、トランザクションプールで選択された1以上のトランザクションデータに対して実行される。コンセンサスアルゴリズムの実行が完了すると、当該ブロックがブロックチェーンに書き込まれる。なお、トランザクションプールに保持されているすべてのトランザクションデータを含めることができるブロックの容量があれば、トランザクションプールに保持されているすべてのトランザクションデータに対してコンセンサスアルゴリズムが実行されてもよい。 The consensus algorithm is executed on one or more transaction data selected in the transaction pool by the time execution begins. When execution of the consensus algorithm is completed, the block is written to the blockchain. Note that if there is block capacity that can contain all of the transaction data held in the transaction pool, the consensus algorithm may be executed on all of the transaction data held in the transaction pool.

図4は、図3に示すコンセンサスアルゴリズムを実行することで行われる処理を示すフローチャートの一例である。 Figure 4 is an example flowchart showing the processing performed by executing the consensus algorithm shown in Figure 3.

コンセンサスアルゴリズムが実行されると、まず、トランザクションプールで選択された1以上のトランザクションデータの検証が行われる(S91)。ここでは、当該1以上のトランザクションデータの正当性の検証が行われる。When the consensus algorithm is executed, first, one or more transaction data selected from the transaction pool is verified (S91). Here, the validity of the one or more transaction data is verified.

次に、当該1以上のトランザクションデータを含むブロックが生成され(S92)、ブロックチェーンに書き込まれる(S93)。なお、以下では、新たなブロックがブロックチェーンに書き込まれることを、新たなブロックが分散台帳に記録されることと表現する場合がある。Next, a block including the one or more transaction data is generated (S92) and written to the blockchain (S93). Note that, hereinafter, writing a new block to the blockchain may be expressed as recording a new block in the distributed ledger.

このように、ブロック生成間隔は、コンセンサスアルゴリズムの実行に要する時間により規定される。なお、非特許文献1で開示されるビットコインでは、コンセンサスアルゴリズムの実行に約10分要することから、ブロック生成間隔が約10分とされている。In this way, the block generation interval is determined by the time required to execute the consensus algorithm. In Bitcoin disclosed in Non-Patent Document 1, the block generation interval is set to about 10 minutes because it takes about 10 minutes to execute the consensus algorithm.

また、このようなブロックチェーンでは、ブロックチェーンに書き込むために送信されたトランザクションデータを保持するトランザクションプールにおいて選択されたトランザクションデータが書き込まれることになる。In addition, in such a blockchain, selected transaction data is written in a transaction pool that holds transaction data sent to be written to the blockchain.

ところで、このようなブロックチェーンでは、ブロック生成間隔によっては、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータがトランザクションプールに保持されることになる。つまり、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータが1ブロックに含まれる場合がある。However, in such blockchains, depending on the block generation interval, multiple transaction data sent by the same user or the same business at multiple points in time may be held in the transaction pool. In other words, multiple transaction data sent by the same user or the same business at multiple points in time may be included in one block.

しかしながら、トランザクションデータに含まれる情報の種別によっては、1ブロックに、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータが含まれても無意味な場合がある。このような場合、ブロックチェーンのブロックに利用しない無駄なトランザクションデータが記録されることになる。これは、限られたネットワーク帯域の無駄使いになるだけでなく、ブロック生成の電力等を含むリソースの無駄使いとなる。However, depending on the type of information contained in the transaction data, it may be meaningless for one block to contain multiple transaction data sent at multiple times by the same user or business. In such cases, unnecessary transaction data that will not be used will be recorded in the blockchain block. This not only wastes limited network bandwidth, but also resources including the electricity used to generate blocks.

そこで、本開示の一形態に係る制御方法は、機器と、それぞれ、前記機器と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバとを備えるシステムにおける前記機器によって実行される制御方法であって、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、前記第1ブロックと前記第2ブロックとが異なる場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信する。 In accordance with one embodiment of the present disclosure, a control method is a control method executed by a device in a system including a device and a plurality of servers each connected to the device so as to be able to communicate with the device, and configured to record selected transaction data from among the transaction data held up to a predetermined timing in a block in a distributed ledger at each predetermined timing, the control method comprising: generating first transaction data including the latest information acquired up to a first time, transmitting the first transaction data to a first server among the plurality of servers; and at one or more second times after the first time, checking the contents of the block recorded in the distributed ledger of the first server, thereby checking whether or not a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger when second transaction data one transaction after the first transaction data is generated at the second time; and if the first block and the second block are different, generating the second transaction data including the latest information acquired after the first time at or after the second time, and transmitting the second transaction data to the first server.

このように、分散台帳に記録されたブロックの内容を確認してから1つの機器すなわち同一のユーザないし同一事業者は、最新情報を含む1つのトランザクションデータを送信する。これにより、分散台帳に記録される1つのブロックには、1つの機器が送信する1つのトランザクションデータのみが含まれることになる。よって、利用しない無駄なトランザクションデータが、ブロックに記録されることを抑制することができるので、ネットワーク帯域及びリソースの無駄使いを抑制することができる。 In this way, after checking the contents of the block recorded in the distributed ledger, one device, i.e. the same user or the same business, sends one transaction data containing the latest information. As a result, one block recorded in the distributed ledger contains only one transaction data sent by one device. This prevents unused and unnecessary transaction data from being recorded in a block, thereby reducing waste of network bandwidth and resources.

また、前記ブロックの内容を確認する際、前記ブロックの内容として、前記ブロックに前記第1トランザクションデータの1つ前に生成された第3トランザクションデータが含まれているかを確認してもよい。 In addition, when checking the contents of the block, it may be possible to check whether the block contains a third transaction data that was generated immediately before the first transaction data.

これにより、分散台帳に記録されるブロックごとに、1つの機器が送信する1つのトランザクションデータのみが含まれることになる。よって、ブロックに利用されないトランザクションデータを含めて分散台帳に記録されることを抑制できるだけでなく、当該機器にとっての空白ブロックが分散台帳に記録されることを抑制できる。よって、ネットワーク帯域及びリソースの無駄使いを、さらに抑制することができる。As a result, each block recorded in the distributed ledger contains only one transaction data sent by one device. This not only prevents unused transaction data from being recorded in the distributed ledger, but also prevents blank blocks for that device from being recorded in the distributed ledger. This further reduces waste of network bandwidth and resources.

ここで、さらに、前記第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、前記第1サーバが、前記分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得し、前記処理可能数が前記受信総数により定められる閾値以上の場合、前記ブロックの内容として、前記ブロックに前記第3トランザクションデータが含まれているかを確認してもよい。Here, the first server may further obtain a total number of received transactions, which is the number of transaction data received per unit time, and a processable number, which is the number of transaction data that the first server can process per unit time when recording in the distributed ledger, and if the processable number is equal to or greater than a threshold determined by the total number of received transactions, it may be possible to confirm whether the block contains the third transaction data as the contents of the block.

これにより、第1サーバの処理能力に応じて、分散台帳に記録されるブロックごとに、1つの機器が送信する1つのトランザクションデータのみが含まれるようにすることができる。 This allows each block recorded in the distributed ledger to contain only one transaction data sent by one device, depending on the processing power of the first server.

また、前記ブロックの内容を確認する際、前記ブロックの内容として、前記ブロックに前記第1トランザクションデータが含まれているかを確認してもよい。 In addition, when checking the contents of the block, it may be possible to check whether the block contains the first transaction data.

これにより、当該1つの機器にとっての空白ブロックが分散台帳に記録される場合が発生するものの、分散台帳に記録される空白ブロックでない1つのブロックには、1つの機器により送信される1つのトランザクションデータのみが含まれることになる。よって、利用しない無駄なトランザクションデータがブロックに記録されることを抑制することができるので、ネットワーク帯域及びリソースの無駄使いを抑制することができる。 As a result, although there may be cases where a blank block for that one device is recorded in the distributed ledger, a single non-blank block recorded in the distributed ledger will contain only one transaction data sent by one device. This prevents unused and unnecessary transaction data from being recorded in a block, thereby reducing waste of network bandwidth and resources.

ここで、さらに、前記第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、前記第1サーバが、前記分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得し、前記処理可能数が前記受信総数により定められる閾値より小さい場合、前記ブロックの内容として、前記ブロックに前記第1トランザクションデータが含まれているかを確認してもよい。Here, the first server may further obtain a total number of received transactions, which is the number of transaction data received per unit time, and a processable number, which is the number of transaction data that the first server can process per unit time when recording in the distributed ledger, and if the processable number is smaller than a threshold value determined by the total number of received transactions, it may be possible to confirm whether the block contains the first transaction data as the contents of the block.

これにより、第1サーバの処理能力に応じて、分散台帳に記録される1つのブロックには、1つの機器により送信される1つのトランザクションデータのみが含まれるようにすることができる。 This allows one block recorded in the distributed ledger to contain only one transaction data sent by one device, depending on the processing capacity of the first server.

また、本開示の一態様に係るデータ生成装置は、それぞれ、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバと通信可能に接続されるデータ生成装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、前記プロセッサは、前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、前記プロセッサは、前記第1ブロックと前記第2ブロックとが異なることを確認した場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信する。 In addition, a data generation device according to one aspect of the present disclosure is a data generation device communicatively connected to a plurality of servers, each of which includes selected transaction data from among transaction data held up to a predetermined timing in a block and records the transaction data in a distributed ledger for each predetermined timing, and includes a processor and a memory, wherein the processor generates first transaction data including the latest information acquired up to a first time and transmits the first transaction data to a first server among the plurality of servers, and the processor checks the contents of the blocks recorded in the distributed ledger of the first server at one or more second times after the first time, thereby checking whether or not a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger when second transaction data one transaction after the first transaction data is generated at the second time, and if the processor checks that the first block and the second block are different, generates the second transaction data including the latest information acquired after the first time at or after the second time and transmits the second transaction data to the first server.

以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。 The following describes the embodiments with reference to the drawings. Each of the embodiments described below shows a preferred specific example of the present disclosure. In other words, the numerical values, shapes, materials, components, arrangement and connection of the components, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present disclosure. The present disclosure is specified based on the claims. Therefore, among the components in the following embodiments, components that are not described in the independent claims that show the highest concept of the present disclosure are described as components that are not necessarily required to achieve the objectives of the present disclosure but that constitute a more preferred form.

(実施の形態)
以下では、図面を参照しながら、実施の形態に係る制御システムについて説明する。
(Embodiment)
A control system according to an embodiment will be described below with reference to the drawings.

本開示の制御システムでは、最新の分散台帳に記録されるブロックの内容を確認した結果に応じて、次のトランザクションデータを送信させる。これにより、定期的に情報を分散台帳に記録したいものの、分散台帳に記録された過去の情報を参照せず、最新情報だけを利用したい場合、分散台帳に記録される1つのブロックには、利用され得る最新情報を含む1つのトランザクションデータのみが含まれることになる。In the control system disclosed herein, the next transaction data is transmitted depending on the results of checking the contents of the block recorded in the latest distributed ledger. As a result, if you want to record information in the distributed ledger periodically, but want to use only the latest information without referencing past information recorded in the distributed ledger, one block recorded in the distributed ledger will contain only one transaction data item that contains the latest information that can be used.

[制御システムの構成]
図5は、本実施の形態に係る制御システムの構成を模式的に示す図である。
[Control system configuration]
FIG. 5 is a diagram showing a schematic configuration of a control system according to the present embodiment.

制御システムは、図5に示されるように、機器100と、認証サーバ装置210、220、230とを備える。これらは通信可能に接続されている。これらの通信は、有線のインターネット線、無線通信及び専用通信等のいずれかであればよい。As shown in FIG. 5, the control system includes a device 100 and authentication server devices 210, 220, and 230. These are connected to each other so that they can communicate with each other. The communication between these devices may be via a wired Internet line, wireless communication, dedicated communication, or the like.

なお、図5では、本実施の形態に係る制御システムが、3つのサーバと1つの機器とを備える場合の例が示されているが、これに限らない。すなわち、本実施の形態に係る制御システムは、4つ以上の認証サーバ装置を備えてもよいし、2つ以上の機器を備えていてもよい。なお、後述するが、1つの機器は、一のユーザないし一の事業者が利用する機器を代表し、サーバ機能を有する機器であってもよい。 Note that, although FIG. 5 shows an example in which the control system according to this embodiment includes three servers and one device, this is not limited to this. That is, the control system according to this embodiment may include four or more authentication server devices, or may include two or more devices. Note that, as will be described later, one device may represent devices used by one user or one business operator, and may be a device with server functionality.

[機器100]
機器100は、一のユーザないし一の事業者が利用する機器を代表している。機器100は、サーバ機能を有していてもよい。
[Device 100]
The device 100 represents a device used by one user or one business entity, and may have a server function.

図6は、本実施の形態に係る機器100の構成を模式的に示すブロック図である。 Figure 6 is a block diagram showing a schematic configuration of device 100 in this embodiment.

機器100は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、機器100は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、機器100は、センサ情報取得部101と、トランザクションデータ生成部102と、トランザクションデータ確認部103と、確認方法決定部104と、通信部105と、を備える。なお、確認方法決定部104は必須の構成ではなく、機器100に備えられていなくてもよい。以下、各構成要素について説明する。The device 100 comprises a processor and a memory in which a program for causing the processor to execute a predetermined process is stored. In other words, the device 100 is realized by the processor executing the predetermined program using the memory. In this embodiment, the device 100 comprises a sensor information acquisition unit 101, a transaction data generation unit 102, a transaction data confirmation unit 103, a confirmation method determination unit 104, and a communication unit 105. Note that the confirmation method determination unit 104 is not a required component and may not be included in the device 100. Each component will be described below.

<センサ情報取得部101>
センサ情報取得部101は、図示しないIoT(Internet of Things)機器に搭載されたセンサからの情報(センサ情報)を定期的に取得する。つまり、センサ情報取得部101は、定期的に最新のセンサ情報(以下、最新情報とも称する)を取得する。ここで、センサ情報は、例えば天気情報または生体情報であるが、これらに限らない。センサ情報は、センサから直接取得されるデータであってもよいし、例えばインターネットを介してセンサから取得されるデータであってもよい。また、センサ情報は、インターネット上から取得されるデータであって定期的に更新または追加されるデータであってもよい。
<Sensor information acquisition unit 101>
The sensor information acquisition unit 101 periodically acquires information (sensor information) from a sensor mounted on an IoT (Internet of Things) device (not shown). That is, the sensor information acquisition unit 101 periodically acquires the latest sensor information (hereinafter also referred to as the latest information). Here, the sensor information is, for example, weather information or biological information, but is not limited to these. The sensor information may be data acquired directly from the sensor, or may be data acquired from the sensor via, for example, the Internet. The sensor information may also be data acquired from the Internet that is periodically updated or added.

<トランザクションデータ生成部102>
トランザクションデータ生成部102は、トランザクションデータ確認部103の確認結果に基づいて、トランザクションデータを生成する。トランザクションデータ生成部102は、生成したトランザクションデータを、通信部105を介して、認証サーバ装置210、220、230の少なくとも1つに送信する。
<Transaction Data Generation Unit 102>
The transaction data generation unit 102 generates transaction data based on the confirmation result of the transaction data confirmation unit 103. The transaction data generation unit 102 transmits the generated transaction data via the communication unit 105 to at least one of the authentication servers 210, 220, 230.

より具体的には、トランザクションデータ生成部102は、第1時間までにセンサ情報取得部101が取得した最新情報を含む第1トランザクションデータを生成して、生成した第1トランザクションデータを、例えば認証サーバ装置210に送信したとする。この場合、トランザクションデータ生成部102は、トランザクションデータ確認部103による最新の分散台帳に記録されているブロックの内容に応じて、第1時間より後に取得した最新情報を含む第2トランザクションデータを生成する。そして、トランザクションデータ生成部102は、生成した第2トランザクションデータを、認証サーバ装置210に送信する。 More specifically, the transaction data generation unit 102 generates first transaction data including the latest information acquired by the sensor information acquisition unit 101 up to the first time, and transmits the generated first transaction data to, for example, the authentication server device 210. In this case, the transaction data generation unit 102 generates second transaction data including the latest information acquired after the first time, according to the contents of the block recorded in the latest distributed ledger by the transaction data confirmation unit 103. Then, the transaction data generation unit 102 transmits the generated second transaction data to the authentication server device 210.

<トランザクションデータ確認部103>
トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックに、トランザクションデータ生成部102が1つ前または2つ前に生成して、送信されたトランザクションデータが含まれたかどうかを確認する。最新の分散台帳に記録されているブロックの内容を確認することで、トランザクションデータ生成部102が次に生成するトランザクションデータが、先に生成したトランザクションデータと異なるブロックに記録されるタイミングになったかを確認することができる。
<Transaction Data Verification Unit 103>
The transaction data confirmation unit 103 checks whether the block recorded in the latest distributed ledger contains the transaction data generated and transmitted one or two blocks ago by the transaction data generation unit 102. By checking the contents of the block recorded in the latest distributed ledger, it is possible to check whether the timing has come for the transaction data to be generated next by the transaction data generation unit 102 to be recorded in a different block from the previously generated transaction data.

より具体的には、トランザクションデータ確認部103は、第1時間より後の1以上の第2時間に、分散台帳に記録されているブロックの内容を確認することで、第1ブロックと、第2ブロックとが異なるか否かを確認する。 More specifically, the transaction data verification unit 103 verifies whether the first block and the second block are different by checking the contents of the block recorded in the distributed ledger at one or more second times after the first time.

ここで、第1トランザクションデータが分散台帳に記録されるときに含まれるブロックを第1ブロックと称している。第1トランザクションデータの1つ後の第2トランザクションデータを第2時間に生成したときに、第2トランザクションデータが分散台帳に記録されるときに含まれるブロックを第2ブロックと称している。Here, the block included when the first transaction data is recorded in the distributed ledger is referred to as the first block. When the second transaction data, which is one transaction data after the first transaction data, is generated at a second time, the block included when the second transaction data is recorded in the distributed ledger is referred to as the second block.

そして、トランザクションデータ確認部103は、第1ブロックと第2ブロックとが異なることを確認した場合、トランザクションデータ生成部102に、第1時間より後に取得した最新情報を含む第2トランザクションデータを、当該第2時間以降に、生成させる。 If the transaction data verification unit 103 confirms that the first block and the second block are different, it causes the transaction data generation unit 102 to generate, after the second time, second transaction data including the latest information obtained after the first time.

ここで、トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックの内容として、例えば当該ブロックに第1トランザクションデータの1つ前に生成された第3トランザクションデータが含まれているかを確認してもよい。そして、トランザクションデータ確認部103は、当該ブロックに第3トランザクションデータが含まれていることを確認したら、トランザクションデータ生成部102に、第2トランザクションデータを生成させればよい。これにより、分散台帳に記録されるブロックごとに、機器100が生成した1つの第2トランザクションデータのみが含まれることになる。Here, the transaction data verification unit 103 may verify, for example, whether the block recorded in the latest distributed ledger contains the third transaction data generated immediately before the first transaction data. Then, when the transaction data verification unit 103 verifies that the block contains the third transaction data, it may cause the transaction data generation unit 102 to generate the second transaction data. As a result, each block recorded in the distributed ledger contains only one piece of second transaction data generated by the device 100.

また、トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックの内容として、例えば、当該ブロックに第1トランザクションデータが含まれているかを確認してもよい。そして、トランザクションデータ確認部103は、当該ブロックに第1トランザクションデータが含まれていることを確認したら、トランザクションデータ生成部102に、第2トランザクションデータを生成させればよい。これにより、第2トランザクションデータが含まれない空白ブロックが分散台帳に記録されてしまう場合が発生するものの、分散台帳に記録される空白ブロックでない1つのブロックには、機器100が生成した1つの第2トランザクションデータのみが含まれることになる。 Furthermore, the transaction data confirmation unit 103 may confirm, for example, whether the first transaction data is included in the block recorded in the latest distributed ledger as the content of the block. Then, when the transaction data confirmation unit 103 confirms that the first transaction data is included in the block, it may cause the transaction data generation unit 102 to generate the second transaction data. As a result, although there may be cases where a blank block that does not include the second transaction data is recorded in the distributed ledger, the one block that is not a blank block recorded in the distributed ledger will include only one piece of second transaction data generated by the device 100.

<確認方法決定部104>
確認方法決定部104は、認証サーバ装置210の処理能力に応じて、トランザクションデータ確認部103が行う最新の分散台帳に記録されているブロックの内容の確認方法を決定してもよい。
<Confirmation Method Determination Unit 104>
The confirmation method determination unit 104 may determine the method for confirming the contents of the blocks recorded in the latest distributed ledger performed by the transaction data confirmation unit 103, depending on the processing capacity of the authentication server device 210.

より具体的には、確認方法決定部104は、第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、第1サーバが、分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得する。 More specifically, the confirmation method determination unit 104 obtains the total number of received transactions, which is the number of transaction data received by the first server per unit time, and the processable number, which is the number of transaction data that the first server can process per unit time when recording in the distributed ledger.

確認方法決定部104は、処理可能数が受信総数により定められる閾値以上の場合、トランザクションデータ確認部103に、最新の分散台帳に記録されているブロックの内容として、ブロックに第3トランザクションデータが含まれているかを確認させてもよい。 When the processable number is equal to or greater than a threshold determined by the total number of received data, the confirmation method determination unit 104 may cause the transaction data confirmation unit 103 to confirm whether the block contains the third transaction data as the contents of the block recorded in the latest distributed ledger.

また、確認方法決定部104は、処理可能数が受信総数により定められる閾値より小さい場合、トランザクションデータ確認部103に、最新の分散台帳に記録されているブロックの内容として、ブロックに第1トランザクションデータが含まれているかを確認させてもよい。 In addition, when the processable number is smaller than a threshold determined by the total number of receptions, the confirmation method determination unit 104 may cause the transaction data confirmation unit 103 to confirm whether the block contains the first transaction data as the contents of the block recorded in the latest distributed ledger.

これらにより、確認方法決定部104は、トランザクションデータ確認部103に、最新の分散台帳に記録されているブロックに、トランザクションデータ生成部102が1つ前または2つ前に生成して、送信されたトランザクションデータが含まれたかどうかを確認させることができる。 This enables the confirmation method determination unit 104 to have the transaction data confirmation unit 103 confirm whether the block recorded in the latest distributed ledger contains the transaction data generated and transmitted by the transaction data generation unit 102 one or two blocks earlier.

なお、機器100を含めた複数の機器から送信されるトランザクションデータの数は、認証サーバ装置210等に確認すれば、正確な数でなくとも上記の確認ができる程度には大まかに取得することができる。また、単位時間当たりに処理可能なトランザクションデータ数は、認証サーバ装置210等それぞれで予め決まっている。The number of transaction data transmitted from multiple devices including device 100 can be obtained by checking with the authentication server device 210, etc., and even if it is not an exact number, it is possible to obtain a rough estimate sufficient to make the above confirmation. Also, the number of transaction data that can be processed per unit time is predetermined for each authentication server device 210, etc.

<通信部105>
通信部105は、認証サーバ装置210、220、230との通信を行う。
<Communication unit 105>
The communication unit 105 communicates with the authentication servers 210 , 220 , and 230 .

本実施の形態では、通信部105は、トランザクションデータ生成部102で生成したトランザクションデータを認証サーバ装置210、220、230の少なくとも1つに送信する。また、通信部105は、認証サーバ装置210、220、230の処理能力として、受信総数と処理可能数とを取得して、確認方法決定部104に送信してもよい。また、通信部105は、認証サーバ装置210、220、230の最新の分散台帳の内容を取得して、トランザクションデータ確認部103に送信してもよい。In this embodiment, the communication unit 105 transmits the transaction data generated by the transaction data generation unit 102 to at least one of the authentication server devices 210, 220, and 230. The communication unit 105 may also obtain the total number of receptions and the number that can be processed as the processing capabilities of the authentication server devices 210, 220, and 230, and transmit them to the confirmation method determination unit 104. The communication unit 105 may also obtain the latest contents of the distributed ledgers of the authentication server devices 210, 220, and 230, and transmit them to the transaction data confirmation unit 103.

[機器100のハードウェア構成]
次に、本実施の形態に係る機器100のハードウェア構成について、図7を用いて説明する。図7は、本実施の形態に係る機器100の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
[Hardware configuration of device 100]
Next, the hardware configuration of the device 100 according to the present embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of the hardware configuration of a computer 1000 that realizes the functions of the device 100 according to the present embodiment by software.

コンピュータ1000は、図7に示すように、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。7, the computer 1000 is a computer equipped with an input device 1001, an output device 1002, a CPU 1003, an internal storage 1004, a RAM 1005, a reading device 1007, a transmission/reception device 1008, and a bus 1009. The input device 1001, the output device 1002, the CPU 1003, the internal storage 1004, the RAM 1005, the reading device 1007, and the transmission/reception device 1008 are connected by the bus 1009.

入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。The input device 1001 is a user interface device such as an input button, a touch pad, a touch panel display, etc., and accepts user operations. The input device 1001 may be configured to accept voice operations and remote operations using a remote control or the like in addition to accepting touch operations by the user.

内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、機器100の機能を実現するためのプログラム、及び、機器100の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。The internal storage 1004 is a flash memory or the like. The internal storage 1004 may also store in advance at least one of a program for implementing the functions of the device 100 and an application that utilizes the functional configuration of the device 100.

RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。 RAM 1005 is a random access memory and is used to store data, etc. when executing a program or application.

読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。The reading device 1007 reads information from a recording medium such as a USB (Universal Serial Bus) memory. The reading device 1007 reads the above-mentioned programs and applications from a recording medium on which the programs and applications are recorded, and stores the programs and applications in the built-in storage 1004.

送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。The transmitting/receiving device 1008 is a communication circuit for performing wireless or wired communication. The transmitting/receiving device 1008 communicates with, for example, a server device connected to a network, downloads the above-mentioned programs and applications from the server device, and stores them in the built-in storage 1004.

CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムまたはアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。The CPU 1003 is a central processing unit that copies programs and applications stored in the internal storage 1004 to the RAM 1005, and sequentially reads and executes instructions contained in the programs or applications from the RAM 1005.

次に、認証サーバ装置210について説明する。 Next, we will explain the authentication server device 210.

[認証サーバ装置210]
認証サーバ装置210、220及び230は同様の構成であるため、認証サーバ装置210を例に挙げて説明する。
[Authentication server device 210]
Since the authentication servers 210, 220, and 230 have the same configuration, the authentication server 210 will be described as an example.

図8は、本実施の形態に係る認証サーバ装置210の機能構成を示すブロック図である。 Figure 8 is a block diagram showing the functional configuration of the authentication server device 210 in this embodiment.

認証サーバ装置210は、機器100と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する。認証サーバ装置210は分散台帳に記録する第1サーバの一例である。The authentication server device 210 is communicatively connected to the device 100, and at each predetermined timing, selects transaction data from the transaction data held up to the predetermined timing and records the selected transaction data in a block in the distributed ledger. The authentication server device 210 is an example of a first server that records in the distributed ledger.

本実施の形態では、認証サーバ装置210は、図8に示すように、トランザクションデータ格納部211と、トランザクションデータ検証部212と、台帳格納部213と、通信部214とを備える。認証サーバ装置210は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。In this embodiment, as shown in FIG. 8, the authentication server device 210 includes a transaction data storage unit 211, a transaction data verification unit 212, a ledger storage unit 213, and a communication unit 214. The authentication server device 210 can be realized by a processor using a memory to execute a predetermined program. Each component will be described below.

<トランザクションデータ格納部211>
トランザクションデータ格納部211は、ブロックチェーンのまだ検証されていないトランザクションデータを溜めているトランザクションプールとして機能する。
<Transaction Data Storage Unit 211>
The transaction data storage unit 211 functions as a transaction pool that stores transaction data that has not yet been verified in the blockchain.

本実施の形態では、トランザクションデータ格納部211は、機器100から取得した例えば第1トランザクションデータ、第2トランザクションデータ、または第3トランザクションデータを格納し、一時的に保持する。トランザクションデータ格納部211は、保持しているトランザクションデータのうち、選択され分散台帳に書き込まれたトランザクションデータを削除したり、不要になったトランザクションデータを破棄したりする。In this embodiment, the transaction data storage unit 211 stores and temporarily retains, for example, the first transaction data, the second transaction data, or the third transaction data acquired from the device 100. The transaction data storage unit 211 deletes transaction data that has been selected from the transaction data it retains and written to the distributed ledger, and discards transaction data that is no longer necessary.

なお、トランザクションデータ格納部211は、機器100からトランザクションデータを取得したとき、当該トランザクションデータに含まれる電子署名の検証と、トランザクションデータの正当性の検証とを行ってもよい。そして、トランザクションデータ格納部211は、機器100から取得したトランザクションデータの検証が成功した場合のみ、機器100から取得したトランザクションデータを保持するとしてもよい。なお、この検証はスキップされてもよい。When the transaction data storage unit 211 acquires transaction data from the device 100, the transaction data storage unit 211 may verify the electronic signature included in the transaction data and verify the validity of the transaction data. The transaction data storage unit 211 may retain the transaction data acquired from the device 100 only when the verification of the transaction data acquired from the device 100 is successful. This verification may be skipped.

<トランザクションデータ検証部212>
トランザクションデータ検証部212は、コンセンサスアルゴリズムを実行することで、トランザクションデータ格納部211に保持されているトランザクションデータのうち選択したトランザクションデータの正当性を検証する。
<Transaction Data Verification Unit 212>
The transaction data verification unit 212 executes a consensus algorithm to verify the validity of transaction data selected from the transaction data stored in the transaction data storage unit 211.

ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPOW(Proof Of Work)またはPOS(Proof Of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、トランザクションデータ検証部212は、他の複数の認証サーバ装置220及び230のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、トランザクションデータ検証部212は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。Here, the consensus algorithm may be PBFT (Practical Byzantine Fault Tolerance) or other known consensus algorithms. Examples of known consensus algorithms include POW (Proof Of Work) and POS (Proof Of Stake). When PBFT is used as the consensus algorithm, the transaction data verification unit 212 receives reports indicating whether or not the verification of the transaction data has been successful from each of the other multiple authentication server devices 220 and 230, and determines whether or not the number of such reports exceeds a predetermined number. Then, when the number of such reports exceeds the predetermined number, the transaction data verification unit 212 may determine that the validity of the transaction data has been verified by the consensus algorithm.

<台帳格納部213>
台帳格納部213は、分散台帳に格納すべき新しいトランザクションデータを分散台帳に格納する処理部である。
<Ledger Storage Unit 213>
The ledger storage unit 213 is a processing unit that stores new transaction data to be stored in the distributed ledger in the distributed ledger.

本実施の形態では、台帳格納部213は、トランザクションデータ検証部212により正当性が検証されたトランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に格納する。換言すると、台帳格納部213は、トランザクションデータ検証部212により正当性が検証されたトランザクションデータを含むブロックを生成し、分散台帳に格納されているブロックチェーンに書き込む。In this embodiment, the ledger storage unit 213 generates a block including transaction data whose validity has been verified by the transaction data verification unit 212, and stores the generated block in the distributed ledger. In other words, the ledger storage unit 213 generates a block including transaction data whose validity has been verified by the transaction data verification unit 212, and writes the block to the blockchain stored in the distributed ledger.

<通信部214>
通信部214は、認証サーバ装置220、230との通信を行ったり、機器100との通信を行ったりする。
<Communication unit 214>
The communication unit 214 communicates with the authentication server devices 220 and 230 and with the device 100 .

本実施の形態では、通信部214は、トランザクションデータ検証部212が検証対象のトランザクションデータを、認証サーバ装置220及び230に送信する。また、通信部214は、機器100と通信し、トランザクションデータを取得したり、認証サーバ装置210自身の処理能力として、受信総数と処理可能数とを機器100に送信したりしてもよい。また、通信部214は、認証サーバ装置210自身が有する分散台帳の内容を、機器100に送信してもよい。In this embodiment, the communication unit 214 transmits the transaction data to be verified by the transaction data verification unit 212 to the authentication server devices 220 and 230. The communication unit 214 may also communicate with the device 100 to acquire transaction data, and may transmit to the device 100 the total number of received transactions and the number that can be processed as the processing capacity of the authentication server device 210 itself. The communication unit 214 may also transmit to the device 100 the contents of the distributed ledger that the authentication server device 210 itself owns.

[動作]
続いて、以上のように構成された制御システムに含まれる機器100の動作について説明する。
[motion]
Next, the operation of the device 100 included in the control system configured as above will be described.

図9は、本実施の形態に係る機器100の動作を示すフローチャートである。 Figure 9 is a flowchart showing the operation of device 100 in this embodiment.

図9には、分散台帳に記録される1つのブロックに含まれる1以上のトランザクションデータの中に、機器100にとって機器100が送信する1つのトランザクションデータのみが含まれるようにする動作が示されている。Figure 9 shows an operation for device 100 to ensure that only one transaction data sent by device 100 is included among one or more transaction data contained in one block recorded in the distributed ledger.

まず、機器100は、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、第1サーバに送信する(S10)。上述したように、第1サーバは例えば認証サーバ装置210に該当する。First, the device 100 generates first transaction data including the latest information acquired up to the first time and transmits the first transaction data to the first server (S10). As described above, the first server corresponds to, for example, the authentication server device 210.

次に、機器100は、第1時間より後の第2時間に、第1サーバの分散台帳に記録されているブロックの内容を確認する(S11)。より具体的には、機器100は、分散台帳に記録されているブロックの内容を確認し、第1トランザクションデータの1つ後の第2トランザクションデータを第2時間に生成したとき、第1トランザクションデータとは異なるブロックに含まれるか否かを確認する。Next, the device 100 checks the contents of the block recorded in the distributed ledger of the first server at a second time after the first time (S11). More specifically, the device 100 checks the contents of the block recorded in the distributed ledger, and checks whether the second transaction data, which is one transaction data after the first transaction data, is included in a block different from the first transaction data when the second transaction data is generated at the second time.

次に、機器100は、第2トランザクションデータを第2時間に生成した場合、第1トランザクションデータとは異なるブロックに含まれる場合(S12でYES)、第1時間より後に取得した最新情報を含む第2トランザクションデータを生成して、第1サーバに送信する(S13)。本実施の形態では、機器100は、第2時間以降から、第2時間時点で実行されているコンセンサスアルゴリズムの実行完了までに、第2トランザクションデータを生成して、第1サーバに送信する。Next, when the second transaction data is generated at the second time and is included in a different block from the first transaction data (YES in S12), the device 100 generates second transaction data including the latest information acquired after the first time and transmits it to the first server (S13). In this embodiment, the device 100 generates the second transaction data from after the second time until the execution of the consensus algorithm being executed at the second time is completed, and transmits it to the first server.

なお、機器100は、第2トランザクションデータを第2時間に生成したとき、第1トランザクションデータと同じブロックに含まれる場合(S12でNo)、ステップS11に戻って処理をやり直す。 In addition, when the device 100 generates the second transaction data at the second time, if the second transaction data is included in the same block as the first transaction data (No in S12), the device 100 returns to step S11 and repeats the process.

(実施例1)
続いて、機器100が、ブロックの内容として、最新の分散台帳に記録されているブロックに、機器100自身が2つ前に送信したトランザクションデータが含まれたかどうかを確認する場合の制御システムの処理を実施例1として説明する。
Example 1
Next, as Example 1, we will explain the processing of the control system when device 100 checks whether the block contents recorded in the latest distributed ledger include the transaction data sent by device 100 itself two blocks ago.

図10は、実施例1に係る制御システムの処理のシーケンス図である。図10には、図9に示すS11以降の制御システムの処理の一例が示されている。 Figure 10 is a sequence diagram of the processing of the control system according to Example 1. Figure 10 shows an example of the processing of the control system from S11 onwards shown in Figure 9.

ここで、機器100は、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、認証サーバ装置210、220、230に送信しており、認証サーバ装置210、220、230で第1トランザクションデータが少なくともプール(格納)されているとする。Here, the device 100 generates first transaction data including the latest information acquired up to the first time and transmits it to the authentication server devices 210, 220, and 230, and the first transaction data is at least pooled (stored) in the authentication server devices 210, 220, and 230.

次に、第1時間より後の第2時間に、機器100は、認証サーバ装置210の最新の分散台帳を確認する(S21)。本実施例では、機器100は、例えば認証サーバ装置210に最新の分散台帳を要求し、認証サーバ装置210により送信された最新の分散台帳を取得することで、最新の分散台帳を確認する。Next, at a second time after the first time, the device 100 checks the latest distributed ledger of the authentication server device 210 (S21). In this embodiment, the device 100 checks the latest distributed ledger by, for example, requesting the latest distributed ledger from the authentication server device 210 and acquiring the latest distributed ledger sent by the authentication server device 210.

次に、機器100は、取得した最新の分散台帳のブロックを参照(確認)し、機器100自身が2つ前に送信した第3トランザクションデータが含まれたかを確認する(S22)。ここで、機器100が、1つ前に送信したトランザクションデータを第1トランザクションデータとしている。また、機器100が、2つ前に送信したすなわち第1トランザクションデータの1つ前に送信したトランザクションデータを第3トランザクションデータとしている。換言すると、機器100が、これから(つまり第2時間以降に)生成して送信する第2トランザクションデータを基準として、1つ前に送信されたトランザクションデータを、第1トランザクションデータと称している。また、機器100が、これから送信する第2トランザクションデータを基準として、2つ前に送信されたトランザクションデータを、第3トランザクションデータと称している。Next, device 100 refers to (checks) the latest distributed ledger block acquired and checks whether it contains the third transaction data sent by device 100 itself two transactions ago (S22). Here, the transaction data sent by device 100 one transaction ago is regarded as the first transaction data. Also, the transaction data sent by device 100 two transactions ago, i.e., one transaction before the first transaction data, is regarded as the third transaction data. In other words, the transaction data sent one transaction ago is referred to as the first transaction data based on the second transaction data that device 100 will generate and send from now (i.e., after the second time). Also, the transaction data sent two transactions ago is referred to as the third transaction data based on the second transaction data that device 100 will send from now.

ステップS22において、機器100は、機器100自身が2つ前に送信した第3トランザクションデータが、最新の分散台帳に含まれた場合(S22でYES)、第1時間より後に取得した最新情報を含む第2トランザクションデータを生成する(S23)。なお、ステップS22において、機器100は、機器100自身が2つ前に送信した第3トランザクションデータが、最新の分散台帳に含まれていない場合(S22でNO)、ステップS21に戻って処理をやり直す。In step S22, if the third transaction data transmitted by the device 100 itself two transactions ago is included in the latest distributed ledger (YES in S22), the device 100 generates second transaction data including the latest information acquired after the first time (S23). Note that in step S22, if the third transaction data transmitted by the device 100 itself two transactions ago is not included in the latest distributed ledger (NO in S22), the device 100 returns to step S21 and repeats the process.

次に、機器100は、ステップS23において生成した第2トランザクションデータを、認証サーバ装置210、220、230に送信する(S24)。Next, the device 100 transmits the second transaction data generated in step S23 to the authentication server devices 210, 220, and 230 (S24).

すると、認証サーバ装置210、220、230はそれぞれ、機器100から取得した第2トランザクションデータを、プール(格納)する(S25)。Then, the authentication server devices 210, 220, and 230 each pool (store) the second transaction data obtained from the equipment 100 (S25).

(実施例2)
続いて、機器100が、認証サーバ装置210の処理能力に応じて、認証サーバ装置210の最新の分散台帳に記録されているブロックの内容の確認方法を決定する場合の処理を実施例2として説明する。また、本実施例では、ブロックの内容の確認方法は、最新の分散台帳に記録されているブロックに、機器100自身が2つ前または1つ前に送信したトランザクションデータが含まれたかどうかを確認する方法であるとして説明する。
Example 2
Next, a process in which the device 100 determines a method for checking the contents of a block recorded in the latest distributed ledger of the authentication server device 210 according to the processing capacity of the authentication server device 210 will be described as Example 2. In addition, in this example, the method for checking the contents of a block will be described as a method for checking whether or not the transaction data transmitted by the device 100 itself two blocks prior or one block prior is included in the block recorded in the latest distributed ledger.

図11は、実施例2に係る機器100の処理を示すフローチャートである。 Figure 11 is a flowchart showing the processing of device 100 relating to Example 2.

機器100は、以下で説明するステップS31を行う前において、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、認証サーバ装置210に送信しており、認証サーバ装置210で第1トランザクションデータが少なくともプール(格納)されているとする。Before performing step S31 described below, the device 100 generates first transaction data including the latest information acquired up to the first time and transmits it to the authentication server device 210, and the first transaction data is at least pooled (stored) in the authentication server device 210.

まず、機器100は、認証サーバ装置210から、認証サーバ装置210における単位時間当たりの処理可能数と、受信総数とを取得する(S31)。First, the device 100 obtains from the authentication server device 210 the number of processes that can be performed per unit time and the total number of receptions at the authentication server device 210 (S31).

次に、機器100は、ステップS31で取得した処理可能数が閾値以上か(つまり、処理可能数≧閾値)を確認する(S32)。ここでの閾値は、機器100が、ステップS31で取得した受信総数から定められ、例えば受信総数の数%~数十%前後の値に定められる。Next, the device 100 checks whether the processable number acquired in step S31 is equal to or greater than a threshold (i.e., processable number ≧ threshold) (S32). The threshold here is determined from the total number of receptions acquired by the device 100 in step S31, and is set to a value of, for example, several percent to several tens of percent of the total number of receptions.

ステップS32において、処理可能数が閾値より小さい場合(S32でNO)、第1時間より後の第2時間に、機器100は、認証サーバ装置210の最新の分散台帳を確認する(S33)。本実施例でも機器100は、例えば認証サーバ装置210に最新の分散台帳を要求し、認証サーバ装置210により送信された最新の分散台帳を取得することで、最新の分散台帳を確認する。In step S32, if the processable number is smaller than the threshold value (NO in S32), at the second time after the first time, the device 100 checks the latest distributed ledger of the authentication server device 210 (S33). In this embodiment, the device 100 also checks the latest distributed ledger by, for example, requesting the latest distributed ledger from the authentication server device 210 and acquiring the latest distributed ledger sent by the authentication server device 210.

一方、ステップS32において、処理可能数が閾値以上である場合(S32でYES)、ステップS33に進む。以降の処理すなわちステップS33、ステップS35、及びステップS36の処理は、図10のステップS21~ステップS24で説明した通りであるので、説明を省略する。On the other hand, in step S32, if the number of processes that can be performed is equal to or greater than the threshold value (YES in S32), the process proceeds to step S33. The subsequent processes, i.e., steps S33, S35, and S36, are the same as those described in steps S21 to S24 of FIG. 10, and therefore will not be described here.

なお、機器100は、ステップS31の前に、最新情報を含む第1トランザクションデータを生成して認証サーバ装置210に送信するとして説明したが、これに限らない。ステップS31及びS32の後、かつ、ステップS33の前に最新情報を含む第1トランザクションデータを生成して認証サーバ装置210に送信するとしてもよい。Although the device 100 has been described as generating first transaction data including the latest information and transmitting it to the authentication server device 210 before step S31, this is not limited to the above. After steps S31 and S32 and before step S33, the device 100 may generate first transaction data including the latest information and transmit it to the authentication server device 210.

[効果等]
以上、実施の形態に係る制御システム等によれば、分散台帳に記録されたブロックの内容を確認してから1つの機器100すなわち同一のユーザないし同一事業者は、最新情報を含む1つのトランザクションデータを送信する。換言すると、実施の形態に係る制御システム等では、機器100は、トランザクションデータをPUSH型で送信せず、ASK型で1つずつ送信する。これにより、分散台帳に記録される1つのブロックには、機器100にとって1つの機器100が送信する1つのトランザクションデータのみが含まれることになる。よって、利用しない無駄なトランザクションデータがブロックに記録されることを抑制することができるので、ネットワーク帯域及びリソースの無駄使いを抑制することができる。
[Effects, etc.]
As described above, according to the control system etc. of the embodiment, after checking the contents of the block recorded in the distributed ledger, one device 100, i.e., the same user or the same business, transmits one transaction data including the latest information. In other words, in the control system etc. of the embodiment, the device 100 does not transmit the transaction data in the PUSH type, but transmits the transaction data one by one in the ASK type. As a result, one block recorded in the distributed ledger contains only one transaction data transmitted by one device 100 for the device 100. Therefore, it is possible to prevent unnecessary transaction data that is not used from being recorded in a block, and therefore it is possible to prevent waste of network bandwidth and resources.

ここで、図12~図14を用いて、実施の形態に係る効果について説明する。図12及び図13は、実施の形態に係る効果について説明するためのフロー図である。図14は、図13に示すフロー図の別観点での説明図である。Here, the effects of the embodiment will be described with reference to Figures 12 to 14. Figures 12 and 13 are flow diagrams for explaining the effects of the embodiment. Figure 14 is an explanatory diagram from a different perspective of the flow diagram shown in Figure 13.

まず、図12を用いて、機器100が、次に生成予定の第2トランザクションデータを基準に、1つ前に生成した第1トランザクションデータが、最新の分散台帳に記録されたブロックに含まれたことを確認後に、第2トランザクションデータを生成して送信する場合について説明する。First, using FIG. 12, we will explain the case where device 100 generates and transmits second transaction data after confirming that the first transaction data generated immediately before is included in the block recorded in the latest distributed ledger, based on the second transaction data to be generated next.

図12において、第1トランザクションデータをTxn-1と表記し、第2トランザクションデータをTxと表記する。また、コンセンサスアルゴリズムが実行される期間をコンセンサスと表記する。コンセンサスアルゴリズムが実行される期間は、ブロックチェーンにブロックを書き込むために要する期間として示されている。図12に示すブロックチェーンでは、コンセンサスアルゴリズムの開始前までに送信されたトランザクションデータに対してコンセンサスアルゴリズムが実行され、コンセンサスアルゴリズムの実行完了後に、ブロックに含まれてブロックチェーンに書き込まれることが示されている。コンセンサスアルゴリズムの開始前までに送信されたトランザクションデータは、トランザクションプールに保持されている。 In FIG. 12, the first transaction data is denoted as Tx n-1 , and the second transaction data is denoted as Tx n . The period during which the consensus algorithm is executed is denoted as consensus. The period during which the consensus algorithm is executed is shown as the period required to write a block to the blockchain. In the blockchain shown in FIG. 12, the consensus algorithm is executed on the transaction data transmitted before the start of the consensus algorithm, and after the execution of the consensus algorithm is completed, the transaction data is included in a block and written to the blockchain. The transaction data transmitted before the start of the consensus algorithm is held in a transaction pool.

図12に示されるように、機器100は、生成後に送信したTxn-1がブロックチェーンに書き込まれたブロックに含まれたかを定期的に確認してもよい。この場合、機器100は、ブロックチェーンに書き込まれたブロックにTxn-1が含まれたことを確認したら、Txを生成して送信する。すると、連続するブロックそれぞれに機器100が生成して送信したトランザクションデータが含まれない(機器100にとっての空白ブロックが発生する)。しかし、空白ブロックではないブロックには、機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれることになる。 As shown in Fig. 12, the device 100 may periodically check whether Tx n-1 , which was generated and transmitted, is included in a block written to the blockchain. In this case, when the device 100 confirms that Tx n-1 is included in a block written to the blockchain, it generates and transmits Tx n . Then, each of the successive blocks does not contain the transaction data generated and transmitted by the device 100 (a blank block occurs for the device 100). However, a block that is not a blank block contains only one transaction data generated and transmitted by the device 100 for the device 100.

つまり、機器100は、ブロックチェーンに書き込まれたブロックに、機器100が1つ前に送信したトランザクションデータが含まれたことを確認してから次のトランザクションデータを送信してもよい。これにより、機器100は、ブロックチェーンに書き込まれるブロックに機器100にとっての空白ブロックが発生する場合があるものの機器100が送信した2以上のトランザクションデータが1つのブロックに含まれてしまうことを抑制することができる。In other words, the device 100 may transmit the next transaction data after confirming that the block written to the blockchain contains the transaction data previously transmitted by the device 100. This prevents two or more transaction data transmitted by the device 100 from being included in one block, although a blank block for the device 100 may be generated in the block written to the blockchain.

このように、機器100にとって空白ブロックが分散台帳に記録される場合が発生するものの、分散台帳に記録される1つのブロックには、機器100にとって機器100により送信される1つのトランザクションデータのみが含まれることになる。In this way, although there may be cases where a blank block is recorded in the distributed ledger for device 100, a single block recorded in the distributed ledger will contain only one transaction data sent by device 100 for device 100.

よって、利用しない無駄なトランザクションデータがブロックに記録されることを抑制することができるので、ネットワーク帯域及びリソースの無駄使いを抑制することができる。 This prevents unused and unnecessary transaction data from being recorded in blocks, thereby reducing waste of network bandwidth and resources.

次に、図13及び図14を用いて、機器100が、次に生成予定の第2トランザクションデータを基準に、2つ前に生成した第3トランザクションデータが、最新の分散台帳に記録されたブロックに含まれたことを確認後に、第2トランザクションデータを生成して送信する場合について説明する。ここで、図13及び図14において、第1トランザクションデータは、次に生成予定の第2トランザクションデータを基準に1つ前に生成したトランザクションデータであり、Txn-1と表記している。また、第2トランザクションデータをTxと表記し、第1トランザクションデータの1つ前に生成された第3トランザクションデータをTxn-2と表記する。また、第2トランザクションデータの1つ後に生成される予定のトランザクションデータをTxn+1と表記する。 Next, a case will be described with reference to Figures 13 and 14 in which the device 100 generates and transmits second transaction data after confirming that third transaction data generated two transactions ago based on the second transaction data to be generated next is included in a block recorded in the latest distributed ledger. Here, in Figures 13 and 14, the first transaction data is the transaction data generated one transaction ago based on the second transaction data to be generated next, and is represented as Tx n-1 . Moreover, the second transaction data is represented as Tx n , and the third transaction data generated one transaction before the first transaction data is represented as Tx n-2 . Moreover, the transaction data to be generated one transaction after the second transaction data is represented as Tx n+1 .

図13及び図14に示されるように、機器100は、Txの生成及び送信タイミングを確認するため、Txn-1の送信後には、Txn-2がブロックチェーンに書き込まれたブロックに含まれたかを確認している。そして、機器100は、ブロックチェーンに書き込まれたブロックにTxn-2が含まれたことを確認したら、Txを生成して送信している。 13 and 14, the device 100 checks whether Tx n-2 is included in the block written to the blockchain after sending Tx n-1 in order to check the generation and transmission timing of Tx n . Then, when the device 100 checks that Tx n-2 is included in the block written to the blockchain, it generates and sends Tx n .

次に、機器100は、Txn+1の生成及び送信タイミングを確認するため、Txの送信後には、Txn-1がブロックチェーンに書き込まれたブロックに含まれたかを確認している。そして、機器100は、ブロックチェーンに書き込まれたブロックにTxn-1が含まれたことを確認したら、Txn+1を生成して送信している。このため、連続するブロックそれぞれに機器100が生成して送信したトランザクションデータを含むことになる(機器100にとっての空白ブロックが発生しない)。 Next, in order to confirm the generation and transmission timing of Tx n+1 , the device 100 checks whether Tx n-1 was included in the block written to the blockchain after transmitting Tx n . Then, when the device 100 confirms that Tx n-1 was included in the block written to the blockchain, it generates and transmits Tx n+1 . Therefore, each successive block contains the transaction data generated and transmitted by the device 100 (no blank blocks are generated for the device 100).

このように、機器100は、ブロックチェーンに書き込まれたブロックに、機器100が2つ前に送信したトランザクションデータが含まれたことを確認してから次のトランザクションデータを送信する。これにより、1つのブロックには、機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれることになる。つまり、機器100が送信した2以上のトランザクションデータが1つのブロックに含まれてしまうことを抑制することができる。また、ブロックごとに機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれるので、機器100にとって空白ブロックが発生してしまうことも抑制することができる。 In this way, device 100 confirms that the block written to the blockchain contains the transaction data sent by device 100 two blocks ago before sending the next transaction data. As a result, one block contains only one piece of transaction data generated and sent by device 100 for device 100. In other words, it is possible to prevent two or more pieces of transaction data sent by device 100 from being included in one block. In addition, since each block contains only one piece of transaction data generated and sent by device 100 for device 100, it is also possible to prevent blank blocks from being generated for device 100.

換言すると、利用されない1以上のトランザクションデータがブロックに含まれて分散台帳に記録されることを抑制できるだけでなく、当該機器にとっての空白ブロックが分散台帳に記録されることを抑制できる。よって、ネットワーク帯域及びリソースの無駄使いをさらに抑制することができる。In other words, not only can it be prevented that one or more unused transaction data are included in a block and recorded in the distributed ledger, but it can also be prevented that blank blocks for the device are recorded in the distributed ledger. This can further reduce waste of network bandwidth and resources.

また、分散台帳を有する認証サーバ装置の処理能力に応じて、最新の分散台帳に記録されたブロックに、第1トランザクションデータが含まれたこと、または、第1トランザクションデータの1つ前に生成された第3トランザクションデータが含まれたことを確認してもよい。これにより、認証サーバ装置の処理能力に応じて、機器100にとっての空白ブロックが分散台帳に記録される場合が発生することを許容するか否かを選択することができる。 In addition, depending on the processing capacity of the authentication server device having the distributed ledger, it may be confirmed that the first transaction data is included in the block recorded in the latest distributed ledger, or that the third transaction data generated immediately before the first transaction data is included. This makes it possible to select whether or not to allow a case in which a blank block for the device 100 is recorded in the distributed ledger depending on the processing capacity of the authentication server device.

[その他変形例]
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
[Other Modifications]
Although the present disclosure has been described based on the above-mentioned embodiments, the present disclosure is not limited to the above-mentioned embodiments. The following cases are also included in the present disclosure.

(1)上記の実施の形態に係る各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。 (1) Specifically, each device in the above embodiments is a computer system composed of a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, etc. A computer program is recorded in the RAM or hard disk unit. Each device achieves its function by the microprocessor operating in accordance with the computer program. Here, a computer program is composed of a combination of multiple instruction codes that indicate commands to a computer to achieve a specified function.

(2)上記の実施の形態に係る各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。 (2) In each of the devices according to the above embodiments, some or all of the constituent elements may be composed of a single system LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM, etc. A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating in accordance with the computer program.

また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。 In addition, each part of the components constituting each of the above devices may be individually integrated into a single chip, or may be integrated into a single chip to include some or all of the components.

また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。 Although the term "system LSI" is used here, it may also be called an IC, LSI, super LSI, or ultra LSI depending on the level of integration. The integrated circuit method is not limited to LSI, but may be realized by a dedicated circuit or a general-purpose processor. After LSI manufacturing, a field programmable gate array (FPGA) that can be programmed, or a reconfigurable processor that can reconfigure the connections and settings of circuit cells inside the LSI may also be used.

さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。Furthermore, if an integrated circuit technology that can replace LSI emerges due to advances in semiconductor technology or other derived technologies, it is natural that such technology can be used to integrate functional blocks. The application of biotechnology, etc. is also a possibility.

(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。 (3) Some or all of the components constituting each of the above devices may be composed of an IC card or a standalone module that can be attached to each device. The IC card or the module is a computer system composed of a microprocessor, ROM, RAM, etc. The IC card or the module may include the above-mentioned ultra-multifunction LSI. The IC card or the module achieves its functions by the microprocessor operating in accordance with a computer program. This IC card or this module may be tamper-resistant.

(4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。(4) The present disclosure may be the methods described above. It may also be a computer program for implementing these methods by a computer, or a digital signal comprising the computer program.

また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。 The present disclosure may also be the computer program or the digital signal recorded on a computer-readable recording medium, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, etc. The present disclosure may also be the digital signal recorded on such a recording medium.

また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。 The present disclosure may also involve transmitting the computer program or the digital signal via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, etc.

また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。The present disclosure may also provide a computer system having a microprocessor and a memory, the memory storing the above-mentioned computer program, and the microprocessor operating in accordance with the computer program.

また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。 The program or the digital signal may also be implemented by another independent computer system by recording it on the recording medium and transferring it, or by transferring the program or the digital signal via the network, etc.

(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。 (5) The above embodiments and the above variations may be combined with each other.

本開示は、分散台帳に記録するトランザクションデータの制御方法及びデータ生成装置に利用でき、特に最新情報を定期的に分散台帳に記録するものの最新情報だけを利用し、過去の情報を利用しない分散台帳に記録するトランザクションデータの制御方法及びデータ生成装置に利用できる。 The present disclosure can be used in a control method and data generation device for transaction data recorded in a distributed ledger, and in particular in a control method and data generation device for transaction data recorded in a distributed ledger that periodically records the latest information in a distributed ledger but uses only the latest information and does not use past information.

100 機器
101 センサ情報取得部
102 トランザクションデータ生成部
103 トランザクションデータ確認部
104 確認方法決定部
105、214 通信部
210、220、230 認証サーバ装置
211 トランザクションデータ格納部
212 トランザクションデータ検証部
213 台帳格納部
REFERENCE SIGNS LIST 100 Device 101 Sensor information acquisition unit 102 Transaction data generation unit 103 Transaction data confirmation unit 104 Confirmation method determination unit 105, 214 Communication unit 210, 220, 230 Authentication server device 211 Transaction data storage unit 212 Transaction data verification unit 213 Ledger storage unit

Claims (7)

機器と、それぞれ、前記機器と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバとを備えるシステムにおける前記機器によって実行される制御方法であって、
第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、
前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、
前記第1ブロックと前記第2ブロックとが異なる場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信する、
制御方法。
A control method executed by a device in a system including the device and a plurality of servers each communicatively connected to the device, the plurality of servers each including selected transaction data among transaction data held up to a predetermined timing in a block and recording the selected transaction data in a distributed ledger at a predetermined timing, the method comprising:
generating first transaction data including the latest information acquired up to a first time, and transmitting the first transaction data to a first server among the plurality of servers;
by checking the contents of the blocks recorded in the distributed ledger of the first server at one or more second times after the first time, when second transaction data that is one transaction after the first transaction data is generated at the second time, checking whether a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger;
If the first block and the second block are different, the second transaction data including the latest information acquired after the first time is generated after the second time, and transmitted to the first server.
Control methods.
前記ブロックの内容を確認する際、
前記ブロックの内容として、前記ブロックに前記第1トランザクションデータの1つ前に生成された第3トランザクションデータが含まれているかを確認する、
請求項1に記載の制御方法。
When checking the contents of said block,
confirming whether the block contains a third transaction data generated immediately before the first transaction data, as the content of the block;
The control method according to claim 1 .
さらに、前記第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、前記第1サーバが、前記分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得し、
前記処理可能数が前記受信総数により定められる閾値以上の場合、前記ブロックの内容として、前記ブロックに前記第3トランザクションデータが含まれているかを確認する、
請求項2に記載の制御方法。
Furthermore, the first server acquires a total number of received transaction data, which is the number of transaction data received per unit time, and a processable number, which is the number of transaction data that the first server can process per unit time when recording in the distributed ledger;
if the processable number is equal to or greater than a threshold determined by the total number of received data, confirming whether the block contains the third transaction data as content of the block;
The control method according to claim 2 .
前記ブロックの内容を確認する際、
前記ブロックの内容として、前記ブロックに前記第1トランザクションデータが含まれているかを確認する、
請求項1に記載の制御方法。
When checking the contents of said block,
confirming whether the block contains the first transaction data as a content of the block;
The control method according to claim 1 .
さらに、前記第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、前記第1サーバが、前記分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得し、
前記処理可能数が前記受信総数により定められる閾値より小さい場合、前記ブロックの内容として、前記ブロックに前記第1トランザクションデータが含まれているかを確認する、
請求項3または4に記載の制御方法。
Further, the first server acquires a total number of received transaction data, which is the number of transaction data received per unit time, and a processable number, which is the number of transaction data that the first server can process per unit time when recording in the distributed ledger;
if the processable number is smaller than a threshold determined by the total number of received data, confirming whether the block contains the first transaction data as a content of the block;
5. The control method according to claim 3 or 4.
それぞれ、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバと通信可能に接続されるデータ生成装置であって、
プロセッサと、
メモリと、を備え、
前記プロセッサは、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、
前記プロセッサは、前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、
前記プロセッサは、前記第1ブロックと前記第2ブロックとが異なることを確認した場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信する、
データ生成装置。
a data generation device communicably connected to a plurality of servers, each of which includes selected transaction data among transaction data held up to a predetermined time in a block and records the selected transaction data in a distributed ledger at each predetermined time,
A processor;
A memory,
The processor generates first transaction data including the latest information acquired up to a first time, and transmits the first transaction data to a first server among the plurality of servers;
the processor checks the contents of the blocks recorded in the distributed ledger of the first server at one or more second times after the first time, thereby checking whether or not a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger when second transaction data that is one transaction after the first transaction data is generated at the second time;
When the processor confirms that the first block and the second block are different, the processor generates the second transaction data after the second time, the second transaction data including the latest information acquired after the first time, and transmits the second transaction data to the first server.
Data generation device.
機器と、それぞれ、前記機器と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する複数のサーバとを備えるシステムにおける前記機器によって実行される制御方法をコンピュータに実行させるためのプログラムであって、
第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、前記複数のサーバのうち第1サーバに送信し、
前記第1時間より後の1以上の第2時間に、前記第1サーバの前記分散台帳に記録されているブロックの内容を確認することで、前記第1トランザクションデータの1つ後の第2トランザクションデータを前記第2時間に生成したときに、前記第1トランザクションデータが前記分散台帳に記録されるときに含まれる第1ブロックと、前記第2トランザクションデータが前記分散台帳に記録されるときに含まれる第2ブロックとが異なるか否かを確認し、
前記第1ブロックと前記第2ブロックとが異なることを確認した場合、前記第1時間より後に取得した最新情報を含む前記第2トランザクションデータを、当該第2時間以降に生成して、前記第1サーバに送信することを、
コンピュータに実行させるためのプログラム。
A program for causing a computer to execute a control method executed by a device in a system including a device and a plurality of servers each communicably connected to the device, the plurality of servers including selected transaction data from transaction data held up to a predetermined timing in a block and recording the selected transaction data in a distributed ledger at each predetermined timing, the program comprising:
generating first transaction data including the latest information acquired up to a first time, and transmitting the first transaction data to a first server among the plurality of servers;
by checking the contents of the blocks recorded in the distributed ledger of the first server at one or more second times after the first time, when second transaction data that is one transaction after the first transaction data is generated at the second time, checking whether a first block included when the first transaction data is recorded in the distributed ledger differs from a second block included when the second transaction data is recorded in the distributed ledger;
if it is determined that the first block and the second block are different, generating the second transaction data including the latest information acquired after the first time after the second time, and transmitting the second transaction data to the first server;
A program for a computer to execute.
JP2021516282A 2019-04-25 2020-04-24 CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM Active JP7478726B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962838436P 2019-04-25 2019-04-25
US62/838,436 2019-04-25
PCT/JP2020/017789 WO2020218550A1 (en) 2019-04-25 2020-04-24 Control method, data generation device, and program

Publications (2)

Publication Number Publication Date
JPWO2020218550A1 JPWO2020218550A1 (en) 2020-10-29
JP7478726B2 true JP7478726B2 (en) 2024-05-07

Family

ID=72941057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021516282A Active JP7478726B2 (en) 2019-04-25 2020-04-24 CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM

Country Status (5)

Country Link
US (1) US20220044228A1 (en)
EP (1) EP3961412A4 (en)
JP (1) JP7478726B2 (en)
CN (1) CN113785282A (en)
WO (1) WO2020218550A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026029A (en) 2007-07-19 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> Transaction control device, transaction control method, transaction control program and storage medium with the program stored
US20170352027A1 (en) 2016-06-07 2017-12-07 Cornell University Authenticated data feed for blockchains
JP2019028525A (en) 2017-07-26 2019-02-21 株式会社日立製作所 Operation management method, operation management system, and operation management program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572137B2 (en) * 2009-09-08 2013-10-29 International Business Machines Corporation Data de-duplication in a distributed network
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US20210256016A1 (en) * 2018-06-25 2021-08-19 Commonwealth Scientific And Industrial Research Organisation Blockchain system and method
EP3822894A1 (en) * 2019-11-13 2021-05-19 Telefonica Digital España, S.L.U. Secure electronic messaging guaranteeing integrity and non-repudation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026029A (en) 2007-07-19 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> Transaction control device, transaction control method, transaction control program and storage medium with the program stored
US20170352027A1 (en) 2016-06-07 2017-12-07 Cornell University Authenticated data feed for blockchains
JP2019028525A (en) 2017-07-26 2019-02-21 株式会社日立製作所 Operation management method, operation management system, and operation management program

Also Published As

Publication number Publication date
EP3961412A1 (en) 2022-03-02
WO2020218550A1 (en) 2020-10-29
CN113785282A (en) 2021-12-10
US20220044228A1 (en) 2022-02-10
EP3961412A4 (en) 2022-06-29
JPWO2020218550A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
WO2018158936A1 (en) Block chain management device, block chain management method and program
US11611445B2 (en) Changing smart contracts recorded in block chains
CN108984645B (en) Block chain processing method, device, equipment and storage medium
CN111880740B (en) Data processing method, device, computer system and readable storage medium
CN109951547B (en) Transaction request parallel processing method, device, equipment and medium
CN108418787B (en) Method for acquiring enterprise resource planning data, terminal device and medium
CN110022315B (en) Weight management method, device and equipment in block chain type account book
US11888985B2 (en) Blockchain system, registration terminal, approval terminal, smart contract registration method, and smart contract registration program
CN110851535B (en) Data processing method and device based on block chain, storage medium and terminal
US20240037093A1 (en) Control method, server, and data structure
CN112286939A (en) Method, device and equipment for generating Hash of global state in block chain type account book
CN109902493B (en) Script issuing method and server
CN110866289A (en) Data processing method and device based on block chain, server and storage medium
CN107402830A (en) Register abnormal detector
JP7478726B2 (en) CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM
CN111343212B (en) Message processing method, device, equipment and storage medium
JPWO2020085266A1 (en) Control methods, fund management systems, programs, and data structures
CN111831641A (en) Traffic data storage method and device based on PBFT consensus
CN111026531A (en) Task repeated sending processing method and device, computer equipment and storage medium
CN111324645A (en) Data processing method and device for block chain
KR101968501B1 (en) Data processing apparatus and data check method stored in a memory of the data processing apparatus
CN111833051A (en) Physical mortgage data storage method and device based on PBFT consensus
CN111831666A (en) Furniture data storage method and device based on PBFT consensus
US20240104642A1 (en) Apparatus for processing non-fungible token
CN111833050A (en) Credit mortgage data storage method and device based on PBFT consensus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240422

R150 Certificate of patent or registration of utility model

Ref document number: 7478726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150