Skip to main content
QUICK REVIEW

[논문 리뷰] Rainblock: Faster Transaction Processing in Public Blockchains

Soujanya Ponnapalli, Aashaka Shah|arXiv (Cornell University)|2019. 09. 25.
Blockchain Technology Applications and Security참고 문헌 67인용 수 7
한 줄 요약

RainBlock는 I/O를 핵심 경로에서 분리하고 고유한 스토리지 설계를 통해 I/O 증폭을 줄임으로써 공개 블록체인의 거래 처리 속도를 향상시키는 혁신적인 블록체인 아키텍처를 제안한다. 분산 및 스크래치드 머클 트리(DSM-Tree)를 도입하여 공식 합의나 블록 생성 속도를 변경하지 않은 채 고성능, 안전하고 확장 가능한 거래 실행을 가능하게 하며, 지리적으로 분산된 환경에서 초당 20,000건의 거래 처리를 달성한다.

ABSTRACT

Public blockchains like Ethereum use Merkle trees to verify transactions received from untrusted servers before applying them to the blockchain. We empirically show that the low throughput of such blockchains is due to the I/O bottleneck associated with using Merkle trees for processing transactions. We present RAINBLOCK, a new architecture for public blockchains that increases throughput without affecting security. RAINBLOCK achieves this by tackling the I/O bottleneck on two fronts: first, decoupling transaction processing from I/O, and removing I/O from the critical path; second, reducing I/O amplification by customizing storage for blockchains. RAINBLOCK uses a novel variant of the Merkle tree, the Distributed Sharded Merkle tree (DSM-TREE) to store system state. We evaluate RAINBLOCK using workloads based on public Ethereum traces (including smart contracts) and show that RAINBLOCK processes 20K transactions per second in a geo-distributed setting with four regions spread across three continents.

연구 동기 및 목표

  • 높은 계산 능력에도 불구하고 거래 처리 용량이 제한되는 이더리움과 같은 공개 블록체인의 I/O 병목 문제를 해결한다.
  • RocksDB 기반의 머클 트리 스토리지에서 발생하는 랜덤 I/O 및 I/O 증폭으로 인한 성능 저하를 완화한다.
  • 거래 처리를 로컬 I/O에서 분리하여 병렬 처리 능력과 처리 능률을 높이되, 보안성을 훼손하지 않는다.
  • 다수의 샤드를 통해 고성능 거래 처리를 가능하게 하는 확장성 있고, 안전하며 효율적인 스토리지 추상화인 DSM-Tree를 설계한다.
  • 블록 생성 속도를 늘리지 않고도 블록당 더 많은 거래를 수용함으로써 전체 블록체인 처리 능력을 향상시키며, 同시에 분산성과 보안성을 유지한다.

제안 방법

  • 마이너가 로컬 디스크 I/O 없이도 거래를 처리할 수 있도록 상태 접근을 원격 메모리 스토리지 노드로 이관함으로써 I/O를 핵심 경로에서 분리한다.
  • 블록체인 워크로드에 최적화된 I/O 증폭이 감소한 머클 트리의 커스터마이즈된 변종인 분산 및 스크래치드 머클 트리(DSM-Tree)를 도입한다.
  • 시스템 상태를 여러 원격 스토리지 노드에 분할 저장하는 스크래치드 스토리지 모델을 사용하여 병렬 액세스를 가능하게 하고 경쟁을 줄인다.
  • 인증된 데이터 구조를 유지함으로써 암호학적 무결성을 확보하여, 분산된 샤드 간에도 증명이 작고 검증 가능하게 유지된다.
  • 마이너가 원격 스토리지에서 상태를 가져와 거래를 처리하고, 스토리지 노드를 비동기적으로 업데이트하는 상태 무관 실행 모델을 사용한다.
  • 블록 생성 또는 합의 로직을 변경하지 않음으로써 기존 합의 프rotocol(예: 나카모토 합의)과의 호환성을 유지하며, 후행 보안 보장을 보장한다.

실험 결과

연구 질문

  • RQ1머클 트리 기반 블록체인 스토리지에서 I/O 병목 현상을 보안성이나 분산성에 영향을 주지 않고 제거할 수 있는가?
  • RQ2거래 처리 핵심 경로에서 I/O를 분리함으로써 공개 블록체인의 거래 처리 능력이 얼마나 향상될 수 있는가?
  • RQ3커스터마이즈된 스크래치드 머클 트리 설계(DSM-Tree)가 I/O 증폭을 얼마나 효과적으로 줄이고 고성능 거래 처리를 가능하게 하는가?
  • RQ4지리적으로 분산된 환경에서도 낮은 지연과 높은 처리 능력을 유지하면서 시스템이 확장 가능한가?
  • RQ5새로운 스토리지 및 실행 모델 하에서 강력한 보안 보장을(예: 불변성, 진위성) 유지할 수 있는가?

주요 결과

  • RainBlock는 실제 이더리움 워크로드를 기반으로 한 지리적으로 분산된 4개 지역, 3개 대륙의 환경에서 초당 20,000건의 거래 처리 속도를 달성한다.
  • Ethereum의 RocksDB 기반 머클 트리 대비 I/O 증폭을 10배 이상 감소시켜 블록당 랜덤 I/O 연산을 10,000회 이상에서 크게 줄였다.
  • 로컬 I/O를 핵심 경로에서 제거함으로써 더 높은 병렬 처리 능력과 함께 I/O가 거래 처리의 성능 병목이 되는 것을 방지한다.
  • DSM-Tree 설계는 최소한의 증명 크기와 낮은 지연 시간으로 스크래치드 블록체인 상태에 대한 효율적이고 확장 가능한, 인증 가능한 액세스를 지원한다.
  • 아키텍처는 강력한 보안 보장을 유지하며, 블록 생성 속도를 변경하지 않음으로써 기존 합의 프rotocol(예: 나카모토 합의)과 완전히 호환된다.
  • 프로토타입 구현을 통해 블록체인 자체를 스크래치하지 않더라도 고처리 능력을 달성할 수 있음을 입증하였으며, 이는 글로벌 일관성과 감사 가능성을 유지한다.

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

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

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

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