[논문 리뷰] ZeroBlock: Timestamp-Free Prevention of Block-Withholding Attack in Bitcoin
ZeroBlock는 블록 전파 시간을 기반으로 하는 최대 허용 시간(MAT)을 국지적으로 추정하여 비트코인에서 블록 유보 공격(자기 채굴)에 대한 타임스탬프 없는 방어 기법을 제안한다. 블록을 MAT 간격을 초과해 유보할 경우, 정직한 노드에 의해 블록이 거부되므로 자기 채굴자가 추가 수익을 얻을 수 없다. 이 기법은 의도적인 포크가 이권을 얻을 수 없음을 보장하며, 최대 채굴력 하에서 이러한 포크 발생 확률을 약 0.04로 감소시킨다.
Bitcoin was recently introduced as a peer-to-peer electronic currency in order to facilitate transactions outside the traditional financial system. The core of Bitcoin, the Blockchain, is the history of the transactions in the system maintained by all miners as a distributed shared register. New blocks in the Blockchain contain the last transactions in the system and are added by miners after a block mining process that consists in solving a resource consuming proof-of-work (cryptographic puzzle). The reward is a motivation for mining process but also could be an incentive for attacks such as selfish mining. In this paper we propose a solution for one of the major problems in Bitcoin : selfish mining or block-withholding attack. This attack is conducted by adversarial or selfish miners in order to either earn undue rewards or waste the computational power of honest miners. Contrary to recent solutions, our solution, ZeroBlock, prevents block-withholding using a technique free of timestamp that can be forged. Moreover, we show that our solution is compliant with nodes churn.
연구 동기 및 목표
- 자신의 채굴자들이 블록을 유보하여 정직한 채굴자의 계산 능력을 낭비하는 블록 유보 공격(자기 채굴)에 대한 지속적인 위협을 해결하기 위해.
- 이전 솔루션에서 취약한 위조 가능한 타임스탬프에 의존하지 않고, 타임스탬프 없는 메커니즘을 도입하여 의존도를 제거하기 위해.
- 최대 채굴력 조건 하에서도 자기 채굴 풀이 예상 수익을 초과해 수익을 얻을 수 없도록 보장하기 위해.
- 채굴자 이탈이 발생하는 동적 네트워크 환경에서도 내구성을 유지하여 신규 노드가 주 체인을 정확히 식별할 수 있도록 하기 위해.
- 기존 비트코인 인fra구조와 호환되며 실용적이고 구현 가능한 방어 기법을 제공하고, 알트코인에도 적용 가능하도록 하기 위해.
제안 방법
- 각 채굴자는 작업 증명의 포isson 분포와 알려진 네트워크 전파 지연 시간을 기반으로 국지적으로 블록 수신에 대한 최대 허용 시간(MAT)을 추정한다.
- 블록이 MAT 간격 내 수신되지 않으면, 작업 증명 계산 없이 가짜 블록(ZeroBlock)을 생성한다.
- 정직한 채굴자는 MAT 간격 이후에 블록이 공개된 경우 이를 거부하여 무효화시키며, 자기 채굴자에게는 수익이 없도록 한다.
- 블록 발견의 포isson 성질과 이전에 추정한 네트워크 전파 지연 시간을 활용해 매 채굴자별로 동적으로 MAT를 설정한다.
- 표준 블록을 수락한 후, 정직한 노드는 체인에서 이전의 모든 ZeroBlocks를 제거하고, 향후 일관성을 위해 해시 참조만 유지한다.
- 노드 이탈 상황에서도 이 프rotocol는 다수의 노드가 정직할 경우 신규 노드가 정확한 체인을 식별할 수 있도록 보장한다.
실험 결과
연구 질문
- RQ1타임스탬프에 의존하지 않고도 타임스탬프 없는 메커니즘이 비트코인에서 블록 유보 공격을 효과적으로 방지할 수 있는가?
- RQ2ZeroBlock 하에서 자기 채굴 풀이 의도적인 비수익 포크를 성공적으로 생성할 수 있는 최대 확률은 얼마인가?
- RQ3채굴자 이탈 상황에서 ZeroBlock는 보안성과 일관성을 유지할 수 있는가?
- RQ4자기 채굴자가 자신의 채굴력에 관계없이 예상 수익을 초과해 수익을 얻을 수 없는가?
- RQ5ZeroBlock는 블록체인의 부풀림 증가 없이도 핵심 비트코인 프로토콜의 변경 없이 실용적으로 구현 가능한가?
주요 결과
- 최대 채굴력 조건 하에서 자기 채굴 풀이 의도적인 비수익 포크를 성공적으로 생성할 확률은 약 0.04로 제한된다.
- ZeroBlock는 MAT 간격을 초과해 유보된 모든 블록이 정직한 채굴자에 의해 거부되므로, 블록 유보에 대한 유인 요소가 사라진다.
- 채굴자 이탈에 대비한 내구성 확보: 다수의 노드가 정직할 경우 신규 노드는 정확한 체인을 식별할 수 있다.
- ZeroBlock는 실수로 발생하는 포크를 방지하지 못한다. 이는 작업 증명의 포isson 성질로 인해 약 1.69%의 확률로 발생한다.
- 정직한 노드가 표준 블록 수락 후 ZeroBlocks를 제거함으로써 블록체인의 무결성을 유지하고, 부풀림을 최소화한다.
- ZeroBlock는 기존 비트코인 인fra구조와 호환되며, 알트코인에 적용하거나 다른 블록체인 시스템에 확장하여 사용할 수 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.