Skip to main content
QUICK REVIEW

[논문 리뷰] GRANDPA: a Byzantine Finality Gadget

Alistair Stewart, Eleftherios Kokoris-Kogia|arXiv (Cornell University)|2020. 07. 03.
Distributed systems and fault tolerance참고 문헌 15인용 수 8
한 줄 요약

이 논문은 분산 블록체인 시스템에서 라이브니스와 안전성을 분리하는 비잔티노스 최종성 가젯인 GRANDPA를 소개한다. 이는 확정된 최종성과 함께 낙관적 거래 실행을 가능하게 하며, 증명 가능한 최종성을 제공한다. 논문은 완전한 비동기 환경에서 결정론적 최종성이 불가능하다는 것을 증명하지만, 파라미터가 부분적으로 동기화된 환경에서 Polkadot를 보호하는 GRANDPA를 제안한다. 이는 최대 1/3의 비잔티노스 장애를 견딜 수 있으며, 네트워크의 불안정성에도 불구하고 안전성을 유지하면서도 빠른 최종성을 달성한다.

ABSTRACT

Classic Byzantine fault-tolerant consensus protocols forfeit liveness in the face of asynchrony in order to preserve safety, whereas most deployed blockchain protocols forfeit safety in order to remain live. In this work, we achieve the best of both worlds by proposing a novel abstractions called the finality gadget. A finality gadget allows for transactions to always optimistically commit but informs the clients that these transactions might be unsafe. As a result, a blockchain can execute transactions optimistically and only commit them after they have been sufficiently and provably audited. In this work, we formally model the finality gadget abstraction, prove that it is impossible to solve it deterministically in full asynchrony (even though it is stronger than consensus) and provide a partially synchronous protocol which is currently securing a major blockchain. This way we show that the protocol designer can decouple safety and liveness in order to speed up recovery from failures. We believe that there can be other types of finality gadgets that provide weaker safety (e.g., probabilistic) in order to gain more efficiency and this can depend on the probability that the network is not in synchrony.

연구 동기 및 목표

  • 블록체인 합의에서 라이브니스와 안전성 간의 상충 관계를 해결하기 위해 최종성 가젯 추상화를 도입한다.
  • 최종화가 이루어지기 전에 블록을 낙관적으로 확정할 수 있도록 허용하는 '게으른 최종성'을 메커니즘으로서 정의한다.
  • 완전한 비동기 환경에서 결정론적 최종성이 불가능하다는 것을 증명한다. 이는 가젯이 합의보다 강력함에도 불구하고 비동기 환경에서 합의의 불가능성으로 인해 발생한다.
  • 비잔티노스 장애에 대한 내성과 함께 빠르고 증명 가능한 최종성을 달성하는 부분적으로 동기화된 최종성 가젯인 GRANDPA를 설계하고 검증한다.
  • 다중 체인 생태계에서의 점진적 도입 및 이질적인 경량 클라이언트 지원을 가능하게 하는 배포 유연성을 제공한다.

제안 방법

  • 모든 최종성 보장이 가능한 블록체인에 대해 증명 가능한 최종성을 추가하는 하위 프로토콜로 최종성 가젯 추상화를 도입한다.
  • 최대 1/3의 비잔티노스 검증자 존재를 가정한 부분적으로 동기화된 네트워크 모델을 사용하여 가젯을 수학적으로 정의한다.
  • 핵심 구성 요소를 정의한다: 전투표(prevotes), 확정표(precommits), 그리고 체인 헤드에 대한 초과표결을 기반으로 한 최종화 논리.
  • 레마를 사용하여 네트워크가 동기화된 상태일 경우, 정직한 참가자들이 최종적으로 정확한 체인 헤드를 확정하게 된다는 것을 증명한다.
  • GRANDPA의 라운드 기반 프로토콜을 설계한다. 정직한 주도자(primary)는 최선의 체인을 방송하고, 정직한 투표자들은 초과표결을 받은 최고 수준의 체인 헤드에 사전 확정(precommit)한다.
  • 정직한 주도자와 네트워크 동기화 조건 하에서, 모든 정직한 참가자들이 글로벌 안정화 시간(GST) 이후 6T 시간 단위 내에 정확한 블록을 최종화한다는 것을 증명한다.

실험 결과

연구 질문

  • RQ1블록체인 시스템에서 라이브니스와 안전성을 분리할 수 있는 최종성 가젯을 설계할 수 있는가?
  • RQ2완전히 비동기 네트워크 모델에서 결정론적 최종성이 달성 가능한가?
  • RQ3네트워크 비동기 상태에서 복구할 수 있도록 최종성 가젯이 안전성을 유지하면서도 빠른 복구를 지원할 수 있는가?
  • RQ4비잔티노스 장애에 대한 내성과 함께 증명 가능한 최종성을 달성하기 위해 최소한의 가정(예: 부분적으로 동기화 모델)이 필요한가?
  • RQ5최종성 가젯은 점진적으로 도입 가능하고, 이질적인 경량 클라이언트 행동을 지원할 수 있는가?

주요 결과

  • 정직한 주도자와 최대 1/3의 비잔티노스 검증자를 가정할 경우, GRANDPA는 글로벌 안정화 시간(GST) 이후 6T 시간 단위 내에 정확한 블록을 최종화한다는 것이 증명되었다.
  • 완전한 비동기 환경에서는 결정론적 최종성이 불가능하며, 이는 최종성 가젯이 합의보다 강력함에도 불구하고 비동기 환경에서 합의의 불가능성으로 인해 발생한다.
  • 프로토콜은 낙관적 실행을 지원한다: 최종화 이전에도 블록을 체인에 추가할 수 있어 네트워크 불안정성 동안 라이브니스가 향상된다.
  • 네트워크 분할 이후 동기화가 복구되면, 최종화가 지연되었더라도 진행이 가능하므로 빠른 복구를 지원한다.
  • 경량 클라이언트는 최종성 가젯을 신뢰하거나 가장 긴 체인 규칙을 따를 수 있도록 선택할 수 있어, 다중 체인 시스템에서 클라이언트의 이질성과 확장성을 보장한다.
  • 최근의 유효성 레마는, 어떤 블록이 정직한 참가자들이 일정 기간 동안 최선의 체인에서 그 블록을 보지 못한 채 최종화된 경우, 연속된 다수의 라운드에서 비잔티노스 주도자가 존재했음을 보여주며 책임성에 대한 측정 기준을 제공한다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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