Skip to main content
QUICK REVIEW

[논문 리뷰] Formal Verification of Blockchain Byzantine Fault Tolerance

Pierre Tholoniat, Vincent Gramoli|arXiv (Cornell University)|2019. 09. 16.
Distributed systems and fault tolerance인용 수 9
한 줄 요약

이 논문은 ByMC 모델 체커를 사용하여 블록체인의 비잔틴 결함 내성 합의 구성 요소의 형식적 검증을 제안하며, 비잔틴 브로드캐스트 원시 기능과 Red Belly Blockchain의 합의 변종과 같은 핵심 구성 요소가 64코어 머신에서 17분 이내에 자동으로 검증될 수 있음을 입증한다. 저자들은 형식적 검증이 이제는 생산 수준의 블록체인 시스템에서 정확성을 보장하기 위해 실현 가능하고 필수적임을 보여준다.

ABSTRACT

To implement a blockchain, the trend is now to integrate a non-trivial Byzantine fault tolerant consensus algorithm instead of the seminal idea of waiting to receive blocks to decide upon the longest branch. After a decade of existence, blockchains trade now large amounts of valuable assets and a simple disagreement could lead to disastrous losses. Unfortunately, Byzantine consensus solutions used in blockchains are at best proved correct "by hand" as we are not aware of any of them having been formally verified. In this paper, we propose two contributions: (i) we illustrate the severity of the problem by listing six vulnerabilities of blockchain consensus including two new counter-examples; (ii) we then formally verify two Byzantine fault tolerant components of Red Belly Blockchain using the ByMC model checker. First, we specify a simple broadcast primitive in 116 lines of code that is verified in 40 seconds on a 2-core Intel machine. Then, we specify a blockchain consensus algorithm in 276 lines of code that is verified in 17 minutes on a 64-core AMD machine using MPI. To conclude, we argue that it has now become both relatively simple and crucial to formally verify the correctness of blockchain consensus protocols.

연구 동기 및 목표

  • 블록체인 합의 프로토콜에서 형식적 검증의 근본적인 부족을 해결하기 위해, 현재는 수작업으로만 증명되며 따라서 오류가 발생하기 쉬운 상태이다.
  • Casper FFG와 HoneyBadger에 대한 두 가지 새로운 반례를 제시함으로써 합의 취약성의 심각성을 입증한다.
  • 비잔틴 결함 내성 구성 요소의 형식적 검증이 이제는 ByMC와 같은 현대 도구를 사용해 전문 지식이 없는 이들에게도 실현 가능하고 접근 가능하다는 것을 보여준다.
  • 임계값 자동기계를 사용하여 브로드캐스트 원시 기능과 Red Belly Blockchain 합의 변종의 공개 가능하고 기계로 검증 가능한 사양을 제공한다.
  • 생산 시스템에서 치명적인 실패를 방지하기 위해 형식적 검증을 블록체인 개발의 표준 관행으로 도입할 것을 촉구한다.

제안 방법

  • 저자들은 블록체인 합의 구성 요소를 임계값 자동기계로 모델링하여, 메시지 임계값 기반으로 정상 프로세스의 상태를 추상화함으로써 상태 공간을 효율적으로 줄였다.
  • ByMC 모델 체커를 사용하여 비잔틴 결함이 최대 t < n/3인 조건 하에서 브로드캐스트 및 합의 구성 요소의 안전성 및 활성성 성질을 검증했다.
  • 브로드캐스트 원시 기능은 116줄의 코드로 기술되었으며, 2코어 인텔 머신에서 40초 만에 검증되었다.
  • Red Belly Blockchain 합의 변종은 276줄의 코드로 기술되었으며, MPI를 사용하여 64코어 AMD 머신에서 17분 만에 검증되었다.
  • 유한 상태 모델 체킹이 비동기 비잔틴 합의에서 가능하도록 하기 위해 라운드-고정(adversary)을 가정하여 공정한 스케줄링을 모델링했다.
  • 사양은 임계값 자동기계를 위한 도메인 특화 언어로 작성되었으며, 저수준의 메시지 순서를 추상화하고 프로토콜의 불변성을 중심으로 둔다.

실험 결과

연구 질문

  • RQ1블록체인의 비잔틴 결함 내성 합의 구성 요소는 자동화된 도구를 사용하여 형식적으로 검증할 수 있으며, 그 효율성은 어떠한가?
  • RQ2Casper FFG와 HoneyBadger와 같은 널리 배포된 합의 알고리즘에 존재하는 취약점은 무엇이며, 왜 종료하지 못하는가?
  • RQ3형식적 검증 전문가가 아닌 이들이 ByMC와 같은 현대 도구를 사용하여 복잡한 블록체인 합의 구성 요소를 성공적으로 검증할 수 있는가?
  • RQ4라운드-고정성 가정이 비동기 비잔틴 합의의 유한 상태 모델 체킹을 어느 정도 가능하게 하는가?
  • RQ5ByMC를 통한 자동 검증은 기존의 수작업 증명이나 TLA+ 또는 Coq와 같은 다른 형식적 방법에 비해 확장성과 실용성 측면에서 어떻게 비교되는가?

주요 결과

  • 저자들은 Casper FFG와 HoneyBadger가 특정 악성 환경 조건 하에서 종료하지 않을 수 있음을 보여주는 두 가지 새로운 반례를 발견하였다. 이는 널리 배포된 상태임에도 불구하고 그렇다.
  • 비잔틴 브로드캐스트 원시 기능은 2코어 인텔 머신에서 40초 만에 형식적으로 검증되어 t < n/3 범위 내의 비잔틴 장애에 대해 정확함을 확인하였다.
  • Red Belly Blockchain 합의 변종은 64코어 AMD 머신에서 17분 만에 검증되어 실제 하드웨어에서의 형식적 검증의 확장성을 입증하였다.
  • 검증 과정에서 비공식 증명에 숨겨진 미묘한 결함들이 드러나, 수작업으로 구성된 추론에만 의존할 경우 위험함을 보여주었다.
  • 임계값 자동기계와 ByMC의 사용은 깊은 형식적 방법 전문 지식 없이도 체계적이고 기계로 검증 가능한 검증을 가능하게 한다.
  • 결과적으로 형식적 검증은 이제 생산 시스템에서 블록체인 합의 프로토콜의 정확성을 보장하기 위해 실현 가능하고 필수적임을 보여준다.

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

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

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

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