Skip to main content
QUICK REVIEW

[논문 리뷰] Concurrency Protocol Aiming at High Performance of Execution and Replay for Smart Contracts

Shuaifeng Pang, Xiaodong Qi|arXiv (Cornell University)|2019. 05. 17.
Distributed systems and fault tolerance참고 문헌 21인용 수 9
한 줄 요약

이 논문은 스마트 계약을 위한 혁신적인 이단계 동시성 제어 프로토콜을 제안하며, 배치를 고려한 옵timistic 동시성 제어(OCC) 변종과 그래프 분할 기반 스케줄 로그 분해를 사용하여 채굴(실행) 및 검증(재실행) 단계를 최적화한다. 이 방법은 채굴자 및 검증자 성능을 각각 최대 11배 향상시키며, 통신 오버헤드를 약 90% 감소시켜 최신 기술 수준의 솔루션을 크게 능가한다.

ABSTRACT

Although the emergence of the programmable smart contract makes blockchain systems easily embrace a wider range of industrial areas, how to execute smart contracts efficiently becomes a big challenge nowadays. Due to the existence of Byzantine nodes, the mechanism of executing smart contracts is quite different from that in database systems, so that existing successful concurrency control protocols in database systems cannot be employed directly. Moreover, even though smart contract execution follows a two-phase style, i.e, the miner node executes a batch of smart contracts in the first phase and the validators replay them in the second phase, existing parallel solutions only focus on the optimization in the first phase, but not including the second phase. In this paper, we propose a novel efficient concurrency control scheme which is the first one to do optimization in both phases. Specifically, (i) in the first phase, we give a variant of OCC (Optimistic Concurrency Control) protocol based on {\em batching} feature to improve the concurrent execution efficiency for the miner and produce a schedule log with high parallelism for validators. Also, a graph partition algorithm is devised to divide the original schedule log into small pieces and further reduce the communication cost; and (ii) in the second phase, we give a deterministic OCC protocol to replay all smart contracts efficiently on multi-core validators where all cores can replay smart contracts independently. Theoretical analysis and extensive experimental results illustrate that the proposed scheme outperforms state-of-art solutions significantly.

연구 동기 및 목표

  • 블록체인 시스템에서 동시성 제어의 효율성 부족으로 인한 스마트 계약 실행의 성능 저하 문제를 해결하기 위해.
  • 비잔틴, 전체 복제, 튜링 완전한 블록체인 환경에 부적합한 기존 데이터베이스 동시성 제어 프로토콜의 한계를 극복하기 위해.
  • 실행(채굴) 및 재실행(검증) 단계를 별개로 다루는 경향이 있는 바, 둘 다 최적화하는 통합 동시성 제어 기법을 설계하기 위해.
  • 스케줄 로그를 분할하여 통신 오버헤드를 줄이면서도 높은 병렬성을 유지함으로써 채굴자와 검증자 간의 통신 오버헤드를 감소시키기 위해.
  • 다중 코어 검증자에서 결정론적이고 고성능 동시 재실행을 가능하게 하는 새로운 DeOCC 프로토콜을 설계하기 위해.

제안 방법

  • 채굴 단계에서 병렬성 실행을 향상시키기 위해 배치를 고려한 옵timistic 동시성 제어(OCC)의 변종을 제안한다.
  • 충돌 그래프에서 충돌을 해결하기 위해 게으른 피드백 정점 집합(FVS) 알고리즘을 도입하여 스케줄 로그 품질을 향상시킨다.
  • 검증자를 위한 더 작은, 통신 효율적인 청크로 스케줄 로그를 분할하기 위한 그래프 분할 알고리즘을 설계한다.
  • 검증 단계에서 다중 코어에서 독립적이고 동시적으로 재실행할 수 있도록 결정론적 OCC 프로토콜인 DeOCC를 개발한다.
  • 작업의 세분화 수준을 제어하고 성능과 통신 비용을 균형 잡기 위해 워크로드 임계값 τ를 활용한다.
  • 분할된 로그를 사용한 일관된 읽기 세트를 활용하여 결정론적 재실행을 보장하면서 데이터 전송을 최소화한다.

실험 결과

연구 질문

  • RQ1스마트 계약 실행의 채굴 및 검증 단계에서 동시성 제어를 어떻게 효율적으로 최적화할 수 있는가?
  • RQ2배치 처리와 충돌 그래프 분석은 블록체인 환경에서 스마트 계약 실행 성능을 얼마나 향상시킬 수 있는가?
  • RQ3그래프 분할 기법을 통해 채굴자와 검증자 간의 통신 오버헤드를 줄일 수 있을까, 이로 인해 병렬성도 손상되지 않을까?
  • RQ4제안된 DeOCC 프로토콜은 다중 코어 검증자에서 결정론적이고 고성능의 재실행을 어떻게 가능하게 하는가?
  • RQ5워크로드 임계값 τ를 조정할 때 통신 비용 감소와 성능 저하 사이의 상호 교환 관계는 어떠한가?

주요 결과

  • 제안된 기법은 채굴자 및 검증자 단계에서 평균적으로 각각 11배의 성능 향상을 달성하여 최신 기술 수준의 솔루션을 크게 능가한다.
  • 그래프 분할 알고리즘을 통해 통신 오버헤드가 약 90% 감소했으며, 고도의 데이터 비대칭성(예: 비대칭성 = 0.7) 조건에서도 유지된다.
  • 다양한 데이터 비대칭 수준에서도 성능 향상이 약 11배로 안정적으로 유지되어 워크로드 비대칭성에 대한 강건성을 입증한다.
  • 블록당 트랜잭션 수가 900을 초과하면 충돌 밀도가 증가하여 성능 저하가 발생하지만, 여전히 순차 실행보다 뛰어난 성능을 유지한다.
  • 워크로드 임계값 τ는 성능에 미미한 영향을 미친다: τ가 증가함에 따라 성능 향상 비율이 약간 감소하지만, τ > 0.015일 경우에도 효과적으로 기능한다.
  • 분할 알고리즘이 높은 병렬성을 유지하여, 트랜잭션 수가 낮을 경우에도(예: 블록당 100건) 효율적인 작업 분배 덕분에 거의 최적의 성능 향상(11배)을 달성한다.

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

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

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

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