Skip to main content
QUICK REVIEW

[논문 리뷰] The Consensus Number of a Cryptocurrency (Extended Version)

Rachid Guerraoui, Petr Kuznetsov|arXiv (Cornell University)|2019. 06. 13.
Blockchain Technology Applications and Security참고 문헌 39인용 수 8
한 줄 요약

이 논문은 각 계정이 단일 소유자만 가질 경우 자산 이관 문제의 일致성 수치가 1임을 보여줌으로써 암호화폐에서 이중-spending을 방지하기 위해 일치가 필수적이지 않음을 입증한다. 저자들은 원자적 스냅샷 메모리와 안전한 브로드캐스트를 사용하여 일치 없이 선형화 가능성을 달성하는 결정론적, 이성적인 비잔티노스 장애 내성 자산 이관 프로토콜을 제안한다. 이는 일치 기반 접근 방식보다 더 단순하고 효율적이다.

ABSTRACT

Many blockchain-based algorithms, such as Bitcoin, implement a decentralized asset transfer system, often referred to as a cryptocurrency. As stated in the original paper by Nakamoto, at the heart of these systems lies the problem of preventing double-spending; this is usually solved by achieving consensus on the order of transfers among the participants. In this paper, we treat the asset transfer problem as a concurrent object and determine its consensus number, showing that consensus is, in fact, not necessary to prevent double-spending. We first consider the problem as defined by Nakamoto, where only a single process---the account owner---can withdraw from each account. Safety and liveness need to be ensured for correct account owners, whereas misbehaving account owners might be unable to perform transfers. We show that the consensus number of an asset transfer object is $1$. We then consider a more general $k$-shared asset transfer object where up to $k$ processes can atomically withdraw from the same account, and show that this object has consensus number $k$. We establish our results in the context of shared memory with benign faults, allowing us to properly understand the level of difficulty of the asset transfer problem. We also translate these results in the message passing setting with Byzantine players, a model that is more relevant in practice. In this model, we describe an asynchronous Byzantine fault-tolerant asset transfer implementation that is both simpler and more efficient than state-of-the-art consensus-based solutions. Our results are applicable to both the permissioned (private) and permissionless (public) setting, as normally their differentiation is hidden by the abstractions on top of which our algorithms are based.

연구 동기 및 목표

  • 암호화폐에서 이중-spending을 방지하기 위해 일치가 필수적이라는 널리 퍼진 믿음을 도전하기 위해.
  • 분산 컴퓨팅에서 공유 객체 유형으로 자산 이관 문제를 공식적으로 정의하기 위해.
  • 선량한 장애 및 비잔티노스 장애 모델 하에서 자산 이관 객체의 일치 수치를 규명하기 위해.
  • 일치 기반 자산 이관 프로토콜의 대안으로 더 단순하고 효율적인 결정론적, 이성적, 비잔티노스 장애 내성 프로토콜을 설계하기 위해.
  • 모델을 k-공유 계정으로 일반화하고, 그들의 일치 수치가 k임을 입증하기 위해.

제안 방법

  • 저자들은 선량한 장애가 있는 공유 메모리 환경에서 자산 이관 문제를 동시 객체 유형으로 모델링하여, 그 일치 수치가 1임을 증명한다.
  • 일致성 있는 메모리 뷰를 기반으로 전송을 검증함으로써 원자적 스냅샷 메모리를 사용하여 선형화 가능한 인출을 구현한다.
  • k-공유 계정의 경우, 동일한 계정에서 최대 k개의 프로세스가 인출할 수 있도록 모델을 확장하고, 일치 수치가 k임을 증명한다.
  • 비잔티노스 장애가 있는 메시지 전달 모델에서, 각 계정에 대해 BFT 서비스를 구현하여 순서 번호를 할당함으로써 일관성과 순서를 보장한다.
  • 계정 순서 성질을 제공하기 위해 안전한 브로드캐스트 프로토콜을 수정하여, 전역 일치 없이도 인과관계를 강제할 수 있도록 한다.
  • 합리적인 수준의 서명을 가진 쿠롬을 기반으로 하고 현지 검증을 수행함으로써, 손상되지 않은 계정에 대해 안전성과 활성화를 보장한다.

실험 결과

연구 질문

  • RQ1탈중앙화된 암호화폐에서 이중-spending을 방지하기 위해 일치가 정말로 필수적인가?
  • RQ2선량한 장애가 있는 공유 메모리 환경에서 단일 소유자 자산 이관 객체의 일치 수치는 얼마인가?
  • RQ3동일한 계정에서 여러 프로세스가 인출할 수 있도록 허용할 경우 일치 수치는 어떻게 변화하는가?
  • RQ4일치 없이 결정론적이고 이성적인 비잔티노스 장애 내성 자산 이관 프로토콜을 설계할 수 있는가? 그리고 일치 기반 대안보다 더 효율적인가?
  • RQ5전역 총순서 없이도 계정 간 인과관계와 선형화 가능성을 어떻게 유지할 수 있는가?

주요 결과

  • 단일 소유자 자산 이관 객체의 일치 수치는 1이며, 이는 이중-spending을 방지하기 위해 일치가 필요하지 않음을 입증한다.
  • 최대 k개의 프로세스가 동일한 계정에서 인출할 수 있는 k-공유 자산 이관 객체의 경우, 일치 수치는 k이다.
  • 제안된 프로토콜은 일치를 해결하지 않더라도 비잔티노스 장애가 있는 환경에서 선형화 가능성과 안전성을 달성하며, BFT 서비스와 안전한 브로드캐스트를 사용한다.
  • 비잔티노스 장애가 있는 이성적 시스템에서도 손상되지 않은 계정에 대해 활성화를 보장한다.
  • 이 접근 방식은 권한 기반 및 비권한 기반 암호화폐 모두에 적용 가능하며, 추상화가 기본 액세스 제어 차이를 숨기기 때문이다.
  • 현행 최첨단 일치 기반 솔루션보다 더 단순하고 효율적이며, 일치 모듈의 복잡성과 성능 저하 문제를 피한다.

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

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

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

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