JP7478726B2 - CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM - Google Patents
CONTROL METHOD, DATA GENERATION DEVICE, AND PROGRAM Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 57
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012790 confirmation Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 14
- 238000013524 data verification Methods 0.000 description 14
- 239000002699 waste material Substances 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000009508 confectionery Nutrition 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment 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/3678—Payment 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Business 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
このため、ブロックチェーンの仕様を変更し、ブロック生成間隔を約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).
ところで、非特許文献1及び非特許文献2に記載のブロックチェーンでは、1ブロックに複数のトランザクションデータが含めて生成される。このため、ブロック生成間隔によっては、同一のユーザないし同一事業者により複数時点に送信された複数のトランザクションデータが1ブロックに含まれてしまう場合がある。In the blockchains described in
しかしながら、トランザクションデータに含める情報の種別によっては、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.
(本開示の基礎となった知見)
まず、ブロックチェーンについて説明する。
(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
また、このようなブロックチェーンでは、ブロックチェーンに書き込むために送信されたトランザクションデータを保持するトランザクションプールにおいて選択されたトランザクションデータが書き込まれることになる。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
なお、図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
図6は、本実施の形態に係る機器100の構成を模式的に示すブロック図である。
Figure 6 is a block diagram showing a schematic configuration of
機器100は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、機器100は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、機器100は、センサ情報取得部101と、トランザクションデータ生成部102と、トランザクションデータ確認部103と、確認方法決定部104と、通信部105と、を備える。なお、確認方法決定部104は必須の構成ではなく、機器100に備えられていなくてもよい。以下、各構成要素について説明する。The
<センサ情報取得部101>
センサ情報取得部101は、図示しないIoT(Internet of Things)機器に搭載されたセンサからの情報(センサ情報)を定期的に取得する。つまり、センサ情報取得部101は、定期的に最新のセンサ情報(以下、最新情報とも称する)を取得する。ここで、センサ情報は、例えば天気情報または生体情報であるが、これらに限らない。センサ情報は、センサから直接取得されるデータであってもよいし、例えばインターネットを介してセンサから取得されるデータであってもよい。また、センサ情報は、インターネット上から取得されるデータであって定期的に更新または追加されるデータであってもよい。
<Sensor
The sensor
<トランザクションデータ生成部102>
トランザクションデータ生成部102は、トランザクションデータ確認部103の確認結果に基づいて、トランザクションデータを生成する。トランザクションデータ生成部102は、生成したトランザクションデータを、通信部105を介して、認証サーバ装置210、220、230の少なくとも1つに送信する。
<Transaction
The transaction
より具体的には、トランザクションデータ生成部102は、第1時間までにセンサ情報取得部101が取得した最新情報を含む第1トランザクションデータを生成して、生成した第1トランザクションデータを、例えば認証サーバ装置210に送信したとする。この場合、トランザクションデータ生成部102は、トランザクションデータ確認部103による最新の分散台帳に記録されているブロックの内容に応じて、第1時間より後に取得した最新情報を含む第2トランザクションデータを生成する。そして、トランザクションデータ生成部102は、生成した第2トランザクションデータを、認証サーバ装置210に送信する。
More specifically, the transaction
<トランザクションデータ確認部103>
トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックに、トランザクションデータ生成部102が1つ前または2つ前に生成して、送信されたトランザクションデータが含まれたかどうかを確認する。最新の分散台帳に記録されているブロックの内容を確認することで、トランザクションデータ生成部102が次に生成するトランザクションデータが、先に生成したトランザクションデータと異なるブロックに記録されるタイミングになったかを確認することができる。
<Transaction
The transaction
より具体的には、トランザクションデータ確認部103は、第1時間より後の1以上の第2時間に、分散台帳に記録されているブロックの内容を確認することで、第1ブロックと、第2ブロックとが異なるか否かを確認する。
More specifically, the transaction
ここで、第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
ここで、トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックの内容として、例えば当該ブロックに第1トランザクションデータの1つ前に生成された第3トランザクションデータが含まれているかを確認してもよい。そして、トランザクションデータ確認部103は、当該ブロックに第3トランザクションデータが含まれていることを確認したら、トランザクションデータ生成部102に、第2トランザクションデータを生成させればよい。これにより、分散台帳に記録されるブロックごとに、機器100が生成した1つの第2トランザクションデータのみが含まれることになる。Here, the transaction
また、トランザクションデータ確認部103は、最新の分散台帳に記録されているブロックの内容として、例えば、当該ブロックに第1トランザクションデータが含まれているかを確認してもよい。そして、トランザクションデータ確認部103は、当該ブロックに第1トランザクションデータが含まれていることを確認したら、トランザクションデータ生成部102に、第2トランザクションデータを生成させればよい。これにより、第2トランザクションデータが含まれない空白ブロックが分散台帳に記録されてしまう場合が発生するものの、分散台帳に記録される空白ブロックでない1つのブロックには、機器100が生成した1つの第2トランザクションデータのみが含まれることになる。
Furthermore, the transaction
<確認方法決定部104>
確認方法決定部104は、認証サーバ装置210の処理能力に応じて、トランザクションデータ確認部103が行う最新の分散台帳に記録されているブロックの内容の確認方法を決定してもよい。
<Confirmation
The confirmation
より具体的には、確認方法決定部104は、第1サーバが単位時間当たりに受信するトランザクションデータ数である受信総数と、第1サーバが、分散台帳に記録する際、単位時間当たりに処理可能なトランザクションデータ数である処理可能数とを取得する。
More specifically, the confirmation
確認方法決定部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
また、確認方法決定部104は、処理可能数が受信総数により定められる閾値より小さい場合、トランザクションデータ確認部103に、最新の分散台帳に記録されているブロックの内容として、ブロックに第1トランザクションデータが含まれているかを確認させてもよい。
In addition, when the processable number is smaller than a threshold determined by the total number of receptions, the confirmation
これらにより、確認方法決定部104は、トランザクションデータ確認部103に、最新の分散台帳に記録されているブロックに、トランザクションデータ生成部102が1つ前または2つ前に生成して、送信されたトランザクションデータが含まれたかどうかを確認させることができる。
This enables the confirmation
なお、機器100を含めた複数の機器から送信されるトランザクションデータの数は、認証サーバ装置210等に確認すれば、正確な数でなくとも上記の確認ができる程度には大まかに取得することができる。また、単位時間当たりに処理可能なトランザクションデータ数は、認証サーバ装置210等それぞれで予め決まっている。The number of transaction data transmitted from multiple
<通信部105>
通信部105は、認証サーバ装置210、220、230との通信を行う。
<
The
本実施の形態では、通信部105は、トランザクションデータ生成部102で生成したトランザクションデータを認証サーバ装置210、220、230の少なくとも1つに送信する。また、通信部105は、認証サーバ装置210、220、230の処理能力として、受信総数と処理可能数とを取得して、確認方法決定部104に送信してもよい。また、通信部105は、認証サーバ装置210、220、230の最新の分散台帳の内容を取得して、トランザクションデータ確認部103に送信してもよい。In this embodiment, the
[機器100のハードウェア構成]
次に、本実施の形態に係る機器100のハードウェア構成について、図7を用いて説明する。図7は、本実施の形態に係る機器100の機能をソフトウェアにより実現するコンピュータ1000のハードウェア構成の一例を示す図である。
[Hardware configuration of device 100]
Next, the hardware configuration of the
コンピュータ1000は、図7に示すように、入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007、送受信装置1008及びバス1009を備えるコンピュータである。入力装置1001、出力装置1002、CPU1003、内蔵ストレージ1004、RAM1005、読取装置1007及び送受信装置1008は、バス1009により接続される。7, the
入力装置1001は入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。なお、入力装置1001は、ユーザの接触操作を受け付ける他、音声での操作、リモコン等での遠隔操作を受け付ける構成であってもよい。The
内蔵ストレージ1004は、フラッシュメモリなどである。また、内蔵ストレージ1004は、機器100の機能を実現するためのプログラム、及び、機器100の機能構成を利用したアプリケーションの少なくとも一方が、予め記憶されていてもよい。The
RAM1005は、ランダムアクセスメモリ(Random Access Memory)であり、プログラム又はアプリケーションの実行に際してデータ等の記憶に利用される。
読取装置1007は、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る。読取装置1007は、上記のようなプログラムやアプリケーションが記録された記録媒体からそのプログラムやアプリケーションを読み取り、内蔵ストレージ1004に記憶させる。The
送受信装置1008は、無線又は有線で通信を行うための通信回路である。送受信装置1008は、例えばネットワークに接続されたサーバ装置と通信を行い、サーバ装置から上記のようなプログラムやアプリケーションをダウンロードして内蔵ストレージ1004に記憶させる。The transmitting/
CPU1003は、中央演算処理装置(Central Processing Unit)であり、内蔵ストレージ1004に記憶されたプログラム、アプリケーションをRAM1005にコピーし、そのプログラムまたはアプリケーションに含まれる命令をRAM1005から順次読み出して実行する。The
次に、認証サーバ装置210について説明する。
Next, we will explain the
[認証サーバ装置210]
認証サーバ装置210、220及び230は同様の構成であるため、認証サーバ装置210を例に挙げて説明する。
[Authentication server device 210]
Since the
図8は、本実施の形態に係る認証サーバ装置210の機能構成を示すブロック図である。
Figure 8 is a block diagram showing the functional configuration of the
認証サーバ装置210は、機器100と通信可能に接続され、所定のタイミング毎に当該所定のタイミングまでに保持しているトランザクションデータのうち選択したトランザクションデータをブロックに含めて分散台帳に記録する。認証サーバ装置210は分散台帳に記録する第1サーバの一例である。The
本実施の形態では、認証サーバ装置210は、図8に示すように、トランザクションデータ格納部211と、トランザクションデータ検証部212と、台帳格納部213と、通信部214とを備える。認証サーバ装置210は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。In this embodiment, as shown in FIG. 8, the
<トランザクションデータ格納部211>
トランザクションデータ格納部211は、ブロックチェーンのまだ検証されていないトランザクションデータを溜めているトランザクションプールとして機能する。
<Transaction
The transaction
本実施の形態では、トランザクションデータ格納部211は、機器100から取得した例えば第1トランザクションデータ、第2トランザクションデータ、または第3トランザクションデータを格納し、一時的に保持する。トランザクションデータ格納部211は、保持しているトランザクションデータのうち、選択され分散台帳に書き込まれたトランザクションデータを削除したり、不要になったトランザクションデータを破棄したりする。In this embodiment, the transaction
なお、トランザクションデータ格納部211は、機器100からトランザクションデータを取得したとき、当該トランザクションデータに含まれる電子署名の検証と、トランザクションデータの正当性の検証とを行ってもよい。そして、トランザクションデータ格納部211は、機器100から取得したトランザクションデータの検証が成功した場合のみ、機器100から取得したトランザクションデータを保持するとしてもよい。なお、この検証はスキップされてもよい。When the transaction
<トランザクションデータ検証部212>
トランザクションデータ検証部212は、コンセンサスアルゴリズムを実行することで、トランザクションデータ格納部211に保持されているトランザクションデータのうち選択したトランザクションデータの正当性を検証する。
<Transaction
The transaction
ここで、コンセンサスアルゴリズムには、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
<台帳格納部213>
台帳格納部213は、分散台帳に格納すべき新しいトランザクションデータを分散台帳に格納する処理部である。
<
The
本実施の形態では、台帳格納部213は、トランザクションデータ検証部212により正当性が検証されたトランザクションデータを含むブロックを生成し、生成したブロックを分散台帳に格納する。換言すると、台帳格納部213は、トランザクションデータ検証部212により正当性が検証されたトランザクションデータを含むブロックを生成し、分散台帳に格納されているブロックチェーンに書き込む。In this embodiment, the
<通信部214>
通信部214は、認証サーバ装置220、230との通信を行ったり、機器100との通信を行ったりする。
<
The
本実施の形態では、通信部214は、トランザクションデータ検証部212が検証対象のトランザクションデータを、認証サーバ装置220及び230に送信する。また、通信部214は、機器100と通信し、トランザクションデータを取得したり、認証サーバ装置210自身の処理能力として、受信総数と処理可能数とを機器100に送信したりしてもよい。また、通信部214は、認証サーバ装置210自身が有する分散台帳の内容を、機器100に送信してもよい。In this embodiment, the
[動作]
続いて、以上のように構成された制御システムに含まれる機器100の動作について説明する。
[motion]
Next, the operation of the
図9は、本実施の形態に係る機器100の動作を示すフローチャートである。
Figure 9 is a flowchart showing the operation of
図9には、分散台帳に記録される1つのブロックに含まれる1以上のトランザクションデータの中に、機器100にとって機器100が送信する1つのトランザクションデータのみが含まれるようにする動作が示されている。Figure 9 shows an operation for
まず、機器100は、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、第1サーバに送信する(S10)。上述したように、第1サーバは例えば認証サーバ装置210に該当する。First, the
次に、機器100は、第1時間より後の第2時間に、第1サーバの分散台帳に記録されているブロックの内容を確認する(S11)。より具体的には、機器100は、分散台帳に記録されているブロックの内容を確認し、第1トランザクションデータの1つ後の第2トランザクションデータを第2時間に生成したとき、第1トランザクションデータとは異なるブロックに含まれるか否かを確認する。Next, the
次に、機器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
なお、機器100は、第2トランザクションデータを第2時間に生成したとき、第1トランザクションデータと同じブロックに含まれる場合(S12でNo)、ステップS11に戻って処理をやり直す。
In addition, when the
(実施例1)
続いて、機器100が、ブロックの内容として、最新の分散台帳に記録されているブロックに、機器100自身が2つ前に送信したトランザクションデータが含まれたかどうかを確認する場合の制御システムの処理を実施例1として説明する。
Example 1
Next, as Example 1, we will explain the processing of the control system when
図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
次に、第1時間より後の第2時間に、機器100は、認証サーバ装置210の最新の分散台帳を確認する(S21)。本実施例では、機器100は、例えば認証サーバ装置210に最新の分散台帳を要求し、認証サーバ装置210により送信された最新の分散台帳を取得することで、最新の分散台帳を確認する。Next, at a second time after the first time, the
次に、機器100は、取得した最新の分散台帳のブロックを参照(確認)し、機器100自身が2つ前に送信した第3トランザクションデータが含まれたかを確認する(S22)。ここで、機器100が、1つ前に送信したトランザクションデータを第1トランザクションデータとしている。また、機器100が、2つ前に送信したすなわち第1トランザクションデータの1つ前に送信したトランザクションデータを第3トランザクションデータとしている。換言すると、機器100が、これから(つまり第2時間以降に)生成して送信する第2トランザクションデータを基準として、1つ前に送信されたトランザクションデータを、第1トランザクションデータと称している。また、機器100が、これから送信する第2トランザクションデータを基準として、2つ前に送信されたトランザクションデータを、第3トランザクションデータと称している。Next,
ステップ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
次に、機器100は、ステップS23において生成した第2トランザクションデータを、認証サーバ装置210、220、230に送信する(S24)。Next, the
すると、認証サーバ装置210、220、230はそれぞれ、機器100から取得した第2トランザクションデータを、プール(格納)する(S25)。Then, the
(実施例2)
続いて、機器100が、認証サーバ装置210の処理能力に応じて、認証サーバ装置210の最新の分散台帳に記録されているブロックの内容の確認方法を決定する場合の処理を実施例2として説明する。また、本実施例では、ブロックの内容の確認方法は、最新の分散台帳に記録されているブロックに、機器100自身が2つ前または1つ前に送信したトランザクションデータが含まれたかどうかを確認する方法であるとして説明する。
Example 2
Next, a process in which the
図11は、実施例2に係る機器100の処理を示すフローチャートである。
Figure 11 is a flowchart showing the processing of
機器100は、以下で説明するステップS31を行う前において、第1時間までに取得した最新情報を含む第1トランザクションデータを生成して、認証サーバ装置210に送信しており、認証サーバ装置210で第1トランザクションデータが少なくともプール(格納)されているとする。Before performing step S31 described below, the
まず、機器100は、認証サーバ装置210から、認証サーバ装置210における単位時間当たりの処理可能数と、受信総数とを取得する(S31)。First, the
次に、機器100は、ステップS31で取得した処理可能数が閾値以上か(つまり、処理可能数≧閾値)を確認する(S32)。ここでの閾値は、機器100が、ステップS31で取得した受信総数から定められ、例えば受信総数の数%~数十%前後の値に定められる。Next, the
ステップ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
一方、ステップ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
[効果等]
以上、実施の形態に係る制御システム等によれば、分散台帳に記録されたブロックの内容を確認してから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
ここで、図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
図12において、第1トランザクションデータをTxn-1と表記し、第2トランザクションデータをTxnと表記する。また、コンセンサスアルゴリズムが実行される期間をコンセンサスと表記する。コンセンサスアルゴリズムが実行される期間は、ブロックチェーンにブロックを書き込むために要する期間として示されている。図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が含まれたことを確認したら、Txnを生成して送信する。すると、連続するブロックそれぞれに機器100が生成して送信したトランザクションデータが含まれない(機器100にとっての空白ブロックが発生する)。しかし、空白ブロックではないブロックには、機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれることになる。
As shown in Fig. 12, the
つまり、機器100は、ブロックチェーンに書き込まれたブロックに、機器100が1つ前に送信したトランザクションデータが含まれたことを確認してから次のトランザクションデータを送信してもよい。これにより、機器100は、ブロックチェーンに書き込まれるブロックに機器100にとっての空白ブロックが発生する場合があるものの機器100が送信した2以上のトランザクションデータが1つのブロックに含まれてしまうことを抑制することができる。In other words, the
このように、機器100にとって空白ブロックが分散台帳に記録される場合が発生するものの、分散台帳に記録される1つのブロックには、機器100にとって機器100により送信される1つのトランザクションデータのみが含まれることになる。In this way, although there may be cases where a blank block is recorded in the distributed ledger for
よって、利用しない無駄なトランザクションデータがブロックに記録されることを抑制することができるので、ネットワーク帯域及びリソースの無駄使いを抑制することができる。 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トランザクションデータをTxnと表記し、第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
図13及び図14に示されるように、機器100は、Txnの生成及び送信タイミングを確認するため、Txn-1の送信後には、Txn-2がブロックチェーンに書き込まれたブロックに含まれたかを確認している。そして、機器100は、ブロックチェーンに書き込まれたブロックにTxn-2が含まれたことを確認したら、Txnを生成して送信している。
13 and 14, the
次に、機器100は、Txn+1の生成及び送信タイミングを確認するため、Txnの送信後には、Txn-1がブロックチェーンに書き込まれたブロックに含まれたかを確認している。そして、機器100は、ブロックチェーンに書き込まれたブロックにTxn-1が含まれたことを確認したら、Txn+1を生成して送信している。このため、連続するブロックそれぞれに機器100が生成して送信したトランザクションデータを含むことになる(機器100にとっての空白ブロックが発生しない)。
Next, in order to confirm the generation and transmission timing of Tx n+1 , the
このように、機器100は、ブロックチェーンに書き込まれたブロックに、機器100が2つ前に送信したトランザクションデータが含まれたことを確認してから次のトランザクションデータを送信する。これにより、1つのブロックには、機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれることになる。つまり、機器100が送信した2以上のトランザクションデータが1つのブロックに含まれてしまうことを抑制することができる。また、ブロックごとに機器100にとって機器100が生成して送信した1つのトランザクションデータのみが含まれるので、機器100にとって空白ブロックが発生してしまうことも抑制することができる。
In this way,
換言すると、利用されない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
[その他変形例]
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
[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
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 .
前記処理可能数が前記受信総数により定められる閾値以上の場合、前記ブロックの内容として、前記ブロックに前記第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トランザクションデータが含まれているかを確認する、
請求項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.
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)
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)
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 |
-
2020
- 2020-04-24 WO PCT/JP2020/017789 patent/WO2020218550A1/en unknown
- 2020-04-24 JP JP2021516282A patent/JP7478726B2/en active Active
- 2020-04-24 CN CN202080030658.0A patent/CN113785282A/en active Pending
- 2020-04-24 EP EP20795638.4A patent/EP3961412A4/en active Pending
-
2021
- 2021-10-20 US US17/506,136 patent/US20220044228A1/en active Pending
Patent Citations (3)
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 |