Skip to main content
QUICK REVIEW

[논문 리뷰] Proteus: A Scalable BFT Consesus Protocol for Blockchains

Mohammad M. Jalalzai, Costas Busch|arXiv (Cornell University)|2019. 03. 11.
Distributed systems and fault tolerance참고 문헌 19인용 수 13
한 줄 요약

Proteus는 크기가 c인 동적 루트 위원회를 선출하여 메시지 복잡도를 O(n²)에서 O(cn)으로 감소시켜 확장 가능한 비잔티노스 결함 내성(BFT) 합의 프로토콜이다. 여기서 c << n이다. 뷰 변경 시 전체 위원회를 교체함으로써 어떤 수의 장애가 발생하더라도 안정적인 성능을 유지하며, 200노드의 AWS 배포 환경에서 PBFT와 Bchain-3보다 수신속도와 지연 시간 모두 2배 이상 뛰어나다.

ABSTRACT

Byzantine Fault Tolerant (BFT) consensus exhibits higher throughput in comparison to Proof of Work (PoW) in blockchains. But BFT-based protocols suffer from scalability problems with respect to the number of replicas in the network. The main reason for this limitation is the quadratic message complexity of BFT protocols. Previously, proposed solutions improve BFT performance for normal operation, but will fall back to quadratic message complexity once the protocol observes a certain number of failures. This makes the protocol performance unpredictable as it is not guaranteed that the network will face a a certain number of failures. As a result, such protocols are only scalable when conditions are favorable (i.e., the number of failures are less than a given threshold). To address this issue we propose Proteus, a new BFT-based consensus protocol which elects a subset of nodes $c$ as a root committee. Proteus guarantees stable performance, regardless of the number of failures in the network and it improves on the quadratic message complexity of typical BFT-based protocols to $O(cn)$, where $c&lt;

연구 동기 및 목표

  • 일반 및 장애 조건 하에서 O(n²)의 제곱형 메시지 복잡도로 인해 제한을 받는 BFT 합의 프로토콜의 확장성 문제를 해결한다.
  • 장애 임계치를 초과할 경우 기존 BFT 프로토콜에서 O(n²) 복잡도로 떨어지는 성능 저하 문제를 해결한다.
  • 장애 수와 무관하게 일관된 성능을 유지하기 위해 메시지 복잡도를 장애 수에서 분리한다.
  • 단일 주니어(primary)가 아닌 전체 루트 위원회를 교체하는 뷰 변경 메커니즘을 설계하여 복구력과 효율성을 향상시킨다.
  • 기존 BFT 프로토콜인 PBFT와 Bchain-3를 기준으로 하여 대규모 배포 환경에서 수신속도와 지연 시간 면에서 뛰어난 성능을 입증한다.

제안 방법

  • n개의 레플리카 중 크기가 c인 동적 루트 위원회를 선출하며, 여기서 c는 n보다 점 渐진적으로 작다. 이를 통해 메시지 복잡도를 감소시킨다.
  • 위원회 기반 접근 방식을 사용하여, 블록을 방송하고 검증하는 것은 루트 위원회 멤버들만 수행함으로써 네트워크 전반의 통신을 줄인다.
  • 뷰 변경 프로토콜을 구현하여 단일 주니어가 아닌 전체 루트 위원회를 교체함으로써 교란과 메시지 오버헤드를 최소화한다.
  • 주어진 n과 장애 확률 임계치(P_f ≤ 8.9×10⁻⁷)에 대해 최적의 루트 위원회 크기 c를 결정하기 위해 확률 모델(식 2)을 적용한다.
  • t2.large 인스턴스를 사용하여 200개의 AWS EC2 인스턴스에 Proteus를 구축하고, 네트워크 크기와 블록 크기를 다양하게 변화시켜 PBFT와 Bchain-3와 비교 평가한다.
  • 지연 시간(블록 제안에서 최종 삽입까지의 시간)과 수신속도(초당 트랜잭션 수)를 측정하며, 5,000, 10,000, 15,000 트랜잭션 블록을 대상으로 한다.

실험 결과

연구 질문

  • RQ1장애 수가 임계치를 초과하더라도, BFT 합의 프로토콜이 제곱형 이하의 메시지 복잡도와 안정적인 성능을 유지할 수 있는가?
  • RQ2뷰 변경 시 단일 주니어가 아닌 전체 루트 위원회를 교체할 경우, 메시지 복잡도와 합의 지연 시간에 어떤 영향을 미치는가?
  • RQ3위원회 기반 BFT 프로토콜이 기존의 PBFT나 체인 기반 프로토콜인 Bchain-3에 비해 대규모 환경에서 수신속도와 지연 시간 면에서 얼마나 뛰어나게 성능을 냈는가?
  • RQ4주어진 네트워크 크기 n과 원하는 장애 확률에 대해 최적의 루트 위원회 크기 c는 무엇이며, 이는 어떻게 스케일링되는가?
  • RQ5제안된 프로토콜이 최대 200개의 레플리카까지 다양한 블록 크기와 네트워크 크기에서 고성능을 유지하는가?

주요 결과

  • 200노드 네트워크에서 블록당 15,000개의 트랜잭션을 처리할 때 Proteus는 초당 1,119건의 트랜잭션을 기록했으며, PBFT(초당 422건)와 Bchain-3(초당 560건)를 모두 초월했다.
  • 100노드 및 블록당 10,000개의 트랜잭션에서 Proteus는 초당 1,123건의 트랜잭션을 기록했으며, PBFT는 394건, Bchain-3는 513건이었다.
  • Proteus의 지연 시간은 네트워크 크기와 블록 크기가 증가함에 따라 PBFT와 Bchain-3보다 일관되게 낮게 유지되었으며, 이는 메시지 복잡도 감소 덕분이었다.
  • 뷰 변경 중에도 Proteus는 O(cn)의 메시지 복잡도를 유지했으며, 다른 BFT 프로토콜에서 관찰되는 O(n²)로의 후퇴를 피했다.
  • 성능 향상은 규모가 클수록 두드러졌다: 대규모 배포 환경에서 Proteus는 두 기준 프로토콜보다 초당 2배 이상 높은 수신속도를 제공했다.
  • 확률 모델 기반의 위원회 크기 설정(식 2) 덕분에, 모든 테스트 구성에서 장애 확률이 8.9×10⁻⁷ 이하로 안정적으로 유지되었다.

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

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

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

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