[논문 리뷰] A lightweight BFT consensus protocol for blockchains
이 논문은 블록체인을 위한 경량 Byzantine fault-tolerant (BFT) 합의 프로토콜인 Lisk-Bft를 제안한다. 이 프로토콜은 1/3 미만의 Byzantine 검증자와 1/3 미만의 장애 장애 시에도 안전성과 활성화를 보장한다. Lisk 블록체인에 두 개의 추가 정수만을 사용하여 블록 내에 합의 정보를 인코딩함으로써 원활하게 통합되며, 추가 메시지가 필요로 하지 않으며, 포크 기반 설계를 통해 블록 제안과 합의가 별개로 진행될 수 있도록 한다.
We present a general consensus framework that allows to easily introduce a customizable Byzantine fault tolerant consensus algorithm to an existing (Delegated) Proof-of-Stake blockchain. We prove the safety of the protocol under the assumption that less than 1/3 of the validators are Byzantine. The framework further allows for consensus participants to choose subjective decision thresholds in order to obtain safety even in the case of a larger proportion of Byzantine validators. Moreover, the liveness of the protocol is shown if less than 1/3 of the validators crash. Based on the framework, we introduce Lisk-BFT, a Byzantine fault tolerant consensus algorithm for the Lisk ecosystem. Lisk-BFT integrates with the existing block proposal mechanism, requires only two additional integers in blocks and no additional messages. The protocol is simple and provides safety in the case of static validators if less than 1/3 of the validators are Byzantine. For the case of dynamically changing validators, we prove the safety of the protocol assuming a bound on the number of Byzantine validators and the number of honest validators that can change at one time. We further show the liveness of the Lisk-BFT protocol for less than 1/3 crashing validators.
연구 동기 및 목표
- 기존의 (위임된) Proof-of-Stake 블록체인에 쉽게 통합될 수 있는 Byzantine fault-tolerant 합의 프로토콜을 설계하기 위해.
- 1/3을 초과하는 검증자가 Byzantine일 경우에도 주관적인 결정 임계값을 허용함으로써 안전성을 보장하기 위해.
- 1/3 미만의 장애가 발생할 경우에도 활성화를 유지함으로써 부분적으로 동기화된 네트워크에서의 강건성을 확보하기 위해.
- 합의 정보를 블록에 직접 인코딩함으로써 추가 메시지가 필요로 하지 않도록 통신 오버헤드를 최소화하기 위해.
- 다양한 블록체인 시스템에 적용 가능한 일반적인 합의 프레임워크를 제공하여 안전성 및 활성화 보장을 커스터마이징할 수 있도록 하기 위해.
제안 방법
- 프로토콜은 포크 기반 설계를 사용하여 블록 제안이 합의 결정과 별개로 진행될 수 있도록 하여 지연 시간과 통신 오버헤드를 감소시킨다.
- 정의 4.1에 따라 블록 높이와 시간에 기반해 정상 검증자가 생성한 블록을 암시적 prevote와 precommit로 매핑하는 변환 메커니즘을 도입한다.
- 합의는 결정 임계값 메커니즘을 통해 달성되며, 검증자가 체인 내에서 2/3 이상의 검증자 무게에 해당하는 precommit을 관찰하면 블록을 최종화한다.
- 프로토콜은 라운드로빈 기반의 블록 제안 메커니즘을 가정하며, 최종화 이후 연속 블록 수가 검증자 세트 크기의 3배 이하일 것이라 요구한다.
- 안전성은 1/3 미만의 검증자가 Byzantine일 경우에 증명되며, 활성화는 1/3 미만의 장애가 발생할 경우에 유지된다.
- 최종화는 ρ개의 연속 블록 이후에 달성되며, ρ ≥ 3|V_B|이므로 정상 검증자가 pre-vote 및 pre-commit 단계에서 모두 블록을 생성함을 보장한다.
실험 결과
연구 질문
- RQ1최소한의 통신 오버헤드로 강력한 안전성과 활성화 보장을 유지하면서 BFT 합의 프로토콜을 설계할 수 있는가?
- RQ2추가 메시지가 필요로 하지 않는 포크 기반 합의 모델에서 최종화는 어떻게 달성할 수 있는가?
- RQ31/3을 초과하는 Byzantine 검증자가 존재할 경우, 검증자가 주관적인 결정 임계값을 사용할 때 안전성이 보장되는 조건은 무엇인가?
- RQ41/3 미만의 검증자가 장애를 일으킬 경우에도 프로토콜이 활성화를 유지할 수 있는 조건은 무엇인가?
- RQ5블록체인 시스템에서 커스터마이징 가능한 안전성 및 활성화 특성을 지원할 수 있는 일반적인 합의 프레임워크를 구성할 수 있는가?
주요 결과
- Lisk-Bft는 1/3 미만의 검증자가 Byzantine일 경우 안전성을 보장하며, 1/3 미만의 검증자가 장애를 일으킬 경우 활성화가 유지된다.
- 프로토콜은 ρ개의 연속 블록 이후 최종화를 달성하며, ρ ≥ 3|V_B|이다. 최종화는 체인 내에서 블록에 대해 2/3 초과의 검증자 무게가 precommit을 내면 발생한다.
- 최종화는 블록 B^(1)이 ρ개의 블록에 의해 이전되며, 모든 정상 검증자가 >2/3 무게 세트에 속해 있고, 첫 j개와 마지막 ρ−j개 블록에서 각각 최소 한 개의 블록을 생성한 경우에 발생한다.
- 프로토콜은 블록당 두 개의 추가 정수만을 사용하여 합의 상태를 인코딩함으로써 추가 메시지가 필요로 하지 않는다.
- 결정 임계값 τ_V ∈ (1/3, 2/3]을 가진 모든 정상 검증자는 체인 내에서 >2/3 무게의 검증자 하위집단으로부터 충분한 precommit을 관찰하면 블록 B^(1)을 최종화할 수 있다.
- 일반적인 합의 프레임워크는 커스터마이징 가능한 안전성 임계값을 지원하며, 집합 서명을 통합함으로써 추가로 통신 오버헤드를 줄일 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.