Skip to main content
QUICK REVIEW

[논문 리뷰] Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric

Yandamuri, Sravya, Abraham, Ittai|arXiv (Cornell University)|2018. 05. 22.
Security and Verification in Computing참고 문헌 34인용 수 97
한 줄 요약

이 논문은 비결정성 합의 블록체인에서 발생하는 롤백 공격 및 상태 연속성 문제를 해결하기 위해, Hyperledger Fabric에서 Intel SGX 에이전트 내에서 스마트 계약을 실행하기 위한 보안 아키텍처를 제안한다. 각 애플리케이션을 전용 에이전트에 고립시키고, 에이전트 상태가 항상 최종 블록체인 블록을 반영하도록 함으로써, 최소한의 신뢰 기반 코드 표면과 함께 네이티브 성능의 80–90%를 달성하며, 기업용 블록체인 워크로드에 대해 강력한 기밀성을 제공한다.

ABSTRACT

A smart contract on a blockchain cannot keep a secret because its data is replicated on all nodes in a network. To remedy this problem, it has been suggested to combine blockchains with trusted execution environments (TEEs), such as Intel SGX, for executing applications that demand privacy. Untrusted blockchain nodes cannot get access to the data and computations inside the TEE. This paper first explores some pitfalls that arise from the combination of TEEs with blockchains. Since TEEs are, in principle, stateless they are susceptible to rollback attacks, which should be prevented to maintain privacy for the application. However, in blockchains with non-final consensus protocols, such as the proof-of-work in Ethereum and others, the contract execution must handle rollbacks by design. This implies that TEEs for securing blockchain execution cannot be directly used for such blockchains; this approach works only when the consensus decisions are final. Second, this work introduces an architecture and a prototype for smart-contract execution within Intel SGX technology for Hyperledger Fabric, a prominent platform for enterprise blockchain applications. Our system resolves difficulties posed by the execute-order-validate architecture of Fabric and prevents rollback attacks on TEE-based execution as far as possible. For increasing security, our design encapsulates each application on the blockchain within its own enclave that shields it from the host system. An evaluation shows that the overhead moving execution into SGX is within 10%-20% for a sealed-bid auction application.

연구 동기 및 목표

  • TEE 기반 블록체인 실행에서 중요한 롤백 공격 문제를 해결하기 위해, 비결정성 합의를 사용하는 시스템에서 특히 효과적으로 작용한다.
  • Intel SGX 에이전트 내에서 실행되는 스마트 계약의 상태 연속성과 기밀성을 보장한다.
  • 각 애플리케이션을 별도의 에이전트에 고립시켜 신뢰 기반 코드 표면을 최소화하고 공격 표면을 줄인다.
  • 결정성 합의를 갖춘 기업용 블록체인에서 실용적이고 기밀성을 보장하는 스마트 계약 실행을 가능하게 한다.
  • 실제 암호 경매 워크로드를 기반으로 제안된 솔루션의 성능 오버헤드를 평가한다.

제안 방법

  • 각 애플리케이션이 별도로 고립된 에이전트에서 실행되도록 보장하면서, Hyperledger Fabric에서 Intel SGX 에이전트 내에서 스마트 계약을 실행하는 프로토타입을 설계한다.
  • 롤백 공격을 방지하기 위해, 에이전트에 입력으로 최종 확정된 블록체인 상태를 사용함으로써 상태 연속성을 유지한다.
  • 거래 결과가 합의의 최종성에 도달한 후에만 처리되도록 함으로써, 에이전트 실행을 Fabric의 execute-order-validate 아키텍처와 통합한다.
  • 에이전트에 포함된 코드를 필수 요소로만 제한하여 TCB를 최소화하고, 전체 블록체인 노드 로직을 제외한다.
  • 블록체인 피어와 에이전트 사이에 상태 업데이트 및 암호화 연산을 위한 안전한 통신 채널을 구현한다.
  • 성능 오버헤드와 보안 보장을 측정하기 위해, 암호 경매 워크로드를 기반으로 프로토타입을 평가한다.

실험 결과

연구 질문

  • RQ1Intel SGX와 같은 신뢰 실행 환경은 비결정성 합의 프로토콜을 사용하는 블록체인 플랫폼과 안전하게 통합될 수 있는가?
  • RQ2기반 블록체인이 분할될 수 있는 상황에서, TEE 기반 스마트 계약 실행에서 롤백 공격을 어떻게 방지할 수 있는가?
  • RQ3블록체인 실행에서 기밀성과 정확성을 유지하면서도, 신뢰 기반 코드 표면을 최소화하는 아키텍처 패턴은 무엇인가?
  • RQ4SGX 에이전트 내에서 스마트 계약을 실행할 경우, Hyperledger Fabric과 같은 엔터프라이즈 블록체인 플랫폼에서 성능에 어떤 영향을 미치는가?
  • RQ5SGX 에이전트 내에서 애플리케이션 수준의 고립이 전체 블록체인 노드 실행 없이도 강력한 기밀성을 제공할 수 있는가?

주요 결과

  • 제안된 아키텍처는 항상 최종 확정된 블록체인 상태와 동기화된 에이전트 상태를 유지함으로써 롤백 공격을 성공적으로 방지한다.
  • 실제 암호 경매 애플리케이션에서 측정한 결과, SGX 에이전트 내에서 스마트 계약을 실행할 경우, 보호되지 않은 실행 대비 성능 오버헤드가 10%–20% 이내이다.
  • 각 애플리케이션을 별도의 에이전트에 고립시킴으로써 신뢰 기반 코드 표면이 크게 감소하여 보안성이 향상되고 공격 표면이 줄어든다.
  • 합의 최종성 도달 후에만 에이전트 실행을 연기함으로써, 솔루션은 Hyperledger Fabric의 execute-order-validate 모델과 호환된다.
  • 프로토타입은 허용 가능한 성능 오버헤드로 강력한 기밀성 보장을 달성할 수 있음을 입증하며, TEE 기반 실행이 엔터프라이즈 블록체인 워크로드에 실용적으로 적용될 수 있음을 보여준다.
  • 이 방법은 비결정성 합의를 갖는 이더리움이나 비트코인과 같은 공공 블록체인에는 직접 적용되지 않으며, 이는 TEE 내에서 상태 연속성이 본질적으로 손상되기 때문이다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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