Skip to main content
QUICK REVIEW

[논문 리뷰] Dynamic Byzantine Reliable Broadcast

Rachid Guerraoui, Jovan Komatovic|arXiv (Cornell University)|2020. 01. 17.
Distributed systems and fault tolerance참고 문헌 21인용 수 5
한 줄 요약

이 논문은 바이진틴 대역에서 프로세스의 참여 및 이탈을 지원하는 최초의 이방형, 결정론적 동적 바이진틴 신뢰성 브로드캐스트(dbrb) 원시를 제시한다. 어떤 정상 프로세스가 메시지를 브로드캐스트하면, 이에 대해 모든 정상 프로세스(이탈한 프로세스를 제외하고)가 결국 수신하게 되며, 이는 이방형 환경과 동적 멤버십 조건 하에서도 성립한다. 이는 2/3 이상의 정상 프로세스가 존재하는 조건 하에서 성립한다.

ABSTRACT

Reliable broadcast is a communication primitive guaranteeing, intuitively, that all processes in a distributed system deliver the same set of messages. The reason why this primitive is appealing is twofold: (i) we can implement it deterministically in a completely asynchronous environment, unlike stronger primitives like consensus and total-order broadcast, and yet (ii) reliable broadcast is powerful enough to implement important applications like payment systems. The problem we tackle in this paper is that of dynamic reliable broadcast, i.e., enabling processes to join or leave the system. This property is desirable for long-lived applications (aiming to be highly available), yet has been precluded in previous asynchronous reliable broadcast protocols. We study this property in a general adversarial (i.e., Byzantine) environment. We introduce the first specification of a dynamic Byzantine reliable broadcast (DBRB) primitive that is amenable to an asynchronous implementation. We then present an algorithm implementing this specification in an asynchronous network. Our DBRB algorithm ensures that if any correct process in the system broadcasts a message, then every correct process delivers that message unless it leaves the system. Moreover, if a correct process delivers a message, then every correct process that has not expressed its will to leave the system delivers that message. We assume that more than $2/3$ of processes in the system are correct at all times, which is tight in our context. We also show that if only one process in the system can fail---and it can fail only by crashing---then it is impossible to implement a stronger primitive, ensuring that if any correct process in the system broadcasts or delivers a message, then every correct process in the system delivers that message---including those that leave.

연구 동기 및 목표

  • 기존의 이방형 바이진틴 신뢰성 브로드캐스트 프로토콜에서 동적 멤버십(참여/이탈) 지원의 부재를 해결한다.
  • 이방형 시스템에서 구현 가능한 동적 바이진틴 신뢰성 브로드캐스트(dbrb)의 사양을 설계한다.
  • 프로세스가 참여하거나 이탈하더라도 강력한 일致성 보장을 보장한다. 즉, 메시지 전달은 전부 또는 없음이며, 모든 정상 프로세스 간 일致성이 유지된다.
  • 이방형 환경에서 동적 멤버십과 크래시 장애를 고려할 때, 더 강력한 성질(예: 강력한 유효성 또는 강력한 전수성)이 달성될 수 없음을 증명한다.
  • 2/3 이상의 정상 프로세스가 존재하는 조건 하에서 dbrb의 안전성과 활성성 성질을 만족하는 결정론적 이방형 알고리즘을 제공한다.

제안 방법

  • 그룹 멤버십나 시각 동기화에 의존하지 않고도 프로세스가 동적으로 참여 및 이탈할 수 있도록 하는 새로운 dbrb 사양을 정의한다.
  • 초기로 알려진 집합에서 구성된 멤버십 변화의 시퀀스를 사용하여, 항상 정상 프로세스의 다수와 시스템 상태의 변화에 대해 일致성이 확보되도록 한다.
  • 유효한 시각(vmR)과 설치된 시각(vinstalled)의 시퀀스를 유지하여 멤버십 변화를 추적하고, 정상 프로세스 간의 일치성을 보장한다.
  • 다수의 정상 프로세스가 메시지 전달을 담당하도록 큸럼 기반 메커니즘을 활용하며, 송신자가 실패하더라도 메시지 전달 보장을 한다.
  • 이탈의 상징적 단계와 원자적 단계를 모델링하기 위해 내부 이벤트인 almostLeaveComplete와 leaveComplete를 도입하여, 불가능성 증명에서의 불가지향성 논증을 가능하게 한다.
  • 이방형 모델에서 불가지향성 논증을 사용하여, 크래시 장애와 동적 멤버십 조건 하에서 더 강력한 변종(예: 강력한 유효성 또는 강력한 전수성)이 이방형 환경에서 달성될 수 없음을 증명한다.

실험 결과

연구 질문

  • RQ1결정론적 이방형 바이진틴 신뢰성 브로드캐스트 프로토콜이 안정성과 활성성을 유지하면서도 동적 멤버십(프로세스의 참여 및 이탈)을 지원할 수 있는가?
  • RQ2이러한 동적 dbrb 프로토콜이 이방형 바이진틴 환경에서 정확하게 작동하기 위해 필요한 최소한의 가정(예: 다수의 정상 프로세스)은 무엇인가?
  • RQ3dbrb 원시를 강화하여, 어떤 정상 프로세스가 메시지를 브로드캐스트하면, 모든 정상 프로세스(이탈한 프로세스 포함)가 메시지를 수신하도록 보장할 수 있는가?
  • RQ4크래시 장애가 존재하는 이방형 시스템에서 동적 바이진틴 신뢰성 브로드캐스트의 근본적 한계는 무엇인가?
  • RQ5최소한의 장애 가정 하에서 더 강력한 dbrb 변종(예: 강력한 유효성 또는 강력한 전수성)에 대한 불가능성 결과를 도출할 수 있는가?

주요 결과

  • 이 논문은 안정성과 활성성을 유지하면서도 프로세스의 참여 및 이탈을 지원하는 최초의 이방형 결정론적 알고리즘을 제시한다.
  • 어떤 정상 프로세스가 메시지를 브로드캐스트하면, 이 시스템에서 이탈하지 않은 모든 정상 프로세스가 결국 메시지를 수신하게 된다.
  • 어떤 정상 프로세스가 메시지를 수신하면, 수신 이전에 이탈 의도를 표명하지 않은 모든 정상 프로세스도 메시지를 수신하게 된다.
  • 프로토콜은 항상 2/3 이상의 프로세스가 정상 상태여야 하며, 이 조건은 프로토콜의 정확성에 대해 날카로운 경계이다.
  • 논문은 이방형 환경에서 최소한의 크래시 장애 모델(단 하나의 프로세스만 고장날 수 있음) 하에서도, 강력한 동적 바이진틴 신뢰성 브로드캐스트(sdbrb)의 구현이 불가능함을 증명한다.
  • 불가능성 결과는 불가지향성 논증을 통해 확립된다: 한 실행에서 고장난 송신자의 메시지가 프로세스가 이탈한 후로 지연되며, 이로 인해 그 프로세스가 메시지를 수신할 수 없게 되어 강력한 유효성 또는 강력한 전수성을 위반한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.