JP2022547013A - Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体 - Google Patents

Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体 Download PDF

Info

Publication number
JP2022547013A
JP2022547013A JP2022513959A JP2022513959A JP2022547013A JP 2022547013 A JP2022547013 A JP 2022547013A JP 2022513959 A JP2022513959 A JP 2022513959A JP 2022513959 A JP2022513959 A JP 2022513959A JP 2022547013 A JP2022547013 A JP 2022547013A
Authority
JP
Japan
Prior art keywords
node
recovery
waiting
nodes
pqc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022513959A
Other languages
English (en)
Other versions
JP7367191B2 (ja
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Publication of JP2022547013A publication Critical patent/JP2022547013A/ja
Application granted granted Critical
Publication of JP7367191B2 publication Critical patent/JP7367191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

本出願では、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を開示し、3f+1個のノードで構成されるPBFTネットワークでは、ネットワークの遅延やネットワークの切断などにより、単一ノードが異常状態に入ることがよくある。異常ノードはまずビュー変更要求を開始し、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受け取ることができない場合、異常ノードは回復待ち状態に入り、回復待ちノードはネットワーク全体のすべてのノードに回復要求を開始し、正常ノードからの返信を待ち、かつ同じビュー値を含むノードからの2f+1個の返信を収集するまでカウントし、その後、ネットワーク全体の安定性チェックポイントの高さを算出し、状態更新して最終的に回復を完了する。この方法は、PBFTアルゴリズムに内在する、自律的に回復できない単一ノードの障害という問題を解決し、PBFTアルゴリズムの実用性を大幅に向上させる。

Description

(関連出願の相互参照)
本出願は、2019年10月10日に出願された、「PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法」と題された中国特許出願第201910956576.8の優先権を主張し、そのすべての内容が参照により本出願に組み込まれている。
本出願は、PBFTアルゴリズムの技術分野に関し、特に、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体に関する。
PBFTは、Practical Byzantine Fault Toleranceの略語で、つまり、実用的なビザンチンフォールトトレランスアルゴリズムである。当該アルゴリズムは、1999年にMiguel Castro(カストロ)およびBarbara Liskov(リスコフ)によって提案されたもので、元のビザンチンフォールトトレランスアルゴリズムの低効率の問題を解決し、アルゴリズムの時間計算量がO(n^2)であるため、実際のシステム応用ではビザンチンフォールトトレランスの問題を解決することができる。f個のビザンチンノードの存在を許容するために、PBFTはインターネット全体で少なくとも3f+1個のノードを必要としている。
PBFTアルゴリズムの通常のコンセンサスプロセスは、Pre-PrepareとPrepareとCommitの3つの段階に分かれている。スレーブノードがマスターノードの異常を発見した場合、スレーブノードはビュー変更を能動的にトリガーしてマスターノードを切り替えることで、システムの正常なサービスを外部に提供することを確保することができる。しかしながら、あるノードはマスターノードとの接続が一時的に切断される(マスターノードが異常であると誤認される)ことで、そのノードがビュー変更状態になるが、他のノードはマスターノードに正常に接続されていて通常状態のままであるため、そのノードは、インターネット全体が次のビュー変更に入るまでビュー変更要求を継続的に再送することでしか通常状態に戻ることができないので、全体的な異常回復時間は、インターネット全体が次の異常回復をトリガーする時間に依存しており、このような受動的な回復方法は、実際の応用に対して明らかに十分に実用ではない。
本出願の様々な実施例によれば、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を提供し、前記PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、当該方法は以下のようなステップを含む。
S1:正常に動作しているノードは、ネットワーク上の理由でシステムの異常が検出されると、異常状態に入り、すなわち異常ノードになる。
S2:前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューへ入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含む。
S3:前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになる。
S4:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信する。
S5:前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻る。
前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージである。
S6:前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行する。
S7:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求する。
S8:他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信する。
S9:前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了する。
さらに、前記S2のビュー変更要求には、本ノードの署名情報も含まれる。
さらに、前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできない。
さらに、前記S4の回復要求には、回復待ちノードの署名情報も含まれる。ここで、回復待ちノードの署名情報は、ノードのアイデンティティを確認し、悪意のあるノードが回復要求を偽造して正常ノードのネットワーク帯域幅を消費することを防ぐために使用される。
さらに、前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれる。ここで、前記署名情報は、回復待ちノードが正常ノードのアイデンティティを確認し、悪意のあるノードが返信情報を偽造して回復待ちノードが回復を完了できないということを防ぐために使用される。
さらに、前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報しか再実行できない。
本出願の有益な効果は以下のとおりである。
本出願の方法では、PBFTアルゴリズムに基づいて単一ノードの異常回復プロセスを追加し、異常ノードを2つのステップで異常回復させ、第1ステップでは、従来のPBFTアルゴリズムのビュー変更法に従って異常回復を試み、回復がタイムアウトした場合、単一ノードの異常回復法の第2のステップに進み、この方法ではノードが一致した2f+1個のビュー値を取得してビュー値を更新し、かつ2f+1個のノードのチェックポイント高さを取得してチェックポイントの高速回復を行うことで回復速度を高める。本出願で提案するPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法は、従来のPBFTアルゴリズムにおける単一ノードが異常である場合の受動的回復法を改善し、ノード動作中の異常回復速度を大幅に上昇させ、PBFTアルゴリズムの実用性を向上させる。
本出願の様々な実施例によれば、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法をさらに提供し、前記方法は、最大でf個のノードのビザンチンエラーを許容する、3f+1個のノードを含むピアツーピアネットワークに適用され、前記方法は、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するステップと、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするステップと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するステップと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行するステップと、を含み、
上述した状態回復を実行することは、
2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に応じて、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含み、
上述した最終的な回復を実行することは、
前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む。
一実施例では、上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含む。
一実施例では、上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含む。
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
一実施例では、カウントする時、各ノードは1回だけカウントされる。
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
一実施例では、上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含む。
本出願の様々な実施例によれば、さらに、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムを提供し、前記システムは、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュールと、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュールと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュールと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュールと、
2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に応じて、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュールと、
前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュールと、を含む。
本出願の様々な実施例によれば、さらにコンピュータ設備を提供し、前記コンピュータ設備は、メモリおよびプロセッサを備え、前記メモリにはコンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行する時に、上述したPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
本出願の様々な実施例によれば、コンピュータプログラムが記憶された可読記憶媒体をさらに提供し、前記コンピュータプログラムは、プロセッサによって実行されると、上述したPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
ここで開示されるそれらの発明の実施例および/または例示をよりよく記述及び説明するために、1つ以上の図面を参照することができる。図面を説明するための追加の詳細または例示は、開示された発明、現在説明されている実施例および/または例示、および現在理解されているこれらの発明の最良の態様のいずれかの範囲を制限するものと見なされるべきではない。
本出願の実施例に係る単一ノードの異常能動的回復のプロセスを示す概略図である。 本出願の実施例に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のプロセスを示す概略図である。 本出願の実施例に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムの構造を示す概略図である。 本出願の実施例に係るコンピュータ設備の内部構造を示す図である。
本出願への理解を容易にし、本出願の上記目的、特徴および利点をより明白かつ理解しやすくするために、以下は図面と併せて本出願の具体的な実施形態を詳細に説明する。以下の説明では、本出願を十分に理解するために、多くの具体的な詳細が示されており、本出願の好ましい実施形態が図面で示されている。しかし、本出願は多くの異なる形態で実施可能であり、本明細書に記載された実施形態に限定されない。むしろ、これらの実施形態は、本出願の開示内容をより徹底的かつ包括的に理解する目的で提供されている。本出願は、本明細書に記載されたもの以外にも多くの方法で実施することができ、また、本出願の内容に矛盾することなく当業者が同様の改良を加えることができるため、本出願は以下に開示される具体的な実施例によって限定されない。
なお、「第1」、「第2」という用語は目的を説明するためのものに過ぎず、相対的な重要度を指示や示唆するもの、或いは指示される技術的特徴の数を暗示的に表示するものとして理解できない。そこで、「第1」、「第2」に限定される特徴は、それらの特徴のうちの1つ以上を明示的や暗示的に含むことができる。本出願の説明において、「複数」とは、特に明示的かつ具体的に限定しない限り、2つ以上、例えば2つ、3つなどを意味する。本出願の説明において、「若干」とは、特に明示的かつ具体的に限定しない限り、1つ以上、例えば1つ、2つなどを意味する。
特に定義されていない限り、本明細書で使用されているすべての技術的および科学的用語は、当業者が一般的に理解しているものと同じ意味を持つ。本明細書で使用されている用語は、具体的な実施形態を説明するためのものに過ぎず、本出願を限定するものではない。本明細書では、「および/または」という用語は、挙げられた関連する1つ以上の項目の任意およびすべての組み合わせを含む。
図1に示すように、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法であって、前記PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、当該方法は具体的に、以下のS1、S2、S3、S4、S5、S6、S7、S8、S9を含む。
S1:正常に動作しているノードは、ネットワーク上の理由でマスターノードが異常であることを判明すると、異常状態に入り、すなわち異常ノードになる。
S2:前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューに入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含む。
S3:前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになる。
当該ステップでは、前記異常ノードは、まずビュー変更を試み、ネットワーク全体で2f+1個以上のノードが同じビュー値でビュー変更を開始することを試みる場合、前記異常ノードは直接ビュー変更方法によって異常回復を完了することができ、具体的には、前記異常ノードは、ネットワーク全体の2f+1個のノードから推奨されたビュー値によって、新しいビューのマスターノードを特定し、かつ新しいマスターノードが確認メッセージを送信するのを待ち、これによって異常回復を完了できるようになり、前記異常ノードが所定時間内に2f+1個のノードからのビュー変更要求を受信しなかった場合、この時点ではネットワーク全体が正常状態にあり、当該ノードのみが異常状態にあると考えられ、このとき、前記異常ノードは、元のPBFTアルゴリズムにおけるビュー変更要求を連続的に再送する方法に従った受動的な回復待ちを要することなく、直接回復待ち状態に入り、その後の回復方法によって自律的に回復する。
S4:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信する。
S5:前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻る。
前記正常ノードが回復待ちノードから回復要求を受信した後に返信されたビュー値は、回復待ちノードがネットワーク全体の安定したビュー値を取得してビュー回復を実行できるように保証するために使用され、返信された安定性チェックポイントの高さは、回復待ちノードがネットワーク全体の最新の安定性チェックポイントの高さを取得してチェックポイント状態回復を実行できるように保証するために使用される。
前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージである。
S6:前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行する。
ここで、安定性チェックポイントは、ネットワーク全体のノードの2/3以上が到達したと本ノードによって確認された高さであり、PBFTアルゴリズムにおけるメモリリサイクル条件に到達した高さである。
S7:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求する。
S8:他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信する。
S9:前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了する。
PQC情報はPBFTアルゴリズムにおける3段階のコンセンサスメッセージであるため、PQC情報のみで正常ノードと一致する高さまで回復することができる。
本出願に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を利用することで、異常ノードは、異常回復プロセスを自律的にトリガーすることができ、異常回復にかかる時間を大幅に短縮することができる。
好ましくは、前記S2のビュー変更要求はさらに、本ノードの署名情報を含む。
好ましくは、前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできない。
好ましくは、前記S4の回復要求には、回復待ちノードの署名情報も含まれる。ここで、回復待ちノードの署名情報は、ノードのアイデンティティを確認し、悪意のあるノードが回復要求を偽造して正常ノードのネットワーク帯域幅を消費することを防ぐために使用される。
好ましくは、前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれる。ここで、前記署名情報は、回復待ちノードが正常ノードのアイデンティティを確認し、悪意のあるノードが返信情報を偽造して回復待ちノードが回復を完了できないということを防ぐために使用される。
好ましくは、前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報しか再実行できない。
さらに、図2に示すように、本出願に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法は、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークに応用され得、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復を以下のステップによって実現できる。
S110:異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始し、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応する。
S120:第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにする。
S130:前記回復待ちノードからネットワーク全体の他のノートに、前記回復待ちノードのIDを含む回復要求を送信する。
S140:第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行する。
S150:上述した状態回復を実行することは、2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含む。
S160:上述した最終的な回復を実行することは、前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む。
一実施例では、上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含む。
一実施例では、上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含む。
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
一実施例では、カウントする時、各ノードは1回だけカウントされる。
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
一実施例では、上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含む。
一実施例では、図3に示すように、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムを提供し、前記システムは、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュール210と、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュール220と、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュール230と、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュール240と、
2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュール250と、
前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュール260と、を含む。
一実施例では、第1の回復モジュール250はさらに、前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するために使用される。
一実施例では、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、前記回復要求モジュール230は引き続き、前記回復待ちノードからネットワーク全体の他のノートに回復要求を開始する。
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
一実施例では、カウントする時、各ノードは1回だけカウントされる。
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
一実施例では、第2の回復モジュール260は、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するために使用される。
PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムについての具体的な限定は、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法の限定を参照することができるので、ここでは繰り返して説明しない。上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムにおける各モジュールの全部または一部は、ソフトウェア、ハードウェアおよびそれらの組み合わせによって実現できる。上記の各モジュールは、ハードウェア形態でコンピュータ設備のプロセッサに組み込まれ、またはそのプロセッサから独立してもよいし、プロセッサが上記の各モジュールに対応する操作を呼び出して実行できるように、ソフトウェア形態でコンピュータ設備のメモリに記憶されてもよい。
一実施例では、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復のコンピュータ設備を提供し、当該コンピュータ設備は端末であってもよく、その内部構造図は図4に示すものであってもよい。当該コンピュータ設備は、システムバスを介して接続されたプロセッサ、メモリ、ネットワークインターフェース、ディスプレイおよび入力装置を含む。ここで、当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために使用される。当該コンピュータ設備のメモリは、不揮発性記憶媒体と内部メモリを含む。当該不揮発性記憶媒体には、オペレーティングシステムおよびコンピュータプログラムが記憶されている。当該内部メモリは、不揮発性記憶媒体のオペレーティングシステムやコンピュータプログラムが動作する環境を提供する。当該コンピュータ設備のネットワークインターフェースは、ネットワークを介して外部の端末と通信するために使用される。当該コンピュータプログラムは、プロセッサによって実行されると、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を実現する。当該コンピュータ設備のディスプレイは、液晶ディスプレイまたは電子インクディスプレイであり得、当該コンピュータ設備の入力装置は、ディスプレイ上に覆われたたタッチ層であってもよく、コンピュータ設備のハウジング上に設置されたキー、トラックボール、タッチパッドであってもよく、外付けのキーボード、タッチパッド、マウスなどであってもよい。
図4に示された構造は、本出願の解決手段に関連する構造の一部を示すブロック図に過ぎず、本出願の解決手段が応用されるスマートコントラクトクライアントプログラムを生成するための設備を限定するものではなく、スマートコントラクトクライアントプログラムを生成するための具体的な設備は、図に示されたものよりも多くのまたは少ない部品を含めるか、特定の部品を組み合わせてもよく、または部品の異なる配置を有することが、当業者には理解され得る。
一実施例では、コンピュータ設備を提供し、コンピュータプログラムが記憶されたメモリと、プロセッサとを含み、当該プロセッサがコンピュータプログラムを実行する時に、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
一実施例では、コンピュータプログラムが記憶された可読記憶媒体を提供し、コンピュータプログラムがプロセッサによって実行されると、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
当業者であれば理解されるように、上記の実施例の方法におけるプロセスの全部または一部は、関連するハードウェアを指示するコンピュータプログラムによって実現可能であり、当該コンピュータプログラムは、不揮発性のコンピュータ可読記憶媒体に記憶されてもよく、また、実行されると、上述した各方法の実施例のプロセスを含み得る。ここで、本出願で提供される各実施例で使用されるメモリ、ストレージ、データベース、または他の媒体への言及は、いずれも不揮発性メモリおよび/または揮発性メモリを含んでもよい。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能なROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能なROM(EEPROM)またはフラッシュメモリを含み得る。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを含み得る。限定ではなく例として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張SDRAM(ESDRAM)、同期リンク(Synchlink)DRAM(SLDRAM)、ラムバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトラムバスダイナミックRAM(DRDRAM)、やラムバスダイナミックRAM(RDRAM)など、様々な形式で利用できる。
上述した実施例の各技術的特徴は、任意に組み合わせてもよく、説明を簡潔にするために、上述した実施例の技術的特徴の可能な組み合わせのすべてを説明していないが、これらの技術的特徴の組み合わせが矛盾しない限り、いずれも本明細書の範囲内にあるとみなされるべきである。
当業者であれば理解されるように、前述は本出願の好ましい実施例に過ぎず、本出願を限定することを意図したものではなく、前述の実施例を参照して本出願を詳細に説明したにもかかわらず、当業者は、前述の実施例に記載された技術的解決手段を修正したり、その技術的特徴の一部を同等に置き換えたりすることが可能である。本出願の精神と原則の範囲内のすべての修正、同等な置き換えなどは、いずれも本出願の保護範囲に含まれるものとする。
210 異常要求モジュール
220 第1のカウントモジュール
230 回復要求モジュール
240 第2のカウントモジュール
250 第1の回復モジュール
260 第2の回復モジュール

Claims (17)

  1. PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、
    正常に動作しているノードは、ネットワーク上の理由でシステムの異常が検出されると、異常状態に入り、すなわち異常ノードになるステップS1と、
    前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューへ入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含むステップS2と、
    前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになるステップS3と、
    前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信するステップS4と、
    前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻るステップS5と、
    ここで、前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、
    前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行するステップS6と、
    前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求するステップS7と、
    他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信するステップS8と、
    前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了するステップS9と、を含むことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  2. 前記S2のビュー変更要求はさらに、本ノードの署名情報を含むことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  3. 前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできないことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  4. 前記S4の回復要求はさらに、回復待ちノードの署名情報を含むことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  5. 前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれることを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  6. 前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報のみを再実行することを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  7. 最大でf個のノードのビザンチンエラーを許容する、3f+1個のノードを含むピアツーピアネットワークに適用され、
    異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始し、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応するステップと、
    第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするステップと、
    前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するステップと、
    第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行するステップと、を含み、
    上述した状態回復を実行することは、
    2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含み、
    上述した最終的な回復を実行することは、
    前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、ことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  8. 上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
    前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  9. 上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
    前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  10. 前記ビュー変更要求はさらに、本ノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  11. カウントする時、各ノードは1回だけカウントされることを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  12. 前記回復要求はさらに、前記回復待ちノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  13. 前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  14. 上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
    前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
  15. 異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュールと、
    ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
    第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュールと、
    前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュールと、
    第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュールと、
    2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュールと、
    前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュールと、を含むことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システム。
  16. コンピュータプログラムが記憶されたメモリと、プロセッサとを含み、前記プロセッサが前記コンピュータプログラムを実行する時に、請求項1-14のいずれか一項に記載の方法を実現することを特徴とする、コンピュータ設備。
  17. プロセッサによって実行されると、請求項1-14のいずれか一項に記載の方法のステップを実現することを特徴とする、コンピュータプログラムが記憶された可読記憶媒体。
JP2022513959A 2019-10-10 2020-10-10 Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体 Active JP7367191B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910956576.8 2019-10-10
CN201910956576.8A CN110460484B (zh) 2019-10-10 2019-10-10 一种基于pbft算法改进的单节点异常主动恢复方法
PCT/CN2020/120111 WO2021068919A1 (zh) 2019-10-10 2020-10-10 基于pbft算法改进的单节点异常主动恢复方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
JP2022547013A true JP2022547013A (ja) 2022-11-10
JP7367191B2 JP7367191B2 (ja) 2023-10-23

Family

ID=68492781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022513959A Active JP7367191B2 (ja) 2019-10-10 2020-10-10 Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体

Country Status (5)

Country Link
US (1) US11841778B2 (ja)
EP (1) EP4044509A4 (ja)
JP (1) JP7367191B2 (ja)
CN (1) CN110460484B (ja)
WO (1) WO2021068919A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130879B (zh) * 2019-12-24 2022-11-18 杭州趣链科技有限公司 一种基于pbft算法的集群异常恢复方法
CN111432280B (zh) * 2020-03-19 2021-10-01 福建捷联电子有限公司 基于区块链的电视受保护数据自动修复方法
CN111988321B (zh) * 2020-08-24 2022-02-11 桂林电子科技大学 一种基于机器学习的联盟链异常检测系统及其检测方法
CN116991623B (zh) * 2023-08-30 2024-01-02 杭州趣链科技有限公司 区块链节点异常恢复方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180329783A1 (en) * 2016-10-04 2018-11-15 NEC Laboratories Europe GmbH Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
JP2019012510A (ja) * 2017-06-30 2019-01-24 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
WO2019101245A2 (en) * 2019-03-18 2019-05-31 Alibaba Group Holding Limited Consensus system downtime recovery

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671821B1 (en) * 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
JP2006160051A (ja) * 2004-12-07 2006-06-22 Toyota Motor Corp 車輌の制動力制御装置
US20170061421A1 (en) * 2015-08-27 2017-03-02 Tipflip, Llc System and method for permitting proximity based funds transfer from one person to another
CN106447311B (zh) * 2016-09-26 2019-11-08 北京天德科技有限公司 一种四次通信的拜占庭容错算法的区块链建块方法
US20180308091A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Fairness preserving byzantine agreements
CN107423152B (zh) * 2017-04-24 2019-05-21 杭州趣链科技有限公司 一种区块链共识节点自动恢复方法
WO2020033216A2 (en) * 2018-07-31 2020-02-13 Oded Wertheim Scaling and accelerating decentralized execution of transactions
CN109039748B (zh) * 2018-08-10 2021-09-03 上交所技术有限责任公司 一种pbft协议动态增删节点的方法
CN109347804B (zh) * 2018-09-19 2020-02-07 电子科技大学 一种用于区块链的拜占庭容错共识优化方法
RU2724181C1 (ru) * 2018-11-07 2020-06-22 Алибаба Груп Холдинг Лимитед Упрощение консенсуса в цепочках блоков по принципу практичной отказоустойчивости на основе византийского соглашения и синхронизации узлов
CN109784916A (zh) * 2018-12-12 2019-05-21 广东工业大学 一种改进pbft的以太坊共识机制应用于联盟链的方法
EP3889780A1 (en) * 2019-03-18 2021-10-06 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
CN110166295B (zh) * 2019-05-23 2021-07-30 杭州趣链科技有限公司 一种用于判断网络拓扑支持拜占庭容错与否的方法
CN111130879B (zh) * 2019-12-24 2022-11-18 杭州趣链科技有限公司 一种基于pbft算法的集群异常恢复方法
US11609824B2 (en) * 2021-07-22 2023-03-21 Vmware, Inc. Byzantine fault tolerant view change processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180329783A1 (en) * 2016-10-04 2018-11-15 NEC Laboratories Europe GmbH Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
JP2019012510A (ja) * 2017-06-30 2019-01-24 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
WO2019101245A2 (en) * 2019-03-18 2019-05-31 Alibaba Group Holding Limited Consensus system downtime recovery
JP2020518887A (ja) * 2019-03-18 2020-06-25 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 合意システムのダウンタイムの回復

Also Published As

Publication number Publication date
US11841778B2 (en) 2023-12-12
CN110460484A (zh) 2019-11-15
WO2021068919A1 (zh) 2021-04-15
CN110460484B (zh) 2020-02-18
US20220222156A1 (en) 2022-07-14
JP7367191B2 (ja) 2023-10-23
EP4044509A1 (en) 2022-08-17
EP4044509A4 (en) 2023-10-25

Similar Documents

Publication Publication Date Title
JP2022547013A (ja) Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体
Zhu et al. Blockchain based consensus checking in decentralized cloud storage
CN111651300B (zh) 一种区块链数据恢复方法、装置、设备及介质
WO2021184877A1 (zh) 用于区块链系统的节点管理的方法、节点和计算设备
CN110502319B (zh) 分布式事务的处理方法、装置、电子设备及存储介质
WO2021184878A1 (zh) 用于区块链系统的节点管理的方法、节点和计算设备
Phillips M7: Next generation SPARC
Nikolić et al. Self-healing dilemmas in distributed systems: Fault correction vs. fault tolerance
Diack et al. CAP theorem between claims and misunderstandings: what is to be sacrificed
CN110908801B (zh) 基于区块链的数据处理方法、装置、计算机设备和存储介质
Bakhshi et al. Using UPPAAL to verify recovery in a fault-tolerant mechanism providing persistent state at the edge
CN111897826A (zh) 参数信息更新方法、装置、电子设备及可读存储介质
CN111488247A (zh) 一种管控节点多次容错的高可用方法及设备
Xu et al. RATCHETA: Memory-Bounded Hybrid Byzantine Consensus for Cooperative Embedded Systems
CN111338848B (zh) 故障应用副本处理方法、装置、计算机设备和存储介质
Dolev A simple model for agreement in distributed systems
Shrestha et al. Revisiting ezBFT: A decentralized Byzantine fault tolerant protocol with speculation
Mansouri et al. A communication-induced checkpointing algorithm for consistent-transaction in distributed database systems
CN113157494B (zh) 区块链系统中数据备份的方法及装置
Kaur et al. Integrated mechanism to prevent agent blocking in secure mobile agent platform system
US11928555B2 (en) System of quantum processors, information processing method, and non-transitory storage medium thereof
Nasibullin et al. Fault Tolerant Distributed Hash-Join in Relational Databases
CN115203215A (zh) 数据处理方法和装置、存储介质及电子设备
Srivastava et al. Rigorous Design of Moving Sequencer Atomic Broadcast with Malicious Sequencer
Arora et al. Improved checkpoint mechanism in mobile agent systems for information retrieval applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231011

R150 Certificate of patent or registration of utility model

Ref document number: 7367191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150