[논문 리뷰] Flow: Separating Consensus and Compute -- Block Formation and Execution
이 논문은 유량(Flow)을 제안하며, 이는 이질적인 노드에 특화된 역할을 부여함으로써 거래 순서에 대한 합의와 거래 실행을 분리하는 파이프라인 블록체인 아키텍처이다. 수집자, 합의, 실행, 검증 노드의 역할을 할당함으로써 계산에서 합의를 분리함으로써, 유사한 블록체인보다 56배 높은 처리량을 달성하면서도, 검증 가능한 실행과 오작동에 대한 슬래싱 메커니즘을 통해 강력한 안전성과 활성 보장을 유지한다.
Most current blockchains require all full nodes to execute all tasks limits the throughput of existing blockchains, which are well documented and among the most significant hurdles for the widespread adoption of decentralized technology. This paper extends out presentation of Flow, a pipelined blockchain architecture, which separates the process of consensus on the transaction order from transaction computation. As we experimentally showed in our previous white paper, our architecture provides a significant throughput improvement while preserving the security of the system. Flow exploits the heterogeneity offered by the nodes, in terms of bandwidth, storage, and computational capacity, and defines the roles for the nodes based on their tasks in the pipeline, i.e., Collector, Consensus, Execution, and Verification. While transaction collection from the user agents is completed through the bandwidth-optimized Collector Nodes, the execution of them is done by the compute-optimized Execution Nodes. Checking the execution result is then distributed among a more extensive set of Verification Nodes, which confirm the result is correct in a distributed and parallel manner. In contrast to more traditional blockchain architectures, Flow's Consensus Nodes do not execute the transaction. Instead, Verification Nodes report observed faulty executions to the Consensus Nodes, which adjudicate the received challenges and slash malicious actors. In this paper, we detail the lifecycle of the transactions from the submission to the system until they are getting executed. The paper covers the Collector, Consensus, and Execution role. We provide a protocol specification of collecting the transactions, forming a block, and executing the resulting block. Moreover, we elaborate on the safety and liveness of the system concerning these processes.
연구 동기 및 목표
- 모든 완전 노드가 합의, 실행, 거래 수집을 수행해야 하는 전통적인 블록체인의 처리량 저하 문제를 해결하기 위해.
- 대역폭, 스토리지, 계산 능력에서의 노드 이질성을 활용하여 고처리량 블록체인 확장성을 실현하기 위해.
- 주관적(합의 의존) 및 객관적(결정론적) 작업을 분리함으로써 시스템의 보안성과 탈중앙화를 유지하기 위해.
- 검증 가능한 실행과 슬래싱 도전을 통해 악성 행동의 탐지 가능성과 내성에 대한 보장을 위해.
- 비잔티우스 노드가 존재하더라도 분산 검증과 합의 중재를 통해 활성과 안전성을 확보하기 위해.
제안 방법
- 다양한 역할 할당: 수집자 노드는 대역폭 최적화된 통신을 통해 거래 수집을 담당하며, 합의 노드는 거래를 실행하지 않고도 블록 순서를 최종화한다.
- 실행 노드는 병렬로 결정론적 거래 실행을 수행하며, 암호학적 증명(SPoCK)이 포함된 실행 수신확인서를 생성한다.
- 검증 노드는 실행 추적의 무작위로 샘플된 조각을 검사함으로써 분산 및 병렬 방식으로 실행 결과를 검증한다.
- 핫스타프 기반 합의를 사용하여 블록 최종화를 수행하며, 합의 노드는 검증자로부터 온 슬래싱 도전을 중재한다.
- 노드 선택 및 블록 형성에서의 예측 가능성 방지를 위해 분산 무작위 비콘(DRB)을 도입한다.
- 각 블록이 조각으로 나뉘고, 실행 추적은 암호학적으로 암묵적으로 확인되며 점진적으로 검증되는 조각화된 실행 모델을 적용한다.
실험 결과
연구 질문
- RQ1합의와 실행을 분리함으로써 보안성과 탈중앙화를 유지하면서도 블록체인의 처리량을 크게 향상시킬 수 있는가?
- RQ2대역폭, 컴퓨팅 능력, 스토리지에서의 이질적 노드 능력을 안전하고 확장 가능한 블록체인 아키텍처에서 효과적으로 활용할 수 있는가?
- RQ3소수의 전문화된 노드에서 실행이 이루어지고 더 큰 수의 검증자가 이를 검증하는 상황에서 안전성과 활성 보장은 어떻게 확보되는가?
- RQ4오작동한 실행 결과는 탈중앙화된 시스템에서 높은 확률로 탐지되고 효과적으로 슬래싱될 수 있는가?
- RQ5분산 무작위 비콘은 블록 형성 과정을 보호하고 악성 조작을 방지하는 데 어떤 역할을 하는가?
주요 결과
- Flow는 합의 및 실행 워크로드를 분리함으로써 동일한 블록체인 아키텍처 대비 56배의 처리량 향상을 달성한다.
- 시스템은 강력한 안전성을 유지한다: 최대 n−1개의 비잔티우스 실행 노드가 존재하더라도, 오류 있는 실행 결과는 최대 1−ε 확률로 봉인되며, 이때 ε ≤ 10−12로 조정된 시스템 파rameter에 따라 설정된다.
- 적어도 하나의 정상 작동하는 실행 노드가 존재하는 한 활성이 보장되며, 이는 실행 수신확인서가 최종적으로 생성됨을 의미한다.
- 오류 있는 계산 결과는 검증 노드에 의해 높은 확률로 탐지되고 도전을 받으며, 이로 인해 악성 행위자에 대한 효과적인 슬래싱이 가능하다.
- 비잔티우스 클러스터는 탐지 가능성과 책임 소재의 명확성으로 인해 완화된다: 오류 있는 수집자는 슬래싱되며, 누락된 수집은 중재를 위한 도전을 유도한다.
- SPoCK(Specialized Proof of Confidential Knowledge)의 사용은 최소한의 신뢰 가정으로 효율적이고 검증 가능하며 책임 있는 실행을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.