
PeerDAS가 이더리움의 데이터 가용성을 어떻게 개선할 것인가?
글: 0XNATALIE
최근 열린 이더리움 개발자 회의에서는 이더리움의 Pectra 하드포크를 두 부분으로 나누자는 제안이 논의되었다. 이 제안은 과거 Verkle 트리 업그레이드가 지연될 수 있다는 우려로 인해 한 차례 거부된 바 있다. 그러나 이번 회의에서 개발자들은 다시 한번 이 아이디어를 제기했는데, 그 이유는 Pectra 포크에 더 많은 개선 제안(EIP)을 포함시키고 싶었기 때문이다. 구체적인 계획은 하드포크를 두 단계로 나누는 것으로, 첫 번째 단계에는 현재 Pectra Devnet 3에 포함된 모든 EIP를 통합하고, 두 번째 단계의 포크에는 EOF(EVM 오브젝트 포맷)와 PeerDAS 등의 기능을 포함하는 것이다. PeerDAS를 이해하기 위해 먼저 데이터 가용성(Data Availability)이라는 기본 개념부터 살펴보자.
DA: 노드가 체인 데이터에 접근할 수 있도록 보장
데이터 가용성(Data Availability, DA)이란 블록 제안자가 생성한 블록과 그 안에 포함된 모든 거래 데이터가 네트워크 참여자들에게 효과적으로 접근 가능하고 다운로드 가능한 상태를 의미한다. 데이터 가용성은 블록체인 보안의 핵심 요소 중 하나인데, 데이터가 이용 불가능하면, 블록이 합법적이라 할지라도 다른 노드들이 그 내용을 검증할 수 없게 되어 합의 문제나 네트워크 공격이 발생할 수 있기 때문이다. 예를 들어, 공격자가 일부만 공개하고 나머지 데이터는 숨기는 방식으로 공격을 시도할 수 있다.
새로운 블록이 방송되면, 모든 참여 노드는 해당 블록 데이터를 다운로드하고 검증하게 된다. 이 방식은 네트워크 규모가 작을 때는 유효하지만, 블록체인이 계속 성장하면서 데이터 양이 급격히 증가하게 되면 각 노드의 저장 부담도 커지고, 더 높은 사양의 하드웨어가 요구된다. 모바일 기기(예: 스마트폰 또는 노트북)처럼 자원이 제한된 경량 노드(light node)도 검증에 참여할 수 있도록 하기 위해, 블록체인은 샤딩(sharding) 기술을 도입했다.
샤딩 기술은 전체 블록체인 네트워크를 여러 개의 작은 '샤드(shard)'로 분할하는 방식이다. 각 샤드는 자신에게 할당된 데이터만 처리하며, 전체 체인의 데이터를 모두 처리할 필요가 없다. 따라서 개별 노드는 자신이 속한 샤드의 데이터만 처리하면 된다. 하지만 각 샤드가 일부 데이터만 처리한다는 것은, 다른 샤드의 노드가 직접 전체 데이터에 접근할 수 없다는 의미이기도 하다. 그렇다면 샤드 내 데이터가 실제로 사용 가능한지, 그리고 다른 노드들이 그 데이터의 유효성을 검증할 수 있는지를 어떻게 보장할 수 있을까? 예컨대, 특정 샤드의 노드가 새 블록을 게시했지만 일부 데이터만 공개한 경우, 다른 노드들이 전체 데이터를 확보하지 못한다면 그 블록이 정당한지 여부를 검증할 수 없게 된다.
DAS: 부분 데이터로 전체 데이터 가용성 검증
샤딩 환경에서의 데이터 가용성 문제를 해결하기 위해 제안된 것이 바로 데이터 가용성 샘플링(Data Availability Sampling, DAS) 기술이다. 이 기술의 핵심 아이디어는 모든 노드가 전체 블록 데이터를 저장하거나 다운로드하지 않아도, 샘플링을 통해 블록의 데이터 가용성을 검증할 수 있게 하는 것이다.
데이터 가용성 샘플링(DAS)은 노드가 블록의 일부 데이터를 무작위로 추출하여 검증함으로써 전체 데이터의 가용성을 확인할 수 있게 해준다. 노드가 이러한 무작위 데이터 조각을 성공적으로 가져와 검증할 수 있다면, 전체 블록 데이터가 가용하다고 추론할 수 있다.
이러한 샘플링 검증을 지원하기 위해, 블록 데이터는 일반적으로 RS 인코딩(RS Encoding)을 사용한다. 이 인코딩 방식은 일부 데이터가 유실되더라도 전체 데이터를 복구할 수 있게 해준다. 따라서 노드가 일부 데이터만 다운로드하더라도 전체 블록 데이터의 유효성을 추론하고 확인할 수 있다. DAS는 샘플링 검증을 통해 각 노드가 처리해야 하는 데이터 양을 줄여주며, 경량 노드도 블록 검증에 참여할 수 있게 한다.
Celestia 같은 DA 레이어는 바로 이러한 기술들을 활용하여 구현된다. 주로 RS 인코딩 + 유효성 증명(validity proof) + DAS의 조합을 사용한다.
-
RS 인코딩(Reed-Solomon Encoding): 이 인코딩 방식은 일부 데이터 조각만 수신한 노드도 전체 데이터 블록을 재구성할 수 있게 해준다. 일종의 오류 정정 코드(error-correcting code)와 유사하며, 일정 부분의 데이터가 유실되어도 나머지 데이터를 기반으로 원본 정보를 복원할 수 있는 능력을 갖춘다.
-
유효성 증명(Validity Proof): 제로지식 증명(zero-knowledge proof)을 사용하여 데이터가 인코딩 및 전송 과정에서 오류가 없는지를 보장한다. 검증에 성공하면 전체 데이터를 오류 없이 디코딩할 수 있음을 의미한다.
-
DAS(데이터 가용성 샘플링): 경량 노드가 RS 인코딩된 블록 데이터 중 일부를 무작위로 샘플링하여, 해당 조각들의 가용성을 검증함으로써 전체 데이터 블록의 가용성을 추론하는 방식이다.
PeerDAS: 노드 간 협업을 통한 데이터 검증
PeerDAS는 DAS의 구체적인 구현 방식 중 하나로, 피어 투 피어(P2P) 네트워크를 통해 데이터 가용성 샘플링을 수행하는 기술이다. P2P 네트워크는 여러 노드들이 상호 직접 연결되어 통신하는 구조를 말한다. 기존 DAS에서는 각 노드가 독립적으로 데이터 샘플링과 검증을 수행하지만, PeerDAS는 이를 개선하여 노드들 간에 블록 데이터의 검증 작업과 결과를 공유하고 협력하도록 한다. 이를 통해 검증 효율성이 더욱 향상된다. 노드들은 고립된 존재가 아니라, 검증 과제와 결과를 공유하며 서로 검증 완료된 데이터를 신뢰할 수 있다. 따라서 각 노드가 모든 검증 작업을 혼자 감당할 필요 없이, 협업을 통해 부담을 분산시킬 수 있다. 또한, 협업 기반 검증은 데이터 조작의 난이도를 높이며, 공격자가 성공적으로 데이터를 위변조하려면 동시에 다수의 검증 노드를 공격해야 하므로 실질적인 공격이 매우 어려워진다.
현재 최신 이더리움 PeerDAS 관련 회의 내용에 따르면, 이더리움 클라이언트 Lighthouse 팀은 이미 DAS 브랜치를 메인 브랜치에 병합하였으며, PeerDAS와의 호환성을 보장하기 위한 테스트를 진행 중이다. 브랜치란 새로운 기능이나 개선사항을 개발하고 테스트하기 위한 독립된 코드 버전인데, 이를 메인 브랜치에 병합한다는 것은 해당 기능이나 개선이 개발 완료되었고 안정적이라고 판단되어 코어 코드에 통합할 준비가 되었다는 의미이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














