Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7190404B2 - Computer system and request processing method - Google Patents
[go: Go Back, main page]

JP7190404B2 - Computer system and request processing method - Google Patents

Computer system and request processing method Download PDF

Info

Publication number
JP7190404B2
JP7190404B2 JP2019142881A JP2019142881A JP7190404B2 JP 7190404 B2 JP7190404 B2 JP 7190404B2 JP 2019142881 A JP2019142881 A JP 2019142881A JP 2019142881 A JP2019142881 A JP 2019142881A JP 7190404 B2 JP7190404 B2 JP 7190404B2
Authority
JP
Japan
Prior art keywords
request
blockchain
computers
transaction
signature
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
JP2019142881A
Other languages
Japanese (ja)
Other versions
JP2021027443A (en
JP2021027443A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019142881A priority Critical patent/JP7190404B2/en
Publication of JP2021027443A publication Critical patent/JP2021027443A/en
Publication of JP2021027443A5 publication Critical patent/JP2021027443A5/ja
Application granted granted Critical
Publication of JP7190404B2 publication Critical patent/JP7190404B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、様々なデータを複数の機関で共有するブロックチェーンに関し、特に、ブロックチェーン間での認証方法に関する。 TECHNICAL FIELD The present invention relates to a blockchain for sharing various data among multiple institutions, and more particularly to an authentication method between blockchains.

ブロックチェーンは、データの改ざんが困難で、仲介者無しの直接取引を可能にする特性を持っており、近年、仮想通貨を実現するシステムでの利用以外に、企業活動の基盤としての応用に注目が集まっている。 Blockchain has the characteristics of making it difficult to falsify data and enabling direct transactions without intermediaries, and in recent years, in addition to being used in systems that realize virtual currency, it has been attracting attention as a platform for corporate activities. are gathering.

広くデータを公開するパブリックなブロックチェーンに加えて、同じコミュニティ内のメンバのみがデータを共有するプライベートなブロックチェーンが存在する。様々な団体がそれぞれのブロックチェーンを構築していく中で、各ブロックチェーン内に閉じて企業活動が行われていくケースも考えられるが、様々なコミュニティのブロックチェーンをつなぐことによって、企業活動の効率化を図れる可能性がある。 In addition to public blockchains that publish data widely, there are private blockchains where only members within the same community share data. As various organizations build their own blockchains, there may be cases where corporate activities are conducted within each blockchain. There is a possibility that efficiency can be improved.

一方で、異なるブロックチェーン、特にプライベートなブロックチェーンに関しては、関係者以外にはデータを開示しないことが基本的な考え方であるため、異なるブロックチェーン間でのデータのやり取りを行うにあたっては、要求元や要求内容を正しく検証する必要がある。 On the other hand, regarding different blockchains, especially private blockchains, the basic idea is not to disclose data to anyone other than the relevant parties. and the contents of the request must be validated correctly.

ブロックチェーンを用いたシステムの連携に関する公知技術として、特許文献1に記載の技術がある。特許文献1には、「モノ4の所有権を管理する台帳管理部と、電子的な処理により開閉される鍵31が付され、モノ4を物理的に格納することができる物体格納器3と、鍵31を開けるまたは閉じることを実行可能である鍵管理部と、鍵31を開錠する要求を受けた場合に、要求をしたユーザと、台帳管理部に記録された所有権を有するユーザが一致するかを判定する判定部とを備える。鍵管理部は、判定部により、要求をしたユーザと、台帳管理部に記録された所有権を有するユーザとが一致すると判定されたときに、鍵31を開けて物体格納器3からモノ4を取り出し可能にするとともに、鍵31を開けたことを台帳管理部に通知する。」ことが記載されている。 Patent Document 1 discloses a known technology related to system cooperation using blockchain. Patent Literature 1 describes "a ledger management unit that manages the ownership of the thing 4, and an object storage 3 that can physically store the thing 4 with a key 31 that is opened and closed by electronic processing. , a key manager capable of opening or closing the key 31, a user who, upon receiving a request to unlock the key 31, makes the request, and a user whose ownership is recorded in the ledger manager. a determination unit for determining whether the key management unit matches the user who made the request and the user who has the ownership recorded in the ledger management unit; 31 is opened to make it possible to take out the object 4 from the object storage device 3, and to notify the ledger management unit that the key 31 has been opened."

特開2019-016342号公報JP 2019-016342 A

特許文献1に記載の技術では、ユーザからの要求を受付けるサーバは、自身が管理する商品およびユーザについては要求操作の正当性を判定できるが、他システムの管理下にある商品およびユーザについては要求の正当性を判定することができない。そのため、ブロックチェーン間の連携のユースケースにおいて、従来技術では連携先のブロックチェーンに対するリクエストの正当性を正しく判定することができない。 In the technique described in Patent Literature 1, a server that receives a request from a user can determine the validity of the requested operation for products and users managed by itself, but does not accept requests for products and users managed by other systems. cannot determine the legitimacy of Therefore, in a use case of cooperation between blockchains, the conventional technology cannot correctly determine the validity of a request to a cooperation destination blockchain.

本発明は、ブロックチェーンの連携を実現するシステムにおいて、連携元ブロックチェーンが連携先ブロックチェーンにて管理されるユーザの情報等がわからないような場合でも、ユーザを適切に認証し、連携先のブロックチェーンへの不正なリクエストの送信または実行を防止する技術を提供する。 The present invention is a system that realizes blockchain cooperation, and even if the cooperation source blockchain does not know the information of the user managed by the cooperation destination blockchain, the user is appropriately authenticated, and the cooperation destination block Provide techniques to prevent sending or executing illegitimate requests to the chain.

本発明の代表的な一例を示せば以下の通りである。すなわち、ブロックチェーンを構成する複数の計算機を備える計算機システムであって、前記複数の計算機は、第1ブロックチェーンを構成する複数の計算機と、第2ブロックチェーンを構成する複数の計算機とを含み、前記第1ブロックチェーンを構成する複数の計算機は、前記第1ブロックチェーン用の署名を含む、トランザクションを実行するためのリクエストを受信した場合、前記第1ブロックチェーン用の署名を用いた第1検証処理を実行し、前記第1検証処理の結果が検証成功である場合、前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであるか否かを判定し、前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであると判定された場合、前記リクエストが前記第2ブロックチェーン用の署名を含むか否かを判定し、前記リクエストが前記第2ブロックチェーン用の署名を含むと判定された場合、前記第2ブロックチェーンを構成する複数の計算機に前記リクエストを送信する。 A representative example of the present invention is as follows. That is, a computer system comprising a plurality of computers constituting a block chain, the plurality of computers including a plurality of computers constituting a first block chain and a plurality of computers constituting a second block chain, When the plurality of computers constituting the first blockchain receives a request for executing a transaction including the signature for the first blockchain, first verification using the signature for the first blockchain performing processing, and if the result of the first verification processing is verification success, determining whether the request is a request for executing a transaction related to the second blockchain; determining whether the request includes a signature for the second blockchain, if the request is determined to be a request to perform a transaction related to a second blockchain; If the request is determined to contain the signature for the request, the request is transmitted to a plurality of computers constituting the second blockchain.

本発明によれば、ブロックチェーンの連携を実現するシステムにおいて、連携先のブロックチェーンへの不正なリクエストの送信または実行を防止できる。上記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。 Advantageous Effects of Invention According to the present invention, in a system that realizes blockchain cooperation, it is possible to prevent transmission or execution of an unauthorized request to a cooperation destination blockchain. Problems, configurations and effects other than those described above will be clarified by the following description of the embodiments.

実施例1の計算機システムのハードウェア構成およびソフトウェア構成の一例を示すブロック図である。1 is a block diagram showing an example of a hardware configuration and a software configuration of a computer system of Example 1; FIG. 実施例1の計算機が保持するプログラム管理情報のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of program management information held by the computer of Example 1; FIG. 実施例1の計算機が保持する連携先情報のデータ構造の一例を示す説明図である。4 is an explanatory diagram illustrating an example of the data structure of cooperation destination information held by the computer of Example 1; FIG. 実施例1の計算機が保持する台帳のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of a ledger held by the computer of Example 1; FIG. 実施例1の計算機が保持する台帳のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of a ledger held by the computer of Example 1; FIG. 実施例1の計算機が保持する連携制御情報のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of cooperation control information held by the computer of Example 1; FIG. 実施例1の計算機が保持する連携制御情報のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of cooperation control information held by the computer of Example 1; FIG. 実施例1の計算機が保持する状態管理情報のデータ構造の一例を示す説明図である。4 is an explanatory diagram showing an example of the data structure of state management information held by the computer of Example 1; FIG. 実施例1の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。4 is a flowchart for explaining an example of inter-BC cooperation processing executed in the computer system of Example 1; 実施例1の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。4 is a flowchart for explaining an example of inter-BC cooperation processing executed in the computer system of Example 1; 実施例1のクライアント端末がBC間連携処理において実行する処理の一例を説明するフローチャートである。7 is a flowchart illustrating an example of processing executed by the client terminal in the inter-BC cooperation processing according to the first embodiment; 実施例2の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。FIG. 11 is a flowchart illustrating an example of inter-BC cooperation processing executed in the computer system of Example 2; FIG. 実施例2の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。FIG. 11 is a flowchart illustrating an example of inter-BC cooperation processing executed in the computer system of Example 2; FIG. 実施例2の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。FIG. 11 is a flowchart illustrating an example of inter-BC cooperation processing executed in the computer system of Example 2; FIG. 実施例2の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。FIG. 11 is a flowchart illustrating an example of inter-BC cooperation processing executed in the computer system of Example 2; FIG. 実施例3の連携先BCに属する計算機が、連携元BCに属する計算機からリクエストを受信した場合に実行する処理の一例を示すフローチャートである。FIG. 11 is a flow chart showing an example of processing executed when a computer belonging to a cooperation destination BC receives a request from a computer belonging to a cooperation source BC according to the third embodiment; FIG.

以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the contents of the examples described below. Those skilled in the art will easily understand that the specific configuration can be changed without departing from the idea or gist of the present invention.

以下に説明する発明の構成において、同一または類似する構成または機能には同一の符号を付し、重複する説明は省略する。 In the configurations of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and overlapping descriptions are omitted.

図1は、実施例1の計算機システムのハードウェア構成およびソフトウェア構成の一例を示すブロック図である。 FIG. 1 is a block diagram showing an example of the hardware configuration and software configuration of the computer system of the first embodiment.

複数のブロックチェーン(以下、BCと記載する)の連携を実現する計算機システムは、1つ以上の連携元の計算機101と、1つ以上の連携先の計算機102と、1つ以上のクライアント端末103と、1つ以上のBC認証機関サーバ104とを備える。 A computer system that realizes cooperation of a plurality of blockchains (hereinafter referred to as BC) includes one or more cooperation source computers 101, one or more cooperation destination computers 102, and one or more client terminals 103. and one or more BC authority servers 104 .

BC認証機関サーバ104は、独立に存在する複数のBCの各々に、各BCを識別するためのIDおよび証明書等の情報を登録する。BC認証機関サーバ104は、例えば、あるBCに所属する連携先の計算機が、連携元の計算機のBCを識別する等に使用することを意図したものである。 The BC certification authority server 104 registers information such as IDs and certificates for identifying each BC in each of a plurality of independently existing BCs. The BC certification authority server 104 is intended to be used, for example, by a cooperation destination computer belonging to a certain BC to identify the BC of the cooperation source computer.

計算機101、102およびクライアント端末103は、それぞれI/F112、182を介してネットワーク105に接続される。計算機101は、I/F112を介して、クライアント端末103等の外部機器に対して、操作リクエストの受付けおよび操作結果の応答等を行う。 Computers 101 and 102 and client terminal 103 are connected to network 105 via I/Fs 112 and 182, respectively. The computer 101 receives operation requests and responds with operation results to external devices such as the client terminal 103 via the I/F 112 .

計算機101、102は、BCを構成する計算機であり、CPU111、I/F112、メモリ113、およびHDD(Hard Disk Drive)114を備える。CPU111、I/F112、メモリ113、およびHDD114は内部バス等を介して互いに接続される。 Computers 101 and 102 are computers that configure BC, and include CPU 111 , I/F 112 , memory 113 , and HDD (Hard Disk Drive) 114 . CPU 111, I/F 112, memory 113, and HDD 114 are connected to each other via an internal bus or the like.

CPU111は、メモリ113に格納されるプログラムにしたがって処理を実行することによって、I/F112を介してクライアント端末103等の外部機器からの操作リクエストの受信、操作リクエストに基づく操作の実行、外部機器に対する処理結果の送信等を実行する。 The CPU 111 receives an operation request from an external device such as the client terminal 103 via the I/F 112, executes an operation based on the operation request, and communicates with the external device by executing processing according to a program stored in the memory 113. Executes transmission of processing results, etc.

I/F112は、外部機器と接続するためのインタフェースである。I/F112は、例えば、ネットワークインタフェースである。 The I/F 112 is an interface for connecting with an external device. I/F 112 is, for example, a network interface.

メモリ113は、CPU111が実行するプログラムおよびプログラムが使用する情報を格納する。 Memory 113 stores programs executed by CPU 111 and information used by the programs.

HDD114は、データを永続的に格納する。なお、計算機101は、HDD114の代わりにSSD(Solid State Drive)を備えてもよい。また、計算機101は、HDD114およびSSDの両方を備えてもよい。 HDD 114 permanently stores data. Note that the computer 101 may have an SSD (Solid State Drive) instead of the HDD 114 . Also, the computer 101 may include both the HDD 114 and SSD.

クライアント端末103は、CPU181、I/F182、およびメモリ183を備える。CPU181、I/F182、およびメモリ183は内部バス等を介して互いに接続される。なお、クライアント端末103は、キーボード、マウス、およびタッチパネル等の入力装置、ならびに、ディスプレイ等の出力装置を備えてもよい。 The client terminal 103 has a CPU 181 , an I/F 182 and a memory 183 . CPU 181, I/F 182, and memory 183 are connected to each other via an internal bus or the like. The client terminal 103 may include an input device such as a keyboard, mouse, and touch panel, and an output device such as a display.

CPU181は、メモリ183に格納されるプログラムにしたがって処理を実行することによって、I/F182を介した計算機101、102への操作リクエストの送信、計算機101、102からの処理結果の受信等を実行する。 The CPU 181 executes processing according to a program stored in the memory 183, thereby transmitting operation requests to the computers 101 and 102 via the I/F 182, receiving processing results from the computers 101 and 102, and the like. .

I/F182は、外部機器と接続するためのインタフェースである。I/F182は、例えば、ネットワークインタフェースである。 The I/F 182 is an interface for connecting with external equipment. I/F 182 is, for example, a network interface.

メモリ183は、CPU181が実行するプログラムおよびプログラムが使用する情報を格納する。 Memory 183 stores programs executed by CPU 181 and information used by the programs.

以下の説明では、機能部を主語に処理を説明する場合、CPU111、181が当該機能部を実現するプログラムを実行していることを示す。 In the following description, when a process is described with a functional unit as the subject, it means that the CPU 111 or 181 is executing a program that implements the functional unit.

計算機101のメモリ113は、連携部121、トランザクション管理部122、合意形成部123、および認証部124を実現するプログラムを格納し、また、プログラム管理情報131および連携先情報132を格納する。また、計算機101のHDD114は、台帳(台帳情報)141を格納する。 The memory 113 of the computer 101 stores programs that implement the cooperation unit 121 , the transaction management unit 122 , the consensus building unit 123 , and the authentication unit 124 , and also stores program management information 131 and cooperation destination information 132 . The HDD 114 of the computer 101 also stores a ledger (ledger information) 141 .

プログラム管理情報131は、計算機101が、クライアント端末103等から要求されたトランザクションが、自BC内の台帳141の更新および自BC内の他の計算機101とのやり取り等、自BC内に閉じるトランザクションであるか、または、他BCへのリクエストの送信等、他BCと連携したトランザクション(他BCに関連するトランザクション)であるかを判定するために使用する情報である。プログラム管理情報131のデータ構造の詳細は図2を用いて説明する。 The program management information 131 is a transaction that the computer 101 requests from the client terminal 103 or the like is a transaction that is closed within its own BC, such as updating the ledger 141 within its own BC and exchanging with other computers 101 within its own BC. It is information used to determine whether there is a transaction (transaction related to other BC) in cooperation with other BC, such as sending a request to another BC. Details of the data structure of the program management information 131 will be described with reference to FIG.

連携先情報132は、計算機102が属するBCと連携するBC等の連携先に関する情報を管理するための情報である。連携先情報132のデータ構造の詳細は図3を用いて説明する。 The cooperation destination information 132 is information for managing information about cooperation destinations such as BCs that cooperate with the BC to which the computer 102 belongs. The details of the data structure of the cooperation destination information 132 will be described with reference to FIG.

台帳141は、BC上で行われた取引等、トランザクションに関するデータ(トランザクションデータ)を管理するための情報である。台帳141のデータ構造の詳細は図4Aを用いて説明する。 The ledger 141 is information for managing transaction data (transaction data) such as transactions performed on the BC. Details of the data structure of the ledger 141 will be described with reference to FIG. 4A.

連携部121は、自BCに属す計算機、他のBCに属す計算機、およびクライアント端末103等とデータの送受信を行う。 The cooperation unit 121 transmits and receives data to and from a computer belonging to its own BC, a computer belonging to another BC, the client terminal 103, and the like.

トランザクション管理部122は、クライアント端末103等から送信されたリクエストに基づいて、台帳141へのデータの記入および台帳141の参照等の処理をトランザクションとして実行し、また、トランザクションに関するデータ(トランザクションデータ)を管理する。 The transaction management unit 122 executes processing such as entering data into the ledger 141 and referring to the ledger 141 as a transaction based on a request transmitted from the client terminal 103 or the like. to manage.

合意形成部123は、例えば、台帳141を更新するためのリクエストを受信した場合、更新を行う前に当該リクエストを事前検証し、自BC内の他の計算機101の事前検証結果を考慮して、台帳141を更新するか否かを判定し、判定結果に基づく処理を実行する。 For example, when a request for updating the ledger 141 is received, the consensus building unit 123 pre-verifies the request before updating, and considers the pre-verification results of other computers 101 in its own BC, It determines whether or not to update the ledger 141, and executes processing based on the determination result.

認証部124は、クライアント端末103等からリクエストを受信した場合、クライアント端末103の認証およびデータに付与された署名の検証等を行う。 When receiving a request from the client terminal 103 or the like, the authentication unit 124 performs authentication of the client terminal 103 and verification of a signature attached to data.

計算機102のメモリ113は、連携部151、トランザクション管理部152、合意形成部153、および認証部154を実現するプログラムを格納し、また、連携制御情報161および状態管理情報162を格納する。また、計算機102のHDD114は台帳171を格納する。 The memory 113 of the computer 102 stores programs for implementing the cooperation unit 151 , the transaction management unit 152 , the consensus building unit 153 and the authentication unit 154 , and also stores cooperation control information 161 and state management information 162 . Also, the HDD 114 of the computer 102 stores a ledger 171 .

連携制御情報161は、他のBCに属す計算機等からのリクエストを受信した場合に、リクエストの送信元を制限するための方式およびリクエストの送信元に課す制約を管理するための情報である。連携制御情報161のデータ構造の詳細は図5Aおよび図5Bを用いて説明する。 The cooperation control information 161 is information for managing a method for restricting a request transmission source and restrictions imposed on a request transmission source when a request is received from a computer or the like belonging to another BC. Details of the data structure of the cooperation control information 161 will be described with reference to FIGS. 5A and 5B.

状態管理情報162は、連携先BCにおいて、BC間の連携での整合性確保のために保有するトランザクションの実行状況を管理するための情報である。状態管理情報162のデータ構造の詳細は図6を用いて説明する。なお、状態管理情報162を用いた処理については実施例2にて説明する。 The status management information 162 is information for managing the execution status of transactions held in the cooperation destination BC for ensuring consistency in cooperation between BCs. Details of the data structure of the state management information 162 will be described with reference to FIG. Note that processing using the state management information 162 will be described in a second embodiment.

連携部151、トランザクション管理部152、合意形成部153、および認証部154は、連携部121、トランザクション管理部122、合意形成部123、および認証部124と同一の機能である。 The cooperation unit 151 , the transaction management unit 152 , the consensus formation unit 153 and the authentication unit 154 have the same functions as the cooperation unit 121 , the transaction management unit 122 , the consensus formation unit 123 and the authentication unit 124 .

クライアント端末103のメモリ183は、トランザクション要求部191、署名生成部192、および連携管理部193を実現するプログラムを格納する。 The memory 183 of the client terminal 103 stores a program that implements the transaction request section 191 , the signature generation section 192 and the cooperation management section 193 .

トランザクション要求部191は、連携元BCに属する計算機101および連携先BCに属する計算機102等の外部の計算機と連携し、トランザクションの実行等を指示するリクエストを外部の計算機に送信する。また、トランザクション要求部191は、外部の計算機からの応答の受信等を行う。 The transaction request unit 191 cooperates with external computers, such as the computer 101 belonging to the cooperation source BC and the computer 102 belonging to the cooperation destination BC, and transmits requests instructing execution of transactions to the external computers. The transaction requesting unit 191 also receives responses from external computers.

署名生成部192は、トランザクションのリクエストを送信するにあたって、当該トランザクションの正当性およびリクエストの送信元の正当性を保証するための署名を生成する。 When transmitting a transaction request, the signature generation unit 192 generates a signature for assuring the validity of the transaction and the validity of the sender of the request.

連携管理部193は、BC間の連携にあたって、連携元BCに属する計算機および連携先BCに属する計算機等とやり取りして、双方のBCで管理するトランザクションの整合性を確保する。 The cooperation management unit 193 communicates with a computer belonging to a cooperation source BC and a computer belonging to a cooperation destination BC, etc., in cooperation between BCs, and ensures consistency of transactions managed by both BCs.

なお、計算機101は連携制御情報161および状態管理情報162を保持してもよい。また、計算機102はプログラム管理情報131および連携先情報132を保持してもよい。 Note that the computer 101 may hold the cooperation control information 161 and the state management information 162 . Also, the computer 102 may hold the program management information 131 and the cooperation destination information 132 .

次に、実施例1の計算機システムが保持する情報のデータ構造について説明する。 Next, the data structure of information held by the computer system of the first embodiment will be described.

まず、計算機101のメモリ113に格納されるプログラム管理情報131および連携先情報132、ならびにHDD114に格納される台帳141について説明する。 First, the program management information 131 and cooperation destination information 132 stored in the memory 113 of the computer 101 and the ledger 141 stored in the HDD 114 will be described.

図2は、実施例1の計算機101が保持するプログラム管理情報131のデータ構造の一例を示す説明図である。 FIG. 2 is an explanatory diagram showing an example of the data structure of the program management information 131 held by the computer 101 of the first embodiment.

プログラム管理情報131は、ID201、プログラム名202、連携有無203、指定方法204、および連携先205の5つのフィールドから構成されるエントリを格納する。 The program management information 131 stores an entry consisting of five fields: ID 201 , program name 202 , collaboration presence/absence 203 , designation method 204 , and collaboration destination 205 .

ID201は、計算機101が管理するプログラムを識別するための識別情報を格納するフィールドである。プログラム名202は、プログラムの名称を格納するフィールドである。 The ID 201 is a field that stores identification information for identifying programs managed by the computer 101 . A program name 202 is a field that stores the name of the program.

連携有無203は、エントリに対応するプログラムが他のBC等、外部システムと連携した処理を行うか否かを示す情報を格納するフィールドである。連携有無203には、外部システムと連携した処理を行わないことを示す「無」または外部システムと連携した処理を行うことを示す「有」のいずれかが格納される。 The presence/absence of cooperation 203 is a field for storing information indicating whether or not the program corresponding to the entry performs processing in cooperation with an external system such as another BC. The cooperation presence/absence 203 stores either "no" indicating that processing in cooperation with an external system is not performed or "yes" indicating that processing in cooperation with an external system is performed.

指定方法204は、連携する外部システムが変更不変の固定的なものか、またはクライアント端末103からの引数等により指定可能なものかを示す情報を格納するフィールドである。なお、連携有無203が「無」の場合、指定方法204は空欄となる。 The specifying method 204 is a field for storing information indicating whether the external system to be linked is a fixed one that is unchangeable or can be specified by an argument or the like from the client terminal 103 . When the presence/absence of cooperation 203 is "no", the specifying method 204 is blank.

連携先205は、連携先を特定するための情報を格納するフィールドである。図2に示す例では、「1001」は、図3で説明する連携先情報132のID301が「1001」である連携先を示し、「param ext」は、クライアント端末103により指定された引数extが、連携先を示すことを意味する。 A collaboration destination 205 is a field for storing information for specifying a collaboration destination. In the example shown in FIG. 2, "1001" indicates a collaboration destination whose ID 301 in the collaboration destination information 132 described in FIG. , means to indicate the cooperation destination.

図3は、実施例1の計算機101が保持する連携先情報132のデータ構造の一例を示す説明図である。 FIG. 3 is an explanatory diagram showing an example of the data structure of the cooperation destination information 132 held by the computer 101 of the first embodiment.

連携先情報132は、ID301、名前302、および宛先情報303の3つのフィールドから構成されるエントリを格納する。 The cooperation destination information 132 stores an entry composed of three fields of ID 301 , name 302 and destination information 303 .

ID301は、連携先を識別するための識別情報を格納するフィールドである。名前302は、連携先の名称を格納するフィールドである。宛先情報303は、連携先の宛先の詳細情報を格納するフィールドである。宛先情報303には、URLおよびIPアドレス等が格納される。 The ID 301 is a field that stores identification information for identifying a cooperation destination. A name 302 is a field for storing the name of the cooperation destination. Destination information 303 is a field for storing detailed information about destinations of cooperation destinations. The destination information 303 stores URLs, IP addresses, and the like.

図4Aは、実施例1の計算機101が保持する台帳141のデータ構造の一例を示す説明図である。 FIG. 4A is an explanatory diagram showing an example of the data structure of the ledger 141 held by the computer 101 of the first embodiment.

図4Aでは、一例として、商品売買に関するトランザクションに関するデータを管理する台帳141を示す。台帳141は、ID401、購入者402、販売者403、商品名404、数量405、価格406、日時407、およびtx_ID408の8つのフィールドから構成されるエントリを格納する。1つのデータが1つのトランザクションデータに対応する。 FIG. 4A shows, as an example, a ledger 141 that manages data related to transactions related to commodity trading. The ledger 141 stores entries consisting of eight fields of ID 401 , purchaser 402 , seller 403 , product name 404 , quantity 405 , price 406 , date and time 407 and tx_ID 408 . One data corresponds to one transaction data.

ID401は、台帳141に記録されたトランザクションデータを識別するための識別情報を格納するフィールドである。購入者402は、エントリに対応するトランザクションにおける購入者の情報を格納するフィールドである。販売者403は、エントリに対応するトランザクションにおける販売者の情報を格納するフィールドである。商品名404は、エントリに対応するトランザクションにおいて購入された商品の名称を格納するフィールドである。数量405は、購入された商品の数量を格納するフィールドである。価格406は、購入された商品価格を格納するフィールドである。日時407は、エントリに対応するトランザクションが行われた日時を格納するフィールドである。tx_ID408は、エントリに対応するトランザクションを識別するための識別情報(トランザクションID)を格納するフィールドである。 The ID 401 is a field that stores identification information for identifying transaction data recorded in the ledger 141 . Purchaser 402 is a field that stores purchaser information in the transaction corresponding to the entry. A seller 403 is a field that stores information about the seller in the transaction corresponding to the entry. A product name 404 is a field that stores the name of the product purchased in the transaction corresponding to the entry. A quantity 405 is a field that stores the quantity of the purchased product. A price 406 is a field that stores the price of the product purchased. The date and time 407 is a field that stores the date and time when the transaction corresponding to the entry was performed. A tx_ID 408 is a field that stores identification information (transaction ID) for identifying a transaction corresponding to an entry.

次に計算機102のメモリ113に格納される連携制御情報161および状態管理情報162、ならびにHDD114に格納される台帳171について説明する。 Next, the cooperation control information 161 and state management information 162 stored in the memory 113 of the computer 102 and the ledger 171 stored in the HDD 114 will be described.

図5Aおよび図5Bは、実施例1の計算機102が保持する連携制御情報161のデータ構造の一例を示す説明図である。 5A and 5B are explanatory diagrams showing an example of the data structure of the cooperation control information 161 held by the computer 102 of the first embodiment.

連携制御情報161は制御定義情報500および制約情報510を含む。 The cooperation control information 161 includes control definition information 500 and constraint information 510 .

制御定義情報500は、制御タイプ501、認証粒度502、認証方法503、制約情報ID504、適用先BC_ID505の5つのフィールドから構成されるエントリを格納する。 The control definition information 500 stores an entry composed of five fields: control type 501, authentication granularity 502, authentication method 503, constraint information ID 504, and application destination BC_ID 505. FIG.

制御タイプ501は、連携制御方法のタイプを識別するための識別情報を格納するフィールドである。 The control type 501 is a field that stores identification information for identifying the type of cooperative control method.

認証粒度502は、リクエストの送信元の認証処理の粒度を示す情報を格納するフィールドである。例えば、認証粒度502が「機器」の場合、IPアドレス等を用いて機器単位でリクエストの送信元の認証が行われ、認証粒度502が「ユーザ」の場合、ユーザ名等を用いてユーザ単位でリクエストの送信元の認証が行われ、認証粒度502が「BC」の場合、リクエストの送信元が属すBCの識別情報等を用いてBC単位でリクエストの送信元の認証が行われる。 The authentication granularity 502 is a field that stores information indicating the granularity of the authentication process of the sender of the request. For example, when the authentication granularity 502 is "device", the request sender is authenticated on a device-by-device basis using an IP address, etc., and when the authentication granularity 502 is "user", a user name is used on a user-by-user basis. When the request sender is authenticated and the authentication granularity 502 is "BC", the request sender is authenticated for each BC using the identification information of the BC to which the request sender belongs.

なお、認証粒度502には、複数の認証粒度を組み合わせた値を設定することもできる。例えば、「機器、BC」であれば、機器単位およびBC単位の認証が行われる。この場合、機器単位の認証に加えて、リクエストの送信元が属するBCの情報が加味された認証が行われる。 Note that the authentication granularity 502 can also be set to a value obtained by combining a plurality of authentication granularities. For example, in the case of "equipment, BC", authentication is performed in units of equipment and in units of BC. In this case, in addition to device-by-device authentication, authentication is performed in consideration of information on the BC to which the request sender belongs.

認証方法503は、リクエストの送信元の認証方法の詳細を示す情報を格納するフィールドである。例えば、認証方法503が「パスワード」の場合、ID/パスワード形式の認証が行われ、認証方法503が「署名(機器)」の場合、機器の署名を用いた認証が行われ、認証方法503が「署名(ユーザ)」の場合、ユーザの署名を用いた認証が行われ、認証方法503が「BC識別」の場合、リクエストの送信元が属するBCの情報を用いた認証が行われる。 The authentication method 503 is a field for storing information indicating the details of the authentication method of the sender of the request. For example, when the authentication method 503 is "password", ID/password authentication is performed, and when the authentication method 503 is "signature (device)", authentication is performed using the signature of the device. In the case of "signature (user)", authentication is performed using the user's signature, and in the case of the authentication method 503 being "BC identification", authentication is performed using information on the BC to which the request sender belongs.

制約情報ID504は、リクエストの送信元に課す制約を特定するための情報を格納するフィールドである。制約情報ID504には、後述する制約情報510のエントリの識別情報(制約ID510)が格納される。例えば、制約情報ID504が「2、3、4」の場合、制約ID511が「2」、「3」、「4」である3つの制約を課してリクエストの送信元の認証が行われる。 The restriction information ID 504 is a field that stores information for specifying restrictions imposed on the sender of the request. The constraint information ID 504 stores the identification information (constraint ID 510) of the entry of the constraint information 510 described later. For example, when the restriction information ID 504 is "2, 3, 4", three restrictions of "2", "3", and "4" are imposed as the restriction IDs 511 to authenticate the sender of the request.

適用先BC_ID505は、エントリに対応する制御を適用するBCの識別情報を格納するフィールドである。例えば、「BC1」に属す計算機に対しては、連携にあたり、制御タイプ501が「1」である連携制御方法に基づいて連携制御が行われる。 The destination BC_ID 505 is a field that stores the identification information of the BC to which the control corresponding to the entry is applied. For example, for computers belonging to "BC1", cooperative control is performed based on the cooperative control method whose control type 501 is "1".

制約情報510は、制約ID511およびスコア512の2つのフィールドから構成されるエントリを格納する。 Constraint information 510 stores an entry consisting of two fields, constraint ID 511 and score 512 .

制約ID511は、制約を識別するための識別情報を格納するフィールドである。スコア512は、制約の詳細を示す情報を格納するフィールドである。 A constraint ID 511 is a field that stores identification information for identifying a constraint. A score 512 is a field that stores information indicating the details of the constraint.

ここで、実施例1において定義される制約について説明する。 Here, the constraints defined in the first embodiment will be explained.

制約ID511が「1」の制約では、計算機は、署名の実施者と、リクエスト内容の主体とが一致する場合に限り、リクエストを受付け、リクエストに基づいてトランザクションを実行する。 Under the constraint that the constraint ID 511 is "1", the computer accepts the request and executes the transaction based on the request only when the signature executor and the subject of the request content match.

例えば、ユーザAが署名を行い、ユーザAからユーザBに支払うというリクエストの場合、当該リクエストは受付けられる。一方、ユーザAが署名を行い、ユーザBからユーザAに支払うというリクエストは、署名の実施者とリクエスト内容の主体とが一致しないため受付けられない。 For example, if user A signs and requests that user A pay user B, the request is accepted. On the other hand, a request for user A to sign and payment from user B to user A is not accepted because the person who signed the signature does not match the subject of the request.

制約ID511が「2」の制約では、計算機は、複数の異なる計算機(リクエストの送信元)から同一のトランザクションIDを含むリクエストを受信した場合に限り、リクエストを受付け、リクエストに基づいてトランザクションを実行する。 In the constraint where the constraint ID 511 is "2", a computer accepts a request and executes a transaction based on the request only when it receives requests containing the same transaction ID from a plurality of different computers (request senders). .

BCによっては、複数の計算機が台帳の更新等の処理にあたって、同一の処理の検証を行い、それに伴って重複する複数のリクエストが連携先のBCに属する計算機に送信されることを想定した制約である。 Depending on the BC, multiple computers verify the same processing when updating the ledger, etc., and as a result, multiple duplicate requests are sent to the computers belonging to the collaborating BC. be.

なお、単に、複数のリクエストを受信したことを判定することに加えて、所定のアドレスから送信されたリクエストであることも制約に加味してもよい。複数のリクエストを受信したことは、あるBCに属す計算機が独自にリクエストを送ってきたわけではないことを保証する一因となる。 In addition to simply determining that a plurality of requests have been received, the fact that the requests have been sent from a predetermined address may be added to the restriction. Receipt of multiple requests serves to ensure that a computer belonging to a certain BC did not send requests independently.

制約ID511が「3」の制約では、計算機は、受信したリクエストに対して、誰もが閲覧可能な情報のみを提供する。 In the constraint with the constraint ID 511 of "3", the computer provides only information that can be viewed by anyone in response to the received request.

制約ID511が「4」の制約では、計算機は、受信したリクエストがリクエストの送信元の計算機が属するBCに関する情報に関するリクエストの場合情報を提供するが、そうでない場合には情報を提供しない。 When the constraint ID 511 is "4", the computer provides information if the received request is related to information on the BC to which the computer that sent the request belongs, but does not provide information otherwise.

例えば、リクエストの送信元の計算機が複数のBC(BC1、BC2)に属し、これらのBC上の取引に関する情報(例えば、支払い情報)を連携先のBC(BC3)が管理している場合、BC2にはBC1とは異なる組織が含まれるケースが想定される。このようなケースの場合、BC2上での取引に関する情報は、BC1のメンバには公開すべきではないと考えられる。そのため、BC1、BC2の両方に属する組織の計算機からリクエストを受信した場合に、連携先のBCに属する計算機が、BC1に属する計算機としてのリクエストに対してはBC1に関連する情報のみを提供し、それ以外は提供しない制御を実現する必要がある。制約ID511が「4」の制約は、前述の制御を実現するためのものである。 For example, when the computer that sends the request belongs to multiple BCs (BC1, BC2), and information (for example, payment information) related to transactions on these BCs is managed by the linked BC (BC3), BC2 contains an organization different from BC1. In such a case, it is believed that information regarding transactions on BC2 should not be made public to members of BC1. Therefore, when a request is received from a computer in an organization belonging to both BC1 and BC2, the computer belonging to the cooperating BC provides only information related to BC1 in response to the request as a computer belonging to BC1, You need to provide control that otherwise would not provide. The constraint with the constraint ID 511 of "4" is for realizing the control described above.

制約ID511が「4」の制約に基づく制御によって、連携先のBCまたは連携元のBCに属する計算機に対して、公開すべきでない情報が誤って提供されることを防止できる。 Control based on the constraint with the constraint ID 511 of "4" can prevent information that should not be made public from being erroneously provided to computers belonging to the BC of the cooperation destination or the BC of the cooperation source.

なお、計算機が複数のBCに属するか否かを判定する方法としては、連携先BCに属する計算機がそのような対応付け情報を管理し、当該情報に基づいて判定する方法が考えられる。また、IPアドレス等の計算機の識別情報を記録し、連携先のBCの台帳に記録されたトランザクションデータを参照して、一つの計算機が関与する異なるBCに関するトランザクションデータが記録されている否かを判定する方法が考えられる。 As a method of determining whether or not a computer belongs to a plurality of BCs, a method in which a computer belonging to a cooperation destination BC manages such association information and makes a determination based on the information is conceivable. In addition, identification information of computers such as IP addresses is recorded, and transaction data recorded in the ledger of the linked BC is referenced to determine whether or not transaction data related to different BCs involving one computer is recorded. A method of determination is conceivable.

以上が連携制御情報161の説明である。 The above is the description of the cooperation control information 161 .

図6は、実施例1の計算機102が保持する状態管理情報162のデータ構造の一例を示す説明図である。 FIG. 6 is an explanatory diagram showing an example of the data structure of the state management information 162 held by the computer 102 of the first embodiment.

状態管理情報162は、tx_ID601、主体602、状態603、外部tx_ID604、開始時刻605、終了時刻606、および実行期限607の7つのフィールドから構成されるエントリを格納する。 The state management information 162 stores an entry consisting of seven fields: tx_ID 601 , entity 602 , state 603 , external tx_ID 604 , start time 605 , end time 606 and execution time limit 607 .

tx_ID601は、トランザクションを識別するための識別情報を格納するフィールドである。 A tx_ID 601 is a field that stores identification information for identifying a transaction.

主体602は、トランザクションの実行者に関する情報を格納するフィールドである。 Principal 602 is a field that stores information about the performer of the transaction.

状態603は、トランザクションの実行状況を示す情報を格納するフィールドである。状態603には、トランザクションが終了していることを示す「済」、トランザクションが開始されずに待機していることを示す「待機」、トランザクションが実行中であることを示す「実行中」等が格納される。 A state 603 is a field that stores information indicating the execution status of a transaction. The status 603 includes "completed" indicating that the transaction has ended, "waiting" indicating that the transaction is waiting without starting, and "executing" indicating that the transaction is being executed. Stored.

外部tx_ID604は、連携元BCに属する計算機から送信された外部のtx_IDを格納するフィールドである。外部tx_ID604は、連携先BCのトランザクションが、連携元BCのトランザクションに紐づいて実行されていることを特定するための情報である。外部tx_ID604が空欄の場合、外部のBCからのリクエストに起因して発生したトランザクションではなく、自BC内で発生したトランザクションであることを示す。 An external tx_ID 604 is a field for storing an external tx_ID transmitted from a computer belonging to the cooperation source BC. The external tx_ID 604 is information for specifying that the transaction of the cooperation destination BC is being executed in association with the transaction of the cooperation source BC. If the external tx_ID 604 is blank, it indicates that the transaction is not caused by a request from an external BC, but is generated within its own BC.

開始時刻605は、トランザクションの開始時刻を格納するフィールドである。開始時刻605が空欄の場合、トランザクションが開始前であることを示す。 A start time 605 is a field that stores the start time of the transaction. A blank start time 605 indicates that the transaction has not yet started.

終了時刻606は、トランザクションの終了時刻を格納するフィールドである。終了時刻606が空欄の場合、トランザクションが実行中であることを示す。 The end time 606 is a field that stores the end time of the transaction. A blank end time 606 indicates that the transaction is in progress.

実行期限607は、トランザクションの実行期限を格納するフィールドである。例えば状態603が「待機」であるエントリに対応するトランザクションにおいて、実行期限607に設定された時刻を経過した場合、当該トランザクションに対応するリクエストは削除される。 The execution deadline 607 is a field that stores the transaction execution deadline. For example, in a transaction corresponding to an entry whose status 603 is "standby", if the time set in the execution time limit 607 has passed, the request corresponding to the transaction is deleted.

図4Bは、実施例1の計算機102が保持する台帳171のデータ構造の一例を示す説明図である。 FIG. 4B is an explanatory diagram showing an example of the data structure of the ledger 171 held by the computer 102 of the first embodiment.

図4Bでは、一例として、商品の支払いに関するトランザクションに関するデータを管理する台帳171を示す。台帳171は、ID411、支払者412、支払先413、金額414、日時415、BC_ID416、外部tx_ID417、およびtx_ID418の8つのフィールドから構成されるエントリを格納する。 FIG. 4B shows, as an example, a ledger 171 that manages data on transactions related to product payment. Ledger 171 stores entries consisting of eight fields: ID 411 , payer 412 , payee 413 , amount 414 , date 415 , BC_ID 416 , external tx_ID 417 and tx_ID 418 .

ID411は、台帳171に記録されたトランザクションデータを識別するための識別情報を格納するフィールドである。支払者412は、エントリに対応するトランザクションにおける支払者の情報を格納するフィールドである。支払先413は、エントリに対応するトランザクションにおける支払先の情報を格納するフィールドである。金額414は、エントリに対応するトランザクションにおいて支払われた金額を格納するフィールドである。日時415は、エントリに対応するトランザクションの実行日時を格納するフィールドである。BC_ID416は、エントリに対応するトランザクションを実行するためのリクエストの送信元のBCの識別情報を格納するフィールドである。これによって、どのBCに属す計算機からのリクエストであるかを特定できる。外部tx_ID417は、連携元のBCに属する計算機から送信された、連携元BCにおけるトランザクションの識別情報を格納するフィールドである。tx_ID418は、連携先のBCにおいて記録されたトランザクションの識別情報を格納するフィールドである。 The ID 411 is a field that stores identification information for identifying transaction data recorded in the ledger 171 . Payer 412 is a field that stores the information of the payer in the transaction corresponding to the entry. A payee 413 is a field for storing payee information in the transaction corresponding to the entry. Amount 414 is a field that stores the amount paid in the transaction corresponding to the entry. The date and time 415 is a field for storing the execution date and time of the transaction corresponding to the entry. BC_ID 416 is a field that stores identification information of the BC that sent the request for executing the transaction corresponding to the entry. This makes it possible to specify which BC the request is from the computer belonging to. The external tx_ID 417 is a field for storing transaction identification information in the cooperation source BC, which is transmitted from a computer belonging to the cooperation source BC. The tx_ID 418 is a field for storing identification information of transactions recorded in the BC of the cooperation destination.

外部tx_ID417およびtx_ID418に基づいて、連携元BCのトランザクションと紐づく連携先BCのトランザクションを特定することができる。 Based on the external tx_ID 417 and tx_ID 418, it is possible to identify the transaction of the cooperation destination BC linked to the transaction of the cooperation source BC.

以上が実施例1の計算機システムが保持する情報のデータ構造の説明である。 The above is the description of the data structure of the information held by the computer system of the first embodiment.

次に、実施例1のBCに属する計算機が実行するBC間連携処理について説明する。BC間連携処理は、連携元BCおよび連携先BCが連携して実行される。 Next, the inter-BC cooperation processing executed by the computers belonging to the BCs of the first embodiment will be described. The inter-BC cooperation processing is executed in cooperation with the cooperation source BC and the cooperation destination BC.

図7Aおよび図7Bは、実施例1の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。ここでは、計算機101が属するBCを連携元BCと仮定し、計算機102が属するBCを連携先BCと仮定する。 7A and 7B are flowcharts illustrating an example of inter-BC cooperation processing executed in the computer system of the first embodiment. Here, the BC to which the computer 101 belongs is assumed to be the cooperation source BC, and the BC to which the computer 102 belongs is assumed to be the cooperation destination BC.

<連携元BCに属する計算機の処理>
図7Aは、連携元BCに属する計算機101が実行する処理の一例を示すフローチャートである。
<Processing of Computers Belonging to Collaborating Source BC>
FIG. 7A is a flowchart showing an example of processing executed by the computer 101 belonging to the cooperation source BC.

計算機101は、クライアント端末103から任意のトランザクションを実行するためのリクエストを受信する(ステップS701)。 The computer 101 receives a request for executing any transaction from the client terminal 103 (step S701).

例えば、ユーザが商品の購入等のトランザクションを実行するためのリクエストを送信した場合、リクエストには、購入手続に関する台帳の参照および更新等の操作情報が含まれる。 For example, when a user transmits a request for executing a transaction such as purchase of a product, the request includes operational information such as referencing and updating a ledger related to purchase procedures.

操作情報には、呼び出すプログラムおよび処理を実行するプログラム等を特定するための情報が含まれる。一つのプログラムが関与するトランザクションに対して一つのリクエストが発行されてもよし、複数のプログラムが関与するトランザクションに対して一つのリクエストが発行されてもよい。この場合、リクエスト毎に関与するプログラムを特定するための情報を別途管理すればよい。 The operation information includes information for specifying a program to call, a program to execute processing, and the like. One request may be issued for a transaction involving one program, or one request may be issued for a transaction involving multiple programs. In this case, information for specifying the program involved in each request may be managed separately.

なお、クライアント端末103は、連携元BC用の鍵を用いて署名を生成し、当該署名が付されたリクエストを連携元BCに属する計算機101に送信する。計算機101の認証部124は、リクエストを受信した場合、リクエストに含まれる署名の正当性を検証するための認証処理を実行する。正当な署名である場合、計算機101は当該リクエストを実行対象のリクエストとして受付ける。以下の説明では、前述した認証処理の結果が認証成功であるものとして処理を説明する。 The client terminal 103 generates a signature using the key for the collaboration source BC, and transmits the request with the signature to the computer 101 belonging to the collaboration source BC. Upon receiving the request, the authentication unit 124 of the computer 101 executes authentication processing for verifying the validity of the signature included in the request. If the signature is valid, computer 101 accepts the request as a request to be executed. In the following explanation, the processing will be explained assuming that the result of the authentication processing described above is authentication success.

次に、計算機101は、リクエストに対応したトランザクションを実行する場合に呼出されるプログラムを特定し(ステップS702)、特定されたプログラムの中に、BC間連携を行うプログラムが含まれるか否かを判定する(ステップS703)。すなわち、他BCに関連するトランザクションを実行するためのリクエストであるか否かが判定される。 Next, the computer 101 identifies a program to be called when executing a transaction corresponding to the request (step S702), and determines whether or not the identified program includes a program for inter-BC cooperation. Determine (step S703). That is, it is determined whether or not the request is for executing a transaction related to another BC.

具体的には、連携部121は、特定されたプログラムの名称がプログラム名202と一致するエントリを検索し、検索されたエントリの中に、連携有無203に「有」が設定されたエントリが少なくとも1つ以上存在するか否かを判定する。連携有無203に「有」が設定されたエントリが少なくとも1つ以上存在する場合、連携部121は、特定されたプログラムの中に、BC間連携を行うプログラムが含まれると判定する。 Specifically, the linking unit 121 searches for an entry whose name of the specified program matches the program name 202, and among the searched entries, there are at least entries whose link presence/absence 203 is set to “Yes”. Determine whether or not there is one or more. When there is at least one or more entries for which “Yes” is set in the cooperation presence/absence 203, the cooperation unit 121 determines that the identified programs include a program that performs inter-BC cooperation.

BC間連携を行うプログラムが含まれないと判定された場合、計算機101は、他BCと連携したリクエストではなく、ローカルなBCに閉じるリクエストと判定し、通常のBCにおけるトランザクションを実行する(ステップS704)。さらに、計算機101は、トランザクションの実行結果をクライアント端末103に送信し(ステップS709)、その後、処理を終了する。 If it is determined that the program that performs inter-BC collaboration is not included, the computer 101 determines that the request is not a request linked with another BC, but a request to close the local BC, and executes a normal transaction in the BC (step S704). ). Furthermore, the computer 101 transmits the execution result of the transaction to the client terminal 103 (step S709), and then terminates the process.

BC間連携を行うプログラムが含まれると判定された場合、計算機101は、受信したリクエストに連携先BC用の署名が含まれるか否かを判定する(ステップS705)。 When it is determined that the program for inter-BC collaboration is included, the computer 101 determines whether the received request includes a signature for the collaboration destination BC (step S705).

例えば、連携部121は、リクエストにローカルのBC用の署名とは異なる署名が含まれているかを確認する。なお、連携部121は、連携先BC用の認証局の証明書を事前に入手する等して、リクエストに含まれる署名が連携先BC用の署名であるか否かを判定してもよい。 For example, the cooperation unit 121 checks whether the request includes a signature different from the local BC signature. Note that the cooperation unit 121 may determine whether or not the signature included in the request is the signature for the cooperation destination BC by, for example, obtaining the certificate of the certification authority for the cooperation destination BC in advance.

受信したリクエストに連携先BC用の署名が含まれていないと判定された場合、計算機101は、連携先BCに送信するリクエストのデータに基づいてハッシュを生成し、クライアント端末103に当該ハッシュを含むリクエストの再送信依頼を送信し(ステップS706)、その後、処理を終了する。 If it is determined that the received request does not contain the signature for the cooperation destination BC, the computer 101 generates a hash based on the data of the request to be transmitted to the cooperation destination BC, and includes the hash in the client terminal 103. A request to resend the request is sent (step S706), and then the process ends.

クライアント端末103は、当該依頼を受信した場合、ハッシュを用いて連携先BC用の鍵を用いて署名を生成し、当該署名を含むリクエストを、再度、連携元BCに属する計算機101に送信する。これによって、連携先BCへのリクエストの送信が可能となる。すなわち、BCが連携したリクエストの処理を実現できる。 When receiving the request, the client terminal 103 generates a signature using the hash and the key for the collaboration destination BC, and transmits the request including the signature again to the computer 101 belonging to the collaboration source BC. This enables the request to be sent to the cooperation destination BC. That is, it is possible to realize request processing in which BC cooperates.

受信したリクエストに連携先BC用の署名が含まれると判定された場合、計算機101は、署名を含むリクエストを連携先BCに属する計算機102に送信する(ステップS707)。 If it is determined that the received request includes the signature for the cooperation destination BC, the computer 101 transmits the request including the signature to the computer 102 belonging to the cooperation destination BC (step S707).

このとき、連携部121は、連携元BCにおけるトランザクションの識別情報を連携先BCに属する計算機に送信する。具体的には、計算機101は、連携元BCで管理している台帳141のtx_ID408の値を、トランザクションの識別情報として連携先BCに属する計算機102に送信する。これによって、連携先BCにおいて実行されるトランザクションと、連携元BCにおいて実行されるトランザクションとを紐づけて管理することができる。 At this time, the cooperation unit 121 transmits the identification information of the transaction in the cooperation source BC to the computers belonging to the cooperation destination BC. Specifically, the computer 101 transmits the value of the tx_ID 408 of the ledger 141 managed by the collaboration source BC as transaction identification information to the computer 102 belonging to the collaboration destination BC. As a result, it is possible to link and manage the transactions executed in the cooperation destination BC and the transactions executed in the cooperation source BC.

連携先BCに属する計算機102は、トランザクションの実行に伴って、台帳171のエントリを追加し、追加されたエントリの外部tx_ID417に受信したトランザクションの識別情報を設定し、tx_ID418に連携先BCにおけるトランザクションの識別情報を設定する。 The computer 102 belonging to the cooperation destination BC adds an entry to the ledger 171 along with the execution of the transaction, sets the received transaction identification information to the external tx_ID 417 of the added entry, and sets the tx_ID 418 to the tx_ID 418 of the transaction in the cooperation destination BC. Set identification information.

計算機101は、連携先BCに属する計算機102から応答を受信した場合(ステップS708)、応答に含まれるトランザクションの実行結果をクライアント端末103に送信し(ステップS709)、その後、処理を終了する。 When the computer 101 receives a response from the computer 102 belonging to the cooperation destination BC (step S708), the computer 101 transmits the execution result of the transaction included in the response to the client terminal 103 (step S709), and then terminates the process.

このとき、計算機101は、計算機102から受信したトランザクションの実行結果を台帳141に追加してもよい。 At this time, the computer 101 may add the execution result of the transaction received from the computer 102 to the ledger 141 .

<連携先BCに属する計算機の処理>
図7Bは、連携先BCに属する計算機102が、連携元BCに属する計算機101からリクエストを受信した場合に実行する処理の一例を示すフローチャートである。
<Processing of computer belonging to cooperation destination BC>
FIG. 7B is a flowchart showing an example of processing executed when the computer 102 belonging to the cooperation destination BC receives a request from the computer 101 belonging to the cooperation source BC.

計算機102は、連携元BCに属する計算機101から連携先BC用の署名を含むリクエストを受信し(ステップS721)、連携先BC用の署名およびリクエスト内容に基づいて、受信したリクエストの正当性を検証する(ステップS722)。 The computer 102 receives the request including the signature for the collaboration destination BC from the computer 101 belonging to the collaboration source BC (step S721), and verifies the validity of the received request based on the signature for the collaboration destination BC and the request content. (step S722).

本実施例では、連携制御情報161に基づいてリクエストの正当性が検証される。 In this embodiment, the validity of the request is verified based on the cooperation control information 161. FIG.

署名の正当性の検証は、連携先BCで使用されている認証局の証明書等を用いて行われる。例えば、制約ID511が「1」の制約が適用されたBCに属する計算機からリクエストを受信した場合、計算機102は、署名の実施者およびリクエストの主体が一致するか否かを判定する。この場合、ユーザAが署名を行い、ユーザAからユーザBに支払うというリクエストは許可されるが、ユーザAが署名を行いユーザBからユーザAに支払うというリクエストは許可されない。なぜならば、署名の実施者とリクエストの主体とが一致しないためである。 Verification of validity of the signature is performed using a certificate issued by a certification authority used by the partner BC. For example, when a request is received from a computer belonging to a BC to which the constraint ID 511 of "1" is applied, the computer 102 determines whether or not the signature executor and the subject of the request match. In this case, a request for user A to sign and user A to pay user B is allowed, but a request for user A to sign and user B to pay user A is not allowed. This is because the signature executor and the subject of the request do not match.

連携先BCに属する計算機102において、連携先BCで使用する公開鍵証明書に含まれる主体者の名前を、連携先BCにおけるアカウント情報として設定し、署名の実施者とリクエストの主体とが一致するか否かを判定するようにしてもよい。 In the computer 102 belonging to the collaboration destination BC, the name of the subject included in the public key certificate used by the collaboration destination BC is set as account information in the collaboration destination BC, and the signature executor and the request subject match. You may make it determine whether it is.

計算機102は、検証の結果に基づいて、検証が成功したか否かを判定する(ステップS723)。 The computer 102 determines whether the verification is successful based on the verification result (step S723).

検証が成功したと判定された場合、計算機102は、受信したリクエストに基づいてトランザクションを実行し、連携元BCに属する計算機101にトランザクションの実行結果を含む応答を送信する(ステップS724)。その後、計算機102は処理を終了する。 If it is determined that the verification has succeeded, the computer 102 executes the transaction based on the received request and transmits a response including the transaction execution result to the computer 101 belonging to the cooperation source BC (step S724). After that, computer 102 terminates the process.

検証が失敗したと判定された場合、計算機102は、トランザクションを実行せずに、連携元BCに属する計算機101に、検証失敗等を示す実行結果を含む応答を送信する(ステップS725)。その後、計算機102は処理を終了する。 If it is determined that the verification has failed, the computer 102 does not execute the transaction, and transmits a response including an execution result indicating verification failure or the like to the computer 101 belonging to the cooperation source BC (step S725). After that, computer 102 terminates the process.

実施例1によれば、連携元BCが連携先BCにおけるユーザの情報等を把握していない場合でも、適切なユーザの認証を実現できる。これによって、連携先BCへの不正なリクエストの送信および実行を防止することができる。 According to the first embodiment, even if the cooperation source BC does not know the user information or the like in the cooperation destination BC, appropriate user authentication can be realized. This makes it possible to prevent transmission and execution of unauthorized requests to the cooperation destination BC.

(変形例)
次に、BC間連携処理の変形例について説明する。変形例では、クライアント端末103がBC間の連携の有無を判定する。したがって、クライアント端末103がプログラム管理情報131および連携先情報132を保持する。この場合、計算機101は、プログラム管理情報131および連携先情報132を保持していなくてもよい。
(Modification)
Next, a modified example of inter-BC cooperation processing will be described. In a modified example, the client terminal 103 determines whether there is cooperation between BCs. Therefore, the client terminal 103 holds the program management information 131 and the cooperation destination information 132 . In this case, the computer 101 does not have to hold the program management information 131 and the cooperation destination information 132 .

図8は、実施例1のクライアント端末がBC間連携処理において実行する処理の一例を説明するフローチャートである。 FIG. 8 is a flowchart illustrating an example of processing executed by the client terminal in the inter-BC cooperation processing according to the first embodiment.

クライアント端末103は、連携元BCにトランザクションを実行させるためのリクエストを生成する(ステップS801)。具体的にはトランザクション要求部191がリクエストを生成する。リクエストには連携元BC用の署名が含まれる。 The client terminal 103 generates a request for causing the cooperation source BC to execute a transaction (step S801). Specifically, the transaction request unit 191 generates a request. The request contains a signature for the collaborating BC.

次に、クライアント端末103は、生成されたリクエストに対応したトランザクションを実行する場合に呼出されるプログラムを特定し(ステップS802)、特定されたプログラムの中に、BC間連携を行うプログラムが含まれるか否かを判定する(ステップS803)。 Next, the client terminal 103 identifies a program to be called when executing a transaction corresponding to the generated request (step S802), and the identified program includes a program for inter-BC cooperation. It is determined whether or not (step S803).

具体的には、連携管理部193がステップS702およびステップS703と同様の処理を実行する。 Specifically, the cooperation management unit 193 executes the same processing as steps S702 and S703.

特定されたプログラムの中に、BC間連携を行うプログラムが含まれないと判定された場合、クライアント端末103は、連携元BCに属する計算機101に、生成されたリクエストを送信する(ステップS804)。その後、クライアント端末103は処理を終了する。 If it is determined that the identified programs do not include a program for inter-BC cooperation, the client terminal 103 transmits the generated request to the computer 101 belonging to the cooperation source BC (step S804). After that, the client terminal 103 ends the processing.

特定されたプログラムの中に、BC間連携を行うプログラムが含まれると判定された場合、クライアント端末103は、連携先BCに送信するリクエストのデータに基づいてハッシュを生成し、当該ハッシュを用いて連携先BC用の鍵を用いて署名を生成する(ステップS805)。 When it is determined that the specified program includes a program that performs inter-BC cooperation, the client terminal 103 generates a hash based on the data of the request to be sent to the cooperation destination BC, and uses the hash A signature is generated using the key for the partner BC (step S805).

次に、クライアント端末103は、連携元BCに属する計算機101に、連携元BC用の署名および連携先BC用の署名を含むリクエストを送信する(ステップS806)。その後、クライアント端末103は処理を終了する。 Next, the client terminal 103 transmits a request including the signature for the collaboration source BC and the signature for the collaboration destination BC to the computer 101 belonging to the collaboration source BC (step S806). After that, the client terminal 103 ends the processing.

図8に示すような処理が実行される場合、連携元BCに属する計算機101は、ステップS701からステップS706の処理と、ステップS708、ステップS709の処理を実行する。連携先BCに属する計算機101が実行する処理は特に変更がない。 When the processing shown in FIG. 8 is executed, the computer 101 belonging to the cooperation source BC executes the processing from step S701 to step S706 and the processing of steps S708 and S709. There is no particular change in the processing executed by the computer 101 belonging to the cooperation destination BC.

実施例1の変形例によれば、クライアント端末103が事前に連携先BC用の署名要否を判定することによって、BCに属する計算機101、102とのインタラクションを低減することができる。 According to the modified example of the first embodiment, the client terminal 103 can reduce interaction with the computers 101 and 102 belonging to the BC by determining in advance whether or not a signature for the cooperation destination BC is required.

以上が、変形例の説明である。 The above is the description of the modification.

次に、本発明の実施例2を説明する。実施例2では、BC間連携において、一つのBCの台帳のみが更新され、他のBCの台帳が更新されないといった状態の不整合を防止する。 Next, Example 2 of the present invention will be described. In the second embodiment, in inter-BC cooperation, it is possible to prevent state inconsistency such that only one BC's ledger is updated and other BC's ledgers are not updated.

具体的には、連携先BCに属する計算機は、連携元BCに属する計算機から要求されたトランザクションをすぐに実行させるのではなく待機させ、再度クライアント端末103から待機しているトランザクションのリクエストを受付けた場合、トランザクションを実行する。以下、実施例1との差異を中心に実施例2について説明する。 Specifically, the computer belonging to the cooperation destination BC waits for the transaction requested by the computer belonging to the cooperation source BC instead of immediately executing it, and then accepts the waiting transaction request from the client terminal 103 again. If so, execute the transaction. The second embodiment will be described below, focusing on the differences from the first embodiment.

実施例2の計算機システムの構成は実施例1と同一である。実施例2のBCに属する計算機101、102のハードウェア構成およびソフトウェア構成は実施例1と同一である。また、実施例2のクライアント端末103のハードウェア構成およびソフトウェア構成は実施例1と同一である。 The configuration of the computer system of the second embodiment is the same as that of the first embodiment. The hardware configuration and software configuration of the computers 101 and 102 belonging to the BC of the second embodiment are the same as those of the first embodiment. Also, the hardware configuration and software configuration of the client terminal 103 of the second embodiment are the same as those of the first embodiment.

実施例2のBC間連携処理における連携元BCに属する計算機が実行する署名の要否に関する処理は実施例1と同一である。ただし、実施例2では、連携元BCに属する計算機が実施例1とは異なる処理を実行する。実施例2では、連携先BCに属する計算機が実行する処理が異なる。また、実施例2では、クライアント端末103が実施例1とは異なる処理を実行する。 In the inter-BC cooperation processing of the second embodiment, the processing related to whether or not a signature is required, which is executed by the computer belonging to the cooperation source BC, is the same as that of the first embodiment. However, in the second embodiment, a computer belonging to the cooperation source BC executes processing different from that in the first embodiment. In the second embodiment, the processes executed by the computers belonging to the cooperation destination BC are different. Also, in the second embodiment, the client terminal 103 executes processing different from that in the first embodiment.

図9A、図9B、図9C、および図9Dは、実施例2の計算機システムにおいて実行されるBC間連携処理の一例を説明するフローチャートである。ここでは、計算機101が属するBCを連携元BCと仮定し、計算機102が属するBCを連携先BCと仮定する。 9A, 9B, 9C, and 9D are flowcharts illustrating an example of inter-BC cooperation processing executed in the computer system of the second embodiment. Here, the BC to which the computer 101 belongs is assumed to be the cooperation source BC, and the BC to which the computer 102 belongs is assumed to be the cooperation destination BC.

<連携元BCに属する計算機の処理>
図9Aおよび図9Bは、連携元BCに属する計算機101が実行する処理の一例を示すフローチャートである。
<Processing of Computers Belonging to Collaborating Source BC>
9A and 9B are flowcharts showing an example of processing executed by the computer 101 belonging to the cooperation source BC.

ステップS701からステップS707、およびステップS709の処理は実施例1と同一である。 The processing from step S701 to step S707 and step S709 is the same as in the first embodiment.

ステップS707の処理の後、計算機101は、連携先BCに属する計算機102から応答を受信する(ステップS901)。 After the process of step S707, the computer 101 receives a response from the computer 102 belonging to the cooperation destination BC (step S901).

計算機101は、応答に含まれる検証結果に基づいて、連携が成功か否かを判定する(ステップS902)。検証成功を示す検証結果の場合、計算機101は、連携が成功したと判定する。 The computer 101 determines whether or not the cooperation is successful based on the verification result included in the response (step S902). If the verification result indicates verification success, the computer 101 determines that the cooperation has succeeded.

連携が失敗したと判定された場合、計算機101は、クライアント端末103に連携の失敗を示す応答を送信し(ステップS903)、処理を終了する。 If it is determined that the cooperation has failed, the computer 101 transmits a response indicating that the cooperation has failed to the client terminal 103 (step S903), and terminates the process.

連携が成功したと判定された場合、計算機101は、トランザクションを実行し(S904)、トランザクションが成功したか否かを判定する(ステップS905)。 If it is determined that the cooperation has succeeded, the computer 101 executes the transaction (S904) and determines whether the transaction has succeeded (step S905).

トランザクションの実行では、計算機101は、台帳141の更新または参照等の処理を実行する。例えば、計算機101は、連携先BCでの支払い処理の検証成功を受けて、連携元BCで当該処理に対応する商取引情報を台帳141に追加する。 In executing a transaction, the computer 101 executes processing such as updating or referencing the ledger 141 . For example, the computer 101 adds the commercial transaction information corresponding to the processing in the cooperation source BC to the ledger 141 upon receiving successful verification of payment processing in the cooperation destination BC.

トランザクションが成功したと判定された場合、計算機101は、クライアント端末103に、リクエストに対応するトランザクションの識別情報および連携先BCに属する計算機102の宛先情報とともに、トランザクションの成功を示す応答を送信する(ステップS906)。その後、計算機101は処理を終了する。 If it is determined that the transaction has succeeded, the computer 101 transmits to the client terminal 103 a response indicating the success of the transaction together with the identification information of the transaction corresponding to the request and the destination information of the computer 102 belonging to the cooperation destination BC ( step S906). After that, the computer 101 terminates the processing.

クライアント端末103に送信された応答に含まれるトランザクションの識別情報は、計算機101側で管理する識別情報(tx_ID408)である。 The transaction identification information included in the response sent to the client terminal 103 is the identification information (tx_ID 408) managed by the computer 101 side.

トランザクションが失敗したと判定された場合、計算機101は、クライアント端末103にリクエストの失敗を示す応答を送信し(ステップS907)、処理を終了する。この場合、連携先BCでは、トランザクションは実行されず、実行期限が経過した後にリクエストが削除される。 If it is determined that the transaction has failed, the computer 101 transmits a response indicating failure of the request to the client terminal 103 (step S907), and terminates the process. In this case, the cooperation destination BC does not execute the transaction and deletes the request after the execution time limit has passed.

<連携先BCに属する計算機の処理>
図9Cは、連携先BCに属する計算機102が、連携元BCに属する計算機101からリクエストを受信した場合に実行する処理の一例を示すフローチャートである。
<Processing of computer belonging to cooperation destination BC>
FIG. 9C is a flowchart showing an example of processing executed when the computer 102 belonging to the cooperation destination BC receives a request from the computer 101 belonging to the cooperation source BC.

計算機102は、連携元BCに属する計算機101から連携先BC用の署名を含むリクエストを受信する(ステップS721)。 The computer 102 receives a request including a signature for the collaboration destination BC from the computer 101 belonging to the collaboration source BC (step S721).

このとき、計算機102は状態管理情報162を更新する。具体的には、計算機102は、状態管理情報162にエントリを追加し、追加されたエントリのtx_ID601に連携先BCにおける識別情報を設定し、また外部tx_ID604にリクエストに含まれる識別情報をする。計算機102は、追加されたエントリの状態603に「待機」を設定する。また、計算機102は、追加されたエントリの主体602および実行期限607に、リクエストに含まれる値を設定する。 At this time, the computer 102 updates the state management information 162 . Specifically, the computer 102 adds an entry to the state management information 162, sets the tx_ID 601 of the added entry to the identification information of the collaboration destination BC, and sets the external tx_ID 604 to the identification information included in the request. The computer 102 sets the status 603 of the added entry to "standby". Also, the computer 102 sets the values included in the request to the subject 602 and execution deadline 607 of the added entry.

例えば、tx_ID601が「dk34kfa」のトランザクションは、待機中であり、連携元BCの識別情報が「AAA1」であるトランザクションと紐づけられていることが分かる。 For example, it can be seen that the transaction with the tx_ID 601 of "dk34kfa" is on standby and is associated with the transaction with the identification information of the cooperation source BC of "AAA1".

次に、計算機102は、連携先BC用の署名およびリクエスト内容に基づいて、受信したリクエストの正当性を検証する(ステップS722)。 Next, computer 102 verifies the legitimacy of the received request based on the signature for cooperation destination BC and the content of the request (step S722).

計算機102は、検証の結果に基づいて、検証が成功したか否かを判定する(ステップS723)。 The computer 102 determines whether the verification is successful based on the verification result (step S723).

検証が成功したと判定された場合、計算機102は、トランザクションを待機させ、連携元BCに属する計算機101に検証結果等を含む応答を送信する(ステップS911)。その後、計算機102はステップS913に進む。 If it is determined that the verification has succeeded, the computer 102 puts the transaction on standby and transmits a response including the verification result and the like to the computer 101 belonging to the cooperation source BC (step S911). After that, the computer 102 proceeds to step S913.

検証が失敗したと判定された場合、計算機102は、トランザクションを実行せずに、連携元BCに属する計算機101に、検証失敗等を示す実行結果を含む応答を送信する(ステップS912)。その後、計算機102はステップS913に進む。 If it is determined that the verification has failed, the computer 102 does not execute the transaction, and transmits a response including an execution result indicating verification failure or the like to the computer 101 belonging to the cooperation source BC (step S912). After that, the computer 102 proceeds to step S913.

ステップS913では、計算機102は、クライアント端末103から待機中のトランザクションに対応するリクエストを受信する(ステップS913)。当該リクエストには連携元BC側のトランザクションの識別情報(tx_ID408)が含まれる。計算機102は、外部tx_ID604がリクエストに含まれるトランザクションの識別情報と一致するエントリを検索することによって、実行対象のトランザクションを特定できる。 In step S913, the computer 102 receives a request corresponding to the pending transaction from the client terminal 103 (step S913). The request includes transaction identification information (tx_ID 408) on the collaborating BC side. Computer 102 can identify the transaction to be executed by searching for an entry whose external tx_ID 604 matches the transaction identification information included in the request.

計算機102は、受信したリクエストに含まれる署名等に基づいて、受信したリクエストの正当性を検証する(ステップS914)。 The computer 102 verifies the validity of the received request based on the signature etc. included in the received request (step S914).

計算機102は、検証の結果に基づいて、検証が成功したか否かを判定する(ステップS915)。 The computer 102 determines whether the verification is successful based on the verification result (step S915).

検証が失敗したと判定された場合、計算機102はリクエストを受付けず、処理を終了する。 If it is determined that the verification has failed, the computer 102 does not accept the request and terminates the process.

検証が成功したと判定された場合、計算機102は、トランザクションを実行し(ステップS916)、処理を終了する。なお、実施例2では、正当なクライアント端末103から必ずリクエストが送信されることを想定している。そのため、台帳の状態の不整合は起きない。 If the verification is determined to be successful, computer 102 executes the transaction (step S916) and ends the process. In addition, in the second embodiment, it is assumed that the request is always transmitted from the valid client terminal 103 . Therefore, inconsistencies in the state of the ledger do not occur.

このとき、計算機102は状態管理情報162を更新する。具体的には、計算機102は、実行対象のトランザクションに対応するエントリの状態603を「実行中」に更新し、開始時刻605に時刻を設定する。トランザクションが完了した場合、計算機102は、エントリの状態603に「済」を設定し、終了時刻606に時刻を設定する。 At this time, the computer 102 updates the state management information 162 . Specifically, the computer 102 updates the state 603 of the entry corresponding to the transaction to be executed to “executing” and sets the start time 605 to the time. When the transaction is completed, the computer 102 sets the entry status 603 to "completed" and sets the end time 606 to the time.

<クライアント端末103の処理>
図9Dは、クライアント端末103が連携元BCに属する計算機101から応答を受信した場合に実行する処理の一例を示すフローチャートである。
<Processing of Client Terminal 103>
FIG. 9D is a flowchart showing an example of processing executed when the client terminal 103 receives a response from the computer 101 belonging to the cooperation source BC.

クライアント端末103は、連携元BCに属する計算機101から応答を受信する(ステップS921)。 The client terminal 103 receives a response from the computer 101 belonging to the cooperation source BC (step S921).

クライアント端末103は、受信した応答が連携成功を示す応答である否かを判定する(ステップS922)。 The client terminal 103 determines whether or not the received response indicates successful cooperation (step S922).

受信した応答が連携成功を示す応答でないと判定された場合、クライアント端末103は処理を終了する。受信する応答としては、連携失敗を示す応答、トランザクション成功を示す応答、およびトランザクション失敗を示す応答のいずれかである。 If it is determined that the received response does not indicate successful cooperation, the client terminal 103 terminates the process. The received response is one of a response indicating cooperation failure, a response indicating transaction success, and a response indicating transaction failure.

受信した応答が連携成功を示す応答であると判定された場合、クライアント端末103は、連携先BCに属する計算機102に、当該応答に含まれるトランザクションの識別情報を含むトランザクションのリクエストを送信し(ステップS923)、その後、処理を終了する。 If the received response is determined to be a response indicating successful collaboration, the client terminal 103 transmits a transaction request including transaction identification information included in the response to the computer 102 belonging to the collaboration destination BC (step S923), and then the process ends.

実施例2によれば、BC間の連携において台帳の状態の不整合を防止することができる。 According to the second embodiment, it is possible to prevent inconsistency of ledger states in cooperation between BCs.

次に、本発明の実施例3を説明する。実施例1では、主に連携を要求するクライアント端末103の認証に関する処理が実行される。実施例3では、トランザクションの結果を連携先BCに属する計算機から連携元BCに属する計算機に送信する場合に、誤って連携元BCに関係しない情報が送信されることを防止する。 Next, Example 3 of the present invention will be described. In the first embodiment, processing related to authentication of the client terminal 103 requesting cooperation is mainly executed. In the third embodiment, when a transaction result is transmitted from a computer belonging to a cooperation destination BC to a computer belonging to a cooperation source BC, it is possible to prevent information unrelated to the cooperation source BC from being mistakenly transmitted.

具体的には、連携先BCに属する計算機は、連携のリクエスト内容の検証に加えて、応答する内容の制御を行う。以下、実施例1との差異を中心に実施例3について説明する。 Specifically, the computer belonging to the cooperation destination BC controls the content of the response in addition to verifying the content of the request for cooperation. The third embodiment will be described below, focusing on the differences from the first embodiment.

実施例3の計算機システムの構成は実施例1と同一である。実施例3のBCに属する計算機101、102のハードウェア構成およびソフトウェア構成は実施例1と同一である。また、実施例3のクライアント端末103のハードウェア構成およびソフトウェア構成は実施例1と同一である。 The configuration of the computer system of the third embodiment is the same as that of the first embodiment. The hardware configuration and software configuration of the computers 101 and 102 belonging to the BC of the third embodiment are the same as those of the first embodiment. Also, the hardware configuration and software configuration of the client terminal 103 of the third embodiment are the same as those of the first embodiment.

実施例3のBC間連携処理における連携元BCに属する計算機が実行する署名の要否に関する処理は実施例1と同一である。ただし、ステップS707において、連携元BCに属する計算機は、署名および連携元BCの識別情報とともに、リクエストを送信する。実施例3では、連携先BCに属する計算機が実行する処理が異なる。 In the inter-BC cooperation processing of the third embodiment, the processing regarding whether or not a signature is required, which is executed by the computer belonging to the cooperation source BC, is the same as that of the first embodiment. However, in step S707, the computer belonging to the collaborating source BC transmits the request together with the signature and the identification information of the collaborating source BC. In Example 3, the processing executed by the computers belonging to the cooperation destination BC is different.

<連携先BCに属する計算機の処理>
図10は、実施例3の連携先BCに属する計算機102が、連携元BCに属する計算機101からリクエストを受信した場合に実行する処理の一例を示すフローチャートである。
<Processing of computer belonging to cooperation destination BC>
FIG. 10 is a flowchart showing an example of processing executed when the computer 102 belonging to the cooperation destination BC according to the third embodiment receives a request from the computer 101 belonging to the cooperation source BC.

ステップS721からステップS725の処理は実施例1と同一である。 The processing from step S721 to step S725 is the same as in the first embodiment.

ステップS723において検証が成功したと判定された場合、計算機102は、連携元BCの識別情報およびクライアント端末103の署名等のクライアント端末103の識別情報を用いて、トランザクションの実行結果の送信先となるBCの正当性を検証する(ステップS1001)。なお、連携元BCの識別情報は、例えば、BC認証機関サーバ104等の認定機関によって各BCに対して発行/署名された識別情報、または、各BC間で予め取り決めた値等を用いる方法が考えられる。 If it is determined in step S723 that the verification has succeeded, the computer 102 uses the identification information of the collaborating BC and the identification information of the client terminal 103 such as the signature of the client terminal 103 to become the transmission destination of the execution result of the transaction. The validity of BC is verified (step S1001). As for the identification information of the collaborating BC, for example, there is a method of using identification information issued/signed to each BC by a certification authority such as the BC certification authority server 104, or a value determined in advance between each BC. Conceivable.

例えば、計算機102は、台帳171のBC_ID416と、リクエストに含まれるBCの識別情報とが一致するか否かを判定する。台帳171のBC_ID416と、リクエストに含まれるBCの識別情報とが一致する場合、検証が成功したと判定される。 For example, the computer 102 determines whether or not the BC_ID 416 of the ledger 171 matches the BC identification information included in the request. If the BC_ID 416 of the ledger 171 matches the BC identification information included in the request, it is determined that the verification has succeeded.

計算機102は、検証の結果に基づいて、検証が成功したか否かを判定する(ステップS1002)。 The computer 102 determines whether the verification is successful based on the verification result (step S1002).

検証が成功したと判定された場合、計算機102はステップS724に進む。検証が失敗したと判定された場合、計算機102はステップS725に進む。 If the verification is determined to be successful, computer 102 proceeds to step S724. If it is determined that the verification has failed, computer 102 proceeds to step S725.

例えば、図4BのID411が「1」であるトランザクションデータの場合、BC_ID416は「BC1」である。連携元BCに属する計算機からリクエストとともに送信されたBCの識別情報が「BC1」である場合、検証が成功となり、連携元BCへの当該トランザクションデータの提供が許可される。一方、連携元BCに属する計算機から送信されたリクエストに含まれるBCの識別情報が「BC1」でない場合、検証が失敗となり、連携元BCへの当該トランザクションデータの提供が許可されない。 For example, in the case of transaction data whose ID 411 in FIG. 4B is "1", BC_ID 416 is "BC1". If the identification information of the BC sent together with the request from the computer belonging to the collaborating BC is "BC1", the verification is successful, and the transaction data is permitted to be provided to the collaborating BC. On the other hand, if the BC identification information included in the request sent from the computer belonging to the cooperating BC is not "BC1", the verification fails and the transaction data is not permitted to be provided to the cooperating BC.

実施例3によれば、トランザクションの結果を連携先BCに属する計算機から連携元BCに属する計算機に送信する場合に、誤って連携元BCに関係しない情報が送信されることを防止できる。 According to the third embodiment, when a transaction result is transmitted from a computer belonging to a collaboration destination BC to a computer belonging to a collaboration source BC, erroneous transmission of information unrelated to the collaboration source BC can be prevented.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 In addition, the present invention is not limited to the above-described embodiments, and includes various modifications. Further, for example, the above-described embodiments are detailed descriptions of the configurations for easy understanding of the present invention, and are not necessarily limited to those having all the described configurations. Moreover, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、およびそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above configurations, functions, processing units, processing means, and the like may be realized by hardware, for example, by designing them in an integrated circuit. The present invention can also be implemented by software program code that implements the functions of the embodiments. In this case, a computer is provided with a storage medium recording the program code, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A nonvolatile memory card, ROM, or the like is used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。 Also, the program code that implements the functions described in this embodiment can be implemented in a wide range of programs or scripting languages, such as assembler, C/C++, perl, Shell, PHP, Python, and Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the program code of the software that realizes the functions of the embodiment via a network, it can be stored in storage means such as a hard disk or memory of a computer or in a storage medium such as a CD-RW or CD-R. Alternatively, a processor provided in the computer may read and execute the program code stored in the storage means or the storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines indicate those considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. All configurations may be interconnected.

101、102 計算機
103 クライアント端末
104 BC認証機関サーバ
105 ネットワーク
111、181 CPU
112、182 I/F
113、183 メモリ
114 HDD
121、151 連携部
122、152 トランザクション管理部
123、153 合意形成部
124、154 認証部
131 プログラム管理情報
132 連携先情報
141、171 台帳
161 連携制御情報
162 状態管理情報
191 トランザクション要求部
192 署名生成部
193 連携管理部
101, 102 computer 103 client terminal 104 BC certification authority server 105 network 111, 181 CPU
112, 182 interface
113, 183 memory 114 HDD
121, 151 Collaborating Units 122, 152 Transaction Management Units 123, 153 Consensus Building Units 124, 154 Authentication Unit 131 Program Management Information 132 Collaboration Destination Information 141, 171 Ledger 161 Cooperation Control Information 162 State Management Information 191 Transaction Request Unit 192 Signature Generation Unit 193 Coordination Management Department

Claims (12)

ブロックチェーンを構成する複数の計算機を備える計算機システムであって、
前記複数の計算機は、第1ブロックチェーンを構成する複数の計算機と、第2ブロックチェーンを構成する複数の計算機とを含み、
前記第1ブロックチェーンを構成する複数の計算機は、
前記第1ブロックチェーン用の署名を含む、トランザクションを実行するためのリクエストを受信した場合、前記第1ブロックチェーン用の署名を用いた第1検証処理を実行し、
前記第1検証処理の結果が検証成功である場合、前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであるか否かを判定し、
前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであると判定された場合、前記リクエストが前記第2ブロックチェーン用の署名を含むか否かを判定し、
前記リクエストが前記第2ブロックチェーン用の署名を含むと判定された場合、前記第2ブロックチェーンを構成する複数の計算機に前記リクエストを送信することを特徴とする計算機システム。
A computer system comprising a plurality of computers forming a blockchain,
The plurality of computers includes a plurality of computers forming a first block chain and a plurality of computers forming a second block chain,
The plurality of computers that constitute the first blockchain,
Upon receiving a request to execute a transaction that includes a signature for the first blockchain, performing a first verification process using the signature for the first blockchain;
if the result of the first verification process is verification success, determining whether the request is a request to execute a transaction related to the second blockchain;
If the request is determined to be a request to perform a transaction associated with the second blockchain, determine whether the request includes a signature for the second blockchain;
A computer system, wherein when the request is determined to include the signature for the second blockchain, the request is transmitted to a plurality of computers forming the second blockchain.
請求項1に記載の計算機システムであって、
前記第1ブロックチェーンを構成する複数の計算機は、前記リクエストに前記第2ブロックチェーン用の署名が含まれないと判定された場合、前記リクエストの送信元に、前記第2ブロックチェーン用の署名の生成を指示するリクエストの再送信依頼を送信し、
前記第2ブロックチェーンを構成する複数の計算機は、
前記第1ブロックチェーンを構成する複数の計算機から前記リクエストを受信した場合、前記リクエストに含まれる第2ブロックチェーン用の署名を用いて前記リクエストの正当性を検証する第2検証処理を実行し、
前記第2検証処理の結果が検証成功である場合、前記リクエストに対応するトランザクションを実行することを特徴とする計算機システム。
A computer system according to claim 1,
When it is determined that the request does not include the signature for the second blockchain, the plurality of computers configuring the first blockchain add the signature for the second blockchain to the source of the request. Send a request to resend the request instructing the generation,
The plurality of computers that make up the second blockchain,
When the request is received from a plurality of computers constituting the first blockchain, performing a second verification process of verifying the validity of the request using a signature for the second blockchain included in the request,
A computer system, wherein a transaction corresponding to the request is executed when the result of the second verification process is verification success.
請求項2に記載の計算機システムであって、
前記第2ブロックチェーンを構成する複数の計算機は、前記第2検証処理において、前記第2ブロックチェーン用の署名が正当であり、かつ、前記リクエストにおけるトランザクションの主体となるユーザと前記第2ブロックチェーン用の署名を行ったユーザとが一致する場合、検証成功と判定することを特徴とする計算機システム。
A computer system according to claim 2,
In the second verification process, the plurality of computers constituting the second blockchain verify that the signature for the second blockchain is valid and that the user who is the subject of the transaction in the request and the second blockchain A computer system characterized by determining that verification is successful if the user who has signed for the certificate matches the user.
請求項2に記載の計算機システムであって、
前記第1ブロックチェーンを構成する複数の計算機は、前記リクエストが前記第2ブロックチェーン用の署名を含むと判定された場合、前記第2ブロックチェーンを構成する複数の計算機に前記第1ブロックチェーンの識別情報とともに、前記リクエストを送信し、
前記第2ブロックチェーンを構成する複数の計算機は、
前記第2検証処理の結果が検証成功である場合、前記リクエストとともに送信された前記第1ブロックチェーンの識別情報を用いて、前記リクエストに対応するトランザクションの実行結果の送信先のブロックチェーンの正当性を検証する第3検証処理を実行し、
前記第3検証処理の結果が検証成功である場合、前記リクエストに対応するトランザクションを実行することを特徴とする計算機システム。
A computer system according to claim 2,
When it is determined that the request includes the signature for the second blockchain, the plurality of computers that configure the first blockchain provide the plurality of computers that configure the second blockchain with the signature for the first blockchain. sending said request with identifying information;
The plurality of computers that make up the second blockchain,
If the result of the second verification process is verification success, the identification information of the first blockchain transmitted together with the request is used to verify the validity of the destination blockchain of the execution result of the transaction corresponding to the request. Execute a third verification process to verify the
A computer system, wherein a transaction corresponding to the request is executed when the result of the third verification process is verification success.
請求項1に記載の計算機システムであって、
前記第2ブロックチェーンを構成する複数の計算機は、
前記第1ブロックチェーンを構成する複数の計算機から前記リクエストを受信した場合、前記リクエストに含まれる前記第2ブロックチェーン用の署名を用いて前記リクエストの正当性を検証する第2検証処理を実行し、
前記第2検証処理の結果が検証成功である場合、前記第1ブロックチェーンを構成する複数の計算機に、前記第2検証処理の結果を含む応答を送信し、
前記第1ブロックチェーンを構成する複数の計算機は、
前記応答を受信した場合、前記リクエストに対応するトランザクションを実行し、
前記リクエストに対応するトランザクションの実行が成功した場合、前記リクエストの送信元にトランザクションの成功を通知することによって、前記リクエストの送信元が、前記第2ブロックチェーンを構成する複数の計算機に前記リクエストを送信するように制御し、
前記第2ブロックチェーンを構成する複数の計算機は、前記リクエストの送信元から前記リクエストを受信した場合、前記リクエストに対応するトランザクションを実行することを特徴とする計算機システム。
A computer system according to claim 1,
The plurality of computers that make up the second blockchain,
executing a second verification process of verifying the validity of the request by using the signature for the second block chain included in the request when the request is received from a plurality of computers constituting the first blockchain; ,
If the result of the second verification process is verification success, transmitting a response including the result of the second verification process to a plurality of computers constituting the first blockchain;
The plurality of computers that constitute the first blockchain,
If the response is received, execute a transaction corresponding to the request;
When the execution of the transaction corresponding to the request is successful, by notifying the sender of the request of the success of the transaction, the sender of the request can send the request to the plurality of computers constituting the second blockchain. control to send,
A computer system, wherein the plurality of computers constituting the second block chain execute a transaction corresponding to the request when receiving the request from the source of the request.
請求項1に記載の計算機システムであって、
前記第1ブロックチェーンを構成する複数の計算機および前記第2ブロックチェーンを構成する複数の計算機は、前記第1ブロックチェーンおよび前記第2ブロックチェーン間で送受信されるリクエストに対応するトランザクションを、自ブロックチェーンにおける識別情報と他ブロックチェーンにおける識別情報とを対応づけて管理することを特徴とする計算機システム。
A computer system according to claim 1,
A plurality of computers forming the first block chain and a plurality of computers forming the second block chain process transactions corresponding to requests transmitted and received between the first block chain and the second block chain in their own blocks. A computer system that associates and manages identification information in a chain with identification information in other blockchains.
ブロックチェーンを構成する複数の計算機を有する計算機システムが実行するリクエスト処理方法であって、
前記複数の計算機は、第1ブロックチェーンを構成する複数の計算機と、第2ブロックチェーンを構成する複数の計算機とを含み、
前記リクエスト処理方法は、
前記第1ブロックチェーンを構成する複数の計算機が、前記第1ブロックチェーン用の署名を含む、トランザクションを実行するためのリクエストを受信した場合、前記第1ブロックチェーン用の署名を用いた第1検証処理を実行する第1のステップと、
前記第1ブロックチェーンを構成する複数の計算機が、前記第1検証処理の結果が検証成功である場合、前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであるか否かを判定する第2のステップと、
前記第1ブロックチェーンを構成する複数の計算機が、前記リクエストが前記第2ブロックチェーンに関連するトランザクションを実行するためのリクエストであると判定された場合、前記リクエストが前記第2ブロックチェーン用の署名を含むか否かを判定する第3のステップと、
前記第1ブロックチェーンを構成する複数の計算機が、前記リクエストが前記第2ブロックチェーン用の署名を含むと判定された場合、前記第2ブロックチェーンを構成する複数の計算機に前記リクエストを送信する第4のステップと、を含むことを特徴とするリクエスト処理方法。
A request processing method executed by a computer system having a plurality of computers forming a blockchain,
The plurality of computers includes a plurality of computers forming a first block chain and a plurality of computers forming a second block chain,
The request processing method includes:
When a plurality of computers constituting the first blockchain receive a request for executing a transaction including the signature for the first blockchain, first verification using the signature for the first blockchain a first step of performing a process;
If the result of the first verification process is successful, the plurality of computers configuring the first blockchain determine whether the request is a request for executing a transaction related to the second blockchain. a second step of determining
When the plurality of computers constituting the first blockchain determine that the request is a request for executing a transaction related to the second blockchain, the request is signed for the second blockchain. a third step of determining whether it contains
a plurality of computers configuring the first blockchain, when it is determined that the request includes a signature for the second blockchain, transmitting the request to a plurality of computers configuring the second blockchain; 4. A request processing method, comprising:
請求項7に記載のリクエスト処理方法であって、
前記第1ブロックチェーンを構成する複数の計算機が、前記リクエストに前記第2ブロックチェーン用の署名が含まれないと判定された場合、前記リクエストの送信元に、前記第2ブロックチェーン用の署名の生成を指示するリクエストの再送信依頼を送信する第5のステップと、
前記第2ブロックチェーンを構成する複数の計算機が、前記第1ブロックチェーンを構成する複数の計算機から前記リクエストを受信した場合、前記リクエストに含まれる第2ブロックチェーン用の署名を用いて前記リクエストの正当性を検証する第2検証処理を実行する第6のステップと、
前記第2ブロックチェーンを構成する複数の計算機が、前記第2検証処理の結果が検証成功である場合、前記リクエストに対応するトランザクションを実行する第7のステップと、を含むことを特徴とするリクエスト処理方法。
The request processing method according to claim 7,
When the plurality of computers constituting the first blockchain determine that the request does not include the signature for the second blockchain, the sender of the request must include the signature for the second blockchain. a fifth step of sending a request to resend the request instructing generation;
When the plurality of computers configuring the second blockchain receive the request from the plurality of computers configuring the first blockchain, the signature for the second blockchain included in the request is used to send the request. a sixth step of performing a second verification process for verifying correctness;
and a seventh step of executing a transaction corresponding to the request by a plurality of computers constituting the second blockchain when the result of the second verification process is verification success. Processing method.
請求項8に記載のリクエスト処理方法であって、
前記第6のステップは、前記第2ブロックチェーンを構成する複数の計算機が、前記第2ブロックチェーン用の署名が正当であり、かつ、前記リクエストにおけるトランザクションの主体となるユーザと前記第2ブロックチェーン用の署名を行ったユーザとが一致する場合、検証成功と判定するステップを含むことを特徴とするリクエスト処理方法。
The request processing method according to claim 8,
In the sixth step, a plurality of computers constituting the second blockchain are authenticated by a user whose signature for the second blockchain is valid and who is the subject of the transaction in the request and the second blockchain. A request processing method, comprising a step of determining that verification is successful if the user who signed the request matches the user who signed the request.
請求項8に記載のリクエスト処理方法であって、
前記第4のステップは、前記第1ブロックチェーンを構成する複数の計算機が、前記第2ブロックチェーンを構成する複数の計算機に、前記第1ブロックチェーンの識別情報とともに前記リクエストを送信するステップを含み、
前記第7のステップは、
前記第2ブロックチェーンを構成する複数の計算機が、前記リクエストとともに送信された前記第1ブロックチェーンの識別情報を用いて、前記リクエストに対応するトランザクションの実行結果の送信先のブロックチェーンの正当性を検証する第3検証処理を実行するステップと、
前記第2ブロックチェーンを構成する複数の計算機が、前記第3検証処理の結果が検証成功である場合、前記リクエストに対応するトランザクションを実行するステップと、を含むことを特徴とするリクエスト処理方法。
The request processing method according to claim 8,
The fourth step includes a step in which the plurality of computers forming the first block chain transmit the request together with the identification information of the first block chain to the plurality of computers forming the second block chain. ,
The seventh step is
A plurality of computers constituting the second blockchain use the identification information of the first blockchain transmitted together with the request to verify the validity of the destination blockchain of the execution result of the transaction corresponding to the request. a step of performing a third verification process to verify;
A request processing method, comprising a step of executing a transaction corresponding to the request by a plurality of computers constituting the second blockchain when the result of the third verification process is verification success.
請求項7に記載のリクエスト処理方法であって、
前記第2ブロックチェーンを構成する複数の計算機が、前記第1ブロックチェーンを構成する複数の計算機から前記リクエストを受信した場合、前記リクエストに含まれる前記第2ブロックチェーン用の署名を用いて前記リクエストの正当性を検証する第2検証処理を実行するステップと、
前記第2ブロックチェーンを構成する複数の計算機が、前記第2検証処理の結果が検証成功である場合、前記第1ブロックチェーンを構成する複数の計算機に、前記第2検証処理の結果を含む応答を送信するステップと、
前記第1ブロックチェーンを構成する複数の計算機が、前記応答を受信した場合、前記リクエストに対応するトランザクションを実行するステップと、
前記第1ブロックチェーンを構成する複数の計算機が、前記リクエストに対応するトランザクションの実行が成功した場合、前記リクエストの送信元にトランザクションの成功を通知することによって、前記リクエストの送信元が、前記第2ブロックチェーンを構成する複数の計算機に前記リクエストを送信するように制御するステップと、
前記第2ブロックチェーンを構成する複数の計算機が、前記リクエストの送信元から前記リクエストを受信した場合、前記リクエストに対応するトランザクションを実行するステップと、を含むことを特徴とするリクエスト処理方法。
The request processing method according to claim 7,
When the plurality of computers constituting the second blockchain receives the request from the plurality of computers constituting the first blockchain, the request is processed using the signature for the second blockchain included in the request. a step of performing a second verification process for verifying the correctness of
When the result of the second verification process is successful, the plurality of computers constituting the second blockchain send a response including the result of the second verification process to the plurality of computers constituting the first blockchain. and sending
a step of executing a transaction corresponding to the request when the plurality of computers constituting the first blockchain receives the response;
When the plurality of computers constituting the first blockchain succeed in executing the transaction corresponding to the request, the request sender notifies the request sender of the success of the transaction. a step of controlling to transmit the request to a plurality of computers constituting 2 blockchains;
A request processing method, comprising: when a plurality of computers constituting the second blockchain receive the request from the source of the request, executing a transaction corresponding to the request.
請求項7に記載のリクエスト処理方法であって、
前記第1ブロックチェーンを構成する複数の計算機および前記第2ブロックチェーンを構成する複数の計算機は、前記第1ブロックチェーンおよび前記第2ブロックチェーン間で送受信されるリクエストに対応するトランザクションを、自ブロックチェーンにおける識別情報と他ブロックチェーンにおける識別情報とを対応づけて管理することを特徴とするリクエスト処理方法。
The request processing method according to claim 7,
A plurality of computers forming the first block chain and a plurality of computers forming the second block chain process transactions corresponding to requests transmitted and received between the first block chain and the second block chain in their own blocks. A request processing method characterized by managing identification information in a chain and identification information in another blockchain in association with each other.
JP2019142881A 2019-08-02 2019-08-02 Computer system and request processing method Active JP7190404B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019142881A JP7190404B2 (en) 2019-08-02 2019-08-02 Computer system and request processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019142881A JP7190404B2 (en) 2019-08-02 2019-08-02 Computer system and request processing method

Publications (3)

Publication Number Publication Date
JP2021027443A JP2021027443A (en) 2021-02-22
JP2021027443A5 JP2021027443A5 (en) 2022-03-08
JP7190404B2 true JP7190404B2 (en) 2022-12-15

Family

ID=74664148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019142881A Active JP7190404B2 (en) 2019-08-02 2019-08-02 Computer system and request processing method

Country Status (1)

Country Link
JP (1) JP7190404B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7354877B2 (en) * 2020-02-28 2023-10-03 富士通株式会社 Control method, control program and information processing device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017038507A1 (en) 2015-09-03 2017-03-09 日本電信電話株式会社 Permission information management system, user terminal, proprietor terminal, permission information management method, and permission information management program
JP2017204070A (en) 2016-05-10 2017-11-16 日本電信電話株式会社 Payment system, payment method, transaction generation device, and transaction generation program
WO2018223995A1 (en) 2017-06-07 2018-12-13 众安信息技术服务有限公司 Method, device and system for cross-chain communication in blockchains
JP2019021296A (en) 2017-07-11 2019-02-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic voting system and control method
WO2019081530A1 (en) 2017-10-26 2019-05-02 Gemalto Sa Methods for recording and sharing a digital identity of a user using distributed ledgers
WO2019106006A1 (en) 2017-12-01 2019-06-06 Quant Network Ltd. Blockchain communications and ordering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017038507A1 (en) 2015-09-03 2017-03-09 日本電信電話株式会社 Permission information management system, user terminal, proprietor terminal, permission information management method, and permission information management program
JP2017204070A (en) 2016-05-10 2017-11-16 日本電信電話株式会社 Payment system, payment method, transaction generation device, and transaction generation program
WO2018223995A1 (en) 2017-06-07 2018-12-13 众安信息技术服务有限公司 Method, device and system for cross-chain communication in blockchains
JP2019021296A (en) 2017-07-11 2019-02-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic voting system and control method
WO2019081530A1 (en) 2017-10-26 2019-05-02 Gemalto Sa Methods for recording and sharing a digital identity of a user using distributed ledgers
WO2019106006A1 (en) 2017-12-01 2019-06-06 Quant Network Ltd. Blockchain communications and ordering

Also Published As

Publication number Publication date
JP2021027443A (en) 2021-02-22

Similar Documents

Publication Publication Date Title
JP7377312B2 (en) Systems and methods realized by blockchain
JP7817321B2 (en) Computer-Implemented System and Method for Conducting Transfers Over a Blockchain Network
Baird et al. Hedera: A public hashgraph network & governing council
KR102952987B1 (en) Platform Service Verification
JP7108611B2 (en) Electronic bill management method, device and storage medium
US20220156725A1 (en) Cross-chain settlement mechanism
JP6389350B2 (en) Transaction processing apparatus, transaction processing method, and program therefor
US7958019B2 (en) Peer-to-peer trading platform with roles-based transactions
US7877353B2 (en) Peer-to-peer trading platform with relative reputation-based item search and buddy rating
JP7146093B2 (en) How to share and verify blocks and electronic documents between nodes on blockchain
EP4107644B1 (en) Event streams for a sequence of events associated with a blockchain
KR20240114639A (en) System and method for minting non-fungible token
JP2023066919A (en) Transaction support system, transaction support method and program
KR20240114640A (en) System and method for transfering non-fungible token
WO2021181177A1 (en) Blockchain transaction double spend proof
US20200314078A1 (en) Inter-system linking method and node
TW202130153A (en) Call-back mechanisms for blockchain transactions
CN116569517A (en) Blockchain-based system and method for distributing an operating system
CN113994628A (en) Streaming of partial data over side channels
KR20230011330A (en) Computer-implemented systems and methods for efficient and secure processing, access and transmission of data via blockchain
TWI646487B (en) Smart contract executing system with permission rating and avoid duplication and method thereof
JP7730825B2 (en) Event Stream Synchronization
JP7190404B2 (en) Computer system and request processing method
JP7741167B2 (en) Connecting to Blockchain Networks
CN116894727A (en) A data processing method, device and related equipment based on blockchain

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220228

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R150 Certificate of patent or registration of utility model

Ref document number: 7190404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150