Skip to main content
QUICK REVIEW

[論文レビュー] Byzantine-Tolerant Register in a System with Continuous Churn

Saptaparni Kumar, Jennifer L. Welch|arXiv (Cornell University)|Oct 13, 2019
Distributed systems and fault tolerance参考文献 32被引用数 4
ひとこと要約

この論文は、連続的なチェンジ(参加・退出)が続く動的システムにおいて、システムサイズに上限がない中で、最初にビザンチン耐性を備えたアトミックレジスタを実装した。アルゴリズムは、チェンジが任意の時間間隔においてシステムサイズの定数倍α以内に制限され、最大f台のビザンチンサーバーが存在する条件下で、アトミック性と安全性を保証する。fが未知である場合には、不可能であることを示している。

ABSTRACT

A shared read/write register emulation provides the illusion of shared-memory on top of message-passing models. The main hurdle with such emulations is dealing with server faults in the system. Several crash-tolerant register emulations in static systems require algorithms to replicate the value of the shared register onto a majority of servers. Majority correctness is necessary for such emulations. Byzantine faults are considered to be the worst kind of faults that can happen in any distributed system. Emulating a Byzantine-tolerant register requires replicating the register value on to more than two-thirds of the servers. Emulating a register in a dynamic system where servers and clients can enter and leave the system and be faulty is harder than in static systems. There are several crash-tolerant register emulations for dynamic systems. This paper presents the first emulation of a multi-reader multi-writer atomic register in a system that can withstand nodes continually entering and leaving, imposes no upper bound on the system size and can tolerate Byzantine servers. The algorithm works as long as the number of servers entering and leaving during a fixed time interval is at most a constant fraction of the system size at the beginning of the interval, and as long as the number of Byzantine servers in the system is at most f. Although our algorithm requires that there be a constant known upper bound on the number of Byzantine servers, this restriction is unavoidable, as we show that it is impossible to emulate an atomic register if the system size and maximum number of servers that can be Byzantine in the system is unknown to the nodes.

研究の動機と目的

  • 連続的なチェンジが続く動的システムにおいて、システムサイズに上限がない中で、チェンジが完全に停止する必要がない状況でも、ビザンチン耐性アトミックレジスタを設計すること。
  • サーバーとクライントが継続的に参加・退出する中で、ビザンチン障害が発生する状況において、一貫性と安全性を維持する課題に対処すること。
  • このようなレジスタを安全に実装できる条件を確立すること、特にチェンジレート(α)とビザンチンサーバー数(f)の制限を明確にすること。
  • このモデルにおいて一様なアルゴリズムを実装できないことを示し、動的ビザンチンシステムの根本的な限界を強調すること。
  • 既知の上界fが必要であることを示し、fの上界が不明な場合には問題が解けないことを示すこと。

提案手法

  • アトミック性を保証するために、タイムスタンプに基づく全順序化メカニズムを用い、すべての操作に開始時刻に基づき一意なタイムスタンプを割り当て、クorum集合との調整を通じて実現する。
  • 読み取りと書き込み操作が重複するサーバー集合にアクセスすることで、ビザンチン障害下でも一貫性を保証するビザンチンクォーラムシステム(BQS)を採用する。
  • 任意の固定時間間隔において、参加・退出するサーバー数がその間隔の開始時のシステムサイズのα倍以内であると仮定し、チェンジが有界であることを保証する。
  • クライアントとサーバーがリーダー中心のメカニズムにより協調し、クォーラムの整合性を維持するとともに、すべての操作がシステム全体で一貫した順序で処理されることを保証する。
  • 書き込みには2段階プロトコルを用いる:まず、書き込み要求がクォーラムのサーバーに送信され、次に多数のサーバーが確認した後に書き込みがコミットされる。
  • 書き込みをタイムスタンプ順に並べ、読み取りを読み取った直前の書き込みの後に配置することで、全操作に全順序を構築し、アトミック性とリアルタイム順序を保証する。

実験結果

リサーチクエスチョン

  • RQ1連続的なチェンジが続く動的システムで、システムサイズに上限がない中で、ビザンチンサーバー障害に耐えうるアトミックレジスタを実装できるか?
  • RQ2チェンジが完全に停止する必要がなく、システムサイズに上限がない状況でも、このようなシステムでアトミック性と安全性を達成できるか?
  • RQ3正しいかつ安全な実装が可能となるために必要なチェンジレート(α)とビザンチンサーバー数(f)の条件は何か?
  • RQ4このモデルにおいて、一様なアルゴリズムを実装できるか、それとも根本的な不可能性の結果があるか?
  • RQ5fの上界が既知であるという仮定は必要不可欠であるか、それとも未知の数のビザンチンサーバーを耐えられるか?

主な発見

  • 本論文は、連続的なチェンジが続く動的システムで、システムサイズに上限がない中で、チェンジが完全に停止する必要がない状況でも、最初にビザンチン耐性アトミックレジスタを実装するアルゴリズムを提示した。
  • アルゴリズムは、タイムスタンプとクォーラム協調に基づく全順序を構築することで、アトミック性を保証し、すべての読み取りが直前の書き込みの値を返すことを保証する。
  • システムは、任意の固定時間間隔においてチェンジレートがシステムサイズの定数倍α以内であり、かつビザンチンサーバー数が既知の定数f以内である限り正しく動作する。
  • 本論文は、ビザンチンサーバー数fが未知である場合には、このようなレジスタを実装することが不可能であることを証明し、システム仮定における根本的な下界を確立した。
  • 著者らは、fの上界が既知であるという仮定が避けられないことを示し、これを緩和すると問題が解けなくなることを示した。
  • アルゴリズムは提示された制約のもとで正しく証明されており、正しさはリアルタイム実行順序を尊重し、一貫性を保証する操作順序の注意深い構築に依存している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。