[논문 리뷰] Coded Merkle Tree: Solving Data Availability Attacks in Blockchains
이 논문은 블록체인에서 메르클 트리 계층 간에 희박한 LDPC 코드를 사용하여 상수 비용의 데이터 가용성 검증을 가능하게 하는 새로운 해시 누적기인 Coded Merkle Tree(CMT)를 제안한다. 반복적 페일링 디코딩을 적용한 코딩된 계층과 해시 배치를 통해 CMT는 경량 노드가 블록 가용성을 O(1)의 헤더 다운로드와 O(log b)의 샘플링으로 검증할 수 있도록 하며, 최소한의 오버헤드로 효율적인 위법 증명을 가능하게 하여 기존의 2D-RS 기반 기법들보다 디코딩 속도와 통신 비용 측면에서 뛰어나다.
In this paper, we propose coded Merkle tree (CMT), a novel hash accumulator that offers a constant-cost protection against data availability attacks in blockchains, even if the majority of the network nodes are malicious. A CMT is constructed using a family of sparse erasure codes on each layer, and is recovered by iteratively applying a peeling-decoding technique that enables a compact proof for data availability attack on any layer. Our algorithm enables any node to verify the full availability of any data block generated by the system by just downloading a $Θ(1)$ byte block hash commitment and randomly sampling $Θ(\log b)$ bytes, where $b$ is the size of the data block. With the help of only one connected honest node in the system, our method also allows any node to verify any tampering of the coded Merkle tree by just downloading $Θ(\log b)$ bytes. We provide a modular library for CMT in Rust and Python and demonstrate its efficacy inside the Parity Bitcoin client.
연구 동기 및 목표
- 유효한 헤더를 게시함에도 불구하고 악성 블록 생성자가 블록의 일부를 은폐하는 데이터 가용성 공격을 해결하기 위해.
- 대부분의 포화 노드가 악의적인 상황에서도 경량 노드가 최소한의 다운로드 비용으로 데이터 가용성을 검증할 수 있도록 하기 위해.
- 오류 코딩 또는 데이터 비가용성에 대한 효율적이고 컴act한 증명을 가능하게 하여 전체 블록 다운로드 없이도 신뢰를 확보할 수 있는 시스템을 설계하기 위해.
- 기존의 에러 코딩 기반 접근 방식(예: 2D-RS)보다 상수 비용 검증과 더 빠른 디코딩 속도를 달성하기 위해.
- 최소한의 변경과 후행 호환성으로 실제 블록체인 시스템에 통합할 수 있도록 하기 위해.
제안 방법
- 희박한 LDPC 코드를 사용하여 각 계층을 인코딩하고, (6,8) 희박성과 정지 비율 β=0.124를 적용하여 부분적 데이터 은폐에 저항하도록 한다.
- 각 코딩된 계층의 해시를 다음 계층의 데이터 심볼로 배치하여 루트 해시의 수를 고정된 크기 t=256로 줄인다.
- 코딩된 계층에 반복적 페일링 디코딩을 적용하여 데이터 복구 및 누락 또는 손상된 심볼의 고차도 감지 확률을 높인다.
- 경량 노드가 O(log b)의 코딩된 심볼을 샘플링하고 CMT 루트와의 메르클 증명을 검증하여 데이터 가용성을 검증할 수 있도록 한다.
- 오류 코딩 증명을 위해 단지 d−1=7개의 코딩된 심볼과 그 메르클 증명만을 사용하여, 이전 연구 대비 증명 크기를 크게 줄인다.
- 표준 메르클 트리 API를 대체할 수 있는 모듈러 CMT 라이브러리를 루스트와 파이썬으로 구현하여 후행 호환성과 낮은 통합 오버헤드를 확보한다.
실험 결과
연구 질문
- RQ1블록 크기에 관계없이 상수 통신 비용으로 경량 노드가 데이터 가용성을 검증할 수 있는 블록체인 시스템을 설계할 수 있는가?
- RQ2대부분의 노드가 악의적인 상황에서도 최소한의 증명 크기로 데이터 가용성 공격를 탐지하고 증명할 수 있는가?
- RQ3희박한 LDPC 코드를 사용하여 효율적이고 컴팩트한 위법 증명 및 샘플링 기반 검증을 지원하는 해시 누적기를 구성할 수 있는가?
- RQ42D-RS 기반 시스템과 비교했을 때, 코딩된 메르클 트리에서 샘플링 효율성, 증명 크기, 디코딩 속도 간의 상충 관계는 어떠한가?
- RQ5CMT는 최소한의 변경과 추가 대역폭 비용 없이 기존의 블록체인 클라이언트에 통합될 수 있는가?
주요 결과
- 64MB 블록에 대해 SPAR의 헤더 비용은 블록 크기의 0.01%이며, 2D-RS의 0.1%보다 현저히 낮아 헤더 크기 감소를 입증한다.
- SPAR의 오류 코딩 증명 크기는 블록 크기의 0.051%이며, 동일한 블록 크기에서 2D-RS의 0.48%보다 10배 작다.
- 약한 적대자 환경에서 SPAR는 99% 신뢰도를 확보하기 위해 8개의 샘플만 필요하지만, 2D-RS는 17개가 필요하다. 이는 누락 심볼에 대한 내성도가 더 높기 때문이다(평균 47% 대비 25%).
- SPAR의 디코딩 속도는 모든 테스트된 블록 크기에서 2D-RS보다 10배 이상 빠르며, 이는 희박하고 이진 인코딩 덕분이다.
- 약한 적대자 하에서 SPAR의 샘플링 비용은 2D-RS 대비 2.5~4배 높지만, 루트 크기 t를 늘려 메르클 증명 크기를 줄임으로써 감소시킬 수 있다.
- CMT 라이브러리는 표준 메르클 트리와 후행 호환성이 있으며, 파리티 비트코인과 같은 기존 클라이언트에 최소한의 변경으로 통합될 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.