JP7144490B2 - システム及びプログラム - Google Patents
システム及びプログラム Download PDFInfo
- Publication number
- JP7144490B2 JP7144490B2 JP2020132607A JP2020132607A JP7144490B2 JP 7144490 B2 JP7144490 B2 JP 7144490B2 JP 2020132607 A JP2020132607 A JP 2020132607A JP 2020132607 A JP2020132607 A JP 2020132607A JP 7144490 B2 JP7144490 B2 JP 7144490B2
- Authority
- JP
- Japan
- Prior art keywords
- transactions
- node
- log
- transaction
- client terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Description
[1-1.システムの概要]
図1~図10を用いて、本発明の第1実施形態に係る分散型台帳システム10、分散型台帳システム10を構成する情報処理装置(ノード100)、及びノード100に接続されるクライアント端末400、並びに、これらを動作させるためのプログラムについて説明する。図1~図3は、本発明の一実施形態に係る分散型台帳システムの概要を示す図である。
図5を用いて、本実施形態に係る分散型台帳システム10のリーダノード200の機能を説明する。図5は、本発明の一実施形態に係る分散型台帳システムに用いられるリーダノードの機能構成を示すブロック図である。図5に示すように、リーダノード200は、CM通信部210、TX受信部220、整列処理部230、ログ生成部240、分散処理部250、及びデータ更新部260を有する。これらの機能部は通信バス290によって互いに通信可能に接続されている。これらの機能部の機能は、リーダノード200に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。
図6は、本発明の一実施形態に係る分散型台帳システムにおけるトランザクション及びログの具体例を示す図である。図6に示すように、トランザクションTX1-1は、口座番号AAAから口座番号BBBに10万円移動する、という取引要求に基づくトランザクションである。トランザクションTX1-2は、口座番号BBBから口座番号CCCに20万円移動する、という取引要求に基づくトランザクションである。
(1)口座番号AAAの残高を取得する(口座番号AAAの残高は100万円)。
(2)口座番号BBBの残高を取得する(口座番号BBBの残高は1000万円)。
(3)口座番号AAAから10万円引いた場合の金額を計算する(90万円)。
(4)口座番号BBBに10万円足した場合の金額を計算する(1010万円)。
(5)口座番号AAAに90万円と書き込む。
(6)口座番号BBBに1010万円と書き込む。
図7を用いて、本実施形態に係る分散型台帳システム10のクライアント端末400の機能を説明する。図7は、本発明の一実施形態に係る分散型台帳システムに用いられるクライアント端末の機能構成を示すブロック図である。図7に示すように、クライアント端末400は、取引要求受信部420、TX生成部430、TXバッファリング部440、LN通信部450、及びTX送信部460を有する。これらの機能部は通信バス490によって互いに通信可能に接続されている。これらの機能部の機能は、クライアント端末400に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。なお、上記の各機能部は、クライアント端末400の各クライアントプロセス410によって実行される。
図8を用いて、本実施形態に係る分散型台帳システム10のフォロワノード300の機能を説明する。図8は、本発明の一実施形態に係る分散型台帳システムに用いられるフォロワノードの機能構成を示すブロック図である。図8に示すように、フォロワノード300は、ログ受信部310、ログ格納部320、合意形成部330、及びデータ更新部340を有する。これらの機能部は通信バス390によって互いに通信可能に接続されている。これらの機能部の機能は、フォロワノード300に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。
図9は、本発明の一実施形態に係る分散型台帳システムの動作を示すシーケンスを示す図である。まず、クライアント端末400においてユーザ端末からの取引要求に応じたトランザクションTXが生成される(ステップS701~S702)。生成されたトランザクションTXは、上記のTXバッファリング部440によってバッファリングされる。そして、バッファリングされたトランザクションTXの数がしきい値に達した場合に(ステップS703)、バッファリングされたトランザクションTXが1つのブロックにまとめられてリーダノード200に送信される(ステップS704)。
図11~図15を用いて、本発明の第2実施形態に係る分散型台帳システム10Aについて説明する。以下の説明において、分散型台帳システム10Aの構成のうち、第1実施形態に係る分散型台帳システム10と同様の特徴を有する構成には、分散型台帳システム10と同様の符号の後にアルファベット「A」を付して、詳細な説明を省略する場合がある。以下の分散型台帳システム10Aの説明において、主に分散型台帳システム10と異なる点について説明する。
第2実施形態に係る分散型台帳システム10Aの概要は第1実施形態に係る分散型台帳システム10とほぼ同様なので、説明を省略する。なお、第2実施形態において、第1実施形態と同様の構造及び機能を有する構成要素は、図1~図10を参照し、これらの図に示された各構成要素の符号の後ろにアルファベット「A」を付して説明する。
図11を用いて、本実施形態に係る分散型台帳システム10Aのリーダノード200Aの機能を説明する。図11は、本発明の一実施形態に係る分散型台帳システムに用いられるリーダノードの機能構成を示すブロック図である。図11に示すリーダノード200Aの各機能部は、図5のリーダノード200の各機能部に類似しているが、整列処理部230A及び分散処理部250Aの構成が図5の整列処理部230及び分散処理部250と相違する。
排他制御の具体的なシーケンスを図12に示す。図12は、本発明の一実施形態に係る分散型台帳システムにおける排他制御の動作を示すシーケンスを示す図である。図12に示すように、リーダノード200Aが複数のトランザクションを含むブロックを受信する(ステップS810A)と、整列処理部230Aによって、トランザクションTX1-1、TX1-2の順で整列される。排他制御機能231Aは、トランザクションTX1-1の処理(ステップS812A)が行われる前に各ノードのデータ更新に対してロックをかける処理を追加する(ステップS811A)。S811A及びS812Aの後に、各ノードにおいて更新されたデータを永続化する(ステップS813A)。具体的には、S813Aでは、S812Aによって規定された内容で各ノードのデータ更新(データベースの書き換え)を行う。S813Aの後にS811Aでかけたロックを解除する(ステップS814A)。ロックの解除後は、トランザクションTX1-2に対する処理(ステップS815A~S818A)が行われる。なお、トランザクションTX1-2の処理内容はトランザクションTX1-1の処理内容と同じなので、詳細な説明は省略する。なお、この場合、トランザクションTX1-1とTX1-2とは順序が逆になってもよい。
データ同期アルゴリズムの具体的なシーケンスを図15に示す。図15は、本発明の一実施形態に係る分散型台帳システムにおけるデータ同期アルゴリズムの動作を示すフローチャートを示す図である。図15のフローチャートは、図10のフローチャートと類似しているが、図15のフローチャートは、フォロワノード300Aの合意形成を確認する際に、全てのフォロワノード300Aのうち過半数の合意が確認された場合に、ログの複製が完了したと見なす点、及びフォロワノード300Aのデータの整合性確認を行う点において、図10のフローチャートと相違する。以下の説明において、図10と同様の構成については説明を省略し、主に図10の構成と異なる点について説明する。
図16~図17を用いて、本発明の第3実施形態に係る分散型台帳システム10Bについて説明する。以下の説明において、分散型台帳システム10Bの構成のうち、第1実施形態に係る分散型台帳システム10と同様の特徴を有する構成には、分散型台帳システム10と同様の符号の後にアルファベット「B」を付して、詳細な説明を省略する場合がある。以下の分散型台帳システム10Bの説明において、主に分散型台帳システム10と異なる点について説明する。
第3実施形態に係る分散型台帳システム10Bの概要は第1実施形態に係る分散型台帳システム10とほぼ同様なので、説明を省略する。なお、第3実施形態において、第1実施形態と同様の構造及び機能を有する構成要素は、図1~図10を参照し、これらの図に示された各構成要素の符号の後ろにアルファベット「B」を付して説明する。
第3実施形態に係る分散型台帳システム10Bのリーダノード200Bの機能は、第1実施形態に係る分散型台帳システム10と類似しているが、リーダノード200Bは、複数のフォロワノード300Bにログを送信する際に、複数のログをグループ単位にまとめて送信する点において、リーダノード200と相違する。以下、リーダノード200Bの機能について図5を参照して説明する。ただし、上記のように、以下の説明では、図5に示す符号の後にアルファベット「B」付した。
Claims (6)
- 分散された台帳に口座情報を記録する複数のノードのうち1つの第1ノードが、クライアント端末から、前記台帳への口座情報の更新を要求する複数のトランザクションを、前記複数のトランザクションを含むブロック単位で受信するシステムであって、
前記ブロックに含まれる前記複数のトランザクションの各々は、異なる口座間の取引の処理を要求する処理要求データであって、一体不可分の処理単位として扱われ、互いに関連又は依存する複数の処理要求データを含み、前記複数のトランザクションの各々に対して、前記クライアント端末によって付された識別子であって、前記複数のトランザクションが属するブロックを特定する識別子が付される、システム。 - 前記第1ノードは、前記第1ノードと前記クライアント端末との1回の通信の確立で、前記複数のトランザクションを受信する、請求項1に記載のシステム。
- 前記第1ノードは、前記ブロック単位で前記複数のトランザクションの処理内容及び順序を記録した複数のログを前記台帳に記録する、請求項1に記載のシステム。
- 分散された台帳に口座情報を記録する複数のノードのうち1つの第1ノードに、クライアント端末から、前記台帳への口座情報の更新を要求する複数のトランザクションを、前記複数のトランザクションを含むブロック単位で受信することを実行させるためのプログラムであって、
前記ブロックに含まれる前記複数のトランザクションの各々は、異なる口座間の取引の処理を要求する処理要求データであって、一体不可分の処理単位として扱われ、互いに関連又は依存する複数の処理要求データを含み、前記複数のトランザクションの各々に対して、前記クライアント端末によって付された識別子であって、前記複数のトランザクションが属するブロックを特定する識別子を付す、プログラム。 - 前記第1ノードと前記クライアント端末との1回の通信の確立で、前記複数のトランザクションを受信することを前記第1ノードに実行させるための、請求項4に記載のプログラム。
- 前記第1ノードは、前記ブロック単位で前記複数のトランザクションの処理内容及び順序を記録した複数のログを前記台帳に記録する、請求項4に記載のプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020132607A JP7144490B2 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
JP2021115121A JP7308887B2 (ja) | 2020-08-04 | 2021-07-12 | システム及びプログラム |
PCT/JP2021/026421 WO2022030204A1 (ja) | 2020-08-04 | 2021-07-14 | システム、端末、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020132607A JP7144490B2 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021115121A Division JP7308887B2 (ja) | 2020-08-04 | 2021-07-12 | システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022029319A JP2022029319A (ja) | 2022-02-17 |
JP7144490B2 true JP7144490B2 (ja) | 2022-09-29 |
Family
ID=80117998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020132607A Active JP7144490B2 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7144490B2 (ja) |
WO (1) | WO2022030204A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019110511A (ja) | 2017-12-16 | 2019-07-04 | 株式会社bitFlyer | ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード |
CN110930149A (zh) | 2018-12-07 | 2020-03-27 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012018449A (ja) * | 2010-07-06 | 2012-01-26 | Fujitsu Ltd | スナップショット取得処理プログラム、スナップショット取得処理方法、スナップショット・パティシパント・コンピュータ、スナップショット・コーディネータ・コンピュータ |
JP2017126172A (ja) * | 2016-01-13 | 2017-07-20 | 富士通株式会社 | データベース制御プログラム、データベース制御装置、およびデータベース制御方法 |
KR20180115768A (ko) * | 2016-02-23 | 2018-10-23 | 엔체인 홀딩스 리미티드 | 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템 |
EP3439232B1 (en) * | 2016-03-31 | 2023-12-06 | bitFlyer Blockchain, Inc. | Transaction processing device, transaction processing method, and program for same |
US11281644B2 (en) * | 2017-07-28 | 2022-03-22 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
US11271717B2 (en) * | 2018-02-21 | 2022-03-08 | Thunder Token Inc. | Blockchain consensus methods and systems |
JP6839126B2 (ja) * | 2018-04-12 | 2021-03-03 | 日本電信電話株式会社 | 制御処理装置、制御処理方法および制御処理プログラム |
JP7067232B2 (ja) * | 2018-04-20 | 2022-05-16 | コニカミノルタ株式会社 | サービス提供装置およびプログラム |
JP7077792B2 (ja) * | 2018-06-01 | 2022-05-31 | 富士フイルムビジネスイノベーション株式会社 | データ処理装置 |
JP7131106B2 (ja) * | 2018-06-11 | 2022-09-06 | 富士通株式会社 | トランザクション管理装置、トランザクション管理方法及びプログラム |
-
2020
- 2020-08-04 JP JP2020132607A patent/JP7144490B2/ja active Active
-
2021
- 2021-07-14 WO PCT/JP2021/026421 patent/WO2022030204A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019110511A (ja) | 2017-12-16 | 2019-07-04 | 株式会社bitFlyer | ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード |
CN110930149A (zh) | 2018-12-07 | 2020-03-27 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022029319A (ja) | 2022-02-17 |
WO2022030204A1 (ja) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730204B (zh) | 区块链网络中删除节点的方法和区块链系统 | |
US11347598B2 (en) | Consensus system downtime recovery | |
US11281644B2 (en) | Blockchain logging of data from multiple systems | |
AU2019203861B2 (en) | System and method for ending view change protocol | |
US20200125556A1 (en) | Consensus system and method | |
US20210256016A1 (en) | Blockchain system and method | |
EP2419845B1 (en) | Policy-based storage structure distribution | |
US10977135B2 (en) | Consensus system downtime recovery | |
AU2019203862B2 (en) | System and method for ending view change protocol | |
JP7012879B2 (ja) | 誤り訂正符号に基づく共有されたブロックチェーンデータの記憶のコンセンサス | |
CN111061769A (zh) | 一种区块链系统的共识方法及相关设备 | |
US10938750B2 (en) | Consensus system downtime recovery | |
US11880356B1 (en) | Multi-processor transaction-based validation architecture that compares indicia associated with matching transaction tags | |
Schintke et al. | Enhanced paxos commit for transactions on dhts | |
US10467223B1 (en) | Mixed-mode method for combining active/active and validation architectures | |
JP7308887B2 (ja) | システム及びプログラム | |
JP7144490B2 (ja) | システム及びプログラム | |
JP7016389B1 (ja) | システム及びプログラム | |
Hood et al. | Partitionable asynchronous cryptocurrency blockchain | |
Zhang et al. | Building consistent transactions with inconsistent replication (extended version) | |
Gupta et al. | Practical Byzantine Fault-Tolerant Consensus | |
AU2019101612A4 (en) | Consensus system downtime recovery | |
AU2019101610A4 (en) | Consensus system downtime recovery | |
US11973869B2 (en) | Maintaining blocks of a blockchain in a partitioned blockchain network | |
JP2019021022A (ja) | 負荷分散装置、負荷分散方法、および、負荷分散プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200805 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200805 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20200825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20200825 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210112 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210712 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210712 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20210721 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20210803 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20211001 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20211005 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20211130 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220201 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20220308 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220428 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20220524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220715 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20220808 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20220913 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220915 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7144490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |